CN1134782C - 纠错方法和系统 - Google Patents

纠错方法和系统 Download PDF

Info

Publication number
CN1134782C
CN1134782C CNB991009118A CN99100911A CN1134782C CN 1134782 C CN1134782 C CN 1134782C CN B991009118 A CNB991009118 A CN B991009118A CN 99100911 A CN99100911 A CN 99100911A CN 1134782 C CN1134782 C CN 1134782C
Authority
CN
China
Prior art keywords
data
row
misdata
deletion
delegation
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 - Lifetime
Application number
CNB991009118A
Other languages
English (en)
Other versions
CN1225491A (zh
Inventor
名仓宽尚
出村雅之
田村哲也
田中启介
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.)
Mitsubishi Electric 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 CN1225491A publication Critical patent/CN1225491A/zh
Application granted granted Critical
Publication of CN1134782C publication Critical patent/CN1134782C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • 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/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
    • 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
    • H03M13/2909Product 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/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
    • H03M13/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

在乘积码方案的以前的处理方案中存在的问题是由于对主存储器1的大量存取所要求的处理时间太长。在基于乘积码方案的纠错方法中行方向纠错之后执行的列方向纠错中,在被归入删除一类的一行中至少两个相邻位置的数据以及与该数据有关的至少两个第一信息块被取出,以便根据在第一信息块中所包含的模式校正在至少两个相邻位置上的数据。

Description

纠错方法和系统
本发明涉及根据一个乘积码方案校正在数据记录磁盘或DVD(数字视盘)中所记录的错误数据的一种纠错方法和系统。
DVD已被用作ROM(只读存储器)或RAM(随机存取存储器)。在DVD-ROM/RAM中,基于乘积码方案的纠错在数据从DVD被读出时被完成,以及在DVD-RAM中,纠错码的生成在数据被新写入DVD时被完成。乘积码方案的使用由DVD标准规定。参见图1简单介绍乘积码方案如下:数据以K1(208行)×K2(172列)的数组排列,其中K1和K2每个是一正整数,同时一个纠错码即PO(奇偶外层码-Parity-Outer Code)被添加到垂直方向的每列的数据,一个纠错码即PI(奇偶内层码-Parity-Inner Code)被添加到在水平方向的每个行中的数据。包括数据和纠错码PO或PI的一组被称为ECC编码数据。在这个规范中,一行与一列的交点被称为一个位置。每个位置包括代表数据或符号的8个位。一行包括从#1到#172的172个位置,被从左端位置至右端位置沿水平方向排列,一列包括从#1至#208个位置,被从顶端位置至底端位置沿垂直方向排列。例如,在行2与列4的交点上的位置,当以行方向来查看这个位置时,被称为行的位置#4,或者当以列方向来查看这个位置时,被称为列的位置#2。
在图1中符号“X”代表一个错误数据。在图1所示的示例情况下,行1在位置#5和#7中包括错误数据,行2在位置#4至#8中包括错误数据,行3在位置#4到#7中包括错误数据,行4在位置#2至#4和位置#7到#9中包括错误数据,以及行5在位置#3和#7中包括错误数据。在乘积码方案中,在行方向的错误数据首先被校正,然后在列方向的错误数据被校正。也就是说,208行的纠错首先被完成,然后172列的纠错被完成。在行方向的数据和PI被取出以便完成在每行中数据的纠错,同时在列方向的数据和PO被取出以便完成在每列中数据的纠错。应当指出,在本规范中的描述是指从DVD读出的编码数据的纠错,而在图1中所示的ECC编码数据被称为编码数据。行1至208和纠错码被逐次记录在磁盘驱动装置的DVD中,并由一读出头读出,它们未被示出且保存在图3中所示的主存储器1中。在图1中所示的编码数据的一个位置,例如行1至8,被发送到缓冲存储器2。每行被发送到在图3中所示的编码器/译码器3的错误位置/模式发生器4,它们是本专业众所周知的。
在行方向和列方向纠错所要求的信息由错误位置/模式发生器4实现。错误位置/模式发生器4执行本专业中众所周知的一个Chien搜索函数,其生成产生错误数据的位置的一个表示式和校正错误数据的位模式,并根据该表示式计算错误数据的位置和位模式。假设在每行的纠错中最大可以校正三个错误数据。如果象在行2和4的情况中一样,在一行中的错误数据数目等于或大于四,则如本专业周知的那样,这个行被称为“删除”,且行2和4的错误数据不在行方向的纠错中被校正,删除行即行2和4的指针被保存在列方向纠错的编码器/译码器3的一个寄存器9B中。错误位置/模式发生器4发送一个指出被处理的一行是删除的信号至行计数器9A,它设置在寄存器9B中行的指针。被当作为删除处理的在行2和4中的错误数据在列方向的纠错中被校正。包含的错误数据小于四的行,例如在图1中行1、3和5在此处被称为“不删除”。
图2示出行方向纠错结果的一个例子。应当指出,该例子被选择来说明在以前的纠错过程中的问题。假设在行1的位置#1和#2中的错误数据,和在行3的位置#1和#2中的错误数据是新产生的。这些新的错误数据通过错误地校正在这些位置中的正确数据产生。如前所述,在每列中数据或符号的位置从列的上面至下面被规定为位置#1至#208。在列方向纠错中,在图3中示出的错误位置/模式发生器4配有在行方向纠错中获得的删除行即行2和4的指针。即删除行2和4的指针被用作例如输入到基于Read Solomon的一个纠错表示式的一个参数。由于Read Solomon的译码算法是众所周知的,所以此处不介绍纠错算法。删除的最大可校正数目N由下面的表示式表示。
N=16-(2×不删除中的错误数据的数目)
如果在列方向中的错误数据不包括属于不删除的错误数据,则N等于16,如果包括属于不删除的三个错误数据,则N等于10。包括保存在缓冲存储器2中的208个数据和第一列1的PI的编码数据被供给错误位置/模式发生器4。错误位置/模式发生器4确定属于不删除的错误数据的位置以及产生校正错误数据的位模式。另外,错误位置/模式发生器4根据指针,在列1的情况下行2和4,确定属于删除的错误数据的位置以及产生校正属于删除的数据的位模式。
更详细地说,在列1的纠错中,错误位置/模式发生器4查找在位置#1中属于不删除的错误数据,并产生校正错误数据的一个位模式,以及产生一个第二信息块,它包括NE1-1、位置(POS)=#1和NE1-1、BP(位模式),如在图4中所示的表的列1的框(BDX)1中所示,其中NE1-1表示它是在列1中属于不删除的第一个错误数据,POS=#1表示错误数据的位置是位置#1,BP表示校正错误数据的位模式。错误位置/模式发生器4把第二信息块发送到错误数据寄存器6至地址指针5的第一级。应当指出,包括指出保存属于被归入删除一类的行之数据的位置的一个位置数据的一个信息块和校正在该位置上的数据的一个模式被称为第一信息块,而包括指出保存属于被归入不删除一类的行之错误数据的位置的一个位置数据的一个信息块和校正在该位置上的错误数据的一个模式被称为第二信息块。
接着,错误位置/模式发生器4根据指针“行2”查找在位置#2中属于删除的第一个错误数据,并产生校正错误数据的一个位模式,以及产生一个第一信息块,它包括E1-1、位置(POS)=#2和E1-1、BP(位模式),如在图4中所示的列1的框2中所示,其中E1-1表示它是列1的删除的第一个错误数据,POS=#2表示错误数据的位置是位置#2,BP表示校正错误数据的位模式。错误位置/模式发生器4把第一信息块经由地址指针5发送到错误数据寄存器6的第二级。接着,错误位置/模式发生器4查找在位置#3中属于不删除的第二个错误数据,并产生校正错误数据的一个位模式,以及产生一个第二信息块,它包括NE1-2、位置(POS)=#3和NE1-2、BP(位模式),如在图4中所示的列1的框3中所示,其中NE1-2表示它是列1的属于不删除的第二个错误数据,POS=#3表示错误数据的位置是位置#3,BP表示校正错误数据的位模式。错误位置/模式发生器4把第二信息块经由地址指针5发送到错误数据寄存器6的第三级。接着,错误位置/模式发生器4根据指针“行4”查找在位置#4中属于删除的第二个错误数据,并产生校正错误数据的一个位模式,以及产生一个第一信息块,它包括E1-2、位置(POS)=#4和E1-2、BP(位模式),如在图4中所示的列1的框4中所示,其中E1-2表示它是列1的属于删除的第二个错误数据,POS=#4表示错误数据的位置是位置#4,BP表示较正错误数据的位模式。错误位置/模式发生器4把第一信息块经由地址指针5发送到错误数据寄存器6的第二级。用这种方法,错误位置/模式发生器4顺序地查找列1的错误数据,把每个错误数据的上述信息块经由地址指针5发送到错误数据寄存器6。当产生列1的上述信息块的操作结束时,错误数据寄存器6的内容被逐次发送到缓冲存储器2的区域7,列1的上述信息块在区域7中被组合成在图4中所示的表。对相继的列2、3、…7重复上述操作,在缓冲存储器2中的区域7内组合成在图4中所示的表。
接着,在列1中纠错的操作被完成。MPU8取出现在保存在段7中的在图4中表的列1中框1的第二信息块,并计算在主存储器1中保存相应于在列1中位置#1的数据的原来数据的一个地址。接着,MPU8从缓冲存储器2中取出在位置#1中的数据,并通过使用在框1中所包含的位模式校正所取出的数据,以及把经校正的数据写入到主存储器1的所计算得到的地址内。接着,MPU8取出在图4中表的列1中框2的第一信息块,并计算在主存储器1中保存相应于在列1中位置#2的数据的原来数据的一个地址。接着,MPU8从缓冲存储器2中取出在位置#2中的数据,并通过使用在框2中所包含的位模式校正所取出的数据,以及把经校正的数据写入到主存储器1的所计算得到的地址内。
MPU8对保存所有列1至172的一个字节(8位数据)的每个位置重复上述操作。显然,在主存储器1上的地址计算被对每个位置进行,对于每个对主存储器1的存取操作,一个字节被保存在主存储器1中,因此对在删除中的错误数据的地址计算的数目用N×172(列)来表示,其中如前所述,N是对在删除中的错误数据以列方向的最大可校正数目。通常,DRAM(动态随机存取存储器)被用作主存储器1,它能以一低的存取速度保存大的数据容量,而高存取速度的SRAM(同步随机存取存储器)以成本观点被用作缓冲器2。纠错的总处理时间取决于对主存储器1的存取操作数目。在以前的处理方案中存在的问题是由于对主存储器1的大量存取,所要求的处理时间太长。
本发明的目的是提供一种纠错方法和系统,它能大大减小在乘积码方案的列方向中纠错的处理时间,以便减小纠错的总处理时间。
按照本发明的一种基于乘积码方案的纠错方法,其中数据以K1×K2位置的数组排列(K1是行数,K2是列数),纠错码PO被添加到K2列,纠错码PI被添加到K1行,一行包含的错误数据等于或小于一预定数目,把该行作为不删除处理,一行包含的错误数据大于预定数目,该行作为删除处理,该方法包括下列步骤:
(a)  取出包含K2数据和纠错码PI的一行,以便将该一行归入不删除或删除一类,并且如果该一行被归入不删除一类,则根据纠错码PI校正在该一行中所包含的错误数据;
(b)  重复步骤(a),以处理K1行;
(c)  取出包含K1数据和纠错码PO的一列,以便产生一个第一信息块,该第一信息块包括了一个指示在所说的一列中一个位置的位置数据,在该位置处存储了属于被归类删除的一行的数据,并且该第一信息块还包括校正在所说的位置上的所说的数据的一个模式,同时产生一个第二信息块,该第二信息块包括了一个指示在所说的一列中一个位置的位置数据,在该位置处存储了属于被归类不删除的一行的错误数据,并且该第二信息块还包括校正在所说的位置上的所说的错误数据的一个模式;
(d)  取出在被归入删除一类的一行中至少两个相邻位置的数据以及与该数据有关的至少两个第一信息块,以便根据在第一信息块中所包含的模式校正在至少两个相邻位置上的数据;
以及
(e)  重复步骤(d),直到被归入删除一类的所有行的数据被校正为止。
步骤(a)产生被归入删除一类的行的指针,而步骤(d)根据指针产生保存在被归入删除一类的行中至少两个相邻位置的数据之一个单元的地址,以及把经校正的数据保存至该单元。
该方法还包括下列步骤:
(f)  取出一个第二信息块,以及取出在由该第二信息块的一个位置数据所指出的一个位置上的一个错误数据,以便根据在该第二信息块中所包含的模式校正该一个错误数据;以及
(g)  重复步骤(f),以便校正属于所说的不删除一类的错误数据。
第一信息块被保存在一个表的第一部分中,而第二信息块被保存在表的第二部分中,以及在被归入删除一类的一行中的数据的第一信息块以该第一信息块产生的次序被顺序地保存在第一部分的框中。
在步骤(d)中与在被归入删除一类的一行中至少两个相邻位置的数据有关的第一信息块的取出,通过顺序访问在表的第一部分中至少两个框来完成。
步骤(c)根据指针产生第一信息块的位置数据。
按照本发明的一种基于乘积码方案的纠错方法,其中数据以K1×K2位置的数据数组排列(K1是行数,K2是列数),纠错码PO被添加到K2列,纠错码PI被添加到K1行,一行包含的错误数据等于或小于一预定数目,把该行作为不删除处理,一行包含的错误数据大于该预定数目,该行作为删除处理,该方法包括下列步骤:
(a)  把K1×K2位置的数据数组、纠错码PO和纠错码PI保存在一个主存储器中,
(b)  从主存储器读取小于K1的一预定数目的行,以便把它们保存在一个缓冲存储器中,
(c)  访问缓冲存储器,取出包含K2数据和纠错码PI的一行,以便把该一行归入不删除或删除一类,同时如果该一行被归入不删除一类,则根据纠错码PI校正在该一行中所包含的错误数据;
(d)  如果一行被归入删除一类,则保存该行的指针;
(e)  重复步骤(b)、(c)和(d),以处理K1行;
(f)  在主存储器中产生许多单元的地址,每个地址根据指针保存在被归入删除一类的一行中的两个相邻数据,
(g)  从主存储器读取小于K2的一预定数目的列,以便把它们保存在缓冲存储器中,
(h)  访问缓冲存储器,取出包含K1数据和纠错码PO的一列,以便产生一个第一信息块,它包括指出保存属于被归入删除一类的行的数据的该一列中的位置的一个位置数据,以及校正在该位置上的数据的一个模式,同时产生一个第二信息块,它包括指出保存属于被归入不删除一类的行之错误数据的该一列中的位置的一个位置数据,以及校正在该位置上的错误数据的一个模式;
(i)  把第一信息块和第二信息块保存在一个表中;
(j)  重复步骤(g)、(h)和(i),以处理该预定数目的列;
(k)  访问缓冲存储器,取出在被归入删除一类的一行中至少两个相邻位置的数据,访问表,取出与该数据有关的至少两个第一信息块以及根据在该第一信息块中所包含的模式校正在至少两个相邻位置上的数据;
(l)  通过使用在步骤(f)中所产生的地址,访问在主存储器中保存两个数据的一个单元,以便把经校正的数据保存在该单元中,以及
(m)  重复步骤(k)和(l),直到被归入删除一类的所有行的数据被校正为止。
该方法还包括下列步骤:
(n)  访问表,取出与一个错误数据有关的一个第二信息块,访问缓冲存储器,取出由第二信息块的一个位置数据所指出的一个位置上的一个错误数据,以便根据在第二信息块中所包含的一个模式校正该一个错误数据;以及
(o)  重复步骤(n),以校正属于不删除一类的错误数据。
第一信息块被保存在一个表的第一部分中,而第二信息块被保存在表的第二部分中,以及在被归入删除一类的一行中的数据的第一信息块以第一信息块产生的次序被顺序地保存在第一部分的框中。
按照本发明的一种基于乘积码方案的纠错系统,其中数据以K1×K2位置的数组排列(K1是行数,K2是列数),纠错码PO被添加到K2列,纠错码PI被添加到K1行,一行包含的错误数据等于或小于一预定数目,把该行作为不删除处理,一行包含的错误数据大于预定数目,该行作为删除处理,该系统包括:
(a)  取出包含K2数据和纠错码PI的一行,以便将该一行归入所说的不删除或删除一类,并且如果该一行被归入不删除一类,则根据纠错码PI校正在该一行中所包含的错误数据的装置;
(b)  重复地操作装置(a),以处理K1行的装置;
(c)  取出包含K1数据和纠错码PO的一列,以便产生一个第一信息块,它包括指出保存属于被归入删除一类的行之数据的该一列中的位置的一个位置数据,以及校正在该位置的数据的一个模式,同时产生一个第二信息块,它包括指出属于被归入不删除一类的行之错误数据的该一列中的位置的一个位置数据,以及校正在该位置上的错误数据的一个模式的装置;
(d)  取出在被归入删除一类的一行中至少两个相邻位置的数据以及与该数据有关的至少两个第一信息块,以便根据在第一信息块中所包含的模式校正在至少两个相邻位置上的数据的装置;以及
(e)  重复地操作装置(d),直到被归入删除一类的所有行的数据被校正为止的装置。
装置(a)产生被归入删除一类的行之指针,而装置(d)根据该指针产生保存在被归入删除一类的一行中至少两个相邻位置的数据之一个单元的地址,以及把经校正的数据保存至该单元。
该系统还包括:
(f)  取出一个第二信息块,以及取出在由第二信息块的一个位置数据所指出的一个位置上的一个错误数据,以便根据在第二信息块中所包含的一个模式校正该一个错误数据的装置;以及
(g)  重复地操作装置(f),以便校正属于不删除一类的错误数据的装置。
第一信息块被保存在一个表的第一部分中,而第二信息块被保存在表的第二部分中,以及在被归入删除一类的一行中的数据的第一信息块以第一信息块产生的次序被顺序地保存在第一部分的框中。
在装置(d)中与在被归入删除一类的一行中至少两个相邻位置的数据有关的第一信息块的取出,通过顺序地访问在表的第一部分中至少两个框来完成。
装置(c)根据指针产生第一信息块的位置数据。
按照本发明的一种基于乘积码方案的纠错系统,其中数据以K1×K2位置排列(K1是行数,K2是列数),纠错码PO被添加到K2列,纠错码PI被添加到K1行,一行包含的错误数据等于或小于一预定数目,把该行作为不删除处理,一行包含的错误数据大于预定数目,该行作为删除处理,该系统包括:
(a)  把K1×K2位置的数据数组、纠错码PO和纠错码PI保存在一个主存储器中的装置,
(b)  从主存储器读取小于K1的一预定数目的行,以便把它们保存在一个缓冲存储器中的装置,
(c)  访问缓冲存储器,取出包含K2数据和纠错码PI的一行,以便把该一行归入不删除或删除一类,同时如果该一行被归入不删除一类,则根据纠错码PI校正在该一行中所包含的错误数据的装置;
(d)  如果一行被归入删除一类,则保存该行的指针的装置;
(e)  重复步骤(b)、(c)和(d),以处理K1行的装置;
(f)  在主存储器中产生许多单元的地址的装置,每个地址根据指针保存在被归入所说的删除一类的一行中的两个相邻数据;
(g)  从主存储器中读取小于K2的一预定数目的列,以便把它们保存在缓冲存储器中的装置,
(h)  访问缓冲存储器,取出包含K2数据和纠错码PO的一列,以便产生一个第一信息块,它包括指出保存属于被归入删除一类的行之数据的该一列中的位置的一个位置数据,以及校正在该位置上的数据的一个模式,同时产生一个第二信息块,它包括指出保存属于被归入不删除一类的行之错误数据的该一行中的位置的一个位置数据,以及校正在该位置上的错误数据的一个模式的装置;
(i)  把第一信息块和第二信息块保存在一个表中的装置;
(j)  重复地操作装置(g)、(h)和(i),以处理预定数目的列的装置;
(k)  访问缓冲存储器,取出在被归入删除一类的一行中至少两个相邻位置的数据,访问表,取出与该数据有关的至少两个第一信息块以及根据在第一信息块中所包含的模式校正在至少两个相邻位置上的数据的位置;
(l)  通过使用由装置(f)所产生的地址,访问在主存储器中保存两个数据的一个单元,以便把经校正的数据保存在该单元中的装置,以及
(m)  重复地操作装置(k)和(l),直到被归入删除一类的所有行的数据被校正为止的装置。
该系统还包括:
(n)  访问表,取出与该一个错误数据有关的一个第二信息块,访问缓冲存储器,取出由第二信息块的一个位置数据所指出的一个位置上的一个错误数据,以便根据第二信息块中所包含的一个模式校正该一个错误数据的装置;以及
(o)  重复地操作装置(n),以校正属于不删除一类的错误数据的装置。
第一信息块被保存在一个表的第一部分中,而第二信息块被保存在表的第二部分中,以及在被归入删除一类的一行中的数据的第一信息块以第一信息块产生的次序被顺序地保存在第一部分的框中。
图5示出按照本发明的一个DVD系统。一个磁盘驱动装置11包括顺序地保存图1所示编码数据的数据记录磁盘或DVD、旋转DVD的一个主轴马达和从DVD读出编码数据的一个读出头。因为DVD、主轴马达和读出头是本专业众所周知的,所以这些在图5中未示出。为便于将本发明的纠错过程与以前技术的纠错过程作一比较,本发明的纠错过程采用图1所示的编码数据来说明。记录在DVD上的图1的编码数据的行1至208和纠错码PO与PI被顺序地读出,并经由一根线21被保存在一主存储器12,例如DRAM中。一个缓冲存储器13,例如SRAM包括四个存储器区域14、14A、15和15A。存储器区域14和15被用作具有比主存储器12高的处理速度的一个高速缓冲存储器。一部分编码数据,例如一组8行和下一组8行在行方向的纠错过程中被保存在存储器区域14和15中,而一部分编码数据,例如一组8列和下一组8列在列方向的纠错过程中被保存在存储器区域14和15中。存储器区域14A和15A分别被用于保存在行或列方向的纠错中所组合成的图7所示的表1和图10所示的表2。
一个编码器/译码器16包括一个编码器部分,当一个208行×172列的新数据被保存到DVD时,编码器部分产生PI和PO,以及一个译码器部分,它包括用以产生组合成表1和2的第一和第二信息块的错误位置/模式发生器26、第一和第二地址指针27和28、一个错误数据寄存器29、一个行计数器31、一个寄存器17和一个寄存器32。这些部件的工作在后面说明。MPU18控制磁盘驱动装置11、主存储器12、缓冲存储器13和编码器/译码器16的工作,并包括一个存储器33,它包含存储器区域34、35和36。如前所述,错误位置/模式发生器26执行本专业中众所周知的一个Chien搜索函数,其生成产生错误数据的位置的一个表示式和校正错误数据的位模式,并根据该表示式计算错误数据和位置和位模式。
A:行方向的纠错。
图6示出校正图1所示的编码数据的行的错误数据的处理步骤的流程图。行方向的纠错操作实际上与以前的技术一样。MPU18控制图6的步骤的操作。应当指出,包括等于或小于一预定数目的错误数据的行被称为不删除,包括大于预定数目的错误数据的行被称为删除,表1的信息块被用于校正在不删除中的错误数据。在示例实施例中,数字“3”被选择作为预定数目。操作在步骤41上开始,从主存储器12中取出第一组8行并保存在存储器区域14中,从主存储器12中取出第二组8行并保存在存储器区域15中。第一组8行的纠错通过经由步骤42至步骤50的第一个循环操作来进行。当第一组的处理被完成时,第三组8行被保存在存储器区域14中,并被保存在存储器区域15中的第二组8行的纠错被开始。
步骤42至48的操作的目的是把每个8行,在本例中行1至8归入不删除和删除一类,并组合成图7所示的表1。操作进到步骤42,包括行1的K2数据和PI的编码数据经由一根线24被发送到错误位置其中/模式发生器26。错误位置/模式发生器26计算错误数据的位置和根据纠错码IP校正错误数据的位模式。对于行1的位置#5中第一个错误数据,错误位置/模式发生器26产生校正错误数据的一个位模式(BP),以及产生一个第二信息块,它包含NE1-1、位置(POS)=#5和NE1-1、BP(位模式),如图7所示的在行1的框1中所示,其中NE1-1表示它是被归入不删除一类的行1的第一个错误数据,POS=#5表示错误数据的位置是位置#5,BP表示校正错误数据的位模式。错误位置/模式发生器26把第二信息块经由第一个地址指针27发送到错误数据寄存器29的第一级。应当指出,如前所述,包含指出保存属于被归入删除一类的行的数据的一个位置的一个位置数据以及校正在该位置上的数据的一个模式的一个信息块被称为第一信息块,而包括指出属于被归入不删除一类的行的错误数据的一个位置的一个位置数据以及校正在该位置上的错误数据的一个模式的一个信息块被称为第二信息块。
对于在行1的位置#7中的第二个错误数据,错误位置/模式发生器26产生校正错误数据的一个位模式,以及产生一个第二信息块,它包含NE1-2、位置(POS)=#7和NE1-2、BP(位模式),如图7所示的在行1的框2中所示,其中NE1-2表示它是被归入不删除一类的行1的第二个错误数据,POS=#7表示错误数据的位置是位置#7,BP表示校正错误数据的位模式。错误位置/模式发生器26把第二信息块经由第一个地址指针27发送到错误数据寄存器29的第二级。操作进到步骤43,其中错误位置/模式发生器26确定行1是否包含错误数据。如果步骤43的回答是NO,操作进到步骤44,其中这行的一个标志1在MPU18中的存储器区域36中被设置。如果步骤43的回答是YES,则操作进到步骤45,其中错误位置/模式发生器26确定在一行中错误数据的总数是否大于3。也就是说,该行在步骤45中被归入删除或不删除一类。如果步骤45的回答是YES,则操作进到步骤46,其中错误位置/模式发生器26把指出当前行是删除的一个信号发送到行计数器31。行计数器31设置删除的行号为一个至寄存器17的指针。用这种方法,被归入删除一类的行的指针被保存在译码器部分的寄存器17中。在行1的情况中,行1是不删除,因此步骤45的回答是NO,操作进到步骤47,其中包含NE1-1、位置(POS)=#5和NE1-1、BP(位模式)的第二信息块以及包含NE1-2、位置(POS)=#7和NE1-2、BP(位模式)的第二信息块被从错误数据寄存器29发送到存储器区域14A,以便组合成表1的第一行。
应当指出,图7所示的表1是对第一组行1至8在存储器区域14A中所组合成的一个最后获得的表,仅第一个地址指针27被用在行方向的纠错中。操作进到步骤48,其中译码器部分确定所有8行是否已处理过。如果步骤48的回答是YES,则操作进到步预49。在示例的情况下,步骤48的回答是NO,操作返回到步骤42,行2的编码数据被发送到错误位置/模式发生器26。由于这个行2包括错误数据且在行2中所包含的错误数目大于3,所以这个行2在步骤45中被归入删除一类,操作进到步骤46,其中指针“行2”被保存在寄存器17中,操作返回到步骤42,其中下一行3被发送到错误位置/模式发生器26,同时错误位置/模式发生器26产生包含第一个错误数据的NE3-1、位置=#4、NE3-1、BP的第二信息块以及包含第二个错误数据的NE3-2、位置=#7、NE3-2、BP的第二信息块,并把这两个第二信息块经由第一个地址指针27发送到错误数据寄存器29的第一级和第二级。
操作进到步骤43,回答YES被产生,操作进到步骤45,它产生回答NO,因为行3仅包含两个错误数据,行3被归入不删除一类。操作进到步骤47,其中在错误数据寄存器29中的上面两个第二信息块被发送到在存储器区域14A中表1的行3。操作进行步骤48,在本例中步骤48的回答是NO,操作返回到步骤42,同时上述的操作被重复,直到步骤48的回答变成YES为止。当步骤48的回答是YES,其表示第一组的所有8行已被处理时,保存在译码器部分的寄存器17中的删除的指针即“行2”、“行4”被传送到MPU18的存储器区域34,同时在这个时刻,在8行中不删除的第二信息块已被组合在缓冲存储器13的存储器区域14A中的表1内。
步骤49和50的操作的目的是根据图7所示的表1的第二信息块校正在8行中被归入不删除一类的行的错误数据。在步骤49的操作中,MPU18取出图7所示表1的行1的框1的第二信息块,根据在第二信息块中位置数据#5计算保存行1的位置#5的错误数据的主存储器12的一个地址。同时,MPU18从区域14取出行1的位置#5的错误数据,例如8位数据“00000001”,并执行错误数据“00000001”与校正该错误数据的位模式(BP)例如“00000001”的异或操作,结果得到经校正的8位数据“00000000”。同时,MPU18把经校正的数据保存到主存储器12的地址中。用这种方法,保存在主存储器12中的行1的位置#5的原来数据被校正。当在一行中所有错误数据在步骤49中被校正时,操作进到步骤50,其中MPU18确定8行的处理是否已被完成。如果步骤50的回答是NO,则操作返回到步骤49。如果步骤50的回答是YES,操作进到步骤51,其中MPU18确定208行的处理是否已被完成。如果步骤51的回答是NO,则操作返回到步骤42,其中在存储器区域15中的下一个8行,即行9至16的处理被开始,下一个8行的新的表1被组合到存储器区域15A中。
如果步骤51的回答是YES,操作在步骤52上结束。
对于每组8行,重复步骤42至步骤50的操作,在被归入不删除一类的行中被保存在主存储器12中的错误数据根据表1的第二信息块被校正,同时被归入删除一类的行的指针被累积在MPU18的存储器区域34中。当208行的处理已被完成时,被归入删除一类的行的指针被保存在MPU17的存储器区域34中。步骤51的回答YES表示在所有行是不删除且所有行包括三个错误数据的情况下,校正一个错误数据的处理最多被重复3×208次。
B:行方向纠错的结果
图2示出行方向纠错结果的例子,其被参见以前技术的说明。如前所述,在行1的位置#1和#2中的错误数据,以及在行3的位置#1和#3中的错误数据被新产生。这些新的错误数据通过错误地校正在这些位置中的正确数据被产生。在行方向纠错中在一行中产生错误校正的概率取决于在一行中可校正错误数据的数目,如下所述。
可校正错误数据的数目            产生错误校正的概率
         5                               10-1
         4                               10-3
         3                               10-6
         2                               10-8
         1                               10-11
在示例实施例中,在一行中可校正错误数据的数目是3,因此,查看在列方向中的数据,在一列中产生属于不删除一类的错误数据的概率是10-6,在一列中剩下的错误数据属于删除一类。因此,在列方向的纠错中,在一列中所包括的几乎没有错误数据属于删除一类。但是,图2所示的示例例子被选择供说明之用,在该例子中第一列包括在位置#1和#3中所产生的两个错误数据。
C:列方向的纠错
图8和9示出按照本发明校正图2所示编码数据的列的数据的错误数据的处理步骤的流程图。
C-1:校正在列方向中属于删除一类的错误数据:
简略地说,步骤54至58的操作的目的是组合图10所示的表2。操作在步骤53上开始,第一组8列被从主存储器12中取出并被保存在存储器区域14中,以及第二组8列被从主存储器12中取出并被保存在存储器区域15中。第一组8列的纠错通过经由步骤54至步骤65的操作来进行。当第一组的处理被完成时,第三组8列被保存在存储器区域14中,并且被保存在存储器区域15中的第二组8列的纠错被开始。操作进到步骤54,其中MPU18把删除的指针即现在保存在MPU18的存储器区域34中的行2、行4…发送到译码器部分的寄存器32中。操作进到步骤55,其中MPU18根据删除的指针即保存在存储器区域34中的行2、行4、…计算主存储器12的单元的地址,每个地址包括删除的两个相邻位置。参见图11,被归入删除一类的行2和4的列1至8被分成四个单元,每个单元包括两个相邻位置的两个数据。行2的第一个单元包括列1和2的两个数据,行2的第二个单元包括列3和4的两个数据,如此等等。对包括如图11所示的列1和8的行2和4,MPU18计算主存储器12上的8个单元的地址例如(X0、Y0),(X1、Y1)等等,同时MPU18反这些地址保存到存储器33的存储器区域35中。
操作进到步骤56,其中列1的编码数据经由线24被发送到错误位置/模式发生器26,以产生第一信息块和第二信息块,如在图10的表2中所示。错误位置/模式发生器26根据被保存在寄存器32中的删除的指针,可以检测哪一种类型的错误数据,属于删除一类的错误数据还是属于不删除一类的错误数据被处理。更具体地说,对于在列1的位置#1中属于不删除(行1)的错误数据,错误位置/模式发生器26计算位置#1和校正错误数据的一个位模式(BP),并产生第二信息块,它包括NE1-1、位置(POS)=#1和NE1-1、BP(位模式),如在图10的表2中所示的列1的不删除部分或第二部分的框X中所示,其中NE1-1表示它是在列1中属于不删除一类的第一个错误数据,POS=#1表示错误数据的位置是位置#1,BP表示校正错误数据的位模式。错误位置1模式发生器26把第二信息块经由第二个地址指针28发送到错误数据寄存器29的不删除部分的第一级,如图12所示。
应当指出,译码器部分的第一和第二地址指针27和28被用于列方向的纠错,而错误数据寄存器29被分成经由第一地址指针27保存属于删除一类的错误数据的第一信息块的删除部分,以及经由第二地址指针28保存属于不删除一类的错误数据的第二信息块的不删除部分。对于在列1的位置#2中属于删除(行2)一类的错误数据,错误位置/模式发生器26计算位置#2和校正错误数据的一个位模式(BP),并产生一个第一信息块,它包括E1-1、位置(POS)=#2和E1-1、BP(位模式),如在表2的列1的错误数据或第一部分的框1中所示,其中E1-1表示它是在列1中属于删除一类的第一个错误数据,POS=#2表示错误数据的位置是位置#2,BP表示校正错误数据的位模式。错误位置/模式发生器26把第一信息块经由第一个地址指针27发送到错误数据寄存器29的删除部分的第一级,如图12所示。
用同样的方法,误差位置/模式发生器26产生包括NE1-2、位置(POS)=#3和NE1-2、BP(位模式)的第二信息块并把第二信息块经由第二个地址指针28保存到错误数据寄存器29的不删除部分的第二级,然后产生包括E1-2、位置(POS)=#4和E1-2、BP(位模式)的第一信息块并把第一信息块经由第一个地址指针27保存到错误数据寄存器29的删除部分的第二级。当列1的所有错误数据的信息块被保存在错误数据寄存器29中时,操作进到步骤57,其中第一和第二信息块被发送到缓冲存储器13的存储器区域14A,在那里表2的列1被组合,操作进到步骤58,其中译码器部分确定所有8列是否已被处理。如果步骤58的回答是YES,则操作进到步骤59。在示例的情况中,步骤58的回答是NO,操作返回到步骤56,下一个列2的编码数据被发送到错误位置/模式发生器26。步骤56至58的循环操作被重复直到步骤58的回答变成YES。当步骤58的回答是YES时,操作进到步骤59。应当指出,与在图2中列1与行2的交点上的数据有关的第一信息块E1-1被保存在图10的表2的列1的框1中,与在图2中列2与行2的交点上的数据有关的第一信息块E2-1被保存在图10的表2的列2的框1中,以及与在图2中列3与行2的交点上的数据有关的第一信息块E3-1被保存在图10的表2的列1的框1中,如此等等。也就是说,与第一个删除即行2有关的第一信息块被排列在表2的垂直方向的172个框1中,而与第二个删除即行4有关的第一信息块被排列在表2的垂直方向的172个框2中,如此等等。MPU18知道上述排列关系,因此当MPU18样正在列1与行2的交点上的数据,和在列2与行2的交点上的数据时,MPU18从存储器区域14中并行地取出在删除即行2中在两个相邻位置上的这二个数据,并从表2取出第一信息块E1-1和E2-1。换句话说,第一信息块被保存在表2的删除部分,而第二信息块被保存在表2的不删除部分,在被归入删除一类的一行中K2位置的第一信息块以第一信息块产生的次序被保存在表2垂直方向的相继的框中。
步骤59和61的操作效果是将为校正属于删除一类错误数据访问主存储器12的数目减小至值N×86,其中N是删除的最大可校正数目。在步骤59中,MPU18从存储器区域14中取出在图2中所示的编码数据中在被归入删除一类的行2中两个相邻列位置#1和#2上的两个数据,并从表2取出两个第一信息块,即在表2(图10)中列1的框1的第一信息块和列2的框1的第一信息块。两个数据的例子是“0000000100000000”。也就是说,与删除的两个相邻列位置的两个数据(16位数据)有关的两个第一信息块被从表2取出。
应当指出,第一信息块E1-1的位模式(BP)是“00000000”和第一信息块E2-1的位模式是“00000000”,因为在行2中两个相邻列位置#1和#2的两个数据被校正,如在图2中所示。MPU18执行取出数据“0000000100000000”与位模式(BP)“0000000000000000”的异或操作,结果得到16位数据“0000000100000000”。同时,MPU18把所得到的16位数据“0000000100000000”保存到主存储器12的地址(X0、Y0)的单元中作为经校正的数据。上述两个数据被原本地校正,且没被位模式校正,因此可以说原来的两个数据被复现。但是在纠错领域习惯地说,两个数据的复现被称为两个数据的校正,即使它们实际上没被校正,因此在规范中它被称为两个数据的校正。操作进到步骤60,其中MPU18确定一个删除的位置#1至#8的处理是否已被完成。
在示例例子中,步骤60的回答是NO,操作返回到步骤59,其中MPU18从存储器区域14中取出在图2所示的行2中两个相邻位置#3和#4上的两个数据(16位数据),并从表2取出两个第一信息块,即表2(图10)中列3的框1的第一信息块和列4的框1的第一信息块。MPU18执行16位数据与16位模式的异或操作,并把所得到的16位数据保存到主存储器12的地址(X1、Y0)的一个单元中作为经校正的数据。在本例中,如果行2的位置#4的8位错误数据是“00000001”,例如被保存在表2的列4的框1中的第一信息块E4-1的8位模式是“00000001”,则所得到的经校正的8位数据“00000000”。用这个方法,在图11所示的包括8列的一个删除的四个单元中的数据在步骤59和60中被顺序地校正。如果步骤60的回答是YES,则操作进到步骤61,其中MPU18确定N删除的处理是否已被完成。如果步骤61的回答是NO,则操作返回到步骤59。如果步骤61的回答是YES,它意味着包含列#1至#8的所有N删除的处理已被完成,其中N是删除的最大可校正数目,操作进到图9中的步骤62。
显然,在本发明中删除的两个相邻位置的16位数据以一次访问操作被保存在主存储器12中。在以前根据图4所示的表进行的处理中,仅删除的一个位置的8位数据以一次访问操作被保存在主存储器中。显而易见,按照本发明,为校正删除的数据访问主存储器的次数可以实质上被减小到在以前处理中次数的一半。此外,MPU18从缓冲存储器13取出16位数据以及从表2取出保存在存储器区域14A或15A中的校正错误数据的16位模式,以便校正删除的16位数据。在以前根据图4所示的表进行的处理中,从主存储器1中取出8位数据,从图4中的表取出8位模式。显而易见,按照本发明,访问缓冲存储器13和表2的次数可以实质上被减小到在以前的处理中次数的一半。
另外,按照本发明,MPU18计算所有单元的所有地址,每个地址包括删除的两个相邻位置的两个数据,在步骤55中根据删除的指针,即行2、行4…一齐被保存在存储器区域34中。在以前的处理中,主存储器1的地址的计算由MPU8进行,每次从图4所示的表中取出一个框的信息块。本发明可以简化操作流程,因此纠错的处理时间可以被减小。用这个方法,本发明由于上述理由可以减小校正在删除中所包含的错误数据的处理时间。更具体地说,在删除中错误数据的校正占据列方向纠错的较大部分。例如,如前所述,在一行中可校正错误数据数目为3的情况下,在一列中产生属于不删除的错误数据的概率是10-6,而在一列中剩下的错误数据属于删除。也就是说,在一列中几乎所有错误数据属于删除。本发明可以减小校正在列方向纠错中属于删除一类的数据的处理时间,因此本发明可以显著减小乘积码方案的行和列方向纠错所要求的总处理时间。
C-2:在列方向不删除中错误数据的校正
图9所示的过程校正在包括列1至8的不删除中剩下的错误数据,因为如前所述,包括列#1至#8的所有N删除的处理已在图8中步骤61中完成。操作在步骤62上开始,其中MPU18取出在图10所示的表2的列1的框X的第二信息块NE1-1,以根据第二信息块NE1-1计算保存列1的位置#1的错误数据的主存储器12的地址。操作进到步骤63,春中MPU18从区域14取出列1的位置#1的错误数据例如8位数据“00000001”,并执行错误数据“00000001”与校正错误数据的位模式(BP)例如“00000001”的异或操作,结果得到经校正的8位数据“00000000”。同时,MPU18把经校正的数据保存到在步骤62中计算的主存储器12的地址中。用这个方法,保存在主存储器12中的列1的位置#1的原来数据被校正。当一个错误数据在步骤63中被校正时,操作返回到步骤62至步骤64。步骤64确定在一列中属于不删除的所有错误数据的校正是否已完成。
如果步骤64的回答是NO,则操作返回到步骤62。如果步骤64的回答是YES,则操作进到步骤65,其中MPU18确定8列的处理是否已被完成。如果步骤65的回答是NO,则操作返回到步骤62以处理下一列。如果步骤65的回答是YES,则操作进到步骤66,其中MPU18确定所有172列的处理是否已被完成。如果步骤66的回答是NO,则操作返回到步骤54,其中在存储器区域15中的下一个8列即列9至16的处理被开始,同时第三组8列被保存在区域14中。
对于每组8列,重复步骤54至步骤65的操作。步骤66的回答YES表示在172列中错误数据的校正已完成。如果步骤66的回答是YES,则操作在步骤67上终止。考虑属于删除一类的错误数据的校正,为校正属于图2所示编码数据的所有删除的数据所要求的至主存储器12的访问操作的数目被减小到最大N×86次,其中N是删除的最大可校正数目。如前所述在以前的处理中,至主存储器12的访问操作要求N×172次。
在所述的实施例中,虽然步骤62至65在步骤61之后执行,但步骤62至65可以在步骤54至61的处理之前进行。在本实施例中,包含主存储器12的两个字节的一个单元同时被访问,但如果主存储器12被构成能接受三字节或四字节方案的地址操作,则包含三个或四个字节的一个单元可以同时被访问。
[发明的效果]
本发明由于上述理由可以减小乘积码方案的行和列方向纠错所要求的总处理时间。
4.附图简介
图1示出基于乘积码方案的编码数据。
图2示出在行方向纠错之后的编码数据。
图3示出校正编码数据中错误的一个以前的系统。
图4示出在以前的系统中列方向纠错所使用的一个表。
图5示出按照本发明校正编码数据中错误的一个DVD系统。
图6示出执行行方向纠错的一个流程图。
图7示出在行方向纠错中所使用的一个表。
图8示出按照本发明执行在列方向中删除的纠错的一个流程图。
图9示出执行在列方向中不删除的纠错的一个流程图。
图10示出在图8和9中所示纠错中所使用的一个表。
图11示出在主存储器中单元的地址。
图12示出按照本发明的一个编码器/译码器。
[符号说明]
11…磁盘驱动装置
12…主存储器
13…缓冲存储器
14、14A、15、15A…存储器区域
16…编码器/译码器
17…寄存器
18…MPU
26…错误位置/模式发生器
27、28…地址指针
31…行计数器
32…寄存器
33…存储器
34、35、36…存储器区域

Claims (18)

1.一种基于乘积码方案的纠错方法,其中数据以K1×K2位置的数组排列(K1是行数,K2是列数),纠错码PO被添加到所说的K2列,纠错码PI被添加到所说的K1行,一行包含的错误数据等于或小于一预定数目,把该行作为不删除处理,一行包含的错误数据大于所说的预定数目,该行作为删除处理,其特征在于改进包括下列步骤:
(a)取出包含所说的K2数据和所说的纠错码PI的一行,以便将
所说的一行归入所说的不删除或所说的删除一类,并且如果所说的一行被归入所说的不删除一类,则根据所说的纠错码IP校正在所说的一行中所包含的错误数据;
(b)重复所说的步骤(a),以处理所说的K1行;
(c)取出包含所说的K1数据和所说的纠错码PO的一列,以便产生一个第一信息块,该第一信息块包括了一个指示在所说的一列中一个位置的位置数据,在该位置处存储了属于被归类删除的一行的数据,并且该第一信息块还包括校正在所说的位置上的所说的数据的一个模式,同时产生一个第二信息块,该第二信息块包括了一个指示在所说的一列中一个位置的位置数据,在该位置处存储了属于被归类不删除的一行的错误数据,并且该第二信息块还包括校正在所说的位置上的所说的错误数据的一个模式;
(d)取出在被归入所说的删除一类的一行中至少两个相邻位置的数据以及与所说的数据有关的至少两个第一信息块,以便根据在所说的第一信息块中所包含的模式校正在至少两个相邻位置上的所说的数据;以及
(e)重复所说的步骤(d),直到被归入所说的删除一类的所有行的数据被校正为止。
2.按照权利要求1的纠错方法,其特征在于,所说的步骤(a)产生被归入所说的删除一类的所说的行之指针,而所说的步骤(d)根据所说的指针产生保存在被归入所说的删除一类的一行中至少两个相邻位置的所说的数据之一个单元的地址,以及把所说的经校正的数据保存至所说的单元。
3.按照权利要求2的纠错方法,其特征在于所说的方法还包括下列步骤:
(f)取出一个所说的第二信息块,以及取出在由所说的第二信息块的一个位置数据所指出的一个位置上的一个错误数据,以便根据在所说的第二信息块中所包含的模式校正所说的一个错误数据;以及
(g)重复所说的步骤(f),以便校正属于所说的不删除一类的错误数据。
4.按照权利要求3的纠错方法,其特征在于所说的第一信息块被保存在一个表的第一部分中,而所说的第二信息块被保存在所说的表的第二部分中,以及在被归入所说的删除一类的一行中的所说的数据的所说的第一信息块以所说的第一信息块产生的次序被顺序地保存在所说的第一部分的框中。
5.按照权利要求4的纠错方法,其特征在于,在所说的步骤(d)中与在被归入所说的删除一类的所说的一行中至少两个相邻位置的所说的数据有关的所说的第一信息块的所说的取出,通过顺序地访问在所说的表的所说的第一部分中至少两个框来完成。
6.按照权利要求5的纠错方法,其特征在于所说的步骤(c)根据所说的指针产生所说的第一信息块的所说的位置数据。
7.一种基于乘积码方案的纠错方法,其中数据以K1×K2位置的数据数组排列(K1是行数,K2是列数),纠错码PO被添加到所说的K2列,纠错码PI被添加到所说的K1行,一行包含的错误数据等于或小于一预定数目,把该行作为不删除处理,一行包含的错误数据大于所说的预定数目,该行作为删除处理,其特征在于改进包括下列步骤:
(a)把所说的K1×K2位置的数据数组、所说的纠错码PO和所说的纠错码PI保存在一个主存储器中,
(b)从所说的主存储器读取小于所说的K1的一预定数目的所说的行,以便把它们保存在一个缓冲存储器中,
(c)访问所说的缓冲存储器,取出包含所说的K2数据和所说的纠错码PI的一行,以便把所说的一行归入所说的不删除或所说的删除一类,同时如果所说的一行被归入所说的不删除一类,则根据所说的纠错码PI校正在所说的一行中所包含的错误数据;
(d)如果所说的行被归入所说的删除一类,则保存所说的一行的指针;
(e)重复所说的步骤(b)、(c)和(d),以处理所说的K1行;
(f)在所说的主存储器中产生许多单元的地址,每个地址根据所说的指针保存在被归入所说的删除一类的一行中的两个相邻数据,
(g)从所说的主存储器读取小于所说的K2的所说的列的一预定数目,以便把它们保存在所说的缓冲存储器中,
(h)访问所说的缓冲存储器,取出包含所说的K1数据和所说的纠错码PO的一列,以便产生一个第一信息块,它包括指出保存属于被归入所说的删除一类的行的数据的所说的一列中的位置的一个位置数据,以及校正在所说的位置上的所说的数据的一个模式,同时产生一个第二信息块,它包括指出保存属于被归入所说的不删除一类的行之错误数据的所说的一列中的位置的一个位置数据,以及校正在所说的位置上的所说的错误数据的一个模式;
(i)把所说的第一信息块和所说的第二信息块保存在一个表中;
(j)重复所说的步骤(g)、(h)和(i),以处理所说的列的所说的预定数目;
(k)访问所说的缓冲存储器,取出在被归入所说的删除一类的一行中至少两个相邻位置的数据,访问所说的表,取出与所说的数据有关的至少两个第一信息块以及根据在所说的第一信息块中所包含的模式校正在所说的至少两个相邻位置上的所说的数据;
(l)通过使用在所说的步骤(f)中所产生的所说的地址,访问在所说的主存储器中保存所说的两个数据的一个单元,以便把所说的经校正的数据保存在所说的单元中,以及
(m)重复所说的步骤(k)和(1),直到被归入所说的删除一类的所有行的数据被校正为止。
8.按照权利要求7的纠错方法,其特征在于所说的方法还包括下列步骤:
(n)访问所说的表,取出与所说的一个错误数据有关的一个第二信息块,访问所说的缓冲存储器,取出由所说的第二信息块的一个位置数据所指出的一个位置上的一个错误数据,以便根据在所说的第二信息块中所包含的一个模式校正所说的一个错误数据;以及
(o)重复所说的步骤(n),以校正属于所说的不删除一类的错误数据。
9.按照权利要求8的纠错方法,其特征在于所说的第一信息块被保存在一个表的第一部分中,而所说的第二信息块被保存在所说的表的第二部分中,以及用于在被归入所说的删除一类的一行中的所说的数据的所说的第一信息块以所说的第一信息块产生的次序被顺序地保存在所说的第一部分的框中。
10.一种基于乘积码方案的纠错系统,其中数据以K1×K2位置的数组排列(K1是行数,K2是列数),纠错码PO被添加到所说的K2列,纠错码PI被添加到所说的K1行,一行包含的错误数据等于或小于一预定数目,把该行作为不删除处理,一行包含的错误数据大于所说的预定数目,该行作为删除处理,其特征在于改进包括:
(a)取出包含所说的K2数据和所说的纠错码PI的一行,以便将所说的一行归入所说的不删除或所说的删除一类,并且如果所说的一行被归入所说的不删除一类,则根据所说的纠错码PI校正在所说的一行中所包含的错误数据的装置;
(b)重复地操作所说的装置(a),以处理所说的K1行的装置;
(c)取出包含所说的K1数据和所说的纠错码PO的一列,以便产生一个第一信息块,它包括指出保存属于被归入所说的删除一类的行之数据的所说的一列中的位置的一个位置数据,以及校正在所说的位置上的所说的数据的一个模式,同时产生一个第二信息块,它包括指出保存属于被归入所说的不删除一类的行之错误数据的所说的一列中的位置的一个位置数据,以及校正在所说的位置上的所说的错误数据的一个模式的装置;
(d)取出在被归入所说的删除一类的一行中至少两个相邻位置的数据以及与所说的数据有关的至少两个第一信息块,以便根据在所说的第一信息块中所包含的模式校正在至少两个相邻位置上的所说的数据的装置;以及
(e)重复地操作所说的装置(d),直到被归入所说的删除一类的所有行的数据被校正为止的装置。
11.按照权利要求10的纠错系统,其特征在于,所说的装置(a)产生被归入所说的删除一类的所说的行之指针,而所说的装置(d)根据所说的指针产生保存在被归入所说的删除一类的一行中至少两个相邻位置的所说的数据之一个单元的地址,以及把所说的经校正的数据保存至所说的单元。
12.按照权利要求11的纠错系统,其特征在于所说的系统还包括:
(f)取出一个所说的第二信息块,以及取出在由所说的第二信块的一个位置数据所指出的一个位置上的一个错误数据,以便根据在所说的第二信息块中所包含的一个模式校正所说的一个错误数据的装置;以及
(g)重复地操作所说的装置(f),以便校正属于所说的不删除一类的错误数据的装置。
13.按照权利要求12的纠错系统,其特征在于所说的第一信息块被保存在一个表的第一部分中,而所说的第二信息块被保存在所说的表的第二部分中,以及用于在被归入所说的删除一类的一行中的所说的数据的所说的第一信息块以所说的第一信息块产生的次序被顺序地保存在所说的第一部分的框中。
14.按照权利要求13的纠错系统,其特征在于,在所说的装置(d)中与在被归入所说的删除一类的所说的一行中至少两个相邻位置的所说的数据有关的所说的第一信息块的所说的取出,通过顺序地访问在所说的表的所说的第一部分中至少两个框来完成。
15.按照权利要求14的纠错系统,其特征在于所说的装置(c)根据所说的指针产生所说的第一信息块的所说的位置数据。
16.一种基于乘积码方案的纠错系统,其中数据以K1×K2位置的数组排列(K1是行数,K2是列数),纠错码PO被添加到所说的K2列,纠错码PI被添加到所说的K1行,一行包含的错误数据等于或小于一预定数目,把该行作为不删除处理,一行包含的错误数据大于所说的预定数目,该行作为删除处理,其特征在于改进包括:
(a)把所说的K1×K2位置的数据数组、所说的纠错码PO和所说的纠错码PI保存在一个主存储器中的装置,
(b)从所说的主存储器读取小于所说的K1的一预定数目的所说的行,以便把它们保存在一个缓冲存储器中的装置,
(c)访问所说的缓冲存储器,取出包含所说的K2数据和所说的纠错码PI的一行,以便把所说的一行归入所说的不删除或所说的删除一类,同时如果所说的一行被归入所说的不删除一类,则根据所说的纠错码PI校正在所说的一行中所包含的错误数据的装置。
(d)如果所说的行被归入所说的删除一类,则保存所说的一行的指针的装置;
(e)重复所说的步骤(b)、(c)和(d),以处理所说的K1行的位置。
(f)在所说的主存储器中产生许多单元的地址的装置,每个地址根据所说的指针保存在被归入所说的删除一类的一行中的两个相邻数据,
(g)从所说的主存储器中读取小于所说的K2的一预定数目的所说的列,以便把它们保存在所说的缓冲存储器中的装置,
(h)访问所说的缓冲存储器,取出包含所说的K1数据和所说的纠错码PO的一列,以便产生一个第一信息块,它包括指出保存属于被归入所说的删除一类的行的数据的所说的一列中的位置的一个位置数据,以及校正在所说的位置上的所说的数据的一个模式,同时产生一个第二信息块,它包括指出保存属于被归入所说的不删除一类的行之错误数据的所说的一列中的位置的一个位置数据,以及校正在所说的位置上的所说的错误数据的一个模式的装置;
(i)把所说的第一信息块和所说的第二信息块保存在一个表中的装置;
(j)重复地操作所说的装置(g)、(h)和(i),以处理所说的列的所说的预定数目的装置;
(k)访问所说的缓冲存储器,取出在被归入所说的删除一类的一行中至少两个相邻位置的数据,访问所说的表,取出与所说的数据有关的至少两个第一信息块以及根据在所说的第一信息块中所包含的模式校正在所说的至少两个相邻位置上的所说的数据的装置;
(l)通过使用由所说的装置(f)所产生的所说的地址,访问在所说的主存储器中保存所说的两个数据的一个单元,以便把所说的经校正数据保存在所说的单元中的装置,以及(m)重复地操作所说的装置(k)和(l),直到被归入所说的删除一类的所有行的数据被校正为止的装置。
17.按照权利要求16的纠错系统,其特征在于所说的系统还包括:
(n)访问所说的表,取出与说的一个错误数据有关的一个第二信息块,访问所说的缓冲存储器,取出由所说的第二信息块的一个位置数据所指出的一个位置上的一个错误数据,以便根据在所说的第二信息块中所包含的一个模式校正所说的一个错误数据的装置;以及
(o)重复地操作所说的装置(n),以校正属于所说的不删除一类的错误数据的装置。
18.按照权利要求17的纠错系统,其特征在于所说的第一信息块被保存在一个表的第一部分中,而所说的第二信息块被保存在所说的表的第二部分中,以及用于在被归入所说的删除一类的一行中的所说的数据的所说的第一信息块以所说的第一信息块产生的次序被顺序地保存在所说的第一部分的框中。
CNB991009118A 1998-02-05 1999-01-04 纠错方法和系统 Expired - Lifetime CN1134782C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP02487598A JP3165099B2 (ja) 1998-02-05 1998-02-05 誤り訂正方法及びシステム
JP24875/1998 1998-02-05
JP24875/98 1998-02-05

Publications (2)

Publication Number Publication Date
CN1225491A CN1225491A (zh) 1999-08-11
CN1134782C true CN1134782C (zh) 2004-01-14

Family

ID=12150387

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991009118A Expired - Lifetime CN1134782C (zh) 1998-02-05 1999-01-04 纠错方法和系统

Country Status (5)

Country Link
US (1) US6553533B2 (zh)
JP (1) JP3165099B2 (zh)
KR (1) KR100330475B1 (zh)
CN (1) CN1134782C (zh)
TW (1) TW451185B (zh)

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1286275C (zh) * 1999-11-24 2006-11-22 三洋电机株式会社 纠错装置
KR100685360B1 (ko) 2000-01-31 2007-02-22 산요덴키가부시키가이샤 회로 규모를 억제하며 고속의 오류 정정을 행하는 것이 가능한 오류 정정 장치 및 복호 장치
KR100378181B1 (ko) * 2000-06-09 2003-03-29 삼성전자주식회사 Efm/efm+ 디코딩에 의해 검출된 에러위치를 이용한c1/pi 워드의 에러정정 방법 및 장치
US6772390B2 (en) * 2000-11-30 2004-08-03 Quantum Corporation Erasure correction for ECC entities
US7149934B2 (en) * 2002-04-11 2006-12-12 Contour Semiconductor, Inc. Error correcting memory access means and method
CN100399462C (zh) * 2002-08-13 2008-07-02 联发科技股份有限公司 具有错误处理的光盘数据读取方法
WO2004066301A1 (en) * 2003-01-21 2004-08-05 Lg Electronics Inc. Method for encoding and decoding error correction block
CN100530980C (zh) * 2003-07-09 2009-08-19 汤姆森特许公司 里德-所罗门乘积码的错误校正方法
US7493534B2 (en) * 2003-08-29 2009-02-17 Hewlett-Packard Development Company, L.P. Memory error ranking
US20050078584A1 (en) * 2003-10-09 2005-04-14 Cheertek, Inc. System and method for error correction in optical disk system
US7386754B2 (en) * 2003-10-16 2008-06-10 Seagate Technology Llc Method and apparatus to improve magnetic disc drive reliability using excess un-utilized capacity
US7509560B2 (en) * 2003-12-29 2009-03-24 Intel Corporation Mechanism for adjacent-symbol error correction and detection
CN1681033A (zh) * 2004-04-06 2005-10-12 皇家飞利浦电子股份有限公司 光盘播放系统的纠错机制
US7328395B1 (en) * 2004-04-13 2008-02-05 Marvell International Ltd. Iterative Reed-Solomon error-correction decoding
US7484065B2 (en) 2004-04-20 2009-01-27 Hewlett-Packard Development Company, L.P. Selective memory allocation
US7350131B2 (en) * 2005-01-22 2008-03-25 Cisco Technology, Inc. Error protecting groups of data words
US20060242450A1 (en) * 2005-04-11 2006-10-26 Li-Lien Lin Methods and apparatuses for selectively rebuffering and decoding a portion of a data block read from an optical storage medium
US7991844B2 (en) * 2005-07-12 2011-08-02 International Business Machines Corporation Method, system and computer program product for processing a plurality of electronic mail files
US8205146B2 (en) * 2005-07-21 2012-06-19 Hewlett-Packard Development Company, L.P. Persistent error detection in digital memory
US7129415B1 (en) * 2005-10-11 2006-10-31 Southwire Company Non-lead jacket for non-metallic sheathed electrical cable
US7861141B2 (en) * 2005-10-21 2010-12-28 Mediatek Inc. Method and device for error analysis of optical disc
US7624330B2 (en) * 2005-12-12 2009-11-24 Lsi Corporation Unified memory architecture for recording applications
US7783955B2 (en) * 2006-01-18 2010-08-24 Sandisk Il Ltd. Method for implementing error-correction codes in flash memory
US7814398B2 (en) * 2006-06-09 2010-10-12 Seagate Technology Llc Communication channel with Reed-Solomon encoding and single parity check
US8046660B2 (en) * 2006-08-07 2011-10-25 Marvell World Trade Ltd. System and method for correcting errors in non-volatile memory using product codes
FR2909241B1 (fr) * 2006-11-27 2009-06-05 Canon Kk Procedes et dispositifs de gestion dynamique des erreurs de transmission par des points d'interconnexion de reseaux.
TW200832367A (en) * 2007-01-19 2008-08-01 Realtek Semiconductor Corp Decoding apparatus and method
US20080175137A1 (en) * 2007-01-23 2008-07-24 Mediatek Inc. Method for encoding data written to optical storage media
WO2009037697A2 (en) * 2007-09-20 2009-03-26 Densbits Technologies Ltd. Improved systems and methods for determining logical values of coupled flash memory cells
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009053961A2 (en) 2007-10-25 2009-04-30 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
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
US8453022B2 (en) 2007-12-05 2013-05-28 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
WO2009072105A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications
WO2009074979A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
US8359516B2 (en) 2007-12-12 2013-01-22 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
WO2009078006A2 (en) 2007-12-18 2009-06-25 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
EP2248010A4 (en) * 2008-02-14 2012-02-29 Hewlett Packard Development Co METHOD AND SYSTEM FOR DETECTING AND CORRECTING PHASE GUSTING ERRORS, ERASURES, SYMBOL ERRORS AND BINARY ERRORS IN A RECEIVED SYMBOL CHAIN
US8972472B2 (en) * 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8166368B2 (en) * 2009-02-24 2012-04-24 International Business Machines Corporation Writing a special symbol to a memory to indicate the absence of a data signal
US8023345B2 (en) * 2009-02-24 2011-09-20 International Business Machines Corporation Iteratively writing contents to memory locations using a statistical model
US8458574B2 (en) * 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8305812B2 (en) * 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8230276B2 (en) * 2009-09-28 2012-07-24 International Business Machines Corporation Writing to memory using adaptive write techniques
US8386739B2 (en) * 2009-09-28 2013-02-26 International Business Machines Corporation Writing to memory using shared address buses
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) * 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US9037777B2 (en) * 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) * 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8700970B2 (en) * 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8463985B2 (en) 2010-03-31 2013-06-11 International Business Machines Corporation Constrained coding to reduce floating gate coupling in non-volatile memories
US9104610B2 (en) 2010-04-06 2015-08-11 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8510639B2 (en) 2010-07-01 2013-08-13 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US20120008414A1 (en) 2010-07-06 2012-01-12 Michael Katz Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9647690B2 (en) * 2014-07-23 2017-05-09 Raidix Corporation Systems and methods for error correction coding
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US10110256B2 (en) * 2016-09-16 2018-10-23 Micron Technology, Inc. Apparatuses and methods for staircase code encoding and decoding for storage devices
US11862271B2 (en) * 2018-12-17 2024-01-02 Arm Limited Memory testing techniques

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0519669A3 (en) * 1991-06-21 1994-07-06 Ibm Encoding and rebuilding data for a dasd array
US5920578A (en) * 1997-04-23 1999-07-06 Cirrus Logic, Inc. Method and apparatus for efficiently processing a multi-dimensional code
JP3307579B2 (ja) * 1998-01-28 2002-07-24 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記憶システム
US6047395A (en) * 1998-01-30 2000-04-04 Cirrus Logic, Inc. Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension

Also Published As

Publication number Publication date
US6553533B2 (en) 2003-04-22
CN1225491A (zh) 1999-08-11
KR100330475B1 (ko) 2002-04-01
JP3165099B2 (ja) 2001-05-14
JPH11274941A (ja) 1999-10-08
KR19990072241A (ko) 1999-09-27
TW451185B (en) 2001-08-21
US20020099996A1 (en) 2002-07-25

Similar Documents

Publication Publication Date Title
CN1134782C (zh) 纠错方法和系统
CN1171391C (zh) 交错方法、交错装置、涡轮编码方法以及涡轮编码装置
CN101064162A (zh) 纠错装置、编码器、解码器、方法以及信息存储装置
CN1199178C (zh) 采用纠错码的数据处理方法和数据处理设备
CN1324811C (zh) 通信系统中的交织器和交织方法
US8448045B2 (en) Outer code error correction
CN1658317A (zh) 记录和/或再现方法、设备和计算机可读记录介质
CN1224895A (zh) 数据存储器系统
CN1264509A (zh) 自适应信道编码方法和装置
CN1254921C (zh) 改进的哈夫曼译码方法和装置
CN1864223A (zh) 错误码更正方法与装置
CN1356697A (zh) 数字数据记录再现方法及其装置
CN1286275C (zh) 纠错装置
CN1855282A (zh) 纠错装置
CN1670853A (zh) 编码装置
KR20230083689A (ko) 온-다이 오류 정정 코드에서 오류 정정과 오류 검출을 동적 전환 가능한 메모리 장치
CN1959648A (zh) 创建纠错编码方案的方法和减少数据损失的设备
CN1484240A (zh) 适用于记录/再现多层数据的记录介质
CN1482744A (zh) 交叉交织理德-所罗门码的校正
CN1582555A (zh) 片段式解交织
CN1193165A (zh) 重放方法及装置、记录重放装置及记录媒体
CN1311640C (zh) 在解码交错rs码过程中使用的纠错方法与纠错装置
CN1851827A (zh) 一种闪烁存储器数据存取方法
CN1841503A (zh) 记录伺服帧的方法和设备、存储盘和获取伺服帧信息的方法和设备
CN1152379C (zh) 光盘驱动装置的编码/解码系统

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
ASS Succession or assignment of patent right

Owner name: MITSUBISHI ELECTRIC CO., LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINE CORP.

Effective date: 20060324

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20060324

Address after: Tokyo, Japan, Japan

Patentee after: Missubishi Electric Co., Ltd.

Address before: American New York

Patentee before: International Business Machines Corp.

CX01 Expiry of patent term

Granted publication date: 20040114

CX01 Expiry of patent term