JP2000503513A - 変形リードソロモン符号選択および符号化システム - Google Patents

変形リードソロモン符号選択および符号化システム

Info

Publication number
JP2000503513A
JP2000503513A JP10522961A JP52296198A JP2000503513A JP 2000503513 A JP2000503513 A JP 2000503513A JP 10522961 A JP10522961 A JP 10522961A JP 52296198 A JP52296198 A JP 52296198A JP 2000503513 A JP2000503513 A JP 2000503513A
Authority
JP
Japan
Prior art keywords
codeword
symbols
ecc
data
modified
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.)
Ceased
Application number
JP10522961A
Other languages
English (en)
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.)
Quantum Corp
Original Assignee
Quantum 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 Quantum Corp filed Critical Quantum Corp
Publication of JP2000503513A publication Critical patent/JP2000503513A/ja
Ceased legal-status Critical Current

Links

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/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

Landscapes

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

Abstract

(57)【要約】 誤り訂正システムは、変形リードソロモン符号を用いてGF(2m+i)上のmビットデータシンボルを符号化し、d−1個の(m+i)ビットECCシンボルを有した仮の符号を形成する符号器を含む。符号器は、次に、仮の符号語を、1つ以上の変更符号語の組合せと組合すことによってECCシンボルを変更して、iビットが予め選択されたパターンに設定された変更されたECCシンボルを生成する。この組合せはまた、変更されたECCシンボルに付加されるiビットパターンを含む「R」個の擬冗長シンボルを生じる。符号器はiビットパターンをECCシンボルおよび擬冗長シンボルの各々から切り捨て、GF(2m)の要素であるシンボルを有するデータ符号語を生成する。データ符号語を復号化するために、復号器はデータ符号語シンボルの各々におけるiビットパターンを書き加え、符号語を復号化し、変更されたECCシンボルのはじめのR個を符号語データまたは情報、シンボルとして扱い、残りの変更されたECCシンボルと擬冗長シンボルとを符号語ECCシンボルとして扱う。システムは、iビットパターンの1つの選択されたビットのみが1に設定されたi*(d−1)個の変更符号語を生成するg(x)=(x+αL*(x+αL+1)・・・*(x+αL+d-2)、L=1、2、・・・を決定することによって生成多項式g(x)および変更符号語を符号器のために決定する。選択された符号GF(2m+i)がGF(2th+jであり、GF(2m)=GF(2thであれば、システムは、基礎体GF(2t)として用い、d−1個のECCシンボルの各々のためのテーブルに、iビットパターンの代わりにGF(2t)要素α0を有する変更符号語の第1の係数を記憶することによって、変更符号語に関連する情報を含むルックアップテーブルのサイズを最小にする。システムは次に、記憶された係数をGF(2t)の適切な要素と組合せ、結果を符号化することによって変更符号語を生成する。

Description

【発明の詳細な説明】 変形リードソロモン符号選択および符号化システム 発明の分野 この発明は、変形リードソロモン誤り訂正符号器と当該符号器で用いるための 符号を決定するための符号検索システムとに関する。 発明の背景 大容量記憶媒体、より特定的にはディスクに記録されるデータの密度が高まる につれ、デジタルコンピュータシステムにおけるデータの誤り訂正符号化の重要 性が著しく増してきた。記録密度が高いと、ディスクの記録表面におけるわずか な欠陥が大量のデータを毀損し得る。データの損失を防ぐために、誤り訂正符号 (「ECC」)がその名の示すように誤ったデータを訂正するために用いられる 。 データシンボルの列はディスクに書込まれる前に数学的に符号化されてECC シンボルを形成する。ECCシンボルは次にデータ列に付加されて符号語、すな わちECCシンボルを加えたデータシンボルを形成し、この符号語はディスクに 書込み、すなわち記憶される。データがディスクから読出される場合、読出され るべきデータシンボルを含む符号語がディスクから取出され、数学的に復号化さ れる。復号化の間、データ内の誤りは検出され、可能であればECCシンボルの 操作によって訂正される(復号化の詳細な説明についてはピーターソン(Peters on)およびウェルドン(Weldon)による「誤り訂正符号(“Error Correction C odes”)」、第2版、MITプレス、1972を参照されたい)。 記憶されたデジタルデータは複数の誤りを含み得る。複数の誤りの訂正のため に用いられる最も有効なタイプのECCの1つがリードソロモン符号である(リ ードソロモン符号の詳細な説明についてはピーターソンおよびウェルドンによる 「誤り訂正符号」を参照されたい)。データシンボルの列内の複数の誤りを訂正 するために、リードソロモン符号はガロア体として知られるシンボルの集合のさ まざまな数学的特性を効率的および効果的に利用する。ガロア体は「GF(pq )」と表わされ、ここで「P」は素数であり、「q」は体の各要素またはシンボ ルにおける基数Pの桁数と考えられ得る。「P」はデジタルコンピュータアプ リケーションでは通常2の値を有し、したがって「q」は各シンボルのビット数 である。 リードソロモン符号に基づくECCが効果的に符号化および訂正、すなわち「 保護する」ことのできるシンボルの数は選択されたガロア体、すなわちpqシン ボルのサイズと、その符号が訂正可能であるとされる誤りの最大数とによって制 限される。GF(Pq)に対する巡回リードソロモン符号語の最大の長さはpq− 1個のシンボルである。したがって、ECCによって保護され得る、すなわち符 号語内に含まれ得るデータシンボルの最大数はPq−1個のシンボルから「e」 を引いたものであり、ここで「e」はECCシンボルの数である。ガロア体が大 きければ大きいほど、符号語は長く、ECCは訂正されるべき誤りの所与の最大 数に対してより多くのデータを保護することができる。したがって、より大きい ガロア体がデータシンボルのより大きい列を保護するために用いられ得る。しか しながら、8ビットの符号語シンボル、または8の倍数である多数のビットを含 むシンボルを生じないガロア体を用いると、システムの回路が複雑化する。 ガロア体GF(28)は8ビットのECCシンボルを生じるガロア体である。 GF(28)に基づくECCは単一の誤りに対しては253個までの8ビットデ ータシンボルまたは「データバイト」の列を保護できる。この場合2個の8ビッ トECCシンボルがデータに付加されれば符号語が255または28-1バイトの 長さになるものとする。ECCが2つ以上の誤りを訂正しなければならないので あれば、訂正されるべき誤りの増加ごとに、2個のより多くのECCシンボルが 符号語内で用いられなければならない。これは所与の長さの符号語に対して保護 され得るデータバイトがより少ないことを示す。 情報はしばしば512または576バイトの長さのセクタで磁気ディスクに記 憶される。したがって、GF(28)に基づくECCは、符号の複雑な操作なし では512または576バイトのセクタ全体を保護することはできない。GF( 210)に基づくECCはセクタ全体を保護するのに十分な符号語の長さ、すなわ ち符号語1語当り210−1すなわち1023個のシンボルを有する。しかしなが ら、GF(210)符号で用いられる10ビットシンボルの符号化および復号化は ある問題を提起する。 より具体的に、コンピュータ伝送および記憶ハードウェアはバイト、すなわち 8ビットシンボル、またはその長さが8ビットの何倍かであるシンボルに対して セットアップされる。したがって、これらは一般に10ビットシンボルの操作の ためには構成されていない。したがって、GF(210)ECCが用いられるなら ば、情報はバイトと10ビットシンボルとの間で互いに何度も変換されなければ ならない。すなわち、初めは10ビットシンボルとして符号化するために、次は バイトとしての伝送および記憶のために、そして最後には10ビットシンボルと しての復号化のために変更されなければならない。符号器および復号器の両方で バイトと10ビットシンボルとの間の変換が必要であることによって、ECC符 号化プロセスにさらなるステップの複雑性が加わる。 GF(28)ECCで512または576バイトのセクタ全体を保護するため に用いられる1つの技術はECC GF(28)符号を数回インタリーブするこ とである。インタリーブはデータシンボルの列をいくつかのより小さいセグメン トに実質的に分割し、各セグメントを符号化されるべきデータシンボルのストリ ームとして扱う。インタリーブの利点は、それによってより多数のデータシンボ ルが所与の符号によって符号化され、隣接したデータシンボルを符号化して別々 の符号語内に符号化することによって誤りのバーストを効果的に分離することで ある。他方、インタリーブは典型的に、初めに符号化されるべきデータをいくつ かのセグメントに分離し、次に各セグメントを符号語へと別個に符号化するとい う符号化のための2つのステップと、初めにデータを別個に復号化し、次にデー タシンボルを組合せてデータシンボルの元の列を再び作り出すという復号化のた めの2つのステップとを含む。また、インタリーブはあまり効率的でない符号を 生じる。なぜなら、これはインタリーブされる符号ごとに誤り検出のための余分 なECCシンボルを必要としたためである。これに代えて、誤り検出はオーバー レイされた誤り検出符号と、関連の誤り検出シンボルとによって行なわれるが、 余分な復号化動作が必要となる。 インタリーブされる符号の別の問題は、データセグメントの1つにあまりにも 多くの誤りがあれば、他のデータセグメントには本質的に誤りがない場合でも、 誤り訂正が失敗することである。 1つの解決法は1023バイトまで(ECCシンボルを加えたデータ)を保護 するためにGF(210)で符号語を発生し、なおかつ8ビットシンボルすなわち バイトをECCシンボルとして用いることである。先行するシステムでは、1以 上の予め定められた擬データバイトがデータバイトに付加され、擬データバイト を加えたデータバイトを含む列が所望の数の10ビットECCシンボルを生成す るように符号化される。次に、各10ビットECCシンボル内の選択された2ビ ットが既知の2ビットパターン、たとえば「00」と比較される。各10ビット ECCシンボル内の選択された2ビットが2ビットパターンと同じであれば、E CCシンボルの選択されたビットは無視されるか切り捨てられ、各ECCシンボ ルの残りの8ビットがデータバイトと付加された擬データバイトとに連結されて 符号語を形成する。符号語バイトは後に復号化でき、ガロア体の加算および/ま たは乗算のために必要なように既知の2ビット切捨パターンを付加することによ っていかなる誤り訂正も行なわれ得る。 いずれかのECC10ビットシンボル内の被選択ビットのいずれかが切捨パタ ーンと同じでなければ、付加された擬データバイトは変更され、変更された擬デ ータバイトを加えたデータバイトの符号化によって切捨パターンと同じである被 選択ビットを持つ10ビットECCシンボルが生じるようにされる。次に、今や 既知の切捨パターンと同じである被選択ビットが無視され、各ECCシンボルの 残りの8ビットと変更された擬データバイトとがデータバイトとともに符号語と して記憶される。ここでも、変更された擬データバイトとECCシンボルの残り の8ビットとは、符号語をバイトとして復号化し、誤り訂正させるのに必要なす べての情報を含む。 先行するシステムは、「誤り訂正符号符号器(“Error Correction Code Enco der”)」と題され、共通の譲受人に譲渡される米国特許第4,856,003 号に説明されている。我々は後述するように先行するシステムを改良した。符号 語内に擬データバイトを含む代わりにそこに付加的な「擬」冗長シンボルを含む 誤り訂正システムを生み出した。これによって、システムはたとえば従来の態様 でデータを10ビットシンボルとして操作し、10ビットECCシンボルを形成 できる。このシステムは次にECCシンボルをデータに付加し、予め選択さ れたパターンに設定されていないビットを有するECCシンボルを変更し、符号 語に、ECCシンボルを復号化するのに必要な情報を含む1つ以上の擬冗長シン ボルを付加する。これによって先行するシステムで用いられるものよりも符号化 プロセスがより高速になる。なぜなら、このシステムはECCシンボルを付加す る前に擬データシンボルを変更する必要がないからである。 我々はまた改良された符号器で用いるための符号および擬シンボルを容易に決 定する符号検索機構を発明した。この機構によって、誤り訂正システムの設計者 は予め選択されたパターン内のビット数を選択し、符号の長さを決定し、所与の 誤り訂正システムと最もうまく作用する特定の符号および関連の擬冗長シンボル を選択することができる。これは、より多数のデータバイトを保護するためによ り長い符号が用いられる場合に特に重要である。 発明の概要 改良されたリードソロモン誤り訂正符号器はGF(2m+i)上のmビットデー タシンボルを符号化し、(m+i)ビットECCシンボルを生成する。符号器は 従来の態様でECCシンボルをデータに付加して仮の符号語を形成する。符号器 は次に仮の符号語を1つ以上の変更符号語の組合せと組合すことによってECC シンボルを変形する。これによって、予め選択されたパターンを含む変更された ECCシンボルと変更されたECCシンボルに付加される「R」個の擬冗長シン ボルとが生じる。符号器はiビットパターンをECCシンボルおよび擬冗長シン ボルの各々から切り捨て、GF(2m)の要素であるシンボルを有するデータ符 号語を生成する。 データ符号語を復号化するために、復号器は各符号語シンボルのiビットパタ ーンを書き加え、GF(2m)符号語のシンボルをGF(2m+i)のシンボルへと 変換する。システムは次に従来の態様で符号語を復号化し、変更されたECCシ ンボルの初めのR個を符号語データまたは情報シンボルとして扱い、残りの変更 されたECCシンボルと擬冗長シンボルとを符号語ECCシンボルとして扱う。 新規な符号検索機構は符号器のために生成多項式g(x)と(m+i)ビット ECCシンボルを変更するために用いられる符号語とを決定する。以下により詳 細に説明するように、符号検索機構は、生成多項式g(x)=(x+αL)*( x+αL+1)・・・*(x+αL+d-2)が、iビットパターンの選択された唯一1ビ ットだけが1に設定された十分な数の関連の変更符号語を生成するかどうかを判 断する。生成するならば、これらの符号語またはそれらの組合せが、ECCシン ボルを適切な予め選択されたiビットパターンを含むシンボルへと変更し、かつ 単数または複数の擬冗長シンボルを生成するように用いられる。もしそうでなけ れば、別の生成多項式が選択される。 図面の簡単な説明 この発明の上述およびさらなる利点は、添付の図面と関連して以下の説明を参 照することによってよりよく理解されるであろう。 図1は、この発明に従って構成されたシステムの機能ブロック図である。 図2は、図1の符号器の動作のフローチャートである。 図3は、図1の符号選択器のフローチャートである。 図4は、図1の符号器の変更符号語を生成する代替的な動作のフローチャート である。 図5は、図4に従って動作する符号器のさらなる動作のフローチャートである 。 図6は、図3に説明された演算を用いて決定される符号をリストしたチャート である。 図7は、GF(212)=GF(243上の符号をリストしたチャートである。 図8は、図1の符号器を含む付加的なシステムの機能ブロック図である。 図9は、図1の符号器を用いるシステムに含まれるディスクの図である。 例示的実施例の詳細な説明 ここで議論される加算、乗算および除算はガロア体演算であり、生成多項式g (x)を法とし、「*」は乗算を表わす。 1.符号器 図1を参照すると、変形リードソロモン符号器10は、GF(2m+i)上で生 成多項式g(x)に従ってデータを符号化するGF(2m+i)符号器12を含む 。G F(2m)の要素であるデータシンボルが符号器に与えられる前に、iビットパ ターンが各シンボルに付加されるか含まれる。(m+i)ビットとなったデータ シンボルは次に従来の態様で符号化されて(m+i)ビットECCシンボルを生 成する。これらのシンボルはデータに付加されてレジスタ14内に仮の符号語を 形成する。 符号器10は全ECCシンボルが予め選択されたiビットパターンを含むかど うかを判断する。含まないならば、符号器はECC変更子符号器処理装置18内 において、仮の符号語とECC変更子符号語とを組み合わすことによってECC シンボルを変更する。ECC変更子符号語は本質的に、各々、iビットのうちの 異なった1ビットが1に設定され、他のi−1ビットがすべて0に設定された1 つ以上の変更符号語の組合せである。符号語rcは変更符号語テーブル16に記 憶され、これは後述するようにECCシンボルのiビットによってアドレス指定 される。 より具体的には、d−1個のECCシンボルの各々のiビットパターン内の各 ビットに対して1つずつ計i*(d−1)個の変更符号語がある。所与の(m+ i)ビットECCシンボル内の特定のビットが予め定められたパターンに設定さ れていないと、符号器はECCシンボルを変更してそのビットを変える。符号器 は、以下の例でより詳細に説明するように、ECCシンボルを、対応のビットが 1に設定された変更符号語の適切なシンボルと組合せる。ECCシンボルのビッ トの別のものがこのパターンに設定されていなければ、ECCシンボルはそれら をその特定のビットが1に設定された変更符号語の適切なシンボルと組合せるこ とによってさらに変更する。 処理装置18はまた、データ符号語の適切な復号化を確実にするためにECC シンボルに付加されるR個の擬冗長シンボルp1、・・・PRを生成する。R個の擬 冗長シンボルをデータ符号語に含めるために、データ符号語における最大数のデ ータシンボルがR個だけ減らされてk−R個とされる。しかしながら、符号距離 dは同じままである。これによって、(i)最大k−R個のデータシンボルと、 (ii)d−1個の変更されたECCシンボルと、(iii)すべてiビットが選択 されたパターンに設定されたR個の擬冗長シンボルとからなるデータ符号語 が生じる。典型的に、たとえばk個よりも少ないデータシンボル、k’個(k’ <k)のデータシンボルがデータ符号語に含まれる。したがって、データシンボ ルの数を減少させずにR個の擬冗長シンボルがデータ符号語に含まれる。データ 符号語は従ってk’個のデータシンボル、d−1個の変更されたECCシンボル 、およびR個の擬冗長シンボルを含む。 データ符号語を復号化するために、変更されたECCシンボルの初めのR個が データであるかのごとく復号化される。データとR個の変更されたECCシンボ ルとの各々に誤りがなければ、復号器は(d−1)−R個の変更されたECCシ ンボルとR個の擬冗長シンボルとを生成する。これに代えて、擬冗長シンボルを 含む符号語全体が適切な誤りシンドロームを生成するために従来の態様で用いら れる。 擬冗長シンボルは、仮の符号語におけるECCシンボルを変更するために必要 な変更符号語rcを符号化することによって一部生成される。これらのシンボル はまたそのiビットが予め定められたパターンに設定されなければならない。し たがって、付加的な変更符号語Sが以下により詳細に説明するように符号化に含 まれる。変更符号語rcおよび付加的な変更符号語Sは、ECCシンボルのiビ ットによってアドレス指定される変更符号語テーブル16に記憶され得る。また は、テーブル16は各変更符号語rcの初めのR個の非ゼロシンボルを含んでも よい。これらのR個のシンボルは次に符号化されて対応の符号語を生成し、この 符号語が組合され付加的な変更符号語sを生成し、またはSの最初のd−1個の 非ゼロ係数が代わりにテーブルに記憶されてもよい。このシステムが2個以上の iビットパターン、たとえば、2i個のiビットパターンを用いれば、システム はテーブル16にSs個(s=1、2・・・2i)の付加的な変更符号語またはこれら の符号語の各々の最初のd−1個の非ゼロ係数を記憶できる。 2.GF(23+2)上の例 m=3およびi=2でGF(25)上の符号を用いる変形リードソロモン符号 器10の動作を論じる。全符号化演算はGF(25)上であり、結果として生じ るデータ符号語はデータとGF(23)の要素であるECCシンボルとの両方を 含む。 GF(25)では、原始多項式はp(x)=x5+x2+1であり、選択された 符号は以下の生成多項式の(31、27)距離5符号である。 g(x)=(x+α2)*(x+α3)*(x+α4)*(x+α5) =x425x321x2+αx+α14 符号の選択は図3を参照して以下に説明される。予め選択されたパターンは「 10」であり、これはシンボルの先頭の2ビットである。 図3および図4を参照してこれも以下により詳細に説明するように、GF(2m+i )のi*(d−1)すなわち8個の変更符号語rcを選択する。各符号語は初 めのd−1すなわち4個のシンボルの1つに、1に設定された単一ビットと0に 設定された単一ビットとからなる2ビットパターンを含む。他の符号語シンボル のiビットはすべて0に設定される。符号語はxの対応の累乗の係数として符号 語シンボルを有する多項式として示され得る。さらに、係数は1×(m+i)ビ ットの行列として書き表わすことができる。この表記を用いると8個の変更符号 語rcは以下のとおりである。 たとえば、変更符号語r7は、x3の係数として先頭のビットが1に設定され、 他のビットが0に設定された2ビットパターンを備えるシンボルを有し、他の係 数の各々として2ビットがすべて0に設定されたシンボルを有することに注目さ れたい。同様に、変更符号語r6は、x2の係数として先頭のビットが1に設定さ れ、残りのビットが0に設定された2ビットパターンを備えるシンボルを有し、 他の係数の各々として2ビットがすべて0に設定されたシンボルを有する。7≧ c≧4の例では変更符号語rc、ただし(i*(d−1))−1≧c≧d−1、は xc-(d-1)の係数に含まれる2ビットパターン「10」を有する。符号語rc、た だしc<d−1、はxcの係数に含まれる2ビットパターン「01」を有する。 以下に図3、代替的に図4を参照して符号語がいかに選択されるかを説明する。 復号化のため、R個の擬冗長シンボルP1、P2、・・・PRが変更されたECCシ ンボルに付加され、データ符号語に含まれる。ここで以下のとおりであり、 ここでdeg(g(x))は生成多項式g(x)の次数であり、[ ]は天井関 数を表わす。この例ではR=3である。これらの3個のシンボルをデータ符号語 に含めるためにデータシンボルの最大数は3だけ減らされ、27から24になる 。データ符号語はしたがって最大24個のデータシンボル、4個のECCシンボ ル、および3個の擬冗長シンボルを有する。 擬冗長シンボルが予め選択されたiビットパターンを含むことを確実とするた めに、システムは選択された変更符号語rcとともに、その係数のあるものでは iビットが予め定められたパターンに設定され、残りの係数ではiビットがすべ て0に設定される付加的な変更符号語Sを符号化する。以下に図3を参照して付 加的な変更符号語がいかに決定されるかを説明する。この例では付加的な変更符 号語は次のとおりである。 仮の符号語におけるECCシンボルの位置に対応するx3からx0の係数におい てiビットがすべて0であることに注目されたい。この符号語Sは変更子テーブ ル16に記憶されてもよく、または変更符号語rcの線形結合から符号器におい て生成されてもよい。代替的に、符号語Sの初めの3個の係数がテーブル16に 記憶され、符号語はこれらのシンボルを符号化することによって生成されてもよ い。 ここで再び図2を参照すると、符号器10はステップ200において、予め選 択されたパターンに設定された2ビットを各シンボルに付加し、それらを従来の 態様で符号化することによって以下のk’個の3ビットデータシンボルを符号化 する。9、x10などの係数であるデータシンボルはオール0のシンボルであり、図示 されない。符号化の結果(ステップ202)は仮の符号語である。 3からx0の係数であるECCシンボルはその先頭の2ビットが予め定められた パターンに設定された2個のシンボル、すなわちx2およびx0の係数を含む。E CCシンボルの2個、すなわちx3およびx1の係数は予め定められた2ビットパ ターンを含むように変更されなければならない(ステップ204)。 x3に対応するECCシンボルは初めの2ビットとして「00」を有する。こ のシンボルを変更するために、システムはステップ206において、x3の係数 の先頭のビット位置に1を含む符号語である変更符号語r7を選択する。初めの 2ビットとして「01」を有するx1に対応するECCシンボルを変更するため に、システムはx1の係数の第1および第2の位置にそれぞれ1を有する変更符 号語r5およびr1を選択する。システムはステップ208において、選択された 変更符号語の各々の初めの3個の「情報」シンボルと付加的な変更符号語Sから の適切なシンボルとを組み合わせ、符号化して、(i)4個のECCシンボルを 変更し、(ii)ECCシンボルに3個の擬冗長シンボルを付加するECC変更子 符号語を生成する。 システムはECCシンボルの2ビットパターンでルックアップテーブル16を アドレス指定することによって変更符号語を選択する。符号語rcおよびS、ま たはこれらの符号語の少なくとも初めのR個すなわち3個の係数である、テーブ ル16の内容は、図3を参照して後述されるように、選択される特定の生成多項 式およびiビットパターンに関連付けられる。初めのR個の係数だけがテーブル 16に含まれるならば、システムは係数を符号化して対応の変更符号語および付 加的な変更符号語を生成する。 この例では、3個の擬冗長シンボルP1、P2およびP3を含むECC変更子符 号語がr7、r5、r1およびSの各々の対応の情報シンボルを組み合わすことによ って形成される。 そして、これらの情報シンボルを符号化して符号語を生成する。 この符号語は、ECCシンボルを変更する係数、すなわちx3からx0の係数と、 擬冗長シンボルである係数、すなわちx-1からx-3の係数とを含む。ステップ2 10において、ECCシンボルが変更され、3個の擬冗長シンボルがECCシン ボルに付加されるように、システムはこの符号語を仮の符号語と結合する。結果 としてデータ符号語が生じる。データ符号語の各シンボルの先頭の2ビットが予め選択されたパターンに設定さ れている。システムは次に先頭ビットを切り捨て、データ符号語をGF(2m) における符号語として伝送する(ステップ212、214)。 データ符号語を復号化するために、復号器はデータ符号語を従来の態様で復号 化し、x8からx1の係数をデータとして扱い、x0からx-3の係数を冗長シンボ ルとして扱う。復号器は次に誤りシンドロームおよび誤り値を従来の態様で計算 する。 3.符号選択 上述のように、GF(2m+i)上の符号はそれが十分な数の変更符号語rcを含 むかどうかを判断することによって選択される。符号は、この例では8個の変更 符号語であるi*(d−1)個の変更符号語rcを含まなければならない。 次に図3を参照すると、ユーザは符号距離d=n−k+1のような所望の符号 パラメータを選択し、システムはL=0を設定し(ステップ300)、生成多項 式として試みる。 g(x)=(x+αL)*(x+αL+1)*...(x+αL+p-k-1)=xn-k+gn-k-1xn-k-1+...+g1x1+g0x0 Lはg(x)の最小根であり、したがってこのg(x)は根α0または1を有す る。 次に、システムは生成多項式からi*(d−1)個の基底符号語を生成する。 システムは可能であればこの基底符号語からi*(d−1)個の変更符号語を引 出す。システムは初めにg(x)をg0で割って、α0または1をx0の係数とし て有する符号語c1(x)をステップ302において生成する。 ここでg′i=gi/g0である。x-1、x-2およびx-3の係数は0であり、符号 語c1(x)はしたがって以下のとおりである。 c1'(x)=g'n-kxn-k+g'n-k-1xn-k-1+...+g'x+1x0+0x-1+0x-2+0x-3 システムは次のステップ304において巡回的にこの符号語をシフトさせ、す なわち、それにx-1を掛けて、x-1に対して1の係数を有する符号語c1(x)を 生成する。 c1(x)=gn-k+1'xn-k+g'n-kxn+k+1+...+g'x0+1x-1+0x-2+0x-3 そして、この符号語にα0、α1・・・αm-1を掛けて、x-1に対応する位置に000 01、00010、00100などの係数をそれぞれ有する基底符号語b0、b1 、b2・・・bm-1の第1のサブセットを生成する。 符号語c1(x)はさらに操作されて、x-2、・・・、またはx-Rに対応する位置 に1の単一の係数と、残りの位置にm+i−1個のすべて0の係数とをそれぞれ 有する符号語c1(x)(t=2・・・i+1)を生成する。システムはステップ3 0 6において、最初に別の循環的シフトであるc1(x)×x-1の乗算を行ない、 x-1*c1(x)=g'n-k+1xn-k+g'n-kxn-k-1+g'n-k-1xn-k-2+...+g'0x-1+1x-2+0x-3 次に、ステップ308においてc1(x)にg’0を掛け、 c1(x)*g'0=g'0*g'n-kxn-k-1+g'0*gn-k-1xn-k-2+・・・+g'0*g'1x0+g'0x-1+0x-2+0x-3 ステップ310において、x-1*c1(x)+c1(x)*g′1を加えて以下の 符号語を生成する。 c2(x)=g"n-kxn-k+g"n-k-1xn-k-1+・・・+g"0x0+0x-1+1x-2+0x-3 この符号語は、x-1、x-3・・・x-Rに対応する位置にすべて0の係数を有し、x2 に対応する位置に1すなわち00001の係数を有する。 ステップ312において、システムは符号語c2(x)にα0、α1・・・αm-1を 掛けて、x-2に対応する位置に00001、00010および00100の係数 をそれぞれ有する基底符号語b3、b4およびb5の第2のサブセットを生成する 。 同様に、c1(x)およびc2(x)を操作することによって、システムはx-3 に対応する位置に00001、00010および00100の係数をそれぞれ有 する基底符号語b6、b7およびb8の第3のサブセットを生成する。システムは したがってステップ314においてc2(x)を巡回的にシフトし、すなわち、 c2(x)にx-1を掛け、 x-1*c2(x)=g"n-kxn-k-1+g"n-k-1xn-k-2+・・・+g"0x-1+0x-2+0x-2+1x-3 ステップ316においてc1(x)にg”0を掛け、 c1(x)*g"0=g0"*g'n-k-1xn-k+g"0*g'n-k-1+・・・+g"0*g'1x0+g"0x-1+0x-2+0x-3 ステップ318において、x-1*c2(x)+c1(x)*g"0を加えて符号語を生 成する。 c3(x)=g'''n-kxn-k+g'''n-k-1xn-k-1+...g'''0x0+0x-1+0x-2+1x-3 3(x)を用いて、システムはステップ320において、c3(x)にα0、 α1、・・・、αm-1を掛けることによって符号語の(i+1)番目または第3のサ ブセットを生成する。基底符号語b0からb8は以下のとおりである。 次に、システムはステップ322において、基底符号語の線形結合から、それ ぞれ1つを除くすべての係数の2ビットパターンがすべて0に設定されている8 個の変更符号語を生成できるかを判断する。仮の符号語におけるECCシンボル に対応する1つの係数が、単一のビットが1に設定されており、残りのビットが 0に設定されている2ビットパターンを有する。変更符号語のフルセットは、2 ビットパターンの第1のビットが1に設定されたd−1すなわち4個の符号語を 、4個の冗長シンボルの各々に対して1個ずつ含み、2ビットパターンの第2の ビットが1に設定された4個の符号語を、4個の冗長シンボルの各々に対して1 個ずつ含む。 システムは次に8個の変更符号語が基底符号語の線形結合から生成され得るか を判断する。この実施例では、システムは符号語b0、b1、・・・b8の係数を用い て9×8の行列M1を形成することによってこれを行なう。行列M1の行はxd-2 、xd-3・・・x0に対応する位置における係数の先頭の2ビットからそれぞれなる 。 この例では行列M1は以下のとおりである。 変更符号語が必要とされる数である階数i*(d−1)またはこの例では階数 8を行列M1がするならば、システムは行列M1の擬インバースである8×9の行 列Aを求める。行列M1と行列Aとの積は8×8単位行列Iである。この例では 以下のとおりである。 変更符号語rcが次に、行列Aに、行がb0、b1・・・b8である1×9の行列を 掛けることによって生成される。したがって、擬インバース行列Aの各行が1こ の変更符号語rcを生成する。したがって、階数m1が必要とされる変更符号語 の数と等しくなければ、システムは選択されたg(x)によって発生する符号を 用いることができない。 g(x)を用いることができなければ、システムは次にLを1に設定し、g(x) =(x-αL)*...(x+αL+d-1)によって発生した符号を試す。図6は、この検索方法 を用いて決定される、最小根L、符号距離d、および擬冗長シンボル符号の数R で距離113まで列挙するチャートである。より大きい距離の符号でもこの検索 方法を用いて容易に決定することができる。 擬冗長シンボルがiビットパターンを含むことを確実とするためにこれらのシ ンボルの符号化に含まれる付加的な変更子符号語Sは、(1)予め選択されたパ ターンに設定されたiビットとm個のオール0のビットとk−R個のオール0の シンボルとを有するR個の情報シンボルを符号化してd−1個の冗長シンボルを 有する符号語を生成し、(2)R個のシンボルがx1-からx-3の係数となり、d- 1個のシンボルがx-3からx0の係数となるまで符号語を巡回的にシフトし、( 3)符号語を適切な符号語rcと組合せて、オール0のiビットパターンを有す る係数を生成するようにx3からx0の係数を変更することによって生成される。 たとえば、x-1からx-3の係数においてiビットがパターン「10」に設定され たこの例の付加的な変更符号語Sは以下を符号化して、 111 000 000 000 000 これらのR個のシンボルとd−1個の冗長シンボルとを有した符号語を生成し、 この符号語を巡回的にシフトして、x-1からx-5の係数としてR個の情報シンボ ルを有する符号語S’を生成することによって生成される。 この符号語は次にそれに選択された符号語rcを組合せることによってさらに符 号化されて、x3からx0の係数においてiビットがすべて0に設定された符号語 Sを生成する。したがって、S’はr7、r6、r5、r4およびr0と組合されて以 下を生成する。 2つ以上のパターンが選択され得るならば、システムは同様にiビットパター ンの各々と関連した付加的な変更符号語Ss、s=1、2・・・21を生成する。こ のように、選択されたパターンに設定されたiビットとオール0のビットとを有 する1組のR個のシンボルが符号化され、その結果は必要に応じて組合されて選 択されたパターンごとに対応の符号語Ssを生成する。 4.変更符号語テーブルを最小化する方法 上述のように、変更符号語テーブル16は各ECCシンボルごとに、1個が2 ビットパターンの各ビットと関連付けされた、2個の変更符号語の係数を含む。 したがって、2個のECCシンボルを有するd=3の符号では、ECCシンボル から2ビットパターンを取除くための4個の変更符号語を決定しなければならな い。変更符号語は別個に決定されるが、これはある符号語が別のものから容易に は決定できないためである。 符号がガロア体GF(2m+i)上のものであり、GF(2m)=GF(2thで あり、GF(2Im+i)=GF(2th+jである場合、システムはGF(2)の 代わりにGF(2t)を基礎体として用いることによってi*(d−1)個の場 所からj*(d−1)個の場所へと変更符号語テーブルのサイズを減少させる。 GF(26)は、GF(24+2)としてGF(2m)=GF(222およびGF( 2m+1)=GF(223であるが、このGF(26)上での符号はj=1としての GF(22)の基礎体を有する。2ビットパターンを用いるd=3の符号では、 ECCシンボルごとに2個の変更符号語の係数を記憶するための2*(3−1) または4個の場所から、ECCシンボルごとに1個の変更符号語の係数を記憶す るための1*(3−1)または2個の場所へとテーブルサイズが減少される。G F(2t)における符号語係数の個々の要素がGF(2)における符号語のtビ ットを表わすので、各ECCシンボルのためにわずか1つの場所しか必要とされ ない。さらに、基礎体GF(2t)では、変更符号語の、R個ではなく、初めの 係数のみがテーブルのために必要とされる。各場所のサイズはこのように減少さ れる。 t=2、h=3およびj=1であるGF(26)上の我々の例では、基礎体G F(22)は4個の要素、すなわち00、01、10および11を有する。これ らの要素はそれぞれ以下のように表わされる。ここで図4を参照すると、システムはステップ400においてGF(22)上で 次数tの生成多項式と次数hの既約多項式とを用いて体GF(2thの要素を発 生する。この例では、次数2の生成多項式が上のセクション3の検索方法を用い て選択され、次数3の既約多項式p(x)=x3+x2+x+βがGF(223の 要素を発生するために用いられる。 システムは次にステップ402において、g(x)を掛けると、選択された係数 の、tビットパターンを表わす要素が1に設定され、残りの、対応の要素が0に 設定された係数を有する変更符号語を生成する、GF(2thの要素αvを選択 する。 たとえば2ビットパターンがGF(26)シンボルの先頭ビットとして付加さ れれば、システムは、g(x)を掛けられるとxg(gは生成多項式の次数であ る)の係数において1の先頭の要素を有し、残りの係数はそれぞれ0を先頭の要 素として有する符号語を生成するGF(223の要素を初めに選択する。システ ムはステップ404および406において、g(x)を掛けられるとxg-1の係 数が先頭の要素として1を有し、残りの係数のそれぞれがxg-t+i、・・・xg-t+1 のための先頭の要素などとして0を有する符号語を生成する要素を次に選択する 。このように生成された符号語は、xgおよびxg-1・・・xg-t+1の係数の上位2ビ ットとしてそれぞれビットパターン「01」を有する、GF(26)における符 号語に対応する。他のパターンを有する符号語がECCシンボルを変更するため にまた必要とされれば、システムはステップ408において2個の変更符号語を 、要素βとすべての0、要素β2とすべての0などを有する、GF(2thのシ ンボルで掛ける。GF(223上の例では、要素α21および/またはα42が先頭 の要素としてβおよび/またはβ2を有する1個または2個の符号語を生成する ために適宜用いられる。これらの符号語は、上位2ビットがパターン「10」お よび/または「11」に設定された、GF(26)における符号語にそれぞれ対 応する。 例として、パターンがシンボルの上位2ビットとして選択され、生成多項式が g(x)=(x+α2)*(x+α3)=x2+α58x+α5であると想定する。システムは、g(x) を掛けると所望の係数を有することになる符号語を生成するαvを検索する。た とえば、システムはα9を選択し、以下の変更符号語を生成する。 この符号語は、先頭の要素βを有するGF(223のシンボルをx2の係数とし て有し、先頭の要素0を有するGF(223におけるシンボルをx1およびx0の 係数として有する。x2の係数はGF(26)においてパターン「10」を先頭の 2ビットとして有し、x1およびx0の係数はGF(26)においてパターン「0 0」を先頭の2ビットとして有する。x2の係数の上位2ビットとしてパターン 「01」を有する符号語が望ましければ、システムは変更符号語にα42を掛けて 以下の符号語を生成する。 これは生成多項式に(α42*α9)=α51を掛けるのと同じである。システムは またα37を選択し、以下の符号語を生成する。 これはx1の係数において先頭の要素として要素1を有し、x2およびx0の係数 の各々において先頭の要素として0を有する。これは、x1の係数の先頭の2ビ ットとしてパターン「01」を有し、x2およびx0の係数の上位2ビットとして 先頭の要素0またはビットパターン00を有するGF(26)における符号語に 対応する。先頭の要素としてβを有するxの係数を有した符号語では、またはG F(26)において10のパターンでは、システムはこの変更符号語にα21を掛 ける。 ECCシンボルを変更するために、システムはステップ500において、選択 されたパターン、すなわちGF(22)の選択された要素をシンボルの先頭の要 素として生成するのにどんな変更が必要であるかを判断する。システムはステッ プ506において次に、対応の位置にGF(22)の適切な要素を含む変更符号 語の第1の係数を符号化し、その結果を仮の符号語と組合すことによってシンボ ルを変更する。2個以上のECCシンボルが変更を必要とするならば、システム は選択された変更符号語の第1の係数を加え、その和を符号化する(ステップ5 02、504)。 例として、システムはGF(26)における2ビットパターンとして「00」 を用いる。データシンボルが以下のECCシンボルに符号化すれば、システムは、x2の係数において先頭の要素として1を有する変更符号語の第1 の係数にβを掛け、xの係数の先頭の要素として1を有する変更符号語の第1の 係数にβ2を掛けることによって、仮の符号語と組合されるECC変更子符号語 を生成する。システムは次に積を組合せ、その結果に付加的な変更符号語sの先 頭の係数を加え、その和を符号化する。結果は仮の符号語と組合されてデータ符 号語を生成する。 システムはこのように和を生成し、 符号語Sの先頭の係数を加え、和を符号化して符号語を生成する。 システムはこれを仮の符号語に加える。GF(2)の要素がGF(22)の要素 の代わりに用いられると、その結果は、データと、先頭の2ビットが予め選択さ れたパターンに設定された2個のECCシンボルと、先頭の2ビットが予め選択 されたパターンに設定された1個の擬冗長シンボルとを含むGF(26)におけ るデータ符号語である。 変更符号語テーブル16(図1)はしたがって、xのそれぞれの累乗の先頭の 要素として要素1を有するj*(d−1)個の符号語の第1の係数のみを含むこ とを必要とし、これらの係数からi*(d−1)個の変更符号語のすべてを生成 することができる。この例では、テーブル16は2個の変更符号語と付加的な変 更符号語Sの第1の係数を含む。したがって、テーブルは以下を含む。 一般に、基礎体としてGF(2a)を用いる符号GF(2abのためのテーブ ルは基礎体としてGF(2)を用いる符号GF(2a+b)よりも記憶場所をa対 1の比で節減する。 図7は、テーブルサイズが4*(d−1)個の符号語からd−1個の情報シン ボルへと減少される、t=4のGF(212)またはGF(243に対する符号の チャートである。これらの符号のための変更テーブルはECCシンボルごとに1 個の符号語情報シンボルを含む。逆に、GF(28+4)のためのテーブルはEC Cシンボルごとに4個の符号語、または、4*(d−1)個の符号語の各々の少 なくともR個の情報シンボルを含む。基礎体としてGF(24)を用いることで の節減はしたがって少なくとも4対1である。図7は、符号語テーブルが最小化 され得るGF(212)上の符号のチャートである。チャートは距離113で終わ るが、より大きい距離の符号を含むように拡張され得る。 5.付加的なアプリケーション ここで図8を参照すると、符号器12がシステム内に含まれ得る。システム内 において符号器は多くの復号器100と通信するが、その送るデータはどのよう な所与の時間においても単一の復号器のためのものである。復号器の各々が異な ったiビットパターンを用いるならば、符号器は選択された単一の復号器によっ て用いられるiビットパターンを内部レジスタ13から選択し、そのパターンを 用いてデータを上述のようなデータ符号語へと符号化する。復号器がデータ符号 語を復号化するとき、同じiビットパターンを用いる復号器のみが符号語には誤 りがないか、またはそれが訂正可能であるかを判断する。他の復号器は符号語を 復号化し、全シンボルまたはほぼ全シンボルがiビットパターンの差のために誤 りがないことを判断する。 図9は、隣接するトラック82、83、・・・が種々のiビットパターンに関連 付 けられるディスク80を示す。具体的には、所与のトラックに記憶されるデータ 符号語が関連のiビットパターンを用いて符号化される。システムが後にデータ 符号語をトラック82から取出そうと意図し、代わりに符号語をトラック83か ら取出せば、システムは取出された符号語におけるすべてまたはほとんどすべて のシンボルが誤っていることを判断する。したがって、システムは取出されたデ ータ符号語をそれが取出そうと意図していた符号語として誤って解釈することは ない。 以上の説明はこの発明の具体的な実施例に限定されている。しかしながら、変 形および変更がその利点のいくつかまたはすべてを達成してこの発明になされ得 ることは明らかである。したがって、添付の請求の範囲の目的はこの発明の真の 精神および範疇内にあるようなすべての変形および変更を包含することである。
───────────────────────────────────────────────────── 【要約の続き】 れたビットのみが1に設定されたi*(d−1)個の変 更符号語を生成するg(x)=(x+αL*(x+αL+1 )・・・*(x+αL+d-2)、L=1、2、・・・を決定す ることによって生成多項式g(x)および変更符号語を 符号器のために決定する。選択された符号GF (2m+i)がGF(2th+jであり、GF(2m)=GF (2thであれば、システムは、基礎体GF(2t)と して用い、d−1個のECCシンボルの各々のためのテ ーブルに、iビットパターンの代わりにGF(2t)要 素α0を有する変更符号語の第1の係数を記憶すること によって、変更符号語に関連する情報を含むルックアッ プテーブルのサイズを最小にする。システムは次に、記 憶された係数をGF(2t)の適切な要素と組合せ、結 果を符号化することによって変更符号語を生成する。

Claims (1)

  1. 【特許請求の範囲】 1.GF(pm)における符号語を生成するために、ガロア体(pm+i)上の距離 dの変形リードソロモン誤り訂正符号(「ECC」)を用いてデータシンボルを 符号語に符号化するための方法であって、 A.k−R個のデータシンボルを符号化してd−1個の(m+i)ビットEC Cシンボルを生成し、仮の符号語を形成するステップと、 B.もしあれば、ECCシンボルの各々における選択されたiビットのどれが 予め定められたiビット切り捨てパターンと一致するかを確かめるステップと、 C.(i)ECCシンボルの各々における選択されたiビットが前記パターン に一致するという判断に応じて、仮の符号語を、Iビットがiビットパターンに 設定されたR個のシンボルとiビットがすべて0に設定されたd−1個のシンボ ルとを有する付加的な変更符号語sと組合すことによってデータ符号語を形成し て、仮の符号語に、iビットの予め定められたパターンとm個のすべて0のビッ トとを各々有するR個の擬冗長シンボルを付加するステップと、 (ii)ECCシンボルの少なくとも1つにおける選択されたiビットが前記パ ターンに一致しないという判断に応じて、ECCシンボルを、d−1個のECC 変更シンボルとR個の擬冗長シンボルとを有するECC変更子符号語と組合すこ とによってECCシンボルを変更するステップを含み、組合せは、すべてが予め 定められたパターンに設定された選択されたiビットを有する、k−R個のデー タシンボルと、d−1個の変更されたECCシンボルと、R個の擬冗長シンボル とを含むデータ符号語を生成し、さらに、 (iii)データ符号語シンボルからiビットを切り捨てるステップを含む、方 法。 2.変更するステップはさらに、 a.予め定められたiビットパターンにおける対応のビットと一致しないシン ボルにおける選択されたiビットの各々の場所に応じて各ECCシンボルのため に1つ以上の変更符号語を選択するステップと、 b.変更符号語と付加的な変更符号語とを組合せてECC変更子符号語を生成 するステップとを含む、請求項1に記載の符号化方法。 3.変更するステップはさらに、 a.予め定められたiビットパターンにおける対応のビットと一致しないシン ボルの選択されたiビットの各々の場所に応じて、各ECCシンボルのために1 つ以上の変更符号語のR個の先頭の係数を選択するステップと、 b.変更符号語のR個の先頭の係数を付加的な変更符号語のR個の先頭の係数 と組合せてR個の符号語情報シンボルを生成するステップと、 c.R個の情報シンボルを符号化して、d−1個のECCシンボル変更子およ びR個の擬冗長シンボルを含むECC変更子符号語を生成するステップとを含む 、請求項1に記載の方法。 4.GF(pm)におけるシンボルを有する符号語を生成するために、GF(pm +i )上の誤り訂正符号を用いて符号化する変形リードソロモン符号器において用 いるための符号を選択するための方法であって、 A.距離dを選択し、最小根のLを0に等しく設定するステップと、 B.生成多項式 g(x)=(x+αL)*(x+αL+1)*...(x+αL+n-k-1)=xn-k+gn-k-1xn-k-1+...+g1x1+g0x0 を用いて符号語cl'(x)=g'n-kxn-kg'n-k-1xn-k-1+...+g'x+1x0を生成するステッ プとを含み、 C.符号語c1'(x)を巡回的にシフトして、x-1の係数として1を有する符 号語c1(x)を生成するステップと、 D.c1(x)にα0、α1・・・αm-1を掛けて基底符号語b0、b1、・・・b2m-1を 生成するステップと、 E.c1(x)を巡回的にシフトするステップと、 F.c1(x)にc1(x)のx0の係数をかけるステップと、 G.ステップDおよびステップEの結果を加えて符号語c2(x)を生成する ステップと、 H.c2(x)にα0、α1・・・αm-1をかけて基底符号語bm、bm+1・・・b2m-1を 生成するステップと、 I.c2(x)を巡回的にシフトするステップと、 J.c1(x)にc2(x)のx0の係数をかけるステップと、 K.ステップHおよびステップIの結果を加えて符号語c3(x)を生成する ステップと、 L.c3(x)にα0、α1・・・αm-1をかけて基底符号語b2m、b2m+1、・・・b3m -1 を生成するステップと、 M.すべてのcw(X)、3≦w≦i*mに対してステップHからステップKを 繰返すステップと、 N.i*(d−1)個の変更符号語が基底語b0、b1・・・b(m*w)-1の線形結合 から生成できるかどうかを判断するステップと、 O.できれば、生成多項式としてg(x)を選択するステップと、 P.できなければ、L=L+1を設定し、L≦pm+i−1であればステップB からステップNを繰返すステップとを含む、方法。 5.GF(2thにおけるシンボルを有する符号語を生成するために、GF(2th+j上の誤り訂正符号を用いる変形リードソロモン符号器において用いるため の変更符号語を決定するための方法であって、 A.GF(2t)上の次数hの既約多項式を決定するステップと、 B.g(x)をかけられると1つの係数が予め定められた位置において1の要 素を有し、他の係数が対応の要素として0を有する符号語を生成するαvをGF (2thから選択するステップと、 C.別のαvを選択して、異なった係数が予め定められた位置において1の要 素を有し、他の係数が対応の要素として0を有する別の符号語を生成するステッ プと、 D.ステップCを繰返して合計j*(d−1)個の符号語を生成するステップ と、 E.ステップBからステップDにおいて生成された符号語にGF(2thの選 択された要素をかけて、予め定められた位置においてGF(2thの選択された 要素を有する付加的な符号語を生成するステップとを含む、方法。 6.1つの符号器から多くの復号器の選択された1つへとデータを送るためのシ ステムであって、復号器の各々は予め選択されたiビットパターンに関連した変 形リードソロモン符号を用い、システムは、 A.変形リードソロモン符号と多くの予め選択されたiビット切り捨てパター ンの1つとを用いて、GF(pm+i)上のデータを符号化し、GF(pm)におい てデータ符号語を生成する符号器を含み、符号器は特定の復号器に関連したiビ ットパターンを用いて復号器の特定の1つのためのデータを符号化し、さらに、 B.複数個の復号器を含み、復号器の各々は復号器に関連したiビットパター ンを用いてデータ符号語を復号化し、復号器は、データ符号語を復号化するデー タを訂正不可能なデータに符号化するために用いられるパターンとは異なったパ ターンを用い、復号器は、データ符号語を復号化するデータを誤りのないまたは 訂正可能なデータに符号化するために用いられる同じパターンを用いる、システ ム。 7.各復号器は、 a.k−R個までのデータシンボルを符号化してd−1個の(m+i)ビット ECCシンボルを生成し、仮の符号語を形成するための手段と、 b.もしあれば、ECCシンボルの各々におけるどの選択されたiビットが予 め定められたiビット切り捨てパターンと一致するかを確かめるための手段と、 c.(i)ECCシンボルの各々における選択されたiビットが前記パターン と一致するという判断に応じて、仮の符号語を、iビットが復号器によつて用い られるiビットパターンに設定されたR個のシンボルと、iビットがすべて0に 設定されたd−1個のシンボルとを有する付加的な変更符号語Sと組合せること によってデータ符号語を形成して、仮の符号語に、iビットの予め定められたパ ターンを各々有するR個の擬冗長シンボルを付加し、 (ii)ECCシンボルの少なくとも1つにおける選択されたiビットが前記パ ターンと一致しないという判断に応じて、シンボルを、d−1個のECC変更シ ンボルとR個の擬冗長シンボルとを含むECC変更子符号語と組合せることによ ってECCシンボルを変更するための手段とを含み、組合せは、すべてが予め定 められたパターンに設定された選択されたiビットを有する、k−R個のデータ シンボルと、d−1個の変更されたECCシンボルと、R個の擬冗長シンボルと を有するデータ符号語を生成する、請求項6に記載のシステム。 8.復号器の各々はさらに、 a.予め定められたiビットパターンにおける対応のビットと一致しないシン ボルにおける選択されたiビットの各々の場所に応じて、各ECCシンボルのた めに1つ以上の変更符号語を選択するための手段と、 b.変更符号語と付加的な変更符号語とを組合せてECC変更子符号語を生成 するための手段とを含む、請求項7に記載の符号化システム。 9.符号器はさらに、 a.予め定められたiビットパターンにおける対応のビットと一致しないシン ボルの選択されたiビットの各々の場所に応じて、各ECCシンボルのために1 つ以上の変更符号語のR個の先頭の係数を選択するための手段と、 c.変更符号語のR個の先頭の係数と付加的な変更符号語のR個の先頭の係数 とを組合せてR個の情報シンボルを生成するための手段と、 d.R個の情報シンボルを符号化してECC変更子符号語を生成するための手 段とを含む、請求項7に記載のシステム。 10.ディスクにデータを記憶し、そこからデータを取出すためのシステムであ って、 A.GF(2m+i)上でデータを符号化し、GF(2m)上でデータ符号語を生 成するための符号器を含み、符号器は、多くの予め選択されたiビット切り捨て パターンの1つを用い、ディスク上の特定のトラックに記憶されるべきデータを その特定のトラックに関連したiビットパターンを用いて符号化し、さらに、 B.ディスク上のトラックからデータを取出すための手段と、 C.データ符号語がそこから取出されると意図されたトラックに関連したiビ ットパターンを用いて、取出されたデータ符号語を復号化するための復号器とを 含み、復号器は、データを取出すための手段が間違ったトラックからデータを取 出せばデータ符号語を訂正不可能なデータに復号化し、データ符号語が正しいト ラックから取出されればデータ符号語を誤りのないまたは訂正可能なデータに復 号化する、システム。 11.符号器は、 a.k−R個までのデータシンボルを符号化してd−1個の(m+i)ビット ECCシンボルを生成し、仮の符号語を形成するための手段と、 b.ECCシンボルの各々における選択されたiビットが予め定められたiビ ット切り捨てパターンと一致するかどうかを確かめるための手段と、 c.(i) ECCシンボルの各々における選択されたiビットが前記パター ンと一致するという判断に応じて、仮の符号語を、ビットがトラックに関連した iビットパターンに設定されたR個のシンボルと、iビットがすべて0に設定さ れたd−1個のシンボルとを有する付加的な変更符号語と組合せることによって データ符号語を形成して、仮の符号語に、iビットの予め定められたパターンを 各々有するR個の擬冗長シンボルを付加し、 (ii) ECCシンボルの少なくとも1つにおける選択されたiビットが前記 パターンと一致しないという判断に応じて、ECCシンボルを、d−1個のEC C変更シンボルとR個の擬冗長シンボルとを含むECC変更子符号語と組合せる ことによってECCシンボルを変更するための手段とを含み、組合せは、すべて が予め定められたパターンに設定された選択されたiビットを有する、k−R個 のデータシンボルと、d−1個の変更されたECCシンボルと、R個の擬冗長シ ンボルとを有するデータ符号語を生成する、請求項10に記載のシステム。 12.符号器はさらに、 a.選択されたiビットパターンにおける対応のビットと一致しないシンボル における選択されたiビットの各々の場所に応じて、各ECCシンボルのために 1つ以上の変更符号語を選択するための手段と、 b.iビットが選択されたパターンに設定された特定のシンボルを有する付加 的な変更符号語を選択するための手段と、 c.変更符号語と付加的な変更符号語とを組合せて、d−1個のECCシンボ ル変更子とR個の擬冗長シンボルとを含むECC変更子符号語を生成するための 手段と、 d.仮の符号語とECC変更子符号語とを組合すことによって仮の符号語にお けるECCシンボルを変更するための手段とを含む、請求項11に記載の符号化 システム。 13.符号器はさらに、 a.選択されたiビットパターンにおける対応のビットと一致しないシンボル のiビットの各々の場所に応じて、各ECCシンボルのために1つ以上の変更符 号語のR個の先頭の係数を選択するための手段と、 b.iビットが選択されたパターンに設定された特定のシンボルを有する付加 的な変更符号語のR個の先頭の係数を選択するための手段と、 c.変更符号語のR個の先頭の係数と付加的な変更符号語のR個の先頭の係数 とを組合せてR個の情報シンボルを生成するための手段と、 d.R個のシンボルを符号化してECC変更子符号語を生成するための手段と を含む、請求項11に記載のシステム。 14.変形リードソロモン符号を用いて、GF(2m+i)上でデータを符号化し てGF(2m)における符号語を生成するシステムの変更符号語記憶用件を低減 する方法であって、 A.基礎体GF(2t)と次数tの生成多項式g(x)とを決定するステップ を含み、ここで、GF(2m)=GF(2thであり、GF(2m+i)=GF(2th+jであり、さらに、 B.GF(2t)上の次数hの既約多項式を決定するステップと、 C.選択された位置でGF(2t1の要素1を各々有するGF(2thにおけ るt−i+1個の変更符号を決定するステップと、 D.GF(2thのシンボルにおける非0要素の位置にそれぞれ関連した場所 において変更符号語の各々の第1の係数を記憶するステップとを含む、方法。
JP10522961A 1996-11-14 1997-11-13 変形リードソロモン符号選択および符号化システム Ceased JP2000503513A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/749,235 US5822336A (en) 1996-11-14 1996-11-14 Modified reed solomon code selection and encoding system
US08/749,235 1996-11-14
PCT/US1997/021825 WO1998021829A2 (en) 1996-11-14 1997-11-13 Modified reed solomon code selection and encoding system

Publications (1)

Publication Number Publication Date
JP2000503513A true JP2000503513A (ja) 2000-03-21

Family

ID=25012860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10522961A Ceased JP2000503513A (ja) 1996-11-14 1997-11-13 変形リードソロモン符号選択および符号化システム

Country Status (6)

Country Link
US (1) US5822336A (ja)
EP (1) EP0909484A4 (ja)
JP (1) JP2000503513A (ja)
KR (1) KR19990077243A (ja)
AU (1) AU5462398A (ja)
WO (1) WO1998021829A2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889794A (en) * 1997-09-30 1999-03-30 Quantum Corporation Two-level error correction encoder
US6199188B1 (en) * 1997-10-07 2001-03-06 Quantum Corporation System for finding roots of degree three and degree four error locator polynomials over GF(2M)
US6148430A (en) * 1998-05-15 2000-11-14 Quantum Corporation Encoding apparatus for RAID-6 system and tape drives
DE19837809C1 (de) * 1998-08-20 2000-02-24 Frank Wolf Optischer Datenträger mit Kopierschutz und Verfahren zu seiner Herstellung
US6463564B1 (en) * 1999-09-14 2002-10-08 Maxtor Corporation Mis-synchronization detection system
US6631172B1 (en) 2000-05-01 2003-10-07 Lucent Technologies Inc. Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels
US6895546B2 (en) * 2001-08-16 2005-05-17 Broad-Light Ltd. System and method for encoding and decoding data utilizing modified reed-solomon codes
US7206410B2 (en) * 2001-10-10 2007-04-17 Stmicroelectronics S.R.L. Circuit for the inner or scalar product computation in Galois fields
US7249309B2 (en) * 2002-11-13 2007-07-24 International Business Machines Corporation Single-burst-correction / double-burst-detection error code
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
US7426676B2 (en) * 2004-01-14 2008-09-16 Broadcom Corporation Data retrieval from a storage device using a combined error correction and detection approach
US7996620B2 (en) * 2007-09-05 2011-08-09 International Business Machines Corporation High performance pseudo dynamic 36 bit compare
JP4780158B2 (ja) * 2008-08-26 2011-09-28 ソニー株式会社 符号化装置および方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4856003A (en) * 1987-05-07 1989-08-08 Digital Equipment Corporation Error correction code encoder
US4847705A (en) * 1987-07-07 1989-07-11 Digital Equipment Corporation Method and apparatus for encoding magnetic disk sector addresses
US5068858A (en) * 1989-12-21 1991-11-26 International Business Machines Corporation Error correction capability varied with track location on a magnetic or optical disk
US5230003A (en) * 1991-02-08 1993-07-20 Ericsson-Ge Mobile Communications Holding, Inc. Decoding system for distinguishing different types of convolutionally-encoded signals
US5428627A (en) * 1992-11-10 1995-06-27 Qlogic Corporation Method and apparatus for initializing an ECC circuit
US5428630A (en) * 1993-07-01 1995-06-27 Quantum Corp. System and method for verifying the integrity of data written to a memory

Also Published As

Publication number Publication date
KR19990077243A (ko) 1999-10-25
WO1998021829A2 (en) 1998-05-22
EP0909484A2 (en) 1999-04-21
US5822336A (en) 1998-10-13
AU5462398A (en) 1998-06-03
WO1998021829A3 (en) 1998-07-23
EP0909484A4 (en) 2003-07-09

Similar Documents

Publication Publication Date Title
KR100913965B1 (ko) 일부가 사전에 알려진 정보의 코딩 및 디코딩
KR930008683B1 (ko) 리드-솔로몬 에러 보정 코드 엔코더
US5999959A (en) Galois field multiplier
US5136592A (en) Error detection and correction system for long burst errors
US6148430A (en) Encoding apparatus for RAID-6 system and tape drives
US5948117A (en) Modified Reed-Solomon error correction system using (W+i+1)-bit representations of symbols of GF(2w+i)
US5901158A (en) Error correction encoder/decoder
KR19990044903A (ko) 컴퓨터 저장 장치에서 랜덤화된 데이터에 대해crc 신드롬을 생성하기 위한 ecc 시스템
JPH04230124A (ja) マルチレベルエラー訂正システム
JP2000503513A (ja) 変形リードソロモン符号選択および符号化システム
JP2009295273A (ja) 誤り訂正符号エンティティのための消失訂正のコンピュータ実現化方法
US7346834B2 (en) Randomizer systems for producing multiple-symbol randomizing sequences
JP2005500730A (ja) 復号器に情報が与えられる場合の改良された符号化
US5978956A (en) Five-error correction system
US5889794A (en) Two-level error correction encoder
US5574448A (en) Method and apparatus for encoding data with variable block lengths
JP2000187948A (ja) 誤り訂正符号化/復号化方式及び誤り訂正符号化/復号化装置
JP2000306342A (ja) 誤り訂正符号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060418

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060714

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060904

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20061218

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070130