从异步功率损耗中恢复存储器的制作方法

文档序号:21406961发布日期:2020-07-07 14:41阅读:216来源:国知局
从异步功率损耗中恢复存储器的制作方法

优先权主张

本申请要求以全文引用的方式并入本文中的2018年12月31日提交的标题为“nand可靠性改进(nandreliabilityimprovements)”的第62/787,007号美国申请和以全文引用的方式并入本文中的2019年8月29日提交的标题为“从异步功率损耗中恢复存储器(recoveryofmemoryfromasynchronouspowerloss)”第16/555,508号美国申请的优先权权益。

本公开的实施例总体上涉及存储器管理,并且更具体地,涉及从异步功率损耗中恢复一或多个存储器组件。



背景技术:

存储器装置是为主机系统(例如,计算机或其它电子装置)提供数据的电子存储的半导体电路。存储器装置可以是易失性或非易失性的。易失性存储器需要功率来维护数据,并且包含例如随机存取存储器(ram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)或同步动态随机存取存储器(sdram)之类的装置。非易失性存储器可以在未供电时保留所存储数据,并且包含例如快闪存储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)、电阻可变存储器之类的装置,电阻可变存储器例如是相变随机存取存储器(pcram)、电阻随机存取存储器(rram)或磁阻随机存取存储器(mram)等。



技术实现要素:

在一个方面,本申请提供一种存储系统,其包括:至少一个非易失性存储器装置,其包括以物理页组织的多个存储器单元;以及控制器,其耦合到所述至少一个非易失性存储器装置,其中指令存储在所述存储系统中,其中所述指令当由所述控制器执行时使所述控制器执行以下操作,包括:响应于在所述存储系统处检测到的异步功率损耗(apl),确定第一物理页的存储器单元中存储的零的数目;以及使用所述第一物理页中确定的零的数目来确定是否将虚拟数据写入所述第一物理页。

在另一方面,本申请进一步提供一种由包括至少一个非易失性存储器装置的存储系统的控制器实施的方法,所述非易失性存储器装置包括以物理页组织的多个存储器单元,所述方法包括:检测所述存储系统处的异步功率损耗(apl);响应于检测到的apl,确定所述存储系统的第一物理页的存储器单元中存储的零的数目;以及使用所述第一物理页中确定的零的数目来确定是否将虚拟数据写入所述第一物理页。

附图说明

在不一定按比例绘制的附图中,相似标号可以在不同视图中描述类似组件。具有不同字母后缀的相似标号可以表示类似组件的不同例子。图式借助于实例而非限制性地总体上说明本文件中所论述的各种实施例。

图1示出包含主机装置和存储系统的实例主机系统。

图2示出根据本公开的一些实例的三级单元存储器单元的编程。

图3示出根据本公开的一些实例nand装置的控制器确定是否向页写入虚拟值的方法的流程图。

图4示出nand架构半导体存储器阵列的实例示意图。

图5示出存储器装置的实例框图。

图6示出信息处理系统的实例框图。

具体实施方式

公开了系统和方法,其包含例如响应于在存储系统处检测到的异步功率损耗(apl),使用所述存储系统的第一物理页的存储器单元中确定的零的数目,确定是否将虚拟数据写入所述第一物理页。

存储器装置包含单独的存储器裸片,所述存储器裸片可以例如包含存储区域,所述存储区域包括一或多个存储器单元阵列,从而实现一种(或多种)所选存储技术。此类存储器裸片通常将包含用于操作存储器阵列的支持电路系统。有时通常被称为“经管理存储器装置”的其它实例包含与经配置以控制一或多个存储器裸片的操作的控制器功能相关联的一或多个存储器裸片的组件。此类控制器功能可以简化与作为“主机”的外部装置的互操作性,如本文稍后所讨论。

在此类经管理存储器装置中,控制器功能可以在也合并了存储器阵列的一或多个裸片上或在单独的裸片上实现。在其它实例中,一或多个存储器装置可以与控制器功能组合以形成固态驱动器(ssd)存储卷。

在实现被称为“经管理nand”装置的nand快闪存储器单元的经管理存储器装置的实例中描述了本公开的实施例。然而,这些实例不限制本公开的范围,本公开的范围可以以其它形式的存储器装置和/或以其它形式的存储技术来实现。

通过选择耦合到其栅极的字线,经由激活特定存储器单元的解码器存取nand快闪架构半导体存储器阵列(例如nand存储器裸片)。在nand架构半导体存储器阵列中,将高偏置电压施加于漏极侧选择栅极(sgd)线。以指定传递电压(例如,vpass)驱动耦合到每一群组的未选定存储器单元的栅极的字线,以使每一群组的未选定存储器单元作为传递晶体管操作(例如,以不受其所存储的数据值限制的方式传递电流)。电流随后从源极线通过每一串联耦合的群组流动到位线,仅受每一群组中的选定存储器单元限制,从而使选定存储器单元的当前经编码数据值置于位线上。

每一快闪存储器单元nand架构半导体存储器阵列可以个别地或共同地编程为一个或数个经编程状态。例如,单层级单元(slc)可以表示两个经编程状态(例如,1或0)中的一者,从而表示一个数据位。然而,快闪存储器单元也可以表示超过两个经编程状态,从而允许制造较高密度的存储器而不增加存储器单元的数目,因为每一单元可以表示超过一个二进制数字(例如,超过一个位)。这些单元可以指多状态存储器单元、多数字单元或多层级单元(mlc)。在某些实例中,mlc可以指每单元可存储两个数据位(例如,四个经编程状态中的一者)的存储器单元,三层级单元(tlc)可以指每单元可存储三个数据位(例如,八个经编程状态中的一者)的存储器单元,且四层级单元(qlc)可以每单元存储四个数据位。本文在其更广泛的上下文中使用mlc指代可以在每单元存储超过一个数据位(即,可以表示超过两个经编程状态)的任何存储器单元。

可以根据公认的行业标准来配置和操作经管理存储器装置。例如,经管理nand装置可以是(作为非限制性实例)通用快闪存储(ufstm)装置或嵌入式mmc装置(emmctm)等。例如,在以上实例的情况下,可以根据标题为“jedecufs快闪存储装置3.0(jedecufsflashstorage3.0)”的联合电子装置工程委员会(jedec)标准(例如,jedec标准jesd223d)和/或对此类标准的更新或后续版本来配置ufs装置。类似地,可以根据标题为“jedecemmc标准5.1(jedecemmcstandard5.1)”的jedec标准jesd84-a51(同样,和/或此类标准的更新或后续版本)配置所识别的emmc装置。

ssd尤其可以用作计算机的主存储装置,其关于例如性能、大小、重量、强度、操作温度范围和功率消耗具有优于具有移动部件的传统硬盘驱动器的优点。例如,ssd可以具有减少的寻道时间、等待时间,或与磁盘驱动器(例如,机电等)相关联的其它延迟。ssd使用例如快闪存储器单元等非易失性存储器单元来避免内部电池电源要求,因此允许驱动器更为多功能且紧凑。经管理nand装置可以用作各种形式的电子装置中的主存储器或辅助,并且常用于移动装置中。

ssd和经管理存储器装置都可以包含其上包含多个裸片或逻辑单元(例如,逻辑单元号或lun)的多个存储器装置,并且可以包含用以执行操作存储器装置或与外部系统介接所需的逻辑功能的一或多个处理器或其它控制器。此类ssd和经管理存储器装置可以包含一或多个快闪存储器裸片,其上包含多个存储器阵列和外围电路系统。快闪存储器阵列可以包含组织成多个物理页的多个存储器单元块。在一些实例中,ssd还可以包含dram或sram(或其它形式的存储器裸片或其它存储器结构)。类似地,经管理nand装置可以包含与nand存储阵列分离并且在控制器之内或与控制器分离的易失性和/或非易失性存储器的一或多个阵列。ssd和经管理nand装置均可以从主机接收与存储器操作相关联的命令,所述存储器操作例如读取或写入操作,以在存储器装置与主机之间传送数据(例如,用户数据和相关联的完整性数据,例如错误数据和地址数据等),或擦除操作,以从存储器装置中擦除数据。

如上所述,在本文中用作说明本发明方法的实例配置的例如nand存储器单元之类的存储器单元可以通过将n位的每一可能值组合表示为2^n个不同电压电平中的一者来存储每单元多个位,其中n是单元存储的位数。因此,为了存储每单元三个位(n=3),可以将存储器单元编程为八个不同(2^3)电压电平中的一者,每一电压电平对应于每一可能的位状态组合中的一者。由于每一单元的制造和存储器的某些操作的差异,每一值组合的电压可能会随单元的不同而变化,并且每一可能值组合可以由电压范围表示。

传统的二维(2d)nand存储器装置包含按行和列组织的多个存储器单元。特定行的存储器单元的控制栅极连接到公共字线。特定列的存储器单元的源极和漏极串联连接到位线。对于每一字线,有n个页与每一位相对应,所述每一位可以存储在链接到字线的存储器单元中。

近年来,3dnand存储器装置已经变得普遍。3dnand装置通常包含存储单元串,其串联(例如,以漏极到源极方式)耦合于接近源极的一或多个源极侧选择栅极(sgs)与接近位线的一或多个漏极侧选择栅极(sgd)之间。在实例中,sgs或sgd可以包含一或多个场效应晶体管(fet)或金属-氧化物半导体(mos)结构装置等。在一些实例中,所述串将竖直延伸通过含有相应字线的多个竖直隔开的层。半导体结构可以邻近于存储单元串而延伸以形成用于所述串的存储单元的通道。在竖直串的实例中,多晶硅结构可以呈竖直延伸支柱的形式。对于包含tlc存储器单元的3dnand存储器装置,对于此类tlc存储器单元,每一字线都有下页(lp)、上页(up)和额外页(xp),对于字线中的所有存储器单元,每一页在每一存储器单元中存储一个位。

当对数据进行编程时,为了减少导致相邻字线上的单元的阈值电压增加的单元间编程干扰的影响,在不同的时间进行每一页的编程。例如,在具有下页和上页的每单元两位nand中,编程顺序可以是:(1)字线0(wl0)的下页;(2)字线1(wl1)的下页;(3)字线0(wl0)的上页;(4)字线2(wl2)的下页;(5)字线2(wl2)的上页;等。

由此,对于每单元存储超过一个位的存储器单元,对于每一特定单元,在编程开始时与编程结束时之间存在延迟。如果在编程完成之前发生异步功率损耗(apl),则一些单元可能受损或具有非预期值。在某些实例中,apl可以指任何意外或突然的功率损耗、关机或重置。在正常情况下,例如响应于来自主机装置等的关闭(或进入睡眠或休眠模式)的命令,在存储系统确认未完成的写入操作或保存已完成并且寻址信息被更新和存储之前,不从所述存储系统移除电源。apl可能导致存储系统上的数据和地址错误。背对背apl可能更具破坏性。在某些实例中,例如在没有先前或所存储的响应于关机命令(例如,包含重置命令、重启命令等)进入低功率状态的指示的情况下从此类低功率状态(例如,“关闭”状态、重置或其它低功率状态)恢复操作(例如,正常操作)时,可以检测到apl。

当接收到写入数据的请求时,确定要写入数据的物理地址。通常,这将在打开的块内-即正在被主动写入的块。一旦发生apl,由于页的不完全编程,当前打开的块可能会使页受到apl的影响。例如,字线可以具有下页,但是没有被编程的额外页和/或上页。

处理编程期间的apl事件的一种策略是关闭块并开始新的块。在这种情况下,背对背apl可能会产生许多部分块(并因此浪费了空间)。这可能会过早耗尽可用块,因此更好的策略可以是继续使用在一或多个apl期间打开的块。

apl可能在编程周期的开始、中间或结束期间发生。如果apl在编程周期开始时发生,则系统可以确定上次写入的页中的一或多个是伪造的空页。在这种情况下,控制器可以将虚拟数据填充到这些一或多个伪造的空页上,以平衡写入到一或多个页的单元中的值,并继续使用从下一个物理页开始的块。

如果apl在编程周期即将结束时发生,则上次写入的页数据可以是可恢复的。在这种情况下,控制器不会将虚拟数据填充到上次写入的页上,而是可以将数据重新定位到下一个真正的空页。

如果apl在编程周期的中间发生,则上次写入的页中的数据可能无法恢复。系统可以使用页遭受不可修复的纠错码(uecc)状况的事实来确定上次写入的页中的一或多个是伪编程页。在这种情况下,可以有两个选项来处理上次写入的页。第一选项是将一或多个页保持原样。在这种情况下,在对apl的额外页/上页进行编程之后,在apl之后的下页恢复期间,块中的下一个下页将没有足够的余量。如果在早期到中间编程期间,超过四个字线受背对背apl的影响,则下一个字线的一个正常编程的额外页可能会变得不可恢复。

另一选项是在伪编程页上填充虚拟数据。如果在虚拟数据的编程期间发生apl,则系统可能无法恢复上次写入的页的数据,并且可能无法确定一或多个上次写入的页是伪编程页。因此,系统可能使这些页再次被虚拟数据填充。背对背apl可能会导致对一或多个页进行多次虚拟数据编程。这可能导致存储器装置的相邻字线(例如,超过四个字线)中使用多个填充虚拟对象进行伪编程的其它正常编程的额外页(xp)也变得不可恢复(例如,将虚拟数据写入xp可能会导致例如上页(up)或下页(lp)等一或多个页的错误)。

主机系统(例如,主机)通常包含主机处理器、支持所述主机处理器的第一数目的主机存储器(例如,主存储器,通常是易失性存储器,例如dram),以及一或多个存储系统(例如,通常是非易失性存储器,例如快闪存储器),其提供额外的存储以保留除主存储器之外或与主存储器不同的数据。

存储系统(例如,固态驱动器(ssd)、通用快闪存储(ufs)装置等)可以包含存储器控制器和一或多个存储器装置,包含多个(例如,许多的)裸片或逻辑单元(lun)。在某些实例中,每一裸片可以包含多个存储器阵列和其上的外围电路系统,例如裸片逻辑或裸片处理器。存储器控制器可以包含接口电路系统,其经配置以通过通信接口(例如,双向并行或串行通信接口)与主机装置(例如,主机处理器或接口电路系统)通信。存储器控制器可以从主机系统接收与存储器操作或指令相关联的命令或操作,例如在存储器装置与主机之间传送数据(例如,用户数据和相关联的完整性数据,例如错误数据或地址数据等)的读取或写入操作,从存储器装置擦除数据的擦除操作,执行驱动器管理操作(例如,数据迁移、无用单元收集、块注销)等。

软件(例如,程序)、指令、操作系统(os)和其它数据通常存储在存储系统上并由主存储器存取以供主机处理器使用。主存储器(例如,ram)通常为比存储系统的大部分存储器(例如,非易失性,例如ssd等)快、昂贵且类型不同的存储器装置(例如,易失性)。除了主存储器之外,主机系统还可以包含不同形式的易失性存储器,例如静态存储器(例如,高速缓存,常常是sram)的群组,其常常比主存储器快,在某些实例中,经配置的操作速度接近或超过主机处理器的速度,但密度更低,成本更高。

图1示出实例系统(例如,主机系统)100,其包含经配置以通过通信接口(i/f)115(例如,双向并行或串行通信接口,例如ufs接口)进行通信的主机装置105和存储系统110(例如,ufs装置)。在实例中,通信接口115可以被称为主机接口。主机装置105可以包含主机处理器106(例如,主机中央处理单元(cpu)或其它处理器或处理电路系统,例如存储器管理单元(mmu)、接口电路系统等)。在某些实例中,主机装置105可以包含主存储器(mainmem)108(例如,dram等)以及可选地静态存储器(staticmem)109,以支持主机处理器(hostproc)106的操作。

存储系统110可以包含通用快闪存储(ufs)装置、嵌入式mmc(emmctm)装置,或一或多个其它存储器装置。例如,如果存储系统110包含ufs装置,则通信接口115可以包含例如在一或多个jedec标准中定义的串行双向接口,例如包含上游和下游通道(例如,分别为din_t、din_c和dout_t,dout_c)。ufs装置可以进一步包含单向复位信号接口(rst),例如从主机装置105到存储系统110的硬件复位信号接口。

在另一实例中,如果存储系统110包含emmc装置,则通信接口115可以包含多个并行双向数据线(例如,dat[7:0])和一或多个命令行,例如在一或多个jedec标准(例如,jedec标准d84-b51(jesd84-a51),通常称为jedecemmc标准5.1等)中定义的。在其它实例中,存储系统110可以包含一或多个其它存储器装置,或者通信接口115可以包含一或多个其它接口,这取决于主机装置105和存储系统110。

存储系统110可以包含存储器控制器(memctrl)111和非易失性存储器装置112。存储器控制器111可以可选地包含有限数目的静态存储器119,以支持存储器控制器111的操作。在实例中,非易失性存储器装置112可以包含多个非易失性存储器装置(例如,裸片或lun),例如一或多个堆叠的快闪存储器装置(例如,如非易失性存储器装置112下方的堆叠短划线所示)等,每一非易失性存储器装置包含非易失性存储器(nvm)113(例如,一组或多组非易失性存储器单元)和装置控制器(ctrl)114或其上的其它外围电路系统(例如,装置逻辑等),并且由存储器控制器111通过与通信接口115不同的内部存储系统通信接口(例如,开放式nand快闪接口(onfi)总线等)来控制。如本文中所使用的控制电路系统可以指存储器控制器111、装置控制器114、或存储系统110中的其它外围电路系统、nvm装置112等中的一或多者。

在三维(3d)架构半导体存储器装置技术中,可以堆叠竖直浮动栅极(fg)或替换栅极(rg)(电荷捕获)存储结构,从而增加存储器装置中的层数、物理页以及相应的存储器单元的密度。数据通常作为小单元任意存储在存储系统上。即使作为单个单元存取,也可以在小的、随机的4k至16k单个文件读取中接收数据(例如,60%至80%的操作小于16k)。用户甚至内核应用程序都很难指示数据应存储为一个连续的内聚单元。文件系统通常设计用于优化空间使用,而不是顺序检索空间。

存储器控制器111可以从主机装置105接收指令,并且可以与非易失性存储器装置112通信,以便将数据传送到(例如,写入或擦除)非易失性存储器装置112的一或多个存储器单元或者从所述非易失性存储器装置的一或多个存储器单元传送(例如,读取)数据。存储器控制器111可以包含尤其电路系统或固件,例如多个组件或集成电路。例如,存储器控制器111可以包含一或多个存储器控制单元、电路或组件,其经配置以控制跨存储器阵列的存取并在主机装置105与存储系统100之间提供转换层,例如存储器管理器、一或多个存储器管理表等。

存储器管理器尤其可以包含电路系统或固件,例如与各种存储器管理功能相关联的多个组件或集成电路,包含耗损均衡(例如,无用单元收集或回收)、错误检测或纠正、块注销或一或多个其它存储器管理功能,以及其它功能。存储器管理器125可以将主机命令(例如,从主机装置105接收的命令)解析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或者产生用于装置控制器114或存储系统110的一或多个其它组件的装置命令(例如,以实现各种存储器管理功能)。

存储器管理器可以包含一组管理表,其经配置以维护与存储系统110的一或多个组件相关联的各种信息(例如,与耦合到存储器控制器111的存储器阵列或一或多个存储器单元相关联的各种信息)。例如,管理表可以包含关于耦合到存储器控制器111的存储器单元的一或多个块的块年龄、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果针对一或多个错误计数的检测到的错误数高于阈值,则位错误可称为不可纠正的位错误。管理表尤其可以维持可纠正或不可纠正的位错误的计数。在实例中,管理表可以包含转换表或l2p映射。

在涉及在l2p表中搜索有效页(例如无用单元回收)的操作中,存储器管理器可以实现并使用数据结构来减少存储系统110的等待时间。为此,存储器管理器经布置以维护物理块的数据结构(例如,表区域数据结构、跟踪数据结构等)。数据结构包含l2p表的l2p映射表区域的指示。在某些实例中,数据结构是位图(例如,二进制阵列)。在实例中,位图包含用于跨越l2p表的多个相互排斥的区域中的每一区域的位。

非易失性存储器装置112或非易失性存储器113(例如,一或多个3dnand架构半导体存储阵列)可以包含布置在例如多个装置、平面、块、物理页、超级块或超级页中的多个存储器单元。作为一个实例,tlc存储器装置可以包含每页18,592字节(b)的数据、每块1536个页、每平面548个块和每装置4个平面。作为另一实例,mlc存储器装置可以包含每页18,592字节(b)的数据、每块1024个页、每平面548个块和每装置4个平面,但其中所需写入时间的一半和编程/擦除(p/e)循环的两倍为对应tlc存储器装置。其它实例可以包含其它数目或布置。超级块可以包含例如来自不同平面等的多个块的组合;并且窗可以指超级块的条带,通常与由物理到逻辑(p2l)表信息块等覆盖的部分匹配;并且超级页可以包含多个页的组合。

术语“超级”可以指一或多个物品的组合或倍数。例如,超级块可以包含块的组合。如果存储器装置包含4个平面,则超级块可以指每一平面上的相同块,或跨窗格的块图案(例如,平面0上的块0、平面1上的块1、平面2上的块2以及平面3上的块3等的组合)。在实例中,如果存储系统包含多个存储器装置,则块的组合或图案可以跨多个存储器装置延伸。术语“条带”可以指一件或多件物品的组合图案或图案。超级块的条带可以指超级块中每一块的页组合或图案。

在操作中,数据通常以页形式写入存储系统110或从存储系统读取,并以块的形式擦除。然而,根据需要,可以对更大或更小组存储器单元执行一或多个存储器操作(例如,读取、写入、擦除等)。例如,可以在数据迁移或无用单元收集期间收集来自卸载单元的标记数据的部分更新,以确保其被有效地重写。存储器装置的数据传送大小通常称为页,而主机装置的数据传送大小通常称为扇区。尽管数据页可以包含多个字节的用户数据(例如,包含多个数据扇区的数据有效负载)及其对应的元数据,但是页的大小通常仅指用于存储用户数据的字节数。例如,具有4kb的页大小的数据页可以包含对应于用户数据的辅助或元数据(例如完整性数据(例如,错误检测或纠正代码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据)的4kb的用户数据(例如,假设扇区大小为512b的8个扇区)以及多个字节(例如32b、54b、224b等)。

不同类型的存储器单元或存储器阵列可以实现不同页大小,或可能需要与其相关联的不同量的元数据。例如,不同存储器装置类型可以具有不同位错误率,其可导致必需要不同量的元数据来确保数据页的完整性(例如,具有较高位错误率的存储器装置可能比具有较低位错误率的存储器装置需要更多字节的纠错码(ecc)数据)。例如,mlcnand快闪装置可比对应的slcnand快闪装置具有更高的位错误率。因而,mlc装置可能需要比对应slc装置更多的元数据字节用于错误数据。

在实例中,信息块或数据单元中的数据可以在其在存储系统上的整个使用期间以优化的方式进行处理。例如,在数据迁移(例如,无用单元收集等)期间将数据作为一个单元进行管理,使得当数据移动到其在存储系统上的新物理位置时,保留了有效的读取/写入属性。在某些实例中,对可配置用于存储、标记等的信息块、数据单元或块的数目的唯一限制是系统的容量。

主机装置105或存储系统110中的一或多者可以包含接口电路系统,例如主机接口电路系统(i/fckt)107或存储接口电路系统(i/fckt)117,其经配置以实现主机系统100的组件之间的通信。每一接口电路系统可以包含一或多个ufs互连(uic)层在某些实例中,主机i/fckt107可以包含控制器(例如,ufs控制器)、驱动器电路(例如,ufs驱动器)等。

主机系统100的组件可经配置以使用一或多个主机电压来接收或操作,所述主机电压包含例如vcc、vccq和可选的vccq2。vcc可以是第一电源电压(例如2.7v-3.3v、1.7v-1.95v等)。在实例中,静态存储器119或非易失性存储器装置112中的一或多者可以要求vcc用于操作。vccq可以是低于vcc的第二电源电压(例如1.1v-1.3v等)。在实例中,存储器控制器111、通信接口115或存储器i/o或其它低压块中的一或多者可以可选地要求vccq用于操作。vccq2可以是vcc与vccq之间的第三电源电压(例如1.7v-1.95v等)。在实例中,通信接口或其它低压块的存储器控制器111中的一或多者可以可选地要求vccq2。在某些实例中,在深睡眠模式下,可以删除vcc(以及可选的vccq2),保留支持vccq。

图2示出根据本公开的一些实例的例如上文关于图1所描述的3dtlcnand存储器装置的tlc存储器单元的状态转变。存储器单元的状态开始于111(未编程),其中下页(lp)是图中的最低有效位(例如,“111”中的第三个“1”)。第一编程操作将lp编程为1或0。接下来的编程操作将额外页(xp)和上页(up)编程(例如,分别为“111”中的第一和第二个“1”)。图2中的曲线示出了对于标记状态的单元中电压的预期分布,其中较高的电压在右侧。因此,111是比110低的电压分布,110是最高的电压分布。图2中的分布顺序从最低到最高为如下:111、011、001、101、100、000、010和110。

当对存储器单元的lp进行编程时,页中的所有单元将具有以下两种状态之一:1或0。任何单元的初始状态为1。要将单元更改为0,则施加编程脉冲到单元。对于16k页,可以有148,736个单元。在编程期间,系统可以尝试平衡0和1的数目,以使经可靠编程的页中的0和1的数目几乎相同(例如,单元的阈值数目或百分比内,例如20%、10%、5%等)。处于所述阈值内的经编程页被称为“分布良好”。因此,在经可靠编程的、分布良好的16k页中,大约一半的单元(例如74,368个单元)将从初始状态1的状态转变为0。

xp和up将总共具有两个位,这允许四个可能的状态:11、01、00和10。对于xp和up编程,可以假设几乎一半的状态转变将从lp状态1开始,并且另一半将从lp状态0开始。最终,所有单元将具有八个可能的状态,并且系统可以尝试分布所有的单元以使所有八个状态分布良好。

取决于xp和up的值,从lp的状态1开始,xp和up可以从11转变为01、00和10。从lp的状态0开始,存储器单元从100开始-这意味着xp为1。在完成从lp的状态1转换之前,这些位将不会被移动-因此,xp的位将保持在1。从lp的状态1开始,3/4*1/2*148736=55776个单元可以离开状态111以移至状态011、001和101之一。在编程期间,将近55776个额外页位为0。

在从lp的状态1几乎完成编程之后,nand将为lp的状态0编程。基于额外页和上页的值,xp/up将从10到00,再到01,最后以11结束。最终,额外页将几乎有一半(74368)的位设置为零。在具有不同数目的存储器单元的物理页中,阈值将相对于物理页中的存储器单元的数目移动,然而,上文描述的关系应保持不变。

在一些实例中,在apl之后nand控制器可以使用零的数目来确定是否需要将虚拟填充数据编程到伪编程页中,以便避免将虚拟数据重复写入到伪编程页中(例如,在背对背apl之后)。读取页后,系统可以直接获取零的数目。如果零的数目小于第一阈值(例如67266,55776与74368之间的黄金分割等),则系统可以对页中的填充虚拟数据进行编程,否则系统可以制止对其它虚拟数据进行编程。通过利用零的数目快速确定是否需要填充虚拟数据,系统可以避免重复写入填充虚拟数据并且避免其它单元的后续损失。在其它实例中,取决于物理页的大小和与每一单元相关联的页数目,其它数目的零可以用作阈值(例如,对于不同大小的页以及例如mlc、qlc等不同级别的编程,阈值可以不同)。尽管本文中针对零进行了描述,但是应理解,除零的数目之外或代替零的数目,也可以据此使用一的数目。

图3示出根据本公开的一些实例存储系统的控制电路系统确定是否向第一物理页写入虚拟值的方法300的流程图。例如,图3的方法可以通过例如图1描述的存储系统110、通过例如图5描述的存储器装置500、通过图6描述的机器600或本文描述的一或多个其它控制电路系统或存储系统来执行。

在操作301,nand装置可以确定上次关机是异步功率损耗(apl)。例如,可以在nand或其它非易失性存储器中设置一个位,在同步功率损耗时清除所述位。启动时,将检查所述位以确定上次关机是否同步。如果设置了所述位,则可以假设上次关机是一或多个apl。在操作302,响应于确定发生了apl,系统可以可选地确定上次编程的页中的一或多者是否是伪编程页。如果上次编程的页中的一或多者被确定为伪编程页,则在操作303,系统可以读取存储器单元以确定存储在上次写入的页中(例如,可选地在一或多个所确定的伪编程页中等)的零的数目。在操作304,系统可以将确定的零的数目与阈值进行比较。在一些实例中,阈值可以基于页中的单元的数目和单元中的级别的数目,如上所述。

在操作305,如果零的数目不大于阈值,则系统可以将虚拟数据写入页(例如,直到页中的零的数目达到或超过阈值)。在操作306,如果零的数目大于阈值,则系统可以制止将虚拟数据写入页。

如前所述,nand装置,例如本文所述的利用页中的零数目的计数来确定是否在apl之后写入虚拟数据的那些nand装置,可以用于各种电子装置中。电子装置,例如移动电子装置(例如,智能手机、平板电脑等)、用于汽车应用的电子装置(例如,汽车传感器、控制单元、驾驶员辅助系统、乘客安全或舒适系统等)和因特网连接的电器或装置(例如,物联网(iot)装置等),具有取决于尤其电子装置的类型、使用环境、性能期望等而变化的存储需要。

图4示出例如图1所示且上文关于图2和3描述的3dnand架构半导体存储器阵列400的实例示意图,存储器阵列400包含以块(例如,块a401a、块b401b等)和子块(例如,子块a0401a0、子块an401an、子块b0401b0、子块bn401bn等)组织的多个存储器单元串(例如,第一到第三a0存储器串405a0-407a0、第一到第三an存储器串405an-407an、第一到第三b0存储器串405b0-407b0、第一到第三bn存储器串405bn-407bn等)。存储器阵列400表示在存储器装置的块、装置或其它单元中通常将找到的较大数目的相似结构的一部分。

每一存储器单元串包含若干层的存储晶体管(例如,浮动栅极、替换栅极、电荷捕集结构等),所述存储晶体管在z方向上以源极到漏极方式堆叠于源极线(src)435或源极侧选择栅极(sgs)(例如,第一到第三a0sgs431a0-433a0、第一到第三ansgs431an-433an、第一到第三b0sgs431b0-433b0、第一到第三bnsgs431bn-433bn等)与漏极侧选择栅极(sgd)(例如,第一到第三a0sgd426a0-428a0、第一到第三ansgd426an-428an、第一到第三b0sgd426b0-428b0、第一到第三bnsgd426bn-428bn等)之间。3d存储器阵列中的每一存储器单元串可以沿x方向布置为数据线(例如,位线(bl)bl0-bl3420-422),并且沿y方向布置为物理页。

在物理页内,每一层表示一行存储器单元,且每一存储器单元串表示列。子块可以包含一或多个物理页。块可以包含多个子块(或物理页)(例如,128、256、384等)。虽然本文中示出为具有两个块,每一块具有两个子块,每一子块具有单个物理页,每一物理页具有三个存储器单元串,且每串具有8层存储器单元,但在其它实例中,存储器阵列400可以包含更多或更少的块、子块、物理页、存储器单元串、存储器单元或层。例如,每一存储器单元串按需要可以包含更多或更少层(例如,16、32、64、128等),以及存储晶体管(例如,选择栅极、数据线等)上方或下方的额外的一或多层半导体材料。例如,48gbtlcnand存储器装置可以包含每页18,592字节(b)的数据(16,384+2208字节)、每块1536个页、每平面548个块,和每装置4个或更多个平面。

存储器阵列400中的每一存储器单元包含耦合到(例如,电连接或以其它方式可操作地连接到)存取线(例如,字线(wl)wl00-wl70410a-417a、wl01-wl71410b-417b等)的控制栅极(cg),所述存取线根据需要将控制栅极(cg)共同耦合在特定层或层的一部分上。可以使用各个存取线来存取或控制3d存储器阵列中的特定层且因此串中的特定存储器单元。可以使用各种选择线存取多组选择栅极。例如,可以使用a0sgd线sgda0425a0存取第一到第三a0sgd426a0-428a0,可以使用ansgd线sgdan425an存取第一到第三ansgd426an-428an,可以使用b0sgd线sgdb0425b0存取第一到第三b0sgd426b0-428b0,并且可以使用bnsgd线sgdbn425bn存取第一到第三bnsgd426bn-428bn。可以使用栅极选择线sgs0430a存取第一到第三a0sgs431a0-433a0和第一到第三ansgs431an-433an,并且可以使用栅极选择线sgs1430b存取第一到第三b0sgs431b0-433b0和第一到第三bnsgs431bn-433bn。

在实例中,存储器阵列400可以包含多个层级的半导体材料(例如,多晶硅等),其经配置以耦合阵列的相应层的每一存储器单元的控制栅极(cg)或选择栅极(或cg或选择栅极的一部分)。可以使用位线(bl)和选择栅极等的组合来存取、选择或控制阵列中的特定存储器单元串,且可使用一或多个存取线(例如,字线)来存取、选择或控制特定串中的一或多个层的特定存储器单元。

在nand架构半导体存储器阵列中,可以通过感测与含有所选存储器单元的特定数据线相关联的电流或电压变化来存取所选存储器单元的状态。可以使用一或多个驱动器(例如,通过控制电路、一或多个处理器、数字逻辑等)存取存储器阵列400。在实例中,一或多个驱动器可以通过取决于待对特定存储器单元或存储器单元集执行的所需操作的类型而驱动特定电位到一或多个数据线(例如,位线bl0-bl2)、存取线(例如,字线wl0-wl7)或选择栅极来激活特定存储器单元或存储器单元集。

为了将数据编程或写入存储器单元,可以将编程电压(vpgm)(例如,一或多个编程脉冲等)施加到所选字线(例如,wl40),并且因此施加到耦合到所选字线的每一存储器单元的控制栅极。编程脉冲可以例如在15v处或附近开始,并且在某些实例中,可以在每一编程脉冲施加期间增加幅度。当将编程电压施加到所选字线时,可以将例如地电位(例如,vss)的电位施加到数据线(例如,位线)和以编程为目标的存储器单元的衬底(以及因此源极与漏极之间的通道),导致从通道到目标存储器单元的浮动栅极的电荷转移(例如,直接注入或福勒-诺德海姆(fn)隧穿等)。

相比之下,可以将传递电压(vpass)施加到具有并不以编程为目标的存储器单元的一或多个字线,或者可以将禁止电压(例如,vcc)施加到具有并不以编程为目标的存储器单元的数据线(例如,位线),以例如禁止电荷从通道传送到这些非目标存储器单元的浮动栅极。传递电压可以例如取决于施加的传递电压与以编程为目标的字线的接近度而变化。禁止电压可以包含电源电压(vcc),例如,相对于地电位(例如,vss)来自外部源或电源(例如,电池、ac-dc转换器等)的电压。

作为实例,如果将编程电压(例如,15v或更高)施加到特定字线,例如wl40,则可以将10v的传递电压施加到一或多个其它字线,例如wl30、wl50等,用于禁止非目标存储器单元的编程,或者保留存储在此类并不以编程为目标的存储器单元上的值。随着施加的编程电压与非目标存储器单元之间的距离增加,制止对非目标存储器单元进行编程所需的传递电压可减小。例如,在将15v的编程电压施加到wl40的情况下,可以将10v的传递电压施加到wl30和wl50,可以将8v的传递电压施加到wl20和wl60,可以将7v的传递电压施加到wl10和wl70等。在其它实例中,传递电压或字线的数量等可以更高或更低、或更大或更小。

感测放大器可以耦合到数据线中的一或多者(例如,第一、第二或第三位线(bl0-bl2)420-422),可以通过感测特定数据线上的电压或电流而检测各个数据线中的每一存储器单元的状态。

在一或多个编程脉冲(例如,vpgm)的施加之间,可以执行验证操作以确定所选存储器单元是否已达到其预期经编程状态。如果所选存储器单元已达到其预期经编程状态,则可以禁止其进一步编程。如果所选存储器单元尚未达到其预期经编程状态,则可以施加额外编程脉冲。如果在特定数量的编程脉冲(例如,最大数量)之后所选存储器单元尚未达到其预期经编程状态,则可以将所选存储器单元或与此类所选存储器单元相关联的串、块或页标记为有缺陷。

为了擦除存储器单元或一组存储器单元(例如,擦除通常以块或子块执行),可以(例如,使用一或多个位线、选择栅极等)将擦除电压(vers)(例如,通常vpgm)施加到以擦除为目标的存储器单元的衬底(以及因此源极与漏极之间的通道),同时目标存储器单元的字线保持在例如地电位(例如,vss)的电位,从而导致从目标存储器单元的浮动栅极到通道的电荷转移(例如,直接注入或福勒-诺德海姆(fn)隧穿等)。

图5示出存储器装置500的实例框图,例如上文关于图1和4所描述的,其包含具有多个存储器单元504的存储器阵列502,以及提供与存储器阵列502的通信或执行所述存储器阵列上的一或多个存储器操作的一个或多个电路或组件。尽管示出为具有单个存储器阵列502,但在其它实例中,本文中可以包含一或多个额外存储器阵列、裸片或lun。在某些实例中,在具有多个裸片或lun的存储系统中,存储器装置500可以表示每一裸片或lun的电路和组件的框图。存储器装置500可以包含行解码器512、列解码器514、感测放大器520、页缓冲器522、选择器524、输入/输出(i/o)电路526和存储器控制单元530。

存储器阵列502的存储器单元504可以以块布置,例如第一块502a和第二块502b。每一块可以包含子块。例如,第一块502a可以包含第一子块502a0和第二子块502an,并且第二块502b可以包含第一子块502b0和第二子块502bn。每一子块可以包含多个物理页,每一页包含多个存储器单元504。尽管在本文中被示为具有两个块,每一块具有两个子块,并且每一子块具有多个存储器单元504,但是在其它实例中,存储器阵列502可以包含更多或更少的块、子块、存储器单元等。在其它实例中,存储器单元504可以以多个行、列、页、子块、块等布置,并使用例如存取线506,第一数据线510或一或多个选择栅极、源极线等进行存取。

存储器控制单元530可以根据在控制线532上接收到的一或多个信号或指令来控制存储器装置500的存储器操作,所述一或多个信号或指令包含例如指示所需操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号,或在一或多个地址线516上接收到的地址信号(a0-ax)。在存储器装置500外部的一或多个装置可以控制控制线532上的控制信号或地址线516上的地址信号的值。在存储器装置500外部的装置的实例可以包含但不限于主机、存储器控制器、处理器或图5中未示出的一或多个电路或组件。

存储器装置500可以使用存取线506和第一数据线510将数据传送(例如,写入或擦除)到存储器单元504中的一或多个或从所述存储器单元中的一或多个传送(例如,读取)数据。行解码器512和列解码器514可以从地址线516接收地址信号(a0到ax)并对其进行解码,可以确定将存取哪个存储器单元504,并且可以向存取线506(例如,多个字线(wl0-wlm)中的一或多个)或第一数据线510(例如,多个位线(bl0-bln)中的一或多个)中的一或多个提供信号,如上所述。

存储器装置500可以包含如感测放大器520的感测电路系统,其配置成使用第一数据线510来确定(例如,读取)存储器单元504上的数据的值,或确定待写入到所述存储器单元的数据的值。例如,在所选串存储器单元504中,响应于在存储器阵列502中流动通过所选串至数据线510的读取电流,一或多个感测放大器520可以读取所选存储器单元504中的逻辑电平。

在存储器装置500外部的一或多个装置可以使用i/o线(dq0-dqn)508、地址线516(a0-ax)或控制线532与存储器装置500通信。输出(i/o)电路526可以例如根据控制线532和地址线516,使用i/o线508将数据值传入或传出存储器装置500,例如传入或传出页缓冲器522或存储器阵列502。页缓冲器522可以在数据被编程到存储器阵列502的相关部分中之前存储从存储器装置500外部的一或多个装置接收的数据,或者可以在将数据传输到存储器装置500外部的一或多个装置之前存储从存储器阵列502中读取的数据。

列解码器514可以接收地址信号(a0-ax)并将其解码为一或多个列选择信号(csel1-cseln)。选择器524(例如,选择电路)可以接收列选择信号(csel1-cseln),并且在页缓冲器522中选择表示要从存储器单元504读取或要编程到所述存储器单元中的数据的值的数据。可以使用第二数据线518在页缓冲器522与i/o电路526之间传送所选数据。

存储器控制单元530可以从外部源或电源(例如,内部或外部电池、ac到dc转换器等)接收正和负电源信号,例如电源电压(vcc)534和负电源(vss)536(例如,地电位)。在某些实例中,存储器控制单元530可以包含调节器528以在内部提供正或负电源信号。

图6示出可以并入存储器装置(或更大的存储器系统)的实例系统的实例机器600的框图,存储器装置例如关于图1的系统、图4的阵列或图5的存储器装置描述的那些,其经配置以实施本文讨论的任何一或多种技术(例如,方法),例如参考图3论述的方法。在替代实施例中,机器600可以用作独立的装置或可以连接(例如,联网)到其它机器。在联网部署中,机器600可以在服务器-客户端网络环境中作为服务器机器、客户端机器或两者操作。在实例中,机器600可以充当对等式(p2p)(或其它分布式)网络环境中的对等式机器。机器600可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、网络器具、iot装置、汽车系统,或能够(依序或以其它方式)执行指定将由所述机器采取的动作的指令的任何机器。此外,虽然仅示为单一机器,但术语“机器”也将被视为包含个别地或共同地执行指令集(或多个集合)以执行本文中所论述的方法中的任何一或多种(例如,云计算、软体即服务(saas)、其它计算机集群配置)的任何机器集合。

如本文中所描述,实例可以包含逻辑、组件、装置、封装或机制,或者可以通过逻辑、组件、装置、封装或机制操作。电路系统是在包含硬件(例如,简单电路、栅极、逻辑等)的有形实体中实施的电路的总集(例如,集合)。电路系统成员可以随时间推移和基础硬件变化而为灵活的。电路系统包含当操作时可单独或组合地执行特定任务的部件。在实例中,可以不可改变地设计电路系统的硬件以实行特定操作(例如,硬连线)。在实例中,电路系统的硬件可以包含可变连接的物理组件(例如,执行单元、晶体管、简单电路等),所述物理组件包含以物理方式修改(例如,不变集中式粒子的磁性、电气可移动放置等)以对特定操作的指令进行编码的计算机可读媒体。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变成导体,或反之亦然。指令使得参与的硬件(例如,执行单元或加载机制)能够经由可变连接产生硬件中的电路系统部件以当在操作中时实行特定任务的部分。因此,当装置操作时计算机可读媒体以通信方式耦合到电路系统的其它组件。在实例中,物理组件中的任一个可以用于多于一个电路中的多于一个部件中。例如,在操作时,执行单元可以在一个时间点用于第一电路系统的第一电路,并且由第一电路系统中的第二电路再使用,或在不同时间由第二电路系统中的第三电路再使用。

机器(例如,计算机系统、主机系统等)600可以包含处理装置602(例如,硬件处理器、中央处理单元(cpu)、图形处理单元(gpu),硬件处理器核心或其任何组合等)、主存储器604(例如,只读存储器(rom)、动态随机存取存储器(dram),例如同步dram(sdram)或rambusdram(rdram)等)、静态存储器606(例如,静态随机存取存储器(sram)等),以及存储系统618,其中的一些或全部可以经由通信接口(例如,总线)630彼此通信。

处理装置602可以表示一或多个通用处理装置,例如微处理器、中央处理单元等。更确切地说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置602还可以是一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置602可经配置以执行用于实施本文中所论述的操作和步骤的指令626。计算机系统600可进一步包含通过网络620通信的网络接口装置608。

存储系统618可以包含机器可读存储媒体(也称为计算机可读媒体),其上存储有指令626的一或多个集或体现本文中所描述的任何一或多种方法或功能的软件。指令626还可以在由计算机系统600执行期间完全或至少部分地驻存在主存储器604内或处理装置602内,主存储器604和处理装置602也构成机器可读存储媒体。

术语“机器可读存储媒体”应被认为包含存储指令的一或多个集的单个媒体或多个媒体,或能够存储或编码指令集以供机器执行并且使机器执行本公开的任何一或多种方法的任何媒体。术语“机器可读存储媒体”因此应被视为包含但不限于固态存储器、光学媒体和磁性媒体。在实例中,集中式机器可读媒体包括具有多个粒子的机器可读媒体,所述粒子具有不变(例如,静止)质量。因此,集中式机器可读媒体是非暂时性传播信号。集中式机器可读媒体的具体实例可以包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(eprom)或电可擦除可编程只读存储器(eeprom))和快闪存储器装置;磁盘,例如内部硬盘和可移动盘;磁光碟;以及cd-rom和dvd-rom盘。

机器600可以进一步包含显示单元、字母数字输入装置(例如,键盘)和用户界面(ui)导航装置(例如,鼠标)。在实例中,显示单元、输入装置或ui导航装置中的一或多者可以是触摸屏显示器。机器是信号生成装置(例如,扬声器),或一或多个传感器,例如全球定位系统(gps)传感器、罗盘、加速计或一或多个其它传感器。机器600可以包含输出控制器,例如串行(例如,通用串行总线(usb)、并行或其它有线或无线(例如,红外(ir)、近场通信(nfc)等)连接,以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。

指令626(例如,软件、程序、操作系统(os)等)或存储系统618上存储的其它数据可以由主存储器604存取以供处理装置602使用。主存储器604(例如,dram)通常是快速但易失性的,且因此是与存储系统618(例如,ssd)不同类型的存储装置,其适合于长期存储,包括处于“关闭”状态时。供用户或机器600使用的指令626或数据通常加载在主存储器604中,以供处理装置602使用。当主存储器604已满时,可分配来自存储系统618的虚拟空间以补充主存储器604;然而,因为存储系统618装置通常比主存储器604慢且写入速度通常比读取速度慢至少两倍,因此使用虚拟存储器会由于存储系统等待时间(相比于主存储器604,例如dram)而大大降低用户体验。此外,将存储系统618用于虚拟存储器会大大减少存储系统618的可用寿命。

可以进一步利用多个传送协议中的任一者(例如,帧中继、因特网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)、超文本传送协议(http)等)经由网络接口装置608使用传输媒体在通信网络620上传输或接收指令624。实例通信网络可以包含局域网(lan)、广域网(wan)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(pots)网络和无线数据网络(例如,称为的电气电子工程师学会(ieee)802.11系列标准、称为的ieee802.16系列标准)、ieee802.15.4系列标准、同级间(p2p)网络,以及其它网络。在实例中,网络接口装置608可以包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到通信网络620。在实例中,网络接口装置608可以包含多个天线以使用单输入多输出(simo)、多输入多输出(mimo)或多输入单输出(miso)技术中的至少一者无线地通信。术语“传输媒体”应被认为包含能够存储、编码或载送指令以由机器600执行的任何无形媒体,且包含有助于此类软件的通信的数字或模拟通信信号或其它无形媒体。

