CN104247273A - 使用边信道重构码字 - Google Patents
使用边信道重构码字 Download PDFInfo
- Publication number
- CN104247273A CN104247273A CN201280071971.4A CN201280071971A CN104247273A CN 104247273 A CN104247273 A CN 104247273A CN 201280071971 A CN201280071971 A CN 201280071971A CN 104247273 A CN104247273 A CN 104247273A
- Authority
- CN
- China
- Prior art keywords
- tube core
- channel
- individual
- failed
- iterative decoding
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2906—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2906—Coding, 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
- H03M13/2927—Decoding strategies
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)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本公开的实施例描述用于使用边信道将码字解码的装置、方法、计算机可读介质和系统配置。在各种实施例中,存储器控制器可配置成确定非易失性存储器(“NVM”)的n个管芯中m个管芯进行迭代解码已失败。在各种实施例中,存储器控制器可还配置成从n-m个未失败的管芯和m个失败的管芯(不包括第一失败的管芯)生成边信道。在各种实施例中,存储器控制器可还配置成使用迭代解码,基于生成的边信道和基于将第一失败的管芯上存储的数据迭代解码的尝试的软输入,重构在m个失败的管芯的第一失败的管芯上存储的码字。在各种实施例中,迭代解码可包括低密度奇偶校验解码。也可描述和/或要求保护其它实施例。
Description
技术领域
本公开的实施例一般涉及数据处理领域,并且更具体地说,涉及使用边信道重构码字。
背景技术
本文中提供的背景描述是为了概括介绍本公开的上下文。当前有名的发明者的工作(就其在本背景部分中描述而言)及在提交之时不可以其它方式视为现有技术的描述的方面,均未被明确或隐含承认为相对于本公开的现有技术。除非本文中另有指示,否则,此部分中描述的方案不是本公开的权利要求的现有技术,并且未由于包含在本部分中而被承认是现有技术。
非易失性存储器(“NVM”)的存储器控制器可使用多种数据编码/解码技术处理误比特和恢复数据。例如,数据可编码为一个或更多个码字,例如,编码为低密度奇偶校验(“LDPC”)码字。存储器控制器可包括配置成将LDPC码字解码的迭代LDPC解码器。
诸如LDPC编码的码字等一些类型的码字可包括原消息和相关联奇偶数据。非二进制迭代解码器(例如,LDPC解码器)可在解码期间多次处理码字。符号和软信息(例如,符号正确的相关联概率)可在变量的节点与对应于在变量节点之间关系的校验节点之间传递。每个迭代可使码字更接近原消息。
NVM可包括诸如多个管芯等多个物理组件。如果单个管芯失败,则可能可使用来自其它未失败的管芯的数据重构来自失败的管芯的数据。然而,在多个管芯上重构数据更不可能成功。
附图说明
结合附图,通过下面的详细描述,将容易理解实施例。为有助于此描述,类似的标号指示类型的结构元素。在附图的图形中,实施例以示例方式而不是限制方式示出。
图1以示意图方式示出根据各种实施例的示例固态驱动器。
图2以示意图方式示出根据各种实施例,与多个管芯相关联的各种类型的数据可如何输入迭代解码器。
图3-7以示意图方式示出根据各种实施例,与将多个管芯上存储的数据迭代解码的尝试相关联的各种类型的数据可如何输入迭代解码器的各种示例。
图8以示意图方式示出根据各种实施例的示例方法。
图9以示意图方式示出根据各种实施例的示例计算装置。
具体实施方式
在下面的详细描述中,参照了形成本文一部分的附图,并且图中类似的标号在所有图形中指示类似的部分,通过示图方式示出了可实践的实施例。要理解的是,在不脱离本公开内容的范围的情况下可利用其它实施例,并且可进行结构或逻辑更改。因此,下面的详细描述不可从限制的意义理解,并且实施例的范围只由随附权利要求及其等效物定义。
各种操作可又以对理解所述主题最有帮助的方式描述为多个离散动作或操作。然而,描述的顺序不应理解为暗示这些操作一定与顺序相关。具体而言,可不以介绍的顺序执行这些操作。所述操作可以与所述实施例不同的顺序执行。可执行各种另外的操作,和/或可在另外的实施例中忽略所述操作。
为便于理解本公开内容,短语“A和/或B”表示(A)、(B)或(A和B)。为便于理解本公开内容,短语“A、B和C”表示(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。
描述可使用短语“在一实施例中”或“在实施例中”,这均可指一个或多个相同或不同的实施例。此外,如相对于本公开内容的实施例使用的术语“包括”、“具有”及诸如此类同义。
在本文中使用时,术语“模块”可指以下所述、以下所述的一部分或包括以下所述:专用集成电路(“ASIC”)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或群组)和/或存储器(共享、专用或群组)、组合逻辑电路和/或提供所需功能性的其它适合组件。在本文中使用时,术语“计算机实现的方法”可指由一个或多个处理器、具有一个或多个处理器的计算机系统、诸如智能电话(或包括一个或多个处理器)、平板电脑、膝上型计算机、机顶盒、游戏控制台等执行的任何方法。
现在参照图1,此处示为固态驱动器(“SSD”)形式的示例存储装置10可包括操作耦合到非易失性存储器(“NVM”)14的存储器控制器12。在各种实施例中,存储器控制器12可使用硬件(例如,数字电路)实现。在一些实施例中,NVM 14可以是NAND闪速存储器。在各种实施例中,NVM 14可以是其它类型的NVM,如铁电随机存取存储器(“FeTRAM”)、基于纳米线的NVM、相变存储器(“PCM”)、带开关的PCM(“PCMS”)等等。在各种实施例中,存储器装置10可以是其它类型的存储装置,如硬盘驱动器(“HDD”)。NVM 14可包括各种数量的管芯16。在图1的示例中,NVM 14包括n个管芯16,DIE 0-DIE n。在此示例中,第n个管芯是XOR管芯。
在各种实施例中,存储器控制器12可包括读/写逻辑18和迭代解码器20。读/写逻辑18可配置成从NVM 14读取数据和将数据写入NVM 14。如下面将讨论的一样,数据可例如由读/写逻辑18以各种方式从NVM 14读取,包括所谓的“硬读取”和“软读取”。除其它之外,迭代解码器20还可配置成将n个管芯16上的码字解码。在各种实施例中,迭代解码器20可以是LDPC解码器,如非二进制LDPC解码器。
在各种实施例中,存储器装置10可配置成耦合到主机计算装置(未示出),如各种计算和/或消费者电子装置/家电,包括但不限于台式、膝上型或平板计算机。为此,接口22可包括用于将存储器装置10耦合到主机计算装置的任何适合接口,诸如但不限于串行高级技术附连(“SATA”)接口、串行附连SCSI(“SAS”)接口、通用串行总线(“USB”)接口、外设控制接口(“PCI”)或其它适合的装置接口。在各种实施例中,接口22可将存储器装置10操作耦合到总线24,总线24又可操作耦合到主机计算装置的其它组件(未示出)。在各种实施例中,总线24可以是SATA总线。
在从多个管芯16读取数据时,例如通过图1中的迭代解码器20可将在每个管芯16上存储的码字解码。如果将一个管芯16上存储的数据迭代解码的尝试失败,但将在剩余管芯上存储的数据迭代解码的尝试成功,则在许多情况下,可简单地对来自未失败的管芯16的未解码的码字进行XOR操作以重构失败的管芯16上的码字。然而,如果不止一个管芯16失败,则不可能单独使用未失败的管芯16的XOR结果重构在失败的管芯16上存储的数据。
相应地,在各种实施例中并且如图2所示,在确定n个管芯中m个管芯已失败后(m是大于1的整数),迭代解码器(例如,20)可配置成重构在第一失败的管芯16(例如,图2中的管芯0)上存储的码字。这可通过使用将第一管芯(管芯0)上存储的数据迭代解码的不成功尝试的软输入和从n-m个未失败的管芯和m个失败的管芯(不包括管芯0)生成的边信道来进行。在各种实施例中,如图2所示,相同迭代解码器20可用于重构失败的管芯上的码字,如最初用于将所有管芯16上的码字解码的尝试一样。在其它实施例中,可以有执行这些单独操作的单独迭代解码器。
“硬信息”可指比特或比特群组的一个或更多个值。“软信息”可指与比特或比特群组相关联的硬信息正确的概率(例如,置信度)。在各种实施例中,软信息可以对数形式表述。对于单独的比特,软信息可表述为对数似然比或“LLR”。对于多个比特,软信息可表述为对数密度比或“LDR”。
“边信道”可包括多种信息。如图2所示,在各种实施例中,边信道可通过逐比特对与将各种管芯上存储的数据迭代解码以生成边信道码字的尝试相关联的比特进行XOR操作而生成。一旦边信道码字已生成,它便可和与将在考虑的失败的管芯(例如,管芯0)上存储的数据迭代解码的尝试相关联的软输入一起输入迭代解码器,如图2中的此类LDPC解码器20。
在各种实施例中,可通过使用以下一项或更多项的XOR结果来生成边信道:将n-m个未失败的管芯上存储的数据迭代解码的一次或更多次成功尝试的硬输出、将n-m个未失败的管芯上存储的数据迭代解码的一次或更多次成功尝试的软输出、将m个失败的管芯(不包括第一失败的管芯)上存储的数据迭代解码的一次或更多次未成功尝试的硬输出和/或将m个失败的管芯(不包括第一失败的管芯)上存储的数据迭代解码的一次或更多次未成功尝试的软输出。
“软输出”可指从将管芯上存储的数据迭代(例如,LDPC)解码的尝试输出的软信息。例如,诸如LDPC解码器20等迭代解码器可输出一系列的LLR。每个LLR可表示特定比特为0或1的可能性或置信度,并且LLR的正负号可表示实际比特值(0或1)。在各种实施例中,如果LLR的正负号为负号,则对应比特保持为1,并且如果LLR的正负号为正号,则对应比特保持为0。
“硬输出”可指从来自迭代(例如,LDPC)解码数据的尝试的软输出确定的硬信息。在各种实施例中,将在失败的管芯上存储的数据迭代解码的不成功尝试的硬输出可具有比例如由于将码字的LDCP解码尝试的原因而来自失败的管芯的相关联原误比特率(“RBER”)更低的RBER。
图3-7示出与将管芯上存储的数据迭代解码的尝试相关联的各种数据可如何用于生成边信道的示例。在每个示例中,假设将在包括管芯0和管芯2的n个管芯中m个管芯上存储的数据迭代解码(例如,使用LDPC)的尝试已失败。也假设在每个示例中,管芯0是在考虑的管芯,例如,在为其重构数据的管芯。
示为X26的框(例如,图3中的326、图4中的426等)表示将在特定管芯上存储的数据迭代解码的尝试。管芯未示出但将在左侧。将管芯迭代解码的尝试X26的输入示为从左侧引入框X26的箭头。输出示为从框X26引入右侧的箭头。
在使用本文中所述技术前,在各种实施例中,迭代解码器(例如,图3-7中的LDPC解码器X20)可先尝试使用“硬输入”将在每个管芯上的码字解码。“硬输入”可指从管芯“硬读取”的数据,这意味着单个读取参考电压应用到管芯的每个单元(例如,NAND单元)。结果是“硬信息”;例如,SLC单元保持0或1,没有关于值正确的概率的信息。
如果使用硬输入将管芯上存储的数据迭代解码的尝试X26不成功,则在各种实施例中,迭代解码器(例如,图3-7中的LDPC解码器X20)可随后尝试先使用“软输入”将每个管芯上的码字解码。“软输入”可指从管芯“软读取”的数据,这意味着多个读取参考电压应用到管芯的每个单元。结果是“软信息”;例如,在单元中存储的值和那些值正确的概率(例如,“置信度”)。由于另外的读取参考电压的原因,软输入或读取可比硬输入或读取占用更长时间。
如果使用硬或软输入将管芯的数据迭代解码的任一尝试均成功,并且假设循环冗余校验(“CRC”)正确,则可认为将管芯解码的成功尝试的软或硬输出是正确的。如下面将描述的一样,此“正确的”硬/软输出可与其它数据一起用于生成边信道以便重构在失败的管芯上的数据。在图3-7中,在将管芯上的数据迭代解码的尝试X26成功的情况下,从左侧进入框X26的输入箭头指“硬/软输入”,这是因为只要迭代解码尝试成功,使用哪种类型的输入可无关紧要。
在图3中,使用来自将在n-m个未失败的管芯上存储的数据迭代解码的成功尝试326的硬输出来生成边信道。还使用将m个失败的管芯(不包括第一管芯)上存储的数据迭代解码的不成功尝试326的硬输入来生成边信道。例如,如果在管芯上的码字的LDPC解码成功,并且管芯的CRC也通过,则可将从LDPC解码输出的比特用作用于XOR的输入。
然而,在图3中,如果LDPC解码尝试或CRC失败,则转而将用于该管芯的LDPC解码尝试的硬输入用作用于XOR的输入。图3中显示了此操作的示例,其中,管芯2的LDPC解码尝试326失败,并且转而使用该LDPC解码的硬输入。因此,图3中的边信道包括将n-m个未失败的管芯上存储的数据迭代解码的成功尝试的硬输出和将m个失败的管芯(不包括第一管芯)上存储的数据迭代解码的不成功尝试的硬输入的XOR结果。在各种实施例中,可不使用硬输入,而是转而可使用将失败的管芯(不包括第一失败的管芯)上的数据迭代解码的不成功尝试的软输入。
在各种实施例中,边信道也可具有有效的RBER。在各种实施例中,可基于n-m个未失败的管芯326和/或m个失败的管芯每个的输出RBER,计算边信道的有效RBER。在各种实施例中,可将边信道和其有效RBER及将在第一失败的管芯326(例如,管芯0)上存储的数据迭代解码的不成功尝试的软输入用作用于LDPC解码器320的输入。
除使用将在n-m个未失败的管芯上存储的数据迭代解码的成功尝试426的软输出而不是硬输出来生成边信道外,图4的示例类似于图3的示例。图4中的边信道是此软输出和将m个失败的管芯(不包括第一失败的管芯(例如管芯2))上存储的数据迭代解码的不成功尝试的硬输入的XOR结果。
在图5中,将包括m个失败的管芯(例如,管芯2)的所有管芯(不包括第一失败的管芯(管芯0))上存储的数据迭代解码的成功和不成功尝试526的硬输出用于生成边信道。甚至将管芯上存储的数据迭代解码的不成功尝试的输出的RBER可低于失败的管芯本身的RBER。
除将包括m个失败的管芯(例如,管芯2)的所有管芯(不包括第一失败的管芯(管芯0))上存储的数据迭代解码的成功和不成功尝试626的软输出用于生成边信道外,图6类似于图5。如通过图5的情况一样,甚至将管芯上存储的数据迭代解码的不成功尝试的输出的RBER可低于失败的管芯本身的RBER。
在图7中,使用将n-m个未失败的管芯和m个失败的管芯(例如,管芯2)(不包括第一失败的管芯(管芯0))上存储的数据迭代解码成功和不成功尝试726的软或硬输出,生成边信道。另外,在图7中,有关与将m个失败的管芯的一个或更多个管芯上存储的数据迭代解码的不成功尝试726相关联的陷阱集的信息用于生成边信道。“陷阱集”可指在LDPC解码期间未正确收敛的变量节点或符号的集合。除其它边信道数据和将在考虑的第一失败的管芯(管芯0)上存储的数据迭代解码的不成功尝试的软输入外,陷阱集可由LDPC解码器720用于从管芯0重构码字。
图8示出可由诸如图1或2的迭代解码器20或本文中所述任何其它迭代解码器(320,420,520,620,720)等迭代解码器实现的示例方法800。在框802,迭代解码器20可确定将在n个信道(例如,管芯)中m个信道上存储的数据迭代解码的尝试已失败,m是大于1的整数。
在框804,迭代解码器20可从n-m个未失败的信道和/或m个失败的信道(不包括第一失败的信道)生成边信道信息。如上所述并且如图3-7所示,可使用与n-m个未失败的信道和/或m个失败的信道(不包括第一失败的信道)相关联的各种数据,生成边信道信息。
在框806,基于生成的边信道信息和基于将第一失败的信道上存储的数据迭代解码的不成功尝试的软输入,迭代解码器20可重构在m个失败的信道的第一失败的信道上存储的码字。
图9示出根据各种实施例的计算装置900。计算装置900装有印刷电路板(“PCB”)902。PCB 902可包括多个组件,包括但不限于处理器904和至少一个通信芯片906。处理器904可物理和电耦合到PCB 902。在各种实施例中,至少一个通信芯片906也可物理和电耦合到PCB 902。在其它实现中,通信芯片906可以是处理器904的一部分。在各种实施例中,处理器904可与其它组件集成在相同管芯上以形成系统上芯片(“SoC”)。
视其应用而定,计算装置900可包括可或不可物理和电耦合到PCB 902的其它组件。这些其它组件包括但不限于易失性存储器(例如,动态随机存取存储器908,也称为“DRAM”)、非易失性存储器(例如,只读存储器910,也称为“ROM”)、闪速存储器912、存储器控制器913、图形处理器914、数字信号处理器(未示出)、密码处理器(未示出)、芯片集916、天线918、显示器(未示出)、触摸屏显示器920、触摸屏控制器922、电池924、音频编解码器(未示出)、视频编解码器(未示出)、功率放大器926、全球定位系统(“GPS”)928、指南针930、加速计(未示出)、陀螺仪(未示出)、扬声器932、摄像头934及海量存储装置(如硬盘驱动器、固态驱动器、压缩磁盘(“CD”)、数字多功能磁盘(“DVD”))(未示出)等等。
通信芯片906可允许有线和/或无线通信以便向和从计算装置900传送数据。术语“无线”及其衍生词可用于描述可通过非固态介质,使用调制的电磁辐射传递数据的电路、装置、系统、方法、技术、通信信道等。该术语不暗示相关联装置不包含任何导线,但在一些实施例中,它们可能不包含。通信芯片906可实现多种无线标准或协议的任何标准或协议,包括但不限于Wi-Fi(IEEE 802.11系列)、WiMAX(IEEE 802.16系列)、IEEE 802.20、长期演进(“LTE”)、Ev-DO、HSPA+、HSDPA+、HSUPA+、EDGE、GSM、GPRS、CDMA、TDMA、DECT、蓝牙、其衍生物及设计为3G、4G、5G和之外的任何其它无线协议。计算装置900可包括多个通信芯片906。例如,第一通信芯片906可专用于诸如Wi-Fi和蓝牙等近距离无线通信,并且第二通信芯片906可专用于诸如GPS、EDGE、GPRS、CDMA、WiMAX、LTE、Ev-DO及其它等更远距离无线通信。
计算装置900的处理器904可包括封装在处理器904内的集成电路管芯。在各种实施例中,处理器904的集成电路管芯可包括一个或更多个装置,如晶体管或金属互连,这些装置经形成以有利于使用本文中所述的一个或更多个技术在失败的管芯上码字的迭代解码。术语“处理器”可指处理来自寄存器和/或存储器的电子数据以将该电子数据变换成可在寄存器和/或存储器中存储的其它电子数据的任何装置或部分的装置。
通信芯片906也可包括封装在通信芯片906内的集成电路管芯。在各种实施例中,通信芯片906的集成电路管芯可包括一个或更多个装置,如晶体管或金属互连,这些装置经形成以有利于使用本文中所述的一个或更多个技术在失败的管芯上码字的迭代解码。
在各种实施例中,计算装置900可以是膝上型计算机、上网本、笔记本、超级本、智能电话、平板、个人数字助理(“PDA”)、超级移动PC、移动电话、台式计算机、服务器、打印机、扫描仪、监视器、机顶盒、娱乐控制单元、数码相机、便携式音乐播放器或数字视频录像机。在其它实现中,计算装置900可以是处理数据的任何其它电子装置。
系统、方法、计算机可读介质(暂时性和非暂时性)、设备、装置和其它各种组件可配置成实现以下实施例。在各种实施例中,存储器控制器可配置成确定NVM的n个管芯中m个管芯进行迭代解码已失败,m是大于1的整数。在各种实施例中,存储器控制器可还配置成从n-m个未失败的管芯和m个失败的管芯(不包括第一失败的管芯)生成边信道。在各种实施例中,存储器控制器可还配置成使用迭代解码,基于生成的边信道和基于将第一失败的管芯上存储的数据迭代解码的尝试的软输入,重构在m个失败的管芯的第一失败的管芯上存储的码字。在各种实施例中,迭代解码可包括低密度奇偶校验解码。在各种实施例中,n-m个未失败的管芯可包括XOR管芯。
在各种实施例中,边信道包括将在n-m个未失败的管芯上存储的数据迭代解码的一次或更多次成功尝试的硬输出。在各种实施例中,边信道可包括将在n-m个未失败的管芯上存储的数据迭代解码的一次或更多次成功尝试的软输出。在各种实施例中,边信道可包括将在m个失败的管芯(不包括第一失败的管芯)上存储的数据迭代解码的一个或更多个不成功尝试的硬输出。在各种实施例中,边信道可包括将在m个失败的管芯(不包括第一失败的管芯)上存储的数据迭代解码的一个或更多个不成功尝试的软输出。
在各种实施例中,边信道可包括将在m个失败的管芯(不包括第一失败的管芯)上存储的数据迭代解码的一个或更多个尝试的软输入。在各种实施例中,边信道可包括将在m个失败的管芯(不包括第一失败的管芯)上存储的数据迭代解码的一个或更多个尝试的硬输入。在各种实施例中,边信道可包括将m个失败的管芯(不包括第一失败的管芯)上存储的数据迭代解码的一次或更多次未成功尝试的软输出及有关与m个失败的管芯(不包括所述第一失败的管芯)相关联的陷阱集的信息。
虽然为便于描述,某些实施例已在本文中示出和描述,但在不脱离本公开的范围的情况下,计划实现相同目的的各种备用和/或等效实施例或实现可替代所示和所述的实施例。本申请旨在涵盖本文中所述的实施例的所有修改或变化。因此,很明显,旨在本文中描述的实施例只受权利要求及其等效物的限制。
Claims (35)
1. 一种设备,包括:
包括n个管芯的非易失性存储器,n是正整数;
存储器控制器,配置成:
确定n个管芯中m个管芯进行迭代解码已失败,m是大于1的整数;
从n-m个未失败的管芯和所述m个失败的管芯中除第一失败的管芯以外的管芯生成边信道;以及
使用迭代解码,基于所生成的边信道和基于将所述第一失败的管芯上存储的数据迭代解码的尝试的软输入,重构在所述m个失败的管芯的所述第一失败的管芯上存储的码字。
2. 如权利要求1所述的设备,其中所述迭代解码包括低密度奇偶校验解码。
3. 如权利要求1所述的设备,其中所述n-m个未失败的管芯包括XOR管芯。
4. 如权利要求1所述的设备,其中所述边信道包括将在所述n-m个未失败的管芯上存储的数据迭代解码的一次或更多次成功尝试的硬输出。
5. 如权利要求1所述的设备,其中所述边信道包括将在所述n-m个未失败的管芯上存储的数据迭代解码的一次或更多次成功尝试的软输出。
6. 如权利要求1-5任一项所述的设备,其中所述边信道包括将所述m个失败的管芯中除所述第一失败的管芯以外的管芯上存储的数据迭代解码的一次或更多次未成功尝试的硬输出。
7. 如权利要求1-5任一项所述的设备,其中所述边信道包括将所述m个失败的管芯中除所述第一失败的管芯以外的管芯上存储的数据迭代解码的一次或更多次未成功尝试的软输出。
8. 如权利要求1-5任一项所述的设备,其中所述边信道还包括将所述m个失败的管芯中除所述第一失败的管芯以外的管芯上存储的数据迭代解码的一次或更多次尝试的软输入。
9. 如权利要求1-5任一项所述的设备,其中所述边信道还包括将所述m个失败的管芯中除所述第一失败的管芯以外的管芯上存储的数据迭代解码的一次或更多次尝试的硬输入。
10. 如权利要求1-5任一项所述的设备,其中所述边信道包括将所述m个失败的管芯中除所述第一失败的管芯以外的管芯上存储的数据迭代解码的一次或更多次未成功尝试的软输出及有关与所述m个失败的管芯中除所述第一失败的管芯以外的管芯相关联的陷阱集的信息。
11. 一种计算机实现的方法,包括:
由存储器控制器确定n个管芯中m个管芯进行迭代解码已失败,m是大于1的整数;以及
由所述存储器控制器基于从n-m个未失败的管芯和所述m个失败的管芯中除第一失败的管芯以外的管芯生成的边信道和基于将所述第一失败的管芯上存储的数据迭代解码的尝试的软输入,重构在所述m个失败的管芯的所述第一失败的管芯上存储的码字。
12. 如权利要求11所述的计算机实现的方法,其中所述迭代解码包括低密度奇偶校验解码。
13. 如权利要求11所述的计算机实现的方法,其中所述n-m个未失败的管芯包括XOR管芯。
14. 如权利要求11所述的计算机实现的方法,其中所述边信道包括将在所述n-m 个未失败的管芯上存储的数据迭代解码的一次或更多次成功尝试的硬输出。
15. 如权利要求11所述的计算机实现的方法,其中所述边信道包括将在所述n-m个未失败的管芯上存储的数据迭代解码的一次或更多次成功尝试的软输出。
16. 如权利要求11-15任一项所述的计算机实现的方法,其中所述边信道包括将所述m个失败的管芯中除所述第一失败的管芯以外的管芯上存储的数据迭代解码的一次或更多次未成功尝试的硬输出。
17. 如权利要求11-15任一项所述的计算机实现的方法,其中所述边信道包括将所述m个失败的管芯中除所述第一失败的管芯以外的管芯上存储的数据迭代解码的一次或更多次未成功尝试的软输出。
18. 如权利要求11-15任一项所述的计算机实现的方法,其中所述边信道还包括将所述m个失败的管芯中除所述第一失败的管芯以外的管芯上存储的数据迭代解码的一次或更多次尝试的软输入。
19. 如权利要求11-15任一项所述的计算机实现的方法,其中所述边信道还包括将所述m个失败的管芯中除所述第一失败的管芯以外的管芯上存储的数据迭代解码的一次或更多次尝试的硬输入。
20. 如权利要求11-15任一项所述的计算机实现的方法,其中所述边信道包括将所述m个失败的管芯中除所述第一失败的管芯以外的管芯上存储的数据迭代解码的一次或更多次未成功尝试的软输出及有关与所述m个失败的管芯中除所述第一失败的管芯以外的管芯相关联的陷阱集的信息。
21. 至少一种包括多个指令的机器可读介质,所述指令响应在计算装置上被执行,促使所述计算装置执行如权利要求11-15任一项所述的方法。
22. 一种配置成执行如权利要求11到15任一项所述方法的设备。
23. 一种系统,包括:
带有数据的n个信道;以及
迭代解码器,配置成:
确定n个信道中m个信道进行将其上存储的数据迭代解码的尝试已失败,m是大于1的整数;
从n-m个未失败的信道和所述m个失败的信道中除第一失败的信道以外的信道生成边信道;以及
基于所生成的边信道和基于将所述第一失败的信道上存储的数据迭代解码的尝试的软输入,重构在所述m个失败的信道的所述第一失败的信道上存储的码字。
24. 如权利要求23所述的系统,其中所述迭代解码器包括低密度奇偶校验解码器。
25. 如权利要求23所述的系统,其中所述n-m个未失败的信道包括XOR信道。
26. 如权利要求23所述的系统,其中所述边信道包括将在所述n-m个未失败信道上存储的数据迭代解码的一次或更多次成功尝试的硬输出。
27. 如权利要求23所述的系统,其中所述边信道包括将在所述n-m个未失败信道上存储的数据迭代解码的一次或更多次成功尝试的软输出。
28. 如权利要求23-27任一项所述的系统,其中所述边信道包括将所述m个失败的信道中除所述第一失败的信道以外的信道上存储的数据迭代解码的一次或更多次未成功尝试的硬输出。
29. 如权利要求23-27任一项所述的系统,其中所述边信道包括将所述m个失败的信道中除所述第一失败的信道以外的信道上存储的数据迭代解码的一次或更多次未成功尝试的软输出。
30. 如权利要求23-27任一项所述的系统,其中所述边信道还包括将所述m个失败的信道中除所述第一失败的信道以外的信道上存储的数据迭代解码的一次或更多次迭代尝试的软输入。
31. 如权利要求23-27任一项所述的系统,其中所述边信道还包括将所述m个失败的信道中除所述第一失败的信道以外的信道上存储的数据迭代解码的一次或更多次迭代尝试的硬输入。
32. 如权利要求23-27任一项所述的系统,其中所述边信道包括将所述m个失败的信道中除所述第一失败的信道以外的信道上存储的数据迭代解码的一次或更多次未成功尝试的软输出及有关与所述m个失败的信道中除所述第一失败的信道以外的信道相关联的陷阱集的信息。
33. 如权利要求23-27任一项所述的系统,还包括触摸屏显示器。
34. 如权利要求23-27任一项所述的系统,还包括摄像头。
35. 如权利要求23-27任一项所述的系统,其中所述n个信道包括n个管芯。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/031032 WO2013147775A1 (en) | 2012-03-28 | 2012-03-28 | Reconstructing codewords using a side channel |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104247273A true CN104247273A (zh) | 2014-12-24 |
CN104247273B CN104247273B (zh) | 2017-05-17 |
Family
ID=49260840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280071971.4A Active CN104247273B (zh) | 2012-03-28 | 2012-03-28 | 用于重构码字的设备及计算机实现的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9043681B2 (zh) |
CN (1) | CN104247273B (zh) |
DE (1) | DE112012006153B4 (zh) |
WO (1) | WO2013147775A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109873646A (zh) * | 2017-11-21 | 2019-06-11 | 爱思开海力士有限公司 | 使用级联码的软芯片猎杀恢复 |
CN109873645A (zh) * | 2017-11-21 | 2019-06-11 | 爱思开海力士有限公司 | 用于多个字线失败的软芯片猎杀恢复 |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN106169308B (zh) | 2015-03-16 | 2020-09-15 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
US10033411B2 (en) | 2015-11-20 | 2018-07-24 | Intel Corporation | Adjustable error protection for stored data |
KR102673873B1 (ko) * | 2016-06-30 | 2024-06-10 | 삼성전자주식회사 | 데이터 복구 방법 및 이를 적용하는 메모리 시스템 및 레이드 스토리지 시스템 |
US10496829B2 (en) * | 2017-09-15 | 2019-12-03 | Alibaba Group Holding Limited | Method and system for data destruction in a phase change memory-based storage device |
US10496548B2 (en) | 2018-02-07 | 2019-12-03 | Alibaba Group Holding Limited | Method and system for user-space storage I/O stack with user-space flash translation layer |
US10831404B2 (en) | 2018-02-08 | 2020-11-10 | Alibaba Group Holding Limited | Method and system for facilitating high-capacity shared memory using DIMM from retired servers |
WO2019222958A1 (en) | 2018-05-24 | 2019-11-28 | Alibaba Group Holding Limited | System and method for flash storage management using multiple open page stripes |
WO2020000136A1 (en) | 2018-06-25 | 2020-01-02 | Alibaba Group Holding Limited | System and method for managing resources of a storage device and quantifying the cost of i/o requests |
US10824502B2 (en) * | 2018-08-08 | 2020-11-03 | Micron Technology, Inc. | Enhanced codeword for media persistence and diagnostics |
US11061735B2 (en) | 2019-01-02 | 2021-07-13 | Alibaba Group Holding Limited | System and method for offloading computation to storage nodes in distributed system |
US10922234B2 (en) | 2019-04-11 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive |
US11169873B2 (en) | 2019-05-21 | 2021-11-09 | Alibaba Group Holding Limited | Method and system for extending lifespan and enhancing throughput in a high-density solid state drive |
US10860223B1 (en) | 2019-07-18 | 2020-12-08 | Alibaba Group Holding Limited | Method and system for enhancing a distributed storage system by decoupling computation and network tasks |
US11126561B2 (en) | 2019-10-01 | 2021-09-21 | Alibaba Group Holding Limited | Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive |
US11042307B1 (en) | 2020-01-13 | 2021-06-22 | Alibaba Group Holding Limited | System and method for facilitating improved utilization of NAND flash based on page-wise operation |
US11449455B2 (en) | 2020-01-15 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility |
US10923156B1 (en) | 2020-02-19 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive |
US10872622B1 (en) | 2020-02-19 | 2020-12-22 | Alibaba Group Holding Limited | Method and system for deploying mixed storage products on a uniform storage infrastructure |
US11150986B2 (en) | 2020-02-26 | 2021-10-19 | Alibaba Group Holding Limited | Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction |
US11144250B2 (en) | 2020-03-13 | 2021-10-12 | Alibaba Group Holding Limited | Method and system for facilitating a persistent memory-centric system |
US11200114B2 (en) | 2020-03-17 | 2021-12-14 | Alibaba Group Holding Limited | System and method for facilitating elastic error correction code in memory |
US11385833B2 (en) | 2020-04-20 | 2022-07-12 | Alibaba Group Holding Limited | Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources |
US11281575B2 (en) | 2020-05-11 | 2022-03-22 | Alibaba Group Holding Limited | Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks |
US11494115B2 (en) | 2020-05-13 | 2022-11-08 | Alibaba Group Holding Limited | System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC) |
US11461262B2 (en) | 2020-05-13 | 2022-10-04 | Alibaba Group Holding Limited | Method and system for facilitating a converged computation and storage node in a distributed storage system |
US11218165B2 (en) | 2020-05-15 | 2022-01-04 | Alibaba Group Holding Limited | Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM |
US11556277B2 (en) | 2020-05-19 | 2023-01-17 | Alibaba Group Holding Limited | System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification |
US11507499B2 (en) | 2020-05-19 | 2022-11-22 | Alibaba Group Holding Limited | System and method for facilitating mitigation of read/write amplification in data compression |
US11263132B2 (en) | 2020-06-11 | 2022-03-01 | Alibaba Group Holding Limited | Method and system for facilitating log-structure data organization |
US11422931B2 (en) | 2020-06-17 | 2022-08-23 | Alibaba Group Holding Limited | Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization |
US11354200B2 (en) | 2020-06-17 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating data recovery and version rollback in a storage device |
US11354233B2 (en) | 2020-07-27 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating fast crash recovery in a storage device |
US11372774B2 (en) | 2020-08-24 | 2022-06-28 | Alibaba Group Holding Limited | Method and system for a solid state drive with on-chip memory integration |
US11487465B2 (en) | 2020-12-11 | 2022-11-01 | Alibaba Group Holding Limited | Method and system for a local storage engine collaborating with a solid state drive controller |
US11734115B2 (en) | 2020-12-28 | 2023-08-22 | Alibaba Group Holding Limited | Method and system for facilitating write latency reduction in a queue depth of one scenario |
US11416365B2 (en) | 2020-12-30 | 2022-08-16 | Alibaba Group Holding Limited | Method and system for open NAND block detection and correction in an open-channel SSD |
US11726699B2 (en) | 2021-03-30 | 2023-08-15 | Alibaba Singapore Holding Private Limited | Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification |
US11461173B1 (en) | 2021-04-21 | 2022-10-04 | Alibaba Singapore Holding Private Limited | Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement |
US11476874B1 (en) | 2021-05-14 | 2022-10-18 | Alibaba Singapore Holding Private Limited | Method and system for facilitating a storage server with hybrid memory for journaling and data storage |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1774892A (zh) * | 2003-06-18 | 2006-05-17 | 日本电信电话株式会社 | 无线分组通信方法 |
EP1606953B1 (en) * | 2003-03-24 | 2007-11-14 | Qualcomm Incorporated | Method, apparatus and system for encoding and decoding side information for multimedia transmission |
CN101983489A (zh) * | 2008-03-31 | 2011-03-02 | 马维尔国际贸易有限公司 | 对传输块的多码块进行选择性组合和译码的方法和装置 |
US20110276855A1 (en) * | 2010-05-07 | 2011-11-10 | Samsung Electronics Co., Ltd. | Method and apparatus for channel coding and decoding in a communication system using a low-density parity-check code |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398454B2 (en) * | 2004-12-21 | 2008-07-08 | Tyco Telecommunications (Us) Inc. | System and method for forward error correction decoding using soft information |
JP4212567B2 (ja) * | 2005-03-31 | 2009-01-21 | 株式会社東芝 | 受信装置および復調方法 |
US7783958B1 (en) * | 2005-11-03 | 2010-08-24 | Entropic Communications, Inc. | Broadband satellite system for the simultaneous reception of multiple channels using shared iterative decoder |
US8069397B2 (en) * | 2006-07-10 | 2011-11-29 | Broadcom Corporation | Use of ECC with iterative decoding for iterative and non-iterative decoding in a read channel for a disk drive |
US8315306B2 (en) * | 2006-09-08 | 2012-11-20 | The Texas A&M University System | Distributed joint source-channel coding of video using raptor codes |
WO2009072103A2 (en) * | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells |
EP2282433A1 (en) * | 2009-08-04 | 2011-02-09 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Method for recovery of lost and/ or corrupted data |
EP2299362A3 (en) | 2009-08-18 | 2011-05-04 | ViaSat, Inc. | Forward error correction for memories |
JP5039160B2 (ja) | 2010-03-02 | 2012-10-03 | 株式会社東芝 | 不揮発性半導体記憶システム |
-
2012
- 2012-03-28 CN CN201280071971.4A patent/CN104247273B/zh active Active
- 2012-03-28 WO PCT/US2012/031032 patent/WO2013147775A1/en active Application Filing
- 2012-03-28 US US13/996,151 patent/US9043681B2/en active Active
- 2012-03-28 DE DE112012006153.5T patent/DE112012006153B4/de active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1606953B1 (en) * | 2003-03-24 | 2007-11-14 | Qualcomm Incorporated | Method, apparatus and system for encoding and decoding side information for multimedia transmission |
CN1774892A (zh) * | 2003-06-18 | 2006-05-17 | 日本电信电话株式会社 | 无线分组通信方法 |
CN101983489A (zh) * | 2008-03-31 | 2011-03-02 | 马维尔国际贸易有限公司 | 对传输块的多码块进行选择性组合和译码的方法和装置 |
US20110276855A1 (en) * | 2010-05-07 | 2011-11-10 | Samsung Electronics Co., Ltd. | Method and apparatus for channel coding and decoding in a communication system using a low-density parity-check code |
Non-Patent Citations (1)
Title |
---|
骆源 和 庄卓俊: "与经典信道相关的网络编码", 《中兴通讯技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109873646A (zh) * | 2017-11-21 | 2019-06-11 | 爱思开海力士有限公司 | 使用级联码的软芯片猎杀恢复 |
CN109873645A (zh) * | 2017-11-21 | 2019-06-11 | 爱思开海力士有限公司 | 用于多个字线失败的软芯片猎杀恢复 |
CN109873646B (zh) * | 2017-11-21 | 2023-04-07 | 爱思开海力士有限公司 | 使用级联码的软芯片猎杀恢复 |
Also Published As
Publication number | Publication date |
---|---|
DE112012006153B4 (de) | 2021-09-23 |
WO2013147775A1 (en) | 2013-10-03 |
US20130318395A1 (en) | 2013-11-28 |
US9043681B2 (en) | 2015-05-26 |
DE112012006153T5 (de) | 2014-12-18 |
CN104247273B (zh) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104247273A (zh) | 使用边信道重构码字 | |
US10628256B2 (en) | Updating reliability data | |
US9529666B2 (en) | Decoding method, memory storage device and memory controlling circuit unit | |
KR101668934B1 (ko) | 분배된 코드워드 부분들 | |
US9973213B2 (en) | Decoding method, and memory storage apparatus and memory control circuit unit using the same | |
US10484008B2 (en) | Memory system with on-the-fly error detection and termination and operating method thereof | |
US9037943B2 (en) | Identification of non-volatile memory die for use in remedial action | |
US9471421B2 (en) | Data accessing method, memory storage device and memory controlling circuit unit | |
CN105453049A (zh) | 使用纠错指针处置存储器中的错误 | |
US20190163567A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
US10621035B2 (en) | Techniques for correcting data errors in memory devices | |
US10200063B2 (en) | Memory controller, semiconductor memory system and operating method thereof | |
CN107608818B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN104185952B (zh) | 初级检验节点处理的方法和系统 | |
US10050643B2 (en) | Low-density parity-check apparatus and operation method thereof | |
CN105915234B (zh) | 避免对涡轮乘积码误校正的方案 | |
CN104221291B (zh) | 更新与迭代解码器关联的变量节点 | |
CN107590018B (zh) | 译码方法、存储器控制电路单元及存储器存储装置 | |
CN104220990B (zh) | 对信道上的编码数据进行解码的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |