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
Application number
JP10087856A
Other languages
English (en)
Other versions
JP3095380B2 (ja
Inventor
Craig Bossen Douglas
ダグラス・クレイグ・ボッセン
Ron Chen Chin
チン=ロン・チェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH10320222A publication Critical patent/JPH10320222A/ja
Application granted granted Critical
Publication of JP3095380B2 publication Critical patent/JP3095380B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error 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コード化方法が使用された場
合、パリティ検査行列のサブセットがデータ・ストリー
ムを復号するために使用される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にコンピュー
タ・システムに関し、さらに詳細には、記憶制御装置な
どのエラー検出または訂正装置内でエラー訂正コードを
実施する方法に関する。
【0002】
【従来の技術】図1に、従来のコンピュータ・システム
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に記載されている。
【0004】エラー訂正コードによっては、単一ビット
・エラーを検出するためにしか使用できないものがあ
る。すなわち、特定のメモリ・ワード中の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機構
を有さなければならないことになる。
【0006】たとえば、「1チップあたりbビット」構
成を有するメモリ・アレイでは、適切な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コードと比
較して必要な検査ビット数が少なく、したがって冗長ア
レイ・チップ数も少ない。
【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機
構を単一設計に組み入れる方法を案出することが望まし
くかつ有利である。
【0009】
【発明が解決しようとする課題】したがって、本発明の
一目的は、コンピュータ・システム内で伝送されるデー
タ・ストリーム中のエラーを検出する方法を提供するこ
とである。
【0010】本発明の別の目的は、DRAMなどの一時
記憶装置から情報を受け取る記憶制御装置で前記の方法
を提供することである。
【0011】本発明の別の目的は、2つ以上のエラー訂
正コード機構を1つの効率的な設計に組み入れる方法を
提供することである。
【0012】
【課題を解決するための手段】前述の目的は、コンピュ
ータ・システム内で(たとえば、メモリ・アレイから記
憶制御装置へ)伝送されるデータ・ストリーム中のエラ
ーを検出する下記のような方法によって達成される。こ
の方法は一般に、第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用の複雑さと変わらない。
【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のパリティ検査行列と呼ばれる。
【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パリティ・ビットをコード化
するのにも使用できる。
【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シンボルを形
成するために一緒にグループ化されている。
【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の操作
に対してはゼロに設定される。
【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中に結合される。
【0019】データがメモリから取り出されるとき、シ
ンドローム・ビット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)。
【0021】図9の列に対するシンドロームの突き合わ
せは、1組の10入力AND回路によって実施できる。
10個のシンドローム・ビットすべてのそれぞれの真数
および補数のどちらかを各AND回路の入力として使用
する。
【0022】二重のECC操作を組み込むために、シン
ドローム・ビット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】本発明に従って構築された(76,66)パリ
ティ検査行列を有するエラー訂正コードの1実施形態の
図である。
【図3】本発明に従って構築された図2の(76,6
6)行列のサブセットである(72,64)パリティ検
査行列を有する別のエラー訂正コードの図である。
【図4】本発明に従って構築された図3の(72,6
4)行列の転置行列である(72,64)パリティ検査
行列を有するさらに別のエラー訂正コードの図である。
【図5】図3の行列を図4の行列に転置するために使用
されるマッピング・シーケンスの図である。
【図6】本発明による二重コード操作のための検査ビッ
ト生成用のXORゲート・ツリーの図である。
【図7】チップ・アレイ中の異なるメモリ・チップのビ
ット位置割当ての図である。
【図8】本発明による二重コード操作のためのシンドロ
ーム生成用のXORゲート・ツリーの図である。
【図9】本発明に従って構築され、図2および図3の行
列とともに使用されるシンドローム復号表の1実施形態
の図である。
【図10】OR回路を使用したある種のシンドローム・
ビットの修正の図である。
【符号の説明】
10 コンピュータ・システム 12 プロセッサ 14 入出力装置 16 永久記憶装置(ハード・ディスク) 18 一時記憶装置(RAM) 20 バス 22 ダイレクト・チャネル 24 ファームウエア(ROS)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チン=ロン・チェン アメリカ合衆国12524 ニューヨーク州フ ィッシュキル フーズ・ブールバード 15

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】データ・ストリーム中のエラーを検出する
    方法であって、 第1コード化方法または第2コード化方法を使用してデ
    ータ・ストリーム中にパリティ検査ビットをコード化す
    るステップと、 前記コード化するステップが前記第1コード化方法およ
    び前記第2コード化方法のどちらを使用して実行された
    か判定するステップと、 前記判定するステップに応答して、前記第1コード化方
    法または前記第2コード化方法に従ってデータ・ストリ
    ームを復号する手段を有する論理回路を使用してデータ
    ・ストリームを復号するステップとを含む方法。
  2. 【請求項2】前記復号するステップが、単一パリティ検
    査行列を使用して実行される、請求項1に記載の方法。
  3. 【請求項3】共通の論理回路が前記第1コード化方法お
    よび前記第2コード化方法の両方を実行するために使用
    される、請求項1に記載の方法。
  4. 【請求項4】前記第1コード化方法が使用された場合、
    前記単一パリティ検査行列全体が、データ・ストリーム
    を復号するために使用され、 前記第2コード化方法が使用された場合、前記単一パリ
    ティ検査行列のサブセットが、データ・ストリームを復
    号するために使用される、請求項2に記載の方法。
  5. 【請求項5】前記第1コード化方法が、データ・ストリ
    ーム中のすべての単一シンボル・エラーの訂正、および
    すべての二重シンボル・エラーの検出を可能にし、 前記第2コード化方法が、データ・ストリーム中のすべ
    ての単一ビット・エラーの訂正、およびすべての二重ビ
    ット・エラーの検出を可能にする、請求項4に記載の方
    法。
  6. 【請求項6】前記復号するステップが、前記第2コード
    化方法が使用された場合に、前記単一パリティ検査行列
    のサブセットを並べ替えて、単一シンボル・エラーの検
    出を可能にする行列を生成するステップを含む、請求項
    5に記載の方法。
  7. 【請求項7】データ・ストリーム中のエラーを検出する
    ための装置であって、 第1コード化方法に関連する第1検出方法または第2コ
    ード化方法に関連する第2検出方法によってデータ・ス
    トリーム中のエラーを検出するための論理回路を備え、 前記論理回路は、データ・ストリームが前記第1コード
    化方法および前記第2コード化方法のどちらを使用して
    コード化されたか判定する手段を含む装置。
  8. 【請求項8】前記論理回路が、単一パリティ検査行列に
    基づいている、請求項7に記載の装置。
  9. 【請求項9】前記第1コード化方法が、データ・ストリ
    ーム中のすべての単一シンボル・エラーの訂正、および
    すべての二重シンボル・エラーの検出を可能にし、 前記第2コード化方法が、データ・ストリーム中のすべ
    ての単一ビット・エラーの訂正、およびすべての二重ビ
    ット・エラーの検出を可能にする、請求項7に記載の装
    置。
  10. 【請求項10】前記第1コード化方法が使用された場
    合、前記単一パリティ検査行列全体が、データ・ストリ
    ームを復号するために使用され、 前記第2コード化方法が使用された場合、前記単一パリ
    ティ検査行列のサブセットが、データ・ストリームを復
    号するために使用される、請求項8に記載の装置。
  11. 【請求項11】前記論理回路が、前記第2コード化方法
    が使用された場合に、前記単一パリティ検査行列のサブ
    セットを並べ替え、単一シンボル・エラーの検出を可能
    にする行列を生成する、請求項10に記載の装置。
  12. 【請求項12】プロセッサと、 メモリ・アレイと、 前記メモリ・アレイから前記プロセッサに情報を伝送す
    る手段とを備え、 前記伝送する手段が、第1コード化方法に関連する第1
    検出方法または第2コード化方法に関連する第2検出方
    法によってデータ・ストリーム中のエラーを検出するた
    めの論理回路を含み、前記論理回路が、データ・ストリ
    ームが前記第1コード化方法および前記第2コード化方
    法のどちらを使用してコード化されたか判定する手段を
    含む、コンピュータ・システム。
  13. 【請求項13】前記論理回路が、単一パリティ検査行列
    に基づいている、請求項12に記載のコンピュータ・シ
    ステム。
  14. 【請求項14】前記第1コード化方法が、データ・スト
    リーム中のすべての単一シンボル・エラーの訂正、およ
    びすべての二重シンボル・エラーの検出を可能にし、 前記第2コード化方法が、データ・ストリーム中のすべ
    ての単一ビット・エラーの訂正、およびすべての二重ビ
    ット・エラーの検出を可能にする、請求項12に記載の
    コンピュータ・システム。
  15. 【請求項15】前記第1コード化方法が使用された場
    合、前記単一パリティ検査行列全体がデータ・ストリー
    ムを復号するために使用され、 前記第2コード化方法が使用された場合、前記単一パリ
    ティ検査行列のサブセットがデータ・ストリームを復号
    するために使用される、請求項13に記載のコンピュー
    タ・システム。
  16. 【請求項16】前記論理回路が、前記第2コード化方法
    が使用された場合に、前記単一パリティ検査行列のサブ
    セットを並べ替えて、単一シンボル・エラーの検出を可
    能にする行列を生成する、請求項15に記載のコンピュ
    ータ・システム。
JP10087856A 1997-04-07 1998-04-01 エラーを検出するための方法および装置 Expired - Fee Related JP3095380B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028260A (zh) * 2023-01-09 2023-04-28 海光信息技术股份有限公司 数据的处理方法、处理装置以及存储系统

Families Citing this family (9)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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