在非易失性存储器系统中基于用电量的节流命令执行的制作方法

文档序号:11160828阅读:500来源:国知局
在非易失性存储器系统中基于用电量的节流命令执行的制造方法与工艺

公开的实施例一般地涉及储存控制器系统,并且具体地涉及储存系统中基于用电量的节流命令执行。



背景技术:

半导体储存装置通常被用于储存和管理用于电子装置的数据。传统的非易失性数据储存装置在闪速存储器的存储器单元中将数据储存为电气值,其中闪速存储器控制器一般地具有在储存的多个存储器通道之上管理数据业务的任务。

数据储存装置中的数据业务一般通过闪速命令的执行来进行。为促进该过程,通常用帮助优化在多个存储器通道之上的命令执行的命令队列来构建闪速存储器控制器。但是,在多个存储器通道之上并行执行的命令可能导致功率消耗中的尖峰(spike)。



技术实现要素:

在所附权利要求的范围中的系统、方法和装置的各种实现方式的每一个具有几个方面,没有其单独的一个为这里所述的属性负全部的责任。在不限制所附权利要求的范围的情况下,在考虑本公开之后,并且特别是在考虑名称为“具体实施方式”的章节之后,人们将理解各种实施方式的方面将如何被用于在非易失性存储器系统中基于用电量节流命令执行。在一个方面中,对应于一组非易失性存储器装置的命令队列中的命令的执行根据减少功率消耗的决定而被延迟。

附图说明

使得本公开可以被更加详细地理解,可以通过参考各种实现方式的特征而获得具体的说明,其中的一些在附图中示出。但是,附图仅示出本公开的更加显著的特征并且因此不应被认为是限制性的,因为该说明可能具有其他有效特征。

图1是示出根据一些实施例的数据储存系统的实现方式的框图。

图2是示出根据一些实施例的存储器通道、用电量监控器和交错等待逻辑(staggered wait logic)的实现方式的框图。

图3A是示出根据一些实施例的用电量监控器和交错等待逻辑的实现方式的框图。

图3B是根据一些实施例的对应于多个存储器通道的多个等待使能信号的预示性示意图。

图4是示出根据一些实施例的命令延迟模块的操作的流程图表示。

图5A-5E示出了根据一些实施例的命令队列中的命令的延迟执行的方法的流程图表示。

根据惯例附图中示出的各种特征可能未按比例绘制。相应地,为了清晰,各种特性的大小可以任意地扩大或减小。此外,一些附图可能没有绘制给定系统、方法或装置的所有组件。最后,贯穿说明书和附图,相似的参考标号可以被用于表示相似的特性。

具体实施方式

这里所述的各种实现方式包括系统、方法和/或装置被用于基于用电量使能非易失性存储器系统中的命令执行的节流。一些实现方式包括系统、方法和/或装置以延迟命令队列中的命令的执行。

更具体地,一些实现方式包括在非易失性存储器系统中操作的方法,所述非易失性存储器系统包括非易失性存储器装置的多个不同的组。方法还包括,根据减少由所述非易失性存储器系统的功率消耗的确定,在相应等待时段期间延迟对应于非易失性存储器装置的所述不同的组的命令队列中的命令的执行。在一些实现方式中,用于所述至少两个不同的组中的非易失性存储器装置的第一不同的组的相应等待时段与用于所述至少两个不同的组中的非易失性存储器装置的第二不同的组的所述相应等待时段至少部分非重叠。

在一些实施例中,所述非易失性存储器装置的多个不同的组的每一个包括存储器通道和相应的通道控制器,并且对应于所述存储器通道中的非易失性存储器装置的所述不同的组的命令队列包括用于所述存储器通道的命令队列。

在一些实施例中,用于各个存储器通道的通道控制器根据由所述通道控制器接收的外部信号来确定是否延迟用于所述各个存储器通道的命令队列中的命令的执行。

在一些实施例中,非易失性存储器系统包括M个存储器通道,其中M是大于1的整数,每个存储器通道包含具有相应的命令队列和等待时段的非易失性存储器装置的不同的组。

在一些实现方式中,用于M个存储器通道的每个存储器通道的等待时段根据对应于所述存储器通道的优先级的占空比(duty cycle,或占空因数)。

在一些实现方式中,用于M个存储器通道的每个存储器通道的等待时段具有至少部分基于所述相应的存储器通道的优先级的持续时间。

在一些实施例中,获得对应于由子系统的功率消耗的功率测量,其中所述子系统包括所述非易失性存储器装置的多个不同的组。在一些实现方式中,功率测量是由子系统的瞬时功率消耗的测量。此外,在一些实现方式中,功率测量从所述非易失性存储器系统的外部的装置接收。在一些实现方式中,功率测量根据功率测量频率获得。

在一些实施例中,根据获得的功率测量和一个或多个功率阈值作出减少由非易失性存储器系统的功率消耗的决定。

在一些实施例中,在M个不同的交错的开始时间处在M个存储器通道的命令队列中重新启动命令的执行,其中M是大于1的整数。此外,在一些实现方式中,非易失性存储器系统包括M个存储器通道,每个存储器通道包含具有相应的命令队列的非易失性存储器装置的不同的组。在一些实现方式中,M个存储器通道的每个存储器通道还包括通道控制器,该通道控制器被配置为接收外部信号、并且根据所述外部信号延迟对应于所述存储器通道的命令队列中的命令的执行。在一些实现方式中,M个不同的交错的开始时间的每一个对应于用于相应的存储器通道的等待时段的结束,其中用于所述M个存储器通道的等待时段具有对应于所述M个不同的开始时间的交错的结束时间。

可选地,在一些实施例中,对于非易失性存储器装置的不同的组中的一个或多个,各个命令队列中的延迟的命令的执行被占优(overridden)。在一些实现方式中,占优各个命令队列中的延迟的命令的执行至少部分基于非易失性存储器装置的所述相应的不同的组的优先级。此外,在一些实现方式中,占优各个命令队列中的延迟的命令的执行至少部分基于所述各个命令队列中的命令的一个或多个的优先级。

在另一方面中,存储器系统包括(a)非易失性存储器装置的多个不同的组;(b)执行延迟构件(means),对于所述非易失性存储器装置的多个不同的组中的至少两个不同的组的每一个,用于在相应等待时段期间延迟对应于非易失性存储器装置的所述不同的组的命令队列中的命令的执行;以及(c)构件,用于根据减少由所述存储器系统的功率消耗的确定使能所述执行延迟构件,其中用于所述至少两个不同的组中的非易失性存储器装置的第一不同的组的所述相应等待时段与用于所述至少两个不同的组中的非易失性存储器装置的第二不同的组的所述相应等待时段至少部分非重叠。

在又一方面中,存储器系统包括(a)非易失性存储器装置的多个不同的组;(b)多个通道控制器,每个通道控制器对应于所述非易失性存储器装置的多个不同的组的各个组,每个通道控制器被配置为在相应等待时段期间延迟对应于非易失性存储器装置的所述不同的组的命令队列中的命令的执行;以及(c)设备,用于确定用于所述非易失性存储器装置的多个不同的组的每一个的等待时段,其中用于所述至少两个不同的组中的非易失性存储器装置的第一不同的组的所述相应等待时段与用于所述至少两个不同的组中的非易失性存储器装置的第二不同的组的所述相应等待时段至少部分非重叠。

在又一方面中,非瞬时性计算机可读储存介质储存由储存装置的一个或多个处理器执行的一个或多个程序,该装置具有多个控制器,所述一个或多个程序包括用于进行这里所述的任何一个方法的指令。

在这里描述许多细节以便于提供对在附图中示出的示例实现方式的透彻理解。但是,可以不需要许多特定细节而实施一些实施例,并且权利要求的范围仅由在权利要求中特别记述的那些特性和方面限制。此外,没有以详尽的细节描述已知的方法、组件和电路,以便不必要地混淆这里所述的实现方式的更加相关的方面。

图1是示出根据一些实施例的数据储存系统100的实现方式的框图。尽管示出了一些示例特征,但是为了简洁并且不至于混淆这里所公开的示例实现方式的更加显著的方面而没有示出各种其它特征。为此,作为非限制性示例,数据储存系统100包括储存装置120(有时也被称为信息储存装置或数据储存装置或存储器装置),其包括主机接口122、用电量监控器和交错等待逻辑124、储存控制器128、一个或多个非易失性存储器(NVM)控制器130——诸如闪速控制器以及非易失性存储器(例如,一个或多个NVM装置140、142诸如——一个或多个闪速存储器装置),并被用于与计算机系统110连接。在一些实现方式中,储存装置120包括单个NVM装置,而在其它实现方式中储存装置120包括多个NVM装置。在一些实现方式中,NVM装置140、142包括NAND-型闪速存储器或NOR-型闪速存储器。此外,在一些实现方式中,NVM控制器130是固态驱动(SSD)控制器。但是,可以根据多种实现方式的方面包括一个或多个其它类型的储存介质。

计算机系统110通过数据连接101耦接到储存装置120。但是,在一些实现方式中,计算机系统110包括储存装置120作为组件和/或子系统。计算机系统110可以是任何合适的计算机装置,诸如个人计算机、工作站、计算机服务器或任何其它计算装置。计算机系统110有时被称为主机或主机系统。在一些实现方式中,计算机系统110包括一个或多个处理器、一个或多个类型的存储器,可选地包括显示器和/或其它用户接口组件,诸如键盘、触摸屏、鼠标、触控板、数码相机和/或任何数量的补充装置以添加功能。此外,在一些实现方式中,计算机系统110将在控制线111上的一个或多个主机命令(例如,读取命令和/或写入命令)发送到储存装置120。在一些实现方式中,计算机系统110是服务器系统——诸如数据中心中的服务器系统,并且不具有显示器和其它用户接口组件。

在一些实现方式中,储存装置120包括NVM装置140、142——诸如闪速存储器装置(例如,NVM装置140-1到140-n和NVM装置142-1到142-k)以及NVM控制器130(例如,NVM控制器130-1到130-M)。另一方面来看,储存装置120包括M个存储器通道,其每一个具有NVM控制器130和耦接到NVM控制器130的一组NVM装置140或142,其中M是大于1的整数。但是,在一些实施例中,两个或多个存储器通道共享NVM控制器130。在任一示例中,每个存储器通道具有其自己的不同的组的NVM装置140或142。在非限制性示例中,在传统的储存装置中的存储器通道的数量为8、16或32。在另一非限制性示例中,每个存储器通道的NVM装置140或142的数量通常为8、16、32或64。此外,在一些实现方式中,NVM装置140/142的数量在不同的存储器通道中而不同。

在一些实现方式中,每个NVM控制器130包括一个或多个处理单元(有时也被称为CPU或处理器或微处理器或微控制器),被配置为执行一个或多个程序(例如,储存在NVM控制器130中的存储器中)中的指令。在一些实现方式中,NVM控制器130的每个NVM控制器包括一个或多个处理单元(有时也被称为CPU或处理器或微处理器或微控制器),被配置为执行一个或多个程序(例如,在NVM控制器130中)中的指令。在一些实施例中,一个或多个处理器由在NVM控制器130的功能中的,并且在一些情况中,超过NVM控制器130的功能的一个或多个组件共享。NVM装置140、142通过连接耦接到NVM控制器130,该连接通常传送除了数据以外的命令,并且除了将储存在NVM装置140、142中的数据值和从NVM装置140、142读取的数据值以外,可选地传送元数据、误差校正信息和/或其它信息。

在一些实施例中,储存装置120被配置为适用于诸如云计算的应用的企业贮存,或用于缓存储存在(或将被储存在)诸如硬盘驱动的二级储存中的数据。在一些其它实施例中,储存装置120被配置以用于相对较小尺寸的应用——诸如个人闪速驱动或者个人、膝上型和平板计算机的硬盘替换。尽管闪速存储器装置和闪速控制器在这里被用作示例,在一些实施例中储存装置120包括(一个或多个)其它非易失性存储器装置和(一个或多个)相应的非易失性储存控制器。

此外,在一些实现方式中,NVM控制器130的每一个包括一个或多个命令队列150、命令延迟逻辑152和命令执行器154。

在一些实现方式中,各个NVM控制器130中的命令队列150被用于保持命令等待由耦接到各个NVM控制器130的一组NVM装置140或142执行。各个命令队列150,当不为空时,包含一个或多个命令,该一个或多个命令对应于读取、写入和/或擦除操作以用于从相应组的NVM装置(例如,NVM装置140或142)读取数据、将数据写入到相应组的NVM装置(例如,NVM装置140或142)或者从相应组的NVM装置(例如,NVM装置140或142)擦除数据。在一些实现方式中,命令队列150中的命令包括从计算机系统110接收的主机命令。一组NVM装置140(例如,NVM装置140-1到140-n)和相应的NVM控制器130(例如,NVM控制器130-1)的组合有时被称为存储器通道(例如,存储器通道i,图2)。储存装置120可以包括与不同的组的NVM装置一样多的存储器通道,其中命令可以通过一组NVM控制器被并行地分派到NVM装置。

命令延迟逻辑152耦接到命令队列150,并且包括用于确定是否延迟一个或多个命令队列150中的命令的执行的逻辑。在一些实现方式中,命令延迟逻辑152根据从用电量监控器和交错等待逻辑124接收的一个或多个外部信号(例如,Ch 1延迟信号308,图3A)延迟命令队列150中的命令的执行。在一些实现方式中,各个存储器通道中的命令延迟逻辑152通过由用于该存储器通道的NVM控制器130执行的一个或多个程序中的一组指令实现。在一些实现方式中,各个存储器通道中的130-M,命令执行器154将来自命令队列150的命令分派到在该存储器通道中的NVM装置140或142,并且命令延迟逻辑152延迟将来自命令队列150的命令分派到存储器通道中的NVM装置140或142。

在一些实现方式中,用电量监控器和交错等待逻辑124耦接到NVM控制器130并且将一个或多个外部信号(例如,Ch 1延迟信号308,图3A)提供到NVM控制器130。在一些实现方式中,用电量监控器和交错等待逻辑124包括用于测量和监控由储存装置120或由储存装置120的子系统的功率消耗的电路(例如,功率监控器310和功率阈值比较模块312,图3A)。在一个示例中,其功率被监控的子系统包括储存装置120的所有的存储器通道(例如,由NVM控制器控制的所有的NVM控制器130和所有的NVM装置140、142),并且在另一示例中,其功率被监控的子系统包括储存装置120的存储器通道中的所有的NVM装置140、142,但是没有NVM控制器130、储存控制器128和主机接口122。在下面参考图3A和3B描述用电量监控器和交错等待逻辑124的各种实施例。

在一些实现方式中,命令执行器154被配置为延迟和/或重新启动命令队列150中的命令的执行。在一些实现方式中,延迟和/或重新启动命令的执行根据命令延迟逻辑152的输出。

在一些实现方式中,储存装置120还包括主机接口122、用电量监控器和交错等待逻辑124和储存控制器128的一个或多个。可选地,储存装置120包括为了简洁并且不至于混淆这里所公开的示例实现方式的更加显著的特征而没有示出的各种额外的特征,并且特征的不同的布置是可能的。主机接口122通过数据连接101将接口提供到计算机系统110。

储存控制器128耦接到主机接口122和NVM控制器130。在一些实现方式中,在写入操作期间,储存控制器128从计算机系统110通过主机接口122接收数据并且在读取操作期间,储存控制器128通过主机接口122将数据发送到计算机系统110。此外,主机接口122提供在储存控制器128和计算机系统110之间通信所需要的额外的数据、信号、电压和/或其它信息。在一些实现方式中,储存控制器128和主机接口122使用定义的接口标准以用于通信——诸如双数据率类型三同步动态随机存取存储器(DDR3)。在一些实现方式中,储存控制器128和NVM控制器130使用定义的接口标准以用于通信,诸如序列高级技术附接(SATA)。在一些其它实施例中,储存控制器128所使用与NVM控制器130通信的装置接口是SAS(序列附接SCSI),或其它储存接口。在一些实施例中,储存控制器128包括一个或多个处理单元(有时也被称为CPU或处理器或微处理器或微控制器)被配置为执行一个或多个程序中的指令(例如,在储存控制器128中)。在一些实现方式中,一个或多个处理器由在储存控制器128的功能中的,并且在一些情况中,超过储存控制器128的功能的一个或多个组件共享。

图2是示出根据一些实施例的存储器通道、存储器通道i和用电量监控器和交错等待逻辑124的实现方式的框图。在一些实施例中,存储器通道i包括NVM控制器130-i、NVM装置140-1到140-n、一个或多个处理器(有时也被称为CPU或处理单元或微处理器或微控制器)202以用于执行储存在存储器206中的模块、程序和/或指令,并且从而进行处理操作,存储器206和一个或多个通信总线208用于互联这些组件。但是,在一些其它实施例中,以下描述的如由(一个或多个)处理器202进行的一个或多个功能相反由储存控制器128进行。

通信总线208可选地包括互连并且控制系统组件之间的通信的电路(有时被称为芯片集)。用电量监控器和交错等待逻辑124耦接到NVM控制器130,如在下面更加详细地讨论的。130-M

用电量监控器和交错等待逻辑124耦接到NVM控制器130并且将控制信号(例如,Ch 1延迟信号308,图3A)提供到NVM控制器130。控制信号在这里有时被称为外部信号(从单个NVM控制器130的角度来说)或者命令执行延迟信号。在下面参考图3A和3B描述用电量监控器和交错等待逻辑124的各种实施例。

存储器206包括高速随机存取存储器,诸如DRAM、SRAM、DDRRAM或其它随机存取固态存储器装置,并且可以包括非易失性存储器,诸如磁盘储存装置、光盘储存装置、闪速存储器装置或其它非易失性固态储存装置的一个或多个。存储器206可选地包括位于远离(一个或多个)处理器202的一个或多个储存装置。存储器206,或可替换地在存储器206中的(一个或多个)非易失性存储器装置,包括非瞬时性计算机可读储存介质。在一些实施例中,存储器206或者存储器206的计算机可读储存介质储存以下程序、模块和数据结构或其子集:

接口模块210,其用于处理与储存控制器128的通信;

命令队列212,储存对应于各种操作的命令(例如,读取、写入和擦除),当执行该命令时,对保持在NVM装置140或142中的数据操作;在一些实施例中,各个存储器通道具有多于一个命令队列212;

命令延迟模块214,其根据由用电量监控器和交错等待逻辑124产生的一个或多个信号确定是否延迟一个或多个命令队列(例如,命令队列212)中的命令的执行;

命令执行模块216,将来自一个或多个命令队列(例如,命令队列212)的命令分派到存储器通道i中的NVM装置140以用于执行;命令延迟模块214确定何时推迟以及何时恢复命令执行模块216的操作;以及

可选地,用于存储器通道i的模式和/或配置设置218;例如,在一些实施例中,模式和/或配置设置218包括指示命令延迟是否被使能以用于存储器通道i的设置(例如,称为“命令延迟使能”的设置);在另一示例中,在一些实施例中,模式和/或配置设置218包括指示存储器通道i是高优先级存储器通道的设置(例如,称为“高优先级通道”的设置),在该情况中,不使能用于存储器通道i的命令延迟。在一些实施例中,根据从主机计算机110接收的命令设置模式和/或配置设置218中的一个或多个值。

在一些实施例中,存储器206或者存储器206的计算机可读储存介质还储存用于配置NVM控制器130-i的配置模块。在一些实施例中,当上电并且当重置时,配置模块根据存储器通道i的组件(例如,存储器通道i中非易失性存储器组件的类型)和/或储存装置120和/或包括储存装置120的数据储存系统100的特征,自动地设置NVM控制器130-i的一个或多个配置参数的值。

上述标识的元件(element)的每一个可以被贮存在之前提到的存储器装置的一个或多个中,并且对应于用于进行上述功能的指令集。上述识别的模块或程序(即,指令集)不一定实现为单独的软件程序、规程或模块,并且从而这些模块的各种子集可以被组合或者在各种实施例中另外地重新布置。在一些实施例中,存储器206可以储存以上识别的模块和数据结构的子集。此外,存储器206可以贮存以上未描述的额外的模块和数据结构。在一些实施例中,在一些实施例中,储存在存储器206或者存储器206的计算机可读储存介质中的程序、模块和数据结构,提供用于实现通过各个存储器通道i或者在各个存储器通道i中进行的参考图5A-5E在下面描述的方法的至少那些部分的指令。

尽管图2示出了存储器通道i,但是图2相比于这里所述的实施例的结构性示意更倾向于作为可能出现在存储器通道中的各种特性的功能性描述。实践中,并且如由本领域普通技术人员识别的,单独地示出的项目可以被组合并且一些项目可以分开。

尽管未在附图中示出,在一些实施例中储存控制器128包括一个或多个处理器(有时被称为CPU,或微控制器)以及储存由一个或多个处理器执行的一个或多个程序的存储器。在一些实现方式中,这些程序、当由储存控制器128的一个或多个处理器执行时,实现参考图5A-5E在下面描述的方法的至少部分。在一些实施例中,由储存控制器128的一个或多个处理器执行的一个或多个程序实现等待模式产生器302和/或通道延迟信号产生器304的一个或多个功能。

图3A是示出根据一些实施例的用电量监控器和交错等待逻辑124的实现方式的框图。尽管示出了一些示例特征,但是为了简洁并且不至于混淆这里所公开的示例实现方式的更加显著的方面而没有示出各种其它特征。为此,作为非限制性示例,用电量监控器和交错等待逻辑124包括功率监控器310、功率阈值比较模块312、等待模式产生器302和可选地包括通道延迟信号产生器304。在一些实施例中,外部信号由通道延迟信号产生器304产生,其每一个由各个存储器通道的命令延迟模块214(图4)采样以确定是否延迟用于该各个存储器通道(例如,Ch 1)的命令队列(例如,命令队列150)中的命令的执行。

在一些实施例中,功率监控器310获得对应于由储存装置120或储存装置120的子系统的功率消耗的功率测量(例如,功率测量311)。在以上描述了其功率被监控的子系统的示例。功率监控器310可选地使用电流传感器、电流到电压转换器、二极管和/或其它无源或有源组件的一个或多个实现以测量储存装置120及其组件的电气特征。可选地,功率监控器310是储存装置120的外部的装置。此外,在一些实施例中,功率测量311是由子系统的瞬时功率消耗(例如,储存装置120的存储器通道,包括存储器通道的NVM控制器130和NVM装置140、142)的测量。额外地和/或可替换地,功率消耗311是平均功率的测量,等于在预定的时间之上的由子系统的总功率消耗(例如,10秒时段的之上每秒消耗的平均功率)。在一些实现方式中,功率监控器310根据功率测量频率获得功率测量311(例如,每个1毫秒获得功率测量311)。在一些实施例中,用电量监控器和交错等待逻辑124的时间特征被配置为防止在延迟和重新启动各个存储器通道的命令队列中的命令的执行150/212之间的快速的翻转(toggling)。

在一些实施例中,功率阈值比较模块312根据获得的功率测量信号311和一个或多个功率阈值作出确定以减少功率消耗(例如,通过输出或发布的功率超过阈值旗标(flag)313)。在一些实施例中,功率阈值是对在预定的时间段(例如,具有在0.25秒和10秒之间的预定的持续时间的时间段)期间由储存装置120或储存装置120的子系统的瞬时功率消耗或平均功率消耗的限制。具体地,在一些实施例中,功率阈值比较模块312将一个或多个功率测量(例如,功率测量311)与一个或多个功率阈值比较,并且如果功率测量311超过功率阈值,则产生功率超过阈值旗标(flag)313。在一些实施例中,功率阈值比较模块312还将第二控制信号314输出到等待模式产生器302。在这样的实施例中,控制信号314指定将由等待模式产生器302产生的等待使能信号的模式。例如,在一些实施例中,其中功率阈值比较模块312将功率测量311与两个或多个功率阈值比较,第二控制信号314对应于功率测量311超过的最高的功率阈值,并且由等待模式产生器302产生的等待使能信号模式还对应于由功率测量311超过的最高的功率阈值。在非限制性示例中,第二控制信号314确定在由等待模式产生器302产生的等待使能信号中的等待时段320(图3B)的占空比,并且由第二控制信号314指定的占空比当由功率测量311超过更高的功率阈值时高于当功率测量311仅超过较低功率阈值时。

在一些实现方式中,功率监控器310和功率阈值比较模块312实现在主机系统110中,储存装置120的外部,而等待模式产生器302实现在储存装置120中。在这样的实现方式中,储存装置120接收由功率阈值比较模块312产生的一个或多个控制信号(这里有时被称为外部信号)——诸如功率超过阈值旗标313,以及可选的第二控制信号314。

等待模式产生器302产生等待使能信号306-1到306-M,并且在一些实施例中,等待模式产生器302耦接到通道延迟信号产生器304的一个或多个逻辑栅极。可替换地,等待模式产生器302耦接到在每一个存储器通道中的命令延迟逻辑152或命令延迟模块214,该存储器通道被配置为基于由那些存储器通道接收的一个或多个“外部”信号延迟相应的命令队列中的命令的执行。在一些实施例中,等待模式产生器302是居于储存控制器128中的电路。在一些其它实施例中,等待模式产生器302通过由储存控制器128的一个或多个处理器执行的一个或多个程序中的一组指令实现。

在一些实现方式中,产生的等待使能信号306的每一个对应于各个存储器通道(例如,Ch 1、Ch 2,等),并且因此还对应于该存储器通道中的各个NVM控制器130和NVM装置。等待使能信号的每一个在等待时段(例如,等待时段320,图3B)期间具有预定的值(例如,逻辑1值)。等待时段是如果已经做出确定以减少由储存装置120的功率消耗(例如,因为已经确定功率测量311为超过功率阈值)、在该期间中相应的命令延迟模块214延迟相应的命令队列150中命令的执行的时间。在一些实施例中,在等待时段期间的命令延迟可以被具有预定的高优先级的命令队列150中的命令占优。

在一些实施例中,产生等待使能信号使得储存装置120的存储器通道(例如,Ch 1、Ch 2)具有交错的开始时间(例如,322、326)。这个的示例在图3B中示出。每个开始时间对应于用于相应的存储器通道的等待时段的结束(例如,等待时段320、324)。换句话说,用于存储器通道的等待时段具有对应于不同的开始时间的交错的结束时间。开始时间(例如,开始时间322)是在其处命令延迟模块(例如,命令延迟模块214)重启各个命令队列(例如,命令队列150)中的命令的执行的时间。

在一些实施例中,用于NVM装置的第一不同的组(例如,第一存储器通道中的NVM装置)的相应等待时段(例如,等待时段320)与用于NVM装置的第二不同的组(例如,第二存储器通道中的NVM装置)的相应等待时段(例如,等待时段324)至少部分非重叠。通过产生等待使能信号306使得相应等待时段(例如,等待时段320和324)部分非重叠,不同的存储器通道的命令队列中的命令的执行以交错的方式延迟并且以交错的方式恢复。因此,在多个存储器通道之上管理功率消耗并且减少了功率消耗尖峰。

在一些实施例中,(命令执行被延迟的一组两个或多个存储器通道中的)命令执行被延迟的每个存储器通道在与命令执行被延迟的其它存储器通道不同的开始时间处恢复执行。在图3B中示出的示例中,对于存储器通道1的开始时间不同于对于存储器通道2、3和4的开始时间。在一些其它实施例中,两个或多个存储器通道可以具有用于恢复的命令的执行的相同开始时间,而至少一个其它存储器通道具有用于在它们的各个命令队列中恢复命令的执行的不同开始时间。

在一些实施例中,用于每个存储器通道的等待时段(例如,等待时段320)根据使得没有一个存储器通道在持久的等待状态中的占空比而重复(即,(一个或多个)存储器通道以轮转(rotating)的方式保持在等待状态中)。此外,在一些实施例中,用于每个存储器通道的等待时段的占空比对应于存储器通道的优先级(例如,具有高优先级的存储器通道具有以低于用于具有低优先级的另一存储器通道的等待时段的占空比的第一占空比而重复的等待时段)。例如,如果存储器通道1被指定为高优先级存储器通道,则等待时段320(具有10μs的持续时间,例如)重复,并且在其命令队列150中的命令的执行每隔50μs被延迟一段等待时段,而用于被指定为低优先级存储器通道的存储器通道2的等待时段324,每隔20μs重复。在后一个示例中,存储器通道1的等待时段具有20%的占空比,而存储器通道2的等待时段具有50%的占空比。

在一些实现方式中,用于存储器通道的等待时段(例如,等待时段320)具有至少部分基于相应的存储器通道的优先级的持续时间(例如,如果存储器通道是高优先级存储器通道,则其相应的等待时段具有比另一较低优先级存储器通道的等待时段更短的持续时间)。例如,高优先级存储器通道1的等待时段320具有5μs的持续时间,而常规优先级存储器通道2的等待时段324具有15μs的持续时间。实际上,更长的等待时段持续时间增加了延迟命令的执行的时间。在一些实施例中,相应的存储器通道的等待时段的持续时间和占空比两者至少部分基于相应的存储器通道的优先级。例如,高优先级存储器通道1具有以低占空比(例如,每50μs的5μs,这是10%的占空比)而重复的短的等待时段(例如,5μs),而常规优先级存储器通道2具有以中等占空比(例如,每50μs的15μs,这是30%的占空比)而重复的较长的等待时段(例如,15μs),使得相比于用于存储器通道2的,在存储器通道1的命令队列中可以连续地执行更多的命令,并且这样命令的执行将延迟更短的时间段。

在一些实现方式中,相应的存储器通道的等待时段和占空比根据由功率测量311超过的功率阈值来设置,其中该功率测量311由功率阈值比较模块312确定。例如,如果存在两个或多个预定的功率阈值(例如,功率阈值A=3200毫瓦,并且功率阈值B=3600毫瓦),并且功率测量311仅超过较低的功率阈值A(例如,功率测量311为3225毫瓦),则用于每个存储器通道的等待使能信号的等待时段和占空相比于功率阈值A和B两者被功率测量311超过的情况来说更小。因此,当两者功率阈值被功率测量311超过时,命令执行相比于仅功率阈值的一个被超过时(例如,10%)将大幅度减少(例如,30%)。

在一些实施例中,基于存储器通道的数量以及每个存储器通道NVM装置的数量确定功率阈值或阈值。例如,在一些实现方式中,使用每个通道200毫瓦的功率阈值,其中功率测量基于仅由NVM装置而不是任何支持电路吸取的功率。在一些实施例中,诸如在储存装置之外进行功率测量的实施例,基于整个储存装置的功率消耗来确定功率阈值或阈值。在一些实现方式中,(多个)功率阈值的一个至少部分地基于由储存装置消耗的闲置功率(例如,由控制器和其它支持电路消耗的3.0到3.5瓦特、而没有进行存储器读取、写入和擦除操作)加上每个存储器通道的功率消耗限制乘以存储器通道的数量的总和。此外,在一些实现方式中,用于确定一个或多个的功率阈值的另一因素是主机系统110或其它系统可以提供到储存装置120的功率量的物理限制。在一些实施例中,主机系统110关于可以向储存装置120提供多少功率而具有尖峰功率限制和持续的功率限制两者,并且在设置用于用电量监控器和交错等待逻辑124的一个或多个功率阈值时考虑这些因素中的一个或两者。此外,在一些实施例中,一个或多个功率阈值是固件可设置的,或者根据从主机系统110接收的一个或多个命令而被实现为由储存控制器128储存的值。

在一些实施例中,通道延迟信号产生器304根据减少功率消耗(例如,产生功率超过阈值旗标313)的确定和一个或多个产生的等待使能信号(例如,Ch 1等待使能306)来产生一个或多个外部信号308(例如,Ch 1延迟信号308-1、Ch 2延迟信号308-2、…Ch M延迟信号308-M)。更具体地,在一些实施例中,当等待使能信号(例如,Ch 1等待使能306)为高,并且功率阈值比较模块312已经产生功率超过阈值旗标313(即,功率测量311超过预定的功率阈值)时,通道延迟信号产生器304用产生一个或多个外部信号的一个或多个“与”门来实现。因此,例如,当产生功率超过阈值旗标313时,产生Ch 1延迟信号308-1作为外部信号以用于延迟命令队列150中的命令的执行(即,当Ch 1等待使能306-1在其等待时段320中时)。一个或多个外部信号由命令延迟模块214(例如,图4(400))采样,并且一个或多个存储器通道(例如,Ch 1)的命令队列中的命令的执行(例如,命令队列150)被相应地延迟。

在一些实施例中,功率超过阈值旗标313被产生,并且被直接提供到等待模式产生器302,其包含用于产生用于延迟命令的执行的一组通道延迟信号的逻辑,其中一个或多个外部信号由命令延迟模块214采样。在这些实施例中,不需要通道延迟信号产生器304。此外,在这些实施例中,如果储存装置120没有做出减少功率消耗的确定(例如,因为功率测量311没有被确定为超过功率阈值),则不由等待模式产生器302产生用于延迟命令的执行的外部信号。

在一些实现方式中,用电量监控器和交错等待逻辑124的一些或全部包括一个或多个逻辑栅极、移位寄存器、时钟、触发器、反相器和/或其它逻辑元件,其中前述元件用晶体管和其它有源或无源电子组件来实现。

在一些实现方式中,通道延迟信号产生器304以由NVM控制器130执行的软件来实现。更具体地,在一些实现方式中,用于各个存储器通道的NVM控制器130接收来自等待模式产生器302的相应的等待使能信号,并且还接收功率超过阈值旗标313,并且执行一个或多个程序中的指令以组合这些信号并且从而产生用于该存储器通道的延迟信号或者等同的控制值。

图3B是根据一些实施例的对应于多个存储器通道的多个等待使能信号的预示性示意图。应注意的是,图3B中示出的各种时间段的长度不一定成比例;在一些实现方式中,时间段的长度和等待时段的占空比可能实质上与图3B中示出的不同。

如图3B中所示,在一些实施例中,由等待模式产生器302产生的多个存储器通道的等待使能信号306(例如,Ch 1等待使能306-1,Ch 2等待使能306-2),具有对应于用于相应的存储器通道的等待时段的结束(例如,等待时段320、324)的交错的开始时间(例如,322、326)。此外,如图3B中所示,在一些实施例中,用于在NVM装置的至少两个不同的组中的NVM装置140的第一不同的组的相应等待时段(例如,等待时段320)与用于在至少两个不同的组中的NVM装置的第二不同的组140的相应等待时段(例如,等待时段324)至少部分非重叠。

图4是示出根据一些实施例的用于各个存储器通道i的命令延迟模块214的操作的流程图表示。如在图4中所示的,命令延迟模块214根据由存储器通道的控制器接收的一个或多个外部信号确定是否延迟用于各个存储器通道i(例如,Ch 1)的命令队列中的命令的执行(例如,命令队列150)。

在一些实施例中,用于存储器通道i的命令延迟模块214采样(400)通道i延迟信号308-i,这里有时被称为外部信号,因为在一些实施例中,其由存储器通道外部的通道延迟信号产生器304(图3A)提供。在一些实现方式中,命令延迟模块214采样由等待模式产生器302产生的通道延迟信号(例如,在实现方式中,功率阈值比较模块312的输出由等待模式产生器302接收)。如上所述,在一些其它实施例中,在400采样的通道i延迟信号308-i由与包括(或者执行)命令延迟模块214的相同的NVM控制器执行的程序产生。但是,在那些实施例中,基于一个或多个外部信号——诸如通道i等待信号306-i和功率超过阈值旗标313产生通道i延迟信号308-i。

接着,在一些实施例中,命令延迟模块214根据采样的通道i延迟信号308-i来确定(402)延迟用于存储器通道i的命令队列中的命令的执行150当前是否被使能。在一些实施例中,该确定完全基于采样的通道i延迟信号308-i(例如,是否采样的通道i延迟信号308-I=真的确定)的状态或值,而在其它实施例中,该确定基于采样的通道i延迟信号308-i的状态或值以及另一信号或(例如,功率超过阈值旗标313,或者用于存储器通道的模式设置或者用于整个储存装置的模式设置)指示命令延迟特征是否被使能的值两者。

如果在各个命令队列中的命令的延迟执行当前没有被使能(402-否),命令延迟模块214则确定(404)用于各个存储器通道的命令队列150是否为空。如果各个命令队列为空(404-是),则命令延迟模块214继续采样(400)通道i延迟信号308-i。换句话说,如果各个命令队列不为空(404-否),则执行各个命令队列中的命令(406)(例如,通过命令执行器154,其将来自命令队列的命令分派到命令被引导到的一个或多个NVM装置)。

如果在各个命令队列中的命令的延迟执行当前被使能(402-是),则命令延迟模块214确定(408)是否占优各个命令队列中的延迟的命令的执行。在一些实施例中,占优在各个命令队列中的延迟的命令的执行至少部分基于相应的存储器通道的优先级(例如,优先级设置),或者等同地,相应的存储器通道中的非易失性存储器装置的不同的组的优先级。例如,如果存储器通道1是高优先级存储器通道,则命令延迟模块214可以被配置为使得存储器通道1的命令队列中的命令不能被延迟,并且必须总是被无延迟地执行。应注意的是,存储器通道可以被指定为高优先级存储器通道,例如如果,在其命令队列中的命令涉及在被认定为关键的用于数据上的操作。在一些实施例中,储存装置120被配置为根据从主机计算机系统110接收的命令(例如,配置设置命令)将一个或多个存储器通道指定为高优先级存储器通道。

在一些实现方式中,一个或多个高优先级指令或命令在命令队列中的出现占优了在该命令队列中的延迟的命令的执行。为利用该特征,主机系统110将一个或多个高优先级命令发送到储存装置120,其由储存装置120(例如,由储存控制器128)放置在用于一个或多个存储器通道的各个命令队列中。在一些实现方式中,只要至少一个高优先级指令或命令出现在用于存储器通道的各个命令队列中,在该命令队列中的命令的执行的任何延迟被占优。在一些实现方式中,在执行各个命令队列中的较低优先级的指令或命令之前,首先执行任何高优先级指令或在各个命令队列中的命令(例如,分派到一个或多个NVM装置以用于执行)。

在一些实施例中,根据特定命令的命令类型的功率消耗进行特定命令的延迟执行。例如,在一些实施例中,储存装置120在执行读取命令时相比于执行写入命令或擦除命令消耗更少的功率。在该示例中,当“读取”命令为各个存储器通道的命令队列150中的下一个命令时,用于该存储器通道的NVM控制器130占优各个命令队列中的延迟的命令的执行,使得即使使能命令延迟也能够执行读取命令(402-是)。

如果命令延迟模块214占优(408-是)各个命令队列中的延迟的命令的执行,则各个命令队列中的命令的执行不被延迟,并且执行各个命令中的一个或多个命令(例如,通过命令执行器154或命令执行模块216,其将(一个或多个)命令分派到一个或多个NVM装置以用于执行)。在一些实施例中,当作出该确定时执行单个命令(408-是),并且然后过程在操作400处开始重复,以确定是否执行(在各个命令队列中如果有)的下一命令。

换句话说,如果命令延迟模块214不占优(408-否)一个或多个外部信号,则各个命令队列中的命令的执行被延迟(410),并且命令延迟模块214重复上述过程,从再次采样(400)通道i延迟信号开始。

图5A-5E示出了根据一些实施例的延迟至少存储器通道的命令队列中的命令的执行的方法500的流程图表示。非易失性存储器系统(例如,储存装置120,图1),其包括非易失性存储器装置的多个不同的组(例如,NVM装置140-1到140-n和NVM 142-1到142-k),协调并管理多个子系统组件以延迟对应于非易失性存储器装置的至少两个不同的组的命令队列中的命令的执行。

非易失性存储器系统(例如,储存装置120),根据减少由非易失性存储器系统的功率消耗的确定,并且对于非易失性存储器装置的多个不同的组中的至少两个不同的组的每一个,在相应等待时段期间延迟(502)对应于非易失性存储器装置的不同的组的命令队列中命令的执行。用于至少两个不同的组中的非易失性存储器装置的第一不同的组的相应等待时段与用于至少两个不同的组中的非易失性存储器装置的第二不同的组的相应等待时段至少部分非重叠(504)。在一些实现方式中,等待模式产生器302产生等待使能信号306(例如,Ch 1等待使能306-1,Ch 2等待使能306-2),每一个包括相应等待时段(例如,等待时段320、324,图3B)。因为相应等待时段(例如,等待时段320和324)部分非重叠,所以命令队列中的命令的执行(例如,命令队列150)以交错的方式延迟,并且在存储器通道之上管理功率消耗以减少功率消耗尖峰。

在一些实施例中,非易失性存储器装置的多个不同的组的每一个包括存储器通道(506),该存储器通道还包括相应的通道控制器,并且对应于存储器通道中的非易失性存储器装置的不同的组的命令队列包括用于存储器通道的命令队列。

此外,在一些实施例中,用于各个存储器通道的通道控制器(例如,存储器通道i)根据由通道控制器接收的外部信号确定(508)是否延迟用于各个存储器通道的命令队列中的命令的执行。在一些实现方式中,上述外部信号是参考图3A在上面描述的通道延迟信号308-i。在一些实现方式中,上述外部信号是指示超过一个或多个功率阈值的当前功率测量的信号(例如,功率超过阈值旗标313)。还参见关于示出命令延迟模块的操作的流程图表示的操作400和402在上面的讨论。

在一些实施例中,非易失性存储器系统(例如,储存装置120)包括M个存储器通道(510),其中M是大于1的整数,每个存储器通道包括具有相应的命令队列和等待时段的非易失性存储器装置的不同的组。在一些实现方式中,用于M个存储器通道的每个存储器通道的等待时段根据对应于存储器通道的优先级的占空比而重复(512)。因此,没有一个存储器通道在持久的等待状态中。此外,在一些实施例中,占空比对应于存储器通道的优先级(例如,具有高优先级的存储器通道具有以低占空比的等待时段)。

在一些实现方式中,用于M个存储器通道的每个存储器通道的等待时段具有至少部分基于相应的存储器通道的优先级的持续时间(514)。参考图3A和3B在上面讨论了这个的示例。在一些实施例中,相应的存储器通道的等待时段(例如,等待时段320,图3B)的持续时间和占空比两者至少部分基于相应的存储器通道的优先级。此外,在一些实现方式中,相应的存储器通道的等待时段和占空比根据如由功率阈值比较模块312确定的已经超过的一个或多个功率阈值而设置。

在一些实施例中,获得对应于由子系统的功率消耗的功率测量(516),其中子系统包括非易失性存储器装置的多个不同的组。参考图1在上面描述了这样的子系统的示例。在一些实现方式中,对应于由子系统的功率消耗的功率测量由诸如参考图3A在以上描述的用电量监控器和交错等待逻辑124的用电量监控器获得。

在一些实现方式中,功率测量是由子系统的瞬时功率消耗(518)的测量。额外地和/或可替换地,功率消耗311是由子系统的平均功率消耗的测量,等于在预定的时间之上的由子系统的总功率消耗(例如,10秒时段的之上每秒消耗的平均功率)。此外,在一些实现方式中,从非易失性存储器系统的外部装置接收功率测量(520)。此外,在一些实现方式中,根据功率测量频率获得功率测量(522)。

此外,在一些实施例中,根据获得的功率测量和一个或多个功率阈值作出(524)减少由非易失性存储器系统的功率消耗的确定。功率阈值比较模块312根据获得的功率测量信号311和一个或多个功率阈值(有时被称为功率阈值)作出确定以减少功率消耗(例如,功率超过阈值旗标313)。在一些实施例中,功率阈值是对瞬时功率消耗的限制(例如,在由储存装置中的NVM装置的3200毫瓦的尖峰功率消耗上的限制)、和/或对在等于在预定的时间之上的由子系统总功率消耗的平均功率的限制(例如,在10秒时段之上每秒平均消耗的3200毫瓦的限制)。具体地,在一些实施例中,功率阈值比较模块312将一个或多个功率测量(例如,功率测量311)与一个或多个功率阈值比较,并且如果功率测量311超过功率阈值,则产生功率超过阈值旗标313。在一些实现方式中,如果功率测量311超过功率阈值,则功率阈值比较模块312将功率超过阈值旗标313设置为第一预定的值(例如,“真”或1),并且如果功率测量311没有超过功率阈值,则将功率超过阈值旗标313设置为第二预定的值(例如,“假”或0)。

在一些实施例中,在M个不同的交错的开始时间处,在M个存储器通道的命令队列中重新启动(526)命令的执行,其中M是大于1的整数。此外,在一些实现方式中,非易失性存储器系统包括M个存储器通道(528),每个存储器通道包含具有相应的命令队列的非易失性存储器装置的不同的组。在一些进一步实现方式中,M个存储器通道的每个存储器通道还包括通道控制器,该通道控制器被配置为(530)接收外部信号并且根据外部信号来延迟对应于存储器通道的命令队列中的命令的执行。在一些实现方式中,M个不同的交错的开始时间的每一个对应于用于相应的存储器通道的等待时段(532)的结束,其中用于M个存储器通道的等待时段具有对应于M个不同的开始时间的不同的交错的结束时间。

可选地,在一些实施例中,方法包括占优(534)对应于非易失性存储器装置的多个不同的组中的非易失性存储器装置的不同的组的各个命令队列中的延迟的命令的执行。在一些实现方式中,占优各个命令队列中的延迟的命令的执行至少部分基于非易失性存储器装置的相应的不同的组的优先级(536)。例如,如果各个存储器通道是高优先级存储器通道,则用于该存储器通道的命令延迟模块214被配置为继续执行用于各个存储器通道的命令队列中的命令,而没有延迟,即使当用于各个存储器通道的通道延迟信号308指示延迟用于各个存储器通道的命令队列中的命令的执行150被使能时。对于基于存储器通道优先级的占优延迟的命令的执行的进一步讨论可以在上面参照图4中的操作408找到。

此外,在一些实现方式中,占优各个命令队列中的延迟的命令的执行至少部分基于各个命令队列中的命令的一个或多个的优先级(538)。对基于各个命令队列中的一个或多个命令的优先级占优延迟的命令的执行的进一步讨论可以在上面参照图4中的操作408找到。

在一些实现方式中,关于上述任何方法,储存装置包括(1)用于将储存装置耦接到主机系统的接口,(2)多个非易失性存储器控制器,多个控制器的每个控制器被配置为延迟由控制器管理的一个或多个命令队列中的命令的执行,以及(3)非易失性存储器装置的多个不同的组,每一个由非易失性存储器控制器的相应的一个控制。

半导体存储器装置包括易失性存储器装置,诸如动态的随机存取存储器(“DRAM”)或静态的随机存取存储器(“SRAM”)装置;非易失性存储器装置——诸如电阻式随机存取存储器(“ReRAM”)、电可擦除可编程只读存储器(“EEPROM”)、闪速存储器(也可以被认为是EEPROM的子集)、铁电的随机存取存储器(“FRAM”)以及磁阻的随机存取存储器(“MRAM”);以及其他能够贮存信息的半导体元件。此外,每种类型的存储器装置可以具有不同的配置。例如,闪速存储器装置可以配置在NAND或NOR配置中。

存储器装置可以由无源和/或有源元件或两者构成。以非限制性示例的方式,无源半导体存储器元件包括ReRAM装置元件,其在一些实施例中包括电阻率切换贮存元件——诸如反熔丝、变相材料等,以及可选地控制元件——诸如二极管等。进一步以非限制性示例的方式,有源半导体存储器元件包括EEPROM和闪速存储器装置元件,其在一些实施例中包括包含电荷贮存区域的元件——诸如浮置栅极、传导的纳米粒子或电荷贮存电介质材料。

多个存储器元件可以被配置为使得它们串联连接或者使得每个元件可被独立地访问。以非限制性示例的方式,在NAND装置包含串联连接的存储器元件(例如,包含电荷储存区的装置)。例如,NAND存储器阵列可以被配置为使得阵列由多个存储器串构成,其中每个串由共享单个位线并作为一组存取的多个存储器元件构成。相反,存储器元件可以被配置为使得每个元件可被独立地访问,(例如NOR存储器阵列)。本领域技术人员应明白,NAND和NOR存储器配置是示例性的,并且可以以其它方式配置存储器元件。

半导体存储器元件包括在单个装置中,诸如位于相同的衬底(例如,半导体衬底)中和/或之上或在单个裸芯中的存储器元件,可以以二维或三维的方式分布,(诸如二维(2D)存储器阵列结构或三维(3D)存储器阵列结构)。

在二维存储器结构中,半导体存储器元件被布置在单个平面或者单个存储器装置级中。典型地,在二维存储器结构中,存储器元件位于基本上平行于支撑存储器元件的衬底的主表面地延伸的平面中(例如,在x-z方向平面中)。衬底可以是在其上放置存储器元件的材料层和/或在其中形成存储器元件的晶片,或者它可以是在存储器元件形成之后附接到存储器元件的载体衬底。作为非限制性示例,衬底可以包括诸如硅的半导体。

存储器元件可以布置在有序的阵列中的单个存储器装置级中——诸如在多个行和/或列中。但是,如由本领域技术人员所理解的,存储器元件以不规则或者非正交的配置布置。存储器元件的每一个具有两个或多个电极或接触线,包括位线和字线。

三维存储器阵列被组织为使得存储器元件占据多个平面或多个装置级,在三维中形成结构(即,在x、y和z方向中,其中y方向基本上垂直于衬底的主表面,并且x和z方向基本上平行于衬底的主表面)。

作为非限制性示例,三维存储器阵列结构中的每个平面可以物理地位于二维中(一个存储器级),其中多个二维存储器级形成三维存储器阵列结构。作为另一非限制性示例,三维存储器阵列可以被物理地结构化为多个垂直的列(例如,基本上垂直地延伸到衬底的主表面的列,在y方向中),该列在每个列中具有多个元件并且从而具有横跨存储器装置的几个垂直堆叠的平面的元件。列可以布置在二维配置中(例如,在x-z平面中),从而产生存储器元件的三维布置。本领域技术人员将理解,存储器元件在三维中的其它配置也将组成三维存储器阵列。

以非限制性示例的方式,在三维NAND存储器阵列中,存储器元件可以连接在一起以在单个平面中形成NAND串,有时被称为水平(例如,x-z)平面以便于讨论。可替换地,存储器元件可以连接在一起以延伸通过多个平行的平面。可以设想其它三维配置,其中一些NAND串在存储器元件的单个平面(有时被称为存储器级)中包含存储器元件,而其它串在延伸通过多个平行平面(有时被称为平行存储器级)的存储器元件。三维存储器阵列也可以设计在NOR配置中和在ReRAM配置中。

单片三维存储器阵列是根据一系列制造操作在其中存储器元件的多个平面(也被称为多个存储器级)形成在单个衬底之上和/或单个衬底中的阵列,该衬底诸如半导体晶片。在单片3D存储器阵列中,材料层形成各个存储器级——诸如最高的存储器级,位于形成之下的存储器级的材料层的顶上,但是在相同的单个衬底上。在一些实现方式中,单片3D存储器阵列的邻近存储器级可选地共享至少一个材料层,而在其它实现方式中,邻近的存储器级具有将其分开的中间的材料层。

相反,二维存储器阵列可以单独地形成并且然后以混合的方式集成在一起以形成非单片3D存储器装置。例如,堆叠的存储器已经通过在单独的衬底上形成2D存储器级并且在相互之上集成形成的2D存储器级而构造。每个2D存储器级的衬底可以在将其集成到3D存储器装置中之前变薄或者移除。由于个体存储器级形成单独的衬底上,产生的3D存储器阵列不是单片三维存储器阵列。

对于存储器元件的适当操作以及与存储器元件的适当通信通常需要相关联的电路。该相关联的电路可以在相同的衬底上作为存储器阵列和/或在单独的衬底上。作为非限制性示例,存储器装置可以具有用在存储器元件的编程和读取中的驱动器电路和控制电路。

此外,从2D存储器阵列和3D存储器阵列(单片或混合)中选择的多于一个存储器阵列可以单独地形成并且然后封装在一起以形成堆叠的芯片存储器装置。堆叠的芯片存储器装置包括多个平面或存储器装置的层,有时被称为存储器级。

术语“三维存储器装置”(或3D存储器装置)在这里被定义为意味着具有存储器元件的多个层或多个级(例如,有时被称为多个存储器级)的存储器装置,包括以下的任一个:具有单片或非单片3D存储器阵列的存储器装置,其一些非限制性示例如上所述;或两个或多个2D和/或3D存储器装置,被封装在一起以形成堆叠的芯片存储器装置,其一些非限制性示例如上所述。

本领域技术人员应认识到本发明或者这里所描述并要求的发明不限于这里所述的二维和三维示例性结构,而是占优适用于实现本发明或者在这里所述的发明以及由本领域技术人员理解的所有相关的存储器结构。

应理解的是,尽管可能在这里使用术语“第一”、“第二”等描述各种元件,这些元件不应被这些术语限制。这些术语仅被用于将一个元件与另一区分。例如,第一接触可以被叫做第二接触,并且类似地,第二接触可以被叫做第一接触,而只要“第一接触”的所有出现被一致地重新命名并且“第二接触”所有出现被一致地重新命名,其改变说明的含义。第一接触和第二接触都是接触,但是它们不是相同的接触。

这里所使用的术语仅是为了描述特定实施例的目的并且不意欲限制权利要求。如在实施例的描述以及所附权利要求中所使用的,单数形式的“一”、“一个”和“所述”也意欲包括复数形式,除非上下文明确地另有说明。还应理解的是,如这里所使用的术语“和/或”指代并且包含相关联的列出的项目的一个或多个的任何以及所有可能的组合。将进一步理解的是,术语“包含”和/或“包括”——当用在本说明书中时——指明出现所述的特征、整数、步骤、操作、元件和/或组件,但是不排除其它特征、整数、步骤、操作、元件、组件和/或其组合的一个或多个的出现或增加。

如这里所使用的,取决于上下文,术语“如果”可以解释为意思是“当所述的先决条件为真时”或“在所述的先决条件为真时”或“响应于确定所述的先决条件为真”或“根据所述的先决条件为真的确定”或“响应于检测到所述的先决条件为真”。类似地,取决于上下文,短语“如果确定[所述的先决条件为真]”或“如果[所述的先决条件为真]”或“当[所述的先决条件为真]时”可以解释为意思是“当确定所述的先决条件为真时”或“响应于确定所述的先决条件为真”或“根据所述的先决条件为真的确定”或“在检测到所述的先决条件为真时”或“响应于检测到所述的先决条件为真”。

为了解释的目的,已经参考特定实现方式描述了前述说明。但是,上述说明性讨论不意欲是穷举性的或者将权利要求限制到所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。实现方式被选中并且描述以便于最好地解释操作的原理和实际应用,以从而使本领域技术人员能够实施。

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