以上详细描述包含对附图的参考,所述附图形成所述详细描述的一部分。所述图式借助于说明展示可实践本发明的特定实施例。这些实施例在本文中也称为“实例”。此类实例可以包含除了所示出或所描述的那些元件之外的元件。然而,本发明人还预期其中仅提供所示出或所描述的那些元件的实例。此外,本发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文展示或描述的其它实例(或其一或多个方面)展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。

在本文件中参考的所有公开案、专利和专利文献以全文引用的方式并入本文中,就如同以引用的方式分别地并入一般。在本文件与以引用方式并入的那些文献之间发生用法不一致的情况下,所并入的参考文献中的用法应被视为补充本文件的用法;对于不可调和的不一致,本文件中的用法起主导作用。

在本文件中,如专利文件中所常见而使用术语“一”以包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或使用。在本文件中,术语“或”用于指代非排它性或,使得除非另有指示,否则“a或b”包含“a而非b”、“b而非a”以及“a和b”。在所附权利要求书中,术语“包含”和“在其中”用作相应术语“包括”和“其中”的简明等效用语。另外,在所附权利要求书中,术语“包含”和“包括”是开放式的,也就是说,权利要求中除了此类术语之后列出的元件之外还包含其它元件的系统、装置、物品或过程仍视为属于所述权利要求的范围。此外,在所附权利要求书中,术语“第一”、“第二”和“第三”等仅用作标记,且并不在于对其对象施加数字要求。

在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可以包含存储于物理装置上的物理电路系统或固件等。如本文中所使用,“处理器”意指任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、数字信号处理器(dsp),或任何其它类型的处理器或处理电路,包含处理器或多核心装置群组。

如在本文件中所使用的术语“水平”被定义为平行于衬底的常规平面或表面的平面,例如下伏于晶片或裸片的常规平面或表面,而无论在任一时间点所述衬底的实际定向如何。术语“竖直”是指垂直于如上定义的水平的方向。例如“上”、“上方”和“下方”等介词是相对于常规平面或表面在衬底的顶部或暴露表面上而定义,而无论衬底的定向如何;且同时“上”既定表明一个结构相对于其位于其“上”的另一结构的直接接触(无做出相反指示的表达的存在下);术语“上方”和“下方”明确地既定识别结构(或层、特征等)的相对放置,其明确地包含(但不限于)所识别结构之间的直接接触,除非具体来说如此指示。类似地,术语“上方”和“下方”不限于水平定向,因为如果结构在某个时间点是所讨论的构造的最外部分,那么即使所述结构相对于参考结构竖直延伸而不是在水平定向上延伸,此结构也可在参考结构“上方”。

本文中使用术语“晶片”和“衬底”来大体上指集成电路形成于其上的任何结构,并且还指在集成电路制造的各个阶段期间的这些结构。因此,以下详细描述不应以限制性意义来理解,并且各种实施例的范围仅由所附权利要求书连同此权利要求书授权的等效物的完整范围定义。

根据本公开且在本文中描述的各种实施例包含使用存储器单元的竖直结构(例如,nand存储器单元串)的存储器。如本文中所使用,将采用相对其上形成有存储器单元的衬底表面的方向性形容词(即,竖直结构将被视为远离衬底表面而延伸,竖直结构的底端将被视为最接近衬底表面的端部,并且竖直结构的顶端将被视为最远离衬底表面的端部)。

如本文中所使用,方向性形容词(例如水平、竖直、正交、平行、垂直等)可指相对定向,并且除非另外指出,否则并不意图需要严格遵守具体几何性质。例如,如本文所使用,竖直结构无需精确地垂直于衬底的表面,而是可替代地大体上垂直于衬底的表面,并且可以与衬底的表面形成锐角(例如在60度与120度之间等)。

在本文描述的一些实施例中,可以将不同掺杂配置应用于选择栅源(sgs)、控制栅极(cg)和选择栅漏(sgd),其中的每一者在此实例中可以由多晶硅形成或至少包含多晶硅,结果使得这些层(例如多晶硅等)在暴露于蚀刻溶液时可具有不同蚀刻速率。例如,在3d半导体装置中形成单片支柱的过程中,sgs和cg可以形成凹部,而sgd可以保持较少凹入或甚至不凹入。这些掺杂配置因此可以通过使用蚀刻溶液(例如,四甲基铵氢氧化物(tmch))实现进入3d半导体装置中的相异层(例如,sgs、cg和sgd)中的选择性蚀刻。

如本文所使用,操作存储器单元包含从存储器单元读取、对存储器单元写入或擦除存储器单元。使存储器单元置于既定状态中的操作在本文中称为“编程”,且可以包含对存储器单元写入或从存储器单元擦除两者(即,存储器单元可经编程为擦除状态)。

根据本公开的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清除、传达、调适、导出、限定、利用、修改、施加等)一定数量的磨损循环或磨损状态(例如,记录磨损循环、当其发生时对存储器装置的操作计数、跟踪其起始的存储器装置的操作、评估对应于磨损状态的存储器装置特性等)。

根据本公开的一或多个实施例,存储器存取装置可经配置以关于每一存储器操作将磨损循环信息提供到存储器装置。存储器装置控制电路系统(例如,控制逻辑)可经编程以补偿对应于磨损循环信息的存储器装置性能改变。存储器装置可以接收磨损循环信息且响应于磨损循环信息确定一或多个操作参数(例如,值、特性)。

将理解,当元件被称作“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件直接连接或耦合,或可存在中间元件。相比之下,当元件被称为“直接在另一元件上”、“直接连接到另一元件”或“直接与另一元件耦合”时,不存在中间元件或层。如果两个元件在图式中展示为被线连接,那么除非另外指明,否则所述两个元件可耦合或直接耦合。

本文描述的方法实例可以至少部分地由机器或计算机实施。一些实例可以包含编码有指令的计算机可读媒体或机器可读媒体,所述指令可用于配置电子装置以执行如在以上实例中所描述的方法。这类方法的实施方案可以包含代码,如微码、汇编语言代码、高级语言代码等。这类代码可以包括用于执行各种方法的计算机可读指令。代码可以形成计算机程序产品的一部分。此外,代码可例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可以包含但不限于硬盘、可移动磁盘、可移动光盘(例如,光盘和数字视频磁盘)、盒式磁带、存储卡或棒、随机存取存储器(ram)、只读存储器(rom)等。

实例1是一种存储系统,其包括:至少一个非易失性存储器装置,其包括以物理页组织的多个存储器单元;以及控制电路系统,其耦合到所述至少一个非易失性存储器装置,所述控制电路系统经配置以:响应于在所述存储系统处检测到的异步功率损耗(apl),确定第一物理页的存储器单元中存储的零的数目;以及使用所述第一物理页中确定的零的数目来确定是否将虚拟数据写入所述第一物理页。

在实例2中,根据实例1所述的主题,其中响应于所述检测到的apl,所述控制电路系统经配置以检测一或多个伪编程页,其中所述第一物理页是检测到的伪编程页。

在实例3中,根据实例1到2中任一项所述的主题,其中所述控制电路系统经配置以在从低功率状态恢复操作时检测此类低功率状态是否是apl。

在实例4中,根据实例1到3中任一项所述的主题,其中所述第一物理页的存储器单元中的每一存储器单元包括下页(lp)、上页(up)和额外页(xp),其中为了确定所述第一物理页的存储器单元中存储的零的所述数目,所述控制电路系统经配置以确定所述第一物理页的存储器单元中的所述存储器单元的所述xp中存储的零的数目,并且其中为了确定是否将虚拟数据写入所述第一物理页,所述控制电路系统经配置以确定是否将虚拟数据写入所述第一物理页的存储器单元中的存储器单元的所述xp。

在实例5中,根据实例4所述的主题,其中为了确定所述第一物理页的存储器单元中的所述存储器单元的所述xp中存储的零的所述数目,所述控制电路系统经配置以读取所述第一物理页的存储器单元的所述xp中存储的值。

在实例6中,根据实例1到5中任一项所述的主题,其中为了确定是否将虚拟数据写入所述第一物理页,所述控制电路系统经配置以将所述确定的零的数目与阈值进行比较,并且其中所述控制电路经配置以在零的所述数目超过所述阈值的情况下将虚拟数据写入所述第一物理页的存储器单元。

在实例7中,根据实例6所述的主题,其中所述阈值是所述第一物理页中的存储器单元的数目和所述多个存储器单元中的位的数目的函数。

在实例8中,根据实例1到7中任一项所述的主题,其中为了确定是否将虚拟数据写入所述第一物理页,所述控制电路系统经配置以将所述确定的零的数目与阈值进行比较,并且其中所述控制电路经配置以在零的所述数目未超过所述阈值的情况下制止将虚拟数据写入所述第一物理页的存储器单元。

实例9是一种由包括至少一个非易失性存储器装置的存储系统的控制电路系统实施的方法,所述非易失性存储器装置包括以物理页组织的多个存储器单元,所述方法包括:检测所述存储系统处的异步功率损耗(apl);响应于检测到的apl,确定所述存储系统的第一物理页的存储器单元中存储的零的数目;以及使用所述第一物理页中确定的零的数目来确定是否将虚拟数据写入所述第一物理页。

在实例10中,根据实例9所述的主题,其包括:响应于所述检测到的apl,检测一或多个伪编程页,其中确定所述第一物理页中存储的零的所述数目包括响应于检测到的一或多个伪编程页,其中所述第一物理页的存储器单元是所述检测到的一或多个伪编程页中的一者。

在实例11中,根据实例9到10中任一项所述的主题,其中检测所述apl包括在从低功率状态恢复操作时检测此类低功率状态是否是apl。

在实例12中,根据实例9到11中任一项所述的主题,其中所述第一物理页的存储器单元中的每一存储器单元包括下页(lp)、上页(up)和额外页(xp),其中确定所述第一物理页的存储器单元中存储的零的所述数目包括:确定所述第一物理页的存储器单元中的所述存储器单元的所述xp中存储的零的数目,并且其中确定是否将虚拟数据写入所述第一物理页包括:确定是否将虚拟数据写入所述第一物理页的存储器单元中的存储器单元的所述xp。

在实例13中,根据实例12所述的主题,其中确定所述第一物理页的存储器单元中的所述存储器单元的所述xp中存储的零的所述数目包括:读取所述第一物理页的存储器单元的所述xp中存储的值。

在实例14中,根据实例9到13中任一项所述的主题,其中确定是否将虚拟数据写入所述第一物理页包括:将所述确定的零的数目与阈值进行比较;以及在零的所述数目超过所述阈值的情况下将虚拟数据写入所述第一物理页的存储器单元。

在实例15中,根据实例14所述的主题,其中所述阈值是所述第一物理页中的存储器单元的数目和所述多个存储器单元中的位的数目的函数。

在实例16中,根据实例9到15中任一项所述的主题,其中确定是否将虚拟数据写入所述第一物理页包括:将所述确定的零的数目与阈值进行比较;以及在零的所述数目未超过所述阈值的情况下制止将虚拟数据写入所述第一物理页的存储器单元。

实例17是至少一种非暂时性装置可读存储媒体,其包括指令,所述指令当由存储系统的控制电路系统执行时使所述控制电路系统执行以下操作,包括:检测所述存储系统处的异步功率损耗(apl);响应于检测到的apl,确定所述存储系统的第一物理页的存储器单元中存储的零的数目;以及使用所述第一物理页中确定的零的数目来确定是否将虚拟数据写入所述第一物理页。

在实例18中,根据实例17所述的主题,其中所述操作进一步包括:响应于所述检测到的apl,检测一或多个伪编程页,其中确定所述第一物理页中存储的零的所述数目包括响应于检测到的一或多个伪编程页,其中所述第一物理页的存储器单元是所述检测到的一或多个伪编程页中的一者。

在实例19中,根据实例17到18中任一项所述的主题,其中检测所述apl包括在从低功率状态恢复操作时检测此类低功率状态是否是apl。

在实例20中,根据实例17到19中任一项所述的主题,其中所述第一物理页的存储器单元中的每一存储器单元包括下页(lp)、上页(up)和额外页(xp),其中确定所述第一物理页的存储器单元中存储的零的所述数目包括:确定所述第一物理页的存储器单元中的所述存储器单元的所述xp中存储的零的数目,并且其中确定是否将虚拟数据写入所述第一物理页包括:确定是否将虚拟数据写入所述第一物理页的存储器单元中的存储器单元的所述xp。

在实例21中,根据实例20所述的主题,其中确定所述第一物理页的存储器单元中的所述存储器单元的所述xp中存储的零的所述数目包括:读取所述第一物理页的存储器单元的所述xp中存储的值。

在实例22中,根据实例17到21中任一项所述的主题,其中确定是否将虚拟数据写入所述第一物理页包括:将所述确定的零的数目与阈值进行比较;以及在零的所述数目超过所述阈值的情况下将虚拟数据写入所述第一物理页的存储器单元。

在实例23中,根据实例22所述的主题,其中所述阈值是所述第一物理页中的存储器单元的数目和所述多个存储器单元中的位的数目的函数。

在实例24中,根据实例17到23中任一项所述的主题,其中确定是否将虚拟数据写入所述第一物理页包括:将所述确定的零的数目与阈值进行比较;以及在零的所述数目未超过所述阈值的情况下制止将虚拟数据写入所述第一物理页的存储器单元。

在实例25中,主题(例如,系统或设备)可以可选地组合实例1到24中的任何一或多项的任何部分或任何部分的组合,以包括用于执行实例1到24的功能或方法中的任何一或多者的任何部分的“装置”,或至少一种包含当由机器执行时使所述机器执行实例1到24的功能或方法中的任何一或多者的任何部分的指令的“非暂时性机器可读介质”。

上文描述意为说明性的,而不是限定性的。例如,上述实例(或其一或多个方面)可以彼此组合使用。例如所属领域的普通技术人员在查阅以上描述后可使用其它实施例。提供摘要以符合37c.f.r.§1.72(b),从而允许阅读者快速确定技术公开的性质。在理解以下的情况下进行提交:其将不会用于解释或限制权利要求书的范围或含义。另外,在以上具体实施方式中,可将各种特征分组在一起以简化本发明。不应将此情况解释为希望未要求保护的公开特征对任何权利要求来说是必需的。实际上,发明主题可在于比特定所公开实施例的所有特征要少。因此,特此将以下技术方案并入到详细描述中,其中每一技术方案作为单独实施例而独立存在,且预期这类实施例可以各种组合或排列形式彼此组合。本发明的范围应该通过参考所附的权利要求书以及所述权利要求书所授予的等效物的完整范围来确定。

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