JP4619931B2 - 復号装置、記憶装置および復号方法 - Google Patents
復号装置、記憶装置および復号方法 Download PDFInfo
- 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
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
-
- 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/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- 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/65—Purpose and implementation aspects
- H03M13/6575—Implementations based on combinatorial logic, e.g. Boolean circuits
Description
図1には、本発明の一実施形態に係る復号装置を用いたシステムの構成例が示されている。このシステムは、例えば、ハードディスクドライブのような記憶装置内に設けられる、符号化および復号回路として実現されている。この符号化および復号回路は、1ビット訂正可能なハミング符号を用いて符号化および復号処理を実行する。
ここで、k,mは整数である。
(2) k≦2(m−1)
の制約条件が追加されている。
(1) k+m≦2m−1、および
(2) k≦2(m−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として出力すればよい。
P1 = C0 + C2 + C3 + C4 + C5
P2 = C1 + C3 + C4 + C5 + C6
P3 = C0 + C2 + C4 + C5 + C6 + C7
したがって、P0,P1,P2,P3を算出するための符号化器は図7に示す組み合わせ回路によって実現することができる。
(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にすればよい。
Claims (11)
- kビットの情報記号系列と、1ビット訂正可能なハミング符号から構成されるmビットのパリティ検査符号系列とを含むk+mビットの符号語系列を、検査行列に従って復号する復号装置において、
前記mビットのパリティ検査符号系列は前記検査行列に対応する生成行列に従って生成されており、
前記検査行列は単位行列と係数行列とを含み、前記係数行列内の2番目のベクトル乃至最後のベクトルそれぞれの最上位ビットは1であり、前記2番目のベクトル乃至前記最後のベクトルから構成される行列の内、前記2番目のベクトル乃至前記最後のベクトルそれぞれの最上位ビットを除いた残りの行列には、値が1からk−1までのバイナリコード群が前記2番目のベクトルから前記最後のベクトルに向けて順番に配置され、前記係数行列の先頭のベクトルは、前記検査行列内の他の各ベクトルと重複せず且つ最上位ビットが零である所定のビットパターンから構成され、且つ前記kおよび前記mは、k+m≦2m−1、およびk≦2(m−1)の制約条件を満たす整数であり、
前記k+mビットの符号語系列に対応するmビットのシンドロームを前記検査行列に従って算出するように構成されたシンドローム算出部と、
前記算出されたmビットのシンドロームの最上位ビットが1で、且つ前記算出されたmビットのシンドロームが前記単位行列内の各ベクトルと重複しない場合、前記算出されたmビットのシンドロームに含まれる下位m−1ビットのデータフィールドを、エラーが発生している、前記kビットの情報記号系列中のビット位置を示すエラーアドレスとして出力し、前記算出されたmビットのシンドロームが前記所定のビットパターンである場合、零を前記エラーアドレスとして出力するように構成されたエラーアドレス出力部とを具備することを特徴とする復号装置。 - 前記エラーアドレス出力部から出力されるエラーアドレスにしたがって、前記kビットの情報記号系列のエラーを訂正するエラー訂正部とをさらに具備することを特徴とする請求項1記載の復号装置。
- 前記エラー訂正部は、前記エラーアドレス出力部から出力されるエラーアドレスによって指定される、前記kビットの情報記号系列のビット位置の論理値を反転することを特徴とする請求項2記載の復号装置。
- 前記シンドローム算出部は、前記k+mビットの符号語系列に含まれる前記kビットの情報記号系列を2のべき乗ビットのデータフィールド単位で繰り返し入力し、入力されたデータフィールド毎に当該データフィールドと前記係数行列との間の行列演算を実行して前記kビットの情報記号系列に対応する前記mビットのパリティ検査符号系列を生成する手段と、前記生成されたmビットのパリティ検査符号系列に、前記k+mビットの符号語系列に含まれる前記mビットのパリティ検査符号系列をそれぞれ加算して、前記k+mビットの符号語系列に対応するmビットのシンドロームを生成する手段とを含むことを特徴とする請求項1記載の復号装置。
- kビットの情報記号系列を検査行列に対応する生成行列に従って符号化して、前記kビットの情報記号系列と、1ビット訂正可能なハミング符号から構成されるmビットのパリティ検査符号系列とを含むk+mビットの符号語系列を生成するように構成された符号化部であって、前記検査行列は、単位行列と係数行列とを含み、前記係数行列内の2番目のベクトル乃至最後のベクトルそれぞれの最上位ビットは1であり、前記2番目のベクトル乃至前記最後のベクトルから構成される行列の内、前記2番目のベクトル乃至前記最後のベクトルそれぞれの最上位ビットを除いた残りの行列には、値が1からk−1までのバイナリコード群が前記2番目のベクトルから前記最後のベクトルに向けて順番に配置され、前記係数行列の先頭のベクトルは、前記検査行列内の他の各ベクトルと重複せず且つ最上位ビットが零である所定のビットパターンから構成され、且つ前記kおよび前記mは、k+m≦2m−1、およびk≦2(m−1)の制約条件を満たす整数であり、
前記生成されたk+mビットの符号語系列を記憶メディアに書き込む書き込み部と、
前記記憶媒体に格納されている前記k+mビットの符号語系列を読み出す読み出し部と、
前記読み出された前記k+mビットの符号語系列に対応するmビットのシンドロームを前記検査行列に従って算出するように構成されたシンドローム算出部と、
前記算出されたmビットのシンドロームの最上位ビットが1で、且つ前記算出されたmビットのシンドロームが前記単位行列内の各ベクトルと重複しない場合、前記算出されたmビットのシンドロームに含まれる下位m−1ビットのデータフィールドを、エラーが発生している、前記kビットの情報記号系列中のビット位置を示すエラーアドレスとして出力し、前記算出されたmビットのシンドロームが前記所定のビットパターンである場合、零を前記エラーアドレスとして出力するように構成されたエラーアドレス出力部と、
前記エラーアドレス出力部から出力されるエラーアドレスにしたがって、前記kビットの情報記号系列のエラーを訂正するエラー訂正部とを具備することを特徴とする記憶装置。 - 前記エラー訂正部は、前記エラーアドレス出力部から出力されるエラーアドレスによって指定される、前記kビットの情報記号系列のビット位置の論理値を反転することを特徴とする請求項5記載の記憶装置。
- 前記シンドローム算出部は、前記k+mビットの符号語系列に含まれる前記kビットの情報記号系列を2のべき乗ビットのデータフィールド単位で繰り返し入力し、入力されたデータフィールド毎に当該データフィールドと前記係数行列との間の行列演算を実行して前記kビットの情報記号系列に対応する前記mビットのパリティ検査符号系列を生成する手段と、前記生成されたmビットのパリティ検査符号系列に、前記k+mビットの符号語系列に含まれる前記mビットのパリティ検査符号系列をそれぞれ加算して、前記k+mビットの符号語系列に対応するmビットのシンドロームを生成する手段とを含むことを特徴とする請求項5記載の記憶装置。
- kビットの情報記号系列と、1ビット訂正可能なハミング符号から構成されるmビットのパリティ検査符号系列とを含むk+mビットの符号語系列を、検査行列に従って復号する復号方法であって、
前記mビットのパリティ検査符号系列は前記検査行列に対応する生成行列に従って生成されており、前記検査行列は単位行列と係数行列とを含み、前記係数行列内の2番目のベクトル乃至最後のベクトルそれぞれの最上位ビットは1であり、前記2番目のベクトル乃至前記最後のベクトルから構成される行列の内、前記2番目のベクトル乃至前記最後のベクトルそれぞれの最上位ビットを除いた残りの行列には、値が1からk−1までのバイナリコード群が前記2番目のベクトルから前記最後のベクトルに向けて順番に配置され、前記係数行列の先頭のベクトルは、前記検査行列内の他の各ベクトルと重複せず且つ最上位ビットが零である所定のビットパターンから構成され、且つ前記kおよび前記mは、k+m≦2m−1、およびk≦2(m−1)の制約条件を満たす整数であり、
前記k+mビットの符号語系列に対応するmビットのシンドロームを前記検査行列に従って算出するシンドローム算出ステップと、
前記算出されたmビットのシンドロームの最上位ビットが1で、且つ前記算出されたmビットのシンドロームが前記単位行列内の各ベクトルと重複しない場合、前記算出されたmビットのシンドロームに含まれる下位m−1ビットのデータフィールドを、エラーが発生している、前記kビットの情報記号系列中のビット位置を示すエラーアドレスとして出力するステップと、
前記算出されたmビットのシンドロームが前記所定のビットパターンである場合、零を前記エラーアドレスとして出力するステップとを具備することを特徴とする復号方法。 - 前記出力されるエラーアドレスにしたがって、前記kビットの情報記号系列のエラーを訂正するエラー訂正ステップをさらに具備することを特徴とする請求項8記載の復号方法。
- 前記エラー訂正ステップは、前記出力されるエラーアドレスによって指定される、前記kビットの情報記号系列のビット位置の論理値を反転することを特徴とする請求項9記載の復号方法。
- 前記シンドローム算出ステップは、前記k+mビットの符号語系列に含まれる前記kビットの情報記号系列を2のべき乗ビットのデータフィールド単位で繰り返し入力し、入力されたデータフィールド毎に当該データフィールドと前記係数行列との間の行列演算を実行して前記kビットの情報記号系列に対応する前記mビットのパリティ検査符号系列を生成するステップと、前記生成されたmビットのパリティ検査符号系列に、前記k+mビットの符号語系列に含まれる前記mビットのパリティ検査符号系列をそれぞれ加算して、前記k+mビットの符号語系列に対応するmビットのシンドロームを生成するステップとを含むことを特徴とする請求項8記載の復号方法。
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)
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)
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 |
-
2005
- 2005-11-22 JP JP2005337421A patent/JP4619931B2/ja not_active Expired - Fee Related
-
2006
- 2006-09-20 US US11/523,650 patent/US7694209B2/en not_active Expired - Fee Related
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 |