用于对在主机存储器缓冲区中损坏的数据进行恢复的存储系统和方法与流程

文档序号:16366481发布日期:2018-12-22 08:27阅读:190来源:国知局
用于对在主机存储器缓冲区中损坏的数据进行恢复的存储系统和方法与流程

一些存储系统诸如固态驱动器(ssd)包含由物理地址组织的非易失性存储器。主机使用逻辑地址以从存储系统读取数据和/或将数据写入存储系统,并且存储系统存储逻辑到物理地址映射,控制器使用该映射以将来自主机的逻辑地址转换为非易失性存储器的物理地址。逻辑到物理地址映射通常存储在非易失性存储器中;然而,如果该逻辑到物理地址映射存储在存储系统的易失性存储器中,则该逻辑到物理地址映射将被更快访问。在许多情况下,存储系统的易失性存储器不足以存储整个逻辑到物理地址映射,因此逻辑到物理地址映射的最有可能需要的部分被从较慢的非易失性存储器中读出并且读入较快的易失性存储器中。随着时间的推移,逻辑到物理地址映射的部分在易失性存储器和非易失性存储器之间交换。

附图说明

图1a是实施方案的非易失性存储系统的框图。

图1b是示出了实施方案的示例性存储模块的框图。

图1c是示出了实施方案的分级存储系统的框图。

图2a是根据实施方案示出了图1a中所示的非易失性存储系统的控制器的示例性部件的框图。

图2b是根据实施方案示出了图1a中所示的非易失性存储器存储系统的示例性部件的框图。

图3是实施方案的逻辑到物理地址映射的图示。

图4是实施方案的恢复方法的流程图。

图5是实施方案的上层的图示。

图6是实施方案的日志文件的图示。

图7是实施方案的多个块的图示。

具体实施方式

概述

通过介绍,以下实施方案涉及用于对在主机存储器缓冲区中损坏的数据进行恢复的存储系统和方法。在一个实施方案中,提供了包括非易失性存储器和与该非易失性存储器通信的控制器的存储系统。该控制器被配置为从主机的易失性存储器接收逻辑到物理映射以用于存储在存储系统的非易失性存储器中;确定在逻辑到物理映射中的条目是否存在错误;响应于确定逻辑到物理映射中不存在错误,将逻辑到物理映射存储在非易失性存储器中;以及响应于确定逻辑到物理映射中的条目存在错误,尝试在将逻辑到物理映射存储在非易失性存储器中之前从存储系统中的位置恢复该条目。

在一些实施方案中,控制器被配置为通过查看存储在存储系统中的最近事务的日志来尝试恢复条目。

在一些实施方案中,响应于该条目不位于最近事务的日志中,控制器被进一步配置为通过查看存储系统中的日志文件来确定该条目是否存储在非易失性存储器中。

在一些实施方案中,响应于确定条目未被存储在非易失性存储器中,控制器被进一步配置为在非易失性存储器中的开放块中搜索可用于恢复该条目的信息。

在一些实施方案中,逻辑到物理映射中的每个条目与错误检测代码相关联,并且其中控制器被配置为通过查看针对该条目的错误检测代码来确定逻辑到物理映射中的条目是否存在错误。

在一些实施方案中,错误检测代码包括循环冗余校验(crc)位。

在一些实施方案中,非易失性存储器包括三维存储器阵列。

在一些实施方案中,存储系统被嵌入在主机中。

在一些实施方案中,存储系统可移除地连接到主机。

在另一个实施方案中,提供了用于恢复非易失性存储器的控制数据的方法。可由存储系统的控制器执行的方法包括检测非易失性存储器的控制数据中的错误,其中控制数据被存储在易失性存储器中;以及响应于检测到控制数据中存在错误,尝试在将控制数据存储在非易失性存储器中之前校正来自另一个源的控制数据。

在一些实施方案中,尝试校正来自另一个源的控制数据包括确定该控制数据是否被包含在易失性存储器中的最近事务的日志中。

在一些实施方案中,响应于确定控制数据不被包含在存储系统中的最近事务的日志中,确定控制数据是否被存储在非易失性存储器中。

在一些实施方案中,控制器通过查看存储系统中的日志文件来确定控制数据是否被存储在非易失性存储器中。

在一些实施方案中,响应于确定控制数据未被存储在非易失性存储器中,在非易失性存储器中的开放块中搜索可用于恢复控制数据的信息。

在一些实施方案中,控制数据包括逻辑到物理地址映射。

在一些实施方案中,控制数据与错误检测代码相关联,并且其中控制器被配置为通过查看错误检测代码来确定控制数据中是否存在错误。

在一些实施方案中,错误检测代码包括循环冗余校验(crc)位。

在一些实施方案中,易失性存储器位于存储系统中。

在一些实施方案中,易失性存储器位于与存储系统通信的主机中。

在一些实施方案中,非易失性存储器包括三维存储器阵列。

在一些实施方案中,存储系统被嵌入在主机中。

在一些实施方案中,存储系统可移除地连接到主机。

在另一某个实施方案中,存储系统包括:非易失性存储器;用于从主机的易失性存储器接收逻辑到物理映射以用于存储在存储系统的非易失性存储器中的装置;用于确定在逻辑到物理映射中的条目是否存在错误的装置;用于响应于确定逻辑到物理映射中不存在错误而将逻辑到物理映射存储在非易失性存储器中的装置;以及用于响应于确定逻辑到物理映射中的条目存在错误而尝试在将逻辑到物理映射存储在非易失性存储器中之前从存储系统中的位置恢复该条目的装置。

其他实施方案是可能的,并且每个实施方案可单独使用或组合在一起使用。因此,现在将参照附图来描述各个实施方案。

示例性实施方案

图1a-1c示出了适于在实现这些实施方案的各方面中所使用的存储系统。图1a是根据本文所述主题的实施方案示出了非易失性存储系统100的框图。参照图1a,非易失性存储系统100包括控制器102和可由一个或多个非易失性存储器管芯104组成的非易失性存储器。如本文所用,术语管芯是指非易失性存储器单元和用于管理那些非易失性存储器单元的物理操作的形成于单个半导体衬底上的相关联的电路的集合。控制器102与主机系统交互并将用于读取操作、编程操作和擦除操作的命令序列发送至非易失性存储器管芯104。

控制器102(其可以是闪存存储器控制器)可采取以下形式:例如,处理电路、微处理器或处理器和存储可由(微)处理器执行的计算机可读程序代码(例如固件)的计算机可读介质、逻辑门、开关、专用集成电路(asic)、可编程逻辑控制器和嵌入式微控制器。控制器102可被配置为具有硬件和/或固件以执行下文所述以及流程图中所示的各种功能。此外,被显示为位于控制器内部的一些部件还可被存储在控制器外部,并且可使用其他部件。另外,短语“与…操作地通信”可指与一个或多个部件直接通信或间接通信(有线或无线),该部件可在或可不在本文中示出或描述。

如本文所用,闪存存储器控制器是管理存储在闪存存储器中的数据并与主机诸如计算机或电子设备通信的设备。除了本文所述的具体功能之外,闪存存储器控制器还可具有各种功能。例如,闪存存储器控制器可格式化闪存存储器,以确保存储器正常运行,标出坏的闪存存储器单元,以及分配备用单元以供将来替代故障的单元。备用单元的一部分可用于保持固件以操作闪存存储器控制器并实现其他特征。在操作中,当主机需要从闪存存储器读取数据或向其写入数据时,该主机将与闪存存储器控制器通信。如果主机提供待读取/写入数据的逻辑地址,则闪存存储器控制器可将从主机接收的逻辑地址转换为闪存存储器中的物理地址。(或者,主机可提供物理地址。)闪存存储器控制器还可执行各种存储器管理功能,诸如但不限于磨损均衡(分散写入以避免原本将被反复写入的特定存储器块用尽)和垃圾收集(在块满后,仅将有效的数据页移动到新块,使得可擦除和重新使用整个块)。

非易失性存储器管芯104可包括任何合适的非易失性存储介质,包括nand闪存存储器单元和/或nor闪存存储器单元。存储器单元可采取固态(例如,闪存)存储器单元的形式,并且可以是一次可编程、几次可编程或多次可编程的。存储器单元也可为单级单元(slc)、多级单元(mlc)、三级单元(tlc)或使用现已知或后来开发的其他存储器单元级技术。另外,存储器单元能够以二维或三维方式制造。

在控制器102和非易失性存储器管芯104之间的接口可以是任何合适的闪存接口,诸如切换模式200,400或800。在一个实施方案中,存储系统100可以是基于卡的系统,诸如安全数字(sd)或微型安全数字(micro-sd)卡。在另一个实施方案中,存储系统100可以是嵌入式存储系统的一部分。

虽然在图1a中所示的示例中,非易失性存储系统100(有时在本文中称为存储模块)包括位于控制器102和非易失性存储器管芯104之间的单个信道,但本文所述的主题不限于具有单个存储器信道。例如,在一些nand存储系统架构中(诸如在图1b和1c中),2个、4个、8个或更多个nand信道可存在于控制器和nand存储器设备之间,具体取决于控制器能力。在本文所述的实施方案中的任何一个实施方案中,即使附图中示出了单个信道,但在控制器和存储器管芯之间可存在不止单个信道。

图1b示出了包括多个非易失性存储系统100的存储模块200。因此,存储模块200可包括与主机以及与存储系统204交接的存储控制器202,该存储系统包括多个非易失性存储系统100。存储控制器202和非易失性存储系统100之间的接口可以是总线接口,诸如串行高级技术附件(sata)或外围组件快速接口(pcie)接口。在一个实施方案中,存储模块200可以是诸如存在于便携式计算设备诸如膝上型计算机和平板电脑中的固态驱动器(ssd)。

图1c为示出分级存储系统的框图。分级存储系统250包括多个存储控制器202,该多个存储控制器中的每一个存储控制器控制相应的存储系统204。主机系统252可通过总线接口访问存储系统内的存储器。在一个实施方案中,主机252具有主机存储器缓冲区254,其将在下文中更详细地讨论。在一个实施方案中,总线接口可以是nvme接口或以太网光纤通道(fcoe)接口。在一个实施方案中,图1c中所示的系统可以是可由多个主机计算机访问的可机架安装的海量存储系统,诸如将存在于数据中心或需要海量存储的其他位置中。

图2a是更详细地示出控制器102的示例性部件的框图。控制器102包括与主机交接的前端模块108、与一个或多个非易失性存储器管芯104交接的后端模块110以及执行将在下文详细描述的功能的各种其他模块。模块可采取以下形式:例如被设计成与其他部件一起使用的封装的功能硬件单元、可由通常执行相关功能中的特定功能的(微)处理器或处理电路执行的程序代码(例如软件或固件)的一部分,或与较大系统交接的独立的硬件或软件部件。控制器102的模块可包括恢复模块111,该恢复模块被配置为恢复在hmb254或易失性存储器116中损坏的数据。下文将更详细地讨论这些模块的功能的具体实施。

再次参考控制器102的模块,缓冲区管理器/总线控制器(未示出)管理随机存取存储器(ram)116中的缓冲区并控制控制器102的内部总线仲裁。只读存储器(rom)118存储系统引导代码。尽管图2a中示出了与控制器102分开定位,但在其他实施方案中,ram116和rom118中的一者或两者可位于控制器内。在其他实施方案中,ram和rom的部分可位于控制器102内和控制器外。

前端模块108包括主机接口120和物理层接口(phy)122,该主机接口和物理层接口提供与主机或下一级存储控制器的电气接口。主机接口120的类型的选择取决于使用的存储器的类型。主机接口120的示例包括但不限于sata、sataexpress、sas、光纤通道、usb、pcie和nvme。主机接口120通常有利于数据、控制信号和定时信号的传输。

后端模块110包括错误校正控制器(ecc)引擎124,该ecc引擎对从主机接收的数据字节进行编码,并且对从非易失性存储器读取的数据字节进行解码和错误校正。命令定序器126(也称为闪存接口模块)生成命令序列,诸如程序命令序列和擦除命令序列,并且调度那些序列以将其传输至非易失性存储器管芯104。raid(独立驱动器冗余阵列)模块128管理raid奇偶校验的生成和故障数据的恢复。raid奇偶校验可作为针对被写入存储器设备104的数据的附加级别的完整性保护。在一些情况下,raid模块128可以是ecc引擎124的一部分。存储器接口130向非易失性存储器管芯104提供命令序列以及从非易失性存储器管芯104接收状态信息。在一个实施方案中,存储器接口130可以是双数据速率(ddr)接口,诸如切换模式200,400或800接口。闪存控制层132控制后端模块110的总体操作。

存储系统100还包括其他分立部件140,诸如外部电接口、外部ram、电阻器、电容器或可与控制器102交接的其他部件。在另选的实施方案中,物理层接口122、raid模块(未示出)、介质管理层138和缓冲区管理/总线控制器(未示出)中的一者或多者是控制器102中非必需的任选部件。

图2b是更详细地示出非易失性存储器管芯104的示例性部件的框图。非易失性存储器管芯104包括外围电路141和非易失性存储器阵列142。非易失性存储器阵列142包括用于存储数据的非易失性存储器单元。非易失性存储器单元可以是任何合适的非易失性存储器单元,包括处于二维和/或三维构型的nand闪存存储器单元和/或nor闪存存储器单元。非易失性存储器管芯104还包括对数据进行缓存的数据高速缓存156。

外围电路141包括向控制器102提供状态信息的状态机152。电路141可提供附加功能,其将在下文中更详细地描述。一般来讲,“电路”可包括一个或多个部件并且是纯硬件具体实施和/或组合的硬件/软件(或固件)具体实施。因此,“电路”可采取以下形式中的一者或多者:例如,微处理器或处理器和存储可由(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(asic)、可编程逻辑控制器和嵌入式微控制器。

在该实施方案中,存储系统100的非易失性存储器104由物理地址来组织。主机252使用逻辑地址以从存储系统100读取数据和/或将数据写入存储系统,并且存储系统100存储逻辑到物理地址映射(本文中有时称为闪存转换层(ftl)表或仅是“表”),控制器102使用该映射以将来自主机的逻辑地址转换为非易失性存储器104的物理地址。为简单起见,短语“逻辑地址映射”可指整个逻辑地址映射或逻辑地址映射的一个或多个部分。另外,短语“映射”和“表”可将在本文中互换使用。

可使用逻辑到物理地址映射的任何形式,并且图3是一个特定的逻辑到物理地址映射的图示。应该指出的是,该图示仅仅是示例,并且可使用逻辑到物理地址映射的其他形式。因此,除非明文规定,否则该逻辑到物理地址映射的详细信息不应被读入权利要求中。

如图3所示,该实施方案的逻辑到物理地址映射被组织成多个“主集”(或“m集”),其中主集的整个集合(例如,在一个实施方案中为1000个)被称为“主层”(或“m层”)。每个m集包含多个条目(每个m集可具有相同或不同数量的条目),并且每个条目包含逻辑地址(有时在本文中称为逻辑块地址(lba))到存储器104的物理地址的转换。如图3中所示,每个条目包含错误检测代码,在该示例中,该错误检测代码是循环冗余校验(crc)代码。虽然在该示例中使用crc,但应当理解,可使用其他类型的错误检测代码,包括但不限于重复代码、奇偶校验位、校验和以及加密散列函数。因此,除非明文规定,否则一种特定类型的错误检测代码不应被读入权利要求中。另外,虽然使用短语“错误检测代码”,但应当理解,同样允许校正错误的代码可被短语“错误检测代码”涵盖。因此,如本文所用,“错误检测代码”可允许检测但不校正错误,或可允许既检测又校正错误。另外,虽然图3示出了与逻辑到物理地址映射中的每个条目相关联的错误检测代码,但在其他实施方案中,错误检测代码与不同的粒度级别相关联(例如,多个条目、映射的整个部分、整个映射等)。

如上文背景部分中所解释,逻辑到物理地址映射通常存储在非易失性存储器104中,以便即使从存储系统100移除电力时也保留该映射。然而,与从非易失性存储器104访问相比,控制器102可更快地从易失性存储器(ram)116访问逻辑到物理地址映射,因为一般来讲,易失性存储器具有比非易失性存储器更快的存取时间。因此,优选地在使用期间将逻辑到物理地址映射从非易失性存储器104移动到易失性存储器116。然而,在许多情况下,存储系统的易失性存储器116不足以大到存储整个逻辑到物理地址映射,因此逻辑到物理地址映射的最有可能需要的部分被读入易失性存储器116中。与非易失性存储器104中的逻辑到物理地址映射一起存储的错误检测代码诸如循环冗余校验(crc)位可被控制器102使用,以在易失性存储器116中存储和使用逻辑到物理地址映射之前检测并可能校正逻辑到物理地址映射中的任何错误。

在一些环境中,除了存储系统100中的易失性存储器116之外或代替该易失性存储器,主机252中的易失性存储器(有时称为“主机存储器缓冲区(hmb)”254(参见图1c))用于存储逻辑到物理地址映射的部分。例如,一些存储系统可不具有易失性存储器,并且hmb254可提供与存储系统中的易失性存储器116相同或类似的功能。又如,即使存储系统100具有易失性存储器116,则hmb254可被用作逻辑到物理地址映射的“溢出”存储器,因此逻辑到物理地址映射的更多部分可存储在易失性存储器中(即存储系统易失性存储器116和hmb254中)。这可提高性能,因为存储逻辑到物理地址映射的更多部分可减少对较慢的非易失性存储器104中的逻辑到物理地址的映射的访问的需要。

随着数据被写入或移动到存储系统100的非易失性存储器104中,(存储在存储系统100的易失性存储器116中和/或主机252的hmb254中的)逻辑到物理地址映射中的映射可需要被更新(例如,由于垃圾收集、坏块更换等)。更新的映射最终将需要被存储在非易失性存储器104中,因此更新将在断电之后保持。然而,在一些情况下,主机252中的hmb254可能不是“高度保护的”存储器,这意味着hmb254中的存储器可不具有足够的数据可靠性级别以确保存储在hmb254中的映射是权威表。如果存储在hmb254中的更新的映射数据包含错误并被提交至非易失性存储器104,则映射数据的后续使用可导致无法跟踪某些数据被存储的位置。如果发生此现象的风险很大,则可认为可用hmb254来存储映射数据。

为了解决该问题,在一个实施方案中,在将hmb254中的映射数据提交至存储系统100的非易失性存储器104之前,查看hmb254中的映射数据是否包含错误。如果hmb254中的映射数据包含错误,则尝试从存储系统100中的某个位置恢复映射数据,使得可存储所恢复的正确数据而不是错误的数据。以这种方式,该实施方案的恢复过程允许hmb254用于存储映射数据,即使存储器相对不可靠。

具体而言,在一个实施方案中,存储系统100中的控制器102将错误检测代码(诸如crc位,参见图3)存储在逻辑到物理地址映射的存储于hmb254中的条目中。在将hmb254中的逻辑到物理地址映射提交到非易失性存储器104之前,控制器102可查看错误检测代码来确定逻辑到物理地址映射的一个或多个条目是否存在错误。如果控制器102未检测到错误,则控制器102可将逻辑到物理地址映射存储在非易失性存储器104中。然而,如果控制器102检测到错误,则控制器102可尝试从存储系统100中的位置处恢复包含错误的条目中的映射。此恢复操作将结合图4中的流程图400更详细地讨论,该流程图可由例如存储系统100的控制器102执行。

如图4所示,控制器102首先确定从hmb254读取的逻辑到物理地址映射是否已损坏(动作410)。在该实施方案中,逻辑到物理地址映射被从hmb254读取为一页数据,并且逻辑到物理地址映射被称为“控制数据”。(如将在下文中解释,“控制数据”可指逻辑到物理地址映射之外的数据。)如上所述,控制器102可通过查看与映射的每个条目相关联的crc(或其他错误检测代码)代码来确定从hmb254读取的逻辑到物理地址映射是否已损坏。如果从hmb254读取的逻辑到物理地址映射已损坏,则控制器102随后尝试从存储系统100中的位置恢复损坏的映射信息。例如,存储系统100的非易失性存储器104可存储对存储在hmb254中的逻辑到物理地址映射所作的最近改变的日志(例如,“上层”(或ulayer)500(参见图5))。控制器102可查看最近事务日志以确定其是否包含已损坏页面的映射(动作420)。如果是,则控制器102可从非易失性存储器104读取来自最近事务日志的条目并校正从hmb254读取的损坏的数据(动作430)。

如果最近事务日志不包含已损坏页面的映射,则控制器102随后可查看日志文件(参见图6)以确定其是否表示已损坏页面未更新(动作440)。如果已损坏页面未更新,则非易失性存储器104将包含有效、完整版本的条目。在这种情况下,控制器102可从非易失性存储器104读取条目并校正从hmb254读取的损坏的数据(动作430)。

如果日志文件表示已损坏页面进行了更新,则控制器102可采取在非易失性存储器104中的开放块中搜索未损坏数据的“强力”方法(在本实施方案中,假定开放块中的数据是有效的)(动作450)。这将结合图7示出,该图示出了存储系统100的非易失性存储器104中的多个存储器块。如图7所示,存储器块被分类为开放的(即,块可用于存储更多数据)或关闭的(即,块不可用于存储更多数据)。块中的每个位置都具有物理地址(pa),并且如果其存储数据的话,则包含数据和当存储数据时使用的逻辑块地址(lba)的标签。因此,控制器102可扫描给定lba的开放块以找到其相应的物理地址,或甚至可根据开放块中的lba标签建立表。

具有与这些实施方案相关联的许多优点。例如,实施方案允许在hmb254中存储可靠的权威ftl表,并提供用于在需要时恢复数据的方法。这提高了系统性能。

具有可与这些实施方案一起使用的许多替代方案。例如,虽然已从逻辑到物理地址映射角度讨论了这些实施方案,但可使用其他形式的“非易失性存储器控制数据”(或“页面控制数据”)。此类其他形式的控制数据的示例包括但不限于关于给定块是开放还是关闭以及给定块中多少数据是有效的信息。因此,除非明文规定,否则该逻辑到物理地址映射不应被读入权利要求中。

最后,如上所述,可使用任何合适类型的存储器。半导体存储器设备包括易失性存储器设备诸如动态随机存取存储器(“dram”)设备或静态随机存取存储器(“sram”)设备、非易失性存储器设备诸如电阻式随机存取存储器(“reram”)、电可擦可编程只读存储器(“eeprom”)、闪存存储器(其也可被视为eeprom的子集)、铁电随机存取存储器(“fram”)和磁阻随机存取存储器(“mram”)以及能够存储信息的其他半导体元件。每种类型的存储器设备可具有不同的构型。例如,闪存存储器设备能够以nand或nor构型来配置。

存储器设备可由无源元件和/或有源元件以任何组合形成。作为非限制性示例,无源半导体存储器元件包括reram设备元件,在一些实施方案中,该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构型。

通常,在单片三维存储器阵列中,一个或多个存储器设备级别在单个衬底上方形成。任选地,单片三维存储器阵列还可具有至少部分地位于单个衬底内的一个或多个存储器层。作为非限制性示例,衬底可包括半导体诸如硅。在单片三维阵列中,构成阵列中的每个存储器设备级别的层通常形成于阵列中的底层存储器设备级别的层上。然而,单片三维存储器阵列的相邻存储器设备级别的层可在存储器设备级别之间共享或具有居间层。

然后,二维阵列可单独形成,随后被封装在一起以形成具有多个存储器层的非单片存储器设备。例如,非单片堆叠的存储器可通过在单独的衬底上形成存储器级别并将存储器级别堆叠在彼此之上来构造。衬底可在堆叠前被减薄或从存储器设备级别移除,但由于存储器设备级别初始形成在独立的衬底上,因此所得的存储器阵列不是单片的三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片的)可形成在单独的芯片上,并随后封装在一起以形成叠层芯片存储器设备。

通常需要相关联的电路来操作存储器元件并与存储器元件通信。作为非限制性示例,存储器设备可具有用于控制和驱动存储器元件以实现诸如编程和读取之类功能的电路。该相关电路可与存储器元件位于同一衬底上和/或位于单独的衬底上。例如,用于存储器读写操作的控制器可位于单独的控制器芯片上和/或与存储器元件位于相同的衬底上。

本领域的技术人员将认识到,本发明不限于本文所述的二维和三维示例性结构,但涵盖如本文所述以及如本领域的技术人员所理解的本发明的实质和范围内的所有相关的存储器结构。

旨在将前述详细描述理解为本发明可采取的而非作为本发明的定义的所选形式的图示。仅以下权利要求,包括所有等同物,其旨在定义受权利要求书保护的本发明的范围。最后,应当指出本文所述的任何优选实施方案的任何方面可单独使用或彼此结合使用。

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