CN102420615A - 基于解码器的数据恢复 - Google Patents

基于解码器的数据恢复 Download PDF

Info

Publication number
CN102420615A
CN102420615A CN2011102805196A CN201110280519A CN102420615A CN 102420615 A CN102420615 A CN 102420615A CN 2011102805196 A CN2011102805196 A CN 2011102805196A CN 201110280519 A CN201110280519 A CN 201110280519A CN 102420615 A CN102420615 A CN 102420615A
Authority
CN
China
Prior art keywords
decoder
restore instruction
code word
recovery unit
instruction
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
CN2011102805196A
Other languages
English (en)
Other versions
CN102420615B (zh
Inventor
E·杨
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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade Co Ltd
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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN102420615A publication Critical patent/CN102420615A/zh
Application granted granted Critical
Publication of CN102420615B publication Critical patent/CN102420615B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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/2957Turbo codes and decoding
    • 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/63Joint error correction and other techniques
    • H03M13/6331Error control coding in combination with equalisation
    • 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/63Joint error correction and other techniques
    • H03M13/6343Error control coding in combination with techniques for partial response channels, e.g. recording
    • 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/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4138Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions

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

本发明涉及基于解码器的数据恢复。描述了与基于解码器的数据恢复相关联的系统、方法和其他实施方式。根据一个实施方式,一种装置包括解码器,该解码器被配置用于对码字执行解码过程,以验证码字符合编码约束。该解码器包括配置用于存储用于执行修改的解码过程的恢复指令的恢复单元。该恢复单元还被配置用于当经解码的码字不符合编码约束时执行所存储的恢复指令。

Description

基于解码器的数据恢复
相关申请的交叉引用
本公开要求于2010年9月8日递交的美国临时申请序列号No.61/380,888的权益,该申请以引用的方式全部并入于此。
技术领域
本发明涉及数据恢复领域,特别是涉及基于解码器的数据恢复。
背景技术
许多数据存储系统采用某些类型的编码系统,在这些编码系统中,将所存储的数据与错误校验信息进行组合或者编码,以形成满足事先建立的约束的码字。将从存储器检索的码字相对于约束进行校验。如果码字不满足这些约束,则可以使用迭代技术来尝试校正该码字。通常,如果在一定数目的迭代之后,还未恢复有效的码字,则解码过程停止并且宣布解码失败。
发明内容
在一个实施方式中,一种装置包括解码器,该解码器被配置用于对码字执行解码过程,以验证该码字符合编码约束。该解码器包括恢复单元,该恢复单元被配置用于存储用于执行修改的解码过程的恢复指令。该恢复单元进一步被配置用于当经解码的码字未能符合编码约束时,执行所存储的恢复指令。
在一个实施方式中,该解码器是低密度奇偶校验解码器并且其中该恢复单元被配置用于存储和处理恢复指令,该恢复指令在由恢复单元执行时使得该解码器执行附加的码字校正迭代。在一个实施方式中,该恢复单元被配置用于存储和处理恢复指令,该恢复指令在由恢复单元执行时使得解码器利用不同的解码参数集合来执行附加的解码。在一个实施方式中,恢复单元被配置用于存储和处理恢复指令,该恢复指令在由恢复单元执行时使得解码器调节码字数据并且对经调节的码字数据进行解码。
在一个实施方式中,恢复单元被配置用于在存储器设备准备从存储器设备重新读取解码失败的码字时,执行所存储的恢复指令。该恢复单元可以被配置用于如果码字在恢复指令的执行期间被校正,则取消即将进行的码字的重新读取。
在另一实施方式中,一种方法包括检测码字解码失败以及执行存储在解码器中的恢复指令。该恢复指令修改针对码字的解码过程。该方法还包括返回执行该恢复指令的结果。在一个实施方式中,该方法包括在检测码字失败之前将恢复指令存储在解码器存储器中。在一个实施方式中,该方法包括如果恢复指令的执行并没有产生有效的码字,则从解码器外部的计算组件接收恢复指令,并且执行所接收的恢复指令。
在一个实施方式中,一种设备包括:存储器设备,其被配置用于存储被编码为码字的数据;以及编码器,其被配置用于根据解码约束接收数据并对数据进行编码,并且将经编码的数据作为码字存储在存储器设备中。该设备还包括解码器,该解码器被配置用于对从存储器设备检索的码字进行解码。该解码器包括恢复单元,该恢复单元被配置用于存储恢复指令以及在发生码字解码失败时执行所存储的恢复指令。对所存储的恢复指令的执行在由存储器设备进行的失败码字的重新读取之前发生。
附图说明
并入说明书并且构成说明书一部分的附图图示了本公开的各种系统、方法和其他实施方式。应当理解,在附图中所图示的元件边界(例如,框、框的群组或者其他形状)表示边界的一个示例。本领域普通技术人员将理解,在某些示例中,一个元件可以被设计成多个元件,或者多个元件可以被设计成一个元件。在某些示例中,被示为另一个元件的内部组件的元件可以被实现为外部部件,并且反之亦然。此外,元件可以不按比例绘制。
图1图示了与基于解码器的数据恢复相关联的装置的一个实施方式。
图2图示了与基于解码器的数据恢复相关联的串行连接解码器的一个实施方式。
图3图示了与基于解码器的数据恢复相关联的指令集的一个实施方式。
图4图示了与基于解码器的数据恢复相关联的方法的一个实施方式。
图5图示了与基于解码器的数据恢复相关联的方法的一个实施方式。
具体实施方式
在此,描述了与基于解码器的数据恢复相关联的方法、系统和其他实施方式的示例。在存储器通道系统中,运行时约束以及面积、吞吐量、功耗和纠错性能要求之间的折衷决定了最大可允许的即时(on-the-fly)解码延迟。例如,磁存储记录中使用的处理流水线开始于读取与位的汇集相关联的所有数据位,通常称为扇区。低密度奇偶校验(LDPC)解码可以在接收到整个扇区之后立即开始。解码器重复地运行以校正码字,直到获得有效的码字(即要求满足所有编码约束的条件),或者直到超过了预先指定的解码延迟时间为止。如果解码器在达到最大延迟之后还未能找到有效的码字,则宣布解码失败。
在解码失败的情况下,编码系统可以忽略该错误、执行重试过程和/或请求对未能解码的码字的重新读取或者重新传递。如果请求了重新读取,则在存储器读取设备访问包含有码字的扇区时,存在一定量的周转时间。周转时间可以在存储器盘旋转到读取头之下的位置期间发生。在一个实施方式中,在此公开的基于解码器的数据恢复装置和方法使得编码系统能够请求对码字的重新读取以及执行恢复指令以在存储器读取设备的周转时间期间重试对码字的解码。
参照图1,其示意性地图示了存储器编码系统100的一个实施方式。编码系统100包括将经编码数据(即,码字)存储在存储器扇区(这些扇区的一部分被标记为A到N)中的存储器设备110。存储器设备110被示为在读取头(未示出)之下按照箭头的方向旋转的盘。在此描述的基于解码器的数据恢复可以与作为存储器编码系统的一部分的任何存储器设备一起使用。编码系统还包括编码通道120,该编码通道120在数据和对存储在存储器设备110上的数据进行编码的码字之间进行翻译。编码器130可以使用前馈处理,以根据编码约束将待写入到存储器设备110的进入数据与附加的错误校验信息进行组合,以形成码字。码字存储在存储器110上的扇区中。以下将更详细地描述包括低密度奇偶校验(LDPC)编码的一个示例编码方法。
当从存储器设备110读取数据时,包含有所请求数据的码字被传递到编码通道120。通常,对所传递的码字执行某些种类的前端处理140(例如,过滤),并且将经处理的码字输入到解码器150。解码器150将码字相对于编码约束进行校验,以确定码字是否有效(即,满足编码约束,并且因此被推定为正确的)。解码器150可以使用诸如Berlekamp-Massey算法之类的前馈解码算法,该算法具有检测和校正错误的能力。如果码字并不满足编码约束,则解码器150尝试校正码字,从而使得码字满足编码约束。通常这是迭代过程,在该过程中,对码字进行调节(例如,选择性擦除或者数据再同步),并且将经修改的码字相对于编码约束进行校验。如果获得了有效的码字,则解码器150继而对码字进行解码,以恢复所请求的数据。编码通道120继而输出所请求的数据。
在一个实施方式中,编码通道120使用LDPC编码技术。LDPC编码技术由于其高效率和可靠性而在磁数据存储应用、无线、有线以及其他通信应用中广泛使用。在LDPC编码中,将待编码的位串与稀疏生成矩阵相乘以产生码字。将从存储器读取的码字与稀疏奇偶校验矩阵相乘。如果相乘的结果(称为校验子)等于零,则码字有效。如果校验子不等于零,则码字无效,并且通过迭代地改变一个或者多个位的值和将经修改的码字相对于约束进行校验以修改码字。在一定数目的迭代之后,如果还未获得有效的码字,则宣布解码失败。
在某些实施方式中,解码器150被实现为串行连接解码器。图2图示了串行连接解码器250,该解码器250包括与LDPC解码器270相结合的软输出维特比算法(SOVA)通道解码器260。SOVA解码器向LDPC解码器提供估计的码字,该估计的码字包括针对码字中的位的置信水平。SOVA解码器260可以执行迭代,以获得将要相对于编码约束进行校验并且可能由LDPC解码器270进行校正的估计的码字。SOVA解码器260通常被称为“内部”解码器,而LDPC解码器270被称为“外部”解码器。由SOVA解码器260执行的“内部迭代”的数目与由LDPC解码器270执行的“外部迭代”的数目的比值可以影响解码结果。在一个实施方式中,作为默认的是,针对每个内部迭代执行5个外部迭代。
回到图1,解码器150包括恢复单元160,该恢复单元160存储可以由解码器150在解码失败的情况下执行的恢复指令163的选集。由于恢复指令163存储在解码器中,所以恢复单元160可以在不与解码器150外部的计算组件(例如,解码器固件170)进行交互的情况下执行恢复指令。将参照图3提供恢复指令的示例。
在某些实施方式中,恢复单元160能够在存储器设备110准备重新读取解码失败的码字时执行所存储的恢复指令163。例如,如果失败的码字存储在扇区A中,并且存储器设备110(即,盘)已经旋转到读取扇区B,则所存储的恢复指令163可以由恢复单元160执行,而同时盘一直旋转经过扇区N到达位置扇区A以用于读取。如果码字在恢复指令的执行期间被校正,则恢复单元160可以取消即将发生的对扇区的重新读取。解码器150可以被配置用于使得由用户启用或者禁用这种“扩展的读取模式”(即,在重新读取失败的码字之前自动执行恢复指令)。
恢复单元160还可以包括恢复接口167,该恢复接口167被配置用于从解码器外部的计算组件(例如,解码器固件170)接收恢复指令,并且向计算组件输出恢复指令结果。恢复接口167可以用于借助于从解码器固件170向解码器150提供的指令来执行附加的重试操作。恢复接口167可以是诊断总线,在该诊断总线上可以写入指令并且可以读取结果。在某些实施方式中,解码器被配置用于进入这种“重试模式”,在该模式中,如果在扩展的读取模式期间并未获得有效的码字,则借助于恢复接口自动地接收恢复指令。
通常,重试对码字进行解码包括解码器寄存器编程、信号轮询以及中断管理的序列,该序列需要时间和编程专门技术。在此描述的恢复指令集提供了用于执行编码器的低层级编程的接口,以供采取各种方式重试进行编码。恢复指令对应于原语操作,这些原语操作对用于解码的基本解码器操作进行控制。恢复指令可以被视为与对微处理器操作的汇编语言类似。恢复指令集因而在不需要对解码器的内部工作的专门知识的情况下提供供用户执行各种重试过程的更直观的方式。
恢复指令的选集可以存储在解码器中,以供由解码器在解码失败的情况下自动执行。所存储的恢复指令可以由解码器在不与外部计算组件(例如,解码固件)交互的情况下执行。这种自包含的、基于解码器的方法极大地减小了执行重试所需的时间量。这是由于典型的解码器按照以下速度的大约10倍运行,该速度为从这些外部计算组件检索恢复指令所需的与固件或者微处理器通信的速度。在某些实施方式中,所存储的恢复指令可以在当存储器盘准备重新读取扇区时该存储器盘旋转一周所需的时间内开始和完成。如果所存储的指令的执行产生有效的码字,则可以取消重新读取。
图3图示针对16位总线配置的恢复指令的集合300的一个实施方式的一般格式。来自该恢复指令集合300的选集可以存储在恢复单元中,以供由解码器在解码失败时自动执行。恢复指令还可以由解码器外部的解码器固件或者其他计算组件提供。在解码器配置期间,编码系统用户可以选择在针对解码器中的存储的特定环境中工作最佳的特定恢复指令。如果执行存储在解码器中的恢复指令未能产生有效的码字,则用户可以利用恢复接口来向解码器提供附加的恢复指令。恢复单元被配置用于识别和执行借助于恢复接口输入的恢复指令。
恢复指令用来在诉诸于从存储器设备重新读取数据之前对失败的码字执行附加的解码操作。为了执行这些解码操作,恢复指令允许对寄存器位的读取和写入、执行所选择的解码操作以及传递解码指令的结果。可以选择恢复指令的集合以实现旨在对失败的码字进行解码的任何数目的恢复算法。
恢复指令的前三位对应于操作码。如果前三位为000,则指令为无操作指令(在图3中未示出)。参照指令310,寄存器写入由操作码001指定,并且最后8个位中的数据被写入到地址被包含在位3-7中的寄存器。如指令320中所示,操作码010请求对其地址包含在位3-7中的寄存器的读取。响应于该读取请求,由解码器提供由操作码101指定的返回指令(指令330)。返回指令将其地址包含在位3-7中的寄存器中的所请求的数据返回到最后8个位中。指令340(操作码100)指定忙碌状态。指令350(操作码350)指定恢复单元为空闲。如果第四和第五个位被设置为01,则这意味着上一命令并未返回错误(例如,解码失败)。因此,指令350将传达恢复单元已经完成了恢复努力,并且码字被成功地解码。指令360(操作码350)指定恢复单元为空闲。如果第四和第五个位被设置为01,则这意味着上一命令确实返回了错误。因此,指令360传达恢复单元已经完成了恢复努力,并且码字未被解码。
指令370(操作码011)允许选择在位3-6中识别的恢复算法。如果指令为恢复努力中的最后一个指令,则位7被设置为1。在执行最后一个指令之后,解码器寄存器被复位到它们在执行第一个恢复指令之前所保持的值。恢复指令可以被构建成执行包含旨在重试对码字进行解码的任何数目的操作的恢复算法。现在将出于说明的目的描述若干示例指令。
一种典型的恢复指令为“从存储器解码”算法。这提示解码器重新启动对与初始失败的解码对应的经缓存的数据的解码。单独使用时,简单地再次从存储器解码将通常不会产生改善的解码。因此,这种指令将通常与改变解码过程中参数的其他指令一起使用,该解码过程将在重解码操作期间执行。例如,回想图2的串行连接解码器,“从存储器解码”指令可以与改变外部迭代与内部迭代的比值的“设置外部迭代”指令和“设置内部迭代”指令进行组合。源自改变该比值的改变的动态通常有助于LDPC解码器移出趋向码字收敛的局部最小值。
恢复指令可以包括硬件原语指令,该硬件原语指令开始硬件中的某一事件链。这些指令可以是以下指令:用于重新启动解码器硬件的各种元件的指令、执行诊断评估的指令、或者对收集的数据做出调节的指令。一些恢复指令重新启动解码过程的一个方面。重新启动指令包括“从存储器解码”指令和“再同步”指令,该“再同步”指令重新启动同步器和解码器。其他指令执行诊断操作,例如“计算校验子权重”指令和“计算校验子”指令。某些指令可以调节正在被解码的数据,诸如“执行噪声偏置”指令和“执行位反转”指令。
恢复指令还可以被设计用于改变通常由解码器固件控制的解码器参数的值。响应于进入重试模式,对用户可编程的解码参数进行寄存。这些参数可以由恢复指令改变,但是它们将响应于退出重试模式而被恢复。这提供了用于在正常解码和重试模式解码之间来回切换解码过程的快速且明确的方式。可以改变的参数的一些示例包括:内部或者外部迭代的数目、数据缩放因子、数据饱和限制以及用于诊断的阈值。恢复指令集还限定了指示当解码器对每个指令做出反应并且完成每个指令时解码器硬件的各种状态的响应。固件在等待关于下一步发布什么指令的指示时可以轮询恢复接口(例如,诊断总线)。
图4是概述了基于解码器的恢复方法400的一个实施方式的流程图。在410处,该方法包括检测码字解码失败。在420处,该方法包括执行存储在解码器中的恢复指令。在430处,该方法包括返回执行恢复指令的结果。该方法400还可以包括在解码器配置期间将恢复指令存储在解码器中。基于解码器的恢复方法400可以由解码器在不需要与解码器外部的计算组件交互的情况下在准备重新读取码字期间执行。
图5是概述了基于解码器的恢复方法500的一个实施方式的流程图。在510处,该方法包括检测码字解码失败。在520处,该方法包括执行存储在解码器中的恢复指令。在530处,该方法包括返回执行恢复指令的结果。在540处,该方法包括确定是否已经获得了有效的码字,并且如果已经获得了有效的码字,则方法500结束。如果还未获得有效的码字,则在550处,该方法包括进入重试模式,在该重试模式中,从解码器外部的计算组件接收恢复指令并且由解码器执行恢复指令。在560处,该方法包括返回执行恢复指令的结果。
在方法400和方法500中,恢复指令可以使得解码器对码字执行附加的校正迭代。恢复指令可以使得解码器对码字执行诊断过程。恢复指令可以使得解码器调节码字数据,并且对经调节的码字数据进行解码。恢复指令可以使得解码器调节解码器参数。恢复指令可以使得解码器输出响应,该响应将解码器状态传递给解码器外部的计算组件。
以下包括对在此采用的所选择的术语的定义。定义包括落入术语范围并且可以用于实现的组件的各种示例和/或形式。示例并非旨在限制。术语的单数形式和复数形式两者都在定义之内。
对“一个实施方式”、“实施方式”、“一个示例”、“示例”等的参考指示所描述的实施方式或者示例可以包括特定特征、结构、特性、属性、元件或者限定,但是并非每个实施方式或者示例都必须包括该特定特征、结构、特性、属性、元件或者限定。此外,重复使用短语“在一个实施方式中”并不必要地指代同一实施方式,尽管其可以指代同一实施方式。
尽管为了便于说明的目的,将所图示的方法示出并且描述为一系列块。但是该方法并不被这些块的顺序所限制,而是某些块可以按照与所示出和描述的块的不同的顺序发生和/或与其他块并行发生。此外,可以使用少于所有所图示的块来实现该方法。这些块可以被组合或者分隔到多个组件中。此外,附加的和/或备选的方法可以采用附加的但是未图示的块。
就术语“包括”在详细描述中或者权利要求中所使用的程度而言,其旨在以与如下类似的方式包括,该方式为在术语“包括”用作权利要求中的过渡词时的解释方式。
尽管已经通过描述示例图示了系统、方法等的示例,并且尽管已经以相当详细的方式描述了这些示例,但是申请人并不旨在将所附权利要求的范围限制或者以任何方式限定到这样的细节。当然,为了描述在此所描述的系统、方法等,不可能描述组件或者方法的每个可行组合。因此,本公开并不限于所示出和描述的具体细节、代表性的装置和说明性的示例。因此,本申请旨在涵盖落入所附权利要求范围内的各种改变、修改和变形。

Claims (19)

1.一种装置,包括:
解码器,其被配置用于对码字执行解码过程,以验证所述码字符合编码约束;以及
其中所述解码器包括恢复单元,所述恢复单元被配置用于存储用于执行修改的解码过程的恢复指令,其中所述恢复单元还被配置用于当经解码的码字不符合所述编码约束时执行所存储的恢复指令。
2.根据权利要求1所述的装置,其中在对所述码字执行所述解码过程之前将所述恢复指令存储在所述解码器上。
3.根据权利要求1所述的装置,其中所述恢复单元还包括恢复接口,所述恢复接口被配置用于从所述解码器外部的计算组件接收恢复指令并且向所述计算组件输出恢复指令结果。
4.根据权利要求1所述的装置,其中所述解码器包括低密度奇偶校验解码器并且进一步其中所述恢复单元被配置用于存储和处理恢复指令,所述恢复指令在由所述恢复单元执行时使得所述解码器执行附加的码字校正迭代。
5.根据权利要求1所述的装置,其中所述解码器包括低密度奇偶校验解码器并且进一步其中所述恢复单元被配置用于存储和处理恢复指令,所述恢复指令在由所述恢复单元执行时使得所述解码器利用不同的解码参数集合来执行附加的解码。
6.根据权利要求1所述的装置,其中所述解码器包括低密度奇偶校验解码器并且进一步其中所述恢复单元被配置用于存储和处理恢复指令,所述恢复指令在由所述恢复单元执行时使得所述解码器调节码字数据并且对经调节的码字数据进行解码。
7.根据权利要求1所述的装置,其中所述恢复单元被配置用于在存储器设备准备从存储器介质重新读取解码失败的所述码字时执行所述所存储的恢复指令。
8.根据权利要求1所述的装置,其中所述恢复单元被配置用于如果所述码字在所述恢复指令的执行期间被校正,则取消即将进行的对于所述码字的重新读取。
9.一种方法,包括:
检测码字解码失败;
执行存储在解码器中的恢复指令,其中所述恢复指令修改针对码字的解码过程;以及
返回执行所述恢复指令的结果。
10.根据权利要求9所述的方法,还包括在检测所述码字失败之前将所述恢复指令存储在解码器存储器中。
11.根据权利要求9所述的方法,还包括如果所述恢复指令的执行并不产生有效的码字,则从所述解码器外部的计算组件接收恢复指令,并且执行所接收的恢复指令。
12.根据权利要求9所述的方法,其中执行所述恢复指令包括对所述码字执行附加的校正迭代。
13.根据权利要求9所述的方法,其中执行所述恢复指令包括对所述码字执行诊断过程。
14.根据权利要求9所述的方法,其中执行所述恢复指令包括调节所述码字并且对经调节的码字进行解码。
15.根据权利要求9所述的方法,其中执行所述恢复指令包括调节解码器参数。
16.根据权利要求9所述的方法,其中执行所述恢复指令包括输出响应,所述响应向所述解码器外部的计算组件传递解码器状态。
17.一种设备,包括:
存储器设备,其被配置用于存储被编码为码字的数据;
编码器,其被配置用于根据解码约束接收数据并对数据进行编码,并且将经编码的数据作为码字存储在所述存储器设备中;
解码器,其配置用于对从所述存储器设备检索的码字进行解码;以及
其中所述解码器包括恢复单元,所述恢复单元被配置用于存储恢复指令并且在发生码字解码失败时执行所存储的恢复指令,并且进一步其中所述所存储的恢复指令的执行在由所述存储器设备进行的失败码字的重新读取之前发生。
18.根据权利要求17所述的设备,其中所述恢复单元还包括恢复接口,所述恢复接口被配置用于从所述解码器外部的计算组件接收恢复指令并且向所述计算组件输出恢复指令结果。
19.根据权利要求17所述的设备,其中所述解码器包括低密度奇偶校验解码器并且进一步其中所述恢复单元被配置用于存储和处理恢复指令,所述恢复指令在由所述恢复单元执行时使得所述解码器执行附加的码字校正迭代。
CN201110280519.6A 2010-09-08 2011-09-07 基于解码器的数据恢复 Expired - Fee Related CN102420615B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38088810P 2010-09-08 2010-09-08
US61/380,888 2010-09-08

Publications (2)

Publication Number Publication Date
CN102420615A true CN102420615A (zh) 2012-04-18
CN102420615B CN102420615B (zh) 2016-08-31

Family

ID=45771544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110280519.6A Expired - Fee Related CN102420615B (zh) 2010-09-08 2011-09-07 基于解码器的数据恢复

Country Status (2)

Country Link
US (2) US8650456B2 (zh)
CN (1) CN102420615B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027072A (zh) * 2016-05-30 2016-10-12 联想(北京)有限公司 一种译码处理方法及电子设备
CN106020774A (zh) * 2016-05-20 2016-10-12 上海兆芯集成电路有限公司 基于精简指令集计算机结构的解码异常检测方法以及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8989252B1 (en) * 2011-01-19 2015-03-24 Marvell International Ltd. Methods and apparatus for power efficient iterative equalization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1133512A (zh) * 1994-09-30 1996-10-16 株式会社理光 编码与解码数据的方法和装置
US20060020868A1 (en) * 2004-07-21 2006-01-26 Tom Richardson LDPC decoding methods and apparatus
WO2006038829A1 (en) * 2004-09-29 2006-04-13 Intel Corporation Iterative decoding with buffering and restoring intermediate decoder states
US20090019335A1 (en) * 2007-07-10 2009-01-15 Sun Microsystems, Inc. Auxiliary path iterative decoding

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694477B1 (en) * 2000-09-28 2004-02-17 Western Digital Technologies, Inc. Communication channel employing an ECC decoder enhanced by likely error events of a trellis sequence detector
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US7266750B1 (en) * 2002-07-10 2007-09-04 Maxtor Corporation Error recovery strategies for iterative decoders
US8132072B2 (en) * 2006-01-06 2012-03-06 Qualcomm Incorporated System and method for providing H-ARQ rate compatible codes for high throughput applications
US7904782B2 (en) * 2007-03-09 2011-03-08 Microsoft Corporation Multiple protection group codes having maximally recoverable property
US7930611B2 (en) * 2007-03-09 2011-04-19 Microsoft Corporation Erasure-resilient codes having multiple protection groups
US8136016B1 (en) * 2007-11-08 2012-03-13 Marvell International Ltd. Split sector recovery method
US8739009B1 (en) * 2007-12-27 2014-05-27 Marvell International Ltd. Methods and apparatus for defect detection and correction via iterative decoding algorithms

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1133512A (zh) * 1994-09-30 1996-10-16 株式会社理光 编码与解码数据的方法和装置
US20060020868A1 (en) * 2004-07-21 2006-01-26 Tom Richardson LDPC decoding methods and apparatus
CN101449463A (zh) * 2004-07-21 2009-06-03 高通股份有限公司 Ldpc解码方法和装置
WO2006038829A1 (en) * 2004-09-29 2006-04-13 Intel Corporation Iterative decoding with buffering and restoring intermediate decoder states
US20090019335A1 (en) * 2007-07-10 2009-01-15 Sun Microsystems, Inc. Auxiliary path iterative decoding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020774A (zh) * 2016-05-20 2016-10-12 上海兆芯集成电路有限公司 基于精简指令集计算机结构的解码异常检测方法以及装置
CN106020774B (zh) * 2016-05-20 2019-02-12 上海兆芯集成电路有限公司 基于精简指令集计算机结构的解码异常检测方法以及装置
CN106027072A (zh) * 2016-05-30 2016-10-12 联想(北京)有限公司 一种译码处理方法及电子设备

Also Published As

Publication number Publication date
CN102420615B (zh) 2016-08-31
US9069693B2 (en) 2015-06-30
US20120060074A1 (en) 2012-03-08
US20140157077A1 (en) 2014-06-05
US8650456B2 (en) 2014-02-11

Similar Documents

Publication Publication Date Title
CN102077173B (zh) 利用写入验证减轻代码的误码平层
US7823043B2 (en) Corruption-resistant data porting with multiple error correction schemes
JP6451955B2 (ja) 多段ソフト入力デコードのためのシステムおよび方法
US8650457B1 (en) Methods and systems for reconfigurable LDPC decoders
JP6415557B2 (ja) 積符号のための誤りおよび消失組合せ復号のためのシステム、方法、およびコンピュータ・プログラム
US8954831B2 (en) Error correction codes for incremental redundancy
US5321703A (en) Data recovery after error correction failure
US20060085726A1 (en) Apparatus and method for decoding Reed-Solomon code
JP4261575B2 (ja) 誤り訂正処理装置及び誤り訂正処理方法
KR101625273B1 (ko) 더 짧은 블록 길이를 이용하여 더 긴 선형 블록 코드워드를 생성 및 디코딩하기 위한 장치, 시스템 및 방법
US8583982B2 (en) Concatenated decoder and concatenated decoding method
CN101836191A (zh) 使用多校验节点算法的纠错解码器
US8032812B1 (en) Error correction decoding methods and apparatus
US10177791B1 (en) Syndrome update and maintenance
CN103514061A (zh) 用于打破陷阱集的装置和方法
TW201629981A (zh) 記憶體控制模組與方法以及錯誤更正碼編/解碼電路與方法
JP5897384B2 (ja) パリティ共有データ符号化のためのシステム及び方法
US10606697B2 (en) Method and apparatus for improved data recovery in data storage systems
JP2019057752A (ja) メモリシステム
CN102420615A (zh) 基于解码器的数据恢复
TW201008133A (en) Low density parity check decoder using multiple variable node degree distribution codes
EP2665191A1 (en) Systems and methods for dual binary and non-binary decoding
US11031956B2 (en) Generalized concatenated error correction coding scheme with locality
JP4742044B2 (ja) データ・ストレージ・システム
EP2665190B1 (en) Decoding of non-binary codes with symbol re-grouping

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200424

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200424

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200424

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Mega Le

Patentee before: MARVELL WORLD TRADE Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160831

Termination date: 20200907