JPH0855066A - エラー訂正及び変換システム - Google Patents
エラー訂正及び変換システムInfo
- Publication number
- JPH0855066A JPH0855066A JP7145906A JP14590695A JPH0855066A JP H0855066 A JPH0855066 A JP H0855066A JP 7145906 A JP7145906 A JP 7145906A JP 14590695 A JP14590695 A JP 14590695A JP H0855066 A JPH0855066 A JP H0855066A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- data
- error
- check
- pointer
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Error Detection And Correction (AREA)
Abstract
(57)【要約】
【目的】 あるエラー訂正コード・フォーマットを有す
るデータを異なるエラー訂正コード・フォーマットを有
するデータに変換するためのシステムと方法を提供す
る。 【構成】 本発明は、変換を達成するのに必要な論理レ
ベルを減らす。そのため、変換されたデータのためのチ
ェックビットは、シンドロームと同時に入力データから
生成される。次いでエラー・ポインタを使用して、変換
されたデータ及びチェックビットが同時に訂正される。
るデータを異なるエラー訂正コード・フォーマットを有
するデータに変換するためのシステムと方法を提供す
る。 【構成】 本発明は、変換を達成するのに必要な論理レ
ベルを減らす。そのため、変換されたデータのためのチ
ェックビットは、シンドロームと同時に入力データから
生成される。次いでエラー・ポインタを使用して、変換
されたデータ及びチェックビットが同時に訂正される。
Description
【0001】
【産業上の利用分野】本発明は、一般にデジタル・デー
タ・ストリングにおけるエラーを訂正するためのシステ
ムと方法に関する。特に本発明は、デジタル・データを
あるエラー訂正コード(ECC)・フォーマットから他
のECCフォーマットに変換する場合のECCコード技
術を実行する効率的なシステム・アーキテクチャ及びそ
の方法に関する。
タ・ストリングにおけるエラーを訂正するためのシステ
ムと方法に関する。特に本発明は、デジタル・データを
あるエラー訂正コード(ECC)・フォーマットから他
のECCフォーマットに変換する場合のECCコード技
術を実行する効率的なシステム・アーキテクチャ及びそ
の方法に関する。
【0002】
【従来の技術】デジタル・データの記憶、伝送、或いは
処理などの動作中に誘発されるデジタル・データ・ビッ
ト・ストリングにおけるソフト・エラーまたはハード・
エラーを検出及び訂正する技術はコンピュータ産業にお
いてよく知られている。現在、デジタル・データの全て
のビット・ストリングが正しく情報を表すかの確認、或
いは少なくとも情報がエラーを有するかの検出のため
に、例えばハミング・コードによって特徴づけられるよ
うに、データ・ビットを処理するのが一般的である。
処理などの動作中に誘発されるデジタル・データ・ビッ
ト・ストリングにおけるソフト・エラーまたはハード・
エラーを検出及び訂正する技術はコンピュータ産業にお
いてよく知られている。現在、デジタル・データの全て
のビット・ストリングが正しく情報を表すかの確認、或
いは少なくとも情報がエラーを有するかの検出のため
に、例えばハミング・コードによって特徴づけられるよ
うに、データ・ビットを処理するのが一般的である。
【0003】エラーの検出及び訂正には、実際のデータ
を表すストリングに特別のビットであるチェックビット
を含めさせるのが一般的であり、この組合わせのビット
・ストリングを使用してシンドローム及びエラー・ポイ
ンタによりエラーの検出及び訂正を行う。これらの最終
目標は、データ・ビット・ストリングにおけるエラーの
存在の検出並びに対策のためにエラー位置を識別するこ
とである。
を表すストリングに特別のビットであるチェックビット
を含めさせるのが一般的であり、この組合わせのビット
・ストリングを使用してシンドローム及びエラー・ポイ
ンタによりエラーの検出及び訂正を行う。これらの最終
目標は、データ・ビット・ストリングにおけるエラーの
存在の検出並びに対策のためにエラー位置を識別するこ
とである。
【0004】エラー訂正は、外部の物理的現象によりデ
ータ・ビットのスプリアス、すなわちソフト・エラーが
生じ易いデジタル・データ転送システム及びデジタル・
データ記憶システムで特に行われる。エラー訂正は、装
置の永久的故障などによって生じるハード・エラーの処
理と同じ重要さがある。本発明の実施例が目指す具体例
では、装置の小型化のためにエラーの混在を招くおそれ
がある集積回路ダイナミック・メモリ装置(DRAM)
でのデータの記憶が含まれる。
ータ・ビットのスプリアス、すなわちソフト・エラーが
生じ易いデジタル・データ転送システム及びデジタル・
データ記憶システムで特に行われる。エラー訂正は、装
置の永久的故障などによって生じるハード・エラーの処
理と同じ重要さがある。本発明の実施例が目指す具体例
では、装置の小型化のためにエラーの混在を招くおそれ
がある集積回路ダイナミック・メモリ装置(DRAM)
でのデータの記憶が含まれる。
【0005】現在、様々な異なるECC技術が知られて
おり、使用されている。代表例では、単一ビット・エラ
ー訂正と2重ビット・エラー検出能力を有する1つの長
データ・ワード、単一ビット・エラー訂正と2重ビット
・エラー検出能力を有する2つ(以上)の短データ・ワ
ード、及び多重ビット・エラー訂正能力を有する1つの
長データ・ワードを有するアプリケーションが含まれ
る。ある形式から他の形式への移行は、関連チェックビ
ットの変換が必要である。
おり、使用されている。代表例では、単一ビット・エラ
ー訂正と2重ビット・エラー検出能力を有する1つの長
データ・ワード、単一ビット・エラー訂正と2重ビット
・エラー検出能力を有する2つ(以上)の短データ・ワ
ード、及び多重ビット・エラー訂正能力を有する1つの
長データ・ワードを有するアプリケーションが含まれ
る。ある形式から他の形式への移行は、関連チェックビ
ットの変換が必要である。
【0006】ECCを使用する場合、ECC符号化ビッ
ト・ストリングの形で記憶、または伝送されるデータの
効率的変換が重要である。例えば広いバスまたは無線周
波媒体を介して記憶または伝送させるために、2つまた
は4つの32ビット長ワードを結合して64ビットまた
は128ビットのストリングをそれぞれ構成し、後でこ
の結合ビット・ストリングを32ビット長ワードへ分割
する方法は一般に行われている。このような形式のデー
タ処理が行われる理由は、データ・ビット数とチェック
・ビット数の比という点で、データ・ストリングの長さ
が増すほど、エラーの検出及び訂正がより効率よく行わ
れるという事実に起因する。
ト・ストリングの形で記憶、または伝送されるデータの
効率的変換が重要である。例えば広いバスまたは無線周
波媒体を介して記憶または伝送させるために、2つまた
は4つの32ビット長ワードを結合して64ビットまた
は128ビットのストリングをそれぞれ構成し、後でこ
の結合ビット・ストリングを32ビット長ワードへ分割
する方法は一般に行われている。このような形式のデー
タ処理が行われる理由は、データ・ビット数とチェック
・ビット数の比という点で、データ・ストリングの長さ
が増すほど、エラーの検出及び訂正がより効率よく行わ
れるという事実に起因する。
【0007】例えば、単一ビット訂正と2重ビット検出
を64ビットのストリングに対して行うのであれば、合
計で72ビット(64+8)を要する。一方、同じこと
を2つの32ビット・ストリングに対して行う場合は、
合計で78ビット(32+7と32+7)を要する。
を64ビットのストリングに対して行うのであれば、合
計で72ビット(64+8)を要する。一方、同じこと
を2つの32ビット・ストリングに対して行う場合は、
合計で78ビット(32+7と32+7)を要する。
【0008】集積回路記憶装置にはソフト・エラーが生
じ易いという認識から、一般にデータは2つまたは4つ
の32ビット・ワードをそれぞれ64ビット、または1
28ビットのグループに組合わせて関連チェックビット
と共にDRAMに記憶される。例えば2つの32ビット
・ワードを14のチェックビットを持つ1つの78ビッ
ト・ストリングへ組合わせると、4ビットまでのエラー
を訂正できる。対照的に32ビット・ワードの各々が7
つのチェックビットでそれぞれ処理される場合、32ビ
ット・ワードにつき最大で1ビットのエラー訂正と2ビ
ットのエラー検出が可能である。エラー訂正は、単なる
エラー検出より相当価値がある能力である。従って、エ
ラーの生じる可能性があるデータ記憶においては、ワー
ドを組合わせて記憶させることが効率的である。広いバ
スを介して長いビット・ストリングを伝送する場合にも
同じことがいえる。一方、集積回路チップでデータを入
出力する場合は、チップのピンによる制限上、短いビッ
ト・ストリングのデータを使用することが好ましい。
じ易いという認識から、一般にデータは2つまたは4つ
の32ビット・ワードをそれぞれ64ビット、または1
28ビットのグループに組合わせて関連チェックビット
と共にDRAMに記憶される。例えば2つの32ビット
・ワードを14のチェックビットを持つ1つの78ビッ
ト・ストリングへ組合わせると、4ビットまでのエラー
を訂正できる。対照的に32ビット・ワードの各々が7
つのチェックビットでそれぞれ処理される場合、32ビ
ット・ワードにつき最大で1ビットのエラー訂正と2ビ
ットのエラー検出が可能である。エラー訂正は、単なる
エラー検出より相当価値がある能力である。従って、エ
ラーの生じる可能性があるデータ記憶においては、ワー
ドを組合わせて記憶させることが効率的である。広いバ
スを介して長いビット・ストリングを伝送する場合にも
同じことがいえる。一方、集積回路チップでデータを入
出力する場合は、チップのピンによる制限上、短いビッ
ト・ストリングのデータを使用することが好ましい。
【0009】図1は、ECCを変換するのに従来使用さ
れているオペレーション並びに関連論理レベルを機能ブ
ロック図によって概略的に示した図である。ここでは、
システム・メモリ1に記憶された64ビット・ワード
が、バス2及び3への出力として与えられる1対の32
ビット・ワードに変換される。システム・メモリ1から
与えられラッチ4に保持される情報は、64データ・ビ
ットと8チェックビットとで構成する。バス2及び3の
対応する出力は、各々32データ・ビットと7チェック
ビットとで構成する。長い72ビットのストリングがD
RAM内で使用され、メモリ・アレイのコストを下げ
る。これはストリングが長くなるほど、必要なチェック
ビットの割合が小さくなるからである。バス2及び3
は、次の論理レベルで複数のチップと共用可能な32ビ
ット・データを使用する。各32ビット・データには7
つのチェックビットが付加されるが、これは1ビットの
エラー訂正と2ビットのエラー検出の能力がある。
れているオペレーション並びに関連論理レベルを機能ブ
ロック図によって概略的に示した図である。ここでは、
システム・メモリ1に記憶された64ビット・ワード
が、バス2及び3への出力として与えられる1対の32
ビット・ワードに変換される。システム・メモリ1から
与えられラッチ4に保持される情報は、64データ・ビ
ットと8チェックビットとで構成する。バス2及び3の
対応する出力は、各々32データ・ビットと7チェック
ビットとで構成する。長い72ビットのストリングがD
RAM内で使用され、メモリ・アレイのコストを下げ
る。これはストリングが長くなるほど、必要なチェック
ビットの割合が小さくなるからである。バス2及び3
は、次の論理レベルで複数のチップと共用可能な32ビ
ット・データを使用する。各32ビット・データには7
つのチェックビットが付加されるが、これは1ビットの
エラー訂正と2ビットのエラー検出の能力がある。
【0010】ラッチ4に保持された入力データ及びチェ
ックビットの組合わせの72ビットは、シンドローム・
ジェネレータ6に与えられ、それとともに未訂正の64
ビットのデータがメモリ・データ訂正ブロック7に送ら
れる。従来の方法で、シンドローム・ジェネレータ6
は、8ビットのシンドロームを生成する。この8ビット
のシンドロームは、データ・エラー・ポインタ・ジェネ
レータ8で論理的に組合わされ64ビットのエラー・ポ
インタを生成する。エラー・ポインタは、ラッチ4から
得た64ビットの未訂正データの訂正位置を識別する。
次にメモリ・データ訂正ブロック7からの64ビットの
訂正済みデータは、2つの32ビット・データ・ワード
に分割される。図1に示されるように、これらの32ビ
ット・ワードはそれぞれチェックビット・ジェネレータ
9及び11に供給され、そこでエラー訂正のための7つ
のチェックビットを生成するのに使用される。
ックビットの組合わせの72ビットは、シンドローム・
ジェネレータ6に与えられ、それとともに未訂正の64
ビットのデータがメモリ・データ訂正ブロック7に送ら
れる。従来の方法で、シンドローム・ジェネレータ6
は、8ビットのシンドロームを生成する。この8ビット
のシンドロームは、データ・エラー・ポインタ・ジェネ
レータ8で論理的に組合わされ64ビットのエラー・ポ
インタを生成する。エラー・ポインタは、ラッチ4から
得た64ビットの未訂正データの訂正位置を識別する。
次にメモリ・データ訂正ブロック7からの64ビットの
訂正済みデータは、2つの32ビット・データ・ワード
に分割される。図1に示されるように、これらの32ビ
ット・ワードはそれぞれチェックビット・ジェネレータ
9及び11に供給され、そこでエラー訂正のための7つ
のチェックビットを生成するのに使用される。
【0011】図1のブロックの右側に、従来の典型的な
設計で機能を実行するのに必要な論理レベルの数が示さ
れている。図示のように、変換は13レベルの論理を必
要とする。各レベルが少なくとも1つの論理ゲートを表
すので、システム・クロック周波数が増加する場合に、
変換における遅延が問題になる。
設計で機能を実行するのに必要な論理レベルの数が示さ
れている。図示のように、変換は13レベルの論理を必
要とする。各レベルが少なくとも1つの論理ゲートを表
すので、システム・クロック周波数が増加する場合に、
変換における遅延が問題になる。
【0012】
【発明が解決しようとする課題】長いビット・ストリン
グと短いビット・ストリングの間でデータ変換を行う従
来のシステムは、最初のデータ・ビット・ストリングの
エラーを訂正し、次に訂正済みデータ・ビット・ストリ
ングを使用して変換形式のデータのチェックビットを生
成するアーキテクチャを使用する。残念なことにこのプ
ロセスは、訂正及びチェックビット生成を実行するのに
13程度の集積回路の論理レベルを介する処理を一般に
要する。効率的なビット処理、エラー訂正及びデータ転
送が重要であるとすれば、可能な限り少ない論理レベル
での変換達成が必要である。
グと短いビット・ストリングの間でデータ変換を行う従
来のシステムは、最初のデータ・ビット・ストリングの
エラーを訂正し、次に訂正済みデータ・ビット・ストリ
ングを使用して変換形式のデータのチェックビットを生
成するアーキテクチャを使用する。残念なことにこのプ
ロセスは、訂正及びチェックビット生成を実行するのに
13程度の集積回路の論理レベルを介する処理を一般に
要する。効率的なビット処理、エラー訂正及びデータ転
送が重要であるとすれば、可能な限り少ない論理レベル
での変換達成が必要である。
【0013】
【課題を解決するための手段】本発明に従うECC変換
システムは、データ・ビットの第1のビット・ストリン
グ及びチェック・ビットの第2のストリングを含む未訂
正の入力ビットを受信する手段と、入力からエラー・ポ
インタを生成する手段と、第1のデータ・ビット・スト
リングを使用してチェックビットを生成する手段と、エ
ラー・ポインタを使用して第1のデータ・ビット・スト
リング及び生成チェックビットの両方を訂正する手段と
を有する。本発明は、このようなシステムによる変換方
法も提供する。
システムは、データ・ビットの第1のビット・ストリン
グ及びチェック・ビットの第2のストリングを含む未訂
正の入力ビットを受信する手段と、入力からエラー・ポ
インタを生成する手段と、第1のデータ・ビット・スト
リングを使用してチェックビットを生成する手段と、エ
ラー・ポインタを使用して第1のデータ・ビット・スト
リング及び生成チェックビットの両方を訂正する手段と
を有する。本発明は、このようなシステムによる変換方
法も提供する。
【0014】本発明の好ましい実施例では、複数のデー
タ・ワード及びチェックビットを含む入力ビット・スト
リングは、通常、DRAMである記憶媒体から受け取
る。未訂正入力データは、分割などによる再フォーマッ
トに際し、再フォーマットされたデータのためのチェッ
クビットを生成するのに使用される。それと同時に、シ
ンドロームが元の入力データから生成される。入力デー
タ・エラー訂正ポインタはシンドロームから導き出され
る。これらの入力データ・エラー・ポインタは、再フォ
ーマットされた入力データと新たなチェックビットの両
方を訂正するのに使用される。新たなチェックビット及
びシンドロームの同時生成は、論理レベルの数を従来技
術の代表的な13から10に減少させ、それに応じて変
換速度をかなり高める。
タ・ワード及びチェックビットを含む入力ビット・スト
リングは、通常、DRAMである記憶媒体から受け取
る。未訂正入力データは、分割などによる再フォーマッ
トに際し、再フォーマットされたデータのためのチェッ
クビットを生成するのに使用される。それと同時に、シ
ンドロームが元の入力データから生成される。入力デー
タ・エラー訂正ポインタはシンドロームから導き出され
る。これらの入力データ・エラー・ポインタは、再フォ
ーマットされた入力データと新たなチェックビットの両
方を訂正するのに使用される。新たなチェックビット及
びシンドロームの同時生成は、論理レベルの数を従来技
術の代表的な13から10に減少させ、それに応じて変
換速度をかなり高める。
【0015】
【実施例】図2は、図1と同様の変換を行う本発明の実
施例を示す。すなわち、72(64+8)ビットのフォ
ーマットで記憶されたデータを2つの39(32+7)
ビットのフォーマットで使用されるデータに変換する。
図2に示される破線より上方の機能を実行するのに必要
な論理レベルは、図1で同様に破線で区分けされた従来
技術の数と同じであるが、図1の破線より下方で生じる
変換オペレーションの実行に必要な6つの論理レベルと
比較して、本発明は同じ機能を僅か3つの論理レベルで
実行することができる。
施例を示す。すなわち、72(64+8)ビットのフォ
ーマットで記憶されたデータを2つの39(32+7)
ビットのフォーマットで使用されるデータに変換する。
図2に示される破線より上方の機能を実行するのに必要
な論理レベルは、図1で同様に破線で区分けされた従来
技術の数と同じであるが、図1の破線より下方で生じる
変換オペレーションの実行に必要な6つの論理レベルと
比較して、本発明は同じ機能を僅か3つの論理レベルで
実行することができる。
【0016】上述の改良が可能になったのは、チェック
ビットの生成に使用されるデータがチェックビット生成
の段階で疑わしい正確度であっても、シンドローム生成
と同時に比較的複雑なチェックビット生成機能を実行し
ているからである。
ビットの生成に使用されるデータがチェックビット生成
の段階で疑わしい正確度であっても、シンドローム生成
と同時に比較的複雑なチェックビット生成機能を実行し
ているからである。
【0017】図2に示されるように、ラッチ4からの6
4ビットの未訂正データは、2つの32ビット・ワード
・セグメントに分割され、それぞれチェックビット・ジ
ェネレータ12及び13に与えられる。チェックビット
・ジェネレータ12及び13は、それぞれの32ビット
・データ・ストリングに対して7ビット長のチェックビ
ットを生成する。しかしながら、この段階でのデータの
正確度は疑わしいので、該データから生成されたチェッ
クビットも疑わしい。しかし、破線の下方で実行される
オペレーションが、チェックビット・エラー・ポインタ
の生成と早期に生成されたチェックビットの訂正とを含
んでいるとしても、チェックビットの訂正はチェックビ
ットの生成よりかなり速く達成される。
4ビットの未訂正データは、2つの32ビット・ワード
・セグメントに分割され、それぞれチェックビット・ジ
ェネレータ12及び13に与えられる。チェックビット
・ジェネレータ12及び13は、それぞれの32ビット
・データ・ストリングに対して7ビット長のチェックビ
ットを生成する。しかしながら、この段階でのデータの
正確度は疑わしいので、該データから生成されたチェッ
クビットも疑わしい。しかし、破線の下方で実行される
オペレーションが、チェックビット・エラー・ポインタ
の生成と早期に生成されたチェックビットの訂正とを含
んでいるとしても、チェックビットの訂正はチェックビ
ットの生成よりかなり速く達成される。
【0018】再び図2を参照すると、データ・エラー・
ポインタ・ジェネレータ8からの64ビットは、システ
ム・メモリ1から読み出された64ビット・データのど
のビットが訂正されるのかを識別するためにメモリ・デ
ータ訂正ブロック7に与えられる。
ポインタ・ジェネレータ8からの64ビットは、システ
ム・メモリ1から読み出された64ビット・データのど
のビットが訂正されるのかを識別するためにメモリ・デ
ータ訂正ブロック7に与えられる。
【0019】また、本発明の実施例は変換出力の各ビッ
ト・ストリングのためのチェックビット・エラー・ポイ
ンタ14及び16を有する。各チェックビット・エラー
・ポインタは、データ・エラー・ポインタ・ジェネレー
タ8から32ビットの出力を受ける。次に各チェックビ
ット・エラー・ポインタ14及び16は、誤っている可
能性があるメモリ・データから生成された7ビットのチ
ェックビットを訂正するために、それぞれ7ビットのエ
ラー・ポインタを生成する。チェックビットの訂正は、
チェックビット・エラー・ポインタ14及び16にそれ
ぞれ対応するチェックビット訂正ブロック17及び18
で実行される。
ト・ストリングのためのチェックビット・エラー・ポイ
ンタ14及び16を有する。各チェックビット・エラー
・ポインタは、データ・エラー・ポインタ・ジェネレー
タ8から32ビットの出力を受ける。次に各チェックビ
ット・エラー・ポインタ14及び16は、誤っている可
能性があるメモリ・データから生成された7ビットのチ
ェックビットを訂正するために、それぞれ7ビットのエ
ラー・ポインタを生成する。チェックビットの訂正は、
チェックビット・エラー・ポインタ14及び16にそれ
ぞれ対応するチェックビット訂正ブロック17及び18
で実行される。
【0020】チェックビット訂正ブロック17及び18
の出力は、各32ビット・ストリングのデータに対応す
る7ビットの訂正済みチェックビットである。それらを
データと組合せることにより、2つの39ビット長のス
トリングが構成され、これは引き続く処理オペレーショ
ンにおいて1つのエラーの訂正及び2つのエラーの検出
が可能である。通常、これらの39ビットは対応するラ
ッチ、例えばラッチ19及び21に入力される。
の出力は、各32ビット・ストリングのデータに対応す
る7ビットの訂正済みチェックビットである。それらを
データと組合せることにより、2つの39ビット長のス
トリングが構成され、これは引き続く処理オペレーショ
ンにおいて1つのエラーの訂正及び2つのエラーの検出
が可能である。通常、これらの39ビットは対応するラ
ッチ、例えばラッチ19及び21に入力される。
【0021】図2の右側に示された論理レベル数を再び
注目すると、本発明による変換は、図1に示される従来
技術の13レベルに対して10レベルで実行できる。こ
れは、論理ゲート遅延のおよそ25%の減少である。
注目すると、本発明による変換は、図1に示される従来
技術の13レベルに対して10レベルで実行できる。こ
れは、論理ゲート遅延のおよそ25%の減少である。
【0022】様々なブロックへの入出力信号は、図2で
英数字によって示され、これらは図3乃至図7の論理図
において同様な英数字で識別される。図3及び図4は、
シンドローム・ジェネレータ6及びデータ・エラー・ポ
インタ・ジェネレータ8における論理を示す。図8に示
されるシンドローム・テーブルは、図4のデータ・エラ
ー・ポインタ・ジェネレータ8のANDゲートへの入力
を指定するのに使用される2進論理を定義する。8つの
シンドローム信号(SA0乃至SA7)は、ANDゲー
トへの入力であり、一方、出力は訂正信号(F0乃至F
63)である。64ビットの訂正信号はメモリ・データ
訂正ブロック7で64ビットのデータ(D0乃至D6
3)を訂正するのに使用され、出力として訂正済みデー
タ(CD0乃至CD63)を与える。
英数字によって示され、これらは図3乃至図7の論理図
において同様な英数字で識別される。図3及び図4は、
シンドローム・ジェネレータ6及びデータ・エラー・ポ
インタ・ジェネレータ8における論理を示す。図8に示
されるシンドローム・テーブルは、図4のデータ・エラ
ー・ポインタ・ジェネレータ8のANDゲートへの入力
を指定するのに使用される2進論理を定義する。8つの
シンドローム信号(SA0乃至SA7)は、ANDゲー
トへの入力であり、一方、出力は訂正信号(F0乃至F
63)である。64ビットの訂正信号はメモリ・データ
訂正ブロック7で64ビットのデータ(D0乃至D6
3)を訂正するのに使用され、出力として訂正済みデー
タ(CD0乃至CD63)を与える。
【0023】チェックビット・エラー・ポインタ・ブロ
ック14及び16の論理が図5で示され、基本的にOR
ゲートで構成されている。実施例では訂正シンドローム
・ビット(FS0乃至FS6)は、図9のテーブルによ
って定義される訂正ビット(F0乃至F63)から導き
出される。
ック14及び16の論理が図5で示され、基本的にOR
ゲートで構成されている。実施例では訂正シンドローム
・ビット(FS0乃至FS6)は、図9のテーブルによ
って定義される訂正ビット(F0乃至F63)から導き
出される。
【0024】メモリ・データ訂正ブロック7は図6に示
されるようにデータ・ビット位置対応のXOR論理で構
成される。ビット位置毎の訂正済みデータ出力(CD0
乃至CD63)は、訂正ビット(F0乃至F63)及び
対応するデータ・ビット(D0乃至D63)の排他的論
理和(XOR)の結果である。同様にチェックビット訂
正ブロック17及び18も、図7に示されるように、ビ
ット位置対応のXORゲートで構成される。訂正済みチ
ェックビット(CC0乃至CC6)は、未訂正チェック
ビット(CB0乃至CB6)及び訂正シンドローム入力
(FS0乃至FS6)の対応するビットの排他的論理和
によってそれぞれ定義される。本実施例ではAND、O
R及びXORゲートが使用されているが、NAND、N
OR及びXNORゲートを使用して、機能的に等価な論
理を構成することもできる。
されるようにデータ・ビット位置対応のXOR論理で構
成される。ビット位置毎の訂正済みデータ出力(CD0
乃至CD63)は、訂正ビット(F0乃至F63)及び
対応するデータ・ビット(D0乃至D63)の排他的論
理和(XOR)の結果である。同様にチェックビット訂
正ブロック17及び18も、図7に示されるように、ビ
ット位置対応のXORゲートで構成される。訂正済みチ
ェックビット(CC0乃至CC6)は、未訂正チェック
ビット(CB0乃至CB6)及び訂正シンドローム入力
(FS0乃至FS6)の対応するビットの排他的論理和
によってそれぞれ定義される。本実施例ではAND、O
R及びXORゲートが使用されているが、NAND、N
OR及びXNORゲートを使用して、機能的に等価な論
理を構成することもできる。
【0025】本発明は、任意のECC変換に適用でき
る。例えば、メモリは揮発性及び不揮発性のいずれであ
ってもよい。また、データ・ビットの数を変更する他の
デジタルECC符号化情報操作にも適用できる。重要な
利点は、論理レベル数及び対応するゲート遅延を減じる
ことである。
る。例えば、メモリは揮発性及び不揮発性のいずれであ
ってもよい。また、データ・ビットの数を変更する他の
デジタルECC符号化情報操作にも適用できる。重要な
利点は、論理レベル数及び対応するゲート遅延を減じる
ことである。
【0026】図10は、本発明の概要を示す。すなわ
ち、本発明はエラー訂正ポインタ情報がシンドローム・
ジェネレータ23で生成されている間に、新チェックビ
ット生成ブロック22において未訂正入力データからチ
ェックビットを生成する。続いて、データ訂正ブロック
24及び新チェックビット訂正ブロック26で入力デー
タ及びチェックビットのエラーが同時に訂正される。
ち、本発明はエラー訂正ポインタ情報がシンドローム・
ジェネレータ23で生成されている間に、新チェックビ
ット生成ブロック22において未訂正入力データからチ
ェックビットを生成する。続いて、データ訂正ブロック
24及び新チェックビット訂正ブロック26で入力デー
タ及びチェックビットのエラーが同時に訂正される。
【0027】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0028】(1)未訂正の入力データからエラー訂正
コード・チェックビットを生成する手段と、前記入力デ
ータ及びそれに関連する入力チェックビットにもとづい
て、生成されたエラー訂正コード・チェックビットに必
要な訂正を識別する手段と、前記識別する手段に応答し
て前記生成されたエラー訂正コード・チェックビットを
訂正する手段と、を有する、エラー訂正コード変換シス
テム。 (2)前記識別する手段は訂正を識別するためのポイン
タを生成する、前記(1)記載のエラー訂正コード変換
システム。 (3)前記ポインタは入力データの訂正に使用されるポ
インタから導き出されることを特徴とする、前記(2)
記載のエラー訂正コード変換システム。 (4)第1のデータ・ビット・ストリング及び第2のチ
ェックビット・ストリングを有する、入力を受け取る手
段と、前記入力からエラー・ポインタを生成する手段
と、前記第1のデータ・ビット・ストリングを使用して
チェックビットを生成する手段と、前記エラー・ポイン
タを使用して前記第1のデータ・ビット・ストリング及
び生成されたチェックビットを訂正する手段と、を有す
る、エラー訂正コード変換システム。 (5)前記エラー・ポインタは、第1のビット・ストリ
ングに使用される第1のエラー・ポインタと、前記生成
されたチェックビットに使用される第2のエラー・ポイ
ンタとを含む、前記(4)記載のエラー訂正コード変換
システム。 (6)前記エラー・ポインタを生成する手段は、前記入
力を受信するシンドローム・ジェネレータを有する、前
記(5)記載のエラー訂正コード変換システム。 (7)前記第1のデータ・ビット・ストリングと前記生
成されたチェックビットとの前記訂正手段がXOR論理
回路を有する、前記(6)記載のエラー訂正コード変換
システム。 (8)第1のデータ・ビット・ストリング及び第2のチ
ェックビット・ストリングを有する未訂正の入力を受信
するステップと、前記入力からエラー・ポインタを生成
するステップと、前記第1のデータ・ビット・ストリン
グを使用してチェックビットを生成するステップと、前
記エラー・ポインタを使用して前記第1のデータ・ビッ
ト・ストリング及び生成されたチェックビットを訂正す
るステップと、を有する、エラー訂正コード変換方法。 (9)前記エラー・ポインタを生成するステップは、前
記第1のビット・ストリングで使用する第1のエラー・
ポインタを生成するステップと、前記生成されたチェッ
クビットで使用する第2のエラー・ポインタを生成する
ステップとを有する、前記(7)記載の方法。 (10)前記エラー・ポインタを生成するステップは、
前記入力のシンドロームを生成するステップを有する、
前記(8)記載の方法。 (11)訂正するステップはXOR論理回路で達成され
る、前記(10)記載の方法。
コード・チェックビットを生成する手段と、前記入力デ
ータ及びそれに関連する入力チェックビットにもとづい
て、生成されたエラー訂正コード・チェックビットに必
要な訂正を識別する手段と、前記識別する手段に応答し
て前記生成されたエラー訂正コード・チェックビットを
訂正する手段と、を有する、エラー訂正コード変換シス
テム。 (2)前記識別する手段は訂正を識別するためのポイン
タを生成する、前記(1)記載のエラー訂正コード変換
システム。 (3)前記ポインタは入力データの訂正に使用されるポ
インタから導き出されることを特徴とする、前記(2)
記載のエラー訂正コード変換システム。 (4)第1のデータ・ビット・ストリング及び第2のチ
ェックビット・ストリングを有する、入力を受け取る手
段と、前記入力からエラー・ポインタを生成する手段
と、前記第1のデータ・ビット・ストリングを使用して
チェックビットを生成する手段と、前記エラー・ポイン
タを使用して前記第1のデータ・ビット・ストリング及
び生成されたチェックビットを訂正する手段と、を有す
る、エラー訂正コード変換システム。 (5)前記エラー・ポインタは、第1のビット・ストリ
ングに使用される第1のエラー・ポインタと、前記生成
されたチェックビットに使用される第2のエラー・ポイ
ンタとを含む、前記(4)記載のエラー訂正コード変換
システム。 (6)前記エラー・ポインタを生成する手段は、前記入
力を受信するシンドローム・ジェネレータを有する、前
記(5)記載のエラー訂正コード変換システム。 (7)前記第1のデータ・ビット・ストリングと前記生
成されたチェックビットとの前記訂正手段がXOR論理
回路を有する、前記(6)記載のエラー訂正コード変換
システム。 (8)第1のデータ・ビット・ストリング及び第2のチ
ェックビット・ストリングを有する未訂正の入力を受信
するステップと、前記入力からエラー・ポインタを生成
するステップと、前記第1のデータ・ビット・ストリン
グを使用してチェックビットを生成するステップと、前
記エラー・ポインタを使用して前記第1のデータ・ビッ
ト・ストリング及び生成されたチェックビットを訂正す
るステップと、を有する、エラー訂正コード変換方法。 (9)前記エラー・ポインタを生成するステップは、前
記第1のビット・ストリングで使用する第1のエラー・
ポインタを生成するステップと、前記生成されたチェッ
クビットで使用する第2のエラー・ポインタを生成する
ステップとを有する、前記(7)記載の方法。 (10)前記エラー・ポインタを生成するステップは、
前記入力のシンドロームを生成するステップを有する、
前記(8)記載の方法。 (11)訂正するステップはXOR論理回路で達成され
る、前記(10)記載の方法。
【0029】
【発明の効果】本発明によれば、ECC変換に必要な論
理レベルの数を従来よりも少なくすることができる。
理レベルの数を従来よりも少なくすることができる。
【図1】従来技術のエラー訂正データ変換システムのブ
ロック図である。
ロック図である。
【図2】本発明の一実施例を示すブロック図である。
【図3】シンドローム・ジェネレータ論理を示す図であ
る。
る。
【図4】データ・エラー・ポインタ・ジェネレータ論理
を示す図である。
を示す図である。
【図5】チェックビット・エラー・ポインタ論理を示す
図である。
図である。
【図6】メモリ・データ訂正論理を示す図である。
【図7】チェックビット訂正論理を示す図である。
【図8】好ましいECCのHマトリックスを示す図であ
る。
る。
【図9】ECC生成の好ましいシンドローム・テーブル
を示す図である。
を示す図である。
【図10】本発明の概要を示すブロック図である。
1 システム・メモリ 2、3 バス 4、19、21 ラッチ 6、23 シンドローム・ジェネレータ 7 メモリ・データ訂正ブロック 8 データ・エラー・ポインタ・ジェネレータ 9、11、12、13 チェックビット・ジェネレータ 14、16 チェックビット・エラー・ポインタ 17、18 チェックビット訂正ブロック 22 新チェックビット生成ブロック 24 データ訂正ブロック 26 新チェックビット訂正ブロック
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アムジャド・ズルフィガー・クレシ アメリカ合衆国78759、テキサス州オース ティン、ジョリィビル・ロード ナンバー 916 10300
Claims (9)
- 【請求項1】未訂正の入力データからエラー訂正コード
・チェックビットを生成する手段と、 前記入力データ及びそれに関連する入力チェックビット
にもとづいて、生成されたエラー訂正コード・チェック
ビットに必要な訂正を識別する手段と、 前記識別する手段に応答して前記生成されたエラー訂正
コード・チェックビットを訂正する手段と、 を有する、エラー訂正コード変換システム。 - 【請求項2】前記識別する手段は訂正を識別するための
ポインタを生成する、請求項1記載のエラー訂正コード
変換システム。 - 【請求項3】前記ポインタは入力データの訂正に使用さ
れるポインタから導き出されることを特徴とする、請求
項2記載のエラー訂正コード変換システム。 - 【請求項4】第1のデータ・ビット・ストリング及び第
2のチェックビット・ストリングを有する入力を受け取
る手段と、 前記入力からエラー・ポインタを生成する手段と、 前記第1のデータ・ビット・ストリングを使用してチェ
ックビットを生成する手段と、 前記エラー・ポインタを使用して前記第1のデータ・ビ
ット・ストリング及び生成されたチェックビットを訂正
する手段と、 を有する、エラー訂正コード変換システム。 - 【請求項5】前記エラー・ポインタは、第1のビット・
ストリングに使用される第1のエラー・ポインタと、前
記生成されたチェックビットに使用される第2のエラー
・ポインタとを含む、請求項4記載のエラー訂正コード
変換システム。 - 【請求項6】前記エラー・ポインタを生成する手段は、
前記入力を受信するシンドローム・ジェネレータを有す
る、請求項5記載のエラー訂正コード変換システム。 - 【請求項7】第1のデータ・ビット・ストリング及び第
2のチェックビット・ストリングを有する未訂正の入力
を受信するステップと、 前記入力からエラー・ポインタを生成するステップと、 前記第1のデータ・ビット・ストリングを使用してチェ
ックビットを生成するステップと、 前記エラー・ポインタを使用して前記第1のデータ・ビ
ット・ストリング及び生成されたチェックビットを訂正
するステップと、 を有する、エラー訂正コード変換方法。 - 【請求項8】前記エラー・ポインタを生成するステップ
は、前記第1のビット・ストリングで使用する第1のエ
ラー・ポインタを生成するステップと、前記生成された
チェックビットで使用する第2のエラー・ポインタを生
成するステップとを有する、請求項7記載の方法。 - 【請求項9】前記エラー・ポインタを生成するステップ
は、前記入力のシンドロームを生成するステップを有す
る、請求項8記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US282334 | 1981-07-10 | ||
US08/282,334 US5588010A (en) | 1994-07-29 | 1994-07-29 | Parallel architecture error correction and conversion system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0855066A true JPH0855066A (ja) | 1996-02-27 |
JP3142745B2 JP3142745B2 (ja) | 2001-03-07 |
Family
ID=23081035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07145906A Expired - Fee Related JP3142745B2 (ja) | 1994-07-29 | 1995-06-13 | エラー訂正コード変換システム及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5588010A (ja) |
JP (1) | JP3142745B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738389B1 (en) * | 1997-10-01 | 2004-05-18 | Globespanvirata, Inc. | Circuit and method for performing partial parallel data transfer in a communications system |
US6041430A (en) * | 1997-11-03 | 2000-03-21 | Sun Microsystems, Inc. | Error detection and correction code for data and check code fields |
US6460157B1 (en) * | 1999-11-30 | 2002-10-01 | International Business Machines Corporation | Method system and program products for error correction code conversion |
JP2007219851A (ja) * | 2006-02-16 | 2007-08-30 | Fujitsu Ltd | 半導体メモリ |
US7506226B2 (en) | 2006-05-23 | 2009-03-17 | Micron Technology, Inc. | System and method for more efficiently using error correction codes to facilitate memory device testing |
US9250990B2 (en) * | 2013-09-24 | 2016-02-02 | Intel Corporation | Use of error correction pointers to handle errors in memory |
US9653165B2 (en) * | 2015-03-31 | 2017-05-16 | Xilinx, Inc. | Multiplexer-based ternary content addressable memory |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3851306A (en) * | 1972-11-24 | 1974-11-26 | Ibm | Triple track error correction |
US4345328A (en) * | 1980-06-30 | 1982-08-17 | Sperry Corporation | ECC Check bit generation using through checking parity bits |
US4397022A (en) * | 1981-01-30 | 1983-08-02 | Weng Ming I | Weighted erasure codec for the (24, 12) extended Golay code |
JPS60183669A (ja) * | 1984-03-02 | 1985-09-19 | Nec Corp | メモリ制御装置 |
US4736376A (en) * | 1985-10-25 | 1988-04-05 | Sequoia Systems, Inc. | Self-checking error correcting encoder/decoder |
US5068855A (en) * | 1988-07-18 | 1991-11-26 | Canon Kabushiki Kaisha | Error correcting method and apparatus |
JP2810397B2 (ja) * | 1989-02-16 | 1998-10-15 | キヤノン株式会社 | 誤り訂正装置 |
US5384788A (en) * | 1992-10-26 | 1995-01-24 | Dell Usa, L.P. | Apparatus and method for optimal error correcting code to parity conversion |
JP2821324B2 (ja) * | 1992-11-04 | 1998-11-05 | 三菱電機株式会社 | 誤り訂正回路 |
-
1994
- 1994-07-29 US US08/282,334 patent/US5588010A/en not_active Expired - Fee Related
-
1995
- 1995-06-13 JP JP07145906A patent/JP3142745B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5588010A (en) | 1996-12-24 |
JP3142745B2 (ja) | 2001-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5418796A (en) | Synergistic multiple bit error correction for memory of array chips | |
US5384788A (en) | Apparatus and method for optimal error correcting code to parity conversion | |
US4740968A (en) | ECC circuit failure detector/quick word verifier | |
JP3234130B2 (ja) | 誤り訂正符号復号化方法およびこの方法を用いる回路 | |
US4712216A (en) | Method and device for correcting errors in memories | |
JPH06324951A (ja) | 誤り検査/訂正機能を有するコンピュータ・システム | |
US5251219A (en) | Error detection and correction circuit | |
US4961193A (en) | Extended errors correcting device having single package error correcting and double package error detecting codes | |
US5856987A (en) | Encoder and decoder for an SEC-DED-S4ED rotational code | |
KR19990060758A (ko) | 반도체 메모리 장치 및 그 장치의 에러 정정 방법 | |
US6745363B2 (en) | Early error detection using ECC | |
GB1432535A (en) | Data handling systems | |
EP0147336B1 (en) | Error correcting and detecting system | |
US5331645A (en) | Expandable digital error detection and correction device | |
US4236247A (en) | Apparatus for correcting multiple errors in data words read from a memory | |
US5757823A (en) | Error detection and correction for four-bit-per-chip memory system | |
US3688265A (en) | Error-free decoding for failure-tolerant memories | |
US6438726B1 (en) | Method of dual use of non-volatile memory for error correction | |
GB1458610A (en) | Digital data handling systems | |
JPH0736717A (ja) | 単一記号エラーと単一ビット・エラー検出のためのエラー訂正方法及び装置 | |
US3622984A (en) | Error correcting system and method | |
JP3142745B2 (ja) | エラー訂正コード変換システム及び方法 | |
US5633882A (en) | Error detection and correction circuit | |
US6360347B1 (en) | Error correction method for a memory device | |
US4905242A (en) | Pipelined error detection and correction apparatus with programmable address trap |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |