JP3204143B2 - ディスクキャッシュの制御方法 - Google Patents

ディスクキャッシュの制御方法

Info

Publication number
JP3204143B2
JP3204143B2 JP01181597A JP1181597A JP3204143B2 JP 3204143 B2 JP3204143 B2 JP 3204143B2 JP 01181597 A JP01181597 A JP 01181597A JP 1181597 A JP1181597 A JP 1181597A JP 3204143 B2 JP3204143 B2 JP 3204143B2
Authority
JP
Japan
Prior art keywords
module
data
backup
memory
memory 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.)
Expired - Fee Related
Application number
JP01181597A
Other languages
English (en)
Other versions
JPH10198602A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP01181597A priority Critical patent/JP3204143B2/ja
Priority to US08/996,813 priority patent/US6105116A/en
Publication of JPH10198602A publication Critical patent/JPH10198602A/ja
Application granted granted Critical
Publication of JP3204143B2 publication Critical patent/JP3204143B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はディスクキャッシュ
の制御方法に関し、特にキャッシュメモリの故障時にデ
ータを消失することなく処理の復旧および継続を行うた
めのディスクキャッシュの制御方法に関する。
【0002】
【従来の技術】磁気ディスク装置(以下、単にディスク
という)へのアクセス速度を高速化するための手法とし
て、ディスクキャッシュが使用されることは一般的にな
っている。
【0003】また、ディスクキャッシュの使用により書
き込み処理を高速化するためにディスクキャッシュへの
データの格納が終了した時点で上位装置に終了報告を行
い、ディスク上のデータの更新は後に行うFAST W
RITE処理もよく行われるようになっている。FAS
T WRITE処理を行う場合、上位装置から送られた
書き込みデータはディスクキャッシュにデータが格納さ
れた時点で終了報告がされるため、実際にディスクに書
き込む以前に障害により未更新データを消失することの
ないように同時にバックアップ用のデータを持ち二重化
することがある。ディスクキャッシュを二重化したシス
テムの場合、片系が故障したときには残りの系だけの縮
退構成で処理を継続するか、あるいは、信頼性確保のた
めFAST WRITE処理を中止するかのいずれかに
よって処理を継続するようになっていた。
【0004】図11(a)および(b)は、2つのメモ
リモジュールMM#1,MM#2を使用してディスクキ
ャッシュのデータを二重化する従来のディスクキャッシ
ュの制御方法を模式的に示す図である。図11(a)
は、上位装置からのFASTWRITE指示によりメモ
リモジュール上に書き込まれた未更新データ(以下、ダ
ーティデータという)111および121と、他のメモ
リモジュールに書き込まれた未更新データのバックアッ
プ用のデータ(以下、バックアップデータという)11
2および122と、ディスク上に記録されたデータと一
致したデータ(以下、クリーンデータという)113お
よび123とが格納されている。この場合、上位装置か
らのFAST WRITE指示が出されると、いずれか
一方のメモリモジュールにダーティデータとして書き込
まれると同時に、他方のメモリモジュールに同じデータ
がバックアップデータとして格納される。ディスクから
の読み出しの場合は、いずれか一方のメモリモジュール
にクリーンデータとして格納される。このデータは二重
化はしない。一方のメモリモジュールが障害により使用
できなくなった場合には、他方のメモリモジュールに格
納されていたダーティデータとバックアップデータとを
全てダーティデータとして扱うことにより、未更新デー
タを全て保証する。障害により使用できなくなったメモ
リモジュールに格納されていたクリーンデータは失われ
るが、このクリーンデータを上位装置が読み出そうとし
た場合には、あらためてディスクからデータを読み出し
クリーンデータとして使用可能なメモリモジュールに格
納するだけである。この方法は、メモリモジュールの障
害でデータは失われることはないが、1つのメモリモジ
ュールの障害により未更新データに対する冗長性がなく
なる。
【0005】図11(b)は、キャッシュメモリを完全
に二重化してしまう従来のディスクキャッシュの制御方
法を示す図である。上位装置からのFAST WRIT
E指示が出されると、いずれか一方のメモリモジュール
にダーティデータとして書き込まれると同時に、他方の
メモリモジュールに同じデータをバックアップデータと
して格納する。この動作は、ディスクからの読み出しの
場合も同じで、クリーンデータも二重化される。この方
法の場合は、1つのメモリモジュールに障害が発生した
ときには使用可能なメモリモジュールだけを使用して処
理を継続するようになる。この場合は、正常時でも搭載
しているメモリ容量の半分だけしか使用できない。
【0006】
【発明が解決しようとする課題】上述した従来のディス
クキャッシュの制御方法の第1の問題点は、キャッシュ
メモリを完全に二重化したシステムの場合、常に使用さ
れるキャッシュメモリの2倍のメモリを必要とするた
め、コストが上昇するということである。
【0007】第2の問題点は、キャッシュメモリを二重
化して冗長性を持たせていても、1つのキャッシュメモ
リの故障によって冗長性を失い、新たな障害が発生した
場合にはデータの消失を招きかねない不安定な状態にな
るということである。そのため、障害により冗長性を失
った場合には、性能を重視して新たな障害の発生時には
データが消失する可能性があることを前提に使用する
か、あるいは信頼性を重視してFAST WRITE処
理を中止するかのいずれかを選択することになる。
【0008】しかし、近年、複数のディスクを組み合わ
せるRAID(RedundantArrays of
Independent Disks)が多く用いら
れるようになり、ライトペナルティという欠点を持つR
AID5形式を用いたシステムでは信頼性確保のため
に、FAST WRITE処理を中止しディスクへのデ
ータの書き込みが終了するまで上位装置への書き込みの
終了を報告しないようにした場合、その性能低下が大き
な問題となる。
【0009】RAIDは、簡単にいうと、上位装置から
は1つのディスクに見えているが、実際には複数のディ
スクにデータを分散させて冗長データを付加して記憶し
ているディスクシステムのことである。RAIDには、
いくつかのレベルが定義されており、RAID5形式と
は、セクタストライピングによってディスクにデータを
記憶する形式である。
【0010】例えば、図12に示すように、セクタ長が
512バイトのディスク4台で構成されるRAIDに、
上位装置から2048バイトのデータが送られた場合に
は、ディスクのセクタ長512バイトの整数倍に分割さ
れ、別々のディスクに分散してパリティデータとともに
書き込まれる。この例では、3台のディスクに分散して
データA,B,Cが書き込まれ、冗長データとして図の
横並びの部分のパリティA−Cを1台のディスクに書き
込む。パリティデータは常に横並びのデータのパリティ
を保持するように書き込まれることが必要である。その
ため、この例では、データDが書き込まれることによっ
てパリティD−fは整合性を維持するために、以下のい
ずれかの方法によって内容を更新する必要がある。
【0011】 データe,データfの内容を読み出
し、データDとの3つのデータからパリティデータを計
算し、パリティD−fを書き込む。
【0012】 データDを書き込む前のデータdとパ
リティd−fとを読み出し、データd,パリティd−
f,(データdとパリティd−f),データDを排他的
論理和することによって、パリティD−fを求めて書き
込む。
【0013】いずれの方法を採っても、データDを書き
込むためにはパリティ補正のために、ディスク上のデー
タを読み込む→新しいデータを使用してパリティを再生
成する→書き込む、の各ステップを踏む必要がある。し
たがって、横並びの一列に満たない大きさのデータを書
き込むためには、書き込む以前に一度ディスクからデー
タを読み出す必要があり、そのために単にディスクに書
き込む場合の2倍以上の処理時間がかかる。これをライ
トペナルティといい、RAID5形式に付きまとう問題
である。この問題を解決するのが、FAST WRIT
E処理で、キャッシュメモリにデータDが格納された時
点で終了報告を行い、時間のかかるディスクアクセスは
ホストI/Oとは非同期に実行するものである。ただ
し、FAST WRITE処理は、実際にはディスクに
データを書き込む以前に上位装置に終了報告を行うた
め、実際にディスクに書き込む以前にメモリ障害などが
発生するとデータが失われるという問題がある。
【0014】本発明の目的は、キャッシュメモリの故障
による縮退動作中でも二重書きを継続し信頼性を確保し
ながらFAST WRITE処理を継続することによっ
て性能低下を回避できるようにしたディスクキャッシュ
の制御方法を提供することにある。
【0015】
【0016】
【課題を解決するための手段】 本発明のディスクキャッ
シュの制御方法は、3系統以上の物理的に独立したメモ
リモジュールで構成されていて、各系統にデータを分散
して格納するように制御され、各系統のメモリモジュー
ルにはそれぞれディスク上のデータと一致したクリーン
データと、未更新データであるダーティデータと、他の
1系統に関する未更新データのバックアップデータとを
格納するディスクキャッシュの制御方法において、第1
のメモリモジュールが故障し、第1のメモリモジュール
に格納されていたデータが失われた場合には、第2のメ
モリモジュール上に格納されている第1のメモリモジュ
ールの未更新データのバックアップデータを用いて失わ
れた第1のメモリモジュールの未更新データの処理を継
続するとともに、第2のメモリモジュール上に格納され
ている第1のメモリモジュールの未更新データのバック
アップデータを第3のメモリモジュール上にコピーして
前記失われた第1のメモリモジュールの未更新データの
バックアップデータを作成し、さらに、前記故障した第
1のメモリモジュール上に格納していた第3のメモリモ
ジュールの未更新データのバックアップデータを第3の
メモリモジュールの未更新データを第2のメモリモジュ
ール上にコピーして生成することを特徴とする。
【0017】さらに、本発明のディスクキャッシュの制
御方法は、3系統の物理的に独立したメモリモジュール
で構成されたディスクキャッシュにおいて、上位装置か
らI/Oの出された論理ディスク番号を特定し、論理デ
ィスク番号/3の剰余を格納モジュール番号とし、格納
モジュールが故障中かどうかを判断し、故障中であれ
ば、(論理ディスク番号+1)/3の剰余を格納モジュ
ール番号とし、格納モジュールを選択し、FAST W
RITE処理であるかいなかに基づいてバックアップ作
成の必要性を判断し、FAST WRITE処理であれ
ば、(格納モジュール番号+1)/3の剰余をバックア
ップモジュール番号とし、バックアップモジュールを格
納モジュールと同時に選択し、キャッシュディレクトリ
情報より格納位置を決定することを特徴とする。
【0018】さらにまた、本発明のディスクキャッシュ
の制御方法は、請求項記載のディスクキャッシュの制
御方法において、障害の発生したメモリモジュールの番
号を特定し、(障害モジュール番号+1)/3の剰余が
示すメモリモジュールのバックアップデータをダーティ
データとして扱うようにディレクトリを変更し、(障害
モジュール番号+2)/3の剰余が示すメモリモジュー
ルにダーティデータと同容量の空き領域を確保し、(障
害モジュール番号+2)/3の剰余が示すメモリモジュ
ールにダーティデータをコピーしてバックアップデータ
を作成し、(障害モジュール番号+1)/3の剰余が示
すメモリモジュールにダーティデータと同容量の空き領
域を確保し、(障害モジュール番号+1)/3の剰余が
示すメモリモジュールにダーティデータをコピーしてバ
ックアップデータを作成することを特徴とする。
【0019】また、本発明のディスクキャッシュの制御
方法は、4系統の物理的に独立したメモリモジュールで
構成されたディスクキャッシュにおいて、上位装置から
I/Oの出された論理ディスク番号を特定し、論理ディ
スク番号/4の剰余を格納モジュール番号とし、格納モ
ジュールが故障中かどうかを判断し、故障中であれば
(論理ディスク番号+2)/4の剰余を格納モジュール
番号とし、格納モジュールを選択し、FAST WRI
TE処理であるかいなかに基づいてバックアップ作成の
必要性を判断し、FAST WRITE処理であれば、
(格納モジュール番号+1)/4の剰余をバックアップ
モジュール番号とし、バックアップモジュールが故障中
であるかどうかを判断し、バックアップモジュールが故
障中であれば(格納モジュール番号+3)/4の剰余を
バックアップモジュール番号とし、バックアップモジュ
ールを格納モジュールと同時に選択し、キャッシュディ
レクトリ情報より格納位置を決定することを特徴とす
る。
【0020】さらに、本発明のディスクキャッシュの制
御方法は、請求項記載のディスクキャッシュの制御方
法において、障害の発生したメモリモジュールの番号を
特定し、(障害モジュール番号+2)/4の剰余が示す
メモリモジュールのバックアップデータをダーティデー
タとして扱うようにディレクトリを変更し、(障害モジ
ュール番号+3)/4の剰余が示すメモリモジュールを
選択し、選択モジュールが故障中かどうかを判定し、選
択モジュールが故障中でなければ(障害モジュール番号
+3)/4の剰余が示すメモリモジュールをバックアッ
プモジュールとして設定し、選択モジュールが故障中で
あれば(障害モジュール番号+5)/4の剰余が示すメ
モリモジュールをバックアップモジュールとして設定
し、設定されたバックアップモジュールに(障害モジュ
ール番号+2)/4の剰余が示すメモリモジュール内の
ダーティデータと同容量の空き領域を確保し、設定され
たバックアップモジュールに(障害モジュール番号+
2)/4の剰余が示すメモリモジュール内のダーティデ
ータをコピーしてバックアップデータを作成し、設定さ
れたバックアップモジュールに(障害モジュール番号+
2)/4の剰余が示すメモリモジュールにダーティデー
タと同容量の空き領域を確保し、設定されたバックアッ
プモジュールに(障害モジュール番号+2)/4の剰余
が示すメモリモジュール内のダーティデータをコピーし
てバックアップデータを作成し、当該メモリモジュール
以外で故障していて復旧の行われていないメモリモジュ
ールを調査し、故障中で未復旧のメモリモジュールがあ
るかどうかを判定し、故障中で未復旧のメモリモジュー
ルがあれば、制御を最初に戻して処理を繰り返すことを
特徴とする。
【0021】また、本発明のディスクキャッシュの制御
方法は、3系統の物理的に独立したメモリモジュールで
構成されたディスクキャッシュにおいて、上位装置から
I/Oの出された論理ディスク番号とセクタ番号とから
所定サイズ単位のアクセス領域を算出し、アクセス領域
/3の剰余を格納モジュール番号とし、格納モジュール
が故障中かどうかを判断し、故障中であれば、(アクセ
ス領域+1)/3の剰余を格納モジュール番号とし、格
納モジュールを選択し、FAST WRITE処理であ
るかいなかに基づいてバックアップ作成の必要性を判断
し、FASTWRITE処理であれば、(格納モジュー
ル番号+1)/3の剰余をバックアップモジュール番号
とし、バックアップモジュールを格納モジュールと同時
に選択し、キャッシュディレクトリ情報より格納位置を
決定することを特徴する。
【0022】さらに、本発明のディスクキャッシュの制
御方法は、4系統の物理的に独立したメモリモジュール
で構成されたディスクキャッシュにおいて、上位装置か
らI/Oの出された論理ディスク番号とセクタ番号とか
ら所定サイズ単位のアクセス領域を算出し、アクセス領
域/4の剰余を格納モジュール番号とし、格納モジュー
ルが故障中かどうかを判断し、故障中であれば、(アク
セス領域+2)/4の剰余を格納モジュール番号とし、
格納モジュールを選択し、FAST WRITE処理で
あるかいなかに基づいてバックアップ作成の必要性を判
断し、FASTWRITE処理であれば、(格納モジュ
ール番号+1)/4の剰余をバックアップモジュール番
号とし、バックアップモジュールが故障中であるかどう
かを判断し、バックアップモジュールが故障中であれ
ば、(格納モジュール番号+3)/4の剰余をバックア
ップモジュール番号とし、バックアップモジュールを格
納モジュールと同時に選択し、キャッシュディレクトリ
情報より格納位置を決定することを特徴とする。
【0023】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。
【0024】図1(a)および(b)は、本発明の第1
の実施の形態に係るディスクキャッシュの制御方法によ
るデータ管理の仕組みを模式的に示す図である。本実施
の形態は、物理的に独立した3つのメモリモジュールM
M#1,MM#2,MM#3として3枚の独立したキャ
ッシュメモリを搭載した論理回路基板を想定している。
独立したメモリモジュールMM#1,MM#2,MM#
3に、上位装置からFAST WRITE処理で格納さ
れ未だディスク上に書き込まれていないダーティデータ
と、他のメモリモジュールに書き込まれた未だディスク
上に書き込まれていないダーティデータのバックアップ
データと、ディスク上に書き込まれたデータと一致して
いるクリーンデータとをそれぞれ独立に管理している。
あらかじめ、ディスクのアドレス(論理ディスク番
号),記録領域のアドレス(セクタ番号)などによりデ
ータを格納すべきメモリモジュールは決められている。
【0025】最初に、図1(a)を参照して、全てのメ
モリモジュールMM#1,MM#2,MM#3が正常に
使用可能なときの動作を説明する。
【0026】上位装置からのFAST WRITE指示
でデータを格納する場合には、事前に決められたルール
に従って格納すべきメモリモジュール(以下、格納モジ
ュールという)を決定し、決定されたメモリモジュール
にダーティデータとして格納すると同時に、このメモリ
モジュールのバックアップデータを格納するメモリモジ
ュール(以下、バックアップモジュールという)を決定
し、このメモリモジュールに同じデータをバックアップ
データとして格納する。
【0027】ディスクからのデータの読み出しの場合に
は、格納すべきメモリモジュールを決定し、ここに格納
する。
【0028】FAST WRITE処理により格納すべ
きメモリ空間が存在しない場合には、クリーンデータが
格納されている領域からLRU(Least Rece
ntly Used)アルゴリズムなどによりもっとも
優先順位の低いデータをキャッシュメモリから掃き出
し、そこに格納する。
【0029】ダーティデータは非同期にディスクへ書き
込み処理が行われ、ディスクへの書き込みが完了する
と、当該メモリ空間はクリーンデータに組み込まれると
同時に、これに対応する他のメモリモジュールに格納さ
れているバックアップデータの格納されているメモリ空
間は解放される。
【0030】次に、図1(b)を参照して、障害により
1つのメモリモジュールが使用できなくなったときの動
作について説明する。ここでは、第1メモリモジュール
MM#1が故障した場合を想定する。
【0031】図1(b)には、第1メモリモジュールM
M#1の故障によって変更されたデータの格納状態が示
されている。
【0032】第1メモリモジュールMM#1が障害によ
り使用できなくなった場合は、第1メモリモジュールM
M#1に格納されていたダーティデータ111は失われ
ているため、第2メモリモジュールMM#2に格納され
ているバックアップデータ122を失われたダーティデ
ータ111の代わりに使用する。
【0033】同時に、この代用されているダーティデー
タ122は冗長性を持たないため、これが格納されてい
る第2メモリモジュールMM#2とは独立した第3メモ
リモジュールMM#3にデータをコピーし、新たなバッ
クアップデータ111’として格納する。
【0034】なお、その際に新たなバックアップデータ
111’を格納するためのメモリ空間を確保するため
に、必要ならば第3メモリモジュールMM#3のクリー
ンデータ133の中から優先順位の低いデータを掃き出
してメモリ空間を確保する。
【0035】さらに、第1メモリモジュールMM#1の
障害により第3メモリモジュールMM#3に格納されて
いたダーティデータ131はバックアップデータ112
を失っており冗長性がなくなっているため、ダーティデ
ータ131の内容を第3メモリモジュールMM#3とは
独立した第2メモリモジュールMM#2にコピーし、新
たなバックアップデータ112’として格納する。
【0036】新たなバックアップデータ111’を生成
したときと同様に、新たなバックアップデータ112’
を格納するためのメモリ空間を確保するために、必要な
らば第2メモリモジュールMM#2のクリーンデータ1
23の中から優先順位の低いデータを掃き出してメモリ
空間を確保する。
【0037】これら一連の動作によって全ての未更新デ
ータの冗長性が回復される。
【0038】以後、第1メモリモジュールMM#1の障
害が回復するまでの間、第1メモリモジュールMM#1
に格納されるべきデータは全て第2メモリモジュールM
M#2に格納するように扱われ処理が継続される。
【0039】このような第1の実施の形態に係るディス
クキャッシュの制御方法によれば、第1メモリモジュー
ルMM#1が障害によって使用できなくなってもこれに
よって失われたディスクへの書き込みが完了していない
ダーティデータは第2メモリモジュールMM#2に格納
されているバックアップデータで復旧可能である。
【0040】故障した第1メモリモジュールMM#1に
格納されていた他の系統のメモリモジュールのバックア
ップデータも失われるが、これはバックアップであるた
め元のデータが格納されているメモリモジュールがデー
タを保持しており、未更新データが失われることはな
い。
【0041】同様に、故障した第1メモリモジュールM
M#1にはディスクの内容と一致したデータも含まれて
いるかもしれないが、これはディスクから再度読み出す
ことにより復旧可能でありデータの消失にはつながらな
い。
【0042】したがって、1つのメモリモジュールで障
害が発生しても全てのデータが保証され、一部のデータ
が冗長性を失うだけである。
【0043】さらに、第1メモリモジュールMM#1の
障害によって冗長性を失った第1メモリモジュールMM
#1内のダーティデータ111は、第2メモリモジュー
ルMM#2に格納されていたバックアップデータ122
を第3メモリモジュールMM#3にコピーすることによ
り、第2メモリモジュールMM#2および第3メモリモ
ジュールMM#3にそれぞれ格納されることになり冗長
性を回復することができる。
【0044】同様に、第1メモリモジュールMM#1の
障害によって冗長性を失った第3メモリモジュールMM
#3内のダーティデータ131は、それ自身を第2メモ
リモジュールMM#2にコピーすることにより、第2メ
モリモジュールMM#2および第3メモリモジュールM
M#3に格納されることになり冗長性を回復することが
できる。
【0045】図2(a)および(b)は、本発明の第2
の実施の形態に係るディスクキャッシュ制御方法による
データ管理の仕組みを、4つのメモリモジュールMM#
1〜MM#4で実施した例で模式的に示した図である。
通常、独立した2つのメモリモジュールが同時に故障す
る確率は非常に低い。しかし、メモリモジュール以外の
外部故障に起因する障害では複数のメモリモジュールに
障害が波及することがあり得る。例えば、図2(a)お
よび(b)に示すように、4つのメモリモジュールMM
#1〜MM#4で構成されていても、これらメモリモジ
ュールMM#1〜MM#4に電源を供給している部分が
独立していなければ電源部の障害により複数のメモリモ
ジュールが同時に使用できなくなることがあり得る。
【0046】図2(a)および(b)の例では、第1メ
モリモジュールMM#1および第2メモリモジュールM
M#2と第3メモリモジュールMM#3および第4メモ
リモジュールMM#4とは、それぞれ共通の電源部から
電源を供給されているものとする。この場合、1つの電
源部の障害で2つのメモリモジュールが使用できなくな
る可能性がある。
【0047】図2(a)および(b)を参照して、電源
部などのメモリモジュールMM#1〜MM#4以外の障
害によリ2つのメモリモジュールが同時に使用できなく
なる場合について説明する。
【0048】この場合も、通常動作は、あらかじめディ
スクのアドレス,記録領域のアドレスなどによりデータ
を格納すべきメモリモジュールは決められており、その
動作は3つのメモリモジュールMM#1〜MM#3で実
現された第1の実施の形態に係るディスクキャッシュの
制御方法の場合と同じである。ただし、第2の実施の形
態に係るディスクキャッシュの制御方法では、図2
(a)に示すように、電源などの共通部の故障を想定し
て第1メモリモジュールMM#1および第2メモリモジ
ュールMM#2に格納されるダーティデータのバックア
ップデータは異なる電源部から電力供給を受けている第
3メモリモジュールMM#3および第4メモリモジュー
ルMM#4に格納するように設定されている。
【0049】図2(b)に示すように、第1メモリモジ
ュールMM#1および第2メモリモジュールMM#2が
同時に使用できなくなった場合には、ダーティデータ1
11および121が失われる。したがって、第3メモリ
モジュールMM#3および第4メモリモジュールMM#
4に格納されているバックアップデータ132および1
42を失われたダーティデータの代わりに使用すること
で処理を継続できるようにする。
【0050】さらに、全てのデータの冗長性を回復させ
るために、第3メモリモジュールMM#3に格納されて
いるダーティデータ131および132を独立した第4
メモリモジュールMM#4にコピーし、ダーティデータ
131および132のバックアップデータ112’およ
び111’を生成する。
【0051】同様に、第4メモリモジュールMM#4に
格納されているダーティデータ141および142を独
立した第3メモリモジュールMM#3にコピーし、ダー
ティデータ141および142のバックアップデータ1
22’および121’を生成し、冗長性を回復させる。
【0052】
【実施例】次に、本発明の実施例について図面を参照し
てさらに詳細に説明する。
【0053】図3は、本発明の第1実施例に係るディス
クキャッシュの制御方法が適用されるディスクシステム
の構成を例示するブロック図である。このディスクシス
テムは、ホストコンピュータ2にディスク制御装置1を
介して多数のディスク3が4系統をなすように接続され
て構成されており、ディスク制御装置1は、ホストイン
タフェース(I/F)制御部11と、マイクロプログラ
ム処理部12と、第1モジュールセレクタ13と、第2
モジュールセレクタ14と、3つのメモリモジュールM
M#1〜MM#3と、アレイ制御部15と、4つのディ
スクI/F制御部16とから構成されている。また、デ
ィスク3は、物理的には4台毎に、ホストコンピュータ
2から1台のディスクとして扱われる論理ディスクLD
#1,LD#2,…を構成している。ここでは、1つの
論理ディスクLDが4台の物理ディスク3で構成される
RAID5形式のディスクシステムを想定している。な
お、ディスク制御装置1では、ホストコンピュータ2と
ディスク3との間でデータを直接転送することはせず、
一旦ディスクキャッシュに格納してからデータを転送す
る構成になっている。
【0054】ホストI/F制御部11は、ホストコンピ
ュータ2とのインタフェースの制御用回路で構成され、
動作制御はマイクロプログラム処理部12の指示によっ
て制御される。
【0055】マイクロプログラム処理部12は、ディス
ク制御装置1の各機能ブロックの動作を制御する部分で
ある。
【0056】第1モジュールセレクタ13は、ホストI
/F制御部11とメモリモジュールMM#1〜MM#3
との間のデータ転送を行う際に、どのメモリモジュール
を選択するかを決定するメモリモジュールの選択手段で
ある。
【0057】第2モジュールセレクタ14は、アレイ制
御部15とメモリモジュールMM#1〜MM#3との間
のデータ転送を行う際に、どのメモリモジュールを選択
するかを決定するメモリモジュールの選択手段である。
【0058】第1メモリモジュールMM#1,第2メモ
リモジュールMM#2および第3メモリモジュールMM
#3は、ディスクキャッシュのためのメモリで構成され
る。各メモリモジュール上には、データ格納のためのデ
ータ部と、LRUテーブルなどの制御情報を格納するデ
ィレクトリ部とから構成される。各メモリモジュールの
データ部に関する制御情報は、全て同一メモリモジュー
ルのディレクトリ部に格納される。
【0059】アレイ制御部15は、ホストコンピュータ
1から見える論理ディスクLD#1,LD#2,…上の
アドレスと実際にディスク3上の格納されるべきアドレ
スとの対応の決定,ディスク3とのインタフェースの制
御などを行う。
【0060】ディスクI/F制御部16は、配下に接続
されたディスク3とのインタフェース接続回路で構成さ
れる。
【0061】図4および図5は、第1実施例に係るディ
スクキャッシュの制御方法をそれぞれ示すフローチャー
トである。
【0062】図4を参照すると、3つのメモリモジュー
ルMM#1〜MM#3で構成されるディスク制御装置1
での格納モジュールの決定方法は、論理ディスク番号特
定ステップS101と、格納モジュール番号決定ステッ
プS102と、格納モジュール故障中判定ステップS1
03と、格納モジュール番号変更ステップS104と、
格納モジュール選択ステップS105と、FAST W
RITE処理判定ステップS106と、バックアップモ
ジュール番号決定ステップS107と、バックアップモ
ジュール選択ステップS108と、格納位置決定ステッ
プS109とからなる。
【0063】図5を参照すると、3つのメモリモジュー
ルMM#1〜MM#3で構成されるディスク制御装置1
において1つのメモリモジュールで障害が発生した場合
の復旧処理方法は、障害発生メモリモジュール番号特定
ステップS201と、ディレクトリ変更ステップS20
2と、空き領域確保ステップS203と、バックアップ
データ作成ステップS204と、空き領域確保ステップ
S205と、バックアップデータ作成ステップS206
とからなる。
【0064】次に、このような第1実施例に係るディス
クキャッシュの制御方法の手順について説明する。
【0065】(1) まず、3つのメモリモジュールM
M#1〜MM#3で構成されるディスク制御装置1での
格納モジュールの決定方法について説明する。
【0066】マイクロプログラム処理部12は、ホスト
コンピュータ2からI/O(入出力)の出された論理デ
ィスク番号を特定し(ステップS101)、論理ディス
ク番号/3の剰余を格納モジュール番号とする(ステッ
プS102)。次に、マイクロプログラム処理部12
は、格納モジュールが故障中かどうかを判断し(ステッ
プS103)、故障中であれば、(論理ディスク番号+
1)/3の剰余を格納モジュール番号とする(ステップ
S104)。続いて、マイクロプログラム処理部12
は、第1モジュールセレクタ13に対して格納モジュー
ルを選択し(ステップS105)、FAST WRIT
E処理であるかいなかに基づいてバックアップ作成の必
要性を判断する(ステップS106)。FAST WR
ITE処理であれば、マイクロプログラム処理部12
は、(格納モジュール番号+1)/3の剰余をバックア
ップモジュール番号とし(ステップS107)、第1モ
ジュールセレクタ13に対してバックアップモジュール
を格納モジュールと同時に選択する(ステップS10
8)。最後に、マイクロプログラム処理部12は、キャ
ッシュディレクトリ情報より格納位置を決定する(ステ
ップS109)。
【0067】(2) 次に、3つのメモリモジュールM
M#1〜MM#3で構成されるディスク制御装置1にお
いて1つのメモリモジュールで障害が発生した場合の復
旧処理方法について説明する。
【0068】マイクロプログラム処理部12は、障害の
発生したメモリモジュールの番号を特定し(ステップS
201)、(障害モジュール番号+1)/3の剰余が示
すメモリモジュールのバックアップデータ122をダー
ティデータ122として扱うようにディレクトリを変更
する(ステップS202)。次に、マイクロプログラム
処理部12は、必要ならばクリーンデータ133を掃き
出して(障害モジュール番号+2)/3の剰余が示すメ
モリモジュールにダーティデータ122と同容量の空き
領域を確保し(ステップS203)、(障害モジュール
番号+2)/3の剰余が示すメモリモジュールにダーテ
ィデータ122をコピーしてバックアップデータ11
1’を作成する(ステップS204)。続いて、マイク
ロプログラム処理部12は、必要ならばクリーンデータ
123を掃き出して(障害モジュール番号+1)/3の
剰余が示すメモリモジュールにダーティデータ131と
同容量の空き領域を確保し(ステップS205)、(障
害モジュール番号+1)/3の剰余が示すメモリモジュ
ールにダーティデータ131をコピーしてバックアップ
データ112’を作成する(ステップS206)。
【0069】次に、第2実施例に係るディスクキャッシ
ュの制御方法について説明する。
【0070】第2実施例に係るディスクキャッシュの制
御方法が適用されるディスクシステムは、図3に示した
ディスクシステムにおいて、第4メモリモジュールMM
#4がさらに追加されただけのものであるので、その図
示を省略し、図3に示した名称,符号等をそのまま流用
して説明する。
【0071】図6を参照すると、4つのメモリモジュー
ルMM#1〜MM#4で構成されるディスク制御装置1
での格納モジュールの決定方法は、論理ディスク番号特
定ステップS301と、格納モジュール番号決定ステッ
プS302と、格納モジュール故障中判定ステップS3
03と、格納モジュール番号変更ステップS304と、
格納モジュール選択ステップS305と、FAST W
RITE処理判定ステップS306と、バックアップモ
ジュール番号決定ステップS307と、バックアップモ
ジュール故障中判定ステップS308と、バックアップ
モジュール番号変更ステップS309と、バックアップ
モジュール選択ステップS310と、格納位置決定ステ
ップS311とからなる。
【0072】図7および図8を参照すると、4つのメモ
リモジュールMM#1〜MM#4で構成されるディスク
制御装置1において2つのメモリモジュールで同時に障
害が発生した場合の復旧処理方法は、障害発生メモリモ
ジュール番号特定ステップS401と、ディレクトリ変
更ステップS402と、メモリモジュール選択ステップ
S403と、選択モジュール故障中判定ステップS40
4と、バックアップモジュール設定ステップS405
と、バックアップモジュール設定ステップS406と、
空き領域確保ステップS407と、バックアップデータ
作成ステップS408と、空き領域確保ステップS40
9と、バックアップデータ作成ステップS410と、故
障中未復旧モジュール調査ステップS411と、故障中
未復旧モジュール有無判定ステップS412とからな
る。
【0073】次に、このような第2実施例に係るディス
クキャッシュの制御方法の手順について説明する。
【0074】(1) まず、4つのメモリモジュールM
M#1〜MM#4で構成されるディスク制御装置1での
格納モジュールの決定方法について説明する。
【0075】マイクロプログラム処理部12は、ホスト
コンピュータ2からI/Oの出された論理ディスク番号
を特定し(ステップS301)、論理ディスク番号/4
の剰余を格納モジュール番号とする(ステップS30
2)。次に、マイクロプログラム処理部12は、格納モ
ジュールが故障中かどうかを判断し(ステップS30
3)、故障中であれば、(論理ディスク番号+2)/4
の剰余を格納モジュール番号とする(ステップS30
4)。続いて、マイクロプログラム処理部12は、第1
モジュールセレクタ13に対して格納モジュールを選択
し(ステップS305)、FAST WRITE処理で
あるかいなかに基づいてバックアップ作成の必要性を判
断する(ステップS306)。FAST WRITE処
理であれば、マイクロプログラム処理部12は、(格納
モジュール番号+1)/4の剰余をバックアップモジュ
ール番号とし(ステップS307)、バックアップモジ
ュールが故障中であるかどうかを判断する(ステップS
308)。バックアップモジュールが故障中であれば、
マイクロプログラム処理部12は、(格納モジュール番
号+3)/4の剰余をバックアップモジュール番号とす
る(ステップS309)。次に、マイクロプログラム処
理部12は、第1モジュールセレクタ13に対してバッ
クアップモジュールを格納モジュールと同時に選択する
(ステップS310)。最後に、マイクロプログラム処
理部12は、キャッシュディレクトリ情報より格納位置
を決定する(ステップS311)。
【0076】(2) 次に、4つのメモリモジュールM
M#1〜MM#4で構成されるディスク制御装置1にお
いて2つのメモリモジュールMM#1,MM#2で同時
に障害が発生した場合の復旧処理方法について説明す
る。
【0077】マイクロプログラム処理部12は、障害の
発生したメモリモジュールの番号を特定し(ステップS
401)、(障害モジュール番号+2)/4の剰余が示
すメモリモジュールのバックアップデータ132(14
2)をダーティデータ132(142)として扱うよう
にディレクトリを変更する(ステップS402)。続い
て、マイクロプログラム処理部12は、(障害モジュー
ル番号+3)/4の剰余が示すメモリモジュールを選択
し(ステップS403)、選択モジュールが故障中かど
うかを判定する(ステップS404)。選択モジュール
が故障中でなければ、マイクロプログラム処理部12
は、(障害モジュール番号+3)/4の剰余が示すメモ
リモジュールをバックアップモジュールとして設定し
(ステップS405)、選択モジュールが故障中であれ
ば、(障害モジュール番号+5)/4の剰余が示すメモ
リモジュールをバックアップモジュールとして設定する
(ステップS406)。次に、マイクロプログラム処理
部12は、必要ならばクリーンデータ143(クリーン
データ133)を掃き出して、設定されたバックアップ
モジュールに(障害モジュール番号+2)/4の剰余が
示すメモリモジュール内のダーティデータ132(14
2)と同容量の空き領域を確保し(ステップS40
7)、設定されたバックアップモジュールに(障害モジ
ュール番号+2)/4の剰余が示すメモリモジュール内
のダーティデータ132(142)をコピーしてバック
アップデータ111’(121’)を作成する(ステッ
プS408)。続いて、マイクロプログラム処理部12
は、必要ならばクリーンデータ143(クリーンデータ
133)を掃き出して、設定されたバックアップモジュ
ールに(障害モジュール番号+2)/4の剰余が示すメ
モリモジュール内のダーティデータ131(141)と
同容量の空き領域を確保し(ステップS409)、設定
されたバックアップモジュールに(障害モジュール番号
+2)/4の剰余が示すメモリモジュール内のダーティ
データ131(141)をコピーしてバックアップデー
タ112’(122’)を作成する(ステップS41
0)。次に、マイクロプログラム処理部12は、当該メ
モリモジュールの以外で故障していて復旧の行われてい
ないメモリモジュールを調査し(ステップS411)、
故障中で未復旧のメモリモジュールがあるかどうかを判
定する(ステップS412)。故障中で未復旧のメモリ
モジュールがあれば、マイクロプログラム処理部12
は、ステップS401に制御を戻し、なければ処理を終
了する。
【0078】次に、第3実施例に係るディスクキャッシ
ュの制御方法について説明する。
【0079】第3実施例に係るディスクキャッシュの制
御方法は、第1実施例に係るディスクキャッシュの制御
方法が3つのメモリモジュールMM#1〜MM#3で構
成されるディスク制御装置1において論理ディスク単位
に格納モジュールを決定していたのに対して、論理ディ
スクの所定サイズ単位(例えば、1Gバイト単位)に格
納モジュールを決定するようにしたものである。したが
って、第3実施例に係るディスクキャッシュの制御方法
が適用されるディスクシステムは、図3に示したディス
クシステムと同様のものであるので、その図示を省略
し、図3に示した名称,符号等をそのまま流用して説明
する。また、3つのメモリモジュールMM#1〜MM#
3で構成されるディスク制御装置1において1つのメモ
リモジュールで障害が発生した場合の復旧処理方法は、
図5に示した第1実施例の場合と同様であるので、その
詳しい説明を省略する。
【0080】図9を参照すると、3つのメモリモジュー
ルMM#1〜MM#3で構成されるディスク制御装置1
での格納モジュールの決定方法は、アクセス領域算出ス
テップS501と、格納モジュール番号決定ステップS
502と、格納モジュール故障中判定ステップS503
と、格納モジュール番号変更ステップS504と、格納
モジュール選択ステップS505と、FAST WRI
TE処理判定ステップS506と、バックアップモジュ
ール番号決定ステップS507と、バックアップモジュ
ール選択ステップS508と、格納位置決定ステップS
509とからなる。
【0081】次に、このような第3実施例に係るディス
クキャッシュの制御方法の手順について説明する。ここ
では、3つのメモリモジュールMM#1〜MM#3で構
成されるディスク制御装置1での格納モジュールの決定
方法について説明する。
【0082】マイクロプログラム処理部12は、ホスト
コンピュータ2からI/Oの出された論理ディスク番号
LD#nとセクタ番号SEC#とから、アクセス領域=
{Σ(論理ディスク番号LD#iの記憶容量)+(セク
タ番号SEC#−1)×セクタサイズ}÷230(ただ
し、Σはi=0〜n−1での和)を算出し(ステップS
501)、アクセス領域/3の剰余を格納モジュール番
号とする(ステップS502)。次に、マイクロプログ
ラム処理部12は、格納モジュールが故障中かどうかを
判断し(ステップS503)、故障中であれば、(アク
セス領域+1)/3の剰余を格納モジュール番号とする
(ステップS504)。続いて、マイクロプログラム処
理部12は、第1モジュールセレクタ13に対して格納
モジュールを選択し(ステップS505)、FAST
WRITE処理であるかいなかに基づいてバックアップ
作成の必要性を判断する(ステップS506)。FAS
TWRITE処理であれば、マイクロプログラム処理部
12は、(格納モジュール番号+1)/3の剰余をバッ
クアップモジュール番号とし(ステップS507)、第
1モジュールセレクタ13に対してバックアップモジュ
ールを格納モジュールと同時に選択する(ステップS5
08)。最後に、マイクロプログラム処理部12は、キ
ャッシュディレクトリ情報より格納位置を決定する(ス
テップS509)。
【0083】次に、第4実施例に係るディスクキャッシ
ュの制御方法について説明する。
【0084】第4実施例に係るディスクキャッシュの制
御方法は、第2実施例に係るディスクキャッシュの制御
方法が4つのメモリモジュールMM#1〜MM#4で構
成されるディスク制御装置1において論理ディスク単位
に格納モジュールを決定していたのに対して、論理ディ
スクの所定サイズ単位(例えば、1Gバイト単位)に格
納モジュールを決定するようにしたものである。したが
って、第4実施例に係るディスクキャッシュの制御方法
が適用されるディスクシステムは、図3に示したディス
クシステムにおいて、第4メモリモジュールMM#4が
さらに追加されただけのものであるので、その図示を省
略し、図3に示した名称,符号等をそのまま流用して説
明する。また、4つのメモリモジュールMM#1〜MM
#4で構成されるディスク制御装置1において2つのメ
モリモジュールで障害が発生した場合の復旧処理方法
は、図7および図8に示した第2実施例の場合と同様で
あるので、その詳しい説明を省略する。
【0085】図10を参照すると、4つのメモリモジュ
ールMM#1〜MM#4で構成されるディスク制御装置
1での格納モジュールの決定方法は、アクセス領域算出
ステップS601と、格納モジュール番号決定ステップ
S602と、格納モジュール故障中判定ステップS60
3と、格納モジュール番号変更ステップS604と、格
納モジュール選択ステップS605と、FAST WR
ITE処理判定ステップS606と、バックアップモジ
ュール番号決定ステップS607と、バックアップモジ
ュール故障中判定ステップS608と、バックアップモ
ジュール番号変更ステップS609と、バックアップモ
ジュール選択ステップS610と、格納位置決定ステッ
プS611とからなる。
【0086】次に、このような第4実施例に係るディス
クキャッシュの制御方法の手順について説明する。ここ
では、4つのメモリモジュールMM#1〜MM#4で構
成されるディスク制御装置1での格納モジュールの決定
方法について説明する。
【0087】マイクロプログラム処理部12は、ホスト
コンピュータ2からI/Oの出された論理ディスク番号
LD#nとセクタ番号SEC#とから、アクセス領域=
{Σ(論理ディスク番号LD#iの記憶容量)+(セク
タ番号SEC#−1)×セクタサイズ}÷230(ただ
し、i=0〜n−1)を算出し(ステップS601)、
アクセス領域/4の剰余を格納モジュール番号とする
(ステップS602)。次に、マイクロプログラム処理
部12は、格納モジュールが故障中かどうかを判断し
(ステップS603)、故障中であれば、(アクセス領
域+2)/4の剰余を格納モジュール番号とする(ステ
ップS604)。続いて、マイクロプログラム処理部1
2は、第1モジュールセレクタ13に対して格納モジュ
ールを選択し(ステップS605)、FAST WRI
TE処理であるかいなかに基づいてバックアップ作成の
必要性を判断する(ステップS606)。FAST W
RITE処理であれば、マイクロプログラム処理部12
は、(格納モジュール番号+1)/4の剰余をバックア
ップモジュール番号とし(ステップS607)、バック
アップモジュールが故障中であるかどうかを判断する
(ステップS608)。バックアップモジュールが故障
中であれば、マイクロプログラム処理部12は、(格納
モジュール番号+3)/4の剰余をバックアップモジュ
ール番号とする(ステップS609)。次に、マイクロ
プログラム処理部12は、第1モジュールセレクタ13
に対してバックアップモジュールを格納モジュールと同
時に選択する(ステップS610)。最後に、マイクロ
プログラム処理部12は、キャッシュディレクトリ情報
より格納位置を決定する(ステップS611)。
【0088】
【発明の効果】以上説明したように本発明のディスクキ
ャッシュの制御方法の第1の効果は、メモリモジュール
の障害によって一部のメモリモジュールが使用できなく
なっても未更新データの二重化を継続できることであ
る。一部のメモリモジュールが使用できなくなっても未
更新データの二重化を継続することができるため、信頼
性確保のためにFAST WRITE処理を中断した
り、あるいはさらに障害が発生した場合にはデータの消
失が起こり得る冗長性のない状態での運用を行う必要が
なくなる。すなわち、障害によりキャッシュメモリの一
部が使用できなくなっても、高い性能と高い信頼性とを
同時に得ることができる。
【0089】第2の効果は、メモリモジュールの障害に
よっても未更新データの二重化を継続することができる
ようにしても、障害のない状態では搭載されているメモ
リ空間を有効に使用できることである。すなわち、冗長
性を維持させるためにコストの上昇を招かないことであ
る。
【図面の簡単な説明】
【図1】(a)および(b)は本発明の第1の実施の形
態に係るディスクキャッシュの制御方法によるデータ管
理の仕組みを示す図である。
【図2】(a)および(b)は本発明の第2の実施の形
態に係るディスクキャッシュの制御方法によるデータ管
理の仕組みを示す図である。
【図3】本発明の第1実施例に係るディスクキャッシュ
の制御方法が適用されるディスクシステムの構成を例示
するブロック図である。
【図4】本発明の第1実施例に係るディスクキャッシュ
の制御方法が適用された3つのメモリモジュールで構成
されるディスク制御装置での格納モジュールの決定方法
を示すフローチャートである。
【図5】本発明の第1実施例に係るディスクキャッシュ
の制御方法が適用された3つのメモリモジュールで構成
されるディスク制御装置において1つのメモリモジュー
ルに障害が発生した場合の復旧処理方法を示すフローチ
ャートである。
【図6】本発明の第2実施例に係るディスクキャッシュ
の制御方法が適用された4つのメモリモジュールで構成
されるディスク制御装置での格納モジュールの決定方法
を示すフローチャートである。
【図7】本発明の第2実施例に係るディスクキャッシュ
の制御方法が適用された4つのメモリモジュールで構成
されるディスク制御装置において2つのメモリモジュー
ルに同時に障害が発生した場合の復旧処理方法の前半部
を示すフローチャートである。
【図8】本発明の第2実施例に係るディスクキャッシュ
の制御方法が適用された4つのメモリモジュールで構成
されるディスク制御装置において2つのメモリモジュー
ルに同時に障害が発生した場合の復旧処理方法の後半部
を示すフローチャートである。
【図9】本発明の第3実施例に係るディスクキャッシュ
の制御方法が適用された3つのメモリモジュールで構成
されるディスク制御装置での格納モジュールの決定方法
を示すフローチャートである。
【図10】本発明の第4実施例に係るディスクキャッシ
ュの制御方法が適用された4つのメモリモジュールで構
成されるディスク制御装置での格納モジュールの決定方
法を示すフローチャートである。
【図11】(a)および(b)は従来のディスクキャッ
シュの制御方法における二重化による未更新データの管
理の仕組みを示す図である。
【図12】RAID5形式を説明する図である。
【符号の説明】
1 ディスク制御装置 2 ホストコンピュータ 3 ディスク 11 ホストI/F制御部 12 マイクロプログラム処理部 13 第1モジュールセレクタ 14 第2モジュールセレクタ 15 アレイ制御部 16 ディスクI/F制御部 111,112,113,114 ダーティデータ 111’,112’,121’,122’ バックアッ
プデータ 112,122,132,142 バックアップデータ 113,123,133,143 クリーンデータ LD#1,LD#2,… 論理ディスク MM#1,MM#2,MM#3,MM#4 メモリモジ
ュール S101 論理ディスク番号特定ステップ S102 格納モジュール番号決定ステップ S103 格納モジュール故障中判定ステップ S104 格納モジュール番号変更ステップ S105 格納モジュール選択ステップ S106 FAST WRITE処理判定ステップ S107 バックアップモジュール番号決定ステップ S108 バックアップモジュール選択ステップ S109 格納位置決定ステップ S201 障害発生メモリモジュール番号特定ステップ S202 ディレクトリ変更ステップ S203 空き領域確保ステップ S204 バックアップデータ作成ステップ S205 空き領域確保ステップ S206 バックアップデータ作成ステップ S301 論理ディスク番号特定ステップ S302 格納モジュール番号決定ステップ S303 格納モジュール故障中判定ステップ S304 格納モジュール番号変更ステップ S305 格納モジュール選択ステップ S306 FAST WRITE処理判定ステップ S307 バックアップモジュール番号決定ステップ S308 バックアップモジュール故障中判定ステップ S309 バックアップモジュール番号変更ステップ S310 バックアップモジュール選択ステップ S311 格納位置決定ステップ S401 障害発生メモリモジュール番号特定ステップ S402 ディレクトリ変更ステップ S403 メモリモジュール選択ステップ S404 選択モジュール故障中判定ステップ S405 バックアップモジュール設定ステップ S406 バックアップモジュール設定ステップ S407 空き領域確保ステップ S408 バックアップデータ作成ステップ S409 空き領域確保ステップ S410 バックアップデータ作成ステップ S411 故障中未復旧モジュール調査ステップ S412 故障中未復旧モジュール有無判定ステップ S501 アクセス領域算出ステップ S502 格納モジュール番号決定ステップ S503 格納モジュール故障中判定ステップ S504 格納モジュール番号変更ステップ S505 格納モジュール選択ステップ S506 FAST WRITE処理判定ステップ S507 バックアップモジュール番号決定ステップ S508 バックアップモジュール選択ステップ S509 格納位置決定ステップ S601 アクセス領域算出ステップ S602 格納モジュール番号決定ステップ S603 格納モジュール故障中判定ステップ S604 格納モジュール番号変更ステップ S605 格納モジュール選択ステップ S606 FAST WRITE処理判定ステップ S607 バックアップモジュール番号決定ステップ S608 バックアップモジュール故障中判定ステップ S609 バックアップモジュール番号変更ステップ S610 バックアップモジュール選択ステップ S611 格納位置決定ステップ
フロントページの続き (56)参考文献 特開 平7−110788(JP,A) 特開 平8−328758(JP,A) 特開 平7−281933(JP,A) 特開 平7−230358(JP,A) 特開 平6−119126(JP,A) 特開 平3−164844(JP,A) 特開 平7−160432(JP,A) 特開 平7−328072(JP,A) 特開 平7−311659(JP,A) 特開 平7−311658(JP,A) 特開 平7−248884(JP,A) 特開 平6−236322(JP,A) 特開 平6−119120(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 G06F 3/06 G06F 11/16 G06F 12/16

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 3系統以上の物理的に独立したメモリモ
    ジュールで構成されていて、各系統にデータを分散して
    格納するように制御され、各系統のメモリモジュールに
    はそれぞれディスク上のデータと一致したクリーンデー
    タと、未更新データであるダーティデータと、他の1系
    統に関する未更新データのバックアップデータとを格納
    するディスクキャッシュの制御方法において、 第1のメモリモジュールが故障し、第1のメモリモジュ
    ールに格納されていたデータが失われた場合には、第2
    のメモリモジュール上に格納されている第1のメモリモ
    ジュールの未更新データのバックアップデータを用いて
    失われた第1のメモリモジュールの未更新データの処理
    を継続するとともに、第2のメモリモジュール上に格納
    されている第1のメモリモジュールの未更新データのバ
    ックアップデータを第3のメモリモジュール上にコピー
    して前記失われた第1のメモリモジュールの未更新デー
    タのバックアップデータを作成し、さらに、前記故障し
    た第1のメモリモジュール上に格納していた第3のメモ
    リモジュールの未更新データのバックアップデータを第
    3のメモリモジュールの未更新データを第2のメモリモ
    ジュール上にコピーして生成することを特徴とするディ
    スクキャッシュの制御方法。
  2. 【請求項2】 3系統の物理的に独立したメモリモジュ
    ールで構成されたディスクキャッシュにおいて、 上位装置からI/Oの出された論理ディスク番号を特定
    し、論理ディスク番号/3の剰余を格納モジュール番号
    とし、格納モジュールが故障中かどうかを判断し、故障
    中であれば、(論理ディスク番号+1)/3の剰余を格
    納モジュール番号とし、格納モジュールを選択し、FA
    ST WRITE処理であるかいなかに基づいてバック
    アップ作成の必要性を判断し、FAST WRITE処
    理であれば、(格納モジュール番号+1)/3の剰余を
    バックアップモジュール番号とし、バックアップモジュ
    ールを格納モジュールと同時に選択し、キャッシュディ
    レクトリ情報より格納位置を決定することを特徴とする
    ディスクキャッシュの制御方法。
  3. 【請求項3】 請求項記載のディスクキャッシュの制
    御方法において、 障害の発生したメモリモジュールの番号を特定し、(障
    害モジュール番号+1)/3の剰余が示すメモリモジュ
    ールのバックアップデータをダーティデータとして扱う
    ようにディレクトリを変更し、(障害モジュール番号+
    2)/3の剰余が示すメモリモジュールにダーティデー
    タと同容量の空き領域を確保し、(障害モジュール番号
    +2)/3の剰余が示すメモリモジュールにダーティデ
    ータをコピーしてバックアップデータを作成し、(障害
    モジュール番号+1)/3の剰余が示すメモリモジュー
    ルにダーティデータと同容量の空き領域を確保し、(障
    害モジュール番号+1)/3の剰余が示すメモリモジュ
    ールにダーティデータをコピーしてバックアップデータ
    を作成することを特徴とするディスクキャッシュの制御
    方法。
  4. 【請求項4】 4系統の物理的に独立したメモリモジュ
    ールで構成されたディスクキャッシュにおいて、 上位装置からI/Oの出された論理ディスク番号を特定
    し、論理ディスク番号/4の剰余を格納モジュール番号
    とし、格納モジュールが故障中かどうかを判断し、故障
    中であれば(論理ディスク番号+2)/4の剰余を格納
    モジュール番号とし、格納モジュールを選択し、FAS
    T WRITE処理であるかいなかに基づいてバックア
    ップ作成の必要性を判断し、FAST WRITE処理
    であれば、(格納モジュール番号+1)/4の剰余をバ
    ックアップモジュール番号とし、バックアップモジュー
    ルが故障中であるかどうかを判断し、バックアップモジ
    ュールが故障中であれば(格納モジュール番号+3)/
    4の剰余をバックアップモジュール番号とし、バックア
    ップモジュールを格納モジュールと同時に選択し、キャ
    ッシュディレクトリ情報より格納位置を決定することを
    特徴とするディスクキャッシュの制御方法。
  5. 【請求項5】 請求項記載のディスクキャッシュの制
    御方法において、 障害の発生したメモリモジュールの番号を特定し、(障
    害モジュール番号+2)/4の剰余が示すメモリモジュ
    ールのバックアップデータをダーティデータとして扱う
    ようにディレクトリを変更し、(障害モジュール番号+
    3)/4の剰余が示すメモリモジュールを選択し、選択
    モジュールが故障中かどうかを判定し、選択モジュール
    が故障中でなければ(障害モジュール番号+3)/4の
    剰余が示すメモリモジュールをバックアップモジュール
    として設定し、選択モジュールが故障中であれば(障害
    モジュール番号+5)/4の剰余が示すメモリモジュー
    ルをバックアップモジュールとして設定し、設定された
    バックアップモジュールに(障害モジュール番号+2)
    /4の剰余が示すメモリモジュール内のダーティデータ
    と同容量の空き領域を確保し、設定されたバックアップ
    モジュールに(障害モジュール番号+2)/4の剰余が
    示すメモリモジュール内のダーティデータをコピーして
    バックアップデータを作成し、設定されたバックアップ
    モジュールに(障害モジュール番号+2)/4の剰余が
    示すメモリモジュールにダーティデータと同容量の空き
    領域を確保し、設定されたバックアップモジュールに
    (障害モジュール番号+2)/4の剰余が示すメモリモ
    ジュール内のダーティデータをコピーしてバックアップ
    データを作成し、当該メモリモジュール以外で故障して
    いて復旧の行われていないメモリモジュールを調査し、
    故障中で未復旧のメモリモジュールがあるかどうかを判
    定し、故障中で未復旧のメモリモジュールがあれば、制
    御を最初に戻して処理を繰り返すことを特徴とするディ
    スクキャッシュの制御方法。
  6. 【請求項6】 3系統の物理的に独立したメモリモジュ
    ールで構成されたディスクキャッシュにおいて、 上位装置からI/Oの出された論理ディスク番号とセク
    タ番号とから所定サイズ単位のアクセス領域を算出し、
    アクセス領域/3の剰余を格納モジュール番号とし、格
    納モジュールが故障中かどうかを判断し、故障中であれ
    ば、(アクセス領域+1)/3の剰余を格納モジュール
    番号とし、格納モジュールを選択し、FAST WRI
    TE処理であるかいなかに基づいてバックアップ作成の
    必要性を判断し、FAST WRITE処理であれば、
    (格納モジュール番号+1)/3の剰余をバックアップ
    モジュール番号とし、バックアップモジュールを格納モ
    ジュールと同時に選択し、キャッシュディレクトリ情報
    より格納位置を決定するディスクキャッシュの制御方
    法。
  7. 【請求項7】 4系統の物理的に独立したメモリモジュ
    ールで構成されたディスクキャッシュにおいて、 上位装置からI/Oの出された論理ディスク番号とセク
    タ番号とから所定サイズ単位のアクセス領域を算出し、
    アクセス領域/4の剰余を格納モジュール番号とし、格
    納モジュールが故障中かどうかを判断し、故障中であれ
    ば、(アクセス領域+2)/4の剰余を格納モジュール
    番号とし、格納モジュールを選択し、FAST WRI
    TE処理であるかいなかに基づいてバックアップ作成の
    必要性を判断し、FAST WRITE処理であれば、
    (格納モジュール番号+1)/4の剰余をバックアップ
    モジュール番号とし、バックアップモジュールが故障中
    であるかどうかを判断し、バックアップモジュールが故
    障中であれば、(格納モジュール番号+3)/4の剰余
    をバックアップモジュール番号とし、バックアップモジ
    ュールを格納モジュールと同時に選択し、キャッシュデ
    ィレクトリ情報より格納位置を決定するディスクキャッ
    シュの制御方法。
JP01181597A 1997-01-06 1997-01-06 ディスクキャッシュの制御方法 Expired - Fee Related JP3204143B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP01181597A JP3204143B2 (ja) 1997-01-06 1997-01-06 ディスクキャッシュの制御方法
US08/996,813 US6105116A (en) 1997-01-06 1997-12-23 Method and apparatus of controlling a disk cache during a degenerated mode of operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01181597A JP3204143B2 (ja) 1997-01-06 1997-01-06 ディスクキャッシュの制御方法

Publications (2)

Publication Number Publication Date
JPH10198602A JPH10198602A (ja) 1998-07-31
JP3204143B2 true JP3204143B2 (ja) 2001-09-04

Family

ID=11788310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01181597A Expired - Fee Related JP3204143B2 (ja) 1997-01-06 1997-01-06 ディスクキャッシュの制御方法

Country Status (2)

Country Link
US (1) US6105116A (ja)
JP (1) JP3204143B2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4392877B2 (ja) 1998-09-18 2010-01-06 株式会社日立製作所 ディスクアレイ制御装置
JP3573032B2 (ja) * 1999-11-09 2004-10-06 日本電気株式会社 ディスクアレイ装置
US6775791B2 (en) 2001-01-26 2004-08-10 Dell Products L.P. Replaceable memory modules with parity-based data recovery
US6530003B2 (en) * 2001-07-26 2003-03-04 International Business Machines Corporation Method and system for maintaining data coherency in a dual input/output adapter utilizing clustered adapters
JP3610574B2 (ja) * 2001-08-15 2005-01-12 日本電気株式会社 ディスクアレイ装置
US6775738B2 (en) 2001-08-17 2004-08-10 International Business Machines Corporation Method, system, and program for caching data in a storage controller
JP4209108B2 (ja) * 2001-12-20 2009-01-14 株式会社日立製作所 記憶装置の制御方法およびこの方法に用いる記憶装置、ディスクアレイ装置、及びディスクコントローラ
JP4307777B2 (ja) * 2002-01-28 2009-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理方法、データ処理システムおよびプログラム
US7210061B2 (en) * 2003-04-17 2007-04-24 Hewlett-Packard Development, L.P. Data redundancy for writes using remote storage system cache memory
US7657781B1 (en) * 2003-07-25 2010-02-02 Cisco Technology, Inc. System and method for providing redundant data load sharing in a distributed network
US7107411B2 (en) * 2003-12-16 2006-09-12 International Business Machines Corporation Apparatus method and system for fault tolerant virtual memory management
JP4477906B2 (ja) * 2004-03-12 2010-06-09 株式会社日立製作所 ストレージシステム
JP4147198B2 (ja) * 2004-03-23 2008-09-10 株式会社日立製作所 ストレージシステム
JP2006259945A (ja) * 2005-03-16 2006-09-28 Nec Corp 冗長システム及びその構成制御方法並びにプログラム
WO2007097026A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited キャッシュ制御装置およびキャッシュ制御プログラム
JP2007265271A (ja) * 2006-03-29 2007-10-11 Nec Corp ストレージ装置、データ配置方法およびプログラム
US8843783B2 (en) * 2006-03-31 2014-09-23 Emc Corporation Failover to backup site in connection with triangular asynchronous replication
JP4893214B2 (ja) * 2006-10-06 2012-03-07 富士通株式会社 記憶制御装置、記憶制御方法および記憶制御プログラム
JP4480756B2 (ja) 2007-12-05 2010-06-16 富士通株式会社 ストレージ管理装置、ストレージシステム制御装置、ストレージ管理プログラム、データ記憶システムおよびデータ記憶方法
JP4662565B2 (ja) * 2008-01-24 2011-03-30 株式会社日立製作所 ディスクアレイ制御装置及びディスクアレイシステム
JP5176854B2 (ja) * 2008-10-09 2013-04-03 日本電気株式会社 ディスクアレイサブシステム、ディスクアレイサブシステムのキャッシュ制御方法、及びプログラム
US20100174676A1 (en) * 2009-01-06 2010-07-08 International Business Machines Corporation Determining modified data in cache for use during a recovery operation
KR20180075759A (ko) 2016-12-26 2018-07-05 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US11138120B2 (en) * 2015-10-16 2021-10-05 SK Hynix Inc. Memory system
JP6524889B2 (ja) * 2015-11-05 2019-06-05 富士通株式会社 ストレージシステムおよび監視装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6357601A (ja) * 1986-08-29 1988-03-12 Hitachi Ltd 三次元架橋化高分子物質及びその製造方法
JPS6411056A (en) * 1987-07-01 1989-01-13 Furukawa Electric Co Ltd Rotary ring for continuous casting
JPS6450624A (en) * 1987-08-20 1989-02-27 Mitsubishi Electric Corp Analog/digital converter using diode
JPH01318219A (ja) * 1988-06-20 1989-12-22 Seiko Epson Corp 希土類−鉄系永久磁石の製造方法
US4965815A (en) * 1988-07-21 1990-10-23 U.S. Philips Corporation Phase detection circuit for stepwise measurement of a phase relation
JP2706099B2 (ja) * 1988-09-06 1998-01-28 富士通株式会社 半導体装置の製造方法
JP2830218B2 (ja) * 1989-11-22 1998-12-02 株式会社日立製作所 キャッシュ付ディスク制御装置の障害処理方法
JPH03285995A (ja) * 1990-03-31 1991-12-17 Nissei Kagaku Kogyo Kk 界面活性剤の製造方法
JPH04195032A (ja) * 1990-11-28 1992-07-15 Minolta Camera Co Ltd マイクロカメラおよびマイクロフィルム
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
JP2930743B2 (ja) * 1991-01-07 1999-08-03 三井金属鉱業株式会社 温度センサの製造方法
JP3451099B2 (ja) * 1991-12-06 2003-09-29 株式会社日立製作所 外部記憶サブシステム
JPH05256216A (ja) * 1992-03-16 1993-10-05 Hitachi Ltd 内燃機関のエアクリーナ
JPH05304939A (ja) * 1992-04-30 1993-11-19 Mitsubishi Agricult Mach Co Ltd 製麹における出麹前処理方法
US5337414A (en) * 1992-09-22 1994-08-09 Unisys Corporation Mass data storage and retrieval system
DE4238915A1 (de) * 1992-11-19 1994-05-26 Solvay Fluor & Derivate Verfahren zur Wiedergewinnung von Jod
US5553263A (en) * 1993-07-16 1996-09-03 Unisys Corporation Cache memory system with fault tolerance having concurrently operational cache controllers processing disjoint groups of memory
US5548711A (en) * 1993-08-26 1996-08-20 Emc Corporation Method and apparatus for fault tolerant fast writes through buffer dumping
JP3188071B2 (ja) * 1993-10-14 2001-07-16 富士通株式会社 ディスクキャッシュ装置
JPH08328758A (ja) * 1995-06-02 1996-12-13 Hitachi Ltd ディスクアレイ装置

Also Published As

Publication number Publication date
JPH10198602A (ja) 1998-07-31
US6105116A (en) 2000-08-15

Similar Documents

Publication Publication Date Title
JP3204143B2 (ja) ディスクキャッシュの制御方法
JP4815825B2 (ja) ディスクアレイ装置及びその再構築方法
KR960001748B1 (ko) 컴퓨터 시스템 동작방법과 컴퓨터 시스템용의 기억 장치 및 기억제어장치
JP3316500B2 (ja) 移動されたデータの完全性を維持しながらraidセットにおけるドライブ数の拡張
EP0784273B1 (en) Generating a backup copy in RAID subsystems
EP0405926B1 (en) Method and apparatus for managing a shadow set of storage media
US6529995B1 (en) Method and apparatus for maintaining and restoring mapping table entries and data in a raid system
US7249278B2 (en) Disk array apparatus and method for expanding storage capacity
US7721143B2 (en) Method for reducing rebuild time on a RAID device
EP0869436A2 (en) Method of storing data in a redundant array of disks and redundant array of disks
JPWO2006123416A1 (ja) ディスク故障復旧方法及びディスクアレイ装置
JP3573032B2 (ja) ディスクアレイ装置
US7013317B2 (en) Method for backup and storage system
JP2005099995A (ja) 磁気ディスク装置のディスク共有方法及びシステム
US6701452B1 (en) Disk array controller having distributed parity generation function
EP0303856B1 (en) Method and apparatus for maintaining duplex-paired devices by means of a dual copy function
JP3213799B2 (ja) 記憶制御装置
JP4398596B2 (ja) ディスクアレイ装置
JPH09218754A (ja) データ記憶システム
JPH08286844A (ja) パリティ生成制御方法およびディスク制御装置
JPH06119125A (ja) ディスクアレイ装置
CN107122261B (zh) 一种存储设备的数据读写方法及装置
JP3067558B2 (ja) ディスクアレイ装置の拡張構成方法およびディスクアレイ装置
JPH06266508A (ja) ディスクアレイ制御方法
JP2002175157A (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080629

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090629

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110629

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110629

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120629

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees