JPH10320222A - エラーを検出するための方法および装置 - Google Patents
エラーを検出するための方法および装置Info
- Publication number
- JPH10320222A JPH10320222A JP10087856A JP8785698A JPH10320222A JP H10320222 A JPH10320222 A JP H10320222A JP 10087856 A JP10087856 A JP 10087856A JP 8785698 A JP8785698 A JP 8785698A JP H10320222 A JPH10320222 A JP H10320222A
- Authority
- JP
- Japan
- Prior art keywords
- data stream
- parity check
- check matrix
- coding method
- matrix
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/098—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
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)
Abstract
(57)【要約】 (修正有)
【課題】 コンピュータ・システム内で伝送されるデー
タ・ストリーム中のエラーを検出する方法を提供する。 【解決手段】 コンピュータ・システム内で、たとえ
ば、メモリ・アレイから記憶制御装置に伝送されるデー
タ・ストリーム中のエラーを、コード化が第1コード化
方法と第2コード化方法のどちらを使用して実行された
か判定し、その後、単一パリティ検査行列に基づく論理
回路を使用してデータ・ストリームを復号することによ
って検出する方法。第1コード化方法が使用された場
合、パリティ検査行列全体がデータ・ストリームを復号
するために使用され、第2コード化方法が使用された場
合、パリティ検査行列のサブセットがデータ・ストリー
ムを復号するために使用される。
タ・ストリーム中のエラーを検出する方法を提供する。 【解決手段】 コンピュータ・システム内で、たとえ
ば、メモリ・アレイから記憶制御装置に伝送されるデー
タ・ストリーム中のエラーを、コード化が第1コード化
方法と第2コード化方法のどちらを使用して実行された
か判定し、その後、単一パリティ検査行列に基づく論理
回路を使用してデータ・ストリームを復号することによ
って検出する方法。第1コード化方法が使用された場
合、パリティ検査行列全体がデータ・ストリームを復号
するために使用され、第2コード化方法が使用された場
合、パリティ検査行列のサブセットがデータ・ストリー
ムを復号するために使用される。
Description
【0001】
【発明の属する技術分野】本発明は、一般にコンピュー
タ・システムに関し、さらに詳細には、記憶制御装置な
どのエラー検出または訂正装置内でエラー訂正コードを
実施する方法に関する。
タ・システムに関し、さらに詳細には、記憶制御装置な
どのエラー検出または訂正装置内でエラー訂正コードを
実施する方法に関する。
【0002】
【従来の技術】図1に、従来のコンピュータ・システム
10の基本構造を示す。コンピュータ・システム10の
中心は、中央演算処理装置(CPU)すなわちプロセッ
サ12であって、これはユーザ・インタフェース用の入
出力装置14(ディスプレイ・モニタやキーボードな
ど)、コンピュータのオペレーティング・システムおよ
びユーザ・プログラムを記憶するための不揮発性記憶装
置16(ハード・ディスクやフロッピィ・ディスクな
ど)、プログラム命令を実行するためにプロセッサ12
によって使用される一時記憶装置18(ダイナミック・
ランダム・アクセス・メモリすなわちDRAMなど)を
含めていくつかの周辺装置が接続されている。プロセッ
サ12は、バス20またはダイレクト・チャネル22を
含めて様々な手段によって周辺装置と通信する。コンピ
ュータ・システム10は、たとえばモデムまたはプリン
タに接続するためのシリアル・ポートやパラレル・ポー
トなどの図示していない多数の追加の構成部品を有する
ことができる。当業者ならさらに、図1のブロック図に
示す構成部品と共に使用される他の構成部品があること
を理解するであろう。たとえば、プロセッサ12に接続
されたディスプレイ・アダプタは、ビデオ・ディスプレ
イ・モニタを制御するために使用することができる。コ
ンピュータ・システム10はまたファームウエア24を
含み、その主目的は、コンピュータの電源が最初に入っ
たときに、周辺装置の1つ(通常は不揮発性記憶装置1
6)からオペレーティング・システムを探し出してロー
ドすることである。
10の基本構造を示す。コンピュータ・システム10の
中心は、中央演算処理装置(CPU)すなわちプロセッ
サ12であって、これはユーザ・インタフェース用の入
出力装置14(ディスプレイ・モニタやキーボードな
ど)、コンピュータのオペレーティング・システムおよ
びユーザ・プログラムを記憶するための不揮発性記憶装
置16(ハード・ディスクやフロッピィ・ディスクな
ど)、プログラム命令を実行するためにプロセッサ12
によって使用される一時記憶装置18(ダイナミック・
ランダム・アクセス・メモリすなわちDRAMなど)を
含めていくつかの周辺装置が接続されている。プロセッ
サ12は、バス20またはダイレクト・チャネル22を
含めて様々な手段によって周辺装置と通信する。コンピ
ュータ・システム10は、たとえばモデムまたはプリン
タに接続するためのシリアル・ポートやパラレル・ポー
トなどの図示していない多数の追加の構成部品を有する
ことができる。当業者ならさらに、図1のブロック図に
示す構成部品と共に使用される他の構成部品があること
を理解するであろう。たとえば、プロセッサ12に接続
されたディスプレイ・アダプタは、ビデオ・ディスプレ
イ・モニタを制御するために使用することができる。コ
ンピュータ・システム10はまたファームウエア24を
含み、その主目的は、コンピュータの電源が最初に入っ
たときに、周辺装置の1つ(通常は不揮発性記憶装置1
6)からオペレーティング・システムを探し出してロー
ドすることである。
【0003】データがシステム構成部品間で適切に転送
されることを保証するために、パリティ検査およびエラ
ー訂正コード(ECC)が一般に使用される。たとえ
ば、磁気ディスクは、通常処理のために取り出されるデ
ータを含む情報を記憶するだけでなく、各ファイルのエ
ラー訂正コードをも記録し、これにより、取り出された
データが有効であるかどうかをプロセッサまたはコント
ローラが判定することが可能になる。ECCはまた、一
時記憶装置、たとえばDRAMにも使用され、DRAM
に記憶されたファイルのECCは、プロセッサとDRA
Mアレイの間のインタフェースを提供する、記憶制御装
置が解析することができる。特定のメモリ・ワードの読
み取り中に記憶セルが(たとえば、漂遊放射、静電放
電、または欠陥セルのために)故障した場合、この障害
は少なくとも検出できる。ECCはさらに、正しいデー
タ・ストリームを再構築するためにも使用できる。これ
は、たとえば、米国特許第4402045号および第4
538270に記載されている。
されることを保証するために、パリティ検査およびエラ
ー訂正コード(ECC)が一般に使用される。たとえ
ば、磁気ディスクは、通常処理のために取り出されるデ
ータを含む情報を記憶するだけでなく、各ファイルのエ
ラー訂正コードをも記録し、これにより、取り出された
データが有効であるかどうかをプロセッサまたはコント
ローラが判定することが可能になる。ECCはまた、一
時記憶装置、たとえばDRAMにも使用され、DRAM
に記憶されたファイルのECCは、プロセッサとDRA
Mアレイの間のインタフェースを提供する、記憶制御装
置が解析することができる。特定のメモリ・ワードの読
み取り中に記憶セルが(たとえば、漂遊放射、静電放
電、または欠陥セルのために)故障した場合、この障害
は少なくとも検出できる。ECCはさらに、正しいデー
タ・ストリームを再構築するためにも使用できる。これ
は、たとえば、米国特許第4402045号および第4
538270に記載されている。
【0004】エラー訂正コードによっては、単一ビット
・エラーを検出するためにしか使用できないものがあ
る。すなわち、特定のメモリ・ワード中の2つ以上のビ
ットが無効である場合、そのようなECCは正しいデー
タ・ストリームが実際には何であるはずか判定すること
ができない。他のECCはより精巧なもので、二重エラ
ーの検出または訂正が可能である。米国特許第4359
772号、第4958350号、および第545042
3に記載のECCなど一部のECCは、メモリ・ワード
を複数ビットのクラスタすなわちシンボルに分解し、エ
ラーがあるかどうかそれをさらに詳細に解析することが
できる。米国特許第5425038号に教示されている
ように、ECCは一般にパリティ検査行列を使用する。
・エラーを検出するためにしか使用できないものがあ
る。すなわち、特定のメモリ・ワード中の2つ以上のビ
ットが無効である場合、そのようなECCは正しいデー
タ・ストリームが実際には何であるはずか判定すること
ができない。他のECCはより精巧なもので、二重エラ
ーの検出または訂正が可能である。米国特許第4359
772号、第4958350号、および第545042
3に記載のECCなど一部のECCは、メモリ・ワード
を複数ビットのクラスタすなわちシンボルに分解し、エ
ラーがあるかどうかそれをさらに詳細に解析することが
できる。米国特許第5425038号に教示されている
ように、ECCは一般にパリティ検査行列を使用する。
【0005】コンピュータ・システムが異なれば、シス
テム・アーキテクチャに応じて、異なるエラー訂正ルー
チンを必要とする場合がある。たとえば、インターナシ
ョナル・ビジネス・マシーンズ・コーポレイション製の
RS/6000およびAS/400コンピュータ・シス
テムは、データ・ワード定義(64ビットか65ビット
か)および訂正能力(1語あたり単一ビット訂正か、1
語あたり2隣接ビット訂正か)のために、そのメモリ・
カード設計要件が大幅に異なる。この違いには、アーキ
テクチャ上、技術上およびビジネス上の正当な理由があ
るが、この違いから、異なるシステムに異なる記憶制御
装置を提供することが必要になる。したがって、1台の
記憶制御装置が2つ以上のアーキテクチャで機能するよ
うに設計された場合、制御装置は、モード・ビットによ
って選択される2つの完全に独立した冗長なECC機構
を有さなければならないことになる。
テム・アーキテクチャに応じて、異なるエラー訂正ルー
チンを必要とする場合がある。たとえば、インターナシ
ョナル・ビジネス・マシーンズ・コーポレイション製の
RS/6000およびAS/400コンピュータ・シス
テムは、データ・ワード定義(64ビットか65ビット
か)および訂正能力(1語あたり単一ビット訂正か、1
語あたり2隣接ビット訂正か)のために、そのメモリ・
カード設計要件が大幅に異なる。この違いには、アーキ
テクチャ上、技術上およびビジネス上の正当な理由があ
るが、この違いから、異なるシステムに異なる記憶制御
装置を提供することが必要になる。したがって、1台の
記憶制御装置が2つ以上のアーキテクチャで機能するよ
うに設計された場合、制御装置は、モード・ビットによ
って選択される2つの完全に独立した冗長なECC機構
を有さなければならないことになる。
【0006】たとえば、「1チップあたりbビット」構
成を有するメモリ・アレイでは、適切なECCはすべて
の単一シンボル・エラーを訂正し、すべての二重シンボ
ル・エラーを検出することができるものである。ここ
で、シンボル・エラーは、アレイ・チップの障害から生
成される2b−1個のエラー・パターンのうちのどれか
1つである。このSSC−DSDコード(単一シンボル
訂正、二重シンボル検出)を使用して、同一のECCワ
ードによってカバーされる1群のアレイ・チップ中でチ
ップ障害が1つしか発生しない限り、メモリは引き続き
機能することができる。1個のチップ障害から生成され
るすべてのエラーは、チップの障害モード如何にかかわ
らず、ECCによって自動的に訂正される。あとで、同
じチップ群の第2のチップが故障したとき、2つのチッ
プ障害の場所が同一のECCワード中で並んでいる場
合、二重シンボル・エラーが存在する可能性がある。こ
の二重シンボル・エラーは、ECCによって検出される
はずである。この場合データ損失を防止するために、シ
ンボル・エラーの数が3個以上累積しないように適当な
保守戦略が実行される。
成を有するメモリ・アレイでは、適切なECCはすべて
の単一シンボル・エラーを訂正し、すべての二重シンボ
ル・エラーを検出することができるものである。ここ
で、シンボル・エラーは、アレイ・チップの障害から生
成される2b−1個のエラー・パターンのうちのどれか
1つである。このSSC−DSDコード(単一シンボル
訂正、二重シンボル検出)を使用して、同一のECCワ
ードによってカバーされる1群のアレイ・チップ中でチ
ップ障害が1つしか発生しない限り、メモリは引き続き
機能することができる。1個のチップ障害から生成され
るすべてのエラーは、チップの障害モード如何にかかわ
らず、ECCによって自動的に訂正される。あとで、同
じチップ群の第2のチップが故障したとき、2つのチッ
プ障害の場所が同一のECCワード中で並んでいる場
合、二重シンボル・エラーが存在する可能性がある。こ
の二重シンボル・エラーは、ECCによって検出される
はずである。この場合データ損失を防止するために、シ
ンボル・エラーの数が3個以上累積しないように適当な
保守戦略が実行される。
【0007】ECCの別のクラスは、SEC−DED−
SSDコード(単一エラー訂正、二重エラー検出、単一
シンボル検出)であり、すべての単一ビット・エラーを
訂正し、すべての二重ビット・エラーを検出し、すべて
の単一シンボル・エラーを検出することができる。SE
C−DED−SSDコードは、シンボル・エラーの訂正
および検出に関してはSSC−DSDコードほど強力で
はない。しかし、SEC−DED−SSDコードは、デ
ータ・ビット数が同じ場合にSSC−DSDコードと比
較して必要な検査ビット数が少なく、したがって冗長ア
レイ・チップ数も少ない。
SSDコード(単一エラー訂正、二重エラー検出、単一
シンボル検出)であり、すべての単一ビット・エラーを
訂正し、すべての二重ビット・エラーを検出し、すべて
の単一シンボル・エラーを検出することができる。SE
C−DED−SSDコードは、シンボル・エラーの訂正
および検出に関してはSSC−DSDコードほど強力で
はない。しかし、SEC−DED−SSDコードは、デ
ータ・ビット数が同じ場合にSSC−DSDコードと比
較して必要な検査ビット数が少なく、したがって冗長ア
レイ・チップ数も少ない。
【0008】1つまたは複数の共通記憶制御チップを使
用して、経済的理由から、異なる記憶サブシステムをサ
ポートすることができる。記憶サブシステムAが1チッ
プあたり2ビットに構成され、記憶サブシステムBが1
チップあたり4ビットに構成される場合を考えてみる。
さらに、サブシステムAは、b=2の(76,66)S
SC−DSDコード(1コード・ワードあたり合計76
ビットの情報、すなわち66データ・ビットおよび10
検査ビット)を使用し、サブシステムBは、b=4の
(72,64)SEC−DED−SSDコード(1コー
ド・ワードあたり合計72ビットの情報、すなわち64
データ・ビットおよび8検査ビット)を使用する。この
技法では、共通の記憶論理中に2つの別々のECC設計
を実施することが必要であり、より冗長な(かつ高価
な)システムとなる。したがって、2つ以上のECC機
構を単一設計に組み入れる方法を案出することが望まし
くかつ有利である。
用して、経済的理由から、異なる記憶サブシステムをサ
ポートすることができる。記憶サブシステムAが1チッ
プあたり2ビットに構成され、記憶サブシステムBが1
チップあたり4ビットに構成される場合を考えてみる。
さらに、サブシステムAは、b=2の(76,66)S
SC−DSDコード(1コード・ワードあたり合計76
ビットの情報、すなわち66データ・ビットおよび10
検査ビット)を使用し、サブシステムBは、b=4の
(72,64)SEC−DED−SSDコード(1コー
ド・ワードあたり合計72ビットの情報、すなわち64
データ・ビットおよび8検査ビット)を使用する。この
技法では、共通の記憶論理中に2つの別々のECC設計
を実施することが必要であり、より冗長な(かつ高価
な)システムとなる。したがって、2つ以上のECC機
構を単一設計に組み入れる方法を案出することが望まし
くかつ有利である。
【0009】
【発明が解決しようとする課題】したがって、本発明の
一目的は、コンピュータ・システム内で伝送されるデー
タ・ストリーム中のエラーを検出する方法を提供するこ
とである。
一目的は、コンピュータ・システム内で伝送されるデー
タ・ストリーム中のエラーを検出する方法を提供するこ
とである。
【0010】本発明の別の目的は、DRAMなどの一時
記憶装置から情報を受け取る記憶制御装置で前記の方法
を提供することである。
記憶装置から情報を受け取る記憶制御装置で前記の方法
を提供することである。
【0011】本発明の別の目的は、2つ以上のエラー訂
正コード機構を1つの効率的な設計に組み入れる方法を
提供することである。
正コード機構を1つの効率的な設計に組み入れる方法を
提供することである。
【0012】
【課題を解決するための手段】前述の目的は、コンピュ
ータ・システム内で(たとえば、メモリ・アレイから記
憶制御装置へ)伝送されるデータ・ストリーム中のエラ
ーを検出する下記のような方法によって達成される。こ
の方法は一般に、第1コード化方法および第2コード化
方法のどちらかを使用して、パリティ検査ビットをデー
タ・ストリーム中にコード化するステップと、次いでコ
ード化が第1コード化方法および第2コード化方法のど
ちらを使用して実行されたか判定するステップと、その
後第1コード化方法および第2コード化方法のどちらか
に従ってデータ・ストリームを復号する手段を有する論
理回路を使用してデータ・ストリームを復号するステッ
プとを含む。復号は、単一パリティ検査行列に基づく論
理回路を使用して実施される。第1コード化方法が使用
された場合、データ・ストリームを復号するためにパリ
ティ検査行列全体が使用され、第2コード化方法が使用
された場合、データ・ストリームを復号するためにパリ
ティ検査行列のサブセットが使用される。第1方法によ
るコード化は、データ・ストリーム中のすべての単一シ
ンボル・エラーの訂正、およびすべての二重シンボル・
エラーの検出を可能にし、第2方法によるコード化は、
データ・ストリーム中のすべての単一ビット・エラーの
訂正、およびすべての二重ビット・エラーの検出を可能
にする。第2コード化方法が使用された場合に、サブセ
ット行列を並べ替えることによって、単一シンボル・エ
ラーの検出をさらに可能にする行列を生成することがで
きる。例示的な実施形態では、パリティ検査行列は、
(76,66)行列であり、パリティ検査行列のサブセ
ットは、(72,64)行列である。第2コード化方法
が使用された場合、データ・ストリームを復号するため
に、論理回路は、単一パリティ検査行列のサブセット中
に存在しない単一パリティ検査行列中の値を使用しな
い。
ータ・システム内で(たとえば、メモリ・アレイから記
憶制御装置へ)伝送されるデータ・ストリーム中のエラ
ーを検出する下記のような方法によって達成される。こ
の方法は一般に、第1コード化方法および第2コード化
方法のどちらかを使用して、パリティ検査ビットをデー
タ・ストリーム中にコード化するステップと、次いでコ
ード化が第1コード化方法および第2コード化方法のど
ちらを使用して実行されたか判定するステップと、その
後第1コード化方法および第2コード化方法のどちらか
に従ってデータ・ストリームを復号する手段を有する論
理回路を使用してデータ・ストリームを復号するステッ
プとを含む。復号は、単一パリティ検査行列に基づく論
理回路を使用して実施される。第1コード化方法が使用
された場合、データ・ストリームを復号するためにパリ
ティ検査行列全体が使用され、第2コード化方法が使用
された場合、データ・ストリームを復号するためにパリ
ティ検査行列のサブセットが使用される。第1方法によ
るコード化は、データ・ストリーム中のすべての単一シ
ンボル・エラーの訂正、およびすべての二重シンボル・
エラーの検出を可能にし、第2方法によるコード化は、
データ・ストリーム中のすべての単一ビット・エラーの
訂正、およびすべての二重ビット・エラーの検出を可能
にする。第2コード化方法が使用された場合に、サブセ
ット行列を並べ替えることによって、単一シンボル・エ
ラーの検出をさらに可能にする行列を生成することがで
きる。例示的な実施形態では、パリティ検査行列は、
(76,66)行列であり、パリティ検査行列のサブセ
ットは、(72,64)行列である。第2コード化方法
が使用された場合、データ・ストリームを復号するため
に、論理回路は、単一パリティ検査行列のサブセット中
に存在しない単一パリティ検査行列中の値を使用しな
い。
【0013】
【発明の実施の形態】本発明において、複数のエラー訂
正コード技法を単一設計に組み込む革新的な手法が提供
される。この技法は、都合のよいことにエラー訂正コー
ド行列を使用して実施できる。たとえば、(76,6
6)ECC(コードA)および(72,64)ECC
(コードB)を1つの設計に組み合わせることができ
る。コードAのパリティ検査行列は、コードBのパリテ
ィ検査行列を部分行列として含む。したがって、コード
Bを実施するためのハードウェアがコードAのハードウ
ェア中に埋め込まれる。両方のコードのハードウェアの
複雑さは、事実上コードA用の複雑さと変わらない。
正コード技法を単一設計に組み込む革新的な手法が提供
される。この技法は、都合のよいことにエラー訂正コー
ド行列を使用して実施できる。たとえば、(76,6
6)ECC(コードA)および(72,64)ECC
(コードB)を1つの設計に組み合わせることができ
る。コードAのパリティ検査行列は、コードBのパリテ
ィ検査行列を部分行列として含む。したがって、コード
Bを実施するためのハードウェアがコードAのハードウ
ェア中に埋め込まれる。両方のコードのハードウェアの
複雑さは、事実上コードA用の複雑さと変わらない。
【0014】2進(n,k)コードは、n次元2進ベク
トル空間のk次元部分空間である。部分空間中のベクト
ルはECCのコード・ワードである。これらのコード・
ワードはコード(ベクトル部分空間)を定義するr=n
−k個の線形独立方程式を満足しなければならない。パ
ラメータnはコードの長さ、kはデータ・ビットの数、
rはECCビットまたは検査ビットの数である。W=
(W0,W1,W2,…Wn -1)がnビットのコード・ワー
ドである場合、ECCを定義する1組の方程式は、HW
l=0mod2で表される。ここで、WlはWの転置行列
であり、Hはr×nの2進行列である。行列Hは、EC
Cのパリティ検査行列と呼ばれる。
トル空間のk次元部分空間である。部分空間中のベクト
ルはECCのコード・ワードである。これらのコード・
ワードはコード(ベクトル部分空間)を定義するr=n
−k個の線形独立方程式を満足しなければならない。パ
ラメータnはコードの長さ、kはデータ・ビットの数、
rはECCビットまたは検査ビットの数である。W=
(W0,W1,W2,…Wn -1)がnビットのコード・ワー
ドである場合、ECCを定義する1組の方程式は、HW
l=0mod2で表される。ここで、WlはWの転置行列
であり、Hはr×nの2進行列である。行列Hは、EC
Cのパリティ検査行列と呼ばれる。
【0015】次に図、特に図2を参照すると、シンボル
・エラー訂正および検出用の(76,66)ECCを定
義するパリティ検査行列Aが示されている。行列Aには
2つの表題がある。第1の表題は、行列の38対の列に
対して0から37まで割り当てられたシンボルIDを示
す。第2の表題は、列に対して0から75まで割り当て
られたビット位置を示す。図2の10×76の2進行列
が、実際のパリティ検査行列である。パリティ検査行列
Aはシンボル・サイズb=2の(76,66)SSD−
DSDのECCを定義する。このECCは、38シンボ
ルのコード・ワード中のすべての単一シンボル・エラー
の訂正、およびすべての二重シンボル・エラーの検出を
行うことができる。このコードは66個のデータ・ビッ
トをコード化するために使用することができる。このコ
ードはまた、65個のデータ・ビットとメモリ・アドレ
スの1パリティ・ビット、または64個のデータ・ビッ
トとメモリ・アドレスの2パリティ・ビットをコード化
するのにも使用できる。
・エラー訂正および検出用の(76,66)ECCを定
義するパリティ検査行列Aが示されている。行列Aには
2つの表題がある。第1の表題は、行列の38対の列に
対して0から37まで割り当てられたシンボルIDを示
す。第2の表題は、列に対して0から75まで割り当て
られたビット位置を示す。図2の10×76の2進行列
が、実際のパリティ検査行列である。パリティ検査行列
Aはシンボル・サイズb=2の(76,66)SSD−
DSDのECCを定義する。このECCは、38シンボ
ルのコード・ワード中のすべての単一シンボル・エラー
の訂正、およびすべての二重シンボル・エラーの検出を
行うことができる。このコードは66個のデータ・ビッ
トをコード化するために使用することができる。このコ
ードはまた、65個のデータ・ビットとメモリ・アドレ
スの1パリティ・ビット、または64個のデータ・ビッ
トとメモリ・アドレスの2パリティ・ビットをコード化
するのにも使用できる。
【0016】図3に、別のパリティ検査行列Bを示す。
これは(72,64)SEC−DEDコードを定義す
る。このパリティ行列は、図2のパリティ検査行列Aの
部分行列である。さらに具体的に言うと、行列Aの最初
の8行および最初の72列によって定義される部分行列
が、行列Bと同一である。行列Bによって定義される
(72,64)コードは、シンボル・サイズb=4のす
べての単一シンボル・エラーを検出することはできな
い。しかし、行列Bの列を並べ替えて、図4に示すパリ
ティ検査行列B1を有する(72,64)SEC−DE
D−SSDコードを提供することができる。図5に、4
ビットのシンボル18個中のビット位置の、行列Bから
行列B1へのマッピングを示す。たとえば、行列Bのビ
ット位置0,44,51および60が第1シンボルを形
成するために一緒にグループ化されている。
これは(72,64)SEC−DEDコードを定義す
る。このパリティ行列は、図2のパリティ検査行列Aの
部分行列である。さらに具体的に言うと、行列Aの最初
の8行および最初の72列によって定義される部分行列
が、行列Bと同一である。行列Bによって定義される
(72,64)コードは、シンボル・サイズb=4のす
べての単一シンボル・エラーを検出することはできな
い。しかし、行列Bの列を並べ替えて、図4に示すパリ
ティ検査行列B1を有する(72,64)SEC−DE
D−SSDコードを提供することができる。図5に、4
ビットのシンボル18個中のビット位置の、行列Bから
行列B1へのマッピングを示す。たとえば、行列Bのビ
ット位置0,44,51および60が第1シンボルを形
成するために一緒にグループ化されている。
【0017】図2の行列AによってコードAとして定義
される(76,66)SSC−DSDコード、および図
4の行列B1によってコードBとして定義される(7
2,64)SEC−DED−SSDコードを参照する
と、行列B1は行列Aの部分行列であるので、共通の論
理回路を使ってコードAおよびコードBのどちらも実施
することができる。コードの二重操作を制御するため
に、モード・ビットMを使用することができる。たとえ
ば、MはコードAの操作に対しては1、コードBの操作
に対してはゼロに設定される。
される(76,66)SSC−DSDコード、および図
4の行列B1によってコードBとして定義される(7
2,64)SEC−DED−SSDコードを参照する
と、行列B1は行列Aの部分行列であるので、共通の論
理回路を使ってコードAおよびコードBのどちらも実施
することができる。コードの二重操作を制御するため
に、モード・ビットMを使用することができる。たとえ
ば、MはコードAの操作に対しては1、コードBの操作
に対してはゼロに設定される。
【0018】行列Aのビット位置64〜73は、検査ビ
ット0〜9にそれぞれ対応している。検査ビット0は、
行列Aの最初の行中の1によってマスクされるデータ・
ビットのXOR(排他的論理和)である。検査ビットi
は、行列Aの(i−1)番目の行中の1によってマスク
されるデータ・ビットのXORである。一般に、検査ビ
ットはデータ・ビットを入力する10個のXORツリー
から生成される。XORツリーの入力は、図6に示すよ
うに、二重モードのECC操作に対処するために修正さ
れる。データ・ビット74および75はモード・ビット
Mによってゲートされる。コードAでは、M=1であ
り、10個の検査ビット0〜9がすべてのデータ・ビッ
トから生成される。コードBでは、M=0であり、最初
の8個検査ビット0〜7が最初の64個のデータ・ビッ
トから生成される。この場合、最後の2つの検査ビット
8および9は使用されない。すなわち、これらのビット
はメモリ・アレイに記憶されない。コードAを使用する
メモリでは、データ・ビットおよび検査ビットが、図2
に示すように、自然の連続した順序でメモリ・アレイ内
に記憶され、1対のビットが同一のアレイ・チップ内に
入る。コードBを使用するメモリでは、データ・ビット
および検査ビットが、図5に従って置換され、1グルー
プ4ビットが同一のチップ内に入る。たとえば、ビット
0,44,51,60が、図7に示すように、アレイ・
チップ0中に結合される。
ット0〜9にそれぞれ対応している。検査ビット0は、
行列Aの最初の行中の1によってマスクされるデータ・
ビットのXOR(排他的論理和)である。検査ビットi
は、行列Aの(i−1)番目の行中の1によってマスク
されるデータ・ビットのXORである。一般に、検査ビ
ットはデータ・ビットを入力する10個のXORツリー
から生成される。XORツリーの入力は、図6に示すよ
うに、二重モードのECC操作に対処するために修正さ
れる。データ・ビット74および75はモード・ビット
Mによってゲートされる。コードAでは、M=1であ
り、10個の検査ビット0〜9がすべてのデータ・ビッ
トから生成される。コードBでは、M=0であり、最初
の8個検査ビット0〜7が最初の64個のデータ・ビッ
トから生成される。この場合、最後の2つの検査ビット
8および9は使用されない。すなわち、これらのビット
はメモリ・アレイに記憶されない。コードAを使用する
メモリでは、データ・ビットおよび検査ビットが、図2
に示すように、自然の連続した順序でメモリ・アレイ内
に記憶され、1対のビットが同一のアレイ・チップ内に
入る。コードBを使用するメモリでは、データ・ビット
および検査ビットが、図5に従って置換され、1グルー
プ4ビットが同一のチップ内に入る。たとえば、ビット
0,44,51,60が、図7に示すように、アレイ・
チップ0中に結合される。
【0019】データがメモリから取り出されるとき、シ
ンドローム・ビット0〜9が行列Aから生成される。シ
ンドローム・ビットiは、行列Aの(i−1)番目の行
中の1によってマスクされた受信ビットのXORであ
る。この場合も、ビット74および75が、XORツリ
ーの入力においてモード・ビットMによってゲートされ
る(図8)。その上、出力においてシンドローム・ビッ
ト8および9もMによってゲートされる。この2つのシ
ンドローム・ビットは、M=0の場合(コードBの場
合)、ゼロにセットされる。
ンドローム・ビット0〜9が行列Aから生成される。シ
ンドローム・ビットiは、行列Aの(i−1)番目の行
中の1によってマスクされた受信ビットのXORであ
る。この場合も、ビット74および75が、XORツリ
ーの入力においてモード・ビットMによってゲートされ
る(図8)。その上、出力においてシンドローム・ビッ
ト8および9もMによってゲートされる。この2つのシ
ンドローム・ビットは、M=0の場合(コードBの場
合)、ゼロにセットされる。
【0020】10個のシンドローム・ビットがすべてゼ
ロである場合、受信データ中にエラーはない。1つまた
は複数のシンドローム・ビットが1である場合、エラー
が訂正可能であるかどうか判定し、かつエラーのビット
位置を決定するために、シンドローム・ビットが使用さ
れる(シンドローム復号処理)。2ビットのシンボル位
置ごとに認識すべきシンドローム・パターンが3つあ
る。図9にシンドローム復号表を、行列の形で示す。3
8個のシンボルそれぞれに関連する10×3の部分行列
がある。シンボルiが誤っているかどうか判定するため
に次の規則が使用される。 1.シンドロームが、シンボルiの3列の部分行列の最
初の列に合致する場合、シンボルiの最初のビットが誤
っている。 2.シンドロームが、シンボルiの第2列に合致する場
合、シンボルiの第2ビットが誤っている。 3.シンドロームが、シンボルiの第3列に合致する場
合、シンボルiのビットが両方とも誤っている。 シンドロームがすべてゼロではなく、シンドロームが図
9の列のどれにも合致しない場合、エラーは訂正不能で
ある(UE)。
ロである場合、受信データ中にエラーはない。1つまた
は複数のシンドローム・ビットが1である場合、エラー
が訂正可能であるかどうか判定し、かつエラーのビット
位置を決定するために、シンドローム・ビットが使用さ
れる(シンドローム復号処理)。2ビットのシンボル位
置ごとに認識すべきシンドローム・パターンが3つあ
る。図9にシンドローム復号表を、行列の形で示す。3
8個のシンボルそれぞれに関連する10×3の部分行列
がある。シンボルiが誤っているかどうか判定するため
に次の規則が使用される。 1.シンドロームが、シンボルiの3列の部分行列の最
初の列に合致する場合、シンボルiの最初のビットが誤
っている。 2.シンドロームが、シンボルiの第2列に合致する場
合、シンボルiの第2ビットが誤っている。 3.シンドロームが、シンボルiの第3列に合致する場
合、シンボルiのビットが両方とも誤っている。 シンドロームがすべてゼロではなく、シンドロームが図
9の列のどれにも合致しない場合、エラーは訂正不能で
ある(UE)。
【0021】図9の列に対するシンドロームの突き合わ
せは、1組の10入力AND回路によって実施できる。
10個のシンドローム・ビットすべてのそれぞれの真数
および補数のどちらかを各AND回路の入力として使用
する。
せは、1組の10入力AND回路によって実施できる。
10個のシンドローム・ビットすべてのそれぞれの真数
および補数のどちらかを各AND回路の入力として使用
する。
【0022】二重のECC操作を組み込むために、シン
ドローム・ビット8および9の真数および補数が、M=
0の場合は1に設定される。これは、図10に示すよう
な、OR回路によって実施できる。出力シンドローム・
ビット8および9の真数および補数がシンドローム復号
用のAND回路の入力として使用される。エラーの訂正
は誤ったビットを反転することによって行われる。
ドローム・ビット8および9の真数および補数が、M=
0の場合は1に設定される。これは、図10に示すよう
な、OR回路によって実施できる。出力シンドローム・
ビット8および9の真数および補数がシンドローム復号
用のAND回路の入力として使用される。エラーの訂正
は誤ったビットを反転することによって行われる。
【0023】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0024】(1)データ・ストリーム中のエラーを検
出する方法であって、第1コード化方法または第2コー
ド化方法を使用してデータ・ストリーム中にパリティ検
査ビットをコード化するステップと、前記コード化する
ステップが前記第1コード化方法および前記第2コード
化方法のどちらを使用して実行されたか判定するステッ
プと、前記判定するステップに応答して、前記第1コー
ド化方法または前記第2コード化方法に従ってデータ・
ストリームを復号する手段を有する論理回路を使用して
データ・ストリームを復号するステップとを含む方法。 (2)前記復号するステップが、単一パリティ検査行列
を使用して実行される、上記(1)に記載の方法。 (3)共通の論理回路が前記第1コード化方法および前
記第2コード化方法の両方を実行するために使用され
る、上記(1)に記載の方法。 (4)前記第1コード化方法が使用された場合、前記単
一パリティ検査行列全体が、データ・ストリームを復号
するために使用され、前記第2コード化方法が使用され
た場合、前記単一パリティ検査行列のサブセットが、デ
ータ・ストリームを復号するために使用される、上記
(2)に記載の方法。 (5)前記第1コード化方法が、データ・ストリーム中
のすべての単一シンボル・エラーの訂正、およびすべて
の二重シンボル・エラーの検出を可能にし、前記第2コ
ード化方法が、データ・ストリーム中のすべての単一ビ
ット・エラーの訂正、およびすべての二重ビット・エラ
ーの検出を可能にする、上記(4)に記載の方法。 (6)前記復号するステップが、前記第2コード化方法
が使用された場合に、前記単一パリティ検査行列のサブ
セットを並べ替えて、単一シンボル・エラーの検出を可
能にする行列を生成するステップを含む、上記(5)に
記載の方法。 (7)データ・ストリーム中のエラーを検出するための
装置であって、第1コード化方法に関連する第1検出方
法または第2コード化方法に関連する第2検出方法によ
ってデータ・ストリーム中のエラーを検出するための論
理回路を備え、前記論理回路は、データ・ストリームが
前記第1コード化方法および前記第2コード化方法のど
ちらを使用してコード化されたか判定する手段を含む装
置。 (8)前記論理回路が、単一パリティ検査行列に基づい
ている、上記(7)に記載の装置。 (9)前記第1コード化方法が、データ・ストリーム中
のすべての単一シンボル・エラーの訂正、およびすべて
の二重シンボル・エラーの検出を可能にし、前記第2コ
ード化方法が、データ・ストリーム中のすべての単一ビ
ット・エラーの訂正、およびすべての二重ビット・エラ
ーの検出を可能にする、上記(7)に記載の装置。 (10)前記第1コード化方法が使用された場合、前記
単一パリティ検査行列全体が、データ・ストリームを復
号するために使用され、前記第2コード化方法が使用さ
れた場合、前記単一パリティ検査行列のサブセットが、
データ・ストリームを復号するために使用される、上記
(8)に記載の装置。 (11)前記論理回路が、前記第2コード化方法が使用
された場合に、前記単一パリティ検査行列のサブセット
を並べ替え、単一シンボル・エラーの検出を可能にする
行列を生成する、上記(10)に記載の装置。 (12)プロセッサと、メモリ・アレイと、前記メモリ
・アレイから前記プロセッサに情報を伝送する手段とを
備え、前記伝送する手段が、第1コード化方法に関連す
る第1検出方法または第2コード化方法に関連する第2
検出方法によってデータ・ストリーム中のエラーを検出
するための論理回路を含み、前記論理回路が、データ・
ストリームが前記第1コード化方法および前記第2コー
ド化方法のどちらを使用してコード化されたか判定する
手段を含む、コンピュータ・システム。 (13)前記論理回路が、単一パリティ検査行列に基づ
いている、上記(12)に記載のコンピュータ・システ
ム。 (14)前記第1コード化方法が、データ・ストリーム
中のすべての単一シンボル・エラーの訂正、およびすべ
ての二重シンボル・エラーの検出を可能にし、前記第2
コード化方法が、データ・ストリーム中のすべての単一
ビット・エラーの訂正、およびすべての二重ビット・エ
ラーの検出を可能にする、上記(12)に記載のコンピ
ュータ・システム。 (15)前記第1コード化方法が使用された場合、前記
単一パリティ検査行列全体がデータ・ストリームを復号
するために使用され、前記第2コード化方法が使用され
た場合、前記単一パリティ検査行列のサブセットがデー
タ・ストリームを復号するために使用される、上記(1
3)に記載のコンピュータ・システム。 (16)前記論理回路が、前記第2コード化方法が使用
された場合に、前記単一パリティ検査行列のサブセット
を並べ替えて、単一シンボル・エラーの検出を可能にす
る行列を生成する、上記(15)に記載のコンピュータ
・システム。
出する方法であって、第1コード化方法または第2コー
ド化方法を使用してデータ・ストリーム中にパリティ検
査ビットをコード化するステップと、前記コード化する
ステップが前記第1コード化方法および前記第2コード
化方法のどちらを使用して実行されたか判定するステッ
プと、前記判定するステップに応答して、前記第1コー
ド化方法または前記第2コード化方法に従ってデータ・
ストリームを復号する手段を有する論理回路を使用して
データ・ストリームを復号するステップとを含む方法。 (2)前記復号するステップが、単一パリティ検査行列
を使用して実行される、上記(1)に記載の方法。 (3)共通の論理回路が前記第1コード化方法および前
記第2コード化方法の両方を実行するために使用され
る、上記(1)に記載の方法。 (4)前記第1コード化方法が使用された場合、前記単
一パリティ検査行列全体が、データ・ストリームを復号
するために使用され、前記第2コード化方法が使用され
た場合、前記単一パリティ検査行列のサブセットが、デ
ータ・ストリームを復号するために使用される、上記
(2)に記載の方法。 (5)前記第1コード化方法が、データ・ストリーム中
のすべての単一シンボル・エラーの訂正、およびすべて
の二重シンボル・エラーの検出を可能にし、前記第2コ
ード化方法が、データ・ストリーム中のすべての単一ビ
ット・エラーの訂正、およびすべての二重ビット・エラ
ーの検出を可能にする、上記(4)に記載の方法。 (6)前記復号するステップが、前記第2コード化方法
が使用された場合に、前記単一パリティ検査行列のサブ
セットを並べ替えて、単一シンボル・エラーの検出を可
能にする行列を生成するステップを含む、上記(5)に
記載の方法。 (7)データ・ストリーム中のエラーを検出するための
装置であって、第1コード化方法に関連する第1検出方
法または第2コード化方法に関連する第2検出方法によ
ってデータ・ストリーム中のエラーを検出するための論
理回路を備え、前記論理回路は、データ・ストリームが
前記第1コード化方法および前記第2コード化方法のど
ちらを使用してコード化されたか判定する手段を含む装
置。 (8)前記論理回路が、単一パリティ検査行列に基づい
ている、上記(7)に記載の装置。 (9)前記第1コード化方法が、データ・ストリーム中
のすべての単一シンボル・エラーの訂正、およびすべて
の二重シンボル・エラーの検出を可能にし、前記第2コ
ード化方法が、データ・ストリーム中のすべての単一ビ
ット・エラーの訂正、およびすべての二重ビット・エラ
ーの検出を可能にする、上記(7)に記載の装置。 (10)前記第1コード化方法が使用された場合、前記
単一パリティ検査行列全体が、データ・ストリームを復
号するために使用され、前記第2コード化方法が使用さ
れた場合、前記単一パリティ検査行列のサブセットが、
データ・ストリームを復号するために使用される、上記
(8)に記載の装置。 (11)前記論理回路が、前記第2コード化方法が使用
された場合に、前記単一パリティ検査行列のサブセット
を並べ替え、単一シンボル・エラーの検出を可能にする
行列を生成する、上記(10)に記載の装置。 (12)プロセッサと、メモリ・アレイと、前記メモリ
・アレイから前記プロセッサに情報を伝送する手段とを
備え、前記伝送する手段が、第1コード化方法に関連す
る第1検出方法または第2コード化方法に関連する第2
検出方法によってデータ・ストリーム中のエラーを検出
するための論理回路を含み、前記論理回路が、データ・
ストリームが前記第1コード化方法および前記第2コー
ド化方法のどちらを使用してコード化されたか判定する
手段を含む、コンピュータ・システム。 (13)前記論理回路が、単一パリティ検査行列に基づ
いている、上記(12)に記載のコンピュータ・システ
ム。 (14)前記第1コード化方法が、データ・ストリーム
中のすべての単一シンボル・エラーの訂正、およびすべ
ての二重シンボル・エラーの検出を可能にし、前記第2
コード化方法が、データ・ストリーム中のすべての単一
ビット・エラーの訂正、およびすべての二重ビット・エ
ラーの検出を可能にする、上記(12)に記載のコンピ
ュータ・システム。 (15)前記第1コード化方法が使用された場合、前記
単一パリティ検査行列全体がデータ・ストリームを復号
するために使用され、前記第2コード化方法が使用され
た場合、前記単一パリティ検査行列のサブセットがデー
タ・ストリームを復号するために使用される、上記(1
3)に記載のコンピュータ・システム。 (16)前記論理回路が、前記第2コード化方法が使用
された場合に、前記単一パリティ検査行列のサブセット
を並べ替えて、単一シンボル・エラーの検出を可能にす
る行列を生成する、上記(15)に記載のコンピュータ
・システム。
【図1】従来のコンピュータ・システムのブロック図で
ある。
ある。
【図2】本発明に従って構築された(76,66)パリ
ティ検査行列を有するエラー訂正コードの1実施形態の
図である。
ティ検査行列を有するエラー訂正コードの1実施形態の
図である。
【図3】本発明に従って構築された図2の(76,6
6)行列のサブセットである(72,64)パリティ検
査行列を有する別のエラー訂正コードの図である。
6)行列のサブセットである(72,64)パリティ検
査行列を有する別のエラー訂正コードの図である。
【図4】本発明に従って構築された図3の(72,6
4)行列の転置行列である(72,64)パリティ検査
行列を有するさらに別のエラー訂正コードの図である。
4)行列の転置行列である(72,64)パリティ検査
行列を有するさらに別のエラー訂正コードの図である。
【図5】図3の行列を図4の行列に転置するために使用
されるマッピング・シーケンスの図である。
されるマッピング・シーケンスの図である。
【図6】本発明による二重コード操作のための検査ビッ
ト生成用のXORゲート・ツリーの図である。
ト生成用のXORゲート・ツリーの図である。
【図7】チップ・アレイ中の異なるメモリ・チップのビ
ット位置割当ての図である。
ット位置割当ての図である。
【図8】本発明による二重コード操作のためのシンドロ
ーム生成用のXORゲート・ツリーの図である。
ーム生成用のXORゲート・ツリーの図である。
【図9】本発明に従って構築され、図2および図3の行
列とともに使用されるシンドローム復号表の1実施形態
の図である。
列とともに使用されるシンドローム復号表の1実施形態
の図である。
【図10】OR回路を使用したある種のシンドローム・
ビットの修正の図である。
ビットの修正の図である。
10 コンピュータ・システム 12 プロセッサ 14 入出力装置 16 永久記憶装置(ハード・ディスク) 18 一時記憶装置(RAM) 20 バス 22 ダイレクト・チャネル 24 ファームウエア(ROS)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チン=ロン・チェン アメリカ合衆国12524 ニューヨーク州フ ィッシュキル フーズ・ブールバード 15
Claims (16)
- 【請求項1】データ・ストリーム中のエラーを検出する
方法であって、 第1コード化方法または第2コード化方法を使用してデ
ータ・ストリーム中にパリティ検査ビットをコード化す
るステップと、 前記コード化するステップが前記第1コード化方法およ
び前記第2コード化方法のどちらを使用して実行された
か判定するステップと、 前記判定するステップに応答して、前記第1コード化方
法または前記第2コード化方法に従ってデータ・ストリ
ームを復号する手段を有する論理回路を使用してデータ
・ストリームを復号するステップとを含む方法。 - 【請求項2】前記復号するステップが、単一パリティ検
査行列を使用して実行される、請求項1に記載の方法。 - 【請求項3】共通の論理回路が前記第1コード化方法お
よび前記第2コード化方法の両方を実行するために使用
される、請求項1に記載の方法。 - 【請求項4】前記第1コード化方法が使用された場合、
前記単一パリティ検査行列全体が、データ・ストリーム
を復号するために使用され、 前記第2コード化方法が使用された場合、前記単一パリ
ティ検査行列のサブセットが、データ・ストリームを復
号するために使用される、請求項2に記載の方法。 - 【請求項5】前記第1コード化方法が、データ・ストリ
ーム中のすべての単一シンボル・エラーの訂正、および
すべての二重シンボル・エラーの検出を可能にし、 前記第2コード化方法が、データ・ストリーム中のすべ
ての単一ビット・エラーの訂正、およびすべての二重ビ
ット・エラーの検出を可能にする、請求項4に記載の方
法。 - 【請求項6】前記復号するステップが、前記第2コード
化方法が使用された場合に、前記単一パリティ検査行列
のサブセットを並べ替えて、単一シンボル・エラーの検
出を可能にする行列を生成するステップを含む、請求項
5に記載の方法。 - 【請求項7】データ・ストリーム中のエラーを検出する
ための装置であって、 第1コード化方法に関連する第1検出方法または第2コ
ード化方法に関連する第2検出方法によってデータ・ス
トリーム中のエラーを検出するための論理回路を備え、 前記論理回路は、データ・ストリームが前記第1コード
化方法および前記第2コード化方法のどちらを使用して
コード化されたか判定する手段を含む装置。 - 【請求項8】前記論理回路が、単一パリティ検査行列に
基づいている、請求項7に記載の装置。 - 【請求項9】前記第1コード化方法が、データ・ストリ
ーム中のすべての単一シンボル・エラーの訂正、および
すべての二重シンボル・エラーの検出を可能にし、 前記第2コード化方法が、データ・ストリーム中のすべ
ての単一ビット・エラーの訂正、およびすべての二重ビ
ット・エラーの検出を可能にする、請求項7に記載の装
置。 - 【請求項10】前記第1コード化方法が使用された場
合、前記単一パリティ検査行列全体が、データ・ストリ
ームを復号するために使用され、 前記第2コード化方法が使用された場合、前記単一パリ
ティ検査行列のサブセットが、データ・ストリームを復
号するために使用される、請求項8に記載の装置。 - 【請求項11】前記論理回路が、前記第2コード化方法
が使用された場合に、前記単一パリティ検査行列のサブ
セットを並べ替え、単一シンボル・エラーの検出を可能
にする行列を生成する、請求項10に記載の装置。 - 【請求項12】プロセッサと、 メモリ・アレイと、 前記メモリ・アレイから前記プロセッサに情報を伝送す
る手段とを備え、 前記伝送する手段が、第1コード化方法に関連する第1
検出方法または第2コード化方法に関連する第2検出方
法によってデータ・ストリーム中のエラーを検出するた
めの論理回路を含み、前記論理回路が、データ・ストリ
ームが前記第1コード化方法および前記第2コード化方
法のどちらを使用してコード化されたか判定する手段を
含む、コンピュータ・システム。 - 【請求項13】前記論理回路が、単一パリティ検査行列
に基づいている、請求項12に記載のコンピュータ・シ
ステム。 - 【請求項14】前記第1コード化方法が、データ・スト
リーム中のすべての単一シンボル・エラーの訂正、およ
びすべての二重シンボル・エラーの検出を可能にし、 前記第2コード化方法が、データ・ストリーム中のすべ
ての単一ビット・エラーの訂正、およびすべての二重ビ
ット・エラーの検出を可能にする、請求項12に記載の
コンピュータ・システム。 - 【請求項15】前記第1コード化方法が使用された場
合、前記単一パリティ検査行列全体がデータ・ストリー
ムを復号するために使用され、 前記第2コード化方法が使用された場合、前記単一パリ
ティ検査行列のサブセットがデータ・ストリームを復号
するために使用される、請求項13に記載のコンピュー
タ・システム。 - 【請求項16】前記論理回路が、前記第2コード化方法
が使用された場合に、前記単一パリティ検査行列のサブ
セットを並べ替えて、単一シンボル・エラーの検出を可
能にする行列を生成する、請求項15に記載のコンピュ
ータ・システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/834,962 US5956351A (en) | 1997-04-07 | 1997-04-07 | Dual error correction code |
US08/834962 | 1997-04-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10320222A true JPH10320222A (ja) | 1998-12-04 |
JP3095380B2 JP3095380B2 (ja) | 2000-10-03 |
Family
ID=25268226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10087856A Expired - Fee Related JP3095380B2 (ja) | 1997-04-07 | 1998-04-01 | エラーを検出するための方法および装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5956351A (ja) |
JP (1) | JP3095380B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028260A (zh) * | 2023-01-09 | 2023-04-28 | 海光信息技术股份有限公司 | 数据的处理方法、处理装置以及存储系统 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6052818A (en) * | 1998-02-27 | 2000-04-18 | International Business Machines Corporation | Method and apparatus for ECC bus protection in a computer system with non-parity memory |
US6249842B1 (en) * | 1998-12-17 | 2001-06-19 | Quantum Corporation | Apparatus and method for processing data in a RAID system |
EP1028379B1 (en) * | 1999-02-10 | 2003-05-07 | STMicroelectronics S.r.l. | Method for correction of errors in a binary word stored in multi-level memory cells, with minimum number of correction bits |
US6675341B1 (en) * | 1999-11-17 | 2004-01-06 | International Business Machines Corporation | Extended error correction for SEC-DED codes with package error detection ability |
US7116710B1 (en) * | 2000-05-18 | 2006-10-03 | California Institute Of Technology | Serial concatenation of interleaved convolutional codes forming turbo-like codes |
US7493548B2 (en) * | 2006-02-06 | 2009-02-17 | Motorola, Inc | Method and apparatus for encoding and decoding data |
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 |
US20080052598A1 (en) * | 2006-08-09 | 2008-02-28 | Aksamit Slavek P | Memory multi-bit error correction and hot replace without mirroring |
CN113595560B (zh) * | 2021-06-29 | 2024-06-28 | 浪潮电子信息产业股份有限公司 | 一种信息纠错方法、装置、设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL7909178A (nl) * | 1979-12-20 | 1981-07-16 | Philips Nv | Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten. |
US4359772A (en) * | 1980-11-14 | 1982-11-16 | International Business Machines Corporation | Dual function error correcting system |
US4538270A (en) * | 1983-04-04 | 1985-08-27 | Motorola, Inc. | Method and apparatus for translating a predetermined Hamming code to an expanded class of Hamming codes |
US4958350A (en) * | 1988-03-02 | 1990-09-18 | Stardent Computer, Inc. | Error detecting/correction code and apparatus |
JPH0398318A (ja) * | 1989-09-11 | 1991-04-23 | Fujitsu Ltd | 音声符号化方式 |
US5068858A (en) * | 1989-12-21 | 1991-11-26 | International Business Machines Corporation | Error correction capability varied with track location on a magnetic or optical disk |
JPH04290144A (ja) * | 1991-03-19 | 1992-10-14 | Hitachi Ltd | メモリ拡張方式 |
US5418796A (en) * | 1991-03-26 | 1995-05-23 | International Business Machines Corporation | Synergistic multiple bit error correction for memory of array chips |
US5425038A (en) * | 1993-07-02 | 1995-06-13 | International Business Machines Corporation | Error plus single bit error detection |
US5355377A (en) * | 1993-11-23 | 1994-10-11 | Tetra Assoc. Inc. | Auto-selectable self-parity generator |
US5515507A (en) * | 1993-12-23 | 1996-05-07 | Unisys Corporation | Multiple width data bus for a microsequencer bus controller system |
US5541941A (en) * | 1994-01-28 | 1996-07-30 | International Business Machines Corporation | Method and structure for providing automatic parity sensing |
-
1997
- 1997-04-07 US US08/834,962 patent/US5956351A/en not_active Expired - Fee Related
-
1998
- 1998-04-01 JP JP10087856A patent/JP3095380B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028260A (zh) * | 2023-01-09 | 2023-04-28 | 海光信息技术股份有限公司 | 数据的处理方法、处理装置以及存储系统 |
CN116028260B (zh) * | 2023-01-09 | 2024-02-27 | 海光信息技术股份有限公司 | 数据的处理方法、处理装置以及存储系统 |
Also Published As
Publication number | Publication date |
---|---|
US5956351A (en) | 1999-09-21 |
JP3095380B2 (ja) | 2000-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4071940B2 (ja) | メモリ設計のための共有式誤り訂正 | |
US6453440B1 (en) | System and method for detecting double-bit errors and for correcting errors due to component failures | |
US7644348B2 (en) | Method and apparatus for error detection and correction | |
US5099484A (en) | Multiple bit error detection and correction system employing a modified Reed-Solomon code incorporating address parity and catastrophic failure detection | |
US6041430A (en) | Error detection and correction code for data and check code fields | |
US7398449B1 (en) | Encoding 64-bit data nibble error correct and cyclic-redundancy code (CRC) address error detect for use on a 76-bit memory module | |
US5745508A (en) | Error-detection code | |
US6044483A (en) | Error propagation operating mode for error correcting code retrofit apparatus | |
US6751769B2 (en) | (146,130) error correction code utilizing address information | |
US6009548A (en) | Error correcting code retrofit method and apparatus for multiple memory configurations | |
US7076723B2 (en) | Error correction codes | |
EP0188192B1 (en) | Extended error correction for package error correction codes | |
US6604222B1 (en) | Block code to efficiently correct adjacent data and/or check bit errors | |
CN107436821B (zh) | 为包括多个数据位和地址位的块生成错误码的装置和方法 | |
US20040181734A1 (en) | Extended error correction codes | |
US4740968A (en) | ECC circuit failure detector/quick word verifier | |
Rossi et al. | Error correcting code analysis for cache memory high reliability and performance | |
US6457154B1 (en) | Detecting address faults in an ECC-protected memory | |
US4961193A (en) | Extended errors correcting device having single package error correcting and double package error detecting codes | |
TWI806649B (zh) | 快閃記憶體裝置及快閃記憶體儲存管理方法 | |
JP3095380B2 (ja) | エラーを検出するための方法および装置 | |
US6393597B1 (en) | Mechanism for decoding linearly-shifted codes to facilitate correction of bit errors due to component failures | |
US6539513B1 (en) | Dual functioning symbol error correction code | |
US6519736B1 (en) | Generating special uncorrectable error codes for failure isolation | |
US20160139988A1 (en) | Memory unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |