Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4074252B2 - 復号および誤り訂正方法 - Google Patents
[go: Go Back, main page]

JP4074252B2 - 復号および誤り訂正方法 - Google Patents

復号および誤り訂正方法 Download PDF

Info

Publication number
JP4074252B2
JP4074252B2 JP2003550369A JP2003550369A JP4074252B2 JP 4074252 B2 JP4074252 B2 JP 4074252B2 JP 2003550369 A JP2003550369 A JP 2003550369A JP 2003550369 A JP2003550369 A JP 2003550369A JP 4074252 B2 JP4074252 B2 JP 4074252B2
Authority
JP
Japan
Prior art keywords
word
decoding
error
function
block
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
JP2003550369A
Other languages
English (en)
Other versions
JP2005512382A (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.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
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 STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of JP2005512382A publication Critical patent/JP2005512382A/ja
Application granted granted Critical
Publication of JP4074252B2 publication Critical patent/JP4074252B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35

Landscapes

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

Description

本発明は保護された符号ワードに適用可能な復号および誤り訂正方法に関する。
本発明はまた、保護された符号ワードを訂正され復号されたワードに変換可能な復号および誤り訂正回路に関する。
メモリ、特にEEPROMまたはFLASH EEPROM型の電気的に消去およびプログラム可能なメモリにデータを書き込むためにデータ機密化(securisation)/訂正装置が広く使用されている。データはメモリに保存される際に機密化ビットが追加されて保護され、機密化ビットにより読み出される際に訂正される。
さらに、古典的には、特定のレベルの秘密性が必要とされる場合、データがメモリに保存される前にデータを符号化し、メモリが読み出される際にこれらのデータを復号してきた。「符号化」とは、バイナリワードをスクランブル関数(scrambling function)により符号化して符号ワードを得ることを意味する。
したがって、初期データから「保護された符号化データエントリ」、すなわち、符号化処理と機密化処理の2回の処理を経たバイナリワードを得るため、符号化関数と機密化関数(security function)を一つの装置に組み合わせることが必要になることがしばしばある。
本発明は、一般的には、符号化/復号関数をデータ機密化/訂正装置に統合することに関し、特に、ハミングアルゴリズムに基づいた装置、データ符号化/復号化および機密化/訂正装置を得ることに関する。
図1には、従来のデータ機密化/訂正装置ECC1のブロック図が示されている。この装置ECC1は、データ機密化回路WR1とデータ訂正回路RD1とから構成されている。回路WR1は、バイナリワードX1を受け取る1つの入力部IN1と、保護された符号ワードX2を送り出す1つの出力部OUT1とを有している。回路RD1は、誤りEを含む保護されたワードX3を受け取る1つの入力部IN2と、訂正されたワードX4を送り出す1つの出力部OUT2とを有している。
回路WR1は、関数GをワードX1に行い、保護されたワードX2を送り出すブロックB1から構成される。関数Gは、(2)行(2+J)列の行列で表すことができる機密化ビット生成関数である。バイナリワードX1を2ビットのベクトルで表すことにより、こうして得られた保護されたワードX2は以下の関係式で表されることになる。
X2 = X1*G = DATA(X2)//CODE(X2)
ここで「*」は行列の積であり、「//」は連接の記号であり、「DATA(X2)」は2個のデータビットらなるワードX2の第一の部分であり、「CODE(X2)」はJ個の機密化ビットからなるワードX2の第二の部分を意味する。
関数Gは、初期ワードX1のデータビットを変更しないため、ワードDATA(X2)は、初期ワードX1のデータビットと同様のデータビットを有する。したがって、以下のように表すことができる。
X2 = X1//CODE(X2)
一例として、8ビットのワードでただ1つのビットを、ハミングアルゴリズムにより検出して訂正することを仮定する。このアルゴリズムによると、機密化ビットの数JはK+1と等しく、2ビットのワードの1つの誤りビットのみを検出して訂正する。したがって、この例では、K=3、J=K+1=4で、ワードX1、X2は付録の項目1に記載のように書かれる。関数Gは、(2)行(2+K+1)列の行列、すなわち、ここでは付録の項目2に記載の8行12列の行列となる。行列Gは、付録の項目3に記載のように、4つの機密化ビットp0、p1、p2、p3、またはパリティビットを生成する。
次に、保護されたワードX2がメモリMEMに保存され、そのメモリから読み出されることを仮定する。書き込まれてから、読み出されるまでの間に、ワードは変化して、誤りを有することがある。統計的に、EEPROMまたはFLASH EEPROM型の電気的に消去およびプログラム可能なメモリでは、そのような誤りが発生することが多々ある。それは、一般的に、メモリセルの浮遊ゲートトランジスタに影響を与える不良(例えば、そのしきい値電圧の変動など)、ビットラインまたはワードラインの接続不良、などに起因する。
誤りがないと考えられる、初期の保護されたワードX2から読み出されるワードと区別するため、メモリから読み出されるワードをX3と呼び、ワードX2と誤りEの合計と等しいとみなす。
X3 = X2 + E
「+」は、先に合計を実行しない、ビット同士の加算であり、Eは、ワードX2に影響を与える誤りを表す2+Jビットのワードである。ここで誤りはゼロの可能性もある。
X3と誤りEは以下のように表すことができる。
X3 = DATA(X3)//CODE(X3)

E = ERR1//ERR2
DATA(X3)は、2のデータビットからなるワード、CODE(X3)は、J個の機密化ビットからなるワード、ERR1は、誤りEの2個の第一の部分のビットからなる、データビットの誤りを表すワード、ERR2は、続くJ個の誤りEのビットからなる、機密化ビットの誤りを表すワードを意味する。この結果、以下のようになる。
DATA(X3) = DATA(X2) + ERR1 = X1 + ERR1

CODE(X3) = CODE(X2) + ERR2
「+」は、先に合計を実行しない、ビット同士の加算を意味する。
理解を容易にするため、上述の例(2=8、J=4)を使用すると、ワードE、ERR1、ERR2、DATA(X2)、DATA(X3)は、付録の項目4に記載のようになる。
(ゼロの可能性もある)誤りEを含むワードX3の訂正が、誤り訂正ブロックB2、シンドローム生成ブロックB3、誤りベクター生成ブロックB4を備えた回路RD1で実行される。
ブロックB2は、それぞれが2ビットの2つの入力部E1、E2と、2ビットの一つの出力部を有している。入力部E1は、ワードX3のデータビット、すなわち、ワードDATA(X3)を受け取る。入力部E2は、ブロックB4から送られる誤りベクターEVを受け取る。ブロックB2は、初期ワードX1と等しい訂正されたワードX4を送り出す(誤りのビット数が、検出され訂正されることのできる最大ビット数以下とした場合)。
ワードX4は、ワードDATA(X3)とベクトルEVを論理的に連結することにより得られる。一般的に、この論理的な連結は排他的論理和関数(xor関数、記号Θ)により実行される。
ブロックB3はワードX3を入力側から受け取り、関数HをワードX3に実行し、以下のようなシンドロームSYNを送り出す。ここで、関数Gおよび関数Hは直交関数で、その積G*Hは0である。
SYN = X3*H
すなわち: SYN = (X2 + E)*H
すなわち: SYN = (X1*G + E)*H
すなわち: SYN = X1*G*H + E*H
すなわち: SYN = E*H
ハミングアルゴリズムで、関数Hは、Gと直交する(2+K+1)行(K+1)列の行列である。理解を容易にするため、K=3でJ=4の場合の行列Hを付録の項目5に記載した。この行列Hは、ワードごとに1つの誤りを検出し、訂正することができるS0、S1、S2、S3の4ビットのシンドロームSYNを生成する。ビットS0からビットS4の論理値もまた、付録の項目6に記載している。
シンドロームSYNは、シンドローム/ベクター変換関数EV = f(SYN)を実行し、適当なベクターEVを送り出すブロックB4に送られる。このシンドローム/ベクター変換関数は、所定の対応表に従う。理解を容易にするため、K=3でJ=4の場合のシンドローム/ベクター対応表を付録の項目7に記載した。
理論的には、各誤差ベクターEVは一部EV1と一部EV2を有し、以下のように記すことができる。
EV = EV1//EV2
EV1は、データの誤りを表す2ビットの誤りベクターであり、EV2は、機密化ビットの誤りを表すJビットの誤りベクターである。実際には機密化ビットの誤り訂正は不要であるため、ブロックB4からは誤りベクターEV1のみが送り出され、ブロックB2の入力部E2に入力される。
ブロックB2が排他的論理和関数を実行する場合、誤りベクターEVは、誤りE自体と等しくなることに注意する。
DATA(X3) ΘEV1 = X1
しかしながら、
DATA(X3) ΘEV1 = X1 + ERR1 ΘEV1
これにより、
ERR1ΘEV1 = 0
すなわち、
ERR1 = EV1
「+」は、先に合計を実行しない、ビット同士の加算であり、「Θ」は、排他的論理和関数である。
図2は、さらに符号化復号化手段を備え、データ符号化/復号化および機密化/訂正装置を構成する、装置ECC1とは異なる装置ECC2を示している。
装置ECC2は、データ符号化および機密化回路WR2とデータ復号化および訂正回路RD2とから構成されている。回路WR2は、バイナリワードX0を受け取る1つの入力部IN1と、保護された符号ワードX2を送り出す1つの出力部OUT1とを有している。回路RD2は、(ゼロの可能性もある)誤りEを含む保護された符号ワードX3を受け取る1つの入力部IN2と、訂正された復号化ワードX5を送り出す1つの出力部OUT2とを有している。
回路WR2は、直列に接続された1つのブロックB0と上述のブロックB1を有している。ブロックB0は入力部で入力としてワードX0を受け取り、符号化関数「A」をワードX0に実行して、符号ワードX1をブロックB1の入力部に送り出す。ブロックB1はワードX1に上述の関数Gを実行し、ワードX2を回路WR2の出力部OUT1に送り出す。
行2列の行列で、K=3の場合の符号化関数Aの一例を付録の項目8に記載する。
ワードX2はメモリMEMに保存され、メモリから続けて読み出されるワードをX3とすると、X3は、誤りEが付加されたワードX2と等しい。
誤りEの訂正およびワードX3の復号が回路RD2により実行される。回路RD2は、復号化ブロックB5がブロックB2の出力側と出力部OUT2の間に配置されている点で装置ECC1の回路RD1とは異なる。ブロックB5は、関数Aの逆関数である復号化関数A−1をその入力部で受け取ったデータに実行する。
復号化関数A−1が付録の項目8に記載した行列Aの逆行列であるとした、復号化関数A−1の一例を、付録の項目9に記載する。
したがって、装置ECC2の動作は以下の通りである。
− ブロックB0が初期ワードX0から符号ワードX1を生成する。
− ブロックB1が符号ワードX1から保護された符号ワードX2を生成する。
− ブロックB2が、保護された符号ワードX3に誤り訂正を実行し、訂正された符号ワードX4を送り出す。
− ブロックB5が、訂正された符号ワードX4の復号化を実行し、訂正され復号化されたワードX5を送り出す。
ブロックB1、B3、およびB4は、装置ECC1のそれらと同様であり、ワードX1が符号ワードであることは、このワードの機密化および訂正に影響を与えない。
上述の回路ECC1およびECC2は、従来、配線論理ブロックとして製造された。ワードX1をワードX2に変換(機密化)する時間、およびワードX3をワードX4に変換(訂正)する時間は、入力部IN1と出力部OUT1の間、および入力部IN2と出力部OUT2の間のデータバスに沿って存在する論理ゲートのデータ伝搬時間により直接的に変化する。
装置ECC2は、ブロックB0とブロックB5をデータパスに沿って追加したために、データ転送処理が遅くなるという課題がある。ブロックB0とブロックB5は、ブロックB1からB4と同様に、論理ゲートを使用して製造されており、所定のデータ転送時間を要する。事実、ブロックB0とブロックB5を追加することにより、装置ECC2の入力部と出力部の間のデータ転送時間が、装置ECC1と比較して、30%から50%増加した。
本発明は、この問題を解決することを目的としている。
より詳細には、本発明の目的は、データ処理時間を加速することができる復号および誤り訂正方法を提供することにある。
本発明の第一の対応する目的は、上述の従来の回路よりもデータ転送時間の短い復号および誤り訂正回路を提供することにある。
本発明のもう一つの目的は、上述の従来の回路よりもデータ転送時間の短い符号化および機密化回路を提供することにある。
この目的のため、本発明は、誤り訂正ステップと、前記誤り訂正ステップの前に実行され、復号化関数(A −1 )を保護された符号ワードに適用して、符号化された誤りを有する保護された復号化ワードを得る復号化ステップと、前記復号化ステップと同時に実行される前記符号化された誤りベクターを決定するステップとを有することを特徴とする、初期の保護された符号ワードに対して誤りを有する可能性のある保護された符号ワードに適用可能な復号および誤り訂正方法を提供する。
一つの実施の形態によれば、前記誤り訂正ステップは、符号化された誤りベクターを保護された復号化ワードに適用するステップを有する。
一つの実施の形態によれば、前記符号化された誤りベクターを決定するステップは、保護された符号ワードが復号化される前に訂正される場合、保護された符号ワードに適用することのできる符号化されていない誤りベクターを前記復号化関数により変換するステップを有する。
一つの実施の形態によれば、前記誤りベクターを決定するステップは、シンドローム算出関数を前記保護された符号ワードに適用することによりシンドロームを決定するステップと、シンドロームと符号化された誤りベクターとの直接対応表により、前記シンドロームから前記符号化された誤りベクターを直接生成するステップとを有する。
一つの実施の形態によれば、前記初期の保護された符号ワードは、符号化関数により、初期ワードを符号ワードに変換し、機密化関数により前記符号ワードを変換することにより得られる。
一つの実施の形態によれば、前記初期の保護された符号ワードは、初期ワードに、符号化関数と機密化関数を組み合わせた結果である符号化および機密化関数を適用することにより得られる。
一つの実施の形態によれば、本方法は、配線論理回路により実施される。
さらに、本発明は、復号および誤り訂正回路に関し、前記復号および誤り訂正回路において、保護された符号ワードを受け取る1つの入力部と、訂正された復号化ワードを送り出す1つの出力部とを有したデータパスと、前記データパスに沿って配置され、入力部を有し、復号化関数を前記入力部にあるワードに適用する復号化ブロックと、前記データパスに沿って配置され、訂正するワードを受け取る第一入力部と、誤りベクターを受け取る第二入力部とを有する誤り訂正ブロックと、前記データパスの前記入力部に接続した1つの入力部を有するシンドローム決定ブロックと、前記シンドローム決定ブロックの1つの出力部に接続した1つの入力部と前記誤り訂正ブロックの前記第二入力部に接続した1つの出力部を有する符号化された誤りベクターを決定する手段とを備え、前記復号化ブロック、前記誤り訂正ブロックの上流の前記データパス上に配置され、前記誤り訂正ブロックの前記第一入力部に、符号化された誤りを有する保護された復号化ワードを送り出すことを特徴とする。
一つの実施の形態によれば、前記符号化された誤りベクターを決定する手段は、シンドロームから、前記シンドロームに対応する符号化されていない誤りベクターを前記復号化関数により変換したものと等しい、符号化された誤りベクターを送り出す。
一つの実施の形態によれば、前記符号化された誤りベクターを決定する手段は、シンドロームと符号化された誤りベクターとの直接対応表により変換を実行する1つのブロックを有する。
一つの実施の形態によれば、前記復号化ブロック、前記誤り訂正ブロック、前記シンドローム決定ブロック、および前記符号化された誤りベクターを決定する手段は、配線論理回路である。
さらに、本発明は、データ符号化/復号化および機密化/訂正装置に関し、前記データ符号化/復号化および機密化/訂正装置は、保護された符号ワードを訂正された復号化ワードに変換する、本発明に係る復号および誤り訂正回路と、初期ワードを保護された符号ワードに変換する符号化および機密化回路とを備えたことを特徴とする。
一つの実施の形態によれば、前記符号化および機密化回路は、符号化関数を初期ワードに適用し、機密化関数を符号ワードに適用する手段を備える。
一つの実施の形態によれば、前記符号化および機密化回路は、前記符号化関数と前記機密化関数の組み合わせを初期ワードに適用するように配置された1つの符号化および機密化ブロックを備える。
図3は、本発明に係るデータ符号化/復号化および機密化/訂正装置ECC3を表している。装置ECC3は、データ符号化および機密化回路WR3とデータ復号化および訂正回路RD3を備えている。回路WR3は、バイナリワードX0を受け取る1つの入力部IN1と、保護された符号ワードX2を送り出す1つの出力部OUT1とを有している。回路RD3は、(ゼロの可能性もある)誤りEを含む保護されたワードX3を受け取る1つの入力部IN2と、訂正され復号化されたワードX5を送り出す1つの出力部OUT2とを有している。
本発明によると、回路WR3は、符号化および機密化関数A*GをワードX0に実行し、保護された符号ワードX2を出力部OUT1に送り出すブロックB1’を有している。関数A*Gは、従来の符号化関数Aと従来の機密化関数Gの積である。
一例として、8ビットのワードでただ1つのビットを、ハミングアルゴリズムにより検出して訂正することを仮定する。ここで、すでに前段で説明したパラメータKおよびJについては3および4に等しいとする。この場合、関数Gは、付録の項目2に記載の8行12列の行列となる。関数Aは、例えば、付録の項目8に記載の8行8列とする。本発明に係る対応する関数A*Gは、この場合、付録の項目10に記載のAとGの行列積となる。
一般的に、ブロックB1’のデータの移動時間は、前段で説明した従来のブロックB0またはブロックB1の一つのデータの移動時間とほぼ等しい。したがって、ワードX0から保護された符号ワードX2への変換時間は、本発明では半分と大幅に短縮される。
ワードX2はメモリMEMに保存され、メモリから続けて読み出されるワードをX3とすると、X3は、誤りEが付加されたワードX2と等しい。誤りEの訂正およびワードX3の復号化は回路RD3により実行される。
回路RD3は、誤り訂正ブロックB2、シンドローム生成ブロックB3、誤りベクターEV’生成ブロックB4’、および復号化ブロックB5を有している。ブロックB2、B3、B5は、前段で説明した従来の回路ECC2の対応するブロックと同一である。ブロックB4’は、以下の種の誤りベクターEV’の有用な部分を形成する、データの誤りに対応する2ビットの誤りベクターEV1’を送り出す。
EV' = EV1'//EV2'
ここで、EV2'は、機密化符号の誤りに対応するJビットの誤りベクターである。EV2'は実際には使用されない。
本発明によると、入力部で受け取ったデータに復号化関数数A−1を実行する復号化ブロックB5は、回路RD3の入力部IN2と対応するブロックB2の入力部E1の間に配設されている。換言すると、ブロックB2はその入力部E1で訂正されていない復号化データを受け取る。上述の説明から理解できるように、回路RD3の入力部IN2に送られるワードX3は、以下のように記すことができる。
X3 = X2 + E
すなわち:
X3 = X0*A*G + E
「+」は、先に合計を実行しない、ビット同士の加算であり、Eは、ワードX2に影響を与える誤りを表す2+Jビットのワードである。
ワードX3と誤りEは以下の式で表すことができる。
X3 = DATA(X3)//CODE(X3)
E = ERR1//ERR2
DATA(X3)は、ワードX3の2個のデータビットからなるワード、CODE(X3)は、ワードX3のJ個の機密化ビットからなるワード、ERR1は、誤りEの2個の第一の部分のビットからなるワード、ERR2は、続くJ個の誤りのビットからなるワードである。
この結果、以下のようになる。
DATA(X3) = DATA(X2) + ERR1 = (DATA(X0)*A*G) + ERR1
CODE(X3) = CODE(X2) + ERR2
ワードDATA(X3)は、機密化ビットCODE(X3)なしに、ブロックB5の入力部に入力される。したがって、ブロックB5から出力されるX4’は以下のようになる。
X4' = DATA(X3)*A-1 = (X0*A*G*A-1) + ERR1*A-1
AとA−1は逆関数の関係にあるため、結果は、以下のようになる。
X4' = (X0*G) + ERR1*A-1
機密化関数Gはデータビットを変えることはないため、結果は以下のようになる。
X4' = X0 + ERR1*A-1
したがって、訂正回路B2の入力部に送られるワードX4’は、前の実施の例のように保護された符号ワードではなく、符号化された誤りを有する復号化ワードである。復号化ワードは、ワードX0で、符号化された誤りはERR1*A-1、すなわち、復号化関数A-1により誤りERR1を変換したものとなる(逆関数Aにより符号化されていない要素に適用すると、復号化関数A-1は符号化関数に相当する)。
符号化された誤りERR1*A-1を訂正するためにブロックB2の入力部E2に入力する必要のある誤りベクターEV1が次に決定される。
ワードX3がシンドローム生成ブロックH全体に適用されるため、結果は以下のようになる。

SYN = X3*H
すなわち:
SYN = (X2 + E)*H
すなわち:
SYN = (X1*A*G + E)*H
すなわち:
SYN = X1*A*G*H + E*H
関数Hと関数Gの積はゼロであるため、シンドロームSYNは以下のようになる。
SYN = E*H
この結果、ブロックB3により生成されるシンドロームは、前段で説明した装置ECC1および装置ECC2により生成されるシンドロームと同一となる。
さらに、従来の誤りベクターEV1は符号化されていない誤りERR1と同一で、誤りベクターEV1’は、従来の誤りベクターEV1から以下のように表すことができる。
EV1' = ERR1*A-1 = EV1*A-1
したがって、本発明に係る誤りベクターEV1は、関数A-1により従来の誤りベクターEV1を変換したものと等しくなる。
したがって、実施の例では、ブロックB4’は、従来のブロックB4と関数A-1を実行するブロックとを直列に配列することにより生成することできる。本発明によると、何よりも、各シンドローム値に対してベクターEV1’を与える、直接対応表を決定することが好ましい。直接対応表の各ベクターEV1’は、
関数A−1を、従来の対応表により与えられるベクターEV1に適用することにより算出することができる。次に、直接対応表により与えられる変換関数を実行することにより配線論理ブロックB4’が生成される。
理解を容易にするため、本発明に係る対応表を付録の項目11に記載する。この対応表(表2)は、逆関数A−1を、項目7に記載の対応表(表1)のベクターEVに適用して得ることができる。
装置ECC3の動作は以下の通りである。
− ブロックB1’が初期ワードX0から保護された符号ワードX2を生成する。
− ブロックB5が、保護された符号ワードX3の復号化を実行して、符号化された誤りERR1*A-1を含む訂正されていない復号化されたワードX4’を送り出す。
− ブロックB2が、符号化された誤りベクターEV1の手段により符号化された誤りと同様の方法で、すなわち関数A-1を従来の誤りベクターEV1に適用することにより、符号化された誤りの訂正を実行する。
− 好ましくは、ブロックB4’は、シンドロームSYNから直接誤りベクターEV1’を送り出す。
本発明に係る復号化および訂正回路RD3は、ブロックB3とブロックB4’によりシンドロームと誤りベクターEV1’を決定している間、同時に、ブロックB5によりワードX3の復号化を実行するという並列構成の利点を有している。したがって、復号化ブロックB5が訂正ブロックの後段に配置された従来の回路ECC2の場合の復号化動作によりデータ転送時間が遅くなるということは発生しない。
理解を容易にするため、付録に記載された関数A、G、Hを使用した本発明に係る復号化および訂正方法を実施する例について説明する。
ここで、以下に示すワードX1がメモリMEMに書き込まれ、読み出されるものとする。
X1 = 1 1 0 0 1 0 1 1
関数A*Gの手段(ブロックB1’)によりワードX0が符号化され、保護された後、以下が得られる。
X2 = 0 1 0 0 0 0 1 1 0 1 0 1
X3はメモリMEMに書き込まれ、ワードが再び読み出される。
X3 = X2 + E
以下の誤りEが発生すると仮定する。
E = 0 0 0 1 0 0 0 0 0 0 0 0
したがって、読みだされたワードX3は以下のようになる。
X2 = 0 1 0 0 0 0 1 1 0 1 0 1
+ E = 0 0 0 1 0 0 0 0 0 0 0 0
= X3 = 0 1 0 10 0 1 1 0 1 0 1
関数Hの手段(ブロックB3)により、対応するシンドロームSYNが算出される。
X3*H = 0 1 1 0
付録の項目11の表2の手段(ブロックB4’)により、符号化された誤りベクターEV1’が導き出される。
EV1' = 1 0 0 1 1 1 0 1
シンドロームと誤りベクターが決定されている間、同時に、訂正されていない復号化されたワードX4’が関数A-1の手段(ブロック5)により決定される。
X4' = (DATA(X2) + ERR1)*A-1 = 0 1 0 1 0 1 1 0
こうしてワードが訂正される。
X5 = X4' xor EV1'
X5 = 0 1 0 1 0 1 1 0 xor 1 0 0 1 1 1 0 1
すなわち:
X5 = 1 1 0 0 1 0 1 1
すなわち:
X5 = X1
本発明に係るデータ符号化/復号化および機密化/訂正装置は、当業者には様々な実施の形態および応用が可能であることは明かである。特に、応用として、メモリを備えた複数の集積回路において、本発明に係る装置をメモリの入力部と出力部の間に挿入することもできる。特に、これらはスマートカード、マイクロコントローラ、・・・、EPROM、EEPROM、FLASH EEPROM、メモリなどの統合メモリ、などの集積回路である。もう一つの応用の例として、回線による障害または送信問題による誤りが発生することがあるため、受信したデータを復号化および訂正するため、符号化および機密化回路WR3をデータ送信回線の一方の端部に配置し、復号化および訂正回路RD3を回線の他方の端部に配置することもできる。
明細書と一体の付録
項目1.ワードX1とワードX2
X1 = x0 x1 x2 x3 x4 x5 x6 x7
X2 = DATA(X2)//CODE(X2)
すなわち:
X2 = x0 x1 x2 x3 x4 x5 x6 x7 p0 p1 p2 p3
ここで
DATA(X2) = X1 = x0 x1 x2 x3 x4 x5 x6 x7
CODE(X2) = p0 p1 p2 p3
p0、p1、p3、P4は機密化ビット。
項目2.1つの誤りビットのみを訂正する場合で、K=3、J=4とした時にハミングアルゴリズムにより機密化ビットを生成する行列

Figure 0004074252
項目3.行列Gにより生成される機密化ビット
p0 = x0 xor x1 xor x2 xor x5
p1 = x2 xor x3 xor x4 xor x7 xor x1
p2 = x4 xor x5 xor x6 xor x1 xor x3
p3 = x6 xor x7 xor x0 xor x2 xor x3
「xor」は排他的論理和(EXCLUSIVE OR)関数
項目4.ワードE, ERR1, ERR2, X3, DATA(X3), CODE(X3)
E = ERR1//ERR2 = e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11
すなわち:
ERR1 = e0 e1 e2 e3 e4 e5 e6 e7
ERR2 = e8 e9 e10 e11
***
X3 = X2 + E = (x0 + e0) (x1 + e1) (x2 + e2) (x3 + e3) (x4 + e4) (x5 + e5) (x6 + e6) (x7 + e7) (p0 + e8) (p1 + e9) (p2 + e10) (p3 + e11)
すなわち:
DATA(X3) = (x0 + e0) (x1 + e1) (x2 + e2) (x3 + e3) (x4 + e4) (x5 + e5) (x6 + e6) (x7 + e7)
CODE(X3) = (p0 + e8) (p1 + e9) (p2 + e10) (p3 + e11)
項目5.K=3、J=4とした時のハミング行列H
Figure 0004074252
項目6.K=3、J=4とした時に行列Hにより生成されるシンドロームSYNの値
SYN = S0 S1 S2 S3
S0 = x0 xor x1 xor x2 xor x5 xor p0
S1 = x2 xor x3 xor x4 xor x7 xor x1 xor p1
S2 = x4 xor x5 xor x6 xor x3 xor x1 xor p2
S3 = x6 xor x7 xor x3 xor x2 xor x0 xor p3
項目7.K=3、J=4とした時の従来の対応表の例
Figure 0004074252
項目8.K=3とした時の符号化関数Aの例
Figure 0004074252
項目9.K=3とした時の復号化関数A-1の例
Figure 0004074252
項目10.K=3とした時の符号化および機密化関数A*Gの例
Figure 0004074252
項目11.K=3、J=4とした時の本発明に係る対応表の例
Figure 0004074252
従来のデータ符号化/復号化および機密化/訂正装置の図である。 従来の符号化および機密化回路と従来の副合かおよび訂正回路を備えた従来のデータ符号化/復号化および機密化/訂正装置の図である。 本発明に係る符号化および機密化回路と本発明に係る復号化および訂正回路を備えた本発明に係るデータ符号化/復号化および機密化/訂正装置の図である。

Claims (14)

  1. 誤り訂正ステップと、
    前記誤り訂正ステップの前に実行され、復号化関数(A −1 )を保護された符号ワード(X3)に適用して、符号化された誤り(E*A −1 )を有する保護された復号化ワード(X4’)を得る復号化ステップと、
    前記復号化ステップと同時に実行される前記符号化された誤りベクター(EV1’)を決定するステップとを有することを特徴とする、初期の保護された符号ワード(X2)に対して誤りを有する可能性のある保護された符号ワード(X3)に適用可能な復号および誤り訂正方法。
  2. 前記誤り訂正ステップが、符号化された誤りベクター(EV1’)を保護された復号化ワード(X4’)に適用するステップを有することを特徴とする請求項1に記載の方法。
  3. 前記符号化された誤りベクター(EV1’)を決定するステップは、保護された符号ワードが復号化される前に訂正される場合、保護された符号ワード(X3)に適用することのできる符号化されていない誤りベクター(EV1)を前記復号化関数(A −1 )により変換するステップを有することを特徴とする請求項2に記載の方法。
  4. 前記誤りベクターを決定するステップは、
    シンドローム算出関数(H)を前記保護された符号ワード(X3)に適用することによりシンドロームを決定するステップと、
    シンドロームと符号化された誤りベクターとの直接対応表により、前記シンドロームから前記符号化された誤りベクター(EV1’)を直接生成するステップとを有することを特徴とする請求項3に記載の方法。
  5. 前記初期の保護された符号ワード(X2)は、
    符号化関数(A)により、初期ワード(X0)を符号ワード(X1)に変換し、機密化関数(G)により前記符号ワード(X1)を変換することにより得られることを特徴とする請求項1から請求項4までの何れか一項に記載の方法。
  6. 前記初期の保護された符号ワード(X2)は、
    初期ワード(X0)に、符号化関数(A)と機密化関数(G)を組み合わせた(A*G)結果である符号化および機密化関数を適用することにより得られることを特徴とする請求項1から請求項4までの何れか一項に記載の方法。
  7. 配線論理回路により実施されることを特徴とする請求項1から請求項6までの何れか一項に記載の方法。
  8. 復号および誤り訂正回路(RD3)において、
    保護された符号ワード(X3)を受け取る1つの入力部(IN2)と、訂正された復号化ワード(X5)を送り出す1つの出力部(OUT2)とを有したデータパスと、
    前記データパスに沿って配置され、入力部を有し、復号化関数(A −1 )を前記入力部にあるワードに適用する復号化ブロック(B5)と、
    前記データパスに沿って配置され、訂正するワードを受け取る第一入力部(E1)と、誤りベクター(EV1’)を受け取る第二入力部(E2)とを有する誤り訂正ブロック(B2)と、
    前記データパスの前記入力部(IN2)に接続した1つの入力部を有するシンドローム(SYN)決定ブロック(B3)と、
    前記シンドローム決定ブロック(B3)の1つの出力部に接続した1つの入力部と前記誤り訂正ブロック(B2)の前記第二入力部(E2)に接続した1つの出力部を有する符号化された誤りベクター(EV1’)を決定する手段(B4’)とを備え、
    前記復号化ブロック(B5)が、前記誤り訂正ブロック(B2)の上流の前記データパス上に配置され、前記誤り訂正ブロックの前記第一入力部(E1)に、符号化された誤り(E*A −1 )を有する保護された復号化ワード(X4’)を送り出すことを特徴とする復号および誤り訂正回路(RD3)。
  9. 前記符号化された誤りベクター(EV1’)を決定する手段(B4’)は 、シンドローム(SYN)から、前記シンドロームに対応する符号化されていない誤りベクター(EV1)を前記復号化関数(A−1)により変換したものと等しい、符号化された誤りベクター(EV1’)を送り出すことを特徴とする請求項8に記載の回路。
  10. 前記符号化された誤りベクターを決定する手段は、シンドロームと符号化された誤りベクターとの直接対応表により変換を実行する1つのブロック(B4’)を有することを特徴とする請求項9に記載の回路。
  11. 前記復号化ブロック、前記誤り訂正ブロック、前記シンドローム決定ブロック、および前記符号化された誤りベクターを決定する手段は、配線論理回路であることを特徴とする請求項8から請求項10の何れか一項に記載の回路。
  12. データ符号化/復号化および機密化/訂正装置(ECC3)において、
    保護された符号ワード(X3)を訂正された復号化ワード(X5)に変換する、請求項8から請求項11までの何れか一項に記載の復号および誤り訂正回路(RD3)と、
    初期ワード(X0)を保護された符号ワード(X2)に変換する符号化および機密化回路(WR3)と、を備えたことを特徴とするデータ符号化/復号化および機密化/訂正装置(ECC3)。
  13. 前記符号化および機密化回路(WR3)が、符号化関数(A)を初期ワード(X0)に適用し、機密化関数(G)を符号ワードに適用する手段(B1’)を備えたことを特徴とする請求項12に記載の装置。
  14. 前記符号化および機密化回路(WR3)が、
    前記符号化関数(A)と前記機密化関数(G)の組み合わせ(A*G)を初期ワード(X0)に適用するように配置された1つの符号化および機密化ブロック(B1’)を備えたことを特徴とする請求項13に記載の装置。
JP2003550369A 2001-12-07 2002-11-29 復号および誤り訂正方法 Expired - Fee Related JP4074252B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0115877A FR2833434A1 (fr) 2001-12-07 2001-12-07 Procede de decodage et de correction d'erreur
PCT/FR2002/004116 WO2003049296A1 (fr) 2001-12-07 2002-11-29 Procede de decodage et de correction d'erreur

Publications (2)

Publication Number Publication Date
JP2005512382A JP2005512382A (ja) 2005-04-28
JP4074252B2 true JP4074252B2 (ja) 2008-04-09

Family

ID=8870248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003550369A Expired - Fee Related JP4074252B2 (ja) 2001-12-07 2002-11-29 復号および誤り訂正方法

Country Status (5)

Country Link
US (1) US7254767B2 (ja)
EP (1) EP1451935A1 (ja)
JP (1) JP4074252B2 (ja)
FR (1) FR2833434A1 (ja)
WO (1) WO2003049296A1 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0447569A (ja) * 1990-06-15 1992-02-17 Canon Inc ディジタル記録再生装置
US5479416A (en) * 1993-09-30 1995-12-26 Micron Technology, Inc. Apparatus and method for error detection and correction in radio frequency identification device
US5991308A (en) * 1995-08-25 1999-11-23 Terayon Communication Systems, Inc. Lower overhead method for data transmission using ATM and SCDMA over hybrid fiber coax cable plant
JP4105819B2 (ja) * 1999-04-26 2008-06-25 株式会社ルネサステクノロジ 記憶装置およびメモリカード
US6650630B1 (en) * 1999-06-25 2003-11-18 Telefonaktiebolaget Lm Ericsson (Publ) Resource management and traffic control in time-division-duplex communication systems
JP2001175606A (ja) * 1999-12-20 2001-06-29 Sony Corp データ処理装置、データ処理機器およびその方法
US6778316B2 (en) * 2001-10-24 2004-08-17 William Marsh Rice University Nanoparticle-based all-optical sensors

Also Published As

Publication number Publication date
WO2003049296A1 (fr) 2003-06-12
US7254767B2 (en) 2007-08-07
FR2833434A1 (fr) 2003-06-13
JP2005512382A (ja) 2005-04-28
EP1451935A1 (fr) 2004-09-01
US20050010851A1 (en) 2005-01-13

Similar Documents

Publication Publication Date Title
US5600659A (en) Low cost symbol error correction coding and decoding
KR100210583B1 (ko) 에러정정 부호화 복호화 방법 및 이 방법을 사용하는 회로
CN104900271B (zh) 用于通过数据反演来提高数据存储的设备和方法
TWI782215B (zh) 減少多位元錯誤校正碼的邏輯的系統與方法
EP2438511B1 (en) A method of identifying and protecting the integrity of a set of source data
US20050188292A1 (en) Method and apparatus for encoding special uncorrectable errors in an error correction code
CN102799495B (zh) 用于生成校验和的装置
JP2005078721A (ja) 誤り訂正方法およびメモリ回路
US5425038A (en) Error plus single bit error detection
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
US20110083062A1 (en) Method for Encoding and/or Decoding Multimensional and a System Comprising Such Method
US7085988B1 (en) Hashing system utilizing error correction coding techniques
JP4074252B2 (ja) 復号および誤り訂正方法
CN104112479A (zh) 编码器、译码器和包括其的半导体器件
TWI870985B (zh) 校驗子解碼器電路
KR101304570B1 (ko) 패리티 체크 행렬 생성 방법, 이를 이용한 오류 정정 방법 및 장치, 오류 정정 장치용 디코더 그리고 오류 정정 장치를 포함하는 메모리 및 전자장치
EP0341851A2 (en) Method and apparatus for interleaved encoding
Dugar et al. A survey on Hamming codes for error detection
RU2297032C2 (ru) Самокорректирующееся запоминающее устройство
RU2297034C2 (ru) Отказоустойчивое устройство хранения информации
CN115694870B (zh) 通过电子装置进行的方法和电子装置中的解码器
EP4322411B1 (en) Encoding method, device and system, and decoding method, device and system
RU2297035C2 (ru) Отказоустойчивое запоминающее устройство
RU2297031C2 (ru) Отказоустойчивое устройство
US6581083B1 (en) Syndrome generator and method for generating syndromes in a video/audio processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070926

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080124

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

Free format text: PAYMENT UNTIL: 20110201

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

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees