存储设备及其控制方法与流程

文档序号:26812365发布日期:2021-09-29 03:18阅读:151来源:国知局
存储设备及其控制方法与流程
存储设备及其控制方法


背景技术:

1.本公开涉及存储设备及其操作方法。
2.存储单元阵列中的常规存储体可以每次由于命令的形成而根据读取或写入命令被读取或写入一次,从而防止后续的其他存储体的地址的输入,直到对应于当前存储体的地址的数据被输出。因此,存储体之间的控制和切换可能需要额外的命令来触发后续的读取或写入操作。时间延迟和额外的命令传输增加了存储设备的成本并降低了整体性能。


技术实现要素:

3.在一个方面,一种存储设备包括多个存储体、被配置为通过传输控制信号来控制操作并将数据传输到存储单元和传输来自于存储单元的数据的控制逻辑单元、以及一个或多个接口模块。每个存储体包括被布置成行和列的存储单元。每个存储体与相应的存储体标识符相关联。每个接口模块被配置为从控制逻辑单元接收控制信号,其中控制信号包括命令和地址。每个接口模块还被配置为响应于接收到所述控制信号,确定所述命令是否对应于数据传输操作。每个接口模块还被配置为响应于确定所述命令对应于数据传输操作,从所述地址检索参考标识符。每个接口模块还被配置为确定每个存储体标识符是否在参考标识符的范围内。并且每个接口模块还被配置为响应于确定每个存储体标识符在参考标识符的范围内,激活对应的有限状态机(fsm),其中每个fsm与相应存储体的状态相关联。
4.根据本公开的另一方面,一种系统包括被配置为存储数据的存储设备、以及耦合到该存储设备并被配置为控制该存储设备的存储器控制器。存储设备包括多个存储体、被配置为通过传输控制信号来控制操作并将数据传输到存储单元和传输来自于存储单元的数据的控制逻辑单元、以及一个或多个接口模块。每个存储体包括被布置成行和列的存储单元。每个存储体与相应的存储体标识符相关联。每个接口模块被配置为从控制逻辑单元接收控制信号,其中控制信号包括命令和地址;响应于接收到所述控制信号,确定所述命令是否对应于数据传输操作;响应于确定所述命令对应于数据传输操作,从所述地址检索参考标识符;确定每个存储体标识符是否在参考标识符的范围内;并且响应于确定每个存储体标识符在参考标识符的范围内,激活对应的有限状态机(fsm),其中每个fsm与相应存储体的状态相关联。
5.在另一方面,一种用于操作存储设备的方法,其中存储设备包括多个存储体,每个存储体包括被布置成行和列的存储单元,并且每个存储体与相应的存储体标识符相关联。该方法包括:响应于接收到包括命令和地址的控制信号,确定所述命令是否对应于数据传输操作;响应于确定所述命令对应于数据传输操作,激活接口模块,并且从所述地址检索参考标识符;确定每个存储体标识符是否在参考标识符的范围内;并且响应于确定每个存储体标识符在参考标识符的范围内,激活对应的有限状态机(fsm),其中每个fsm与相应存储体相关联。
附图说明
6.并入本文中并构成说明书的一部分的附图示出了本公开的各方面,并且与说明书一起进一步用于解释本公开的原理,并使相关领域的技术人员能够做出和使用本公开。
7.图1示出了根据本公开的一些方面的具有存储设备的示例性系统的框图。
8.图2示出了根据本公开的一些方面的包括外围电路的示例性存储设备的示意图。
9.图3示出了根据本公开的一些方面的包括存储单元区域和外围电路的示例性存储设备的框图。
10.图4示出了根据本公开的一些方面的包括多个存储体、接口模块和有限状态机(fsm)模块的存储设备的框图。
11.图5示出了根据本公开的一些方面的描述参考标识符与由存储设备的控制逻辑单元确定的所选存储体之间的关系的示例的表格。
12.图6示出了根据本公开的一些方面的用于操作存储设备的示例性方法的流程图。
13.图7示出了根据本公开的一些方面的用于在写入操作中操作存储设备的另一示例性方法的流程图。
14.图8示出了根据本公开的一些方面的用于在读取操作中操作存储设备的又一示例性方法的流程图。
15.图9示出了根据本公开的一些方面的示出存储设备的写入操作的示例性方法的时序图。
16.图10示出了根据本公开的一些方面的示出存储设备的读取操作的示例性方法的时序图。
17.将参考附图描述本公开。
具体实施方式
18.尽管讨论了具体的构造和布置,但是应当理解,这样做仅出于说明的目的。这样,在不脱离本公开的范围的情况下,可以使用其他构造和布置。而且,本公开还可以用于多种其他应用中。如在本公开中描述的功能和结构特征可以以未在附图中具体描绘的方式彼此存储体合、调整和修改,使得这些存储体合、调整和修改在本公开的范围内。
19.通常,可以至少部分地根据上下文中的使用来理解术语。例如,至少部分地取决于上下文,本文所使用的术语“一个或多个”可以用于以单数意义描述任何特征、结构或特性,或者可以用于以复数意义描述特征、结构或特性的存储体合。类似地,至少部分地取决于上下文,诸如“一”或“所述”的术语可以同样被理解为传达单数用法或传达复数用法。另外,同样至少部分地取决于上下文,术语“基于”可以被理解为不一定旨在传达一存储体排他的因素,并且可以代替地允许存在不一定明确描述的附加因素。
20.双倍数据速率同步动态随机存取存储器(ddr sram)是计算机中使用的双倍数据速率(ddr)同步动态随机存取存储器(sdram)类的存储器集成电路。在现代系统中,存储器系统可以包括具有公共时钟、地址和命令线的多个ddr芯片。在该配置中,ddr接口被设置为包括多个ddr芯片,这些芯片经由多条数据线将数据传递到存储器控制器以及从存储器控制器传递数据。与单倍数据速率sdram相对,ddr是双倍数据速率存储器,因为每个时钟传递数据两次,一个数据样本在时钟的上升沿传输,并且另一个数据样本在时钟的下降沿传输。
sdram每个时钟只能传递一个事务。在ddr中,时钟以ddr数据速率的一半运行,并被供应给所有存储单元,例如动态随机存取存储器(dram)或相变随机存取存储器(pcram)。
21.ddr具有多个存储体组,每个存储体组包括多个存储体,每个存储体具有行和列。存储体可以是独立的存储阵列。尽管存储设备中有多个存储体,但存储体每次只能被存取(例如,读取或写入)一次,控制逻辑单元由此向存储体发送命令以触发读取操作或写入操作。
22.突发模式是访问存储器的方法之一。它通过在一个地址中访问具有不同数据输入的存储器而提供了一种访问存储器的高速方法。大多数同步sdram可以突发发送数据。在突发模式下,sdram可以为单个地址输入提供来自多个地址位置的数据。这种操作的优点是,通过在存储体中提供单个地址,可以获得来自四个位置的数据,从而减少地址总线上的活动,这也降低了系统的总体成本。然而,虽然突发模式可以提供来自多个地址的数据,但它每次只能访问一个存储体,这限制了突发模式的使用。由于系统可以在多个存储体组中具有多个存储体,因此利用多个命令和地址访问多个存储体是非常耗时的。
23.此外,在单个命令和地址中将数据输入到多个存储体之后,每个存储体中的读取或写入操作可能需要更多时间来为每个操作排队。具体而言,为了降低将数据输入到多个存储体中之后的功耗,最好在每个存储体中的操作之间错开时间。
24.为了解决上述一个或多个问题,本公开引入了一种方案,其中引入接口模块来确定每个存储体标识符是否在地址中的参考标识符的范围内,从而可以每次选择多个存储体(即所选的那些存储体具有在参考标识符的范围内的存储体标识符),并将数据传输到每个所选的存储体中以开始读取或写入操作。
25.为了解决上述一个或多个问题,本公开还提供了一种解决方案,其中可以使用多个fsm模块在操作之前在各种状态中排队。具体来说,以下fsm模块可以在检测到前一个存储体正在操作时在各种等待状态中排队,并且一旦前一个存储体完成其操作就会自动开始其自己的操作。也就是说,尽管由于前面讨论的接口模块的好处,存储体已经在一个命令中接收到其对应的命令和地址,但它仍然可以将每个存储体中的操作分开。结果,即使存储体已经接收到其对应的命令和地址,所有存储体的多次操作也会以适当的时间间隔拆分。因此,所公开的技术不仅显著降低了总功耗,而且还提供了更灵活的操作方案来基于速度和成本相应地设计电路。
26.图1示出了根据本公开的一些方面的具有存储设备的示例性系统100的框图。系统100可以是移动电话、台式计算机、膝上型计算机、平板电脑、车辆计算机、游戏机、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(vr)设备、增强现实(ar)设备、或其中具有存储装置的任何其他合适的电子设备。如图1所示,系统100可以包括主机108和具有一个或多个存储设备104和存储器控制器106的存储器系统102。主机108可以是电子设备的处理器(例如中央处理单元(cpu))或片上系统(soc)(例如应用处理器(ap))。在一些实施方式中,主机108可以被配置为向存储设备104发送数据或从存储设备104接收数据。在一些实施方式中,主机可以是用户逻辑单元或用户接口,使得用户可以向主机发出指令并向存储设备或存储阵列传输指令。
27.存储设备104可以是本公开中公开的任何存储设备。如下文详细公开的,根据一些实施方式,诸如pcram、dram或nand闪存设备的存储设备104可以包括时钟输入、命令总线、
地址总线、数据输入、多个存储体、多个接口模块和多个fsm模块。
28.根据一些实施方式,存储器控制器106耦合到存储设备104和主机108,并被配置为控制存储设备104。存储器控制器106可以管理存储在存储设备104中的数据并与主机108通信。在一些实施方式中,存储器控制器106被设计用于在低占空比环境中操作,所述低占空比环境例如是安全数字(sd)卡、紧凑型闪存(cf)卡、通用串行总线(usb)闪存驱动器、或用于电子设备(例如个人计算机、数码相机、移动电话等)中的其他介质。在一些实施方式中,存储器控制器106被设计用于在高占空比环境中操作,所述高占空比环境例如是用作诸如智能手机、平板电脑、膝上型计算机等的移动设备的数据存储装置的ssd或嵌入式多媒体卡(emmc)、以及企业存储阵列。存储器控制器106可以被配置为控制存储设备104的操作,例如读取、擦除和编程操作。存储器控制器106还可以被配置为管理与存储或将要存储在存储设备104中的数据有关的各种功能,包括但不限于坏块管理、垃圾收集、逻辑到物理地址转换、损耗均衡,在一些实施方式中,存储器控制器106还被配置为处理关于从存储设备104读取或写入到存储设备104的数据的纠错码(ecc)。存储器控制器106也可以执行任何其他合适的功能,例如,对存储设备104进行格式化。存储器控制器106可以根据特定的通信协议与外部设备(例如,主机108)通信。例如,存储器控制器106可以通过各种接口协议中的至少一种与外部设备通信,所述接口协议例如usb协议、mmc协议、外围部件互连(pci)协议、pci快速(pci

e)协议、高级技术附件(ata)协议、串行ata协议、并行ata协议、小型计算机小型接口(scsi)协议、增强型小型磁盘接口(esdi)协议、集成驱动电子(ide)协议、firewire协议等。
29.图2示出了根据本公开的一些方面的包括外围电路的示例性存储设备200的示意性电路图。存储设备200可以是图1中的存储设备104的示例。存储设备200可以包括存储单元阵列201和耦合到存储单元阵列201的外围电路202。存储单元阵列201可以包括一个或多个存储体204。每个存储体204包括字线214、位线216和形成在字线214与位线216之间的交叉点设备208。在一些实施方式中,每个交叉点设备208可以包括与选择器(未示出)串联的pcm元件(未示出)。在一些实施方式中,交叉点设备208还可以是包括成对的晶体管和电容器的dram单元。为了操作存储单元阵列201的每个存储体204,可以向每条字线214施加字线电压(v
w
),并且可以向每条位线216施加位线电压(v
b
)。
30.图3示出了根据本公开的一些方面的示例性存储设备300(例如,对应于图1中的104)的框图,示例性存储设备300包括存储单元区域301(例如,对应于图2中的201)和外围电路。如图3所示,页缓冲器/读出放大器304可以被配置为根据来自控制逻辑单元312的控制信号从存储单元区域301读取数据和向存储单元区域301编程(写入)数据。在一个示例中,页缓冲器/读出放大器304可以存储将被编程到存储单元阵列201的一页(例如,在图2中)中的一页编程数据(写入数据)。在另一个示例中,页缓冲器/读出放大器304可以执行编程验证操作以确保数据已经被正确地编程到耦合到所选字线214的交叉点设备208中。在又一个示例中,页缓冲器/读出放大器304也可以在读取操作中感测来自位线216的低功率信号(其表示存储在交叉点设备208中的数据位)并将小电压摆幅放大到可识别的逻辑电平。
31.列解码器/位线驱动器306可以被配置为由控制逻辑单元312控制并选择一个或多个交叉点设备208。i/o电路307可以耦合到页缓冲器/读出放大器304和/或列解码器/位线驱动器306,并且被配置为将从数据总线327输入的数据引导(路由)到存储单元阵列201的期望存储单元区域301(例如,存储体),以及将从期望存储单元区域输出的数据引导(路由)
到数据总线327。如下文详细描述的,i/o电路307可以包括多路复用器(mux)阵列以实施本文公开的由控制逻辑单元312控制的灵活的、基于数据移位的修复方案。在一些实施方式中,数据总线327被配置为提供标记为dq的单端信号,并且数据选通329被配置为提供标记为dqs的差分数据信号。
32.行解码器/字线驱动器308可以被配置为由控制逻辑单元312和存储单元阵列201的所选存储体204和所选存储体204的字线214控制。行解码器/字线驱动器308可以进一步被配置为驱动所选字线214。
33.控制逻辑单元312可以耦合到上述每个外围电路并且被配置为控制每个外围电路的操作。控制逻辑单元312被配置为经由时钟输入总线321、命令总线323和地址总线325从主机(例如,图1中的108)接收时钟信号、命令信号、地址信号和数据信号。经由时钟输入总线321接收时钟信号。经由命令总线323接收命令信号。经由地址总线325接收地址信号。经由数据总线327接收数据信号。地址寄存器314可以耦合到控制逻辑单元312或包括在控制逻辑单元312中。地址寄存器314可以包括用于存储状态信息、命令操作代码(op代码)和用于控制每个外围设备操作的命令地址的电路状态寄存器、命令寄存器和地址寄存器。用户接口也可以经由数据总线327耦合到i/o电路307,并充当数据i/o接口和数据缓冲器以缓冲从主机接收到的写入数据并将该写入数据转发到到i/o电路307,以及缓冲来自i/o电路307的读取数据并将该读取数据转发到主机。例如,用户接口可以包括耦合到数据总线327的数据i/o。在一些实施方式中,地址解码器负责对来自控制逻辑单元312的有效读取和写入地址进行解码。有效地址的格式可以是{存储体,存储体组,行地址,列地址},其中行和列地址各为16位,并且存储体和存储体组各为2位。在一些实施方式中,控制逻辑单元312可以由微处理器、微控制器(又名微控制器单元(mcu))、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、可编程逻辑设备(pld)、状态机、门控逻辑单元、分立硬件电路和被配置为执行所描述的各种功能的其他合适的硬件、固件和/或软件来实施。
34.图4示出了根据本公开的一些方面的存储设备400(例如,对应于图1中的104)的框图,该存储设备400包括一个或多个存储体411(例如,对应于图2中的存储体204)、一个或多个接口模块413以及一个或多个有限状态机(fsm)模块415。如图4所示,一个或多个存储体411耦合到输入/输出(i/o)数据路径407,时钟输入总线321、命令总线323、地址总线325、数据总线327和数据选通329连接到该输入/输出(i/o)数据路径407。每个存储体411可以包括表示这种存储体的具体地址的存储体标识符。
35.一个或多个接口模块413被配置为从经由地址总线325提供的地址检索参考标识符。在一些实施方式中,接口模块被配置为确定每个存储体的每个存储体标识符在参考标识符的范围内。在一些实施方式中,接口模块413被配置为耦合到或包括在i/o电路307中(例如,在图3中),并且被配置为将从数据总线327输入的数据引导(路由)到期望的存储单元区域301(例如,图2中的存储体204之一),以及将从期望存储单元区域输出的数据引导(路由)到数据总线327。在一些实施方式中,每个接口模块413被配置为包括在相应的存储体411中。在一些实施方式中,接口模块413被配置为由控制逻辑单元312控制。参考标识符被配置为由用户经由主机(例如,图1中的108)确定。在一些实施方式中,参考标识符被选择为被选择的存储体。这种选择机制可以在图5中示出。图5示出了根据本公开的一些方面的描述参考标识符与由存储设备300的控制逻辑单元312确定的所选存储体之间的关系的示
例的表格。参考标识符可以包括存储体起始标识符和存储体结束标识符,这两个标识符的范围代表了要选择的存储体的范围。在一个示例中,当存储体起始标识符为0并且存储体结束标识符为0时,仅选择标记为0的存储体。因此,仅选择了一个存储体。在另一个示例中,当存储体起始标识符为4并且存储体结束标识符为11时,选择标记为4至11的存储体。因此,选择了8个存储体。在又一个示例中,当存储体起始标识符为0并且存储体结束标识符为15时,从存储体0到存储体15的总计16个存储体都被选择。要注意,此处标记为存储体0至存储体15的编号0至15仅用于说明目的。参考标识符以及存储体标识符可以多于2位并且可以是除上述之外的其他编号。在一些实施方式中,接口模块413可以通过使用比较器电路来确定每个存储体的每个存储体标识符是否在参考标识符的范围内。例如,如果特定存储体标识符的值大于或等于存储体开始标识符的值并且小于或等于存储体结束标识符的值,则比较器电路可以返回true。通过这样做,单个控制信号(例如,包括命令和地址)可以触发多个存储体被选择和操作。因此,这提高了操作的整体速度。
36.一个或多个fsm模块415被配置为耦合到对应的存储体411或包括在对应的存储体411中。在一些实施方式中,每个fsm模块包括一个或多个过程上下文,其维护系统中执行的操作所需的有限状态。在一些实施方式中,每个fsm模块例如在处于初始状态a时,控制逻辑单元312可以发出命令或信号以开始所请求操作的操作。当另一个信号进来时,新的信号使fsm模块切换到状态b。在状态b中,它可能触发诸如写入操作或读取操作的操作,这将被讨论。在某些条件下,例如操作了一段预定时间后,fsm模块可以自动切换到状态c。并且,当完成某些操作,例如完成读取操作时,fsm模块可以切换回到初始状态a。在一些实施方式中,fsm模块415包括处理写入操作的写入fsm模块、或处理读取操作的读取fsm模块。在一些实施方式中,fsm模块415可以执行读取和写入操作。在一些实施方式中,fsm模块415可以由包括内置时序电路或由外部源控制的时序电路的逻辑电路来实施。在一些实施方式中,fsm模块415包括状态寄存器和触发器。在一些实施方式中,fsm模块415被配置为仅在被激活时才切换到另一状态。例如,fsm模块415可以在激活之前保持在空闲状态。如果没有激活,fsm模块415将不会接收到控制信号,或者即使接收到控制信号也不会被触发并切换到下一状态。在一些实施方式中,fsm模块415与时钟信号同步地切换到下一状态。写入fsm模块的过程流程可以在后续将讨论的图7和图9中示出;读取fsm模块的过程流程在图8和图10中示出。
37.i/o路径407被配置为耦合到或包括在控制逻辑单元312中(例如,在图3中)。i/o路径407耦合到时钟输入总线321、命令总线323、地址总线325、数据总线327和数据选通329,并被配置为将数据导入和导出存储体411。存储体411的详细描述可以如图2中的存储体204所示。
38.图6示出了根据本公开的一些方面的用于操作存储设备的示例性方法600的流程图。存储设备可以是本文公开的任何合适的存储设备。方法600可以由控制逻辑单元312实施。应当理解,方法600中所示的操作可能不是穷尽的,并且也可以在任何所示操作之前、之后或之间执行其他操作。此外,一些操作可以同时执行,或者以与图6所示不同的顺序执行。
39.参考图6,方法600开始于操作602,其中,响应于接收到包括命令和地址的控制信号,确定所述命令对应于数据传输操作。数据传输操作包括读取操作或写入操作。例如,控制逻辑单元312可以在开始存储设备的后续操作之前识别出控制信号包括写入操作命令。
40.方法600进行到操作604,如图6所示,其中,响应于确定所述命令对应于数据传输
操作,接口模块413被激活并从同一控制信号中接收的给定地址中检索参考标识符。如上所述,控制信号可以包括命令、具有存储体地址、存储体组地址、行地址和列地址的地址。接口模块413可以识别每个地址并将检索到的地址传输到接口模块413内的比较器电路。
41.方法600进行到操作606,如图6所示,其中,接口模块用于确定每个存储体标识符在参考标识符的范围内。选择存储体标识符在该范围内的这些存储体进行下一个操作。
42.方法600进行到操作608,如图6所示,其中,响应于确定每个存储体标识符在参考标识符的范围内,每个所选存储体的对应fsm模块415被激活。例如,当在确定16个存储体的每个存储体标识符都在参考标识符的范围内后选择全部的存储体0到存储体15时,所有16个对应的fsm模块415都被激活。在一些实施方式中,每个fsm模块415与相应存储体的状态相关联。即,当相应存储体的fsm模块被激活时,相应存储体的状态被激活,并且相应存储体准备好接收控制信号。而当相应存储体的fsm模块处于写入操作时,相应存储体的状态处于写入操作,并且相应存储体准备好将数据写入其存储单元中。
43.图7示出了根据本公开的一些方面的用于在写入操作中操作存储设备的另一示例性方法的流程图。存储设备可以是本文公开的任何合适的存储设备。方法700可以由控制逻辑单元312实施。应当理解,方法700中所示的操作可能不是穷尽的,并且也可以在任何所示操作之前、之后或之间执行其他操作。此外,一些操作可以同时执行,或者以与图7中所示不同的顺序执行。图9示出了根据本公开的一些方面的示例性方法700的详细时序图。如上所述,方法700是用于在写入操作中操作存储设备的方法。因此,方法700中的fsm模块415可以是写入fsm模块。例如,写入fsm可以具有四种状态,包括空闲状态(例如,对应于idle)、写入准备状态(例如,对应于wr_pre)、存储体等待状态(例如,对应于bank_wait)、写入等待状态(例如,对应于wr_wait)、以及写入状态(例如,对应于wr_op),如图9所示。
44.参考图7,方法700开始于操作702,其中,响应于确定命令对应于写入操作,接口模块413被激活,如上文在图6中所讨论的。在激活接口模块之后,也可以激活每个所选存储体的对应fsm模块。在激活对应的fsm模块之后,例如第一fsm模块、第二fsm模块和第三fsm模块都从空闲状态切换到写入准备状态。注意,第一fsm模块、第二fsm模块和第三fsm模块仅用于说明目的。可以只选择一个存储体,并且激活一个fsm模块,或者可以选择三个以上存储体,并且激活多个fsm模块。然而,如果fsm模块多于三个,则过程的队列可以与本示例相同或相似。在一些实施方式中,在写入准备状态期间,所选存储体的存储单元可以被预充电或复位以被写入。
45.方法700进行到操作704,如图7所示,其中,在接收到传输至第一所选存储体的第一数据时钟信号之后,第一fsm模块切换至写入状态。在一些实施方式中,在写入状态期间,控制逻辑单元312可以经由数据总线327将数据写入所选存储体的存储单元中。经由时钟输入总线321传输第一时钟信号,如图4所示。
46.方法700进行到操作706,如图7所示,其中,在接收到传输至第二所选存储体的第二数据时钟信号之后,第二fsm模块从写入准备状态切换到存储体等待状态。然后,在检测到第一fsm模块处于写入状态之后,第二fsm模块切换到写入等待状态。
47.方法700进行到操作708,如图7所示,其中,在第二fsm模块切换到写入等待状态达预定时间段之后,第二fsm模块切换到写入状态。在一些实施方式中,可以基于每个存储设备的特性来确定预定时间段,以在同时执行多个操作时降低总体电流或功耗。
48.方法700进行到操作710,如图7所示,其中,在接收到传输至第三所选存储体的第三数据时钟信号之后,第三fsm模块从写入准备状态切换到存储体等待状态。然后,在检测到第二fsm模块处于写入状态之后,第三fsm模块切换到写入等待状态。
49.方法700进行到操作712,如图7所示,其中,在第三fsm模块切换到写入等待状态达预定时间段之后,第三fsm模块切换到写入状态。因此,通过在队列中分配每个所选存储体的多个fsm模块的写入状态的时间,即使在单个控制信号中选择了多个存储体,整个存储设备的功耗仍然是可管理的。提供了设计电路的灵活操作方案。
50.图8示出了根据本公开的一些方面的用于在读取操作中操作存储设备的另一示例性方法800的流程图。存储设备可以是本文公开的任何合适的存储设备。方法800可以由控制逻辑单元312实施。应当理解,方法800中所示的操作可能不是穷尽的,并且也可以在任何所示操作之前、之后或之间执行其他操作。此外,一些操作可以同时执行,或者以与图8所示不同的顺序执行。图10示出了根据本公开的一些方面的示例性方法800的详细时序图。如上所述,方法800是用于在读取操作中操作存储设备的方法。因此,方法800中的fsm模块415可以是读取fsm模块。例如,读取fsm可以具有四种状态,包括空闲状态(例如,对应于idle)、读取准备状态(例如,对应于rd_pre)、存储体等待状态(例如,对应于bank_wait)、读取等待状态(例如,对应于rd_wait)、以及读取状态(例如,对应于rd_op),如图10所示。
51.参考图8,方法800开始于操作802,其中,响应于确定命令对应于读取操作,接口模块413被激活。在激活接口模块之后,也可以激活每个所选存储体的对应fsm模块。在激活对应的fsm模块之后,第一fsm模块切换到读取状态,第二fsm模块和第三fsm模块从空闲状态切换到读取准备状态。在一些实施方式中,在读取状态期间,控制逻辑单元312可以经由数据总线327将数据读取到所选存储体的存储单元。经由时钟输入总线321传输时钟信号,如图4所示。注意,第一fsm模块、第二fsm模块和第三fsm模块仅用于说明目的。可以只选择一个存储体并且激活一个fsm模块,或者可以选择三个以上存储体并且激活多个fsm模块。然而,如果fsm模块多于三个,则过程的队列可以与本示例相同或相似。
52.方法800进行到操作804,如图8所示,其中,在检测到第一fsm模块处于读取状态之后,第二fsm模块切换到读取等待状态。
53.方法800进行到操作806,如图8所示,其中,在第二fsm模块切换到读取等待状态达预定时间段之后,第二fsm模块切换到读取状态。在一些实施方式中,可以基于每个存储设备的特性来确定预定时间段,以在同时执行多个操作时降低总体电流或功耗。
54.方法800进行到操作808,如图8所示,其中,在检测到第二fsm模块处于读取状态之后,第三fsm模块切换到读取等待状态。
55.方法800进行到操作810,如图8所示,其中,在第三fsm模块切换到读取等待状态达预定时间段之后,第三fsm模块切换到读取状态。因此,通过在队列中分配每个所选存储体的多个fsm模块的读取状态的时间,即使在单个控制信号中选择多个存储体,整个存储设备的功耗仍然是可管理的。提供了设计电路的灵活操作方案。
56.图9示出了根据本公开的一些方面的示出存储设备的写入操作的示例性方法的时序图。如图9所示,经由时钟输入总线321接收时钟信号(例如,ck)。经由命令总线323和地址总线325传输包括命令和地址(例如,ca)的控制信号。如下传输控制信号。传输设备取消选择信号(例如,des)以在开始时取消选择所有存储单元。首先,当存储体(例如存储体0)中的
接口模块接收到写入命令(例如wr_cmd0)时,对应的fsm模块(例如fsm(存储体0))被激活并切换到写入准备状态(例如,wr_pre)。第一fsm模块(例如,fsm(存储体0))在激活之后处于写入准备状态。接下来,在数据写入到内部d触发器(例如dff)之后,其将检测到第一数据时钟信号(例如data_clk0)。然后,第一fsm模块将从写入准备状态切换到写入状态(例如,wr_op),并且数据将开始写入存储体0的存储单元中。第一fsm模块在完成写入状态之后将自动切换回到空闲状态。其次,当存储体(例如,存储体1)中的接口模块接收到写入命令(例如wr_cmd1,未示出)时,对应的fsm模块(例如fsm(存储体1))被激活并切换到写入准备状态(例如,wr_pre)。第二fsm模块(例如,fsm(存储体1))在激活之后处于写入准备状态。接下来,在数据写入到内部d触发器(例如dff)之后,其将检测到第二数据时钟信号(例如,data_clk1)。然后,第二fsm模块将从写入准备状态切换到存储体等待状态(例如,bank_wait)。在检测到第一fsm模块不在写入准备状态之后,第二fsm模块将切换到写入状态(例如,wr_op),并且数据将开始写入到存储体1的存储单元。第二fsm模块在完成写入状态后将自动切换回到空闲状态。第三,当存储体(例如存储体14)中的接口模块接收到写入命令(例如,wr_cmd14,未示出)时,对应的fsm模块(例如,fsm(存储体14))被激活并切换到写入准备状态(例如,wr_pre)。第三fsm模块(例如,fsm(存储体14))在激活之后处于写入准备状态。接下来,在数据写入到内部d触发器(例如dff)之后,其将检测到第三数据时钟信号(例如,data_clk14)。然后,第三fsm模块将从写入准备状态切换到存储体等待状态(例如,bank_wait)。在检测到第二fsm模块不处于写入准备状态之后,第三fsm模块将切换到写入状态(例如,wr_op),并且数据将开始写入到存储体14的存储单元中。第三fsm模块在完成写入状态之后将自动切换回到空闲状态。第四,当存储体(例如,存储体15)中的接口模块接收到写入命令(例如,wr_cmd15)时,对应的fsm模块(例如,fsm(存储体15))被激活并切换到写入准备状态(例如,wr_pre)。第四fsm模块(例如,fsm(存储体15))在激活之后处于写入准备状态。接下来,在数据写入到内部d触发器(例如,dff)之后,其将检测到第四数据时钟信号(例如,data_clk15)。然后,第四fsm模块将从写入准备状态切换到存储体等待状态(例如,bank_wait)。在检测到第三fsm模块不处于写入准备状态之后,第四fsm模块将切换到写入状态(例如,wr_op),并且数据将开始写入到存储体15的存储单元中。fsm模块在完成写入状态之后将自动切换回到空闲状态。
57.图10示出了根据本公开的一些方面的示出存储设备的读取操作的示例性方法的时序图。如图10所示,经由时钟输入总线321接收时钟信号(例如,ck)。经由命令总线323和地址总线325传输包括命令和地址(例如,ca)的控制信号。如下传输控制信号。传输设备取消选择信号(例如,des)以在开始时取消选择所有存储单元。首先,当存储体(例如,存储体0)中的接口模块接收到读取命令(例如rd_cmd0)时,对应的fsm模块(例如fsm(存储体0))被激活并切换到读取状态(例如rd_op)。第一fsm模块(例如fsm(存储体0))在激活之后从空闲状态切换到读取状态。第一fsm模块在完成读取状态之后将自动切换回到空闲状态。其次,当存储体(例如,存储体1)中的接口模块接收到读取命令(例如rd_cmd1,未示出)时,对应的fsm模块(例如fsm(存储体1))被激活并切换到读取准备状态(例如,rd_pre)。第二fsm模块(例如,fsm(存储体1))在激活之后处于读取准备状态。接下来,在预定时间段之后,例如在可以通过寄存器来调节的存储体时钟0(例如,bank_clk0)的预定数量的时钟周期之后,第二fsm模块将从读取准备状态切换到读取等待状态(例如,rd_wait)。第二fsm模块将在可以
通过寄存器来调节的另一预定时间段(例如,另一预定数量的时钟周期)之后切换到读取状态(例如,rd_op),并且数据将开始从存储体1的存储单元中读取。第二fsm模块在完成读取状态之后将自动切换回到空闲状态。第三,当存储体(例如,存储体14)中的接口模块接收到读取命令(例如,rd_cmd14,未示出)时,对应的fsm模块(例如,fsm(存储体14))被激活并切换到读取准备状态(例如,rd_pre)。第三fsm模块(例如,fsm(存储体14))在激活之后处于读取准备状态。接下来,在预定时间段之后,例如在可以通过寄存器来调节的存储体时钟(例如,bank_clk14,未示出)的预定数量的时钟周期之后,第三fsm模块将从读取准备状态切换到读取等待状态(例如,rd_wait)。第三fsm模块将在可以通过寄存器来调节的另一预定时间段(例如,另一预定数量的时钟周期)之后切换到读取状态(例如,rd_op),并且数据将开始从存储体14的存储单元中读取。第三fsm模块在完成读取状态之后将自动切换回到空闲状态。第四,当存储体(例如存储体15)中的接口模块接收到读取命令(例如,rd_cmd15,未示出)时,对应的fsm模块(例如,fsm(存储体15))被激活并切换到读取准备状态(例如,rd_pre)。第四fsm模块(例如,fsm(存储体15))在激活之后处于读取准备状态。接下来,在预定时间段之后,例如在可以通过寄存器来调节的存储体时钟(例如,bank_clk15,未示出)的预定数量的时钟周期之后,第四fsm模块将从读取准备状态切换到读取等待状态(例如,rd_wait)。第四fsm模块将在可以通过寄存器来调节的另一预定时间段(例如,另一预定数量的时钟周期)之后切换到读取状态(例如,rd_op),并且数据将开始从存储体15的存储单元中读取。第四fsm模块在完成读取状态之后将自动切换回到空闲状态。
58.根据本公开的一个方面,一种存储设备包括:多个存储体,每个存储体包括布置成行和列的存储单元,每个存储体与相应的存储体标识符相关联;控制逻辑单元,被配置为通过传输控制信号来控制操作并将数据传输到存储单元和传输来自于存储单元的数据;以及一个或多个接口模块,其中每个接口模块被配置为从控制逻辑单元接收控制信号,其中控制信号包括命令和地址;响应于接收到控制信号,确定命令是否对应于数据传输操作;响应于确定命令对应于数据传输操作,从地址中检索参考标识符;确定每个存储体标识符是否在参考标识符的范围内;以及响应于确定每个存储体标识符在参考标识符的范围内,激活对应的有限状态机(fsm),其中每个fsm与相应存储体的状态相关联。
59.在一些实施方式中,数据传输操作包括读取操作和写入操作。
60.在一些实施方式中,控制逻辑单元还包括:时钟总线,其被配置为传输时钟信号;地址总线,其被配置为传输控制信号;以及数据总线,其被配置为传输数据。
61.在一些实施方式中,所述操作与时钟信号同步。
62.在一些实施方式中,参考标识符包括存储体开始标识符和存储体结束标识符,参考标识符被预先确定为要利用所述操作来处理的所选存储体。
63.在一些实施方式中,存储设备中的存储体的数量至少为16。
64.在一些实施方式中,存储设备包括相变随机存取存储器(pcram)或动态随机存取存储器(dram)。
65.在一些实施方式中,存储设备还包括地址寄存器,其中地址寄存器耦合到存储体,使得地址寄存器被配置为将地址引导到存储体。
66.在一些实施方式中,对应的fsm包括第一fsm模块、第二fsm模块和第三fsm模块。
67.在一些实施方式中,第一fsm模块、第二fsm模块和第三fsm模块被配置为在对应的
fsm激活之后并且响应于确定命令对应于写入操作而切换到写入准备状态;其中,第一fsm模块被配置为在接收到第一数据时钟信号之后切换到写入状态;其中,第二fsm模块被配置为在接收到第二数据时钟信号之后切换到存储体等待状态,然后在检测到第一fsm模块处于写入状态之后切换到写入等待状态;其中,第二fsm模块被配置为在第二fsm模块切换到写入等待状态达预定时间段之后切换到写入状态;其中,第三fsm模块被配置为在接收到第三数据时钟信号之后切换到存储体等待状态,然后在检测到第二fsm模块处于写入状态之后切换到写入等待状态;其中,第三fsm模块被配置为在第三fsm模块切换到写入等待状态达预定时间段之后切换到写入状态。
68.在一些实施方式中,第一fsm模块被配置为响应于确定命令对应于读取操作而切换到读取状态;其中,第二fsm模块和第三fsm模块被配置为响应于确定命令对应于读取操作而切换到读取准备状态;其中,第二fsm模块被配置为在检测到第一fsm模块处于读取状态之后,切换到读取等待状态;其中,第二fsm模块被配置为在第二fsm模块切换到读取等待状态达预定时间段之后切换到读取状态;其中,第三fsm模块被配置为在检测到第二fsm模块处于读取状态之后,切换到读取等待状态;并且其中,第三fsm模块被配置为在第三fsm模块切换到读取等待状态达预定时间段之后,切换到读取状态。
69.在一些实施方式中,fsm由包括时序电路的逻辑电路来实施。
70.在一些实施方式中,fsm包括状态寄存器和耦合到状态寄存器的触发器。
71.在一些实施方式中,fsm被配置为仅在被激活时才切换到另一状态。
72.在一些实施方式中,fsm在激活之前保持在空闲状态,并且在没有激活的情况下,fsm被配置为不接收控制信号或者即使接收到控制信号也不切换到另一状态。
73.在一些实施方式中,fsm与时钟信号同步地切换到另一状态。
74.在一些实施方式中,存储设备还包括耦合到控制逻辑单元的输入/输出(i/o)电路,其中,接口模块被包括在i/o电路中。
75.在一些实施方式中,每个接口模块被包括在相应存储体中。
76.根据本公开的另一方面,一种系统包括被配置为存储数据的存储设备、以及耦合到该存储设备并被配置为控制该存储设备的存储器控制器。存储设备包括多个存储体、被配置为通过传输控制信号来控制操作并将数据传输到存储单元和传输来自于存储单元的数据的控制逻辑单元、以及一个或多个接口模块。每个存储体包括被布置成行和列的存储单元。每个存储体与相应的存储体标识符相关联。每个接口模块被配置为从控制逻辑单元接收控制信号,其中控制信号包括命令和地址;响应于接收到所述控制信号,确定所述命令是否对应于数据传输操作;响应于确定所述命令对应于数据传输操作,从所述地址检索参考标识符;确定每个存储体标识符是否在参考标识符的范围内;以及响应于确定每个存储体标识符在参考标识符的范围内,激活对应的有限状态机(fsm),其中,每个fsm与相应存储体的状态相关联。
77.在一些实施方式中,该系统还包括耦合到存储器控制器并且被配置为传输数据的主机。
78.在一些实施方式中,数据传输操作包括读取操作和写入操作。
79.在一些实施方式中,控制逻辑单元还包括:时钟总线,其被配置为传输时钟信号;地址总线,其被配置为传输控制信号;以及数据总线,其被配置为传输数据。
80.在一些实施方式中,所述操作与时钟信号同步。
81.在一些实施方式中,参考标识符包括存储体开始标识符和存储体结束标识符,并且参考标识符被预先确定为要利用所述操作来处理的所选存储体。
82.在一些实施方式中,存储设备中的存储体的数量至少为16。
83.在一些实施方式中,系统的存储设备包括相变随机存取存储器(pcram)或动态随机存取存储器(dram)。
84.在一些实施方式中,系统的存储设备还包括地址寄存器,其中,地址寄存器耦合到存储体,使得地址寄存器被配置为将地址引导到存储体。
85.在一些实施方式中,对应的fsm包括第一fsm模块、第二fsm模块和第三fsm模块。
86.在一些实施方式中,第一fsm模块、第二fsm模块和第三fsm模块被配置为在对应的fsm激活之后并且响应于确定命令对应于写入操作而切换到写入准备状态;其中,第一fsm模块被配置为在接收到第一数据时钟信号之后切换到写入状态;其中,第二fsm模块被配置为在接收到第二数据时钟信号之后切换到存储体等待状态,然后在检测到第一fsm模块处于写入状态之后切换到写入等待状态;其中,第二fsm模块被配置为在第二fsm模块切换到写入等待状态达预定时间段之后切换到写入状态;其中,第三fsm模块被配置为在接收到第三数据时钟信号之后切换到存储体等待状态,然后在检测到第二fsm模块处于写入状态之后切换到写入等待状态;并且其中,第三fsm模块被配置为在第三fsm模块切换到写入等待状态达预定时间段之后切换到写入状态。
87.在一些实施方式中,第一fsm模块被配置为响应于确定命令对应于读取操作而切换到读取状态;其中,第二fsm模块和第三fsm模块被配置为响应于确定命令对应于读取操作而切换到读取准备状态;其中,第二fsm模块被配置为在检测到第一fsm模块处于读取状态之后,切换到读取等待状态;其中,第二fsm模块被配置为在第二fsm模块切换到读取等待状态达预定时间段之后切换到读取状态;其中,第三fsm模块被配置为在检测到第二fsm模块处于读取状态之后,切换到读取等待状态;并且其中,第三fsm模块被配置为在第三fsm模块切换到读取等待状态达预定时间段之后,切换到读取状态。
88.根据本公开的又一方面,一种用于操作存储设备的方法,其中存储设备包括多个存储体,每个存储体包括被布置成行和列的存储单元,并且每个存储体与相应的存储体标识符相关联。该方法包括:响应于接收到包括命令和地址的控制信号,确定所述命令是否对应于数据传输操作;响应于确定所述命令对应于数据传输操作,激活接口模块,并且从所述地址检索参考标识符;确定每个存储体标识符是否在参考标识符的范围内;并且响应于确定每个存储体标识符在参考标识符的范围内,激活对应的有限状态机(fsm),其中每个fsm与相应存储体相关联。
89.在一些实施方式中,数据传输操作包括读取操作和写入操作。
90.在一些实施方式中,控制逻辑单元还包括:时钟总线,其被配置为传输时钟信号;地址总线,其被配置为传输控制信号;以及数据总线,其被配置为传输数据。
91.在一些实施方式中,所述操作与时钟信号同步。
92.在一些实施方式中,参考标识符包括存储体开始标识符和存储体结束标识符,并且参考标识符被预先确定为要利用所述操作来处理的所选存储体。
93.在一些实施方式中,存储设备中的存储体的数量至少为16。
94.在一些实施方式中,存储设备包括相变随机存取存储器(pcram)或动态随机存取存储器(dram)。
95.在一些实施方式中,存储设备还包括地址寄存器,其中地址寄存器耦合到存储体,使得地址寄存器被配置为将地址引导到存储体。
96.在一些实施方式中,对应的fsm包括第一fsm模块、第二fsm模块和第三fsm模块。
97.在一些实施方式中,该方法还包括:响应于确定命令对应于写入操作将第一fsm模块、第二fsm模块和第三fsm模块切换到写入准备状态;在接收到第一数据时钟信号之后将第一fsm模块切换到写入状态;在接收到第二数据时钟信号之后将第二fsm模块切换到存储体等待状态,然后在检测到第一fsm模块处于写入状态之后将第二fsm模块切换到写入等待状态;在第二fsm模块切换到写入等待状态达预定时间段之后将第二fsm模块切换到写入状态;在接收到第三数据时钟信号之后将第三fsm模块切换到存储体等待状态,然后在检测到第二fsm模块处于写入状态之后将第三fsm模块切换到写入等待状态;并且在第三fsm模块切换到写入等待状态达预定时间段之后将第三fsm模块切换到写入状态。
98.在一些实施方式中,该方法还包括:响应于确定命令对应于读取操作将第一fsm模块切换到读取状态;响应于确定命令对应于读取操作将第二fsm模块和第三fsm模块切换到读取准备状态;在检测到第一fsm模块处于读取状态之后将第二fsm模块切换到读取等待状态;在第二fsm模块切换到读取等待状态达预定时间段之后将第二fsm模块切换到读取状态;在检测到第二fsm模块处于读取状态之后,将第三fsm模块切换到读取等待状态;并且在第三fsm模块切换到读取等待状态达预定时间段之后,将第三fsm模块切换到读取状态。
99.特定实施方式的前述描述可以容易地被修改和/或改编以用于各种应用。因此,基于本文提出的教导和指导,这样的改编和修改旨在处于所公开的实施方式的等同物的含义和范围内。
100.本公开的广度和范围不应由任何上述示例性实施方式来限制,而应仅根据所附权利要求及其等同物来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1