JPH054699B2 - - Google Patents
Info
- Publication number
- JPH054699B2 JPH054699B2 JP63122248A JP12224888A JPH054699B2 JP H054699 B2 JPH054699 B2 JP H054699B2 JP 63122248 A JP63122248 A JP 63122248A JP 12224888 A JP12224888 A JP 12224888A JP H054699 B2 JPH054699 B2 JP H054699B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- checksum
- unit
- backup
- 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.)
- Expired - Lifetime
Links
- 238000011084 recovery Methods 0.000 description 21
- 238000000034 method Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000006854 communication Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
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)
- Hardware Redundancy (AREA)
Description
A 産業上の利用分野
本発明は、データ処理の分野に関し、具体的に
は、複数または単数のプロセツサで使用されるバ
ツク・アツプ・メモリ・システムに関する。 B 従来技術およびその問題点 大型および小型データ処理システムでは、メモ
リ・ユニツトの故障の場合にデータを再構成でき
るのが望ましいことが判明している。複数のプロ
セツサが共用メモリにアクセスできる、密結合さ
れたアーキテクチヤのコンピユータ・システムで
は、メモリ・ユニツトの1つが故障したためにデ
ータの一部が失われた場合、メモリに記憶された
データを再構成できることが特に重要である。こ
の共用メモリは、いくつかの独立メモリ・ユニツ
トを含み、各ユニツトは、記憶装置、記憶制御装
置マイクロプロセツサおよびシステムの通信媒体
へのインターフエースをもつ。通信媒体として
は、プロセツサに相互接続されたバス・システム
または直列伝送回線が使用できる。当技術で使用
されている相互接続の方法は、2地点間リンク、
分岐リンクまたはクロスバー交換機など様々あ
る。通常、データは、通常一時に4096バイト程度
のブロツクとして、プロセツサとメモリ・ユニツ
トの間で転送される。 信頼性の高いシステムでは、任意のメモリ・ユ
ニツトに記憶されたデータが、個々のメモリ・ユ
ニツトが故障した場合でさえ、常に利用できるこ
とが必要である。メモリ・ユニツトの信頼性は、
その構成要素のいくつかを複製することによつて
向上できるが、一般に、こうした手段は、他のソ
ースからデータを再構成する手段よりも複雑で、
それほど経済的でもない。 従来、共用メモリをもつシステムのデータ可用
性は、別々の2つのユニツトにデータのコピー2
部を記憶することによつて実現されてきた。こう
したシステムは、2重化として知られる1対1バ
ツクアツプを使用する。しかし、この方法は、す
べてのメモリ・ユニツトを完全に複製することが
必要で、したがつて通常必要な記憶装置の2倍の
記憶装置が必要なため、高価な解決法である。大
容量のメモリが必要なシステムでは、2重化は、
メモリのコストだけでなく床面積、保守など経済
的な要因もあつて高くつく。したがつて、メモ
リ・システムの各ユニツトを複製しないで、メモ
リ・システムのバツクアツプを確保できることが
望ましい。 米国特許第4092732号には、デイスク・ドライ
ブにおける記憶データの回復システムが記載され
ている。このシステムでは、データ・レコーダが
複数のセグメントに分割されて、それがn個の独
立したデイスク・ドライブに分配される。他のす
べてのセグメントのモジユーロ2検査合計を含む
検査合計セグメントが、追加のデイスク・ドライ
ブに記憶される。この特許は、特に直接アクセス
記憶装置(DASD)に関するもので、特別なセグ
メント分割と複数の装置に対するデータの分配が
必要である。それとは対照的に、本発明は、あら
ゆるメモリ・タイプに関するもので、特別なフオ
ーマツト化や複数のメモリ・ユニツトに対するデ
ータの分配は必要ではない。 米国特許第4413339号では、1つのデータ処理
装置とデータ記憶装置の間で転送されるデータを
検査するために、リード・ソロモン・コードが実
施されている。この特許は、複数のデータ処理シ
ステムにアクセスできる複数の記憶システムにデ
ータを記憶することは取り扱つていない。 米国特許第4412280号では、検査合計を用いて、
2つのデータ処理システム間でデータを交互検査
することが記載されている。しかし、マーフイー
等の特許には、複数の処理システムにアクセス可
能な複数のメモリ・ユニツトにデータを記憶する
ことも、すべてのメモリ・ユニツトのデータをバ
ツクアツプする1つのバツクアツプ・メモリ・ユ
ニツトの使用についても記載されてない。 単一データの障害から回復する検査合計方法の
基本概念は、当技術では周知であり、シエヴイオ
レク(Siewiorek)等の「高信頼性システム設計
の理論と実際(The Theory and Practice of
Reliable System Design)」、デイジタル・プレ
ス、1982年刊、およびオーンステイン
(Ohrnstein)等の「プルリバス−高信頼性多重
プロセツサ(Pluribus−A Reliable Multi
Processor)」、AFIPS会議議事録、44巻、551−
559頁、AFIPSプレス・モントヴエール、ニユー
ジヤージー、1975年に記載されている。しかし、
本発明の単一のバツクアツプ・メモリ・ユニツト
を用いた複数のメモリ・ユニツトのバツクアツ
プ、およびそれに関連する諸問題やその解決策は
開示されていない。 したがつて、本発明の目的は、信頼性と可用性
の高い、メモリ・システムを提供することであ
る。 本発明のもう一つの目的は、コストおよびシス
テムの他のオーバーヘツドの増加が最小限で済
む、可用性と、信頼性の高いメモリ・システムを
提供することである。 本発明のもう一つの目的は、2つのメモリ・ユ
ニツトまたはプロセツサが同時に故障することは
ないと仮定して、メモリ・ユニツトを1台追加す
るだけでよい、複数プロセツサ・システムに使用
される信頼性と可用性の高い、メモリ・システム
を提供することである。 本発明の以上およびその他の目的、利点および
特徴は、以下の明細書と添付図面を参照するとよ
り明らかになる。 C 問題点を解決するための手段 この目的を達成するため、本発明のメモリは、
対応するメモリスペースが同じアドレスラベルを
有するような複数のメモリスペースを有する複数
のメモリモジユールと、上記メモリモジユールと
対応するメモリスペースが同じアドレスラベルを
有するような複数のメモリスペースを有するバツ
クアツプメモリユニツトと、上記複数のメモリモ
ジユールにおける対応するアドレスラベルを有す
る各メモリスペースの内容の検査合計を計算する
手段と、上記検査合計を上記バツクアツプメモリ
ユニツトの対応するアドレスラベルを有するメモ
リスペースに記憶する手段と、上記メモリモジユ
ールの1つに障害が生じたときに、他のメモリモ
ジユールにおけるデータおよび上記バツクアツプ
メモリユニツトにおける上記検査合計から、上記
障害の生じたメモリモジユールに以前に記憶され
ていたデータを計算する手段と、を有することを
特徴としている。 D 実施例 本発明の目的と特色を示す図の実施例によれ
ば、設計と性能の点でそれぞれ等しい複数のメモ
リ・ユニツトから構成される信頼性と可用性の高
いメモリ・システムが設けられている。このn個
のユニツトに対して、バツクアツプ用として1つ
の追加メモリ・ユニツトが使用される。バツクア
ツプ・メモリ・ユニツトに記憶されるバツクアツ
プ・データは、他のすべてのメモリ・ユニツトに
記憶されたすべてのデータの検査合計から成る。
これは、バツクアツプ・ユニツトのアドレスxの
ワードが他のすべてのメモリ・ユニツトのアドレ
スxにあるすべてのワードの検査合計になるよう
にされたものである。この検査合計は、2を基数
とする数のモジユーロ2加算に基づいているが、
他のモジユーロや他の基数を用いることもでき
る。バツクアツプ・ユニツト以外の他のユニツト
に障害がある場合、その内容は、バツクアツプ・
ユニツトに記憶された検査合計に、障害のないす
べてのメモリ・ユニツトの内容をモジユーロ2加
算することによつて再構成できる。バツクアツ
プ・ユニツトに障害がある場合、当然、その内容
は、バツクアツプされているメモリ・ユニツトの
内容から再生成できる。 第1図は、共用メモリをもつ疎結合式または密
結合式プロセツサの代表的なシステムを示す。こ
のシステムは、相互接続構造16を介してメモ
リ・ユニツト13,14および15に接続された
プロセツサ10,11および12から構成され
る。当業者には明らかなことであるが、こうした
システムでは任意の数のプロセツサが使用でき、
また任意の数のメモリ・ユニツトが使用できる。
上述のように、相互接続構造16としては、2地
点間接続、分岐ネツトワーク、クロスバー交換機
などプロセツサとメモリ・ユニツトを接続するど
んな手段でも使用できる。 本発明では、第2図に示すように、システムの
他のすべてのメモリ・ユニツトに対するバツクア
ツプとして働く追加メモリ・ユニツト20が追加
される。メモリ・ユニツト20は、メモリ・ユニ
ツト13,14および15と同じ容量をもち、少
なくともそれらの帯域幅をもつ。メモリ・ユニツ
ト13,14,15および20は、それぞれ、m
個のサブユニツトをもつ。すなわち、たとえば、
メモリ・ユニツト13は、サブユニツト13a,
b,cを含む。たとえば、これらのサブユニツト
として、メモリ・カードが使用できる。さらに、
各メモリ・ユニツト13,14,15および20
は、アドレツシングなどを制御し、それぞれポー
ト31,32,33および34を介して他のプロ
セツサおよびメモリ・ユニツトと双方向通信を可
能にする制御回路21,22,23および24を
含む。明らかに、メモリ・ユニツト20は、メモ
リ・ユニツト13,14および15と容量が同じ
くらいなので、それらのユニツトに含まれるデー
タ1対1対ではバツクアツプできない。その代わ
りに、バツクアツプ・データは、メモリ・ユニツ
ト13,14および15を含む他のすべてのメモ
リ・ユニツトに記憶されるすべてのデータのモジ
ユーロ2検査合計から、バツクアツプ・ユニツト
のアドレスxのワードが、他のメモリ・ユニツト
13,14および15のアドレスxにあるすべて
のワードの検査合計になるように構成される。デ
ータは、メモリ・ユニツトの各アドレスにワー
ド・サイズで記憶される。たとえば、メモリ・ユ
ニツト13のアドレス0に記憶されたデータをバ
ツクアツプするために、アドレス0にあるデータ
が、ビツト毎に互いに排他的論理和演算され、そ
の結果が、バツクアツプ・ユニツト20のアドレ
ス0に記憶される。この結果が、検査合計であ
る。メモリ・ユニツトに故障があると、残りのユ
ニツトのアドレス0にあるすべてのデータが、バ
ツクアツプ・ユニツトのアドレス0の検査合計と
排他的論理和演算される。その結果、障害のある
メモリ・ユニツトのアドレス0の再構成データが
行なわれ、そのデータが、既存のメモリ・ユニツ
ト13,14および15の1つの空いているスペ
ース、またはこの目的のために予約された予備メ
モリ・ユニツトに記憶できる。すべてのデータが
再構成されるまで、障害のあるメモリ・ユニツト
の他のすべてのアドレスについてこのプロセス
が、繰り返される。 本発明で生成される検査合計は、2を基数とす
るモジユーロ2加算に基づいている。すなわち、
a,b,cおよびxが2進値の場合、 x=abc (1) が、a,bおよびcの検査合計である。 b=axc (2) はa,cおよび検査合計xから算出されたbの値
である。2進数aとcも代数的に解を得ることが
できる。 検査合計のより詳細な取扱いは、現代代数の通
常の教科書のガロワ域の考察の所を参照された
い。 2進値a,bのモジユーロ2加算()は、下
記の加算表によつて定義される。
は、複数または単数のプロセツサで使用されるバ
ツク・アツプ・メモリ・システムに関する。 B 従来技術およびその問題点 大型および小型データ処理システムでは、メモ
リ・ユニツトの故障の場合にデータを再構成でき
るのが望ましいことが判明している。複数のプロ
セツサが共用メモリにアクセスできる、密結合さ
れたアーキテクチヤのコンピユータ・システムで
は、メモリ・ユニツトの1つが故障したためにデ
ータの一部が失われた場合、メモリに記憶された
データを再構成できることが特に重要である。こ
の共用メモリは、いくつかの独立メモリ・ユニツ
トを含み、各ユニツトは、記憶装置、記憶制御装
置マイクロプロセツサおよびシステムの通信媒体
へのインターフエースをもつ。通信媒体として
は、プロセツサに相互接続されたバス・システム
または直列伝送回線が使用できる。当技術で使用
されている相互接続の方法は、2地点間リンク、
分岐リンクまたはクロスバー交換機など様々あ
る。通常、データは、通常一時に4096バイト程度
のブロツクとして、プロセツサとメモリ・ユニツ
トの間で転送される。 信頼性の高いシステムでは、任意のメモリ・ユ
ニツトに記憶されたデータが、個々のメモリ・ユ
ニツトが故障した場合でさえ、常に利用できるこ
とが必要である。メモリ・ユニツトの信頼性は、
その構成要素のいくつかを複製することによつて
向上できるが、一般に、こうした手段は、他のソ
ースからデータを再構成する手段よりも複雑で、
それほど経済的でもない。 従来、共用メモリをもつシステムのデータ可用
性は、別々の2つのユニツトにデータのコピー2
部を記憶することによつて実現されてきた。こう
したシステムは、2重化として知られる1対1バ
ツクアツプを使用する。しかし、この方法は、す
べてのメモリ・ユニツトを完全に複製することが
必要で、したがつて通常必要な記憶装置の2倍の
記憶装置が必要なため、高価な解決法である。大
容量のメモリが必要なシステムでは、2重化は、
メモリのコストだけでなく床面積、保守など経済
的な要因もあつて高くつく。したがつて、メモ
リ・システムの各ユニツトを複製しないで、メモ
リ・システムのバツクアツプを確保できることが
望ましい。 米国特許第4092732号には、デイスク・ドライ
ブにおける記憶データの回復システムが記載され
ている。このシステムでは、データ・レコーダが
複数のセグメントに分割されて、それがn個の独
立したデイスク・ドライブに分配される。他のす
べてのセグメントのモジユーロ2検査合計を含む
検査合計セグメントが、追加のデイスク・ドライ
ブに記憶される。この特許は、特に直接アクセス
記憶装置(DASD)に関するもので、特別なセグ
メント分割と複数の装置に対するデータの分配が
必要である。それとは対照的に、本発明は、あら
ゆるメモリ・タイプに関するもので、特別なフオ
ーマツト化や複数のメモリ・ユニツトに対するデ
ータの分配は必要ではない。 米国特許第4413339号では、1つのデータ処理
装置とデータ記憶装置の間で転送されるデータを
検査するために、リード・ソロモン・コードが実
施されている。この特許は、複数のデータ処理シ
ステムにアクセスできる複数の記憶システムにデ
ータを記憶することは取り扱つていない。 米国特許第4412280号では、検査合計を用いて、
2つのデータ処理システム間でデータを交互検査
することが記載されている。しかし、マーフイー
等の特許には、複数の処理システムにアクセス可
能な複数のメモリ・ユニツトにデータを記憶する
ことも、すべてのメモリ・ユニツトのデータをバ
ツクアツプする1つのバツクアツプ・メモリ・ユ
ニツトの使用についても記載されてない。 単一データの障害から回復する検査合計方法の
基本概念は、当技術では周知であり、シエヴイオ
レク(Siewiorek)等の「高信頼性システム設計
の理論と実際(The Theory and Practice of
Reliable System Design)」、デイジタル・プレ
ス、1982年刊、およびオーンステイン
(Ohrnstein)等の「プルリバス−高信頼性多重
プロセツサ(Pluribus−A Reliable Multi
Processor)」、AFIPS会議議事録、44巻、551−
559頁、AFIPSプレス・モントヴエール、ニユー
ジヤージー、1975年に記載されている。しかし、
本発明の単一のバツクアツプ・メモリ・ユニツト
を用いた複数のメモリ・ユニツトのバツクアツ
プ、およびそれに関連する諸問題やその解決策は
開示されていない。 したがつて、本発明の目的は、信頼性と可用性
の高い、メモリ・システムを提供することであ
る。 本発明のもう一つの目的は、コストおよびシス
テムの他のオーバーヘツドの増加が最小限で済
む、可用性と、信頼性の高いメモリ・システムを
提供することである。 本発明のもう一つの目的は、2つのメモリ・ユ
ニツトまたはプロセツサが同時に故障することは
ないと仮定して、メモリ・ユニツトを1台追加す
るだけでよい、複数プロセツサ・システムに使用
される信頼性と可用性の高い、メモリ・システム
を提供することである。 本発明の以上およびその他の目的、利点および
特徴は、以下の明細書と添付図面を参照するとよ
り明らかになる。 C 問題点を解決するための手段 この目的を達成するため、本発明のメモリは、
対応するメモリスペースが同じアドレスラベルを
有するような複数のメモリスペースを有する複数
のメモリモジユールと、上記メモリモジユールと
対応するメモリスペースが同じアドレスラベルを
有するような複数のメモリスペースを有するバツ
クアツプメモリユニツトと、上記複数のメモリモ
ジユールにおける対応するアドレスラベルを有す
る各メモリスペースの内容の検査合計を計算する
手段と、上記検査合計を上記バツクアツプメモリ
ユニツトの対応するアドレスラベルを有するメモ
リスペースに記憶する手段と、上記メモリモジユ
ールの1つに障害が生じたときに、他のメモリモ
ジユールにおけるデータおよび上記バツクアツプ
メモリユニツトにおける上記検査合計から、上記
障害の生じたメモリモジユールに以前に記憶され
ていたデータを計算する手段と、を有することを
特徴としている。 D 実施例 本発明の目的と特色を示す図の実施例によれ
ば、設計と性能の点でそれぞれ等しい複数のメモ
リ・ユニツトから構成される信頼性と可用性の高
いメモリ・システムが設けられている。このn個
のユニツトに対して、バツクアツプ用として1つ
の追加メモリ・ユニツトが使用される。バツクア
ツプ・メモリ・ユニツトに記憶されるバツクアツ
プ・データは、他のすべてのメモリ・ユニツトに
記憶されたすべてのデータの検査合計から成る。
これは、バツクアツプ・ユニツトのアドレスxの
ワードが他のすべてのメモリ・ユニツトのアドレ
スxにあるすべてのワードの検査合計になるよう
にされたものである。この検査合計は、2を基数
とする数のモジユーロ2加算に基づいているが、
他のモジユーロや他の基数を用いることもでき
る。バツクアツプ・ユニツト以外の他のユニツト
に障害がある場合、その内容は、バツクアツプ・
ユニツトに記憶された検査合計に、障害のないす
べてのメモリ・ユニツトの内容をモジユーロ2加
算することによつて再構成できる。バツクアツ
プ・ユニツトに障害がある場合、当然、その内容
は、バツクアツプされているメモリ・ユニツトの
内容から再生成できる。 第1図は、共用メモリをもつ疎結合式または密
結合式プロセツサの代表的なシステムを示す。こ
のシステムは、相互接続構造16を介してメモ
リ・ユニツト13,14および15に接続された
プロセツサ10,11および12から構成され
る。当業者には明らかなことであるが、こうした
システムでは任意の数のプロセツサが使用でき、
また任意の数のメモリ・ユニツトが使用できる。
上述のように、相互接続構造16としては、2地
点間接続、分岐ネツトワーク、クロスバー交換機
などプロセツサとメモリ・ユニツトを接続するど
んな手段でも使用できる。 本発明では、第2図に示すように、システムの
他のすべてのメモリ・ユニツトに対するバツクア
ツプとして働く追加メモリ・ユニツト20が追加
される。メモリ・ユニツト20は、メモリ・ユニ
ツト13,14および15と同じ容量をもち、少
なくともそれらの帯域幅をもつ。メモリ・ユニツ
ト13,14,15および20は、それぞれ、m
個のサブユニツトをもつ。すなわち、たとえば、
メモリ・ユニツト13は、サブユニツト13a,
b,cを含む。たとえば、これらのサブユニツト
として、メモリ・カードが使用できる。さらに、
各メモリ・ユニツト13,14,15および20
は、アドレツシングなどを制御し、それぞれポー
ト31,32,33および34を介して他のプロ
セツサおよびメモリ・ユニツトと双方向通信を可
能にする制御回路21,22,23および24を
含む。明らかに、メモリ・ユニツト20は、メモ
リ・ユニツト13,14および15と容量が同じ
くらいなので、それらのユニツトに含まれるデー
タ1対1対ではバツクアツプできない。その代わ
りに、バツクアツプ・データは、メモリ・ユニツ
ト13,14および15を含む他のすべてのメモ
リ・ユニツトに記憶されるすべてのデータのモジ
ユーロ2検査合計から、バツクアツプ・ユニツト
のアドレスxのワードが、他のメモリ・ユニツト
13,14および15のアドレスxにあるすべて
のワードの検査合計になるように構成される。デ
ータは、メモリ・ユニツトの各アドレスにワー
ド・サイズで記憶される。たとえば、メモリ・ユ
ニツト13のアドレス0に記憶されたデータをバ
ツクアツプするために、アドレス0にあるデータ
が、ビツト毎に互いに排他的論理和演算され、そ
の結果が、バツクアツプ・ユニツト20のアドレ
ス0に記憶される。この結果が、検査合計であ
る。メモリ・ユニツトに故障があると、残りのユ
ニツトのアドレス0にあるすべてのデータが、バ
ツクアツプ・ユニツトのアドレス0の検査合計と
排他的論理和演算される。その結果、障害のある
メモリ・ユニツトのアドレス0の再構成データが
行なわれ、そのデータが、既存のメモリ・ユニツ
ト13,14および15の1つの空いているスペ
ース、またはこの目的のために予約された予備メ
モリ・ユニツトに記憶できる。すべてのデータが
再構成されるまで、障害のあるメモリ・ユニツト
の他のすべてのアドレスについてこのプロセス
が、繰り返される。 本発明で生成される検査合計は、2を基数とす
るモジユーロ2加算に基づいている。すなわち、
a,b,cおよびxが2進値の場合、 x=abc (1) が、a,bおよびcの検査合計である。 b=axc (2) はa,cおよび検査合計xから算出されたbの値
である。2進数aとcも代数的に解を得ることが
できる。 検査合計のより詳細な取扱いは、現代代数の通
常の教科書のガロワ域の考察の所を参照された
い。 2進値a,bのモジユーロ2加算()は、下
記の加算表によつて定義される。
【表】
これは、a,bの排他的論理和としても知られ
ている。式1と2は、以下の例に示すような、デ
ータ・ブロツクに拡張することができる。 0100 1011 0100 1011 0110 0100 1101 1111 1100 1011 0001 0110 1010 1111 0110 0011 x=abc ただし、xはブロツクa,b,cの検査合計で
ある。 検査合計を構成していたデータの1つのビツト
だけが失われている場合、データのビツトは回復
できる。これを、上述の例と同様に、データ・ブ
ロツクに、あるいは一般にユニツトにも拡大でき
る。以下にその例を示す。 0100 1011 0100 1011 1101 0100 0110 1111 0001 1011 1100 0110 0110 1111 1010 0011 b=axc すなわち、ブロツクbのデータを保持するメモ
リ・ユニツトが障害をおこした場合、上述のよう
に、検査合計Xおよびブロツクaとcからそれが
回復できる。 すなわち、第2図を参照すると、バツクアツ
プ・ユニツトのアドレスiにある検査合計は次の
ように定義される。 ci=D0iD1i……Doi (3) アドレスiにある障害のあるメモリ・ユニツト
kのデータは次のように再構成される。 Dki= D0iD1i……D(k-1)iCi……Doi (4) 以上のことから、検査合計を生成するために
は、n個のメモリ・ユニツトのデータを取り出
し、それをバツクアツプ・ユニツトに送り、この
部分的な結果とバツクアツプ・ユニツトに記憶さ
れている以前の検査合計との排他的論理和(モジ
ユーロ2数加算)演算を行ない、次いで、その結
果を次の検査合計として記憶することが必要にな
るはずである。こうした方法には、記憶された各
データ・ワードごとにn+1回の転送が必要であ
り、したがつてシステム相互接続構造16に負担
がかかりすぎる恐れがある。したがつて、相互接
続構造を介する転送が最小となる別の方法が望ま
しい。新しい検査合計を生成し記憶するのに2回
の転送しか必要でないこうした別の方法につい
て、次に説明する。この代替法は、数学的に次の
ように記載できる。バツクアツプ・ユニツト20
のあるアドレスiにある以前の検査合計を次式の
ように置く。 Cpld= D0D1……Dk-pld……Do (5) 新しいデータをDk-oewとし、メモリ・ユニツト
kのアドレスiのDk-pldと置換する。 そうすると、新しい検査合計は次式のようにな
る。 Coew=D0D1……Dk-oew……Do (6) =(Dk-pldDk-oew)D0D1…… +Dk-pld……Do (7) =(Dk-pldDk-oew)Cpld (8) これらの代入が可能なのは、Dk-pldDk-pld=
0モジユーロ2であり加算は交換可能なためであ
る。 したがつて、メモリ・ユニツトkのアドレスi
にデータを記憶し、それをバツクアツプ・ユニツ
ト20のアドレスiにバツクアツプするために
は、メモリ・ユニツトkのアドレスiで、新しい
データと以前のデータの排他的論理和を取り、こ
の部分的な結果をバツクアツプ・ユニツト20に
送り、そこでアドレスiの以前の検査合計と排他
的論理和を取ることによつて新しい検査合計が生
成され、その結果が、ユニツトxのアドレスiに
新しい検査合計として記憶される。ユニツトkに
記憶されるデータの各ワードについてこのプロセ
スが繰り返される。 障害がある場合、最初の健在なユニツトのすべ
てのアドレスからデータを取り出して、それをバ
ツクアツプ・ユニツトに送り、それとそこに記憶
されている検査合計の排他的論理和を取ることに
よつて回復が実施される。残りのすべてのユニツ
トについてそれが繰り返される。すべてのユニツ
トについてそれが実行されると、バツクアツプ・
ユニツト20は、回復されたデータを含むように
なる。回復の実施中、新しいどんなデータも回復
がまだ完了していないどのアドレスにも記憶され
ない。もちろん、バツクアツプ・ユニツト自体に
障害がある場合、どんなデータも失われない。し
かし、新しいメモリを使用して、既存のデータの
検査合計を再生成し、それを新しいメモリ・ユニ
ツトに記憶するのが望ましい。 本発明のバツクアツプ・ユニツトを用いたシス
テムの全体的性能は、相互接続構造の帯域幅と使
用するメモリ・ユニツトの帯域幅に依存する。し
かし、バツクアツプ・ユニツトにアクセスする必
要があるのは、他のメモリ・ユニツトの書込みの
場合だけであり、しかも通常書込み速度は、読取
り速度よりも低い。さらに、バツクアツプ・ユニ
ツトは、他のユニツトより高い内部帯域幅と性能
をもつことができるので、リアル・タイム・バツ
クアツプは相互接続構造全体の帯域幅だけに依存
するようになる。 2つまたはそれ以上のメモリ・ユニツトが、同
じアドレスiにあるデータで更新される場合、以
前の検査合計を新しい部分的な検査合計(Dpld
Doew)と排他的論理和を取らなければならない
ので、バツクアツプ・ユニツトのアドレスiにあ
る検査合計の更新を、直列化しなければならな
い。直列化すべきもう一つの理由は、バツクアツ
プ・メモリ・ユニツトへのアクセス経路を瞬間的
にブロツクする原因となり得る相互接続構造の通
信量である。モジユーロ2加算は交換可能なの
で、検査合計の更新の直列化は、検査合計の有効
性には全く重要ではない。すなわち、どのアドレ
スにある検査合計も、どんな順序でも更新でき
る。 最終的に、検査合計は、すべてのメモリ・ユニ
ツトに記憶されたすべてのデータを常に正確に反
映する。 バツクアツプ・ユニツトのアドレスに記憶され
た検査合計は、特定のメモリ・ユニツトに記憶さ
れたデータを瞬間的に反映しなくなることがある
ので、直列化は回復手順に影響を与える。すなわ
ち、以下で論じるように、回復技術はこのことを
考慮しなければならない。 メモリ・ユニツトの1つ(だけ)に障害がある
場合、回復は次のように行なわれる。すべてのメ
モリ・ユニツトのすべてのデータ転送が停止し、
直列化されているために、保留中のすべての検査
合計が完了する。最初の健全なメモリ・ユニツト
からのデータが、バツクアツプ・ユニツトに転送
され、それが、そこに記憶されている検査合計と
モジユーロ2加算される。他のすべての健在なメ
モリ・ユニツトについてこの手順が、繰り返され
る。最後のメモリ・ユニツトからのデータがバツ
クアツプ・ユニツトのデータと排他的論理和演算
されると、バツクアツプ・ユニツトは、障害のあ
るメモリ・ユニツトから回復されたデータを含む
ようになる。 この時点で、回復されたデータが、バツクアツ
プ・ユニツトから、こうした状況で使用できるよ
うになつた新しい記憶空間に転送できる。こうし
た空間は、予備メモリ・ユニツト中で、または健
在のメモリ・ユニツトから記憶階層のすぐ下のレ
ベルにデータを移動することによつて、利用でき
るようになる。最後に、データ回復が完了した
後、データの新しい位置を反映する新しい検査合
計がバツクアツプ・ユニツトで生成される。次い
で、新しいデータのメモリ・ユニツトへの転送が
再開される。 検査合計更新の直列化により検査合計がいつで
も一時的にすべてのメモリ・ユニツトのデータを
不正確に反映するようになることがあるので、こ
の回復手順を、次のように修正すべきである。 まず、データがメモリ・ユニツトkのアドレス
iに記憶されていると仮定する。直列化の結果と
して、バツクアツプ・メモリ・ユニツトのアドレ
スiは、メモリ・ユニツトkに障害がおこつたと
き、まだ検査合計の対応する変化を含んでいない
かもしれない。したがつて、検査合計は以前のデ
ータを反映しているので、アドレスiのメモリ・
ユニツトkのデータをその検査合計から回復でき
ない。この問題を解決するために、他の拘束条件
が課される。すなわち、メモリとバツクアツプ・
ユニツトがどちらもうまく更新されたという肯定
応答を受け取るまで、ソース・プロセツサでデー
タを保持しなければならない。この拘束条件は、
その肯定応答がたとえば4kバイトの大きなデー
タ・ブロツクに使用される場合に、相互接続構造
16の通信負荷にあまり大きな影響を及ぼさない
ものとすべきである。この拘束条件と、一時に1
台のメモリ・ユニツトだけが障害をおこすという
仮定を用いて、次のような完全な回復手順が進め
られる。 2つの場合について説明する。最初の場合で
は、障害発生時にデータ記憶のためにメモリ・ユ
ニツトが、アクセスされておらず、第2の場合で
は、障害発生時にデータ記憶のためにメモリ・ユ
ニツトがアクセスされていたとする。 第1の場合、すなわち、障害発生時にデータ記
憶のためにメモリ・ユニツトがアクセスされてい
なかつたときは、障害発生時に障害ユニツトがア
クセスされていなかつたので、検査合計のすべて
の直列化更新が、正確に完了している。したがつ
て、前記の手順に従つて回復を行なうことができ
る。 障害発生時にデータ記憶のためにメモリ・ユニ
ツトがアクセスされていた場合には、バツクアツ
プ・ユニツトの1つまたは複数のアドレスに記憶
されている検査合計が、直列化の結果として障害
ユニツトにすでに記憶されたデータを反映しない
ことがあり得る。各データ・ブロツクの記憶がう
まくいつた後に肯定応答が与えられる場合、バツ
クアツプ・ユニツト中の対応するアドレスの数
は、そのブロツクのサイズを超えることができな
い。さらに、このブロツクのデータに対する肯定
応答がまだ送り出されていなかつたため、そのデ
ータは、依然としてソース・プロセツサ中にあ
る。したがつて、保留中の直列化検査合計の更新
が完了した後、バツクアツプ・ユニツトの他のす
べてのアドレスは正確な検査合計を含むことにな
る。その場合、障害のあるメモリ・ユニツトに対
するデータは、メモリ・ユニツトの障害がおこつ
たときにアクセスされたブロツク以外は、上記の
ように回復できる。このブロツクは、依然として
ソース・プロセツサに記憶されているデータから
回復しなければならない。 回復手順を実施するには、以下に示すような適
切な検出および管理機構が必要である。 1 1つまたは複数のプロセツサが、回復を担当
し、他のすべてのプロセツサおよびメモリ・ユ
ニツトにアクセス可能でなければならない。こ
れを、回復プロセツサと呼ぶ。 2 メモリ・ユニツトの障害の検出は、回復プロ
セツサへの合図機能をもつ、メモリ・ユニツト
内の様々なハードウエア検査器によつて行なわ
れる。最終的に、プロセツサは、適切な時間切
れの後で、初めてそれにアクセスするときに応
答を受け取らないこと、またはデータ・ブロツ
クを記憶するときに肯定応答を受け取らないこ
とによつて障害メモリ・ユニツトを検出するこ
とができる。この情報が、次に回復プロセツサ
に送られる。 3 バツクアツプ・メモリ・ユニツトは、各ブロ
ツクが新しいメモリ・ユニツトに転送されるご
とに、ブロツク開始アドレス、バイト・カウン
トおよびメモリ・ユニツト・アドレスに関して
初期設定しなければならない。部分的検査合計
(Dk-oewDk-pld)がバツクアツプ・ユニツトに
転送されるとき、そのソースが識別され、した
がつてバツクアツプ・ユニツトは対応する検査
合計アドレスを識別できる。ソース・アドレス
の識別は、通常、相互接続構造16の通信プロ
トコルの一部である。 4 回復開始時に、回復プロセツサは、他のすべ
てのプロセツサに停止するようにとのメツセー
ジを同報通信する。各プロセツサは、すでに進
行中のブロツクの記憶を完了する。次に各プロ
セツサは、それが障害のあるメモリ・ユニツト
に関連するまだ肯定応答のないブロツクを含む
かどうかを報告する。次いで、回復プロセツサ
は、前記のように回復を開始する。回復が完了
すると、回復プロセツサは、他のすべてのプロ
セツサに移るようにとのメツセージを同報通信
し、それらのプロセツサがその後処理を開始す
る。 第3図に、1つのメモリ・ユニツトまたはサブ
ユニツトでの部分的な検査合計の生成の実施例を
示す。こうした機構は、適切な制御を設けて、メ
モリ・チツプに統合できる。この実施例はデータ
およびバツクアツプ・メモリ・ユニツトに適用で
き、また同じ構造がすべてのメモリ・ユニツト、
たとえば、第2図に示す13,14,15および
20で使用されることに留意されたい。 相互接続構造16からポート40でデータが受
け取られ、レジスタ41にセーブされる。メモリ
44から以前のデータが、取り出され、ゲート4
2でレジスタ41のデータと排他的論理和演算さ
れる。その結果が、レジスタ43にセーブされ、
そのレジスタからポート40を介してバツクアツ
プ・メモリ・ユニツトに伝送される。新しいデー
タが、同時にレジスタ41からメモリ44に記憶
される。それがバツクアツプ・ユニツトである場
合、レジスタ43のデータが、レジスタ41に送
られ、新しい検査合計としてメモリ44に記憶さ
れる。 システムに取り出されるデータは、メモリ44
から取り出されて、45からの0と排他的論理和
演算される。45は次にそれらの元の値を保持す
ることができる。このデータが次に、レジスタ4
3にセーブされ、そこから、ポート40を介して
システムに送られる。 E 発明の効果 以上説明したように本発明によれば、1つの追
加メモリ・ユニツトによつて複数のメモリ・ユニ
ツトの経済的で有効なバツクアツプを提供するこ
とができる。
ている。式1と2は、以下の例に示すような、デ
ータ・ブロツクに拡張することができる。 0100 1011 0100 1011 0110 0100 1101 1111 1100 1011 0001 0110 1010 1111 0110 0011 x=abc ただし、xはブロツクa,b,cの検査合計で
ある。 検査合計を構成していたデータの1つのビツト
だけが失われている場合、データのビツトは回復
できる。これを、上述の例と同様に、データ・ブ
ロツクに、あるいは一般にユニツトにも拡大でき
る。以下にその例を示す。 0100 1011 0100 1011 1101 0100 0110 1111 0001 1011 1100 0110 0110 1111 1010 0011 b=axc すなわち、ブロツクbのデータを保持するメモ
リ・ユニツトが障害をおこした場合、上述のよう
に、検査合計Xおよびブロツクaとcからそれが
回復できる。 すなわち、第2図を参照すると、バツクアツ
プ・ユニツトのアドレスiにある検査合計は次の
ように定義される。 ci=D0iD1i……Doi (3) アドレスiにある障害のあるメモリ・ユニツト
kのデータは次のように再構成される。 Dki= D0iD1i……D(k-1)iCi……Doi (4) 以上のことから、検査合計を生成するために
は、n個のメモリ・ユニツトのデータを取り出
し、それをバツクアツプ・ユニツトに送り、この
部分的な結果とバツクアツプ・ユニツトに記憶さ
れている以前の検査合計との排他的論理和(モジ
ユーロ2数加算)演算を行ない、次いで、その結
果を次の検査合計として記憶することが必要にな
るはずである。こうした方法には、記憶された各
データ・ワードごとにn+1回の転送が必要であ
り、したがつてシステム相互接続構造16に負担
がかかりすぎる恐れがある。したがつて、相互接
続構造を介する転送が最小となる別の方法が望ま
しい。新しい検査合計を生成し記憶するのに2回
の転送しか必要でないこうした別の方法につい
て、次に説明する。この代替法は、数学的に次の
ように記載できる。バツクアツプ・ユニツト20
のあるアドレスiにある以前の検査合計を次式の
ように置く。 Cpld= D0D1……Dk-pld……Do (5) 新しいデータをDk-oewとし、メモリ・ユニツト
kのアドレスiのDk-pldと置換する。 そうすると、新しい検査合計は次式のようにな
る。 Coew=D0D1……Dk-oew……Do (6) =(Dk-pldDk-oew)D0D1…… +Dk-pld……Do (7) =(Dk-pldDk-oew)Cpld (8) これらの代入が可能なのは、Dk-pldDk-pld=
0モジユーロ2であり加算は交換可能なためであ
る。 したがつて、メモリ・ユニツトkのアドレスi
にデータを記憶し、それをバツクアツプ・ユニツ
ト20のアドレスiにバツクアツプするために
は、メモリ・ユニツトkのアドレスiで、新しい
データと以前のデータの排他的論理和を取り、こ
の部分的な結果をバツクアツプ・ユニツト20に
送り、そこでアドレスiの以前の検査合計と排他
的論理和を取ることによつて新しい検査合計が生
成され、その結果が、ユニツトxのアドレスiに
新しい検査合計として記憶される。ユニツトkに
記憶されるデータの各ワードについてこのプロセ
スが繰り返される。 障害がある場合、最初の健在なユニツトのすべ
てのアドレスからデータを取り出して、それをバ
ツクアツプ・ユニツトに送り、それとそこに記憶
されている検査合計の排他的論理和を取ることに
よつて回復が実施される。残りのすべてのユニツ
トについてそれが繰り返される。すべてのユニツ
トについてそれが実行されると、バツクアツプ・
ユニツト20は、回復されたデータを含むように
なる。回復の実施中、新しいどんなデータも回復
がまだ完了していないどのアドレスにも記憶され
ない。もちろん、バツクアツプ・ユニツト自体に
障害がある場合、どんなデータも失われない。し
かし、新しいメモリを使用して、既存のデータの
検査合計を再生成し、それを新しいメモリ・ユニ
ツトに記憶するのが望ましい。 本発明のバツクアツプ・ユニツトを用いたシス
テムの全体的性能は、相互接続構造の帯域幅と使
用するメモリ・ユニツトの帯域幅に依存する。し
かし、バツクアツプ・ユニツトにアクセスする必
要があるのは、他のメモリ・ユニツトの書込みの
場合だけであり、しかも通常書込み速度は、読取
り速度よりも低い。さらに、バツクアツプ・ユニ
ツトは、他のユニツトより高い内部帯域幅と性能
をもつことができるので、リアル・タイム・バツ
クアツプは相互接続構造全体の帯域幅だけに依存
するようになる。 2つまたはそれ以上のメモリ・ユニツトが、同
じアドレスiにあるデータで更新される場合、以
前の検査合計を新しい部分的な検査合計(Dpld
Doew)と排他的論理和を取らなければならない
ので、バツクアツプ・ユニツトのアドレスiにあ
る検査合計の更新を、直列化しなければならな
い。直列化すべきもう一つの理由は、バツクアツ
プ・メモリ・ユニツトへのアクセス経路を瞬間的
にブロツクする原因となり得る相互接続構造の通
信量である。モジユーロ2加算は交換可能なの
で、検査合計の更新の直列化は、検査合計の有効
性には全く重要ではない。すなわち、どのアドレ
スにある検査合計も、どんな順序でも更新でき
る。 最終的に、検査合計は、すべてのメモリ・ユニ
ツトに記憶されたすべてのデータを常に正確に反
映する。 バツクアツプ・ユニツトのアドレスに記憶され
た検査合計は、特定のメモリ・ユニツトに記憶さ
れたデータを瞬間的に反映しなくなることがある
ので、直列化は回復手順に影響を与える。すなわ
ち、以下で論じるように、回復技術はこのことを
考慮しなければならない。 メモリ・ユニツトの1つ(だけ)に障害がある
場合、回復は次のように行なわれる。すべてのメ
モリ・ユニツトのすべてのデータ転送が停止し、
直列化されているために、保留中のすべての検査
合計が完了する。最初の健全なメモリ・ユニツト
からのデータが、バツクアツプ・ユニツトに転送
され、それが、そこに記憶されている検査合計と
モジユーロ2加算される。他のすべての健在なメ
モリ・ユニツトについてこの手順が、繰り返され
る。最後のメモリ・ユニツトからのデータがバツ
クアツプ・ユニツトのデータと排他的論理和演算
されると、バツクアツプ・ユニツトは、障害のあ
るメモリ・ユニツトから回復されたデータを含む
ようになる。 この時点で、回復されたデータが、バツクアツ
プ・ユニツトから、こうした状況で使用できるよ
うになつた新しい記憶空間に転送できる。こうし
た空間は、予備メモリ・ユニツト中で、または健
在のメモリ・ユニツトから記憶階層のすぐ下のレ
ベルにデータを移動することによつて、利用でき
るようになる。最後に、データ回復が完了した
後、データの新しい位置を反映する新しい検査合
計がバツクアツプ・ユニツトで生成される。次い
で、新しいデータのメモリ・ユニツトへの転送が
再開される。 検査合計更新の直列化により検査合計がいつで
も一時的にすべてのメモリ・ユニツトのデータを
不正確に反映するようになることがあるので、こ
の回復手順を、次のように修正すべきである。 まず、データがメモリ・ユニツトkのアドレス
iに記憶されていると仮定する。直列化の結果と
して、バツクアツプ・メモリ・ユニツトのアドレ
スiは、メモリ・ユニツトkに障害がおこつたと
き、まだ検査合計の対応する変化を含んでいない
かもしれない。したがつて、検査合計は以前のデ
ータを反映しているので、アドレスiのメモリ・
ユニツトkのデータをその検査合計から回復でき
ない。この問題を解決するために、他の拘束条件
が課される。すなわち、メモリとバツクアツプ・
ユニツトがどちらもうまく更新されたという肯定
応答を受け取るまで、ソース・プロセツサでデー
タを保持しなければならない。この拘束条件は、
その肯定応答がたとえば4kバイトの大きなデー
タ・ブロツクに使用される場合に、相互接続構造
16の通信負荷にあまり大きな影響を及ぼさない
ものとすべきである。この拘束条件と、一時に1
台のメモリ・ユニツトだけが障害をおこすという
仮定を用いて、次のような完全な回復手順が進め
られる。 2つの場合について説明する。最初の場合で
は、障害発生時にデータ記憶のためにメモリ・ユ
ニツトが、アクセスされておらず、第2の場合で
は、障害発生時にデータ記憶のためにメモリ・ユ
ニツトがアクセスされていたとする。 第1の場合、すなわち、障害発生時にデータ記
憶のためにメモリ・ユニツトがアクセスされてい
なかつたときは、障害発生時に障害ユニツトがア
クセスされていなかつたので、検査合計のすべて
の直列化更新が、正確に完了している。したがつ
て、前記の手順に従つて回復を行なうことができ
る。 障害発生時にデータ記憶のためにメモリ・ユニ
ツトがアクセスされていた場合には、バツクアツ
プ・ユニツトの1つまたは複数のアドレスに記憶
されている検査合計が、直列化の結果として障害
ユニツトにすでに記憶されたデータを反映しない
ことがあり得る。各データ・ブロツクの記憶がう
まくいつた後に肯定応答が与えられる場合、バツ
クアツプ・ユニツト中の対応するアドレスの数
は、そのブロツクのサイズを超えることができな
い。さらに、このブロツクのデータに対する肯定
応答がまだ送り出されていなかつたため、そのデ
ータは、依然としてソース・プロセツサ中にあ
る。したがつて、保留中の直列化検査合計の更新
が完了した後、バツクアツプ・ユニツトの他のす
べてのアドレスは正確な検査合計を含むことにな
る。その場合、障害のあるメモリ・ユニツトに対
するデータは、メモリ・ユニツトの障害がおこつ
たときにアクセスされたブロツク以外は、上記の
ように回復できる。このブロツクは、依然として
ソース・プロセツサに記憶されているデータから
回復しなければならない。 回復手順を実施するには、以下に示すような適
切な検出および管理機構が必要である。 1 1つまたは複数のプロセツサが、回復を担当
し、他のすべてのプロセツサおよびメモリ・ユ
ニツトにアクセス可能でなければならない。こ
れを、回復プロセツサと呼ぶ。 2 メモリ・ユニツトの障害の検出は、回復プロ
セツサへの合図機能をもつ、メモリ・ユニツト
内の様々なハードウエア検査器によつて行なわ
れる。最終的に、プロセツサは、適切な時間切
れの後で、初めてそれにアクセスするときに応
答を受け取らないこと、またはデータ・ブロツ
クを記憶するときに肯定応答を受け取らないこ
とによつて障害メモリ・ユニツトを検出するこ
とができる。この情報が、次に回復プロセツサ
に送られる。 3 バツクアツプ・メモリ・ユニツトは、各ブロ
ツクが新しいメモリ・ユニツトに転送されるご
とに、ブロツク開始アドレス、バイト・カウン
トおよびメモリ・ユニツト・アドレスに関して
初期設定しなければならない。部分的検査合計
(Dk-oewDk-pld)がバツクアツプ・ユニツトに
転送されるとき、そのソースが識別され、した
がつてバツクアツプ・ユニツトは対応する検査
合計アドレスを識別できる。ソース・アドレス
の識別は、通常、相互接続構造16の通信プロ
トコルの一部である。 4 回復開始時に、回復プロセツサは、他のすべ
てのプロセツサに停止するようにとのメツセー
ジを同報通信する。各プロセツサは、すでに進
行中のブロツクの記憶を完了する。次に各プロ
セツサは、それが障害のあるメモリ・ユニツト
に関連するまだ肯定応答のないブロツクを含む
かどうかを報告する。次いで、回復プロセツサ
は、前記のように回復を開始する。回復が完了
すると、回復プロセツサは、他のすべてのプロ
セツサに移るようにとのメツセージを同報通信
し、それらのプロセツサがその後処理を開始す
る。 第3図に、1つのメモリ・ユニツトまたはサブ
ユニツトでの部分的な検査合計の生成の実施例を
示す。こうした機構は、適切な制御を設けて、メ
モリ・チツプに統合できる。この実施例はデータ
およびバツクアツプ・メモリ・ユニツトに適用で
き、また同じ構造がすべてのメモリ・ユニツト、
たとえば、第2図に示す13,14,15および
20で使用されることに留意されたい。 相互接続構造16からポート40でデータが受
け取られ、レジスタ41にセーブされる。メモリ
44から以前のデータが、取り出され、ゲート4
2でレジスタ41のデータと排他的論理和演算さ
れる。その結果が、レジスタ43にセーブされ、
そのレジスタからポート40を介してバツクアツ
プ・メモリ・ユニツトに伝送される。新しいデー
タが、同時にレジスタ41からメモリ44に記憶
される。それがバツクアツプ・ユニツトである場
合、レジスタ43のデータが、レジスタ41に送
られ、新しい検査合計としてメモリ44に記憶さ
れる。 システムに取り出されるデータは、メモリ44
から取り出されて、45からの0と排他的論理和
演算される。45は次にそれらの元の値を保持す
ることができる。このデータが次に、レジスタ4
3にセーブされ、そこから、ポート40を介して
システムに送られる。 E 発明の効果 以上説明したように本発明によれば、1つの追
加メモリ・ユニツトによつて複数のメモリ・ユニ
ツトの経済的で有効なバツクアツプを提供するこ
とができる。
第1図は、本発明を適用しうる密に結合された
コンピユータ・システム全体の概略図である。第
2図は、本発明の実施例の全体的構成図である。
第3図は、システムの通信量を減少させる本発明
の他の実施例の概略図である。 10,11,12……プロセツサ、13,1
4,15……メモリ・ユニツト、16……相互接
続構像、20……バツク・アツプ・メモリ・ユニ
ツト、21,22,23,24……制御回路、3
1,32,33,34,40……ポート、41,
43……レジスタ、42……ゲート、44……メ
モリ。
コンピユータ・システム全体の概略図である。第
2図は、本発明の実施例の全体的構成図である。
第3図は、システムの通信量を減少させる本発明
の他の実施例の概略図である。 10,11,12……プロセツサ、13,1
4,15……メモリ・ユニツト、16……相互接
続構像、20……バツク・アツプ・メモリ・ユニ
ツト、21,22,23,24……制御回路、3
1,32,33,34,40……ポート、41,
43……レジスタ、42……ゲート、44……メ
モリ。
Claims (1)
- 【特許請求の範囲】 1 対応するメモリスペースが同じアドレスラベ
ルを有するような複数のメモリスペースを有する
複数のメモリモジユールと、 上記メモリモジユールと対応するメモリスペー
スが同じアドレスラベルを有するような複数のメ
モリスペースを有するバツクアツプメモリユニツ
トと、 上記複数のメモリモジユールにおける対応する
アドレスラベルを有する各メモリスペースの内容
の検査合計を計算する手段と、 上記検査合計を上記バツクアツプメモリユニツ
トの対応するアドレスラベルを有するメモリスペ
ースに記憶する手段と、 上記メモリモジユールの1つに障害が生じたと
きに、他のメモリモジユールにおけるデータおよ
び上記バツクアツプメモリユニツトにおける上記
検査合計から、上記障害の生じたメモリモジユー
ルに以前に記憶されていたデータを計算する手段
と、 を具備して成るメモリ。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/068,862 US4849978A (en) | 1987-07-02 | 1987-07-02 | Memory unit backup using checksum |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6421652A JPS6421652A (en) | 1989-01-25 |
JPH054699B2 true JPH054699B2 (ja) | 1993-01-20 |
Family
ID=22085185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63122248A Granted JPS6421652A (en) | 1987-07-02 | 1988-05-20 | Memory |
Country Status (3)
Country | Link |
---|---|
US (1) | US4849978A (ja) |
EP (1) | EP0297507A3 (ja) |
JP (1) | JPS6421652A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996042083A1 (fr) * | 1995-06-08 | 1996-12-27 | Ibm Japan Ltd. | Methode de reconstruction de donnees et systeme de stockage de donnees |
EP2055496A2 (en) | 2007-11-01 | 2009-05-06 | Fujifilm Corporation | Inkjet recording material |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4942579A (en) * | 1987-06-02 | 1990-07-17 | Cab-Tek, Inc. | High-speed, high-capacity, fault-tolerant error-correcting storage system |
US5257367A (en) * | 1987-06-02 | 1993-10-26 | Cab-Tek, Inc. | Data storage system with asynchronous host operating system communication link |
US4989206A (en) * | 1988-06-28 | 1991-01-29 | Storage Technology Corporation | Disk drive memory |
US4989205A (en) * | 1988-06-28 | 1991-01-29 | Storage Technology Corporation | Disk drive memory |
US5283791A (en) * | 1988-08-02 | 1994-02-01 | Cray Research Systems, Inc. | Error recovery method and apparatus for high performance disk drives |
US5218689A (en) * | 1988-08-16 | 1993-06-08 | Cray Research, Inc. | Single disk emulation interface for an array of asynchronously operating disk drives |
US5276806A (en) * | 1988-09-19 | 1994-01-04 | Princeton University | Oblivious memory computer networking |
US5052001A (en) * | 1989-11-22 | 1991-09-24 | Unisys Corporation | Multiple memory bank parity checking system |
US5088092A (en) * | 1989-11-22 | 1992-02-11 | Unisys Corporation | Width-expansible memory integrity structure |
US5402428A (en) * | 1989-12-25 | 1995-03-28 | Hitachi, Ltd. | Array disk subsystem |
US5121397A (en) * | 1990-02-14 | 1992-06-09 | Hewlett-Packard Company | Method and apparatus for producing order independent signatures for error detection |
US5088081A (en) * | 1990-03-28 | 1992-02-11 | Prime Computer, Inc. | Method and apparatus for improved disk access |
US5247524A (en) * | 1990-06-29 | 1993-09-21 | Digital Equipment Corporation | Method for generating a checksum |
US5177744A (en) * | 1990-09-04 | 1993-01-05 | International Business Machines Corporation | Method and apparatus for error recovery in arrays |
US5544347A (en) | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5617532A (en) * | 1990-10-18 | 1997-04-01 | Seiko Epson Corporation | Information processing apparatus and data back-up/restore system for the information processing apparatus |
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 |
US5239640A (en) * | 1991-02-01 | 1993-08-24 | International Business Machines Corporation | Data storage system and method including data and checksum write staging storage |
US5191584A (en) * | 1991-02-20 | 1993-03-02 | Micropolis Corporation | Mass storage array with efficient parity calculation |
US5257362A (en) * | 1991-03-08 | 1993-10-26 | International Business Machines Corporation | Method and means for ensuring single pass small read/write access to variable length records stored on selected DASDs in a DASD array |
JP2701591B2 (ja) * | 1991-05-31 | 1998-01-21 | 日本電気株式会社 | 自動車電話装置の自己診断方法 |
US5341381A (en) * | 1992-01-21 | 1994-08-23 | Tandem Computers, Incorporated | Redundant array parity caching system |
JP2500038B2 (ja) * | 1992-03-04 | 1996-05-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | マルチプロセッサ・コンピュ―タ・システム、フォ―ルト・トレラント処理方法及びデ―タ処理システム |
US5459857A (en) * | 1992-05-15 | 1995-10-17 | Storage Technology Corporation | Fault tolerant disk array data storage subsystem |
US5398331A (en) * | 1992-07-08 | 1995-03-14 | International Business Machines Corporation | Shared storage controller for dual copy shared data |
JP3146075B2 (ja) * | 1992-10-14 | 2001-03-12 | 三菱電機株式会社 | 多重化メモリ装置 |
US5689678A (en) | 1993-03-11 | 1997-11-18 | Emc Corporation | Distributed storage array system having a plurality of modular control units |
US5475753A (en) * | 1993-11-12 | 1995-12-12 | Matsushita Electric Corporation Of America | Apparatus and method for certifying the delivery of information |
US5649089A (en) * | 1994-11-30 | 1997-07-15 | Motorola, Inc. | Method and apparatus for maintaining a redundant database system |
US5761403A (en) * | 1995-05-17 | 1998-06-02 | Nec Corporation | Failure recovery system and failure recovery method in loosely coupled multi-computer system, and medium for storing failure recovery program |
US5678061A (en) * | 1995-07-19 | 1997-10-14 | Lucent Technologies Inc. | Method for employing doubly striped mirroring of data and reassigning data streams scheduled to be supplied by failed disk to respective ones of remaining disks |
US6098128A (en) | 1995-09-18 | 2000-08-01 | Cyberstorage Systems Corporation | Universal storage management system |
FI102221B (fi) * | 1995-10-30 | 1998-10-30 | Nokia Telecommunications Oy | Tietokoneen muistiongelmien paljastaminen |
US5889935A (en) * | 1996-05-28 | 1999-03-30 | Emc Corporation | Disaster control features for remote data mirroring |
US6052797A (en) * | 1996-05-28 | 2000-04-18 | Emc Corporation | Remotely mirrored data storage system with a count indicative of data consistency |
US5996113A (en) * | 1996-11-26 | 1999-11-30 | Intel Corporation | Method and apparatus for generating digital checksum signatures for alteration detection and version confirmation |
US6397365B1 (en) | 1999-05-18 | 2002-05-28 | Hewlett-Packard Company | Memory error correction using redundant sliced memory and standard ECC mechanisms |
US6553388B1 (en) | 2000-07-20 | 2003-04-22 | International Business Machines Corporation | Database deltas using Cyclic Redundancy Checks |
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 |
US6490668B2 (en) * | 2000-12-15 | 2002-12-03 | Hewlett-Packard Company | System and method for dynamically moving checksums to different memory locations |
US6317857B1 (en) * | 2001-01-12 | 2001-11-13 | Hewlett-Packard Company | System and method for utilizing checksums to recover data |
US6665830B2 (en) * | 2001-01-31 | 2003-12-16 | Hewlett-Packard Development Company, L.P. | System and method for building a checksum |
US6948112B2 (en) | 2001-05-10 | 2005-09-20 | Hewlett-Packard Development Company, L.P. | System and method for performing backward error recovery in a computer |
US6976146B1 (en) | 2002-05-21 | 2005-12-13 | Network Appliance, Inc. | System and method for emulating block appended checksums on storage devices by sector stealing |
US20060075281A1 (en) * | 2004-09-27 | 2006-04-06 | Kimmel Jeffrey S | Use of application-level context information to detect corrupted data in a storage system |
US7653712B1 (en) * | 2004-09-30 | 2010-01-26 | Emc Corporation | Methods and apparatus for processing configuration data |
US8010829B1 (en) * | 2005-10-20 | 2011-08-30 | American Megatrends, Inc. | Distributed hot-spare storage in a storage cluster |
US8010485B1 (en) | 2005-10-20 | 2011-08-30 | American Megatrends, Inc. | Background movement of data between nodes in a storage cluster |
US7996608B1 (en) | 2005-10-20 | 2011-08-09 | American Megatrends, Inc. | Providing redundancy in a storage system |
US7778960B1 (en) | 2005-10-20 | 2010-08-17 | American Megatrends, Inc. | Background movement of data between nodes in a storage cluster |
JP4692998B2 (ja) * | 2005-11-11 | 2011-06-01 | コクヨ株式会社 | 椅子及びランバーサポート |
US7809892B1 (en) | 2006-04-03 | 2010-10-05 | American Megatrends Inc. | Asynchronous data replication |
US8498967B1 (en) | 2007-01-30 | 2013-07-30 | American Megatrends, Inc. | Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome |
US8046548B1 (en) | 2007-01-30 | 2011-10-25 | American Megatrends, Inc. | Maintaining data consistency in mirrored cluster storage systems using bitmap write-intent logging |
US7908448B1 (en) | 2007-01-30 | 2011-03-15 | American Megatrends, Inc. | Maintaining data consistency in mirrored cluster storage systems with write-back cache |
US8108580B1 (en) | 2007-04-17 | 2012-01-31 | American Megatrends, Inc. | Low latency synchronous replication using an N-way router |
EP2605140B1 (en) * | 2007-11-21 | 2020-08-26 | Marvell Asia Pte, Ltd. | Parallel Reed-Solomon RAID (RS-RAID) Architecture, Device, and Method |
US9600513B2 (en) | 2011-06-09 | 2017-03-21 | International Business Machines Corporation | Database table comparison |
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 |
CN107015882B (zh) | 2016-12-26 | 2019-11-22 | 阿里巴巴集团控股有限公司 | 一种区块数据校验方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3876978A (en) * | 1973-06-04 | 1975-04-08 | Ibm | Archival data protection |
US4019033A (en) * | 1975-12-29 | 1977-04-19 | Honeywell Information Systems, Inc. | Control store checking system and method |
US4433388A (en) * | 1980-10-06 | 1984-02-21 | Ncr Corporation | Longitudinal parity |
US4464755A (en) * | 1982-03-26 | 1984-08-07 | Rca Corporation | Memory system with error detection and correction |
JPS60183653A (ja) * | 1984-03-01 | 1985-09-19 | Toshiba Corp | ビツト・エラ−検出機能を備えたメモリ |
-
1987
- 1987-07-02 US US07/068,862 patent/US4849978A/en not_active Expired - Fee Related
-
1988
- 1988-05-20 JP JP63122248A patent/JPS6421652A/ja active Granted
- 1988-06-28 EP EP88110297A patent/EP0297507A3/en not_active Ceased
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996042083A1 (fr) * | 1995-06-08 | 1996-12-27 | Ibm Japan Ltd. | Methode de reconstruction de donnees et systeme de stockage de donnees |
EP2055496A2 (en) | 2007-11-01 | 2009-05-06 | Fujifilm Corporation | Inkjet recording material |
Also Published As
Publication number | Publication date |
---|---|
JPS6421652A (en) | 1989-01-25 |
EP0297507A3 (en) | 1990-06-13 |
EP0297507A2 (en) | 1989-01-04 |
US4849978A (en) | 1989-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH054699B2 (ja) | ||
EP0120384B1 (en) | Self-checking computer circuitry | |
US5007053A (en) | Method and apparatus for checksum address generation in a fail-safe modular memory | |
US5887270A (en) | Fault tolerant controller system and method | |
US5146588A (en) | Redundancy accumulator for disk drive array memory | |
EP0540450B1 (en) | ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme | |
US5404361A (en) | Method and apparatus for ensuring data integrity in a dynamically mapped data storage subsystem | |
US5379417A (en) | System and method for ensuring write data integrity in a redundant array data storage system | |
US5134619A (en) | Failure-tolerant mass storage system | |
JP3211976B2 (ja) | ディスクアレイシステム用割込信号生成装置及びその方法 | |
JP2831072B2 (ja) | ディスクドライブメモリ | |
US4964129A (en) | Memory controller with error logging | |
US5596708A (en) | Method and apparatus for the protection of write data in a disk array | |
US5537425A (en) | Parity-based error detection in a memory controller | |
US5581690A (en) | Method and apparatus for preventing the use of corrupt data in a multiple disk raid organized storage system | |
JP2001005736A (ja) | メモリ誤り訂正装置 | |
US5933592A (en) | Promoting device level error to raidset level error to restore redundacy in a raid array data storage system | |
US5751745A (en) | Memory implemented error detection and correction code with address parity bits | |
US5396620A (en) | Method for writing specific values last into data storage groups containing redundancy | |
JP3748117B2 (ja) | 鏡像化メモリ用エラー検出システム | |
US5838892A (en) | Method and apparatus for calculating an error detecting code block in a disk drive controller | |
RU2327236C2 (ru) | Оперативное запоминающее устройство с высокой степенью отказоустойчивости | |
JPH01106247A (ja) | メモリカード | |
JPS61243549A (ja) | 誤り検出訂正方式 | |
JPS6024493B2 (ja) | メモリ制御方式 |