JP3748117B2 - 鏡像化メモリ用エラー検出システム - Google Patents

鏡像化メモリ用エラー検出システム Download PDF

Info

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
Application number
JP30064095A
Other languages
English (en)
Other versions
JPH08234922A (ja
Inventor
バリー・ジェイ・オールドフィールド
マーク・ディー・ピーターソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH08234922A publication Critical patent/JPH08234922A/ja
Application granted granted Critical
Publication of JP3748117B2 publication Critical patent/JP3748117B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1612Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/109Sector 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

【0001】
【産業上の利用分野】
本発明は、全般的には、ディスク記憶制御装置に関し、詳細には、二重制御装置ディスク記憶システム中の鏡像化メモリ・データ・エラーを検出するシステムに関する。
【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)

  1. 複数のディスク制御装置(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)とからなる、データエラー検出システム。
  2. 前記第1のデータのエラーと第2のデータのエラーを別々に検出するための手段が、それぞれ前記第1のデータおよび第2のデータに対してエラー訂正コード(ECC)訂正(100、105)を使用するための手段を含む、請求項1のデータエラー検出システム。
  3. 前記第1のデータおよび第2のデータの互いに対するエラーを検出するための手段が、前記第1のデータと前記第2のデータを比較(90、95)して、一致が存在するかどうかを判定するための手段を含む、請求項1または2のデータエラー検出システム。
  4. (a)前記第1のデータと第2のデータの比較から得た比較結果(130、135)に基づき、および
    (b)前記第1のデータおよび第2のデータのそれぞれから別々に得たECC結果(110、115、120、125)に基づいて、
    エラー検出を通知するための手段を更に含む、請求項1〜3の何れかのデータエラー検出システム。
  5. それぞれ、互いに対して鏡像化されたメモリ(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)するステップとからなる、方法。
  6. 前記第1のデータのエラーと第2のデータのエラーを別々に検出するステップが、それぞれ前記第1のデータおよび第2のデータに対してエラー訂正コード(ECC)訂正を使用することを含む、請求項5の方法。
  7. 前記第1のデータおよび第2のデータの互いに対するエラーを検出するステップが、前記第1のデータと前記第2のデータを比較(90、95)して、一致が存在するかどうかを判定することを含む、請求項5または6の方法。
  8. (a)前記第1のデータと第2のデータの比較から得た比較エラー(130、135)と、
    (b)前記第1のデータおよび第2のデータのそれぞれから別々に得たECCエラー(110、115、120、125)とを通知することによって、エラー検出を通知するステップを更に含む、請求項5〜7の何れかの方法。
JP30064095A 1994-10-25 1995-10-25 鏡像化メモリ用エラー検出システム Expired - Fee Related JP3748117B2 (ja)

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)

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

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

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