JPH02194457A - コンピユータのためのメモリ装置及びメモリ構成方法 - Google Patents
コンピユータのためのメモリ装置及びメモリ構成方法Info
- Publication number
- JPH02194457A JPH02194457A JP1299891A JP29989189A JPH02194457A JP H02194457 A JPH02194457 A JP H02194457A JP 1299891 A JP1299891 A JP 1299891A JP 29989189 A JP29989189 A JP 29989189A JP H02194457 A JPH02194457 A JP H02194457A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- checksum
- block
- module
- 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1012—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 using codes or arrangements adapted for a specific type of error
- G06F11/1028—Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
この発明は、−船釣には、フェイル・セーフ・コンピュ
ータ・メモリに関する。より詳しくは、この発明は、負
荷平衡されたフェイル・セーフ・メモリを与えるために
、チェックサム・ブロックをメモリ・モジュールに亙っ
てアドレッシング機構が分配し、メモリ・モジュールの
故障の後は、アドレッシング機構が残りのメモリ・ブロ
ックに亙ってチェックサム・ブロックを再分配し、以て
、負荷平衡に近いフェイル・セーフ・メモリを与える、
フェイル・セーフ・モジュラ−・メモリに使用される方
法及び装置を提供するものである。
ータ・メモリに関する。より詳しくは、この発明は、負
荷平衡されたフェイル・セーフ・メモリを与えるために
、チェックサム・ブロックをメモリ・モジュールに亙っ
てアドレッシング機構が分配し、メモリ・モジュールの
故障の後は、アドレッシング機構が残りのメモリ・ブロ
ックに亙ってチェックサム・ブロックを再分配し、以て
、負荷平衡に近いフェイル・セーフ・メモリを与える、
フェイル・セーフ・モジュラ−・メモリに使用される方
法及び装置を提供するものである。
B、従来技術
]ンピュータの能力と可用性に対する必要条件が増大す
るにつれて、計算及び可用性の必要条件をサポートする
ために複数のプロセッサを相互接続することが益々重要
になってきた。典型的には、複数のプロセッサは、相互
接続ネットワークを通じて複数の共用メモリ・モジュー
ルに接続される。
るにつれて、計算及び可用性の必要条件をサポートする
ために複数のプロセッサを相互接続することが益々重要
になってきた。典型的には、複数のプロセッサは、相互
接続ネットワークを通じて複数の共用メモリ・モジュー
ルに接続される。
そのようなシステムの可用性条件を満たすためには、あ
るメモリ・モジュールの障害がそのモジュールに含まれ
ているデータの遺失をもたらしたり、システム全体の障
害を引き起こしたりしない、ということが絶対条件であ
る。
るメモリ・モジュールの障害がそのモジュールに含まれ
ているデータの遺失をもたらしたり、システム全体の障
害を引き起こしたりしない、ということが絶対条件であ
る。
モジュラ−・メモリ中のモジュール障害に対する許容性
は、モジュールのうちの1つを、他のモジュールのデー
タのチェックサムを含むチェックサム・モジュールとし
て宣言することによって達成される。すると、モジュー
ル障害の際には、失われたデータが再構成される前に、
2つ以上のメモリ・モジュールが故障していないという
仮定の下で、残りのモジュールとチェックサム・モジュ
ールから失われたデータを再構成することができる。も
し、チェックサム・モジュールが故障したなら、チェッ
クサムは、他のモジュール中のデータから再構成するこ
とができる。そして、メモリの更新の度に、チェックサ
ム・メモリ中のチェックサムは再構成する必要がある。
は、モジュールのうちの1つを、他のモジュールのデー
タのチェックサムを含むチェックサム・モジュールとし
て宣言することによって達成される。すると、モジュー
ル障害の際には、失われたデータが再構成される前に、
2つ以上のメモリ・モジュールが故障していないという
仮定の下で、残りのモジュールとチェックサム・モジュ
ールから失われたデータを再構成することができる。も
し、チェックサム・モジュールが故障したなら、チェッ
クサムは、他のモジュール中のデータから再構成するこ
とができる。そして、メモリの更新の度に、チェックサ
ム・メモリ中のチェックサムは再構成する必要がある。
このことは、単一のtl!1次的メモリ要求ストリーム
しか発生しない単一プロセッサの場合には現実的に利用
できるスキームであるかもしれないが、チェックサムは
、書き込みの度毎に更新されるので、単一チェックサム
・モジュールは、高速で同時的な多重メモリ書き込み要
求ストリームを発生する多重プロセッサ・システムには
ボトルネックであることがわかっている。このため、複
数のプロセッサによって同時にアクセス可能であり、そ
のデータを、あるモジュールの障害の場合に再構成する
ことができるようなフェイル・セーフ・メモリが必要と
される。さらに、システムに対するメモリ・モジュール
の統合または除去が容易でなくてはならない。
しか発生しない単一プロセッサの場合には現実的に利用
できるスキームであるかもしれないが、チェックサムは
、書き込みの度毎に更新されるので、単一チェックサム
・モジュールは、高速で同時的な多重メモリ書き込み要
求ストリームを発生する多重プロセッサ・システムには
ボトルネックであることがわかっている。このため、複
数のプロセッサによって同時にアクセス可能であり、そ
のデータを、あるモジュールの障害の場合に再構成する
ことができるようなフェイル・セーフ・メモリが必要と
される。さらに、システムに対するメモリ・モジュール
の統合または除去が容易でなくてはならない。
次に、上述の問題に対する従来技術の解決策を見てみよ
う。
う。
米国特許第3876978号においては、1つのディス
ク・メモリが他のディスク・メモリ中にあるデータのチ
ェックサムを記憶する。そして、データが更新される毎
に、チェックサム・モジュール中の対応チェックサムを
更新しなくてはならない。それゆえ、チェックサム・デ
ィスクに対する書き込みトラフィックは、他の全てのデ
ィスクに対する書き込みトラフィックの総和であり、こ
のことは、チェックサム・ディスクにおける(性能)ボ
トルネックにつながる。本発明は、このボトルネックを
正確に解消させるのである。
ク・メモリが他のディスク・メモリ中にあるデータのチ
ェックサムを記憶する。そして、データが更新される毎
に、チェックサム・モジュール中の対応チェックサムを
更新しなくてはならない。それゆえ、チェックサム・デ
ィスクに対する書き込みトラフィックは、他の全てのデ
ィスクに対する書き込みトラフィックの総和であり、こ
のことは、チェックサム・ディスクにおける(性能)ボ
トルネックにつながる。本発明は、このボトルネックを
正確に解消させるのである。
米国特許第3742459号には、各メモリ・ワード毎
に固定サイズのコードワードが生成されるようなスキー
ムが記述されている。これにおいては、複数のコードワ
ードがメモリの1つの位置にバックされている。そして
、1つのメモリ位置にバックすることができるコードワ
ードの最大の数が、コードワードを記憶するために必要
な余分のメモリの里を決定する。それとは対照的に、本
発明は、任意の数のワードが、障害許容のための冗長情
報を記憶するための同一の余分のワードを共有すること
を可能ならしめる。米国特許第3742459号と本願
発明との間の別の根本的な差異は、次のようなものであ
る。すなわち、その米国特許にあっては、データのある
ワードのエラー訂正コードが、過渡的な障害によって引
き起こされたワード中のいくつかのエラーを訂正するこ
とができるようなものである。そして、そのデータ・ワ
ードが位置するメモリ・モジュールが完全に故障してし
まうか、または、ワードのある数取」−のビットが誤っ
ていると、このスキームは最早、データを回復すること
ができない。これとは対照的に、本発明は、モジュール
全体の障害に厳密に対処するように構成されている。
に固定サイズのコードワードが生成されるようなスキー
ムが記述されている。これにおいては、複数のコードワ
ードがメモリの1つの位置にバックされている。そして
、1つのメモリ位置にバックすることができるコードワ
ードの最大の数が、コードワードを記憶するために必要
な余分のメモリの里を決定する。それとは対照的に、本
発明は、任意の数のワードが、障害許容のための冗長情
報を記憶するための同一の余分のワードを共有すること
を可能ならしめる。米国特許第3742459号と本願
発明との間の別の根本的な差異は、次のようなものであ
る。すなわち、その米国特許にあっては、データのある
ワードのエラー訂正コードが、過渡的な障害によって引
き起こされたワード中のいくつかのエラーを訂正するこ
とができるようなものである。そして、そのデータ・ワ
ードが位置するメモリ・モジュールが完全に故障してし
まうか、または、ワードのある数取」−のビットが誤っ
ていると、このスキームは最早、データを回復すること
ができない。これとは対照的に、本発明は、モジュール
全体の障害に厳密に対処するように構成されている。
米国特許第4459658号においては、データベース
回復がシャドー・ベージングによって実現されるような
、データベース中の自由リストを回復するスキームが記
述されている。このスキームは、ACM Trans
acLion on DatabaseSystems
、Vol、2.No、1.March 1977、pp
、91−104のR,A、 Lorteによる、[大規
模セグメント・データベース・システムにおける物理的
完全性(Physical Integrity in
a Large SegmentedDatabas
e) Jと題する刊行物で概要説明されている。このス
キームにおいては、各データ項目が2つの異なる媒体(
主記憶及びディスク)上の2つの異なるメモリ位置に複
写されており、よってメモリの必要量を2倍にしている
。これとは対照的に、本発明は、冗長情報を記憶するた
めに、もともとのメモリ・サイズの一部しか使用しない
。
回復がシャドー・ベージングによって実現されるような
、データベース中の自由リストを回復するスキームが記
述されている。このスキームは、ACM Trans
acLion on DatabaseSystems
、Vol、2.No、1.March 1977、pp
、91−104のR,A、 Lorteによる、[大規
模セグメント・データベース・システムにおける物理的
完全性(Physical Integrity in
a Large SegmentedDatabas
e) Jと題する刊行物で概要説明されている。このス
キームにおいては、各データ項目が2つの異なる媒体(
主記憶及びディスク)上の2つの異なるメモリ位置に複
写されており、よってメモリの必要量を2倍にしている
。これとは対照的に、本発明は、冗長情報を記憶するた
めに、もともとのメモリ・サイズの一部しか使用しない
。
米国特許第3737870号においては、エンコードさ
れたmXnビット・ワードを記憶するために、m+sの
nビット・メモリ・モジュールが使用される。モジュー
ルの障害を保護するために、ビット・パリティが使用さ
れる。もしモジュール中の故障が検出されたなら、パリ
ティが破られていることがあるので、パリティ・チエツ
クがターンオフされる。そして、残りの故障していない
モジュールからのビットが読み取られ、スペアのビット
がメモリに統合され、パリティが再計算されてメモリの
内容全体がモジュールの新しい構成(故障していないモ
ジュール及びスペア)に再書込みされる。これにおいて
は、モジュール障害が生じるとメモリの内容を訂正し、
スペア・モジュールのうちの1つを、故障によって失わ
れたばかりのモジュールに置き換えるために自動的にも
ってくるものである。このスキームは、どれかのプロセ
ッサからのメモリ要求毎にすべてのメモリがアクセスさ
れる必要があるので、複数のプロセッサの場合、メモリ
に性能的なボトルネックを呈する。
れたmXnビット・ワードを記憶するために、m+sの
nビット・メモリ・モジュールが使用される。モジュー
ルの障害を保護するために、ビット・パリティが使用さ
れる。もしモジュール中の故障が検出されたなら、パリ
ティが破られていることがあるので、パリティ・チエツ
クがターンオフされる。そして、残りの故障していない
モジュールからのビットが読み取られ、スペアのビット
がメモリに統合され、パリティが再計算されてメモリの
内容全体がモジュールの新しい構成(故障していないモ
ジュール及びスペア)に再書込みされる。これにおいて
は、モジュール障害が生じるとメモリの内容を訂正し、
スペア・モジュールのうちの1つを、故障によって失わ
れたばかりのモジュールに置き換えるために自動的にも
ってくるものである。このスキームは、どれかのプロセ
ッサからのメモリ要求毎にすべてのメモリがアクセスさ
れる必要があるので、複数のプロセッサの場合、メモリ
に性能的なボトルネックを呈する。
米国特許第3436737号においては、ワード毎にn
ビットの情報を記憶するために、n個のメモリ・モジュ
ールとともにS個のスペア・モジュールを使用すること
が提案されている。これにおいては、ワードの各ビット
が別々のメモリ・モジュールに記憶される。そして、s
+nビットが、エラー訂正または検出のためのSビット
によってエンコードされたnビット・ワードをあられす
。
ビットの情報を記憶するために、n個のメモリ・モジュ
ールとともにS個のスペア・モジュールを使用すること
が提案されている。これにおいては、ワードの各ビット
が別々のメモリ・モジュールに記憶される。そして、s
+nビットが、エラー訂正または検出のためのSビット
によってエンコードされたnビット・ワードをあられす
。
モジュール障害の場合、残りのモジュールから利用可能
なビットが、ワードを再構成するために使用される。こ
れの場合も、メモリ要求毎にs 十nのずべでのメモリ
・モジュールがアクセスされなくてはならず、以て、本
願発明によって与えられるような、複数のプロセッサか
らの同時的な要求にサービスすることが阻止されてしま
う。
なビットが、ワードを再構成するために使用される。こ
れの場合も、メモリ要求毎にs 十nのずべでのメモリ
・モジュールがアクセスされなくてはならず、以て、本
願発明によって与えられるような、複数のプロセッサか
らの同時的な要求にサービスすることが阻止されてしま
う。
本出願人に係る、1987年7月2日出願の米国特許出
願第068862号においては、チェックサム・スキー
ムをもつメモリのモジュラ−構成が記述されている。こ
れにおいては、どれかのメモリ位置が更新される毎に、
この位置に対応するチェックサムもチェックサム中で更
新されなくてはならない、チェックサムに対する書き込
みトラフィックは、すべてのデータ・モジュールに対す
る書き込みトラフィックの総和である。それゆえ、すべ
てのモジュールを設計するのに同一の技術が使用されて
いるなら、チェックサム・モジュールは、ある相当な利
用レベルでボトルネックである。
願第068862号においては、チェックサム・スキー
ムをもつメモリのモジュラ−構成が記述されている。こ
れにおいては、どれかのメモリ位置が更新される毎に、
この位置に対応するチェックサムもチェックサム中で更
新されなくてはならない、チェックサムに対する書き込
みトラフィックは、すべてのデータ・モジュールに対す
る書き込みトラフィックの総和である。それゆえ、すべ
てのモジュールを設計するのに同一の技術が使用されて
いるなら、チェックサム・モジュールは、ある相当な利
用レベルでボトルネックである。
それの代替案は、より高位グレードの技術のチェックサ
ム・モジュールを形成し、それに追加的な帯域を与える
ことである。しかし、それはメモリのコストを増大させ
てしまう。
ム・モジュールを形成し、それに追加的な帯域を与える
ことである。しかし、それはメモリのコストを増大させ
てしまう。
米国特許第4092132号においては、アクセスの単
位がルコードであるゆそして、1°つのレコードが複数
のセグメントに分割され、チェックサム・セグメントが
付与される。このレコード・セグメントとチェックサム
は、異なるディスク・ドライブ上にある1、このとき、
任意の読み取りまたは書き込みアクセス毎に、全てのセ
グメン1が読み書きされる。このことは、1゛つのアク
セスが、レコード・セグメント・ドライブとチェックサ
ム・ドライブのめいめいで、シーク+潜在→−転送時間
をもたらすことを意味する。このことは、ディスク」こ
の大きい負荷とスルーブッ[の低ドにつながる。これに
対して、本発明のアクセスの単位は、単一のメモリ・モ
ジュールに配、置されているデータのブロックである。
位がルコードであるゆそして、1°つのレコードが複数
のセグメントに分割され、チェックサム・セグメントが
付与される。このレコード・セグメントとチェックサム
は、異なるディスク・ドライブ上にある1、このとき、
任意の読み取りまたは書き込みアクセス毎に、全てのセ
グメン1が読み書きされる。このことは、1゛つのアク
セスが、レコード・セグメント・ドライブとチェックサ
ム・ドライブのめいめいで、シーク+潜在→−転送時間
をもたらすことを意味する。このことは、ディスク」こ
の大きい負荷とスルーブッ[の低ドにつながる。これに
対して、本発明のアクセスの単位は、単一のメモリ・モ
ジュールに配、置されているデータのブロックである。
そのブロックの絹は、いくつかの異なるメモリ・モジュ
ールFに配置ηされた共通のチェックサムをもつ、この
とき、各アクセスは、アクセスされているメモリ・モジ
ュールとチェックサム・モジュールにのみ関与する。
ールFに配置ηされた共通のチェックサムをもつ、この
とき、各アクセスは、アクセスされているメモリ・モジ
ュールとチェックサム・モジュールにのみ関与する。
このスキームの相違は、著しい性能上の差異につながる
。
。
C8発明が解決しようとする問題点
この発明の目的は、完全に単一の技術から実現されたと
きにさえも良好な性能をもつメモリ・ユニットの全体的
な障害の場合にデータの再構成を可能ならしめるフェイ
ル・セーフ・メモリ・システムを提供することにある。
きにさえも良好な性能をもつメモリ・ユニットの全体的
な障害の場合にデータの再構成を可能ならしめるフェイ
ル・セーフ・メモリ・システムを提供することにある。
この発明の他の目的は、多重プロセッサ・システムにお
ける使用に適したフェイル・セーフ・メモリ・システム
を提供することにある。
ける使用に適したフェイル・セーフ・メモリ・システム
を提供することにある。
この発明のさらに他の目的は、チェックサムを書くこと
によって引き起こされるボトルネックを低減するチェッ
クサム方法を使用したフェイル・セーフ・メモリ・ユニ
ットを提供することにある。
によって引き起こされるボトルネックを低減するチェッ
クサム方法を使用したフェイル・セーフ・メモリ・ユニ
ットを提供することにある。
この発明のさらに他の目的は、単一のメモリ・モジュー
ルの故障の際にデータを回復するためのチェックサム方
法を使用したフェイル・セーフ・メモリ・ユニットのた
めの方法を提供することにある。
ルの故障の際にデータを回復するためのチェックサム方
法を使用したフェイル・セーフ・メモリ・ユニットのた
めの方法を提供することにある。
この発明のさらに他の目的は、データを再分配しメモリ
・モジュールの障害時にチェックサムを再分配するため
にチェックサム方法を使用したフェイル・セーフ・メモ
リ・ユニットのための方法を提供することにある。
・モジュールの障害時にチェックサムを再分配するため
にチェックサム方法を使用したフェイル・セーフ・メモ
リ・ユニットのための方法を提供することにある。
D1問題点を解決するための手段
本発明に従えば、チェックサムが、単一のモジュールに
記憶されるのではなくて、複数のモジュールに亙って分
配されるような、物理的メモリのための新規なアドレッ
シング・スキームが提供される。このようにして、メモ
リ・モジュールに対する書きこみアクセスは乱数化され
、単一チェックサム・モジュールの性能上のボトルネッ
クが除去される。
記憶されるのではなくて、複数のモジュールに亙って分
配されるような、物理的メモリのための新規なアドレッ
シング・スキームが提供される。このようにして、メモ
リ・モジュールに対する書きこみアクセスは乱数化され
、単一チェックサム・モジュールの性能上のボトルネッ
クが除去される。
メモリの更新毎に、更新された位置に対応するチェック
サムは変更しなくてはならない。このとき、チェックサ
ムは複数のメモリ・モジュールに亙って分配されている
ので、本来的にボトルネックとなる単一のメモリ・モジ
ュールは存在しない。
サムは変更しなくてはならない。このとき、チェックサ
ムは複数のメモリ・モジュールに亙って分配されている
ので、本来的にボトルネックとなる単一のメモリ・モジ
ュールは存在しない。
E、実施例
第1図は、プロセッサ30aないし30p、!:、相互
接続構造20と、本発明を具体化するメモリ・モジュー
ル10aないし10mのブロック図である。これにおい
て、複数のプロセッサ30aないし30p(pは任意の
正の整数である)が、相互接続構造20を介して複数の
メモリ・モジュール10aないし1.Orn(mは任意
の正の整数である)に接続されている。このとき、プロ
セッサの数とメモリ・モジュールの数は、異なっていて
もよいことに留意されたい。各プロセッサ30aないし
30pは、プロセッサ・アダプタ10aないしlOmを
介して相互接続構造に接続され、同様に、各メモリ・モ
ジュール10aないし10+nは、メモリ・アダプタ1
50aないし150mを介して相互接続構造に接続され
でいる。
接続構造20と、本発明を具体化するメモリ・モジュー
ル10aないし10mのブロック図である。これにおい
て、複数のプロセッサ30aないし30p(pは任意の
正の整数である)が、相互接続構造20を介して複数の
メモリ・モジュール10aないし1.Orn(mは任意
の正の整数である)に接続されている。このとき、プロ
セッサの数とメモリ・モジュールの数は、異なっていて
もよいことに留意されたい。各プロセッサ30aないし
30pは、プロセッサ・アダプタ10aないしlOmを
介して相互接続構造に接続され、同様に、各メモリ・モ
ジュール10aないし10+nは、メモリ・アダプタ1
50aないし150mを介して相互接続構造に接続され
でいる。
第1図では、M、ないしM @ + 1 と指定され、
10aないし100mとラベルされた、m個のメモリ・
モジュールの場合が示されている。各メモリ・モジュー
ル、例えば10aは、SoないしS、−1と指定され、
100−1aないし10−maとラヘルされたm個の区
画に分けられている。各、メモリ・モジュールにおいて
、1つの区画Skは、データを含む他の全てのメモリ・
モジュールと同一の数の区画のチェックサムを含む。例
えば、lOaとラベルされたメモリ・モジュールM、に
おいて、100−1aとラベルされた区画S0が、それ
ぞれ10aないし10mとラベルされた他の全てのメモ
リ・モジュールMl・・・・・・Ma−1の、100−
1b、・・・・・・100−1rnとラベルされた区画
S0に含まれるデータのチェックサムを含む。
10aないし100mとラベルされた、m個のメモリ・
モジュールの場合が示されている。各メモリ・モジュー
ル、例えば10aは、SoないしS、−1と指定され、
100−1aないし10−maとラヘルされたm個の区
画に分けられている。各、メモリ・モジュールにおいて
、1つの区画Skは、データを含む他の全てのメモリ・
モジュールと同一の数の区画のチェックサムを含む。例
えば、lOaとラベルされたメモリ・モジュールM、に
おいて、100−1aとラベルされた区画S0が、それ
ぞれ10aないし10mとラベルされた他の全てのメモ
リ・モジュールMl・・・・・・Ma−1の、100−
1b、・・・・・・100−1rnとラベルされた区画
S0に含まれるデータのチェックサムを含む。
こうして、−船釣に、メモリ・モジュール間イ。
において、区画Siは、データを含む他の全てのモジュ
ールの区画S、をバックアップするチェックサム区画で
ある。このスキームは、メモリ・モジュール毎の任意の
数の区画を含むように以下で一般化される。
ールの区画S、をバックアップするチェックサム区画で
ある。このスキームは、メモリ・モジュール毎の任意の
数の区画を含むように以下で一般化される。
この説明では、メモリ・アクセスがサイズBのデータの
ブロックの単位で行なわれる、と仮定している。Bの典
型的な値は、4K(すなわち、4096)バイトのデー
タである。より詳しく述べると、メモリ・モジュール(
上記を参照)の各区画は、データの整数個のブロックに
分割される。
ブロックの単位で行なわれる、と仮定している。Bの典
型的な値は、4K(すなわち、4096)バイトのデー
タである。より詳しく述べると、メモリ・モジュール(
上記を参照)の各区画は、データの整数個のブロックに
分割される。
この分野の当業者は、本発明が、データのブロックの任
意のサイズに容易に適合できることを理解するであろう
。この説明は、任意の個数Nのプロセッサについてなさ
れている。また、この分野の当業者は、本発明が、プロ
セッサがメモリに対して複数の目立った要求を行なうこ
とができるような、単一のプロセッサ(すなわち、N−
1)の場合にも容易に適用できることを理解するであろ
う。
意のサイズに容易に適合できることを理解するであろう
。この説明は、任意の個数Nのプロセッサについてなさ
れている。また、この分野の当業者は、本発明が、プロ
セッサがメモリに対して複数の目立った要求を行なうこ
とができるような、単一のプロセッサ(すなわち、N−
1)の場合にも容易に適用できることを理解するであろ
う。
第2図は、メモリ・モジュールに含まれているデータ・
ブロックのアドレス200の解釈を示す図である。より
詳しく述べると、(すべてのメモリ・モジュールの)全
体のアドレス空間は2にブロックのデータであると仮定
されており、これがM=2”のメモリ・モジュール間で
等しく分配されている。ここで、k及びnは正の整数で
あり、kは2n以上であることが必要である。こうして
、各メモリ・モジュールは2に−7のデータ・ブロック
を含む、どれかのブロックをアドレスするためには、メ
モリ・モジュールと、そのメモリ・モジュール内に含ま
れている区画と、その区画内に含まれているデータ・ブ
ロックを選択するアドレスが決定される。そのようなア
ドレスの構造が第2図に示されている。
ブロックのアドレス200の解釈を示す図である。より
詳しく述べると、(すべてのメモリ・モジュールの)全
体のアドレス空間は2にブロックのデータであると仮定
されており、これがM=2”のメモリ・モジュール間で
等しく分配されている。ここで、k及びnは正の整数で
あり、kは2n以上であることが必要である。こうして
、各メモリ・モジュールは2に−7のデータ・ブロック
を含む、どれかのブロックをアドレスするためには、メ
モリ・モジュールと、そのメモリ・モジュール内に含ま
れている区画と、その区画内に含まれているデータ・ブ
ロックを選択するアドレスが決定される。そのようなア
ドレスの構造が第2図に示されている。
第2図に示されているように、任意のブロックのにビッ
ト・アドレスは、alとして示された210と、a2と
して示された220と、a3として示された230に分
割される。フィールド210(al)は、nビットであ
り、フィールド220(a2)もnビットであり、フィ
ールド230(a3)は、k−2nビツトである。より
詳しく述べると、アドレスの上位nビットがフィールド
210(al)を構成し、次のnビットがフィールド2
20 (a2)を構成し、下位に一2nビットがフィー
ルド230 (a3)を構成する。フィールド220(
a2)は、メモリ・モジュール・アドレスをあられす。
ト・アドレスは、alとして示された210と、a2と
して示された220と、a3として示された230に分
割される。フィールド210(al)は、nビットであ
り、フィールド220(a2)もnビットであり、フィ
ールド230(a3)は、k−2nビツトである。より
詳しく述べると、アドレスの上位nビットがフィールド
210(al)を構成し、次のnビットがフィールド2
20 (a2)を構成し、下位に一2nビットがフィー
ルド230 (a3)を構成する。フィールド220(
a2)は、メモリ・モジュール・アドレスをあられす。
すなわち、もし7フイールド220 (a2)の2値表
現の値がiであるなら、アドレスされたブロックは、メ
モリ・モジュールM、中にある。また、フィールド21
0とフイール(23υの連結は、メi靭トモジュールM
、 z 内のアドレスされるブロックの2値アドレス
を表す、このように、フィールド210はフィールドa
2によって決定されたメモリ・L−ジュール内の区画の
アドレスをあられし、フィールド230ば、フィールド
210によって決定される区画内のブロク、りのアドレ
スをあ・)わず。ずなわち、もしalの2値表現がjで
あるなら、アドレスされるブロックは区A S Jにあ
り、もしフィールド230の2値表現、がqであるなら
、区画S4内のq番目のブロックがアドレスされる。
現の値がiであるなら、アドレスされたブロックは、メ
モリ・モジュールM、中にある。また、フィールド21
0とフイール(23υの連結は、メi靭トモジュールM
、 z 内のアドレスされるブロックの2値アドレス
を表す、このように、フィールド210はフィールドa
2によって決定されたメモリ・L−ジュール内の区画の
アドレスをあられし、フィールド230ば、フィールド
210によって決定される区画内のブロク、りのアドレ
スをあ・)わず。ずなわち、もしalの2値表現がjで
あるなら、アドレスされるブロックは区A S Jにあ
り、もしフィールド230の2値表現、がqであるなら
、区画S4内のq番目のブロックがアドレスされる。
フィールドa】、a2及びa3内の7ドL/スからチエ
ツクJJ−1,・アドレスが生成される様子は、次のと
おりである。ずなわぢ、モジュールM0の区画S□の変
位a3に対応するチェックザJ、・フロックが見出され
る。このように、アドレスa1=a2をもつブ11ツク
がチェノ・クサム・フロックである。これらのチェック
サム・ブロックは、データには使用されない。この分野
の当業者は、システムが初期化される時に、これらのブ
ロックを利用可能なブロックのプールから除外すること
によって、このことが容易(こ達成されることを理解す
るであろう。これにより、これらのブロックは、仮想ペ
ージをメモリの物理的ブロックに割当”ζる時にオペレ
ーティング・システムによって使用されることがなくな
る。ai ax a、によ・つ7ア(′1ノスされる
チェックサム、8すなわちメモリ・工ジュールM +1
1 %区画S1及びpこ(◇、j3にあるチェックサム
’E C111713とあられすことにする。−・船釣
に、チェックサム・グロックは、al=i、a3=jと
して、C4,、と示される。同様に、データブロックは
、al−1、a2=j、a3=にというフィールドによ
り、、Dijk と示される。フロラ・7(’、、、で
のチェックサムは次のように示される。
ツクJJ−1,・アドレスが生成される様子は、次のと
おりである。ずなわぢ、モジュールM0の区画S□の変
位a3に対応するチェックザJ、・フロックが見出され
る。このように、アドレスa1=a2をもつブ11ツク
がチェノ・クサム・フロックである。これらのチェック
サム・ブロックは、データには使用されない。この分野
の当業者は、システムが初期化される時に、これらのブ
ロックを利用可能なブロックのプールから除外すること
によって、このことが容易(こ達成されることを理解す
るであろう。これにより、これらのブロックは、仮想ペ
ージをメモリの物理的ブロックに割当”ζる時にオペレ
ーティング・システムによって使用されることがなくな
る。ai ax a、によ・つ7ア(′1ノスされる
チェックサム、8すなわちメモリ・工ジュールM +1
1 %区画S1及びpこ(◇、j3にあるチェックサム
’E C111713とあられすことにする。−・船釣
に、チェックサム・グロックは、al=i、a3=jと
して、C4,、と示される。同様に、データブロックは
、al−1、a2=j、a3=にというフィールドによ
り、、Dijk と示される。フロラ・7(’、、、で
のチェックサムは次のように示される。
Ciij = D ioj (D D ilj cfl
”’ D i ti−1+ j■Di+・・llj”’
■D (a−1+・すなわち、チェックサム(二、は、
モジュールIJO1t’J+ ”’M +i−++ 、
M ti−ti ”’M +q−11のアトし・スij
で1べてのブロックのビット的なモジュロ2加算を行う
ことによってjiIられる。
”’ D i ti−1+ j■Di+・・llj”’
■D (a−1+・すなわち、チェックサム(二、は、
モジュールIJO1t’J+ ”’M +i−++ 、
M ti−ti ”’M +q−11のアトし・スij
で1べてのブロックのビット的なモジュロ2加算を行う
ことによってjiIられる。
モジュールにのグロックD i j kが新しい値り4
4、に更新されたとき必要なチェックサムC14,は、
次のようLこして効率的に得られる。
4、に更新されたとき必要なチェックサムC14,は、
次のようLこして効率的に得られる。
すなわち、
Ci i j = D i o j l→D i I
j・・・■D、□・・・■Difi−11j■D、(、
・llj”’■D直n−1!、・・・(℃D i ls
−11j )このように、この方法は、データ及びそ
のチェックサムを記憶するために相互接続構造20に亘
って2回の転送しか必要としない。すなわち、その第1
の転送はメモリ・モジュールに対する新しいデータD
i j kの転送であり(そこで、新しいデ2加算)を
行なわれる)第2の転送は、riH分的チックサムC3
4,を得るために占いチェックサム第1図の場合におい
ζ、ブ1−!セッサ30によるグロックの読み取りアク
セスの場合、グaセウサ30は、ブロック・アドレス(
すなわち、フィールドal 、am及びa、)と、読取
り要求を示すコマンド・コードをプロセッサ・アダプタ
330に与える。プロセッサ・アダプタ330は、この
アドレスとコマンド・コードを相互接続ネットワーク2
0に提供し、ネットワーク20はプロセッサ・アダプタ
330を選択されたメモリ・千ジ1−ル(M −t )
のメモリ・アダプタ1.50に接続するためにフィール
ドam 220 (第2図)を使用する。この接続が成
功裡に確立されたと仮定すると、メモリ・アダプタ15
0が次に、メモリ・モジュール(M@z)10からのフ
ィールドa、(210)及びam (230)によっ
てアドレスされるブl】ツクを検索し、ぞのブしノック
を、同一゛の接続を介してブロセ゛ソザ・アダプタ33
0に転送する。
j・・・■D、□・・・■Difi−11j■D、(、
・llj”’■D直n−1!、・・・(℃D i ls
−11j )このように、この方法は、データ及びそ
のチェックサムを記憶するために相互接続構造20に亘
って2回の転送しか必要としない。すなわち、その第1
の転送はメモリ・モジュールに対する新しいデータD
i j kの転送であり(そこで、新しいデ2加算)を
行なわれる)第2の転送は、riH分的チックサムC3
4,を得るために占いチェックサム第1図の場合におい
ζ、ブ1−!セッサ30によるグロックの読み取りアク
セスの場合、グaセウサ30は、ブロック・アドレス(
すなわち、フィールドal 、am及びa、)と、読取
り要求を示すコマンド・コードをプロセッサ・アダプタ
330に与える。プロセッサ・アダプタ330は、この
アドレスとコマンド・コードを相互接続ネットワーク2
0に提供し、ネットワーク20はプロセッサ・アダプタ
330を選択されたメモリ・千ジ1−ル(M −t )
のメモリ・アダプタ1.50に接続するためにフィール
ドam 220 (第2図)を使用する。この接続が成
功裡に確立されたと仮定すると、メモリ・アダプタ15
0が次に、メモリ・モジュール(M@z)10からのフ
ィールドa、(210)及びam (230)によっ
てアドレスされるブl】ツクを検索し、ぞのブしノック
を、同一゛の接続を介してブロセ゛ソザ・アダプタ33
0に転送する。
プロセパl廿・アダプタ330は次に、ブ11f!ツー
町、)320によって示された位置で、フ“i’、J
(!ツザの局nj 、、、Aモリ310中にブ1コック
を格納4″る2デ〜タ転送の結電1、相互接続構造は、
ブロセツ村 アダプタ330とメモリ・アダツー□゛・
°150の間の接続を解除する3tうごこ通知される3
尚、メモリIOに対”・する読取りアクセスの場合5、
チェックサム・ブロックは関辱しないことに留意された
い。
町、)320によって示された位置で、フ“i’、J
(!ツザの局nj 、、、Aモリ310中にブ1コック
を格納4″る2デ〜タ転送の結電1、相互接続構造は、
ブロセツ村 アダプタ330とメモリ・アダツー□゛・
°150の間の接続を解除する3tうごこ通知される3
尚、メモリIOに対”・する読取りアクセスの場合5、
チェックサム・ブロックは関辱しないことに留意された
い。
もし相互接続構造2()が選fRされたメモリ・アダプ
タ150に対する接続を確立することができない場合は
、そのことが要求元プロセッサ・アダプタ330に表示
される。プロセッサ°・アダプタ330は次に、適当な
待N (back−off)期間の後接続要求を再試行
する。
タ150に対する接続を確立することができない場合は
、そのことが要求元プロセッサ・アダプタ330に表示
される。プロセッサ°・アダプタ330は次に、適当な
待N (back−off)期間の後接続要求を再試行
する。
プロセッサ320によるIモリ10への書込みアクセス
の場合、ブlJセッサ320が書込みブロック200の
アドレス(すなわち、フィールl” a + 、a2及
びa、)と、書込み要求を示すコマンド・コードとをプ
ロセッサ・アダプタ330に配置するa書込みアクセス
の場合1.ブ1コセツサ・アダプタ。130がこのアト
Iノス200とコマニ/ド・コードとを相互接続ネット
ワーク20に送り、相互接続ネットワーク:2()は、
グ【」セ・:ノサ・アダツ°り;330を52選択され
たメモリ・モジュール(M、2)のメモリ・アダプタに
接続するためにフィール)a、 (220)を使用す
る。接続が成功裡に確立されたと仮定づると、メモリ・
アダ7゛夕]、 50は、このブロックのチェックサム
を含むメモリ・モジュール(M□)10を決定するため
にフィールド(al)210を使用する。次に、メモリ
・モジュール(M、、)10は、必要なチェックサム区
画を含むメモリ・モジュール(M、、)10に対し7て
接続を確立することを試みる。もしこの接続を確立する
ことができなかったならば(すなわち、チェックサム区
画を含乙メ七り・モ・:5フユール1. Oがこの時点
でビジーである)、メモリ・アダプタ150はブロモ・
ン号・アダプタ330に1じ・ジー」であることを通知
し、ブロモ・ンサ・アダプタ330との接続が相互接続
ネットワーク20によって解除される。ぞして、この書
込動作の全体が、待機(back−off)期間と呼ば
れる期間を待った後、再試行される。もしチェックサム
区画を含むメモリ・モジュール10に対する接続が確立
されたなら、メモリ・アダプタ150はプロセッサ・ア
ダプタ330に、「処理継続」を通知する。プロセッサ
・アダプタ330は次にプロセッサ30の局所メモリ3
10からデータ・プロ゛ンクを検索し、ごのブロックを
メモリ・アダプタ150に転送する。メモリ・アダプタ
150は、メモリ区画とその区画内のデータ・ブロック
を選択するために、フィールド(at)210及びフィ
ールド(a3)230を使用する。パイプライン技術を
用いると、メモリ・アダプタ150は、チェックサム・
メモリ・モジュール(M、、)10に転送される部分的
チェックサム(D;bi■Dibj )の発生と、メモ
リ・モジュール(M、り10への新し7いデータD;:
τの格納を同時に行う。チェックサムを含むメモリ・モ
ジュール(M、l) 10において、メを検索して、そ
れを受領した部分的チェックサム(D ikJ■D、。
の場合、ブlJセッサ320が書込みブロック200の
アドレス(すなわち、フィールl” a + 、a2及
びa、)と、書込み要求を示すコマンド・コードとをプ
ロセッサ・アダプタ330に配置するa書込みアクセス
の場合1.ブ1コセツサ・アダプタ。130がこのアト
Iノス200とコマニ/ド・コードとを相互接続ネット
ワーク20に送り、相互接続ネットワーク:2()は、
グ【」セ・:ノサ・アダツ°り;330を52選択され
たメモリ・モジュール(M、2)のメモリ・アダプタに
接続するためにフィール)a、 (220)を使用す
る。接続が成功裡に確立されたと仮定づると、メモリ・
アダ7゛夕]、 50は、このブロックのチェックサム
を含むメモリ・モジュール(M□)10を決定するため
にフィールド(al)210を使用する。次に、メモリ
・モジュール(M、、)10は、必要なチェックサム区
画を含むメモリ・モジュール(M、、)10に対し7て
接続を確立することを試みる。もしこの接続を確立する
ことができなかったならば(すなわち、チェックサム区
画を含乙メ七り・モ・:5フユール1. Oがこの時点
でビジーである)、メモリ・アダプタ150はブロモ・
ン号・アダプタ330に1じ・ジー」であることを通知
し、ブロモ・ンサ・アダプタ330との接続が相互接続
ネットワーク20によって解除される。ぞして、この書
込動作の全体が、待機(back−off)期間と呼ば
れる期間を待った後、再試行される。もしチェックサム
区画を含むメモリ・モジュール10に対する接続が確立
されたなら、メモリ・アダプタ150はプロセッサ・ア
ダプタ330に、「処理継続」を通知する。プロセッサ
・アダプタ330は次にプロセッサ30の局所メモリ3
10からデータ・プロ゛ンクを検索し、ごのブロックを
メモリ・アダプタ150に転送する。メモリ・アダプタ
150は、メモリ区画とその区画内のデータ・ブロック
を選択するために、フィールド(at)210及びフィ
ールド(a3)230を使用する。パイプライン技術を
用いると、メモリ・アダプタ150は、チェックサム・
メモリ・モジュール(M、、)10に転送される部分的
チェックサム(D;bi■Dibj )の発生と、メモ
リ・モジュール(M、り10への新し7いデータD;:
τの格納を同時に行う。チェックサムを含むメモリ・モ
ジュール(M、l) 10において、メを検索して、そ
れを受領した部分的チェックサム(D ikJ■D、。
)と排他的論理和し、チェックサムCr i jのかわ
りに格納される新しいチェックサムを発生する。
りに格納される新しいチェックサムを発生する。
第3図を参照すると、ある1つのメモリ・モジュー・ル
またはどれかのサブユニットにおける部分チェックサム
発生のための実施構成が示されている。このような構成
は、適当な制御システムをもつメモリ・チップ中に集積
することができる。面、この構成は、データを含むメモ
リ・モジュールと、チェックサムを含むメモリ・モジュ
ールの両方に通用することができる。プロセッサのため
にフェッチすべきデータはメモリ550からフェッチさ
れ、レジスタ560からのOと排他的ORされ、このこ
とはデータかもとの値を保持することを可能ならしめる
。このデータはレジスタ580にセーブされ、そこから
、データはボート530を介してプロセッサ・アダプタ
330に転送される。
またはどれかのサブユニットにおける部分チェックサム
発生のための実施構成が示されている。このような構成
は、適当な制御システムをもつメモリ・チップ中に集積
することができる。面、この構成は、データを含むメモ
リ・モジュールと、チェックサムを含むメモリ・モジュ
ールの両方に通用することができる。プロセッサのため
にフェッチすべきデータはメモリ550からフェッチさ
れ、レジスタ560からのOと排他的ORされ、このこ
とはデータかもとの値を保持することを可能ならしめる
。このデータはレジスタ580にセーブされ、そこから
、データはボート530を介してプロセッサ・アダプタ
330に転送される。
書込むべきデータは、ボート530上で相互接続構造2
0から受信され、レジスタ54Oにセーブされる。結果
はレジスタ580にセーブされ、そこから、データは、
ポート530を介してそのチェックサム・データを含む
メモリ・モジュールに転送される。それと同時に、新し
いデータがレジスタ540からメモリ550へ格納され
る。そのチェックサムを含むメモリ・モジュールでは、
対応する(排他的論理和された)データが゛関−ト53
0で受信され、レジスタ540にセーブされる。
0から受信され、レジスタ54Oにセーブされる。結果
はレジスタ580にセーブされ、そこから、データは、
ポート530を介してそのチェックサム・データを含む
メモリ・モジュールに転送される。それと同時に、新し
いデータがレジスタ540からメモリ550へ格納され
る。そのチェックサムを含むメモリ・モジュールでは、
対応する(排他的論理和された)データが゛関−ト53
0で受信され、レジスタ540にセーブされる。
古いチェックサム・データがメモリ550からフェッチ
され、ゲート570でレジスタ540.のデータと排他
的ORされる。その結果はレジスタ580にセーブされ
る。レジスタ580中のデータは、レジスタ540に転
送され、新しいチェックサムとしてメモリ550中に格
納される。この分野の当業者なら、レジスタ580中の
データを直接メモリ550中に格納できることを理解す
るであろう。この様にして、新しいブロックとチェック
サム・ブロックの全体が対応するデータとチェックサム
・メモリに書込まれる。こうして、データ・メモリに対
する更新と、チェックサム・メモリに対する更新が同時
に、バイブライン的に生じる。最後に、データ及びチェ
ックサム・ブロックの書込みが完了したとき、メモリ・
アダプタ150とプロセッサ・アダプタ330の間の接
続が解除される。
され、ゲート570でレジスタ540.のデータと排他
的ORされる。その結果はレジスタ580にセーブされ
る。レジスタ580中のデータは、レジスタ540に転
送され、新しいチェックサムとしてメモリ550中に格
納される。この分野の当業者なら、レジスタ580中の
データを直接メモリ550中に格納できることを理解す
るであろう。この様にして、新しいブロックとチェック
サム・ブロックの全体が対応するデータとチェックサム
・メモリに書込まれる。こうして、データ・メモリに対
する更新と、チェックサム・メモリに対する更新が同時
に、バイブライン的に生じる。最後に、データ及びチェ
ックサム・ブロックの書込みが完了したとき、メモリ・
アダプタ150とプロセッサ・アダプタ330の間の接
続が解除される。
この分野の当業者なら、メモリ・モジュールへの検索及
び格納の単位が任意のバイト数でよいことを認識するで
あろう。上述の動作は、説明上の例示にすぎない。
び格納の単位が任意のバイト数でよいことを認識するで
あろう。上述の動作は、説明上の例示にすぎない。
次に、メモリ・モジュールの故障後の動作について説明
する。ここで、メモリ・モジュールMiが故障し、シス
テム構成から除外されたと仮定する。故障を検出すると
、故障のメモリ・モジュール中の各ブロックの内容が、
他のメモリ・モジュール中の対応ブロックの内容と排他
的ORを実行することにより再生される。この分野の当
業者なら、これらの再生されたブロックをブロックの仮
想アドレスによって決定されるディスク記憶上の対応ブ
ロックに書き出すことができる(ただし、そのブロック
のコピーが既にディスク上に存在している場合は別であ
る)ことを理解するであろう。
する。ここで、メモリ・モジュールMiが故障し、シス
テム構成から除外されたと仮定する。故障を検出すると
、故障のメモリ・モジュール中の各ブロックの内容が、
他のメモリ・モジュール中の対応ブロックの内容と排他
的ORを実行することにより再生される。この分野の当
業者なら、これらの再生されたブロックをブロックの仮
想アドレスによって決定されるディスク記憶上の対応ブ
ロックに書き出すことができる(ただし、そのブロック
のコピーが既にディスク上に存在している場合は別であ
る)ことを理解するであろう。
このようにして、故障メモリのすべてのブロックがディ
スクに書かれる。失なわれたモジュールの各ブロックが
再構成されたとき、それは、現存メモリ・モジュールの
チェックサムに対応する新しいチェックサムを生成する
ために、チェックサムの現在の値と排他的ORされる(
もしブロックの転送の間にメモリ・モジュールの故障が
生じたなら、そのブロックは古いチェックサムからは再
構成することができないけれども、従来技術で知られて
いるように、それは、適切な通知を使用して、送信側プ
ロセッサから検索することができる)。
スクに書かれる。失なわれたモジュールの各ブロックが
再構成されたとき、それは、現存メモリ・モジュールの
チェックサムに対応する新しいチェックサムを生成する
ために、チェックサムの現在の値と排他的ORされる(
もしブロックの転送の間にメモリ・モジュールの故障が
生じたなら、そのブロックは古いチェックサムからは再
構成することができないけれども、従来技術で知られて
いるように、それは、適切な通知を使用して、送信側プ
ロセッサから検索することができる)。
ここでメモリは、故障メモリ・モジュール中、中にあっ
た区画S、を除く各区画に対応するチェックサムをもつ
。このメモリは今や、チェックサム・ブロックが故障メ
モリ・モジュールにあるようなブロック書込みが生じた
場合に、新しいデータ・ブロックがチェックサム生成を
伴うことなく単に書込まれることを除いては、前述と同
様に動作することができる。故障メモリ・モジュールM
!が修理されシステムに戻されるべきときには、そのす
べてのブロックが最初にすべてゼロに初期化される。次
に、他のメモリ・モジュールの区画S」の対応データの
排他的論理和を実行することによって区画S、のチェッ
クサムが再生される。次にシステムは、すべての区画を
バックアップされた、前述の正常動作に戻る。
た区画S、を除く各区画に対応するチェックサムをもつ
。このメモリは今や、チェックサム・ブロックが故障メ
モリ・モジュールにあるようなブロック書込みが生じた
場合に、新しいデータ・ブロックがチェックサム生成を
伴うことなく単に書込まれることを除いては、前述と同
様に動作することができる。故障メモリ・モジュールM
!が修理されシステムに戻されるべきときには、そのす
べてのブロックが最初にすべてゼロに初期化される。次
に、他のメモリ・モジュールの区画S」の対応データの
排他的論理和を実行することによって区画S、のチェッ
クサムが再生される。次にシステムは、すべての区画を
バックアップされた、前述の正常動作に戻る。
上述の段階で説明した障害再構成では、メモリ・モジュ
ールM1が故障した後は、区画S、はチェックサムをも
たない。それゆえ、そこで故障メモリ・モジュールがシ
ステムに再構成される前に別のメモリ・モジュールの故
障が生じると、故障メモリ・モジュールの区画S、のデ
ータは失われてしまう。次に示す再構成スキームは、チ
ェックサムのアドレスと位置を変更し、以て、メモリ・
モジュールとメモリ再構成の故障の後、すべての区画が
バックアップ・チェックサムをもつようにし、以て、再
構成の後、別のメモリ・モジュールが故障しでもデータ
が失われないようにするものである。すなわち、メモリ
・モジュールM、の故障の後、その故障モジュールに以
前に割当てられていた区画S、のチェックサムは、非障
害モジを一ルに割当て゛られなくてはならない。このこ
とは6、区画S、のチェックサムを見出すためζ、こ1
、千ジュールM ; + ) nod mを選択するこ
とによって実行される。もしM ill 1liod
l11がやはり故障上ジュールであ・つたなら、モジュ
ー・ルM14. ff1od lllが選択される、等
である。より詳しく述べると、cyc(al)と呼ばれ
る簡単な関数が定義され、これは、モジュール・アドレ
スが、現存メモリ・モジュールのalと等しいかそれよ
りも大きい(巡回的に)最小のアドレスであるようなモ
ジュールである。すなわら、もしメモリ・モジュールM
□が活動的ならcyc(al)がalに等しく、そうで
な(、もし、モジュールM tai+nll!Od m
が活動的なら、cyc(at)がalに等しくなる、等
である。ブロック(al、a2、a3)は、モジュール
M1が非故障ブロックである場さにのみ存在する。その
チェックサムは、位置(aLeyc (al)、a3
)に見出される。(ai、cye (al)、、a3
)のすべての位置はチェックサムを含み、システムのI
PLの間に見逃されるメモリ・モジュールOご亘る物理
メモリ・アドレスおともに利用不可能とし、でマークさ
れる。それゆえ、もしメモリ・モジュールMlが見)ル
されるなら、(al、a2、a3)という形式のすべて
のアドレスは、アドレス空間から見逃されるものとして
マークされることになる。第4図には、メモリ・モジュ
ールM、の障害の前後のメモリ・アドレシング・スキー
ムが与えられている。障害の前には、第4a図に示すよ
うに、4つのメモリ・モジュール(10aS 10b、
t。
ールM1が故障した後は、区画S、はチェックサムをも
たない。それゆえ、そこで故障メモリ・モジュールがシ
ステムに再構成される前に別のメモリ・モジュールの故
障が生じると、故障メモリ・モジュールの区画S、のデ
ータは失われてしまう。次に示す再構成スキームは、チ
ェックサムのアドレスと位置を変更し、以て、メモリ・
モジュールとメモリ再構成の故障の後、すべての区画が
バックアップ・チェックサムをもつようにし、以て、再
構成の後、別のメモリ・モジュールが故障しでもデータ
が失われないようにするものである。すなわち、メモリ
・モジュールM、の故障の後、その故障モジュールに以
前に割当てられていた区画S、のチェックサムは、非障
害モジを一ルに割当て゛られなくてはならない。このこ
とは6、区画S、のチェックサムを見出すためζ、こ1
、千ジュールM ; + ) nod mを選択するこ
とによって実行される。もしM ill 1liod
l11がやはり故障上ジュールであ・つたなら、モジュ
ー・ルM14. ff1od lllが選択される、等
である。より詳しく述べると、cyc(al)と呼ばれ
る簡単な関数が定義され、これは、モジュール・アドレ
スが、現存メモリ・モジュールのalと等しいかそれよ
りも大きい(巡回的に)最小のアドレスであるようなモ
ジュールである。すなわら、もしメモリ・モジュールM
□が活動的ならcyc(al)がalに等しく、そうで
な(、もし、モジュールM tai+nll!Od m
が活動的なら、cyc(at)がalに等しくなる、等
である。ブロック(al、a2、a3)は、モジュール
M1が非故障ブロックである場さにのみ存在する。その
チェックサムは、位置(aLeyc (al)、a3
)に見出される。(ai、cye (al)、、a3
)のすべての位置はチェックサムを含み、システムのI
PLの間に見逃されるメモリ・モジュールOご亘る物理
メモリ・アドレスおともに利用不可能とし、でマークさ
れる。それゆえ、もしメモリ・モジュールMlが見)ル
されるなら、(al、a2、a3)という形式のすべて
のアドレスは、アドレス空間から見逃されるものとして
マークされることになる。第4図には、メモリ・モジュ
ールM、の障害の前後のメモリ・アドレシング・スキー
ムが与えられている。障害の前には、第4a図に示すよ
うに、4つのメモリ・モジュール(10aS 10b、
t。
C及び10d)からなるメモリ・システムが存在してい
る。3つの区画モジュール10b、10c及びNod中
の100−1b、100−1e、100−1dのチェッ
クサムはそれぞれ、モジュールtOaの区画100−1
a中に含まれている。
る。3つの区画モジュール10b、10c及びNod中
の100−1b、100−1e、100−1dのチェッ
クサムはそれぞれ、モジュールtOaの区画100−1
a中に含まれている。
同様に、区画100−2a、100−2c及び100−
2dのチェックサムは区画100−2b中に格納されて
いる。区画100−3a、1003b及び100−3d
のチェックサムは、区画100 2 bに格納されてい
る。最後に、区画100−4a、100−4 b及び1
00−4 cのチェックサムが区画100−4dに格納
されている。
2dのチェックサムは区画100−2b中に格納されて
いる。区画100−3a、1003b及び100−3d
のチェックサムは、区画100 2 bに格納されてい
る。最後に、区画100−4a、100−4 b及び1
00−4 cのチェックサムが区画100−4dに格納
されている。
各モジュールは、等しい数のチェックサム区画をもつ。
さて、メモリ・モジュール故障後の動作は次のとおりで
ある。すなわち、初期動作は、前述の故障の場合と全く
同じである。ここで再び、メモリ・モジュールM8が故
障し、システム構成から外されたと仮定しよう。その故
障を検出すると、他のメモリ・モジュール中の対応する
区画の内容を排他的ORすることにより、障害メモリ・
モジュール中の各区画の内容が再生される。以前と同様
に、これらの再生された区画はページの仮想アドレスに
よって決定されたディスク記憶上の対応空間に書き出す
ことができる(ただし、その区画が既にディスク上に存
在している場合を除く)。このようにして、故障メモリ
のすべての区画がディスクに書かれる。特に、第4図の
モジュール10bの故障について考慮してみよう。失な
われたデータは次のようにして再生される。すなわち、
区画100−1bのデータは、区画100−1cと、区
画100−1dと、チェックサム100−1aのデータ
の内容を排他的論理和することによって再生される0区
画100−3 bのデータは、区画100−3a、10
0−3d中のデータ及びチェックサム100−3cを排
他的論理和することにより再生される。区画10(1−
4bのデータは、区画100−4a、100−4cのデ
ータ及びチェックサム100−4dを排他的論理和する
ことにより再生される。失なわれたモジュールの各デー
タ区画が再構生されたとき、それは、非障害メモリ・モ
ジュール中のデータ・セグメントのチェックサムに対応
する新しいチェックサムを作成するために、そのチェッ
クサム・セグメントの現在の値と排他的論理和される。
ある。すなわち、初期動作は、前述の故障の場合と全く
同じである。ここで再び、メモリ・モジュールM8が故
障し、システム構成から外されたと仮定しよう。その故
障を検出すると、他のメモリ・モジュール中の対応する
区画の内容を排他的ORすることにより、障害メモリ・
モジュール中の各区画の内容が再生される。以前と同様
に、これらの再生された区画はページの仮想アドレスに
よって決定されたディスク記憶上の対応空間に書き出す
ことができる(ただし、その区画が既にディスク上に存
在している場合を除く)。このようにして、故障メモリ
のすべての区画がディスクに書かれる。特に、第4図の
モジュール10bの故障について考慮してみよう。失な
われたデータは次のようにして再生される。すなわち、
区画100−1bのデータは、区画100−1cと、区
画100−1dと、チェックサム100−1aのデータ
の内容を排他的論理和することによって再生される0区
画100−3 bのデータは、区画100−3a、10
0−3d中のデータ及びチェックサム100−3cを排
他的論理和することにより再生される。区画10(1−
4bのデータは、区画100−4a、100−4cのデ
ータ及びチェックサム100−4dを排他的論理和する
ことにより再生される。失なわれたモジュールの各デー
タ区画が再構生されたとき、それは、非障害メモリ・モ
ジュール中のデータ・セグメントのチェックサムに対応
する新しいチェックサムを作成するために、そのチェッ
クサム・セグメントの現在の値と排他的論理和される。
第4図の例では、区画1oo−ibに対応して再生され
たデータが、区画100−1c及び100−1dの新し
いチェツクサムを形成するために区画100〜1aと排
他的論理和されて、区画100−1aに格納される。区
画100−3 bとして再生されたデータは区画100
−3cと排他的論理和され、そこに格納される。区画1
00−4 bとして再生されたデータは、区画100−
4 dと排他的論理和されてそこに格納される(fv1
述と同様に、もしブロックの転送の間にメモリ・モジュ
ールの障害が発生したなら、そのブロックは、チェック
サムから再構成できないけれども、適当な通知を用いて
、送信側プロセッサから検索することができる)。
たデータが、区画100−1c及び100−1dの新し
いチェツクサムを形成するために区画100〜1aと排
他的論理和されて、区画100−1aに格納される。区
画100−3 bとして再生されたデータは区画100
−3cと排他的論理和され、そこに格納される。区画1
00−4 bとして再生されたデータは、区画100−
4 dと排他的論理和されてそこに格納される(fv1
述と同様に、もしブロックの転送の間にメモリ・モジュ
ールの障害が発生したなら、そのブロックは、チェック
サムから再構成できないけれども、適当な通知を用いて
、送信側プロセッサから検索することができる)。
データが再生されチェックサムが再計算された後は、そ
のメモリは、障害メモリ・モジュールM、中で見出され
た区画S、を除いて各区画に対応するチェックサムをも
つ。区画S1のチェックサムは、モジュールMcyc(
i)中に配置されることになる。モジュールMeyc(
t)の区画S、は、ディスクに書き出される。第4図の
例では、区画1003Cはチェックサム区画に変換され
る。そして、区画100−1b、100−2b、、10
0−3b及び100〜4bと100−3cはコンピュー
タ・メモリの物理的アドレス空間から除去され、区画1
00−3eのデータがディスクに書かれる。
のメモリは、障害メモリ・モジュールM、中で見出され
た区画S、を除いて各区画に対応するチェックサムをも
つ。区画S1のチェックサムは、モジュールMcyc(
i)中に配置されることになる。モジュールMeyc(
t)の区画S、は、ディスクに書き出される。第4図の
例では、区画1003Cはチェックサム区画に変換され
る。そして、区画100−1b、100−2b、、10
0−3b及び100〜4bと100−3cはコンピュー
タ・メモリの物理的アドレス空間から除去され、区画1
00−3eのデータがディスクに書かれる。
新しいチェックサム区画位置が第4b図に示されている
。区画S、のチェックサムは、モジュールMcyc(i
)を除く現存するすべてのモジュール中の区画S、中の
データを排他的ORすることによって作成される。1つ
の例では、区画100−3a及び100−3dのチェッ
クサムが計算されて区画100−3Cに格納される。す
ると、今やすべてのチエツク4jムは可用であって再構
成は完了している。尚、この分野の当業者なら、上記の
例を、任意の数のメモリ・モジュール及び区画に一般化
することができよう。
。区画S、のチェックサムは、モジュールMcyc(i
)を除く現存するすべてのモジュール中の区画S、中の
データを排他的ORすることによって作成される。1つ
の例では、区画100−3a及び100−3dのチェッ
クサムが計算されて区画100−3Cに格納される。す
ると、今やすべてのチエツク4jムは可用であって再構
成は完了している。尚、この分野の当業者なら、上記の
例を、任意の数のメモリ・モジュール及び区画に一般化
することができよう。
再構成後の読み書き動作は、もしチェックサムが故障モ
ジュールM、にあると計算されたなら、それがモジュー
ルMcyc(i)に配置されることを除いては、すべて
のメモリ・モジュールが活動性である場合と同一である
。いくつかのメモリ・モジュールが活動的でないときは
、わずかな量の負荷非平衡が存在する。というのは、す
べてのメモリ・モジュールがチェックサムを含むけれど
も、チェックサムは均等に分割されないからである。そ
のような偏りがあまり大きくなく、また病的な例外を除
いて、このスキームは、すべてのチェックサムが単一の
メモリ・モジュールに格納された場合のスキームよりも
相当に優れた性能を示した。
ジュールM、にあると計算されたなら、それがモジュー
ルMcyc(i)に配置されることを除いては、すべて
のメモリ・モジュールが活動性である場合と同一である
。いくつかのメモリ・モジュールが活動的でないときは
、わずかな量の負荷非平衡が存在する。というのは、す
べてのメモリ・モジュールがチェックサムを含むけれど
も、チェックサムは均等に分割されないからである。そ
のような偏りがあまり大きくなく、また病的な例外を除
いて、このスキームは、すべてのチェックサムが単一の
メモリ・モジュールに格納された場合のスキームよりも
相当に優れた性能を示した。
−ト記の説明では、モジュール及びチェックサムの位置
決めピッ) (a 1.a2)がブロック・アドレスの
最上位ビットであったが、そのアドレッシングは、これ
らのビットがブロック・アドレスの「中位」ビットであ
るように容易に一般化することができる。すると、アド
レスは、(aO,al、a2、a4)のように表現する
ことができ、ここで、モジュール番号はa2によって決
定され、モジュール内のアドレスは(aOSat、a3
)によって決定され、ブロック(ao、al、a2、a
3)のチェックサムはブロック(a O−、a 1、a
l、a3)に存在する。例えば、a3が12ビツトなら
、モジュールに亘って4に個のブロックが介在配置され
ることになり、チェックサムはモジュールに亘って均等
に分布されることになる。
決めピッ) (a 1.a2)がブロック・アドレスの
最上位ビットであったが、そのアドレッシングは、これ
らのビットがブロック・アドレスの「中位」ビットであ
るように容易に一般化することができる。すると、アド
レスは、(aO,al、a2、a4)のように表現する
ことができ、ここで、モジュール番号はa2によって決
定され、モジュール内のアドレスは(aOSat、a3
)によって決定され、ブロック(ao、al、a2、a
3)のチェックサムはブロック(a O−、a 1、a
l、a3)に存在する。例えば、a3が12ビツトなら
、モジュールに亘って4に個のブロックが介在配置され
ることになり、チェックサムはモジュールに亘って均等
に分布されることになる。
異なるプロセッサは比較的ランダムに複数のモジュール
に亘って異なる区画にアクセスする傾向にあるので、こ
のことは、モジュールに亘る負荷平衡を改善させる傾向
をもたらす。
に亘って異なる区画にアクセスする傾向にあるので、こ
のことは、モジュールに亘る負荷平衡を改善させる傾向
をもたらす。
F1発明の詳細
な説明したように、この発明によれば、チェックサムを
複数のモジュールに亘って均等に分散させたので、プロ
セッサのアクセスの集中によるボトルネックの解消され
たメモリ・システムが提供される。
複数のモジュールに亘って均等に分散させたので、プロ
セッサのアクセスの集中によるボトルネックの解消され
たメモリ・システムが提供される。
第1図は、本発明を実現する装置の全体の概要を示すブ
ロック図、 第2図は、データ・アドレスを生成するだめの各フィー
ルドを示す図、 第3図は、古いデータと、古いチェックサムと、新しい
データ・ブロックから新しいチェックサムを生成するた
めの回路構成のブロック図、第4a及び第4b図は、メ
モリ・モジュールのうちの1つの障害の後、チェックサ
ム・アドレスが発生される様子を示す図である。
ロック図、 第2図は、データ・アドレスを生成するだめの各フィー
ルドを示す図、 第3図は、古いデータと、古いチェックサムと、新しい
データ・ブロックから新しいチェックサムを生成するた
めの回路構成のブロック図、第4a及び第4b図は、メ
モリ・モジュールのうちの1つの障害の後、チェックサ
ム・アドレスが発生される様子を示す図である。
Claims (2)
- (1) (a)各々が複数のデータ・ブロックからなり、該メモ
リ・ブロックがアクセスの単位である複数のメモリ・モ
ジュールと、 (b)等しいサイズの複数の上記データ・ブロックから
なる複数のグループを識別し、該複数のデータ・ブロッ
クを上記メモリ・モジュールに割当てるための手段と、 (c)上記識別された等しいサイズのデータ・ブロック
の少なくとも1つをバックアップ・ブロックとし、以て
、それを、該バックアップ・ブロック以外の上記等しい
サイズの複数のデータ・ブロックからなる上記グループ
の上記データ・グループのためのバックアップ・ブロッ
クとして認識するための手段と、 (d)上記異なるグループの上記バックアップ・ブロッ
クを、上記複数のメモリ・モジュールに亙つて分配する
ための手段と、 (e)上記1つのデータ・ブロックのグループ内の全て
のデータ・ブロックの内容のチェックサムとして、1つ
のグループの上記バックアップ・ブロックの内容を計算
するための手段と、 (f)上記チェックサムを、上記グループの上記識別さ
れたバックアップ・ブロック中に格納するための手段と
、 (g)上記1つのメモリ・モジュールの故障が生じた場
合に、上記バックアップ・ブロックにおけるチェックサ
ムと、他の故障が生じていないメモリ・モジュールの識
別されたデータ・ブロックからのデータから、該故障が
生じたメモリ・モジュールに記憶されていたデータを計
算するための手段とを具備する、 コンピュータ・システムのためのメモリ装置。 - (2)複数のブロックからなるグループをもち、該ブロ
ックのグループが少なくとも1つのバックアップ・ブロ
ックとデータ・ブロックからなり、上記各メモリ・モジ
ュール中の上記ブロックが様々なアドレス・ラベルをも
ち、アクセスの単位がブロックである、コンピュータ・
システムのためのメモリに障害耐性を与えるための方法
において、(a)異なるブロックのための上記バックア
ップ・ブロックを上記メモリ・モジュールに亙つて分配
する段階と、 (b)ブロック中のデータのアドレス・ラベルと、上記
データ・ブロックのバックアップ・ブロックのアドレス
・ラベルを識別するためにアドレス発生手段を与える段
階と、 (c)ブロックの1つのグループの全てのデータ・ブロ
ックの内容に従つて各メモリ・ブロックの内容のチェッ
クサムを計算する段階と、 (d)識別されたアドレス・ラベルをもつ識別されたバ
ックアップ・メモリ・ブロックに上記チェックサムを格
納する段階と、 (e)あるメモリ・モジュールが故障した場合に、非故
障メモリ・モジュール中の識別されたブロックから、該
故障メモリ・モジュールのブロックのデータを計算する
段階を有する、 コンピュータ・システムのためのメモリ構成方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US278104 | 1988-11-30 | ||
| US07/278,104 US5007053A (en) | 1988-11-30 | 1988-11-30 | Method and apparatus for checksum address generation in a fail-safe modular memory |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02194457A true JPH02194457A (ja) | 1990-08-01 |
| JPH0769873B2 JPH0769873B2 (ja) | 1995-07-31 |
Family
ID=23063705
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1299891A Expired - Lifetime JPH0769873B2 (ja) | 1988-11-30 | 1989-11-20 | コンピユータのためのメモリ装置及びメモリ構成方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5007053A (ja) |
| EP (1) | EP0371243A3 (ja) |
| JP (1) | JPH0769873B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08166910A (ja) * | 1994-12-15 | 1996-06-25 | Nec Corp | データ修復方法 |
| JP2015201221A (ja) * | 2008-10-28 | 2015-11-12 | マイクロン テクノロジー, インク. | 複数の半導体メモリユニットにおけるエラー訂正 |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2643993B1 (fr) * | 1989-03-03 | 1991-05-17 | Bull Sa | Procede pour remplacer des modules memoire dans un systeme informatique et systeme informatique pour la mise en oeuvre du procede |
| US5265098A (en) * | 1990-08-03 | 1993-11-23 | International Business Machines Corporation | Method and means for managing DASD array accesses when operating in degraded mode |
| US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
| US5208813A (en) * | 1990-10-23 | 1993-05-04 | Array Technology Corporation | On-line reconstruction of a failed redundant array system |
| JPH04184634A (ja) * | 1990-11-20 | 1992-07-01 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ |
| US5235601A (en) * | 1990-12-21 | 1993-08-10 | Array Technology Corporation | On-line restoration of redundancy information in a redundant array system |
| US5191584A (en) * | 1991-02-20 | 1993-03-02 | Micropolis Corporation | Mass storage array with efficient parity calculation |
| US5398253A (en) * | 1992-03-11 | 1995-03-14 | Emc Corporation | Storage unit generation of redundancy information in a redundant storage array system |
| US5574944A (en) * | 1993-12-15 | 1996-11-12 | Convex Computer Corporation | System for accessing distributed memory by breaking each accepted access request into series of instructions by using sets of parameters defined as logical channel context |
| US6003071A (en) * | 1994-01-21 | 1999-12-14 | Sony Corporation | Image data transmission apparatus using time slots |
| FI102221B1 (fi) * | 1995-10-30 | 1998-10-30 | Nokia Telecommunications Oy | Tietokoneen muistiongelmien paljastaminen |
| US6052797A (en) * | 1996-05-28 | 2000-04-18 | Emc Corporation | Remotely mirrored data storage system with a count indicative of data consistency |
| US6044444A (en) * | 1996-05-28 | 2000-03-28 | Emc Corporation | Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected |
| US6301670B1 (en) * | 1998-10-06 | 2001-10-09 | Ricoh Corporation | Method and apparatus for erasing data when a problem is identified |
| US7325052B1 (en) | 1998-10-06 | 2008-01-29 | Ricoh Company, Ltd. | Method and system to erase data after expiration or other condition |
| US6397365B1 (en) | 1999-05-18 | 2002-05-28 | Hewlett-Packard Company | Memory error correction using redundant sliced memory and standard ECC mechanisms |
| US6807602B1 (en) * | 2000-10-30 | 2004-10-19 | Hewlett-Packard Development Company, L.P. | System and method for mapping bus addresses to memory locations utilizing access keys and checksums |
| US6775791B2 (en) | 2001-01-26 | 2004-08-10 | Dell Products L.P. | Replaceable memory modules with parity-based data recovery |
| US20030035371A1 (en) * | 2001-07-31 | 2003-02-20 | Coke Reed | Means and apparatus for a scaleable congestion free switching system with intelligent control |
| JP2003196163A (ja) * | 2001-12-27 | 2003-07-11 | Denso Corp | 電子制御装置 |
| US20060156381A1 (en) | 2005-01-12 | 2006-07-13 | Tetsuro Motoyama | Approach for deleting electronic documents on network devices using document retention policies |
| US8272028B2 (en) * | 2008-10-15 | 2012-09-18 | Ricoh Company, Ltd. | Approach for managing access to electronic documents on network devices using document retention policies and document security policies |
| US9338172B2 (en) * | 2013-03-13 | 2016-05-10 | Futurewei Technologies, Inc. | Enhanced IPsec anti-replay/anti-DDOS performance |
| GB2540562B (en) * | 2015-07-21 | 2019-09-04 | Advanced Risc Mach Ltd | Method of and apparatus for generating a signature representative of the content of an array of data |
| US11281527B2 (en) * | 2020-01-14 | 2022-03-22 | EMC IP Holding Company LLC | Method and system for data integrity |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62293355A (ja) * | 1986-06-12 | 1987-12-19 | インターナショナル ビジネス マシーンズ コーポレーション | データ保護装置 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5622300A (en) * | 1979-08-01 | 1981-03-02 | Fanuc Ltd | Memory check method |
| GB2166893B (en) * | 1984-10-05 | 1988-03-23 | Sharp Kk | Checking memory at system power-up |
| JPS61141056A (ja) * | 1984-12-14 | 1986-06-28 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 揮発性メモリの間欠エラ−検出方法 |
| US4726024A (en) * | 1986-03-31 | 1988-02-16 | Mieczyslaw Mirowski | Fail safe architecture for a computer system |
| US4727544A (en) * | 1986-06-05 | 1988-02-23 | Bally Manufacturing Corporation | Memory integrity checking system for a gaming device |
| US4782486A (en) * | 1987-05-14 | 1988-11-01 | Digital Equipment Corporation | Self-testing memory |
-
1988
- 1988-11-30 US US07/278,104 patent/US5007053A/en not_active Expired - Fee Related
-
1989
- 1989-10-18 EP EP19890119306 patent/EP0371243A3/en not_active Withdrawn
- 1989-11-20 JP JP1299891A patent/JPH0769873B2/ja not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62293355A (ja) * | 1986-06-12 | 1987-12-19 | インターナショナル ビジネス マシーンズ コーポレーション | データ保護装置 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08166910A (ja) * | 1994-12-15 | 1996-06-25 | Nec Corp | データ修復方法 |
| JP2015201221A (ja) * | 2008-10-28 | 2015-11-12 | マイクロン テクノロジー, インク. | 複数の半導体メモリユニットにおけるエラー訂正 |
| US10019310B2 (en) | 2008-10-28 | 2018-07-10 | Micron Technology, Inc. | Error correction in multiple semiconductor memory units |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0769873B2 (ja) | 1995-07-31 |
| EP0371243A2 (en) | 1990-06-06 |
| US5007053A (en) | 1991-04-09 |
| EP0371243A3 (en) | 1991-08-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH02194457A (ja) | コンピユータのためのメモリ装置及びメモリ構成方法 | |
| US5267242A (en) | Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing | |
| JPH054699B2 (ja) | ||
| US7231493B2 (en) | System and method for updating firmware of a storage drive in a storage network | |
| US6247157B1 (en) | Method of encoding data signals for storage | |
| KR940011039B1 (ko) | Dasd 배열내에서의 분배 스페어링 방법 및 장치 | |
| EP1054326B1 (en) | Memory error correction using redundant sliced memory and standard ECC mechanisms | |
| JP2831072B2 (ja) | ディスクドライブメモリ | |
| US5124987A (en) | Logical track write scheduling system for a parallel disk drive array data storage subsystem | |
| US5077736A (en) | Disk drive memory | |
| US5146588A (en) | Redundancy accumulator for disk drive array memory | |
| US5487160A (en) | Concurrent image backup for disk storage system | |
| US5134619A (en) | Failure-tolerant mass storage system | |
| JP2738687B2 (ja) | 誤り訂正システムおよび方法 | |
| JPH05197498A (ja) | 構成可能な冗長アレイ記憶装置 | |
| JPH04230512A (ja) | Dasdアレイのための更新記録方法及び装置 | |
| EP1685489A2 (en) | Method and apparatus for enabling high-reliability storage of distributed data on a plurality of independent storage devices | |
| JPS6061848A (ja) | メモリシステム | |
| US5680538A (en) | System and method for maintaining a minimum quality of service during read operations on disk arrays | |
| US5953265A (en) | Memory having error detection and correction | |
| KR100402638B1 (ko) | 리던던트 디바이스 초기화 방법 및 장치 | |
| JPH0136134B2 (ja) | ||
| JPS6237422B2 (ja) | ||
| US7356757B2 (en) | Fault tolerance system and method for one or two failed disks in a disk array | |
| US7788525B2 (en) | Fault tolerance system and method for multiple failed disks in a disk array |