JP4213814B2 - エラー訂正回路のチェック方法およびチェック機能付きエラー訂正回路 - Google Patents
エラー訂正回路のチェック方法およびチェック機能付きエラー訂正回路 Download PDFInfo
- Publication number
- JP4213814B2 JP4213814B2 JP12978499A JP12978499A JP4213814B2 JP 4213814 B2 JP4213814 B2 JP 4213814B2 JP 12978499 A JP12978499 A JP 12978499A JP 12978499 A JP12978499 A JP 12978499A JP 4213814 B2 JP4213814 B2 JP 4213814B2
- Authority
- JP
- Japan
- Prior art keywords
- syndrome
- data
- correction
- unit
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
発明の属する技術分野
従来の技術(図6,図7)
発明が解決しようとする課題
課題を解決するための手段(図1)
発明の実施の形態(図2〜図5)
発明の効果
【0001】
【発明の属する技術分野】
本発明は、例えば通信用伝送線や情報機器のメモリなどの、データが損傷を受けやすい箇所にそなえられ、データの誤りを検出した場合にその誤りを訂正するエラー訂正回路に関し、特に、そのエラー訂正回路における障害の有無を検出するためのチェック方法、および、その方法を適用されたチェック機能付きエラー訂正回路に関する。
【0002】
【従来の技術】
一般に、エラー訂正回路〔以下、ECC(Error Correction Circuit)という場合がある〕は、コンピュータシステム,記憶装置,通信装置など、データエラーが発生する可能性のある種々の系にそなえられ、データの誤り(エラー)を検出した場合にその誤りを訂正するものである。
【0003】
図6は一般的なエラー訂正回路(ECC)を有するシステムの構成を示すブロック図である。この図6に示すシステムは、CPU(Central Processing Unit)1がメモリ2に対してアクセスしながらデータ処理を行なう、一般的なデータ処理システムである。このようなシステムにおいて、メモリ2は、データエラーの発生する可能性がある部分であり、メモリ2で発生したデータエラーを訂正すべく、通常、CPU1とメモリ2との間に、チェックビット作成・付加回路3およびエラー訂正回路(ECC)4がそなえられている。
【0004】
ここで、CPU1は、メモリ2から読み出したデータを用いてデータ処理を行なうとともに、データ処理を行なって得られたデータをメモリ2へ書き込む。CPU1がメモリ2にデータを書き込む際、チェックビット作成・付加回路3は、エラーチェック・訂正を行なうためのチェックビットを書込データに応じて作成し、そのチェックビットを書込データに付加して書込データとともにメモリ2に書き込む。そして、CPU1がメモリ2からデータを読み出す際、ECC4は、メモリ2からの読み出されたデータのエラーチェックを、チェックビットを用いて行ない、エラーがある場合にはそのエラーの訂正を行なう。
【0005】
図7は一般的なエラー訂正回路(ECC)の構成を示すブロック図である。この図7に示すように、ECC4は、シンドローム作成部(SG:Syndrome Generator)41,シンドロームデコード部(SD:Syndrome Decoder)42,データ訂正部(CR:Correction)43およびラッチ44,45を有して構成されている。
【0006】
シンドローム作成部41は、チェックビットを含む読出データについてのシンドロームを作成し、シンドロームデコード部42は、シンドローム作成部41により作成されたシンドロームをデコードし、読出データに訂正可能なエラー(Correctable Error)が発生している場合、シンドロームの情報に基づいて訂正すべきビット(訂正ビット)を特定し、そのビットを指示する訂正信号をデータ訂正部43に出力する。シンドロームをデコードした結果、訂正不可能なエラー(Uncorrectable Error)が発生していることが判明した場合、シンドロームデコード部42は、その旨をCPU1に報告する。
【0007】
データ訂正部43は、メモリ2からの読出データに訂正可能なエラーが発生している場合、シンドロームデコード部42からの訂正信号に応じて、メモリ2からの読出データのうちのエラービットを訂正した後、CPU1へ出力する。なお、読出データにエラーが発生していない場合、データ訂正部43は、メモリ2からの読出データをそのままCPU1へ出力する。
【0008】
なお、シンドローム作成部41で作成されたシンドロームは、ラッチ44により一時的に保持されてからシンドロームデコード部42へ出力されるとともに、メモリ2からの読出データは、ラッチ45により一時的に保持されてからデータ訂正部43へ出力されるようになっている。
上述のようにして、ECC4を有するシステムでは、メモリ2からのデータ読出時に種々の要因(データバスへのノイズ混入,RAMのソフトエラー等)により発生したデータエラーを検出し、訂正可能なエラーである場合にはエラー訂正を行なう一方、訂正不可能なエラーである場合にはその旨を通知してデータ読出処理を停止するなどの処置を採る。これにより、システム全体としての信頼性の向上をはかっている。
【0009】
ところで、上述のようなECC4において、シンドローム作成部41,シンドロームデコード部42,データ訂正部43またはラッチ44,45の故障や、これらの各部41〜45をつなぐ信号線の故障が生じると、誤りのないデータを訂正してしまったり、訂正が必要なデータを訂正せずに出力してしまったりする場合がある。このようにしてECC4から出力されたデータは、正常なデータであるとみなされて使用されるため、システム全体を誤動作させてしまうおそれがある。
【0010】
このようなECC4における障害の有無を検出してシステムの信頼性を向上させるべく、従来、例えば特開平4−81131号公報や特開平5−108385号公報に開示されるようなチェック手法が提案されている。
特開平4−81131号公報に開示された技術では、読出データに1ビットエラーが生じていることを検知した場合に、読出データのチェックビットのパリティと読出データのシンドロームビットのパリティとの排他的論理和(E-OR:Exclusive OR)を得るとともに、前記1ビットエラーを訂正した後のデータについて作成されるチェックビットのパリティを得た後、これらの排他的論理和とチェックビットのパリティとを比較することにより、ECCのチェックを行なっている。
【0011】
また、特開平5−108385号公報に開示された技術では、読出直後のデータとエラー訂正後のデータとを比較し、異なる値となっているビットの数(エラービットの数)Mを得てから、その数Mが所定値N以下であるか否かを判断することによりエラー訂正回路の正常性を確認している。
【0012】
【発明が解決しようとする課題】
しかしながら、前者の技術のように、シンドロームやチェックビットのパリティからECCの妥当性を検証する手法では、ECC内で同時に2ビットのエラーが発生した場合やある1ビットの訂正ミスなどを起こした場合、誤訂正を見逃してしまうほか、誤訂正したビット(訂正エラーの発生したビット)の位置を特定することができない。このようなエラーは、信号線が1本断線するだけで容易に起こり得るため、十分に考慮する必要がある。
【0013】
また、後者の技術では、エラービットの数Mが所定値Nを超えた場合に異常が生じたものと判定しているため、その判定を行なう回路で発生した異常や、多ビット訂正回路内における1ビットの異常(例えば4ビットの訂正可能な回路において、3ビットエラーにもかかわらず4ビットの訂正を行なった場合)など、検出できない異常が多くあるほか、誤訂正したビットの位置を特定することもできない。
【0014】
一方、コンピュータシステムや通信装置など、デジタルデータを扱う装置は、近年、稀に見る早さで高速化されている。このような装置において非同期回路からデジタルデータを受信する場合、そのデジタルデータを“0”および“1”のいずれにも特定できない不定状態、即ち、メタステーブル(Meta-Stable)状態が生じる場合がある。
【0015】
このようなメタステーブル状態を解消するために、一般に、非同期回路からデータを受信する系では、そのデータを保持するラッチを複数段そなえている。つまり、これらのラッチに非同期回路からのデータを順次保持させながら、データの安定化(非同期信号の同期化)をはかっている。このとき、ラッチの段数が多い程、より確実にメタステーブル状態は解消される。
【0016】
しかし、ラッチの段数が多いと、当然、データを受け取ってから実際に利用するまでにかかる時間が長くなってしまう。また、ラッチの段数を多くしてデータをラッチにより長時間保持するするように構成したとしても、データがメタステーブル状態になる確率を無視できるくらいまで小さくできるだけであって、メタステーブル状態が全く起こり得なくなるわけではない。
【0017】
メタステーブル状態になった場合、図7に示したECC4では、シンドローム作成部41へ入力されるデータとラッチ45を経由してデータ訂正部43へ入力されるデータとが異なる状況が生じ、ラッチ44で受けるシンドロームの値と、ラッチ45で受けるデータの値とに矛盾を生じる可能性がある。このような矛盾が生じた場合、訂正エラーを生じることになるが、前述した従来の技術では、そのような訂正エラーを常に確実に検出することができない。
【0018】
より高い信頼性を要求されるシステムでは、上述のようなメタステーブル状態に起因する訂正エラーをも確実に検出できるようにすることが望まれる。また、メタステーブル状態に起因する訂正エラーをも確実に検出できるようにすれば、メタステーブル状態を解消するためのラッチ段数を多くする必要がなくなるので、ラッチ段数を少なくし、データを受け取ってから実際に利用するまでにかかる時間を短くすることができる。
【0019】
本発明は、このような課題に鑑み創案されたもので、エラー訂正回路の故障に起因する訂正エラーやメタステーブル状態に起因する訂正エラーを確実に検出できるとともにその訂正エラーの発生ビットを特定できるようにして、デジタルデータを取り扱うシステムの信頼性を高めるとともに、メタステーブル状態の回避に要する時間を短縮して動作速度の高速化を実現した、エラー訂正回路のチェック方法およびチェック機能付きエラー訂正回路を提供することを目的とする。
【0020】
【課題を解決するための手段】
上記目的を達成するために、本発明のエラー訂正回路のチェック方法(請求項1)は、エラー訂正対象のデータについてのシンドロームを作成するシンドローム作成部と、該シンドローム作成部により作成された前記シンドロームをデコードし前記データの訂正ビットを指示する訂正信号を出力するシンドロームデコード部と、該シンドロームデコード部からの前記訂正信号に応じて前記データを訂正するデータ訂正部とをそなえてなるエラー訂正回路における障害の有無を検出するためのチェック方法であって、該シンドローム作成部と同一機能を有する回路により前記データについてのチェック用シンドロームを作成し、該シンドロームデコード部と同一機能を有する回路により前記チェック用シンドロームをデコードして前記データの訂正ビットを指示するチェック用訂正信号を出力し、訂正前のデータと該データ訂正部により訂正されたデータとを比較して該データ訂正部による訂正ビット位置を検出し、検出された前記訂正ビット位置と前記チェック用訂正信号に含まれる訂正ビット位置情報とを比較して該エラー訂正回路における障害の有無/訂正データの妥当性を判定することを特徴としている。
【0021】
一方、図1は、本発明の請求項2〜請求項5に記載されたチェック機能付きエラー訂正回路の原理的な構成を示すブロック図である。この図1に示すように、本発明のチェック機能付きエラー訂正回路10は、第1シンドローム作成部11,第1シンドロームデコード部12,データ訂正部13,第2シンドローム作成部14,第2シンドロームデコード部15,第1比較部16,第2比較部17,第3比較部18および第4比較部19から構成されている。
【0022】
ここで、第1シンドローム作成部11は、エラー訂正対象のデータについてのシンドロームを作成するものであり、第1シンドロームデコード部12は、第1シンドローム作成部11により作成された前記シンドロームをデコードし前記データの訂正ビットを指示する訂正信号を出力するものであり、データ訂正部13は、第1シンドロームデコード部12からの前記訂正信号に応じて前記データを訂正するものである。
【0023】
また、第2シンドローム作成部14は、第1シンドローム作成部11と同一機能を有する回路で、前記データについてのチェック用シンドロームを作成するものであり、第2シンドロームデコード部15は、第1シンドロームデコード部12と同一機能を有する回路で、第2シンドローム作成部14により作成された前記チェック用シンドロームをデコードし前記データの訂正ビットを指示するチェック用訂正信号を出力するものである。
【0024】
そして、第1比較部16は、データ訂正部13による訂正ビット位置を検出すべく訂正前のデータとデータ訂正部13により訂正されたデータとを比較するものであり、第2比較部17は、障害の有無/訂正データの妥当性を判定すべく第1比較部16により検出された前記訂正ビット位置と第2シンドロームデコード部15からのチェック用訂正信号に含まれる訂正ビット位置情報とを比較するものである(請求項2)。
【0025】
このとき、第2比較部17は、前記データにおいて誤訂正されたビット位置を特定すべく、第1比較部16により検出された前記訂正ビット位置と第2シンドロームデコード部15からのチェック用訂正信号に含まれる訂正ビット位置情報とをビット毎に比較する(請求項3)。
また、第3比較部18は、エラー訂正回路10における障害の発生部位を特定すべく、第1シンドローム作成部11により作成された前記シンドロームと第2シンドローム作成部14により作成された前記チェック用シンドロームとを比較するものである(請求項4)。
【0026】
さらに、第4比較部19は、エラー訂正回路10における障害の発生部位を特定すべく、第1シンドロームデコード部12からの前記訂正信号と第2シンドロームデコード部15からの前記チェック用訂正信号とを比較するものである(請求項5)。
上述した本発明のチェック機能付きエラー訂正回路10では、第1シンドローム作成部11,第1シンドロームデコード部12およびデータ訂正部13が通常のエラー訂正回路として機能し、第2シンドローム作成部14,第2シンドロームデコード部15,第1比較部16,第2比較部17,第3比較部18および第4比較部19が、第1シンドローム作成部11,第1シンドロームデコード部12およびデータ訂正部13における障害の有無や、訂正データの妥当性を判定するチェック機能を果たす。
【0027】
第2シンドローム作成部14および第2シンドロームデコード部15は、それぞれ、第1シンドローム作成部11および第1シンドロームデコード部12と同一機能を有する回路であり、第2シンドローム作成部14によりエラー訂正対象のデータについてのチェック用シンドロームが得られるとともに、第2シンドロームデコード部15により前記チェック用シンドロームがデコードされて前記データの訂正ビットを指示するチェック用訂正信号が得られる。
【0028】
エラー訂正対象のデータが本発明のチェック機能付きエラー訂正回路10に入力されると、第1シンドローム作成部11では、入力されたデータからシンドロームを作成する。このシンドロームは、第1シンドロームデコード部12に入力され、第1シンドロームデコード部12によりデータに訂正可能なエラーが発生していると判断された場合、データ訂正部13により元のデータを訂正する。
【0029】
データ訂正部13で訂正されたデータは、第1比較部16により訂正前のデータと比較される。これにより、どのビットが訂正されたか、つまり訂正ビット位置を検出することができる。また、これと同時に、訂正前のデータを、第2シンドローム作成部14および第2シンドロームデコード部15を通すことにより、訂正すべきデータのビット位置を指示しうるチェック用訂正信号が得られる。
【0030】
チェック用訂正信号で指示されるビット位置と、第1比較部16で得られた訂正ビット位置とは、通常一致しなければならないので、これらビット位置を第2比較部17で比較することにより、エラー訂正対象のデータの入力側からデータ訂正部13に至るまでの回路上の故障や、データ訂正部13による訂正エラーなどを発見することができる。このとき、第2比較部17において、第2シンドロームデコード部15からのチェック用訂正信号と第2比較部16からの訂正ビット位置とをビット毎に比較することにより、値が一致しないビットが、即ち誤って訂正されたデータビットであると特定することができる。
【0031】
また、第1シンドローム作成部11で作成されたシンドロームと第2シンドローム作成部14で作成されたチェック用シンドロームとは第3比較部18で比較され、不一致の場合、第3比較部18からシンドロームエラーが発生した旨が出力される。
エラー訂正対象のデータにおいて発生したエラーが訂正不可能なものである場合、第1シンドロームデコード部12は、訂正不可能なエラーが発生したことを検知して報告する。また、第1シンドローム作成部11における回路異常によってその出力のシンドロームが訂正不可能なエラーを表すシンドロームとなった場合も、第1シンドロームデコード部12は訂正不可能なエラーであることを報告する。
【0032】
後者のように第1シンドローム作成部11における回路異常によって訂正不可能なエラーが生じた場合、通常、第1シンドローム作成部11からのシンドロームと第2シンドローム作成部14からのチェック用シンドロームとは不一致となるため、その不一致が第3比較部18により検出されてシンドロームエラーとして報告される。前者のようにエラー訂正対象のデータに元々訂正不可能なエラーが発生している場合には、通常、第1シンドローム作成部11からのシンドロームと第2シンドローム作成部14からのチェック用シンドロームとが一致するため、第3比較部18からシンドロームエラーは報告されない。従って、訂正不可能なエラーが発生した場合、第3比較部18による比較結果を参照することにより、そのエラーが、元々のデータに発生しているものであるか、第1シンドローム作成部11における回路異常によって生じたものかを区別することが可能になる。
【0033】
また、エラー訂正対象のデータにエラーが発生していない場合や、エラー訂正対象のデータに訂正可能なエラーが発生している場合には、第2比較部17による比較結果と、第3比較部18による比較結果と、第4比較部19による比較結果とに基づいて、エラー訂正回路10における障害の発生部位を特定することができる。
【0034】
例えば、第2比較部17による比較結果のみが不一致であれば、データ訂正部13に障害が有るものと判断することができる。また、第2比較部17および第4比較部19による比較結果がいずれも不一致であれば、少なくとも第1シンドロームデコード部12(もしくは第2シンドロームデコード部15)に障害が有るものと判断することができる。さらに、第3比較部18による比較結果が不一致であれば、少なくとも第1シンドローム作成部11(もしくは第2シンドローム作成部14)に障害が有るものと判断することができる。
【0035】
上述のように、本発明のエラー訂正回路のチェック方法(請求項1〜請求項4)およびチェック機能付きエラー訂正回路(請求項5〜請求項8)を用いることにより、エラー訂正回路10における障害の有無/訂正データの妥当性が判定され、エラー訂正回路10の故障に起因する訂正エラーやメタステーブル状態に起因する訂正エラーを確実に検出できるとともに、その訂正エラーの発生ビットや障害の発生箇所を特定できる。
【0036】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図2は本発明の一実施形態としてのチェック機能付きエラー訂正回路の構成を示すブロック図であり、本実施形態のエラー訂正回路(ECC)40も、例えば図6に示した一般的なデータ処理システムにおける、メモリ(MSU:Main Storage Unit)から読み出されたデータをエラー訂正対象としている。メモリに格納されているデータには、前述した通り、エラーチェック・訂正を行なうためのチェックビットが付加されている。
【0037】
例えば本実施形態では、64ビットのデータに16ビットのチェックビットC0:C7を付加しており、メモリから読み出されたデータは、80ビットのデータRD<0:63,C0:C15> となっており、本実施形態のエラー訂正回路40は、80ビットデータについて、後述するごとく、S4EC−D4ED(Single 4bits block Error Correction- Double 4bits block Error Detection)を実現するものである。
【0038】
さて、図2に示すように、本実施形態のチェック機能付きエラー訂正回路40は、図7に示した従来のECC4と同様のシンドローム作成部(SG)41,シンドロームデコード部(SD)42,データ訂正部(CR)43およびラッチ44,45を有するほか、チェック用シンドローム作成部(SGC:Syndrome Generator for Check)46,チェック用シンドロームデコード部(SDC:Syndrome Decoder for Check)47および排他的論理和ゲート(E-OR)48〜51を有して構成されている。
【0039】
本実施形態のチェック機能付きエラー訂正回路40では、シンドローム作成部41,シンドロームデコード部42,データ訂正部43およびラッチ44,45が、従来のECC4と同様に機能する部分であり、シンドローム作成部41,シンドロームデコード部42およびデータ訂正部43は、それぞれ、図1における第1シンドローム作成部11,第1シンドロームデコード部12およびデータ訂正部13に対応している。
【0040】
つまり、シンドローム作成部41は、チェックビットを含む読出データ(エラー訂正対象のデータ)RD<0:63,C0:C15> についてのシンドロームSYND<0:15>を作成し、シンドロームデコード部42は、シンドローム作成部41により作成されたシンドロームSYND<0:15>をデコードし、読出データRD<0:63,C0:C15> に訂正可能なエラー(Correctable Error)が発生している場合、シンドロームSYND<0:15>に基づいて訂正すべきビット(訂正ビット)を特定し、そのビットを指示するデータ訂正信号DCS<0:63> をデータ訂正部43に出力する。シンドロームSYND<0:15>をデコードした結果、訂正不可能なエラー(Uncorrectable Error)が発生していることが判明した場合、シンドロームデコード部42は、その旨をCPU1(図6参照)に報告する。
【0041】
データ訂正部43は、読出データRD<0:63,C0:C15> に訂正可能なエラーが発生している場合、シンドロームデコード部42からのデータ訂正信号DCS<0:63> に応じて、読出データRD<0:63,C0:C15> のうちのエラービットを訂正した後、CPU1へ出力する。なお、読出データRD<0:63,C0:C15> にエラーが発生していない場合、データ訂正部43は、メモリ2からの読出データRD<0:63,C0:C15> をそのままCPU1へ出力する。
【0042】
なお、シンドローム作成部41で作成されたシンドロームSYND<0:15>は、ラッチ44により一時的に保持されてからシンドロームデコード部42へ出力されるとともに、メモリ2からの読出データRD<0:63,C0:C15> は、ラッチ45により一時的に保持されてからデータ訂正部43へ出力されるようになっている。データ訂正部43に入力されるデータは、図2において“RD 1L(Read Data 1τ Late)<0:63>”として表記されており、この表記は、読出データがラッチ45により1クロックタイミング(1τ)だけ遅延されていることを示している。
【0043】
そして、本実施形態のチェック機能付きエラー訂正回路40において、チェック用シンドローム作成部46,チェック用シンドロームデコード部47および排他的論理和ゲート48〜51が、シンドローム作成部41,シンドロームデコード部42およびデータ訂正部43における障害の有無や、訂正データの妥当性を判定するチェック機能を果たす部分であり、それぞれ、図1における第2シンドローム作成部14,第2シンドロームデコード部15,第1比較部16,第2比較部17,第3比較部18および第4比較部19に対応している。
【0044】
ここで、チェック用シンドローム作成部46は、シンドローム作成部41と全く同じ回路構成を有し同一の機能を果たす回路で、読出データRD<0:63,C0:C15> についてのチェック用シンドロームSYNDC<0:15> を作成するものであり、チェック用シンドロームデコード部47は、シンドロームデコード部42と全く同じ回路構成を有し同一機能を果たす回路で、チェック用シンドローム作成部46により作成されたチェック用シンドロームSYNDC<0:15> をデコードし読出データRD<0:63,C0:C15> の訂正ビットを指示するチェック用データ訂正信号DCSC<0:63>を出力するものである。
【0045】
排他的論理和ゲート(E-OR;第1比較部)48は、訂正前のデータRD 1L<0:63>とデータ訂正部43により訂正されたデータとをビット毎に比較、即ち、これらの排他的論理和(E-OR)をビット毎に算出し、その結果をデータ訂正部43による訂正ビット位置CBL(Correct Bit Location)<0:63> として検出・出力するものである。つまり、排他的論理和ゲート48から出力されるCBL<0:63> においては、データ訂正部43により訂正されたビット位置に“1”が立つことになる。
【0046】
排他的論理和ゲート(E-OR;第2比較部)49は、排他的論理和ゲート48からの訂正ビット位置CBL<0:63> と、チェック用シンドロームデコード部47からのチェック用データ訂正信号DCSC<0:63>とをビット毎に比較、即ち、これらの排他的論理和(E-OR)をビット毎に算出し、その結果を、誤って訂正されたビット位置の情報ECB(Error Correct Bit)<0:63>として出力するものである。つまり、排他的論理和ゲート49から出力されるECB<0:63> においては、データ訂正部43により誤って訂正されたビット位置に“1”が立つことになる。
【0047】
排他的論理和ゲート(E-OR;第3比較部)50は、シンドローム作成部41により作成されたシンドロームSYND<0:15>と、チェック用シンドローム作成部46により作成されたチェック用シンドロームSYNDC<0:15> とをビット毎に比較、即ち、これらの排他的論理和をビット毎に算出し、その結果をシンドロームエラーの発生情報SE(Syndrome Error)<0:15>として出力するものである。つまり、排他的論理和ゲート50から出力されるSE<0:15>においては、シンドロームにおいて不一致の生じているビット位置に“1”が立つことになる。
【0048】
排他的論理和ゲート(E-OR;第4比較部)51は、シンドロームデコード部42からのデータ訂正信号DCS<0:63> とチェック用シンドロームデコード部47からのチェック用データ訂正信号DCSC<0:63> とをビット毎に比較、即ち、これらの排他的論理和をビット毎に算出し、その結果をデータ訂正信号DCS<0:63> のエラー情報DCSE<0:63>として出力するものである。つまり、排他的論理和ゲート51から出力されるDCSE<0:63>においては、データ訂正信号においてエラーの生じているビット位置に“1”が立つことになる。
【0049】
ところで、本実施形態のチェック機能付きエラー訂正回路40は、前述した通り、16ビットのチェックビットを含む80ビットデータについて、S4EC−D4EDを実現するものである。64ビットのデータ(D00:D63)に対して16ビットのチェックビット(C00:C15)が付加され、1ブロックは4ビットから構成されており、1つのデータは全部で20個のブロックから構成される。S4EC−D4EDでは、1ブロック内の4ビットまでの誤り(Single Block Error)の完全訂正と、任意の2ブロックに跨がる8ビットまでの誤り(Double Block Error)の完全検出とが実現される。
【0050】
ここで、S4EC−D4EDの論理を表す場合、Hマトリクスと呼ばれるパリティ検査行列が用いられる。図3は、S4EC−D4EDのHマトリクスを示す図である。図3に示すHマトリクスを用いる場合、チェックビット C00〜C15 は以下の式で算出されてデータに付与される。これらのチェックビット C00〜C15 の算出は、図6に示したチェックビット作成・付加回路3により行なわれることになる。なお、以下に記載される式中において、"(+)”は排他的論理和の演算子である。
【0051】
また、図3に示すHマトリクスを用いる場合、シンドロームビットS00 〜S15 (SYN<0:15>,SYNC<0:15>)は、シンドローム作成部41,46により、以下の式で算出される。
【0052】
次に、本実施形態のエラー訂正回路40におけるデータエラーの判定論理について説明する。例えば図3に示すHマトリクスにおいて一点鎖線で囲んだ部分のデータを抜き出して以下のように定める。
【0053】
【数1】
【0054】
また、
【0055】
【数2】
【0056】
とすると、上式で得られる値R0〜R3に応じて、データエラーの発生状態が、図4に従って判定される。なお、図4はデータエラーの判定論理を示す図である。
この図4に示すように、R0〜R3が全て0であれば、データエラーは発生しておらず、R0〜R3のうちいずれか1つのみが1であれば、シングルブロックエラーが発生しているものと判定される。また、(R0,R1,R2,R3) = (0,0,1,1),(0,1,0,1),(0,1,1,0),(1,0,0,1),(1,0,1,0),(1,1,0,0),(1,1,0,1),(1,1,1,0),(1,1,1,1) の場合、ダブルブロックエラーが発生しているものと判定される。
【0057】
さらに、(R0,R1,R2,R3) = (1,0,1,1) の場合、T2 = aiT0 且つT3 = aiT2 を満たすiが存在すれば、i位置でのシングルブロックエラーが発生しているものと判定され、存在しなければダブルブロックエラーが発生しているものと判定される。また、(R0,R1,R2,R3) = (0,1,1,1) の場合、T2 = aiT3 且つT3 = aiT1 を満たすiが存在すれば、i+8位置でのシングルブロックエラーが発生しているものと判定され、存在しなければダブルブロックエラーが発生しているものと判定される。なお、i=0,1,2,…,7である。
【0058】
次に、上述のような論理でデータエラーの判定・訂正を行なうエラー訂正回路40において、障害の有無を検出するチェック動作について説明する。
エラー訂正対象の読出データRD<0:63,C0:C15> が本実施形態のチェック機能付きエラー訂正回路40に入力されると、シンドローム作成部41では、入力された読出データRD<0:63,C0:C15> に基づいてシンドロームSYND<0:15>が前述のようにして算出・作成され、シンドロームデコード部42に入力される。
【0059】
シンドロームデコード部42は、シンドロームSYND<0:15>をデコードし、読出データRD<0:63,C0:C15> に訂正可能なエラーが発生している場合、シンドロームSYND<0:15>に基づいて訂正ビットを特定し、そのビットを指示するデータ訂正信号DCS<0:63> をデータ訂正部43に出力する。シンドロームSYND<0:15>をデコードした結果、訂正不可能なエラーが発生していることが判明した場合、シンドロームデコード部42は、その旨をCPU1に報告する。
【0060】
データ訂正部43は、読出データRD<0:63,C0:C15> に訂正可能なエラーが発生している場合、シンドロームデコード部42からのデータ訂正信号DCS<0:63> に応じて、読出データRD<0:63,C0:C15> のうちのエラービットを訂正した後、CPU1へ出力する。なお、読出データRD<0:63,C0:C15> にエラーが発生していない場合、データ訂正部43は、メモリ2からの読出データRD<0:63,C0:C15> をそのままCPU1へ出力する。
【0061】
データ訂正部43で訂正されたデータは、排他的論理和ゲート48により訂正前のデータRD 1L<0:63>と比較される。これにより、どのビットが訂正されたか、つまり訂正ビット位置CBL<0:63> が検出される。また、これと同時に、訂正前の読出データRD 1L<0:63,C0:C15> を、チェック用シンドローム作成部46およびチェック用シンドロームデコード部47を通すことにより、訂正すべきデータのビット位置を指示しうるチェック用データ訂正信号DCSC<0:63>が得られる。
【0062】
チェック用データ訂正信号DCSC<0:63>で指示されるビット位置と、排他的論理和ゲート48からの訂正ビット位置CBL<0:63> とは、通常一致しなければならないので、これらビット位置を排他的論理和ゲート49で比較することにより、読出データRD<0:63,C0:C15> の入力側からデータ訂正部43に至るまでの回路上の故障や、データ訂正部43による訂正エラーなどを発見することができる。
【0063】
このとき、排他的論理和ゲート49からのECB<0:63> は、排他的論理和ゲート48からの訂正ビット位置CBL<0:63> と、チェック用シンドロームデコード部47からのチェック用データ訂正信号DCSC<0:63>とをビット毎に比較した結果である。このECB<0:63> に“1”のビットがある場合、つまり、エラーが検出された場合、“1”の立ったビット位置において、訂正されたビット位置CBL<0:63> と、訂正すべきビット位置を示すDCSC<0:63>とが一致していないということである。
【0064】
即ち、データ訂正部43で訂正を施したビットと、訂正前の読出データRD 1L<0:63>から得られた訂正すべきビット位置とが一致していないということであり、シンドローム作成部41,シンドロームデコード部42,データ訂正部43,チェック用シンドローム作成部46およびチェック用シンドロームデコード部47と、これらをつなぐ信号線とのどこかで異常が生じたものと判断することができる。また、誤って訂正されたビットの位置は、ECB<0:63> において“1”の立ったビットとして、確実に特定されることになる。
【0065】
また、本実施形態のチェック機能付きエラー訂正回路40では、シンドローム作成部41からのシンドロームSYND<0:15>とチェック用シンドローム作成部46からのチェック用シンドロームSYNDC<0:15> とを、排他的論理和ゲート50で比較することにより、シンドロームSYND<0:15>が正常であるかどうかを判断している。排他的論理和ゲート50による比較結果が不一致であった場合、つまり、排他的論理和ゲート50からの出力であるSE<0:15>に“1”のビットがある場合、2つのシンドローム作成部41,46のうちのどちらかで不具合が生じたものと判断することができる。
【0066】
ここで、訂正不可能なデータエラーが発生している場合、シンドロームデコード部42は、そのことを検知して報告する。また、シンドローム作成部41における回路異常等によってその出力のシンドロームSYND<0:15>が訂正不可能なエラーを表すシンドロームとなった場合も、シンドロームデコード部42は訂正不可能なエラーであることを報告する。
【0067】
後者のようにシンドローム作成部41における回路異常等によって訂正不可能なエラーが生じた場合には、通常、シンドローム作成部41からのシンドロームSYND<0:15>とチェック用シンドローム作成部46からのチェック用シンドロームSYNDC<0:15> とは不一致となる。このとき、前述した通り、排他的論理和ゲート50からの出力であるSE<0:15>に、“1”のビットが存在することになるので、シンドローム作成部41における回路異常等に起因して訂正不可能なエラーが生じたものと判断することができる。
【0068】
一方、前者のようにエラー訂正対象のデータに元々訂正不可能なエラーが発生している場合には、通常、シンドローム作成部41からのシンドロームSYND<0:15>とチェック用シンドローム作成部46からのチェック用シンドロームSYNDC<0:15> とが一致するため、排他的論理和ゲート50からの出力であるSE<0:15>は全て“0”のまま、つまり、シンドロームエラーは報告されない。
【0069】
従って、訂正不可能なエラーが発生した場合、排他的論理和ゲート50による比較結果SE<0:15>を参照することにより、そのエラーが、元々のデータに発生しているものであるか、シンドローム作成部41における回路異常等によって生じたものかを区別することが可能になる。
また、エラー訂正対象の読出データRD<0:63,C0:C15> にエラーが発生していない場合や、エラー訂正対象のデータRD<0:63,C0:C15> に訂正可能なエラーが発生している場合には、排他的論理和ゲート49〜51からの出力ECB<0:63> ,SE<0:15>,DCSE<0:63>に基づいて、エラー訂正回路40における障害の発生部位を特定することができる。
【0070】
例えば、SE<0:15>,DCSE<0:63>の全てのビットが“0”である時に排他的論理和ゲート49からのECB<0:63> に“1”のビットが存在する場合、つまり、排他的論理和ゲート49による比較結果のみが不一致である場合には、データ訂正部43に障害が有るものと判断することができる。
また、SE<0:15>の全てのビットが“0”である時に排他的論理和ゲート49からのECB<0:63> に“1”のビットが存在し且つ排他的論理和ゲート51からのDCSE<0:63>に“1”のビットが存在する場合、つまり、排他的論理和ゲート49および51による比較結果がいずれも不一致である場合には、シンドロームデコード部42(もしくはチェック用シンドロームデコード部47)のどこかに障害が有るものと判断することができる。
【0071】
次に、本実施形態のチェック機能付きエラー訂正回路40においてエラーが発生した時に、どのようなチェック動作が行なわれるかについて、より具体的に説明する。
〔1〕読出データRD<0:63,C0:C15> がエラーをもたない場合
シンドローム作成部41、もしくは、このシンドローム作成部41からのシンドロームSYND<0:15>を受けるラッチ44が故障した場合、シンドロームSYND<0:15>が破壊される。シンドロームデコード部42は、破壊されたシンドロームSYND<0:15>を受けて、発生したエラーが訂正可能か不可能かを判断し、訂正不可能と判断した場合、その旨を報告する一方、訂正可能と判断した場合、データ訂正信号DCS<0:63> をデータ訂正部43へ出力する。
【0072】
データ訂正部43は、データ訂正信号DCS<0:63> に基づいて、読出データRD 1L<0:63>を訂正してから出力する。このように訂正を行なった場合、訂正前のデータRD 1L<0:63>と訂正後のデータとは、排他的論理和ゲート48で比較され、データ訂正部43により訂正されたビットの位置CBL<0:63> が得られる。
同時に、チェック用シンドローム作成部46およびチェック用シンドロームデコード部47により、読出データRD 1L<0:63,C0:C15> に基づいて、訂正すべきビットの位置を示すチェック用データ訂正信号DCSC<0:63>が得られる。
【0073】
今、読出データRD 1L<0:63,C0:C15> はエラーをもたないので、DCSC<0:63>の全てのビットは“0”となる。このため、CBL<0:63> とDCSC<0:63>とを比較すると明らかに不一致のビットが存在し、排他的論理和ゲート49からのECB<0:63> によりエラーが報告される。同様に、DCS<0:63> とDCSC<0:63>とを比較しても明らかに不一致のビットが存在し、排他的論理和ゲート51からのDCSE<0:63>によりエラーが報告される。
【0074】
このとき、シンドローム作成部41およびラッチ44を経由したシンドロームSYND<0:15>と、これらを経由していない読出データRD 1L<0:63,C0:C15> に基づいてチェック用シンドローム作成部46で作成されたチェック用シンドロームSYNDC<0:15> とも不一致となり、排他的論理和ゲート50からのSE<0:15>によりシンドロームエラーが報告される。これにより、少なくとも、シンドローム作成部41もしくはラッチ44で何らかの障害が発生していることを認識できる。
【0075】
また、シンドロームデコード部42で故障が発生したためにデータ訂正部43で誤った訂正がなされた場合には、前述と同様、チェック用シンドロームデコード部47からのDCSC<0:63>の全てのビットは“0”であるにも係わらず、CBL<0:63> およびDCS<0:63> には“1”のビットが存在することになり、排他的論理和ゲート49からのECB<0:63> と排他的論理和ゲート51からのDCSE<0:63>とによりエラーが報告される。しかし、このときは、シンドロームSYND<0:15>とチェック用シンドロームSYNDC<0:15> とが一致するため、排他的論理和ゲート50からのSE<0:15>の全てのビットは“0”となる。このようなエラー報告から、少なくとも、シンドロームデコード部42で何らかの障害が発生していることを認識できる。
【0076】
さらに、データ訂正部43で障害が発生しているために、データ訂正部43で誤った訂正がなされた場合には、シンドロームデコード部42からのDCS<0:63> の全てのビットとチェック用シンドロームデコード部47からのDCSC<0:63>の全てのビットとは“0”であるにも係わらず、CBL<0:63> には“1”のビットが存在することになり、排他的論理和ゲート49からのECB<0:63> によりエラーが報告される。このとき、DCS<0:63> とDCSC<0:63>とは一致するので、排他的論理和ゲート51からのDCSE<0:63>の全てのビットは“0”となるとともに、排他的論理和ゲート50からのSE<0:15>の全てのビットは“0”となる。このようなエラー報告から、データ訂正部43で何らかの障害が発生していることを認識できる。
【0077】
〔2〕読出データRD<0:63,C0:C15> が訂正可能なエラーをもつ場合
シンドローム作成部41、もしくは、このシンドローム作成部41からのシンドロームSYND<0:15>を受けるラッチ44が故障し、シンドロームSYND<0:15>が破壊されると、そのシンドロームSYND<0:15>は、訂正不可能なエラーを示すシンドローム、もしくは、読出データRD<0:63,C0:C15> における実際のエラービットの位置とは異なる位置のビットを訂正ビットとして指示するシンドロームに変わってしまう。
【0078】
前者のようにシンドロームSYND<0:15>が変化した場合には、シンドロームデコード部42は、訂正不可能なエラーが発生した旨を報告する。
一方、後者のようにシンドロームSYND<0:15>が変化した場合、シンドロームデコード部42は、データ訂正信号DCS<0:63> をデータ訂正部43へ出力し、データ訂正部43は、データ訂正信号DCS<0:63> に基づいて、読出データRD 1L<0:63>を訂正してから出力する。このように訂正を行なった場合、本来の読出データRD<0:63,C0:C15> のエラービットの位置つまりチェック用シンドロームデコード部47からのDCSC<0:63>と、データ訂正信号DCS<0:63> とが異なり、そのデータ訂正信号DCS<0:63> に基づいて訂正されたビット位置CBL<0:63> と、チェック用シンドロームデコード部47からのDCSC<0:63>とも異なる。従って、排他的論理和ゲート49からのECB<0:63> と排他的論理和ゲート51からのDCSE<0:63>とによりエラーが報告される。
【0079】
このとき、シンドローム作成部41およびラッチ44を経由したシンドロームSYND<0:15>と、これらを経由していない読出データRD 1L<0:63,C0:C15> に基づいてチェック用シンドローム作成部46で作成されたチェック用シンドロームSYNDC<0:15> とも不一致となり、排他的論理和ゲート50からのSE<0:15>によりシンドロームエラーが報告される。これにより、少なくとも、シンドローム作成部41もしくはラッチ44で何らかの障害が発生していることを認識できる。
【0080】
また、シンドロームデコード部42で障害が発生した場合にも、データ訂正部43において、読出データRD<0:63,C0:C15> における実際のエラービットの位置とは異なる位置のビットを訂正してしまう。このように訂正を行なった場合も、本来の読出データRD<0:63,C0:C15> のエラービットの位置つまりチェック用シンドロームデコード部47からのDCSC<0:63>と、データ訂正信号DCS<0:63> とが異なり、そのデータ訂正信号DCS<0:63> に基づいて訂正されたビット位置CBL<0:63> と、チェック用シンドロームデコード部47からのDCSC<0:63>とも異なる。従って、排他的論理和ゲート49からのECB<0:63> と排他的論理和ゲート51からのDCSE<0:63>とによりエラーが報告される。しかし、このときは、シンドロームSYND<0:15>とチェック用シンドロームSYNDC<0:15> とが一致するため、排他的論理和ゲート50からのSE<0:16>の全てのビットは“0”となる。このようなエラー報告から、少なくとも、シンドロームデコード部42で何らかの障害が発生していることを認識できる。
【0081】
さらに、データ訂正部43で障害が発生しているために、データ訂正部43で誤った訂正がなされた場合には、シンドロームデコード部42からのDCS<0:63> とチェック用シンドロームデコード部47からのDCSC<0:63>とは同じであるにも係わらず、CBL<0:63> がDCSC<0:63>と違う値をもってしまい、排他的論理和ゲート49からのECB<0:63> によりエラーが報告される。このとき、DCS<0:63> とDCSC<0:63>とは一致するので、排他的論理和ゲート51からのDCSE<0:63>の全てのビットは“0”となるとともに、排他的論理和ゲート50からのSE<0:16>の全てのビットは“0”となる。このようなエラー報告から、データ訂正部43で何らかの障害が発生していることを認識できる。
【0082】
〔3〕読出データRD<0:63,C0:C15> が訂正不可能なエラーをもつ場合
シンドローム作成部41、もしくは、このシンドローム作成部41からのシンドロームSYND<0:15>を受けるラッチ44が故障している時には、シンドローム作成部41およびラッチ44を経由したシンドロームSYND<0:15>と、これらを経由していない読出データRD 1L<0:63,C0:C15> に基づいてチェック用シンドローム作成部46で作成されたチェック用シンドロームSYNDC<0:15> とが異なり、排他的論理和ゲート50からのSE<0:15>によりシンドロームエラーが報告される。
【0083】
また、シンドロームデコード部42で障害が発生した場合、ほとんどの場合、シンドロームデコード部42により訂正不可能なエラーが報告されることになる。ごく稀に、シンドロームデコード部42が、訂正可能なエラーが生じているものと認識し、データ訂正信号DCS<0:63> をデータ訂正部43へ出力したとしても、CBL<0:63> とチェック用シンドロームデコード部47からのDCSC<0:63>との間で矛盾(不一致)が生じ、排他的論理和ゲート49からのECB<0:63> によりエラーが報告される。
【0084】
このように、本発明の一実施形態によれば、エラー訂正回路40の故障に起因する訂正エラーを確実に検出でき、その訂正エラーの発生ビットを特定できるとともに、エラー訂正回路40に障害の発生箇所についても、ある程度特定することができる。従って、コンピュータシステムや通信装置などの、デジタルデータを取り扱う装置の信頼性を大幅に高めることができる。
【0085】
ところで、図5は、本発明の一実施形態としてのチェック機能付きエラー訂正回路の変形例の構成を示すブロック図である。この図5に示す変形例では、本実施形態のチェック機能付きエラー訂正回路40が、非同期回路から入力される非同期信号をエラー訂正対象のデータとしている。この場合、図5に示すように、図2に示したものと同様のチェック機能付きエラー訂正回路40の前段に所定段数のラッチ52が直列的に挿入される。なお、図5に示すチェック機能付きエラー訂正回路40では、ラッチ44,45が最終段のラッチとなっている。
【0086】
従来、エラー訂正回路前段に挿入するラッチの段数は、メタステーブル状態の発生確率をどの程度まで抑制するかに応じて決定されている。つまり、メタステーブル状態の発生確率を極めて小さくしたい場合には、挿入すべきラッチの段数を多くする必要がある。このようにラッチの段数が増加すると、前述した通り、データを受け取ってから実際に利用するまでにかかる時間が長くなってしまうほか、ラッチの段数を多くしたとしても、メタステーブル状態が全く起こり得なくなるわけではない。
【0087】
しかし、本実施形態のチェック機能付きエラー訂正回路40では、万一、メタステーブル状態が生じ、ラッチ44で受けるシンドロームの値とラッチ45で受けるデータの値とに矛盾を生じたとしても、その矛盾が、前述のごとく、訂正エラーとして常に確実に検出することができる。
従って、どうしても避けられないメタステーブル状態が発生したとしても、本実施形態のチェック機能付きエラー訂正回路40では訂正データの妥当性をチェックできる。このため、メタステーブル状態に起因するエラーをもったデータを正常なデータとして出力してしまいメタステーブル状態がシステム全体の重大なエラーへと発展するような事態を、確実に回避することができる。
【0088】
このように、本実施形態のチェック機能付きエラー訂正回路40を用いることにより、メタステーブル状態に起因する訂正エラーをも確実に検出・回避することができる。また、メタステーブル状態に起因する訂正エラーを確実に検出・回避することができるので、メタステーブル状態を解消するためのラッチ52の段数を少なくすることができ、データを受け取ってから実際に利用するまでにかかる時間を短くすることができる。つまり、システムの高い信頼性を保ちながら、メタステーブル状態の回避に要する時間を短縮することができ、動作速度の高速化を実現することができる。
【0089】
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【0090】
【発明の効果】
以上詳述したように、本発明のエラー訂正回路のチェック方法(請求項1)およびチェック機能付きエラー訂正回路(請求項2〜請求項5)によれば、エラー訂正回路の故障に起因する訂正エラーやメタステーブル状態に起因する訂正エラーを確実に検出できるとともに、その訂正エラーの発生ビットや障害の発生箇所を特定できるので、デジタルデータを取り扱うシステムの信頼性を大幅に高めることができるとともに、メタステーブル状態の回避に要する時間を短縮して動作速度の高速化を実現することができる。
【図面の簡単な説明】
【図1】本発明のチェック機能付きエラー訂正回路の原理的な構成を示すブロック図である。
【図2】本発明の一実施形態としてのチェック機能付きエラー訂正回路の構成を示すブロック図である。
【図3】S4EC−D4EDのHマトリクスを示す図である。
【図4】データエラーの判定論理を示す図である。
【図5】本発明の一実施形態としてのチェック機能付きエラー訂正回路の変形例の構成を示すブロック図である。
【図6】一般的なエラー訂正回路(ECC)を有するシステムの構成を示すブロック図である。
【図7】一般的なエラー訂正回路(ECC)の構成を示すブロック図である。
【符号の説明】
1 CPU
2 メモリ
3 チェックビット作成・付加回路
4 エラー訂正回路(ECC)
10 チェック機能付きエラー訂正回路
11 第1シンドローム作成部
12 第1シンドロームデコード部
13 データ訂正部
14 第2シンドローム作成部
15 第2シンドロームデコード部
16 第1比較部
17 第2比較部
18 第3比較部
19 第4比較部
40 チェック機能付きエラー訂正回路
41 シンドローム作成部(SG;第1シンドローム作成部)
42 シンドロームデコード部(SD;第1シンドロームデコード部)
43 データ訂正部(CR)
44,45 ラッチ
46 チェック用シンドローム作成部(SGC;第2シンドローム作成部)
47 チェック用シンドロームデコード部(SDC;第2シンドロームデコード部)
48 排他的論理和ゲート(E-OR;第1比較部)
49 排他的論理和ゲート(E-OR;第2比較部)
50 排他的論理和ゲート(E-OR;第3比較部)
51 排他的論理和ゲート(E-OR;第4比較部)
52 ラッチ
Claims (5)
- エラー訂正対象のデータについてのシンドロームを作成するシンドローム作成部と、該シンドローム作成部により作成された前記シンドロームをデコードし前記データの訂正ビットを指示する訂正信号を出力するシンドロームデコード部と、該シンドロームデコード部からの前記訂正信号に応じて前記データを訂正するデータ訂正部とをそなえてなるエラー訂正回路における障害の有無を検出するためのチェック方法であって、
該シンドローム作成部と同一機能を有する回路により、前記データについてのチェック用シンドロームを作成し、
該シンドロームデコード部と同一機能を有する回路により、前記チェック用シンドロームをデコードして前記データの訂正ビットを指示するチェック用訂正信号を出力し、
訂正前のデータと該データ訂正部により訂正されたデータとを比較して、該データ訂正部による訂正ビット位置を検出し、
検出された前記訂正ビット位置と前記チェック用訂正信号に含まれる訂正ビット位置情報とを比較して、該エラー訂正回路における障害の有無/訂正データの妥当性を判定することを特徴とする、エラー訂正回路のチェック方法。 - エラー訂正対象のデータについてのシンドロームを作成する第1シンドローム作成部と、
該第1シンドローム作成部により作成された前記シンドロームをデコードし、前記データの訂正ビットを指示する訂正信号を出力する第1シンドロームデコード部と、
該第1シンドロームデコード部からの前記訂正信号に応じて前記データを訂正するデータ訂正部とをそなえてなるエラー訂正回路において、
前記データについてのチェック用シンドロームを作成する第2シンドローム作成部と、
該第2シンドローム作成部により作成された前記チェック用シンドロームをデコードし、前記データの訂正ビットを指示するチェック用訂正信号を出力する第2シンドロームデコード部と、
該データ訂正部による訂正ビット位置を検出すべく、訂正前のデータと該データ訂正部により訂正されたデータとを比較する第1比較部と、
該エラー訂正回路における障害の有無/訂正データの妥当性を判定すべく、該第1比較部により検出された前記訂正ビット位置と該第2シンドロームデコード部からのチェック用訂正信号に含まれる訂正ビット位置情報とを比較する第2比較部とをそなえたことを特徴とする、チェック機能付きエラー訂正回路。 - 該第2比較部が、前記データにおいて誤訂正されたビット位置を特定すべく、該第1比較部により検出された前記訂正ビット位置と該第2シンドロームデコード部からのチェック用訂正信号に含まれる訂正ビット位置情報とをビット毎に比較することを特徴とする、請求項2記載のチェック機能付きエラー訂正回路。
- 該エラー訂正回路における障害の発生部位を特定すべく、該第1シンドローム作成部により作成された前記シンドロームと該第2シンドローム作成部により作成された前記チェック用シンドロームとを比較する第3比較部をそなえたことを特徴とする、請求項2または請求項3に記載のチェック機能付きエラー訂正回路。
- 該エラー訂正回路における障害の発生部位を特定すべく、該第1シンドロームデコード部からの前記訂正信号と該第2シンドロームデコード部からの前記チェック用訂正信号とを比較する第4比較部をそなえたことを特徴とする、請求項2〜請求項4のいずれか1項に記載のチェック機能付きエラー訂正回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12978499A JP4213814B2 (ja) | 1999-05-11 | 1999-05-11 | エラー訂正回路のチェック方法およびチェック機能付きエラー訂正回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12978499A JP4213814B2 (ja) | 1999-05-11 | 1999-05-11 | エラー訂正回路のチェック方法およびチェック機能付きエラー訂正回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000323994A JP2000323994A (ja) | 2000-11-24 |
JP4213814B2 true JP4213814B2 (ja) | 2009-01-21 |
Family
ID=15018151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12978499A Expired - Fee Related JP4213814B2 (ja) | 1999-05-11 | 1999-05-11 | エラー訂正回路のチェック方法およびチェック機能付きエラー訂正回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4213814B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11436079B2 (en) | 2019-06-12 | 2022-09-06 | Samsung Electronics Co., Ltd. | Semiconductor memory devices having enhanced error correction circuits therein |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101807538B1 (ko) | 2010-12-30 | 2017-12-12 | 삼성전자주식회사 | 듀얼-신드롬 생성기를 포함하는 에러 정정 코드 블록, 이의 동작 방법, 및 상기 에러 정정 코드 블록을 포함하는 시스템 |
-
1999
- 1999-05-11 JP JP12978499A patent/JP4213814B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11436079B2 (en) | 2019-06-12 | 2022-09-06 | Samsung Electronics Co., Ltd. | Semiconductor memory devices having enhanced error correction circuits therein |
Also Published As
Publication number | Publication date |
---|---|
JP2000323994A (ja) | 2000-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1160987B1 (en) | Method and apparatus for verifying error correcting codes | |
US5173905A (en) | Parity and error correction coding on integrated circuit addresses | |
US6044483A (en) | Error propagation operating mode for error correcting code retrofit apparatus | |
JP3839215B2 (ja) | 誤り検出・訂正方法、計算機システムの主記憶制御装置、及び計算機システム | |
US6018817A (en) | Error correcting code retrofit method and apparatus for multiple memory configurations | |
US7149947B1 (en) | Method of and system for validating an error correction code and parity information associated with a data word | |
US5384788A (en) | Apparatus and method for optimal error correcting code to parity conversion | |
US8145977B2 (en) | Methods and apparatus for providing error correction to unwritten pages and for identifying unwritten pages in flash memory | |
JP3234130B2 (ja) | 誤り訂正符号復号化方法およびこの方法を用いる回路 | |
US6519717B1 (en) | Mechanism to improve fault isolation and diagnosis in computers | |
US6742159B2 (en) | Address parity error processing method, and apparatus and storage for the method | |
US4455655A (en) | Real time fault tolerant error correction mechanism | |
US11663076B2 (en) | Memory address protection | |
US7137057B2 (en) | Method and apparatus for performing error correction code (ECC) conversion | |
US6519736B1 (en) | Generating special uncorrectable error codes for failure isolation | |
US6463563B1 (en) | Single symbol correction double symbol detection code employing a modular H-matrix | |
JP4213814B2 (ja) | エラー訂正回路のチェック方法およびチェック機能付きエラー訂正回路 | |
CN115904798A (zh) | 存储器的纠错检错方法、系统以及控制器 | |
CN117413252A (zh) | 具有内置错误纠正和检测的存储器的错误率 | |
JP3112922B2 (ja) | Ecc回路のチェック方式 | |
US20240202086A1 (en) | Circuits, systems, and methods for ecc fault detection | |
EP1090462B1 (en) | Circuit and method for rapid checking of error correction codes using cyclic redundancy check | |
CN113055259B (zh) | 一种基于axi总线协议的功能安全保护方法 | |
GB2455212A (en) | Error detection in processor status register files | |
KR20240092600A (ko) | Ecc 장애 검출을 위한 회로들, 시스템들, 및 방법들 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060510 |
|
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: 20081014 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081031 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |