JP5353655B2 - エラー検出・訂正符号生成回路及びその制御方法 - Google Patents

エラー検出・訂正符号生成回路及びその制御方法 Download PDF

Info

Publication number
JP5353655B2
JP5353655B2 JP2009263229A JP2009263229A JP5353655B2 JP 5353655 B2 JP5353655 B2 JP 5353655B2 JP 2009263229 A JP2009263229 A JP 2009263229A JP 2009263229 A JP2009263229 A JP 2009263229A JP 5353655 B2 JP5353655 B2 JP 5353655B2
Authority
JP
Japan
Prior art keywords
error detection
bits
bit
log
information
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.)
Active
Application number
JP2009263229A
Other languages
English (en)
Other versions
JP2011109476A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009263229A priority Critical patent/JP5353655B2/ja
Priority to EP10189814.6A priority patent/EP2326014B1/en
Priority to US12/948,816 priority patent/US8539302B2/en
Publication of JP2011109476A publication Critical patent/JP2011109476A/ja
Application granted granted Critical
Publication of JP5353655B2 publication Critical patent/JP5353655B2/ja
Active 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
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of 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/6575Implementations based on combinatorial logic, e.g. Boolean circuits

Landscapes

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

Description

本発明は、エラー検出・訂正符号生成回路及びその制御方法に関する。
データを入力してパリティビット及びECC(Error Check and Collection)検査ビットを生成するXOR(Exclusive-OR、排他的論理和演算、以下同様)回路ツリーが知られている。当該XOR回路ツリーでは、データ入力A乃至Pのうち、データ入力A乃至HがECC検査ビット及びパリティビットの生成に関与し、データ入力I乃至PがECC検査ビットの生成だけに関与する。そしてデータ入力A乃至Hがその生成に関与するパリティビットと、データI乃至Pがその生成に関与するECC検査ビットとが、データ入力A乃至Pに対するECC検査ビットの生成に関与する、
またデータビット及びデータビットに付されたエラー修正コードからパリティビットを算出するコード変換の方法が知られている。
特開平6−324951号公報 特開昭48−66334号公報
簡易な構成でエラー検出・訂正符号の生成を行い得る構成を提供することが課題である。
各バイトがnビットを有するmバイトの情報部分と、mバイトの情報部分に対しそれぞれ設けられるmビットのエラー検出用ビットの冗長部分とを含むエラー検出用ビット付きデータの前記mバイトの情報部分を入力する。そしてエラー検出・訂正符号付きデータの冗長部分のうち、log(n+1)ビットの一の部分を、log(n+1)の小数点以下を切り上げて生成する。生成した前記エラー検出・訂正符号付きデータの冗長部分のうちの前記一の部分と前記エラー検出用ビットとを入力する。そしてmビットの他の部分を生成する。
上記の構成によれば、簡易な構成でエラー検出・訂正符号の生成を行い得る。
SECDED符号の冗長部分を生成する回路の構成例を示す図である。 実施例によるSECDED符号の冗長部分を生成する回路の構成例を示す図である。 バイトパリティ符号の冗長部分を生成する回路の構成例を示す図である。 実施例によるバイトパリティ符号の冗長部分を生成する回路の構成例を示す図である。 図1に示す回路構成例の更に具体的な回路構成例を示す図である。 図2に示す回路構成例の更に具体的な回路構成例(その1)を示す図である。 図2に示す回路構成例の更に具体的な回路構成例(その2)を示す図である。 図3に示す回路構成例の更に具体的な回路構成例を示す図である。 図4に示す回路構成例の更に具体的な回路構成例(その1)を示す図である。 図4に示す回路構成例の更に具体的な回路構成例(その2)を示す図である。 実施例によるデータ演算装置の一例のブロック図である。 実施例によるデータ演算装置の他の例のブロック図である。
実施例の構成につき、以下に説明する。
最初に実施例の概要につき説明する。
1)実施例の第1の態様によれば、nビットの情報に対しエラー検出用ビット(すなわちパリティビット)1ビットを持つデータを想定する。そして上記nビットの情報と当該情報に対するパリティビット1ビットの計(n+1)ビットのデータを一単位(すなわち1バイト)とし、mバイト(すなわち(n+1)mビット)のデータαを想定する。すなわち当該(n+1)mビットのデータαは、nmビットの情報部分と、mビットのパリティビット(冗長部分)とを有する。ここで「冗長部分」とは、「情報部分」の誤りを検出、あるいは更に、当該検出された誤りを訂正する際に使用される情報を意味する。実施例の第1の態様では、当該データαのnmビットの情報部分と、mビットのパリティビットとに基づいて生成するmビットの冗長部分と、[log(n+1)](後述)ビットの冗長部分とからSECDED符号βを生成する。ここでSECDED符号はSingle bit Error Correct and Double bit Error Detect符号を意味する。また[X]は、X≦[X]<X+1を満たす自然数(すなわちXの小数点以下を切り上げた数)を示す。したがって上記[log(n+1)]は、log(n+1)≦[log(n+1)]<log(n+1)+1を満たす自然数、すなわちlog2(n+1)の小数点以下を切り上げて得られる数を示す。すなわち上記SECDED符号βは、上記データαのnmビットの情報部分と、mビットの冗長部分と、[log(n+1)]ビットの冗長部分とを有し、計(n+1)m+[log2 (n+1)]ビットを有する。
2)実施例の第2の態様によれば、上記1)実施例の第1の態様の方法において、上記SECDED符号βの冗長部分のうち、上記[log(n+1)]ビットの冗長部分(以下、β*と称する)を、上記データαのnmビットの情報部分を基に生成する。そして残りのβの冗長部分mビットを、上記データαのパリティビット及び上記β*のみから生成する。
3)実施例の第3の態様によれば、上記(n+1)m+[log2(n+1)] ビットのSECDED符号βから、各nビットの情報に対し1ビットのパリティを持つmバイトのデータ (すなわち (n+1)m ビットのデータ) αを生成する。
4)実施例の第4の態様によれば、上記3)実施例の第3の態様の方法のうち、SECDED符号βの全ビット(すなわち(n+1)m+[log2 (n+1)] ビット)中の数ビット(例えば[log(n+1)] ビット以下)から、データαのパリティビット中の任意の1ビットを生成する。
5)実施例の第5の態様によれば、上記2)実施例の第2の態様の方法と4)実施例の第4の態様の方法とを同時に実施する。
次に実施例の背景について説明する。電子回路は、エラー検出・訂正を行う回路(すなわちRAS回路:Reliability, Availability and Serviceability回路:信頼性、可用性及び保守性回路)を含む場合がある。RAS回路は電子回路の製造段階で発生した固定故障を検出するため、または製品使用時の電圧変動やα線、中性子線等の影響によるデータエラーを検出・訂正する際に使用される。エラーの検出・訂正を行うためには、ハードウェアとしてのRAS回路を設けることに加え、エラーの検出・訂正の対象となるデータを冗長化させることが必要である。エラーの検出・訂正の目的の相違によりデータに追加する冗長部分のサイズが異なる。
例えば、8ビットの情報(データ)毎に1ビットのパリティビット(論理的には上記情報8ビットの排他的論理和演算結果と同値な値)を設け、情報8ビットと上記パリティビットとの排他的論理和演算を算出する回路を設けて上記情報の1ビットエラーの検出を行う方法がある。当該方法の場合、仮に全情報のビット数が32ビットであったとすると、パリティビットとして32÷8=4ビットが必要になり、データは合計で36ビットになる。当該方法は、情報に対するエラー発生頻度がそれほど高くなく、万が一情報に複数ビットのエラーが発生しても当該エラーが近隣ビットに集中する傾向がなく、かつRAS回路にあまり多くの物量・実行レイテンシを与えられない場合に使われることが多い。一例として当該方法はプロセッサの演算器内部において使用される。以下、上記の如く、情報(情報部分)に対しパリティビット(冗長部分)が付されたデータであって、当該情報の1ビットエラーの検出を行うことが可能なデータを以下バイトパリティ符号と称する。
他方、データ壊れの修復が必要な場合、例えばRAM(Random Access Memory)から読み出したデータを扱う場合、エラー検出だけでなく訂正まで行えるRAS回路を設けることが多い。例えば32ビットデータに7ビットの冗長ビットを追加(計39ビット)することで、1ビットエラー訂正と2ビットエラー検出が可能な誤り訂正符号(すなわちECC:Error Correcting Code)を生成することができる。ここで上記「1ビットエラー訂正と2ビットエラー検出」は、SECDED(Single bit Error Correct and Double bit Error Detect)の意味を示す。したがってSECDED符号は「1ビットエラー訂正と2ビットエラー検出」符号を意味する。当該エラー訂正まで行えるRAS回路は、必要となる物量が比較的多く、エラー検出・訂正にも時間(レイテンシ)がかかる。SECDED符号としては、1ビットエラー訂正のみが可能なハミング符号に、全データの排他的論理和演算から生成される1ビットを付加した「拡張ハミング符号」が用いられることが多い。以下、上記の如く、情報(情報部分)に対しECC(冗長部分)が付されたデータであって、当該情報の2ビットエラーの検出及び1ビットエラーの訂正を行うことが可能なデータを以下SECDED符号と称する。
このようにRAS回路はその使用の場合の特徴に合わせて使い分けがなされ、使われるデータは、情報の内容が同じであってもRAS回路の種類に合わせてその形式が異なる。例えばデータがRAMから演算器へ送られる時にはSECDED符号からバイトパリティ符号へと変換がなされる。逆に演算器からRAMへデータが送られる場合には、データはバイトパリティ符号からSECDED符号へと変換される。
次に実施例の説明の便宜上、実施例に関連する技術(以下関連技術と称する)について説明する。関連技術では通常、バイトパリティ符号またはSECDED符号等のうちの冗長部分は、情報部分を利用して直接生成される。例えば、バイトパリティ符号の冗長部分は情報部分8ビットの排他的論理和演算から生成され、32ビットデータのSECDED符合の冗長部分は情報部分32ビット中のいくつかのビットの排他的論理和演算を行うことで生成される。異なる符号を扱う回路同士の間でデータのやりとりを行う場合にも、関連技術では相手の符合を利用して符合の生成を行うということは少ない。当然ながら、2つの異なる符合同士を相互利用しようという考えも少ない。これは、例えばバイトパリティ符号とSECDED符号とを想定した場合、当該2種の符号の冗長部分同士の関連性を見出すのが困難であることがその一因と考えられる。
異なる符合のそれぞれの冗長部分同士を相互に利用して互いの符号の生成に用いることができれば、符号生成等にかかる無駄な回路の削減や実行レイテンシの削減等が期待できる。実施例では、バイトパリティ符号とSECDED符号との間で相互変換を行う際、それぞれの冗長部分を互いに利用することにより、符号生成等にかかる無駄な回路の削減や実行レイテンシの削減等を図る。
実施例ではバイトパリティ符号とSECDED符号との間の冗長部分の関連性が容易に見い出せるようにするため、すなわち相互利用を行いやすくするため、SECDED符号の生成方法を工夫する。関連技術では、SECDED符号は上記の如く拡張ハミング符号であって、情報部分Nビットに対し冗長部分k=[log2(N+1)]+1[ビット]を付して生成される。ただしk<(log2(N+k+1))+1 の場合、冗長部分は k+1[ビット]となる。これに対し実施例の生成方法によれば、情報部分N=nm[ビット]に対し、冗長部分k= ([log(n+1)] +m)[ビット]を付してSECDED符号を生成する。
例えばn=8, m=4, N= nm = 32の場合、関連技術によるSECDED符号の冗長部分は k=([log2 33]+1)=6+1=7[ビット]であり、実施例によるSECDED符号の冗長部分はk=[log2 9]+4=4+4=8[ビット]である。実施例によるSECDED符号を使うことにより、当該SECDED符号の冗長部分から、情報nビットに対して1ビット設けられるパリティビット(すなわちバイトパリティ符号の冗長部分)を生成することが可能である。また逆に、情報nビットに対して1ビット設けられるパリティビット(すなわちバイトパリティ符号の冗長部分)を使って上記SECDED符号の冗長部分を生成することも可能である。実施例によるSECDED符号を使用することにより、RAS回路に含まれるゲート数の削減、RAS回路の動作の高速化(ディレイ削減)及びRAS回路の論理検証の容易性・カバレッジの向上が図れる。
以下に実施例について詳細に説明する。
まず、実施例によるSECDED符号の作り方を説明する。
実施例によるSECDED符号の情報部分のNビットは、ビット数nのブロック(すなわちバイト)m個からできているものとする。すなわちN=nmである。後述するように、上記1バイト(nビット)に対して1ビットのパリティビットを付けて、1バイト中1ビットのエラー検出ができるデータ(バイトパリティ符号)を生成する。最初に上記nmビットの情報部分からSECDED符号を作るための準備として、以下に数式1乃至数6で示される行列H(検査行列)を定義する。尚以下の説明において使われる行列およびベクトル空間は全て体F2={0,1}上で定義されるものとする。またd= [log(n+1)] と置き換えることにより、SECDED符号の冗長部分のビット数kはk= d+mと書ける。
検査行列H定義は以下の通りである。
Figure 0005353655
Figure 0005353655
Figure 0005353655
Figure 0005353655
Figure 0005353655
数5に示すBは、任意の0≦i,j≦nについて(i≠j)、b(i), b(j)(i≠j)が互いに線形独立な、d次の列ベクトルである。
Figure 0005353655
数6に示すCは、任意の0≦i,j≦nについて(i≠j)、c(i), c(j)(i≠j)がは互いに線形独立な、m次の列ベクトルである。また当該行列Cの各列ベクトルc(i) に現れる '1' の回数は奇数である。また当該行列Cに、現れる'1'の回数が1回のみの列ベクトルc(i) が存在する場合、数5の行列Bには、上からi番目の成分のみが'1' で、他の成分が'0'であるような列ベクトルが存在してはならない。また当該列ベクトルCに、現れる'1' の回数が1回のみの列ベクトルが複数c(i) ,...,c(j)存在する場合、行列Bには、上からi番目の成分のみが'1' で残りが'0'であるような列ベクトルが存在してはならず、...、上からj番目の成分のみが'1' で、他の成分が'0'であるような列ベクトルが存在してはならない。
ここで上記行列B,Cの作り方は一通りではない。また後述するように、当該検査行列Hに基づき、SECDED符号を生成する際に使用される生成行列を作成し得る。上記数1の検査行列Hは、その成分である列ベクトルを任意に3つ選んだとき、後述するように、当該3つの列ベクトルは互いに線形独立となることが確かめられる。当該条件はSECDED符号の検査行列であるための必要条件である。
当該検査行列Hの具体例を数7乃至数10に示す。すなわち例えば n=8, m=4の場合N=nm=32となり、d=[log2 9]=4となる。更に、数1に示される検査行列Hの各要素として、数7に示すものを考える。
Figure 0005353655
この場合、検査行列Hは数8に示す値を有する。
Figure 0005353655
ここで数8の検査行列HHに含まれる任意の3個の列ベクトルを採った場合、当該3個の列ベクトル相互間で同一となる組み合わせは存在しない。よって当該3つの列ベクトルは互いに線形独立である。したがって当該検査行列は上記SECDED符号の検査行列としての必要条件を満たす。
数7,数8の検査行列Hとは異なる例として、数9,数10に示すものも考えられる。
Figure 0005353655
Figure 0005353655
ここで数10の検査行列HHに含まれる任意の3個の列ベクトルを採った場合も、当該3個の列ベクトル相互間で同一となる組み合わせは存在しない。よって当該3つの列ベクトルは互いに線形独立である。したがってこの場合も上記SECDED符号の検査行列としての必要条件を満たす。
数8,数10に示される上記2つの検査行列(1),(2)の使い分け方につき後述する。
次にバイトパリティ符号とSECDED符号との間の冗長部分の変換方法につき説明する。
情報部分のNビットを横に並べた体F2上のベクトルを考える。情報部分は上記の如く、1バイト(=nビット)をm個有する。したがって情報部分のベクトルvは
Figure 0005353655
と表せる。ここで情報部分の各成分v(j)は0または1(すなわち体F2={0,1}の元 )である。
さらにこのvをバイトで区切って、バイトベクトルv を数12のように定義する。
Figure 0005353655
これを基に、バイトパリティ符号の元vp及びその冗長部分p、並びに上記検査行列Hに基づいて生成されるSECDED符号の元 vc 及びその冗長部分cを、体F2上のベクトルとして、数13のように定義する。
Figure 0005353655
また必要に応じてSECDED符号の冗長部分c はm次のベクトル c1 とd次のベクトル c2 とにより、数14のように表すこともある。
Figure 0005353655
次にパリティの定義により、上記vpの冗長部分のベクトルpの各成分pは、情報部分のベクトルvの各成分との間で、数15に示す関係を満たす。
Figure 0005353655
数15中の演算子「+」 は体F2上の加算、すなわち排他的論理和演算(排他的論理和演算)を示す。更に以下、ビット、行列、行列の要素、ベクトル、及びベクトルの要素の各々同士の間の演算を行う演算子「+」、及び「和」または「加算」の語は、同様に排他的論理和演算を示す。
次に符号の定義により、SECDED符号の元のベクトルvc が、検査行列Hに基づいた符号であるための必要十分条件を、数16に示す。数16中、ベクトル右上の「t」は転置(すなわち行ベクトルと列ベクトルとの間の置き換え)を意味する。
Figure 0005353655
また数16中、右辺の「0」はk次の零列ベクトルを意味する。上記数16の式(3)は、SECDED符号の元vcに反転ビット(=エラー)がない場合に成り立つ。SECDED符号の元vcにエラーが含まれる場合につき、以下に説明する。
SECDED符号の元vcにエラーが含まれる場合、上記数16の式(3)の左辺の計算結果は上記「0」以外の値を示す。具体的には、1ビットエラーの場合、数16の式(3)の左辺の計算結果(すなわち列ベクトル)は、検査行列Hに含まれる列ベクトルのうちのいずれか1つの列ベクトルと一致する。当該一致した列ベクトルの検査行列H中の位置に対応する、SECDED符号の元vcに含まれる情報部分vのビットが、当該エラーのビットである。よってエラーのビットの訂正が可能となる。
他方、2ビットエラーの場合、数16の式(3)の左辺の計算結果の列ベクトルは1ビットエラーの場合同様、上記「0」以外の値となるが、この場合、上記計算結果は、上位mビットに含まれる1の数が偶数個(0個を含む)の列ベクトルになる。例えば数8,数10の式(1)、(2)の検査行列Hに含まれる各列ベクトルを見ると分かるように、検査行列Hには、上位mビットに含まれる1の個数が偶数であるような列ベクトルは存在しない。ここで上位mビットとは、例えば数8,数10の式(1)、(2)の検査行列Hの例の場合、当該検査行列Hに含まれる各列ベクトル中、上半分の4ビットが該当する。よって上記の如くの上位mビットに含まれる1の数が偶数個(0個を含む)の列ベクトルが算出された場合、2ビット(もしくはそれ以上)のエラーが発生したと考えられる。この場合にはエラーのビットを特定することはできない。すなわち検出のみが可能である。このように、実施例による検査行列Hに基づいて生成されるSECDED符号によれば、当該SECDED符号の情報部分vの1ビットエラーを訂正可能であり2ビットエラーを検出可能である。よって実施例によるSECDED符号はSECDED符号としての本来の機能を有することが分かる。
次に、数16の式(3)の左辺H・vctを、上記検査行列Hの各要素を使用して、数17のように書き換えることができる。
Figure 0005353655
また数17中、最下段の式の各項は、数18のように書き換えることができる。
Figure 0005353655
したがって上記数17中、最下段の式の各項は数19のように表し得る。
Figure 0005353655
また数17中、最下段の式の他の各項は、数20のように表し得る。
Figure 0005353655
したがって数16の式(3)から数21の上段の関係式が得られ、当該関係式から数21の関係式(4)が得られる。
Figure 0005353655
尚、上記の計算中、上記体F2の性質、−1=+1、が使用されている。
数21の関係式(4)は実施例によるSECDED符号の冗長部分を求める式であり、当該冗長部分は列ベクトルの形で求まる。
当該関係式(4)から、当該列ベクトルの下位dビット(すなわち c2 t )は情報部分vのいくつかの成分の和から生成され、上位mビット(すなわちc1 t)は,上記生成され得た冗長部分の下位dビット(すなわちc2 t)のいくつかの成分とパリティ1ビットptとの和によって生成されることが分かる。特に、上記下位dビットはB・vi-1 tの形(i=1,...,m)の列ベクトルを繰り返し加算することで得られる。このため、例えば、vi-1 tに対する、行列Bによる変換回路を1つだけ設け、当該変換回路から得られるB・vi-1 tを、iを更新しながら毎サイクル繰り返し加算することによってc2 t を算出するような回路を実現可能である。その結果c2 tを生成する回路の規模を、通常の約1/mに抑えることができる。他方レイテンシを重視する場合には上記関係式(4)に示される多項式B・v0 t + B・v1 t + … + B・vm-1 tを直接求める回路を設ければ良い。更に、上記2種の回路を組み合わせたハイブリッド版の回路も考え得る。
また上記関係式(4)の上位mビットにつき、数22の関係式(5)を得る。
Figure 0005353655
数22の関係式(5)は実施例によるバイトパリティ符号の冗長部分を求める式であり、当該関係式(5)によれば、パリティビットは実施例によるSECDED符号の冗長部分c1,c2のみから生成可能である。
ここで関係式(5)の右辺の列ベクトルの1つの成分に着目し、関係式(5)の右辺の計算に必要な項の数を考える。そうすると、当該右辺中、最初のc1 t の部分で最大1個、次のC・c2 t の部分で最大d個の項が出現することが分かる。よって実施例によるパリティビットの生成に必要とされる項数はd+1=[log(n+1)]+1以下であることが分かる。
例えば n=8 場合を考えると、数15から、関連技術によるパリティビットの生成には8個の項が必要だが、実施例によれば、d+1=[log2(8+1)]+1=[log2 9]+1=5 であり、最大でも5個の項のみを使用してパリティビットを生成可能である。同様にn=16 の場合、関連技術では16個の項が必要であるのに対し、実施例によれば最大でも[log2(16+1)]+1=6[個]の項で済む。
また、関係式(5)から、実施例によるパリティビットの生成方法によれば、パリティビット生成時、加算する項数を決めるのは行列Cであることが分かる。したがって当該加算する項数を最も少なく抑えるためには、当該行列Cとして、各列ベクトルの成分に、'1'が1回のみ現れるものを使用すればよい。すなわち行列Cが正方行列の場合には、行列Cが置換行列(単位行列を含む)であればよく、一例として数9,数10に示す検査行列(2)に使用される数9中の行列Cが挙げられる。この場合に必要な項数は2個(後述する数31の式(2−2)参照)であり、c1 tとc2 tの成分それぞれ1個ずつの和(すなわち排他的論理和演算)を算出するだけで全てのパリティビットが生成できる。この例は、SECDED符号の形式でメモリに保存されたデータをバイトパリティ符号の形式のデータに変換して読み出す場合に極めて有効である。すなわちこの場合のデータ変換に必要な回路では、パリティビットの各1ビットに対し2入力XOR回路 を1個のみ設ければよい(後述する図10参照)。
以下に、具体的にn=8,m=4の場合の例につき説明する。検査行列Hとしては、数8に示される式(1)を使用する。当該例の場合、各記号の内容は数23に示すとおりである。
Figure 0005353655
これらの内容をSECDED符号の生成の際に使用される関係式(4)に当てはめると、数24のように、SECDED符号の冗長部分c0,...,c7が得られる。
Figure 0005353655
数24中、式(1−1)から、SECDED符号の冗長部分としての列ベクトル(c0,...,c7)の各成分の生成において、加算する項数が最も多いもので12個(c4,...,c7)、最も少ないもので4個(c0,...,c3)であることが分かる。これらを合計すると、12×4 + 4×4 = 64となり、全体で64個の項が使用される。
他方、複数サイクルによる生成を考えると、数24中、式(1−2)から、当該冗長部分の下位4ビット(c4,...,c7)の各1ビットは、「3個の項の加算」×4[サイクル]で生成し得ることが分かる。このように実施例によれば、SECDED符号を生成する回路の物量を更に減らすことができ、必要な演算の簡略化が可能である。
ここで比較のため、関連技術によるSECDED符号の検査行列を用いて32ビットデータのSECDED符号を生成する場合について説明する。この場合検査行列として数25に示すものを用いるが、これは符号生成を行う際の加算回数が最も少なくなるものの一つを選んだものである。
Figure 0005353655
この場合、数26に示すようにSECDED符号の冗長部分としての列ベクトル(c0,...,c6)が得られる。
Figure 0005353655
より具体的には、例えば数25の検査行列中、1行目の1,...,32番目までの値が、数23の最上段に示す情報部分vの32ビットとそれぞれ掛け合わされる。その結果当該検査行列の1行目の32個のうちの"1"に対応する情報部分vのそれぞれのビットの和として、数26の右辺の行列の1行目が得られる。
数26の例の場合、SECDED符号の冗長部分の各成分の生成において、加算する項数が最も多いものが15個(c6)、少ない所で11個(c3)である。合計すると、全体として、14×3 + 11 + 13×2 + 15 = 94[個]となる。上記の如く実施例の場合、全体が64個であったため、94/64 = 1.46875となり、当該関連技術による例の場合、実施例による例の場合の約1.5倍の数の項が使用されることが分かる。
また数25,26に示す関連技術による例の場合、実施例による例の場合に可能であった演算の簡略化(数24中、式(1−2))を行うことができない。
このように、SECDED符号の冗長部分の生成に要される演算量の観点から、関連技術よりも実施例の方が優れていると言える。言い換えると、SECDED符号の冗長部分の生成に要される回路の規模・設計の自由度の観点から、関連技術よりも実施例の方が優れていると言える。また演算処理のディレイ(レイテンシ)の観点からも、関連技術よりも実施例の方が優れていると言える。
次にバイトパリティ符号の冗長部分を生成する際に使用される数22の関係式(5)に、数23を当てはめると数27の関係式(1−3)が得られる。
Figure 0005353655
当該関係式(1−3)から、実施例による例の場合、パリティビット(p0,...,p3)の各1ビットの生成に必要な項は4個であることが分かる。
他方関連技術によるパリティビットの生成の例の場合、数28のようになる。
Figure 0005353655
したがって関連技術による例の場合、パリティビット(p0,...,p3)の各1ビットの生成に必要な項は8個であり、数27に示される実施例による例の場合の4個に比し、2倍である。したがってバイトパリティ符号の生成についても、必要な回路規模等の観点から、実施例の方が関連技術よりも優れていると言える。
また数1に示される如くの、実施例によるSECDED符号の検査行列H内の各要素から導き出される数21の関係式(4)において、行列Bが繰り返し現れる。これはSECDED符号の冗長部分の生成の際の論理において小規模論理モジュールを繰り返し使えることを意味し、例えば当該論理の論理検証の際、上記小規模モジュール単位に切り分けて論理を検証し得る。他方関連技術のハミング符号によればSECDED符号の冗長部分を生成する回路には特に規則性がなく、論理検証の単位は検査行列全体となる。すなわち、実施例によれば関連技術に比して論理回路の論理検証が容易となり、その結果、検証カバレッジが向上する。
次に、数10の検査行列(2)を使用する場合について説明する。検査行列(2)に基づいて数21の関係式(4)を計算すると、数29,数30を経て、数30の関係式(2−1)が得られる。
Figure 0005353655
Figure 0005353655
この場合のSECDED符号の冗長部分の生成に係る論路では、数30の関係式(2−1)から、加算する項数として最も多いもの(c5,c6)が20個、少ないもの(c0,...,c3)が2個である。すなわち数8の検査行列(1)を使用した場合の数24の関係式(1−2)よりもバラツキがある。当該関係式(2−1)全体では80個の項を使用している。これは関連技術の場合に必要な項数(94個)よりも少ないが、検査行列(1)の場合に比べると多い。他方バイトパリティ符号の冗長部分を生成する数22の関係式(5)に検査行列(2)を当てはめると、数31の関係式(2−2)が得られる。
Figure 0005353655
当該関係式(2−2)から、パリティビットの各1ビットを生成する際に必要な項数は、2個であることが分かる。したがってSECDED符号の冗長部分を生成する論理を軽くしたい場合に検査行列(1)を使用し、バイトパリティ符号の冗長部分を生成する論理を軽くしたい場合に検査行列(2)を使用する、というように、目的に応じて検査行列を使い分けることが望ましい。
図1は関連技術によるSECDED符号の冗長部分を生成する回路の構成例を示す。すなわち当該回路は数32の論理を実現する回路である。
Figure 0005353655
ここで数32中の各Gi(v) (i=0,...,k-1),すなわち図1中の各Gi(i=0,...,k-1)、11,11,...,11m−1,11,...,11k−1 の各々は、情報部分vを入力とする関数、すなわちベクトルvのいくつかの成分を入力とする多入力XOR回路である。また数32、右辺のGは、SECDED符号の冗長部分を生成する際に使用される生成行列である。
図2は実施例によるSECDED符号の冗長部分を生成する回路の構成例を示す。すなわち当該回路は数33,数34の論理を実現する回路である。
Figure 0005353655
Figure 0005353655
数33は数21の関係式(4)中、上位mビットの部分に対応し、数34は数21の関係式(4)中、下位dビットの部分に対応する。
数33中の各Ci(c2)(i=0,...,m-1),すなわち図2中の各Ci(i=0,...,m-1)、13,13,...,13m−1の各々は、 c2を入力とする関数、すなわちベクトルc2のいくつかの成分を入力とする多入力XOR回路である。また数33の右辺のCは、数6に示す、「検査行列Hの定義」中に定義されている行列Cである。
数34中、各Gi(v)(i=m,...,k-1),すなわち図2中の各Gi(i=m,...,k-1)、12,...,12k−1の各々は、情報部分vを入力とする関数、すなわちベクトルvのいくつかの成分を入力とする多入力XOR回路である。
また数34中、各Bi(v)、図2中、各Biはvを入力とする関数、すなわちベクトルvj のいくつかの成分を入力とする多入力XOR回路である。また数34の右辺のBは、数5に示す、「検査行列Hの定義」中で定義されている行列Bである。
図3は関連技術によるバイトパリティ符号の冗長部分を生成する回路の構成例を示す。
図3中、各p(i=0,...,m-1)は、数35(数15と同様)で定義される、パリティビットの各1ビットである。
また図3中、14i(i=0,...,m-1)は各々、情報部分vの各成分v(j)(i=0,...,m-1, j=0,...,n-1)を入力とするn入力XOR回路である。
Figure 0005353655
図4は、実施例によるバイトパリティ符号の冗長部分を生成する回路の構成例を示し、すなわち数36の論理を実現する回路例を示す。
Figure 0005353655
図4中のCi(i=0,...,m-1)、15,15,...,15m−1、すなわち数36中のCi(c2)(i=0,...,m-1)の各々は、c2を入力とする関数、すなわちベクトルc2のいくつかの成分を入力とする多入力XOR回路である。数36の右辺のCは、数6に示す、「検査行列Hの定義」中で定義されている行列Cである。
次に図5乃至図10とともに、図1乃至図4に示す回路構成例の更に具体的な回路構成例について説明する。
この場合、情報部分として、n=8, m=4とした32ビットのデータを想定する。
32ビットの情報部分vを、数37のように表す。
Figure 0005353655
ただし、必要に応じて情報部分vの成分の添字を数38のように表すことがある。
Figure 0005353655
数38のように添字を書き直したvの成分のビットは、数37に示すvの成分のビットとの間で、それぞれ左から順に、数39に示す対応関係を有する。
Figure 0005353655
またm=4なので、パリティビットは数40に示すように、4ビットである。
Figure 0005353655
よってバイトパリティ符号(すなわち上記α)は数41のように表され、32+4=36[ビット]のデータである。
Figure 0005353655
また数42の通り、
Figure 0005353655
d=[log2(8+1)]=4である。よってSECDED符号(すなわち上記β)のサイズは、α+4=36+4=40[ビット]である。またSECDED符号βの冗長部分cのサイズは、40−32=8[ビット]である。更に、SECDED符号βの冗長部分c及びSECDED符号βは、数43のように表される。
Figure 0005353655
更に上記「βの冗長部分のうちの[log2 (n+1)] ビット=β*」(すなわちd[ビット])は数44に示される。
Figure 0005353655
又上記「残りのβの冗長部分mビット」は数45に示される。
Figure 0005353655
図5は図1に示す回路構成例の更に具体的な回路構成例を示す図であり、7個のXOR回路11,...,116を有し、数26の論理を実現する回路である。
図6は図2に示す回路構成例の更に具体的な回路構成例(その1)を示し、バイトパリティ符号からSECDED符号を生成する変換回路(図11,12中、ECC生成回路2)の構成例を示す。図6の回路は、数8の関係式(1)で示される検査行列Hに基づくものであり、数24の関係式(1−1)、(1−2)の論理を実現する。図6中、4個のXOR回路13,...,13はSECDED符号の冗長部分のうちの上位mビット(c0,...,c3)を生成し、他の4個のXOR回路12,...,12はSECDED符号の冗長部分のうちの下位dビット(c4,...,c7)を生成する。
図6に示す如く実施例によれば、SECDED符号βの冗長部分のうちの下位dビット(c4,...,c7) 、すなわち[log2 (n+1)]=4[ビット](β*)を、バイトパリティ符号αの情報部分vを基に生成する。そして残りのβの冗長部分(すなわち上記m=4[ビット])(c0,...,c3)を、バイトパリティ符号αのパリティビット(p0,...,p3)及び上記生成されたβ*(c4,...,c7)のみから生成する。
図7は図2に示す回路構成例の更に具体的な回路構成例(その2)を示し、実施例による、バイトパリティ符号からSECDED符号を生成する変換回路(図11,12中、ECC生成回路2)の構成例を示す。図7の回路は、数10の関係式(2)で示される検査行列Hに基づくものであり、数30の関係式(2−1)の論理を実現する。図7中、4個のXOR回路13A,...,13AはSECDED符号の冗長部分のうちの上位mビット(c0,...,c3)を生成し、他の4個のXOR回路12A,...,12AはSECDED符号の冗長部分のうちの下位dビット(c4,...,c7)を生成する。
図7に示す如く、実施例によれば図6の場合同様、SECDED符号βの冗長部分のうちの下位dビット(c4,...,c7) 、すなわち[log2 (n+1)]=4[ビット](β*)を、バイトパリティ符号αの情報部分vを基に生成する。そして残りのβの冗長部分(すなわち上記m= 4[ビット])(c0,...,c3)を、バイトパリティ符号αのパリティビット(p0,...,p3)及び上記生成されたβ*(c4,...,c7)のみから生成する。
図8は図3に示す回路構成例の更に具体的な回路構成例を示し、関連技術によるバイトパリティ符号を生成する回路であり、4個のXOR、14,...,14を有し、数28の論理を実現する。
図9は図4に示す回路構成例の更に具体的な回路構成例(その1)を示し、実施例による、SECDED符号からバイトパリティ符号を生成する変換回路(図11,12中、パリティ生成回路5)の回路構成例を示す。図9の回路は、数8の関係式(1)で示される検査行列Hに基づくものであり、4個のXOR、15,...,15によって、数27の関係式(1−3)の論理を実現する。実施例によれば当該回路により、上記の如く、ビット数=[log2 (n+1)]=4[ビット]以下のビット(図9の例の場合4ビット)から、バイトパリティ符号αのパリティビット中の任意の1ビットを生成する。
図10は図4に示す回路構成例の更に具体的な回路構成例(その2)を示し、実施例による、SECDED符号からバイトパリティ符号を生成する変換回路(図11,12中、パリティ生成回路5)の回路構成例を示す。図10の回路は、数10の関係式(2)で示される検査行列Hに基づくものであり、4個のXOR、15A,...,15Aによって、数31の関係式(2−2)の論理を実現する。実施例によれば当該回路により、上記の如く、ビット数=[log2 (n+1)]=4[ビット]以下のビット(図10の例の場合2ビット)から、バイトパリティ符号αのパリティビット中の任意の1ビットを生成する。
図11は、実施例によるデータ演算装置の一例のブロック図である。図11のデータ演算装置は図示の如く、演算器1,ECC生成回路2,メモリ3,エラー検出・訂正回路4及びパリティ生成回路5を有する。
メモリ3には上記実施例によるSECDED符号の形式のデータが保持される。演算器1はデータに対し演算処理を実行する。演算器1が演算処理を実行する際、メモリ3から演算処理の対象となるデータを読み出す。当該読み出されたデータは上記の如く、実施例によるSECDED符号の形式のデータであり、当該データに対し、まずエラー検出・訂正回路4がエラー検出・訂正処理を実行する。エラー検出・訂正回路4は上記RAS回路を含み、当該メモリ3から読み出されたSECDED符号の冗長部分を使用し、当該SECDED符号の情報部分のエラーを検出する。上記の如く、SECDED符号は、1ビットエラーに対し当該エラーを検出し且つ訂正し、2ビットエラーに対し当該エラーを検出することを可能にする構成を有する。したがってエラー検出・訂正回路4は、与えられたSECDED符号の情報部分の1ビットエラーに対し当該エラーを検出し且つ訂正し、2ビットエラーに対し当該エラーを検出する構成を有する。エラー検出・訂正回路4は当該エラー検出・訂正処理を実行後、SECDED符号をパリティ生成回路5に渡す。またエラー検出・訂正回路4は、ビットのエラーを訂正した際、訂正後のビットをメモリ3に上書きする。
パリティ生成回路5はエラー検出・訂正回路4から与えられたSECDED符号をバイトパリティ符号に変換し、変換後のバイトパリティ符号を演算器1に渡す。パリティ生成回路5は例えば図4の如く構成を有する。その場合パリティ生成回路5はSECDED符号の冗長部分に基づき、XOR回路15,...,15m−1を使用し、バイトパリティ符号の冗長部分であるパリティビットp0,...,pm-1を生成する。パリティ生成回路5は当該生成されたパリティビットをSECDED符号の情報部分に付し、バイトパリティ符号を得、演算器1に渡す。
演算器1はパリティ生成回路5から渡されたバイトパリティ符号に対し演算処理を実行し、実行後のバイトパリティ符号をECC生成回路2に渡す。ECC生成回路2は渡されたバイトパリティ符号をSECDED符号に変換し、変換後のSECDED符号をメモリ3に書き込む。
ECC生成回路2は例えば図2の如くの構成を有する。その場合ECC生成回路2はバイトパリティ符号の情報部分vに基づき、XOR回路12,...,12k−1を使用してSECDED符号の冗長部分の下位dビット(cm,...,ck-1)を生成する。次にECC生成回路2は当該SECDED符号の冗長部分の下位dビット(cm,...,ck-1)及びバイトパリティ符号のパリティビット(p0,...,pm-1)に基づき、XOR回路13,...,13m−1を使用してSECDED符号の冗長部分の上位mビット(c,...,cm-1)を生成する。そしてECC生成回路2は当該生成されたSECDED符号の冗長部分の下位dビット及び上位mビットをバイトパリティ符号の情報部分に付してSECDED符号を得、当該SECDED符号をメモリ3に書き込む。
図12は実施例によるデータ演算装置の他の例のブロック図である。
図12のデータ演算装置の他の例は、メモリ3から演算器1への読み出し速度を優先する構成を有する。
図12のデータ演算装置は図示の如く、演算器1,ECC生成回路2,メモリ3,エラー検出・訂正回路4及びパリティ生成回路5を有する。当該演算器1,ECC生成回路2,メモリ3,エラー検出・訂正回路4及びパリティ生成回路5はそれぞれ、上述した図11のデータ演算装置の演算器1,ECC生成回路2,メモリ3,エラー検出・訂正回路4及びパリティ生成回路5と同様の構成及び機能を有する。
図12の構成において、メモリ3には上記実施例によるSECDED符号の形式のデータが保持される。演算器1が演算処理を実行する際、メモリ3から演算処理の対象となるデータを読み出す。当該読み出されたデータはパリティ生成回路5に渡される。パリティ生成回路5は図11の例で説明した方法によって与えられたSECDED符号をバイトパリティ符号に変換し、変換後のバイトパリティ符号を演算器1に渡す。また上記読み出されたデータは同時にエラー検出・訂正回路4にも渡される。エラー検出・訂正回路4は渡されたデータ、すなわちSECDED符号に対し当該エラー検出・訂正処理を実行後、結果を演算器1に報告する。またエラー検出・訂正回路4はSECDED符号の情報部分のビットのエラーを訂正した際、訂正後のビットをメモリ3に上書きする。
演算器1はエラー検出・訂正回路4から得たエラー検出・訂正処理の結果に基づき、パリティ生成回路5から渡されたバイトパリティ符号に対し必要に応じてエラーの訂正を実行する。演算器1は当該必要に応じてエラー訂正が実行されたバイトパリティ符号に対し演算処理を実行する。演算器1は当該演算処理の実行後のバイトパリティ符号をECC生成回路2に渡す。ECC生成回路2は渡されたバイトパリティ符号を図11の例で説明した方法によってSECDED符号に変換し、変換後のSECDED符号をメモリ3に書き込む。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
各バイトがnビットを有するmバイトの情報部分と、前記mバイトの情報部分に対しそれぞれ設けられるmビットのエラー検出用ビットの冗長部分とを含むエラー検出用ビット付きデータの前記mバイトの情報部分を入力して、エラー検出・訂正符号付きデータの冗長部分のうち、log(n+1)ビットの一の部分を、log(n+1)の小数点以下を切り上げて生成する第1の排他的論理和演算回路と、
前記第1の排他的論理和演算回路が生成した前記エラー検出・訂正符号付きデータの冗長部分のうちの前記一の部分と前記エラー検出用ビットとを入力して、mビットの他の部分を生成する第2の排他的論理和演算回路とを有することを特徴とするエラー検出・訂正符号生成回路。
(付記2)
前記エラー検出用ビット付きデータの前記情報部分の各バイトをn個の要素を有するバイトベクトル、前記エラー検出用ビット付きデータの前記情報部分をm個の要素を有する情報ベクトルで表現した場合において、前記情報ベクトル及び前記エラー検出用ビットの行列演算によって前記一の部分のベクトル及び前記他の部分のベクトルを生成するエラー検出・訂正符号生成式にしたがい、前記情報ベクトルの値を入力して、前記第1の排他的論理和演算手段が前記一の部分を生成し、前記第1の部分及び前記エラー検出用ビットを入力して、前記第2の排他的論理和演算手段が前記他の部分を生成することを特徴とする付記1記載のエラー検出・訂正符号生成回路。
(付記3)
前記エラー検出・訂正符号付きデータは、(n+1)m+[log(n+1)]ビットを有し([log(n+1)]はlog(n+1)について小数点以下の切り上げたものを表す)、前記mnビットは前記情報部分であり、他のm+[log(n+1)]ビットは前記冗長部分であり、
当該冗長部分のうちの最大[log(n+1)]ビットを入力して、前記エラー検出用ビットを生成する第3の排他論理和演算回路を更に有することを特徴とする付記1記載のエラー検出・訂正符号生成回路。
(付記4)
前記エラー検出用ビット付きデータの前記情報部分の各バイトをn個の要素を有するバイトベクトルv(vi(0),vi(1),...,vi(n−2),vi(n−1))、前記エラー検出用ビット付きデータの前記情報部分をm個の要素を有する情報ベクトルv(v,v,...,vm−1)、尚前記エラー検出用ビット付きデータの前記冗長部分は前記m個の要素を有する情報ベクトルの要素に対しそれぞれ設けられる、mビットのエラー検出用ビットp(p,p,...,pm−2,pm−1)、前記エラー検出用ビット付きデータをバイトパリティ符号vp(v,p)で表現した場合において、前記エラー検出・訂正符号生成式
Figure 0005353655
にしたがい、前記バイトパリティ符号vp(v,p)の前記情報ベクトルv(v,v,...,vm−1)の値と前記エラー検出用ビットp(p,p,...,pm−2,pm−1)の値とを入力し、前記第1の排他的論理和演算手段が、前記エラー検出・訂正符号付きデータの前記冗長部分のうちの前記一の部分であるd次のベクトルcの値を生成し、前記第2の排他的論理和演算手段が、前記エラー検出・訂正符号付きデータの前記冗長部分のうちの前記他の部分であるm次のベクトルcの値を生成し、
前記エラー検出用ビットp(p,p,...,pm−2,pm−1)の各ビットpと、上記情報ベクトルv(v,v,...,vm−1)の各要素であるバイトベクトルv(vi(0),vi(1),...,vi(n−2),vi(n−1))とは以下の関係

=vi(0)+vi(1)+...+vi(n−2)+vi(n−1)

(「+」は排他的論理和演算、「t」は行列の転置を表す)を有することを特徴とする付記2記載のエラー検出・訂正符号生成回路。
(付記5)
mnビットの情報部分と、[log(n+1)]ビットの一の部分及びmビットの他の部分を有する冗長部分とを有する(n+1)m+[log(n+1)]ビットのエラー検出・訂正符号付きデータ([log(n+1)]はlog(n+1)について小数点以下の切り上げたものを表す)のうち、
前記冗長部分の最大[log(n+1)]ビットを有する第1のデータを入力して第1のエラー検出用ビットを生成する第1の排他的論理和演算回路と、
前記冗長部分の最大[log(n+1)]ビットを有する第2のデータを入力して第2のエラー検出用ビットを生成する第2の排他的論理和演算回路と、
を有することを特徴とするエラー検出用ビット生成回路。
(付記6)
エラー検出・訂正符号生成回路が有する第1の排他的論理和演算回路が、各バイトがnビットを有するmバイトの情報部分と、前記mバイトの情報部分に対しそれぞれ設けられるmビットのエラー検出用ビットを有する冗長部分とを含むエラー検出用ビット付きデータの前記情報部分を入力して、エラー検出・訂正符号付きデータの冗長部分のうち、log(n+1)ビットの一の部分を、log(n+1)の小数点以下を切り上げて生成するステップと、
前記エラー検出・訂正符号生成回路が有する第2の排他的論理和演算回路が、前記log(n+1)ビットの一の部分を生成するステップで生成された前記一の部分と前記エラー検出用ビットとを入力して、mビットの他の部分を生成するステップとを有することを特徴とするエラー検出・訂正符号生成回路の制御方法。
(付記7)
前記エラー検出用ビット付きデータの前記情報部分の各バイトをn個の要素を有するバイトベクトル、前記エラー検出用ビット付きデータの前記情報部分をm個の要素を有する情報ベクトルで表現した場合において、前記情報ベクトル及び前記エラー検出用ビットの行列演算によって前記一の部分のベクトル及び前記他の部分のベクトルを生成するエラー検出・訂正符号生成式にしたがい、前記log(n+1)ビットの一の部分を生成するステップにおいて、前記情報ベクトルを入力して前記一の部分を生成し、前記mビットの他の部分を生成するステップにおいて、前記第1の部分及び前記エラー検出用ビットを入力して前記他の部分を生成することを特徴とする付記6記載のエラー検出・訂正符号生成回路の制御方法。
(付記8)
前記エラー検出・訂正符号付きデータは、(n+1)m+[log(n+1)]ビットを有し、前記mnビットは前記情報部分であり([log(n+1)]はlog(n+1)について小数点以下の切り上げたものを表す)、他のm+[log(n+1)]ビットは前記冗長部分であり、
前記エラー検出・訂正符号生成回路が有する第3の排他的論理和演算回路が、当該冗長部分のうちの最大[log(n+1)]ビットを入力して、前記エラー検出用ビットの各ビットを生成するステップを更に有することを特徴とする付記6記載のエラー検出・訂正符号生成回路の制御方法。
(付記9)
前記エラー検出用ビット付きデータの前記情報部分の各バイトをn個の要素を有するバイトベクトルv(vi(0),vi(1),...,vi(n−2),vi(n−1))、前記エラー検出用ビット付きデータの前記情報部分をm個の要素を有する情報ベクトルv(v,v,...,vm−1)、尚前記エラー検出用ビット付きデータの前記冗長部分は前記m個の要素を有する情報ベクトルの要素に対しそれぞれ設けられる、mビットのエラー検出用ビットp(p,p,...,pm−2,pm−1)、前記エラー検出用ビット付きデータをバイトパリティ符号vp(v,p)で表現した場合において、前記エラー検出・訂正符号生成式
Figure 0005353655

にしたがい、前記バイトパリティ符号vp(v,p)の前記情報ベクトルv(v,v,...,vm−1)と前記エラー検出用ビットp(p,p,...,pm−2,pm−1)とを入力して、前記log(n+1)ビットの一の部分を生成するステップにおいて、前記エラー検出・訂正符号付きデータの前記冗長部分のうちの前記一の部分のd次のベクトルcを生成し、前記mビットの他の部分を生成するステップにおいて、前記エラー検出・訂正符号付きデータの前記冗長部分のうちの前記他の部分のm次のベクトルcを生成し、
尚前記エラー検出用ビットp(p,p,...,pm−2,pm−1)の各ビットpと、上記情報ベクトルv(v,v,...,vm−1)の各要素であるバイトベクトルv(vi(0),vi(1),...,vi(n−2),vi(n−1))とは以下の関係

=vi(0)+vi(1)+...+vi(n−2)+vi(n−1)

(「+」は排他的論理和演算、「t」は行列の転置を表す)を有することを特徴とする付記7記載のエラー検出・訂正符号生成回路の制御方法。
(付記10)
mnビットの情報部分と、[log(n+1)]ビットの一の部分及びmビットの他の部分を有する冗長部分とを有する(n+1)m+[log(n+1)]ビットのエラー検出・訂正符号付きデータ([log(n+1)]はlog(n+1)について小数点以下の切り上げたものを表す)のうち、
前記冗長部分のうちの最大[log(n+1)]ビットを有する第1のデータを入力して、第1のエラー検出用ビットを生成するステップと、
前記冗長部分のうちの最大[log(n+1)]ビットを有する第2のデータを入力して、第2のエラー検出用ビットを生成するステップと、
を有することを特徴とするエラー検出用ビット生成回路の制御方法。
(付記11)
各バイトがnビットを有するmバイトの情報部分と冗長部分とを有するエラー検出・訂正符号付きデータを書き込むメモリと、
前記mバイトの情報部分と、前記mバイトの情報部分に対しそれぞれ設けられるmビットのエラー検出用ビットの冗長部分とを含むエラー検出用ビット付きデータの前記mバイトの情報部分を入力して、エラー検出・訂正符号付きデータの冗長部分のうち、log(n+1)ビットの一の部分を、log(n+1)の小数点以下を切り上げて生成する第1の排他的論理和演算回路と、前記第1の排他的論理和演算回路が生成した前記エラー検出・訂正符号付きデータの冗長部分のうちの前記一の部分と、前記エラー検出用ビットとを入力して、mビットの他の部分を生成する第2の排他的論理和演算回路とを有するエラー検出・訂正符号生成回路と、
前記メモリから読み出された前記エラー検出・訂正符号付きデータの前記冗長部分を入力して前記情報部分のエラーを検出し、あるいは更に当該エラーを訂正するエラー検出・訂正回路と、
前記メモリから読み出された前記エラー検出・訂正符号付きデータの前記mバイトの情報部分と、当該mバイトの情報部分に対しそれぞれ設けられるmビットのエラー検出用ビットを有する冗長部分とを有するエラー検出用ビット付きデータを生成するエラー検出用ビット付きデータ生成回路と、
前記エラー検出用ビット付きデータに対し演算処理を行う演算器とを有するデータ演算装置。
(付記12)
前記エラー検出・訂正符号生成回路において、
前記エラー検出用ビット付きデータの前記情報部分の各バイトをn個の要素を有するバイトベクトル、前記エラー検出用ビット付きデータの前記情報部分をm個の要素を有する情報ベクトルで表現した場合において、前記情報ベクトル及び前記エラー検出用ビットの行列演算によって前記一の部分のベクトル及び前記他の部分のベクトルを生成するエラー検出・訂正符号生成式にしたがい、前記第1の排他的論理和演算手段が、前記情報ベクトルの値を入力して前記一の部分を生成し、前記第2の排他的論理和演算手段が、前記第1の部分及び前記エラー検出用ビットを入力して前記他の部分を生成することを特徴とする付記11記載のデータ演算装置。
(付記13)
前記エラー検出・訂正符号付きデータは、(n+1)m+[log(n+1)]ビットを有し([log(n+1)]はlog(n+1)について小数点以下の切り上げたものを表す)、前記mnビットは前記情報部分であり、他のm+[log(n+1)]ビットは前記冗長部分であり、
前記エラー検出・訂正符号生成回路は、当該冗長部分のうちの最大[log(n+1)]ビットを入力して、前記エラー検出用ビットの各ビットを生成する第3の排他論理和演算回路を更に有することを特徴とする付記11記載のデータ演算装置。
(付記14)
前記エラー検出・訂正符号生成回路において、
前記エラー検出用ビット付きデータの前記情報部分の各バイトをn個の要素を有するバイトベクトルv(vi(0),vi(1),...,vi(n−2),vi(n−1))、前記エラー検出用ビット付きデータの前記情報部分をm個の要素を有する情報ベクトルv(v,v,...,vm−1)、尚前記エラー検出用ビット付きデータの前記冗長部分は前記m個の要素を有する情報ベクトルの要素に対しそれぞれ設けられる、mビットのエラー検出用ビットp(p,p,...,pm−2,pm−1)、前記エラー検出用ビット付きデータをバイトパリティ符号vp(v,p)で表現した場合において、前記エラー検出・訂正符号生成式
Figure 0005353655
にしたがい、前記バイトパリティ符号vp(v,p)の前記情報ベクトルv(v,v,...,vm−1)の値と前記エラー検出用ビットp(p,p,...,pm−2,pm−1)とを入力し、前記第1の排他的論理和演算手段が、前記エラー検出・訂正符号付きデータの前記冗長部分のうちの前記一の部分であるd次のベクトルcの値を生成し、前記第2の排他的論理和演算手段が、前記エラー検出・訂正符号付きデータの前記冗長部分のうちの前記他の部分であるm次のベクトルcの値を生成し、
前記エラー検出用ビットp(p,p,...,pm−2,pm−1)の各ビットpと、上記情報ベクトルv(v,v,...,vm−1)の各要素であるバイトベクトルv(vi(0),vi(1),...,vi(n−2),vi(n−1))とは以下の関係

=vi(0)+vi(1)+...+vi(n−2)+vi(n−1)

(「+」は排他的論理和演算、「t」は行列の転置を表す)を有することを特徴とする付記12記載のデータ演算装置。
(付記15)
mnビットの情報部分と、[log(n+1)]ビットの一の部分及びmビットの他の部分を有する冗長部分とを有する(n+1)m+[log(n+1)]ビットのエラー検出・訂正符号付きデータ([log(n+1)]はlog(n+1)の小数点以下を切り上げたものを表す)を書き込むメモリと、
前記メモリから読み出された前記エラー検出・訂正符号付きデータの前記冗長部分のうちの最大[log(n+1)]ビットを使用して、前記情報部分と当該情報部分のnビット毎に1ビット設けられるエラー検出用ビットである冗長部分とを有するエラー検出用ビット付きデータの前記冗長部分の各1ビットを生成するエラー検出用ビット付きデータ生成回路と、
前記メモリから読み出された前記エラー検出・訂正符号付きデータの前記冗長部分を入力して前記情報部分のエラーを検出し、あるいは更に当該エラーを訂正するエラー検出・訂正回路と、
前記情報部分と当該情報部分のnビット毎に1ビット設けられるエラー検出用ビットである冗長部分とを有するエラー検出用ビット付きデータに対し演算処理を行う演算器とを有するデータ演算装置。
1 演算器
2 ECC生成回路
3 メモリ
4 エラー検出・訂正回路
5 パリティ生成回路
11,11,...,1m−1,11,...,11k−1,12,...,12k−1,13,13,...,13m−1,14,14,...,14m−1,15,15,...,15m−1 排他的論理和回路

Claims (10)

  1. 各バイトがnビットを有するmバイトの情報部分と、前記mバイトの情報部分に対しそれぞれ設けられるmビットのエラー検出用ビットの冗長部分とを含むエラー検出用ビット付きデータの前記mバイトの情報部分を入力して、エラー検出・訂正符号付きデータの冗長部分のうち、log(n+1)ビットの一の部分を、log(n+1)の小数点以下を切り上げて生成する第1の排他的論理和演算回路と、
    前記第1の排他的論理和演算回路が生成した前記エラー検出・訂正符号付きデータの冗長部分のうちの前記一の部分と前記エラー検出用ビットとを入力して、mビットの他の部分を生成する第2の排他的論理和演算回路とを有することを特徴とするエラー検出・訂正符号生成回路。
  2. 前記エラー検出用ビット付きデータの前記情報部分の各バイトをn個の要素を有するバイトベクトル、前記エラー検出用ビット付きデータの前記情報部分をm個の要素を有する情報ベクトルで表現した場合において、前記情報ベクトル及び前記エラー検出用ビットの行列演算によって前記一の部分のベクトル及び前記他の部分のベクトルを生成するエラー検出・訂正符号生成式にしたがい、前記情報ベクトルを入力して、前記第1の排他的論理和演算手段が前記一の部分を生成し、前記第1の部分及び前記エラー検出用ビットを入力して、前記第2の排他的論理和演算手段が前記他の部分を生成することを特徴とする請求項1記載のエラー検出・訂正符号生成回路。
  3. 前記エラー検出・訂正符号生成回路において、
    前記エラー検出・訂正符号付きデータは、(n+1)m+[log(n+1)]ビットを有し([log(n+1)]はlog(n+1)について小数点以下の切り上げたものを表す)、前記mnビットは前記情報部分であり、他のm+[log(n+1)]ビットは前記冗長部分であり、
    当該冗長部分のうちの最大[log(n+1)]ビットを入力して、前記エラー検出用ビットを生成する第3の排他論理和演算回路を更に有することを特徴とする請求項1記載のエラー検出・訂正符号生成回路。
  4. 前記エラー検出用ビット付きデータの前記情報部分の各バイトをn個の要素を有するバイトベクトルv(vi(0),vi(1),...,vi(n−2),vi(n−1))、前記エラー検出用ビット付きデータの前記情報部分をm個の要素を有する情報ベクトルv(v,v,...,vm−1)、尚前記エラー検出用ビット付きデータの前記冗長部分は前記m個の要素を有する情報ベクトルの要素に対しそれぞれ設けられる、mビットのエラー検出用ビットp(p,p,...,pm−2,pm−1)、前記エラー検出用ビット付きデータをバイトパリティ符号vp(v,p)で表現した場合において、前記エラー検出・訂正符号生成式
    Figure 0005353655
    にしたがい、前記バイトパリティ符号vp(v,p)の前記情報ベクトルv(v,v,...,vm−1)の値と前記エラー検出用ビットp(p,p,...,pm−2,pm−1)とを入力し、前記第1の排他的論理和演算手段が、前記エラー検出・訂正符号付きデータの前記冗長部分のうちの前記一の部分であるd次のベクトルcの値を生成し、前記第2の排他的論理和演算手段が、前記エラー検出・訂正符号付きデータの前記冗長部分のうちの前記他の部分であるm次のベクトルcの値を生成し、
    前記エラー検出用ビットp(p,p,...,pm−2,pm−1)の各ビットpと、上記情報ベクトルv(v,v,...,vm−1)の各要素であるバイトベクトルv(vi(0),vi(1),...,vi(n−2),vi(n−1))とは以下の関係

    =vi(0)+vi(1)+...+vi(n−2)+vi(n−1)

    (「+」は排他的論理和演算、「t」は行列の転置を表す)を有することを特徴とする請求項2記載のエラー検出・訂正符号生成回路。
  5. mnビットの情報部分と、[log(n+1)]ビットの一の部分及びmビットの他の部分を有する冗長部分とを有する(n+1)m+[log(n+1)]ビットのエラー検出・訂正符号付きデータ([log(n+1)]はlog(n+1)について小数点以下の切り上げたものを表す)のうち、
    前記冗長部分のうちの最大[log(n+1)]ビットを有する第1のデータを入力して第1のエラー検出用ビットを生成する第1の排他的論理和演算回路と、
    前記冗長部分のうちの最大[log(n+1)]ビットを有する第2のデータを入力して第2のエラー検出用ビットを生成する第2の排他的論理和演算回路と、
    を有することを特徴とするエラー検出用ビット生成回路。
  6. エラー検出・訂正符号生成回路が有する第1の排他的論理和演算回路が、各バイトがnビットを有するmバイトの情報部分と、前記mバイトの情報部分に対しそれぞれ設けられるmビットのエラー検出用ビットを有する冗長部分とを含むエラー検出用ビット付きデータの前記情報部分を入力して、エラー検出・訂正符号付きデータの冗長部分のうち、log(n+1)ビットの一の部分を、log(n+1)の小数点以下を切り上げて生成するステップと、
    前記エラー検出・訂正符号生成回路が有する第2の排他的論理和演算回路が、前記log(n+1)ビットの一の部分を生成するステップで生成された前記一の部分と前記エラー検出用ビットとを入力して、mビットの他の部分を生成するステップとを有することを特徴とするエラー検出・訂正符号生成回路の制御方法。
  7. 前記エラー検出用ビット付きデータの前記情報部分の各バイトをn個の要素を有するバイトベクトル、前記エラー検出用ビット付きデータの前記情報部分をm個の要素を有する情報ベクトルで表現した場合において、前記情報ベクトル及び前記エラー検出用ビットの行列演算によって前記一の部分のベクトル及び前記他の部分のベクトルを生成するエラー検出・訂正符号生成式にしたがい、前記log(n+1)ビットの一の部分を生成するステップにおいて、前記情報ベクトルを入力して前記一の部分を生成し、前記mビットの他の部分を生成するステップにおいて、前記第1の部分及び前記エラー検出用ビットを入力して前記他の部分を生成することを特徴とする請求項6記載のエラー検出・訂正符号生成回路の制御方法。
  8. 前記エラー検出・訂正符号付きデータは、(n+1)m+[log(n+1)]ビットを有し、前記mnビットは前記情報部分であり([log(n+1)]はlog(n+1)について小数点以下の切り上げたものを表す)、他のm+[log(n+1)]ビットは前記冗長部分であり、
    前記エラー検出・訂正符号生成回路が有する第3の排他的論理和演算回路が、当該冗長部分のうちの最大[log(n+1)]ビットを入力して、前記エラー検出用ビットの各ビットを生成するステップを更に有することを特徴とする請求項6記載のエラー検出・訂正符号生成回路の制御方法。
  9. 前記エラー検出用ビット付きデータの前記情報部分の各バイトをn個の要素を有するバイトベクトルv(vi(0),vi(1),...,vi(n−2),vi(n−1))、前記エラー検出用ビット付きデータの前記情報部分をm個の要素を有する情報ベクトルv(v,v,...,vm−1)、尚前記エラー検出用ビット付きデータの前記冗長部分は前記m個の要素を有する情報ベクトルの要素に対しそれぞれ設けられる、mビットのエラー検出用ビットp(p,p,...,pm−2,pm−1)、前記エラー検出用ビット付きデータをバイトパリティ符号vp(v,p)で表現した場合において、前記エラー検出・訂正符号生成式
    Figure 0005353655
    にしたがい、前記バイトパリティ符号vp(v,p)の前記情報ベクトルv(v,v,...,vm−1)の値と前記エラー検出用ビットp(p,p,...,pm−2,pm−1)とを入力して、前記log(n+1)ビットの一の部分を生成するステップにおいて、前記エラー検出・訂正符号付きデータの前記冗長部分のうちの前記一の部分のd次のベクトルcの値を生成し、前記mビットの他の部分を生成するステップにおいて、前記エラー検出・訂正符号付きデータの前記冗長部分のうちの前記他の部分のm次のベクトルcの値を生成し、
    尚前記エラー検出用ビットp(p,p,...,pm−2,pm−1)の各ビットpと、上記情報ベクトルv(v,v,...,vm−1)の各要素であるバイトベクトルv(vi(0),vi(1),...,vi(n−2),vi(n−1))とは以下の関係

    =vi(0)+vi(1)+...+vi(n−2)+vi(n−1)

    (「+」は排他的論理和演算、「t」は行列の転置を表す)を有することを特徴とする請求項7記載のエラー検出・訂正符号生成回路の制御方法。
  10. mnビットの情報部分と、[log(n+1)]ビットの一の部分及びmビットの他の部分を有する冗長部分とを有する(n+1)m+[log(n+1)]ビットのエラー検出・訂正符号付きデータ([log(n+1)]はlog(n+1)について小数点以下の切り上げたものを表す)のうち、
    前記冗長部分のうちの最大[log(n+1)]ビットを有する第1のデータを入力して、第1のエラー検出用ビットを生成するステップと、
    前記冗長部分のうちの最大[log(n+1)]ビットを有する第2のデータを入力して、第2のエラー検出用ビットを生成するステップと、
    を有することを特徴とするエラー検出用ビット生成回路の制御方法。
JP2009263229A 2009-11-18 2009-11-18 エラー検出・訂正符号生成回路及びその制御方法 Active JP5353655B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009263229A JP5353655B2 (ja) 2009-11-18 2009-11-18 エラー検出・訂正符号生成回路及びその制御方法
EP10189814.6A EP2326014B1 (en) 2009-11-18 2010-11-03 Error detecting/correcting code generating circuit and method of controlling the same
US12/948,816 US8539302B2 (en) 2009-11-18 2010-11-18 Error detecting/correcting code generating circuit and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009263229A JP5353655B2 (ja) 2009-11-18 2009-11-18 エラー検出・訂正符号生成回路及びその制御方法

Publications (2)

Publication Number Publication Date
JP2011109476A JP2011109476A (ja) 2011-06-02
JP5353655B2 true JP5353655B2 (ja) 2013-11-27

Family

ID=43734301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009263229A Active JP5353655B2 (ja) 2009-11-18 2009-11-18 エラー検出・訂正符号生成回路及びその制御方法

Country Status (3)

Country Link
US (1) US8539302B2 (ja)
EP (1) EP2326014B1 (ja)
JP (1) JP5353655B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539321B2 (en) * 2010-11-10 2013-09-17 Infineon Technologies Ag Apparatus and method for correcting at least one bit error within a coded bit sequence
US9450613B2 (en) 2010-11-10 2016-09-20 Infineon Technologies Ag Apparatus and method for error correction and error detection
JP2013070122A (ja) 2011-09-20 2013-04-18 Fujitsu Ltd 誤り訂正装置、誤り訂正方法及び演算装置
JP5674700B2 (ja) 2012-03-22 2015-02-25 株式会社東芝 符号化装置および符号化装置の制御方法、ならびに、記憶装置
US10725841B1 (en) * 2017-12-18 2020-07-28 Xilinx, Inc. Method and apparatus for error detection and correction
CN112583878B (zh) 2019-09-30 2023-03-14 阿波罗智能技术(北京)有限公司 车辆信息校验方法、装置、设备和介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3648239A (en) * 1970-06-30 1972-03-07 Ibm System for translating to and from single error correction-double error detection hamming code and byte parity code
JPS52647B2 (ja) 1971-12-13 1977-01-10
JPS554775A (en) * 1978-06-27 1980-01-14 Nec Corp Generation and check circuit for hamming code for storage device
US4241446A (en) * 1978-10-16 1980-12-23 Honeywell Information Systems Inc. Apparatus for performing single error correction and double error detection
US4345328A (en) * 1980-06-30 1982-08-17 Sperry Corporation ECC Check bit generation using through checking parity bits
US5291498A (en) * 1991-01-29 1994-03-01 Convex Computer Corporation Error detecting method and apparatus for computer memory having multi-bit output memory circuits
US5313475A (en) 1991-10-31 1994-05-17 International Business Machines Corporation ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme
US5617432A (en) * 1994-11-09 1997-04-01 International Business Machines Corporation Common error protection code for data stored as a composite of different data formats
US5942002A (en) * 1996-03-08 1999-08-24 Neo-Lore Method and apparatus for generating a transform
US6675349B1 (en) * 2000-05-11 2004-01-06 International Business Machines Corporation Error correction coding of data blocks with included parity bits
US6981195B2 (en) * 2002-08-02 2005-12-27 Analog Devices, Inc. Cyclic redundancy check with efficient re-computation of error detection code
US7143332B1 (en) * 2003-12-16 2006-11-28 Xilinx, Inc. Methods and structures for providing programmable width and error correction in memory arrays in programmable logic devices
US8261167B1 (en) * 2009-03-09 2012-09-04 Pmc-Sierra Us, Inc. Cyclically interleaved dual BCH, with simultaneous decode and per-codeword maximum likelihood reconciliation
US8301972B2 (en) * 2009-05-27 2012-10-30 Seagate Technology Llc Apparatus for correcting single bit insertion or deletion in a data payload with a checksum corrector
US8381083B2 (en) * 2009-10-22 2013-02-19 Arm Limited Error control coding for single error correction and double error detection

Also Published As

Publication number Publication date
US8539302B2 (en) 2013-09-17
JP2011109476A (ja) 2011-06-02
EP2326014A3 (en) 2013-01-02
EP2326014B1 (en) 2020-01-01
US20110119559A1 (en) 2011-05-19
EP2326014A2 (en) 2011-05-25

Similar Documents

Publication Publication Date Title
US8775899B2 (en) Error correction device, error correction method, and processor
JP4036338B2 (ja) 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置
JP5353655B2 (ja) エラー検出・訂正符号生成回路及びその制御方法
US8522122B2 (en) Correcting memory device and memory channel failures in the presence of known memory device failures
JP4935367B2 (ja) Raid装置及びガロア体の積演算処理方法
JP4288486B2 (ja) ディスクアレイ装置,raid用パリティデータ生成回路およびガロア体乗算回路
US5781568A (en) Error detection and correction method and apparatus for computer memory
US10812109B2 (en) Determination and use of byte error position signals
JPH0567981A (ja) ユークリツドの互除回路
WO2013006388A2 (en) Efficient and scalable cyclic redundancy check circuit using galois-field arithmetic
Kong et al. Low-complexity low-latency architecture for matching of data encoded with hard systematic error-correcting codes
US10567007B2 (en) Device and method of processing a data word using checkbits
JP2012050008A (ja) 誤り検出訂正方法および半導体メモリ装置
Reyhani-Masoleh et al. Towards fault-tolerant cryptographic computations over finite fields
US8136009B2 (en) Circuit arrangement and method for error detection and arrangement for monitoring of a digital circuit
US20160283326A1 (en) Data processing circuit
JP5278115B2 (ja) 冗長符号生成方法及び装置、データ復元方法及び装置、並びにraid記憶装置
JPH06140941A (ja) 誤り訂正システム
TW202024907A (zh) 資料處理
US10623018B2 (en) Method of arrangement of an algorithm in cyclic redundancy check
JP2017098945A (ja) 訂正信号を決定する回路構成及びその方法
JP2710176B2 (ja) 誤り位置及び誤りパターン導出回路
JPH1165944A (ja) データ誤り検出装置
SATHVIKA et al. An Adaptive Low Latency Low Complexity Architecture for Matching of Information Coded with Error–Correcting Codes
JP2006101429A (ja) バイト内複数スポッティバイト誤り訂正・検出方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130812

R150 Certificate of patent or registration of utility model

Ref document number: 5353655

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130918