CN108053862A - 使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据 - Google Patents

使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据 Download PDF

Info

Publication number
CN108053862A
CN108053862A CN201810022790.1A CN201810022790A CN108053862A CN 108053862 A CN108053862 A CN 108053862A CN 201810022790 A CN201810022790 A CN 201810022790A CN 108053862 A CN108053862 A CN 108053862A
Authority
CN
China
Prior art keywords
reliability information
storage unit
data storage
accumulation
combined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810022790.1A
Other languages
English (en)
Other versions
CN108053862B (zh
Inventor
A.雷
S.纳尔逊
Z.S.关
R.H.莫特瓦尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN108053862A publication Critical patent/CN108053862A/zh
Application granted granted Critical
Publication of CN108053862B publication Critical patent/CN108053862B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Error Detection And Correction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Read Only Memory (AREA)

Abstract

提供了使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据的方法、系统和装置。在包括除了目标数据存储单元之外的数据存储单元和奇偶校验存储单元的存储单元中的每个中执行码字的解码操作以产生可靠性信息。响应于解码操作因为包括未能解码的除了目标数据存储单元之外的数据和/或奇偶校验存储单元的至少一个另外的失效存储单元而失败,获得所述至少一个另外的失效存储单元的数据部分的可靠性信息。从除了目标数据存储单元之外的存储单元获得的可靠性信息用于产生针对目标数据存储单元中的数据单元的经纠正的数据。

Description

使用来自多个存储单元和奇偶校验存储单元的可靠性信息为 一个失效存储单元恢复数据
本案为分案申请。其母案的发明名称为“使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据”,申请日为2015年8月25日,申请号为201580045594.0。
技术领域
本文中描述的实施例一般地涉及关于非易失性存储设备(诸如闪速存储设备,包括NAND闪速存储器)的错误恢复操作。
背景技术
固态驱动器(SSD)可以包括多个NAND管芯。数据可以被编码并作为码字存储在每个数据管芯中,所述码字诸如低密度奇偶校验(LDPC)码字,并且一个奇偶校验管芯可以维护奇偶校验(XOR)信息,所述奇偶校验(XOR)信息可以用于在不能对NAND管芯中的一个上的码字解码时恢复码字中的用户数据。如果NAND管芯中的一个具有导致在对来自NAND管芯的码字解码时的解码操作失败的位错误,则可以将奇偶校验NAND管芯中的码字的奇偶校验信息是与除了用以恢复数据的解码失败的失效(failed)NAND管芯之外的NAND管芯的数据XOR。
奇偶校验NAND管芯中的上面的XOR保护方案包括奇偶校验码,其允许单个擦除被纠正。如果纠错码(ECC)失败发生在一个码字上,则系统可以根据没有经历解码操作失败的NAND管芯上的数据重建丢失的数据。该形式的恢复依赖于来自其他管芯中的成功ECC解码的硬信息。如果不止一个NAND管芯经历ECC解码失败,则要恢复的目标失效NAND管芯上的数据不能通过XOR奇偶校验纠正操作来恢复。
在本领域中存在对用于在用于XOR恢复的NAND管芯中的一个或多个也未能解码时恢复数据的改进的技术的需要。
附图说明
参考附图通过示例的方式描述实施例,所述附图没有按比例绘制,其中同样的参考数字指的是类似的元件。
图1图示了存储设备的实施例。
图2图示了数据、奇偶校验信息和解码信息在管芯上的存储的实施例。
图3图示了用以执行针对失效的数据存储单元的错误恢复的操作的实施例。
图4a、4b和4c图示了用以执行针对失效的数据存储单元的错误恢复的操作的进一步实施例。
图5图示了用于针对失效的数据存储单元的错误恢复的解码操作的流程的图示。
图6图示了其中可以部署权利要求1的存储设备的系统。
具体实施方式
使用奇偶校验盘或NAND管芯上的奇偶校验数据的当前XOR奇偶校验恢复技术不能够根据XOR奇偶校验码覆盖的存储单元的组为具有纠错位错误的存储单元恢复数据,如果该组中的多个存储单元或NAND管芯具有导致纠错码(ECC)失败的位错误的话。
所描述的实施例提供允许从针对其维护XOR奇偶校验数据的存储单元的组中的经历位错误的存储单元恢复数据的技术。所描述的实施例提供在存储器控制器中对来自除了具有要修复的位错误的数据存储单元(在本文中称为失效的数据存储单元,正在从其恢复数据)之外的数据存储单元和奇偶校验存储单元(诸如NAND管芯)的码字解码的操作。通过解码操作或在存储单元的解码失败时从数据存储单元读取可靠性信息来从除了目标数据存储单元之外的存储单元(数据和奇偶校验存储单元)获得可靠性信息。来自除了目标数据存储单元之外的存储单元的可靠性信息被累积为经累积的可靠性信息,其然后与通过在目标数据存储单元上执行第二类型解码操作而获得的可靠性信息组合。在所描述的实施例中,即使其他存储单元也在恢复尝试期间失败,还可以恢复目标数据存储单元的数据中的一些。
在以下描述中,阐述了众多具体细节,诸如逻辑实现、操作码、指定操作数的部件、资源划分/共享/复制实现、系统组件的类型和相互关系以及逻辑划分/集成选择,以便提供对本发明的更透彻的理解。然而,本领域技术人员将领会,可以在没有这样的具体细节的情况下实践本发明。在其他实例中,并未详细示出控制结构、门级电路和完整的软件指令序列以便不使本发明模糊。本领域普通技术人员利用所包括的描述将能够在没有过度实验的情况下实现适当的功能。
在说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可能不一定包括所述特定特征、结构或特性。而且,这样的短语不一定指的是同一实施例。某些实施例涉及存储设备电子装配。实施例包括用于形成电子装配的设备和方法二者。
图1图示了诸如固态驱动器(SSD)之类的存储设备100的实施例,其包括非易失性存储器控制器102以关于存储器执行存储阵列的读取、写入和错误恢复(还称为读取重试)操作,所述存储器存储阵列包括数据存储单元1041、1042……104n和具有XOR奇偶校验数据以在一个数据存储单元1041、1042……104n失败时执行奇偶校验错误恢复的奇偶校验存储单元106。
在一个实施例中,存储单元1041、1042……104n、106可以包括电可擦除且非易失性存储器单元,诸如闪速存储设备。例如,存储单元1041、1042……104n、106可以包括闪速存储器单元的NAND管芯。在一个实施例中,NAND管芯可以包括多级单元(MLC)NAND闪速存储器,其在每个单元中记录两个位值:较低位值和较高位值。替代地,NAND管芯可以包括单级单元(SLC)存储器或每单元三位(TLC)存储器。存储单元1041、1042……104n、106还可以包括但不限于MLC NAND闪速存储器、铁电随机存取存储器(FeTRAM)、基于纳米线的非易失性存储器、诸如相变存储器(PCM)之类的三维(3D)交叉点存储器、结合忆阻器技术的存储器、磁阻随机存取存储器(MRAM)、自旋转移扭矩(STT)-MRAM、单级单元(SLC)闪速存储器和其他电可擦除可编程只读存储器(EEPROM)类型设备。
控制器102包括解码器逻辑110,用以对存储单元1041、1042……104n、106中的码字解码。控制器102还包括编码器114,用以以使数据被准确地恢复的概率最大化的方式对数据编码以写入到存储单元1041、1042……104n、106的存储器单元。编码器114和解码器110可以使用本领域中已知的低密度奇偶校验(LDPC)编码和解码算法将码字编码和解码到存储单元1041、1042……104n、106中。
图2图示了数据可以如何存储在数据存储单元1041、1042……104n、106上的示例。图2示出五个存储单元(例如NAND管芯)中的数据单元2001、2002……2005,以及奇偶校验部分2011、2012……2015,例如LDPC奇偶校验数据,其在与数据单元2001、2002……2005组合时形成经编码的码字2021、2022……2025,诸如LDPC码字。图2进一步示出存储在奇偶校验存储单元106中的针对码字2021、2022……2025的奇偶校验数据203的实例。XOR奇偶校验数据203还具有奇偶校验码字部分204,使得XOR奇偶校验数据203和奇偶校验码字部分204的组合形成针对XOR奇偶校验数据的编码的码字205,诸如LDPC码字。可能存在针对数据单元2001、2002……2005中的数据的每一位的XOR奇偶校验203。如果来自码字2021、2022……2025中的一个的数据不能成功解码,则可以使用XOR奇偶校验数据203来恢复数据2001、2002……2005。进一步地,如果205的内容是线性分组码,诸如LDPC,并且在2021、2022……2025中使用相同的线性分组码,则LDPC奇偶校验204的内容也可以等于2011、2012……2015中的每一位的XOR。
在一个实施例中,存储单元1041、1042……104n、106可以包括分离的物理设备,诸如NAND管芯。在进一步实施例中,数据存储单元存储或XOR奇偶校验存储单元可以跨多个物理设备(诸如NAND管芯)散布并且占据多个NAND管芯的部分。在某些实施例中,奇偶校验存储单元106可以跨多个NAND管芯散布,用以针对存储器的不同部分使用不同的管芯存储XOR奇偶校验信息。例如,如果存在五个NAND管芯A、B、C、D,则对于地址范围0-50,A、B、C、D是数据并且E是XOR奇偶校验,并且对于地址范围51-100,A是XOR奇偶校验并且B、C、D、E是数据。在该示例中,针对不同XOR条存在两个NAND管芯用于奇偶校验。进一步地,XOR条不需要占用每个管芯中的来自同一地址的存储单元。
控制器102进一步包括累积器116,其中累积针对除了正在恢复的目标数据存储单元之外的存储单元1041、1042……104n、106获得的可靠性信息。位可靠性信息可以包括软信息,诸如对数似然比(LLR)。在一个实施例中,初始化累积器116并且然后将来自除了目标数据存储单元104f之外的数据存储单元1041、1042……104n的可靠性信息串行地累积到累积器116中。这样,节省存储空间,因为并非所有的解码输出都被分离地缓冲,而是在累积器116中存储单个累积值。
缩放因子118提供用于在将累积器116的输出——经累积的可靠性信息与解码器逻辑110根据目标数据存储单元104f产生的可靠性信息组合之前对所述累积器116的输出加权的值。缩放因子118可以依靠除了要恢复其数据的目标数据存储单元104f之外的数据存储单元1041、1042……104n、106的解码错误或解码失败操作的数目而提供不同的值。当用于从目标数据存储单元恢复数据的存储单元1041、1042……104n、106的解码失败的数目增加时,缩放因子提供较低的加权。在某些实施例中,如果目标数据存储单元的被恢复的数据不收敛到有效ECC码字,则可能存在加权值的缩放因子集合中的多个集合用在多个迭代中。
图3图示了由存储器控制器102的组件执行以恢复不能从未能解码的目标数据存储单元104f解码的码字的操作的实施例。当(在块300处)发起从目标数据存储单元104f恢复数据单元200f的操作时,解码器逻辑110(在块301处)对除了目标数据存储单元104f之外的存储单元1041、1042……104n、106中的每个中的码字2021、2022……202n、205执行第一类型解码操作以产生被解码的数据单元2001、2002……200n、203。解码器逻辑110可以对从数据单元的位读取的值执行完整的LDPC最小和迭代解码,作为完整的读取重试回流解码的部分。完整的LDPC迭代解码意味着解码直至被配置用于该系统的LDPC迭代的最大数目。
被解码的数据和奇偶校验数据然后被XOR(在块302处)。如果(在块303处)XOR恢复操作成功,则目标数据存储单元104f的数据200f被恢复。如果(在块303处)简单的XOR恢复失败,如果第一类型解码操作中的一些失败,则解码器逻辑110(在块305处)从至少一个另外的目标数据存储单元中的每个获得码字的可靠性信息。解码器逻辑110可以获得软信息,诸如可靠性信息,通过从存储单元1041、1042……104n、106读取可靠性信息来获得。替代地,解码器逻辑110可以通过对在所述至少一个另外的失效存储单元中的每个处的数据单元的数据执行第二类型解码操作以产生针对所述至少一个另外的失效存储单元中的每个的第二类型解码输出来获得软信息。该第二类型解码操作可以包括具有有限数目的迭代的部分LDPC解码,其可以产生具有针对码字中的一些位的一些低置信度值的第二解码输出。尽管部分第二解码可以产生具有低置信度值的输出,但是第二部分解码改进初始软读取的可靠性,因为其可以修复非常可能错的那些位错误。首先执行第一类型解码操作(例如完整的LDPC解码)以试图对码字解码。如果第一类型解码通过,则成功纠正的码字位被认为具有非常高的可靠性值;否则如果第一类型解码失败,则需要获得指示置信度值的可靠性信息,例如位可靠性度量,LLR值等。
累积器116(在块306处)累积来自非目标存储单元(奇偶校验和数据存储单元)的可靠性信息以产生经累积的可靠性信息。在一个实施例中,可以使用“软XOR”操作来组合来自除了目标数据存储单元104f之外的存储单元1041、1042……104n、106的可靠性信息,例如可靠性度量值(LLR)。软XOR操作可以等同于置信传播算法中的校验节点更新,所述置信传播算法诸如最小和算法、经缩放的最小和、偏移最小和、经缩放的偏移最小和、乘积和算法等。当组合时,被成功解码的码字的可靠性信息将指示成功。
控制器102从目标数据存储单元104f获得码字202f的可靠性信息。在一个实施例中,控制器102从数据存储单元104f读取码字202f以获得可靠性信息。在一个实施例中,解码器逻辑110(在块307处)对目标数据存储单元104f中的码字202f执行第二类型解码,例如部分LDPC解码,以产生可靠性信息。替代地,可以根据目标存储单元的读取而获得可靠性信息。
诸如通过使用加权和操作(在块308处)将经累积的可靠性信息(软XOR输出)与来自目标存储单元的可靠性信息组合。加权和操作可以等同于置信传播算法中的可变节点更新,所述置信传播算法诸如最小和算法、经缩放的最小和、偏移最小和、经缩放的偏移最小和、乘积和算法等。下面在等式(1)中提供了加权和运算的实施例:
(1)weighted_sum(Aj,Bj) = Aj + scaling_factor * Bj
其中Aj是LDPC码字202f的一个位j的可靠性信息,其通过读取目标存储单元或通过第二类型的解码来获得;并且Bj包括对应位j的当前存储在累积器116中的经累积的可靠性信息。替代地,在使用诸如非二进制LDPC之类的ECC解码算法的情况下,可以针对每个符号j确定可靠性,其中符号可以表示码字中的任意多个位。
解码器逻辑110然后可以(在块309处)对经组合的解码输出应用LDPC软判决解码以产生针对来自目标数据存储单元104f的码字202f的经恢复的数据200f
图4a、4b和4c图示了由存储器控制器110的组件执行以从失效的数据存储单元104f恢复数据的操作的进一步实施例。如果不止一个数据存储单元1041、1042……104n失效,即解码操作失败,则XOR奇偶校验存储单元106中的奇偶校验数据203可能不被成功地用于在XOR恢复操作中从失效的数据存储单元恢复数据2001、2002……200n。在这样的情况下,解码器逻辑110(在块400处)发起恢复操作以从失效的数据存储单元104f恢复数据并且(在块401处)初始化累积器116和任何其他所使用的寄存器或缓冲器。解码器逻辑110针对除了目标数据存储单元104f和奇偶校验存储单元106之外的存储单元1041、1042……104n、106中的每个执行在块402至409处的操作循环。可以针对存储单元——除了目标数据存储单元104f之外的数据存储单元1041、1042……104n、106中的每个串行地执行在块402至409处的操作。解码器逻辑110诸如通过使用LDPC最小和迭代解码(在块403处)对从存储单元i读取的数据(例如硬位数据和软信息)执行第一类型解码操作以产生有效码字。
如果(在块404处)第一解码未通过,即因不收敛到有效值而经历失败,则可以(在块405处)通过存储单元i的读取以读取码字的可靠性信息或者通过在从存储单元读取可靠性信息之后执行第二类型解码操作来获得要解码的码字的可靠性信息。在替代实施例中,第二类型解码可以通过取得原始读取的数据并且然后在第二类型解码失败时提取先前读取的包括可靠性信息的数据而在不从存储单元重新读取可靠性信息的情况下发生。如果(在块404处)第一类型解码通过,则解码被视为成功并且控制进行到块407。解码器110可以针对被解码的数据200i的每一位输出不同的可靠性信息,例如LLR置信度值。
累积器116(在块407处)将所获得的可靠性信息与在累积器116中的先前经累积的可靠性信息组合以在累积器116中产生新的经累积的可靠性信息,其然后(在块408处)作为新的经累积的可靠性信息存储在累积器116中。在一个实施例中,可以使用“软XOR操作”将所获得的可靠性信息与累积器116中的当前可靠性信息组合。下面在等式(2)中提供了软XOR操作的实施例:
(2)soft_XOR (Aj,Bj) = sgn(Aj) *sgn (Bj)*min(|Aj|,|Bj|)
其中Aj是LDPC码字202j的一个位j的可靠性信息,其被获得,如果第一类型解码成功,则其被通过第一类型的解码来获得,否则其被通过读取存储单元或通过第二类型的解码来获得;并且Bj包括对应位j的当前存储在累积器116中的经累积的解码输出。替代地,在使用诸如非二进制LDPC之类的ECC解码算法的情况下,可以针对每个符号j确定可靠性,其中符号可以表示码字中的任意多个位。“sgn”操作可以包括符号函数。新计算出的值被作为新的经累积的可靠性信息存储在累积器116中。该值可以包括位j可靠性值或LLR。等式(2)将所组合的数据的置信度降低到最小置信度数据。通过使数据的符号相乘来捕获XOR累积的解码输出。
在计算出累积器116中的经累积的可靠性信息之后,并且控制进行到图4b中的块410,其中基于解码错误或除了目标数据存储单元104f之外的另外的失效存储单元1041、1042……104n、106的数目来确定缩放因子。(在块411处)将缩放因子应用于来自累积器116的经累积的可靠性信息以产生被加权的经累积的可靠性信息,所述经累积的可靠性信息可以包括诸如LLR之类的软信息,其可以取决于失效的数据存储单元的数目被加权。解码器逻辑110(在块412处)对从目标数据存储单元104f读取的码字的数据执行第二类型的解码(例如部分LDPC解码)以产生可靠性信息,其可能具有低置信度值。(在块413处)组合(诸如在对LLR值的加权和操作中组合)被加权的经累积的可靠性信息与来自目标数据存储单元104f的可靠性信息以产生经组合的可靠性信息,其可以被表示为置信度水平或可靠性度量,例如LLR。
解码器逻辑110然后(在块414处)对经组合的可靠性信息执行解码操作,例如软解码。如果(在块415处)解码操作成功,即收敛到有效LDPC码字,则解码器逻辑110(在块416处)输出被解码的数据,作为从目标数据存储单元104f恢复的数据。如果(在块415处)解码操作失败,则控制进行到图4c中的块417。如果(在块417处)已经执行了关于经组合的可靠性信息的解码操作的最大数目的解码尝试,则(在块418处)返回失败,其指示不能从目标数据存储单元104f恢复数据单元的数据。如果(在块417处)尚未执行最大数目的解码尝试,则(在块419处)基于未能解码的数据存储单元的数目来确定新的缩放因子118。控制然后进行回到块410以利用应用于累积器116中的经累积的可靠性信息的新缩放因子重试解码。
在所描述的实施例的情况下,从累积器116生成的软信息重建可以加强或降低来自目标数据存储单元104f的软信息的置信度。组合过程可以在对经累积的可靠性信息与目标数据存储单元104f的可靠性信息求和之前利用经累积的可靠性信息的缩放。经组合的可靠性信息然后被传递到解码器逻辑110中以进行解码。
图5图示了示出根据图4a、4b、4c的实施例的处理的流程的实施例。图5示出了来自除了目标数据存储单元104f之外的存储单元104l、1042……104n、106的处理流程5001、5002……500n,并且处理流程500f示出了其数据正被恢复的失效数据存储单元104f的处理流程。流程5001、5002和500n能够在第一解码操作(例如完整的读取重试流LDPC译码)时对读取数据解码,导致被解码的数据。流程5003必须依靠通过读取操作从存储单元获得可靠性信息,因为第一类型解码操作失败。累积器116中的经累积的可靠性信息然后经受缩放502,并且然后与利用在流程500f中对来自目标数据存储单元104f的信息执行的第二类型解码(例如部分LDPC解码)获得的来自目标数据存储单元的可靠性信息组合504。在组合504处将经累积的可靠性信息和来自目标数据存储单元的可靠性信息组合的结果经受软解码操作506以根据目标数据存储104f产生最终的经纠正的数据。如果最终的LDPC解码操作506未能解码,则可以调整在步骤502处应用的缩放因子,并且然后再次利用新的经缩放的累积的解码输出执行组合504和LDPC解码506。
所描述的实施例提供一种在存储单元1041、1042……104n、106中的不止一个解码失败使得XOR奇偶校验信息连同存活的数据存储单元中的数据不能用于从目标存储单元恢复数据时的解码技术。在所描述的实施例的情况下,可以使用第一类型解码操作(诸如完整的LDPC解码)对数据和奇偶校验存储单元解码。对于完全解码失败的存储单元,可以通过读取存储单元或执行第二类型解码(例如部分解码操作)来获得可靠性度量。可靠性信息(例如LLR值)然后可以组合在累积器中和/或然后与来自目标数据存储单元的可靠性信息重新组合以产生被解码的数据,诸如软信息,以用于使被进一步解码的目标数据存储单元产生针对失效的数据存储单元的经恢复的数据。
图6图示了其中可以部署诸如图1的存储设备100之类的非易失性存储设备602的系统600的实施例。系统包括处理器604,其通过总线606与其中缓存所执行的程序、操作数和参数的易失性存储器设备608和其中可以存储数据和程序的非易失性存储设备602通信。处理器600还可以与输入/输出(I/O)设备610a、610b通信,所述输入/输出(I/O)设备610a、610b可以包括输入设备、显示设备、图形卡、端口、网络接口等。非易失性存储设备602可以安装到系统外壳600,诸如在存储驱动器槽中,或者经由端口接口或通过网络连接到系统600。
应领会,贯穿本说明书对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,强调并且应领会的是,在本说明书的各种部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多引用不一定都指的是同一实施例。此外,可以如合适的那样在本发明的一个或多个实施例中组合所述特定特征、结构或特性。
类似地,应领会,在对本发明的实施例的前述描述中,出于流线化本公开从而帮助理解各种发明方面中的一个或多个的目的,有时将各种特征一起组合在单个实施例、图或其描述中。然而,公开的该方法不被解释为反映所要求保护的主题要求比在每个权利要求中明确叙述特征更多的特征的意图。相反,如以下权利要求反映的那样,发明方面在于少于单个前述公开的实施例的所有特征。因此,遵循详细描述的权利要求由此明确地结合到该详细描述中。
可以使用标准编程和/或工程技术产生软件、固件、硬件或其任何组合而将存储器控制器102和逻辑组件110、114、116、118以及其他组件的所描述的操作实现为方法、装置或计算机可读存储介质。所描述的操作可以实现为在“计算机可读存储介质”中维护的代码或逻辑,所述“计算机可读存储介质”可以直接执行功能或者其中处理器可以从计算机存储可读介质读取代码和执行所述代码。计算机可读存储介质包括以下中的至少一个:电子电路、存储材料、无机材料、有机材料、生物材料、壳体、外壳、涂层和硬件。计算机可读存储介质可以包括但不限于磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光学储存器(CD-ROM、DVD、光盘等)、易失性和非易失性存储器设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪速存储器、固件、可编程逻辑等)、固态设备(SSD)等。计算机可读存储介质可以进一步包括在硬件设备(例如,集成电路芯片、可编程逻辑器件、可编程门阵列(PGA)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)中实现的数字逻辑。更进一步地,实现所描述的操作的代码可以在“传输信号”中实现,其中传输信号可以通过空间或通过诸如光纤、铜线等之类的传输介质来传播。代码或逻辑被编码在其中的传输信号可以进一步包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。嵌入在计算机可读存储介质上的程序代码可以作为传输信号从传输站或计算机传输到接收站或计算机。计算机可读存储介质不仅包括传输信号,而且包括有形组件。本领域技术人员将认识到,可以在不脱离本发明的范围的情况下对该配置做出许多修改,并且制品可以包括本领域中已知的合适的信息承载介质。
示例
以下示例关于进一步实施例。
示例1是一种装置,包括:一种装置,所述装置包括:多个数据存储单元,每个存储包括数据部分的码字;奇偶校验存储单元,其存储具有用于对数据存储单元中的数据部分纠错的XOR奇偶校验数据;以及控制器,其耦合到存储单元以通过执行包括以下的操作对包括数据存储单元中的一个的目标数据存储单元中的数据执行错误恢复操作:对包括除了目标数据存储单元之外的数据存储单元和奇偶校验存储单元的存储单元中的每个中的码字执行解码操作以产生可靠性信息;响应于解码操作因为包括未能解码的除了目标数据存储单元之外的数据和/或奇偶校验存储单元的至少一个另外的失效存储单元而失败,获得所述至少一个另外的失效存储单元的数据部分的可靠性信息;以及使用从除了目标数据存储单元之外的存储单元获得的可靠性信息产生针对目标数据存储单元中的数据单元的经纠正的数据。
在示例2中,示例1的主题可以可选地包括:数据存储单元和奇偶校验存储单元每个包括形成固态驱动器的NAND管芯。
在示例3中,示例1和2的主题可以可选地包括:解码操作包括第一类型解码操作,并且其中操作进一步包括:在累积器中累积要使用的除了目标数据存储单元之外的存储单元的可靠性信息以产生经累积的可靠性信息;以及针对目标数据存储单元中的数据单元执行第二类型解码操作以产生可靠性信息;将来自累积器的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生经组合的可靠性信息;以及对经组合的可靠性信息解码以产生针对目标数据存储单元的经纠正的数据。
在示例4中,示例1-3的主题可以可选地包括:操作进一步包括:通过基于除了目标数据存储单元之外的存储单元的解码错误的数目的缩放因子对经累积的可靠性信息加权以产生被加权的经累积的可靠性信息,其中将被加权的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生经组合的可靠性信息。
在示例5中,示例1-4的主题可以可选地包括:被加权的经累积的可靠性信息包括第一被加权的经累积的可靠性信息并且其中经组合的可靠性信息包括第一经组合的可靠性信息,并且其中操作进一步包括:对第一经组合的可靠性信息解码以产生针对目标数据存储单元的被解码的数据;响应于被解码的数据没有成功解码,确定新的缩放因子;以及通过基于新的缩放因子对经累积的可靠性信息加权以产生第二被加权的经累积的可靠性信息,其中将第二被加权的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生第二经组合的可靠性信息。
在示例6中,示例1-5的主题可以可选地包括:累积可靠性信息包括将来自除了目标数据存储单元之外的存储单元中的每个的可靠性信息与所存储的先前累积的可靠性信息串行地组合,其中操作进一步包括:在每个串行迭代期间,存储将可靠性信息与先前累积的可靠性信息串行地组合的结果以用作所存储的先前累积的可靠性信息。
在示例7中,示例2-6的主题可以可选地包括:组合包括对来自除了目标数据存储单元之外的存储单元中的一个的可靠性信息和先前累积的可靠性信息应用软XOR操作。
在示例8中,示例2-7的主题可以可选地包括:可靠性信息包括对数似然比(LLR)值。
在示例9中,示例2-8的主题可以可选地包括:第一类型解码包括应用低密度奇偶校验(“LDPC”)解码以产生可靠性信息输出并且其中第二类型解码包括通过再运行LDPC解码部分数目的解码尝试以产生可靠性信息而执行的部分LDPC解码。
在示例10中,示例2-9的主题可以可选地包括:在解码操作因为所述至少一个另外的失效存储单元而失败时获得可靠性信息包括从被解码的存储单元读取可靠性信息。
示例11是一种用于针对包括多个数据存储单元中的一个的目标数据存储单元中的数据的错误恢复操作的方法,所述多个数据存储单元存储包括数据部分的码字,其中奇偶校验存储单元具有用于对数据存储单元中的数据部分纠错的XOR奇偶校验数据,所述方法包括:对包括除了目标数据存储单元之外的数据存储单元和奇偶校验存储单元的存储单元中的每个中的码字执行解码操作以产生可靠性信息;响应于解码操作因为包括未能解码的除了目标数据存储单元之外的数据和/或奇偶校验存储单元的至少一个另外的失效存储单元而失败,获得所述至少一个另外的失效存储单元的数据部分的可靠性信息;以及使用从除了目标数据存储单元之外的存储单元获得的可靠性信息产生针对目标数据存储单元中的数据单元的经纠正的数据。
在示例12中,示例11的主题可以可选地包括:解码操作包括第一类型解码操作,其进一步包括:在累积器中累积要使用的除了目标数据存储单元之外的存储单元的可靠性信息以产生经累积的可靠性信息;以及针对目标数据存储单元中的数据单元执行第二类型解码操作以产生可靠性信息;将来自累积器的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生经组合的可靠性信息;以及对经组合的可靠性信息解码以产生针对目标数据存储单元的经纠正的数据。
在示例13中,示例11-12的主题可以可选地包括:通过基于除了目标数据存储单元之外的存储单元的解码错误的数目的缩放因子对经累积的可靠性信息加权以产生被加权的经累积的可靠性信息,其中将被加权的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生经组合的可靠性信息。
在示例14中,示例11-13的主题可以可选地包括:被加权的经累积的可靠性信息包括第一被加权的经累积的可靠性信息并且其中经组合的可靠性信息包括第一经组合的可靠性信息,并且其中操作进一步包括:对第一经组合的可靠性信息解码以产生针对目标数据存储单元的被解码的数据;响应于被解码的数据没有成功解码,确定新的缩放因子;以及通过基于新的缩放因子对经累积的可靠性信息加权以产生第二被加权的经累积的可靠性信息,其中将第二被加权的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生第二经组合的可靠性信息。
在示例15中,示例11-14的主题可以可选地包括:累积可靠性信息包括将来自除了目标数据存储单元之外的存储单元中的每个的可靠性信息与所存储的先前累积的可靠性信息串行地组合,进一步包括:在每个串行迭代期间,存储将可靠性信息与先前累积的可靠性信息串行地组合的结果以用作所存储的先前累积的可靠性信息。
在示例16中,示例11-15的主题可以可选地包括:组合包括对来自除了目标数据存储单元之外的存储单元中的一个的可靠性信息和先前累积的可靠性信息应用软XOR操作。
在示例17中,示例11-16的主题可以可选地包括:第一类型解码包括应用低密度奇偶校验(“LDPC”)解码以产生可靠性信息输出,并且其中第二类型解码包括通过再运行LDPC解码部分数目的解码尝试以产生可靠性信息而执行的部分LDPC解码。
在示例18中,示例12-17的主题可以可选地包括:在解码操作因为所述至少一个另外的失效存储单元而失败时获得可靠性信息包括从被解码的存储单元读取可靠性信息。
示例19是一种系统,其包括:处理器;耦合到处理器的存储器;存储设备,其中数据在处理器、存储器和存储设备之间传送,所述存储设备包括:多个数据存储单元,每个存储包括数据部分的码字;奇偶校验存储单元,其存储具有用于对数据存储单元中的数据部分纠错的XOR奇偶校验数据;以及控制器,其耦合到存储单元以通过执行包括以下的操作对包括数据存储单元中的一个的目标数据存储单元中的数据执行错误恢复操作:对包括除了目标数据存储单元之外的数据存储单元和奇偶校验存储单元的存储单元中的每个中的码字执行解码操作以产生可靠性信息;响应于解码操作因为包括未能解码的除了目标数据存储单元之外的数据和/或奇偶校验存储单元的至少一个另外的失效存储单元而失败,获得所述至少一个另外的失效存储单元的数据部分的可靠性信息;以及使用从除了目标数据存储单元之外的存储单元获得的可靠性信息产生针对目标数据存储单元中的数据单元的经纠正的数据。
在示例20中,示例19的主题可以可选地包括:解码操作包括第一类型解码操作,并且其中操作进一步包括:在累积器中累积要使用的除了目标数据存储单元之外的存储单元的可靠性信息以产生经累积的可靠性信息;以及针对目标数据存储单元中的数据单元执行第二类型解码操作以产生可靠性信息;将来自累积器的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生经组合的可靠性信息;以及对经组合的可靠性信息解码以产生针对目标数据存储单元的经纠正的数据。
在示例21中,示例19-20的主题可以可选地包括操作进一步包括:通过基于除了目标数据存储单元之外的存储单元的解码错误的数目的缩放因子对经累积的可靠性信息加权以产生被加权的经累积的可靠性信息,其中将被加权的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生经组合的可靠性信息。
在示例22中,示例19-21的主题可以可选地包括:被加权的经累积的可靠性信息包括第一被加权的经累积的可靠性信息并且其中经组合的可靠性信息包括第一经组合的可靠性信息,并且其中操作进一步包括:对第一经组合的可靠性信息解码以产生针对目标数据存储单元的被解码的数据;响应于被解码的数据没有成功解码,确定新的缩放因子;以及通过基于新的缩放因子对经累积的可靠性信息加权以产生第二被加权的经累积的可靠性信息,其中将第二被加权的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生第二经组合的可靠性信息。
在示例23中,示例19-22的主题可以可选地包括:累积可靠性信息包括将来自除了目标数据存储单元之外的存储单元中的每个的可靠性信息与所存储的先前累积的可靠性信息串行地组合,其中操作进一步包括:在每个串行迭代期间,存储将可靠性信息与先前累积的可靠性信息串行地组合的结果以用作所存储的先前累积的可靠性信息。
在示例24中,示例19-23的主题可以可选地包括:组合包括对来自除了目标数据存储单元之外的存储单元中的一个的可靠性信息和先前累积的可靠性信息应用软XOR操作。
在示例25中,示例19-24的主题可以可选地包括:第一类型解码包括应用低密度奇偶校验(“LDPC”)解码以产生可靠性信息输出,并且其中第二类型解码包括通过再运行LDPC解码部分数目的解码尝试以产生可靠性信息而执行的部分LDPC解码。
示例26是一种用于针对包括多个数据存储单元中的一个的目标数据存储单元中的数据的错误恢复操作的装置,所述多个数据存储单元存储包括数据部分的码字,其中奇偶校验存储单元具有用于对数据存储单元中的数据部分纠错的XOR奇偶校验数据,所述装置包括:用于对包括除了目标数据存储单元之外的数据存储单元和奇偶校验存储单元的存储单元中的每个中的码字执行解码操作以产生可靠性信息的部件;用于响应于解码操作因为包括未能解码的除了目标数据存储单元之外的数据和/或奇偶校验存储单元的至少一个另外的失效存储单元而失败而获得所述至少一个另外的失效存储单元的数据部分的可靠性信息的部件;以及用于使用从除了目标数据存储单元之外的存储单元获得的可靠性信息产生针对目标数据存储单元中的数据单元的经纠正的数据的部件。
在示例27中,示例26的主题可以可选地包括:解码操作包括第一类型解码操作,其进一步包括:在累积器中累积要使用的除了目标数据存储单元之外的存储单元的可靠性信息以产生经累积的可靠性信息;以及针对目标数据存储单元中的数据单元执行第二类型解码操作以产生可靠性信息;将来自累积器的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生经组合的可靠性信息;以及对经组合的可靠性信息解码以产生针对目标数据存储单元的经纠正的数据。
在示例28中,示例26-27的主题可以可选地包括:通过基于除了目标数据存储单元之外的存储单元的解码错误的数目的缩放因子对经累积的可靠性信息加权以产生被加权的经累积的可靠性信息,其中将被加权的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生经组合的可靠性信息。
在示例29中,示例26-28的主题可以可选地包括:第一类型解码包括应用低密度奇偶校验(“LDPC”)解码以产生可靠性信息输出并且其中第二类型解码包括通过再运行LDPC解码部分数目的解码尝试以产生可靠性信息而执行的部分LDPC解码。
示例30是一种用于针对包括多个数据存储单元中的一个的目标数据存储单元中的数据的错误恢复操作的方法,所述多个数据存储单元存储包括数据部分的码字,其中奇偶校验存储单元具有用于对数据存储单元中的数据部分纠错的XOR奇偶校验数据,所述方法包括:对包括除了目标数据存储单元之外的数据存储单元和奇偶校验存储单元的存储单元中的每个中的码字执行解码操作以产生可靠性信息;响应于解码操作因为包括未能解码的除了目标数据存储单元之外的数据和/或奇偶校验存储单元的至少一个另外的失效存储单元而失败,获得所述至少一个另外的失效存储单元的数据部分的可靠性信息;以及使用从除了目标数据存储单元之外的存储单元获得的可靠性信息产生针对目标数据存储单元中的数据单元的经纠正的数据。
在示例31中,示例30的主题可以可选地包括以下中的至少一个步骤:(1)其中数据存储单元和奇偶校验存储单元每个包括形成固态驱动器的NAND管芯;(2)其中解码操作包括第一类型解码操作,并且其中操作进一步包括:在累积器中累积要使用的除了目标数据存储单元之外的存储单元的可靠性信息以产生经累积的可靠性信息;以及针对目标数据存储单元中的数据单元执行第二类型解码操作以产生可靠性信息;将来自累积器的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生经组合的可靠性信息;以及对经组合的可靠性信息解码以产生针对目标数据存储单元的经纠正的数据;(3)其中操作进一步包括:通过基于除了目标数据存储单元之外的存储单元的解码错误的数目的缩放因子对经累积的可靠性信息加权以产生被加权的经累积的可靠性信息,其中将被加权的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生经组合的可靠性信息;(4)其中被加权的经累积的可靠性信息包括第一被加权的经累积的可靠性信息并且其中经组合的可靠性信息包括第一经组合的可靠性信息,并且其中操作进一步包括:对第一经组合的可靠性信息解码以产生针对目标数据存储单元的被解码的数据;响应于被解码的数据没有成功解码,确定新的缩放因子;以及通过基于新的缩放因子对经累积的可靠性信息加权以产生第二被加权的经累积的可靠性信息,其中将第二被加权的经累积的可靠性信息与来自目标数据存储单元的可靠性信息组合以产生第二经组合的可靠性信息;(5)其中累积可靠性信息包括将来自除了目标数据存储单元之外的存储单元中的每个的可靠性信息与所存储的先前累积的可靠性信息串行地组合,其中操作进一步包括:在每个串行迭代期间,存储将可靠性信息与先前累积的可靠性信息串行地组合的结果以用作所存储的先前累积的可靠性信息;(6)其中组合包括对来自除了目标数据存储单元之外的存储单元中的一个的可靠性信息和先前累积的可靠性信息应用软XOR操作;(7)其中可靠性信息包括对数似然比(LLR)值;(8)其中第一类型解码包括应用低密度奇偶校验(“LDPC”)解码以产生可靠性信息输出,并且其中第二类型解码包括通过再运行LDPC解码部分数目的解码尝试以产生可靠性信息而执行的部分LDPC解码;以及(9)其中在解码操作因为所述至少一个另外的失效存储单元而失败时获得可靠性信息包括从被解码的存储单元读取可靠性信息。
示例32是一种装置,其包括用以执行如在任何前述方法权利要求中要求保护的方法的部件。
示例33是一种机器可读储存器,其包括机器可读指令,所述机器可读指令在被执行时实施方法或实现如在示例1-32中的任一个中描述的装置或系统。

Claims (28)

1.一种装置,包括:
多个数据存储单元,用以分离地存储包括数据部分的码字;
奇偶校验存储单元,用以存储奇偶校验码字,所述奇偶校验码字包括用于数据存储单元中的数据部分的纠错的XOR奇偶校验数据;以及
控制器,其与数据存储单元和奇偶校验存储单元耦合以对目标数据存储单元的数据部分执行错误恢复操作,目标数据存储单元来自数据存储单元中的一个当中,控制器包括逻辑,所述逻辑将:
经由第一类型解码操作对在除了目标数据存储单元之外的数据存储单元处分离地存储的码字进行解码并且经由第一类型解码操作对奇偶校验存储单元处存储的奇偶校验码字进行解码以产生第一可靠性信息;
响应于第一类型解码操作因为来自除了目标数据存储单元之外的数据存储单元当中的至少一个失效数据存储单元中的至少一个分离地存储的码字而失败,获得针对失效存储单元的数据部分的第二可靠性信息;
累积第一可靠性信息和第二可靠性信息以产生经累积的可靠性信息;
经由第二类型解码操作对目标数据存储单元的码字进行解码以产生第三可靠性信息;
将经累积的可靠性信息与第三可靠性信息组合以产生经组合的可靠性信息;以及
经由第三类型解码操作对经组合的可靠性信息进行解码以产生经纠正的数据来恢复目标数据存储单元的数据部分。
2.权利要求1的装置,数据存储单元和奇偶校验存储单元中的每个包括在固态驱动器中包括的NAND管芯。
3.权利要求1的装置,第一类型解码操作包括低密度奇偶校验(“LDPC”)解码以产生第一可靠性信息,并且第二类型解码操作包括再运行LDPC解码部分数目的解码尝试的部分LDPC解码以产生第二可靠性信息。
4.权利要求3的装置,第三类型的解码操作包括对经组合的可靠性信息的LDPC软判决解码以产生经纠正的数据。
5.权利要求1的装置,第一可靠性信息包括对数似然比(LLR)值。
6.权利要求1的装置,包括逻辑将:
通过基于除了目标数据存储单元之外的数据存储单元的解码错误的数目的缩放因子对经累积的可靠性信息加权以产生被加权的经累积的可靠性信息,将被加权的经累积的可靠性信息与第一可靠性信息组合以产生经组合的可靠性信息。
7.权利要求6的装置,被加权的经累积的可靠性信息包括第一被加权的经累积的可靠性信息,经组合的可靠性信息包括第一经组合的可靠性信息,并且逻辑将:
经由第三类型解码操作对第一经组合的可靠性信息进行解码以产生针对目标数据存储单元的被解码的数据;
响应于被解码的数据没有成功解码,确定新的缩放因子;以及
通过新的缩放因子对经累积的可靠性信息加权以产生第二被加权的经累积的可靠性信息,将第二被加权的经累积的可靠性信息与第一可靠性信息组合以产生第二经组合的可靠性信息。
8.权利要求1的装置,累积第一可靠性信息和第二可靠性信息包括逻辑将使从所述至少一个失效数据存储单元分离地获得的第二可靠性信息与所存储的先前累积的可靠性信息串行地组合,逻辑进一步将:
在每个串行迭代期间,存储串行地组合从至少一个失效存储单元分离地获得的第二可靠性信息与所存储的先前累积的可靠性信息的结果,所述结果将包括所存储的先前累积的可靠性信息。
9.权利要求1的装置,逻辑将将经累积的可靠性信息与第三可靠性信息组合包括逻辑将对第一可靠性信息和经累积的可靠性信息应用软XOR操作以产生经组合的可靠性信息。
10.权利要求1的装置,数据存储单元和奇偶校验存储单元中的每个包括在固态驱动器中包括的非易失性存储器管芯,其中非易失性存储管芯包括NAND闪速存储器、铁电随机存取存储器(Fe-TRAM)、结合相变存储器的三维交叉点存储器、磁阻随机存取存储器(MRAM)或自旋转移扭矩MRAM(STT-MRAM)。
11.一种方法,包括:
经由错误恢复操作对来自多个数据存储单元当中的目标数据存储单元中的数据进行恢复,数据存储单元分离地存储包括数据部分的码字,并且使得奇偶校验存储单元存储奇偶校验码字,所述奇偶校验码字包括用于数据存储单元中的数据部分的纠错的XOR奇偶校验数据,错误恢复操作包括:
经由第一类型解码操作对在除了目标数据存储单元之外的数据存储单元处分离地存储的码字进行解码并且经由第一类型的解码操作对奇偶校验存储单元处存储的奇偶校验码字进行解码以产生第一可靠性信息;
响应于第一类型解码操作因为来自除了目标数据存储单元之外的数据存储单元当中的至少一个失效数据存储单元中的至少一个分离地存储的码字而失败,获得针对失效存储单元的数据部分的第二可靠性信息;
累积第一可靠性信息和第二可靠性信息以产生经累积的可靠性信息;
经由第二类型解码操作对目标数据存储单元的码字进行解码以产生第三可靠性信息;
将经累积的可靠性信息与第三可靠性信息组合以产生经组合的可靠性信息;以及
经由第三类型解码操作对经组合的可靠性信息进行解码以产生经纠正的数据来恢复目标数据存储单元中的数据。
12.权利要求11的方法,第一类型解码操作包括低密度奇偶校验(“LDPC”)解码以产生第一可靠性信息,并且第二类型解码操作包括再运行LDPC解码部分数目的解码尝试的部分LDPC解码以产生第二可靠性信息。
13.权利要求12的方法,第三类型的解码操作包括对经组合的可靠性信息的LDPC软判决解码以产生经纠正的数据。
14.权利要求11的方法,第一可靠性信息包括对数似然比(LLR)值。
15.权利要求11的方法,包括:
通过基于除了目标数据存储单元之外的数据存储单元的解码错误的数目的缩放因子对经累积的可靠性信息加权以产生被加权的经累积的可靠性信息,将被加权的经累积的可靠性信息与第一可靠性信息组合以产生经组合的可靠性信息。
16.权利要求15的方法,被加权的经累积的可靠性信息包括第一被加权的经累积的可靠性信息,经组合的可靠性信息包括第一经组合的可靠性信息,方法进一步包括:
经由第三类型解码操作对第一经组合的可靠性信息进行解码以产生针对目标数据存储单元的被解码的数据;
响应于被解码的数据没有成功解码,确定新的缩放因子;以及
通过新的缩放因子对经累积的可靠性信息加权以产生第二被加权的经累积的可靠性信息,将第二被加权的经累积的可靠性信息与第一可靠性信息组合以产生第二经组合的可靠性信息。
17.权利要求11的方法,累积第一可靠性信息和第二可靠性信息包括:
将从所述至少一个失效数据存储单元分离地获得的第二可靠性信息与所存储的先前累积的可靠性信息组合;以及
在每个串行迭代期间,存储将从至少一个失效存储单元分离地获得的第二可靠性信息与所存储的先前累积的可靠性信息串行地组合的结果,所述结果将包括所存储的先前累积的可靠性信息。
18.权利要求11的方法,将经累积的可靠性信息与第三可靠性信息组合包括:
对第一可靠性信息和经累积的可靠性信息应用软XOR操作以产生经组合的可靠性信息。
19.一种系统,包括:
处理器;
与处理器耦合的存储设备,存储设备要包括:
多个数据存储单元,用以分离地存储包括数据部分的码字;
奇偶校验存储单元,用以存储奇偶校验码字,所述奇偶校验码字包括用于数据存储单元中的数据部分的纠错的XOR奇偶校验数据;以及
控制器,其与数据存储单元和奇偶校验存储单元耦合以对目标数据存储单元的数据部分执行错误恢复操作,目标数据存储单元来自数据存储单元中的一个当中,控制器包括逻辑,所述逻辑将:
经由第一类型解码操作对在除了目标数据存储单元之外的数据存储单元处分离地存储的码字进行解码并且经由第一类型解码操作对奇偶校验存储单元处存储的奇偶校验码字进行解码以产生第一可靠性信息;
响应于第一类型解码操作因为来自除了目标数据存储单元之外的数据存储单元当中的至少一个失效数据存储单元中的至少一个分离地存储的码字而失败,获得针对失效存储单元的数据部分的第二可靠性信息;
累积第一可靠性信息和第二可靠性信息以产生经累积的可靠性信息;
经由第二类型解码操作对目标数据存储单元的码字进行解码以产生第三可靠性信息;
将经累积的可靠性信息与第三可靠性信息组合以产生经组合的可靠性信息;以及
经由第三类型解码操作对经组合的可靠性信息进行解码以产生经纠正的数据来恢复目标数据存储单元的数据部分。
20.权利要求19的系统,第一类型解码操作包括低密度奇偶校验(“LDPC”)解码以产生第一可靠性信息,并且第二类型解码操作包括再运行LDPC解码部分数目的解码尝试的部分LDPC解码以产生第二可靠性信息。
21.权利要求19的系统,第三类型的解码操作包括对经组合的可靠性信息的LDPC软判决解码以产生经纠正的数据。
22.权利要求19的系统,第一可靠性信息包括对数似然比(LLR)值。
23.权利要求19的系统,包括逻辑将:
通过基于除了目标数据存储单元之外的数据存储单元的解码错误的数目的缩放因子对经累积的可靠性信息加权以产生被加权的经累积的可靠性信息,将被加权的经累积的可靠性信息与第一可靠性信息组合以产生经组合的可靠性信息。
24.权利要求23的系统,被加权的经累积的可靠性信息包括第一被加权的经累积的可靠性信息,经组合的可靠性信息包括第一经组合的可靠性信息,并且逻辑将:
经由第三类型解码操作对第一经组合的可靠性信息进行解码以产生针对目标数据存储单元的被解码的数据;
响应于被解码的数据没有成功解码,确定新的缩放因子;以及
通过新的缩放因子对经累积的可靠性信息加权以产生第二被加权的经累积的可靠性信息,将第二被加权的经累积的可靠性信息与第一可靠性信息组合以产生第二经组合的可靠性信息。
25.权利要求19的系统,累积第一可靠性信息和第二可靠性信息包括逻辑将使从所述至少一个失效数据存储单元分离地获得的第二可靠性信息与所存储的先前累积的可靠性信息串行地组合,逻辑进一步将:
在每个串行迭代期间,存储串行地组合从至少一个失效存储单元分离地获得的第二可靠性信息与所存储的先前累积的可靠性信息的结果,所述结果将包括所存储的先前累积的可靠性信息。
26.权利要求19的系统,逻辑将使经累积的可靠性信息与第三可靠性信息组合包括逻辑将对第一可靠性信息和经累积的可靠性信息应用软XOR操作以产生经组合的可靠性信息。
27.权利要求19的系统,数据存储单元和奇偶校验存储单元中的每个包括在固态驱动器中包括的非易失性存储器管芯,其中非易失性存储管芯包括NAND闪速存储器、铁电随机存取存储器(Fe-TRAM)、结合相变存储器的三维交叉点存储器、磁阻随机存取存储器(MRAM)或自旋转移扭矩MRAM(STT-MRAM)。
28.权利要求19的系统,包括与处理器耦合的网络接口。
CN201810022790.1A 2014-09-26 2015-08-25 使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据 Active CN108053862B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/499078 2014-09-26
US14/499,078 US9588841B2 (en) 2014-09-26 2014-09-26 Using reliability information from multiple storage units and a parity storage unit to recover data for a failed one of the storage units
CN201580045594.0A CN106575516B (zh) 2014-09-26 2015-08-25 使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580045594.0A Division CN106575516B (zh) 2014-09-26 2015-08-25 使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据

Publications (2)

Publication Number Publication Date
CN108053862A true CN108053862A (zh) 2018-05-18
CN108053862B CN108053862B (zh) 2021-08-06

Family

ID=55581755

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580045594.0A Active CN106575516B (zh) 2014-09-26 2015-08-25 使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据
CN201810022790.1A Active CN108053862B (zh) 2014-09-26 2015-08-25 使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201580045594.0A Active CN106575516B (zh) 2014-09-26 2015-08-25 使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据

Country Status (5)

Country Link
US (2) US9588841B2 (zh)
KR (1) KR102238562B1 (zh)
CN (2) CN106575516B (zh)
TW (1) TWI563380B (zh)
WO (1) WO2016048533A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928722A (zh) * 2018-09-19 2020-03-27 爱思开海力士有限公司 存储器系统以及存储器系统的操作方法
CN111538621A (zh) * 2018-12-31 2020-08-14 爱思开海力士有限公司 针对位线故障的软芯片猎杀恢复

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9059742B1 (en) * 2013-03-15 2015-06-16 Western Digital Technologies, Inc. System and method for dynamic scaling of LDPC decoder in a solid state drive
US20160021515A1 (en) * 2014-07-18 2016-01-21 Samsung Electro-Mechanics Co., Ltd. Electronic shelf label gateway, electronic shelf label system and communications method thereof
US9588841B2 (en) * 2014-09-26 2017-03-07 Intel Corporation Using reliability information from multiple storage units and a parity storage unit to recover data for a failed one of the storage units
CN108108267B (zh) * 2016-11-25 2021-06-22 北京国双科技有限公司 数据的恢复方法和装置
US10379952B2 (en) * 2017-06-16 2019-08-13 Western Digital Technologies, Inc. Data recovery and regeneration using parity code
US10691540B2 (en) * 2017-11-21 2020-06-23 SK Hynix Inc. Soft chip-kill recovery for multiple wordlines failure
US10417089B2 (en) * 2018-02-13 2019-09-17 Western Digital Technologies, Inc. Data storage device extending erasures for LDPC-type decoding
JP7066581B2 (ja) * 2018-09-10 2022-05-13 キオクシア株式会社 メモリシステム
KR102599047B1 (ko) 2018-11-13 2023-11-06 삼성전자주식회사 데이터 신뢰성을 향상한 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작방법
US11159175B2 (en) * 2019-06-21 2021-10-26 Intel Corporation Non-uniform iteration-dependent min-sum scaling factors for improved performance of spatially-coupled LDPC codes
TWI717171B (zh) * 2019-12-26 2021-01-21 大陸商深圳大心電子科技有限公司 資料讀取方法、儲存控制器與儲存裝置
US11269645B2 (en) 2020-03-11 2022-03-08 Western Digital Technologies, Inc. Storage system and method for implementing an encoder, decoder, and/or buffer using a field programmable gate array
US11294598B2 (en) 2020-04-24 2022-04-05 Western Digital Technologies, Inc. Storage devices having minimum write sizes of data
US11537510B2 (en) * 2020-04-24 2022-12-27 Western Digital Technologies, Inc. Storage devices having minimum write sizes of data
KR20220007206A (ko) 2020-07-10 2022-01-18 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
US11537466B2 (en) * 2021-04-27 2022-12-27 Western Digital Technologies, Inc. Detection of data discrepancy after XOR recovery
EP4329202A1 (en) 2021-05-25 2024-02-28 Samsung Electronics Co., Ltd. Neural network-based self-correcting min-sum decoder and electronic device comprising same
KR20220159071A (ko) * 2021-05-25 2022-12-02 삼성전자주식회사 신경망 자기 정정 최소합 복호기 및 이를 포함하는 전자 장치
JP2023137690A (ja) * 2022-03-18 2023-09-29 キオクシア株式会社 メモリシステム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244338A1 (en) * 2007-03-31 2008-10-02 Nima Mokhlesi Soft bit data transmission for error correction control in non-volatile memory
CN102124527A (zh) * 2008-05-16 2011-07-13 弗森-艾奥公司 用于检测和替代失效的数据存储器的装置、系统和方法
US20120036395A1 (en) * 2010-08-06 2012-02-09 Stmicroelectronics, Inc Detecting data-write errors
US20120159285A1 (en) * 2010-12-17 2012-06-21 Motwani Ravi H Storage drive with ldpc coding
CN103187104A (zh) * 2013-03-19 2013-07-03 西安华芯半导体有限公司 存储器的纠错方法
CN103354101A (zh) * 2013-05-31 2013-10-16 上海华力创通半导体有限公司 一种用于快闪存储器纠错的ldpc码解码装置
US20130318395A1 (en) * 2012-03-28 2013-11-28 Pranav Kalavade Reconstructing codewords using a side channel
US20140143633A1 (en) * 2012-11-20 2014-05-22 Arm Limited Apparatus and method for correcting errors in data accessed from a memory device
CN103988182A (zh) * 2011-12-16 2014-08-13 英特尔公司 使用奇偶校验和冗余行的动态错误处理

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239734B1 (en) * 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US20120240007A1 (en) * 2010-10-20 2012-09-20 Stec, Inc. Ldpc decoding for solid state storage devices
KR20120095221A (ko) * 2011-02-18 2012-08-28 삼성전자주식회사 메모리 소자 및 메모리 컨트롤 유닛
US8612834B2 (en) * 2011-03-08 2013-12-17 Intel Corporation Apparatus, system, and method for decoding linear block codes in a memory controller
US9318166B2 (en) * 2011-07-22 2016-04-19 SanDisk Technologies, Inc. Systems and methods of storing data
WO2013095392A1 (en) 2011-12-20 2013-06-27 Intel Corporation Systems and method for unblocking a pipeline with spontaneous load deferral and conversion to prefetch
US9298552B2 (en) * 2013-09-27 2016-03-29 Intel Corporation Using read values from previous decoding operations to calculate soft bit information in an error recovery operation
US9588841B2 (en) * 2014-09-26 2017-03-07 Intel Corporation Using reliability information from multiple storage units and a parity storage unit to recover data for a failed one of the storage units

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244338A1 (en) * 2007-03-31 2008-10-02 Nima Mokhlesi Soft bit data transmission for error correction control in non-volatile memory
CN102124527A (zh) * 2008-05-16 2011-07-13 弗森-艾奥公司 用于检测和替代失效的数据存储器的装置、系统和方法
US20120036395A1 (en) * 2010-08-06 2012-02-09 Stmicroelectronics, Inc Detecting data-write errors
US20120159285A1 (en) * 2010-12-17 2012-06-21 Motwani Ravi H Storage drive with ldpc coding
CN103988182A (zh) * 2011-12-16 2014-08-13 英特尔公司 使用奇偶校验和冗余行的动态错误处理
US20130318395A1 (en) * 2012-03-28 2013-11-28 Pranav Kalavade Reconstructing codewords using a side channel
US20140143633A1 (en) * 2012-11-20 2014-05-22 Arm Limited Apparatus and method for correcting errors in data accessed from a memory device
CN103187104A (zh) * 2013-03-19 2013-07-03 西安华芯半导体有限公司 存储器的纠错方法
CN103354101A (zh) * 2013-05-31 2013-10-16 上海华力创通半导体有限公司 一种用于快闪存储器纠错的ldpc码解码装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928722A (zh) * 2018-09-19 2020-03-27 爱思开海力士有限公司 存储器系统以及存储器系统的操作方法
CN111538621A (zh) * 2018-12-31 2020-08-14 爱思开海力士有限公司 针对位线故障的软芯片猎杀恢复
CN111538621B (zh) * 2018-12-31 2023-04-07 爱思开海力士有限公司 针对位线故障的软芯片猎杀恢复

Also Published As

Publication number Publication date
US10176042B2 (en) 2019-01-08
KR20170036074A (ko) 2017-03-31
US20170300380A1 (en) 2017-10-19
CN106575516B (zh) 2019-04-09
KR102238562B1 (ko) 2021-04-09
US9588841B2 (en) 2017-03-07
WO2016048533A1 (en) 2016-03-31
US20160092300A1 (en) 2016-03-31
TWI563380B (en) 2016-12-21
TW201626224A (zh) 2016-07-16
CN108053862B (zh) 2021-08-06
CN106575516A (zh) 2017-04-19

Similar Documents

Publication Publication Date Title
CN106575516B (zh) 使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据
US10218789B2 (en) Erasure correcting coding using temporary erasure data
US9977713B2 (en) LDPC decoder, semiconductor memory system and operating method thereof
TWI674767B (zh) 用於nand快閃記憶體的渦輪乘積碼
CN106997777B (zh) 具有改进的硬解码吞吐量的vss ldpc解码器
CN104937555B (zh) 用于控制存储器装置的方法和控制器及存储器系统
US10445175B2 (en) Controller and operating method thereof
CN111092619B (zh) Ldpc解码器、半导体存储器系统及其操作方法
CN110415753B (zh) 错误校正电路及操作该错误校正电路的方法
US11139832B1 (en) LDPC decoder and operating method thereof
KR20160113001A (ko) Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
US20180062668A1 (en) Controller, semiconductor memory system and operating method thereof
US20180048329A1 (en) Memory controller, semiconductor memory system and operating method thereof
CN110853690B (zh) 解码器、解码器的操作方法和包括该解码器的存储器系统
CN105164646A (zh) 具有早期解码终止检测的解码器
US20170161141A1 (en) Method and apparatus for correcting data in multiple ecc blocks of raid memory
CN106708649B (zh) 解码方法、存储器储存装置及存储器控制电路单元
US11062758B2 (en) Memory system to process multiple word line failures with limited storage and method of operating such memory system
CN105915234A (zh) 避免对涡轮乘积码误校正的方案
KR20170067656A (ko) Nand 플래시용 터보 프로덕트 코드
CN116954984A (zh) Crc终止时的准确ber报告

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant