具有非易失性存储器的多级系统中的高级逐位操作及设备的制作方法

文档序号:6738436阅读:90来源:国知局
专利名称:具有非易失性存储器的多级系统中的高级逐位操作及设备的制作方法
技术领域
本申请案大体来说涉及多电平信息系统,且更特定来说涉及与多级系统中的逐位操作有关的设备及方法。
背景技术
2009年3月13日提出申请的标题为“多级系统中的逐位操作(BITWISE0PERATI0NSIN A MULTI-LEVEL SYSTEM) ”且在 2009 年 9 月 24 日作为第 2009/0241006 Al 号美国专利申请公开案公开的第12/403,546号美国专利申请案(在下文中称为‘546申请案)与本申请案为共同所有且特此以全文引用的方式并入本文中。由于所述,546申请案提供了申请 人视为优于随后存在的技术现状的决定性优势,因此申请人认为本申请案提供更进一步的优势。相关技术的前述实例及与其相关的限制既定为说明性而非排他性的。在阅读说明书及研究图式之后,所属领域的技术人员将明了相关技术的其它限制。

发明内容
结合意在为示范性及说明性而不限制范围的系统、工具及方法描述并图解说明以下实施例及其若干方面。在各种实施例中,已减少或消除上述问题中的一者或一者以上,而其它实施例是针对其它改进。一般来说,数字系统配置有用于存储数字数据的非易失性存储器。在本发明的一个方面中,形成所述数字系统的一部分的设备及相关联方法经配置以用于使用里德所罗门编码器接收通过所述数字系统提供的包含输入数据的输入数据流,以产生由一系列里德所罗门符号构成的经里德所罗门编码的流。使用压缩布置接收所述经里德所罗门编码的流以产生经重新组块的输出数据流,使得所述经重新组块的输出数据流的至少一个部分但非全部经配置以服从基于卷积码的码效率。由所述压缩布置修改所述经重新组块的输出数据流以基于改变提供到所述压缩布置的一个或一个以上输入参数的一个或一个以上值而支持与所述输入流中的预定数目个里德所罗门符号相关联的卷积码的码效率的改变。使用映射布置来接收所述经重新组块的输出数据流以应用TCM码来产生经TCM编码的输出数据流。根据所述卷积码的码效率使用形成所述映射布置的一部分的卷积编码器对所述经TCM编码的输出流的部分进行卷积编码以基于所述输入参数的所述值而支持码效率的改变以产生经映射的输出数据流供引导到所述非易失性存储器以作为所存储数据存储于所述非易失性存储器中。在一个特征中,通过所述压缩布置与所述映射布置之间的协作将所述经TCM编码的输出数据的部分卷积编码为构成所述经TCM编码的输出流的多个TCM符号中的每一者的最低有效位。在另一特征中,每一 TCM符号由多个位构成,且通过所述压缩布置与所述映射布置之间的协作将所述经TCM编码的输出数据的部分卷积编码为构成所述经TCM编码的输出流的多个TCM符号中的每一者的至少一最低有效位但少于所有位。在又一特征中,基于读取所存储数据,使用解映射布置数据从所述非易失性存储器接收存储器输出流,并根据所述码效率对存储器输出流进行卷积解码以基于提供到所述映射布置的所述输入参数的值中的对应者而将所述存储器输出流再现为经解映射的输出流。使用解压缩布置接收所述经解映射的输出流以便以响应于基于提供到所述压缩布置的一个或一个以上输入参数的值中的对应者而改变与预定数目个里德所罗门符号相关联的卷积码的码效率的方式基于所述码效率从所述经解映射的输出流再现所述经里德所罗门编码的流。使用里德所罗门解码器从所述解压缩布置接收所述经里德所罗门编码的流以从所述经里德所罗门编码的流解码包含输入数据的读取数据流以供所述数字系统用作读取数据。在本发明的另一方面中,形成所述数字系统的一部分的设备及相关联方法经配置以用于使用块码编码器接收通过所述数字系统提供的包含输入数据的输入数据流,以产生由一系列块码符号构成的经块码编码的流。使用压缩布置接收所述经块码编码的流以产生经重新组块的输出数据流,使得所述经重新组块的输出数据流的至少一个部分但非全部经配置以服从基于卷积码的码效率。由所述压缩布置修改所述经重新组块的输出数据流以基于改变提供到所述压缩布置的一个或一个以上输入参数的一个或一个以上值而支持与所述输入流中的预定数目个块码符号相关联的卷积码的码效率的改变。使用映射布置来接收所述经重新组块的输出数据流以应用TCM码来产生经TCM编码的输出数据流。使用形成所
述映射布置的一部分的卷积编码器根据所述卷积码的码效率对所述经TCM编码的输出流的部分进行卷积编码以基于所述输入参数的所述值支持码效率的改变以产生经映射的输出数据流供引导到所述非易失性存储器以作为所存储数据存储于所述非易失性存储器中。在本发明的另一方面中,形成所述数字系统的一部分的设备及相关联方法经配置以用于使用压缩布置接收经里德所罗门编码的流以产生经重新组块的输出数据流,使得所述经重新组块的输出数据流的至少一个部分经配置以服从基于卷积码的码效率。所述压缩布置及相关联方法适于用于基于作为准备将输入数据存储于非易失性存储器中的中间步骤而提供到压缩布置的一个或一个以上输入参数的给定值而改变与所述输入流中的预定数目个里德所罗门符号相关联的所述卷积码的码效率。在本发明的又一方面中,形成所述数字系统的一部分的设备及相关联方法经配置以用于使用包含多个存储器单元的非易失性存储器来存储数字数据。形成所述设备的一部分的压缩布置及相关联方法经配置以用于接收由所述系统提供的输入数据流以产生基于用于在所述存储器单元中存储的块大小的输出数据流,且选择性地可基于一个或一个以上输入参数以第一模式操作以产生用于在所述存储器单元中存储的第一块大小且可至少响应于所述输入参数的改变而以第二模式操作以产生不同于所述第一块大小的第二块大小以在其操作期间选择性地改变块大小。在本发明的又一方面中,形成所述数字系统的一部分的设备及相关联方法经配置以用于使用包含多个存储器单元的非易失性存储器来存储数字数据使得所述存储器单元中的至少一些存储器单元可存储一个以上位。形成所述设备的一部分的编码器布置及相关联方法经配置以接收由所述系统提供的输入数据流以产生基于用于在所述存储器单元中存储的每单元译码的选定位数目的输出数据流,且选择性地可基于一个或一个以上输入参数以第一模式操作以将用于在所述存储器单元中存储的第一位密度产生为每单元所述选定位数目且响应于所述输入参数的改变而至少以第二模式操作以产生不同于所述第一位密度的第二位密度以在其操作期间选择性地改变每单元译码的位数目。
在本发明的再一方面中,形成所述数字系统的一部分的设备及相关联方法经配置以用于使用包含多个存储器单元的非易失性存储器来存储数字数据使得所述存储器单元中的至少一些存储器单元可存储一个以上位。形成所述设备的一部分的编码器布置及相关联方法经配置以接收由所述系统提供为一系列输入符号的输入数据流以产生基于用于在所述存储器单元中存储的每单元译码的选定位数目的输出数据流且可基于一个或一个以上输入参数而重新配置以至少改变待存储于所述非易失性存储器的存储器单元中的每单元译码的所述选定位数目。在本发明的延续方面 中,形成所述数字系统的一部分的设备及相关联方法经配置以用于使用包含多个存储器单元的非易失性存储器来存储数字数据使得所述存储器单元中的至少一些存储器单元可存储一个以上位。形成所述设备的一部分的解码器布置及相关联方法经配置以用于接收响应于读取存储于所述非易失性存储器中的数据结构而提供的读取数据流以提供含有最初在写入操作期间编码为所述数据结构的一部分且存储于一系列所述存储器单元中的用户数据流的一系列读取符号,以基于存储于所述系列的存储器单元中的每单元译码的若干个不同位密度中的选定一者而再现所述用户数据流。所述解码器布置及相关联方法可基于一个或一个以上输入参数而重新配置以至少改变所述位密度中的选定一者来匹配存储于所述系列的存储器单元中的所述位密度以作为再现所述用户数据流的一部分。在本发明的另一方面中,形成所述数字系统的一部分的设备及相关联方法经配置以用于使用包含多个存储器单元的非易失性存储器来存储数字数据使得所述存储器单元中的至少一些存储器单元可存储一个以上位。形成所述设备的一部分的解映射布置及相关联方法经配置以用于基于从所述非易失性存储器读取所存储数据而接收存储器输出流,其中所述存储器输出流呈经TCM编码的输出数据流的形式,在编码操作期间使所述经TCM编码的输出数据流的一个部分但非全部服从由一组参数的给定值确立的码效率,且用于基于所述码效率对所述经TCM编码的输出数据流进行卷积解码以基于在编码操作期间提供的输入参数的给定值中的对应者而将所述经TCM编码的输出数据流再现为经解映射的输出流,所述经解映射的输出流含有经里德所罗门编码的流。解压缩布置及相关联方法经配置以用于接收所述解映射器输出流并基于所述码效率而从所述解映射器输出流再现所述经里德所罗门编码的流,且所述解压缩布置及相关联方法对基于在所述编码操作期间提供的所述一个或一个以上输入参数的所述给定值中的对应者而改变与所述预定数目个里德所罗门符号相关联的卷积码的码效率做出响应。里德所罗门解码器及相关联方法经配置以用于从所述解压缩布置接收所述经里德所罗门编码的流以从所述经里德所罗门编码的流解码包含所述输入数据的读取数据流以供所述数字系统用作读取数据。在本发明的另一方面中,形成所述数字系统的一部分的设备及相关联方法经配置以用于使用包含多个存储器单元的非易失性存储器来响应于主机装置而存储数字数据。形成所述设备的一部分的编码器/解码器布置及相关联方法经配置以使所述主机装置与所述非易失性存储器介接以在其之间以一系列码字传送读取数据及写入数据,其中每一码字具有码字大小使得从所述主机装置到所述非易失性存储器的经编码数据流及从所述非易失性存储器到所述主机装置的经解码数据流各自至少服从基于卷积码的码效率,且所述编码器/解码器布置经配置以用于接收一个或一个以上输入参数使得所述码效率可响应于所述输入参数的改变而在逐码字基础上改变。在一个特征中,每一码字由构成码字长度的多个符号构成,其中每一符号表不待存储于所述存储器单兀中的一者中的值,且所述编码器/解码器布置结合相关联方法经配置以用于以第一模式操作以在给定系列码字的第一码字中产生第一码效率且以第二模式操作以在所述给定系列码字的第二码字中产生第二码效率。在本发明的又一方面中,在配置有用于存储数字数据的非易失性存储器的数字系统中,一种数据结构存储于所述非易失性存储器中。所述数据结构包含存储于所述非易失性存储器中的一系列TCM符号,所述系列的TCM符号中的每一者表不至少两个位,使每一TCM符号的至少最低有效位服从卷积码,且每一符号的至少一个其它位未经卷积编码,且所 述TCM符号构成形成一系列码字的一系列里德所罗门符号使得所述数据结构中的至少一个码字的所述卷积码的码效率不同于所述数据结构中的邻近码字的所述码效率。在本发明的再一方面中,描述一种供与配置有非易失性存储器以将数字数据以数据结构存储于所述非易失性存储器中的数字系统一起使用的方法。所述方法包含将一系列TCM符号写入到所述非易失性存储器,所述TCM符号中的每一者表示至少两个位,使每一TCM符号的至少最低有效位服从卷积码且每一符号的至少一个其它位未经卷积编码,且所述TCM符号构成形成一系列码字的一系列里德所罗门符号使得所述数据结构中的至少一个码字的卷积码的码效率不同于所述数据结构中的邻近码字的码效率。在本发明的延续方面中,在配置有用于存储数字数据的非易失性存储器的数字系统中,将一种数据结构存储于所述非易失性存储器中。所述数据结构包含一系列TCM符号,其存储于所述非易失性存储器中形成所述非易失性存储器的一部分的一系列存储器单元中,其中每一 TCM符号包含至少一个位且构成先前写入到所述非易失性存储器的数据传送,使得所述系列的存储器单元至少平均存储表示所述数据传送的每单元分数个位。在本发明的进一步方面中,描述一种供与配置有用于存储数字数据的非易失性存储器的数字系统一起使用的方法。所述方法包含将一系列TCM符号作为数据传送写入到所述非易失性存储器形成所述非易失性存储器的一部分的一系列存储器单元中,其中每一TCM符号包含至少一个位使得所述系列的存储器单元至少平均存储表示所述数据传送的每单元分数个位。在一个特征中,所述数据传送包含用户数据且所述方法进一步包含基于每单元所述分数个位而从所述非易失性存储器读取所述系列的TCM符号以恢复所述用户数据。在本发明的另一方面中,一种设备形成配置有用于存储数字数据的非易失性存储器的数字系统的一部分。所述设备包含写入布置,其用于在数据传送操作中将数据结构作为一系列TCM符号写入到所述非易失性存储器形成所述非易失性存储器的一部分的一系列存储器单元中,其中每一 TCM符号包含至少一个位且所述数据结构包含用户数据使得所述系列的存储器单元至少平均存储每单元分数个位。在一个特征中,读取布置经配置以用于基于每单元所述分数个位而从所述非易失性存储器读取所述系列的TCM符号以恢复所述用户数据。除上述示范性方面及实施例以外,通过参考图式及通过研究以下详细描述还将更明了进一步的方面及实施例。


在所述图式的参考图中图解说明示范性实施例。本文所揭示的实施例及图既定为说明性而非限制性。图I是根据本发明产生的系统的框图,其提供存储器中的每单元多位的存储且图解说明关于可存储数据的方式的某些细节。图2是可存储于图I的系统的存储器中的数据结构的一个实施例的示意性图解说明,其展示所述数据结构的细节。图3是图解说明可用作图I的系统的一部分的卷积编码器的一个实施例的框图。图4是图解说明关于图I的系统的编码区段的细节的框图。图5是图解说明可由图4的编码区段操作的编码方法的一个实施例的流程图。
图6是图解说明关于图I的系统的解码区段的细节的框图。图7是图解说明可由图6的解码区段操作的解码方法的一个实施例的流程图。图8是图解说明参数寄存器区段的一个实施例的框图,所述参数寄存器区段可形成图I的系统的一部分且可由图4的编码区段以及图6的解码区段使用,此处进行展示以图解说明具有多个寄存器库的库式配置的细节。图9是图解说明用于与图8的库式参数区段实施例有关的操作的方法的一个实施例的流程图。图10是可存储于图I的存储器区段中的数据结构的另一实施例的示意性图解说明,此处进行展示以图解说明关于分数位密度的进一步细节。
具体实施例方式呈现以下描述以使所属领域的技术人员能够制作及使用本发明,且所述描述是在专利申请案及其要求的背景中提供。所属领域的技术人员将易于明了对所描述实施例的各种修改,且本文中所教示的一般原理可应用于其它实施例。因此,本发明并不既定限制于所展示的实施例,而是被赋予与本文中所描述的原理及特征(包含修改及等效形式)相一致的最宽广范围,如所附权利要求书的范围内所界定。应注意,所述图式并非按比例绘制,且本质上是以最佳地图解说明所关注特征的方式来图示。可关于各图中所提供的各种视图出于加强读者理解的目的采用描述性术语,且所述描述性术语绝不为限制性。本发明提供申请人视为关于基于非易失性存储器的数据存储与检索系统的性能的显着改进。本发明涉及(举例来说)在上文并入的‘546申请案中所述的多位译码系统,其中对两个单独位群组进行译码,使得所述两个单独位群组形成一系列(举例来说)格栅译码调制(TCM)符号中的每一者的不同部分。可称为每一 TCM符号的LSB的一个位群组包含至少最低有效位,且可包含有效性相继更大的额外位,但并非TCM符号的所有位。可称为MSB的另一位群组包含TCM符号的除LSB之外的所有剩余位,且可包含最高有效位及可包含有效性相继更小的额外位但并非TCM符号的所有位。在一个实施例中,针对每单元译码三个位存在两个MSB。在另一实施例中,针对每单元译码四个位存在三个MSB。所属领域的技术人员在获知本发明整体的情况下可易于配置其它实施例。根据本发明的性能益处包含针对给定量的非易失性存储器增加的存储容量,以及与已应用本文中所揭示的教示的数据存储系统的可靠性及耐久性有关的增强。使用(举例来说)NAND快闪的现有技术系统要求包含用以校正在存储器装置中自然发生的错误的机制。本发明提供作为相对于采用非易失性存储器的现有技术系统的性能增益的基础的强大的错误检测与校正机制。申请人认识到,可将此些存储器装置中的错误率量化为可依据装置技术以及通过环境及使用统计而针对特定存储器装置预测的统计数量。可使用这些错误率及其随存储器装置的使用寿命而改变的方式的知识来构造为每一存储器装置提供最优性能的错误检测与校正系统。此外,申请人认识到,可设计一种一般化错误校正系统,其可经参数化以针对一系列特定存储器装置中的每一者最优地操作且针对每一存储器装置在所述存储器装置的使用寿命内操作。本发明利用涉及代数错误校正与格栅译码调制(TCM)的组合的编码与解码方法以将数据与应用程序存储到非易失性存储器装置及从所述非易失性存储器装置检索数据与应用程序。在一个实施例中,由具有到主机计算机、编码与解码通道及信息存储媒体的连接的数据存储系统利用所述编码与解码技术。所述存储媒体以可符合能够进行数据的非易失性保持的任何适合技术的一个或一个以上非易失性存储器装置的形式提供。可从本文所述的高级技术受益的当今数据存储系统可使用NAND快闪作为存储媒体,但此高级技术关于基于当前可用或尚待开发的任何其它适合形式的非易失性存储器的装置也同样适用。此 些其它形式的非易失性部件可实现类似于针对NAND快闪所见的那些益处的益处。本文可使用的非易失性存储器装置是基于单元的装置,其中每一单元能够存储一信息单位。此单位可存储单个位或多个位。在非易失性存储器单元中存储一个位要求数据存储系统在所述单元中的两种可能状态之间可靠地解析。存储更多位需要额外状态及在所述状态当中解析的能力。举例来说,如果单元中的数据量是根据所感测电压而解析,那么每单元存储2个位需要在四个相异电压当中解析;存储三个位需要在八个相异电压之间解析,等等。已提出,现有技术系统已仅在使用具有极高的可靠性及相对于正存储的位数目的解析能力的存储器时在快闪存储器中存储多于两个位。换句话说,现有技术已采取尝试消除任何错误可能性以使得几乎消除对校正的任何需要的方法。然而,申请人已认识到,例如(举例来说)NAND快闪装置的非易失性装置是有缺陷的装置。如此,在使用这些装置时难以在使得本发明随附的益处显着的程度上一致地解析每单元多个电压。应了解,在每单元此多个电压当中解析的能力与正解析的电压及电平的数目成比例地减小。本发明使得可在于现有技术系统中原本将不能够可靠地存储及检索每单元多个位的存储器装置中存储每单元相同数目个位。代数编码与TCM编码的组合的应用适应申请人的以下认识针对每单元存储多个位,在给定单元中有效性较低的位比所述同一单元中有效性较高的位更可能出错误。本发明提供每单元存储4个位的系统的示范性描述。然而,此描述不既定为限制性。举例来说,通过使参数变化,相同教示仍适用于少至每单元存储3个位或每单元存储多于4个位。现在转到其中相似参考编号可指代相似组件的各图,随即关注图1,其是由参考编号10大体指示的系统的框图,其中系统组件提供每单元多位存储及数据检索。在系统10中,主机计算机12使用构成非易失性存储器14的存储单元来存储及检索数据。读取及写入分别由编码区段20及解码区段22实现,所述区段可靠地将数据从主机传达到非易失性存储器及从存储器传达到主机。以使得可识别在主机读取数据时发生的位错误且在数据返回到主机之前通过解码过程从所述数据移除所述位错误的方式执行主机到存储器中的数据存储。仍参考图1,非易失性存储器14可由一个或一个以上个别存储器装置构成,所述存储器装置中的每一者可由可互换地称为编码器的编码区段20或可互换地称为解码器的解码区段22存取。用于所述非易失性存储器的装置技术可为能够每单元存储一个以上位的任何非易失性媒体。NAND快闪将为典型的,但任何非易失性技术将同样适用,如上文所论述。主机12可为向数据存储与检索系统发出读取及写入命令的任何适合装置。其通常为处理器,且可为计算机系统的一部分,但也可为嵌入式系统的一部分。编码器20在从主机12到存储器14的数据传送过程期间操作。所述编码器的功能是以使得可在主机请求从存储器14读取由所述主机提交的数据时检测并校正错误的方式对所述数据执行变换。解码器22在从存储器14到主机12的数据传送过程期间操作。所述解码器的功能是对从
存储器检索的数据(呈由所述存储器存储所述数据的形式)执行变换并将所述数据转换成最初主机将其提交给编码器的形式。存储于存储器14中的数据的形式包含使得解码器22能够检测并校正由于存储器14缺陷而发生的数据中的位错误的编码。根据本发明产生的实施例可适用于编码器、解码器及非易失性存储器的实施方案,且适用于其中主机通过发送导致传送数据以存储到存储器中及导致存储于存储器中的数据传送到主机的命令来引导操作的系统环境。现在关注图2,其示意性地图解说明根据本发明的由参考编号100大体指示且可存储于非易失性存储器14(图I)中的数据结构的一个实施例。特定来说,图2图解说明标示为RSl到RS13的多个里德所罗门(RS)符号,针对每单元4个位的密度且针对尚待描述的特定穿孔型式将所述多个RS符号分配到TCM符号流上。应了解,里德所罗门码是一种形式的块码。就此来说,可利用任何适合形式的块码,例如(举例来说)逐位BCH码。在获知本发明整体的情况下,所属领域的技术人员可易于基于例如逐位BCH码的块码而实施其它系统、技术及数据结构。将所述TCM符号中的某些符号个别地标示为(举例来说)TCM1、TCM2、TCM3及TCM15。将每一 TCM符号的位的有效性标示为k到b3,其中Idci是最低有效位。在数据传送的初始部分102中,里德所罗门符号RSl、RS7及RS12(仅部分地展示)仅仅由从相关联TCM符号取得的最低有效位k构成。RS2到RS6、RS8到RSll及RS13 (仅部分地展示)由158位131到133构成。将所述数据结构图解说明为具有初始部分102及终止部分104。TCM符号TCMl到TCM32构成所述结构的初始部分102,其包含RSl到RS13的所图解说明部分。所述数据结构的终止部分由以RS(N)结束的RS符号群组构成且具有TCM符号TCM(N’),如将进一步描述。应了解,图2的数据结构对应于存储于非易失性存储器中的特定但示范性结构。尽管如上文所描述LSB的数目可大于1,但图2图解说明其中从每一 4位TCM符号取得的三个MSBOd1到匕)与一个LSB(bQ)配对的实施例。如将看出,LSB位置中的“X”符号以及LSB位置中的非“X”符号表示在将所述数据结构实际存储于存储器中之前通过卷积编码而产生的码位。就此来说,在“X”位位置中携载的数据可称为附加码位。应注意,虽然本发明及所附权利要求书可将存储器称为存储TCM符号,但应了解,实际上存储的是可视为表示TCM符号的存储器目标或目标电平的电平。继续参考图2,将N个RS符号[RSI、RS2、…、RS (N-I)、RS (N)]的流压缩到4位TCM符号的流上。术语“压缩”指代将位从一种符号格式重新编组成另一符号格式的过程。在此情况中,将包括(举例来说)每符号10个位的RS符号流“压缩”到4位TCM符号流上是从第一 TCM符号的LSB的第一 RS符号提取一个位且从第一 TCM符号的MSB的第二 RS符号提取三个位的过程。第二 TCM符号由来自第二 TCM符号的LSB的第一 RS符号的一额外位及来自第二 TCM符号的MSB的第二 RS符号的三个额外位构造而成。为了接收第一 RS符号的所有10个位,创建15个TCM符号。在本实施例中,LSB中的与此15个TCM符号相关联的5个将为卷积附加码位的X个占位符,而所述LSB中的10个是构成第一 RS符号的实际数据位。应注意,RS6超出RSl的末端。一旦当前RS MSB符号超出完整LSB RS符号的末端,下一 RS符号便专用作LSB RS符号。当在图2中创建前30个TCM符号时,以RS2到RS5、RS1、RS6、RS8到RSll及RS7的次序完成所述RS符号,其中RS7及RSll是在创建TCM30时同时完成。由于前30个TCM符号的创建表示完整压缩型式,因此以类似方式构造额外TCM符号,根据需要从后续RS符号取得位直到已将所有RS符号转换成TCM符号为止。只要存在源符号(即,RS符号),压缩过程就继续。如果由于来自RS符号流的所有位已被用完而使得完成最后一个4位TCM符号需要额外位,那么插入额外填充位以填满最后一个4位符号。所述图展示将N个符号放置到4位流上的方式。每一4位符号由垂直排列的四位片表示,如所展示。出于编码目的每一 RS符号的位到TCM符号流上的布置次序可为任何便利 次序,只要解码器可在协作解码功能期间准确地重构所述符号的原始位序列即可。TCM输出流是序列[TCM1、TCM2、. . .、TCM (N’ -I)、TCM (N’ )]。应注意,长度为N的RS符号输入流产生N’个符号的TCM流。N与N’之间的关系使得针对可包含(以非限制性实例的方式)位密度、RS数据长度、RS奇偶长度、待采用的卷积多项式及待采用的穿孔多项式的给定参数集合,N的特定值产生N’的特定值,使得知晓N会实现N’的确定。因此,关于输出位的数目对输入位的数目,RS到TCM变换是准确的。应了解,可将输入流中的第一 RS符号合理地分配给MSB或LSB。只要协作解码功能能够准确地重构序列,LSB或MSB之间的选择就是任意的。在本实施例中,基于在编码操作期间LSB符号比MSB符号消耗得慢而始终将流中的第一 RS符号分配给结构的LSB侧。在初始RS符号之后,RS符号使用的序列由特定实施例确定。在图中所展示的配置中,将第一RS符号(RSl)选择为LSB符号,且接着将第二 RS符号(RS2)选择为MSB符号。基于使用率而将后续RS符号分配给MSB或LSB。在图2中,在将第一 RS符号(RSl)放置为LSB之后将五个RS符号(RS2到RS6)分配给MSB。在将RS6分配给MSB使用之后,将RS7分配为第二LSB符号。所述图中第一 LSB符号与第二 LSB符号之间的边界是TCM符号TCM15与TCM16之间的边界。分配序列以此方式继续进行,直到已使用等于RS数据长度(其中RS数据长度是构成完整输入数据流的RS符号的数目)的数目个符号。如将看出,根据本发明产生的系统经配置以监视传入RS数据流并在LSB与MSB之间适当地分配传入RS符号。应注意,在图2中,用于填充MSB的每一 RS符号由10个正方形构成,其中每一正方形表示一位(使用在每一 RS符号内部的虚线分离)。在此符号的所述配置中,这些位对应于RS符号长度的10个位。然而,在LSB位置中,描绘15个位正方形(而非10个)。所述扩充是通过以尚待描述的方式卷积编码LSB位流而创建且已被添加到LSB RS符号的额外或附加码位的结果。在图2中,包含“X”的位方框指示附加码位。在本实施例中,每一 LSBRS符号包含五个附加码位。所述附加码位的特定值是基于非占位符位(即,构成每一 LSBRS符号的原始位)的值。应注意,最初通过将X标示符作为稍后由附加码位替换的占位符插入而在LSB的卷积编码之前产生图2的数据结构。每一 RSLSB符号中的哪些位是占位符及插入多少占位符是界定所述配置的系统参数的函数;就此来说,最重要的参数是穿孔多项式,其指定被省略的某些位及在卷积编码之后包含哪些额外或附加码位,如将进一步描述。然而,目前充分理解,在LSB流中,需要图2的数据结构容纳比仅仅由馈送到LSB流中的相关联RS符号所含的位数目更多的位。在具有标示为RS码字长度的任意长度的传入RS符号流末端,可有必要插入额外位以便在仅使用所提交RS码字中的准确数目个RS符号时从TCM编码与解码观点来看实现序列的闭包。关于此闭包存在两个方面,如下文中随即将描述。在第一方面中,完成数据结构需要在TCM符号流的末端处TCM符号TCM (N’ )中添加两个位h及b2以弥补最后的RS符号[RS(N)]仅填入于最后一个TCM符号的位b3中的事实。另一情况可为其中LSB位置中的最后一个RS符号缺少由最后一个MSB RS符号[RS(N)]的最后若干位划分的边界的情况。在此情况中,可将额外位填入于超出最后一个LSB RS符号的末端的LSB位置中以便为终止TCM符号提供LSB位。在根据本发明实施例的第二方面中,LSB流以一组连续O结束,所述O的数目等于卷积编码器的约束长度K或比所述约束长度K小超过I。在图2的实施例中,可由于与最后一个LSB符号中的最后占位符混合的五个最后O而将约束长度给出为6。当在编码期间提供这些连续O时,其在经解码时呈现已知且无歧义的终止序列,以便避免在解码功能期间出现相关联错误。为此目的,图2展示以TCM(N’)结束的LSB的最后五个数据位是O。就此来说,由于本发明实施例中要求最后K-I个位为O而假定约束长度K = 6。应注意,所述五个O位是连续的,因为其是连续数据位。然而,这些连续数据或码位可通过附加码位间隔开,所述附加码位中的每一者使用X标示,因为所述附加码位是响应于预编码数据位而通过卷积编码过程确立的额外位。图3是图解说明由参考编号300大体指示的卷积编码器的一个实施例的框图。通过穿孔的应用,可增加编码器的输出的码速率。通常,不使用穿孔的卷积编码器针对每一输入位产生两个输出位;在此情况中,码速率是一半,因为所述码速率的一种定义是针对每一输出(经编码)位输入位(未经编码位)的数目。期望相对于输入位的数目减少由编码器产生的输出位的数目使得码速率增加。出于此目的,应用穿孔这一切意指从编码器的输出位流移除一些输出位使得输入位对输出位的比率增加。此增加编码器的效率,且如果其可在无过量位校正性能损失的情况下实现,那么效率增益可为所要折衷。图3的编码器300是可编程单位卷积编码器的一个实施例。所述编码器接收串行输入数据流302 (由波形指示)作为根据一系列时间增量t呈现的一连串串行单位输入。可针对具有多达移位寄存器元件的数目加I的约束长度的任何卷积码来编程此编码器。针对给定约束长度,所述编码器可适应任何卷积多项式系数及穿孔多项式系数。在当前时间增量结束时用当前数据位输入更新移位寄存器304 (在虚线内展示),同时根据时间增量t以众所周知的方式移位先前存储的数据位。在更新所述移位寄存器之后,在到移位寄存器的输入处呈现序列中的下一数据输入。所述移位寄存器由K-I个单位宽的存储元件构成,其中K是卷积编码器的约束长度。将当前输入状态标示为Dt(O),而将
移位寄存器元件标示为Dt (I).....Dt (K-2)、Dt (K-I)以表示顺序接收次序。K-I个寄存器
位连同当前输入数据位一起用于从编码器产生下一输出。
如所展示,标示为Cb (K-I)到Cb(O)的所存储位表示两个卷积多项式中的第一者。如所展示,组合当前输入数据位Dt (O)与移位寄存器304内容以针对每一输入位产生两个输出值中的一者。应了解,图3概括以使得可将表示系数Cb (K-I)到Cb(O)的任何位组合编程为第一卷积多项式的方式对卷积多项式的使用。将第一卷积多项式的每一位提供到对应“与”门320,使得提供到所述“与”门中的给定一者的值I致使所述“与”门将可为当前位Dt (O)或每一经延迟位Dt (I)到Dt (K-I)的相关联输入数据位传递到“异或”(XOR) 322。“异或”322的输出324对应于两个输出值中的第一者。相反地,如果所述“与”门中的所述给定一者接收O位作为卷积多项式的一部分,那么对应输入数据位(当前或经延迟)将不利于由“异或”322确定输出位。在一个实施例中,可将Cb(K-I)到Cb(O)存储于寄存器中。可在操作所述卷积编码器之前将这些寄存器值写入为总体配置的一部分。“异或”322组合来自逻辑“与”功能320的输出。同样,由逻辑“异或”功能322产生的值是由卷积编码器针对每一 Dt(O)产生的两个经编码位中的一者。是否将此结果位插入到输出数据流(Eoutb)中取决于所述位是由尚待描述的穿孔功能启用还是禁止。类似地,如所展示,标记为Ca(K-I)到Ca(O)的所存储位表示第二卷积多项式。与第一卷积多项式的情况一样,可将表示系数Ca(K-I)到Ca(O)的任何位组合编程为第二卷积多项式。将所述第二卷积多项式的每一位提供到对应“与”门330,使得提供到“与”门中的给定一者的值I致使所述“与”门将可为当前位Dt(O)或每一经延迟位Dt (I)到Dt (K-I)的相关联输入数据位传递到“异或”332。“异或”332的输出334对应于两个输出值中的第二者。相反地,如果“与”门330中的所述给定一者接收O位作为卷积多项式的一部分,那么对应输入数据位(当前或经延迟)将不利于由“异或”332确定输出位。在一个实施例中,可将Ca (K-I)到Ca (O)存储于寄存器中。可在操作所述卷积编码器之前将这些寄存器值写入为总体配置的一部分。如所展示,将当前输入数据位Dt (O)及移位寄存器304内容与这些值组合以使用“与”门330及“异或”332针对每一输入位Dt (O)产生第二输出值。“异或” 332组合来自逻辑“与”功能330的输出。同样,由逻辑“异或”功能332产生的值是由卷积编码器针对每一 Dt (O)产生的两个经编码位中的第二者。是否将此结果位插入到输出数据流(Eouta)中取决于尚待描述的穿孔功能。在本实施例中,穿孔功能由穿孔型式计数器区段338 (在虚线内展示)使用第一穿孔移位寄存器340 (在虚线矩形内展示)及第二穿孔移位寄存器342 (在虚线矩形内展示)执行。第一穿孔移位寄存器340含有标示为Pa(X)的第一穿孔多项式的系数。将Pa(X)表示为“X”的函数说明包括Pa(X)的值是相对于数据流排序的事实。每一系数值由单个位构成,且构成Pa(X)的位的数目等于约束长度K。认识到,约束长度与穿孔型式长度的相等性对于图3为示范性的;实施例可选择更大或更小长度的穿孔型式。不管长度如何,穿孔型式的循环应用均如所描述。在所述图中所展示的可编程实施例中,用于移位寄存器340的位数目与K的值相同,且因此由卷积编码器的配置确定。针对串行输入数据流302的每一时间增量t更新移位寄存器340。在接收到第一串行数据输入之前,用Pa(X)的值以使得最左侧移位寄存器位置344加载有Pa (x)中的最高有效位且最右侧移位寄存器位置346加载有Pa(X)中的最低有效位的方式初始化移位寄存器340。在输入数据流开始之后,在每一时间增量之后递增穿孔移位寄存器340:存在移位寄存器的内容的逐位从左向右移动,且同时,将最低有效移位寄存器位的内容转移到所述移位寄存器的最高有效位(此为最低有效移位寄存器位的首尾循环移位)。以此方式,在第一输出开关功能350的控制下一次一个位地使用Pa(X)的值。只要所述卷积编码器接收到数据,Pa(X)的值就继续循环。移位寄存器340中的最高有效位始终用作对提供到输出开关350的穿孔的控制。如果最高有效移位寄存器位是逻辑“1”,那么将“异或”功能332的输出插入到输出流Eouta中。另一方面,如果最高有效移位寄存器位344是逻辑“0”,那么禁止(穿孔)“异或”输出332进入输出流Eouta0使用第二穿孔移位寄存器342以使得反映与第一穿孔移位寄存器340有关的操作的方式来进一步执行穿孔功能。因此,出于简要的目的可能并不完全重复这些操作的描述。第二穿孔移位寄存器342含有标示为Pb(X)的第二穿孔多项式的系数。与Pa(X)的情况一样,将Pb(X)表示为“X”的函数说明包括Pb(X)的值是相对于数据流排序的事实。每一系数值由单个位构成,且构成Pb(X)的位的数目等于约束长度K。此外,在接收第一串行数据输入之前,用Pb(X)的值以使得最左侧移位寄存器位置360加载有Pb(X)中的最高有效位且最右侧移位寄存器位置362加载有Pb (x)中的最低有效位的方式初始化移位寄存器342。在输入数据流开始之后,在每一时间增量之后递增穿孔移位寄存器342。移位以与关于第一 穿孔移位寄存器340所述的方式基本上相同的方式发生,使得在第二输出开关功能364的控制下一次一个位地使用Pb(X)的值。移位寄存器342中的最高有效位始终用作对提供到第二输出开关364的穿孔的控制。如果最高有效移位寄存器位是逻辑“1”,那么将“异或”功能322的输出插入到输出流Eoutb中。另一方面,如果最高有效移位寄存器位344是逻辑“0”,那么禁止(穿孔)“异或”输出332进入输出流Eoutb。应了解,第一输出开关350及第二输出开关364是可由所属领域的技术人员在获知本发明整体的情况下以任何适合方式(例如(举例来说)以软件、硬件或其任何适合组合)实施的切换功能的示意性表示。应注意,与图3有关的所述穿孔过程可导致在每一时间增量处产生的输出的数目变化。举例来说,如果寄存器位置344及360中的最高有效位两者均为逻辑“1”,那么将针对当前时间增量添加两个位。然而,如果这些位中的一者是逻辑“ I ”且一者是逻辑“0”,那么将针对当前时间增量添加仅一个位;且如果两个位均为逻辑“0”,那么不针对当前时间增量添加输出位。穿孔动作约束输出流相对于输入流的大小,使得针对其中Pa(X)及Pb(X)的所有位均为“I”的未穿孔情况编码器的最大可能扩充是2 I。输出流大小随Pa(X)及Pb(X)中的“O”值的数目增加而减小。通常,卷积编码器的实施方案利用输出流相对于输入流的某一扩充以便在解码期间发生所要的错误校正行为。一个有用的扩充率是3 2,且此为图2中所图解说明的情况,其中每一 RS LSB符号含有15个位而非10个。图2中的LSB符号中添加的“X”图解说明TCM符号中的此扩充。图4是图解说明图I的编码器区段20的一个实施例的框图。应注意,支持组件块之间的数据流的线具有与每一线所输送的位数目连同所述图的约束内的数值标示符成比例地变化的线厚度。应了解,编码器区段20实施图2的所存储数据结构。就此来说,以非限制性实例的方式,图4通过在非易失性存储器14中实施每单元4个位的存储而与图2相一致。出于创建图2的数据结构的目的,如将看出,编码器20从RS符号输入流产生预编码TCM符号。通常,在每单元4位的配置中,每一预编码TCM符号由四个位构成。这些位又由一个LSB及三个MSB构成。在一些情况中,LSB可以是为稍后的卷积编码做准备而插入的占位符X,使得稍后由附加码位填充所述占位符。应注意,卷积编码过程分别用附加码位及码位来替换占位符及预编码数据位两者。如所提及,稍后通过针对MSB的映射功能及针对LSB的卷积编码来对预编码TCM符号进行编码。在每一预编码TCM符号中,通过将三位字段变换成其经编码形式的映射功能来编码三个MSB位。将LSB位添加到卷积编码器输入流并由来自所述卷积编码器的输出的下一位替换所述LSB位。在所述LSB位创建功能期间,根据针对所述配置选择的穿孔型式插入占位符字段X。稍后在应用于预编码LSB的卷积编码过程期间由来自卷积编码器的位替换这些占位符字段。鉴于对编码器区段与解码器区段之间的协作的需要,应了解,给定解码器实施方案可对一些控制参数的范围施加限制,使得所述给定解码器能够支持一些编码配置(举例来说,每单元的位数目)但不支持其它配置。在一些实施例中,可将特定解码器设计为以特定配置为目标且忽视其它配置。举例来说,解码器可支持每单元三个位及每单元四个位的密度设定,但不支持每单元五个或五个以上位的密度设定。以此方式使解码器设计彼此不同的功能性表示全部被视为归属于本发明范围内的实施例,因为每一实施例仍然包含用以错误校正的常见方法。 参考图I且在继续图4的详细描述之前,应注意,从一个系统子块移动到另一系统子块的信息通常被组织为符号流。在从主机12到NV存储器14及沿反方向从NV存储器14到主机12的进程中,数据经历各种表示从用户数据形式经过里德所罗门符号、接着在编码器功能期间以NV存储器单元目标终结的中间符号,及在解码器功能期间从NV存储器单元目标返回到用户数据形式。在编码器及解码器功能两者中,在每一步骤处的数据作为有序符号流经历其产生到其消耗,其中每一流包括特定数目个符号。再次关注图4的编码器20。里德所罗门(RS)编码器402接收由主机12 (见图I)提供到编码器的用户数据404。通常,用户数据404可为彼此具有有序关系的特定数量个8位单位(字节)。可根据其它位数量来组织所述用户数据,同时容易地保持在本文已揭示的教示的范围内。因此,可在下文中将用户数据论述为由若干字节组成,同时所属领域的技术人员认识到对任何其它适合单位的使用对实施方案将不具有实质性影响。用于任何编码操作的用户数据单位的数量是由编码器使用的参数且应用于RS编码器402的操作。在一个实施例中,将用户数据单位的数量(用户数据长度)编程到如参数寄存器区段410描绘的寄存器中。如果RS符号单位具有与呈字节形式的用户数据不同的数目个字节,那么将用户数据字节转换成一组RS符号之后RS编码器才可对所述用户数据字节进行操作。在本发明中呈现的示范性形式的RS单位(符号)是10个位,但其它RS单位大小是可能的且仍在本文教示的范围内。在本实例中,用户数据到RS符号的转换是字节到10位符号的简单转换;实际上,转换后的结果针对每五个用户数据字节(5X8个位)产生四个RS符号(4X10个位)。由于任何给定数目个用户数据字节必须可转换成整数数目个RS符号,因此可将一些“随意”位插入到RS结果的最后符号中。由用户数据到RS的转换产生的RS符号的数目(称为“RS数据长度”)是由微处理器或CPU 412编程到参数寄存器区段410中的额外参数。如所展示,运行时RS数据长度414是到编码器的运行时输入。特定来说,将RS数据长度414提供到RS计数器420。通常,运行时RS数据长度414的值源自存储于参数寄存器区段410中的RS数据长度的值。运行时RS数据长度与存储于参数寄存器区段410中的RS数据长度之间的联系可为直接或间接(经修改)的,在特定实施例中以最适当为准,如将进一步描述。
应注意,RS编码器402及卷积编码器300两者扩充其作为其执行的编码功能的必要部分而编码的数据的大小。此扩充由冗余信息的添加招致,随后解码过程将使用所述冗余信息来移除可能已引发的招致。由RS编码器402进行编码会添加RS奇偶符号,而由卷积编码器300进行编码会将额外位添加到经编码的位流。本发明中所使用的码效率是此冗余相对于正存储及检索的用户数据量的度量。可将码效率解释为通常针对较低冗余量较佳而针对较高冗余量较差的相对值。可将码效率的一个经验度量视为用户数据单位中的位的总数与图4的编码器在编码所述用户数据单位时所产生的位的总数的比率。作为简单实例,考虑由编码功能编码的512个字节(4096个位)的用户数据单位,所述编码功能将所述4096个输入位扩充600个位。所述600个位是添加到4096个信息位的冗余。则码效率为4096/(4096+600)或87. 2%。所属领域的技术人员在实际技术中使用各种经验度量来测量码效率。在本发明中先前已论述的这些经验度量中的一者是码速率。应进一步了解,在至少一些实施例中,码效率可为变化的。与相对较低的码效率相t匕,较佳码效率的效应通常分别是较低错误校正容量与较高错误校正容量之间的差。译码配置由随后将描述的一组可编程参数界定,且这些可编程参数的值可经调整以便产生不同的码效率。参数寄存器410中的值对较大或较小程度的码效率来说均为决定性因素,因此 码效率是在必要时可在逐码字基础上调整的配置属性。RS数据长度是由长若干用户数据长度单位的一组用户数据符号(通常为若干字节)构造的RS符号的数目。图4的用户数据符号可各自被视为8个位宽,且每一 RS符号可被视为10个位宽。因此,用户数据长度8位符号到各自为10位宽的RS数据长度RS符号的转换是将用户数据长度乘以8/10。如果在执行此乘法之后剩余一分数RS单位(S卩,少于10个位),那么通过添加使最后一个符号长度达到10个位所必需的任意数目个位来将分数部分上舍入为10个位。因此,在一些实施例中,可从用户数据长度直接导出RS数据长度。在其它实施例中,可将RS数据长度实施为独立的寄存器值。任一形式的实施例可为适当的。RS编码器20使用由用户数据404产生的RS符号并计算称为奇偶符号的一组额外符号。所述奇偶符号是长度为“RS奇偶长度”的一组额外有序RS符号,其被附加到从用户数据转换获得的RS符号。所述RS奇偶长度的值通常可从参数寄存器区段410获得。用户数据符号与奇偶符号的所得组合称为RS码字。所述RS码字的长度是可在参数寄存器区段410中获得但还可作为也可在参数寄存器区段410中获得的值RS数据长度与RS奇偶长度的简单总和而获得的系统参数。术语“RS码字”在用于里德所罗门编码与解码的背景中时具有特定含义;其还为相关学科的从业者所众所周知的,且因此出于简要的目的通常将不再重复关于里德所罗门译码的理论的细节[举例来说,见威克(Wicker)、斯蒂芬B. (StephenB.)的“用于数字通信与存储的错误控制系统(Error ControlSystems for DigitalCommunication and Storage) ”(1995 年,普伦蒂斯-霍尔出版社(Prentice-Hall),第 238到239页)]。编码器使用所述码字长度来完成编码操作。应注意,RS奇偶长度与由RS编码器添加的冗余量成比例,且根据称为“T”(其是目标符号校正容量)的参数确定。通常,针对具有给定符号校正容量的给定RS码字,所述系统能够校正所述RS码字中的多达某一数目个RS符号。增加T的值产生校正所述码字中的额外RS符号的能力。所述RS码字是来自RS编码器402的输出。RS数据长度、RS奇偶长度及RS码字长度的参数由随后接收RS编码器结果的组件使用。结合图4参考图2,多路复用器424将从RS编码器402出现的RS符号引导到两个路径中的一者=MSB路径426或LSB路径428。在已完成RS编码过程之后,编码器20经配置以接着格式化数据流以用于TCM及卷积编码。针对不同编码实施例,RS符号输入流相对于TCM要求的布置导致以不同比例将RS符号分配给LSB区段及MSB区段,如在图2的数据结构100中所见。也就是说,与分配给LSB路径的数目相比,将大得多的数目个RS符号分配给MSB路径。在图2的实施例中,在每单元四个位的情况中针对10位RS符号将RS符号分配给TCM编码。两个计数器(MSB计数器430及LSB计数器432)将每一传入RS符号的目的地确定为在MSB路径426与LSB路径428之间。一般来说,MSB计数器及LSB计数器的状态确定是否需要另一 RS符号,且如果需要那么确定将所述符号引导到的目的地(MSB侧或LSB侧)。如果MSB及LSB计数器两者的状态指示需要另一 RS符号,那么首先针对LSB侧取得RD符号,且其次针对MSB侧取得RS符号。更特定来说,特定RS符号是变为MSB编码还是LSB编码的一部分由可从将进一步描述的以下各项导出的MSB/LSB序列型式确定(i) 一组编码参数,包含(举例来说)RS符号宽度,(ii) TCM卷积编码的方面,(iii)穿孔多项式,及(iv)位密度。基于所述序列型式,使用所述MSB及LSB计数器,因为每一 RS符号 值变得可用于向MSB缓冲器440或LSB缓冲器442供应。MSB计数器430追踪MSB缓冲器440中的位数目。在从RS编码器402取得第一 RS符号之前将MSB计数器初始化为O。在本实施例中,MSB计数器针对第一 RS符号及针对取到MSB缓冲器中的每一额外RS符号递增10。所述MSB计数器针对从缓冲器传出以沿MSB路径426继续的每一 3位字段递减3。当MSB缓冲器为小于3的计数或逻辑检测到其将在下一使用循环上递减到O时,从输入流取得下一 RS符号以分配给MSB路径且使计数器值递增10。LSB计数器432追踪LSB缓冲器442中的位数目。在从RS编码器402取得第一 RS符号之前将LSB计数器初始化为O且LSB计数器针对取到LSB缓冲器中的每一额外RS符号递增10。所述LSB计数器针对从缓冲器传出以在LSB路径428上继续的每一位递减I。当LSB计数器递减到0,或逻辑检测到其将在下一使用循环上递减到O时,从输入流取得下一 RS符号以分配给LSB路径且使计数器值递增10。在MSB计数器430及LSB计数器432两者进入同时请求另一 RS符号的状态时的情况中,按优先级将下一 RS符号取到LSB缓冲器中,其中将后续RS符号分配给MSB缓冲器。MSB缓冲器440从多路复用器424接收引导到此区段的RS符号。将所述符号写入到此缓冲器以随后用于MSB编码路径426中。在每单元四个位配置的示范性实施例中,如所描绘,MSB缓冲器440中的位被一次3个位地消耗,即,在每一使用循环上创建额外预编码TCM符号,其从MSB缓冲器取得用作下一 TCM符号的3个MSB的3个位同时从LSB缓冲器取得一个LSB位。然而,在将插入占位符的情况下,并非从所述LSB缓冲器取得位。同样,此实施例为示范性的,因为可通过更改控制参数而将其它配置应用于同一编码器。举例来说,可编程每TCM符号3位的实施例,其中MSB缓冲器消耗处于每TCM符号两个位而非三个位的速率。来自MSB缓冲器的输出446是针对每一 TCM符号的三位值。三个位的MSB群组对于此图为示范性的。一些实施例可采用此值以及其它值。举例来说,每单元3位的位密度设定可具有3位TCM符号,其中每TCM符号存在I个LSB位及2个MSB位。认识到具有MSB宽度及LSB宽度两者的变化的其它TCM符号格式。MSB缓冲器输出446是进入尚待描述的编码逻辑的数据路径的一部分。MSB位是到尚待描述的MSB映射功能450的输入。LSB缓冲器442从多路复用器424接收RS符号,且将所述RS符号写入到LSB缓冲器以随后用于LSB编码路径428中。在所描绘的每单元四位的实施例中,由于待应用的卷积编码而以每TCM符号少于一个位的速率消耗LSB缓冲器中的位。由于在正使用MSB路径426及LSB路径428产生TCM符号时尚未应用卷积编码,因此在此阶段处的TCM符号可称为预编码符号。一些预编码TCM符号的创建需要从LSB缓冲器提取一位,且所述预编码TCM符号中的一些符号不需要额外LSB缓冲器位,因为在此时刻正插入占位符位而非基于用户数据的位。读者将回想起,这些占位符位可由图2的LSB RS符号中的符号X表示,且这些占位符位稍后由通过卷积编码产生的附加码位替换以作为数据结构100的一部分。如下文将详细描述,穿孔多项式型式控制在LSB缓冲器位或TCM符号序列中的占位符位之间的选择。
如上文所论述,LSB符号位是每循环一个位或零个位地从LSB缓冲器取得并被断定到LSB路径428。出于本论述的目的,术语“块”对应于存储在414处的值‘TCM符号的数目’。作为O的约束长度是块的最后LSB的块保证的结束,限制比较器454及限制逻辑456强制这些位值在所述块的最后K个位期间为0,其中K是待应用的卷积码的约束长度,如上文关于图2所论述。特定来说,在图2中将TCM符号TCM(N’)、TCM(N’ -2)、TCM(N’ -3)、TCM(N,-4)及 TCM(N,-6)的 LSB 位强制为 O。MSB映射功能450在MSB路径426上接收MSB且可将MSB位型式从在接收时的未经编码的表示转换为既定减少在回读时发生错误的情况下可出现的位故障的数目的表示。在一个实施例中,所述映射是从格雷码表示到二进制表示的转换。应注意,将传入数据处理为经格雷译码是任选的。此外,应了解,可采用任何适合的可逆映射功能且以非限制性实例的方式描述格雷译码的使用。映射功能450成群组地接收MSB(在本实施例中,三者的群组)并针对由相同数目个位构成的每一群组产生输出462。将输出462与由前述卷积编码器300产生的对应LSB并置,并将其转发到电平/数/模转换器(DAC) 472。所述LSB可为响应于用户数据或如图2的RS LSB中所展示且上文所描述的X位置中的码位的位。结合图4参考图3,卷积编码器300可借助于限制逻辑456从LSB缓冲器442接收当前LSB位。所述卷积编码器在接收到LSB时一次一个位地作用于所述LSB。编码服从到卷积编码器300的输入的各种参数。这些参数包含其中约束长度本身可为参数的卷积多项式及穿孔多项式。在具有单个LSB的系统中,依照本发明实施例,通常存在两个卷积多项式(见图2中的Ca(O)到Ca(K-I)及Cb (O)到Cb (K-I))及两个穿孔多项式(举例来说,存储为图2中的Pa(X)及Pb(X))。这些多项式中的每一者的值可随给定实施例而变化。在并入有一个以上LSB的系统中,存在作为参数需要的额外卷积多项式及穿孔多项式。在一些实施例中,这些参数可由系统微处理器412按由所述微处理器执行的固件480的引导编程到与卷积编码器相关联的寄存器中。参考图4,电平/DAC转换器472的输入482接收每一 TCM符号的MSB群组及相关联LSB。经编码的LSB及MSB流可分别从卷积编码器300及MSB映射器450获得。这两个所得数据流与现在TCM符号流在转换器472的输入482处完整的效应合并。关于展示用于MSB的3个位及用于LSB的I个位的事实,此图中的数据路径宽度为示范性的;关于MSB及LSB两者可能有其它配置。每一 TCM符号可包含多于或少于3个MSB,且每TCM符号可包含多于I个LSB位。电平/DAC的输出484被引导到图I的NV存储器14。电平/DAC 472可根据同与将写入到每一 NV存储器单元中的数据位的模拟值有关的要求相关的参数对每一TCM符号执行最终调整。举例来说,所述调整可涉及将偏移值应用于TCM符号及/或所述调整还可为相对于单元目标范围压缩或扩充TCM符号值的缩放变换。电平/DAC 472可由参数寄存器410中的由微处理器412与系统固件480协作地编程的参数控制。现在关注关于RS计数器420的额外细节。可用将从RS编码器402呈现的RS符号414的运行时数目来初始化此计数器。存储为RS符号的运行时数目的值可高达整个码字或更长,其中所述码字是一 RS码字或某一整数数目个RS码字。如果采用交错,那么所述数目可为由存储于参数寄存器区段410中的交错因数所暗示的码字的整数数目。RS符号 计数器420针对由多路复用器424接收的每一 RS符号递减I。在RS计数器递减到O以用信号通知当前传送的结束时,指示RS块的结束,其中出于本论述的目的,术语“RS块”对应于RS符号的运行时数目的值。特定来说,LSB限制490为常数,且与RS计数器420中的值进行比较。所述RS计数器最初作为大于LSB限制490的值开始。由于RS计数器随着所传送的每一 RS符号而递减,因此由所述RS计数器存储的值最终递减到其变得等于LSB限制计数的点,此由RS/LSB限制比较器454确定。在RS计数变得小于LSB限制时的点处插入/填补零。如上文所述,填补所述零作为预编码TCM符号流的LSB以形成数据结构100 (图2)的一部分以用于指示存储器中的数据结构的末端的目的。如上文所述,可从参数寄存器410提供运行时RS长度输入414。所述运行时RS长度输入的值可用于在通过用户数据输入序列定序之前初始化RS符号计数器420。所述值表示RS编码器402将通过对用户数据流进行RS编码而产生的RS符号的数目。在用户数据流进入编码器20之前用来自运行时穿孔型式输入488的值初始化穿孔型式计数器486,且穿孔型式计数器486实施图3的穿孔型式计数器区段338。型式输入488可存储从参数寄存器区段410获得的第一及第二穿孔多项式。穿孔型式计数器486在产生构成预编码TCM符号的LSB流时控制占位符位产生(图2的RS LSB符号中的X位置)。穿孔型式是具有在图2中与卷积编码器300的约束长度相同的长度的位型式,然而,其它实施例可使用大于或小于所述约束长度的穿孔位型式长度。在处置用户数据符号流之前用穿孔型式值预设穿孔型式计数器486。如上文关于图3的穿孔型式计数器区段338所描述,穿孔型式计数器486针对所创建的每一 TCM符号使穿孔型式的值旋转一个位位置,使得同一穿孔型式计数器位位置(即,图3中的Pa(X)及Pb(X)的最左侧位)始终应用于当前编码。由于卷积编码器在不存在穿孔的情况下针对每一输入位产生两个输出位,因此添加穿孔型式会将此比率减小到小于2 I的某一值。穿孔型式计数器控制每一预编码TCM符号的LSB是扩充位(占位符X)还是来自输入LSB流的位。所述穿孔型式计数器将输出提供到卷积编码器300以及LSB缓冲器486,使得所述穿孔型式计数器及LSB缓冲器出于在LSB缓冲器的输出处的LSB路径中产生占位符的目的而协作。RS/LSB限制比较器454在TCM编码的RS块的末端处开始起作用,其中有必要将经预编码的TCM符号流的最后K-I个LSB位断定为O (其中K是卷积编码器的约束长度),如借助图2中且上文所描述的实例所见。LSB限制计数是作为LSB限制值490获得且在逐时间增量的基础上与RS符号计数器420的计数进行比较以提供何时将预编码LSB流强制为O的指示。此允许卷积编码器300将已知闭包序列编码成经编码TCM符号序列,其中结果是在解码时避免了 RS块末端闭包位解码错误。LSB限制值490可(举例来说)从参数寄存器区段410中的卷积约束长度产生,且可在使用RS/LSB限制比较器454处理用户数据流之前作为初始值应用。在编码用户数据符号流之前初始化TCM计数器492。此值对应于将由根据参数寄存器区段410所反映的所述组配置参数编码整个用户数据流产生的TCM符号的数目。可从TCM块计数输入494初始化所述TCM计数器。TCM计数器值控制TCM编码的定序并提供用于终止每一 TCM符号序列的TCM块末端准则。作为参数值,TCM符号计数可根据其它配置参数计算且表示根据所述组配置参数从特定长度的用户数据流产生的TCM符号的准确数目。举例来说,所述TCM计数器将序列末端准则提供到CPU 412。所述TCM计数器提供待在特定传送中传递的符号的准确数目的度量。此计数器可用所述数目来初始化并倒数计数到0,或所述计数器可最初被清零并正数计数到预期值。无论如何,所述TCM计数器将序列末端信号提供到系统。 TCM块计数输入494是根据参数寄存器区段410中所提供的TCM码字长度的值驱动,且供应在编码用户数据符号流之前借以初始化TCM计数器492的TCM块计数值。如上文所述,限制逻辑456由RS/LSB限制比较器454控制,且允许预编码LSB从LSB缓冲器未经修改地传递到卷积编码器,或出于提供用于终止总体RS符号传送的序列末端指示的目的而在上文所述的零填补程序中将卷积编码器输入LSB选择性地强制为O。出于本文的目的,应注意,在里德所罗门编码器402的输出之后直到且包含MSB缓冲器440及限制逻辑456以及相关联组件的组件可称为压缩布置496。包含映射器450、卷积编码器300及相关联组件的组件可称为映射布置498。可将所述压缩布置称为产生经重新组块的输出数据流使得所述经重新组块的输出数据流的至少一个部分而非全部经配置以服从基于卷积码的码效率。此外,所述压缩布置适于修改经重新组块的输出数据流以基于改变提供到所述压缩布置的一个或一个以上输入参数的一个或一个以上值而支持与输入流中的预定数目个里德所罗门符号相关联的卷积码的码效率的改变。参考图I及4,微处理器/CPU 412可以任何适合形式提供,例如(举例来说)以嵌入式控制件的形式(其中所述处理器在来自主机12(图I)的引导下专用于操作编码器20、解码器22 (图I)及NV存储器14(图I)),且充当固件480的执行平台。固件480是使用嵌入式控制器的一个实施例的软件组件。所述固件在来自主机12(图I)的引导下实施编码器20 (图I)、解码器22 (图I)及NV存储器(图I)的控制。参考图4,参数寄存器区段410可构成可由微处理器412在固件480的控制下存取的寄存器群组。存储于这些寄存器中的值起作用以界定编码配置并经由CPU 20及固件480或经由可由编码器的一些组件直接存取的寄存器控制编码器的动作。应注意,已在上文论述的背景中描述寄存器参数中的一些参数。然而,出于实现更进一步清晰的目的,随即将在下文中更详细地描述参数寄存器区段410。进一步描述图4的参数寄存器区段410中所展示的参数值,如下用户数据长度用户数据块的长度(以字节为单位)或用户数据的单位长度。以非限制性实例的方式,适合的用户数据长度包含512个字节、1024个字节或由编码器/解码器的特定实施例支持的任何其它适合长度。RS校正容量也称为“T”,界定RS错误校正码在单个码字中能够校正的RS符号的最大数目。此值乘以2界定每一 RS码字中的奇偶符号的数目。RS数据长度用户数据块在其已从字节转换成RS符号之后的长度。如此,在用户数据长度与RS数据长度之间存在直接关系。然而,由于如果用户数据流不映射到整数数目个RS符号中那么必须将位添加到经转换的RS符号流,因此通常将所述RS数据长度作为独立值维持于参数寄存器区段中。RS奇偶长度为构造单个RS码字而附加到RS数据长度的RS奇偶符号的数目。RS奇偶长度的值由RS校正容量(T)的值直接暗示。实施例可将此值维持于独立寄存器中,或 其值可从RS校正容量(T)导出。RS交错因数在RS译码应用中的常见做法是通过交错来编码与解码每RS块一个以上RS码字。举例来说,在上文并入的‘546申请案的图12及13中展示了此交错。如果在配置中存在交错,那么此参数的值是简单整数。由于可由特定实施例来约束交错,因此可存在对交错数目的相对小的限制。如果针对特定实施例界定交错,那么RS数据长度、RS奇偶长度及RS码字长度的值可适用于经组合交错的相应长度,或这些值可反映单一交错的相应长度。关于交错处置的此些变化是取决于实施例的。卷积约束长度如果卷积编码器可编程(如图3的实施例300),那么卷积约束长度(K)的值可编程及存储于参数寄存器区段中。另一方面,如果卷积编码器是针对固定约束长度而配置,那么可不需要登记K的值。第一卷积多项式由卷积编码器使用的两个卷积多项式中的第一者。参见图3对卷积编码器如何使用卷积多项式的图解说明及解释。第二卷积多项式由卷积编码器使用的两个卷积多项式中的第二者。参见图3对卷积编码器如何使用卷积多项式的图解说明及解释。第一穿孔多项式由卷积编码器使用的两个穿孔多项式中的第一者。参见图3对卷积编码器如何使用穿孔多项式的图解说明及相关解释。第二穿孔多项式由卷积编码器使用的两个穿孔多项式中的第二者。参见图3对卷积编码器如何使用穿孔多项式的图解说明及相关解释。位密度设定表示当前操作配置中的位密度设定。通常,所述值是表示每存储器单元所存储的数据位数目的简单整数。然而,当使用每单元分数位的设定(例如,3. 8)时,所述值可不同于简单整数。在此情况中,基于由逻辑解释的经编码值而提供所述位密度设定。举例来说,可通过以每单元3个位来编程存储器单元中的一半并以每单元4个位来编程所述存储器单元中的另一半而实现每单元3. 5个位的平均位密度设定。例如图2中所展示的TCM编码的使用通常针对位密度设定使用每单元至少3个位。在下文中的适当点处将进一步详细论述分数位译码。TCM中的MSB宽度每一 TCM符号中的MSB位的数目。位密度设定的值给出整个TCM符号的宽度,分数位密度设定除外,在此情况中呈现给每一存储单元的TCM值是从位密度设定上舍入的下一最高整数值。则MSB位的数目是TCM符号的分配给所述符号的MSB部分的那部分。TCM中的MSB宽度是TCM符号宽度与LSB数目之间的差。举例来说,在每TCM符号四个位下,其中单个位用于所述符号的LSB部分,作为TCM宽度的一部分的MSB宽度是4-1 = 3oTCM中的LSB宽度每一 TCM符号中的LSB位的数目。位密度设定的值给出TCM符号本身的宽度,分数位密度设定除外,在此情况中呈现给每一存储单元的TCM值是从位密度设定上舍入的下一最高整数值。则LSB位的数目是TCM符号的分配给所述符号的LSB部分的那部分。TCM中的LSB宽度是TCM符号宽度与MSB数目之间的差。举例来说,在每TCM符号四个位下,其中3个位用于所述符号的LSB部分,TCM值中的LSB宽度是4_3 = I。TCM码字长度根据上文所述参数的特定组合而界定的配置构成若干字节的经编码用户数据长度的TCM符号的总数。由于TCM码字长度的值是RS与卷积码参数的函数,因此其可作为参数寄存器区段的一部分存储于独立寄存器中。应了解,码效率由参数寄存器区段410所给出的参数的组合值确立。因此,通过修改参数寄存器区段中的一个或一个以上参数值,码效率将响应于参数值的改变而改变。申请人并不知晓供和提供与在逐码字基础上一样快地修改码效率的灵活性的非易失性存储 器一起使用的任何系统。此灵活性增强系统(举例来说)关于数据吞吐量、存储器存储容量及存储器随时间降级的适应的操作。通常,可通过添加冗余来实现较高的位密度。所述冗余趋向于在RS容量设定较高及穿孔较少的情况下较大。较高密度通常与较高冗余相关。通常可在冗余较高但对密度的强调较少的情况下实现存储器降级的适应,使得较强大的编码与解码设定可抵消受降级影响的存储器所展现的错误的较高趋向。下文表I提供使用确立TCM码字长度的参数值的模拟实例。所述参数包含位密度、用户字节的数目、RS交错的数目、T (RS校正容量)、RS数据符号的数目、RS奇偶符号的数目、卷积多项式及穿孔多项式、MSB及数目及TCM码字长度。应注意,约束长度与卷积多项式中的系数的数目相同。在这些实例中,在卷积多项式中存在6个系数(位),因此卷积编码器/解码器的约束长度为6。表I
参数名I实例I~I实例2~
位密度43
用户数据长度 2048 2048 交错的数目44
10 10 RS数据长度1639 1639
RS奇偶长度 8080
第一卷积多项式~110101 110101 ~
第二卷积多项式 101111 101111 ~
权利要求
1.一种在配置有用于存储数字数据的非易失性存储器的数字系统中的设备,其包括 里德所罗门编码器,其用于接收通过所述数字系统提供的包含输入数据的输入数据流,以产生由一系列里德所罗门符号构成的经里德所罗门编码的流; 压缩布置,其接收所述经里德所罗门编码的流以产生经重新组块的输出数据流,使得所述经重新组块的输出数据流的至少一个部分但非全部经配置以服从基于卷积码的码效率,且所述压缩布置适于修改所述经重新组块的输出数据流以基于改变提供到所述压缩布置的一个或一个以上输入参数的一个或一个以上值而支持与所述输入流中的预定数目个里德所罗门符号相关联的所述卷积码的所述码效率的改变;及 映射布置,其用于接收所述经重新组块的输出数据流并应用TCM码以产生经TCM编码的输出数据流,所述映射布置包含卷积编码器,所述卷积编码器用于根据所述卷积码的所述码效率对所述经TCM编码的输出流的所述部分进行卷积编码以基于所述输入参数的所述值而支持所述码效率的所述改变,以产生经映射的输出数据流供引导到所述非易失性存储器以作为所存储数据存储于所述非易失性存储器中。
2.根据权利要求I所述的设备,其中所述压缩布置经配置以用于至少部分地基于所述码效率而将一个或一个以上占位符位插入到所述经重新组块的输出数据流的所述部分中,且所述卷积编码器用所述经映射输出数据流中的附加码位填充所述占位符位。
3.根据权利要求2所述的设备,其中所述压缩布置与所述映射布置协作以将所述经TCM编码的输出数据的所述部分卷积编码为构成所述经TCM编码的输出流的多个TCM符号中的每一者的最低有效位。
4.根据权利要求2所述的设备,其中每一TCM符号由多个位构成,且所述压缩布置与所述映射布置协作以将所述经TCM编码的输出数据的所述部分卷积编码为构成所述经TCM编码的输出流的多个TCM符号中的每一者的至少一最低有效位但少于所有所述位,使得所述最低有效位及形成所述部分的一部分的任何额外位从所述最低有效位起呈有效性升序。
5.根据权利要求2所述的设备,其中所述设备包含用于监视穿孔型式的穿孔型式计数器,所述穿孔型式是基于用于产生所述占位符位的所述输入参数中的至少一者。
6.根据权利要求2所述的设备,其中所述经里德所罗门编码的流服从里德所罗门块大小使得里德所罗门码的一个或一个以上块构成具有码字长度的码字,且其中所述压缩布置经配置以基于所述码效率根据穿孔型式在所述经重新组块的输出数据流中提供定制数目个所述占位符位,且所述压缩布置可基于所述一个或一个以上输入参数而重新配置以至少在所述压缩布置的用于改变所述码效率的操作期间将所述穿孔型式从当前码字改变到下一码字。
7.根据权利要求2所述的设备,其中所述经TCM编码的输出数据流包含多个TCM符号,且所述多个TCM符号的所述最低有效位构成从所述系列的里德所罗门符号取得的第一子组里德所罗门符号,且从所述系列的里德所罗门符号取得的第二子组里德所罗门符号包含除所述第一子组里德所罗门符号以外的所有里德所罗门符号。
8.根据权利要求7所述的设备,其中所述第一子组的所述里德所罗门符号至少部分地基于所述码效率而通过所述第二子组的所述里德所罗门符号中的一者或一者以上的数目在所述系列的里德所罗门符号中各自彼此分离,使得所述第二子组的分离所述系列中的所述第一子组的所述里德所罗门符号的里德所罗门符号的所述数目可响应于所述码效率的改变而改变。
9.根据权利要求2所述的设备,其中每一TCM符号由多个位构成,且所述压缩布置与所述映射布置经配置以协作以将所述经TCM编码的输出数据的所述部分卷积编码为多个TCM符号中的每一者的至少一最低有效位但少于构成所述经TCM编码的输出流的所有所述位,且所述映射布置包含映射器区段,所述映射器区段用于将格雷码到二进制码转换应用于所述多个TCM符号中的每一者的除经卷积编码的所述最低有效位之外的一子组剩余位。
10.根据权利要求I所述的设备,其中所述经里德所罗门编码的流服从块大小使得所述里德所罗门码的一个或一个以上块构成具有码字长度的码字,且其中所述映射布置包含利用至少一组两个卷积多项式作为产生所述卷积编码的一部分的卷积编码器,且其中所述映射器进一步经配置使得所述卷积多项式响应于所述输入参数而改变以改变以下各项中的至少一者(i)构成所述组的卷积多项式的总数,及(ii)所述组中的所述卷积多项式中的至少一者。
11.根据权利要求I所述的设备,其中所述非易失性存储器由至少一个存储器裸片所含有的多个存储器单元构成,且其中所述经里德所罗门编码的流服从块大小使得所述里德所罗门码的一个或一个以上块构成具有码字长度的码字,且其中所述压缩布置经配置以与所述映射布置协作以使所述经里德所罗门编码的流服从所述存储器单元中的至少一些存储器单元的指定位密度,且所述压缩布置可基于一个或一个以上输入参数而重新配置以至少在所述压缩布置的操作期间将所述指定位密度从当前码字改变到下一码字。
12.根据权利要求11所述的设备,其中所述压缩布置经配置以与所述映射器协作而以第一位密度将至少一个数据码字存储于单个存储器裸片中,且以不同于所述第一位密度的第二位密度将至少一第二数据码字存储于所述单个存储器裸片中。
13.根据权利要求12所述的设备,其中所述第一位密度被选择为每单元I个位到3个位,且所述第二位密度被选择为每单元4个位。
14.根据权利要求11所述的设备,其中所述选定位密度是基于所述非易失性存储器的所需使用寿命及与存取所述非易失性存储器的读取操作相关联的输出错误率中的至少一者而确定。
15.根据权利要求I所述的设备,其进一步包括 解映射布置,其用于基于从所述非易失性存储器读取所述所存储数据而接收存储器输出流,且用于根据所述码效率对所述存储器输出流进行卷积解码以基于提供到所述映射布置的所述输入参数的所述值中的对应者而将所述经TCM编码的输出数据流再现为经解映射的输出流; 解压缩布置,其用于接收所述经解映射的输出流并基于所述码效率而从所述经解映射的输出流再现所述经里德所罗门编码的流,且所述解压缩布置对基于提供到所述压缩布置的所述一个或一个以上输入参数的所述值中的对应者而改变与所述预定数目个里德所罗门符号相关联的所述卷积码的所述码效率做出响应;及 里德所罗门解码器,其用于从所述解压缩布置接收所述经里德所罗门编码的流以从所述经里德所罗门编码的流解码包含所述输入数据的读取数据流以供所述数字系统用作读取数据。
16.根据权利要求15所述的设备,其中所述读取数据对应于最初作为所述输入数据含在所述输入数据流中的用户数据。
17.根据权利要求I所述的设备,其中所述压缩布置与所述映射布置经配置以协作以产生所述经映射的输出数据流,使得在于所述非易失性存储器中存储之后即刻将每单元分数个位存储于连续存储器单元的选定群组中。
18.—种在配置有用于存储数字数据的非易失性存储器的数字系统中的方法,其包括 接收通过所述数字系统提供的包含输入数据的输入数据流,以产生由一系列里德所罗门符号构成的经里德所罗门编码的流; 从所述经里德所罗门编码的流产生经重新组块的输出数据流,使得所述经重新组块的输出数据流的至少一个部分经配置以服从基于卷积码的码效率; 基于一个或一个以上输入参数而改变与所述输入流中的预定数目个里德所罗门符号相关联的所述卷积码的所述码效率;及 根据所述码效率且基于所述输入参数而对经TCM编码的输出流的所述部分进行卷积编码以产生经映射的输出数据流供引导到所述非易失性存储器以作为所存储数据存储于所述非易失性存储器中。
19.一种在配置有用于存储数字数据的非易失性存储器的数字系统中的设备,其包括 块码编码器,其用于接收通过所述数字系统提供的包含输入数据的输入数据流,以产生由一系列块码符号构成的经块码编码的流; 压缩布置,其接收所述经块码编码的流以产生经重新组块的输出数据流,使得所述经重新组块的输出数据流的至少一个部分但非全部经配置以服从基于卷积码的码效率,且所述压缩布置适于修改所述经重新组块的输出数据流以基于改变提供到所述压缩布置的一个或一个以上输入参数的一个或一个以上值而支持与所述输入流中的预定数目个块码符号相关联的所述卷积码的所述码效率的改变;及 映射布置,其用于接收所述经重新组块的输出数据流并应用TCM码以产生经TCM编码的输出数据流,所述映射布置包含卷积编码器,所述卷积编码器用于根据所述卷积码的所述码效率对所述经TCM编码的输出流的所述部分进行卷积编码以基于所述输入参数的所述值而支持所述码效率的所述改变,以产生经映射的输出数据流供引导到所述非易失性存储器以作为所存储数据存储于所述非易失性存储器中。
20.一种在配置有用于存储数字数据的非易失性存储器的数字系统中的方法,其包括 接收通过所述数字系统提供的包含输入数据的输入数据流,以产生由一系列块码符号构成的经块码编码的流; 从所述经块码编码的流产生经重新组块的输出数据流,使得所述经重新组块的输出数据流的至少一个部分经配置以服从基于卷积码的码效率; 基于一个或一个以上输入参数而改变与所述输入流中的预定数目个块码符号相关联的所述卷积码的所述码效率;及 根据所述码效率且基于所述输入参数而对经TCM编码的输出流的所述部分进行卷积编码以产生经映射的输出数据流供引导到所述非易失性存储器以作为所存储数据存储于所述非易失性存储器中。
21.一种在配置有用于存储数字数据的非易失性存储器的数字系统中的设备,其包括 压缩布置,其经配置以接收经里德所罗门编码的流以产生经重新组块的输出数据流,使得所述经重新组块的输出数据流的至少一个部分经配置以服从基于卷积码的码效率,且所述压缩布置适于基于作为准备将输入数据存储于所述非易失性存储器中的中间步骤提供到所述压缩布置的一个或一个以上输入参数的给定值而改变与输入流中的预定数目个里德所罗门符号相关联的所述卷积码的所述码效率。
22.一种在配置有用于存储数字数据的非易失性存储器的数字系统中的方法,其包括 配置压缩布置以用于接收经里德所罗门编码的流以产生经重新组块的输出数据流,使得所述经重新组块的输出数据流的至少一个部分经配置以服从基于卷积码的码效率,且使所述压缩布置适于基于作为准备将输入数据存储于所述非易失性存储器中的中间步骤提供到所述压缩布置的一个或一个以上输入参数的给定值而改变与输入流中的预定数目个里德所罗门符号相关联的所述卷积码的所述码效率。
23.一种作为使用包含多个存储器单元的非易失性存储器来存储数字数据的数字系统的一部分的设备,其包括 压缩布置,其接收由所述系统提供的输入数据流以产生基于用于在所述存储器单元中存储的块大小的输出数据流,且所述压缩布置选择性地可基于一个或一个以上输入参数而以第一模式操作以产生用于在所述存储器单元中存储的第一块大小且可响应于所述输入参数的改变而至少以第二模式操作以产生不同于所述第一块大小的第二块大小以在其操作期间选择性地改变所述块大小。
24.根据权利要求23所述的设备,其中所述第一模式及所述第二模式中的至少一者导致在所述存储器单元中至少平均每存储器单元存储每单元分数个位。
25.一种作为使用包含多个存储器单元的非易失性存储器来存储数字数据使得所述存储器单元中的至少一些存储器单元可存储一个以上位的数字系统的一部分的设备,其包括 编码器布置,其接收由所述系统提供的输入数据流以产生基于用于在所述存储器单元中存储的每单元译码选定位数目的输出数据流,且所述编码器布置选择性地可基于一个或一个以上输入参数以第一模式操作以将用于在所述存储器单元中存储的第一位密度产生为所述每单元选定位数目且可响应于所述输入参数的改变而至少以第二模式操作以产生不同于所述第一位密度的第二位密度以在其操作期间选择性地改变所述每单元译码位数目。
26.根据权利要求25所述的设备,其中所述输入数据流被配置为一系列码字且每一码字由构成码字长度的多个符号构成,其中每一符号表示待存储于所述存储器单元中的一者中的值,且所述编码器布置经配置以用于以所述第一模式操作以在所述系列的码字的第一码字中产生所述第一位密度且用于以所述第二模式操作以在所述系列的码字的第二码字中产生第二码字密度。
27.一种在使用包含多个存储器单元的非易失性存储器来存储数字数据使得所述存储器单元中的至少一些存储器单元可存储一个以上位的数字系统中的方法,其包括 配置编码器布置以用于接收由所述系统提供的输入数据流以产生基于用于在所述存储器单元中存储的每单元译码选定位数目的输出数据流,且选择性地基于一个或一个以上输入参数而使所述编码器布置以第一模式操作以将用于在所述存储器单元中存储的第一位密度产生为所述每单元选定位数目且响应于所述输入参数的改变而使所述编码器布置至少以第二模式操作以产生不同于所述第一位密度的第二位密度以在其操作期间选择性地改变所述每单元译码位数目。
28.一种作为使用包含多个存储器单元的非易失性存储器来存储数字数据使得所述存储器单元中的至少一些存储器单元可存储一个以上位的数字系统的一部分的设备,其包括 编码器布置,其接收由所述系统提供为一系列输入符号的输入数据流以产生基于用于在所述存储器单元中存储的每单元译码选定位数目的输出数据流,且所述编码器布置可基于一个或一个以上输入参数而重新配置以至少改变待存储于所述非易失性存储器的所述存储器单元中的所述每单元译码选定位数目。
29.一种在使用包含多个存储器单元的非易失性存储器来存储数字数据使得所述存储器单元中的至少一些存储器单元可存储一个以上位的数字系统中的方法,其包括 配置编码器布置以用于接收由所述系统提供为一系列输入符号的输入数据流以产生基于用于在所述存储器单元中存储的每单元译码选定位数目的输出数据流,使得所述编码器布置可基于一个或一个以上输入参数而重新配置以至少改变待存储于所述非易失性存储器的所述存储器单元中的所述每单元译码选定位数目。
30.一种作为使用包含多个存储器单元的非易失性存储器来存储数字数据使得所述存储器单元中的至少一些存储器单元可存储一个以上位的数字系统的一部分的设备,其包括 解码器布置,其接收响应于读取存储于所述非易失性存储器中的数据结构而提供的读取数据流以提供含有最初在写入操作期间编码为所述数据结构的一部分且存储于一系列所述存储器单元中的用户数据流的一系列读取符号,以基于存储于所述系列的存储器单元中的若干个不同的每单元译码位密度中的选定一者而再现所述用户数据流,且所述解码器布置可基于一个或一个以上输入参数而重新配置以至少改变所述位密度中的所述选定一者来匹配存储于所述系列的存储器单元中的所述位密度以作为再现所述用户数据流的一部分。
31.一种在使用包含多个存储器单元的非易失性存储器来存储数字数据使得所述存储器单元中的至少一些存储器单元可存储一个以上位的数字系统中的方法,其包括 配置解码器布置以用于接收响应于读取存储于所述非易失性存储器中的数据结构而提供的读取数据流以提供含有最初在写入操作期间编码为所述数据结构的一部分且存储于一系列所述存储器单元中的用户数据流的一系列读取符号,以基于存储于所述系列的存储器单元中的若干个不同的每单元译码位密度中的选定一者而再现所述用户数据流,使得所述解码器布置可基于一个或一个以上输入参数而重新配置以至少改变所述位密度中的所述选定一者来匹配存储于所述系列的存储器单元中的所述位密度以作为再现所述用户数据流的一部分。
32.一种作为配置有包含多个存储器单元的非易失性存储器用于存储数字数据使得所述存储器单元中的至少一些存储器单元可存储一个以上位的数字系统的一部分的设备,其包括 解映射布置,其用于基于从所述非易失性存储器读取所存储数据而接收存储器输出流,其中所述存储器输出流呈经TCM编码的输出数据流的形式,在编码操作期间使所述经TCM编码的输出数据流的一个部分但非全部服从由一组参数的给定值确立的码效率,且用于基于所述码效率对所述经TCM编码的输出数据流进行卷积解码以基于在所述编码操作期间提供的所述输入参数的所述给定值中的对应者而将所述经TCM编码的输出数据流再现为经解映射的输出流,所述经解映射的输出流含有经里德所罗门编码的流; 解压缩布置,其用于接收所述解映射器输出流并基于所述码效率而从所述解映射器输出流再现所述经里德所罗门编码的流,且所述解压缩布置对基于在所述编码操作期间提供的所述一个或一个以上输入参数的所述给定值中的对应者而改变与所述预定数目个里德所罗门符号相关联的卷积码的所述码效率做出响应;及 里德所罗门解码器,其用于从所述解压缩布置接收所述经里德所罗门编码的流以从所述经里德所罗门编码的流解码包含所述输入数据的读取数据流以供所述数字系统用作读取数据。
33.一种在配置有包含多个存储器单元的非易失性存储器用于存储数字数据使得所述存储器单元中的至少一些存储器单元可存储一个以上位的数字系统中的方法,其包括 配置解映射布置以用于基于从所述非易失性存储器读取所存储数据而接收存储器输出流,其中所述存储器输出流呈经TCM编码的输出数据流的形式,在编码操作期间使所述经TCM编码的输出数据流的一个部分但非全部服从由一组参数的给定值确立的码效率,且用于基于所述码效率对所述经TCM编码的输出数据流进行卷积解码以基于在所述编码操作期间提供的所述输入参数的所述给定值中的对应者而将所述经TCM编码的输出数据流再现为经解映射的输出流,所述经解映射的输出流含有经里德所罗门编码的流; 使用解压缩布置接收所述解映射器输出流并基于所述码效率从所述解映射器输出流再现所述经里德所罗门编码的流,使得所述解压缩布置对基于在所述编码操作期间提供的所述一个或一个以上输入参数的所述给定值中的对应者而改变与所述预定数目个里德所罗门符号相关联的卷积码的所述码效率做出响应;及 提供里德所罗门解码器以用于从所述解压缩布置接收所述经里德所罗门编码的流以从所述经里德所罗门编码的流解码包含所述输入数据的读取数据流以供所述数字系统用作读取数据。
34.一种在配置有非易失性存储器以用于响应于主机装置而存储数字数据的数字系统中的设备,其包括 编码器/解码器布置,其用于使所述主机装置与所述非易失性存储器介接以在其之间以一系列码字传送读取数据及写入数据,其中每一码字具有码字大小使得从所述主机装置到所述非易失性存储器的经编码数据流及从所述非易失性存储器到所述主机装置的经解码数据流各自至少服从基于卷积码的码效率,且所述编码器/解码器布置经配置以用于接收一个或一个以上输入参数使得所述码效率可响应于所述输入参数的改变而在逐码字基础上改变。
35.根据权利要求34所述的设备,其中每一码字由构成码字长度的多个符号构成,其中每一符号表示待存储于所述存储器单元中的一者中的值,且所述编码器/解码器布置经配置以用于以第一模式操作以在给定系列码字的第一码字中产生第一码效率且以第二模式操作以在所述给定系列码字的第二码字中产生第二码效率。
36.根据权利要求26所述的设备,其中所述编码器/解码器布置包含用于处置所述写入数据的编码器布置,所述编码器布置包括 里德所罗门编码器,其用于接收通过所述数字系统提供的包含所述写入数据的输入数据流,以产生由一系列里德所罗门符号构成的经里德所罗门编码的流; 压缩布置,其接收所述经里德所罗门编码的流以产生经重新组块的输出数据流,使得所述经重新组块的输出数据流的至少一个部分但非全部经配置以服从基于卷积码的码效率,且所述压缩布置适于修改所述经重新组块的输出数据流以基于改变提供到所述压缩布置的一个或一个以上输入参数的一个或一个以上值而支持与所述输入流中的预定数目个里德所罗门符号相关联的所述卷积码的所述码效率的改变;及 映射布置,其用于接收所述经重新组块的输出数据流并应用TCM码以产生经TCM编码的输出数据流,所述映射器包含卷积编码器,所述卷积编码器用于根据所述卷积码的所述码效率对所述经TCM编码的输出流的所述部分进行卷积编码以基于所述输入参数的所述值而支持所述码效率的所述改变,以产生经映射的输出数据流供写入到所述非易失性存储器以作为所存储数据存储于所述非易失性存储器中。
37.根据权利要求28所述的设备,其中所述编码器/解码器布置包含用于处置所述读取数据的解码器布置,所述解码器布置包括 解映射布置,其用于基于从所述非易失性存储器读取包含所述读取数据的所述所存储数据而接收存储器输出流,且用于根据所述码效率对所述存储器输出流进行卷积解码以基于提供到所述映射布置的所述输入参数的给定值中的对应者而将所述经TCM编码的输出数据流再现为经解映射的输出流; 解压缩布置,其用于接收所述经解映射的输出流并基于所述码效率而从所述经解映射的输出流再现所述经里德所罗门编码的流,且所述解压缩布置对基于提供到所述压缩布置的所述一个或一个以上输入参数的所述给定值中的对应者而改变与所述预定数目个里德所罗门符号相关联的所述卷积码的所述码效率做出响应;及 里德所罗门解码器,其用于从所述解压缩布置接收所述经里德所罗门编码的流以从所述经里德所罗门编码的流解码包含所述输入数据的读取数据流以供所述数字系统用作读取数据。
38.一种在配置有用于存储数字数据的非易失性存储器的数字系统中的数据结构,所述数据结构存储于所述非易失性存储器中,所述数据结构包括 一系列TCM符号,其存储于所述非易失性存储器中,所述系列的TCM符号中的每一者表示至少两个位,使每一 TCM符号的至少最低有效位服从卷积码,且每一符号的至少一个其它位未经卷积编码,且所述TCM符号构成形成一系列码字的一系列里德所罗门符号使得所述数据结构中的至少一个码字的所述卷积码的码效率不同于所述数据结构中的邻近码字的所述码效率。
39.一种供与配置有用于存储数字数据的非易失性存储器的数字系统一起使用的用于将数据结构存储于所述非易失性存储器中的方法,所述方法包括 将一系列TCM符号写入到所述非易失性存储器,所述系列的TCM符号中的每一者表示至少两个位,使每一 TCM符号的至少最低有效位服从卷积码,且每一符号的至少一个其它位未经卷积编码,且所述TCM符号构成形成一系列码字的一系列里德所罗门符号使得所述数据结构中的至少一个码字的所述卷积码的码效率不同于所述数据结构中的邻近码字的所述码效率。
40.一种在配置有用于存储数字数据的非易失性存储器的数字系统中的数据结构,所述数据结构存储于所述非易失性存储器中,所述数据结构包括 一系列TCM符号,其存储于所述非易失性存储器中形成所述非易失性存储器的一部分的一系列存储器单元中,其中每一 TCM符号包含至少一个位且构成先前写入到所述非易失性存储器的数据传送使得所述系列的存储器单元至少平均存储表示所述数据传送的每单元分数个位。
41.一种在配置有用于存储数字数据的非易失性存储器的数字系统中的方法,其包括 将一系列TCM符号作为数据传送写入到所述非易失性存储器的形成所述非易失性存储器的一部分的一系列存储器单元中,其中每一 TCM符号包含至少一个位使得所述系列的存储器单元至少平均存储表示所述数据传送的每单元分数个位。
42.根据权利要求41所述的方法,其中所述数据传送包含用户数据且所述方法进一步包括 基于所述每单元分数个位而从所述非易失性存储器读取所述系列的TCM符号以恢复所述用户数据。
43.一种在配置有用于存储数字数据的非易失性存储器的数字系统中的设备,其包括 写入布置,其用于在数据传送操作中将数据结构作为一系列TCM符号写入到所述非易失性存储器的形成所述非易失性存储器的一部分的一系列存储器单元中,其中每一 TCM符号包含至少一个位且所述数据结构包含用户数据使得所述系列的存储器单元至少平均存储每单元分数个位。
44.根据权利要求43所述的设备,其进一步包括 读取布置,其用于基于所述每单元分数个位而从所述非易失性存储器读取所述系列的TCM符号以恢复所述用户数据。
全文摘要
本发明涉及一种配置有用于使用码字来存储数字数据的非易失性存储器的数字系统、组件及方法。使用所述存储器的每存储器单元多个位将所述数据存储于所述存储器中。出于与所述存储器有关的写入操作及读取操作的目的,可基于输入参数而在逐码字基础上改变码效率。所述码效率可基于改变包含由所述存储器存储的位密度的所述输入参数中的任一者而改变。还描述存储及读取分数位密度。
文档编号G11C16/06GK102934171SQ201180027699
公开日2013年2月13日 申请日期2011年5月19日 优先权日2010年6月4日
发明者罗伯特·艾森胡特, 斯蒂芬·范阿肯 申请人:美光科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1