读取错误恢复的制作方法

文档序号:23710412发布日期:2021-01-23 17:57阅读:193来源:国知局
读取错误恢复的制作方法
读取错误恢复
[0001]
优先权主张
[0002]
本申请案根据35u.s.c.
§
119(e)主张2018年5月8日提交的第62/668,768号美国临时专利申请的优先权益,所述申请案以全文引用的方式并入本文中。


背景技术:

[0003]
存储器装置是为主机系统(例如计算机或其它电子装置)提供数据的电子存储的半导体电路。存储器装置可为易失性的或非易失性的。易失性存储器需要电力来维护数据,并且包含例如随机存取存储器(ram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)或同步动态随机存取存储器(sdram)之类的装置。非易失性存储器可在未供电时保留所存储的数据,且包含例如快闪存储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)、电阻可变存储器的装置,电阻可变存储器例如是相变随机存取存储器(pcram)、电阻随机存取存储器(rram)或磁阻随机存取存储器(mram)等等。
[0004]
主机系统可包含主机装置,所述主机装置包含主机处理器和支持所述主机处理器的第一量的主机存储器(例如,主存储器,通常是易失性存储器,例如dram),以及一或多个存储系统(例如,通常是非易失性存储器,例如快闪存储器),其提供额外的存储以保留除主机存储器之外或与主机存储器不同的数据。
[0005]
例如固态驱动器(ssd)的存储系统可包含存储器控制器和一或多个存储器装置,包含多个(例如,多个)存储器裸片或逻辑单元(lun)。在某些实例中,每一存储器裸片可包含多个存储器阵列和其上的外围电路系统,例如裸片逻辑或裸片处理器。存储器控制器可包含接口电路系统,其配置成通过通信接口(例如双向并行或串行通信接口)与主机装置(例如主机处理器或接口电路系统)通信。存储器控制器可从主机装置接收与存储器操作或指令相关联的命令或操作,例如在存储器装置与主机装置之间传送数据(例如,用户数据和相关联的完整性数据,例如错误数据或地址数据等)的读取或写入操作,从存储器装置擦除数据的擦除操作,执行驱动器管理操作(例如,数据迁移、垃圾收集、块引退)等。
[0006]
软件(例如程序)、指令、操作系统(os)和其它数据通常存储在存储系统上,且由主存储器存取以供主机处理器使用。主存储器(例如,ram)通常比存储系统的大多数存储器装置(例如,非易失性的,例如ssd等)更快、更昂贵并且具有不同类型的存储器(例如,易失性)。除了主存储器之外,主机系统可包含不同形式的易失性存储器,例如一组静态存储器(例如,高速缓冲存储器,通常是sram),其通常比主存储器快,在某些实例中,经配置以在接近或超过主机处理器速度的速度下操作,但具有较低的密度和较高的成本。
附图说明
[0007]
本公开借助于实例而非限制在附图的各图中示出,图中相似附图标记指示类似元件。
[0008]
图1示出包含主机装置和存储系统的实例系统。
[0009]
图2说明实例读取错误恢复表。
[0010]
图3示出在存储系统中执行读取错误恢复的实例方法。
[0011]
图4示出3d nand架构半导体存储器阵列的实例示意图。
[0012]
图5示出存储器装置的实例框图。
[0013]
图6示出实例机器的框图,本文中所论述的技术(例如,方法)中的任一个或多个可在所述实例机器上执行。
具体实施方式
[0014]
本公开的方面是针对存储系统中的错误校正,以及确定一或多个错误处置(eh)步骤,例如其中单个eh步骤可能不恢复存储系统的多个码字(cw),但多个eh步骤可恢复所述多个cw中的每一者。此外,本发明的发明人已认识到用以确定eh序列以恢复存储系统中的数据的系统和方法。
[0015]
现代存储系统的控制电路系统(例如包含存储器或装置控制器等),明确地说非易失性存储器装置(例如nand快闪装置等),除传统的读取、编程和擦除操作之外,还执行数个管理功能。管理功能可包含数据重定位、耗损均衡、垃圾收集、错误检测和校正等。频繁对数据进行再定位,以便刷新所存储数据或以其它方式管理存储系统中的数据。
[0016]
在某些实例中,所存储数据的逻辑块地址(lba)可保持静态,而所存储数据的物理地址(pa)可改变。可使用通常在存储系统的易失性存储器(例如静态存储器,例如静态随机存取存储器(sram)、高速缓冲存储器等)中的l2p数据结构(例如l2p映射、表等)中的逻辑到物理(l2p)信息来维持lba与物理地址之间的关系,以便在给定特定lba的情况下,加速对存储系统上的物理地址的存取。虽然可使用l2p数据结构来识别特定lba的pa,但可使用物理到逻辑(p2l)数据结构(例如表等)来识别特定pa的lba。l2p数据结构中的l2p信息(且在某些实例中,p2l数据结构中的p2l信息)通常被称为快闪转译层(ftl)。
[0017]
在实例中,存储系统的控制电路系统(例如,存储系统的存储器或装置控制器)可经配置以管理非易失性存储器在一或多个区或子区中的部分。l2p区和子区可以是逻辑空间中的范围。举例来说,64gb存储系统可划分成64个1gb区。1gb区可划分成16个64mb的子区。如果每一lba是4kb的数据,那么子区可由16,384个连续lba形成,且区可由262,144个连续lba形成。这些数字、范围和大小是说明性的,并且在其它实例中,可使用其它数字、范围和大小。有源区或子区可包含当前由控制电路系统管理的区或子区。
[0018]
许多存储系统将数据写入页中,并擦除块中的数据。每一块含有多个(例如数百、数千等)页。另外,许多存储系统要求在非易失性存储器的页可再次编程之前,将擦除所述页。因此,在可擦除块之前,块中的所有页必须准备好擦除(例如,包含无效数据、已移动有效数据等)。另外,非易失性存储器单元在它们被引退之前具有可容许的特定数目的编程/擦除循环,并且擦除操作比编程操作花费更多时间(例如,约50倍等),并且远远超过读取操作(例如,约500倍等)。此类比率是说明性而不是限制性的,并且可以变化。如本文中所使用,一组存储器单元可包含一页存储器单元,或一或多个其它组,例如块等。
[0019]
当存储在页中的信息需要更新时,存储系统可将所述页标记为无效,并将经更新的信息写入到新的空页,从而更新地址信息以将后续操作引导到所述新页。一旦块中的剩余页被标记为无效,剩余的有效数据已被移动(例如,且l2p信息已被更新)或其某种组合,就可最终擦除原始页。类似地,标记为删除的信息通常被标记为无效,但是保留直到可以另
外的方式擦除块中的所有信息为止。
[0020]
存储系统可能在操作期间经历一或多个错误。举例来说,存储器单元性能可在重复的编程、读取或擦除操作之后降级。也可能在存储系统的操作期间引入错误。从一块存储器单元中的存储器单元读取数据可能导致对附近存储器单元的改变(例如,在周围的多块或多组存储器单元中),这种效应被称为读取扰动(读取干扰)。举例来说,读取干扰错误可响应于移位的电荷分布而出现,例如因将穿通电压(vpass)施加到正读取的存储器单元附近的存储器单元而导致。如果分布的幅度足够大,那么会从存储器单元读取与存储的值不同的值。
[0021]
为了确保可靠的数据存储和恢复,存储系统可具有一或多个错误检测和校正机制,例如通过存储系统的控制电路的错误校正单元(ecu)。举例来说,可为用户数据产生错误校正码(ecc),例如通过将用户值输入到数学公式中,以产生在某些实例中也随所述用户数据存储的ecc值或ecc数据。码字是一组用户数据(k个位)以及包含奇偶性数据等的相关联ecc数据(n个位),从而产生具有(k+n)个位的码字。当检索用户数据时,可将同一或互补数学公式应用于从存储器单元读取的值或应用于所述ecc值或ecc数据。所述ecc值或ecc数据可检测用户数据中的一或多个错误,且在某些实例中,可确定检测到的错误在用户数据中的位置,且校正所述检测到的错误。
[0022]
实例ecc进程包含块码的应用,包含系统性代码或线性代码,例如循环、汉明(hamming)、奇偶或重复代码等。实例ecc进程包含校验和、循环冗余校验(crc)、加密散列、卷积码、turbo码、低密度奇偶校验(ldpc)、里德-所罗门(reed-solomon)码、博斯-乔杜里-霍昆格姆(boss-chaudhuri-hocquenghem,bch)码等。不同ecc进程可检测所存储数据中的不同数目的位错误,且在某些实例中,识别检测到的错误的位置,并校正不同数目的检测到的位错误,例如在共同转让的拉德克(radke)等人的标题为“促进不同深度的错误检测和/或错误校正覆盖的存储器装置(memory devices facilitating differing depths of error detection and/or error correction coverage)”的第9,262,261号美国专利中公开,所述专利的公开内容以全文引用的方式并入本文中。错误处置(eh)步骤可包含一或多个特定ecc进程,且eh序列可包含来自较大一组可能eh步骤的eh步骤或eh步骤的子集的次序。
[0023]
存储系统可实施多种eh机制,基于硬件或软件,以在检测到错误时,校正从存储器单元读取的值。不同eh机制可以不同错误条件为目标。可相对于一或多个错误阈值来描述错误条件。错误阈值可包含多个检测到的错误(例如,一组存储器单元中的位错误),或一或多个错误条件的成功或失败(例如,ecc校验等)。在实例中,读取干扰eh机制是以读取干扰错误为目标,例如通过使读取电压移位以补偿电荷分布的移位。可针对给定错误尝试多种eh机制。每一eh机制可执行不同的操作,且因此可需要不同量的开销。
[0024]
在一些实例中,存储系统可尝试多个eh机制,或一或多个eh机制的多个步骤,以校正检测到的错误,例如在一或多个cw中。可通过预定义的eh序列来指定此类机制的次序。eh序列可在装置制造时以硬件、软件或硬件和软件的组合编程到装置中,并且可由制造商基于各种eh机制的预期使用情况和环境以及历史预期成功率、等待时间和控制器利用率统计来开发。
[0025]
图1说明实例系统(例如主机系统)100,其包含经配置以通过通信接口(i/f)115
(例如双向并行或串行通信接口)进行通信的主机装置105和存储系统110。在实例中,通信接口115可称为主机接口。主机装置105可包含主机处理器106(例如,主机中央处理单元(cpu)或其它处理器或处理电路系统,例如存储器管理单元(mmu)、接口电路系统等)。在某些实例中,主机装置105可包含主存储器(main mem)108(例如dram等),且任选地包含静态存储器(static mem)109,以支持主机处理器(host proc)106的操作。
[0026]
存储系统110可包含通用快闪存储(ufs)装置、嵌入式mmc(emmc
tm
)装置或一或多个其它存储器装置。举例来说,如果存储系统110包含ufs装置,那么通信接口115可包含串行双向接口,例如在一或多个联合电子装置工程委员会(jedec)标准(例如,jedec标准d223d(jesd223d),通常称为jedec ufs主机控制器接口(ufshci)3.0等)中所定义。在另一实例中,如果存储系统110包含emmc装置,那么通信接口115可包含多个并行双向数据线(例如,dat[7:0])和一或多个命令线,例如在一或多个jedec(例如,jedec标准d84-b51(jesd84-a51),通常称为jedec emmc标准5.1等)中所定义。在其它实例中,存储系统110可包含一或多个其它存储器装置,或者通信接口115可包含一或多个其它接口,这取决于主机装置105和存储系统110。
[0027]
存储系统110可包含存储器控制器(mem ctrl)111、非易失性存储器装置112,且任选地包含有限量的静态存储器119,以支持存储器控制器111的操作。存储器控制器111可从主机装置105接收指令,并且可与非易失性存储器装置112通信,以便将数据传送到(例如,写入或擦除)非易失性存储器装置112的一或多个存储器单元或者从所述非易失性存储器装置的一或多个存储器单元传送(例如,读取)数据。
[0028]
在实例中,非易失性存储器装置112可包含多个非易失性存储器装置(例如,裸片或lun),例如一或多个堆叠式快闪存储器装置(例如,如非易失性存储器装置112下方的堆叠短划线所示)等,每一非易失性存储器装置包含非易失性存储器(nvm)113(例如,一组或多组非易失性存储器单元)和装置控制器(ctrl)114或其上的其它外围电路系统(例如,装置逻辑等),并且由存储器控制器111通过与通信接口115不同的内部存储系统通信接口(例如,开放式nand快闪接口(onfi)总线等)来控制。如本文中所使用的“控制电路系统”可以指存储器控制器111、装置控制器114、或存储系统110中的其它外围电路系统、非易失性存储器装置112等中的一或多者。
[0029]
非易失性存储器113(例如,一或多个3d nand架构半导体存储器阵列)可包含布置在例如多个装置、平面、块、物理页面中的多个存储器单元。单层级单元(slc)可在两个编程状态(例如,1或0)之一中表示每单元一个数据位。多层级单元(mlc)可在多个编程状态(例如,2
n
,其中n是数据的位数目)中表示每单元两个或更多个数据位。在某些实例中,mlc可以指能在4个经编程状态中的一个中存储两个数据位的存储器单元。三层级单元(tlc)可在8个经编程状态中的一个中表示每单元三个数据位。四层级单元(qlc)可在16个经编程状态中的一个中表示每单元四个数据位。在其它实例中,mlc可以指每单元能存储多于一个数据位的任何存储器单元,包含tlc和qlc,等。作为一个实例,tlc存储器装置可包含每页18,592字节(b)的数据、每块1536个页、每平面548个块且每装置4个平面。作为另一实例,mlc存储器装置可包含每页18,592字节(b)的数据,每块1024个页,每平面548个块,并且每装置4个平面,但与对应的tlc存储器装置相比,具有较少(例如,一半)的所需写入时间和较多(例如,双倍)的编程/擦除(p/e)循环。其它实例可包含其它数目或布置。
[0030]
主机装置105和存储系统110中的每一者可包含配置成发送、接收或处理待经由通信接口115传送的数据或信号的数个接收器、缓冲器、驱动器或其它接口电路(例如数据控制单元、采样电路或其它中间电路)。存储系统110的控制电路系统可尤其包含电路系统或固件,例如数个组件或集成电路、用以提供一或多个存储器管理功能(例如耗损均衡、垃圾收集、错误计数、块使用期、擦除计数等)的存储器管理器。在一实例中,存储系统的控制电路可编码用户数据,将l2p信息保存在一或多个管理表中,重建l2p数据结构,保存包括数据操作的群组数据结构,解码经编码的用户数据,确定存储系统的存储器单元的一或多个群组的状态等。
[0031]
存储器管理器可尤其包含电路系统或固件,例如与各种存储器管理功能相关联的数个组件或集成电路,除其它功能之外,包含耗损均衡(例如,垃圾收集或回收)、错误检测或校正、块引退,或一或多个其它存储器管理功能。存储器管理器可将主机命令(例如,从主机装置105接收到的命令)解析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或产生用于装置控制器114或存储系统110的一或多个其它组件的装置命令(例如,以实现各种存储器管理功能)。
[0032]
存储器管理器可以包含一组管理表,其经配置以保存与存储系统110的一或多个组件相关联的各种信息(例如,与耦合到存储器控制器111的存储器阵列或一或多个存储器单元相关联的各种信息)。举例来说,管理表可包含关于耦合到存储器控制器111的存储器单元的一或多个块的块使用期、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果针对错误计数中的一或多者检测到的错误的数目高于阈值,那么位错误可称为不可校正位错误。管理表可尤其保存可校正或不可校正位错误的计数。在实例中,管理表可包含转换表、l2p信息、组数据结构等。
[0033]
存储系统110的控制电路系统可检测或校正与向非易失性存储器装置112的一或多个存储器单元写入数据或从其读取数据相关联的错误。控制电路系统可主动检测并从与各种操作或数据存储相关联的错误(例如,位错误、操作错误等)发生中恢复,同时维持在主机装置105与存储系统110之间传送的数据的完整性,或者维持所存储数据的完整性(例如,使用独立磁盘冗余阵列(raid)存储等),并且可去除(例如,引退)失效的存储器资源(例如,存储器单元、存储器阵列、页、块等)以防止将来的错误。
[0034]
控制电路系统可在将值写入到非易失性存储器装置112后即刻计算ecc,并存储此值(例如,存储在非易失性存储器装置112上的不同位置中)。在从非易失性存储器装置112读取值后,控制电路系统可即刻计算所读取的值的ecc值,并将其与所存储的ecc值进行比较。如果ecc值不匹配,那么控制电路系统可确定已发生错误。
[0035]
控制电路系统可跟踪一或多个ecc进程的错误处置(eh)度量。实例包含需要eh机制的次数(例如,eh_counter)、利用每一特定eh度量的次数、每一eh机制成功修复错误的次数、每一eh机制的等待时间等中的一或多者。在某些实例中,控制电路系统可包含动态eh组件(例如电路系统、处理器、专用逻辑、可编程逻辑、固件等),以执行本文所述的操作,例如一或多个扫描或折叠操作。在一些实施方案中,eh组件可在装置使用期间,基于一或多个观察到eh度量对eh序列进行重新排序。在某些实例中,动态eh组件可更新eh机制的次序。
[0036]
图2示出实例错误恢复数据结构200(例如读取错误恢复表等),示出多个错误处置
(eh)步骤(或索引)201,以及多个码字(cw)202,例如与一或多个存储器操作(例如读取命令、垃圾收集、驱动管理等)相关联。多个cw 202将通过(p)(例如可校正),例如在表条目204处示出,或失败(f)(例如不可校正),例如在表条目203(特定eh步骤)处示出。在极端可靠性测试情况下,单个eh步骤或标引无法恢复存储在一或多个群组的存储器单元中的一或多个群组的数据(例如数据块等)的所有cw,但多个eh步骤可覆盖所有cw。在此实例中,尽管每一eh步骤个别地未能恢复8个cw[cw0:cw7]中的至少一者,但三个或四个eh步骤(例如eh1、eh3和eh4;或eh1到eh4,取决于搜索算法等)可恢复所有8个cw。在一实例中,每一eh步骤可表示一不同或唯一eh进程(例如校验、代码、公式、错误处置或恢复程序,特定机制的值、解等),或具有不同步骤的eh进程中的若干步骤,各自需要额外成本。在其它实例中,错误恢复数据结构200可包含或多或少数目的cw或eh步骤。
[0037]
在一实例中,表条目205示出针对相应cw不需要(或不执行)特定eh步骤,因为一或多个先前eh步骤成功地恢复了相应cw。在一实例中,eh步骤201可包含n个可能步骤。在一实例中,可依次执行eh步骤201,直到针对不同cw 202中的每一者确定通过为止。在一实例中,在针对不同cw 202中的每一者确定通过之后,可执行额外eh步骤201,以便以优化一或多个一或多个eh程序或序列。在一实例中,可使用来自先前读取错误恢复进程的结果来确定要应用的eh步骤201的后续次序。
[0038]
在一实例中,每一cw 202的数据结构(例如位图)可用第一值(例如0或1)来初始化。对于每一eh步骤201,可将通过的cw传送到一或多个缓冲器(例如每一cw的相应缓冲器,或经配置以存储经校正的cw的一或多个缓冲器等),且可将特定cw的数据结构的值改变为第二值(例如分别为1或0),且在某些实例中,通过多个步骤来维持,直到再初始化到第一值为止。一旦数据结构中的所有cw的初始值均已改变为第二值(例如从0到1,从第一值到第二值,处于不同状态等),就已确定eh进程或序列,且eh确定可完成。
[0039]
尽管图2中示出为针对每一eh步骤具有单独条目的表,但在某些实例中,错误恢复数据结构200可包含针对一组cw中的每一者具有一条目(例如单个条目)的位图,其经配置以随着eh步骤递增,存储每一相应cw可由当前eh步骤或先前eh步骤校正(例如从初始值改变等)的指示。
[0040]
图3示出在存储系统中执行读取错误恢复的实例方法300。在302处,方法300可开始。在一实例中,方法300可包含:使用存储系统的控制电路系统来维持存储系统中用于与存储系统的一或多个存储器操作相关联的一组码字(cw)的错误恢复数据结构;以及使用一组错误处置(eh)步骤,对所述组cw执行错误恢复,直到所述组cw中的每一cw在错误恢复数据结构中均指示为可校正为止。在一实例中,所述组cw可包含具有一或多个检测到的错误(例如读取错误)的与存储器操作(例如读取操作、垃圾收集、驱动管理等)相关联的一或多个cw。举例来说,可响应于包括一或多个cw的读取命令,将所述一或多个cw检测为具有一或多个错误。所述组cw可包含具有检测到的一或多个错误的一或多个cw。在一实例中,维持错误恢复数据结构可包含初始化所述数据结构,且存储或更新所述错误恢复数据结构中的值。
[0041]
在一实例中,在302处,可初始化错误恢复数据结构。所述错误恢复数据结构可包含表,例如图2中所示出,或在其它实例中,可包含位图,或经配置以存储在存储系统上的一或多个其它数据结构。所述错误恢复数据结构可包含针对所述组cw中的每一cw的条目。在
一实例中,初始化错误恢复数据结构可包含将所述组cw中的每一cw的每一条目设定为初始值。
[0042]
在304处,将所述组cw中的每一cw确定为可通过所述组eh步骤中的特定eh步骤(eh(i))校正(或不可通过所述步骤来校正)。在306处,确定可通过特定eh步骤(eh(i))校正cw的指示可例如在错误恢复数据结构中存储或更新。
[0043]
在308处,如果确定在所述错误恢复数据结构中所有cw均可校正,例如响应于在304处确定cw可校正,或在306存储或更新,那么方法300可在312处结束。如果在308处,未确定在错误恢复数据结构中所有cw均可校正,那么特定eh步骤(eh(i))可在310处递增到所述组eh步骤中的另一者(例如i=i+1)。在一实例中,当(i)小于所述组eh步骤中的eh步骤的数目(n)时(例如,当i<n时)。,特定eh步骤(eh(i))可递增。
[0044]
在一实例中,确定可通过特定eh步骤,例如使用控制电路来校正的cw可传送到存储系统的一或多个缓冲器,例如在静态存储器中等。在一实例中,来自所述组cw的每一cw可具有特定缓冲器。在其它实例中,单个缓冲器可存储多于一个cw。在某些实例中,确定可通过特定eh步骤校正的cw在其被确定可校正并传送之后,例如在递增所述特定eh步骤或确定所述组cw中的每一cw是否可通过递增的eh步骤来校正之前或与之相应,可将所述cw从所述组cw去除。
[0045]
图4示出包含多个群组的存储器单元的3d nand架构半导体存储器阵列400的实例示意图。在一实例中,所述多个群组可包含多个存储器单元串(例如,第一到第三a
0
存储器串405a
0
到407a
0
、第一到第三a
n
存储器串405a
n
到407a
n
、第一到第三b
0
存储器串405b
0
到407b
0
、第一到第三b
n
存储器串405b
n
到407b
n
等),其以块(块a 401a、块b 401b等)和子块(例如,子块a
0 401a
0
、子块a
n 401a
n
、子块b
0 401b
0
、子块b
n 401b
n
等)组织。存储器阵列400表示通常在存储器装置或存储系统的块、装置或其它单元中找到的更多数目的类似结构的一部分。
[0046]
每个存储器单元串包含在源极线(src)435或源极侧选择栅极(sgs)(例如,第一到第三a
0 sgs 431a
0
到433a
0
、第一到第三a
n sgs 431a
n
到433a
n
、第一到第三b
0 sgs 431b
0
到433b
0
、第一到第三b
n sgs 431b
n
到433b
n
等)与漏极侧选择栅极(sgd)(例如,第一到第三a
0 sgd 426a
0
到428a
0
、第一到第三a
n sgd 426a
n
到428a
n
、第一到第三b
0 sgd 426b
0
到428b
0
、第一至第三b
n sgd 426b
n
至428b
n
等)之间从源极到漏极在z方向上堆叠的多层级的存储晶体管(例如,浮动栅极、替换栅极、电荷捕获结构等)。3d存储器阵列中的每一存储器单元串可沿x方向排列为数据线(例如,位线(bl)bl0到bl3420到422),并且沿y方向排列为物理页。
[0047]
在物理页内,每一层级表示一行存储器单元,且每一存储器单元串表示一列。子块可包含一或多个物理页。块可包含多个子块(或物理页面)(例如,128、256、384个等)。尽管本文中示出为具有两个块,每个块具有两个子块,每个子块具有单个物理页,每个物理页具有三个存储器单元串,且每个串具有8个层级的存储器单元,但是在其它实例中,存储器阵列400可包含更多或更少的块、子块、物理页、存储器单元串、存储器单元或层次。举例来说,每个存储器单元串按需要可包含更多或更少的层级(例如,16、32、64、128个等),以及存储晶体管(例如,选择栅极、数据线等)上方或下方的一或多个额外层级的半导体材料。
[0048]
存储器阵列400中的每一存储器单元包含耦合到(例如,电连接或以其它方式可操作地连接到)存取线(例如,字线(wl)wl0
0
到wl7
0 410a到417a、wl0
1
到wl7
1 410b到417b等)
的控制栅极(cg),所述存取线根据需要将控制栅极(cg)跨特定层级或层级的一部分共同耦合。可使用相应的存取线来存取或控制3d存储器阵列中的特定层级,且因此串中的特定存储器单元。可使用各种选择线来存取选择栅极的群组。举例来说,可使用a
0 sgd线sgda
0 425a
0
来存取第一到第三a
0 sgd 426a
0
到428a
0
,可使用a
n sgd线sgda
n 425a
n
来存取第一到第三a
n sgd 426a
n
到428a
n
,可使用b
0 sgd线sgdb
0 425b
0
来存取第一到第三b
0 sgd 426b
0
到428b
0
,并且可使用b
n sgd线sgdb
n 425b
n
来存取第一到第三b
n sgd 426b
n
到428b
n
。可使用栅极选择线sgs
0 430a来存取第一a
0 sgs 431a
0
到第三a
0 sgs 433a
0
和第一a
n sgs 431a
n
到第三a
n sgs 433a
n
,并且可使用栅极选择线sgs
1 430b来存取第一b
0 sgs 431b
0
到第三b
0 sgs 433b
0
和第一b
n sgs 431b
n
到第三b
n sgs 433b
n

