JPH06236326A - ランダムアクセスメモリにデータを記憶するために非原子レベルパリティ保護を実行する方法および装置 - Google Patents

ランダムアクセスメモリにデータを記憶するために非原子レベルパリティ保護を実行する方法および装置

Info

Publication number
JPH06236326A
JPH06236326A JP4192784A JP19278492A JPH06236326A JP H06236326 A JPH06236326 A JP H06236326A JP 4192784 A JP4192784 A JP 4192784A JP 19278492 A JP19278492 A JP 19278492A JP H06236326 A JPH06236326 A JP H06236326A
Authority
JP
Japan
Prior art keywords
bits
group
memory
parity
bit
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
JP4192784A
Other languages
English (en)
Other versions
JP3461006B2 (ja
Inventor
Thomas E Westberg
トーマス・イー・ウエストバーグ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH06236326A publication Critical patent/JPH06236326A/ja
Application granted granted Critical
Publication of JP3461006B2 publication Critical patent/JP3461006B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/1056Updating check bits on partial write, i.e. read/modify/write
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 経済的なパリティ保護を提供する。 【構成】 方法及び装置は、m×b個のビットごとに1
つのパリティビットを生成する。b個のビットから成る
1つのビット群は、CPUにより操作できる最小数のビ
ットである。m×b個のビット全てについてパリティビ
ットを計算する。パリティエラーの報告はその動作の読
取り部分に関しては抑制される。パリティビットは、動
作の読取り部分の間にパリティエラーが検出されるか否
かを因数分解してセットされる。パリティエラーが検出
されれば、それをいずれもCPUに報告。データ保全性
の劣化を最小限に抑え、ハードウェアのコストはかなり
低減される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータシステムの
分野に関し、特に、ランダムアクセスメモリにデータを
記憶するために非原子レベルパリティ保護を実行する方
法及び装置に関する。
【0002】
【従来の技術】図1を参照する。従来、プログラマーが
読取り又は書込みをバイト単位、ハーフワード単位(す
なわち、2バイトごと)、全語単位(すなわち、4バイ
トごと)、あるいは倍長語(ダブルワード)単位(すな
わち、8バイトごと)で実行するために利用できる機械
命令は存在してはいるが、ランダムアクセスメモリ(R
AM)16に記憶されていて、コンピュータシステム1
0の中央処理装置(CPU)(図示せず)により直接に
操作できる最小の量のデータは1バイト、すなわち、8
ビット22a,22b,22c又は22dである。その
ために、RAM16にデータを記憶するためのパリティ
保護は、通常、この原子レベル、すなわち、バイトレベ
ルで実行される。バイト22a,22b,22c又は2
2dごとに、パリティビットとして使用すべき追加の9
番目のビット24a,24b,24c又は24dが与え
られる。従って、「32ビットコンピュータシステム」
の場合、4つのパリティビット24a,24b,24c
又は24dはユーザーに対してアクセス可能ではない
が、RAM16とRAM制御装置14との間のデータ経
路18は通常は36ビットである。
【0003】各バイトのパリティビットは、書込み動作
のたびに、ランダムアクセスメモリ制御装置によりセッ
ト又はリセットされる。通常、ブロック32(同図b)
で、RAM制御装置はCPUからデータを受信する。ブ
ロック34で、RAM制御装置はどのバイトを書込まな
ければならないかを確定する。次に、ブロック36で、
RAM制御装置は書込むべきバイトについて対応するパ
リティビットを生成する。各パリティビットは、コンピ
ュータシステムが奇数ビットを使用するか又は偶数ビッ
トを使用するかに従って、バイトごとの1のビットの総
数が常に奇数又は偶数になるようにセット又はリセット
される。パリティビットを生成した後、ブロック38
で、RAM制御装置は適切なバイトをそのパリティビッ
トと共にRAMに書込む。
【0004】読取り動作中には、その都度、パリティビ
ットがRAM制御装置により検査されることになる。通
常、ブロック42で、RAM制御装置はRAMから語全
体を検索する(同図c)。RAM制御装置はどのバイト
が取出されているかを確定し(ブロック44)、必要な
ものだけをCPUに戻す(ブロック46)。同時に、R
AM制御装置は戻されている各バイトのパリティビット
をエラーの有無について検査し(ブロック48)、エラ
ーが検出されれば、パリティエラーをCPUに報告する
(ブロック49)。
【0005】パリティ保護を実行する従来の方式は、特
にマイクロコンピュータに要求されるハードウェアスペ
ースに関してコスト高である。ランダムアクセスメモリ
の9分の1はパリティ保護のために使用される。
【0006】
【発明が解決しようとする課題】本発明は従来の技術の
欠点を克服したランダムアクセスメモリにデータを記憶
するために非原子レベルパリティ保護を実行する方法及
び装置を提供する。
【0007】
【課題を解決するための手段】ランダムアクセスメモリ
にデータを記憶するために非原子レベルパリティ保護を
実行する方法及び装置を開示する。その方法及び装置は
データ保全性の劣化を最小限にとどめた上で、ハードウ
ェアのコストを相当に低減させる。さらに、その方法及
び装置はCPUとオペレーティングシステムには全く関
係がない。本発明の方法及び装置の好ましい実施例はm
×b個のビットごとに1つのパリティビットを発生させ
る。b個のビットから成る1つのビット群は、CPUに
より操作できる最小の数のビットである。m×b個のビ
ットのサブセットのみが記憶されている場合でも、書込
み動作中、m×b個のビットの全てについてパリティビ
ットを計算する。書込み動作はm×b個のビットの全て
についての読取り−変更−書込み動作として実現され、
パリティエラーの報告は読取り−変更−書込み動作の読
取り部分については抑制される。ところが、パリティビ
ットは、読取り−変更−書込み動作の読取り部分の間に
パリティエラーが検出されるか否かを因数分解してセッ
トされる。
【0008】m×b個のビットのサブセットのみが必要
である場合であっても、読取り動作中にはm×b個のビ
ットの全てについてパリティビットを検査する。パリテ
ィエラーが検出されれば、それはいずれもCPUに報告
される。たとえば、32ビットコンピュータシステムの
場合、本発明の方法及び装置は全語ごとに1つのパリテ
ィビットを発生する。1つのバイト又はハーフワード
(半語)が記憶されている場合でも、書込み動作中、全
語全体についてパリティビットを計算する。先に概要を
述べたように、書込み動作は全語全体について読取り−
変更−書込み動作として実現される。同様に、1つのバ
イト又はハーフワードが必要なだけであっても、読取り
動作中、全語全体についてパリティビットを検査する。
本発明の目的、特徴及び利点は、添付の図面を参照しな
がら本発明の好ましい実施例についての以下の詳細な説
明を読むことにより明白になるであろう。
【0009】
【実施例】ランダムアクセスメモリ(RAM)にデータ
を記憶するために非原子レベルパリティ保護を実行する
方法及び装置を開示する。以下の説明の中で、本発明を
完全に理解させるために、便宜上、特定の数、材料及び
構成を挙げるが、そのような特定の詳細な事項がなくと
も本発明を実施しうることは当業者には明白であろう。
また、場合によっては、本発明を無用にあいまいにしな
いために、周知のシステムを概略図又はブロック線図の
形態で示すこともある。
【0010】そこで、図2を参照すると、本発明の装置
の好ましい実施例のハードウェア素子の物理的構成を表
わすブロック線図が示されている。本発明の好ましい実
施例の装置70は、中央処理装置(CPU)(図示せ
ず)に結合するRAM制御装置54と、たとえば、32
ビットコンピュータシステム50の複数のRAMアレイ
56とを含む。RAM制御装置54とCPUとの間のデ
ータ経路58と、RAM制御装置54とRAMアレイ5
6との間のデータ経路60は、それぞれ、32ビット
と、33ビットの幅を有する。CPUは1バイト、ハー
フワード、全語又はダブルワードの単位で書込みと読取
りを実行する。データの読取りとデータの書込みは非同
期的に実行される。
【0011】さらに、RAMアレイ56は、複数のデー
タバイトを記憶するために複数のメモリアドレスにより
参照される複数のメモリデータ記憶場所(4つ図示され
ている、62a〜62d)と、複数のパリティビットを
記憶するための複数の対応するメモリパリティ記憶場所
(1つ図示されている、64)とから構成される。この
例の32ビットコンピュータシステムでは、記憶されて
いる4つのデータバイトごとに1つのパリティビットが
与えられる。メモリデータ記憶場所と対応するメモリパ
リティ記憶場所は、動作開始時に、RAM制御装置54
により、複数の初期データバイトと、複数の対応する初
期パリティビットとにそれぞれ初期設定される。
【0012】さらに図2を参照すると、本発明の好まし
い実施例の装置70は複数のインタフェース72及び7
4と、複数のレジスタ76,78及び80と、複数の論
理回路82,84,86及び88とを含む。複数のイン
タフェースとは、CPUと結合する中央処理装置(CP
U)インタフェース72と、RAMアレイ56と結合す
るRAMインタフェース74である。複数のレジスタと
は、CPUインタフェース72に結合するデータレジス
タA76と、RAMインタフェース74に結合するデー
タレジスタB78と、CPUインタフェース72及びR
AMインタフェース74に結合するアドレスレジスタ8
0である。複数の論理回路とは、データレジスタA7
6、データレジスタB78及びアドレスレジスタ80に
結合するデータ変更回路82と、データレジスタA7
6、データレジスタB78及びアドレスレジスタ80に
結合するデータ抽出回路84と、データレジスタB78
及びCPUに結合するパリティエラー検査回路86と、
データレジスタB78及びパリティエラー検査回路86
に結合するパリティビット発生回路88である。
【0013】CPUインタフェース72は、データをR
AMアレイ56に書込むと共に、RAMアレイ56から
データを読取るためにCPUとインタフェースする。書
込み動作中、CPUインタフェース72は書込み信号
と、複数のターゲットメモリアドレスと、書込むべき複
数のデータバイトとをCPUから入力として受信する。
受信されるターゲットメモリアドレスは、複数のデータ
バイトを書込むべき複数のターゲットメモリデータ記憶
場所を指示する。それに応答して、CPUインタフェー
ス72はデータレジスタA76と、アドレスレジスタ8
0とにそれぞれ受信されたターゲットメモリアドレス
と、データバイトとを出力する。
【0014】読取り動作中には、CPUインタフェース
72は読取り信号と、複数のソースメモリアドレスとを
CPUから入力として受信する。ソースメモリアドレス
は、複数のデータバイトを読取るべき複数のソースメモ
リデータ記憶場所を指示する。それに応答して、CPU
インタフェース72はアドレスレジスタ80に受信され
たソースメモリアドレスを出力する。また、その後、C
PUインタフェース72は読取り動作中のデータレジス
タA76における複数の検索中のデータバイトの有無を
検出する。それに応答して、CPUインタフェース72
は複数の検索中のデータバイトをCPUへ出力する。
【0015】RAMインタフェース74は、データをR
AMアレイ56に書込むと共に、RAMアレイ56から
データを読取るために、RAMアレイ56とインタフェ
ースする。書込み動作中、RAMインタフェース74は
アドレスレジスタにおける複数のターゲットメモリアド
レスの有無を検出する。それに応答して、ターゲットメ
モリアドレスが書込み中であるのが1つの全語より短い
ことを指示する場合、RAMインタフェース74はRA
Mアレイ56から全語と、そのパリティビットとを検索
し、検索した全語と、そのパリティビットとをデータレ
ジスタB78へ出力する。そうでない場合には、RAM
インタフェース74は全くアクションを起こさない。検
索される場合、全語とそのパリティビットは、ターゲッ
トメモリアドレスにより参照されているメモリデータ記
憶場所から成る4つのメモリデータ記憶場所と、対応す
るメモリパリティ記憶場所とから検索される。
【0016】書込み動作中、RAMインタフェース74
は、その後、データレジスタB78におけるRAMアレ
イ56に書込むべき全語及びそのパリティビットの有無
をさらに検出する。書込むべき全語は複数の書込むべき
データバイトから構成される。それに応答して、RAM
インタフェース74は全語とそのパリティビットとを、
ターゲットメモリアドレスにより参照されているメモリ
データ記憶場所から成る4つのメモリデータ記憶場所
と、対応するメモリパリティ記憶場所とに書込む。
【0017】読取り動作中には、RAMインタフェース
74はアドレスレジスタ80における複数のソースメモ
リアドレスの有無を検出する。それに応答して、RAM
インタフェース74はRAMアレイ56から全語と、そ
のパリティビットとを検索し、検索した全語と、検索し
たパリティをそれぞれデータレジスタB78へ出力す
る。全語とそのパリティビットとは、ソースメモリアド
レスにより参照されているメモリデータ記憶場所から成
る4つのメモリデータ記憶場所と、対応するメモリパリ
ティ記憶場所とから検索される。
【0018】データ変更回路82はRAMアレイ56に
書込むべきデータバイトを処理し、それらのデータバイ
トをRAMアレイ56に書込む準備を整える。書込み動
作中、データ変更回路82はデータレジスタA76に書
込むべきデータバイトを検出し、データレジスタB78
の適切なバイト位置に書込むべきデータバイトを出力す
る。書込んでいるのが全語に満たない量であれば、書込
まれているデータバイトはデータレジスタB78に記憶
されている全語に有効に併合される。
【0019】データ抽出回路84はCPUへ戻すべく読
取られているデータバイトを処理し、それらのデータバ
イトをCPUに戻す準備を整える。読取り動作中、デー
タ抽出回路84は、データレジスタA76にある読取ら
れ、CPUに戻るべきデータバイトを検出し、データレ
ジスタB78から読取られるべきデータを抽出し、それ
らをデータレジスタA76へ出力する。
【0020】パリティエラー検査回路86はデータ書込
み動作中及びデータ読取り動作中にパリティエラーを検
出し、それを報告する。書込み動作中、パリティエラー
検査回路86はデータレジスタB78における検索中の
全語及び検索中のパリティビットの有無を検出し、パリ
ティエラーが検出されれば、パリティビット発生回路8
8に入力すべき信号を条件付きで出力する。パリティエ
ラー検査は、検索中の全語及びそのパリティビットがデ
ータレジスタB78に記憶される直後で、書込むべきデ
ータバイトがデータレジスタB78に記憶される前に実
行される。
【0021】読取り動作中、パリティエラー検査回路8
6はデータレジスタB78における検索中の全語と、デ
ータレジスタB78における検索中のパリティビットの
有無を検出する。それに応答して、パリティエラー検出
回路86は、パリティエラーが検出されれば、CPUに
対して信号を条件付きで出力する。パリティエラー検査
は読取るべきデータバイトの抽出及びCPUへの戻しと
ほぼ同時に実行される。
【0022】パリティビット発生回路88は、RAMア
レイ56に書込むべき全語と関連するパリティビットを
発生する。書込む動作中、パリティビット発生回路88
はデータレジスタB78における書込むべき全語の有無
を検出し、パリティビットを発生し、発生したパリティ
ビットをデータレジスタB78に出力する。パリティビ
ットは、周知のパリティ発生方式を使用して標準的な方
法により発生される。ところが、検索中の全語とそのパ
リティビットについてパリティエラーが検出されると、
発生したパリティビットをデータレジスタB78に記憶
する前に反転させる。パリティビットは、書込むべきデ
ータバイトがデータレジスタB78に記憶される直後
で、書込むべき全語がRAMアレイ56に書込まれる前
に発生される。
【0023】そこで図3を参照すると、本発明の方法で
使用する書込みアルゴリズムの論理的な面を表わすブロ
ック線図が示されている。まず、ブロック92では、書
込むべきデータと、それらを記憶するメモリデータ記憶
場所に関するターゲットメモリアドレスとをCPUから
受信する。m×b個未満のビットが書込まれているか否
かを判定するために、書込むべきデータを検査する(ブ
ロック94)。データはCPUにおいてbビットの倍数
を単位として操作されているのであるが、b個のビット
から成る1つのビット群はCPUにより操作できる最小
の量のデータビットである。Mはあらかじめ定められた
定数である。
【0024】書込むべきデータがm×bビット以上であ
れば、ブランチ94aをたどり、ブロック96で、その
書込むべきm×bビットに関わるパリティビットを生成
する。先に説明したように、パリティビットは標準的な
方式で生成される。次に、ブロック98では書込むべき
m×b個のビットと、対応するパリティビットを受信し
たターゲットメモリアドレスにより参照されるメモリデ
ータ記憶場所と、参照されたメモリデータ記憶場所に対
応するメモリパリティ記憶場所とにそれぞれ記憶する。
【0025】書込むべきデータがm×bビット未満であ
れば、ブランチ94bをたどり、ブロック100で、m
×b個のビットと、対応するパリティビットをRAMア
レイから検索する。m×b個のビットと、そのパリティ
ビットは、m個のメモリアドレスにより参照されるm個
のメモリデータ記憶場所と、対応するメモリパリティ記
憶場所とから検索される。m個のメモリアドレスは受信
したターゲットメモリアドレスから成り、m個のメモリ
データ記憶場所は受信したターゲットメモリアドレスに
より参照されるメモリデータ記憶場所から成る。ブロッ
ク102では、検索したm×b個のビットとそのパリテ
ィビットをパリティエラーの有無について検査する。
【0026】パリティエラーが検出されなければ、ブラ
ンチ102aをたどり、先に説明したように、書込むべ
きbの倍数個のビットを検索したm×b個のビットに併
合し(ブロック104a)、ブロック106では、それ
らの併合したm×b個のビットについてパリティビット
を生成する。先に説明したように、パリティビットは標
準的な方法で生成される。その後、ブロック108で
は、併合したm×b個のビットと、そのパリティビット
を、先にブロック98で併合以前のm×b個のビットと
そのパリティビットを検索したメモリデータ記憶場所
と、対応するメモリパリティ記憶場所とにそれぞれ記憶
する。
【0027】パリティエラーが検出されれば、ブランチ
102bをたどり、先に説明したように、書込むべきb
の倍数個のビットを検索したm×b個のビットに併合し
(ブロック104b)、ブロック108では、併合した
m×b個のビットについてパリティビットを生成する。
そのパリティビットは標準的な方式により生成された後
に、先に説明した通り反転される。パリティビットを生
成したならば、ブロック98で、併合したm×b個のビ
ットと、対応するパリティビットを、先に併合以前のm
×b個のビットと、そのパリティビットとを検索したメ
モリデータ記憶場所と、対応するメモリパリティ記憶場
所とにそれぞれ記憶する。
【0028】次に図4を参照すると、本発明の方法で使
用する読取りアルゴリズムの論理的な面を表わすブロッ
ク線図が示されている。まず、ブロック112で、CP
Uから複数のソースメモリアドレスを受信した後、RA
Mアレイからm×b個のビットと、そのパリティビット
を検索する。m×b個のビットとそのパリティビットは
m個のメモリアドレスにより参照されるm個のメモリデ
ータ記憶場所と、対応するメモリパリティ記憶場所とか
ら検索される。それらm個のメモリアドレスは受信した
ソースメモリアドレスから成り、m個のメモリデータ記
憶場所は受信したソースメモリアドレスにより参照され
るメモリデータ記憶場所から成る。先に説明した通り、
データはCPUによりbビットの倍数を単位として操作
されており、b個のビットから成る1つのビット群はC
PUにより操作できる最小の量のデータビットであり、
また、mはあらかじめ定められた定数である。
【0029】ブロック116では、読取るべきbの倍数
個のビットを検索したm×b個のビットから抽出し(ブ
ロック114)、CPUに戻す。ブロック118では、
検索したm×b個のビットと対応するパリティビットを
パリティエラーの有無について検査する。パリティエラ
ーが検出されれば、ブロック119でパリティエラーを
CPUに報告する。先に説明した通り、パリティエラー
は読取るべきbの倍数個のビットの抽出及び戻しとほぼ
同時に検査される。
【0030】本発明の方法及び装置がCPUとオペレー
ティングシステムには全く見えないことが理解されるで
あろう。さらに、データ保全性の劣化は最小限である。
データ値がリードバックされない場合、ユーザーはパリ
ティエラーの影響を全く受けない。パリティエラーがた
とえば、アルファヒットなどの「ソフト」エラーであれ
ば、データ値は後続する読取りの中で正しくリードバッ
クされる。パリティエラーが「ハード」エラーであれ
ば、パリティエラーは後続する読取りの中で原子レベル
保護と全く同じように再び検出される。本発明によって
検出されそうもなく思われる唯一のエラーのケースは、
複数の原子ビット群の中の複数のビットが誤っている場
合、たとえば、2つの異なるバイトからの2つの異なる
ビットの場合である。本発明の装置を32ビットコンピ
ュータシステムを例にとって説明したが、特に本発明の
方法の説明を考慮すれば、本発明が参照した32ビット
コンピュータシステムの例に限定されないことは当業者
には認められるであろう。本発明の方法及び装置は特許
請求の範囲の趣旨の中で変形及び変更を伴って実施でき
る。
【図面の簡単な説明】
【図1】従来の技術のランダムアクセスメモリにデータ
を記憶するための原子レベルパリティ保護を示すブロッ
ク線図。
【図2】本発明の装置の好ましい実施例のハードウェア
素子の物理的な面を示すブロック線図。
【図3】本発明の方法で使用する書込みアルゴリズムの
論理的な面を示すブロック線図。
【図4】本発明の方法で使用する読取りアルゴリズムの
論理的な面を示すブロック線図。
【符号の説明】
50 32ビットコンピュータシステム 54 RAM制御装置 56 RAMアレイ 58,60 データ経路 62a〜62d メモリデータ記憶場所 64 メモリパリティ記憶場所 70 本発明の装置 72 CPUインタフェース 74 RAMインタフェース 76 データレジスタA 78 データレジスタB 80 アドレスレジスタ 82 データ変更回路 84 データ抽出回路 86 パリティエラー検査回路 88 パリティビット発生回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ランダムアクセスメモリにデータを記憶
    するために非原子レベルパリティ保護を実行する方法に
    おいて、 ランダムアクセスにおいて、b個のビットを1群とする
    第1のn1 個(但し、n1 は少なくとも1に等しい)の
    ビット群を記憶すべきn1 個のメモリデータ記憶場所を
    指示するn1 個のメモリアドレスと、前記b個のビット
    を1群とする第1のn1 個のビット群とをCPUから受
    信する過程と;b個のビットを1群とする第1のW個
    (但し、Wはn1 より大きいあらかじめ定められた定数
    である)のビット群が第1のW個のメモリアドレスによ
    り指示される第1のW個の記憶場所に記憶され、前記第
    1のW個のメモリデータ記憶場所が前記第1のn1 個の
    メモリデータ記憶場所から成り、前記第1のW個のメモ
    リアドレスが前記第1のn1 個のメモリアドレスから成
    り、前記b個のビットを1群とする第1のW個のビット
    群が前記第1のW個の記憶場所から読取られ、前記b個
    のビットを1群とする第1のW個のビット群が、前記第
    1のW個のメモリデータ記憶場所へライトバックされる
    前に、前記b個のビットを1群とする第1のn1 個のビ
    ット群により変更されるように、前記b個のビットを1
    群とする前記第1のW個のビット群の読取り−変更−書
    込みを使用して、前記b個のビットを1群とする前記第
    1のn1 個のビット群を前記第1のn1 個のメモリデー
    タ記憶場所に記憶する過程と;第1のパリティビット
    が、前記b個のビットを1群とする第1のW個のビット
    群及び第2のパリティビットについて第1のパリティエ
    ラーが検出されるか否かを因数分解して生成され、前記
    第2のパリティビットが前記b個のビットを1群とする
    第1のW個のビット群に対応するもので、前記ランダム
    アクセスメモリの第1のメモリパリティ記憶場所から検
    索され、前記第1のメモリパリティ記憶場所が前記第1
    のW個の記憶場所に対応し、前記生成された第1のパリ
    ティビットが前記第1のメモリパリティ記憶場所に記憶
    され、前記第1のパリティビットの前記生成と記憶は前
    記b個のビットを1群とする前記第1のW個のビット群
    の前記読取り−変更−書込みとほぼ同時に実行されるよ
    うに、前記b個のビットを1群とする変更後の第1のW
    個のビット群に基づいて前記第1のパリティビットを生
    成し且つ記憶する過程とから成る方法。
  2. 【請求項2】 ランダムアクセスメモリにデータを記憶
    するために非原子レベルパリティ保護を実行する装置に
    おいて、 CPUに結合し、ランダムアクセスメモリにおいて、b
    個のビットを1群とする第1のn1個(但し、n1は少な
    くとも1に等しい)のビット群を記憶すべきn1 個のメ
    モリデータ記憶場所を指示するn1 個のメモリアドレス
    と、前記b個のビットを1群とする前記第1のn1 個の
    ビット群とを入力として前記CPUから受信し、受信し
    た前記n1 個のメモリアドレスと、前記b個のビットを
    1群とする前記第1のn1 個のビット群とを出力する第
    1の受信手段と;b個のビットを1群とする第1のW個
    (但し、Wはn1 より大きいあらかじめ定められた定数
    である)のビット群が、第1のW個のメモリアドレスに
    より指示される前記ランダムアクセスメモリの第1のW
    個のメモリデータ記憶場所に記憶され、前記第1のW個
    のメモリデータ記憶場所が前記第1のn1 個のメモリデ
    ータ記憶場所から成り、前記第1のW個のメモリアドレ
    スが前記第1のn1 個のメモリアドレスから成り、前記
    b個のビットを1群とする第1のW個のビット群が前記
    第1のW個の記憶場所から読取られ、前記b個のビット
    を1群とする第1のW個のビット群が、前記第1のW個
    のメモリデータ記憶場所にライトバックされる前に、前
    記b個のビットを1群とする第1のn1 個のビット群に
    より変更されるように、前記第1の受信手段及び前記ラ
    ンダムアクセスメモリに結合し、前記b個のビットを1
    群とする前記第1のW個のビット群の読取り−変更−書
    込みを使用して、前記b個のビットを1群とする前記第
    1のn1 個のビット群を前記第1のn1 個のメモリデー
    タ記憶する第1のデータ記憶手段と;前記第1のデータ
    記憶手段及び前記ランダムアクセスメモリに結合し、第
    1のパリティビットが前記b個のビットを1群とする第
    1のW個のビット群及び第2のパリティビットについて
    第1のパリティエラーが検出されるか否かを因数分解し
    て生成され、前記第2のパリティビットが前記b個のビ
    ットを1群とする第1のW個のビット群に対応するもの
    で、前記ランダムアクセスメモリの第1のメモリパリテ
    ィ記憶場所から検索され、前記第1のメモリパリティ記
    憶場所が前記第1のW個の記憶場所に対応し、前記第1
    のパリティビットが前記第1のメモリパリティ記憶場所
    に記憶され、前記第1のパリティビットの前記生成と記
    憶が、前記b個のビットを1群とする第1のW個のビッ
    ト群の前記読取り−変更−書込みとほぼ同時に実行され
    るように、前記b個のビットを1群とする変更後の第1
    のW個のビット群に基づいて前記第1のパリティビット
    を生成し且つ記憶する第1のパリティビット生成記憶手
    段とを具備する装置。
  3. 【請求項3】 データを記憶するために非原子レベルパ
    リティ保護を採用するランダムアクセスメモリサブシス
    テムにおいて、 a)b個のビットを1群とする第1のn1 個のビット群
    は、b個のビットを1群とする第1のW個(但し、Wは
    1 より大きいあらかじめ定められた定数である)のビ
    ット群の読取り−変更−書込みによって第1のn1 個の
    メモリデータ記憶場所に記憶されるのであるが、前記b
    個のビットを1群とする第1のW個のビット群が第1の
    W個のメモリアドレスにより指示される第1のW個のメ
    モリデータ記憶場所に記憶され、前記第1のW個のメモ
    リデータ記憶場所が前記第1のn1 個のメモリデータ記
    憶場所から成り、前記第1のW個のメモリアドレスが前
    記第1のn1 個のメモリアドレスから成り、前記b個の
    ビットを1群とする第1のW個のビット群が前記制御装
    置手段により前記第1のW個のメモリデータ記憶場所か
    ら読取られ、前記b個のビットを1群とする第1のW個
    のビット群が、前記第1のW個のメモリデータ記憶場所
    にライトバックされる前に、前記b個のビットを1群と
    する第1のn1 個のビット群によって変更され、 第1のパリティビットが、前記b個のビットを1群とす
    る変更後の第1のW個のビット群に基づいて、生成さ
    れ、前記あらかじめ定められたWがn1 より大きく、前
    記第1のパリティビットが、前記b個のビットを1群と
    する第1のW個のビット群及び第2のパリティビットに
    ついて第1のパリティエラーが検出されているか否かを
    因数分解して生成され、前記第2のパリティビットが、
    前記b個のビットを1群とする第1のW個ビット群に対
    応するもので、第1のメモリパリティ記憶場所から検索
    され、前記第1のメモリパリティ記憶場所が前記第1の
    W個の記憶場所に対応し、前記第1のパリティビットの
    前記生成と記憶は、前記b個のビットを1群とする第1
    のW個のビット群の前記読取り−変更−書込みとほぼ同
    時に実行されるように、 CPUに結合し、前記CPUから前記n1 個のメモリア
    ドレスと、前記b個のビットを1群とする前記第1のn
    1 個のビット群とを受信し、前記b個のビットを1群と
    する前記第1のn1 個のビット群を前記n1 個のメモリ
    アドレスにより指示される前記第1のn1 個のメモリデ
    ータ記憶場所に記憶すると共に、前記第1のパリティビ
    ットを前記第1のメモリパリティ記憶場所に記憶する制
    御装置手段と; b)前記n1 個のメモリデータ記憶場所と、前記第1の
    メモリパリティ記憶場所とを含めた前記第1のW個の記
    憶場所を含むように、前記制御装置手段に結合し、前記
    b個のビットを1群とする第1のn1 個のビット群と、
    前記第1及び第2のパリティビットとを含めた前記b個
    のビットを1群とする第1のW個のビット群を記憶する
    ランダムアクセスメモリアレイ手段とを具備するランダ
    ムアクセスメモリサブシステム。
JP19278492A 1991-06-28 1992-06-29 ランダムアクセスメモリにデータを記憶するために非原子レベルパリティ保護を実行する方法および装置 Expired - Fee Related JP3461006B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/723,204 US5325375A (en) 1991-06-28 1991-06-28 Method and apparatus for non-atomic level parity protection for storing data in a random access memory
US723204 1991-06-28

Publications (2)

Publication Number Publication Date
JPH06236326A true JPH06236326A (ja) 1994-08-23
JP3461006B2 JP3461006B2 (ja) 2003-10-27

Family

ID=24905287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19278492A Expired - Fee Related JP3461006B2 (ja) 1991-06-28 1992-06-29 ランダムアクセスメモリにデータを記憶するために非原子レベルパリティ保護を実行する方法および装置

Country Status (4)

Country Link
US (1) US5325375A (ja)
EP (1) EP0520691A1 (ja)
JP (1) JP3461006B2 (ja)
KR (1) KR0159533B1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469566A (en) * 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
US5430742A (en) * 1992-10-14 1995-07-04 Ast Research, Inc. Memory controller with ECC and data streaming control
GB2289779B (en) * 1994-05-24 1999-04-28 Intel Corp Method and apparatus for automatically scrubbing ECC errors in memory via hardware
US5987628A (en) * 1997-11-26 1999-11-16 Intel Corporation Method and apparatus for automatically correcting errors detected in a memory subsystem
US6425055B1 (en) 1999-02-24 2002-07-23 Intel Corporation Way-predicting cache memory
US7174476B2 (en) * 2003-04-28 2007-02-06 Lsi Logic Corporation Methods and structure for improved fault tolerance during initialization of a RAID logical unit
US7412581B2 (en) * 2003-10-28 2008-08-12 Renesas Technology America, Inc. Processor for virtual machines and method therefor
DE102005019336A1 (de) * 2005-04-26 2006-11-09 Oliver Oppitz System und Verfahren zur Fehlersuche in elektronischen Systemen
DE102005021546B4 (de) * 2005-05-10 2018-01-11 Infineon Technologies Ag Mikrocontroller- bzw. Mikroprozessor-System, insbesondere Mikrocontroller- bzw. Mikroprozessor-System mit Fehler-Erkennung bzw. -Korrektur
DE102005027455A1 (de) * 2005-06-14 2006-12-28 Infineon Technologies Ag Verfahren und Schaltungsanordnung zur Fehlererkennung in einem Datensatz
US20080168331A1 (en) * 2007-01-05 2008-07-10 Thomas Vogelsang Memory including error correction code circuit
US8370715B2 (en) * 2007-04-12 2013-02-05 International Business Machines Corporation Error checking addressable blocks in storage
KR102254102B1 (ko) 2015-01-23 2021-05-20 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11636008B2 (en) * 2021-09-01 2023-04-25 Micron Technology, Inc. Tracking host-provided metadata in a memory sub-system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE353151A (ja) * 1928-06-20
NL32971C (ja) * 1931-10-26
US4019033A (en) * 1975-12-29 1977-04-19 Honeywell Information Systems, Inc. Control store checking system and method
NL8400392A (nl) * 1984-02-08 1985-09-02 Philips Nv Inrichting voor de functiebewaking van een geheugeninrichting.
US4884271A (en) * 1987-12-28 1989-11-28 International Business Machines Corporation Error checking and correcting for read-modified-write operations
US4942575A (en) * 1988-06-17 1990-07-17 Modular Computer Systems, Inc. Error connection device for parity protected memory systems
US4993028A (en) * 1988-09-07 1991-02-12 Thinking Machines Corporation Error detection and correction coding
US4980888A (en) * 1988-09-12 1990-12-25 Digital Equipment Corporation Memory testing system
US5014273A (en) * 1989-01-27 1991-05-07 Digital Equipment Corporation Bad data algorithm
US5058116A (en) * 1989-09-19 1991-10-15 International Business Machines Corporation Pipelined error checking and correction for cache memories

Also Published As

Publication number Publication date
US5325375A (en) 1994-06-28
JP3461006B2 (ja) 2003-10-27
KR0159533B1 (ko) 1998-12-15
EP0520691A1 (en) 1992-12-30
KR930001067A (ko) 1993-01-16

Similar Documents

Publication Publication Date Title
US9252814B2 (en) Combined group ECC protection and subgroup parity protection
AU628525B2 (en) Write back buffer with error correcting capabilities
US6009548A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
US5504859A (en) Data processor with enhanced error recovery
US4884271A (en) Error checking and correcting for read-modified-write operations
US5396641A (en) Reconfigurable memory processor
US5142540A (en) Multipart memory apparatus with error detection
JP3461006B2 (ja) ランダムアクセスメモリにデータを記憶するために非原子レベルパリティ保護を実行する方法および装置
US5321706A (en) Method and apparatus for checking the address and contents of a memory array
US4651321A (en) Apparatus for reducing storage necessary for error correction and detection in data processing machines
US5457789A (en) Method and apparatus for performing memory protection operations in a single instruction multiple data system
EP1206739B1 (en) Methods and apparatus for correcting soft errors in digital data
JPH0895856A (ja) キャッシュ・メモリ付きコンピュータ装置
US5781568A (en) Error detection and correction method and apparatus for computer memory
US5357521A (en) Address sensitive memory testing
US5369650A (en) Error detection and correction apparatus in a BY-4 RAM Device
US6507928B1 (en) Processor cache system with parity protection and method of operation
JPH0594377A (ja) パリテイ検出回路
US6701484B1 (en) Register file with delayed parity check
US6640293B1 (en) Apparatus and method of utilizing Alias Hit signals to detect errors within the real address tag arrays
EP0436123A2 (en) Interrupt generating for single-bit memory errors
JPH03132829A (ja) パリテイ検査システム
JP2926951B2 (ja) 退避/復帰レジスタアドレス生成回路
JP2690910B2 (ja) 制御記憶装置
JP2658342B2 (ja) データ処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees