JP3678574B2 - チェックビット生成回路及びエラー訂正回路並びにそれ等を使用したecc制御回路 - Google Patents
チェックビット生成回路及びエラー訂正回路並びにそれ等を使用したecc制御回路 Download PDFInfo
- Publication number
- JP3678574B2 JP3678574B2 JP02761298A JP2761298A JP3678574B2 JP 3678574 B2 JP3678574 B2 JP 3678574B2 JP 02761298 A JP02761298 A JP 02761298A JP 2761298 A JP2761298 A JP 2761298A JP 3678574 B2 JP3678574 B2 JP 3678574B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- error
- check
- bit
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
【発明の属する技術分野】
本発明はチェックビット生成回路及びエラー訂正回路並びにそれ等を使用したECC(Error Corection Code)制御回路に関し、特に多ビットデータのECC制御方式に関するものである。
【0002】
【従来の技術】
この種の従来技術として図11及び図12を参照して説明する。図11は従来のECC生成回路を示す図であり、図11において、装置40A,Bの各々はデータ400の半分のデータからチェックビットを生成し、入力したデータと生成したチェックビットとを出力する装置である。装置41は装置40A,Bが夫々生成した2つのチェックビットを入力とし、全体のチェックビットであるECCを生成出力する装置である。
【0003】
チェックビッ卜#0生成回路410A,Bはデータ400を分割したデータから夫々チェックビットを生成する回路である。チェックビット#1生成回路415A,Bはデータ400を分割したデータから夫々チェックビットを生成する回路である。
【0004】
セレクタ420A,Bは、信号425,435の値が夫々“0”であればチェックビット#0生成回路410A,Bの出力データを夫々選択し、“1”であればチェックビット#1生成回路415A,Bの出力データを夫々選択するセレクタである。
【0005】
レジスタ440A,Bはデータ400を分割したデータを夫々入力とし、チェックビット生成回路のチェックビット生成処理との同期をとるレジスタである。レジスタ445A,Bはセレクタ420A,Bからのデータを夫々入力とし、装置40A,Bの外部へ夫々出力するレジスタである。レジスタ450A,Bはレジスタ440A,Bからのデータを入力とし、装置40A,Bの外部に夫々出力するレジスタである。
【0006】
チェックビット生成回路455は装置40A,Bから夫々チェックビット#0及び#1を入力とし、全体のチェックビットを生成する回路である。レジスタ460はチェックビット生成回路455からのデータを入力とし、装置41の外部に出力するレジスタである。
【0007】
図12は従来の1B(ビット)エラー訂正回路の例を示す図である。図12において、装置50A,Bはデータ500の半分のデータと0クランプ信号510もしくはECC505を入力とし、装置51とシンドロームをやり取りして1Bエラー訂正を行う装置である。
【0008】
装置51は装置50A,Bが生成した2つのシンドロームを入力とし、全体のシンドロームを生成出力する装置である。データ500は図11の装置40A,Bで出力されたデータである。ECC505は図11の装置41で生成されたECCである。0クランプ信号510は3バイト分の0データである。
【0009】
シンドローム#0生成回路525A,Bはデータ500を分割したデータ及び0クランプ信号510もしくはECC505からシンドロームを生成する回路である。シンドローム#1生成回路530A,Bはデータ500を分割したデータ及び0クランプ信号510もしくはECC505からシンドロームを生成する回路である。
【0010】
セレクタ535A,Bは、信号540,545の各値が“0”であればシンドローム#0生成回路525A,Bの各出力データを選択し、“1”であればシンドローム#1生成回路530A,Bの各出力データを選択するセレクタである。レジスタ555A,Bはデータ500を分割したデータを入力とし、全体のシンドローム生成処理との同期をとるレジスタである。
【0011】
レジスタ560A,Bはセレクタ535A,Bからのデータを入力とし、装置50A,Bの外部へ出力するレジスタである。レジスタ565A,Bはレジスタ555A,Bからのデータを入力とし、全体のシンドローム生成処理との同期をとるレジスタである。
【0012】
1Bエラー訂正回路570A,Bは装置51からの全体のシンドローム及びエラーバイトポジションを入力として、レジスタ565A,Bから入力したデータの1Bエラー訂正を行う回路である。レジスタ575A,Bは1Bエラー訂正回路570A,Bからのデータを入力とし、装置50A,Bの外部へ出力するレジスタである。
【0013】
エラーシンドローム生成回路580は装置50A,Bからの各シンドローム#0,#1を入力とし、全体のシンドロームを生成する回路である。エラーバイトポジション生成回路585はエラーシンドローム生成回路580で生成されたエラーシンドロームを元にエラーバイトポジションを生成する回路である。レジスタ590はエラーシンドローム生成回路580が生成したエラーシンドロームを入力とし、装置51の外部へ出力するレジスタである。レジスタ595はエラーバイトポジション生成回路585が生成したエラーバイトポジシヨンを入力とし、装置51の外部へ出力するレジスタである。
【0014】
先ず、図11の従来のチェックビット生成回路について説明する。データ400のデータは2分割されて2つの装置40A,Bに夫々入力される。装置40Aにおいては、信号425は“0”にクランプされているものとし、装置40Bにおいては、信号430は“1”にクランプされているものとする。これににより、装置40Aではチェックビット#0生成回路410Aの出力が使用され、装置40Bではチェックビット#1生成回路415Bの出力が使用される。
【0015】
チェックビット#0,#1生成回路では、データ400を分割したデータを元に夫々チェックビット#0,#1が生成される。装置40A,Bで生成されたチェックビット#0,#1は装置41に入力されてECCが生成されて出力される。2分割されたデータの上位及び下位データはこのECCの出力と同期して出力される。
【0016】
次に、図12の従来の1Bエラー訂正回路につき説明する。データ500は何らかの転送路を介して図11の装置40A,Bから出力されたデータである。ECC505のデータは同じく何らかの転送路を介して図11の装置41から出力されたデータである。データ500は2分割されて2つの装置50A,Bにそれぞれ入力され、また0クランプ信号510が装置50Aに、ECC505のデータが装置50Bに夫々入力される。
【0017】
装置50Aでは、信号540は“0”にクランプされており、これによりシンドローム#0生成回路525Aの出力が使用され、装置50Bでは信号545は“1”にクランプされており、これによりシンドローム#1生成回路530Bの出力が使用される。
【0018】
シンドローム#0,#1生成回路では、500を分割したデータ及び0クランプ信号510もしくはECC505からのデータを元にシンドローム#0,#1が夫々生成される。装置50A,Bで生成されたシンドロ−ム#0,#1は装置51に入力されて全体のシンドロームが生成され出力される。
【0019】
上位及び下位データはレジスタ555A,B及び565A,Bを使用して全体のシンドローム及びエラーバイトポジションと同期する様になっている。装置51が生成するエラーシンドロームは2つの装置50A,Bに夫々入力される。装置51が生成するエラーバイトポジションはデータ500とECC505とを足したバイト数に対応するビット幅で出力されるために、上位データに対応するビット部が装置50Aに、下位データに対応するビット部が装置50Bに夫々入力される。
【0020】
1Bエラー訂正回路570A,Bは装置51からのシンドロームと必要な分のエラーバイトポジションとを用いてレジスタ565A,Bからのデータの1Bエラー訂正を行う。レジスタ575A,Bは1Bエラー訂正後のデ−タを入力として装置50A,Bの外部へ夫々出力する。
【0021】
上記図11,12の各装置においては、多ビットの入力データ400,500を上位と下位データの2つに分割し、この分割数に応じて装置40A,Bや50A,B等の様に、2つの同一回路構成の装置を設けて、セレクタの制御信号425,430や540,545により、チェックビット#0,#1生成回路、シンドローム#0,#1生成回路を上位、下位のデータに夫々対応可能としている。すなわち、2つの装置40A,Bや50A,Bに、上位ビット専用のチェックビット生成回路やシンドローム生成回路を夫々有する構成となっている。
【0022】
【発明が解決しようとする課題】
従来、多ビットのデータに対するECC制御において、この多ビットデータを複数に分割(上記の例では2つに分割)してこれ等分割データを複数装置を用いてパラレルで制御する場合、図11,12の様に、複数装置を同一回路で実現するためにはチェックビット生成回路及びシンドローム生成回路を、データの分割数に等しい数だけ用意しなければならない。また、全体のチェックビット(ECC)及び全体のシンドロームを生成するために、チェックビット#0,#1生成回路やシンドローム#0,#1生成回路の様に、別々の回路を設ける必要があり、ハードウェアの増大を招来するという欠点がある。
【0023】
本発明の目的は、多ビットデータを複数に分割してECC制御を行う場合に、同一構成の装置を分割数に応じて用意する場合にも、この同一構成の装置そのものの回路規模の縮小化を図ったチェックビット生成回路及びエラー訂正回路並びにそれ等を使用したECC制御回路を提供することである。
【0024】
【課題を解決するための手段】
本発明によれば、多ビットデータのチェックビットを生成するチェックビット生成回路であって、前記多ビットデータの複数ブロックに分割された1つのブロックを入力とし、この入力ブロックのデータのバイト順を、制御信号に応じてそのまま、または逆順として択一的に導出する第一のセレクタと、このセレクタの選択出力に対して、同伴行列表現にて対称性を有するパリティ検査行列を使用してチェックビットの中間データを生成する中間データ生成手段と、この中間データと外部から供給された他ブロックの前記中間データとから全体のチェックビットを生成する手段と、前記制御信号に応じてこの全体のチェックビットのバイト順をそのまま、または入れ替えて択一的に導出する第二のセレクタとを含み、自ブロックのデータと前記第二のセレクタの選択出力を外部へ導出するようにしたことを特徴とするチェックビット生成回路が得られる。
【0025】
また、本発明によれば、多ビットデータに対して、同伴行列表現にて対称性を有するパリティ検査行列を使用して生成されたチェックビットによって前記データのエラー訂正をなすエラー訂正回路であって、前記多ビットデータの複数ブロックに分割された1つのブロックを入力とし、この入力ブロックのデータのバイト順を、制御信号に応じてそのまま、または逆順として択一的に導出する第一のセレクタと、前記チェックビットまたは0クランプ信号を入力とし、前記制御信号に応じてバイト順を入れ替えて導出する第二のセレクタと、前記第一及び第二のセレクタの出力に基きエラーシンドローム中間データを生成する中間データ生成手段と、この中間データと外部から供給された他ブロックの前記中間データとから全体のエラーシンドロームを生成する手段と、前記制御信号に応じて前記全体のエラーシンドロームのバイト順をそのまま、または入れ替えて択一的に導出する第三のセレクタと、この第三のセレクタの出力に基きエラーバイトポジションを生成する手段と、このエラーバイトポジションに基き入力ブロックデータのエラー訂正をなす手段とを含むことを特徴とするエラー訂正回路が得られる。
【0026】
更に、本発明によれば、上記のチェックビット生成回路と、このチェックビット生成回路からの出力データとチェックビットとを入力とする上記のエラー訂正回路とを含むことを特徴とするECC制御回路が得られる。
【0027】
本発明の作用を述べる。本発明では、ECCの生成において、同伴行列表現としたときに対称性を有する行列式で表されるS8EC−D8ED(Single 8 bit Error Correcting-Double 8 bit Error Correcting )のパリティ検査行列を使用するものであり、このパリティ検査行列は単一の8ビット(1バイト)訂正、2つの8ビット(2バイト)検出の機能を有する。
【0028】
入力多ビットデータを複数ブロックに分割し各ブロックに対してこのS8EC−D8ED検査行列を用いて中間ECCを生成し、その後各ブロックの中間ECCを交換して合成することで、全体のECCを生成する。また、各ブロックのデータ及び全体のECCに対して、各ブロック毎に中間シンドロームを生成し、その後各ブロックの中間シンドロームを交換し合成することにより、全体のシンドロームを生成する。
【0029】
【発明の実施の形態】
本発明の実施の形態について図面を参照して詳細に説明する。
【0030】
図1は本発明の構成を示すブロック図である。チェックビット生成回路10A,Bは信号線102,103から夫々受信したデータと、同時双方向信号線104から対向するチェックビット生成回路10B,Aが夫々生成した中間チェックビットとを受信し、本物のチェックビット(以下ECCと呼ぶ)を生成する回路である。
【0031】
1Bエラー訂正回路11A,Bは伝送路107からのデータと0クランプ信号110からのデータ、もしくは信号線108,109によりエラーシンドロームの中間データを夫々生成し、また同時双方向信号線111から対向する1Bエラー訂正回路11B,Aが夫々生成した中間データを受信し、本物のエラーシンドローム及びエラーバイトポジシヨンを生成して、伝送路107,108から受信したデータの1Bエラ一訂正を行う回路である。
【0032】
データ101はαバイト幅のデータである。信号線102はデータ101の上位半分(α/2バイト)を伝送する信号線である。信号線103はデータ101の下位半分(α/2バイト)を伝送する信号線である。同時双方向信号線104はチェックビット生成回路10A,Bが夫々生成するチェックビットの中間データを同時に双方向でデータをやり取りする信号線である。
【0033】
伝送路107はチェックビット生成回路10Aが信号線102から受け取ったデータを転送する信号線である。伝送路108はチェックビツト生成回路10Bが信号線103から受け取ったデータを転送する信号線である。伝送路109はチェックビット生成回路10Bが生成したECCを転送する信号線である。
【0034】
0クランプ信号110は3バイト分の0データである。同時双方向信号111は1Bエラー訂正回路11A,Bが夫々生成するエラーシンドロームの中間データを同時に双方向でやり取りする信号線である。信号線114は1Bエラー訂正回路11Aが出力する1Bエラー訂正後のデータを伝送する信号線である。信号線115は1B工ラー訂正回路11Bが出力する1Bエラー訂正後のデータを伝送する信号線である。データ116は1Bエラー訂正後のαバイト幅のデータである。
【0035】
図2は図1のチェックビット生成回路10A,10Bの具体例を示す回路図であり、図1と同等部分は同一符号にて示している。チェックビット生成回路10Aは対向するチェックビット生成回路10Bとチェックビットの中間データをやり取りすることで、データ101を制御する回路である。このデータ101は上述した様にαバイト幅のデータである。信号102はデータ101の上位半分(α/2バイト)であり、信号103はデータ101の下位半分(α/2バイト)である。
【0036】
制御信号215はチェックビット生成回路10Aに対応する制御信号であり、本例では“0”を使用するものとし、また制御信号220はチェックビット生成回路10Bに対応する制御信号であり、本例では“1”を使用するものとする。
【0037】
セレクタ235A,Bは、制御信号215,220が“0”ならば信号線102,103からのデータを夫々受け取ったバイト順で出力し、“1”ならば信号線102,103からのデータを受け取った逆のバイト順で出力するセレクタである。
【0038】
チェックビット中間データ生成部240A,Bは、セレクタ235A,Bが出力するデータからチェックビットの中間データを生成する回路である。同時双方向バッファ245A,Bはチェックビット中間データ生成部240A,Bが夫々生成したチェックビットの中間データを対向する回路相手に同時に双方向でやり取りするバッファである。
【0039】
チェックビット生成部255A,Bは、チェックビット中間データ生成部240A,Bが生成したチェックビットの中間データと、同時双方向バッファ245A,Bから夫々受信したチェックビットの中間データを入力とし、ECCを生成する回路である。
【0040】
セレクタ260A,Bは、制御信号215,220が“0”ならばチェックビット生成部255A,Bからのデータを受け取ったバイト順で出力し、“1”ならばチェックビット生成部255A,Bから受け取つたデータのバイ卜B1とバイトB2とを夫々入れ替えて出力するセレクタである。
【0041】
レジスタ265A,Bは信号102,103のデータを夫々入力としチェックビット生成部10A,Bの外部に夫々出力するレジスタである。レジスタ270A,Bはセレクタ260A,Bからのデータを入力としチェックビット生成回路10A,Bの外部に夫々出力するレジスタである。
【0042】
図3は図1の1Bエラー訂正回路11A,Bの具体例を示す回路図であり、図1,2と同等部分は同一符号にて示す。1Bエラー訂正回路11A,Bの各々は対向する1Bエラー訂正回路11B,Aとエラーシンドロームの中間データをやり取りすることで、データ300及びECC305のデータを制御する回路である。
【0043】
データ300はαバイト幅のデータであり、ECC305は3バイト幅のデータである。信号線107はデータ300の上位半分(α/2バイト)を伝送する信号線である。0クランプ信号110は3バイト分の0データである。信号線108はデータ300の下位半分(α/2バイト)を伝送する信号線である。信号線109はECC305のデータを伝送する信号線である。
【0044】
制御信号330は1Bエラー訂正回路11Aに対応する信号であり、本例では“0”を使用するものとし、また制御信号335は1Bエラー訂正回路11Bに対応する信号であり、本例では“1”を使用するものとする。
【0045】
セレクタ350A,Bは制御信号330,335が“0”ならば信号107,108の各データを受け取ったバイト順で夫々出力し、“1”ならば信号線107,108からの各データを受け取った逆のバイト順で夫々出力するセレクタである。セレクタ355A,Bは、制御信号330,335が“0”ならば信号110,109のデータを受け取つたバイト順で出力し、“1”ならば信号110,109のデータのバイトB1とB2とを夫々入れ替えて出力するセレクタである。
【0046】
エラーシンドローム中間データ生成部360A,Bはセレクタ350A,Bとセレクタ355A,Bとの各出力データからエラーシンドロームの中間データを夫々生成する回路である。同時双方向バッファ365A,Bは、1Bエラー訂正回路11A,Bが生成したエラーシンドロームの中間データを対向する1Bエラー訂正回路11B,Aに夫々同時に双方向でやり取りするバッファである。同時双方向信号線370は1Bエラー訂正回路11A,11Bの同時双方向バッファ365A,Bを結ぶ信号線である。
【0047】
エラーシンドローム生成部375A,Bは、エラーシンドローム中間データ生成部360A,Bが夫々生成したエラーシンドロ−ムの中間データと、同時双方向バッファ365A,Bから夫々受信した対向する1Bエラー訂正回路11B,11Aからのエラーシンドロームの中間データを入力とし、本物のエラーシンドロームを生成する回路である。
【0048】
セレクタ380A,Bは、制御信号330,335が“0”ならばエラーシンドローム生成部375A,Bからのデータを夫々受け取ったバイト順で出力し、“1”ならばエラーシンドローム生成部375A,Bから夫々受け取ったデータのバイトB1とB2とを夫々入れ替えて出力するセレクタである。
【0049】
エラーバイトポジション385A,Bはセレクタ380A,Bからのデータを夫々入力として、エラーバイトポジシヨンを生成する回路である。セレクタ386A,Bは、制御信号330,335が“0”ならばエラーバイトポジシヨン生成部385A,Bで生成したエラーバイトポジションの上位αバイト分に対応するαビットを夫々出力し、“1”ならばエラーバイトポジシヨン生成部385A,Bで生成したエラーバイトポジションの下位αバイト分に対応するαビットを夫々出力するセレクタである。
【0050】
1Bエラー訂正部387A,Bはセレクタ380A,Bとセレクタ386A,Bのデータを夫々入力として、信号107,108のデータの1Bエラー訂正を夫々行う回路である。レジスタ388A,Bは1Bエラー訂正部387A,Bからのデータを夫々入力するレジスタである。
【0051】
次に、図1の動作について説明する。まず、転送すべきαバイト幅のデータを2分割し、これ等各ブロックデータをチェックビット生成回路10A,Bに入力する。チェックビット生成回路10A,Bは同時双方向信号104によりお互いで生成したチェックビットの中間データをやり取りし、ECCを生成する。ECCはチェックビット生成回路10A,Bで生成されるので、どちらのチェックビットを使用しても構わないが、本例ではチェックビット生成回路10Aが生成したチェックビットを使用した。
【0052】
生成したチェックビット及び転送データを伝送路107,108及び109を用いて夫々伝送する。1Bエラー訂正回路11Aに伝送路107からの上位データ及び0クランプ信号110を入力せしめ、1Bエラー訂正回路11Bには伝送路108からの下位データ及び伝送路109からのECCデータを入力せしめる。1Bエラー訂正回路11A,Bは同時双方向信号線111によりお互いで生成したエラーシンドロームの中間データをやり取りし、本物のエラーシンドローム及びエラーバイトポジションを生成し、本物のエラーシンドローム及びエラーバイトポジションを元に1Bエラー訂正を行う。
【0053】
1Bエラー訂正が行われたデータは、上位データが信号線114で、下位データが信号線115で夫々出力され、上位データ及び下位データをまとめてαバイト幅のデータに戻される。
【0054】
次に、図2の動作について説明する。チェックビット生成回路10Aにおいて、信号102としてデータ100の上位データ(α/2)を受け取る。セレクタ235Aは制御信号215により信号102として受け取つたままのバイト順で出力する。チェックビット中間データ生成部240Aは、セレクタ235Aの出力データを元にチェックビットの中間データを生成する。
【0055】
チェックビット生成部255Aは同時双方向バッファ245A及び同時双方向信号線250を使用して受信した対向チェックビット生成回路10Bで生成されたチェックビットの中間データと自回路10Aで生成されたチェックビットの中間データとを入力としてECCを生成する。
【0056】
セレクタ260Aは制御信号215によりチェックビット生成部路255Aが生成したバイト順で出力する。レジスタ265Aは信号102のデータを入力として自回路10Aの外部へ出力する。レジスタ270Aはセレクタ260Aからのデータを入力として自回路10Aの外部へ出力する。
【0057】
チェックビット生成回路10Bにおいて、信号103としてデータ101の下位データ(α/2)を受け取る。セレクタ235Bは制御信号220により信号103として受け取ったデータの逆バイト順で出力する。チェックビット中間データ生成部240Bはセレクタ235Bの出力データを元にチェックビットの中間データを生成する。
【0058】
チェックビット生成部255Bは同時双方向バッファ245B及び同時双方向信号線250を使用して受信した対向チェックビット生成回路10Aで生成されたチェックビットの中間データと、自回路10Bで生成されたチェックビットの中間データを入力してECCを生成する。
【0059】
セレクタ260Bは制御信号220によりチェックビット生成部255Bが生成したデータのバイトB1とB2とを入れ替えて出力する。レジスタ265Bは信号103のデータを入力として自回路10Bの外部へ出力する。レジスタ270Bはセレクタ260Bからのデータを入力とし、自回路10Bの外部へ出力する。
【0060】
次に、図3の動作について説明する。1Bエラー訂正回路11Aの動作において、信号107はデータ300の上位データ(α/2)である。信号110は0クランプ信号である。セレクタ350Aは制御信号330により信号107で受け取つたままのバイト順で出力する。セレクタ355Aは制御信号330により信号110で受け取ったままのバイト順で出力する。
【0061】
エラーシンドローム中間データ生成部360Aはセレクタ350A及び355Aの出力データを元にエラーシンドロームの中間データを生成する。エラーシンドローム生成部375Aは同時双方向バッファ365A及び同時双方向信号線370を使用して受信した対向1Bエラー訂正回路11Bで生成されたエラーシンドロームの中間データと自回路11Aで生成されたエラーシンドロームの中間データとを入力として、本物のエラーシンドロームを生成する。
【0062】
セレクタ380Aは制御信号330によりエラーシンドローム生成部375Aが生成したバイト順で出力する。エラーバイトポジション生成部385Aはセレクタ380Aが出力したデータを元にエラーバイトポジションを生成する。セレクタ386Aは制御信号330により自回路11Aが制御すべきバイトに対応するエラーバイトポジション情報を選択する。1Bエラー訂正部387Aはセレクタ380A及び386Aの出力データを元に信号107から受け取ったデータの1Bエラー訂正を行う。レジスタ388Aは1Bエラ一訂正後のデータを受け取り自回路11Aの外部へ出力する。
【0063】
1Bエラー訂正回路11Bの動作において、信号108はデータ300の下位データ(α/2)である。信号109はECC305である。セレクタ350Bは制御信号335により信号108で受け取った逆のバイト順で出力する。セレクタ355Bは制御信号335により信号109で受け取ったデータのバイトB1とB2とを入れ替えて出力する。エラーシンドロ一ム中間データ生成部360Bはセレクタ350B及び355Bの出力データを元にエラ−シンドロームの中間データを生成する。
【0064】
エラーシンドローム生成部375Bは同時双方向バッファ365B及び同時双方向信号線370を使用して受信した対向1Bエラー訂正回路11Bで生成されたエラーシンドロームの中間データと自回路11Bで生成されたエラーシンドロームの中間データとを入力として、本物のエラーシンドロームを生成する。セレクタ380Bは制御信号335によりエラーシンドローム生成部375Bが生成したデータのバイトB1とB2とを入れ替えて出力する。
【0065】
エラーバイトポジシヨン生成部385Bはセレクタ380Bが出力したデータを元にエラーバイトポジシヨンを生成する。セレクタ386Bは制御信号335により自回路11Bが制御すべきバイトに対応するエラーバイトポジシヨン情報を選択する。1Bエラー訂正部387Bはセレクタ380B及び386Bの出力データを元に、信号108として受け取ったデータの1Bエラー訂正を行う。レジスタ388Bは1Bエラー訂正後のデータを受け取り自回路11Bの外部へ出力する。
【0066】
次に、データがα=18バイトの場合を例にして実際の例につき説明する。まず、図2におけるECCの生成論理を示す。このECCの生成論理は、図4に示したS8EC−D8EDのパリティ検査行列を使用するもので、“Single 8 bit Error Correcting-Double 8 bit Error Correcting ”と称されるパリティ検査行列である。このパリティ検査行列は単一の8ビット(1バイト)訂正、2つの8ビット(2バイト)検出の機能を有する。このパリティ検査行列は同伴行列表現としたときに、図5に示す様に、対称性を有する行列式で表される。
【0067】
このパリティ検査行列のデータ部B00〜B17の水平方向の要素のうち“1”が立っているビットを排他的論理和をすることで生成する。しかし、本発明では上位データと下位データを2分割して処理するため、チェックビット生成回路10A,Bにて生成するチェックビットの中間データをそれぞれ交換し、各々の対応ビット同士で排他的論理和をすることで18バイトに対するECCを生成する。
【0068】
図6,7はこのECCの例を示す図であり、丸印の“+”は排他的論理和を示し、p00〜p27はチェックビットを示し、d000 〜d071 は18バイトの上位/下位9バイトを示す。
【0069】
次に、図3におけるエラーシンドロームの生成論理を示す。エラーシンドロームの生成論理はパリティ検査行列のデータ部及びECC部の水平方向の要素のうち“1”が立っているビットを排他的論理和をすることで生成する。しかし、本例では、上位データと下位データとを2分割して処理するために、1Bエラー訂正回路11A,Bにて生成するエラーシンドロームの中間データを夫々交換し、各々の対応ビット同士で排他的論理和をすることで、データ18バイト及びECC3バイトの合計21バイトに対するエラーシンドロームを生成する。
【0070】
図8,9はこのシンドロームの例を示す図であり、s00〜s27はチェックビット、d000 〜d071 は18バイトの上位/下位9バイト、e00〜e23は1Bエラー訂正回路11Aでは0クランプの3バイト,1Bエラー訂正回路11BではECC305(図3参照)のECCデータを夫々示す。
【0071】
エラーバイトポジションの生成論理はエラーシンドロームのs0 /s1 /s2 の各要素と図5の下部に示す同伴行列の各要素とを使用して、図10の論理により生成する。エラーバイトポジションは21ビットあり、ビットnは21バイト中のバイトnのエラー位置を示す。
【0072】
1Bエラー訂正論理は、エラーバイトポジションが示すバイトとエラーシンドロームのs0 要因を排他的論理和することで1Bエラー訂正を行う。本例では、データを2分割して制御しているので、1Bエラー訂正回路11Aではエラーバイトポジションの上位ビット0からビット8の9ビットを、1Bエラー訂正回路11Bではエラーバイトポジションの上位ビット9からビット17の9ビットを、夫々使用する。
【0073】
ここで、図2のチェックビット中間データ生成部240Bにおいて、セレクタ235Bにより逆バイト順としてチェックビット中間データを生成する理由を述べる。本発明では、上述した様に、ECC生成のために図4,5に示した対称性を有する検査行列を使用しており、図5に同伴行列表現で見た場合、s1 とs2 とで入れ替ってはいるものの、B00〜B08とB09〜B17の同伴行列が対称になっていることが分かる。
【0074】
そこで、図2において、B00〜B08の部分を回路10Aで制御し、B09〜B17とB18〜B20を回路10Bで制御している。回路10A,10Bのチェックビット中間データ生成部240A,Bは共に同一構成として、上位及び下位データの処理回路を兼用可能とする目的から、チェックビット中間データ生成部240A,B共にB00〜B08の同伴行列の計算を行う構成となっている。この回路をB09〜B17の同伴行列の計算に流用するために、チェックビット中間データ生成部240Bでは、B09〜B17に対応する同伴行列用の回路を使用するのではなく、入力されたデータのバイト順を逆に並べ変えることにより、結果としてB00〜B08の同伴行列の計算をなす回路で、B09〜B17の同伴行列計算を行うようにしているのである。
【0075】
次に、図2のセレクタ260BにてB1 とB2 とを入れ替えている理由を述べる。図5の同伴行列では、先に述べた様に、B00〜B08とB09〜B17の同伴行列が対称になっているが、実際には、s1 とs2 との箇所が入れ替った状態で対称になっている。B1 とB2 とを入れ替えは、このs1 とs2 との箇所が入れ替っていることに対応しており、この入れ替え操作も、上述したと同様に、s1 とs2 とを入れ替えたパリティ検査行列に対応する回路を個別に用意するよりは、データのB1 とB2 とを入れ替えを行った方が、上位と下位データに関して同一回路構成を使用できるという効果があるからである。図3の回路におけるバイト順の並べ変えも同様な理由によるものである。
【0076】
【発明の効果】
以上述べた様に、本発明によれば、多ビットデータのECC制御方式において、当該データを複数に分割してこれ等複数ブロック毎にECCを生成する場合に、複数ブロックに対応するECC回路を、外部制御信号のみによって上位ビットブロックと下位ビットブロックとに対して適応可能として、全く同一構成とすることができかつ回路規模をも縮小可能となるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施例のシステム構成を示す図である。
【図2】本発明の実施例のチェックビット生成回路の例を示す図である。
【図3】本発明の実施例の1Bエラー訂正回路の例を示す図である。
【図4】本発明の実施例に使用されるパリティ検査行列の例を示す図である。
【図5】図4のパリティ検査行列の例を同伴行列表現した場合の図である。
【図6】パリティチェック用データ例の一部を示す図である。
【図7】パリティチェック用データ例の一部を示す図である。
【図8】シンドローム例の一部を示す図である。
【図9】シンドローム例の一部を示す図である。
【図10】エラーポジションの検出論理を示す図である。
【図11】従来のチェックビット生成回路の例を示す図である。
【図12】従来の1Bエラー訂正回路の例を示す図である。
【符号の説明】
10A,B チェックビット生成回路
11A,B 1Bエラー訂正回路
235A,B
260A,B
355A,B
380A,B
386A,B セレクタ
240A,B チェックビット中間データ生成部
245A,B
365A,B 双方向バッファ
255A,B チェックビット生成部
360A,B シンドローム中間データ生成部
375A,B シンドローム生成部
385A,B エラーバイトポジション生成部
367A,B 1Bエラー訂正部
Claims (7)
- 多ビットデータのチェックビットを生成するチェックビット生成回路であって、前記多ビットデータの複数ブロックに分割された1つのブロックを入力とし、この入力ブロックのデータのバイト順を、制御信号に応じてそのまま、または逆順として択一的に導出する第一のセレクタと、このセレクタの選択出力に対して、同伴行列表現にて対称性を有するパリティ検査行列を使用してチェックビットの中間データを生成する中間データ生成手段と、この中間データと外部から供給された他ブロックの前記中間データとから全体のチェックビットを生成する手段と、前記制御信号に応じてこの全体のチェックビットのバイト順をそのまま、または入れ替えて択一的に導出する第二のセレクタとを含み、自ブロックのデータと前記第二のセレクタの選択出力を外部へ導出するようにしたことを特徴とするチェックビット生成回路。
- 自ブロックの前記中間データを他ブロックのチェックビット生成手段へ供給する手段を含むことを特徴とする請求項1記載のチェックビット生成回路。
- 前記パリティ検査行列は、S8EC−D8ED(Single 8 bit Error Correcting-Double 8 bit Error Detecting )検査行列であることを特徴とする請求項1または2記載のチェックビット生成回路。
- 多ビットデータに対して、同伴行列表現にて対称性を有するパリティ検査行列を使用して生成されたチェックビットによって前記データのエラー訂正をなすエラー訂正回路であって、前記多ビットデータの複数ブロックに分割された1つのブロックを入力とし、この入力ブロックのデータのバイト順を、制御信号に応じてそのまま、または逆順として択一的に導出する第一のセレクタと、前記チェックビットまたは0クランプ信号を入力とし、前記制御信号に応じてバイト順を入れ替えて導出する第二のセレクタと、前記第一及び第二のセレクタの出力に基きエラーシンドローム中間データを生成する中間データ生成手段と、この中間データと外部から供給された他ブロックの前記中間データとから全体のエラーシンドロームを生成する手段と、前記制御信号に応じて前記全体のエラーシンドロームのバイト順をそのまま、または入れ替えて択一的に導出する第三のセレクタと、この第三のセレクタの出力に基きエラーバイトポジションを生成する手段と、このエラーバイトポジションに基き入力ブロックデータのエラー訂正をなす手段とを含むことを特徴とするエラー訂正回路。
- 自ブロックの前記中間データを他ブロックのエラーシンドローム生成手段へ供給する手段を含むことを特徴とする請求項4記載のエラー訂正回路。
- 前記パリティ検査行列は、S8EC−D8ED(Single 8 bit Error Correcting-Double 8 bit Error Detecting )検査行列であることを特徴とする請求項4または5記載のエラー訂正回路。
- 請求項1〜3いずれか記載のチェックビット生成回路と、このチェックビット生成回路からの出力データとチェックビットとを入力とする請求項4〜6いずれか記載のエラー訂正回路とを含むことを特徴とするECC制御回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02761298A JP3678574B2 (ja) | 1998-02-09 | 1998-02-09 | チェックビット生成回路及びエラー訂正回路並びにそれ等を使用したecc制御回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02761298A JP3678574B2 (ja) | 1998-02-09 | 1998-02-09 | チェックビット生成回路及びエラー訂正回路並びにそれ等を使用したecc制御回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11232129A JPH11232129A (ja) | 1999-08-27 |
JP3678574B2 true JP3678574B2 (ja) | 2005-08-03 |
Family
ID=12225768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02761298A Expired - Fee Related JP3678574B2 (ja) | 1998-02-09 | 1998-02-09 | チェックビット生成回路及びエラー訂正回路並びにそれ等を使用したecc制御回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3678574B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4723265B2 (ja) | 2005-03-17 | 2011-07-13 | 富士通株式会社 | エラー検出訂正装置の制御方法、エラー検出訂正装置、情報処理システム、エラー検出訂正装置の制御プログラム、データ処理装置 |
JP5422974B2 (ja) | 2008-11-18 | 2014-02-19 | 富士通株式会社 | 誤り判定回路及び共有メモリシステム |
JP6090489B1 (ja) | 2016-03-01 | 2017-03-08 | 日本電気株式会社 | エラー検知装置、記憶装置およびエラー訂正方法 |
-
1998
- 1998-02-09 JP JP02761298A patent/JP3678574B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11232129A (ja) | 1999-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3678574B2 (ja) | チェックビット生成回路及びエラー訂正回路並びにそれ等を使用したecc制御回路 | |
US20240063816A1 (en) | Serial Communications Module With CRC | |
JPS63118856A (ja) | シリアル・バス・インタフエ−ス回路 | |
JPS62132433A (ja) | Crcチェックビット計算装置およびそのプリセット方法 | |
US6370667B1 (en) | CRC operating calculating method and CRC operational calculation circuit | |
JPH0595366A (ja) | セル送信回路 | |
ES2271949T3 (es) | Alineacion de bits de paridad para eliminar errores en la conmutacion de un circuito de procesamiento activo a uno de reserva. | |
JPH04267653A (ja) | モデム装置 | |
US7336666B1 (en) | Data transport for bit-interleaved streams supporting lane identification with invalid streams | |
Jyothi et al. | Implementation of low complex and high secured SPI communication system for multipurpose applications | |
JPS612440A (ja) | 並列デ−タ伝送装置 | |
EP0152974B1 (en) | Arrangement for checking the parity bit-containing bit groups | |
JP2024521146A (ja) | データ誤り訂正回路およびデータ伝送回路 | |
JP2591164B2 (ja) | パリティ演算回路 | |
JPH06164624A (ja) | セル同期回路 | |
TW567671B (en) | Method and device for generating highly accurate delay signal from multiple signal sources | |
JP3521558B2 (ja) | 伝送装置 | |
JPS6131491B2 (ja) | ||
JPH03201837A (ja) | ディジタルクロスコネクト装置 | |
JPS63254829A (ja) | 誤り訂正装置 | |
JP3130343B2 (ja) | データ位相変換方式 | |
JP3455828B2 (ja) | ビットシフト回路 | |
JPH04157870A (ja) | データ処理装置 | |
JPH1168859A (ja) | 誤り訂正バランス符号送受信システム | |
JPH09128256A (ja) | Crcコード生成回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041008 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041019 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041215 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050330 |
|
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: 20050426 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050510 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S633 | Written request for registration of reclamation of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313633 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080520 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080520 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090520 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100520 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |