JP4619931B2 - 復号装置、記憶装置および復号方法 - Google Patents

復号装置、記憶装置および復号方法 Download PDF

Info

Publication number
JP4619931B2
JP4619931B2 JP2005337421A JP2005337421A JP4619931B2 JP 4619931 B2 JP4619931 B2 JP 4619931B2 JP 2005337421 A JP2005337421 A JP 2005337421A JP 2005337421 A JP2005337421 A JP 2005337421A JP 4619931 B2 JP4619931 B2 JP 4619931B2
Authority
JP
Japan
Prior art keywords
bit
matrix
vector
sequence
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005337421A
Other languages
English (en)
Other versions
JP2007141411A (ja
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005337421A priority Critical patent/JP4619931B2/ja
Priority to US11/523,650 priority patent/US7694209B2/en
Publication of JP2007141411A publication Critical patent/JP2007141411A/ja
Application granted granted Critical
Publication of JP4619931B2 publication Critical patent/JP4619931B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • 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/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • 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/65Purpose and implementation aspects
    • H03M13/6575Implementations based on combinatorial logic, e.g. Boolean circuits

Description

本発明は、情報記号系列とパリティ検査符号系列とを含む符号語系列を検査行列に従って復号する復号装置および記憶装置、並びに復号方法に関する。
一般に、記憶装置や通信装置においては、情報記号系列の誤りを訂正するための誤り訂正機能が利用されている。誤り訂正機能の多くは、パリティ検査符号系列を用いている。
特許文献1には、パリティビット群を含むデータフィールド内のエラーを訂正するエラー訂正回路が開示されている。
通常、情報記号系列に対応するパリティ検査符号系列(またはパリティビット群と云う)は、生成行列に従って生成される。また、情報記号系列と生成されたパリティ検査符号系列とを含む符号語系列の復号は、生成行列に対応する検査行列にしたがって実行される。符号語系列の復号処理においては、符号語系列のシンドロームが検査行列にしたがって算出される。そして、この算出されたシンドロームは、情報記号系列内のエラー位置を示すエラーアドレスに変換される。
特許第2539343号公報
算出されたシンドロームをエラーアドレスに変換する処理は組み合わせ回路を用いて実行することができる。しかし、情報記号系列のデータ長(ビット数)が大きい場合には、変換処理に必要な組み合わせ回路の回路規模は非常に大きくなる。
このため、データ長の長い情報記号系列を扱う復号装置においては、変換処理を組み合わせ回路によって行うことは現実的ではない。よって、復号装置の回路規模の低減を図るためには、シンドロームから容易にエラーアドレスを決定するための新たな機能が必要となる。
本発明は上述の事情を考慮してなされたものであり、シンドロームから容易にエラーアドレスを決定することが可能な復号装置、記憶装置および復号方法を提供することを目的とする。
上述の課題を解決するため、本発明は、kビットの情報記号系列と、1ビット訂正可能なハミング符号から構成されるmビットのパリティ検査符号系列とを含むk+mビットの符号語系列を、検査行列に従って復号する復号装置において、前記mビットのパリティ検査符号系列は前記検査行列に対応する生成行列に従って生成されており、前記検査行列は単位行列と係数行列とを含み、前記係数行列内の2番目のベクトル乃至最後のベクトルそれぞれの最上位ビットは1であり、前記2番目のベクトル乃至前記最後のベクトルから構成される行列の内、前記2番目のベクトル乃至前記最後のベクトルそれぞれの最上位ビットを除いた残りの行列には、値が1からk−1までのバイナリコード群が前記2番目のベクトルから前記最後のベクトルに向けて順番に配置され、前記係数行列の先頭のベクトルは、前記検査行列内の他の各ベクトルと重複せず且つ最上位ビットが零である所定のビットパターンから構成され、且つ前記kおよび前記mは、k+m≦2−1、およびk≦2(m−1)の制約条件を満たす整数であり、前記k+mビットの符号語系列に対応するmビットのシンドロームを前記検査行列に従って算出するように構成されたシンドローム算出部と、前記算出されたmビットのシンドロームの最上位ビットが1で、且つ前記算出されたmビットのシンドロームが前記単位行列内の各ベクトルと重複しない場合、前記算出されたmビットのシンドロームに含まれる下位m−1ビットのデータフィールドを、エラーが発生している、前記kビットの情報記号系列中のビット位置を示すエラーアドレスとして出力し、前記算出されたmビットのシンドロームが前記所定のビットパターンである場合、零を前記エラーアドレスとして出力するように構成されたエラーアドレス出力部とを具備することを特徴とする。
本発明によれば、シンドロームから容易にエラーアドレスを決定することが可能となる。
以下、図面を参照して、本発明の実施形態を説明する。
図1には、本発明の一実施形態に係る復号装置を用いたシステムの構成例が示されている。このシステムは、例えば、ハードディスクドライブのような記憶装置内に設けられる、符号化および復号回路として実現されている。この符号化および復号回路は、1ビット訂正可能なハミング符号を用いて符号化および復号処理を実行する。
情報記号系列の長さ(ビット数)をkビットとし、kビットの情報記号系列に付加するパリティ検査符号系列の長さ(ビット数)をmとすると、一般には、次の制約を満たすことが必要となる。
(1) k+m ≦ 2−1
ここで、k,mは整数である。
本実施形態では、シンドロームからエラーへアドレスへの変換処理を簡単化するために、(1)式の制約条件に加え、さらに、
(2) k≦2(m−1)
の制約条件が追加されている。
ここで、(1)式および(2)式を満たすk,mの例について考える。
例えば、情報記号系列のビット数kがハードディスクドライブの1セクタのビット数(4096ビット)である場合、つまりk=4096である場合を想定する。この場合、(1)式および(2)式を満たす、パリティ検査符号系列のビット数mは、例えば、13ビットとなる。
以下では、説明を簡単にするために、情報記号系列のビット数kが8ビット、パリティ検査符号系列のビット数mが4ビットである場合を想定する。k=8、m=4は、(1)式および(2)式の双方の制約条件を満たす整数である。
ホスト装置から送信されるデータを記憶メディア12に書き込み処理においては、ホスト装置からライトデータとして送信される8ビットの情報記号系列C0,C1,C2,C3,C4,C5,C6,C7は、まず、符号化器11に入力される。
符号化器11は、8ビットの情報記号系列C0,C1,C2,C3,C4,C5,C6,C7を符号化して、8ビットの情報記号系列C0,C1,C2,C3,C4,C5,C6,C7と4ビットのパリティ検査符号系列P0,P1,P2,P3とを含む12ビットの符号語系列C0,C1,C2,C3,C4,C5,C6,C7,P0,P1,P2,P3を生成する。パリティ検査符号系列P0,P1,P2,P3は、1ビット訂正可能なハミング符号から構成されている。符号化処理は、図2で後述する検査行列に対応した生成行列に従って実行される。12ビットの符号語系列C0,C1,C2,C3,C4,C5,C6,C7,P0,P1,P2,P3は記憶メディア12に格納される。
記憶メディア12に格納されたデータをホストに読み出す処理においては、記憶メディア12に格納された12ビットの符号語系列C0,C1,C2,C3,C4,C5,C6,C7,P0,P1,P2,P3は記憶メディア12から読み出され、復号器13に入力される。
復号器13は12ビットの符号語系列C0,C1,C2,C3,C4,C5,C6,C7,P0,P1,P2,P3を図2で後述する検査行列に従って復号して、8ビットの情報記号系列C0,C1,C2,C3,C4,C5,C6,C7内でエラーが発生しているビット位置(エラー発生位置)を示すエラーアドレスを生成する。
エラー訂正回路14は、エラーアドレスに従って、記憶メディア12から読み出された12ビットの符号語系列C0,C1,C2,C3,C4,C5,C6,C7,P0,P1,P2,P3内の8ビットの情報記号系列C0,C1,C2,C3,C4,C5,C6,C7のエラーを訂正する。具体的には、エラー訂正回路14は、例えば、エラーアドレスによって指定される、8ビットの情報記号系列C0,C1,C2,C3,C4,C5,C6,C7内の特定のビット位置の論理値を反転する。
次に、図2を参照して、本実施形態で用いられる検査行列の例を説明する。
図2は、転置された検査行列の例が示されている。
この転置された検査行列は、m×m(=4×4)の単位行列と、m×k(=4×8)の係数行列とから構成されている。
k,mは、
(1) k+m≦2−1、および
(2) k≦2(m−1)
の制約条件を満たす整数である。
係数行列内の2番目のベクトル乃至最後のベクトルそれぞれの最上位ビットは1であり、2番目のベクトル乃至最後のベクトルから構成される行列の内、2番目のベクトル乃至最後のベクトルそれぞれの最上位ビットを除いた残りの行列には、値が1からk−1までのバイナリコード群が2番目のベクトルから最後のベクトルに向けて順番に配置されている。係数行列の先頭のベクトルは、他の各ベクトルと重複せず且つ最上位ビットが零である所定のビットパターンから構成されている。
すなわち、図2に示されているように、m×kの係数行列内の2番目の行ベクトルからk番目(=8番目)の行ベクトルまでのk−1個(=7個)の行ベクトルそれぞれの最上位ビットは1に設定されている。これらk−1個(=7個)の行ベクトルから各行ベクトルの最上位ビットを除いた残りの(m−1)×(k−1)の行列、つまり3×7の行列には、それぞれの値が1からk−1(=7)までのバイナリコード群(001,010,011,100,101,110,111)が2番目の行ベクトルからk番目(=7番目)の行ベクトルに向けて順番に配置されている。m×kの係数行列の先頭の行ベクトルは、転置された検査行列内の他のどの行ベクトルとも重複せず且つ最上位ビットが零である所定のビットパターン(例えば0111)から構成されている。
このような構成の検査行列を用いることにより、基本的には、シンドロームの値そのものをエラーアドレスとして使用することが可能となる。
図3には、図1の復号器13の構成例が示されている。
図3に示されているように、復号器13は、シンドローム算出部131、“S0=1”検出部132、“1000”検出部133、“0111”検出部134、およびエラーアドレス出力部135から構成されている。
シンドローム算出部131は、12ビットの符号語系列C0,C1,C2,C3,C4,C5,C6,C7,P0,P1,P2,P3に対応する4ビットのシンドロームS0,S1,S2,S3を図2の転置された検査行列に従って算出するように構成されている。
“S0=1”検出部132は、算出された4ビットのシンドロームS0,S1,S2,S3の最上位ビットS0が“1”であることを検出する。“1000”検出部133は、算出された4ビットのシンドロームS0,S1,S2,S3のビットパターンが“1000”であることを検出する。“0111”検出部134は、算出された4ビットのシンドロームS0,S1,S2,S3のビットパターンが“0111”であることを検出する。
エラーアドレス出力部135は、算出された4ビットのシンドロームS0,S1,S2,S3の最上位ビットS0が“1”で、且つ算出された4ビットのシンドロームS0,S1,S2,S3のビットパターンが単位行列内の各行ベクトルと重複しないビットパターンである場合、つまり、S0が“1”で、且つ4ビットのシンドロームS0,S1,S2,S3のビットパターンが“1000”ではない場合、算出された4ビットのシンドロームS0,S1,S2,S3の下位3ビットのデータフィールドS1,S2,S3をそのまま3ビットのエラーアドレスe0,e1,e2として出力する。
また、エラーアドレス出力部135は、算出された4ビットのシンドロームS0,S1,S2,S3のビットパターンが“0111”である場合、零をエラーアドレスとして出力、つまり0,0,0をe0,e1,e2として出力する。
ここで、エラーアドレスとシンドロームとの関係を説明する。
図2の転置された検査行列を用いて復号処理を実行した場合においては、エラー発生位置とシンドロームとの関係は、次の通りである。
(1) アドレス0つまりC0にエラーが発生した場合、(S0 S1 S2 S3) = (0 1 1 1)
(2) アドレス1つまりC1にエラーが発生した場合、(S0 S1 S2 S3) = (1 0 0 1)
(3) アドレス2つまりC2にエラーが発生した場合、(S0 S1 S2 S3) = (1 0 1 0)
(4) アドレス3つまりC3にエラーが発生した場合、(S0 S1 S2 S3) = (1 0 1 1)
(5) アドレス4つまりC4にエラーが発生した場合、(S0 S1 S2 S3) = (1 1 0 0)
(6) アドレス5つまりC5にエラーが発生した場合、(S0 S1 S2 S3) = (1 1 0 1)
(7) アドレス6つまりC6にエラーが発生した場合、(S0 S1 S2 S3) = (1 1 1 0)
(8) アドレス7つまりC7にエラーが発生した場合、(S0 S1 S2 S3) = (1 1 1 1)
(9) パリティP0にエラーが発生した場合、(S0 S1 S2 S3) = (1 0 0 0)
(10) パリティP1にエラーが発生した場合、(S0 S1 S2 S3) = (0 1 0 0)
(11) パリティP2にエラーが発生した場合、(S0 S1 S2 S3) = (0 0 1 0)
(12) パリティP3にエラーが発生した場合、(S0 S1 S2 S3) = (0 0 0 1)
このうち、エラー訂正が必要なのは(1)〜(8)だけである。従って、S0が“1”で、且つシンドロームS0,S1,S2,S3が“1000”でない場合には、S1,S2,S3をそのままエラーアドレスe0,e1,e2として使用することができる。また、シンドロームS0,S1,S2,S3が“0111”である場合には、エラーアドレスがアドレス0を示すように、0,0,0をe0,e1,e2として出力すればよい。
このように、図2の検査行列(転置)を用いることにより、シンドロームから容易にエラーアドレスを決定することが可能となる。
なお、図2は、転置された検査行列の構成例を示したが、転置していない標準形式の検査行列を用いて符号化および復号化処理を実行することもできる。
図4は、図2の転置された検査行列に対応する、標準形式の検査行列を示している。
図2の転置された検査行列を転置したものが、図4の検査行列である。図4の検査行列は、m×m(=4×4)の単位行列と、k×m(=8×4)の係数行列とから構成されている。
k×mの係数行列内の2番目の列ベクトルからk番目(=8番目)の列ベクトルまでのk−1個(=7個)の列ベクトルそれぞれの最上位ビット(1行目のビット)は1である。これらk−1個(=7個)の列ベクトルから各列ベクトルの最上位ビットを除いた残りの(k−1)×(m−1)の行列、つまり7×3の行列には、それぞれの値が1からk−1(=7)までのバイナリコード群(001,010,011,100,101,110,111)が2番目の列ベクトルからk番目(=7番目)の列ベクトルに向けて順番に配置されている。
k×mの係数行列の先頭(1列目)の列ベクトルは、検査行列内の他のどの列ベクトルとも重複せず且つ最上位ビットが零である所定のビットパターン(例えば0111)から構成されている。
図4の検査行列は図2の転置された検査行列と等価であるので、図4の検査行列を用いた場合でも、図2の転置された検査行列を用いた場合と同じ効果を得ることが可能となる。
次に、本実施形態の特徴を明確にするために、図5乃至図10を参照して、通常の検査行列を用いた、通常の符号化および復号回路について説明する。
図5には、m=4、k=8の場合における通常の検査行列の転置行列の構成例が示されている。
通常の検査行列は、4×4の単位行列と、4×8の係数行列とから構成されている。4×8の係数行列においては、0000を除く、任意のビットパターンの4ビットの行ベクトル群が配置されている。この場合、制約条件は、検査行列内の全ての行ベクトルが互いに異なるという条件のみである。
情報記号系列をC0,C1,C2,C3,C4,C5,C6,C7とし、求めるべきパリティ検査符号系列をP0,P1,P2,P3とすると、P0,P1,P2,P3は、図6に示す演算によって算出される。
つまり、P0,P1,P2,P3は、以下の式で与えられる。
P0 = C0 + C1 + C3 + C5 + C6 + C7
P1 = C0 + C2 + C3 + C4 + C5
P2 = C1 + C3 + C4 + C5 + C6
P3 = C0 + C2 + C4 + C5 + C6 + C7
したがって、P0,P1,P2,P3を算出するための符号化器は図7に示す組み合わせ回路によって実現することができる。
P0は、C0,C1,C3,C5,C6,C7を加算する6入力EXOR(排他的論理和)回路20によって算出される。P1は、C0,C2,C3,C4,C5を加算する5入力EXOR回路21によって算出される。P2は、C1,C3,C4,C5,C6を加算する5入力EXOR回路22によって算出される。P3は、C0,C2,C4,C5,C6,C7を加算する6入力EXOR回路23によって算出される。
符号語系列C0,C1,C2,C3,C4,C5,C6,C7,P0,P1,P2,P3のシンドロームS0,S1,S2,S3は、図8の演算によって算出される。
したがって、復号部は、図9のように構成することができる。
EXOR回路31は、図7で説明した6入力EXOR回路20の出力値と、P0とを加算してS0を算出する。EXOR回路32は、図7の5入力EXOR回路21の出力値と、P1とを加算してS1を算出する。EXOR回路33は、図7の5入力EXOR回路22の出力値と、P2とを加算してS2を算出する。EXOR回路34は、図7の6入力EXOR回路23の出力値と、P3とを加算してS3を算出する。
シンドローム→エラーアドレス変換回路35は、シンドロームS0,S1,S2,S3をエラーアドレスに変換する。このシンドローム→エラーアドレス変換回路35は、図10の変換テーブルに示す変換処理を実行する。
すなわち、例えば、S0,S1,S2,S3が“1101”の場合においては、“1101”は図5の転置された検査行列の1行目に存在するので、“1101”を、符号語系列の1ビット目のビットCOにエラーが発生していることを示すエラーアドレス0に変換することが必要となる。同様に、S0,S1,S2,S3が“1010”の場合においては、“1010”は図5の転置された検査行列の2行目に存在するので、“1010”を、符号語系列の2ビット目のビットC1にエラーが発生していることを示すエラーアドレス1に変換することが必要となる。
情報記号系列のビット数が増えると、シンドロームをエラーアドレスに変換するための組み合わせ回路の回路規模は非常に膨大となる。
図11に示されているように、本実施形態で用いられる検査行列(転置)においては、係数行列の2番目のベクトル乃至最後のベクトルに1から7までのバイナリコード群が順番に配置されているので、算出されたシンドロームS0,S1,S2,S3が“0111”の場合以外は、算出されたシンドロームS0,S1,S2,S3の下位3ビットS1,S2,S3をそのままエラーアドレスとして使用することができる。
本実施形態においては、P0,P1,P2,P3は、図12の演算によって算出される。図2の右辺の4×8の行列は生成行列であり、図2の転置された検査行列内の係数行列に一致している。
図13は、本実施形態で用いられる符号化器11の回路構成の例を示している。この符号化器11は、8ビットの情報記号系列C0,C1,C2,C3,C4,C5,C6,C7を2のべき乗ビットのデータフィールド単位(例えば4ビット単位)で繰り返し入力し、入力されたデータフィールド毎に当該データフィールドと図2の転置された検査行列内の係数行列との間の行列演算処理を実行することにより、4ビットのパリティ検査符号系列P0,P1,P2,P3を生成する。
すなわち、符号化器11においては、1クロック当たり4ビットのデータを処理することができる。以下では、1クロック当たりに入力される4ビットのデータをD0,D1,D2,D3と表記することとする。1クロック目に処理される4ビットのデータD0,D1,D2,D3はC0,C1,C2,C3に対応し、2クロック目に処理される4ビットのデータD0,D1,D2,D3はC4,C5,C6,C7に対応する。
符号化器11は、1ビットカウンタ101、ANDゲート102、4入力EXOR回路103、4入力EXOR回路104、4入力EXOR回路105、3入力EXOR回路106、4入力EXOR回路107、および4つのDフリップフロップ108〜111から構成されている。
1ビットカウンタ101は、1クロック目で0を出力し、2クロック目で1を出力する。4入力EXOR回路103およびDフリップフロップ108は、情報記号系列C0,C1,C2,C3,C4,C5,C6,C7と列ベクトル1,1,0,1,0,1,0,1との間の行列演算を実行してP3を算出するための回路である。図14に示すように、4入力EXOR回路103は、1クロック目では、列ベクトル1,1,0,1に従ってD0+D1+D3の演算を実行し、その演算結果をDフリップフロップ108に格納する。2クロック目では、4入力EXOR回路103は、列ベクトル0,1,0,1に従ってD1+D3の演算を実行すると共に、その演算結果(D1+D3)とDフリップフロップ108の出力(=D0+D1+D3)とを加算する。これにより、C0+C1+C3+C5+C7がP3として算出される。
4入力EXOR回路104およびDフリップフロップ109は、情報記号系列C0,C1,C2,C3,C4,C5,C6,C7と列ベクトル1,0,1,1,0,0,1,1との間の行列演算を実行してP2を算出するための回路である。図14に示すように、4入力EXOR回路104は、1クロック目では、列ベクトル1,0,1,1に従ってD0+D2+D3の演算を実行し、その演算結果をDフリップフロップ109に格納する。2クロック目では、4入力EXOR回路104は、列ベクトル0,0,1,1に従ってD2+D3の演算を実行すると共に、その演算結果(D2+D3)とDフリップフロップ109の出力(=D0+D2+D3)とを加算する。これにより、C0+C2+C3+C6+C7がP2として算出される。
4入力EXOR回路105およびDフリップフロップ110は、情報記号系列C0,C1,C2,C3,C4,C5,C6,C7と列ベクトル1,0,0,1,1,1,1との間の行列演算を実行してP1を算出するための回路である。図14に示すように、4入力EXOR回路105は、1クロック目では、列ベクトル1,0,0,0に従ってD0をDフリップフロップ109に格納する。2クロック目では、4入力EXOR回路105は、列ベクトル1,1,1,1に従って4入力EXOR回路107の出力(=D0+D1+D2+D3)を入力し、そして4入力EXOR回路107の出力(=D0+D1+D2+D3)とDフリップフロップ110の出力(=D0)とを加算する。これにより、C0+C4+C5+C6+C7がP1として算出される。
3入力EXOR回路106およびDフリップフロップ111は、情報記号系列C0,C1,C2,C3,C4,C5,C6,C7と列ベクトル0,1,1,1,1,1,1,1との間の行列演算を実行してP0を算出するための回路である。図14に示すように、3入力EXOR回路106は、1クロック目では、列ベクトル0,1,1,1に従って、4入力EXOR回路107の出力(=D0+D1+D2+D3)とD0との排他的論理和演算によってD1+D2+D3を算出し、その算出したD1+D2+D3をDフリップフロップ111に格納する。2クロック目では、3入力EXOR回路106は、列ベクトル1,1,1,1に従って4入力EXOR回路107の出力(=D0+D1+D2+D3)を入力し、そして4入力EXOR回路107の出力(=D0+D1+D2+D3)とDフリップフロップ111の出力(=D0+D1+D2+D3)とを加算する。これにより、C1+C2+C3+C4+C5+C6+C7がP0として算出される。
図15には、情報記号系列C0,C1,C2,C3,C4,C5,C6,C7=“10110010”の場合に対応する図14の符号化器11の符号化処理の過程が示されている。
初期状態においては、符号化器11の出力P0,P1,P2,P3は“0000”である。1クロック目では、“1011”がD1,D2,D3,D4として符号化器11に入力され、符号化器11の出力P0,P1,P2,P3は“0110”となる。2クロック目では、“0010”がD1,D2,D3,D4として符号化器11に入力され、符号化器11の出力P0,P1,P2,P3は“1000”となる。
図16は、復号器13の構成例を示している。
図16に示すように、復号器13は、符号化器11を用いて実現されている。すなわち、復号器13は、符号化器11と、4つの2入力EXOR回路121〜124と、3つの2入力ANDゲート31〜33と、“0111”検出回路134とから構成されている。
2入力EXOR回路121は、2クロック目のDフリップフロップ108の出力値と、符号語系列C0,C1,C2,C3,C4,C5,C6,C7,P0,P1,P2,P3内のP3とを加算してS3を算出する。
2入力EXOR回路122は、2クロック目のDフリップフロップ109の出力値と、符号語系列C0,C1,C2,C3,C4,C5,C6,C7,P0,P1,P2,P3内のP2とを加算してS2を算出する。
2入力EXOR回路123は、2クロック目のDフリップフロップ110の出力値と、符号語系列C0,C1,C2,C3,C4,C5,C6,C7,P0,P1,P2,P3内のP1とを加算してS1を算出する。
2入力EXOR回路124は、2クロック目のDフリップフロップ111の出力値と、符号語系列C0,C1,C2,C3,C4,C5,C6,C7,P0,P1,P2,P3内のP0とを加算してS0を算出する。
“0111”検出回路134は、算出されたシンドロームS0,S1,S2,S3が“0111”である時は1を出力し、それ以外の場合は0を出力する。“0111”検出回路134の出力が0ならば、S1,S2,S3がそのままe0,e1,e2として出力される。一方、“0111”検出回路134の出力が1ならば、S1,S2,S3それぞれを反転した値がe0,e1,e2として出力される。S0は、後述の2つのエラーフラグ#1,#2を生成するために使用される。エラーフラグ#1,#2を用いることにより、e0,e1,e2をエラーアドレスとして正しく使用することが可能となる。
図17には、復号器13内に設けられるエラーフラグ#1出力回路の例が示されている。この回路は、3つの2つの2入力OR回路201、202と、2入力NOR回路203とから構成されている。S0,S1,S2,S3が“0000”の時、1のエラーフラグ#1が出力される。1のエラーフラグ#1は、エラーが発生していないことを示す。
図18には、復号器13内に設けられるエラーフラグ#2出力回路の例が示されている。この回路は、訂正可能なエラーを検出した時に1のエラーフラグ#2を発生する。この回路は、 “0111”検出回路301、“1000”検出回路302、および2つの2入力EXOR回路303,304から構成されている。“0111”検出回路301はS0,S1,S2,S3が“0111”の時、1を出力する。“1000”検出回路302は、S0,S1,S2,S3が“1000”の時、1を出力する。
1ビットのエラーが発生する状況は、以下のケースに分けられる。
(1) アドレス0にエラーが発生した場合、(S0 S1 S2 S3) = (0 1 1 1)
(2) アドレス1にエラーが発生した場合、(S0 S1 S2 S3) = (1 0 0 1)
(3) アドレス2にエラーが発生した場合、(S0 S1 S2 S3) = (1 0 1 0)
(4) アドレス3にエラーが発生した場合、(S0 S1 S2 S3) = (1 0 1 1)
(5) アドレス4にエラーが発生した場合、(S0 S1 S2 S3) = (1 1 0 0)
(6) アドレス5にエラーが発生した場合、(S0 S1 S2 S3) = (1 1 0 1)
(7) アドレス6にエラーが発生した場合、(S0 S1 S2 S3) = (1 1 1 0)
(8) アドレス7にエラーが発生した場合、(S0 S1 S2 S3) = (1 1 1 1)
(9) パリティ0にエラーが発生した場合、(S0 S1 S2 S3) = (1 0 0 0)
(10) パリティ1にエラーが発生した場合、(S0 S1 S2 S3) = (0 1 0 0)
(11) パリティ2にエラーが発生した場合、(S0 S1 S2 S3) = (0 0 1 0)
(12) パリティ3にエラーが発生した場合、(S0 S1 S2 S3) = (0 0 0 1)
これらの内、エラー訂正が必要なのは(1)〜(8)だけである。従って、(1)〜(8)が発生したときのみ、このエラーフラグ#2を1にすればよい。
(2)〜(9)の場合にS0出力が1になるので、このS0出力に対して、(1)を付け足して、(9)を差し引くことにより、エラーフラグ#2を生成することができる。S0出力に対して、(1)を付け足して、(9)を差し引く演算は、“0111”検出回路301の出力と “1000”検出回路302の出力との排他的論理和によって実現されている。
図19は、復号処理の手順を示している。上述したように、シンドロームS0,S1,S2,S3は、符号化器11の演算結果にP0,P1,P2,P3を加算することによって算出される。エラーが発生していないならば、エラーフラグ#1は1となる。1ビットエラーが発生しているならば、エラーフラグ#1は0、エラーフラグ#2は1となる。訂正不能なエラーが発生しているならば、エラーフラグ#1は0、エラーフラグ#2は0となる。
図20には、情報記号系列C0,C1,C2,C3,C4,C5,C6,C7=“10110010”で、2ビット目にエラーが発生している場合に対応する復号器13の復号処理の過程が示されている。
初期状態においては、S0,S1,S2,S3は“0000”である。1クロック目では、“1111”がD1,D2,D3,D4として復号器13に入力され、S0,S1,S2,S3は“1111”となる。2クロック目では、“0010”がD1,D2,D3,D4として復号器13に入力され、S0,S1,S2,S3は“0001”となる。そして、S0,S1,S2,S3にP0,P1,P2,P3が加算され、S0,S1,S2,S3の最終結果は“1001”となる。この場合、S0が1で、且つS0,S1,S2,S3は“1000”ではないので、S1,S2,S3が訂正可能なエラーが発生している位置を直接的に示す。
すなわち、S0,S1,S2,S3=“1001”の場合には、エラーフラグ#1=0、エラーフラグ#2=1となり、1ビットエラーの発生が検出される。エラーアドレスは“001”となる。
図21には、情報記号系列のビット数kがハードディスクドライブの1セクタのビット数(4096ビット)であり、パリティ検査符号系列のビット数mが13ビットである場合に対応する検査行列の転置行列の例が示されている。
従来では、13ビットのシンドロームを12ビットのエラーアドレスに変換するための専用の回路が必要とされたが、本実施形態では、13ビットのシンドロームの下位12ビットをエラーアドレスとして使用することができる。よって、符号化および復号回路の回路規模の低減を図ることが可能となる。
図22には、本実施形態の符号化および復号回路が適用された記憶装置の構成例が示されている。
この記憶装置1はホスト装置2として機能する電子機器にストレージデバイスとして内蔵される装置であり、記憶メディアであるディスク媒体110にデータを磁気的に記録する磁気ディスクドライブ装置(ハードディスクドライブ:HDD)として実現されている。
この記憶装置1は、ディスク媒体110、ヘッド120、スピンドルモータ(SPM)130、アクチュエータ140、ボイスコイルモータ(VCM)150、モータドライバIC160、リード/ライト回路170、ハードディスクコントローラ(HDC)180、マイクロプロセッサユニット(MPU)190、バッファ200、メモリ210、インターフェース回路220、およびランプ機構23を備えている。
ディスク媒体110はデータを磁気的に記録する記憶媒体である。ヘッド120は磁気ヘッドであり、ディスク媒体110へのデータの書き込みおよびディスク媒体110からのデータの読み出しを行う。このヘッド120は、リード動作を実行するためのリードヘッドとライト動作を実行するライトヘッドとを備えている。ヘッド120は、アクチュエータ140の先端部に搭載されている。
ディスク媒体110はスピンドルモータ(SPM)130に固定されている。スピンドルモータ(SPM)130はディスク媒体110を回転させるためのモータである。アクチュエータ140は、ボイスコイルモータ(VCM)150によって駆動され、ヘッド120をディスク媒体110の半径方向に移動する。このアクチュエータ140は、軸141に対して旋回可能に支持されたヘッドアームから構成されている。
モータドライバIC160は、ボイスコイルモータ(VCM)150を駆動するVCMドライバ161およびスピンドルモータ(SPM)130を駆動するSPMドライバ162を備えている。これらVCMドライバ161およびSPMドライバ162はMPU190によって制御される。
リード/ライト回路170は、プリアンプ回路、およびリード/ライトチャネルから構成されている。プリアンプ回路は、リードヘッド120から出力されるリード信号を増幅するリードアンプ、及びライトアンプを有する。ライトアンプは、リード/ライトチャネルから出力されるライトデータ信号をライト電流信号に変換して、ライトヘッドに送出する。
HDC180は、MPU190の制御の下、リード/ライト回路170を用いてリード/ライト制御処理を実行する。このHDC180は、符号化部181と、復号およびエラー訂正部182を備えている。符号化部181は図1の符号化器11に相当し、復号およびエラー訂正部182は、図1の復号器13およびエラー訂正回路14に相当する。符号化部181、および復号およびエラー訂正部182は、記憶媒体としてのバッファ200へのデータの書き込み/読み出し時に発生するエラーを検出および訂正するために使用される。
すなわち、符号化部181は、ホスト装置2からのライトデータを符号化して、パリティ検査符号系列を生成する。このパリティ検査符号系列が付加されたライトデータはHDC180内の書き込み部によってバッファ200に一旦書き込まれる。そして、ライトデータをディスク媒体110に書き込む時には、パリティ検査符号系列が付加されたライトデータはHDC180内の読み出し部によってバッファ200から読み出され、復号およびエラー訂正部182に送られる。復号およびエラー訂正部182は、パリティ検査符号系列が付加されたデータを復号してシンドロームを生成し、そして生成されたシンドロームから得られるエラーアドレスに従ってエラー訂正処理を実行する。エラー訂正された後のライトデータはリード/ライト回路170によってディスク媒体110に書き込まれる。
MPU190は記憶装置1の動作を制御する制御部であり、メモリ210に格納されたプログラムを実行する。メモリ210には、MPU190によって実行されるプログラムが格納されている。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
本発明の一実施形態に係る復号装置を用いたシステムの構成例を示すブロック図。 図1のシステムに設けられる符号化器および復号器によってそれぞれ用いられる検査行列(転置)の例を示す図。 図1のシステムに設けられる復号器の構成例を示すブロック図。 図1のシステムに設けられる符号化器および復号器によってそれぞれ用いられる検査行列(標準系)の例を示す図。 通常の検査行列の例を示す図。 パリティビット列を生成するための演算を説明するための図。 通常の符号化器の構成を示す回路図。 シンドロームを生成するための演算を説明するための図。 通常の復号器の構成を示す回路図。 シンドロームをエラーアドレスに変換する処理を説明するための図。 図1のシステムで用いられる検査行列とエラーアドレスとの関係を説明するための図。 シンドロームを生成するための演算を説明するための図。 図1のシステムに設けられる符号化器の構成の例を示す回路図。 図13の符号化器の動作を説明するための図。 図13の符号化器によって実行される符号化処理の内容の具体例を説明するための図。 図1のシステムに設けられる復号器の構成の例を示す回路図。 図16の復号器に設けられるエラーフラグ#1出力回路の例を示す図。 図16の復号器に設けられるエラーフラグ#2出力回路の例を示す図。 図16の復号器によって実行される復号処理の手順の例を示す図。 図16の復号器によって実行される復号処理の内容の具体例を説明するための図。 図1のシステムで用いられる検査行列の他の例を示す図。 図1のシステムが適用される記憶装置の構成の例を示す図。
符号の説明
11…符号化器、13…復号器、14…エラー訂正回路、131…シンドローム算出部、132…“S0=1”、133…“1000”検出部、134…“0111”検出部、135…エラーアドレス出力部。

Claims (11)

  1. kビットの情報記号系列と、1ビット訂正可能なハミング符号から構成されるmビットのパリティ検査符号系列とを含むk+mビットの符号語系列を、検査行列に従って復号する復号装置において、
    前記mビットのパリティ検査符号系列は前記検査行列に対応する生成行列に従って生成されており、
    前記検査行列は単位行列と係数行列とを含み、前記係数行列内の2番目のベクトル乃至最後のベクトルそれぞれの最上位ビットは1であり、前記2番目のベクトル乃至前記最後のベクトルから構成される行列の内、前記2番目のベクトル乃至前記最後のベクトルそれぞれの最上位ビットを除いた残りの行列には、値が1からk−1までのバイナリコード群が前記2番目のベクトルから前記最後のベクトルに向けて順番に配置され、前記係数行列の先頭のベクトルは、前記検査行列内の他の各ベクトルと重複せず且つ最上位ビットが零である所定のビットパターンから構成され、且つ前記kおよび前記mは、k+m≦2−1、およびk≦2(m−1)の制約条件を満たす整数であり、
    前記k+mビットの符号語系列に対応するmビットのシンドロームを前記検査行列に従って算出するように構成されたシンドローム算出部と、
    前記算出されたmビットのシンドロームの最上位ビットが1で、且つ前記算出されたmビットのシンドロームが前記単位行列内の各ベクトルと重複しない場合、前記算出されたmビットのシンドロームに含まれる下位m−1ビットのデータフィールドを、エラーが発生している、前記kビットの情報記号系列中のビット位置を示すエラーアドレスとして出力し、前記算出されたmビットのシンドロームが前記所定のビットパターンである場合、零を前記エラーアドレスとして出力するように構成されたエラーアドレス出力部とを具備することを特徴とする復号装置。
  2. 前記エラーアドレス出力部から出力されるエラーアドレスにしたがって、前記kビットの情報記号系列のエラーを訂正するエラー訂正部とをさらに具備することを特徴とする請求項1記載の復号装置。
  3. 前記エラー訂正部は、前記エラーアドレス出力部から出力されるエラーアドレスによって指定される、前記kビットの情報記号系列のビット位置の論理値を反転することを特徴とする請求項2記載の復号装置。
  4. 前記シンドローム算出部は、前記k+mビットの符号語系列に含まれる前記kビットの情報記号系列を2のべき乗ビットのデータフィールド単位で繰り返し入力し、入力されたデータフィールド毎に当該データフィールドと前記係数行列との間の行列演算を実行して前記kビットの情報記号系列に対応する前記mビットのパリティ検査符号系列を生成する手段と、前記生成されたmビットのパリティ検査符号系列に、前記k+mビットの符号語系列に含まれる前記mビットのパリティ検査符号系列をそれぞれ加算して、前記k+mビットの符号語系列に対応するmビットのシンドロームを生成する手段とを含むことを特徴とする請求項1記載の復号装置。
  5. kビットの情報記号系列を検査行列に対応する生成行列に従って符号化して、前記kビットの情報記号系列と、1ビット訂正可能なハミング符号から構成されるmビットのパリティ検査符号系列とを含むk+mビットの符号語系列を生成するように構成された符号化部であって、前記検査行列は、単位行列と係数行列とを含み、前記係数行列内の2番目のベクトル乃至最後のベクトルそれぞれの最上位ビットは1であり、前記2番目のベクトル乃至前記最後のベクトルから構成される行列の内、前記2番目のベクトル乃至前記最後のベクトルそれぞれの最上位ビットを除いた残りの行列には、値が1からk−1までのバイナリコード群が前記2番目のベクトルから前記最後のベクトルに向けて順番に配置され、前記係数行列の先頭のベクトルは、前記検査行列内の他の各ベクトルと重複せず且つ最上位ビットが零である所定のビットパターンから構成され、且つ前記kおよび前記mは、k+m≦2−1、およびk≦2(m−1)の制約条件を満たす整数であり、
    前記生成されたk+mビットの符号語系列を記憶メディアに書き込む書き込み部と、
    前記記憶媒体に格納されている前記k+mビットの符号語系列を読み出す読み出し部と、
    前記読み出された前記k+mビットの符号語系列に対応するmビットのシンドロームを前記検査行列に従って算出するように構成されたシンドローム算出部と、
    前記算出されたmビットのシンドロームの最上位ビットが1で、且つ前記算出されたmビットのシンドロームが前記単位行列内の各ベクトルと重複しない場合、前記算出されたmビットのシンドロームに含まれる下位m−1ビットのデータフィールドを、エラーが発生している、前記kビットの情報記号系列中のビット位置を示すエラーアドレスとして出力し、前記算出されたmビットのシンドロームが前記所定のビットパターンである場合、零を前記エラーアドレスとして出力するように構成されたエラーアドレス出力部と、
    前記エラーアドレス出力部から出力されるエラーアドレスにしたがって、前記kビットの情報記号系列のエラーを訂正するエラー訂正部とを具備することを特徴とする記憶装置。
  6. 前記エラー訂正部は、前記エラーアドレス出力部から出力されるエラーアドレスによって指定される、前記kビットの情報記号系列のビット位置の論理値を反転することを特徴とする請求項5記載の記憶装置。
  7. 前記シンドローム算出部は、前記k+mビットの符号語系列に含まれる前記kビットの情報記号系列を2のべき乗ビットのデータフィールド単位で繰り返し入力し、入力されたデータフィールド毎に当該データフィールドと前記係数行列との間の行列演算を実行して前記kビットの情報記号系列に対応する前記mビットのパリティ検査符号系列を生成する手段と、前記生成されたmビットのパリティ検査符号系列に、前記k+mビットの符号語系列に含まれる前記mビットのパリティ検査符号系列をそれぞれ加算して、前記k+mビットの符号語系列に対応するmビットのシンドロームを生成する手段とを含むことを特徴とする請求項5記載の記憶装置。
  8. kビットの情報記号系列と、1ビット訂正可能なハミング符号から構成されるmビットのパリティ検査符号系列とを含むk+mビットの符号語系列を、検査行列に従って復号する復号方法であって、
    前記mビットのパリティ検査符号系列は前記検査行列に対応する生成行列に従って生成されており、前記検査行列は単位行列と係数行列とを含み、前記係数行列内の2番目のベクトル乃至最後のベクトルそれぞれの最上位ビットは1であり、前記2番目のベクトル乃至前記最後のベクトルから構成される行列の内、前記2番目のベクトル乃至前記最後のベクトルそれぞれの最上位ビットを除いた残りの行列には、値が1からk−1までのバイナリコード群が前記2番目のベクトルから前記最後のベクトルに向けて順番に配置され、前記係数行列の先頭のベクトルは、前記検査行列内の他の各ベクトルと重複せず且つ最上位ビットが零である所定のビットパターンから構成され、且つ前記kおよび前記mは、k+m≦2−1、およびk≦2(m−1)の制約条件を満たす整数であり、
    前記k+mビットの符号語系列に対応するmビットのシンドロームを前記検査行列に従って算出するシンドローム算出ステップと、
    前記算出されたmビットのシンドロームの最上位ビットが1で、且つ前記算出されたmビットのシンドロームが前記単位行列内の各ベクトルと重複しない場合、前記算出されたmビットのシンドロームに含まれる下位m−1ビットのデータフィールドを、エラーが発生している、前記kビットの情報記号系列中のビット位置を示すエラーアドレスとして出力するステップと、
    前記算出されたmビットのシンドロームが前記所定のビットパターンである場合、零を前記エラーアドレスとして出力するステップとを具備することを特徴とする復号方法。
  9. 前記出力されるエラーアドレスにしたがって、前記kビットの情報記号系列のエラーを訂正するエラー訂正ステップをさらに具備することを特徴とする請求項8記載の復号方法。
  10. 前記エラー訂正ステップは、前記出力されるエラーアドレスによって指定される、前記kビットの情報記号系列のビット位置の論理値を反転することを特徴とする請求項9記載の復号方法。
  11. 前記シンドローム算出ステップは、前記k+mビットの符号語系列に含まれる前記kビットの情報記号系列を2のべき乗ビットのデータフィールド単位で繰り返し入力し、入力されたデータフィールド毎に当該データフィールドと前記係数行列との間の行列演算を実行して前記kビットの情報記号系列に対応する前記mビットのパリティ検査符号系列を生成するステップと、前記生成されたmビットのパリティ検査符号系列に、前記k+mビットの符号語系列に含まれる前記mビットのパリティ検査符号系列をそれぞれ加算して、前記k+mビットの符号語系列に対応するmビットのシンドロームを生成するステップとを含むことを特徴とする請求項8記載の復号方法。
JP2005337421A 2005-11-22 2005-11-22 復号装置、記憶装置および復号方法 Expired - Fee Related JP4619931B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005337421A JP4619931B2 (ja) 2005-11-22 2005-11-22 復号装置、記憶装置および復号方法
US11/523,650 US7694209B2 (en) 2005-11-22 2006-09-20 Decoding device for decoding codeword

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005337421A JP4619931B2 (ja) 2005-11-22 2005-11-22 復号装置、記憶装置および復号方法

Publications (2)

Publication Number Publication Date
JP2007141411A JP2007141411A (ja) 2007-06-07
JP4619931B2 true JP4619931B2 (ja) 2011-01-26

Family

ID=38140912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005337421A Expired - Fee Related JP4619931B2 (ja) 2005-11-22 2005-11-22 復号装置、記憶装置および復号方法

Country Status (2)

Country Link
US (1) US7694209B2 (ja)
JP (1) JP4619931B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370307B2 (en) * 2009-09-01 2013-02-05 Empire Technology Development Llc Cloud data backup storage manager
DE102010035210B4 (de) * 2010-08-24 2012-08-30 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Rückgewinnung verlorener Daten und zur Korrektur korrumpierter Daten
JP4861509B1 (ja) 2010-10-29 2012-01-25 株式会社東芝 符号化・復号化装置、データ記憶装置、及び方法
JP5117593B2 (ja) * 2011-04-26 2013-01-16 株式会社東芝 符号化・復号化装置、データ記憶装置、及び方法
KR101583165B1 (ko) * 2011-08-24 2016-01-06 미쓰비시덴키 가부시키가이샤 오류 정정 복호 장치
US8694872B2 (en) * 2011-11-28 2014-04-08 Texas Instruments Incorporated Extended bidirectional hamming code for double-error correction and triple-error detection
US8839054B2 (en) * 2012-04-12 2014-09-16 International Business Machines Corporation Read only memory (ROM) with redundancy
CN104750569A (zh) * 2013-12-30 2015-07-01 深圳市中兴微电子技术有限公司 一种实现数据纠错的方法及装置
US9425952B2 (en) * 2014-03-27 2016-08-23 Samsung Israel Research Corporation Algebraic manipulation detection codes from algebraic curves

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2143659B (en) * 1983-07-19 1986-11-05 Sony Corp Methods of and apparatus for correcting errors in binary data
US4555784A (en) * 1984-03-05 1985-11-26 Ampex Corporation Parity and syndrome generation for error detection and correction in digital communication systems
US4649540A (en) 1984-12-26 1987-03-10 Thomson Components-Mostek Corp. Error-correcting circuit having a reduced syndrome word
JPS6250943A (ja) * 1985-08-30 1987-03-05 Hitachi Ltd 記憶装置
JPH0691471B2 (ja) 1985-09-10 1994-11-14 株式会社東芝 誤り訂正回路
CA1264091A (en) * 1986-01-10 1989-12-27 Yoichiro Sako Generator for error correcting code and decoder for the code
JPS63126040A (ja) * 1986-11-14 1988-05-30 Fujitsu Ltd 誤り訂正・検出の符号系構成方法
JPH07114377B2 (ja) * 1987-05-01 1995-12-06 日本電気株式会社 単一誤り訂正機構
US4833679A (en) * 1987-08-31 1989-05-23 International Business Machines Corporation Method and apparatus with improved error correction and error information availability
KR940011663B1 (ko) * 1992-07-25 1994-12-23 삼성전자 주식회사 오류정정 시스템
US6760880B1 (en) * 1998-09-10 2004-07-06 Ceva D.S.P. Ltd. Scalar product and parity check

Also Published As

Publication number Publication date
US7694209B2 (en) 2010-04-06
JP2007141411A (ja) 2007-06-07
US20070136644A1 (en) 2007-06-14

Similar Documents

Publication Publication Date Title
JP4619931B2 (ja) 復号装置、記憶装置および復号方法
US8001447B2 (en) Error correction method and apparatus for data storage device
JP4833173B2 (ja) 復号化器、符号化・復号化装置及び記録再生装置
KR100766354B1 (ko) 에러 정정 장치, 부호기, 복호기, 방법 및 정보 기억 장치
KR100976178B1 (ko) 부호화 장치, 복호화 장치, 부호화·복호화 장치 및 기록 재생 장치
JP2007087529A (ja) 信号復号装置、信号復号方法、および記憶システム
US10530390B2 (en) Data storage device employing memory efficient processing of un-converged codewords
JP2001144622A (ja) データ符号化用コード及び方法
JP4290688B2 (ja) データ書込装置および記憶システム
JP4790790B2 (ja) 誤り検出訂正回路及び半導体メモリ
JP2019503603A (ja) 積符号のためのダイアグノスティクスを伴う復号後エラー・チェック
JP2009289310A (ja) エラー訂正方法及びエラー訂正回路、並びに磁気ディスク装置
US20090276685A1 (en) Data decoding apparatus, magnetic disk apparatus, and data decoding method
US8429508B2 (en) Data storage apparatus with encoder and decoder
JP2004253017A (ja) 記録媒体再生装置、記録媒体再生方法およびハードディスクコントローラ
JP2007207325A (ja) 誤り訂正処理装置及び誤り訂正処理方法
TW200416526A (en) Algebraic decoder and method for correcting an arbitrary mixture of burst and random errors
US9633691B2 (en) Storage controller, storage device, and method
JP4088133B2 (ja) リードチャネル復号器、リードチャネル復号方法およびリードチャネル復号プログラム
JP5117593B2 (ja) 符号化・復号化装置、データ記憶装置、及び方法
JPH117736A (ja) 誤り検知方法および装置、復号化装置、ならびに、記録再生装置
JP2009271963A (ja) 復号方法、ハードディスクコントローラ及びハードディスク装置
JP4916728B2 (ja) 符号化装置、信号処理装置、および記憶システム
JP3573588B2 (ja) 情報再生装置および情報記録再生装置
JPH11177440A (ja) 誤訂正検証方法および装置、エラー訂正装置、再生装置、記録再生装置、通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100615

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: 20100928

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101027

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees