CN1311639C - 软纠错代数解码器 - Google Patents

软纠错代数解码器 Download PDF

Info

Publication number
CN1311639C
CN1311639C CNB011228350A CN01122835A CN1311639C CN 1311639 C CN1311639 C CN 1311639C CN B011228350 A CNB011228350 A CN B011228350A CN 01122835 A CN01122835 A CN 01122835A CN 1311639 C CN1311639 C CN 1311639C
Authority
CN
China
Prior art keywords
byte
reliability
candidate
multinomial
decoder
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.)
Expired - Fee Related
Application number
CNB011228350A
Other languages
English (en)
Other versions
CN1340923A (zh
Inventor
M·A·哈斯内
R·M·H·内
A·M·帕特
田村哲也
B·M·特拉格
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1340923A publication Critical patent/CN1340923A/zh
Application granted granted Critical
Publication of CN1311639C publication Critical patent/CN1311639C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/154Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon 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/45Soft decoding, i.e. using symbol reliability information
    • 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/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • H03M13/453Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
    • H03M13/455Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding using a set of erasure patterns or successive erasure decoding, e.g. generalized minimum distance [GMD] decoding

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种软纠错代数解码器和相关的方法使用擦除可靠性系数获得错误位置和值。尤其是通过Reed-Solomon解码器以迭代方式组合来自最大似然(ML)解码器的符号可靠性系数和来自内调制码符号的奇偶校验成功/失败,使得错误的擦除比被最大化。软纠错(ECC)代数解码器和相关的方法,使用二进制码和检测器一侧的信息,对Reed-Solomon码进行解码。Reed-Solomon码最适合于用在擦除通道上。阈值调节算法根据检测器错误滤波输出和调制码限制的成功/失败信息来考核候选擦除,尤其是,作为在盘驱动器应用中的当前的调制码的奇偶校验或失败使用奇偶校验。这个算法对Reed-Solomon解码器生成固定的擦除输入。本发明的一种补充的软解码算法教导使用关键方程解算器算法,其计算作为以检测器一侧的信息给定的加权来解决加权有理插值问题所得到的错误模式。

Description

软纠错代数解码器
发明领域
本发明涉及数据存储领域,尤其涉及使用软纠错代数解码器的系统和方法。特别是,根据本发明,通过Reed-Solomn解码器以迭代方式,组合来自最大似然(ML)解码器的字节可靠性系数和来自内调制码符号的奇偶校验成功/失败,从而把错误擦除率最大化,其目的是把需要检验的字节数最小化。
发明背景
早就确立了循环纠错码与存储装置中的数据存储有关的使用,并且通常被认为是存储系统的可靠性要求。通常,纠错处理包括校正子字节的处理,以确定每一个错误的位置和值。非零校正子字节源自在数据写入在存储介质上时产生的错误字符的异或。
使用的纠错码(ECC)校验字符数取决于代码的所需能力。作为一个例子,在许多当前的与存储装置中的存储8位字节一起使用的ECC系统中,把两个校验字节用于具有最多255个字节位置长度的字代码中的要被校正的每个错误。这样,例如需要6个校验字节来校正具有249数据字节和6个校验字节的数据块中的最多3个错误。因此在这种系统中产生6个不同的校正子字节。如果在包括从存储装置读出的255个字节的数据字中没有错误,那么6个校正子字节都是零模式。在这种情况下,不需要校正子处理并且可把数据字送到中央处理单元。但是,如果一个或多个校正子字节不为零,那么校正子处理包括识别错误字节的位置以及进一步为每个错误位置标识错误模式的处理。
下面的包括在正态校正子处理运算中的校正子数学概念和运算已经在不同出版物中作了说明。这些运算和数学解释通常涉及首先使用  “错误定位器多项式”来识别错误的位置。所涉及的使用错误定位器多项式的数学运算的全部对象是要仅使用在系统中产生的校正子字节确定错误字节的位置。
错误定位器多项式通常用作数学分析的开始,以根据校正子表达错误位置,使得可把二进制逻辑电路用来把校正子字节解码为首先识别错误位置,以使得相关硬件识别出各个位置中的错误模式。而且,在存储或通信系统中使用的繁忙(on-the-fly)ECC中的错误位置被计算为错误定位器多项式的根。
已经使用几种解码技术来改善解码性能。这种技术之一是最小距离解码,其错误校正能力仅依赖于码的代数冗余度。但是,最小距离解码在码的代数性能的基础上确定最靠近接收到的字的代码字,并且接收到的字的每一位的出错可能性不构成解码的属性。即,每一位的出错可能性都视为相等的,并且在错误位数超出依赖于码距离的纠错能力所允许的值时,解码会出错。
另一个更有效的解码技术是最大似然解码,根据该方法,使用每一位的出错可能性,计算与已经被发送代码字相关的可能性,并且带有最大可能性的代码字作为解码结果被分送。这个最大似然解码允许在数量上超出纠错能力的纠错。但是,最大似然解码技术很复杂并且要求重要的资源来实施。另外,最大似然解码技术的实施通常不考虑有价值的数据,例如位可靠性信息。
然而,在传统解码方案中,ReeD-Solomon码不被最优化来对给定的可靠性/奇偶性信息生成最大数目的擦除,主要是由于这种信息大部分不可用于ReeD-Solomon解码器这一事实。另外,不把传统解码器中实施的关键方程的解算器设计为解决有理插值问题。
这样,仍需要一种解码方法,降低似然解码技术的复杂性和引起的等待时间,却不明显影响其性能,并且不丢失位可靠性信息。
提出了使这种解码处理更有效的多次尝试。参考1997年9月的IEEE Transaction on Information Theory的Vol.43,No.5的1477到1488页的N.Kamiya的文章“On Acceptance Criterion forEfficient Sucessive Errors-and-Erasures Decoding of Reed-Solomon and BCH Codes”。但是,这样的尝试通常需要多次递归来计算错误定位器和评估器多项式,从而需要有价值存储空间中的冗余度。此外,这样的尝试通常包括其功能被限制于有限域运算的关键方程解算器,从而需要独立的模块来执行有限精度的实际运算,这增加解码处理的实施成本。
因此,仍有一种尚未满足的对更有效的解码算法的需要,该算法从由完全广义最小距离(GMD)解码算法产生的一组候选擦除中提供最可能的擦除和错误定位器多项式,而不定位所有候选错误定位器多项式的根,而且其可用存储空间中的最小冗余度来实施。
发明内容
根据本发明的第一方面,提供了一种纠错码系统,包括:
一个字节可靠性发生器,计算代码字的字节可靠性;
一个校正子发生器,用于产生一个或多个代码字的校正子;和
一个关键方程解算器,包括解码器:用于迭代处理字节可靠性和校正子以产生广义最小距离解码错误定位器多项式和错误评估器多项式。
根据本发明的第二方面,提供了一种纠错码方法,包括:
计算代码字的字节可靠性;
产生一个或多个代码字的校正子;和
迭代处理字节可靠性和校正子,以产生广义最小距离解码错误定位器多项式和错误评估器多项式。
根据本发明,一种软纠错代数解码器和相关的方法使用擦除可靠性系数来得到错误位置和值。尤其,来自最大似然(ML)解码器的符号可靠性系数和来自内调制码符号的奇偶校验成功/失败通过Reed-Solomon解码器以迭代方式被组合,使得错误擦除的比率被最大化。
根据本发明的一个特征,通过依次计算这二个多项式,解码器需要一次递归来计算错误定位器和评估器多项式,从而使得存储空间的冗余度最小化。
本发明的上述和其他特征通过软纠错(ECC)代数解码器和用于使用二进制代码和检测器一侧的信息来解码Reed-Solomon码的相关的方法实现。Reed-Solomon码最适合于在擦除通道上使用。本发明的一个特征是使用能够执行有限域运算和有限精度实际运算以降低解码处理的实施成本的关键方程解算器。
根据本发明的一个特征,阈值调节算法根据检测器错误滤波器输出和调制码限制成功/失败信息来考核候选擦除,尤其是作为盘驱动器应用中的电流调制码的奇偶校验或失败使用奇偶校验。这个算法对Reed-Solomon解码器生成固定的擦除输入。
本发明的一种补充的软解码算法教导使用关键方程解算器算法,其计算作为以检测器一侧的信息给定的加权来解决加权有理插值问题所得到的错误模式。
附图的简要说明
本发明的各种特征和实现方式将参考下面的说明、权利要求和附图进行更具体描述,其中,适当的地方再次使用参考序号,以表示参考项之间的对应性,其中:
图1是根据本发明实施繁忙代数纠错码(ECC)的数据存储系统,例如盘驱动器的简图;
图2是详细表示包括根据本发明实施繁忙纠错码的繁忙(OTF)纠错码(ECC)系统的缓冲硬盘控制器的结构的框图;
图3是图1的数据存储系统的框图,描述了沿着图2的硬盘控制器的读出通道和写入通道的数据流,并且表示由ECC读出处理器和ECC写入处理器构成的例示繁忙纠错码系统;
图4是图1的数据存储系统的框图,详细描述了形成图3的ECC读出处理器和ECC写入处理器的部件的纠错码模块的主要组件;
图5A是表示通过使用在图4的数据存储系统中的软纠错解码器装置实施纠错码的一般方法的功能流程图;
图5B是图4的纠错码方法的特定例子的功能流程图;
图5C是解释计算在图5A和5B的纠错方法中使用的错误定位器多项式的步骤的流程图;
图6表示在由图4的软纠错解码器处理的15字节位置处的由15个字节构成的一个示例性质的代码字;
图7表示要由图4的软纠错解码器处理的用于图6的代码字的示例字节可靠性系数;
图8表示要由图4的软纠错解码器处理的用于图6的代码字的示例性的候选擦除位置;
图9表示要由图4的软纠错解码器处理的用于图6的代码字的示例性的校正子;
图10表示在由图4的软纠错解码器以降序对其进行分类后的图7的示例性的字节可靠性系数;
图11表示在由图4的软纠错解码器根据它们的可靠性值对其进行分类后的图8的示例性的候选擦除位置。
发明的详细说明
图1表示由头堆叠组件12和绕公共轴16旋转的一堆隔开的磁、光和/或MO数据存储盘或介质14构成的盘驱动器10.头堆叠组件12包括延伸到盘14之间的间隔中的若干致动臂20,为图示简单起见,仅示出一张盘14和一个致动臂20。盘驱动器10还包括预放大器44、包括字节可靠性发生器49的读/写通道48和包括本发明的软纠错代数解码器200的硬盘控制器50.
头堆叠组件12还包括E状块24和以径向与致动臂20相反的位置附接于块24的磁转子26。磁转子26与致动臂20的定子(未示出)配合在大致径向上沿着箭头A的方向上的弧形路径旋转。用直流以一个极性或相反极性对磁转子26的线圈供能,使得头堆叠组件12(包括致动臂20)围绕轴P在盘14的大致径向方向上旋转。盘头组件33由盘14和头堆叠组件12构成。
换能头40安装于各个致动臂20的自由端,以绕轴P枢轴移动。磁转子26控制头40在径向的移动,以把头40定位成与要跟踪的数据信息道或数据柱体42对齐,并且访问这些轨道42上的特定数据扇区。
在数据盘14的每个表面的磁介质中,把大量轨道42排列成同心模式,每个轨道在一特定径向位置。数据柱体包括用于堆叠盘14的数据表面的一组相应的数据信息轨道42。数据信息轨道42包括多个分段或数据扇区,每一个包含预定尺寸的各个组的数据记录,这些数据记录被保留用于后面的检索和更新。数据信息轨道42可相对于伺服参考指数(index)被安置在预定位置。
图2表示包括根据本发明的实施繁忙纠错码的繁忙(OTF)纠错码(ECC)系统100的缓冲硬盘控制器50的示例性结构。应明白本发明并不限制于这个特定的结构,而且能够通过或与其它结构结合在一起被实施。
硬盘驱动器控制器50包括对来自硬盘组件33的例如从8位到32位的数据进行格式化的逻辑驱动电路105。FIFO寄存器110存储格式化的数据并与扇区缓冲器120交换数据。ECC系统100从驱动逻辑电路105接收格式化的数据并执行本发明的纠错码算法,如这里所述的那样。
缓冲器管理器115控制在ECC系统100、扇区缓冲器(即随机存取存储器)120和微处理器125之间的数据通信。另一个FIFO寄存器130存储数据并与扇区缓冲器120交换数据。序列控制器135连接在驱动逻辑电路105、微处理器125和主机接口140之间,以控制数据通信的序列操作和通过硬盘驱动器控制器50的各种命令。主机接口140提供在硬盘驱动器控制器50与主机60之间的接口。
图3表示图2的硬盘控制器50的框图,其包括由ECC读出处理器163和ECC写入处理器167构成的繁忙纠错码系统100。当二进制的数字数据序列要被写入盘14上时,将其暂时放置在缓冲器165中并且随后沿着写入路径或通道(157,167和169)进行处理和转换。
首先,数据串中的预定数目的二进制数据元素,也叫作字节,从缓冲器165移动并且经ECC写入处理器167序列化。在EGC写入处理器167中,数据字节被映射到从Reed-Solomom码抽取的代码字中。接着,在写入路径信号整形单元169中各个代码字被映射为游程受限的或其它带通或波谱整形的码,并且被改变为时变信号。写入路径信号整形单元169包括用于如这里所述对信号编码的编码器202(图4)。通过接口读/写换能器接口167,时变信号被应用,并因此而被应用于磁致电阻或其它合适的换能器头40中的写入元件用来转换为磁通模式。
当旋转盘14在头40下面通过时,从二进制数据元素从缓冲器165的移动开始直到磁通模式被写入在选择的盘轨道42(图1)上时的所有的测量是同步的且序列化。为了有效传输数据,一次将数据从一个盘扇区不分级(destaged)(写出)或分级(staged)(读)。这样,二进制数据到Reed-Solomom代码字的映射和向产生时变信号的通量的转换必须都在确定在换能器下面移动的一个记录轨道长度的单元的时间间隔内完成。一般的记录轨道长度的单元等于512字节的固定长度字节扇区。
当磁通模式序列要从盘14读出时,在读出路径或通道(157,159,161和163)中对其进行处理并且被写入到缓冲器165中。由换能器40感测到的时变信号通过读、写换能器接口167到达数字信号提取单元169。这里,信号被检测并且决定是否将其分解为二进制的1或0。当这些1和0从信号提取单元169流出时,将其设置为格式化器单元161中的代码字。
由于读出路径正在评估前面记录在盘14上的Reed-Solomom代码字的序列,那么,没有错误或擦除时,代码字应该是相同的。为测试是否为这种情况,每个代码字经来自格式化器161的路径应用于ECC读出处理器163。而且,ECC读出处理器163输出被写入到缓冲器165中。读出路径也以同步数据流方式操作,使得任何检测到的错误必须及时在代码字中被定位和纠正,以便ECC读出处理器163接收从盘轨道42读出的下一个代码字。缓冲器165和读写通道可由微处理器125监视和控制(图2),以确保参考模式可以规定不采用的路径的有效,例如顺序读出参考。
已经说明了本发明的ECC系统100操作的一般环境,现在说明构成ECC系统100部分的纠错代数解码器(软ECC解码器)200。ECC读出处理器163和ECC写入处理器167的任何一个包括一个ECC解码器200,它能够在使用数字逻辑电路的硬件中执行。软ECC解码器200的主要组件在图4中表示。
ECC系统100(图4)包括几个功能部件,例如编码器202、预放大器44、读/写通道48、校正子发生器205和包含本发明的软ECC解码器200的关键方程解算器。在操作中,字节可靠性发生器49计算代码字的字节可靠性。如这里所使用的那样,字节可靠性是代码字的准确度的指示,并且由两个分量构成:字节可靠性系数410和候选擦除位置420。
参考图4,读/写通道48包括产生指示位为“0”或“1”的概率的位对数似然比(LLR)的位对数似然比发生器50,该位对数似然比用下面公式表示:
Figure C0112283500151
对数似然比发生器50确定字节中每位的LLR并把具有最小LLR的位标识为字节可靠性。最小位LLR被设置为特定字节的字节可靠性系数(θi),如下所示:
θi=最小值LLRi,j
其中1  j  8
通过字节可靠性计算装置,优化擦除候选位置的有效方法是选择奇偶校验失败条件下的局部最小可靠性字节位置。这假设在读/写通道48中使用内奇偶校验码。读/写通道48使用内奇偶校验码来提供奇偶校验标记。在一个实施例中,奇偶校验标记从一组字节,例如每8个连续字节的一位奇偶校验得到。
字节可靠性发生器49使用奇偶校验来检测候选擦除位置(ei)。如果字节可靠性发生器49确定该组字节的奇偶校验失败,那么,字节可靠性发生器49选择该组字节内的具有最小θi的字节的候选擦除位置(ei)。
这个选择规则可进一步细化。根据另一个实施例,字节可靠性发生器49还计算可靠性比,即以上升值顺序彼此相连的两个字节可靠性系数(θi,θj)的比,如下所示:
可靠性比=θij
如果可靠性比小于可编程的预定阈值,那么,字节可靠性发生器49选择对应于该对字节可靠性系数(θi,θj)的字节的候选擦除位置(ei,ej)。
对于每个代码字,字节可靠性发生器49计算一系列的可靠性系数(θn),用于每个字节并且还提供候选擦除的位置,即带有最小可靠性的字节。校正子发生器205计算整个代码字的校正子并将它们传送到关键方程解算器的软ECC解码器200。
如这里解释的那样,软ECC解码器200使用字节可靠性系数410、候选擦除位置420和校正子发生器205产生的校正子来生成错误定位器和评估器多项式450。依次解出错误定位器和评估器多项式450,从而生成错误位置和值460,如Hassner等人的美国专利No.5,428,628中描述的那样,该专利被转让给与本发明相同的受让人,并且将其组合来作为参考。
现在,联系图5到11,考虑特定实施例,软ECC解码器200的操作被描述,这种描述是为了解释的目的而不是为了限制。软ECC解码器200接收校正子405(图9)、字节可靠性系数410(图7)和候选擦除位置420(图8)。在这个初始化阶段,软ECC解码器200选择(d-1)个最小可靠性位置并接着将其按降序排序(图10),使得最可靠字节列于最前面,其中d是汉明距离。在这个例子中,在位置序号1处的字节具有最大值的可靠性系数并且被列在最前面,接着是在位置序号8处的字节等。
类似地,对应的候选擦除的位置也以与字节可靠性系数410相同的顺序被列出(图11)。在这个例子中,在位置序号1处的具有最大值可靠性系数的字节具有伽罗依斯(Galois)域位置指数a1,接着是位置序号8处的带有伽罗依斯域位置指数a8的字节等,其中“a”是伽罗依斯域素元。
对于t字节的软ECC解码器200,是能够确定t个错误并具有汉明(Hamming)距离(d=2t+1)的解码器,执行本发明的解码算法所需的盘存储的总量是(12t+6),具体如下;
输入
●2t个寄存器用来存储校正子(图9);
●2t个寄存器用来存储分类的字节可靠性系数(图10);和
●2t个寄存器用来存储分类的候选擦除位置(图11)。
工作存储器
●2t个寄存器用来存储错误评估器多项式的系数;
●2t个寄存器用来存储辅助错误评估器多项式的系数;
●2t个寄存器用来存储最佳方案的错误评估器多项式;和
●6个寄存器用来存储下面的参数(一个寄存器用于一个参数):
○δ:控制这里描述的解码算法的流程的控制变量;
○θsum:性能标准;
○θbest:性能标准θsum的最佳值;
○δmin:控制变量δ的最小值;
○γ:在擦除位置处的错误评估器多项式的值;和
○η:在擦除位置处的辅助错误评估器多项式的值。
为了说明清楚的目的,在图9-11的例子中,t=4并且图5A和5B的解码处理500所需的寄存器数目是54个寄存器(即,(12*4)+6)。
对于t字节的软ECC解码器200,完成解码处理500所需的迭代总数(d-1)由下面的等式定义:
其中k是从0到t范围的指数。
图5A和5B表示由本发明的软ECC解码器200执行的解码处理500。在步骤510,软ECC解码器200通过初始化两个多项式V(x)和R(x)开始,其中V(x)是用下面的等式初始化的辅助评估器多项式:
V(x):=xd-1;及
R(x)是用下面的等式初始化的错误评估器多项式:
R(x):=S(x).E(x)mod xd-1
其中,S(x)是由校正子值确定的校正子多项式,而E(x)是其根是候选擦除位置的擦除多项式。
另外,在步骤510处,软ECC解码器200把下面的参数初始化为预置基值,如下所示:
○δ:=d-1,其中δ是错误的数目与当前方案的擦除数目相加两次的和,并通过把该值与码的汉明距离d进行比较来控制解码方法500的流程。
○δmin:=d,δmin是在当前的计算块中δ的最小值。
○θsum:=0,其中θsum是当前的计算块的性能标准。
○θbest:=0,其中θbest是计算块中的θsum的当前最佳的最大值。
○i:=0,其中i是用方法500执行的迭代次数。
○bestSol:=Sol:=[R(x),i],其中bestSol是与当前θbest相关的方案,而Sol是最近计算。
现在要具体描述的步骤515,520和540的目标是检查正评估的候选擦除是否是真正的错误。这个目标通过处理图10的分类的字节可靠性系数和顺序地一次一对{ei,θi}地以降序对应图11的分类的候选擦除位置来实现,所谓降序是以最可靠的处理首先开始。
在步骤515,迭代次数i递增1个单位(i=i+1),并且通过计算两个对应的多项式V(ei)和R(ei)来评估每一对{ei,θi},其中,ei表示候选擦除位置,而θi表示当前分析的对应字节可靠性系数。
而且在步骤515,软ECC解码器200评估下面的表达式:
γ:=R(ei)
η:=V(ei)
在步骤520,软ECC解码器200检查γ的值,即在被分析的候选擦除位置(ei)处的错误评估器多项式是否为0。如果软ECC解码器200在步骤520确定γ的值为0,那么进行到评估器缩减步骤530,这里,从进一步考虑来看,放弃作为假错误的候选擦除。这通过评估下面的表达式来完成:
δ:=δ-1
δ<d→θsum:=θsumi
R ( e i ) : = R ( e i ) x - e i ; - - - 15
δ<δmin→[δmin;=δ;Sol:=[R(x),i]]
从上面的表达式R(ei)看到,通过进一步考虑,把错误评估多项式R(ei)除以线性项(x-ei)减少(即去除)候选擦除。
然后,处理500在步骤535处询问是否已经考虑了所有分类的字节可靠性系数(图10)和分类的候选擦除位置(图11)。如果是的,那么,软ECC解码器200在步骤536处计算错误位置多项式,并生成最佳方案和当前方案:[bestSol,Sol],这将与图5C一起在后面说明。
如果解码方法500在步骤535处确定没有考虑一些分类的字节可靠性系数和分类的候选擦除位置,那么,处理500进行到步骤515,在那里其接受下一对候选擦除位置和字节可靠性系数{ei,θi}。然后,新一对{ei,θi}如这里所述的那样被处理。
返回到步骤520,如果解码方法500确定在被分析的候选擦除位置(ei)处的错误评估器多项式R(ei)的值γ不是为0,那么,进行到步骤540,在那里,询问当前正在分析的该对候选擦除位置和字节可靠性系数{ei,θi}的辅助评估器多项式V(x)的值η是否为0,即V(ei)=0。而且,在步骤540,软ECC解码器200还检查程度边界(degreebound)δ是否小于汉明距离d。
如果不满足步骤540的任何条件,即如果η不等于0并且δ不满足边界条件(即δ不小于汉明距离),那么处理500进行到评估器更新步骤550,在那里把当前候选擦除处理为实际错误,并更新最佳方案bestSol,如下面的表达式所示:
θsum>θbest→[θbest:=θsum;bestSol:=Sol]
θsum:=0;
δ:=δ-1;
δmin:=δ;
δ<d→θsum:=θsumi
R ( x ) : = R ( x ) - γ η · V ( x ) x - e i
Sol:=[R(x),i]
然后方法500返回到步骤535并且如上所述那样进行询问。
返回到步骤540,如果解码方法500确定满足两个条件,即如果η等于0并且δ满足边界条件(即δ小于汉明距离),那么处理500进行到辅助评估器更新步骤560,在那里更新辅助评估器多项式V(x)和最佳方案bestSol,如下面的表达式所示:
δ<d→θsum:=θsumi
δ:=δ+1;
V ( x ) : = V ( x ) - η / γ · R ( x ) x - e i
Sol:=[R(x),i]
然后方法500返回到步骤535并且如上所述进行询问。
转到图5C,知道了校正子S(x)、错误评估器多项式R(x)和指数i的解码处理500,通过在步骤560评估下面的表达式,计算错误定位器多项式P(x):
E ( x ) : = Π j = i + 1 d - 1 ( x - e j ) ;
T(x):=S(x).E(x)(mod xd-1);
P(x):=R(x)/T(x)(mod xd-1)
其中,
P ( x ) : = Π i = 0 d - 2 P i . x i ,
R ( x ) : = Π i = 0 d - 2 R i . x i ,
T ( x ) : = Σ i = 0 d - 2 T i . x i ,
然后,对于0≤i≤d-2,在步骤570处,迭代计算错误定位器多项式系数Pi,如下所示:
P i : = Ri + Σ j = 1 i T j . P i - j T 0
根据前面的解码处理500,软ECC解码器200使用本领域可用的或公知的技术来最终产生最佳方案和当前方案[bestSol,Sol]。
应理解本发明所描述的特定实施例仅是本发明的原理的某些应用的说明。在不背离本发明的精神和范围的情况下,可对这里描述的纠错系统和相关的方法作出多种修改。而且,尽管本发明为说明的目的仅相对于数据存储系统作了描述,但应清楚本发明可适用于各种通信和数据处理系统。

Claims (30)

1.一种纠错码系统,包括:
一个字节可靠性发生器,计算代码字的字节可靠性;
一个校正子发生器,用于产生一个或多个代码字的校正子;和
一个关键方程解算器,包括解码器:用于迭代处理字节可靠性和校正子以产生广义最小距离解码错误定位器多项式和错误评估器多项式。
2.根据权利要求1的系统,其中,字节可靠性由两个分量构成:字节可靠性系数和候选擦除位置。
3.根据权利要求2的系统,其中,字节可靠性发生器计算多个可靠性系数,其中每一个字节的代码字有一个可靠性系数,并且还提供带有最小可靠性系数的候选擦除的位置。
4.根据权利要求3的系统,其中,解码器在初始化阶段把错误定位器多项式和错误评估器多项式的多个参数初始化。
5.根据权利要求4的系统,其中,在初始化阶段,解码器选择(d-1)个最不可靠的字节并且对选择的字节以降序来分类,使得最可靠字节首先被处理。
6.根据权利要求5的系统,其中,在初始化阶段,解码器还把对应于字节可靠性系数的候选擦除的位置分类。
7.根据权利要求4的系统,其中,对于t字节解码器,该解码器执行总数为(d-1)次迭代,其中d是汉明(Hamming)距离。
8.根据权利要求7的系统,其中,解码器具有用下面的等式确定的等待时间:
其中k是从0到t的指数。
9.根据权利要求4的系统,其中,解码器初始化用下面的任何一个或多个:
辅助评估器多项式V(x)用下面的等式初始化:
V(x):=xd-1
其中d是汉明(Hamming)距离;或
错误评估器多项式用下面的等式初始化:
R(x):=S(x).E(x)mod xd-1
其中,S(x)是由校正子值确定的校正子多项式,E(x)是由候选擦除位置确定的擦除多项式。
10.根据权利要求9的系统,其中,解码器把下面的参数中的任何一个或多个初始化:
●δ:=d-1,其中δ是错误的数目与当前方案的擦除数目相加两次的和;
●δmin:=d,其中δmin是在当前的计算块中的δ的最小值;
●θsum:=0,其中θsum是当前的计算块的量度;
●θbest:=0,其中θbest是计算块中的θsum的当前最佳的最大值;
●i:=0,其中i是由解码器执行的迭代次数;或
●bestSol:=Sol:=[R(x),i],其中bestSol是与当前θbest相关的最佳方案,Sol最近计算的方案。
11.根据权利要求9的系统,其中,解码器还依次执行候选擦除检查来评估候选擦除是否为真正的错误,一次一个候选擦除。
12.根据权利要求11的系统,其中解码器评估下面的表达式:
γ:=R(ei)
η:=V(ei)
其中,ei是第i候选擦除位置的值;
解码器还询问γ的值,即在被分析的候选擦除位置(ei)处的错误评估多项式是否为0;
如果解码器确定γ的值为0,则进行到评估器缩减(reduction)阶段,这里,从进一步考虑来看,放弃作为假错误的候选擦除。
13.根据权利要求12的系统,其中,如果解码器确定在被分析的候选擦除位置(ei)处的错误评估器多项式R(ei)的值γ不为0,那么询问当前正在分析的候选擦除位置和字节可靠性系数处的辅助评估器多项式V(x)的值η是否为0(V(ei):=0),而且,还检查δ是否满足边界条件从而程度边界δ小于汉明距离d。
14.根据权利要求13的系统,其中,如果解码器确定η不等于0并且δ不满足边界条件,那么解码器进行到评估器更新阶段,在那里解码器把当前的候选擦除处理为实际错误,并更新最佳方案(bestSol)。
15.根据权利要求14的系统,其中,如果解码器确定η等于0并且δ满足边界条件,那么解码器进行到辅助评估器更新阶段,在那里更新辅助评估器多项式V(x)和最佳方案(bestSol)。
16.一种纠错码方法,包括:
计算代码字的字节可靠性;
产生一个或多个代码字的校正子;和
迭代处理字节可靠性和校正子,以产生广义最小距离解码错误定位器多项式和错误评估器多项式。
17.根据权利要求16的方法,其中,字节可靠性由两个分量构成:字节可靠性系数和候选擦除位置;及
其中计算代码字的字节可靠性包括计算多个可靠性系数,其中每一个字节的代码字有一个可靠性系数,并且还提供具有最小可靠性系数的候选擦除的位置。
18.根据权利要求17的方法,其中,迭代处理步骤包括在初始化阶段把错误定位器多项式和错误评估器多项式的多个参数初始化。
19.根据权利要求18的方法,其中,初始化步骤包括:
对字节可靠性系数分类使得最不可靠的字节首先被处理,以及
把对应于字节可靠性系数的候选擦除的位置分类。
20.根据权利要求19的方法,其中,初始化步骤包括对下面的任何一个或多个初始化:
●辅助评估器多项式V(x)用下面的等式初始化:
V(x):=xd-1
其中d是汉明(Hamming)距离;
●错误评估器多项式用下面的等式初始化:
R(x):=S(x).E(x)mod xd-1
其中,S(x)是由校正子值确定的校正子多项式,E(x)是由候选擦除位置确定的擦除多项式;
●δ:=d-1;其中,δ是错误的数目与当前方案的擦除数目相加两次的和;
●δmin:=d,其中δmin是在当前的计算块中的δ的最小值;
●θsum:=0,其中θsum是当前的计算块的量度;
●θbest:=0,其中θbest是计算块中的θsum的当前最佳的最大值;
●i=0,其中i是由解码器执行的迭代次数;或
●bestSol:=Sol:=[R(x),i],其中bestSol是与当前θbest相关的最佳方案,Sol是最近计算的方案。
21.根据权利要求18的方法,其中,处理步骤还包括依次执行候选擦除检查,以评估候选擦除是否为真正的错误。
22.根据权利要求21的方法,其中,执行候选擦除检查的步骤包括设置下面的表达式:
γ:=R(ei);
η:=V(ei);
其中,ei是第i候选擦除位置的值;和
还询问γ的值,即正在被分析的候选擦除位置(ei)处的错误评估器多项式是否为0;和
如果确定γ的值为0,通过由进一步考虑为假错误,而放弃候选擦除来执行评估器缩减步骤。
23.根据权利要求22的方法,其中,如果在被分析的候选擦除位置(ei)处错误评估器多项式R(ei)的值γ不为0,则询问当前正在分析的候选擦除位置和字节可靠性系数处的辅助评估器多项式V(x)的值η是否为0(V(ei):=0)而且,还检查δ是否满足使得程度边界δ小于汉明距离d的边界条件;
如果η不等于0并且δ不满足边界条件,那么通过把当前候选擦除处理为实际错误并更新最佳方案(bestSol)来执行评估器更新步骤;和
如果η等于0并且δ满足边界条件,那么通过更新辅助评估器多项式V(x)和最佳方案(bestSol)来执行辅助评估器更新步骤。
24.根据权利要求16的方法,其中,产生错误定位器多项式包括评估下面的表达式:
其中E(x)是其根是候选除擦位置的擦除多项式;
T(x):=S(x).E(x)(mod xd-1);其中S(x)是校正子,
P(x):=R(x)/T(x)(mod xd-1);其中P(x)是错误定位器多项式,
                                 R(x)是错误评估器多项式,
其中,
Figure C011228350006C2
T ( x ) : = Σ i = 1 d - 2 T i , x 1 ,
P i = Ri + Σ j = 1 i T j , P i - j T i , 其中Pi是错误定位器多项式系数,通过评估各个表达式,计算错误定位器多项式P(x),然后迭代计算错误定位器多项式系数Pi
25。根据权利要求16的方法,其中,迭代处理字节可靠性包括在一次递归中对有限域和有限精度运算进行积分。
26.根据权利要求16的方法,其中,计算字节可靠性包括由位对数似然比产生字节可靠性。
27.根据权利要求26的方法,其中,计算字节可靠性包括选择带有最小位对数似然比的字节可靠性。
28.根据权利要求17的方法,其中,计算字节可靠性包括使用奇偶校验来检测候选擦除位置。
29.根据权利要求27的方法,其中,计算字节可靠性包括使用奇偶校验来检测候选擦除位置。
30.根据权利要求17的方法,其中,计算字节可靠性包括以降值顺序计算两个连续字节可靠性系数的可靠性比;和
如果可靠性比小于预定阈值,那么选择对应于该对连续字节可靠性系数的字节的候选擦除位置。
CNB011228350A 2000-07-07 2001-07-06 软纠错代数解码器 Expired - Fee Related CN1311639C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/611872 2000-07-07
US09/611,872 2000-07-07
US09/611,872 US6553536B1 (en) 2000-07-07 2000-07-07 Soft error correction algebraic decoder

Publications (2)

Publication Number Publication Date
CN1340923A CN1340923A (zh) 2002-03-20
CN1311639C true CN1311639C (zh) 2007-04-18

Family

ID=24450719

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011228350A Expired - Fee Related CN1311639C (zh) 2000-07-07 2001-07-06 软纠错代数解码器

Country Status (4)

Country Link
US (1) US6553536B1 (zh)
JP (1) JP2002100127A (zh)
CN (1) CN1311639C (zh)
TW (1) TW511337B (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117418B2 (en) * 2000-09-11 2006-10-03 Comtech Aha Corporation Soft input-soft output forward error correction decoding for turbo codes
EP1425859A4 (en) * 2001-08-09 2009-01-07 Adaptive Networks Inc ERROR CORRECTION METHOD AND MECHANISM
GB2407946A (en) * 2003-11-05 2005-05-11 Nokia Corp Forward Error Correction decoder suitable for use with data comprising variable padding
CN100449948C (zh) * 2004-04-05 2009-01-07 美国博通公司 Ldpc编码信号位-校验并行解码的方法及装置
US7516389B2 (en) * 2004-11-04 2009-04-07 Agere Systems Inc. Concatenated iterative and algebraic coding
EP1681770A1 (en) * 2005-01-18 2006-07-19 Koninklijke Philips Electronics N.V. Error correcting code
US7587657B2 (en) * 2005-04-29 2009-09-08 Agere Systems Inc. Method and apparatus for iterative error-erasure decoding
US7526683B1 (en) * 2005-06-01 2009-04-28 Sun Microsystems, Inc. Dynamic self-tuning soft-error-rate-discrimination for enhanced availability of enterprise computing systems
TWI415416B (zh) * 2005-09-19 2013-11-11 St Ericsson Sa 在包含消除表格資料的移動式無線應用中用於校正錯誤的裝置及方法
KR100835134B1 (ko) 2006-08-22 2008-06-04 한국과학기술원 순방향 오류정정 복호화 방법 및 복호화기.
JP4833173B2 (ja) * 2006-10-30 2011-12-07 富士通株式会社 復号化器、符号化・復号化装置及び記録再生装置
JP5251000B2 (ja) * 2006-11-01 2013-07-31 富士通株式会社 誤り訂正回路及び媒体記憶装置
US7557617B1 (en) 2007-01-03 2009-07-07 Altera Corporation Digital decoder with complementary outputs
KR100845529B1 (ko) * 2007-01-03 2008-07-10 삼성전자주식회사 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
US8732558B1 (en) 2007-04-25 2014-05-20 Samsung Electronics Co., Ltd. MPE-FEC system capable of selecting an FEC mode, a forward error correcting method performed in the MPE-FEC system, and an FEC mode selecting method performed in the MPE-FEC system
US8127216B2 (en) 2007-11-19 2012-02-28 Seagate Technology Llc Reduced state soft output processing
US20090132894A1 (en) * 2007-11-19 2009-05-21 Seagate Technology Llc Soft Output Bit Threshold Error Correction
KR100943519B1 (ko) * 2007-11-22 2010-02-22 한국전자통신연구원 로그우도비 산출 방법 및 송신 신호 검출 방법
KR101490249B1 (ko) * 2007-12-11 2015-02-05 엘지전자 주식회사 연판정을 이용한 통신방법 및 장치
KR101467788B1 (ko) * 2007-12-11 2014-12-03 엘지전자 주식회사 랜덤 선형 부호화를 이용하는 통신방법 및 장치
JP5007676B2 (ja) * 2008-01-31 2012-08-22 富士通株式会社 符号化装置、復号化装置、符号化・復号化装置及び記録再生装置
US8166376B2 (en) * 2008-04-08 2012-04-24 Hitachi Global Storage Technologies Netherlands, B. V. Techniques for correcting errors and erasures using a single-shot generalized minimum distance key equation solver
US8386868B2 (en) * 2008-04-16 2013-02-26 Sandisk Il, Ltd. Using programming-time information to support error correction
KR101526317B1 (ko) * 2008-05-09 2015-06-11 삼성전자주식회사 계층적 디코딩 장치
CN101442394B (zh) * 2008-11-10 2011-06-29 西安电子科技大学 可迭代译码的网络编码协作通信方法
US9419651B2 (en) * 2008-12-31 2016-08-16 Stmicroelectronics, Inc. Non-polynomial processing unit for soft-decision error correction coding
CN101777919B (zh) * 2009-01-12 2014-07-16 瑞昱半导体股份有限公司 区块码解码方法
US8595603B2 (en) * 2011-03-29 2013-11-26 Intel Corporation Apparatus and methods for selective block decoding
US8443271B1 (en) * 2011-10-28 2013-05-14 Lsi Corporation Systems and methods for dual process data decoding
US9054742B2 (en) * 2013-03-14 2015-06-09 Intel Corporation Error and erasure decoding apparatus and method
US10674180B2 (en) * 2015-02-13 2020-06-02 Netflix, Inc. Techniques for identifying errors introduced during encoding
US10459783B2 (en) * 2016-08-30 2019-10-29 Marvell World Trade Ltd. Low-latency decoder for Reed Solomon codes
US10572342B2 (en) * 2016-10-24 2020-02-25 SK Hynix Inc. Memory system with LDPC decoder and operating method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428628A (en) * 1991-01-22 1995-06-27 International Business Machines Corporation Modular implementation for a parallelized key equation solver for linear algebraic codes
CN1149344A (zh) * 1994-05-24 1997-05-07 英特尔公司 利用硬件自动擦除存储器中的纠错码差错的方法和装置
US5745507A (en) * 1995-03-31 1998-04-28 International Business Machines Corporation Systematic symbol level ECC for use in digital memory systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763331A (en) 1985-12-11 1988-08-09 Nippon Telegraph And Telephone Corporation Method for decoding error correcting block codes
US4821268A (en) 1987-10-26 1989-04-11 Cyclotomics, Inc. Soft decision Reed-Solomon decoder
DE68920142T2 (de) * 1989-08-24 1995-07-13 Philips Electronics Nv Verfahren und Einrichtung zur Decodierung von wortgeschützten Codewörtern durch einen nichtbinären BCH-Code gegen mindestens einen Symbolfehler.
JP3154607B2 (ja) * 1993-12-28 2001-04-09 三菱電機株式会社 誤り訂正復号装置及び誤り訂正復号方法
JP3343857B2 (ja) * 1998-06-30 2002-11-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 復号装置、演算装置およびこれらの方法
US6449746B1 (en) * 1998-08-17 2002-09-10 T. K. Truong Decoding method for correcting both erasures and errors of reed-solomon codes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428628A (en) * 1991-01-22 1995-06-27 International Business Machines Corporation Modular implementation for a parallelized key equation solver for linear algebraic codes
CN1149344A (zh) * 1994-05-24 1997-05-07 英特尔公司 利用硬件自动擦除存储器中的纠错码差错的方法和装置
US5745507A (en) * 1995-03-31 1998-04-28 International Business Machines Corporation Systematic symbol level ECC for use in digital memory systems

Also Published As

Publication number Publication date
TW511337B (en) 2002-11-21
US6553536B1 (en) 2003-04-22
CN1340923A (zh) 2002-03-20
JP2002100127A (ja) 2002-04-05

Similar Documents

Publication Publication Date Title
CN1311639C (zh) 软纠错代数解码器
US8407563B2 (en) Low-complexity soft-decision decoding of error-correction codes
CN1288542A (zh) 用于循环纠错码的物理块地址恢复设备、系统和方法
US8448045B2 (en) Outer code error correction
US10484008B2 (en) Memory system with on-the-fly error detection and termination and operating method thereof
CN101276627B (zh) 使用迭代译码纠错的技术
US8413023B2 (en) Error-locator-polynomial generation with erasure support
US7774688B1 (en) Hardware efficient decoding system for Bose, Ray-Chaudhuri, Hocquenghem (BCH) product codes
CN101047388A (zh) 纠错装置
CN1945717A (zh) 信息记录和再现设备及方法
JPH1155129A (ja) 積符号の誤り訂正および並行検査
US9419651B2 (en) Non-polynomial processing unit for soft-decision error correction coding
US8996952B2 (en) High-throughput iterative decoding's defect scan in retry mode of storage system channel
EP2573943A1 (en) Power-optimized decoding of linear codes
JP4790790B2 (ja) 誤り検出訂正回路及び半導体メモリ
JP4733403B2 (ja) 復号器、データ記憶装置およびデータの誤り訂正の方法
US6742157B2 (en) Decoding system and method in an optical disk storage device
US7975200B2 (en) Error correction code (ECC) decoding architecture design using synthesis-time design parameters
US20070198904A1 (en) Error correction processing apparatus and error correction processing method
US7661057B2 (en) Clocking Chien searching at different frequency than other Reed-Solomon (RS) ECC decoding functions
JP2001211086A (ja) 選択的可変冗長性を具備する誤り訂正符号を与えるシステム及び方法
JP2007299393A (ja) 回転する記憶媒体の複数の層にデータを読み書きする方法、プログラム及びデータ記憶装置
CN1485848A (zh) 代数解码器和用于纠正任意组合的突发和随机错误的方法
CN1815940A (zh) 检测和纠正经通信信道传输的码字里的数据位错误的方法和系统
JP2004362758A (ja) 記憶媒体から検索されたデータの誤りを訂正するシステムおよび方法、ならびにコンピュータにこれらの誤りを訂正させるためのコンピュータ実行可能な命令を含むコンピュータ読取可能な記憶媒体

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070418