JP3989558B2 - GF(2▲上w+i▼)のシンボルの(w+i+1)ビット表現を用いる変形リードソロモンエラー訂正システム - Google Patents
GF(2▲上w+i▼)のシンボルの(w+i+1)ビット表現を用いる変形リードソロモンエラー訂正システム Download PDFInfo
- Publication number
- JP3989558B2 JP3989558B2 JP53474898A JP53474898A JP3989558B2 JP 3989558 B2 JP3989558 B2 JP 3989558B2 JP 53474898 A JP53474898 A JP 53474898A JP 53474898 A JP53474898 A JP 53474898A JP 3989558 B2 JP3989558 B2 JP 3989558B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- symbol
- codeword
- symbols
- edc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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
Description
本発明は変形リードソロモンエラー訂正符号器に関する。
発明の背景
デジタルコンピュータシステムにおいては大容量記憶媒体、具体的にはディスクに記録されるデータの密度が増大するのに従って、データのエラー訂正符号化の重要性が大幅に増している。記録密度が高くなると、ディスクの記録表面のわずかな欠陥も大量のデータを破壊する可能性が生じる。データの損失を避けるために、その名のとおりエラー訂正符号(ECC)を用いて誤りのあるデータを訂正する。
データシンボルのストリングは、ディスクに書込まれる前に、数学的に符号化されてECCシンボルを形成する。次にこのECCシンボルはデータストリングに付加されて符号語、すなわちデータシンボルプラスECCシンボルを形成し、この符号語がディスクに書込まれるかまたはストアされる。データをディスクから読取るときには、読取るべきデータシンボルを含む符号語がディスクから検索されて数学的に復号化される。復号化中にデータ中のエラーが検出され、可能であればECCシンボルの操作によって訂正される。(復号化の詳細な説明については、ピーターソン(Peterson)およびウェルドン(Weldon)による、「エラー訂正符号(Error Correction Codes)」、第2版、MITプレス(MIT Press)、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の乗数でない多数のビットを有する符号語シンボルを得ることは、システムの回路を複雑にする。システムの残りの部分は8ビットシンボルまたはバイトすなわち8ビットの倍数であるシンボルで動作する。したがって、もしECCが8ビットよりも長いシンボルを用いるならば、システムは、システムの残りの部分が使用する8ビットシンボルとECC回路が用いるより長いシンボルとの間でシンボルの変換を行なうインターフェイスを含んでいなければならない。
GF(28)に基づくECCは、もし2つの8ビットECCシンボルをデータに付加して符号語を255すなわち28−1バイト長にするのであれば、1つのエラーに対し253の8ビットデータシンボルまたは「データバイト」までのストリングを保護できる。ECCが2つ以上のエラーを訂正するのであれば、より多くのECCシンボル、すなわち訂正すべきさらなるエラー各々について2つを符号語において用いなければならない。このことは、所与の長さの符号語に対しより少ないデータバイトの保護が可能であることを意味している。
情報は磁気ディスクにおいて長さが512または576バイトであるセクタにストアされることが多い。したがって、GF(28)に基づくECCを何回かインターリーブして、512または576バイトセクタ全体を保護しなければならない。効果的にインターリーブを行なうことによって、データシンボルのストリングをいくつかのより小さなセグメント、すなわち各々が255シンボル未満のセグメントに分割し、各セグメントを符号化されるべきデータシンボルのストリームとして扱う。インターリーブの利点は、インターリーブにより所与の符号を用いてより多数のデータシンボルを符号化することができ、かつインターリーブにより、異なる符号語における隣接するデータシンボルを符号化することによるエラーのバーストを効果的に分離することである。しかしながら、インターリーブを用いるシステムでは、エラー訂正が、データシンボルを変形することにより実際にエラーを導入してしまい、有効であるが正しくない符号語を生み出す可能性がある。この「訂正誤り」を防止するために、別のエラー検出符号またはクロスチェックを典型的には用いて、インターリーブされたエラー訂正符号を用いて行なった変形が確実に正しいデータシンボルを生み出すようにする。
先行技術によるシステムでは、GF(28)に対する8ビットシンボルエラー検出符号(EDC)またはGF(216)に対する16ビットシンボルエラー検出符号を用いている。8ビットシンボル符号の実現は簡単であるが、最大距離がわずか2であり比較的弱い。その代わりに、より強い16ビットシンボル符号は、16ビットシンボルの操作が要求され実現するのが複雑である。
GF(210)に基づくエラー検出符号は、十分な符号語長さ、すなわち符号語あたり210−1すなわち1023シンボルを有し、セクタ全体を容易にクロスチェックする。しかしながら、GF(210)符号において用いられる10ビットシンボルの符号化および復号化には問題がある。
上記のように、コンピュータ伝送および記憶ハードウェアはバイトに対して、すなわち8ビットシンボルに対して、または長さが16ビットシンボルといったように8ビットの倍数であるシンボルに対してセットアップされる。このように通常は10ビットシンボルの操作のために準備されていない。したがって、GF(210)EDCを用いるのであれば、情報を、最初に10ビットシンボルとして符号化するために、次にバイトとして伝送または記憶するために、最後に10ビットシンボルとして復号化するために、バイトと10ビットシンボルとの間で変換しなければならない。符号器および復号器双方において、バイトと10ビットシンボルとの間で変換しなければならないということは、EDCクロスチェックプロセスに別のステップの複雑性を加えてしまう。さらに、データは8ビットシンボルに基づく変調符号により変調されるため、EDCに対し10ビットシンボルを用いるとより多くのエラーが生まれる可能性がある。なぜなら、変調符号シンボルは2つ以上のEDCシンボルに復調され得るからである。このように、変調符号語シンボルの誤った復調により、2つの誤りのあるEDC符号語シンボルが生じる可能性がある。
1つの解決法は、GF(210)において符号語を生成し、1023バイト(データ、ECCシンボル)までを保護し、それでもなお8ビットシンボルまたはバイトをEDCシンボルとして使用することである。GF(210)に対するECCを用いる先行技術のシステムでは、1つ以上の予め定められた擬似データバイトをデータバイトに加え、データバイトプラス擬似データバイトからなるストリングを符号化して所望の数の10ビットECCシンボルを生成している。次に、10ビットECCシンボルの各々において選択された2つのビットを、既知の2ビットパターンたとえば「00」と比較する。10ビットECCシンボルの各々における選択された2ビットが2ビットパターンと同じであれば、ECCシンボルの選択されたビットは無視されまたは切捨てられ、ECCシンボル各々の残りの8ビットをデータバイトおよび付加された擬似データバイトと連結させて符号語を形成する。この符号語を後に復号化し、ガロア体加算および/または乗算のために必要な既知の2ビット切捨てパターンを付加することにより何らかのエラー訂正を行なうことができる。
ECC10ビットシンボルのいずれかにおけるいずれかの選択されたビットが切捨てパターンと同じでなければ、付加された擬似データバイトを変形して、データバイトプラス変形された擬似データバイトの符号化により、選択されたビットが切捨てパターンと同じになる10ビットECCシンボルが生成されるようにする。次に、今では既知の切捨てパターンと同じである選択されたビットは無視され、ECCシンボル各々の残りの8ビットおよび変形された擬似データバイトは、データバイトとともに符号語としてストアされる。再び、変形された擬似データバイトおよびECCシンボルの残りの8ビットは復号化および符号語をバイトとして訂正することを可能にするのに必要なすべての情報を含む。
先行技術のシステムは、同一譲受人に譲渡される、「エラー訂正符号エンコーダ(Error Correction Code Encoder)」と題された米国特許第4,856,003号において述べられている。本願発明者らは、複雑性のより低い回路を用いてGF(210)に対するジェネレータ多項式g(x)に従ってデータを操作し、GF(28)において符号語冗長シンボルを生成する、エラー検出/訂正システムを考案した。このようなシステムを用いて、選択された体GF(2w+i)に対しデータを符号化し、GF(2w)において冗長シンボルを生成することも可能である。
発明の概要
改良されたリードソロモンエラー訂正システムは、選択された体GF(2w+i)に対するジェネレータ多項式g(x)に従いwビットデータシンボルを符号化し、(w+i+1)ビットEDC冗長シンボルを生成する。符号器は、項xd-1、xd-2…x1の係数としてのこれらのシンボルとともに予備EDC符号語を形成し、予備EDC符号語を1つ以上のEDC変形符号語の組合せと組合せることによりEDC冗長シンボルを変形する。この結果、すべて0またはすべて1に設定されるi+1の選択されたビットを有する変形されたEDC冗長シンボル、および、変形されたEDCシンボルに加えられる「R」(w+i+1)ビット擬似冗長シンボルが得られる。
この符号化システムは次に、すべて1に設定されるi+1ビットを伴う変形されたEDCシンボルの補数を取り、i+1ビットがすべて0に設定されるシンボルを生成する。システムは次に、すべてゼロのi+1ビットを変形されたEDCシンボルおよび擬似冗長シンボル各々から切捨て、GF(2w)の要素であるシンボルを有するEDC符号語を生成する。
復号器はEDC符号語を復号化するために、擬似冗長シンボルを含むEDC符号語全体を復号化して、適切なエラーシンドロームを生成する。復号器はEDC符号語を(w+i)ビットシンボルとして復号化してもよく、またはEDC符号語を(w+i+1)ビットシンボルとして復号化し、以下でより詳細に説明するように、より複雑性の低い回路を用いて何らかのガロア体演算をおこなうようにしてもよい。
具体的には、あるガロア体、GF(2w+i)を、以下の既約多項式によって生成できる。
p(x)=xw+i+xw+i-1+...+x1+x0
次に体の要素を、h(x)モジュロp(x)の累乗として表現することができ、この場合h(x)は、原始の体の元を表わす多項式である。エラー訂正システムは、GF(2w+i)の要素の(w+i+1)ビット表現を用いて、乗算および要素の2i乗などのガロア体演算を行なう回路を簡素化する。このシステムは(W+i+1)ビット表現を用いてこれらの体演算を、以下でより詳細に説明するように循環シフトおよび置換の組合せとして行なう。
【図面の簡単な説明】
本発明の上記およびさらなる利点については、添付の図面と関連付けて以下の説明を参照することにより理解がより深まるであろう。
図1は、本発明に従い構成される符号化システムの機能ブロック図である。
図2は、図1の符号器の演算のフローチャートである。
図3は、本発明に従い構成される復号化システムの機能ブロック図である。
図4は、図3の復号器の演算のフローチャートである。
図5は、図3に示されたシンドロームプロセッサの一部の機能ブロック図である。
実施例の詳細な説明
1.体演算
選択されたw+iに対し、ガロア体GF(2w+i)を以下の既約多項式により生成できる。
p(x)=xw+i+xw+i-1+...+x2+x+1
「離散数学(Discrete Mathematics)」、106/107(1992)第497-502頁において発表された、J.K.ウォルフ(J.K. Wolf)による、「mのある値に対しGF(2m)において乗算を行なうための効率的な回路(Efficient Circuits For Multiplying in GF(2) For Certain Values of m)」と題された文献を本明細書に引用により援用するが、この文献ではこうした体について述べられている。m=w+iの初めのいくつかの値は、2、4、10、12、18、28、36、52、58、60…である。
しかしながら「x」は原始元ではない。したがってこうした体の各々につき、非ゼロの体の要素すべてをh(x)モジュロp(x)の累乗として表現できるように、多項式h(x)を定めている。多項式h(x)はこうして、体の原始元を表現する。
例として、w+i=10に対し、GF(2w+i)すなわちGF(210)は、以下の既約多項式
p(x)=x10+x9+x8+x7+x6+x5+x4+x3+x2+x1+1
および以下の多項式
h(x)=x3+x+1
を有する。GF(210)の各要素はこのようにして、(x3+x+1)モジュロp(x)の累乗として表現できる。
ガロア体GF(2m)の各要素を、次数m−1の多項式によりすなわちmビットシンボルにより表現し得る。上記においてm=w+iであり、mはウォルフの文献において述べられた値の1つである。この要素はこのようにして唯一のシンボルa(x)と関連付けられる。GF(2m)の要素をその代わりに次数mの多項式によりすなわち(m+1)ビットシンボルにより表現するときには、この要素は2つの異なっているが関連するシンボルb(x)およびc(x)と関連付けられ、以下のとおりとなる。
b(x)+c(x)=p(x)
このようにb(x)およびc(x)は補数である。
m=10に対し、GF(210)の10ビット要素、およびh(x)モジュロp(x)により生成される要素の11ビット表現を以下に示す。
図1および3を参照して以下で説明する符号化および復号化システムは、好ましくは、下記の利点を有する11ビットシンボル表現を用いる。
第1に、11ビットシンボルを2i乗することは、シンボルのビットの置換である。シンボルb(x)に対し、
b(x)=b10x10+b9x9+...+b1x+b0
であり、係数またはビットにより表現すると、
b(x)=b10b9b8b7b6b5b4b3b2b1b0
となり、b(x)を2iのさまざまな累乗を行なうとそれぞれ以下のとおりとなる。
(b(x))2=b5b10b4b9b3b8b2b7b1b6b0
(b(x))4=b8b5b2b10b7b4b1b9b6b3b0
(b(x))8=b4b8b1b5b9b2b6b10b3b7b0
上記において
のxkの係数は、
の係数である。
第2に、2つの11ビットシンボルの乗算は、シンボルの一方の循環的にシフトされたコピーと他方のシンボルの係数またはビットとの排他的ORを取ることによって行なうことができる。2つのシンボルb(x)およびd(x)に対し、以下のように表わされる。
b(x)=b10b9b8b7b6b5b4b3b2b1b0
d(x)=d10d9d8d7d6d5d4d3d2d1d0
d(x)*d(x)=
b0 *(d10d9d8d7d6d5d4d3d2d1d0)
+b1 *(d9d8d7d6d5d4d3d2d1d0d10)
+b2 *(d8d7d6d5d4d3d2d1d0d10d9)
+b3 *(d7d6d5d4d3d2d1d0d10d9d8)
+b4 *(d6d5d4d3d2d1d0d10d9d8d7)
+b5 *(d5d4d3d2d1d0d10d9d8d7d6)
+b6 *(d4d3d2d1d0d10d9d8d7d6d5)
+b7 *(d3d2d1d0d10d9d8d7d6d5d4)
+b8 *(d2d1d0d10d9d8d7d6d5d4d3)
+b9 *(d1d0d10d9d8d7d6d5d4d3d2)
+b10 *(d0d10d9d8d7d6d5d4d3d2d1)
式中、「*」は、GF(2)に対する乗算を表わす。上記各行のd(x)の成分は各々の循環的にシフトされたコピーである。シンボルb(x)およびd(x)を交換して同じ結果を得ることができる。
第3に、定数乗算器は、重みのより低い11ビット表現を使用するときには、最小数の排他的ORゲートで容易に実現される。たとえば、0001000100としても表現される11ビット定数1110111011により、
b(x)=b10b9b8b7b6b5b4b3b2b1b0
を乗算することは、重みのより低い表現を用い、b(x)を2ビットずつ循環的にシフトし加算するすなわち排他的ORを取り、結果を6ビットずつ循環的にシフトされたb(x)の結果に加えることによって得ることができる。
b10b9b8b7b6b5b4b3b2b1 *0001000100=
1*(b8b7b6b5b4b3b2b1 10b9)+1*(b4b3b2b1b10b9b8b7b6b5)
11ビット表現のより重みの低いものをすべての乗算に対して用いるのであれば、加算しなければならないシンボルの循環的にシフトされたコピーの最大数は5である。対照的に、2つの10ビットシンボルの乗算には、シンボルの1つの10の変形コピーまで加算する必要がある。さらに、10ビットコピーへの変形は一般的に循環シフトよりも複雑である。
2.符号化システム
図1を参照して、符号化システム10は、GF(2w+i)に対する距離dのジェネレータ多項式g(x)に従いデータを符号化し、(w+i+1)ビット冗長シンボルを生成するリードソロモン符号器12を含む。この例ではw=8、i=2およびd=4であり、GF(210)に対するジェネレータ多項式は以下のとおりである。
g(x)=(x+α64)*(x+α65)*(x+α66)=x3+α300x2+α365x+α195
図2を参照して、すべてがGF(2w)すなわちGF(28)の要素でありかつ全体としてデータシンボルと呼ばれるデータおよびECCシンボルが符号化される前に、i+1のゼロがレジスタ13のシンボルに付加または含められる(ステップ200)。この例では、3つのゼロが8ビットシンボルに付加されて11ビットシンボルを形成する。スイッチ14を閉位置にして、11ビットデータシンボルは加算器21においてレジスタ18の内容に加算される。その和が次に乗算器15、16および17において定数α300、α365、およびα195それぞれにより乗算される。これら定数はジェネレータ多項式の係数である。これら係数は最も重みの低い11ビット表現形式であり、乗算器15−17は最小数の排他的ORゲートを用いて実現される。
乗算器15および16からの積はモジュロ2で加算器22および23においてそれぞれレジスタ19および20の内容に加算される。これらの和は次にレジスタ18および19を更新する。同様に、乗算器17により得られた積はレジスタ20を更新する。
すべてのデータシンボルが符号器12に与えられ11ビットシンボルとして符号化された後、レジスタ18−20の内容はEDC冗長シンボルの11ビット表現となる。スイッチ14が次に開放され、11ビットEDC冗長シンボルは、予備EDC符号語のx3、x2およびx項の係数としてそれぞれ符号器からレジスタ24にシフトされる(ステップ202)。定数項x0の係数はゼロに設定される。
符号化システムは次に、予備EDC符号語が変形を必要とするかどうかを判断する(ステップ204、206)。各EDC冗長シンボルについて、EDCシンボルプロセッサ26は、先頭のi+1ビットがすべて同じ値に設定されるかどうかを決定する。この例では、このシステムはプロセッサ26において各EDC冗長シンボルにおいてx9およびx8の位置にあるビットがx10の位置にあるビットと同じビット値に設定されるかどうかを決定する。システムはこのようにして1に設定される先頭ビットを有する特定のEDC冗長シンボルに対し、第2および第3の先頭ビットもまた1かどうかを決定する。そうでなければ、プロセッサ26はレジスタ24からの予備符号語およびプロセッサにより生成されるレジスタ28におけるEDC変更子符号語を組合せることによりEDCシンボルを変形する。
EDC変更子符号語は本質的に、各々が、先頭のxw+i-1からxwビットのうち1に設定される異なる1つを有しかつこれらビットの残りの各々がゼロに設定される、1つ以上の変更符号語rcの組合せである。より具体的には、i*(d−1)の変更符号語があり、1つ1つが、d−1のEDC冗長シンボルの各々におけるビット位置xw+i-1からxwにあるビット各々に対するものである。この例では、6の変更符号語があり、3のEDCシンボルの各々において1つがビット8および9をそれぞれ変形する。
所与のEDC冗長シンボルにおけるこれらビットのうち特定の1つが先頭ビットすなわちビット位置xw+iにあるビットと同じ値を有さないとき、符号器はEDC冗長シンボルを変形してその特定のビットを変える。そのために、符号器はEDC冗長シンボルを、以下の例でより詳細に説明するように、1に設定される対応するビットを有する変形符号語の適切なシンボルと組合せる。i+1ビットのもう1つのものが先頭ビットと同じ値に設定されない場合、EDC冗長シンボルはさらに、また1に設定される特定ビットを有する変形符号語と組合せることにより変形される。
プロセッサ26もまたRの擬似冗長シンボルP1、P2…を生成する。すべてゼロに設定されるi+1ビットを有する擬似冗長シンボルは、変形されたEDC冗長シンボルに付加されて、EDC符号語が確実に適切に復号化されるようにする。必要な擬似冗長シンボルの数は以下のとおりである。
式中deg(g(x))はジェネレータ多項式の次数であり、[ ]は天井関数を表わす。この例では、R=1であり、EDC擬似冗長シンボルはEDC符号語の定数項すなわちx0項の係数である。
EDCシンボルが変形されると、符号化システムは必要に応じて、EDC冗長シンボルの最初のi+1個の係数がすべて0であるかどうかを判断する(ステップ208)。そうであれば、システムはi+1個のビットをシンボルから切り捨て、wビット変形EDC冗長シンボルを生成する(ステップ212)。もしi+1個のビットがすべて1であれば、システムはまずシンボルの補数をとり、これらのビットをすべて0にし、その後ビットを切り捨てて、対応するwビット変形EDCシンボルを生成する(ステップ210,212)。システムはEDC冗長シンボルの各々に対してこれを行ない、GF(2w)の要素であるシンボルを有するEDC符号語を生成する。
例において、変形符号語は下記のとおりである。
好ましくは、それらのi+1個のビットがすべて0に設定された定数項を有するように選択された変形符号語rcが、変形リードソロモン符号選択および符号化システム(MODIFIED REED SOLOMON CODE SELECTI0N AND ENCODING SYSTEM)と題された同時係属中の米国特許出願連続番号第08/749,235号において議論されているシステムおよび技術を用いて選択され、この出願は同一譲渡人に譲渡され、引用によって援用される。
x1の係数のビット8を変形するために用いられる変形符号語r0は、ビット8として1を、かつビット10および9として0を含む対応するシンボルを有し、残りの符号語シンボルの各々においてはそれぞれのビット10、9および8としてすべて0を有する。x1の係数のビット9を変形するために用いられる変形符号語r1は、ビット9として1を、かつビット10および8として0を含む対応するシンボルを有し、残りの符号語シンボルの各々においはそれぞれのビット10、9および8としてすべて0を有する。x2の係数を変形するために用いられる変形符号語r2およびr3ならびにx3の係数を変形するために用いられるr4およびr5についても同様に、対応するシンボルのビット8またはビット9が0に設定され、これらのシンボルの残りのi個のビットが0に設定され、残りのシンボルの各々においてそれぞれのi+1個のビットのすべてが0に設定される。
変形符号語は変更子テーブル30にストアされる。これに代えて、これらの符号語の各々の、0ではない1つの「情報」シンボルのみがテーブルにストアされてもよい。その後、システムは符号器12において、ストアされたシンボルの各々を符号化し、符号語rcを再度生成する。したがって、テーブル30は各符号語についてx3の係数を含み得る。
一例として、符号器12は、データを符号化して、下記の予備EDC符号語冗長シンボルを生成し、
c3=10101101011x3
c2=01111101010x2
c1=11111101111x1
x0の係数はすべて0に設定される。したがって、EDC変形符号語は、x3の係数のビット9を変形するためのr5ならびにx2の係数のビット9および8をそれぞれ変形するためのr2およびr3の組合せである。
したがって、変形符号語の、0ではない情報シンボルは、符号語r5、r3およびr4の、0ではない情報シンボルの組合せであり、
α953+α177+α126=α293
これは符号器12において符号化され、EDC変形符号語を生成し、
α293x3+α593x2+α658x1+α488x0
これを二進形式で表わすと下記のようになる。
1101100100x3+1100100000x2+00011110101x+0000111001
この符号語は、EDC予備符号語の冗長シンボルと組合せられ、すなわち、EDC変形符号語の係数が、EDC予備符号語の冗長シンボルと組合せられて、EDC符号語の冗長シンボルを形成する。
c′3=10101101011+1011100100=11110001111=α108
c′2=01111101010+01100100000=00011001010=α460
c′1=11111101111+00011110101=11100011010=α164
c′0=00000000000+00000111001=00000111001=α488
したがって、最後のEDC変形符号語は下記のとおりとなる。
α108x3+α460x2+α488x0
次に、システムはサブプロセッサ32において、i+1個のビットがすべて0に設定されたEDCシンボルからi+1個のビットを切り捨てる。これらのビットがすべて1に設定されたシンボルからi+1個のビットを切り捨てる前に、例においてシステムはシンボルの補数をとり、i+1個のビットをすべて0に設定する。システムはまずx3およびx1の係数の補数をとり、次いでEDC符号語をシンボルの各々からi+1個のビットを切り捨てて、GF(28)のシンボルを有するEDC符号語を生成する。その後、8ビットEDC冗長シンボルが、8ビットデータおよびECCシンボルを有するセクタに記録される。
次に図3および図4を参照して、復号器300は、EDC符号語を用いてエラーシンドロームs64、s65およびs66を決定することによりセクタシンボルをクロスチェックし、このEDC符号語はデータシンボルと、変形EDCシンボルと、擬似冗長シンボルとを含む(ステップ400)。復号器300は3つのレジスタ301、302および303を含み、これらは符号化の最後にエラーシンドロームを含み、復号器300はさらに3つの乗算器304、305および306を含み、これらはそれぞれレジスタ301から303の内容を定数αkで乗算し、ここでk=64、65または66である。
セクタシンボルが復号器300に与えられる前に、システムはi+1個または3個の、すべて0のビットをレジスタ299のシンボルに加える。その後、11ビットシンボルが加算器310、311および312の各々に与えられ、これらの加算器はさらに乗算器304から306からの積をそれぞれ受取る。シンボルとそれぞれの積とが組合せられ、結果がレジスタ301から303を更新するために用いられる。セクタシンボルのすべてが符号化されると、レジスタ301から303はシンドロームs64、s65およびs66を含む。
シンドロームプロセッサ308は、EDCシンドロームs64,s65およびs66すべてが0であるか、またはp(x)であり、かつ、インターリーブされたECCによって公知の態様で生成されたECCシンドロームがすべて0であれば、セクタにはエラーがないとする(ステップ402)。
セクタにエラーがある場合、エラー訂正プロセッサ310はECCに従った公知の態様でエラーを訂正し、シンドロームプロセッサ308は、ECCによって決定したエラー場所eloc、とエラー値evaliとに基づいてEDCシンドロームs′kを再構成する(ステップ404)。まず、システムは、部分的に再構成されたEDCシンドロームを決定する。
k=64、65、66、かつi=0、1、2…z−1の場合、zはエラーの数に等しい。k=64の場合、これは26であり、
の置換である。
さらに図5を参照して、シンドロームプロセッサ308は2つのルックアップテーブル316および318と、乗算器320と、置換ハードウェア322とを用いて、10ビット要素
を26によって累乗する。
とする。
ただし、
はelociの5つの最上位ビットを含み、
は10ビットシンボルelociの5つの最下位ビットを含む。したがって、
はいずれも32、すなわち25内に制限されるため、
を生成するテーブル316には32個のエントリしかない。したがって、テーブルはα0からα31に関するエントリを含み、好ましくは、これらのエレメントの、重みの低い11ビット表現を含む。このため、32エントリのテーブルが210エントリのテーブルの代わりに用いられ、格納スペースを節約するだけでなく、関連テーブルアドレス回路構成の複雑性をかなり低減する。
したがって、
の置換である。この置換はハードウェアにおいて行なわれるか、または、これもまた32個のエントリしか有さない第2のルックアップテーブル318を用いて行なうことができる。この値が決定すると、それは乗算器320において
によって乗算され、
を生成する。さらに
を26で累乗することは、ハードウェアにおいて行なうことができる置換であり、これは図面において322で示される。
再構成された部分的なEDCシンドロームs′64,iが決定すると、乗算器324から326、加算器330から333および置換ハードウェア328を用いて、関連した部分的なシンドロームs′65,iおよびs′66,iが下記のとおり容易に決定する。
したがって、最終的に再構成されるEDCシンドロームは、
s″k=s′k,0+s′k,1+...+s′k,z-1
であり、k=64、65および66の場合、zはECCによって決定するエラーの数である。
訂正されたセクタにエラーがないかどうかを判断するために、ステップ406においてシンドロームプロセッサは、EDCシンドロームskと、最終的に再構成されたEDCシンドロームs″kとを組合せ、この組合せがすべて0であるか、またはp(x)のいずれかであるかを判断する。そうであれば、システムは訂正されたセクタにはエラーがないと判断する。そうでなければ、システムはセクタの訂正が失敗したと判断する(ステップ408)。
図1および図3の符号器および復号器は、ジェネレータ多項式として下記の式を有するGF(210)に対する別の符号を用いてもよい。
g(x)=x3+α422x2+α609x+α561
この符号について、EDC変形符号語rcのx3項の係数である、EDC変更子符号語テーブル30のエントリは下記のとおりである。
r0 α821
r1 α462
r2 α21
r3 α723
r4 α783
r5 α736
上述の符号化および復号化システムは、ハードウェア、特に、乗算および2iによるシンボルの累乗のために必要なハードウェアを簡単にするために、11ビットシンボルを用いる。さらに、復号器は小さなルックアップテーブルを用い、したがって、エラー場所および値に基づくシンドロームを決定するために、比較的簡単な関連アドレス回路構成を用いる。このため、クロスチェックシステムは全体的に比較的低価格であり、なおかつ訂正の誤りに対してデータセクタ全体を保護する。
Claims (17)
- ガロア体(pw+i)上の、距離dの変形リードソロモンエラー検出符号(EDC)を用いて、データシンボルを符号語に符号化して、GF(pw)におけるEDC符号語を生成するための方法であって、前記方法は、
A.wビットシンボルにi+1個のビットを追加し、前記シンボルを符号化して、d−1個の(w+i+1)ビットEDC冗長シンボルを生成するステップを含み、前記EDC冗長シンボルは各々、h(x)モジュロp(x)の累乗であり、h(x)は前記体の原始元であり、p(x)は、p(x)=xw+i+xw+i-1+...+x2+x+1の形式の既約多項式であり、前記方法はさらに、
B.前記EDC冗長シンボルと予め定められた定数項とを含む予備EDC符号語を生成するステップと、
C.前記予備EDC符号語のシンボルの各々にある選択されたi個のビットのいずれかが、対応するi+1番目のビットと同じ値に設定されていないかを確認し、前記選択されたi個のビットのうちのいずれかが前記対応するi+1番目のビットと同じ値に設定されていない場合に、前記予備EDC符号語と、前記シンボルの各々にあるi+1個のビットのうちの選択されたビットが1に設定されかつ前記シンボルの各々にあるi+1個のビットのうちの残りのビットが0に設定された、1つ以上の変形符号語の組合わせであるEDC変更子符号語とを組合せることにより、変形EDC符号語を形成して、i個のビットが、対応するi+1番目のビットと同じ値を有する符号語シンボルを生成するステップと、
D.i+1個のビットがすべて1に設定されたシンボルの補数をとるステップと、
E.i+1個のビットを前記符号語シンボルから切り捨てて、wビットシンボルを有するEDC符号語を生成するステップとを含む、方法。 - 前記ステップCがさらに、
a.各EDCシンボル中の選択されたi個のビットの各々であって、対応するi+1番目のビットと同じ値に設定されていないビットの場所に応じて、前記各EDCシンボルに対して1つまたはそれ以上の変形符号語を選択するステップと、
b.前記変形符号語を組合せて、前記EDC変更子符号語を生成するステップとを含む、請求項1に記載の方法。 - 前記ステップCがさらに、
a.各EDCシンボル中の選択されたi個のビットの各々であって、対応するi+1番目のビットと同じ値に設定されていないビットの場所に応じて、前記各EDCシンボルに対して1つまたはそれ以上の変形符号語に対応するR個の情報シンボルを選択するステップと、
b.前記選択されたR個の情報シンボルを組合せるステップと、
c.前記組合せを符号化して、(d−1)個のEDC冗長シンボルと、すべて0に設定されるi+1ビットを有するR個の擬似冗長シンボルとを含む前記EDC変更子符号語を生成するステップとを含み、ただし、Rは、[(i×deg(g(x)))/w]であり、deg(g(x))は、ジェネレータ多項式g(x)の次数であり、[ ]は天井関数を表わし、請求項1に記載の方法。 - GF(pw+i)上の変形リードソロモン符号を用いてデータシンボルを符号化して、GF(pw)におけるシンボルを有する符号語を生成するための方法であって、前記方法は、
A.w+i+1個の項を備えた既約多項式p(x)を有し体のシンボルが多項式h(x)モジュロp(x)によって決まるガロア体上の、距離dの符号を選択するステップを含み、h(x)は前記体の原始元であり、前記方法はさらに、
B.GF(pw+i)の各シンボルを、重みの低い(w+i+1)ビットシンボルとして表現するステップと、
C.ジェネレータ多項式g(x)=(x+αL)*(x+αL+1)*...(x+αL+n-k-1)を用いて前記(w+i+1)ビットシンボルを符号化して、(w+i+1)ビットEDCシンボルを生成するステップと、
D.前記EDC冗長シンボルと予め定められた定数項とを含む予備EDC符号語を生成し、前記予備EDC符号語のシンボルの各々にある選択されたi個のビットのいずれが、対応するi+1番目のビットと同じ値に設定されていないかを確認し、同じ値に設定されていない場合に、前記予備EDC符号語と、前記シンボルの各々にあるi+1個のビットのうちの選択されたビットが1に設定されかつ前記シンボルの各々にあるi+1個のビットのうちの残りのビットが0に設定された、1つ以上の変形符号語の組合わせであるEDC変更子符号語とを組合せることにより、変形EDC符号語を形成して、i個のビットが、対応するi+1番目のビットと同じ値を有する符号語シンボルを生成するステップと、
E.選択されたi+1個のビットを前記符号語シンボルから切り捨てて、wビットシンボルを有するEDC符号語を生成するステップとを含む、方法。 - 前記符号を選択するステップが、既約多項式p(x)=xw+i+xw+i-1+...+x1+x0に関連するガロア体上の符号を選択するステップをさらに含む、請求項4に記載の方法。
- 前記符号化するステップが、GF(22+i)のシンボルの(w+i+1)ビット表現を用い、前記符号化は重みの低い(w+i+1)ビット表現を用いる、請求項4に記載の方法。
- GF(2w+i)上の距離dの符号に従ってwビットシンボルを符号化して、(w+i+1)ビット冗長シンボルを生成するための符号器であって、前記符号器は、
A.前記wビットのシンボルに(i+1)ビットの0を付加して、前記前記GF(2 w+i )のシンボルの(w+i+1)ビット表現を生成するためのレジスタと、
B.前記GF(2w+i)のシンボルの(w+i+1)ビット表現と、ジェネレータ多項式の係数の(w+i+1)ビット表現とを、前記シンボルの(w+i+1)ビット表現を循環的にシフトさせたものを組合せることによって、各々が乗算する、d−1個の乗算器と、
C.d−2個の加算器とを含み、前記加算器は、前記乗算器が生成した(w+i+1)ビットの積を、前記シンボルの(w+i+1)ビット表現に、または前記加算器が生成した以前の和に加算し、前記加算器は、wビットシンボルすべてが符号化されたときに前記(w+i+1)ビット冗長シンボルを生成する、符号器。 - GF(pw+i)上の変形リードソロモン符号を用いてwビットデータシンボルを符号化することにより生成されたGF(pw)におけるシンボルを有する符号語のエラーを検出するための方法であって、前記方法は、
A.wビット符号語シンボルを、p(x)=xw+i+xw+i-1...+x1+x0でありかつh(x)が原始元を表わす多項式h(x)モジュロp(x)によって決まる(w+i+1)ビットシンボルによって、表現するステップと、
B.ジェネレータ多項式g(x)=(x+αL)*(x+αL+1)*...(x+αL+d-1)を用いて、前記(w+i+1)ビット符号語シンボルを符号化して、シンドロームSL,SL+1'...,SL+d-1を生成するステップと、
D.前記シンドロームが0またはp(x)に等しいかどうか判断し、そうであれば、前記符号語にはエラーがないと判断し、エラーのないデータシンボルを与えるステップと、
E.前記シンドロームが0またはp(x)に等しくなければ、前記符号語にはエラーがあると判断し、データにはエラーがあることを示す信号をアサートするステップとを含む、方法。 - 前記GF(2w+i)のシンボルの(w+i+1)ビット表現は、重みの低い(w+i+1)ビット表現である、請求項8に記載の方法。
- 前記方法は、
F.前記シンドロームに関連したエラー場所およびエラー値を用いて、訂正された符号語に関連する再構成されたシンドロームs′L,s′L+1,...,s′L+d-1を決定するステップと、
G.前記前記シンドロームを前記再構成されたシンドロームと組合せるステップと、
H.前記組合せが0またはp(x)に等しければ、前記再構成されたシンドロームに関連するエラーのないデータを生成するステップと、
J.前記組合せが0またはp(x)に等しくなければ、データは訂正不能であることを示す信号をアサートするステップとをさらに含む、請求項8に記載の方法。 - ジェネレータ多項式g(x)=(x+αL)*(x+αL+1)*...(x+αL+d-1)および既約多項式p(x)を有するガロア体GF(pw+i)上のwビットシンボルを備えるデータ符号語を復号するための復号システムであって、前記復号システムは、
A.前記符号語のシンボルの(w+i+1)ビット表現を用いて、エラー場所elociおよびエラー値evaliを決定するための手段と、
B.前記エラー場所およびエラー値に基づいてシンドロームSLを決定し、エラーを前記シンドロームに従って訂正して、訂正されたデータ符号語を生成するための手段と、
C.前記訂正された符号語にはエラーがないかどうか判断するための手段とを含み、前記エラーがないかどうか判断するための手段は、
a.部分的な再構成されたシンドローム
を生成するための手段と、
b.再構成されたシンドロームs′L+1,i,s′L+2,i,...s′L+d-1,iを、
として生成するための手段と、
c.最終的な再構成されたシンドロームを、
s″L=s′L,0+s′L,1+s′L,2+...+s′L,z,...,s″L+d-1=s′L+d-1,0s′L+d-1,1+s′L+d-1,2+...+s′L+d-1,z
として生成するための手段とを含み、zは前記システムによって決まるエラーの数であり、さらに、
d.対応するシンドロームと最終的な再構成されたシンドロームとを組合せ、この組合せがすべて0またはp(x)であれば訂正されたデータ符号語にはエラーがないと判断するための手段を含み、前記システムは、
D.訂正されたデータ符号語にエラーがなければ、訂正されたデータ符号語のエラーのないデータシンボルを与えるための手段と、
E.訂正されたデータ符号語にエラーがあれば、エラー信号を与えるための手段とをさらに含む、復号システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/786,894 US5948117A (en) | 1997-01-23 | 1997-01-23 | Modified Reed-Solomon error correction system using (W+i+1)-bit representations of symbols of GF(2w+i) |
US08/786,894 | 1997-01-23 | ||
PCT/US1998/001356 WO1998035451A1 (en) | 1997-01-23 | 1998-01-23 | MODIFIED REED-SOLOMON ERROR CORRECTION SYSTEM USING (w+i+1)-BIT REPRESENTATIONS OF SYMBOLS OF GF(2w+i) |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000507434A JP2000507434A (ja) | 2000-06-13 |
JP2000507434A5 JP2000507434A5 (ja) | 2005-07-14 |
JP3989558B2 true JP3989558B2 (ja) | 2007-10-10 |
Family
ID=25139882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP53474898A Expired - Fee Related JP3989558B2 (ja) | 1997-01-23 | 1998-01-23 | GF(2▲上w+i▼)のシンボルの(w+i+1)ビット表現を用いる変形リードソロモンエラー訂正システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US5948117A (ja) |
EP (1) | EP0906665A4 (ja) |
JP (1) | JP3989558B2 (ja) |
AU (1) | AU5929998A (ja) |
WO (1) | WO1998035451A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5889794A (en) * | 1997-09-30 | 1999-03-30 | Quantum Corporation | Two-level error correction encoder |
JP4088998B2 (ja) | 1998-02-16 | 2008-05-21 | ソニー株式会社 | 光ディスクの記録/再生方法、光ディスク及び光ディスク装置 |
US6148430A (en) * | 1998-05-15 | 2000-11-14 | Quantum Corporation | Encoding apparatus for RAID-6 system and tape drives |
JP3272317B2 (ja) * | 1999-01-21 | 2002-04-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 誤り検出装置およびその方法 |
US6360348B1 (en) * | 1999-08-27 | 2002-03-19 | Motorola, Inc. | Method and apparatus for coding and decoding data |
US6701336B1 (en) | 1999-11-12 | 2004-03-02 | Maxtor Corporation | Shared galois field multiplier |
US6779014B1 (en) * | 2001-02-15 | 2004-08-17 | Chung-Shan Institute Of Science & Technology | Cyclic step by step decoding method used in discrete fourier transform cyclic code of a communication system |
CN100399463C (zh) * | 2002-09-24 | 2008-07-02 | 联发科技股份有限公司 | 数字激光视盘机的检错码检查装置与检查方法 |
US7162679B2 (en) * | 2003-12-12 | 2007-01-09 | Analog Devices, Inc. | Methods and apparatus for coding and decoding data using Reed-Solomon codes |
US7426676B2 (en) * | 2004-01-14 | 2008-09-16 | Broadcom Corporation | Data retrieval from a storage device using a combined error correction and detection approach |
US7228490B2 (en) * | 2004-02-19 | 2007-06-05 | Quantum Corporation | Error correction decoder using cells with partial syndrome generation |
TWI292866B (en) * | 2005-09-09 | 2008-01-21 | Via Tech Inc | Method for calculatng an error detection code |
US8286059B1 (en) * | 2007-01-08 | 2012-10-09 | Marvell International Ltd. | Word-serial cyclic code encoder |
KR101437396B1 (ko) * | 2008-02-27 | 2014-09-05 | 삼성전자주식회사 | 레이턴시를 줄일 수 있는 에러 정정 블록을 포함하는메모리 시스템 및 그것의 에러 정정 방법 |
US8365053B2 (en) * | 2009-05-27 | 2013-01-29 | International Business Machines Corporation | Encoding and decoding data using store and exclusive or operations |
US8607129B2 (en) * | 2011-07-01 | 2013-12-10 | Intel Corporation | Efficient and scalable cyclic redundancy check circuit using Galois-field arithmetic |
US8839083B2 (en) * | 2011-10-25 | 2014-09-16 | Taejin Info Tech Co., Ltd. | Secure error detection and synchronous data tagging for high-speed data transfer |
TWI742371B (zh) * | 2019-05-13 | 2021-10-11 | 義守大學 | 應用單項跡之錯誤更正方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4413339A (en) * | 1981-06-24 | 1983-11-01 | Digital Equipment Corporation | Multiple error detecting and correcting system employing Reed-Solomon codes |
US4856003A (en) * | 1987-05-07 | 1989-08-08 | Digital Equipment Corporation | Error correction code encoder |
-
1997
- 1997-01-23 US US08/786,894 patent/US5948117A/en not_active Expired - Lifetime
-
1998
- 1998-01-23 WO PCT/US1998/001356 patent/WO1998035451A1/en not_active Application Discontinuation
- 1998-01-23 EP EP98902705A patent/EP0906665A4/en not_active Withdrawn
- 1998-01-23 JP JP53474898A patent/JP3989558B2/ja not_active Expired - Fee Related
- 1998-01-23 AU AU59299/98A patent/AU5929998A/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US5948117A (en) | 1999-09-07 |
WO1998035451A1 (en) | 1998-08-13 |
EP0906665A4 (en) | 2000-11-15 |
AU5929998A (en) | 1998-08-26 |
EP0906665A1 (en) | 1999-04-07 |
JP2000507434A (ja) | 2000-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3989558B2 (ja) | GF(2▲上w+i▼)のシンボルの(w+i+1)ビット表現を用いる変形リードソロモンエラー訂正システム | |
KR930008683B1 (ko) | 리드-솔로몬 에러 보정 코드 엔코더 | |
US6148430A (en) | Encoding apparatus for RAID-6 system and tape drives | |
US6615387B1 (en) | Method and apparatus for error detection | |
US5999959A (en) | Galois field multiplier | |
US4525838A (en) | Multibyte error correcting system involving a two-level code structure | |
EP0316063B1 (en) | Error correction using look-up tables | |
US7278085B1 (en) | Simple error-correction codes for data buffers | |
US5901158A (en) | Error correction encoder/decoder | |
JPS6273336A (ja) | マルチバイト・エラ−訂正方法及びシステム | |
JPH03136524A (ja) | 長バースト誤りに対する誤り検出及び訂正システム | |
KR20020047134A (ko) | 데이터를 코딩 및 디코딩하는 방법 및 장치 | |
KR19990028201A (ko) | 10 비트 리드-솔로몬 에러 정정 모듈을 위한 전용 alu구조 | |
JP2009295273A (ja) | 誤り訂正符号エンティティのための消失訂正のコンピュータ実現化方法 | |
KR19980702551A (ko) | 개량된 3, 4개 에러 보정 시스템 | |
US5822336A (en) | Modified reed solomon code selection and encoding system | |
US5107506A (en) | Error trapping decoding method and apparatus | |
KR19990087035A (ko) | 향상된다중버스트정정시스템 | |
US5889794A (en) | Two-level error correction encoder | |
JPH10503355A (ja) | 可変ブロック長でデータを符号化するための方法および装置 | |
JPH0220124A (ja) | インタリーブ式エンコーディング方法及び装置 | |
KR100192802B1 (ko) | 리드 솔로몬 디코더의 에러값 계산 및 정정 장치 | |
JPH0373902B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041102 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041102 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061017 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070116 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070305 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070412 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070718 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |