JP2019186939A - グループ誤りを用いる誤り検出 - Google Patents
グループ誤りを用いる誤り検出 Download PDFInfo
- Publication number
- JP2019186939A JP2019186939A JP2019074125A JP2019074125A JP2019186939A JP 2019186939 A JP2019186939 A JP 2019186939A JP 2019074125 A JP2019074125 A JP 2019074125A JP 2019074125 A JP2019074125 A JP 2019074125A JP 2019186939 A JP2019186939 A JP 2019186939A
- Authority
- JP
- Japan
- Prior art keywords
- byte
- error
- data
- code
- data byte
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title abstract description 97
- 238000012545 processing Methods 0.000 claims abstract description 25
- 230000009466 transformation Effects 0.000 claims abstract description 16
- 238000012937 correction Methods 0.000 claims description 269
- 238000006243 chemical reaction Methods 0.000 claims description 111
- 238000000034 method Methods 0.000 claims description 27
- 208000011580 syndromic disease Diseases 0.000 claims description 16
- 239000013598 vector Substances 0.000 description 58
- 239000011159 matrix material Substances 0.000 description 29
- 230000014509 gene expression Effects 0.000 description 28
- 238000011161 development Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 14
- 238000007792 addition Methods 0.000 description 13
- 230000015572 biosynthetic process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 108091029480 NONCODE Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000015220 hamburgers Nutrition 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2942—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes wherein a block of parity bits is computed only from combined information bits or only from parity bits, e.g. a second block of parity bits is computed from a first block of parity bits obtained by systematic encoding of a block of information bits, or a block of parity bits is obtained by an XOR combination of sub-blocks of information bits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- 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
- H03M13/1515—Reed-Solomon 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/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
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- 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
- H03M13/158—Finite field arithmetic 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/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/251—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with block coding
-
- 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/27—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 using interleaving techniques
- H03M13/2735—Interleaver using powers of a primitive element, e.g. Galois field [GF] interleaver
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
−第1の変換によって、データビットが第1のデータバイトに変換され、
−第1のデータバイトがメモリに記憶され、
−第2のデータバイトがメモリから読み出され、
−第2のデータバイトはそれぞれ、誤りのない場合には、1つのブロック誤り符号の1つの符号語であり、
−第2のデータバイト毎に、その第2のデータバイトが符号語であるか否かを表す誤り信号が決定される。
−第1のデータバイト、および第1のデータバイトに基づいて決定される第1の検査ビットがメモリに記憶され、
−第2のデータバイトおよび第2の検査ビットがメモリから読み出され、
−第2のデータバイトがブロック誤り符号の符号語ではない場合には、誤り信号および第2の検査ビットに基づいて、第2のデータバイトの訂正が行われる。
−処理ユニットを含んでおり、この処理ユニットは、
−第1の変換によって、データビットを第1のデータバイトに変換し、
−第1のデータバイトをメモリに記憶し、
−誤りのない場合にはそれぞれがブロック誤り符号の符号語である第2のデータバイトをメモリから読み出し、
−第2のデータバイト毎に、その第2のデータバイトが符号語であるか否かを表す誤り信号を決定する、
ように構成されている。
−キャッシュメモリ、
−レジスタまたはレジスタアレイ、
−フラッシュメモリ、
−MRAM、
−SRAM、
−RE−RAM、
−PC−RAM、
−FE−RAM、
−CB−RAM、
−マルチビットメモリ、
−マルチレベルメモリ。
−第1のデータバイト、および第1のデータバイトに基づいて決定される第1の検査ビットを記憶し、
−第2のデータバイトおよび第2の検査ビットをメモリから読み出し、
−第2のデータバイトがブロック誤り符号の符号語ではない場合には、誤り信号および第2の検査ビットに基づいて、その第2のデータバイトを訂正するように構成されている。
−第1の変換によって、データビットを第1のデータバイトに変換する手段、
−第1のデータバイトをメモリに記憶する手段、
−誤りのない場合にはそれぞれがブロック誤り符号の符号語である第2のデータバイトをメモリから読み出す手段、
−第2のデータバイト毎に、その第2のデータバイトが符号語であるか否かを表す誤り信号を決定する手段、
を含んでいる。
本願において使用される誤り符号(符号とも記す)は、線形符号または非線形符号である。
例示的に、3項アルファベット0、1および2に関して符号CCを説明する。この符号は非線形である。符号CCを、
図1は、メモリ11にデータを記憶するための例示的な回路を示す。メモリ11は、複数のメモリセル値を記憶するための複数のメモリセルを有している。メモリセルがバイナリである場合には、メモリセルは、2つの異なるメモリセル値(例えば、0または1)を記憶することができる。メモリセルが、K個(ただし、K>2)の異なるメモリセル値を記憶する場合には、メモリセルを、K値メモリセル(多値メモリセルまたは「Multi−Valued」メモリセル)と記す場合もある。K個の異なるメモリセル値は、例えば0,1,2,...,K−1であってよい。
−このデータビットのm0が0番目のバイトX0を形成する、
−このデータビットのm1が1番目のバイトX1を形成する、以下同、
−最終的にこのデータビットのmL−1が(L−1)番目のバイトを形成するまで同じことが繰り返される。
−0番目のバイトW0のメモリセル値の割り当てが長さn0の誤り符号CF0の符号語であるように、データビットの0番目のバイト
−1番目のバイトW1のメモリセル値の割り当てが長さn1の誤り符号CF1の符号語であるように、データビットの1番目のバイト
−最終的に、メモリセル値のnL−1番目のバイトWL−1の割り当てが長さnL−1の誤り符号CFL−1の符号語であるように、データビットの(L−1)番目のバイト
メモリから出力されたメモリセル値は、バイトまたはメモリセル値W0’,...,WL−1’のグループを形成する。そのようなバイトの全てのビットに誤りがないわけではない場合には、いわゆるグループ誤りが存在する。
−データビットのグループX0を形成するm1個のビット、
−データビットのグループX1を形成するm2個のビット、以下同、
−データビットのグループXL−1を形成するmL個のビット、
を含んでいる。
−書き込まれるべきメモリセル値W0の集合が、ブロック誤り符号CF0のそれぞれ1つの符号語である、
−書き込まれるべきメモリセル値W1の集合が、ブロック誤り符号CF1のそれぞれ1つの符号語である、以下同、
−書き込まれるべきメモリセル値WL−1の集合が、ブロック誤り符号CFL−1のそれぞれ1つの符号語である、
ように構成されている。
−誤り信号E0〜EL−1および
−読み出された(また場合によっては誤りのある)データビットのバイトX’
に依存して、データバイトを訂正するための誤り符号C1に応じたバイト訂正値
以下では、例示的に、(図2aのようなデータビットに対する検査ビットとは異なり)メモリセル値に対する検査ビットPrが形成される。メモリセル値の検査ビットを、例えば、その形成後に、メモリセル値に変換し、続いて記憶することができる。
以下では、個々の誤り信号E0〜EL−1から、どのように組合せ誤り信号Eが決定されるかを説明する。
−組合せ誤り信号Eが第1の値を取り、それによって、自身の入力側に印加される全ての誤り信号E0〜EL−1が第1の値を取る場合には、誤りが誤り検出回路130〜13L−1によって検出されなかったことを示す、または
−組合せ誤り信号Eが第2の値を取り、それによって、自身の入力側に印加される誤り信号E0〜EL−1のうちの少なくとも1つが第2の値を取る場合には、少なくとも1つの誤りが誤り検出回路130〜13L−1によって検出されたことを示す。
−誤り信号E0〜EL−1の第2の値の個数を決定し、誤り信号Eとして出力する、または
−誤り信号E0〜EL−1のうちの所定数Sw個(ただし、所定数Swは1以上であってよい)より多い誤り信号が第2の値を取り、したがって、読み出されたメモリセル値W0’〜WL−1’の、誤り検出回路41によってそれぞれ検査されたバイトにおける誤りを示す場合には、バイナリ値1を出力する。
図5aは、図2aに示した変換回路22の例示的な実現形態を示す。既に説明したように、変換回路22は、符号語のデータビットのバイト
例として、それぞれμ=4個のビットを有する符号語のバイトX0〜XL−1およびそれぞれv=6(バイナリ)個のメモリセル値を有するバイトW0〜WL−1を考察する。ブロック誤り符号CFとして、16個の6ビット語の部分集合が使用され、この場合、それらの語はそれぞれ、1と0とを3つずつ有する。
図6は、上記の例に従い、場合によっては誤りのある6個のメモリセル値
−ブロック誤り符号CFの16個の符号語のうちの1つが、符号語ではない6ビット語に改ざんされた場合、または
−ブロック誤り符号CFの16個の符号語のうちの1つが、それぞれがブロック誤り符号の符号語ではない、4個の3−out−of−6語のうちの1つに改ざんされた場合には、
誤りを示す。
図7は、バイトW1’のビットにおける奇数の全てのビット誤りを検出する例示的な誤り検出回路71を示す。誤り検出回路71は、このために反転XOR回路を含んでいるので、誤り検出回路71の出力側に印加される誤り信号
図8は、誤り訂正を検査するための例示的な回路装置を示す。特に、この回路装置でもって、訂正値
以下では、例としてリード・ソロモン符号を使用する。
誤りのある3つのバイト位置が既知である3つのバイト誤りを訂正するためのリード・ソロモン符号に対しては、H行列
式(19)からeiについて次式が得られる。
図9aは、誤りのあるk番目のバイトを訂正するためのバイト訂正値ekを決定するための例示的な回路装置を示す。この回路装置でもって、グループ誤りが全部で3つ存在する場合に、1つのグループ誤りが訂正される。
−それぞれが第1の4ビット幅の入力側、第2の4ビット幅の入力側および4ビット幅の出力側を1つずつ備えた、4つの定数乗算器91、94、97および99、
−それぞれが第1の4ビット幅の入力側、第2の4ビット幅の入力側および4ビット幅の出力側を1つずつ備えた、3つのXOR回路92、95、98、
−4ビット幅の入力側および4ビット幅の出力側を1つずつ備えた、ガロア体GF(24)上の反転器96、
−第1の4ビット幅の入力側、第2の4ビット幅の入力側および4ビット幅の出力側を1つずつ備えた、ガロア体乗算器93、および
−値s2、Π、Π×s1、Σ、Σ×s2が印加される、それぞれ4ビット幅の5つの入力側910、911、912、913、914、
を含んでいる。
−誤り信号E0〜E7を入力するための8ビット幅の入力側および4ビット幅の信号ESu0,7を出力するための4ビット幅の出力側を備えた部分回路915、
−誤り信号E8,E9,...,E14を入力するための7ビット幅の入力側および4ビット幅の信号ESu8,14を出力するための4ビット幅の出力側を備えた部分回路916、
−第1の4ビット幅の入力側、第2の4ビット幅の入力側、および値
−4ビット幅の入力側および値Π=αi×αj×αkを出力するための4ビット幅の出力側を備えた組合せ回路918、
を含んでいる。
図10は、誤りのある1つのバイト位置または誤りのある2つのバイト位置が既知であり、したがって1つのグループ誤りまたは2つのグループ誤りが生じているという前提のもとで、任意の、場合によっては誤りのあるl番目のバイトに対するバイト訂正値を決定する例示的な回路装置を示す。誤りのある少なくとも1つのバイト位置は、ここでは、誤り信号の値によって既知である。
図11は、15個のバイト訂正値生成器を並列に実現するための例示的な回路装置を示す。したがって、場合によっては誤りのある15個のバイトX0’X1’,...,X14’を訂正することができる。各バイトは、例示的に4の語幅を有する。
図12は、Σ−1を決定するための例示的な回路装置を示し、ここでΣ−1は、例示として想定するガロア体GF(24)におけるΣの逆数である。
図13は、XOR回路を用いて誤り信号E0〜E14からΣを形成するための、図12に示した組合せ回路121の例示的な実現形態を示す。ここに図示した例は、やはりガロア体GF(24)に関する。
以下では、誤りのあるバイト位置が既知である場合のバイト誤りの訂正(グループ誤り訂正)と、誤りのあるバイト位置が既知でない場合のバイト誤りの訂正(一般的なバイト誤りの訂正)との組合せを説明する。
−ブロック誤り符号によって検出された1つまたは2つのグループ誤りを以下のように訂正することができる。
図1による誤り検出回路130〜13L−1(ただし、L=14)の誤り信号E0〜E14が、1つのバイトの位置、または(それぞれが)1つのグループ誤りを有する2つのバイトの位置を決定する。
グループ誤りが決定されたバイト位置に対して、バイト訂正値(すなわち、誤りがあると識別された、該当するバイトに対する訂正値)の誤り符号C1を使用して決定される。特に、そのような誤りが、グループ誤りの事前に決定された位置において訂正される場合には有利である。
−誤り検出回路130〜13L−1のうちの1つによってグループ誤りとして検出されなかった単一のバイト誤りも、誤り符号C1を使用して訂正することができる。
この場合には、誤り符号C1を用いて、誤りのあるバイトのバイト位置も、対応するバイト訂正値も決定され、また誤りが訂正される。
この場合には、誤り符号C1を用いて、誤りのあるバイトのバイト位置も、誤りのあるバイトに対するバイト訂正値も決定されなければならない。これによって、誤りのある1つのバイトまたは誤りのある2つのバイトの位置がグループ誤りとして決定された既述の場合とは異なり、単一のバイト誤りもこの誤り符号C1を用いて訂正することができる。
この際、誤り検出回路FE0〜FE14の誤り信号E0〜E14は誤りを示さない。考えられる1つの原因として、ブロック誤り符号の符号語がこのブロック誤り符号の別の符号語に改ざんされたことが挙げられる。例えば、ブロック誤り符号が3−out−of−6符号である場合には、決定された符号語がこの3−out−of−6符号の別の符号語に変化すると、誤り検出回路は誤りを確認することができない。
−第1の個数までのグループ誤りの訂正、さらなるバイト誤りの訂正は行われない、
−第2の個数までのグループ誤りおよび第3の個数までのバイト誤りの訂正、この場合、第3の個数のバイト誤りに関してグループ誤りは示されない、
−グループ誤りが示されない第4の個数までのバイト誤りの訂正。
−2つの4ビット幅の入力側、誤り信号Elが印加される1つの1ビット幅の入力側およびバイト訂正値elを提供する1つの4ビット幅の出力側を備えたバイト訂正値生成器、
−4ビット幅の入力線1410〜1413、
−1つの4ビット幅の第1の入力側、1つの1ビット幅の第2の入力側および4ビット幅の出力側を備えた定数乗算器142、
−それぞれが2つの4ビット幅の入力側および1つの4ビット幅の出力側を備えたXOR回路143、146および147、
−1つの4ビット幅の入力側および1つの1ビット幅の出力側を備えたNOR回路144、
−1つの4ビット幅の第1の入力側、1つの1ビット幅の第2の入力側および4ビット幅の出力側を備えたAND回路145、
−2つの1ビット幅の入力側および1つの1ビット幅の出力側を備えたAND回路148、
−1つの1ビット幅の入力側および1つの1ビット幅の出力側を備えた反転器149、
が含まれている。
−誤り信号に関して、El=1、
−別の誤り信号に関して、EK=1、ただしl≠K、かつ
−他の全ての誤り信号は0である、
が成り立つ場合には、
−l番目の回路装置は、自身の出力側にバイト訂正値el≠0000を提供し、
−K番目の回路装置は、自身の出力側にバイト訂正値eK≠0000を提供し、
−これに対して、残りの他の全ての回路装置は、バイト訂正値0000を(並列に)提供する。
以下の例では、特に、ここでは例として挙げるガロア体GF(24)を参照する。
以下では、GF(24)上のガロア体乗算器の例示的な実現形態を説明する。ベクトル表現のべき表現への変換、モジュロ15指数部加算、および累乗のベクトル表現への逆変換が行われる。べき表現が存在しない元0を個別に考慮することができる。
−それぞれが1つの4ビット幅の入力側、および関数LOGを実現するための1つの4ビット幅の出力側を備えた、2つの変換回路151、152、
−2つの4ビット幅の入力側および1つの4ビット幅の出力側を備えた、1つの加算回路153、
−1つの4ビット幅の入力側、および関数EXPを実現するための1つの4ビット幅の出力側を備えた、変換回路156、
−1つの第1の4ビット幅の入力側、1つの第2の1ビット幅の入力側および1つの4ビット幅の出力側を備えた、1つのAND回路158、
−それぞれが1つの4ビット幅の入力側および1つの1ビット幅の出力側を備えた、2つのNOR回路154、155、
−2つの1ビット幅の入力側および1つの1ビット幅の出力側を備えた、1つのNOR回路157、
を含んでいる。
以下では、線形回路としてXOR回路を用いて形成されている、ガロア体上の定数乗算器についての例を説明する。
1つのオプションでは、データビットがアドレス情報を含んでいる。アドレス情報として、アドレスビット、アドレスビットのグループ、アドレスビットから導出されたビット、またはアドレスビットから導出されたビットのグループが考えられる。アドレスビットのグループを、アドレスバイトと称することもできる。
1.t+1個のアドレスバイトのうちの少なくとも1つに対して、バイト誤りを示すバイト誤り位置信号が決定される場合には、誤りが検出される。誤り符号はtバイト誤り訂正符号であるので、最大でt個のアドレスバイトを改ざんするあらゆるアドレス誤りが検出される。
2.全部でL=t+1個のアドレスバイトがアドレス誤りによって改ざんされる場合には、(t+1)個のバイト誤りが存在する。誤り符号は(t+1)個のバイト誤り検出符号であるので、この場合には、(t+1)個のバイト誤りが検出される。この場合には、例えばデータバイトまたは検査バイトにおける他の考えられる(t+1)個のバイト誤りと、アドレスバイトにおける誤りと、は区別されない。これは検出できるが、しかしながら訂正できない誤りであるので、そのような区別も必要ない。
−第1の変換によって、データビットが第1のデータバイトに変換され、
−第1のメモリアドレスのアドレスビットが第1のアドレスバイトに変換され、
−第1のデータバイトおよび第1のアドレスバイトを使用して、第1のデータバイト、第1のアドレスバイトおよび第1の検査バイトが誤り符号の符号語を形成するように第1の検査バイトが決定され、
−第1のデータバイトおよび第1の検査バイトがメモリに記憶され、
−所定の第2のメモリアドレスにおける第2のデータバイトおよび第2の検査バイトがメモリから読み出され、
−第2のメモリアドレスのアドレスビットが第2のアドレスバイトに変換され、
−第2のデータバイト、第2のアドレスバイトおよび第2の検査バイトが誤り符号の符号語を形成するか否かが検査され、
−符号語が存在しない場合には、アドレスバイトに対してバイト誤り位置信号が決定される。
以下に、本明細書において使用した符号および関係の一部を一覧表で再度示す。
[1]Fujiwara,E.:「Code Design for Dependable Systems」、Wiley 2006、第65頁
[2]Lin,S.;Costello,D.:「Error Control Coding」、Prentice Hall 1983、第32頁および第33頁
[3]Okano,H.;Imai,H.:「A Construction Method for High−Speed Decoders Using ROM’s for Bose−Chaudhuri−Hocquenghem and Reed−Solomon Codes」、Trans.Computers、C−36、第1165頁〜第1171頁、1987
[4]Rao,T.;Fujiwara,E.:「Error Control codes for Computer Systems」,Prentice Hall 1989、第222頁〜第226頁
12 変換回路
130〜13L−1 誤り検出回路
21 コーディングユニット
22 変換回路
23 メモリ
240〜24L−1 誤り検出回路
25 逆変換回路
26 バイト訂正値生成器
270〜27L−1 XOR回路
31 変換回路
32 検査ビット生成器
33 検査ビット変換回路
34 メモリ
350〜35L−1 誤り検出回路
36 逆検査ビット変換回路
37 バイト訂正値生成器
380〜38L−1 XOR回路
39 逆変換回路
40 誤り検出回路
41 誤り検出回路
510〜51L−1 変換回路(バイト毎)
520〜52L−1 逆変換回路(バイト毎)
61 誤り検出回路
71 誤り検出回路
810〜81L−1 NOR回路
820〜82L−1 AND回路
83 OR回路
910 入力側
911 入力側
912 入力側
913 入力側
914 入力側
91 定数乗算器
92 XOR回路
93 ガロア体乗算器
94 定数乗算器
95 XOR回路
96 反転器
97 定数乗算器
98 XOR回路
99 定数乗算器
915 部分回路
916 部分回路
917 加算器
918 組合せ回路
101 バイト訂正値生成器
102 定数乗算器
103 XOR回路
104 AND回路
105 XOR回路
106 入力線
107 入力線
111 バイト訂正値生成器
112 バイト訂正値生成器
113 バイト訂正値生成器
114 XOR回路
115 XOR回路
116 XOR回路
121 組合せ回路
122 反転器
1314 XOR回路
1317 XOR回路
1318 XOR回路
1324 XOR回路
1325 XOR回路
1328 XOR回路
1329 XOR回路
1335 XOR回路
1336 XOR回路
1338 XOR回路
1346 XOR回路
1347 XOR回路
1349 XOR回路
13110 XOR回路
13112 XOR回路
13113 XOR回路
13114 XOR回路
13210 XOR回路
13211 XOR回路
13212 XOR回路
13310 XOR回路
13311 XOR回路
13312 XOR回路
13313 XOR回路
13211 XOR回路
13411 XOR回路
13412 XOR回路
13413 XOR回路
13414 XOR回路
1410 入力線
1411 入力線
1412 入力線
1413 入力線
142 定数乗算器
143 XOR回路
144 NOR回路
145 AND回路
146 XOR回路
147 XOR回路
148 AND回路
149 反転器
151 変換回路
152 変換回路
153 加算回路
154 NOR回路(否定論理和回路)
155 NOR回路(否定論理和回路)
156 変換回路
157 NOR回路(否定論理和回路)
158 AND回路
161 XOR回路
162 XOR回路
163 XOR回路
164 XOR回路
165 XOR回路
166 XOR回路
Claims (26)
- データビットを処理するための方法において、
−第1の変換によって、前記データビットを第1のデータバイトに変換し、
−前記第1のデータバイトをメモリに記憶し、
−第2のデータバイトを前記メモリから読み出し、
−前記第2のデータバイトはそれぞれ、誤りのない場合には、ブロック誤り符号の符号語であり、
−第2のデータバイト毎に、前記第2のデータバイトが符号語であるか否かを表す誤り信号を決定する、
方法。 - 少なくとも1つの前記ブロック誤り符号を用いて、前記データビットを第1のデータバイトに変換する、
請求項1記載の方法。 - 前記少なくとも1つのブロック誤り符号は、m−out−of−n符号である、
請求項2記載の方法。 - 少なくとも1つの前記誤り信号に基づいて、誤り訂正を実施する、
請求項1から3までのいずれか1項記載の方法。 - 前記データビットは、誤り符号を用いてコーディングされている、
請求項1から4までのいずれか1項記載の方法。 - 前記第2のデータバイトを、前記第1の変換とは逆の変換である第2の変換によって第2の逆データバイトに変換する、
請求項5記載の方法。 - 前記第2のデータバイトが前記ブロック誤り符号の符号語ではない場合には、前記誤り信号に基づいて、前記第2の逆データバイトの訂正を、前記誤り符号を用いて行う、
請求項6記載の方法。 - 前記第2の逆データバイトの基礎をなす前記第2のデータバイトが前記ブロック誤り符号の符号語ではないことを前記誤り信号が示す場合には、少なくとも1つの第2の逆データバイトを、前記誤り信号に基づいて、前記誤り符号を用いて訂正する、
請求項6または7記載の方法。 - 誤り信号が誤りのあるi番目の第2のデータバイトおよび誤りのあるj番目の第2のデータバイトを示す場合には、i番目の第2の逆データバイトXi’に対するバイト訂正値eiを、誤りシンドロームの部分シンドロームs1およびs2、バイト位置i、および成分毎のXOR和αi+αjに依存して決定し、ただしαは使用されるガロア体の生成元である、
請求項6から8までのいずれか1項記載の方法。 - 前記i番目の第2の逆データバイトXi’を訂正するための前記バイト訂正値eiを、次式に従い決定する、
- 前記バイト訂正値eiを、次式に従い決定する、
請求項9記載の方法。 - 少なくとも2つのバイト訂正値を並列に決定し、少なくとも1つのバイト訂正値を、訂正の必要がない正しい第2の逆データバイトに対して決定する、
請求項9から11までのいずれか1項記載の方法。 - −前記第1のデータバイト、および前記第1のデータバイトに基づいて決定される第1の検査ビットを前記メモリに記憶し、
−第2のデータバイトおよび第2の検査ビットを前記メモリから読み出し、
−前記第2のデータバイトが前記ブロック誤り符号の符号語ではない場合には、前記誤り信号および前記第2の検査ビットに基づいて、前記第2のデータバイトの訂正を行う、
請求項1から12までのいずれか1項記載の方法。 - 訂正された前記第2のデータバイトを、前記第1の変換とは逆の変換である第2の変換によって、訂正された第2の逆データバイトに変換する、
請求項13記載の方法。 - 少なくとも2つの第2のデータバイトに対する少なくとも2つのバイト訂正値を並列に決定し、少なくとも1つのバイト訂正値を、訂正の必要がない正しい第2のデータバイトに対して決定する、
請求項13または14記載の方法。 - 少なくとも2つのグループ誤り、または既知でないバイト位置における誤りの誤り訂正を実施する、
請求項1から15までのいずれか1項記載の方法。 - ある特定の第2のデータバイトが対応する前記ブロック誤り符号の符号語ではないことを前記誤り信号が示す場合には、前記第2のデータバイトの少なくとも1つの誤りのあるビットを、前記グループ誤りを考慮して訂正する、
請求項16記載の方法。 - 誤りのある第2のデータバイトを、並列にまたは実質的に並列に訂正する、
請求項13から17までのいずれか1項記載の方法。 - 前記第1のデータバイトも前記第2のデータバイトも、それぞれ12ビットより多くのビットを含んでいない、
請求項1から18までのいずれか1項記載の方法。 - 前記第2のデータバイトのうちの少なくとも2つに対する少なくとも2つの誤り信号を、並列にまたは実質的に並列に決定する、
請求項1から19までのいずれか1項記載の方法。 - データビットを処理するための装置において、
−前記装置は、処理ユニットを含んでおり、前記処理ユニットは、
−第1の変換によって、前記データビットを第1のデータバイトに変換し、
−前記第1のデータバイトをメモリに記憶し、
−誤りのない場合にはそれぞれがブロック誤り符号の符号語である第2のデータバイトを前記メモリから読み出し、
−第2のデータバイト毎に、前記第2のデータバイトが符号語であるか否かを表す誤り信号を決定する、
ように構成されている、
装置。 - 前記メモリは、以下のコンポーネント、すなわち、
−キャッシュメモリ、
−レジスタまたはレジスタアレイ、
−フラッシュメモリ、
−MRAM、
−SRAM、
−RE−RAM、
−PC−RAM、
−FE−RAM、
−CB−RAM、
−マルチビットメモリ、
−マルチレベルメモリ、
のうちの少なくとも1つを含んでいる、
請求項21記載の装置。 - 前記メモリは、前記装置の一部であるか、または前記装置とは別個に形成されている、
請求項21または22記載の装置。 - 前記処理ユニットは、さらに、前記第1の変換とは逆の変換である第2の変換によって、前記第2のデータバイトを第2の逆データバイトに変換するように構成されている、
請求項21から23までのいずれか1項記載の装置。 - 前記処理ユニットは、さらに、
−前記第1のデータバイト、および前記第1のデータバイトに基づいて決定される第1の検査ビットを記憶し、
−前記第2のデータバイトおよび第2の検査ビットを前記メモリから読み出し、
−前記第2のデータバイトが前記ブロック誤り符号の符号語ではない場合には、前記誤り信号および前記第2の検査ビットに基づいて、前記第2のデータバイトを訂正する、
ように構成されている、
請求項21から24までのいずれか1項記載の装置。 - データビットを処理するための装置において、前記装置は、
−第1の変換によって、前記データビットを第1のデータバイトに変換する手段、
−前記第1のデータバイトをメモリに記憶する手段、
−誤りのない場合にはそれぞれがブロック誤り符号の符号語である第2のデータバイトを前記メモリから読み出す手段、
−第2のデータバイト毎に、前記第2のデータバイトが符号語であるか否かを表す誤り信号を決定する手段、
を含んでいる、
装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023216831A JP2024029084A (ja) | 2018-04-10 | 2023-12-22 | グループ誤りを用いる誤り検出 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102018108446.3 | 2018-04-10 | ||
DE102018108446 | 2018-04-10 | ||
DE102018131613.5A DE102018131613A1 (de) | 2018-04-10 | 2018-12-10 | Fehlererkennung mittels Gruppenfehler |
DE102018131613.5 | 2018-12-10 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023216831A Division JP2024029084A (ja) | 2018-04-10 | 2023-12-22 | グループ誤りを用いる誤り検出 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019186939A true JP2019186939A (ja) | 2019-10-24 |
Family
ID=67991460
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019074125A Pending JP2019186939A (ja) | 2018-04-10 | 2019-04-09 | グループ誤りを用いる誤り検出 |
JP2023216831A Pending JP2024029084A (ja) | 2018-04-10 | 2023-12-22 | グループ誤りを用いる誤り検出 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023216831A Pending JP2024029084A (ja) | 2018-04-10 | 2023-12-22 | グループ誤りを用いる誤り検出 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10903859B2 (ja) |
JP (2) | JP2019186939A (ja) |
DE (1) | DE102018131613A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020120719A1 (de) | 2020-08-05 | 2022-02-10 | Infineon Technologies Ag | Zugriff auf einen speicher |
DE102022101798B3 (de) | 2022-01-26 | 2023-07-20 | Infineon Technologies Ag | Fehlerverarbeitung |
US12079508B2 (en) * | 2022-07-19 | 2024-09-03 | Micron Technology, Inc. | Efficient error signaling by memory |
DE102023102337A1 (de) | 2023-01-31 | 2024-08-01 | Infineon Technologies Ag | Fehlererkennung |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59201557A (ja) * | 1983-04-28 | 1984-11-15 | Matsushita Electric Ind Co Ltd | 送受信システム |
JPH1145188A (ja) * | 1997-07-25 | 1999-02-16 | Sony Corp | エラー訂正装置およびその方法、ならびに、ディジタル信号再生装置およびその方法 |
JP2000091924A (ja) * | 1998-09-07 | 2000-03-31 | Sony Corp | 誤り訂正符号の復号方法および復号装置 |
JP2010257523A (ja) * | 2009-04-24 | 2010-11-11 | Panasonic Corp | データテープ制御装置 |
JP2011509478A (ja) * | 2008-01-11 | 2011-03-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 構成の仮想トポロジの変化 |
JP2015502001A (ja) * | 2011-11-30 | 2015-01-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ダイナミック・メモリ用の拡張データ保持モード |
JP2015014880A (ja) * | 2013-07-04 | 2015-01-22 | 富士通株式会社 | データ管理装置、及びデータ管理装置の制御方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100265769B1 (ko) * | 1998-05-19 | 2000-09-15 | 윤종용 | 광 디스크 시스템에서의 에러 정정 장치 및 그 에러 정정 방법 |
US6615387B1 (en) * | 1998-09-22 | 2003-09-02 | Seagate Technology Llc | Method and apparatus for error detection |
KR100917883B1 (ko) * | 2003-02-25 | 2009-09-16 | 삼성전자주식회사 | 에러 정정을 위한 에러 플래그 생성 장치 및 그 방법 |
US7861141B2 (en) * | 2005-10-21 | 2010-12-28 | Mediatek Inc. | Method and device for error analysis of optical disc |
US20140013181A1 (en) * | 2012-07-04 | 2014-01-09 | Lisa Fredrickson | Error Correction Coding Using Large Fields |
US9594642B1 (en) * | 2016-01-05 | 2017-03-14 | International Business Machines Corporation | Iterative decode and post-decode microcode cut and paste optimization |
-
2018
- 2018-12-10 DE DE102018131613.5A patent/DE102018131613A1/de active Pending
-
2019
- 2019-04-09 JP JP2019074125A patent/JP2019186939A/ja active Pending
- 2019-04-10 US US16/380,089 patent/US10903859B2/en active Active
-
2023
- 2023-12-22 JP JP2023216831A patent/JP2024029084A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59201557A (ja) * | 1983-04-28 | 1984-11-15 | Matsushita Electric Ind Co Ltd | 送受信システム |
JPH1145188A (ja) * | 1997-07-25 | 1999-02-16 | Sony Corp | エラー訂正装置およびその方法、ならびに、ディジタル信号再生装置およびその方法 |
JP2000091924A (ja) * | 1998-09-07 | 2000-03-31 | Sony Corp | 誤り訂正符号の復号方法および復号装置 |
JP2011509478A (ja) * | 2008-01-11 | 2011-03-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 構成の仮想トポロジの変化 |
JP2010257523A (ja) * | 2009-04-24 | 2010-11-11 | Panasonic Corp | データテープ制御装置 |
JP2015502001A (ja) * | 2011-11-30 | 2015-01-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ダイナミック・メモリ用の拡張データ保持モード |
JP2015014880A (ja) * | 2013-07-04 | 2015-01-22 | 富士通株式会社 | データ管理装置、及びデータ管理装置の制御方法 |
Non-Patent Citations (3)
Title |
---|
TENKASI V. RAMABADRAN: "A Coding Scheme for m-out-of-n Codes", IEEE TRANSACTIONS ON COMMUNICATIONS, vol. 38, no. 8, JPN6022055362, 1990, pages 1156 - 1163, XP000162507, ISSN: 0004956830, DOI: 10.1109/26.58748 * |
X. KAVOUSIANOS ET. AL.: "Design of Compact and High Speed Totally Self-Checking CMOS Checkers for m-out-of-n Codes", 1997 IEEE INTERNATIONAL SYMPOSIUM ON DEFECT AND FAULT TOLERANCE IN VLSI SYSTEMS, JPN6022055361, 1997, pages 128 - 136, XP010251255, ISSN: 0004956831, DOI: 10.1109/DFTVS.1997.628318 * |
和田知久, ガロア体の簡単な説明 (99・12・27)[ONLINE], JPN6022055360, 2 June 2005 (2005-06-02), ISSN: 0004956832 * |
Also Published As
Publication number | Publication date |
---|---|
US10903859B2 (en) | 2021-01-26 |
US20190312601A1 (en) | 2019-10-10 |
DE102018131613A1 (de) | 2019-10-10 |
JP2024029084A (ja) | 2024-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019186939A (ja) | グループ誤りを用いる誤り検出 | |
US6640327B1 (en) | Fast BCH error detection and correction using generator polynomial permutation | |
US11740960B2 (en) | Detection and correction of data bit errors using error correction codes | |
US4777635A (en) | Reed-Solomon code encoder and syndrome generator circuit | |
US7278085B1 (en) | Simple error-correction codes for data buffers | |
EP0290349B1 (en) | Method and apparatus for encoding using a Reed-Solomon error correction code | |
US10200065B2 (en) | Apparatus and method for correcting at least one bit error within a coded bit sequence | |
JPS63244935A (ja) | 誤り検出訂正方法とシステム | |
US20080016432A1 (en) | Error Correction in Multi-Valued (p,k) Codes | |
JP2011514743A (ja) | 受信したシンボル列におけるフェーズドバーストエラー、消失、シンボルエラー、及び、ビットエラーを検出及び訂正するための方法及びシステム | |
JP2024038056A (ja) | バイト誤り位置信号の決定および使用 | |
US20130139028A1 (en) | Extended Bidirectional Hamming Code for Double-Error Correction and Triple-Error Detection | |
KR20180095468A (ko) | 메모리의 메모리 셀들 내의 데이터의 처리 | |
JPS58191050A (ja) | 高速誤り訂正符号処理方法および装置 | |
KR19990028201A (ko) | 10 비트 리드-솔로몬 에러 정정 모듈을 위한 전용 alu구조 | |
JP4733403B2 (ja) | 復号器、データ記憶装置およびデータの誤り訂正の方法 | |
US20060168495A1 (en) | Computation of cyclic redundancy check | |
US10567007B2 (en) | Device and method of processing a data word using checkbits | |
US7093183B2 (en) | Symbol level error correction codes which protect against memory chip and bus line failures | |
US7085988B1 (en) | Hashing system utilizing error correction coding techniques | |
US8201060B2 (en) | Methods and systems for rapid error correction of Reed-Solomon codes | |
US7865807B2 (en) | Multi-valued check symbol calculation in error detection and correction | |
US20080140740A1 (en) | Systems and methods for processing data sets in parallel | |
US8645803B2 (en) | Methods and systems for rapid error correction by forward and reverse determination of coding states | |
EP0341851A2 (en) | Method and apparatus for interleaved encoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230726 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230822 |