可以在不同的条件中使用储存模块,不同的条件在储存模块的存储器上提出了不同的性能要求。为应对这些不同的条件,在一些储存装置中的存储器可以以"常规"模式或以"突发"模式操作,在"突发"模式中,要求储存模块的高于平均的性能以满足来自主机控制器的高于平均的数量的写入命令。例如,当储存模块作为视频相机装置的一部分时,由相机拍摄的原始视频被储存在相机的RAM中,并且然后其被压缩并且转移到储存模块中的存储器。在这样的系统中,通常需要存储器匹配压缩视频的平均速率,并且如此,可能需要突发模式以提供匹配产生视频数据的速率的写入性能。例如,在一些储存模块中,突发模式可能能够支持用于4GB的160MB/s的储存速率,而常规模式可能支持达用于12GB的80MB/s的速率。
为实现高于平均的性能,储存模块可以在单层单元(SLC)分区而不是多层单元(MLC)分区中储存数据,因为写入到SLC单元比写入到MLC单元更快。可替换地,替代于写入到专用的SLC分区,如果存储器支持动态配置,其中存储器单元可以按照需要被用作SLC单元或MLC单元,则某些存储器单元可以在突发模式期间被配置为SLC单元。SLC模式比MLC模式更快,但是以MLC储存至少两倍的速率消耗存储器资源(即,存储器单元)。因此,在突发模式中工作的存储器的容量比在其中可以使用MLC单元的非突发模式中工作的存储器的容量小。此外,为了最大化突发的储存速率,存储器管理软件/固件可以被配置为在突发模式期间避免垃圾收集操作,因为在垃圾收集过程期间能够储存数据的存储器单元的数量暂时地减少。但是,当最大化瞬时的性能时,避免垃圾收集还减小容量,因为在某种情况下,存储器可能耗尽所有存在的空闲块而可能没有额外的可用空间来储存额外的信息。
技术实现要素:
本发明的实施例由权利要求定义,并且本章节的任何部分都不应被认为是对所述权利要求的限定。
以介绍的方式,以下实施例涉及用于适应性突发模式的储存模块和方法。在一个实施例中,提供了包括存储器和控制器的储存模块。控制器被配置为从与所述储存模块通信的主机控制器接收多个写入命令,将所述多个写入命令储存在所述储存模块中的命令队列中,并且基于在所述命令队列中储存了多少个写入命令来选择多个突发模式的一个以操作所述存储器。
其它实施例是可能的,并且实施例的每一个可以被单独或者一起组合使用。相应地,现在将参考附图描述各种实施例。
附图说明
图1是根据实施例的示例性储存模块的框图。
图2A是根据实施例的主机的框图,其中图1的示例性储存模块嵌入在该主机中。
图2B是图1的示例性储存模块的框图,但是其可拆卸地连接到主机。
图3是根据实施例的示例性储存模块的框图。
图4是根据实施例的用于适应性突发模式的方法的流程图。
图5是根据实施例的示例性储存模块的框图。
图6是根据实施例的用于适应性突发模式的方法的流程图。
图7是根据实施例的用于适应性突发模式的方法的流程图。
具体实施方式
如在以上
背景技术:
章节中所提及的,一些储存模块可以以"常规"模式或以"突发"模式操作,在"突发"模式中要求储存模块的高于平均的性能以满足来自主机控制器的高于平均的数量的写入命令。例如,在一些储存模块中,突发模式可能能够支持用于4GB的160MB/s的储存速率(即,10秒),而常规模式可以支持达用于12GB的80MB/s的速率。在主机控制器上运行的要求大于80MB/s的性能的应用可能使储存模块以突发模式操作,即使其可能不需要160MB/s的全部速率。使用突发模式可能导致资源的低效使用并且可能限制由应用处理的数据的容量。例如,应用可以是以低分辨率但长时间运行的视频应用。使用突发模式将不必要地限制可以由应用拍摄的视频片段的长度,而常规(顺序的)模式不支持要求的速率。以下实施例提供可以通过提供多个不同的突发模式而解决该问题的适应性突发模式技术,其中该多个不同的突发模式可以被动态地配置以允许主机应用接收其需要的资源并且有效地使用它们。
在转到这些和其它实施例之前,以下段落提供对可以与这些实施例使用的示例性储存模块的讨论。当然,这些仅是示例,并且可以使用其它合适类型的储存模块。
如图1中所示,一个实施例的储存模块100包括储存控制器110和非易失性存储器120。储存控制器110包括用于与非易失性存储器120接口的存储器接口111以及用于将储存模块100布置为与主机控制器可操作地通信的主机接口112。如这里所使用的,术语"与...可操作地通信"可以意味着直接与...通信或者与...间接(有线或无线)地通过一个或多个组件通信,其可能在这里或者不在这里示出或描述。
如图2A中所示,储存模块100可以嵌入在具有主机控制器220的主机210中。就是说,主机210包含主机控制器220和储存模块100,使得主机控制器220与嵌入的储存模块100接口以管理其操作。例如,储存模块100可以采用SanDisk公司的iNANDTM eSD/eMMC嵌入式闪速驱动的形式,或者更一般地,采用任何类型的固态驱动(SSD)、混合储存装置(具有硬盘驱动和固态驱动两者)和存储器缓存系统的形式。主机控制器220可以例如使用eMMC主机接口或UFS接口与嵌入式储存模块100接口。主机210可以采用任何形式,诸如但不限于,移动电话、平板计算机、数字媒体播放器、游戏装置、个人数字助理(PDA)、移动(例如,笔记本型、膝上型)个人计算机(PC)或书籍阅读器。如图2A中所示,主机210可以包括可选的其它功能模块230。例如,如果主机210是移动电话,其它功能模块230可以包括硬件和/或软件组件以拨打或处理电话。作为另一示例,如果主机210具有网络连接性能力,其它功能模块230可以包括网络接口。当然,这些仅是一些示例,并且可以使用其它实现方式。此外,主机210可以包括为简化附图而为在图2A中示出的其它组件(例如,音频输出、输入-输出端口,等)。应注意的是,尽管主机控制器220可以控制储存模块100,但是储存模块10可以具有其自己的控制器来控制器内部存储器操作。
如图2B中所示,不同于作为主机中的嵌入装置,储存模块100可以具有允许储存模块100经由配套的连接器可拆卸地连接到主机240(具有主机控制器245)的物理的以及电气的连接器。如此,储存模块100对于主机240是单独的装置(并且不是嵌入在其中的)。在该示例中,储存模块100可以是手持、可拆卸存储器装置,诸如安全数字(SD)存储器卡、microSD存储器卡、紧凑型闪速(CF)存储器卡或通用串行总线(USB)装置(具有到主机的USB接口),并且例如,主机240是单独的装置,诸如移动电话、平板计算机、数字媒体播放器、游戏装置、个人数字助理(PDA)、移动(例如,笔记本型、膝上型)个人计算机(PC)或书籍阅读器。
在图2A和2B中,储存模块100如图1所示出的经由主机接口112与主机控制器220或主机240通信。主机接口112可以采用任何合适的形式,诸如但不限于,eMMC主机接口、UFS接口和USB接口。储存模块110中的主机接口10将来自主机控制器220(图2A)或主机240(图2B)的存储器管理命令传送到储存控制器110,并且还将来自储存控制器110的存储器响应传送到主机控制器220(图2A)或主机240(图2B)。此外,应注意的是,当储存模块110嵌入在主机210中时,这里所述的由储存模块100中的储存控制器110进行的功能的一些或者全部可以替代地由主机控制器220进行。
返回图1,储存控制器110包括中央处理器(CPU)113、可操作以提供加密和/或解密操作的可选的硬件加密-引擎114、读取存取存储器(RAM)115、可以储存用于储存模块100的基本操作的固件的只读存储器(ROM)116、以及可以储存当使用时用于加密解密操作的装置特定密钥的非易失性存储器(NVM)117。如图1所示,RAM 115储存命令队列,尽管命令队列可以位于储存模块100中的另一位置。储存控制器110可以以任何合适的方式实现。例如,储存控制器110例如可以采用以下形式:微处理器或处理器和储存可由(微)处理器执行的计算机-可读程序代码(例如,软件或固件)的计算机-可读介质、逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器以及嵌入式微控制器。合适的控制器可以从SanDisk或其它供应商获得。储存控制器110可以用硬件和/或软件配置以进行以下所述以及在流程图中示出的各种功能。此外,被示出为作为储存控制器110内部的一些组件也可以储存在储存控制器110外部,并且可以使用其它组件。例如,RAM 115(或者额外的RAM单元)可以位于控制器裸芯的外部并且可以用作从存储器120读取数据和/或将数据写入到存储器120的页缓冲器。储存控制器110还具有误差校正码(ECC)引擎119,其可以创建用于储存在存储器120中的数据的ECC校验位并且译码用于从存储器120读取的数据的ECC校验位以便于识别和/或校正数据中的误差。ECC引擎119还可以被用于检测从主机控制器发送到储存控制器110的数据中的误差。
非易失性存储器120还可以采用任何合适的形式。例如,在一个实施例中,非易失性存储器120采用固态(例如,NAND闪速)存储器的形式并且可以是一次可编程、几次可编程或者多次可编程的。此外,非易失性存储器120可以是二维存储器或三维存储器。非易失性存储器120还可以使用单层单元(SLC)、多层单元(MLC)、三层单元(TLC)或现在已知或之后开发的其它存储器技术。
如图3中所示,存储器120可以被配置为具有SLC部分(分区)310和MLC部分(分区)320。在突发模式中,储存控制器110可以在SLC部分310而不是MLC部分320中储存数据,因为写入到SLC单元比写入到MLC单元更快。之后,在突发模式结束之后,写入到SLC部分310的数据可以被写入到MLC部分320以增加存储器120的可用的储存容量。以此方式,SLC部分310可以被认为是"SLC缓存"。替代于具有单独的SLC和MLC部分310、320,存储器120可以被动态地配置,其中存储器单元可以按照需要被用作SLC单元或MLC单元。也如图3所示,存储器120可以具有易失性锁存器330,其储存在数据被写入到非易失性存储器单元之前来自储存控制器110的该数据、以及在数据被发送到储存控制器110之前从非易失性存储器单元读取的该数据。
如在以上背景技术章节中所提及的,一些储存模块可以以"常规"模式或以"突发"模式操作,在"突发"模式中要求储存模块的高于平均的性能以满足来自主机控制器的高于平均的数量的写入命令。但是,仅具有这两个模式可能导致资源的低效使用并且可能限制由应用处理的数据的容量。例如,在一些储存模块中,突发模式可能能够支持用于4GB的160MB/s的储存速率,而常规模式可以支持达用于12GB的80MB/s的速率。因此,如果主机控制器上运行的应用要求80MB/s和160MB/s之间的性能,储存模块将需要以突发模式操作,尽管该模式可能提供比所需要的高得多的性能(并且消耗更多的存储器资源)。考虑到,例如,以100MB/s(即,在80MB/s和10MB/s的传统的常规和突发模式性能速率之间)的分辨率长时间地拍摄视频的视频应用。期望的100MB/s分辨率将命令使用突发模式替代于80MB/s的常规模式性能,尽管突发模式的160MB/s性能将多于所需要的性能。此外,因为存储器容量受限于提供该性能(例如,因为在突发模式中使用SLC单元而不是MLC单元),在该示例中使用传统的突发模式可能导致存储器用完储存空间。因此,在该示例中使用传统的突发模式可能不必要地限制将由应用拍摄的视频片段的长度,而常规(顺序的)模式不支持所要求的速率。
为解决该问题,在一个实施例中,储存控制器110被配置为以多个不同的突发模式的一个操作,该多个不同的突发模式可能在一个或多个特征中相互不同,使得可以被动态地选择以适应给定主机要求的各种性能/容量折衷。以此方式,储存模块100可以选择更加贴近期望的性能的突发模式,从而避免仅提供常规和突发模式的当前储存模块的“要么接收要么放弃”的方式所呈现的过度的代价。多个突发模式可以以具有固定数字(例如,5)的突发模式而离散,或者多个突发模式可以提供连续的性能范围。任一种方式,通过提供多个突发模式由储存控制器110从其中选择,这些实施例可以增大存储器容量和耐受性而不影响性能。当主机应用想要启动适应性突发模式时,其可以向储存控制器110发送关于其请求的指示以用于突发模式,而确切的性能水平(即,特定突发模式)可以由储存控制器110确定。
各种突发模式可以在一个或多个特征中彼此不同。例如,用在不同的突发模式中的单层单元(SLC)相对于多层单元(MLC)的数量可以变化。由于写入到SLC单元比写入到MLC单元更快,在突发模式期间使用SLC单元可以以更快地消耗存储器资源(例如,以两倍的速率)的代价来提供高性能。通过设置在SLC模式中操作的存储器单元的数量,该实施例的储存控制器110可以匹配主机应用的性能要求而不牺牲不必要的容量。
作为另一示例,在写入命令的突发的执行期间在存储器120上进行的垃圾收集操作的数量可能不同的突发模式之间变化。垃圾收集是存储器管理过程,其中储存控制器110使用其闲置时间以在主机控制器需要写入新的数据之前整合存储器的块。实践中,储存模块100可以在当进行垃圾收集操作时从主机控制器接收进入的命令。在这样的情况中,垃圾收集操作通常被打断以便于以最小化用户体验的降级的同时执行到来的命令。但是,当接收到进入的命令时储存模块被系统维护占用的事实本身是额外的延迟和用户体验的降级的原因。因此,在传统的突发模式中,储存控制器在突发模式期间避免垃圾收集操作以便于最大化突发的储存速率。但是,当最大化瞬时的性能时,避免垃圾收集还减少容量,因为在某些程度上,存储器可能耗尽所有的空闲的块并且可能没有额外的空间来储存额外的信息。因此,在一个实施例中,在不同的突发模式之中可能变化的特征的一个是在突发模式期间在存储器120上进行的垃圾收集操作的数量。该数字的范围可能是从零(从而消除了中断的风险)到给定数字。
在不同的突发模式之中可能变化的特征的另一示例是在执行写入命令的突发期间在进行误差校正码操作中由ECC引擎119使用的参数。ECC参数包括、但不限于:所使用的校验位的数量、所使用的最小汉明(Hamming)距离以及甚至是否使用ECC。所使用的ECC参数越不鲁棒,写入性能就越高。但是,要求较低的突发写入性能但是更强的数据准确性的应用,储存控制器110可以选择提供最鲁棒的ECC参数的一个突发模式。
储存控制器110可以以任何合适的方式确定使用多个突发模式的哪个。在一个实施例中,在图4的流程图400中示出,储存控制器110从与储存模块100通信的主机控制器接收多个写入命令(动作410)。储存控制器110然后在储存模块100中的命令队列中储存多个写入命令(动作420)。命令队列可以在储存模块100中的任何合适的位置中(例如,在储存控制器110中的RAM 115或VM 117中、在存储器120中或者在储存模块100中的任何其它位置中)。然后储存控制器110基于在命令队列中储存了多少个写入命令来选择多个突发模式的一个来操作存储器120(动作430)。以此方式,储存控制器110取决于命令队列的填充水平选择突发模式。因此,如果命令队列被填充地非常满,储存控制器110可以选择具有更高性能的突发模式,而,如果命令队列不被填充地非常满(但是可能高于“常规”以上的一些阈值量),储存控制器110可以选择将提供更大的存储器容量和/或数据准确性的较不激进的突发模式。
返回附图,图5是实施例的一个特定实现方式的示例。应理解的是,这仅是一个示例,并且该示例的细节不应限制权利要求除非在权利要求中明确地记述。图5示出了主机控制器500,其具有RAM 510、主机命令队列515、命令产生器520和压缩引擎530。在该示例中,主机控制器500是数字相机的一部分并且接收由相机获取的原始数据540。(这些组件的一些或全部可以位于主机控制器500之外(例如,在主机中的其它位置中)。储存模块100具有储存控制器110,该储存控制器110具有处理器113和命令队列(这里,储存在RAM 115中),并且储存控制器110与存储器120可操作地通信。尽管在该实施例中在主机和储存控制器中仅示出了一个命令队列,如将在以下所讨论的,可以使用多个队列。
在该实施例中,在来自主机控制器500的命令由储存控制器110执行之前,命令被储存在储存控制器110中的命令队列115中,所以储存控制器110中的处理器113可以确定使用哪个多个突发模式(例如,基于命令队列115的填充水平)。在该特定实施例中,储存控制器110中的命令队列115是主机控制器500中的命令队列515的镜像。
在操作中,由相机拍摄的原始视频在由压缩引擎530压缩之后被储存在主机的RAM 510中。命令产生器520产生写入命令以将数据写入在储存模块100中并且将这些写入命令储存在主机的命令队列515中。在该实施例中,命令队列515中的命令可以指向主机RAM 510,其中每个指针与数据块相关联,该数据块的长度是主机RAM 510的分辨率的函数,其中数据在指定的地址处开始。优选地,命令队列条目在以0(或1)开始的序列中被枚举并且在连续的元件之间增加1。主机RAM 510的分辨率可以根据主机命令队列515的深度确定。例如,如果主机RAM 510具有10MB,并且主机命令队列515深度是10,则主机RAM 510可以被分区为每个1MB大小的10个数据单元。命令产生器520可以被配置为产生写入命令,将每个写入命令与在主机RAM 510中的其数据相关联,并且关于写入命令以及其相关联的数据而与储存控制器110通信。在适当的时刻,主机控制器500将储存在主机的命令队列515中的命令发送到储存模块100以储存在储存控制器的命令队列115中,以便于创建储存控制器110的主机命令队列515的镜像。
图6是示出主机控制器500的操作的流程图600。首先,主机控制器500获取原始数据540(动作610)。在数据由压缩引擎530压缩之后,主机控制器500确定主机RAM 510消耗是否已经达到阈值(动作620)。如果其达到,主机控制器500分配新的队列条目并且设置下一个阈值(动作630)。主机控制器500然后将数据储存在主机的RAM 510中,并且当RAM 510的预定的量已经被写入时,命令产生器515产生写入命令到命令队列表中的可用的条目(动作640)。在该实施例中,每个写入命令指向主机RAM 510中的储存与该命令相关联的数据的地址。最终,主机控制器500将命令通信到储存控制器115以在储存控制器115中产生主机命令队列515的图像(动作630)。该过程对于组合潜在的突发操作的多个写入命令而重复。因此,主机应用消耗主机RAM 510并且触发储存写入命令,并且当主机RAM 510达到阈值时,下一个主机写入命令被施加到新的队列条目。当之前的储存命令被执行时,主机RAM 510被清空,并且消耗水平阈值被设置到之前的水平。
图7是示出储存控制器110的操作的流程图700。首先,储存控制器110检验其命令队列115(动作710)并且根据命令队列115的填充水平确定操作哪个突发模式(如果有,如可以选择常规模式)(动作720)。以此方式,储存控制器110基于命令队列115的填充水平选择多个突发模式的一个,使得命令队列115的填充水平越大,突发模式的强度就越大。储存控制器110可以根据主机RAM 510的填充水平测量用于主机的要求的带宽,其反映在命令队列115填充水平中。例如每当主机RAM 510超过半满时,储存控制器110可以决定以全突发模式(full burst mode)操作,而如果主机RAM 510仅填充到其容量的四分之一时,储存控制器110可以决定以较低带宽的突发模式操作。如上所述,突发模式之间的区别可能仅是专用于应用的带宽,或者可以考虑其他区别。例如,在极端突发模式中,所有数据可以储存在SLC中,而在更加宽松的突发模式中,数据可以部分储存在SLC单元中并且部分在MLC单元中。额外地或者可替换地,在极端突发模式中,可以仅进行最少的垃圾收集,而在宽松的-突发模式中,可以进行更大量的垃圾收集。额外地或者可替换地,在极端突发模式中,ECC引擎119的参数可以不同于在更加宽松的突发模式中的参数。
返回图7,可选地,储存控制器110可以确定实现/执行写入命令的次序以及哪个数据块从主机RAM 510转移到储存模块100(动作730)。最终,储存模块110与主机控制器500通信以接收将被执行的与多个写入命令相关联的数据(动作740)。如上所述,在该实施例中,主机的命令队列515中的命令指向主机的RAM 510中储存与命令相关联的数据的位置。因此,发送到储存控制器110以用于储存在命令队列115中的命令不包含将被写入的数据。在该实施例中,储存控制器110具备选择何时转移数据的能力,使得资源可以以最有效的方式被分配。以此方式,当从主机控制器500接收到以适应性突发模式工作的请求时,储存控制器110可以决定将使用哪个时隙来将数据从主机控制器500转移以便于能够提供主机控制器500要求的带宽。储存控制器110可以以与主机应用要求兼容,但是不使用突发模式的所有容量的方式分配时隙。这将能够为主机应用提供可持续的性能更长的时段,且存储器120上具有更小的压力。
存在可以与这些实施例使用的许多替换例。例如,虽然上述实施例在储存模块100中仅一个命令队列,但是在其它实施例中,储存模块100包括多个命令队列,并且储存控制器110还被配置为确定在所述多个命令队列中的哪个中储存写入命令。当使用闪速储存接口时,该替换例可能是期望的,该闪速储存接口支持命令排队或者多个队列储存,诸如通用闪速储存(UFS)接口或嵌入式MultiMediaCard(eMMC)接口。通过该替换例,储存控制器110可以实现排队管理技术,其中储存控制器110接收多个命令,在队列中分配命令,并且然后(至少部分地)根据由闪速/排队管理技术设置的策略进行命令。
在另一替换例中,储存控制器110还被配置为基于从所述主机控制器接收的性能概况来选择多个突发模式的一个。性能概况可以由突发命令中的(一个或多个)预定的标志和/或以预定的(一个或多个)地址在主机RAM510中写入的(一个或多个)压缩的数据帧指示。当储存控制器110询问主机控制器500数据的位置时,储存控制器110可以确定数据被写入到预定的地址,并且然后切换到具有由主机要求的相应的性能参数的突发模式。
此外,如上所述,储存控制器110可以在操作的预定模式之间决定,其中操作的每个模式具有不同的确保的瞬态速率和不同的支持的总体容量,例如。可替换地,操作的模式可以是连续的,使得储存控制器可以从连续的范围选择支持的速率。
最终,如上所述,半导体存储器装置包括易失性存储器装置,诸如动态随机存取存储器("DRAM")或静态随机存取存储器("SRAM")装置、非易失性存储器装置,诸如电阻式随机存取存储器("ReRAM"),电可擦除可编程只读存储器("EEPROM"),闪速存储器(也可以被认为是EEPROM的子集)、铁电的随机存取存储器(“FRAM”)以及磁阻的随机存取存储器(“MRAM”);以及其他能够贮存信息的半导体元件。每种类型的存储器装置可以具有不同的配置。例如,闪速存储器装置可以配置在NAND或NOR配置中。
存储器装置可以以任何组合由无源和/或有源元件构成。以非限制性示例的方式,无源半导体存储器元件包括ReRAM装置元件,其在一些实施例中包括电阻率切换贮存元件——诸如反熔丝、变相材料等,以及可选地控制元件——诸如二极管等。进一步以非限制性示例的方式,有源半导体存储器元件包括EEPROM和闪速存储器装置元件,其在一些实施例中包括包含电荷贮存区域的元件——诸如浮置栅极、传导的纳米粒子或电荷贮存电介质材料。
多个存储器元件可以被配置为使得它们串联连接或者使得每个元件可被独立地访问。以非限制性示例的方式,在NAND配置(NAND存储器)中的闪速存储器装置通常包含串联连接的存储器元件。NAND存储器阵列可以被配置为使得阵列由多个存储器串构成,其中串由共享单个位线并作为一组存取的多个存储器元件构成。可替换地,存储器元件可以被配置为使得每个元件可被独立地访问,例如NOR存储器阵列。NAND和NOR存储器配置是示例性的,并且可以以其它方式配置存储器元件。
位于基板中和/或基板上的半导体存储器元件可以被布置为二维或者三维,诸如二维存储器结构或三维存储器结构。
在二维存储器结构中,半导体存储器元件被布置在单个平面或者单个存储器装置级中。典型地,在二维存储器结构中,存储器元件被布置在基本上平行于支撑存储器元件的基板的主表面地延伸的平面中(例如,在x-z方向平面中)。基板可以是在其上或其中形成存储器元件的层的晶片,或者它可以是在存储器元件形成之后附接到存储器元件的载体基板。作为非限制性示例,基板可以包括诸如硅的半导体。
存储器元件可以布置在有序的阵列中的单个存储器装置级中——诸如在多个行和/或列中。但是,存储器元件在不规则或者非正交的配置中形成阵列。存储器元件的每一个具有两个或多个电极或接触线——诸如位线和字线。
三维存储器阵列被布置为使得存储器元件占据多个平面或多个存储器装置级,从而在三维中形成结构(即,在x、y和z方向中,其中y方向基本上垂直于基板的主表面,并且x和z方向基本上平行于基板的主表面)。
作为非限制性示例,三维存储器结构可以被垂直地布置为多个二维存储器装置级的堆叠。作为另一非限制性示例,三维存储器阵列可以被布置为多个垂直的列(例如,基本上垂直地延伸到基板的主表面的列,即,在y方向中),其中每个列在每个列中具有多个存储器元件。列可以布置在二维配置中,例如,在x-z平面中,产生具有在多个垂直地堆叠的存储器平面上的元件的存储器元件的三维布置。存储器元件在三维中的其它配置也可以组成三维存储器阵列。
以非限制性示例的方式,在三维NAND存储器阵列中,存储器元件可以耦接在一起以在单个水平的(例如,x-z)存储器装置级中形成NAND串。可替换地,存储器元件可以耦接在一起以形成横穿多个水平的存储器装置级的垂直的NAND串。可以设想其它三维配置,其中一些NAND串在单个存储器级中包含存储器元件,而其它串在跨过多个存储器级的存储器元件。三维存储器阵列也可以设计在NOR配置中和在ReRAM配置中。
典型地,在单片三维存储器阵列中,一个或多个存储器装置级形成在单个基板上。可选地,单片三维存储器阵列也可以具有至少部分在单个基板中的一个或多个存储器层。作为非限制性示例,基板可以包括诸如硅的半导体。在单片三维阵列中,组成阵列的存储器装置级的层通常形成在阵列的在下面的存储器装置级的层上。但是,单片三维存储器阵列的相邻存储器装置级的层可以被共享或者具有在存储器装置级之间相互介入的层。
其次,二维阵列可以单独地形成并且然后封装在一起以形成具有存储器的多个层的非单片存储器装置。例如,非单片堆叠的存储器可以由在单独的基板上形成存储器级并且然后在彼此上堆叠存储器级来构造。可以在堆叠之前将基板减薄或者从存储器装置级移除,但是由于存储器装置级初始形成在单独的基板之上,所产生的存储器阵列不是单片三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片)可以形成在单独的芯片上并且然后封装在一起以形成叠层芯片存储器装置。
存储器元件的操作以及与存储器元件的通信通常需要相关联的电路。作为非限制性示例,存储器装置可以具有用于控制和驱动存储器元件以实现诸如编程和读取的功能的电路。该相关联的电路可以在与存储器元件相同的基板上和/或在单独的基板上。例如,用于存储器读取-写入操作的控制器可以位于单独的控制器芯片上和/或在与存储器元件相同的基板上。
本领域技术人员应认识到本发明不限于所述的二维和三维示例性结构但是覆盖本发明在这里所述的以及由本领域技术人员理解的精神和范围中的所有相关的存储器结构。
前述详细的描述意欲理解为本发明所能够采用的选择的形式的说明,而不是本发明的定义。仅以下权利要求,包括所有等价物,意欲限定所要求的发明的范围。最终,应注意的是,这里所述的优选实施例的任一个的任何方面可以被单独使用或者相互组合使用。