[0049]
在一实例中,存储器阵列400可包含多层半导体材料(例如多晶硅等),其经配置以耦合每一存储器单元的控制栅极(cg)或阵列的相应层级的选择栅极(或cg或选择栅极的一部分)。可使用位线(bl)和选择栅极等的组合来存取、选择或控制阵列中的特定存储器单元串,且可使用一或多个存取线(例如,字线)来存取、选择或控制特定串中的一或多个层级的特定存储器单元。
[0050]
在nand架构半导体存储器阵列中,可通过感测与含有选定存储器单元的特定数据线相关联的电流或电压变化来存取所述选定存储器单元的状态。可使用一或多个驱动器(例如,由控制电路、一或多个处理器、数字逻辑等)存取存储器阵列400。在一实例中,一或多个驱动器可通过取决于待对特定存储器单元或存储器单元集执行的所要操作的类型而驱动特定电位到一或多个数据线(例如位线bl0到bl2)、存取线(例如字线wl0到wl7)或选择栅极,来激活特定存储器单元或存储器单元集。
[0051]
在操作中,数据通常以页形式写入存储系统或从存储系统读取,并以块的形式擦除。然而,可视需要对存储器单元的更大或更小群组执行一或多个存储器操作(例如,读取、写入、擦除等)。举例来说,可在数据迁移或垃圾收集期间收集来自卸载单元的经标记数据的局部更新,以确保其被有效地重写。存储器装置的数据传送大小通常称为页,而主机装置的数据传送大小通常称为扇区。尽管一页数据可包含多个字节的用户数据(例如,包含多个数据扇区的数据有效负载)及其对应的元数据,但页的大小通常仅指用于存储用户数据的字节数。作为实例,具有4kb的页大小的一页数据可包含4kb的用户数据(例如,假设扇区大小为512b的8个扇区)以及对应于所述用户数据的多个字节(例如,32b、54b、224b等)的辅助或元数据,例如完整性数据(例如,错误检测或校正代码数据)、地址数据(例如,逻辑地址数据等),或与用户数据相关联的其它元数据。
[0052]
为了将数据编程或写入到存储器单元,可将编程电压(vpgm)(例如一或多个编程脉冲等)施加到选定字线(例如wl4
0
),并且因此施加到耦合到所述选定字线的每一存储器单元的控制栅极。举例来说,编程脉冲可在15v处或附近开始,并且在某些实例中,可在每一编程脉冲施加期间在量值上增加。在将编程电压施加到选定字线时,可将例如接地电位(例如,vss)的电位施加到以编程为目标的存储器单元的数据线(例如,位线)和衬底(且因此源极与漏极之间的沟道),从而导致从沟道到目标存储器单元的浮动栅极的电荷转移(例如,直接注入或佛勒-诺德海姆(fowler-nordheim,fn)隧穿等)。
[0053]
相比之下,可将传递电压(vpass)施加到具有并不以编程为目标的存储器单元的一或多个字线,或可将禁止电压(例如,vcc)施加到具有并不以编程为目标的存储器单元的
数据线(例如,位线),以例如禁止电荷从沟道转移到此类非目标存储器单元的浮动栅极。传递电压可以取决于例如施加的传递电压与以编程为目标的字线的接近度而可变。禁止电压可包含供应电压(vcc),例如相对于接地电位(例如,vss)来自外部源或供应(例如,电池、ac到dc转换器等)的电压。
[0054]
作为实例,如果将编程电压(例如,15v或更高)施加到特定字线,例如wl4
0
,那么可将10v的传递电压施加到一或多个其它字线,例如wl3
0
、wl5
0
等,以禁止非目标存储器单元的编程,或者保留存储在此类并不以编程为目标的存储器单元上的值。随着所施加的编程电压与非目标的存储器单元之间的距离增大,制止对非目标存储器单元进行编程所需的传递电压可减小。举例来说,在将15v的编程电压施加到wl4
0
的情况下,可将10v的传递电压施加到wl3
0
和wl5
0
,可将8v的传递电压施加到wl2
0
和wl6
0
,可以将7v的传递电压施加到wl1
0
和wl7
0
等。在其它实例中,传递电压或字线的数目等等可更高或更低、或更大或更小。
[0055]
数据通常作为小单元任意存储在存储系统上。即使作为单个单元存取,也可在小的、随机的4k到16k单个文件读取中接收数据(例如,60%到80%的操作小于16k)。用户并且甚至内核应用程序很难指示数据应该存储为一个依序的内聚单元。文件系统通常设计成用于优化空间使用,而不是依序检索空间。感测放大器可耦合到数据线中的一或多者(例如,第一、第二或第三位线(bl0到bl2)420到422),可通过感测特定数据线上的电压或电流来检测相应数据线中的每一存储器单元的状态。
[0056]
在一或多个编程脉冲(例如vpgm)的施加之间,可执行验证操作以确定选定存储器单元是否已达到其既定经编程状态。如果选定存储器单元已达到其既定经编程状态,那么可禁止其进一步编程。如果选定存储器单元尚未达到其既定经编程状态,那么可施加额外编程脉冲。如果选定的存储器单元在特定数目的编程脉冲(例如,最大数目)之后尚未达到其既定经编程状态,那么可将选定的存储器单元或与此类选定的存储器单元相关联的串、块或页标记为有缺陷的。
[0057]
为了擦除存储器单元或存储器单元群组(例如,擦除通常以块或子块执行),可(例如,使用一或多个位线、选择栅极等)将擦除电压(vers)(例如,通常vpgm)施加到以擦除为目标的存储器单元的衬底(且因此源极与漏极之间的沟道),同时目标存储器单元的字线保持在例如接地电位(例如,vss)的电位处,从而导致从目标存储器单元的浮动栅极到所述沟道的电荷转移(例如,直接注入或佛勒-诺德海姆(fn)隧穿等)。
[0058]
图5示出存储系统500的实例框图,所述存储系统包含具有多个存储器单元504的存储器阵列502,以及用以提供与存储器阵列502的通信或对存储器阵列502执行一或多个存储器操作的一或多个电路或组件。尽管示出为具有单个存储器阵列502,但在其它实例中,本文中可包含一或多个额外存储器阵列、裸片或lun。在某些实例中,在具有多个裸片或lun的存储系统中,存储系统500可表示每一裸片或lun的电路和组件的框图。存储系统500可包含行解码器512、列解码器514、感测放大器520、页缓冲器522、选择器524、输入/输出(i/o)电路526和存储器控制单元530。
[0059]
存储器阵列502的存储器单元504可布置于块中,例如第一块502a和第二块502b。每个块可包含子块。举例来说,第一块502a可包含第一和第二子块502a
0
、502a
n
,且第二块502b可包含第一和第二子块502b
0
、502b
n
。每一子块可包含多个物理页,每一页包含多个存储器单元504。虽然本文中示出为具有两个块,每一块具有两个子块,并且每一子块具有多
个存储器单元504,但在其它实例中,存储器阵列502可包含更多或更少的块、子块、存储器单元等。在其它实例中,存储器单元504可布置成多个行、列、页、子块、块等,并且可使用例如存取线506、第一数据线510或一或多个选择栅极、源极线等来存取存储器单元504。
[0060]
存储器控制单元530可根据在控制线532上接收的一或多个信号或指令来控制存储系统500的存储器操作,所述信号或指令包含例如指示所要操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号,或在一或多个地址线516上接收的地址信号(a0到ax)。存储系统500外部的一或多个装置可控制控制线532上的控制信号或地址线516上的地址信号的值。存储系统500外部的装置的实例可包含但不限于主机、存储器控制器、处理器,或图5中未示出的一或多个电路或组件。
[0061]
存储系统500可使用存取线506和第一数据线510来将数据传送到(例如,写入或擦除)存储器单元504中的一或多者或从其传送(例如,读取)。行解码器512和列解码器514可从地址线516接收地址信号(a0到ax)并对其进行解码,可确定将存取存储器单元504中的哪一者,并且可将信号提供到存取线506(例如,多个字线(wl0到wlm)中的一或多者)或第一数据线510(例如,多个位线(bl0到bln)中的一或多者)中的一或多者,例如上文所描述。
[0062]
存储系统500可包含感测电路系统,例如感测放大器520,其经配置以确定使用第一数据线510的存储器单元504上的数据的值(例如,读取),或者确定要写入所述存储器单元的数据的值。举例来说,在存储器单元504的选定串中,响应于读取电流在存储器阵列502中穿过选定串流动到数据线510,感测放大器520中的一或多者可读取选定存储器单元504中的逻辑电平。
[0063]
在存储系统500外部的一或多个装置可使用i/o线(dq0-dqn)508、地址线516(a0-ax)或控制线532与存储器装置500通信。输入/输出(i/o)电路526可根据例如控制线532和地址线516,使用i/o线508将数据的值传送进出存储器装置500,例如进出页缓冲器522或存储器阵列502。页缓冲器522可存储从在存储系统500外部的一或多个装置接收到的数据,然后将所述数据编程到存储器阵列502的相关部分中,或者可存储从存储器阵列502读取的数据,然后将所述数据发射到在存储系统500外部的一或多个装置。
[0064]
列解码器514可接收地址信号(a0到ax)并将所述地址信号解码为一或多个列选择信号(csel1到cseln)。选择器524(例如选择电路)可接收列选择信号(csel1到cseln),并且在页缓冲器522中选择表示待从存储器单元504读取或待编程到存储器单元504中的数据的值的数据。可使用第二数据线518在页缓冲器522与i/o电路526之间传送选定数据。
[0065]
存储器控制单元530可从外部源或供应(例如内部或外部电池、ac到dc转换器等)接收正和负供应信号,例如供应电压(vcc)534和负供应(vss)536(例如接地电位)。在某些实例中,存储器控制单元530可包含调节器528以在内部提供正或负供应信号。
[0066]
图6示出实例机器(例如,主机系统)600的框图,本文中所论述的技术(例如,方法)中的任何一或多个可对所述实例机器执行(例如,图1中描述的那些等)。在替代实施例中,机器600可充当独立装置或可连接(例如,连网)到其它机器。在连网部署中,机器600可在服务器-客户端网络环境中以服务器机器、客户端机器或两者的能力操作。在一实例中,机器600可充当对等(p2p)(或其它分布式)网络环境中的对等机器。机器600可为个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、网络器具、iot装置、汽车系统,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。另外,
虽然仅示出单个机器,但术语“机器”也将视为包含个别地或共同地执行一(或多个)指令集以进行本文中所论述的方法中的任何一或多种(例如云计算、软件即服务(saas)、其它计算机集群配置)的任何机器总集。
[0067]
如本文所描述,实例可包含逻辑、组件、装置、封装或机构,或者可通过逻辑、组件、装置、封装或机构操作。电路系统是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路总集(例如,集合)。电路系统成员可随时间推移和基础硬件变化而为灵活的。电路系统包含在操作时可单独或组合地进行具体任务的部件。在实例中,电路系统的硬件可被永恒地设计成执行特定操作(例如,硬接线)。在实例中,电路系统的硬件可包含可变连接的物理组件(例如,执行单元、晶体管、简单电路等),包含物理上经修改(例如,以磁性方式、以电学方式、恒定集结粒子的可移动放置等)以编码特定操作的指令的计算机可读媒体。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机构)能够经由可变连接产生硬件中的电路系统的部件,以当在操作中时进行特定任务的若干部分。因此,当装置操作时,计算机可读媒体以通信方式耦合到电路系统的其它组件。在一实例中,物理组件中的任一个可用于超过一个电路系统的超过一个部件中。举例来说,在操作下,执行单元可在一个时间点用于第一电路系统的第一电路,并且由第一电路系统中的第二电路再使用,或在不同时间由第二电路系统中的第三电路再使用。
[0068]
机器(例如,计算机系统、主机系统等)600可包含处理装置602(例如,硬件处理器、中央处理单元(cpu)、图形处理单元(gpu),硬件处理器核心,或其任何组合等)、主存储器604(例如,只读存储器(rom)、动态随机存取存储器(dram),例如同步dram(sdram)或rambus dram(rdram)等)、静态存储器606(例如,静态随机存取存储器(sram)等),以及存储系统618,其中的一些或全部可经由通信接口(例如,总线)630彼此通信。
[0069]
处理装置602可表示一或多个通用处理装置,例如微处理器、中央处理单元等。更明确地说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置602还可以是一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置602经配置以执行用于实施本文中所论述的操作和步骤的指令626。计算机系统600可进一步包含网络接口装置608以经由网络620通信。
[0070]
存储系统618可包含机器可读存储媒体(又称为计算机可读媒体),其上存储有一或多个指令集626或体现本文中所描述的方法或功能中的任一或多种的软件。指令626还可在其由计算机系统600执行期间完全或至少部分地驻存在主存储器604内和/或处理装置602内,主存储器604和处理装置602也构成机器可读存储媒体。
[0071]
术语“机器可读存储媒体”应被认为包含存储指令的一或多个集的单个媒体或多个媒体,或能够存储或编码指令集以供机器执行并且使机器执行本公开的任何一或多种方法的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体以及磁性媒体。在一实例中,大容量机器可读媒体包括具有多个粒子的机器可读媒体,所述粒子具有不变(例如,静止)质量。因此,大容量机器可读媒体不是暂时性传播信号。大容量机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编
程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))和快闪存储器装置;磁盘,例如内部硬盘和可装卸式磁盘;磁光盘;以及cd-rom和dvd-rom磁盘。
[0072]
机器600可进一步包含显示单元、字母数字输入装置(例如键盘)和用户接口(ui)导航装置(例如鼠标)。在实例中,显示单元、输入装置或ui导航装置中的一或多个可以是触摸屏显示器。机器信号生成装置(例如,扬声器)或者一或多个传感器,例如全球定位系统(gps)传感器、指南针、加速计或者一或多个其它传感器。机器600可包含输出控制器,例如串行(例如,通用串行总线(usb)、并行或其它有线或无线(例如,红外(ir)、近场通信(nfc)等)连接,以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
[0073]
指令626(例如软件、程序、操作系统(os)等)或存储系统618上存储的其它数据可由主存储器604存取以供处理装置602使用。主存储器604(例如,dram)通常是快速但易失性的,且因此属于与存储系统618(例如,ssd)相比不同类型的存储装置,所述存储系统适用于长期存储,包含当处于“关闭”条件下时的长期存储。供用户或机器600使用的指令626或数据通常加载在主存储器604中,以供处理装置602使用。当主存储器604已满时,可分配来自存储系统618的虚拟空间来补充主存储器604;然而,因为存储系统618通常与主存储器604相比较慢,且写入速度通常比读取速度慢至少两倍,所以虚拟存储器的使用由于存储系统等待时间(相比于主存储器604,例如,dram)可极大地降低用户体验。另外,将存储系统618用于虚拟存储器可极大地缩短存储系统618的可用寿命。
[0074]
可使用传输媒体经由网络接口装置608利用多个传送协议(例如,帧中继、因特网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)、超文本传送协议(http)等)中的任一者,通过网络620进一步传输或接收指令624。实例通信网络可包含局域网(lan)、广域网(wan)、分组数据网络(例如因特网)、移动电话网络(例如蜂窝网络)、简易老式电话(pots)网络和无线数据网络(例如称为的电气电子工程师学会(ieee)802.11系列标准、称为的ieee 802.16系列标准)、ieee 802.15.4系列标准、对等式(p2p)网络等等。在一实例中,网络接口装置608可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到网络620。在一实例中,网络接口装置608可包含多个天线以使用单输入多输出(simo)、多输入多输出(mimo)或多输入单输出(miso)技术中的至少一者无线通信。术语“传输媒体”应被认为包含能够存储、编码或运载指令以由机器600执行的任何无形媒体,且包含数字或模拟通信信号或其它无形媒体以促进此类软件的通信。
[0075]
以上详细描述包含对附图的参考,所述附图形成详细描述的部分。图式借助于图示示出可实践本发明的具体实施例。这些实施例在本文中也称为“实例”。此类实例可包含除了所示出或描述的那些要素之外的要素。然而,本发明的发明人还预期其中仅提供所示出或所描述的那些元件的实例。此外,本发明的发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文示出或描述的其它实例(或其一或多个方面)而示出或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
[0076]
在本文件中,如专利文献中所常见而使用术语“一”以包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或使用。在此文献中,术语“或”用于指代非排它性或,使得除非另有指示,否则“a或b”可包含“a而非b”、“b而非a”以及“a和b”。在所附权利要求书中,术语“包含(including)”和“其中(in which)”用作相应术语“包括
(comprising)”和“其中(wherein)”的简洁英文等效术语。另外,在所附权利要求书中,术语“包含”和“包括”是开放式的。权利要求中除了此类术语之后列出的元件之外还包含元件的系统、装置、物品或过程仍视为属于所述权利要求的范围。此外,在所附权利要求书中,术语“第一”、“第二”和“第三”等仅用作标记,且无意对其对象强加数字要求。
[0077]
在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储在物理装置上的物理电路系统或固件。如本文中所使用,“处理器”表示任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、数字信号处理器(dsp)或任何其它类型的处理器或处理电路,包含处理器或多核心装置的群组。
[0078]
如本文所使用,操作存储器单元包含从存储器单元读取、对存储器单元写入或擦除存储器单元。使存储器单元置于既定状态中的操作在本文中被称作“编程”,且可包含写入到存储器单元或从存储器单元擦除(例如,可将存储器单元编程到擦除状态)。
[0079]
根据本公开的一或多个实施例,位于存储系统内部或外部的存储器控制器(例如处理器、控制器、固件等)能够确定(例如选择、设置、调整、计算、改变、清除、传送、适应、推导、定义、利用、修改、应用等)一定数量的耗损循环或耗损状态(例如,记录耗损循环、对在存储系统的操作出现时对其进行计数、跟踪存储系统发起的操作、评估与耗损状态相对应的存储系统特性等)。
[0080]
根据本公开的一或多个实施例,存储器存取装置可经配置以利用每一存储器操作向存储系统提供磨损循环信息。存储系统控制电路系统(例如,控制逻辑)可经编程以补偿对应于磨损循环信息的存储系统性能变化。存储系统可接收损耗循环信息,且响应于损耗循环信息而确定一或多个操作参数(例如,值、特性)。
[0081]
将理解,当一元件被称作“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件直接连接或耦合,或可存在中间元件。相反地,当一个元件被称作“直接在另一元件上”、“直接连接到另一元件”或“与另一元件直接耦合”时,不存在中间元件或层。如果两个元件在图式中示出为被线连接,那么除非另外指示,否则所述两个元件可耦合或直接耦合。
[0082]
本文中所描述的方法实例可至少部分地由机器、装置或计算机实施。一些实例可包含编码有指令的计算机可读媒体、装置可读媒体或机器可读媒体,所述指令可操作以配置电子装置以执行如以上实例中描述的方法。这类方法的实施方案可包含代码,如微码、汇编语言代码、高级语言代码等。这类代码可包含用于执行各种方法的计算机可读指令。代码可形成计算机程序产品的部分。此外,代码可例如在执行期间或在其它时间有形地存储在一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于:硬盘、可装卸式磁盘、可装卸式光盘(例如,压缩光盘和数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(ram)、只读存储器(rom)、固态驱动器(ssd)、通用快闪存储(ufs)装置、嵌入式mmc(emmc)装置等。
[0083]
实例1是一种系统,其包括:存储系统,其包括控制电路系统和具有多个群组的存储器单元的存储器阵列,其中所述控制电路系统经配置以:为与一或多个存储器操作相关联的一组码字(cw)维持存储系统中的错误恢复数据结构;以及使用一组多个错误处置(eh)步骤,对所述组cw执行错误恢复,直到所述组cw中的每一cw在所述错误恢复数据结构中均指示为可校正为止,所述错误恢复包括:确定所述组cw中的每一cw是否可通过特定eh步骤
来校正;将确定cw可通过特定eh步骤来校正的指示存储在错误恢复数据结构中;确定所述组cw中的一或多个cw是否在错误恢复数据结构中不指示为可校正;;以及响应于确定所述组cw中的一或多个cw在错误恢复数据结构中不指示为可校正,递增所述特定eh步骤。
[0084]
在实例2中,根据实例1所述的标的物任选地包含其中为了维持错误恢复数据结构,控制电路系统经配置以将针对所述组cw中的每一cw具有一条目的错误恢复数据结构初始化到初始值,且其中为了存储确定cw可通过特定eh步骤来校正的指示,所述控制电路系统经配置以所述错误恢复数据结构中针对所述组cw中的每一cw的值。
[0085]
在实例3中,根据实例1到2中的任何一或多个实例所述的标的物任选地包含其中为了递增特定eh步骤,所述控制电路系统经配置以:确定所述组cw中的每一cw是否可通过递增的eh步骤来校正;讲确定cw可通过递增的eh步骤来校正的指示存储在错误恢复数据结构中;以及确定所述组cw中的一或多个cw在错误恢复数据结构中是否不指示为可校正;以及响应于确定所述组cws中的一或多个cw在所述错误恢复数据结构中不指示为可校正,递增所述经递增的eh步骤。
[0086]
在实例4中,根据实例1到3中的任何一或多个实例所述的标的物任选地包含:其中为了对所述组cw执行错误恢复,所述控制电路系统经配置以使用来自所述组eh步骤的第一eh步骤来执行错误恢复;其中为了确定所述组cw中的每一cw是否可通过所述eh步骤来校正,所述控制电路系统经配置以确定所述组cw中的每一cw是否可通过所述第一eh步骤来校正;其中为了将确定cw可通过eh步骤来校正的指示存储在所述错误恢复数据结构中,所述控制电路系统经配置以将确定cw可通过所述第一eh步骤来校正的指示存储在所述错误恢复数据结构中;且其中响应于确定所述组cw中的一或多个cw在错误恢复数据结构中不指示为可校正,所述控制电路系统经配置以将第一eh步骤递增到第二eh步骤。
[0087]
在实例5中,根据实例1到4中的任何一或多个实例所述的标的物任选地包含其中所述控制电路系统经配置以执行存储器操作,其中在执行一或多个存储器操作时,所述控制电路系统经配置以检测存储在存储器阵列中的一或多个cw中的一或多个错误,且其中所述组cw包括具有一或多个检测到的错误的cw。
[0088]
在实例6中,根据实例1到5中的任何一或多个实例所述的标的物任选地包含其中所述错误恢复数据结构包含针对所述组cw中的每一者具有单个值的位图。
[0089]
在实例7中,根据实例1到6中的任何一或多个实例所述的标的物任选地包含其中所述存储系统包括一或多个缓冲器,其经配置以存储经校正的cw,且其中所述控制电路系统经配置以将确定可通过特定eh步骤来校正的cw传送到所述一或多个缓冲器。
[0090]
在实例8中,根据实例7所述的标的物任选地包含其中所述控制电路系统经配置以将确定可通过特定eh步骤来校正的cw从所述组cw去除。
[0091]
在实例9中,根据实例1到8中的任何一或多个实例所述的标的物任选地包含其中所述控制电路系统经配置以按所呈现的次序执行每一步骤。
[0092]
实例10是一种方法,其包括:使用存储系统的控制电路系统,将用于与所述存储系统的一或多个存储器操作相关联的一组码字(cw)的错误恢复数据结构保存在所述存储系统中;使用一组多个错误处置(eh)步骤对所述组cw执行错误恢复,直到所述组cw中的每一cw在所述错误恢复数据结构中指示为可校正,其中执行错误恢复包括:对所述组多个eh步骤中的第一eh步骤,确定所述组cw中的每一cw是否可通过第一eh步骤来校正;将确定cw可
通过所述第一eh步骤来校正的指示存储在所述错误恢复数据结构;以及确定所述组cw中的一或多个cw在所述错误恢复数据结构中是否不指示为可校正;以及响应于确定所述组cw中的一或多个cw在所述错误恢复数据结构中不指示为可校正,使所述第一eh步骤递增到所述组多个eh步骤中的第二eh步骤;以及对所述第二eh步骤,确定所述组cw中的每一cw是否可通过所述第一eh步骤来校正;以及将确定cw可通过所述第一或第二eh步骤来校正的指示存储在所述错误恢复数据结构中。
[0093]
在实例11中,根据实例10所述的标的物任选地包含:其中保存所述错误恢复数据结构包括将针对所述组cw中的每一cw具有一条目的错误恢复数据结构初始化到初始值,且其中存储确定cw可通过所述特定eh步骤来校正的指示包括在针对所述错误恢复数据结构中的所述组cw中的每一cw更新所述初始值。
[0094]
在实例12中,根据实例10到11中的任何一或多个实例所述的标的物任选地包含检测存储在所述存储系统中的一或多个cw中的一或多个错误,其中保存所述错误恢复数据结构包括保存针对具有一或多个检测到的错误的一组cw中的每一者具有单个值的错误恢复位图。
[0095]
在实例13中,根据实例10到12中的任何一或多个实例所述的标的物任选地包含其中所述错误恢复数据结构包含针对所述组cw中的每一者具有单个值的位图。
[0096]
在实例14中,根据实例10到13中的任何一或多个实例所述的标的物任选地包含将确定可通过所述组eh步骤来校正的cw传送到所述存储系统的一或多个缓冲器。
[0097]
在实例15中,根据实例14所述的标的物任选地包含将确定可通过所述组eh步骤来校正的cw从所述组cw去除。
[0098]
在实例16中,标的物(例如,系统或设备)可任选地组合实例1到15中的任何一或多个实例的任何部分或任何部分的组合以包括“用于执行根据实例1到15所述的功能或方法中的任何一或多者的任何部分的构件”,或包含指令的至少一个“非暂时性机器可读媒体”,所述指令在由机器执行时,使得所述机器执行根据实例1到15所述的功能或方法中的任何一或多者的任何部分。
[0099]
以上描述既定是说明性的而非限制性的。举例来说,上文所描述的实例(或其一个或多个方面)可彼此组合使用。例如所属领域的普通技术人员在查阅以上描述后可使用其它实施例。应理解,以上描述将不会用于解释或限制所附权利要求书的范围或含义。另外,在以上具体实施方式中,可将各种特征分组在一起以简化本公开。不应将这一情况解释为意图未要求保护的公开特征对任何权利要求来说是必不可少的。实际上,本发明的标的物可在于比特定所公开实施例的所有特征要少。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求作为一单独实施例而独立存在,且预期这些实施例可以各种组合或排列彼此组合。本发明的范围应参考所附权利要求书以及所述权利要求书所授予的等效物的完整范围来确定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1