用于直接四层级单元(QLC)编程的存储系统和方法与流程

文档序号:28483163发布日期:2022-01-14 22:29阅读:262来源:国知局
用于直接四层级单元(QLC)编程的存储系统和方法与流程
用于直接四层级单元(qlc)编程的存储系统和方法


背景技术:

1.在将数据写入到具有多层级单元(mlc)配置的非易失性存储器时,此过程通常是通过以下来实现的:针对存储器中的完整字线中的所有单元将单元的每一个位存储于存储器控制器中的随机存取存储器(ram)中,然后进行用于将电荷注入到每一多位单元中的多阶段编程过程以实现所述单元所要的经编程状态。作为此多步骤编程过程的部分,且对于多个编程步骤中的每一个,控制器中的存储器可以存储将编程于单元中的所有数据位的副本并处理数据的错误校正码(ecc)位。
附图说明
2.图1a是一实施例的非易失性存储系统的框图。
3.图1b是示出一实施例的存储模块的框图。
4.图1c是示出一实施例的阶层式存储系统的框图。
5.图2a是示出根据一实施例的示出于图1a中的非易失性存储系统的控制器的组件的框图。
6.图2b是示出根据一实施例的示出于图1a中的非易失性存储系统的组件的框图。
7.图3是与实施例一起使用的2-3-2-8格雷码映射的图式。
8.图4是示出一实施例的两阶段编程技术的图式。
9.图5是用于直接四层级单元(qlc)编程的一实施例的方法的流程图。
10.图6是一实施例的码字的图示。
11.图7是用于直接四层级单元(qlc)编程的另一实施例的方法的流程图。
12.图8是另一实施例的码字的图示。
13.图9是用于直接四层级单元(qlc)编程的又一实施例的方法的流程图。
14.图10是又一实施例的码字的图示。
具体实施方式
15.通过介绍,下方的实施例涉及一种用于直接四层级单元(qlc)编程的存储系统和方法。在一个实施例中,存储系统的控制器配置成产生下部、中间和上部数据页的码字;使用三层级单元编程操作在存储系统的存储器中对下部、中间和上部数据页的码字进行编程;验证存储器中的下部、中间和上部数据页的码字的编程;产生顶部数据页的码字;以及在存储器中对顶部数据页的码字进行编程。其它实施例是可能的,且实施例中的每一个可单独使用或一起组合使用。因此,现将参考附图描述各种实施例。
16.现在转向附图,适用于实施这些实施例的方面的存储系统展示在图1a到图1c中。图1a是示出根据本文中所描述的主题的实施例的非易失性存储系统100(有时在本文中称为存储装置或仅称为装置)的框图。参考图1a,非易失性存储系统100包含控制器102和非易失性存储器,所述非易失性存储器可由一个或多个非易失性存储器裸片104组成。如本文中所使用,术语“裸片”是指形成在单个半导体衬底上的非易失性存储器单元的集合和用于管
理那些非易失性存储器单元的物理操作的相关联电路。控制器102与主机系统介接,且将用于读取、编程和擦除操作的命令序列传输到非易失性存储器裸片104。
17.控制器102(其可以是非易失性存储器控制器(例如闪存、电阻式随机存取存储器(reram)、相变存储器(pcm)或磁阻式随机存取存储器(mram)控制器))可采取以下形式:处理电路、微处理器或处理器和存储计算机可读程序代码(例如固件)的计算机可读介质,所述计算机可读程序代码可由例如(微)处理器、逻辑门、开关、专用集成电路(asic)、可编程逻辑控制器和嵌入式微控制器执行。控制器102可配置有硬件和/或固件以执行下文描述和流程图中展示的各种功能。并且,展示为在控制器内部的一些组件也可存储在控制器外部,且可使用其它组件。另外,短语“操作性地与
……
通信”可意指与
……
直接通信或经由本文中可或可以不展示或描述的一个或多个组件与
……
间接(有线或无线)通信。
18.如本文中所使用,非易失性存储器控制器是管理存储在非易失性存储器上的数据且与如计算机或电子装置的主机通信的装置。非易失性存储器控制器除本文中所描述的特定功能性外还可具有各种功能性。举例来说,非易失性存储器控制器可格式化非易失性存储器以确保存储器恰当地操作,映射出不良非易失性存储器单元,且分配备用单元来替代未来的失效单元。备用单元的某一部分可用于保存固件,以操作非易失性存储器控制器和实施其它特征。在操作中,当主机需要从非易失性存储器读取数据或将数据写入到非易失性存储器时,所述主机可与非易失性存储器控制器通信。如果主机提供将读取/写入数据的逻辑地址,那么非易失性存储器控制器可将从主机接收到的逻辑地址转换成非易失性存储器中的物理地址。(可替代地,主机可提供物理地址)。非易失性存储器控制器还可执行各种存储器管理功能,如但不限于耗损均衡(分布写入以避免耗损原本将会被重复地写入到的特定存储器块)和垃圾收集(在块已满之后,仅将有效数据页移动到新块,如此已满的块可被擦除且再使用)。并且,权利要求书中所叙述的“构件”的结构可包含例如本文中所描述的控制器的结构中的一些或全部,所述结构经编程或制造为适于促使控制器操作以执行所叙述功能。
19.非易失性存储器裸片104可包含任何合适的非易失性存储器介质,包含电阻式随机存取存储器(reram)、磁阻式随机存取存储器(mram)、相变存储器(pcm)、nand闪存存储器单元和/或nor闪存存储器单元。存储器单元可采取固态(例如闪存)存储器单元的形式,且可以是可一次编程、可少次编程或可多次编程的。存储器单元还可为单层级单元(slc)、多层级单元(mlc)、三层级单元(tlc),或使用现今已知或将来开发的其它存储器单元层级技术。并且,存储器单元可以二维或三维方式制造。
20.控制器102与非易失性存储器裸片104之间的接口可以是任何合适的闪存接口,如切换模式200、400或800。在一个实施例中,存储系统100可以是基于卡的系统,如安全数字(sd)或微安全数字(微sd)卡。在替代实施例中,存储系统100可以是嵌入式存储系统的部分。
21.尽管在图1a中所示出的实例中,非易失性存储系统100(有时在本文中称为存储模块)在控制器102与非易失性存储器裸片104之间包含单个通道,但本文中所描述的主题不限于具有单个存储器通道。举例来说,在一些存储系统架构(如图1b和图1c中所示的存储系统架构)中,取决于控制器能力,可在控制器与存储器装置之间存在2个、4个、8个或更多存储器通道。在本文中所描述的任何实施例中,即使图中展示单个通道,也可在控制器与存储
器裸片之间存在超过单个通道。
22.图1b示出包含多个非易失性存储系统100的存储模块200。如此,存储模块200可包含与主机且与存储系统204介接的存储控制器202,所述存储系统204包含多个非易失性存储系统100。存储控制器202与非易失性存储系统100之间的接口可以是总线接口,如串行高级技术附件(sata)、外围组件互连高速(pcie)接口或双数据速率(ddr)接口。在一个实施例中,存储模块200可以是固态驱动器(ssd)或非易失性双列直插式存储器模块(nvdimm),如在服务器pc或便携式计算装置(如笔记本计算机和平板计算机)中所发现。
23.图1c是示出阶层式存储系统的框图。阶层式存储系统250包含多个存储控制器202,其中的每一个控制相应存储系统204。主机系统252可经由总线接口存取存储系统内的存储器。在一个实施例中,总线接口可以是非易失性存储器高速(nvme)接口或以太网光纤通道(fcoe)接口。在一个实施例中,图1c中所示出的系统可以是可由多个主计算机存取的机架式海量存储系统,如将在数据中心或需要海量存储器件的其它位置中所发现。
24.图2a是更详细地示出控制器102的组件的框图。控制器102包含与主机介接的前端模块108、与一个或多个非易失性存储器裸片104介接的后端模块110和执行现将详细描述的功能的各种其它模块。模块可例如采取以下形式:设计成与其它组件一起使用的经封装功能硬件单元、可由通常执行相关功能中的特定功能的(微)处理器或处理电路执行的程序代码(例如软件或固件)的一部分,或与较大系统介接的自含式硬件或软件组件。控制器102有时可在本文中称为nand控制器或闪存控制器,但是应理解,控制器102可以与任何合适的存储器技术一起使用,下文提供了一些存储器技术的实例。
25.再次参考控制器102的模块,缓冲器管理器/总线控制器114管理随机存取存储器(ram)116中的缓存器,且控制控制器102的内部总线仲裁。只读存储器(rom)118存储系统启动代码。尽管在图2a中示出为与控制器102分别定位,但在其它实施例中,ram 116和rom 118中的一个或两个可位于控制器内。在又其它实施例中,ram和rom的部分可位于控制器102内和控制器外部。
26.前端模块108包含提供与主机或下一层级存储控制器的电接口的主机接口120和物理层接口(phy)122。主机接口120的类型的选择可取决于正在使用的存储器的类型。主机接口120的实例包含但不限于sata、sata高速、串行附接的小型计算机系统接口(sas)、光纤通道、通用串行总线(usb)、pcie和nvme。主机接口120通常促进数据、控制信号和定时信号的传送。
27.后端模块110包含错误校正码(ecc)引擎124,所述错误校正码引擎124对从主机接收到的数据字节进行编码,且对从非易失性存储器读取的数据字节进行解码和错误校正。命令定序器126产生待传输到非易失性存储器裸片104的命令序列,如编程和擦除命令序列。独立驱动器冗余阵列(raid)模块128管理raid奇偶校验的产生和失效数据的恢复。raid奇偶校验可用作用于将数据写入到存储器装置104中的额外层级的完整性保护。在某些情况下,raid模块128可以是ecc引擎124的一部分。存储器接口130将命令序列提供到非易失性存储器裸片104,且从非易失性存储器裸片104接收状态信息。在一个实施例中,存储器接口130可以是双数据速率(ddr)接口,如切换模式200、400或800接口。闪存控制层132控制后端模块110的总体操作。
28.存储系统100还包含其它离散组件140,如外部电接口、外部ram、电阻器、电容器或
可与控制器102介接的其它组件。在可替代实施例中,物理层接口122、raid模块128、介质管理层138和缓冲器管理/总线控制器114中的一个或多个是未必在控制器102中的任选组件。
29.图2b是更详细地示出非易失性存储器裸片104的组件的框图。非易失性存储器裸片104包含外围电路141和非易失性存储器阵列142。非易失性存储器阵列142包含用于存储数据的非易失性存储器单元。非易失性存储器单元可以是任何合适的非易失性存储器单元,包含呈二维和/或三维配置的reram、mram、pcm、nand闪存存储器单元和/或nor闪存存储器单元。非易失性存储器裸片104进一步包含对数据进行高速缓存的数据高速缓存156。外围电路141包含将状态信息提供到控制器102的状态机152。
30.再次返回到图2a,闪存控制层132(其将在本文中称为闪存转译层(ftl)或更一般来说,当存储器可能不是闪存时称为“介质管理层”)处理闪存错误且与主机介接。具体地说,可以是固件中的算法的ftl负责存储器内部管理,且将来自主机的写入转译成存储器104的写入。因为存储器104可具有受限的耐久性,可仅以多页形式写入,且/或除非所述存储器104作为块擦除,否则可能不被写入,所以可能需要ftl。ftl了解存储器104的这些潜在限制,所述潜在限制可能对主机不可见。因此,ftl试图将来自主机的写入转译成存储器104中的写入。
31.ftl可包含逻辑到物理地址(l2p)映射(有时在本文中称为表或数据结构)和所分配的高速缓存存储器。以此方式,ftl将来自主机的逻辑块地址(“lba”)转译成存储器104中的物理地址。ftl可包含其它特征,如但不限于断电恢复(以使得可在突然掉电的情况下恢复ftl的数据结构)和耗损均衡(以使得存储块上的耗损较平稳以防止某些块过量耗损,这将导致较大失效机率)。
32.如上文所提及,在将数据写入到具有多层级单元(mlc)配置的非易失性存储器时,此过程通常是通过以下来实现的:针对存储器中的完整字线中的所有单元将单元的多个位中的每一个存储于存储器控制器中的随机存取存储器(ram)中,然后进行用于将电荷注入到每一多位单元中的多阶段编程过程以实现所述单元所要的经编程状态。通常,多阶段编程涉及利用加宽的电压分布对状态进行的最初编程部分(即,“模糊”编程步骤),以及之后的利用紧密电压分布对所有状态进行的最终编程(即,“精细”编程步骤)。作为此多步骤编程过程的部分,且对于多个编程步骤中的每一个,控制器中的存储器可以存储将编程于单元中的所有数据位的副本并处理数据的错误校正码(ecc)位。众所周知,模糊-精细编程方案用于编程多层级单元存储器。
33.为了通过增加存储器密度来改进存储器成本效率,可使用每单元存储四个位以提供16个数据状态的四层级单元(qlc)。在设计qlc编程方案时,需要考虑若干个因素。一个考虑因素是支持较小写入缓冲器。常规的模糊-精细编程方案可能需要较大的写入缓冲器(例如,每裸片约1.5mb),尤其是当存储器平面/串/页大小的数目增长(如一代又一代存储器的发展所期望的)时,但这可能过大。允许在第一遍次期间编程一些页(例如,1个或2个或3个页)使得在后续遍次中添加剩余页之前可以在不应用ecc校正的情况下实现页的可靠读取的编程方案可实现写入缓冲器中的显著减小(因为在第一遍次中编程的页不需要存储在控制器写入缓冲器中以用于下一遍次,只要它们可以从存储器阵列中可靠地读取即可)。
34.此编程方案的一个实例为mlc精细编程,其中两个页(“mlc”)在第一“模糊”遍次中进行编程,且其余两个页在之后的“精细”遍次中添加。此类mlc精细编程的主要缺点为,为
了使4个mlc状态之间存在足够容限以实现存储器阵列内的内部读取而无需ecc校正(即,idl读取),可能需要非平衡状态编码。即,所得状态编码可为每页具有数目显著不同的1/0转变的格雷编码。例如,可能需要2-3-5-5或1-2-6-6格雷编码,而不是平衡(尽可能平衡)状态编码,例如3-4-4-4编码。
35.不平衡状态编码会产生每页不平衡的位错误率(ber),这意味着需要更多的ecc冗余来实现相同的可靠性(因为ecc需要应对最差页)。这继而降低了存储器成本效率,因为需要为ecc分配更多开销。另一替代方案是使用极简单的ecc(例如,简单的xor页)对在“模糊”步骤期间编程的数据进行编码,使得“模糊”页读回在存储器裸片内部可为可能的,前提是ecc的解码是基于复杂度足够低的逻辑。这种经过编码的模糊-精细编程方案可能需要相对较小的写入缓冲器,并且可以使用平衡格雷状态编码(即,3-4-4-4状态编码)来实现。然而,这取决于存储器质量,以便确保应用于模糊数据的简单ecc可以提供足够的可靠性,这还会引发模糊解码和模糊奇偶校验传送的性能损失。
36.如所提及,另一重要考虑因素是使用尽可能平衡的状态编码。非平衡编码引发跨页的非平衡位错误率(ber),并且对状态位置中的抖动敏感。这可显著降低ber分布且扩大电压(vt)容限。并且,非平衡编码可产生非平衡读取时间(tr)。就ber和tr平衡来说,3-4-4-4编码方案(其中每个数字指示转变的数目)可为优选的。然而,它不允许mlc精细编程,因为idl读取或所得近wl干扰(nwi)不存在容限为不良的。2-3-5-5或1-2-6-6编码可允许mlc精细编程,但是可能会导致不良的ber和tr平衡。又一条件是针对不正常关闭(ugsd)的稳健性。对于ugsd来说,仅1-2-6-6编码似乎足够稳健(甚至仍处于讨论中),但由于高度不平衡,所以就ber平衡来说可能并不可行。
37.以下实施例呈现了一种满足以上条件同时避免以上问题的qlc编程方案。一般来说,这些实施例认识到,可能需要使用直接qlc编程方案,以便减少所需写入缓冲器且避免需要通过单层级单元(slc)。另外,这些实施例认识到,可能需要使用平衡格雷状态编码,以便跨越不同页具有平衡位错误率(ber)和平衡读取时间(tr),这都是在对于不正常关闭具有稳健性的情况下存在的。
38.一般来说,通过这些实施例,存储系统100的控制器102在三层级单元(tlc)编程阶段期间传送三个页,然后使用精细阶段传送一个额外页,其中在内部读取前三个页(例如,经由idl读取)。因此,通过这些实施例,可使用两阶段方法编程qlc存储器单元。第一阶段为直接tlc编程阶段,其中在存储器中编程三个页。第二阶段使用非平衡映射(例如,2-3-2-8)对qlc(一个额外页)进行编程。非平衡映射通过针对三层级单元(tlc)页使用不同于在顶部上添加的额外qlc页的冗余来补偿。这种两阶段编程技术可需要较小写入缓冲器,提供高性能,且具有极低nwi。然而,可能需要系统和ecc根据每页的不同ecc冗余(或每页的不同数据有效负载)改变。
39.以下段落提供此实施例的示例实施方案。应理解,这些仅为实例,且可使用其它实施方案。
40.转向附图,图3是与实施例一起使用的2-3-2-8格雷码映射的图式。此阶段编码图示出下部(l)、中间(m)、上部(u)和顶部(页)中的每一者中的16个状态(s0到s15)。“2-3-2-8”是指每个页中的转变数目。因此,下部和上部页具有两个转变,中间页具有三个转变,且顶部页具有八个转变。
41.图4是示出一实施例的两阶段编程技术的图式。如图4中所示,在第一编程阶段中,使用具有相对较小的阶跃编程电压(dvpgm)的直接2-3-2三层级单元(tlc)编程技术对下部、中间和上部页进行编程。在第二编程阶段中,基于内部模糊读取对顶部页进行编程。通过此编程方案,顶部页由于其八个转变而具有高ber,这是由它的高ecc冗余补偿的。可通过在顶部页上存储更少数据(例如,12kb而非16kb)从而为其扩展奇偶校验提供更多空间来实现较高顶部页ecc冗余。可替代地,顶部页的额外ecc冗余可“溢出”到其它页,即,可以分配其它下部/中间/上部页(它们需要的ecc冗余量较小)的部分用于存储顶部页ecc冗余。可通过挤压顶部页状态转变、利用其高ecc冗余来进一步最小化模糊读取错误。所述实施方案具有最小写入缓冲器要求(直接tlc编程+直接顶部页编程)。并且,如果存储了偶数/奇数tlc状态,那么这些实施例可提供电力损耗免疫性,这可能需要将一个slc页与下部、中间和上部页的异或(xor)一起存储。
42.在一个实例中,每字线使用60kb的经减小有效负载:下部页中的16kb、中间页中的16kb、上部页中的16kb,以及顶部页中的12kb。为了补偿每一wl的有效负载的经减小量(60kb,与常规qlc有效负载4x16kb=64kb不同)且维持相同存储器密度(即,相同存储器成本效率),可使用减小的wl大小。例如,减小的字线大小可为:16kb+140 8b=17784b,且密度为60kb/17784b=3.4548个信息位/单元。这可维持与示例性常规qlc存储器相同的密度,其中64kb有效负载可存储于18976b的wl大小中,具有大致相同的密度64kb/18976b=3.4536个信息位/单元。在此实例中,假设ecc码字有效负载是4kb加一些元数据,例如32b的固件(fw)标头,每4kb的下部/上部/中间ecc冗余(每页四个码字)是(17784-4x4 kb数据-4x32 b fw标头)/4=318 b=7.15%,这可将ber校正约1.05%。由于在不平衡状态编码(例如,图3上示出的2-3-2-8编码)的情况下预期顶部页具有较高ber,因此需要为顶部页分配更多的ecc冗余。这通过在顶部页上存储仅12kb的较小有效负载来实现。因此,每4kb的顶部ecc冗余(每页三个码字)是:(17784 3x4 kb数据-3x32 b fw标头)/3=1800b=30.36%,这可将ber校正约6.3%。
43.此实施方案在图5的流程图500中进一步详细地说明。如图5中所展示,在此实施例中,提供qlc 2-3-2-2格雷码映射(动作510)。接下来,控制器102对具有标称ecc冗余的前三个页(下部、中间和上部页)进行编码,并利用平衡2-3-2格雷码以直接tlc方式对其进行编程(动作520)。接着,存储系统100在存储器芯片104上读取(验证)tlc编程阶段(不具有错误校正),从而减小将四个页全部存储在控制器的写入缓冲器中的需要(动作530)。在处于模糊状态的页无法在不进行ecc校正的情况下可靠地读取(即,ber不可忽略不计)的情况下,可将简单的临时编码应用于模糊页,例如,通过在控制器写入缓冲器中另外存储下部、中间和上部页的xor页并将其用于执行页在模糊页中的简单解码。可替代地,可在存储器裸片内实施低复杂度的ecc解码器(例如,位翻转ldpc解码器),前提是预期处于模糊状态的页的ber非常低。此类低复杂度解码器还可在键合到存储器裸片的cmos晶片(也称为cmos键合阵列-cba)中实施。最后,控制器102对具有增加的ecc冗余的qlc顶部页进行编码以补偿其较高ber。可通过在顶部页存储更少数据(更小的数据有效负载)来实现增加的顶部页ecc冗余。顶部页编程利用2-3-2-8格雷映射引发qlc分布(动作540)。
44.图6是由此实施例的方法产生的码字的图示。如图6中所示,顶部页具有比其它三个页少的码字,且字线中的额外空间用于额外奇偶校验位。
45.存在可与这些实施例一起使用的许多替代方案。例如,在顶部页与下部、中间和上部页之间的平衡变为次优的情况下(例如,在顶部页上花费的ecc过多且在下部、中间和上部页上花费的ecc不足),可为额外下部、中间和上部页奇偶校验分配一些顶部页。例如,在顶部页上可用的奇偶校验的17784-3x4 kb-3x32 b=5400b之外,我们可以分配:用于顶部页的三个码字的4128b。这产生1376b ecc/4kb=25%的ecc冗余,从而产生了约5%的校正能力。作为下部、中间和上部页的额外奇偶校验的1272b产生每页额外4x318b的奇偶校验位。下部、中间和上部页的额外奇偶校验位可进行xor运算,且结果可存储在顶部页中。在单个页(下部、中间或上部)失效的情况下,我们可以恢复每码字额外318b的ecc,从而使冗余加倍到约14.3%%。这提供了约2.5%的校正能力。
46.与上文所描述的其它实施例相比,这个实施例可能更加复杂,因为可能需要额外写入缓冲器在每一模糊编程存储1272b,直到精细编程完成为止。例如,额外1272b x 4个页x 6个串为约30kb。并且,下部、中间和上部的不可校正错误事件可能需要一个更复杂的从顶部页读取额外奇偶校验的恢复流程,并且可能需要ecc设计改变。
47.返回到附图,图7是此实施例的方法的流程图700。如图7中所示,在此实施例中,控制器102计算前三个页(下部、中间和上部)的第一和第二奇偶校验位(动作710)。接着,控制器102使用具有平衡2-3-2格雷码映射的直接三层级单元(tlc)编程技术用第一奇偶校验位对前三个页进行编程(动作720)。接下来,在不使用错误校正且不将数据存储于控制器的写入缓冲器中的情况下在存储器芯片104上验证tlc编程阶段(动作730)。然后,利用较低有效负载、第一奇偶校验和前三个页的第二奇偶校验的xor签名对顶部页进行编程,从而利用2-3-3-8格雷码映射引发qlc分布(动作740)。图8是由此实施例的方法产生的码字的图示。
48.在又一替代性实施例中,每字线存在64kb,其中16kb用于下部页,16kb用于中间页,16kb用于上部页,且16kb用于顶部页。假设例如大小为18976b的qlc字线。这提供了64kb/18976b=3.4536个信息位/单元的密度(与先前实例大致相同)。可以根据每页的转变数目分配ecc冗余。下部/上部页具有每页两个转变。因此,ecc冗余为432b=~9.5%,这提供了约1.55%的校正能力。中间页具有每页三个转变,且存在448b=~9.8%的ecc冗余,这提供了约1.6%的校正能力。顶部页具有每页八个转变。存在1152b=~21.8%的ecc冗余,划分成两个层级:616b的奇偶校验-1和536b的奇偶校验-2。使用奇偶校验-1的校正能力为约4.3%。使用完整奇偶校验(奇偶校验-1+奇偶校验-2)的校正能力为约2.2%。
49.返回到附图,图9是此实施例的方法的流程图900。如图9中所示,在此实施例中,提供qlc 2-3-2-8格雷码(动作910)。接着,控制器102用与页中的转变数目成比例的ecc奇偶校验量对每个页进行编码(动作920)。在此实施例中,超出字线中的ecc列的量的顶部页的ecc奇偶校验分成两部分:奇偶校验-1和奇偶校验-2,使得奇偶校验-1安置在页内,且奇偶校验-2将作为其它三个页(下部、中间和上部页)的一部分来存储。接下来,控制器102利用平衡2-3-2格雷映射以直接tlc方式对三个页(下部、中间和上部)进行编程(动作930)。然后,在不进行错误校正且不将所有页存储在控制器的存储器缓冲器中的情况下在存储器芯片104上验证tlc编程阶段(动作940)。接着,控制器102对顶部页进行编程,从而利用2-3-2-8映射引发qlc分布(动作950)。图10是由此实施例的方法产生的码字的图示。对于先前实例,在处于模糊状态的页无法在不进行ecc校正的情况下可靠地读取(即,ber不可忽略不计)的情况下,可将简单的临时编码应用于模糊页,例如,通过在控制器写入缓冲器中另外
存储下部、中间和上部页的xor页并将其用于执行页在模糊页中的简单解码。可替代地,可在存储器裸片内实施低复杂度的ecc解码器(例如,位翻转ldpc解码器),前提是预期处于模糊状态的页的ber非常低。此类低复杂度解码器还可在键合到存储器裸片的cmos晶片(也称为cmos键合阵列-cba)中实施。
50.最终,如上文所提及,可使用任何合适类型的存储器。半导体存储器装置包含:易失性存储器装置,如动态随机存取存储器(“dram”)或静态随机存取存储器(“sram”)装置;非易失性存储器装置,如电阻式随机存取存储器(“reram”)、电可擦除可编程只读存储器(“eeprom”)、闪存存储器(其也可视为eeprom的子集)、铁电随机存取存储器(“fram”)和磁阻式随机存取存储器(“mram”);以及能够存储信息的其它半导体元件。每种类型的存储器装置可具有不同的配置。举例来说,闪存存储器装置可以nand或nor配置来进行配置。
51.存储器装置可由无源和/或有源元件以任何组合形成。经由非限制性实例,无源半导体存储器元件包含reram装置元件,所述reram装置元件在一些实施例中包含电阻率切换存储元件,如反熔丝、相变材料等,且任选地包含转向元件,如二极管等。另外,经由非限制性实例,有源半导体存储器元件包含eeprom和闪存存储器装置元件,在一些实施例中,所述闪存存储器装置元件包含含有电荷存储区的元件,如浮动栅极、导电纳米粒子或电荷存储电介质材料。
52.多个存储器元件可配置成使得其串联连接或使得每个元件可被单独存取。经由非限制性实例,呈nand配置的闪存存储器装置(nand存储器)通常含有串联连接的存储器元件。nand存储器阵列可配置成使得阵列由多个存储器串构成,其中一串由共享单个位线且作为群组被存取的多个存储器元件构成。可替代地,存储器元件可配置成使得每个元件可被单独存取,例如nor存储器阵列。nand和nor存储器配置是实例,且存储器元件可以其它方式来配置。
53.位于衬底内和/或衬底上方的半导体存储器元件可以二维或三维形式配置,如二维存储器结构或三维存储器结构。
54.在二维存储器结构中,半导体存储器元件布置于单个平面或单个存储器装置层级中。通常,在二维存储器结构中,存储器元件布置在大体上平行于支撑存储器元件的衬底的主表面延伸的平面中(例如在x-z方向平面中)。衬底可以是上方或其中形成有存储器元件的层的晶片,或可以是在存储器元件形成之后附接到存储器元件的载体衬底。作为非限制性实例,衬底可包含如硅等半导体。
55.存储器元件可以如多个行和/或列等有序阵列的形式布置在单个存储器装置层级中。然而,存储器元件可以非规则或非正交配置排列。存储器元件可各自具有两个或更多个电极或接触线,如位线和字线。
56.三维存储器阵列布置成使得存储器元件占据多个平面或多个存储器装置层级,由此形成呈三维(即,呈x、y和z方向,其中y方向大体上垂直于衬底的主表面,且x和z方向大体上平行于衬底的主表面)的结构。
57.作为非限制性实例,三维存储器结构可竖直地布置为多个二维存储器装置层级的堆叠。作为另一非限制性实例,三维存储器阵列可布置为多个竖直列(例如大体上垂直于衬底的主表面(即,在y方向上)延伸的列),其中每一列在每一列中具有多个存储器元件。所述列可以二维配置(例如在x-z平面中)来布置,从而产生具有在多个竖直堆叠的存储器平面
上的元件的存储器元件的三维布置。呈三维形式的存储器元件的其它配置也可构成三维存储器阵列。
58.经由非限制性实例,在三维nand存储器阵列中,存储器元件可耦合在一起以形成在单个水平(例如x-z)存储器装置层级内的nand串。可替代地,存储器元件可耦合在一起以形成横穿多个水平存储器装置层级的竖直nand串。可设想其它三维配置,其中一些nand串含有单个存储器层级中的存储器元件,而其它串含有横跨多个存储器层级的存储器元件。三维存储器阵列还可以nor配置和以reram配置进行设计。
59.通常,在单片式三维存储器阵列中,在单个衬底上方形成一个或多个存储器装置层级。任选地,单片式三维存储器阵列还可具有至少部分地在单个衬底内的一个或多个存储器层。作为非限制性实例,衬底可包含如硅等半导体。在单片式三维阵列中,构成阵列的每个存储器装置层级的层通常在阵列的下伏存储器装置层级的层上形成。然而,单片式三维存储器阵列的相邻存储器装置层级的层可被共享,或在存储器装置层级之间具有介入层。
60.而且,二维阵列可单独形成,且接着封装在一起以形成具有多个存储器层的非单片存储器装置。举例来说,可通过在单独的衬底上形成存储器层级且接着使存储器层级彼此堆叠来构造非单片式堆叠存储器。衬底可在堆叠之前薄化或从存储器装置层级移除,但因为存储器装置层级初始地形成于单独的衬底上方,所以所得存储器阵列不是单片式三维存储器阵列。另外,多个二维存储器阵列或三维存储器阵列(单片式或非单片式)可形成于单独的芯片上且接着封装在一起以形成堆叠芯片存储器装置。
61.通常需要相关联电路来操作存储器元件并与存储器元件通信。作为非限制性实例,存储器装置可具有用于控制和驱动存储器元件以实现如编程和读取等功能的电路。此相关联电路可位于与存储器元件相同的衬底上和/或位于单独的衬底上。举例来说,用于存储器读写操作的控制器可位于单独的控制器芯片上和/或位于与存储器元件相同的衬底上。
62.所属领域的技术人员将认识到,本发明不限于所描述的二维和三维结构,而是涵盖如本文中所描述且如所属领域的技术人员所理解的在本发明的精神和范围内的所有相关存储器结构。
63.希望将前述详细描述理解为对本发明可采取的选定形式的说明,而非对本发明的限定。只有所附权利要求书(包含所有等效物)旨在限定所要求的本发明的范围。最后,应注意,本文中所描述的实施例中的任何一个的任何方面可单独使用或彼此组合使用。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1