JPH02500318A - リード・ソロモン・エラー訂正符号エンコーダ - Google Patents

リード・ソロモン・エラー訂正符号エンコーダ

Info

Publication number
JPH02500318A
JPH02500318A JP63504393A JP50439388A JPH02500318A JP H02500318 A JPH02500318 A JP H02500318A JP 63504393 A JP63504393 A JP 63504393A JP 50439388 A JP50439388 A JP 50439388A JP H02500318 A JPH02500318 A JP H02500318A
Authority
JP
Japan
Prior art keywords
symbols
symbol
bit
ecc
bits
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.)
Pending
Application number
JP63504393A
Other languages
English (en)
Inventor
ウェン リー イー
Original Assignee
ディジタル イクイプメント コーポレーション
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 ディジタル イクイプメント コーポレーション filed Critical ディジタル イクイプメント コーポレーション
Publication of JPH02500318A publication Critical patent/JPH02500318A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 ノート・ソロモン・エラー訂正符号二ンコーダ発明の分野: (修正ンリート・ ソロモン・エラー訂正符号エンコーダ 従来技術の説明 ディジタル・コンピュータ・システムにおけるデータのエラー訂正符号化の重要 性は、大容量記憶媒質、一層詳しくは、ディスクに記憶されたデータ密度か高ま るにつれて非常に高まってきた。記録密度の増大につれて、ディスクの記録面に おける些細な欠陥か大量のデータを失なわせるおそれかある。データを失うこと を避けるために、エラー訂正符号(ECC)を用いてそのネームか示すときに誤 ったデータを訂正する。
一連のデータ・シンボルをディスクに書き込む前に、ECCシンボルを生成する ようにデータ・シンボルを数理的に符号化する6次にECCシンボルをデータ・ ストリンクに付けて符号語を生成する(データ・シンボル+ECCシンボル)。
そして、符号語をディスクに書き込む。すなわち、記憶させる。データをこれら のディスクから読み出そうというときには、読み出そうとしているデータ・シン ボルを含む符号語をディスクから取り戻し、数理的に復号する。復号中、データ になんらかのエラーかあれば、それか検出され、可能であれば、ECCシンボル の操作中に訂正か行なわれる[復号について詳しい説明か必要ならば。
P6terson&WeldonのrError Correction Co desJ第2版、MITPress、1972を参照されたい]。
記憶されたディジタル・データか多数の独立したエラーを含んていることがある 。複徽のエラーの訂正に用いられる最も効果的な種類のECCの1つはリード・ ソロモン符号である(ソート・ソロモン符号について詳し・い説明か必要ならば 、Peters。
n&WeldonのrError CorrectionCodesJを参照さ れたい)、データ・シンボル・ストリング内の複数のエラーを訂正するには、リ ード・ソロモン符号はrGF (PQ)Jて表わされるガロア域として知られる シンボル・セットの種々の数理的特性を有効かつ効率良く利用する。ここて、「 P」はプライム・ナンバーであり、「q」はガロア域の各素子またはシンボルに おける位数(基数P)として考えることかできる。「P」は普通はディジタル・ コンピュータ用途では値2を持ち、したがって、「9」は各シンボルのビット数 である。
リード・ソロモン符号に基<ECCか効果的に復号、訂正(または「保護」)さ れ得るシンボルの数は選定されたガロア域のサイズ、すなわち、P@(lのシン ボルと、この符号が訂正できることになっているエラーの最大数とによって制限 される。
GF (PQ)についての周期的なリード・ソロモン符号語の最大長はP@−1 個のシンボルである。したがって、ECC(すなわち、符号語に含まれる)によ って保護され得るデータ・シンボルの最大数はP@−1個のシンボルマイナスr nJである。ここて、「n」はECCシンボルの数である。ガロア域が大きくな ればなるほど、符号語か長くなり、所与の最大数の訂正しようとしているエラー についてECCが保護し得るデータ量か多くなる。
したがりて、より大きいガロア域を使用してより大きいストリングのデータ・シ ンボルを保護することかてきる。しかしなから、8ビット符号語シンボル、すな わち、Bgsずつ複数群の多数のビットを含むシンボルにならないガロア域はシ ステム回路を複雑にする。
ガロア域GF (28”)は8ビツトECCシンボルを生じるガロア域である。
GF (2’ )に基<ECCは、もし2つの8ビツトECCシンボルかデータ に添付され、符号語を256すなわち26バイト分長くしたならば、ただ1つの エラーについて253個の8ビツト・データ・シンボルすなわち「データ・バイ ト」まてのストリングを保護することかてきる。もしECCか2つ以上のエラー を訂正することになりでいれば、より多いECCシンボル(訂正しようとしてい るエラーか1つ増える毎に2つずつ)を符号語て用いなければならない、これは 所与の長さの符号語について保護てきるデータ・バイトが少なくなることを意味 する。
情報は、しばしば、磁気ディスク上の、長さ512または576バイト分のセク タに格納される。したがって、 GF (26)に基<ECCは、符号の複雑な 操作を行なわなければ512または576バイトのセクタ全体を保護することは できない。
GF (2’°)に基<ECCは充分な符号語長さ、すなわち、l符号語あたり 210または1024個のシンボルを持ち、セクタ全体を保護することがてきる 。しかしながら、 GF (210)符号で用いられる10ビツト・シンボルの 符号化、復号には成る種の問題がある。
一居詳しく言えば、コンピュータ送信・記憶へ−ドウェアはバイト操作用に、す なわち、8ビツト・シンボル、または、長さか8ビツトずついくつかの連なりと なっているシンボル用にセットアツプされている。したがって、一般に、10ビ ツト・シンボルの操作用には配置されていない、したがって、もしGF (21 ’)ECCを用いようとしているならば、情報をバイトとlOピット・シンボル の間で前後に、すなわち、まず10ビツト・シンボルとして符号化し、次にハイ ドとして送信、記憶し、最後に10ビツト・シンボルとして復号するいうように 変換しなければならない。エンコーダ、デコーダの両方てハイド、10ビツト・ シンボル間の変換を必要とするということはE CC符号化プロセスにもう1つ のステップ分の複雑さを加えることになる。
GF (2’ )ECCて512または576ハイト・セクタ全体を保護するの に用いられる1つの技術としては、ECCGF (28)符号を何回かインター リーブするという技術かある。インターリーブ操作はデータ・シンボル・ストリ ングを効果的にいくつかのもっと小さいセグメントに分割し、各セグメントを1 ストリームのデータ・シンボルとして処理して符号化する。
インターリーブ操作の利点はより多数のデータ・シンボルを所与の符号で符号化 することかてき、異なった符号語の隣合ったデータ・シンボルを符号化すること によってエラーのバーストを効果的に分離するということにある。一方、インタ ーリーブ操作は、普通、2つの符号化ステップ(すなわち、まず、符号化しよう としているデータをいくつかのセグメントに分割するステップと、次に各セグメ ントを1つの符号語に別々に符号化するというステップ)と、2つの復号ステッ プ(すなわち、まずデータを別々に復号するステップと、次にデータ・シンボル を組合わせて当初のデータ・シンボル・ストリンクを再生するステップ)とを伴 なう。また、インターリーフ操作は効率の惑い符号を生じさせる。
インターリーブ操作された符号は、インターリーブ操作を受けない符号で必要と するよりも、所与の数のエラーからデータを保護するのにより多くのECCシン ボルを必要とする。
発明の概要 本発明はGF (2’°)て符号語を発生させて1023ハイドまて(データプ ラスECCシンボル)保護し、しかも8ビツト・シンボルすなわちバイトをEC Cシンボルとして用いることを可能とする。まず、1つ以上の所定の疑似データ ・バイトをデータ・バイトに添付し、データ・ハイドからなるストリンクプラス 疑似データ・バイトを符号化して所望数の10ビツトECCシンボルを発生させ る0次に、10ビツトECCシンボルの各々にある2つの選定したビットを既知 の2ビツト・パターン、たとえば、「00」と比較する。もしこれら選定した2 つのビットが2ビツト・パターンと同してあれば、これらのビットは無視される かあるいは切り捨てられ、各ECCシンボルの残りの8つ、のヒツトがデータ・ バイト3よび添付した疑似データ・バイトと連結させられて符号語を生成する。
符号語バイトは、ガロア域加算あるいは乗算もしくはこれら両方にとって必要な のて既知の2ビット切り捨てパターンを添付することによって後に復号され、な んらかのエラー訂正か行なわれる。
もし任意のECCビット・シンボルの選定ビットのいずれかか切り捨てパターン と同してないならば、添付した疑似データ・バイトを修正し、データ・バイトプ ラスこれら修正された疑似データ・ハイドを符号化することて切り捨てパターン と同じに選定ビットて10ビツトECCシンボルを発生させる。次いで1選定ビ ツト(今や既知の切り捨てパターンと同しである)が無視され、各ECCシンボ ルの残りの8つのビットと修正済みの疑似データ・バイトがデータ・バイトと一 緒に符号語として記憶される。ここで再び、修正疑似データ・バイトおよびEC Cシンボルの残りの8ビツトはへイトとして符号語の復号、エラー訂正を行なう のに必要なすべての情報を含んている。
疑似データ・バイトの修正および予め選定した、すなわち、既知の2ビツトでな いECCシンボルの8ビツトの決定は予め記憶されているテーブルに従って容易 に行なわれる。
図面の説明 本発明は特に添付の請求の範囲に指摘しである。本発明の上記およびさらなる利 点は以下の添付図面に関連して行なう説明からより良く理解して貰えよう。図面 において:第1図は好ましいエラー訂正符号に従ってエラー訂正シンボルを与え るエンコーダの機能ブロック図である。このエンコーダは複数の8ビツト・デー タ・バイトプラス添付8ビツト疑似データ・バイトを受け入れてlOビビッEC Cシンボルを発生するように作動する。
第2図は本発明の好ましい実施例に従って構成した符号化システムの機能ブロッ ク図である。
第3図は好ましい実施例の動作に伴なうステップのフローチャートである。
第4図は好まし・い実施例に従って発生した変更子テーブルである。
詳細な説明 ガロア域GF(2”)は基本多項式p (x)=x”+x3+1に基<、GF  (2”)の210個の要素の各々はα1て示される(ここて、i=0.1,2、 ・・・・1023)。GF (2’。
)についてのソート・ソロモン符号のための生成プログラム多項式は次の形をと る。すなわち。
ここて、mおよびlは利用するECCシンボルの数に従って選定した幾分恣意的 な数てあり、iはゼロにならないという制限がある。生成プログラム多項式にお ける因子の数は符号か訂正しようとするエラーの数および使用するエンコーダに よって決まる。
以下に述べる例は3つのエラーを検出するか、あるいは 1つのエラーを訂正し て2つのエラーを検出するかするように設計した符号である。すなわち、この符 号は3つのECCシンボルを有する。i=1.m=1とすると、生成プログラム 多項式g (x)は g (x)−Cx+ct’ )* (x+a2)* (x+a” )(2)てあ り、これは、GF (2”)乗算、すなわち、モジューロP (X)を用いて展 開すると。
g (x)=x3+(α9%? ) x2 +(α959 ) x十α6 (3 )となる。
この符号に必要な疑似データ・シンボルの数はこの符号で用い(すなわち、EC Cシンボル内のビットの数マイナス符号語シンボルにおけるビットの数)および 符号語パターン内のビットの数によって決まる。すなわち、その式は ここて、「#」は数の省略形てあり、必要とされる疑似データ・シンボルの数は 商の整数部分であり、残りがあれば次の位の整数以下を四捨五入する。こうして 、3つのECCシンボルを備えたGF(21’)符号、すなわち、符号語の8ビ ツト・シンボル、したがって、2ビット切り捨てパターンは1つの疑似データ・ シンボル (3)* (2)/ (8) を必要とする。
3つのECCシンボルの場合、生成プログラム多項式(3)の係数は第1図に示 すエンコーダ10て用いられて合計1020ハイドまて、すなわち、データ・バ イトプラス所定の添付した疑似データ・へイトまて符号化することができる(第 3図のステップ3日、40)、この例では、K個のデータ・バイトが符号化され 、1個の疑似データ・バイトが添付される。ここでは、以下。
K@のデータ・バイトプラス添付の疑似データ・バイトをまとめてrK+1個の データ・バイト」と呼ぶ、この例て用いられる添、 付疑似データ・バイトは全 ゼロバイト(oooooooo)である。
第1図を参照して、エンコーダlOは一組のlOビビッ・レジスタ22.24. 26を包含し、これら、のレジスタは符号化動作に先立りてクリヤされる。レジ スタの内容はそれぞれ専用OR回路(XOR) 11 、 13. 15ニ送ラ レル、−”:ff−’jへ(7)入力はバイト直列、ビット並列様式て8本の入 力ライン14を通してXORに送られる。
入力動作中、スイッチ12は位置12aにあり、X0RIIの出力はガロア域乗 算器16.18.20に送られる0乗算器16.18の出力はそれぞれX0R1 3,15に送られ、乗算器20の出力はレジスタ26に送られる。ガロア域乗算 器16〜20はそれぞれの入力に因子α9S7、αass、α6を掛ける。
したがって、各入力バイトがエンコーダ10に送られる毎に、それはレジスタ2 2の内容と合算され(モジューロ2)、モジューロ2加算にとっての必要に応じ て2つの先行ビットが入力バイトに添付される0合計値は次にg (x)内の最 高X累乗な除くすべての係数を含むガロア域乗算器16〜20によって同時に掛 は合わされる(モジューロp(x))、バイトのそれぞれの積と係数は次にレジ スタ22〜26の内容に加算される。
K+1データ・ハイドのすべてをエンコーダ10に送った後(すべてのデータ・ ハイドを送った後にエンコーダに疑似データ・バイトを送るタイミング回路は図 示していない)、エンコーダ・スイッチ12を位置12bにし、レジスタ22〜 26の内容を出力端子28に対して左(第1図)にシフトすることによって10 ビツトECCシンボルS2、Sl、Soとしてアンロードする0次に、ECCシ ンボルはレジスタ29(第2図)に記憶される。ここて、シフト動作中、スイッ チ12か位置12bに、ライン14の入力がゼロである場合に、XORの垂直入 力がレジスタ22〜26の内容をなんら手を加えることなく通過させることに注 目されたい、さらに、このタイプのエンコーダかこの分野ては周知のものである ことに注目されたい。
成る単純な例として、2つのデータ・バイト (00000001)と(000 00010)のストリングを仮定する。次のバイト・ストリンクかエンコーダに ロートされる。
、(ooo2oooB、、、、イ誌2!J[!(!ジツーーーー4欝9門!1− 7エンコーダ10内てのエラー訂正符号の発生後、レジスタ22〜26の内容か アンロードされて10ビツトECCシンボルS2、Sl、Soを与える。
S2 =α”コ’ = (1111000000)S1=α”’ = (011 0010010)SO=a”’ = (0000111111)次に、レジスタ 29に記憶されたlOビビッECCシンボルの選定された2つのビットがコンパ レータ30(第212)内に並列にロートされ、レジスタ39に記憶されている 所定の2ビット切り捨てパターンと比較される。この例では、選定されたビット は先行の2つのビットであり、所定の切り捨てパターンというのは「00」であ る、各シンボルが先行の2つのビットとして「00」を持っている場合には、コ ンパレータ30はゲート31に「整合」信号を与えることになる。ゲート31は 次に各ECCシンボルの残りの8つのビットを符号語レジスタ36に通し、これ らのビットを疑似データ・バイトと一緒にデータ・ストリングに添付して符号語 を生成する(第3図のステップ42.54.56)、t、かじながら、Sl、S 2の2つの先行ビットは共にZEROSてはない、したがって、疑似データ・バ イトは変更子34で修正され、データ・バイトおよび修正疑似データ・バイトを 符号化することによって10ビツトECCシンボルを得、それぞれが先行の2つ のビットとしての「00」を持つようにしなければならない1次いで、各ECC シンボルの残りの8つのビットを用いて符号語レジスタ36で符号語を形成する (第3図のステップ42〜56)。
疑似データ・バイトの修正およびその結果生じるECCシンボルの決定が変更子 テーブル32に従ってなされる。この変更子テーブルの内容は第4図の表1に示 しである。(テーブルの生成は後に説明する。)コンパレータ30はビット・ロ ケータ33を使用可能とする「不整合」信号を与える。ビット・ロケータ33は 次にSO,Sl、S2の2つの先行ビット(ONESである)のいずれかを位置 指定する。この情報はビット・ロケータ33に含まれるテーブル・エントリ・ロ ジック33aて用いられて変更子テーブル32を入力し、このテーブルから行を 選定する9選定されたテーブル行は次に後述するようなシンボル変更子34て組 み合わされ、そして、疑似データ・バイトおよびECCシンボルを修正するのに 用いられる。生成プログラム多項式(3)にとっては、テーブル1は変更子テー ブルである。テーブル1の列D1は疑似データ・バイトのための変更子を含み1 列So、S1.S2はそれぞれSO〜S2のための変更子を含んている。
この例では、テーブル1の条件l、2.4か満たされており。
したかって、このテーブルは行l、2,4て入力される。シンボルSo、S1. S2.DJの変更子はこれらの行における対応するエントリな加算する(モジュ ーロ2)ことによってシンボル変更子34で生成される(第3図のステップ50 )。
DI S2 SI SO シンボル変更子34のレジスタ34bに格納されている疑似データバイトおよび コンパレータ30からの「不整合」信号に応答してゲート31を通してシンボル 変更子34のレジスタ34aにロートされたECCシンボルは、次に、変更子を 出初のシンボルに加えてシンボルSo′、Sl’、S2’ 、Di’を生成する (モジューロ2)ことによってシンボル変更子34て修正される(第3図のステ ップ52)、これらがシンボルSO〜S2および疑仰データ・ハイド(すなわち 、DI’)と交替する。
DI’ −(0000000000)中(00010100in)−(0001 010010)−α5寛9S2’ −(illloooooo)Φ(11011 11100)−(0010111100)−α66251’ −(01i004 (1010)◆(01111(11(+11)−((1(](+1111[10 ])−α133SO’ −(0000111111)中(0010101101 )−(0010010010)−α:′15DI’、52′、Sl’、SO’の うちの最初の2つのビット(すべてZERO5である)は送信または記憶のため には無視され(第3図のステップ54)、それから生じて符号語レジスタ36に ロードされた符号語は次の通りである。
こうして、符号語はバイト・ストリングとして送信または記憶され得る。
受信端ての符号語の復号は、変更子テーブルが不要なので、符号化よりは簡単で ある。送信された符号語の、エラー検出に必要とされる剰余は受信された符号語 のにデータ・バイトおよび疑似データ・バイトを符号化する(第1図)ことによ って決定される。この時点で、疑似データ・バイトは廃棄してもよい。次に。
生成されたECCシンボルと符号語のECCシンボルを比較し。
なんらかのエラーか検出されたならば、エラー訂正アルゴリズムを用いることが できる。
次に、変更子テーブルlを生成するのに用いることのてきる2つの方法を説明し 、複数の疑似データ・シンボルを持った符号のためのより一般的な変更しテーブ ルのケースを取り上げる。
テーブルlを生成する第1の方法は先行の2つのビット(すなわち、切り捨てパ ターンを含むシンボル)としてZERO3を持つすべての可能性のあるGF(2 ”)シンボルからの潜在的な第1列(Dl)エントリ(ここては、256個の第 1列エントリの可能性がある)を任意に選定することから出発する。次に、潜在 的第1列エントリの各々がエンコーダ10(第1図)を用いて符号化され、対応 する潜在テーブル行、すなわち、SQ〜S2のためのエントリを発生する。IE CCシンボルあたり2つのテーブル行(それぞれか切り捨てパターン内の選定ビ ットの各々に対応する)か潜在テーブル行から選ばれる。したかって、この例に おける3つのECCシンボルおよび切り捨てパターン内の2つのビットの場合、 6つの行か選定される。
詳しく言えば、ECCシンボルSOについての2つのテーブル行は、SOシンボ ルに対応する列内のエントリの場合を除いて。
これらの行内のすべてのエントリか2つの先行ビット(すなわち、切り捨てパタ ーンに等しい切り捨てビット)としてZEROSを持つように選定される。これ らSOエントリのうちの1つはZEROSに等しい同じエントリ内にゼロONH に等しい1つの切り捨てビットEともう1つの切り捨てビットFとを持たなけれ ばならない、すなわち、切り捨てビットEは切り捨てパターンの対応するビット の加法に関する逆元てあり、切り捨てビットFは切り捨てパターン内の対応する ビットに等しい。他の行は対応する切り捨てパターン・ビットの加法に関する逆 元に等しい切り捨てビットFと切り捨てパターン内の対応するビットに等しい切 り捨てビットEを備えたSOエントリを持たなければならない。対応する行の選 定基準を用いて、ECCシンボルSl。
S2についての行も選定する。
1例として、Slに対応するテーブルl内の行、すなわち、行3.4を考える。
行3エントリはS1列のエントリを除く各エントリ(先行ビット位置に1つのO NEを、第2のビット位置に1つのZEROを有する)の最初の2つのビット位 置にZEROSを有する。同様に、行4エントリはS1列におけるエントリを除 く各エントリ(先行ビット位置に1つのZEROを。
第2のビット位置に1つのONEを有する)の最初の2つのビット位置にZER OSを有する。
行選定基準を満足させる2つのテーブル行か各ECCシンボルについて見出し得 なければ、符号について選ばれた生成プログラム多項式は使用できない。生成プ ログラム多項式(1)におけるmまたはiあるいは両方についての代わりの値を 選んで、変更しテーブルを構成し得る生成プログラム多項式を見付けることにな る。この生成プログラム多項式ををエンコーダ10て用いる。
テーブルlを生成する第2の方法では生成プログラム多項式(3)を利用する。
多項式(3)における係数の先行の2つのビットがrdcXcJマトリックス( マトリックスA)となるものの最初の行として用いられる。ここて、dは式(4 )て決められる疑似データ・シンボルの数てあり、Cは符号語シンボル内のビッ トの数である。この例ては、マトリックスAはr8x8」マトリックスである0 次に、生成プログラム多項式(3)がα1(i=1.2.・・・7)と掛は合わ され、各乗算多項式の係数のうち先行の2つのビットがマトリックスAの行2〜 7の要素として用いられる0次に、マトリックスAの「疑似逆元」 (マトリッ クスB)か行還元方法を用いて生成され、マトリックスAを識別マトリックスに てきるだけ近い形にする。このようにして、マトリックスAの順位R1すなわち 、識別マトリックスの行に類似する行を形成するように扱うことのてきるマトリ ックス行の数か決定され得る。マトリックスBは、マトリックスAが正方マトリ ックスでないかぎり一意てはなく、マトリックスAの各行aiおよびマトリック スBの各行す、について、内積ai *b、がa、*1g =1.1=j ai *l)、=Q、i↓j となるように決定される。
マトリックスAの順位Rか変更子テーブルで要求される行の数に等しい場合には 、マトリックスBのR本の行かテーブルの第1、すなわち、Dl列における各エ ントリの最後の8つのビットとして用いられる(最初の2つのビットは常にZE ROS、すなわち、切り捨てビットか切り捨てパターンに等しい)、これら最初 の列エントリは次に別々にエンコーダ10によって符号化されてテーブル行を生 しさせる。
マトリックスAの順位Rが変更子テーブルて必要とされる行の数に等しくない場 合には、別の生成プログラム多項式(1)が選ばれる。すなわち、mまたはiあ るいは両方の値が変更されて、別の変更子テーブルを生成するようにする。通常 は、iのみを変更すれば充分である。
変更子テーブルの記憶要求は01列のみまで減らすことができる。このD1変更 子を符号化する(第1図)ことによって5O1S1.S2の変更子を見付は出す ことができる。D1変更子はDl変更子列を適当に入力することによって見出さ れる。D1変更子を符号化した後、レジスタ22〜26の内容かSO,Sl、S 2のための変更子となる。
上述した2つの方法は展開形態で用いて種々のサイズのガロア域あるいは2つ以 上の疑似データ・シンボルまたはこれら両方を用いて符号のための変更子テーブ ルを生成することかてきる。一般的なケースては、(i)符号か訂正しようとし ているエラーの最大数に依存する任意数SのECCシンボルと、(ii)保護し ようとしているデータ・フィールドのサイズに依存する任意の大きなガロア域G F (PQ)(Pは通常2に等しく、このガロア域の要素は9個のビットを持つ )と、(iii)c個のと・ント(Cはq未満である)を持つ符号語シンボルと 、(iv)b個のビットの長さの切す捨てパターン(bはq−cに等しい)とか ある、成る符号て必要とされる疑似データ・シンボルの数dは式(4)によって 決したがって、上述した最初の方法を用いて変更子テーブルを生成するには、切 り捨てパターンと同一の切り捨てビットを有するGF (2”)の要素か任意に 選ばれる。すなわち、このような要素か2b個ある0次に、選定された要素か生 成プログラム多項式によって符号化されて5個のEECシンボルと第1の疑似デ ータ・シンボル(Dl)のための潜在テーブル行エントリを生成する。次いて、 全ZEROエントリが潜在テーブル行に挿入されてから、第2 (D2)、第3  (D3)等の疑似データ・シンボルのためのDlおよびテーブル選定基準を満 たすテーブル行かこれら潜在テーブル行から選定される。
各ECCシンボルについての行速定基準を満足させる適当数のテーブル行を得る ことかてきるならば、符号毎にたった1つの疑似データ・シンボルたけてよい。
何回も反復した後にも適当数のテーブル行が得られないならば、生成プログラム 多項式(1)を修正しなければならない。
最初の反復て、2つのシンボル、すなわち、(00000001)、(0000 0000)のストリングtか第1図のエンコーダlOにおけるように生成プログ ラム多項式て割ることによって符号化される。これは以下の形態の多項式f ( x)を生成する。
f (x)=x” +Oxb+a” x’ +a’ z’ +awx+a”・・ ・・・(5) 次に、潜在的な第1列エントリが上述したように任意に選定され、対応する潜在 テーブル行エントリが符号化によって、すなわち、それらにf (x)を掛ける ことによって生成される。次いて、潜在テーブル行かECCシンボルおよび最初 の2つの疑似データ・シンボル(Dl、D2)のためのエントリを用い、かつ、 残りの疑似データ・シンボルのためのエントリとして全ZEROシンボルを用い て形成される。次に、行速定基準を満足させる付加的なチーフル行かこれら潜在 テーブル行から選定される。
適当な数のチーフル行かまた見出されない場合には、2回目の反復か行なわれる 。この反復のときに、3つのシンボルのストリングt′、すなわち、(0000 0001)、(00000000)、(00000000)か符号化される。次 に、潜在性が生成され、適当なテーブル行か上述したように選定される。それて もなおテーブルか得られない場合には、先に符号化したシンボル・ストリングt ′に付加的な全ZEROシンボルを添付し、上述したように潜在性発生、テーブ ル行選定ステップをたどることによって付加的な反復か行なわれる。
実施し得る反復回数には限界cd−1に等しい)かある。
d−1回の反復の後でも変更子テーブルが生成され得ない場合には、生成プログ ラム多項式を修正し、テーブルか生成し得るまてこの修正した生成プログラムて 反復を行なわなければならない。
2つ以上の疑似データ・シンボルて符号用の変更子テーブルを生成する別の方法 としては展開マトリックス法かある。この方法は次のように行なわれる。多項式 係数のb個のビットと第2 (D2) 第3 (D3)等の疑似データ・シンボ ルのための全ZEROエントリとを用いて、テーブルlを生成するためのマトリ ックス法て説明したようにマトリックスAの最初の0個の行が生成される。次の 0個の行は多項式(5)を用いて同し要領て生成される。すなわち、多項式(5 )の係数の先行のb個のビットかマトリックスの行ca1のエントリとして用い られる。次に、多項式(5)にα″ (i=1.2、・・・・c−1)か掛は合 わされ、それぞれの係数の先行す個のビットかマトリックスの行c+2〜2Cの エントリとして用いられる。このマトリックス行生成方法はrdcXcJマトリ ックスが得られるまて種々のシンボル・ストリングt、t+等を符号化すること によって繰り返される。ここで再び、マトリックスの「疑似逆元」が生成され、 順位か決定され、この順位が変更子テーブルて要求される行数に等しい場合には 、上述したようにこのマトリックスからテーブルか生成される。
マトリックスAの順位が変更子テーブルて要求される行数に等しくない場合には 、生成プログラム多項式(1)が修正されなければならない6通常は、変更子テ ーブルを生成することのてきる生成プログラム多項式が決まるまてiの値が変え られる。
浄書(内容に変更なしン 補正書の翻訳文提出書 (特許法第184条の7第1項) 64.1.−6 昭和 年 月 日 特許庁長官 吉 1)文 毅 殿 1、特許出願の表示 PCT/US 881014863、特許出願人 住 所 東京都千代田区丸の内3丁目3番1号電話(211) 8741代表 補正後の請求の範囲 1. ガロア域(pQ)およびこのガロア域の要素となるqビット係数を有する 生成プログラム多項式g (x)に関して修正したり−ト・ソロモン・エラー訂 正符号(ECC)を用いてデータ・シンボルを符号語に符号化して最大6個のエ ラーを訂正できる方法てあって。
1、に個のデータ・シンボルプラスL個の所定の疑似データ・シンボルを符号化 してd個の9ビツトECCシンボルを生成する段階と。
2、前記9ビツトECCシンボルの各々におけるn個の選定されたビットか所定 の切り捨てパターンに整合するかどうかを確認し、もし前記整定されたビットの いずれかが前記切り捨てパターンにおける対応するビットに整合しない場合には 不整合ビットの位置を確認する段階と、 3、(a)前記qビットECCシンボルの各々における前記選定されたn個のビ ットが前記パターンに整合するという決定に応答して、前記に個のデータ・シン ボル、前記り個の疑似データ・シンボルおよびd個のECCシンボル(各々が前 記選定されたビットてない9ビツトECCシンボルのq−n個のビットから形成 されている)を含む符号語を生成し、(b)前記qビットECCシンボルの少な くとも1つにおける前記選定されたn個のヒツトが前記パターンに整合しないと いう決定に応答して、 1、前記所定の疑似データ・シンボルを修正してL個の修正疑似データ・シンボ ルを得、データ・シンボルおよび修正疑似データ・シンボルからなるストリング を符号化することによって9ビツトの交替ECCシンボルを生成し、これらの交 替ECCシンボルの各々の前記選定されたn個のビットか前記パターンと整合す るようにする段階と 2、前記に個のデータ・シンボル、前記り個の修正疑似データ・シンボルおよび 各々か選定されたヒツトてない9ビツト交替ECCシンボルのq−n個のビット から形成したd個のECCシンボルを含む符号語を生成する段階とを包含するこ とを特徴とする方法。
2、 請求項1記載の符号化方法において、前記修正段階が、さらに、 1、前記所定のnビット・パターンにおける対応するビットに整合しない前記d 個の9ビツトECCシンボルの前記選定されたn個のビットの各々の位置に応答 して各qビットECCシンボルのための変更子チーフルにおける1つ以上のエン トリ行を選定する段階と、 2、@記選定されたテーブル行の各々における列エントリか他の選定されたテー ブル行の各々における対応したエントリに加えられるように前記選定されたテー ブル行を加算する(モジューロP)ことによってL個の疑似データ・シンボル変 更子とd個の9ビツトECCシンボル変更子を形成する段階と、3、前記疑似デ ータ・シンボル変更子および前記ECCシンボル変更子を前記疑似データ・シン ボルおよび前記ECCシンボルの対応するものに加える(モジューロp)ことに よって前記り個の疑似データ・シンボルおよび前記9ビツトECCシンボルを修 正する段階と を包含することを特徴とする方法。
3、 請求項2記載の方法において、前記変更子テーブルかnd木の行とd+L 本の列とからなり、最初のL木の列が前記り個の疑似データ・シンボルのそれぞ れと組み合わされ、1本の列か前記d個のECCシンボルの各々と組み合わされ ており、前記テーブルが以下によって生成され、すなわち、i、潜在的なd+1 列エントリを選定し、ここてd+1列かGF (p@)の要素から前記変更子テ ーブルのための最初の疑似データ・シンボルと組合わせてあり、各潜在的d+1 列エントリの選定されたn個のビットが前記切り捨てパターンと整合するように し。
ii、請求項1で符号化するのに用いられると同じアルゴリズムによって前記潜 在的d+1列エントリを別々の符号化して前記潜在的d+1列エントリの各々に 対応するd個の符号シンボルを生成し、各潜在的d+1列エントリが残りのL− 1個の疑似データ・シンボル3よびd個の符号シンボルのための全ZEROエン トリと一緒に潜在的テーブル行を形成するようにし、iii、前記潜在的テーブ ル行からテーブル行を選定し、a、各ECCシンボルかそれと組み合わされた0 本の行を有し。
b、これら0本の行の各々において、ECCシンボルと組み合わされた列内の符 号シンボルか前記切り捨てパターンと整合しない前記n個の選定されたビットの 1つを有し、C0前記n個の行の各々が前記切り捨てパターンと整合しない前記 選定されたn個のビットのうちの別のものを有するようにすることによって生成 されることを特徴とする方法。
4、 請求項2記載の方法において、前記変更子テーブルがnd個の行とd+L 個の列とからなり、最初のL個の列か前記L([iの疑似データ・シンボルのそ れぞれと組み合わさせてあり、1つの列が前記d個のECCシンボルの各々と組 合わせてあり。
前記テーブルか次のように生成される、すなわち、i、g(x)のqビット係数 の各々からr (L) (q−n) xq−n)Jマトリックスの最下行のnd 個の要素として要素ビットを用いかつ残りの最下行要素のための全ZERO3を 用いて前記qビットECCシンボルの前記n個の選定されたビットと同じビット 位置を有するn個の要素ビットを選定し。
ii、前記係数シンボルの各々にα[ガロア域(p@)の基本要素]を掛けて( モジューロp (x) )修正係数を得、iii、これら修正係数の要素ビット を前記マトリックスの次の行のnd個の要素として用いると共に残りの行要素の ための全ZEROSを用い、 iv、前記マトリックスかq−n行を含むまて前記ii、iiiの段階を繰り返 す ことによって生成することを特徴とする方法。
5、 請求項1記載の方法において、ガロア域GF (p@)が512個または 576個のデータ・シンボルからなるデータ・ブロックを符号化できるように選 定されることを特徴とする方法。
6、 請求項1記載の方法において、ガロア域がGF(2”)てあり、所定の切 り捨てパターンかデータ・シンボルおよび符号語ECCシンボルが長さ8ビツト となるような2ビツト長であることを特徴とする特許 7、 請求項6記載の方法において、所定のパターンが先行の2シンボル・ビッ ト位置にある2つのZEROSからなることを特徴とする方法。
8、 ガロア域(p” )およびこのガロア域の要素となる9ビツト係数を有す る生成プログラム多項式g (x)に関して修正したリード・ンロモン・エラー 訂正符号(ECC)を用いてデーターシンボルを符号語に符号化して最大d個の エラーを訂正てきる装置てあって、 A、に個のデータ・シンボルプラスL個の所定の疑似データ・シンボルを符号化 してd個のqビットECCシンボルを生成する手段と、 B、前記qビットECCシンボルの各々におけるn個の選定されたビットが所定 の切り捨てパターンに整合するかどうかを確認し、もし前記整定されたビットの いずれかが前記切り捨てパターンにおける対応するビットに整合しない場合には 不整合ビットの位置を確認する手段と、 C,(1)前記qビットECCシンボルの各々における前記選定されたn個のビ ットが前記パターンに整合するという決定に応答して、前記に個のデータ・シン ボル、前記り個の疑似データ・シンボルおよびd個のECCシンボル(各々が前 記選定されたビットてない9ビツトECCシンボルのq−n個のビットから形成 されている)を含む符号語を生成する手段と。
(2)前記9ビツトECCシンボルの少なくとも1つに3ける前記選定されたn 個のビットが前記パターンに整合しないという決定に応答して、 1、前記所定の疑似データ・シンボルを修正してL個の修正疑似データ・シンボ ルを得、データ・シンボルおよび修正疑似データ・シンボルからなるストリング を符号化することによってqビットの交替ECCシンボルを生成し、これらの交 替ECCシンボルの各々の前記選定されたn個のビットか前記パターンと整合す るようにする修正手段と2、前記に個のデータ・シンボル、前記り個の修正疑似 データ・シンボルおよび各々が選定されたビットてないqヒツト交替ECCシン ボルのq−n個のビットから形成したd個のECCシンボルを含む符号語を生成 する手段と9、 請求項8記載の符号化装置において、前記修正手段か、さらに 、 A、前記所定のnビット・パターンにおける対応するビットに整合しない前記d 個のqビットECCシンボルの前記選定されたn個のビットの各々の位置に応答 して各qビットECCシンボルのための変更子テーブルにあける1つ以上のエン トリ行を選定する手段と、 B、前記選定されたテーブル行の各々における列エントリか他の選定されたテー ブル行の各々における対応したエントリに加えられるように前記選定されたテー ブル行を加算する(モジューロP)ことによってL個の疑似データ・シンボル変 更子とd個のqビットECCシンボル変更子を形成する手段と。
C9前記疑似データ・シンボル変更子および前記ECCシンボル変更子を前記疑 似データ・シンボルおよび前記ECCシンボルの対応するものに加える(モジュ ーロp)ことによって前記り個の疑似データ・シンボルおよび前記qビットEC Cシンボルを修正する手段と を包含することを特徴とする装置。
10、請求項9記載の装置において、前記変更子テーブルがnd木の行とd+L 本の列とからなり、最初のL木の列が前記り個の疑似データ・シンボルのそれぞ れと組み合わされ、1本の列が前記d個のECCシンボルの各々と組み合わされ ており、前記テーブルが以下によって生成され、すなわち、i、潜在的なd+1 列エントリを選定し、ここてd+1列がGF (p’ )の要素から前記変更子 テーブルのための最初の疑似データ・シンボルと組合わせてあり、各潜在的d+ 1列エントリの選定されたn個のビットが前記切り捨てパターンと整合するよう にし。
ii、 請求項lで符号化するのに用いられると同じアルゴリズムによって前記 潜在的d+1列エントリを別々の符号化して前記潜在的d+1列エントリの各々 に対応するd個の符号シンボルを生成し、各潜在的d+1列エントリが残りのL −1個の疑似データ・シンボルおよびd個の符号シンボルのための全ZEROエ ントリと一緒に潜在的テーブル行を形成するようにし。
iii、前記潜在的テーブル行からテーブル行を選定し。
a、各ECCシンボルがそれと組み合わされた1本の行を有し。
b、これらn木の行の各々において、ECCシンボルと組み合わされた列内の符 号シンボルが前記切り捨てパターンと整合しない前記n個の選定されたビットの 1つを有し、C0前記n個の行の各々が前記切り捨てパターンと整合しない前記 選定されたn個のビットのうちの別のものを有するようにし、 jv、もしLが1より大きい場合には、請求項1て符号化するのに用いたと同し アルゴリズムによって2つの9ビツト・シンボルのシンボル・ストリングSをO NHの前のq−IZEROSからなる第1のqビット・シンボルおよび全ZER OSからなる第2のqビット・シンボルて符号化して多項式f (x)を生成し 。
V、前記変更子テーブルのための潜在的なd+2列エントリ(d+2列が第2疑 似データ・シンボルと組合わせである)を段階iと同様に選定し、 vi、前記潜在的エントリに前記多項式f (x)を掛けることによって前記潜 在的d+2列エントリを別々に符号化して前記潜在的なd+2列エントリの各々 に対応するd+1符号シンボルを生成し、各潜在的d+2列エントリか残りのL −2個の疑似データ・シンボルおよびd+1符号語シンボルのための全ゼロエン トリと一緒に潜在的なテーブル列を形成するようにし。
vii、段階iHと同様に前記潜在的テーブル行からテーブル行を選定し。
viii、もしLが2より大きい場合には、請求項1で符号化するのに用いられ たと同じアルゴリズムによって3つの9ビツト・シンボルのシンボル・ストリン グS′を前記シンボル・ストリングSにおけるシンボルと同じ最初の2つのシン ボルと金ZEROSからなる第3のシンボルとで符号化して多項式f′(x)を 生成し、 ix、前記変更子テーブルのための潜在的d+3列エントリ(d+3列は第3疑 似データ・シンボルと組合わせである)を段階iと同様に選定し。
x、f’ (x)をf (x)に代入して前記d+3潜在的列エントリの各々の ための潜在的テーブル行を生成するように段階vlを繰り返し。
xi1段階iiiと同様に前記潜在的テーブル行からテーブル行を選定し、 xii、段階viiiへ×iを繰り返し、n6個のテーブル行か選定されるまて 各反復毎に1つの全ZEROシンボル分たけ前記シンボル・ストリングS°を長 くする ことによって生成することを特徴とする装置。
11、請求項9記載の装置において、前記変更子テーブルかn6個の行とd+L 個の列とからなり、最初のL個の列か前記り個の疑似データ・シンボルのそれぞ れと組み合わさせてあり、1つの列か前記d個のECCシンボルの各々と組合わ せてあり、前記テーブルか次のように生成される。すなわち。
i、g(x)の9ビツト係数の各々からマトリックスの最下行のn6個の要素と して要素ビットを用いかつ残りの最下行要素のための全ZEROSを用いて前記 qビットECCシンボルの前記n個の選定されたビットと同じビット位置を有す るn個の要素ii、前記係数シンボルの各々にα[ガロア域(p” )の基本要 素]を掛けて(モジューロp (x) )修正係数を得、iii、これら修正係 数の要素ビットを前記マトリックスの次の行のn6個の要素として用いると共に 残りの行要素のための全ZEROSを用い、 iv、前記マトリ・ンシスかq−n行を含むまて前記ii、iiiの段階を繰り 返し、 ■、もしLが1より大きいならば、請求項3と同様に前記シンボル・ストリング Sを符号化して多項式f (x>を生成し。
νj、マトリックスか(2)(q−n)木の行を含むまで生成プログラム多項式 にf (x)を代入して段階i〜1vを繰り返し、 νii、Lか2より大きいときには、請求項3と同様に前記シンボル・ストリン クS′を符号化して多項式f’ (x)を生成し、f′ (x)をf (x)に 代入してマトリックスか(3)(q−n)本の行を含むまて段階j〜viを繰つ 返し、νiii、段階viiを繰り返してマトリックスが(L)(q−n)本の 行を含むまで各反復毎に前記シンボル・ストリングS゛を1つの全ZEROシン ボル分長くし、ix0行還元を用いることによって前記マトリックスの疑似逆元 を生成して識別マトリックスにてきるたけ近い形て前記マトリックスを扱い、 x、n個の選定されたビットてないシンボル・ビットに対応する。テーブルのd +1列の1つのエントリのq−nビットとして前記疑似逆元マトリックスの最初 のnd本の行の各々を用いることによつて前記変更子テーブルのd+1列を生成 し、×i、前記の生したエントリのq−n個のビットと前記選定されたnビット 切り捨てパターンとを組合わせることによってqビットd+1列テーブル・エン トリを生成し。
xii、請求項1て符号化に用いたと同じアルゴリズムによって各d+1列エン トリを符号化して前記テーブルの行のためのd個のエントリを生成し、各行か前 記d+1列エントリ、前記4列エントリおよび残りのL−1列のための全ZER Oエントリからなるようにし、 xiii、前記疑似逆元マトリックスの第2のn6個の行の各々を用いることに よって前記変更子テーブルのd+2列を生成し。
段階X〜xliを繰り返し。
xiv、段階xiiiを繰り返して前記変更子チーフルの残りのL−3列および それに対応した行を形成することによって生成されることを特徴とする装置。
12、請求項8記載の装置において、ガロア域GF (p@)が512個または 576個のデータ・シンボルからなるデータ・ブロックを符号化てきるように選 定されることを特徴とする装置。
13、請求項8記載の装置において、ガロア域かGF (2’°)てあり、所定 の切り捨てパターンかデータ・シンボル3よび符号語ECCシンボルが長さ8ビ ツトとなるような2ビツト長であることを特徴とする装置。
14、請求項13記載の装置において、所定のパターンが先行の2シンボル・ビ ット位置にある2つのZEROSからなることを特徴とする装置。
平成 年 月 日 特許庁長官 吉 1)文 毅 殿 1、事件の表示 PCT/US 881014863、補正をする者 事件との関係 出願人 5、補正命令の日付 平成1年10月3日国際調査報告

Claims (1)

  1. 【特許請求の範囲】 1.ガロア域(pq)およびこのガロア域の要素となるqビット係数を有する生 成プログラム多項式g(X)に関して修正したリード・ソロモン・エラー訂正符 号(ECC)を用いてデータ・シンボルを符号語に符号化して最大d個のエラー を訂正できる方法であって、 1.K個のデータ・シンボルプラスL個の所定の疑似データ・シンボルを符号化 してd個のqビットECCシンボルを生成する段階と、 2.前記qビットECCシンボルの各々におけるn個の選定されたビットが所定 の切り捨てパターンに整合するかどうかを確認し、もし前記整定されたビットの いずれかが前記切り捨てパターンにおける対応するビットに整合しない場合には 不整合ビットの位置を確認する段階と、 3.(a)前記qビットECCシンボルの各々における前記選定されたn個のビ ットが前記パターンに整合するという決定に応答して、前記K個のデータ・シン ボル、前記L個の疑似データ・シンボルおよびd個のECCシンボル(各々が前 記選定されたビットでないqビットECCシンボルのq−n個のビットから形成 されている)を含む符号語を生成し、(b)前記qビットECCシンボルの少な くとも1つにおける前記選定されたn個のビットが前記パターンに整合しないと いう決定に応答して、 1.前記所定の疑似チータ・シンボルを修正してL個の修正疑似データ・シンボ ルを得、データ・シンボルおよび修正疑似データ・シンボルからなるストリング を符号化することによってqビットの交替ECCシンボルを生成し、これらの交 替ECCシンボルの各々の前記選定されたn個のビットが前記パターンと整合す るようにする段階と 2.前記K個のデータ・シンボル、前記L個の修正疑似データ・シンボルおよび 各々が選定されたビットでないqビット交替ECCシンボルのq−n個のビット から形成したd個のECCシンボルを含む符号語を生成する段階とを包含するこ とを特徴とする方法。 2.請求項1記載の符号化方法において、前記修正段階が、さらに、 1.前記所定のnビット・パターンにおける対応するビットに整合しない前記d 個のqビットECCシンボルの前記選定されたn個のビットの各々の位置に応答 して各qビットECCシンボルのための変更子テーブルにおける1つ以上のエン トリ行を選定する段階と、 2.前記選定されたテーブル行の各々における列エントリが他の選定されたテー ブル行の各々における対応したエントリに加えられるように前記選定されたテー ブル行を加算する(モジューロp)ことによってL個の疑似データ・シンボル変 更子とd個のqビットECCシンボル変更子を形成する段階と、3.前記疑似デ ータ・シンボル変更子および前記ECCシンボル変更子を前記疑似データ・シン ボルおよび前記ECCシンボルの対応するものに加える(モジューロp)ことに よって前記L個の疑似データ・シンボルおよび前記qビットECCシンボルを修 正する段階と を包含することを特徴とする方法。 3.請求項2記載の方法において、前記変更子テーブルがnd本の行とd+L本 の列とからなり、最初のL本の列が前記L個の疑似データ・シンボルのそれぞれ と組み合わされ、1本の列が前記d個のECCシンボルの各々と組み合わされて おり、前記テーブルが以下によって生成され、すなわち、i.潜在的なd+1列 エントリを選定し、ここでd+1列がGF(pq)の要素から前記変更子テーブ ルのための最初の疑似データ・シンボルと組合わせてあり、各潜在的d+1列エ ントリの選定されたn個のビットが前記切り捨てパターンと整合するようにし、 ii.請求項1で符号化するのに用いられると同じアルゴリズムによって前記潜 在的d+1列エントリを別々の符号化して前記潜在的d+1列エントリの各々に 対応するd個の符号シンボルを生成し、各潜在的d+1列エントリが残りのL− 1個の疑似データ・シンボルおよびd個の符号シンボルのための全ZEROエン トリと一緒に潜在的テーブル行を形成するようにし、iii.前記潜在的テーブ ル行からテーブル行を選定し、a.各ECCシンボルがそれと組み合わされたn 木の行を有し、 b.これらn本の行の各々において、ECCシンボルと組み合わされた列内の符 号シンボルが前記切り捨てパターンと整合しない前記n個の選定されたビットの 1つを有し、c.前記n個の行の各々が前記切り捨てパターンと整合しない前記 選定されたn個のビットのうちの別のものを有するようにすることによって生成 されることを特徴とする方法。 4.請求項2記載の方法において、前記変更子テーブルがnd個の行とd+L個 の列とからなり、最初のL個の列が前記L個の疑似データ・シンボルのそれぞれ と組み合わさせてあり、1つの列が前記d個のECCシンボルの各々と組合わせ てあり、前記テーブルが次のように生成される、すなわち、i.g(x)のqビ ット係数の各々から「(L)(q−n)xq−n)」マトリックスの最下行のn d個の要素として要素ビットを用いかつ残りの最下行要素のための全ZEROS を用いて前記qビットECCシンボルの前記n個の選定されたビットと同じビッ ト位置を有するn個の要素ビットを選定し、ii.前記係数シンボルの名々にα [ガロア域(pq)の基本要素]を掛けて(モジューロp(X))修正係数を得 、iii.これら修正係数の要素ビットを前記マトリックスの次の行のnd個の 要素として用いると共に残りの行要素のための全ZEROSを用い、 iv.前記マトリックスがq−n行を含むまで前記ii、iiiの段階を繰り返 す ことによって生成することを特徴とする方法。 5.請求項1記載の方法において、ガロア域GF(pq)が512個または57 6個のデータ・シンボルからなるデータ・ブロックを符号化てきるように選定さ れることを特徴とする方法。 6.請求項1記載の方法において、ガロア域がGF(210)であり、所定の切 り捨てパターンがデータ・シンボルおよび符号語ECCシンボルが長さ8ビット となるような2ビット長であることを特徴とする方法。 7.請求項6記載の方法において、所定のパターンが先行の2シンボル・ビット 位置にある2つのZEROSからなることを特徴とする方法。 8.ガロア域(pq)およびこのガロア域の要素となるqビット係数を有する生 成プログラム多項式g(X)に関して修正したリード・ソロモン・エラー訂正符 号(ECC)を用いてデータ・シンボルを符号語に符号化して最大d個のエラー を訂正できる装置であって、 A.K個のデータ・シンボルプラスL個の所定の疑似データ・シンボルを符号化 してd個のqビットECCシンボルを生成すろ手段と、 B.前記qビットECCシンボルの各々におけるn個の選定されたビットが所定 の切り捨てパターンに整合するかどうかを確認し、もし前記整定されたビットの いずれかが前記切り捨てパターンにおける対応するビットに整合しない場合には 不整合ビットの位置を確認する手段と、 C.(1)前記qビットECCシンボルの各々における前記選定されたn個のビ ットが前記パターンに整合するという決定に応等して、前記K個のデータ・シン ボル、前記L個の疑似データ・シンボルおよびd個のECCシンボル(各々が前 記選定されたビットでないqビットECCシンボルのq−n個のビットから形成 されている)を含む符号語を生成する手段と、(2)前記qビットECCシンボ ルの少なくとも1つにおける前記選定されたn個のビットが前記パターンに整合 しないという決定に応答して、 1.前記所定の疑似データ・シンボルを修正してL個の修正疑似データ・シンボ ルを得、データ・シンボルおよび修正疑似データ・シンボルからなるストリング を符号化することによってqビットの交替ECCシンボルを生成し、これらの交 替ECCシンボルの各々の前記選定されたn個のビットが前記パターンと整合す るようにする手段と 2.前記K個のデータ・シンボル、前記L個の修正疑似データ・シンボルおよび 各々が選定されたビットでないqビット交替ECCシンボルのq−n個のビット から形成したd個のECCシンボルを含む符号語を生成する手段とを包含するこ とを特徴とする手段。 9.請求項8記載の符号化手段において、前記修正手段が、さらに、 A.前記所定のnビット・パターンにおける対応するビットに整合しない前記d 個のqビットECCシンボルの前記選定されたn個のビットの各々の位置に応答 して各qビットECCシンボルのための変更子テーブルにおける1つ以上のエン トリ行を選定する手段と、 B.前記選定されたテーブル行の各々における列エントリが他の選定されたテー ブル行の各々における対応したエントリに加えられるように前記選定されたテー ブル行を加算する(モジューロp)ことによってL個の疑似データ・シンボル変 更子とd個のqビットECCシンボル変更子を形成する手段と、C.前記疑似デ ータ・シンボル変更子および前記ECCシンボル変更子を前記疑似データ・シン ボルおよび前記ECCシンボルの対応するものに加える(モジューロp)ことに よって前記L個の疑似データ・シンボルおよび前記qビットECCシンボルを修 正する手段と を包含することを特徴とする手段。 10.請求項9記載の手段において、前記変更子テーブルがnd本の行とd+L 本の列とからなり、最初のL本の列が前記L個の疑似データ・シンボルのそれぞ れと組み合わされ、1本の列が前記d個のECCシンボルの各々と組み合わされ ており、前記テーブルが以下によって生成され、すなわち、i.潜在的なd+1 列エントリを選定し、ここでd+1列がGF(pq)の要素から前記変更子テー ブルのための最初の疑似データ・シンボルと組合わせてあり、各潜在的d+1列 エントリの選定されたn個のどットが前記切り捨てパターンと整合するようにし 、 ii.請求項1で符号化するのに用いられると同じアルゴリズムによって前記潜 在的d+1列エントリを別々の符号化して前記潜在的d+1列エントリの各々に 対応するd個の符号シンボルを生成し、各潜在的d+1列エントリが残りのL− 1個の疑似データ・シンボルおよびd個の符号シンボルのための全ZEROエン トリと一緒に潜在的テーブル行を形成するようにし、iii.前記潜在的テーブ ル行からテーブル行を選定し、a.各ECCシンボルがそれと組み合わされたn 本の行を有し、 b.これらn本の行の各々において、ECCシンボルと組み合わされた列内の符 号シンボルが前記切り捨てパターンと整合しない前記n個の選定されたビットの 1つを有し、c.前記n個の行の各々が前記切り捨てパターンと整合しない前記 選定されたn個のビットのうちの別のものを有するようにし、 iv.もししが1より大きい場合には、請求項1で符号化するのに用いたと同じ アルゴリズムによって2つのqビット・シンボルのシンボル・ストリングSをO NEの前のq−1ZEROSからなる第1のqビット・シンボルおよび全ZER OSからなる第2のqビット・シンボルで符号化して多項式f(x)を生成し、 v.前記変更子テーブルのための潜在的なd+2列エントリ(d+2列が第2疑 似データ・シンボルと組合わせてある)を段階iと同様に選定し、 vi.前記潜在的エントリに前記多項式f(x)を掛けることによって前記潜在 的d+2列エントリを別々に符号化して前記潜在的なd+2列エントリの各々に 対応するd+1符号シンボルを生成し、各潜在的d+2列エントリが残りのし− 2個の疑似データ・シンボルおよびd+1符号語シンボルのための全ゼロエント リと一緒に潜在的なテーブル列を形成するようにし、vii.段階iiiと同様 に前記潜在的テーブル行からテーブル行を選定し、 viii.もしLが2より大きい場合には、請求項1で符号化するのに用いられ たと同じアルゴリズムによって3つのqビット・シンボルのシンボル・ストリン グS′を前記シンボル・ストリングSにおけるシンボルと同じ最初の2つのシン ボルと全ZEROSからなる第3のシンボルとで符号化して多項式f′(x)を 生成し、 ix.前記変更子テーブルのための潜在的d+3列エントリ(d+3列は第3疑 似データ・シンボルと組合わせてある)を段階iと同様に選定し、 x.f′(x)をf(x)に代入して前記d+3潜在的列エントリの各々のため の潜在的テーブル行を生成するように段階viを繰り返し、 xi.段階iiiと同様に前記潜在的テーブル行からテーブル行を選定し、 xii.段階viii〜xiを繰り返し、nd個のテーブル行が選定されるまで 各反復毎に1つの全ZEROシンボル分だけ前記シンボル・ストリングS′を長 くする ことによって生成することを特徴とする手段。 11.請求項9記載の手段において、前記変更子テーブルがnd個の行とd+L 個の列とからなり、最初のL個の列が前記L個の疑似データ・シンボルのそれぞ れと組み合わさせてあり、1つの列が前記d個のECCシンボルの各々と組合わ せてあり、前記テーブルが次のように生成される、すなわち、i.g(X)のq ビット係数の各々からマトリックスの最下行のnd個の要素として要素ビットを 用いかつ残りの最下行要素のための全ZEROSを用いて前記qビットECCシ ンボルの前記n個の選定されたビットと同じビット位置を有するn個の要素ビッ トを選定し、 ii.前記係数シンボルの各々にα[ガロア域(pq)の基本要素]を掛けて( モジューロp(X))修正係数を得、iii.これら修正係数の要素ビットを前 記マトリックスの次の行のnd個の要素として用いると共に残りの行要素のため の全ZEROSを用い、 iv.前記マトリックスがq−n行を含むまで前記ii、iiiの段階を繰り返 し、 v.もしLが1より大きいならば、請求項3と同様に前記シンボル・ストリング Sを符号化して多項式f(x)を生成し、vi.マトリックスが(2)(q−n )本の行を含むまで生成プログラム多項式にf(x)を代入して段階i〜ivを 繰り返し、 vii.Lが2より大きいときには、請求項3と同様に前記シンボル・ストリン グS′を符号化して多項式f′(x)を生成し、f′(x)をf(x)に代入し てマトリックスが(3)(q−n)本の行を含むまで段階i〜viを繰り返し、 viii.段階viiを繰り返してマトリックスが(L)(q−n)本の行を含 むまで各反復毎に前記シンボル・ストリングS′を1つの全ZEROシンボル分 長くし、ix.行還元を用いることによって前記マトリックスの疑似逆元を生成 して識別マトリックスにできるだけ近い形で前記マトリックスを扱い、 x.n個の選定されたビットでないシンボル・ビットに対応する、テーブルのd +1列の1つのエントリのq−nビットとして前記疑似逆元マトリックスの最初 のnd本の行の各々を用いることによって前記変更子テーブルのd+1列を生成 し、xi.前記の生じたエントリのq−n個のビットと前記選定されたnビット 切り捨てパターンとを組合わせることにょってqビットd+1列テーブル・エン トリを生成し、xii.請求項1で符号化に用いたと同じアルゴリズムによって 各d+1列エントリを符号化して前記テーブルの行のためのd個のエントリを生 成し、各行が前記d+1列エントリ、前記d列エントリおよび残りのL−1列の ための全ZEROエントリからなるようにし、 xiii.前記疑似逆元マトリックスの第2のnd個の行の各々を用いることに よって前記変更子テーブルのd+2列を生成し、段階x〜xiiを繰り返し、 xiv.段階xiiiを繰り返して前記変更子テーブルの残りのL−3列および それに対応した行を形成することによって生成されることを特徴とする手段。 12.請求項8記載の手段において、ガロア域GF(pq)が512個または5 76個のデータ・シンボルからなるデータ・ブロックを符号化できるように選定 されることを特徴とする手段。 13.請求項8記載の手段において、ガロア域がGF(210)であり、所定の 切り捨てパターンがデータ・シンボルおよび符号語ECCシンボルが長さ8ビッ トとなるような2ビット長であることを特徴とする手段。 14.請求項13記載の方法において、所定のパターンが先行の2シンボル・ビ ット位置にある2つのZEROSからなることを特徴とする方法。
JP63504393A 1987-05-07 1988-05-06 リード・ソロモン・エラー訂正符号エンコーダ Pending JPH02500318A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US047,627 1987-05-07
US07/047,627 US4856003A (en) 1987-05-07 1987-05-07 Error correction code encoder

Publications (1)

Publication Number Publication Date
JPH02500318A true JPH02500318A (ja) 1990-02-01

Family

ID=21950022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63504393A Pending JPH02500318A (ja) 1987-05-07 1988-05-06 リード・ソロモン・エラー訂正符号エンコーダ

Country Status (8)

Country Link
US (1) US4856003A (ja)
EP (1) EP0290349B1 (ja)
JP (1) JPH02500318A (ja)
KR (1) KR930008683B1 (ja)
AU (1) AU602401B2 (ja)
CA (1) CA1312953C (ja)
DE (1) DE3852423T2 (ja)
WO (1) WO1988009010A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63316524A (ja) * 1987-06-18 1988-12-23 Sony Corp リ−ド・ソロモン符号の復号方法
US4989211A (en) * 1988-05-12 1991-01-29 Digital Equipment Corporation Sector mis-synchronization detection method
US5146560A (en) * 1988-05-31 1992-09-08 Digital Equipment Corporation Apparatus for processing bit streams
US5136592A (en) * 1989-06-28 1992-08-04 Digital Equipment Corporation Error detection and correction system for long burst errors
JPH03272224A (ja) * 1990-03-20 1991-12-03 Canon Inc 情報信号処理方法
US5224106A (en) * 1990-05-09 1993-06-29 Digital Equipment Corporation Multi-level error correction system
US5280488A (en) * 1990-11-08 1994-01-18 Neal Glover Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping
EP1330129A3 (en) * 1991-04-10 2006-03-15 Mitsubishi Denki Kabushiki Kaisha Encoder and Decoder
US5428630A (en) * 1993-07-01 1995-06-27 Quantum Corp. System and method for verifying the integrity of data written to a memory
US5784387A (en) * 1994-10-31 1998-07-21 International Business Machines Corporation Method for detecting start-of-frame, end of frame and idle words in a data stream
JP3234130B2 (ja) 1995-05-30 2001-12-04 三菱電機株式会社 誤り訂正符号復号化方法およびこの方法を用いる回路
US5778009A (en) * 1995-06-14 1998-07-07 Quantum Corporation Dedicated ALU architecture for 10-bit Reed-Solomon error correction module
US5822336A (en) * 1996-11-14 1998-10-13 Quantum Corporation Modified reed solomon code selection and encoding system
US5948117A (en) * 1997-01-23 1999-09-07 Quantum Corporation Modified Reed-Solomon error correction system using (W+i+1)-bit representations of symbols of GF(2w+i)
FR2767940A1 (fr) * 1997-08-29 1999-02-26 Canon Kk Procedes et dispositifs de codage et de decodage et appareils les mettant en oeuvre
US5889794A (en) * 1997-09-30 1999-03-30 Quantum Corporation Two-level error correction encoder
JP4126795B2 (ja) * 1999-02-12 2008-07-30 ソニー株式会社 疑似積符号復号装置及び方法
US6772390B2 (en) 2000-11-30 2004-08-03 Quantum Corporation Erasure correction for ECC entities
US6609225B1 (en) * 2000-12-21 2003-08-19 Cisco Technology, Inc. Method and apparatus for generating and checking cyclic redundancy code (CRC) values using a multi-byte CRC generator on a variable number of bytes
US6766493B1 (en) 2000-12-21 2004-07-20 Cisco Technology, Inc. Method and apparatus for generating and checking cyclic redundancy code (CRC) values using a CRC generator and binary galois field multiplier
US20020199153A1 (en) * 2001-06-22 2002-12-26 Fall Thomas G. Sampling method for use with bursty communication channels
US7349691B2 (en) * 2001-07-03 2008-03-25 Microsoft Corporation System and apparatus for performing broadcast and localcast communications
US6895546B2 (en) * 2001-08-16 2005-05-17 Broad-Light Ltd. System and method for encoding and decoding data utilizing modified reed-solomon codes
EP1293978A1 (en) * 2001-09-10 2003-03-19 STMicroelectronics S.r.l. Coding/decoding process and device, for instance for disk drives
US7181677B1 (en) * 2003-02-10 2007-02-20 Maxtor Corporation System and method for producing data and ECC code words using a high rate restricted-symbol code
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8683296B2 (en) 2011-12-30 2014-03-25 Streamscale, Inc. Accelerated erasure coding system and method
US8914706B2 (en) 2011-12-30 2014-12-16 Streamscale, Inc. Using parity data for concurrent data authentication, correction, compression, and encryption

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57207960A (en) * 1981-06-17 1982-12-20 Toshiba Corp Method for adding error correcting code to variable length data
FR2533091A1 (fr) * 1982-09-13 1984-03-16 Cii Honeywell Bull Systeme de detection et de correction d'erreurs de transmission d'un message binaire utilisant un code cyclique detecteur et correcteur d'erreurs de type reed-solomon entrelace
US4494155A (en) * 1982-11-08 1985-01-15 Eastman Kodak Company Adaptive redundance in data recording
US4683571A (en) * 1984-05-30 1987-07-28 Victor Company Of Japan, Ltd. Digital signal decoding system
US4623999A (en) * 1984-06-04 1986-11-18 E-Systems, Inc. Look-up table encoder for linear block codes
US4706250A (en) * 1985-09-27 1987-11-10 International Business Machines Corporation Method and apparatus for correcting multibyte errors having improved two-level code structure
US4703485A (en) * 1986-02-10 1987-10-27 International Business Machines Corporation Method and apparatus for computing and implementing error detection check bytes
JPS63316524A (ja) * 1987-06-18 1988-12-23 Sony Corp リ−ド・ソロモン符号の復号方法
AU606694B2 (en) * 1987-06-22 1991-02-14 Sony Corporation Method and apparatus for decoding reed-solomon code

Also Published As

Publication number Publication date
US4856003A (en) 1989-08-08
AU1567188A (en) 1988-11-10
EP0290349A3 (en) 1991-04-24
EP0290349B1 (en) 1994-12-14
KR930008683B1 (ko) 1993-09-11
AU602401B2 (en) 1990-10-11
DE3852423T2 (de) 1995-08-10
KR880014463A (ko) 1988-12-23
WO1988009010A1 (en) 1988-11-17
EP0290349A2 (en) 1988-11-09
DE3852423D1 (de) 1995-01-26
CA1312953C (en) 1993-01-19

Similar Documents

Publication Publication Date Title
JPH02500318A (ja) リード・ソロモン・エラー訂正符号エンコーダ
Ramabadran et al. A tutorial on CRC computations
US8930798B2 (en) Data encoding in solid state storage devices
JPS6273336A (ja) マルチバイト・エラ−訂正方法及びシステム
JPH08330975A (ja) 誤り訂正符号復号化方法およびこの方法を用いる回路
US5901158A (en) Error correction encoder/decoder
JPS58191050A (ja) 高速誤り訂正符号処理方法および装置
KR19980702551A (ko) 개량된 3, 4개 에러 보정 시스템
WO1998035451A1 (en) MODIFIED REED-SOLOMON ERROR CORRECTION SYSTEM USING (w+i+1)-BIT REPRESENTATIONS OF SYMBOLS OF GF(2w+i)
US5822336A (en) Modified reed solomon code selection and encoding system
US7085988B1 (en) Hashing system utilizing error correction coding techniques
JP2019186939A (ja) グループ誤りを用いる誤り検出
US5978956A (en) Five-error correction system
US5574448A (en) Method and apparatus for encoding data with variable block lengths
US5889794A (en) Two-level error correction encoder
US20080140740A1 (en) Systems and methods for processing data sets in parallel
CN110908827A (zh) 用于NAND Flash闪存纠错的并行BCH解码方法
TWI226758B (en) Encoding method and apparatus for cross interleaved cyclic codes
JPH0476540B2 (ja)
EP0341851A2 (en) Method and apparatus for interleaved encoding
KR20090025671A (ko) 선형 부호 생성 장치 및 방법
JP2694794B2 (ja) 誤り訂正処理方法
JPH0361210B2 (ja)
RU29816U1 (ru) Кодирующее устройство помехоустойчивого кода
JP2017098945A (ja) 訂正信号を決定する回路構成及びその方法