JP3748117B2 - 鏡像化メモリ用エラー検出システム - Google Patents
鏡像化メモリ用エラー検出システム Download PDFInfo
- Publication number
- JP3748117B2 JP3748117B2 JP30064095A JP30064095A JP3748117B2 JP 3748117 B2 JP3748117 B2 JP 3748117B2 JP 30064095 A JP30064095 A JP 30064095A JP 30064095 A JP30064095 A JP 30064095A JP 3748117 B2 JP3748117 B2 JP 3748117B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- error
- memory
- controller
- detecting
- 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 - Fee Related
Links
Images
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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- 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
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1608—Error detection by comparing the output signals of redundant hardware
- G06F11/1612—Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage
-
- 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
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/109—Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation
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
【産業上の利用分野】
本発明は、全般的には、ディスク記憶制御装置に関し、詳細には、二重制御装置ディスク記憶システム中の鏡像化メモリ・データ・エラーを検出するシステムに関する。
【0002】
【従来の技術】
信頼性の高いコンピュータ・ディスク記憶システムでは、部品の障害時のデータの喪失およびダウン・タイムの可能性を減少させるために、サブシステムを構成するすべての物理的部品に冗長性を有することが望ましい。それぞれ、それ自身のメモリを有する、二重ディスク記憶制御装置を使用すると、ディスク記憶システムにいくつかの大きな利益が与えられる。たとえば、(1)ある制御装置またはそのメモリに障害が発生し、あるいはある制御装置またはそのメモリが失われた場合に回復できるようにする記憶情報の冗長性が保持され、(2)二次制御装置のフェイルオーバ(failover)機能のためにディスエーブルされた制御装置の修理が可能であり、(3)二次制御装置が利用可能であるために、より長いシステム・アップ時間が得られる。
【0003】
このような冗長サブシステムからより高い性能を得ることが望ましいので、キャッシングと、メモリを一時記憶域として使用することが一般的になってきている。このような重複物理メモリを同期させる手段は困難であることがある。ある種のディスク・システムは、待ち時間(遅延または大量の更新)プロセスを使用してこの重複を生成するが、その手法は経費を追加する傾向があり、管理が非常に複雑である。他の手法(本発明で使用される方法)は、リアルタイム鏡像化メモリ・プロセスを形成して、データの正確なこの重複を生成し保持することである。リアルタイム同期冗長メモリ(鏡像化メモリ)を二重制御装置で使用すると、1つの制御装置から他の制御装置へのフェイルオーバの場合の速度および精度が向上する。
【0004】
しかし、冗長メモリをこのように使用すると、複数ディスク記憶制御装置解決策を提供することがずっと難しくなる。解消すべき典型的で重大な問題には、(1)処理速度を減少させずに鏡像化メモリのデータ・エラーを効果的にかつ確実に検出するにはどうすべきかと、(2)データ・エラーの原因、すなわちミラーのどちらの面が、破壊されたデータを保持しているかを効果的にかつ確実に識別するにはどうすべきかが含まれる。
【0005】
複数制御装置ディスク記憶システム中の鏡像化メモリでのエラー検出に関連する前記の問題と、本発明で取り上げないその他の問題が与えられた場合、従来技術では一般に、複数制御装置システム中の制御装置間で鏡像化メモリを使用することは教示されていない。
【0006】
【発明が解決しようとする課題】
したがって、本発明の目的は、二重制御装置ディスク記憶システム中のリアルタイム同期鏡像化メモリ制御装置用の効果的で信頼できる鏡像化メモリ・データ・エラー検出システムを提供することである。
【0007】
【課題を解決するための手段】
本発明の好ましい実施例の原則によれば、二重制御装置と、制御装置間の鏡像化メモリとを有するディスク記憶システムのメモリ・データ・エラーを確実に検出するエラー検出システムおよび方法が開示される。このシステムおよび方法は、一方の制御装置のメモリから第1のデータを取り出し、それとほぼ同時に、他方の制御装置の鏡像化メモリ・アドレス位置から第2のデータを取り出す手段を含む。このシステムおよび方法はさらに、第1のデータのエラーと第2のデータのエラーを別々に検出し、それとほぼ同時に、第1のデータおよび第2のデータのそれぞれの他方に対するエラーを検出する手段を含む。
【0008】
本発明の他の原則によれば、第1のデータのエラーと第2のデータのエラーを別々に検出する手段は、それぞれ、第1のデータおよび第2のデータに対してエラー訂正コード(ECC)訂正を使用する手段を含む。さらに、第1のデータおよび第2のデータのそれぞれの他方に対するエラーを検出する手段は、第1のデータと第2のデータを比較して、一致が存在するかどうかを判定する手段を含む。
【0009】
本発明の他の原則によれば、調停手段は、ミラーの両面からの読取りを同時に行い、データ・エラー検出を同時に行うことができるように両方の制御装置のメモリへのアクセスを一方の制御装置に与えることを管理する。
【0010】
本発明の他の目的、利点、および機能は、説明が進むにつれてさらに明らかになろう。
【0011】
【実施例】
図1は、鏡像化メモリを間に有する二重ディスク制御装置システム10のデータ・エラーを検出する本発明のシステムの概要を表すブロック図である。ディスク記憶制御システム10は、ディスク制御装置12を有するディスク記憶サブシステム15と、二重記憶制御装置20および25とを含む。制御装置20および25はそれぞれ、メモリ30とメモリ35とを有する。
【0012】
大部分のタイプのランダム・アクセス・メモリ(RAM)は、メモリ30および35として使用するのに適しているが、好ましい実施例では、不揮発性RAM(または電源バックアップを使用することによって不揮発性になる揮発性RAM)を使用して、電源障害の場合にデータを保持できるようにする。本発明で図示し全般的に論じているのは、二重制御装置20および25だけであるが、本明細書で表され意味される原則が、複数制御装置環境、すなわち2つよりも多くの制御装置で同様に適用できることは自明であろう。
【0013】
各メモリ30および35は、鏡像化メモリである。当業者には周知のように、鏡像化メモリとは単に、あるメモリ中のデータが他のメモリで重複または「鏡像化」されることを意味する。鏡像化メモリは、本発明では、ある制御装置のメモリ中のデータが他の制御装置のメモリで重複または「鏡像化」されることを意味する。二重制御装置と、各制御装置中の鏡像化メモリの存在は、ディスク記憶システム10にフォールト・トレラント環境を提供する。すなわち、一方の制御装置または一方の制御装置メモリに障害が発生した場合、他方の制御装置およびそのメモリが存在することによって、連続処理のための継ぎ目なしフェイルオーバ・オプションが提供される。この状況では、制御装置20と制御装置25の間で通信が行われて費用有効なリアルタイム・リンクが提供され、各制御装置は、重複制御装置の状態を監視し、活動の調和をとることができる。
【0014】
好ましい実施例では、鏡像化メモリはリアルタイム鏡像化メモリであり、すなわち単一のマイクロプロセッサ・アクセスまたは直接メモリ・アクセスによって、メモリ30へのデータの更新とメモリ35へのデータの更新がほぼ同時に行われ、あるいはメモリ30のデータの検索とメモリ35のデータの検索がほぼ同時に行われる。調停論理機構40および45は、各制御装置がいつ、メモリのデータを更新し、あるいは検索するためのアクセスを与えられるかを制御する。調停論理機構40および45はそれぞれ、現在、どちらの制御装置がメモリへの現アクセスを有するかが分かるように相互に通信する。
【0015】
好ましい実施例では、調停論理機構40および45は、単一の時間に1つの制御装置しかメモリにアクセスできないようにする。たとえば、調停論理機構40は、メモリ30へのアクセスを制御装置20に与えるとき、同様に適当な信号回線をイネーブル/ディスエーブルすることによって、制御装置25のメモリ35へのアクセスを制御装置20に与える。これによって、制御装置20は、両方のメモリに同時にアクセスすることができる。したがって、調停論理機構40がメモリ30および35へのアクセスを制御装置20に与えるとき、調停論理機構45は、制御装置25がどちらのメモリにもアクセスできないようにする。
【0016】
二重制御装置構成の主要な目的のうちの1つが、ある制御装置から他の制御装置へただちにフェイルオーバできるようにすることであることが与えられた場合、動作が割り込まれずに継続するように、各制御装置のメモリ内容は、フェイルオーバが行われる前には同じでなければならない。したがって、本発明は、メモリ30とメモリ35の両方からのデータのほぼ同時のリアルタイム検索時のデータ・エラー検出に焦点を当てる。調停論理機構40および45によって、制御装置が両方のメモリにアクセスするとき、メモリ30およびメモリ35の一方から第1のデータが取り出され、それと同時に、メモリ30およびメモリ35のうちの他方から第2のデータが取り出される。第1および第2のデータはそれぞれ、メモリ30および35の鏡像化アドレス位置から検索される。第1および第2のデータは、単一データ・ビット(バイト)を備えることも、あるいは複数データ・ビット(バイト)を備えることもできる。
【0017】
第1および第2のデータは、取り出された直後に、エラー訂正コード(ECC)100および105を実施することによってエラーがないかどうかを別々にかつ独立に検査される。また、これとほぼ同時に、第1のデータと第2のデータが相互に比較され、それらのデータの間にエラーが発生しているかどうかが判定される(90および95)。エラーが検出されなかった場合、アクセスは正常に進行し、データ値が一致する場合、比較プロセスはアクセス時間に影響を及ぼさない。しかし、ECC検査または比較検査によってエラーが検出された場合、制御プロセッサにエラーを通知するように信号線(ビット)がセットされる。この3つの別々のエラー検査が与えられた場合、エラーの原因はほぼ判定することができる(すなわちミラーのどちらの面がデータ破壊されているかを判定することができる)。したがって、次いで、エラーに応じて適当な処置をとることができ、そのためメモリ・システムの信頼性が増大する。
【0018】
次に図2を参照すると、本発明のシステムのさらに詳細な概略ブロック図が示されている。図1と図2の間の類似の構成要素は、類似の参照符号を保持する。したがって、各制御装置20および25は全般的に参照され、各鏡像化メモリ30および35は、好ましい実施例で使用される不揮発性ダイナミック・ランダム・アクセス・メモリ(NVDRAM)として参照され、調停論理機構40および45、ECC回路100および105、ならびに比較回路90および95はすべて、図1と同様に参照されている。説明を簡単にするために、NVDRAM制御装置50および55は、本明細書ではDRAM制御装置として参照する。すべての方向矢印は、通信またはデータ転送、あるいはその両方の経路を示す。
【0019】
各制御装置20および25は、それぞれの回路を全体的に支配する制御装置自体の内部クロック(図示せず)を有する。図1に関して前記で述べたように、調停論理機構40および45は、どちらの制御装置がメモリ30および35へのアクセスを与えられるかと、どちらの制御装置が前記メモリにアクセスすることをディスエーブルされるかを制御する。調停論理機構40および45はそれぞれ、相互に通信し、DRAM制御装置50および55、バッファ60および65、制御トランシーバ70および75、ならびにデータ・トランシーバ80および85と通信する。
【0020】
当技術分野で一般的であるように、DRAM制御装置50および55は、Row Address Select(RAS)、Column Address Select(CAS)、Write Enable(WE)、Output Enable(OE)など、それぞれDRAM30および35の適当なアドレスにアクセスするためのタイミング・制御論理信号を管理し生成する。バッファ60および65は、それぞれDRAM30および35へのアクセスに関して各DRAM制御装置50および55をイネーブル/ディスエーブルするDRAM制御装置バッファである。
【0021】
制御トランシーバ70および75は、(1)他の(リモート)制御装置のメモリにアクセスするためにコンピュータ・システムのバックプレーン78へのアドレス信号をドライブし、あるいは(2)ローカル制御装置のメモリにアクセスするためにバックプレーンを介してリモート制御装置からアドレス信号を受け取る、ローカル制御装置(すなわちトランシーバが存在する制御装置)用の二方向トランシーバ・バッファである。同様に、データ・トランシーバ80および85は、(1)リモート制御装置に送信すべきバックプレーン78へのデータ信号をドライブし、あるいは(2)バックプレーンを介してリモート制御装置からデータ信号を受け取る、ローカル制御装置用の二方向トランシーバ・バッファである。
【0022】
ECC論理機構100および105は、それぞれのDRAMブロック30および35から読み取られたデータに対してすべてのECC検査および訂正を実行する。ECC論理機構は最初、DRAMに書き込まれるデータ(ビット)に基づいて検査ビットを生成する。この検査ビットは、書込みが実行されたときにデータ・ビットと共にDRAMに記憶される。DRAM読取りアクセス時に、検査ビットは、データ(ビット)と共に読み取られ、再計算された検査ビット(すなわち、データが最初、DRAMに書き込まれたときに記憶された検査ビットと比較され、読み取られたデータから再計算された検査ビット)と比較される。ECC論理機構は、記憶されている検査ビットを、再計算された検査ビットと比較することによって、すべての単一ビット・エラーを検出し訂正することができ、すべての2ビット・エラーを検出することができる。2ビットよりも多いビットのエラーが検出されることは保証されない。エラーが検出された場合、そのようなエラーを管理するプロセッサまたは論理機構(本発明では、DRAM制御装置50および55)を通知するように適当な信号線(ビット)110、115、120、125がセットされる。
【0023】
さらに、ECC論理機構100および105に関するデータ信頼性を増大させるために、比較回路90および95はそれぞれ、DRAM30および35から読み取られた第1のデータと第2のデータの十分な比較を実行する。ECC論理機構では複数ビット・エラーは検出されないので、比較回路90および95を使用して、各制御装置上に記憶されているデータが同じであるかどうかが判定される。基本的に、第1のデータと第2のデータが比較されて、一致(すなわち、鏡像化によるもの)が存在するかどうかが判定され、あるいは一方のデータのエラーを示す不一致が存在するかどうかが判定される。データを相互に比較することによって、任意の数のビットのすべてのエラーが検出される。
【0024】
本発明の1つの新規の態様は、ECCエラー検出が、各制御装置上で、その制御装置から読み取られたデータに対して別々に行われ、それとほぼ同時に、鏡像化メモリの両面から読み取られた同じデータが相互に比較されることである。比較のための余分のクロック・サイクルは必要とされず、システムの全体的な信頼性が増大する。さらに、エラー信号ビット設定が与えられた場合、一般に、ミラーのどちらの面からエラーが発生したかを検出することができる。
【0025】
図2の動作は、図3に示した説明的な例によって最もよく説明することができる。図3は、図2の方向矢印が、制御装置20による鏡像化メモリからの読取り時のデータ・エラーを検出するための通信およびデータ転送の実際の方向経路を示す一方向矢印と置換されていることを除き、図2と同じである。
【0026】
制御装置20が読取りを開始した場合、DRAM制御装置50は、それ自体の調停論理機構40への要求をアサートする。調停論理機構40は次いで、要求状態に入り、制御装置25の調停論理機構45がスレーブ状態に入るのを待つ。要求状態とは、(この例では)ローカル調停論理機構40が、リモート調停論理機構45がリモートDRAM35へのアクセスを制御装置20に与えるのを待つ状態である。スレーブ状態とは、調停論理機構45が、(この例では)DRAM制御装置バッファ65をディスエーブルしてDRAM35へのアクセスを制御装置20に与える状態である。
【0027】
さらに具体的には、制御装置25のDRAM制御装置55は、メモリを使用する(読取りまたは書込み)サイクルを完了したとき、調停論理機構45への制御装置自体の要求を削除し、スレーブ状態に入る。調停論理機構45は、スレーブ状態に入った後、バッファ65から先へ進む(バッファ65の先を指す)方向矢印ががなくなることによって示されるように、DRAM制御装置バッファ65をディスエーブルする。また、調停論理機構45は、方向矢印73および77によって示されるようにバックプレーン78からDRAM35へアドレス信号をドライブするように制御トランシーバ75をセットし、方向矢印87および83によって示されるようにDRAM35からバックプレーン78へデータをドライブするようにデータ・トランシーバ85をセットする。
【0028】
調停論理機構40は、制御装置20がメモリ30とメモリ35の両方へのアクセスを許可されるマスタ状態に入ることによって、これに肯定応答する。調停論理機構40は、方向矢印62によって示されるように調停論理機構自体のローカルDRAM制御装置バッファ60をイネーブルし、方向矢印73によって示されるように制御装置20からバックプレーン78へドライブするように制御トランシーバ70をセットし、データ・トランシーバ80から先へ進む(データ・トランシーバ80の先を指す)方向矢印ががなくなることによって示されるように、データ・トランシーバ80をディスエーブルする。
【0029】
次に、DRAM制御装置50は、方向矢印64によって示されるように、DRAM制御装置自体のDRAM30にアクセスするように行アドレス信号およびOE信号をドライブし、方向矢印66、73、77によって示されるように、制御装置20のDRAM35にアクセスするように制御トランシーバ70および75を介して前記信号をドライブすることによって、DRAM読取りサイクルを実行する。それぞれのDRAMアレイ30および35から読み取られたデータを適切に検査するために、制御装置50は自身のECC論理機構100をイネーブルし、制御装置55は自身のECC論理機構105をイネーブルする。次いで、RASがアサートされて列アドレスがドライブされ、CASが同様にアサートされて適当な第1のデータがDRAM30から読み取られ(方向矢印74によって示される)、それとほぼ同時に、第2のデータがDRAM35から読み取られる(方向矢印87および83によって示される)。DRAM30および35からのデータのこの読取りが、鏡像化アドレス位置、すなわち同じ「鏡像化」データを保持するアドレス位置からのデータの取出しであることは自明である。
【0030】
第1のデータは、DRAM30から読み取られ、エラー検査および訂正のためにECC論理機構100を介して処理される。同様に、第2のデータは、DRAM35から読み取られ、エラー検査および訂正のためにECC論理機構105を介して処理される。各場合では、ECC検査は、読取り中のデータに関連する検査ビットを読み取ることによって行われる。すなわち、検査ビットは最初、データが最初にDRAMに書き込まれたときにそのデータから計算され、その検査ビットは、データ自体と共にDRAMに記憶された。したがって、データの読取りサイクル中に、記憶されている検査ビットが読み取られ、新たに再計算された検査ビット(すなわち新たにデータを読み取ることから作成された検査ビット)と比較される。差異が存在する場合、訂正が行われ(可能なら)、適当なエラー信号(状況ビット)が、その後のエラー処理のためにラッチされる。たとえば、ECC論理機構100中の第1のデータに関して訂正可能なエラーが検出された場合、そのエラーは訂正され、訂正可能信号線110(状況ビット)が、適当な制御論理機構に通知するようにセットされる。一方、ECC論理機構105中の第2のデータに関して訂正不能なエラーが検出された場合、訂正不能信号線125(状況ビット)がセットされる。
【0031】
ECC検査とほぼ同時に、DRAM35の第2のデータは(その検査ビットと共に)データ・トランシーバ85およびバックプレーン78を介して制御装置20の比較論理機構90に渡される。データ・トランシーバ80はディスエーブルされ、DRAM30から(検査ビットと共に)読み取られた第1のデータとDRAM35から読み取られた第2のデータとの衝突はなくなる。DRAM30からの第1のデータとDRAM35からの第2のデータは共に、制御装置20の比較論理機構90に渡すことができる。比較論理機構90は、第1のデータと第2のデータを比較して、一致が存在するかどうかを判定する。一致が存在する場合、処理は正常に継続する。これに対して、一致が存在しない場合、不一致信号線130(状況ビット)が、適当な制御論理機構にエラーを通知するようにセットされる。
【0032】
要するに、ECC論理機構100および105は、読取りサイクル中に論理機構を通過するそれぞれのローカル・データにデータ・エラーがあるかどうかを別々にかつ独立に検査する。これとほぼ同時に、データが、(この図3の例では)比較論理機構90で比較されて、ECC論理機構100および105では検出されない複数のビット・エラーが捕捉される。各ECC・比較検査では、処理中に、エラーを検出した時点で適当な状況ビットがセットされる。読取りサイクルの終りに、DRAM制御装置50は、ECCおよび比較論理機構から得た状況ビットを検査し、いずれかがエラーをラッチしているかどうかを調べて、エラー(もしあれば)を適切に処理する。
【0033】
上記では、鏡像化メモリを間に有する二重ディスク記憶制御装置のデータ・エラーを検出するシステムおよび方法の好ましい実施例に関して説明した。本発明が、鏡像化メモリ二重制御装置システムで信頼性を増大させる強力なツールを提供することは明らかである。さらに、当業者には、当技術分野に存在する様々なハードウェア・プラトフォームおよびソフトウェア・ツールのうちのどれを使用しても本発明が容易に実施されることが自明であろう。本発明を特定の実施例に関して説明したが、本発明の真の趣旨および範囲から逸脱せずに実施態様または修正例の他の代替実施例および方法を使用できることは自明であろう。
【0034】
以上、本発明の実施例について詳述したが、以下、本発明を各実施態様毎に列挙する。
(1). 複数のディスク制御装置を有するコンピュータ・ディスク記憶制御システム用のデータ・エラー検出システムにおいて、
(a)各制御装置上のメモリが、他の制御装置メモリに対してほぼ鏡像化されたメモリである、複数の制御装置のそれぞれの自身のメモリと、
(b)1つの制御装置のメモリから第1のデータを取り出し、それとほぼ同時に、他の制御装置のうちの1つのメモリから第2のデータを取り出す手段と、
(c)第1のデータのエラーと第2のデータのエラーを別々に検出する手段と、
(d)第1のデータのエラーと第2のデータのエラーを別々に検出するのとほぼ同時に、第1のデータおよび第2のデータのそれぞれの他方に対するエラーを検出する手段とを有することを特徴とするシステム。
(2). 調停手段が、1つの制御装置に、
(a)第1のデータが取り出される前記制御装置のメモリへのアクセスと、
(b)第2のデータが取り出される他の制御装置のうちの1つのメモリへのアクセスをほぼ同時に与える手段を有することを特徴とする(1)に記載のシステム。
(3). 第1のデータのエラーと第2のデータのエラーを別々に検出する手段が、それぞれ第1のデータおよび第2のデータに対してエラー訂正コード(ECC)訂正を使用する手段を有することを特徴とする(1)に記載のシステム。
(4). 第1のデータおよび第2のデータのそれぞれの他方に対するエラーを検出する手段が、第1のデータと第2のデータを比較して、一致が存在するかどうかを判定する手段を有することを特徴とする(1)に記載のシステム。
(5). 前記システムにおいて、
(a)第1のデータと第2のデータの比較から得た比較結果に基づき、
(b)第1のデータおよび第2のデータのそれぞれから別々に得たECC結果に基づいて、
エラー検出を通知する手段を有することを特徴とする(1)に記載のシステム。
(6). それぞれ、他の制御装置メモリに対してほぼ鏡像化されたメモリを有する、複数のディスク制御装置を有するコンピュータ・ディスク記憶制御システムのエラーを検出する方法において、
(a)1つの制御装置のメモリから第1のデータを取り出し、それとほぼ同時に、他の制御装置のうちの1つのメモリから第2のデータを取り出すステップと、
(b)第1のデータのエラーと第2のデータのエラーを別々に検出するステップと、
(c)第1のデータのエラーと第2のデータのエラーを別々に検出するのとほぼ同時に、第1のデータおよび第2のデータのそれぞれの他方に対するエラーを検出するステップとを有することを特徴とする方法。
(7). 前記制御装置のメモリへのアクセスを1つの制御装置に与えることが、1つの制御装置に、
(a)第1のデータが取り出される前記制御装置のメモリへのアクセスと、
(b)第2のデータが取り出される他の制御装置のうちの1つのメモリへのアクセスをほぼ同時に与えることを特徴とする(6)に記載の方法。
(8). 前記第1のデータのエラーと第2のデータのエラーを別々に検出するステップが、それぞれ第1のデータおよび第2のデータに対してエラー訂正コード(ECC)訂正を使用することを特徴とする(6)に記載の方法。
(9). 前記第1のデータおよび第2のデータのそれぞれの他方に対するエラーを検出するステップが、第1のデータと第2のデータを比較して、一致が存在するかどうかを判定することを特徴とする(6)に記載の方法。
(10). 前記方法が、
(a)第1のデータと第2のデータの比較から得た比較エラーと、
(b)第1のデータおよび第2のデータのそれぞれから別々に得たECCエラーを通知することによってエラー検出を通知するステップを有することを特徴とする(6)に記載の方法。
【0035】
【発明の効果】
以上のように、本発明を用いると、二重制御装置と、制御装置間の鏡像化メモリとを有するディスク記憶システムのメモリ・データ・エラーを確実に検出するエラー検出システムおよび方法を提供することができる。本発明によるシステムおよび方法は、一方の制御装置のメモリから第1のデータを取り出し、それとほぼ同時に、他方の制御装置の鏡像化メモリ・アドレス位置から第2のデータを取り出すことができ、さらに、第1のデータのエラーと第2のデータのエラーを別々に検出し、それとほぼ同時に、第1のデータおよび第2のデータのそれぞれの他方に対するエラーを検出することもできる。
【0036】
第1のデータのエラーと第2のデータのエラーを別々に検出する手段は、それぞれ、第1のデータおよび第2のデータに対してエラー訂正コード(ECC)訂正を使用することができ、さらに、第1のデータおよび第2のデータのそれぞれの他方に対するエラーを検出する手段は、第1のデータと第2のデータを比較して、一致が存在するかどうかを判定することができる。
【0037】
調停手段は、ミラーの両面からの読取りを同時に行い、データ・エラー検出を同時に行うことができるように両方の制御装置のメモリへのアクセスを一方の制御装置に与えることを管理することができる。
【図面の簡単な説明】
【図1】鏡像化メモリを間に有する二重ディスク記憶制御装置システムのデータ・エラーを検出する本発明のシステムの概要を示すブロック図である。
【図2】本発明のより詳細な概略ブロック図である。
【図3】本発明の原則によって鏡像化メモリからの読取り時にデータ・エラーを検出する通信およびデータ転送の一方向経路が示された図2の概略ブロック図である。
【符号の説明】
10:二重ディスク制御装置システム
12:ディスク制御装置
15:ディスク記憶サブシステム
20、25:二重記憶制御装置
30、35:メモリ
40、45:調停論理機構
90、95:比較回路
100、105:ECC回路
Claims (8)
- 複数のディスク制御装置(20、25)を有するコンピュータディスク記憶制御システム(10)用のデータエラー検出システムであって、
(a)前記複数のディスク制御装置(20、25)の各々のメモリ(30、35)であって、各ディスク制御装置の前記メモリ(30、35)が、他のディスク制御装置メモリのそれぞれに対して鏡像化されるメモリである、メモリ(30、35)と、
(b)前記複数のディスク制御装置(20、25)のうちの選択されたディスク制御装置に対して、その選択されたディスク制御装置のメモリ、および同時に少なくとも1つの他のディスク制御装置(20、25)のメモリに対する唯一のアクセスを与えるための手段(40、45)と、
(c)前記複数のディスク制御装置(20、25)のうちの選択されたディスク制御装置のメモリから第1のデータを取り出し、同時に、少なくとも1つの他のディスク制御装置(20、25)のメモリから第2のデータを取り出すための手段(80、85)と、
(d)前記第1のデータのエラーと前記第2のデータのエラーを別々に検出するための手段(100、105)と、および
(e)前記第1のデータのエラーと前記第2のデータのエラーを別々に検出するのと同時に、前記第1のデータおよび第2のデータの互いに対するエラーを検出するための手段(90、95)とからなる、データエラー検出システム。 - 前記第1のデータのエラーと第2のデータのエラーを別々に検出するための手段が、それぞれ前記第1のデータおよび第2のデータに対してエラー訂正コード(ECC)訂正(100、105)を使用するための手段を含む、請求項1のデータエラー検出システム。
- 前記第1のデータおよび第2のデータの互いに対するエラーを検出するための手段が、前記第1のデータと前記第2のデータを比較(90、95)して、一致が存在するかどうかを判定するための手段を含む、請求項1または2のデータエラー検出システム。
- (a)前記第1のデータと第2のデータの比較から得た比較結果(130、135)に基づき、および
(b)前記第1のデータおよび第2のデータのそれぞれから別々に得たECC結果(110、115、120、125)に基づいて、
エラー検出を通知するための手段を更に含む、請求項1〜3の何れかのデータエラー検出システム。 - それぞれ、互いに対して鏡像化されたメモリ(30、35)を有する、複数のディスク制御装置(20、25)を有するコンピュータディスク記憶制御システム(10)のエラーを検出する方法であって、
(a)前記複数のディスク制御装置(20、25)のうちの選択されたディスク制御装置に対して、その選択されたディスク制御装置のメモリ、および同時に少なくとも1つの他のディスク制御装置のメモリに対する唯一のアクセスを与えるステップと、
(b)前記複数のディスク制御装置(20、25)のうちの選択されたディスク制御装置のメモリから第1のデータを取り出し、同時に、少なくとも1つの他のディスク制御装置のメモリから第2のデータを取り出すステップと、
(c)前記第1のデータのエラーと前記第2のデータのエラーを別々に検出(100、105)するステップと、および
(d)前記第1のデータのエラーと第2のデータのエラーを別々に検出するのと同時に、前記第1のデータおよび第2のデータの互いに対するエラーを検出(90、95)するステップとからなる、方法。 - 前記第1のデータのエラーと第2のデータのエラーを別々に検出するステップが、それぞれ前記第1のデータおよび第2のデータに対してエラー訂正コード(ECC)訂正を使用することを含む、請求項5の方法。
- 前記第1のデータおよび第2のデータの互いに対するエラーを検出するステップが、前記第1のデータと前記第2のデータを比較(90、95)して、一致が存在するかどうかを判定することを含む、請求項5または6の方法。
- (a)前記第1のデータと第2のデータの比較から得た比較エラー(130、135)と、
(b)前記第1のデータおよび第2のデータのそれぞれから別々に得たECCエラー(110、115、120、125)とを通知することによって、エラー検出を通知するステップを更に含む、請求項5〜7の何れかの方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US32955694A | 1994-10-25 | 1994-10-25 | |
US329,556 | 1994-10-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08234922A JPH08234922A (ja) | 1996-09-13 |
JP3748117B2 true JP3748117B2 (ja) | 2006-02-22 |
Family
ID=23285961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30064095A Expired - Fee Related JP3748117B2 (ja) | 1994-10-25 | 1995-10-25 | 鏡像化メモリ用エラー検出システム |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0709782B1 (ja) |
JP (1) | JP3748117B2 (ja) |
DE (1) | DE69508034T2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4748871B2 (ja) * | 2001-03-28 | 2011-08-17 | 日本信号株式会社 | ワンチップマイクロコントローラシステム |
US6938124B2 (en) * | 2002-07-19 | 2005-08-30 | Hewlett-Packard Development Company, L.P. | Hardware assisted communication between processors |
US7594135B2 (en) | 2003-12-31 | 2009-09-22 | Sandisk Corporation | Flash memory system startup operation |
JP4667093B2 (ja) * | 2005-03-17 | 2011-04-06 | 富士通株式会社 | 二重化記憶装置及び二重化記憶装置の制御方法 |
US7873803B2 (en) * | 2007-09-25 | 2011-01-18 | Sandisk Corporation | Nonvolatile memory with self recovery |
EP2294580B1 (en) | 2008-06-20 | 2014-04-02 | Freescale Semiconductor, Inc. | Memory system with redundant data storage and error correction |
WO2009153624A1 (en) | 2008-06-20 | 2009-12-23 | Freescale Semiconductor, Inc. | A system for distributing available memory resource |
US8634240B2 (en) | 2009-10-28 | 2014-01-21 | SanDisk Technologies, Inc. | Non-volatile memory and method with accelerated post-write read to manage errors |
US20130031431A1 (en) * | 2011-07-28 | 2013-01-31 | Eran Sharon | Post-Write Read in Non-Volatile Memories Using Comparison of Data as Written in Binary and Multi-State Formats |
US8750042B2 (en) | 2011-07-28 | 2014-06-10 | Sandisk Technologies Inc. | Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures |
US8566671B1 (en) | 2012-06-29 | 2013-10-22 | Sandisk Technologies Inc. | Configurable accelerated post-write read to manage errors |
US20140052906A1 (en) * | 2012-08-17 | 2014-02-20 | Rambus Inc. | Memory controller responsive to latency-sensitive applications and mixed-granularity access requests |
US9213601B2 (en) | 2013-12-03 | 2015-12-15 | Sandisk Technologies Inc. | Adaptive data re-compaction after post-write read verification operations |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0306211A3 (en) * | 1987-09-04 | 1990-09-26 | Digital Equipment Corporation | Synchronized twin computer system |
GB8815239D0 (en) * | 1988-06-27 | 1988-08-03 | Wisdom Systems Ltd | Memory error protection system |
DE69321426T2 (de) * | 1992-06-05 | 1999-03-04 | Compaq Computer Corp | Plattenantriebsteuergerät mit Nachschreibcachespeicher |
-
1995
- 1995-07-11 EP EP95110826A patent/EP0709782B1/en not_active Expired - Lifetime
- 1995-07-11 DE DE1995608034 patent/DE69508034T2/de not_active Expired - Fee Related
- 1995-10-25 JP JP30064095A patent/JP3748117B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08234922A (ja) | 1996-09-13 |
EP0709782A3 (ja) | 1996-06-12 |
EP0709782A2 (en) | 1996-05-01 |
EP0709782B1 (en) | 1999-03-03 |
DE69508034D1 (de) | 1999-04-08 |
DE69508034T2 (de) | 1999-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5267242A (en) | Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing | |
US6754858B2 (en) | SDRAM address error detection method and apparatus | |
EP2311043B1 (en) | Method and apparatus for repairing high capacity/high bandwidth memory devices | |
US5887270A (en) | Fault tolerant controller system and method | |
US5548711A (en) | Method and apparatus for fault tolerant fast writes through buffer dumping | |
US5802561A (en) | Simultaneous, mirror write cache | |
US4541094A (en) | Self-checking computer circuitry | |
EP0989492B1 (en) | Technique for correcting single-bit errors in caches with sub-block parity bits | |
US7984357B2 (en) | Implementing minimized latency and maximized reliability when data traverses multiple buses | |
JP3748117B2 (ja) | 鏡像化メモリ用エラー検出システム | |
JPH054699B2 (ja) | ||
JP2519286B2 (ja) | アドレス・ライン・テスト方法 | |
US6195770B1 (en) | Data storage system | |
US7076686B2 (en) | Hot swapping memory method and system | |
US5953265A (en) | Memory having error detection and correction | |
JP2001249911A (ja) | データ転送方法及びデータ処理システム | |
JPH0594377A (ja) | パリテイ検出回路 | |
JPS6391764A (ja) | パリティ・チェック機能を有するメモリ・システム | |
US6249878B1 (en) | Data storage system | |
JP3239935B2 (ja) | 密結合マルチプロセッサシステムの制御方法、密結合マルチプロセッサシステム及びその記録媒体 | |
JP3450132B2 (ja) | キャッシュ制御回路 | |
JPH09330303A (ja) | コンピュータシステムおよびそのシステムにおける障害回復方法 | |
JP3106448B2 (ja) | プロセッサ装置 | |
JPH05324487A (ja) | メモリ制御システム | |
JPH05225070A (ja) | メモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050510 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050809 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050812 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051124 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091209 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101209 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |