存储器控制器、存储缓冲器芯片和存储系统的制作方法

文档序号:13421202阅读:216来源:国知局
存储器控制器、存储缓冲器芯片和存储系统的制作方法

相关申请的交叉引用

本申请要求2016年6月30日提交的申请号为10-2016-0082225的韩国专利申请的优先权,其通过引用整体合并于此。

实施例的各种示例总体而言可以涉及一种包括存储器控制器和存储缓冲器芯片的存储系统,更具体地,涉及一种存储器控制器、存储缓冲器芯片、存储系统以及操作或控制其的方法。



背景技术:

图1是图示传统存储系统的框图。

传统存储系统包括存储器控制器10、存储缓冲器芯片20和多个存储器芯片30。

存储缓冲器芯片20和多个存储器芯片30可以被包括在一个存储模块中。

在多个存储排rank耦接到一个通道时,传统存储系统包括安装在存储器控制器10与存储器芯片30之间的存储缓冲器芯片20以改善信号质量。

存储缓冲器芯片20缓冲命令/地址/数据。

一般而言,同步接口技术用来简化设计。根据同步接口技术,存储器控制器10与存储缓冲器芯片20之间的工作频率等于存储缓冲器芯片20与存储器芯片30之间的工作频率。

然而,这两个频率可以因各种原因而彼此不相等。例如,当意图在一个通道处实施高容量时,这两个频率可以彼此不同。

此外,当耦接到一个通道的存储排的数量增加时,可能出现速度劣化而导致工作频率之间的差异。

此外,为了成品率或低功耗,可以特意使用具有低工作频率的存储器芯片。

此外,当由新型存储器芯片所提供的速度受限时,在工作频率之间可能出现差异。

这样,这两个工作频率可以因各种原因而在其间具有差异。为了补偿工作频率之间的差异同时维持同步接口技术,存储系统的总体设计中的困难水平不可避免地增加。例如,存储器控制器必须被设计成校正时序参数。

因此,存在对新的存储系统的需求,即使工作频率之间出现差异,新存储系统仍不会增大设计中的困难水平。



技术实现要素:

在一个实施例中,可以提供一种存储器控制器。在一个实施例中,可以提供一种存储缓冲器芯片。在一个实施例中,可以提供一种存储系统。在一个实施例中,可以提供一种操作存储缓冲器芯片的方法。在一个实施例中,可以提供一种控制存储缓冲器芯片的方法。存储系统可以包括耦接到一个或多个存储器芯片的存储缓冲器芯片。存储系统可以包括存储器控制器,所述存储器控制器被配置成控制存储缓冲器芯片来输入数据给一个或两个或更多个存储器芯片/从一个或两个或更多个存储器芯片输出数据。存储缓冲器芯片可以包括第一接口,所述第一接口被配置成传输信号给存储器控制器/从存储器控制器接收信号。存储缓冲器芯片可以包括第二接口,所述第二接口被配置成传输信号给存储器芯片/从存储器芯片接收信号。存储缓冲器芯片可以包括命令缓冲器,所述命令缓冲器被配置成缓冲经由第一接口而从存储器控制器接收的命令。存储缓冲器芯片可以包括读取缓冲器,所述读取缓冲器被配置成缓冲从存储器芯片接收的读取数据。

在一个实施例中,一种控制存储缓冲器芯片的存储器控制器,所述存储缓冲器芯片耦接到一个或两个或更多个存储器芯片,所述存储器控制器可以包括:命令发生单元,被配置成产生提供给存储缓冲器芯片的命令;数据缓冲器,被配置成储存要传输给存储缓冲器芯片的数据或从存储缓冲器芯片接收的数据;寄存器,被配置成储存根据存储缓冲器芯片的命令缓冲器的大小来复位的命令信用信息;以及控制单元,被配置成根据从存储缓冲器芯片接收的命令信用更新信号来控制寄存器,其中,命令发生单元根据命令信用信息来判断是否将命令输出给存储缓冲器芯片。

在一个实施例中,一种位于存储器控制器与一个或两个或更多个存储器芯片之间的存储缓冲器芯片可以包括:第一接口,被配置成传输信号给存储器控制器/从存储器控制器接收信号;第二接口,被配置成传输信号给存储器芯片/从存储器芯片接收信号;命令缓冲器,被配置成缓冲经由第一接口而从存储器控制器接收的命令;以及读取缓冲器,被配置成缓冲从存储器芯片接收的读取数据,其中,当第一事件发生时,命令缓冲器经由第一接口来将第一事件通知给存储器控制器,第一事件为经由第二接口而将储存在命令缓冲器中的命令之一传输给存储器芯片。

在一个实施例中,一种存储系统可以包括:存储缓冲器芯片,耦接到一个或两个或更多个存储器芯片;以及存储器控制器,被配置成控制存储缓冲器芯片来将数据输入给一个或两个或更多个存储器芯片/从一个或两个或更多个存储器芯片输出数据。存储缓冲器芯片可以包括:第一接口,被配置成传输信号给存储器控制器/从存储器控制器接收信号;第二接口,被配置成传输信号给存储器芯片/从存储器芯片接收信号;命令缓冲器,被配置成缓冲经由第一接口而从存储器控制器接收的命令;以及读取缓冲器,被配置成缓冲从存储器芯片接收的读取数据,以及存储器控制器可以在命令缓冲器具有空间或者读取缓冲器储存数据时输出命令给存储缓冲器芯片。

在一个实施例中,一种利用存储器控制器来控制耦接到一个或多个存储器芯片的存储缓冲器芯片的方法可以包括:利用命令发生单元来产生命令,并将命令提供给存储缓冲器芯片;利用数据缓冲器来储存要传输给存储缓冲器芯片的数据或从存储缓冲器芯片接收的数据;利用寄存器来储存命令信用信息,所述命令信用信息根据存储缓冲器芯片的命令缓冲器的大小来复位;利用控制单元而根据从存储缓冲器芯片接收的命令信用更新信号来控制寄存器;以及其中,命令发生单元根据命令信用信息来判断是否将命令输出给存储缓冲器芯片。

在一个实施例中,一种操作位于存储器控制器与一个或多个存储器芯片之间的存储缓冲器芯片的方法可以包括:利用第一接口来传输信号给存储器控制器以及从存储器控制器接收信号;利用第二接口来传输信号给存储器芯片以及从存储器芯片接收信号;利用命令缓冲器来缓冲经由第一接口而从存储器控制器接收的命令;以及利用读取缓冲器来缓冲从存储器芯片接收的读取数据,其中,基于第一事件的发生,命令缓冲器经由第一接口来将第一事件通知给存储器控制器,以及其中,第一事件包括经由第二接口而将储存在命令缓冲器中的命令之一传输给存储器芯片。

附图说明

图1是图示传统存储系统的框图。

图2是图示根据一个实施例的存储系统的示例代表的框图。

图3是图2的时序参数管理单元的框图的示例代表。

图4是图示根据当前实施例的存储器控制器的命令输出操作的流程图。

图5是图示根据当前实施例的存储器控制器的第二读取命令输出操作的流程图。

图6是图示根据当前实施例的存储器控制器的命令信用控制操作的流程图。

图7是图示根据当前实施例的存储器控制器的读取命令信用控制操作的流程图。

图8是图示根据当前实施例的存储器控制器的读取响应控制操作的流程图。

图9是图示根据当前实施例的存储缓冲器芯片的命令解码操作的流程图。

图10是图示根据当前实施例的存储缓冲器芯片的命令输出操作的流程图。

图11是图示根据当前实施例的存储缓冲器芯片的读取数据接收操作的流程图。

具体实施方式

下面将参照附图来描述各种实施例。

各种实施例可以针对一种用于通过包括以异步方式工作的存储缓冲器芯片的存储系统来解决系统的复杂性的技术,在存储器控制器与存储缓冲器芯片之间的工作频率不同于存储缓冲器芯片与存储器芯片之间的工作频率的情况下,可能出现这种系统的复杂性。

图2是图示根据一个实施例的存储系统的示例代表的框图。

根据当前实施例的存储系统可以包括存储器控制器100、存储缓冲器芯片200和多个存储器芯片300。

参见图2,存储器控制器100可以包括用于执行存储器控制功能的处理器,例如,cpu。

存储器控制器100包括命令发生单元110、控制单元120、寄存器130、数据缓冲器140和时序管理单元150。

命令发生单元110产生与读取请求或写入请求相对应的命令和地址,并将产生的命令和地址提供给存储缓冲器芯片200。

在当前实施例中,读取命令分成第一读取命令和第二读取命令。

第一读取命令为针对存储器芯片300的读取命令。

存储缓冲器芯片200将数据储存在其内部读取缓冲器中,该数据通过第一读取命令来读取。

在当前实施例中,第二读取命令对应于用于读取储存在存储缓冲器芯片200的读取缓冲器中的数据的命令。

在当前实施例中,第二读取命令区别于第一读取命令。

例如,当使用ddr4协议时,读取命令期间不使用的a17引脚可以针对第一读取命令而被设置为0,或者针对第二读取命令而被设置为1。

命令发生单元110通过查阅寄存器130来输出命令。

控制单元120将寄存器130的值复位或更新。

寄存器130储存命令信用(commandcredit)、读取命令信用和读取响应数目。

在当前实施例中,命令信用是与存储缓冲器芯片200的命令缓冲器的大小相关联的值,以及命令发生单元110在命令信用大于0时将命令输出给存储缓冲器芯片200。然而,第二读取命令不受命令信用的值的影响。

读取命令信用是与存储缓冲器芯片200的读取缓冲器的大小相关联的值,以及命令发生单元110在读取命令信用大于0时将第一读取命令输出给存储缓冲器芯片200。

读取响应数目是与通过第一读取命令而读取且储存在读取缓冲器中的读取数据rd的数目相关联的值,以及命令发生单元110在读取响应数目大于0时将第二读取命令输出给存储缓冲器芯片200。

数据缓冲器140储存要提供给存储缓冲器芯片200的写入数据wd以及从存储缓冲器芯片200接收的读取数据rd。

时序管理单元150检查要从命令发生单元110输出的命令是否满足时序条件。

在当前实施例中,当输出第二读取命令或者输出写入命令时,时序管理单元150检查在数据缓冲器140与存储缓冲器芯片200之间的数据总线中是否可以避免数据冲突。

当时序管理单元150确定时序条件满足时,命令发生单元110将命令/地址输出给存储缓冲器芯片200的第一接口210。

存储缓冲器芯片200包括第一接口210、第二接口220、写入缓冲器230、命令解码器240、命令缓冲器250、时序参数管理单元260和读取缓冲器270。

第一接口210包括用于将信号(诸如命令、地址或数据)传输给存储器控制器100和从存储器控制器100接收信号的物理电路。

在当前实施例中,第一接口210以异步方式来操作。

第二接口220可以包括用于将信号(诸如命令、地址或数据)传输给存储器芯片300和从存储器芯片300接收信号的物理电路。

在当前实施例中,例如,第二接口220可以以同步方式来操作。

写入缓冲器230储存经由第一接口210而从存储器控制器100传输来的写入数据wd。

写入缓冲器230根据命令缓冲器250的写入使能信号wen来将写入数据wd提供给第二接口220。

命令解码器240辨别经由第一接口210而从存储器控制器100传输来的命令。

具体地,命令解码器240辨别是第一读取命令还是第二读取命令。在当前实施例中,第二读取命令可以被称作缓冲器读取命令。

当确定输入命令是第二读取命令时,命令解码器240可以输出用于使能读取缓冲器270的读取使能信号ren。

命令缓冲器250储存从命令解码器240接收的命令。命令缓冲器250输出用于控制写入缓冲器230的写入使能信号wen。

当命令缓冲器250中缓冲的命令的数量改变时,命令缓冲器250经由第一接口210而将命令信用更新信号ccu提供给存储器控制器100的控制单元120。

例如,当缓冲的命令的数量减少时,命令缓冲器250提供命令信用更新信号ccu以增加命令信用。

命令缓冲器250可以根据fifo(先进先出)方法来缓冲命令。

考虑到对应命令的时序条件,命令缓冲器250根据时序参数管理单元260的控制来输出命令和地址给第二接口220。

时序参数管理单元260可以根据与命令被输出的次序相对应的命令来管理时序条件。

当时序条件满足时,时序参数管理单元260将对应的命令和地址提供给第二接口220。

例如,用于同步半导体存储器件的时序条件可以表达为时钟的数目。

在一个实施例中,时序参数管理单元260可以包括多个计数器,所述多个计数器的初始值根据命令的类型来设置。

例如,当命令缓冲器250意图输出特定命令时,时序参数管理单元260可以针对对应的时序条件而使计数器反向地计数。

当值变成0时,时序参数管理单元260可以控制要提供给第二接口220的命令和地址,该命令和地址从命令缓冲器250输出。

图2图示了命令和地址c/a信号。

图3图示了根据当前实施例的时序参数管理单元260的配置的示例表示。时序参数管理单元260可以包括根据请求所需的、与一个或两个或更多个时序条件(诸如,行预充电时间trp、行地址到列地址延迟trcd、行激活时间tras和行循环时间trc)相对应的计数器。

时序参数管理单元260可以额外地管理提供给写入缓冲器230的写入使能信号wen的时序条件以防止数据冲突。

读取缓冲器270储存经由第二接口220而从存储器芯片300接收的读取数据rd。

读取缓冲器270根据命令解码器240的读取使能信号ren来将读取数据rd提供给第一接口210。

当缓冲在读取缓冲器270中的读取数据rd的数量改变时,读取缓冲器270经由第一接口210而将读取响应数目更新信号rru提供给存储器控制器100的控制单元120。

例如,当缓冲的读取数据的数量增加时,读取缓冲器270提供读取响应数目更新信号rru以增加读取响应数目。

在当前实施例中,存储器芯片300是同步dram芯片的情况作为示例来描述。然而,存储器芯片300不局限于此,而是可以包括能够在未来出现的新存储器芯片或媒介储存设备以及包括现有存储器芯片的媒介储存设备。

在当前实施例中,存储缓冲器芯片200的第二接口220具有与存储器芯片300的类型相对应的规格。

在当前实施例中,第二接口220具有同步dram接口。然而,当存储器芯片300是快闪存储器芯片时,第二接口220可以具有用于支持快闪存储器芯片的接口。

图4是图示根据当前实施例的存储器控制器的命令输出操作的流程图。

图4的操作可以通过命令发生单元110来执行。

在存储系统复位之后,在步骤s110处,命令发生单元110等待直到下一循环。

然后,在步骤s110处,命令发生单元110通过查阅寄存器130来检查命令信用是否大于0。

当命令信用不大于0时,可以表示存储缓冲器芯片200的命令缓冲器250无空间。因此,命令发生单元110不输出命令,而是返回至步骤s100。

当命令信用大于0时,在步骤s120处,命令发生单元110检查命令是否是第一读取命令。

当命令是第一读取命令时,在步骤s150处,命令发生单元110检查读取命令信用是否大于0。

当读取命令信用不大于0时,可以表示存储缓冲器芯片200的读取缓冲器270无空间。因此,命令发生单元110不输出第一读取命令,而是返回至步骤s100。

当读取命令信用大于0时,命令发生单元110在步骤s140处输出命令,并返回至步骤s100。

当在步骤s120处检查到命令不是第一读取命令时,在步骤s130处,命令发生单元110判断该命令是否使用数据总线。

当该命令不使用数据总线时,命令发生单元110在步骤s140处输出该命令,并返回至步骤s100。

当该命令使用数据总线时,在步骤s160处,存储器控制器判断是否可以避免数据总线的数据冲突。

判断是否可以避免数据总线的数据冲突可以通过存储器控制器的时序管理单元150来执行。

当数据冲突不能避免时,命令发生单元110返回至步骤s100,而当数据冲突可以避免时,命令发生单元110在步骤s140处输出该命令,并返回至步骤s100。

图5是图示根据当前实施例的存储器控制器的第二读取命令输出操作的流程图。

图5的操作可以通过命令发生单元110来执行。

当存储系统复位时,在步骤s200处,命令发生单元110等待直到下一循环。

然后,在步骤s210处,命令发生单元110判断读取响应数目是否大于0。

当读取响应数目大于0时,可以表示存在要从存储缓冲器芯片200的读取缓冲器270读取的数据。

当读取响应数目不大于0时,命令发生单元110返回至步骤s200,而当读取响应数目大于0时,命令发生单元110进行步骤s220以判断在数据总线中是否可以避免数据冲突。

当数据冲突不能避免时,命令发生单元110返回至步骤s200,而当数据冲突可以避免时,命令发生单元110在步骤s230处输出第二读取命令。

然后,命令发生单元110进行步骤s200以重复上述操作。

图6是图示根据当前实施例的存储器控制器的命令信用控制操作的流程图。

图6的操作可以参照命令发生单元110的状态而由控制单元120来执行。

图6的操作可以在这样的假设下执行:判断在图4中是否输出命令以及在图5中是否输出第二读取命令。

当存储系统复位时,在步骤s300处,控制单元120将命令信用复位至大于0的值n。

然后,在步骤s310处,控制单元120等待直到下一循环。

然后,在步骤s320处,控制单元120检查命令是否从命令发生单元110输出。

当输出命令时,在步骤s330处,控制单元120检查对应的命令是否是第二读取命令,即,缓冲器读取命令。

然后,当该命令不是第二读取命令时,在步骤s340处,控制单元120检查是否从存储缓冲器芯片200提供了命令信用更新信号ccu。

此时,命令信用更新信号ccu表示缓冲在命令缓冲器250中的命令之一经由第二接口220而被输出至存储器芯片300,从而可以额外提供命令。

因此,当未提供命令信用更新信号ccu时,控制单元120在步骤s360处将命令信用减小1,而当提供了命令信用更新信号ccu时,控制单元120在步骤s370处维持命令信用。

当在步骤s320处未输出命令或者在步骤s330处该命令是第二读取命令时,在步骤s350处,控制单元120检查是否从存储缓冲器芯片200提供了命令信用更新信号ccu。

因此,当未提供命令信用更新信号ccu时,控制单元120在步骤s370处维持命令信用,而当提供了命令信用更新信号ccu时,控制单元120在步骤s380处将命令信用增加1。

在步骤s360、s370和s380之后,控制单元120返回至步骤s310以重复上述操作。

图7是图示根据当前实施例的存储器控制器的读取命令信用控制操作的流程图。

图7的操作可以参照命令发生单元110的状态而由控制单元120来执行。

图7的操作可以在这样的假设下执行:判断在图4中是否输出命令以及在图5中是否输出第二读取命令。

当存储系统复位时,在步骤s400处,控制单元120将读取命令信用复位至大于0的值m。

然后,在步骤s410处,控制单元120等待直到下一循环。

然后,在步骤s420处,控制单元120检查命令是否从命令发生单元110输出。

当未输出命令时,控制单元120在步骤s450处维持读取命令信用,并返回至步骤s410。

当输出命令时,在步骤s430处,控制单元120检查对应的命令是否是第一读取命令。

当该命令是第一读取命令时,控制单元120在步骤s470处将读取命令信用减小1,并返回至步骤s410。

当该命令不是第一读取命令时,在步骤s440处,存储器控制器检查该命令是否是第二读取命令。

当该命令是第二读取命令时,控制单元120在步骤s460处将读取命令信用增加1,并返回至步骤s410。另一方面,当该命令不是第二读取命令时,控制单元120在步骤s450处维持读取命令信用,并返回至步骤s410。

控制单元120可以通过查阅读取命令信用来判断是否输出第一读取命令。然后,当第一读取命令被连续输出时,控制单元120可以防止存储缓冲器芯片200的读取缓冲器270中可能出现的过流(overflow)。

图8是图示根据当前实施例的存储器控制器的读取响应控制操作的流程图。

图8的操作可以参照命令发生单元110而由控制单元120来执行。

图8的操作可以在下面的假设下来执行:判断在图5中是否输出第二读取命令。

当存储系统复位时,在步骤s500处,控制单元120将读取响应数目复位至0。

然后,在步骤s510处,控制单元120等待直到下一循环。

然后,在步骤s520处,控制单元120判断是否输出第二读取命令。

当输出第二读取命令时,在步骤s530处,控制单元120判断来自存储缓冲器芯片200的读取响应数目更新信号rru是否到达。

当在输出第二读取命令的状态下读取响应数目更新信号到达时,可以表示读取缓冲器270的可用空间未改变。因此,在步骤s560处控制单元120维持读取响应数目。另一方面,当读取响应数目更新信号未到达时,可以表示读取缓冲器270的可用空间减小。因此,在步骤s550处控制单元120将读取响应数目减小1。

当在步骤s520处输出除了第二读取命令之外的命令时,在步骤s540处,控制单元120判断读取响应数目更新信号是否到达。

当读取响应数目更新信号到达时,控制单元120在步骤s570处将读取响应数目增加1。否则,控制单元120在步骤s560处维持读取响应数目。

在执行步骤s550、s560和s570之后,控制单元120返回至步骤s510以重复上述操作。

图9是图示根据当前实施例的存储缓冲器芯片的命令解码操作的流程图。

图9的操作可以由存储缓冲器芯片200的命令解码器240来执行。

当存储系统复位时,命令解码器240在步骤s600处等待直到下一循环,以及在步骤s610处判断命令是否是第二读取命令(即,缓冲器读取命令)。

当命令不是第二读取命令时,命令解码器240在步骤s630处将命令输入给命令缓冲器,并返回至步骤s600。

当命令是第二读取命令时,在步骤s620处,命令解码器240使能读取使能信号ren以经由第一接口210而将读取缓冲器270的数据提供给存储器控制器100。

然后,命令解码器240返回至步骤s600以重复上述操作。

图10是图示根据当前实施例的存储缓冲器芯片的命令输出操作的流程图。

图10的操作可以由存储缓冲器芯片200的命令缓冲器250来执行。

当存储系统复位时,在步骤s700处,命令缓冲器250等待直到下一循环。

然后,在步骤s710处,命令缓冲器250判断命令缓冲器中是否存在命令。

当不存在命令时,命令缓冲器250返回至步骤s700,而当命令存在时,在步骤s720处,命令缓冲器250判断该命令是否满足时序条件。

命令缓冲器250通过查阅时序参数管理单元260来判断命令是否满足时序条件。

当命令不满足时序条件时,命令缓冲器250返回至步骤s700,而当命令满足时序条件时,在步骤s730处,命令缓冲器250判断命令是否是写入命令。

当命令是写入命令时,在步骤s740处,命令缓冲器250使能写入使能信号wen以将写入缓冲器230的数据输出给第二接口。

然后,命令缓冲器250将命令输出给第二接口220。

当在步骤s730处命令不是写入命令时,命令缓冲器250在步骤s750处将命令输出给第二接口。

然后,命令缓冲器250在步骤s760处将命令信用更新信号ccu输出给第一接口210,使得控制单元120增加命令信用。

然后,命令缓冲器250返回至步骤s700以重复上述操作。

图11是图示根据当前实施例的存储缓冲器芯片的读取数据接收操作的流程图。

图11的操作可以由存储缓冲器芯片的读取缓冲器270来执行。

当存储系统复位时,在步骤s800处,读取缓冲器270等待直到下一循环。

然后,在步骤s810处,读取缓冲器270检查读取数据是否从第二接口220传输来。

当读取数据未传输来时,读取缓冲器270返回至步骤s800。

当读取数据传输来时,读取缓冲器270在步骤s820处将读取数据储存在其中。

然后,读取缓冲器270在步骤s830处将读取响应数目更新信号输出给第一接口210,使得控制单元120增加读取响应数目。

然后,读取缓冲器270返回至步骤s800以重复上述操作。

在当前实施例中,读取命令包括用于将存储器芯片300的数据读取至读取缓冲器270中的第一读取命令和用于将读取缓冲器270的数据读取至数据缓冲器140中的第二读取命令,且第二读取命令以异步方式来执行。

此外,存储缓冲器芯片200的读取缓冲器270可以具有基于fifo方法的数据结构。

在这种情况下,命令发生单元110可以查阅第一读取命令的输出历史和读取响应数目的值,以及容易地判断当前输出的第二读取命令对应于哪个第一读取命令。

根据当前实施例,无论存储器芯片的工作速度如何,存储系统的存储器控制器都经由异步控制来输出命令。因此,可以简化设计。

由于存储系统以异步方式来操作,因此存储系统适用于控制具有长时延的存储器芯片。

存储系统可以容易地处理时延改变的情形。即使存储器芯片的类型改变,也不需要大幅改变存储器控制器的设计。

存储系统可以原样使用传统dimm通道,且不需要若干引脚来进行额外控制。

虽然已经出于说明的目的而描述了各种实施例,但是对于本领域技术人员将明显的是,在不脱离所附权利要求中所限定的本公开的精神和范围的情况下,可以作出各种改变和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1