支持速率兼容经穿孔码的存储器控制器

申请号 CN200880117049.8 申请日 2008-10-28 公开(公告)号 CN101868831B 公开(公告)日 2014-08-06
申请人 美光科技公司; 发明人 威廉·H·拉德克;
摘要 本 发明 揭示根据例如速率兼容卷积码(RPCC)等速率兼容码将数据存储于非易失性固态 存储器 装置(100)中的设备及方法。此种存储器装置(100)的实例是快闪存储器装置(100)。最初可对数据进行 块 编码(112)以用于错误校正及检测。可对所述经块编码的数据进行进一步卷积编码(114)。可穿孔(116)经卷积编码的数据并将其存储于所述存储器装置(100)中。所述穿孔减少用于存储所述数据的存储器量。取决于条件,穿孔量可在不穿孔到相对高的穿孔量之间改变以改变所提供的额外错误校正及所使用的存储器的量。当将从所述存储器装置(100)读取数据时,可对所述经穿孔数据进行解码(120、122)。
权利要求

1.一种用于存储数据的设备,其包括:
编码器,其经配置以接收第一数据,其中所述编码器包括:
可穿孔码编码器,包括卷积编码器,该卷积编码器经配置以对所述第一数据进行卷积编码以产生经卷积编码数据;以及
穿孔电路,其配置以根据穿孔模式穿孔所述经卷积编码数据以产生经穿孔数据; 一个或一个以上NAND快闪存储器阵列,其经配置以存储所述经穿孔数据和所述穿孔模式;
控制电路,其中经配置以选择由所述编码器使用的码率,其中所述码率至少部分地通过边际条件或通过数据类型来选择,其中,通过选择穿孔量来改变所述码率;及 解码器,其经配置以从所述一个或一个以上NAND快闪存储器阵列检索所述经穿孔数据并根据所存储的穿孔模式来解码所述经穿孔数据。
2.根据权利要求1所述的设备,其进一步包括:
码编码器,其经配置以对第二数据进行块编码以产生所述第一数据,使得所述第一数据是经块编码的,其中所述卷积编码器经配置以对经块编码的数据进行卷积编码;及 块码解码器,其经配置以对经解码的经穿孔数据进行进一步解码。
3.根据权利要求2所述的设备,其中用于解码所述经穿孔数据的所述解码器包括维特比解码器。
4.根据权利要求1所述的设备,其中第一码率被分配到所述一个或一个以上NAND快闪存储器阵列的至少一个块且其中第二码率被分配到所述一个或一个以上NAND快闪存储器阵列的至少第二块。
5.根据权利要求1所述的设备,其中所述一个或一个以上NAND快闪存储器阵列包括多级存储器单元,所述多级存储器单元经配置以将所述经穿孔数据存储于所述存储器单元的多个层级内。
6.根据权利要求1所述的设备,其中所述编码器经配置以从所述所接收数据产生具有
1/4码率的卷积码,且进一步经配置以穿孔所述卷积码以产生所述经穿孔数据,其中所述经穿孔数据具有1/3到1/2的可选择码率。
7.根据权利要求1所述的设备,其中所述控制电路经配置以将呈未经穿孔形式的参考信息存储于所述一个或一个以上NAND快闪存储器阵列中,其中所述参考信息包括所述穿孔模式。
8.一种用于将数据存储于具有一个或一个以上NAND快闪存储器阵列的非易失性存储器装置中的方法,所述方法包括:
接收打算用于存储于所述一个或一个以上NAND快闪存储器阵列中的数据; 对所述数据进行卷积编码以产生经卷积编码数据;
选择由编码器使用的码率,其中,所述码率至少部分地通过边际条件或通过数据类型来选择,其中,通过选择穿孔量来改变所述码率;
根据控制电路选择的穿孔模式来穿孔所述经卷积编码数据以产生经穿孔数据;及 将所述经穿孔数据和所述穿孔模式存储于所述一个或一个以上NAND快闪存储器阵列中。
9.根据权利要求8所述的方法,其进一步包括在对所述数据进行卷积编码之前借助块码对所述数据进行编码。
10.根据权利要求8所述的方法,其进一步包括借助第一穿孔模式穿孔经卷积编码数据的至少一部分以产生具有第一码率的所述经穿孔数据并借助第二穿孔模式穿孔经卷积编码数据的至少第二部分以产生具有第二码率的第一经穿孔数据,其中将借助所述第一穿孔模式穿孔的所述数据存储于所述一个或一个以上NAND快闪存储器阵列的第一部分中且将借助所述第二穿孔模式穿孔的所述数据存储于所述一个或一个以上NAND快闪存储器阵列的第二部分中。
11.根据权利要求8所述的方法,其进一步包括至少部分地响应于所述所接收数据的数据类型而在第一码率与第二码率之间进行选择。
12.根据权利要求8所述的方法,其中编码包括:
产生具有1/4的码率的卷积码;及
穿孔所述卷积码以产生所述经穿孔数据,其中所述经穿孔数据具有1/3到1/2的可选择码率。
13.根据权利要求8所述的方法,其进一步包括将呈未经穿孔形式的参考信息存储于所述一个或一个以上NAND快闪存储器阵列中,其中所述参考信息包括所述穿孔模式。
14.一种检索存储于具有一个或一个以上NAND快闪存储器阵列的非易失性存储器装置中的经穿孔数据的方法,所述方法包括:
从所述存储器装置的所述一个或一个以上NAND快闪存储器阵列中检索所述经穿孔数据;
检索存储在所述一个或一个以上NAND快闪存储器阵列中的穿孔模式,该穿孔模式对应于用于产生所述经穿孔数据的穿孔模式;及
根据所述穿孔模式对所述经穿孔数据进行解码。
15.根据权利要求14所述的方法,其中解码包括维特比解码。
16.根据权利要求14所述的方法,其进一步包括:
从所述一个或一个以上NAND快闪存储器阵列中检索呈未经穿孔形式的参考信息,其中所述参考信息指示所述经穿孔数据的穿孔等级;及
根据所述参考信息来选择所述穿孔模式。

说明书全文

支持速率兼容经穿孔码的存储器控制器

技术领域

[0001] 一般来说,本发明实施例涉及集成电路。特定来说,本发明的实施例涉及存储器电路。

背景技术

[0002] 快闪存储器是一种形式的可擦除且可再编程非易失性存储器。在快闪存储器中,存储器单元按“”进行布置以供擦除。在已擦除块之后,如果需要则准备编程。NOR快闪存储器是一种类型的提供对个别字节的存取以检索数据但具有相对低的密度的快闪存储器。
[0003] NAND快闪存储器是一种类型的提供相对高的密度的快闪存储器。高密度是部分通过形成串联连接的单元列实现。另外,通过NAND快闪存储器,按相对大的字节群组(例如,数据页)来编程及存取数据。举例来说,一页可对应于阵列中的一行或一行的一部分。
[0004] 举例来说,用于存储数据的存储器单元阵列通常按2维行与列阵列进行布置。这些阵列在大小上可极大地改变。当所述阵列的单元能够保持2个或更多个层级(也就是说,每一单元多个层级或两个或更多个数据位)时,所述阵列按3维有效地保持数据。
[0005] 在典型NAND快闪存储器阵列中,快闪单元的源极及漏极串联(源极到漏极)布置并称为列。控制单元的栅极的“字线”沿着行。通常一次一行地存取数据,其中从每一列存取一个位。将待读取行的字线设定为用于读取单元的所存储状态的特定电压。可将不同电压电平用于多级单元。所述列的其它单元的其它行线经设定以“接通”所述单元以准许通过所述列中的对应单元来读取所述行的单元的所存储状态。
[0006] 每一行的字节数目可在非常宽广的范围内改变,“页”中的字节数目也可如此。一些制造商按一定数据量来界定一页,以使得(例如)两个数据页可对应于一个字线(行)。出于本说明的目的,“数据”页”对应于在写入循环或读取循环期间写入至NAND快闪存储器阵列或从其读取的数据量。在一个实例中,通过启动字线来检索2,112个字节。所述2,112个字节中的2,048个是数据字节且64个是备用字节,其通常用于错误校正码(ECC)、耗损平均信息或其它额外开销数据。错误校正码增加所存储数据的强健性。通常,一种形式的块码用于产生错误校正码,例如循环冗余校验(CRC)校验和、里德-所罗错误校正码或类似物。这些错误校正码检测在数据字节的读取中是否存在错误,且只要所述错误不超过所述错误校正码的能即通常可校正所述数据字节中的错误。
[0007] 快闪存储器具有许多用途。实例包含:快闪存储器硬盘驱动器(硬盘驱动器的取代物)、USB快闪驱动器或拇指驱动器、移动电话数码相机、数字媒体播放器、游戏机、存储器卡、导航装置、个人数字助理、计算机或类似装置。在限制内,错误校正码可校正数据字节中的数据中的许多错误。然而,超出这些限制,则通常不能校正具有错误的数据。举例来说,如果字线出现故障,那么针对整个行读取数据可能存在问题。此通常导致有太多错误需要错误校正码来进行校正。取决于数据的关键程度,数据中不可校正的错误的效应可介于不方便与具有灾难性之间。附图说明
[0008] 提供这些图式及本文相关联说明以图解说明本发明的具体实施例而并不打算具有限制性。
[0009] 图1是包含存储器装置的示意图,其中所述存储器装置存储具有外部块码及内部速率兼容码的数据。
[0010] 图2示意性地图解说明用于产生卷积码的编码器的实例。
[0011] 图3示意性地图解说明用于穿孔卷积码的数据流程。
[0012] 图4是大致图解说明用于动态地选择用于将数据存储于NAND快闪存储器装置中的码率的过程的流程图

具体实施方式

[0013] 数据根据例如速率兼容卷积码(RCPC)等速率兼容码存储于非易失性固态存储器装置中。此种存储器装置的实例是快闪存储器装置。最初可对数据进行块编码例如以供错误校正及检测。对所述经块编码的数据进行进一步卷积编码。当卷积编码增加冗余时,其也增加待存储的数据量。当穿孔(其有时也称为“打孔”)时,所述经卷积编码的数据中的一些数据根据穿孔模式移除。稍后将结合图3描述穿孔模式的实例。此增加速率兼容码的码率m/n,其中m是信息符号的数目且n是码符号的数目。所述穿孔减少用于存储数据的存储器量。取决于条件,穿孔量可在不穿孔到相对高的穿孔量之间改变以改变所提供的额外错误校正及所使用的存储器的量。当将从所述存储器装置读取数据时,对所述经穿孔的经编码数据进行解码。虽然本文中描述了若干特定实施例,但所属领域的技术人员将显而易见包含并不提供本文中所阐明的所有益处及特征的实施例的其它实施例。
[0014] 存在两个其中使用术语“块”的背景。关于NAND快闪,块是对应于可擦除存储器单元的页的集合。关于错误校正,块码是指一种类型的错误校正。所述两者可基于背景进行区分。
[0015] 图1是包含存储器装置100的示意图,其中所述存储器装置使用速率兼容码(也就是说,具有为m/n的可调节码率的卷积码)来产生经编码的数据。速率兼容码的实例是卷积码。卷积码是正向错误校正技术,其中到卷积编码器的输入数据串流与所述编码器的脉冲响应起卷积。图2中图解说明卷积码的计算的实例的方块图。所图解说明的实施例产生由内部码及外部码形成的并置错误校正码。首先产生外部错误校正码。在产生外部码之后对内部错误校正码进行编码并对将所述外部码进行进一步编码。外部块码提供错误检测能力及错误校正能力。内部速率兼容码提供额外错误校正能力。与按块处理数据的块码相反,速率兼容内部码以连续方式处理数据。
[0016] 图解说明存储器装置100与CPU 102进行通信,CPU 102表示使用存储器装置100的装置。CPU 102是可对应于微处理器微控制器信号处理器或类似装置的处理器。所图解说明的存储器装置100包含写入缓冲器104、控制器106、存储器阵列108及读取缓冲器110。
[0017] 控制器106进一步包含块码编码器112、速率兼容编码器124、速率兼容解码器126及块码解码器122。在所图解说明的实施例中,速率兼容编码器124进一步包含可穿孔码编码器114及穿孔电路116,且速率兼容解码器126进一步包含插入电路118及可穿孔码解码器120。控制器106可由硬件、由固件(软件)或由硬件与固件两者的组合实施。块码编码器112及可穿孔码编码器114每一者提供正向错误校正(FEC)。控制器106处置存储到存储器阵列108及从其检索的数据。为清楚起见,图1中不显示例如缓冲器、行解码器、感测/放大器电路及类似熟悉组件。举例来说,在块码编码器112与可穿孔码编码器114之间可存在缓冲器用于存储待编码数据。在可穿孔码编码器114与穿孔电路116之间可存在缓冲器用于存储待穿孔数据。在穿孔电路116与存储器阵列108的驱动器之间可存在缓冲器用于存储待写入的经穿孔的经编码数据。
[0018] 在一个实施例中,存储器阵列108对应于NAND快闪存储器阵列。所述NAND快闪存储器阵列可具有单级、多级,或甚至可对应于多个阵列。虽然将在NAND快闪存储器的背景中描述特定实施例,但本文中所描述的原理及优点也可应用于其它类型的存储器。一定范围的非易失性固态存储器类型可用于存储器阵列108。举例来说,存储器阵列108可对应于其它形式的快闪(例如,NOR型)、电可擦除可编程只读存储器(EEPROM)、磁阻随机存取存储器(MRAM)、可编程导体存储器、电存储器及类似存储器。
[0019] 写入缓冲器104存储意待存储到存储器阵列108的数据。读取缓冲器110存储从存储器阵列108中检索的数据以供CPU 102读取。对于NAND快闪存储器来说,通常一次将一数据“页”写入到存储器阵列108或从其读取一数据“页”。此数据页的大小可在存储器装置之间改变。典型页大小包含(但不限于):512个字节、1024个字节、2048个字节及类似大小。在所述示意图中,变量N表示页的数据量(例如,字节数目)。虽然从有利于CPU102的观点来看特定页大小在大小上通常是固定的,但存储于存储器阵列108中的页大小将依据如将在下文更详细地解释的码率而改变。
[0020] 通过块码编码器112对N个数目的正常数据字节进行编码。块码的实例包含(但并不限于):汉明码、里德-所罗门错误校正码、搏斯-乔赫里-霍克文黑姆(BCH)码或类似码。在限制内,这些块错误校正码可用于检测并校正数据中的许多错误。使用块码编码的数据占用图1中表示为变量y数目个块码字节的额外字节。在常规NAND快闪存储器阵列中,块码通常存储于对应页的备用字节区域中,其可包含其它信息以及块码。出于图解说明目的,这些可能额外字节包含于变量y中。因此,对于常规NAND快闪存储器阵列来说,针对N个正常数据字节及y个错误校正数据字节页存储N+y个字节。通常,对于块码来说,N+y个字节中的N个字节保持相同数据,并将用于错误校正的y个块码字节附加到N个正常数据字节。N个正常数据字节可视为块码编码器112的原始数据,且N+y个字节可视为可穿孔码编码器114的原始数据。块码稍后准许在对经编码数据进行解码时侦测及/或校正错误。
[0021] 速率兼容编码器124对经块编码的数据进行编码。在一个实施例中,速率兼容编码器124包含可穿孔码编码器114及穿孔电路116。可穿孔码编码器114使用内部速率兼容码(例如,卷积码)编码以对来自块码编码器112的N+y个字节的数据进行编码。通常,码的码率在穿孔之前为1/n,例如1/2、1/3、1/4等等。此编码将页的数据量增加因子z0,以便在可穿孔码编码器114的输出处产生z0(N+y)个字节。对于为1/n的码率,则z0等于n。举例来说,对于半速率(1/2)码率,z0等于2。稍后将结合图2更详细地描述具有半速率码的经卷积编码的数据的产生。
[0022] 穿孔电路116穿孔所述经卷积编码的数据。在一个实施例中,穿孔电路116的功能与可穿孔码编码器114集成在一起。此减少数据量,从而增加码率(m/n)。在穿孔之后,页的位数目是z1(N+y)个字节,其中z1是穿孔之后码率的倒数。z1(N+y)个字节存储于存储器阵列108中。随着数据大小的增长,存储器地址也可在内部映射到存储器装置以反映所存储的数据的大小的增加。穿孔的优点是其可用于改变码率(m/n),且因此,所述所使用的存储量对所存储的冗余量。
[0023] 经穿孔码率的实例包含(但不限于)如稍后将结合图3描述的2/3及4/5。也可应用其它码率且其将容易地由所属领域的技术人员确定。码率(m/n)取决于所选择的特定穿孔模式及用于对待穿孔数据进行编码的码的码率。在“穿孔”数据时,删除所述数据中的某些位。在图1中,控制电路128提供穿孔模式或对穿孔模式的指示。码率(m/n)可随着穿孔模式而改变,且用于存储经穿孔数据的存储器阵列108的空间量可接着改变。因此,应理解,地址映射、行及/或列及对特定块所使用的码率的指示可存储于存储器阵列108的参考区域中并由控制电路128进行使用及/或选择。在一个实施例中,控制电路128也将指示经穿孔数据的穿孔等级的参考信息存储于存储器阵列108中。举例来说,可存储穿孔模式。在一个实施例中,参考信息自身并不穿孔以便可在不知晓穿孔模式的情况下对其进行解码。在一个实例中,参考信息存储于每一页的结尾处。然而,参考信息也可存储于每一块的结尾处或整个阵列的一个块内及类似位置处。稍后将结合图4描述控制电路128的可能功能的进一步实例。
[0024] 速率兼容解码器126对经穿孔数据进行解码。根据应用,速率兼容解码器126也可将未经穿孔数据解码。在一个实施例中,速率兼容解码器126包含插入电路118及可穿孔码解码器120。当从存储器阵列108中检索z1(N+y)个字节的经穿孔数据时,插入电路118使用穿孔模式来插入虚设数据以替代先前删除的数据(解穿孔),所述虚设数据(例如)不影响维特比解码器的可能解码序列的似然计算(分支度量)。在替代实施例中,不是插入虚设数据,使用擦除指针来向解码器指示已穿孔特定数据。在一个实施例中,插入电路118的“插入”功能由可穿孔码解码器120中的硬接线数学等效物取代。只要错误总数目在速率兼容码的错误校正能力内,即应存在足够的冗余以对经穿孔数据进行正确地解码。
[0025] 通过可穿孔码解码器120对具有z0(N+y)个字节的经重组码进行解码。在一个实施例中,可穿孔码解码器120是维特比解码器,其对经卷积编码的数据进行去卷积。所述经去卷积的数据接着提供到块码解码器122(例如,用于进一步错误检测及/或校正)。块码解码器122对z(N+y)个字节的经块解码数据进行解码并产生N个字节的经校正数据(除非错误不可校正)。所述N个字节的经校正数据置于读取缓冲器110中以供CPU 102存取。
[0026] 在相对低的码率下,来自块码编码器112与速率兼容编码器124组合的外部块码与内部卷积码的并置可改善所存储数据的集成度并增加恢复可校正数据的可能性。可通过降低位错误率(BER)来观察此效应。BER的改善可用于分配可用存储器以通过更多的冗余来对更具有价值的数据进行编码并通过较少的冗余来对较不具有价值的数据进行编码。举例来说,可通过比应用程序数据(例如,音乐档案)多的冗余来对编程数据(例如,固件、操作系统或其它编程数据)进行编码。在另一实例中,稍后将结合图4描述,去往存储器阵列108的已被识别为变得较不可靠的区域的数据可与相对低速率内部码并置在一起。举例来说,可减小穿孔量或可完全停用穿孔以增加冗余及内部码的错误校正能力。
[0027] 图2图解说明用于卷积编码数据的编码器200的实例,其是速率兼容编码器的实例。编码器200使用具有为1/2的m/n码率的卷积码。所述编码器包含移位寄存器202、第一模2加法器204及第二模2加法器206。模2加法器204、206实施互斥OR(XOR)逻辑。将输入数据位X连续地提供到移位寄存器202。移位寄存器202及模2加法器204、206实
0 1
施生成多项式Y、Y,每一模2加法器204、206每一者一个。所述生成多项式表征卷积编码器的转换功能。可使用宽广范围的生成多项式。另外,如果需要可计算多于两个生成多项式,同时码率对应降低,例如,1/3、1/4等等。
[0028] 图3图解说明数据串流。举例来说,参考图1,所述数据串流可对应于出现在可穿孔码编码器114、穿孔电路116周围的路径中,存储于存储器阵列108中、插入电路118及可穿孔码解码器120中及从其检索的那些数据串流。在顶部处的第一实例中,使用为1/2的码率对数据串流进行卷积编码并在不穿孔的情况下将其存储。在中间的第二实例中,使用为1/2的码率对数据串流进行卷积编码并将其穿孔以获得为2/3的码率。在底部处的第三实例中,使用为1/2的码率对数据串流进行卷积编码并将其穿孔以获得为4/5的码率。
[0029] 返回到顶部处的第一实例,对来自块码编码器112的输出的数据串流x0,x1,x2,x3,...进行卷积编码以产生两个输出数据串流 ,...及 ,...。这两个输出数据串流存储于存储器阵列108中而不穿孔。当从存储器阵列108中检索数据时,可穿孔码解码器120可在不插入任何数据的情况下对 ,...及 ,...数
据串流进行解码。
[0030] 在中间的第二实例中,对数据串流x0,x1,x2,x3,...进行卷积编码以产生两个输出数据串流 ,...及 ,...,接着将其穿孔为 ,...及,..., ,...及 ,...存储于存储器阵列108中。针对数据读取,从存储器阵列108中检索经穿孔数据 ,...及 ,...,插入不扰乱解码的虚设值来取代经删除数据或使用擦除指针,并可通过可穿孔码解码器120对具有插入 ,...及-,,-,...的经穿孔数据进行解码以解码回原始数据串流x0,x1,x2,x3,...。破折号(-)指示数据已被擦除。
[0031] 在底部处的第三实例中,对数据串流x0,x1,x2,x3,...进行卷积编码以产生两个输出数据串流 ,...及 ,...,接着将其穿孔为 ,...及 ,...,,...及 ,...存储于存储器阵列108中。针对数据读取,从存储器阵列108中检索经穿孔数据 ,...及 ,...,插入不扰乱解码的虚设值来取代经删除数据或使用擦除指针,并通过可穿孔码解码器120对具有插入 ,...及 ,-,-,-,...的经穿孔数据进行解码以解码回原始数据串流x0,x1,x2,x3,...。
[0032] 如图3中所图解说明,速率兼容码准许通过操纵码率来以各种密度存储数据。因此,当期望相对更多的冗余时,可使用相对低的码率。此使得可在已将存储器装置100(图1)置于字段中之后在存储能力与存储可靠性之间作出折衷。因此,举例来说,用户可在更可靠的数据存储或更多的数据存储之间进行选择。在另一实例中,用于速率兼容码的卷积码的约束长度k可改变。约束长度k是指卷积编码器的转换功能的长度。可在更可靠的数据存储与解码复杂性之间作出折衷。可将芯片的若干选择部分预分配为(例如)相对高的码率或预分配为相对低的码率(及在其之间)。在另一实例中,用于固件、操作系统的编程数据及类似编程数据可视为比应用程序数据(例如,用于音乐或文件的数据)更具有价值。
常常地,可通过读取标头来识别正存储的数据的类型。因此,可通过由较低码率码所提供的更大冗余来存储更具有价值的数据。页、块、穿孔模式及类似物的可应用映射可存储于持久存储器的参考区域中,例如在也存储坏块表数据的数据块中。
[0033] 在另一实例中,产生具有1/4的m/n码率的卷积码。所述具有1/4的未穿孔码率的卷积码用于存储参考信息。针对其它数据的存储,将所述卷积码穿孔为不同码率,例如1/3或1/2。在一个实施例中,如稍后将结合图4描述,穿孔量是可选择的。另外,存储器阵列108(图1)可具有多级单元,且经卷积编码的数据(经穿孔或未经穿孔)可散布于所述单元的多个层级之间。
[0034] 在一个实施例中,码率也可在将存储器装置100(图1)放入字段中之后改变。然而,应注意,经编码数据的页大小及块大小随着码率而改变,使得也应适当地调节并持久地存储存储器映射、开始或停止地址的指示符、对选择哪一穿孔模式的指示等等以供检索。如果约束长度及/或生成多项式改变,那么也可存储那些映射及指示以供稍后检索。由于块将依据码率消耗变化量的物理存储器空间,因此可在擦除所述块时将其分配。图4图解说明码率的动态选择的实例。
[0035] 图4是大致图解说明用于动态地选择用于将数据存储于NAND快闪存储器装置中的码率的过程的流程图。所属领域的技术人员应了解,可以多种方式修改所图解说明的过程,而不背离本发明的精神及范围。举例来说,在另一实施例中,可对所图解说明的过程的各个部分进行组合、可将其按交替序列进行重新布置、可将其移除及对其进行类似修改。在一个实施例中,NAND快闪存储器装置中的各个块最初以相对高的码率(低冗余)开始,且在耗损出现时,可降低码率以实现更多的冗余。
[0036] 在NAND快闪存储器装置中,按相对大的多个页块擦除存储器,且通常一次将数据写入到一页及从其读取数据。所述过程以接收用于擦除块或编程410经擦除块的一部分的命令开始。
[0037] 所述过程确定420在正用于特定块的码率下是否已存在边际条件的指示。边际条件可由正由块ECC校正的位的数目的增加来指示。举例来说,当块ECC指示其在一个不能够校正进一步错误的位内时,可将页及/或块视为降级且给其加旗标以经由较少穿孔实现增加的冗余。此可推迟块的淘汰并增加存储器装置100(图1)的服务寿命。也存在其中可期望动态地选择码率的其它情况。除前述实例之外,也可依据存储器装置100的存储器阵列108中可用存储器数目来选择码率。图4中所描绘的过程仅为一个实例。
[0038] 快闪存储器芯片展现耗损机制。举例来说,存储器装置100(图1)可最初在生产期间配置以以相对高的码率(例如,4/5)操作。随着存储器装置100耗损,码率可降低以使得存储器装置100保持可靠性。应注意,此块ECC解码在读取操作期间执行。在一个实施例中,读取块并在擦除所述块之前校验所述块的页的块ECC。在另一实施例中,在正常读取操作期间以正进行基础读取所述块的页。
[0039] 如果块ECC指示边际条件,那么降低码率430。此可通过减小用于下一组数据的穿孔量来实现。举例来说,可将码率从2/3调节到1/2(不穿孔)。
[0040] 如果块ECC不指示边际条件,那么所述过程可继续进行以保持440将先前码率用于待编程到那些存储器位置的下一组数据。
[0041] 一个实施例是一种设备,其包含:编码器,其经配置以接收数据,其中所述编码器经配置以穿孔所述所接收数据;一个或一个以上存储器阵列,其经配置以存储所述经穿孔数据;及解码器,其经配置以解码所述经穿孔数据。
[0042] 一个实施例是一种用于将数据存储于具有一个或一个以上存储器阵列的非易失性存储器装置中的方法,其中所述方法包含:接收打算用于存储于所述一个或一个以上存储器阵列中的数据;对所述数据进行解码以产生经穿孔数据;及将所述经穿孔数据存储于所述一个或一个以上存储器阵列中。
[0043] 一个实施例是一种检索存储于具有一个或一个以上存储器阵列的非易失性存储器装置中的经穿孔数据的方法,其中所述方法包含:从所述存储器装置的所述一个或一个以上存储器阵列中检索所述经穿孔数据;及根据与所述经穿孔数据相关联的穿孔模式对所述经穿孔数据进行解码。
[0044] 一个实施例是一种确定非易失性固态存储器装置中的存储器空间块的码率的方法,其中所述方法包含:确定是否针对所述存储器装置的数据块的至少一部分存在边际条件;及如果存在所述边际条件,那么降低用于所述块的码率。
[0045] 上文已描述了各种实施例。虽然参照这些具体实施例加以描述,但所述描述打算作为说明性而非打算作为限制性。所属领域的技术人员可想出各种修改及应用,而不背离如所附权利要求书中所界定的本发明的真正精神及范围。
QQ群二维码
意见反馈