JPH0635802A - 複数キャッシュ付きディスク制御装置 - Google Patents
複数キャッシュ付きディスク制御装置Info
- Publication number
- JPH0635802A JPH0635802A JP4193651A JP19365192A JPH0635802A JP H0635802 A JPH0635802 A JP H0635802A JP 4193651 A JP4193651 A JP 4193651A JP 19365192 A JP19365192 A JP 19365192A JP H0635802 A JPH0635802 A JP H0635802A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- disk
- caches
- disk drive
- 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.)
- Pending
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【構成】ディスク制御装置2内に、キャッシュ241,
242,243と、各キャッシュに対応するディレクト
リ231,232,233を設け、配下に接続されてい
るディスクドライブ31,32,33を、正常に使用可
能なキャッシュメモリと同じ数のグループに分けて、デ
ータを格納するキャッシュメモリをグループ別に割り当
てる。 【効果】一部のキャッシュが障害を起こしたり、オンラ
イン中にキャッシュを保守したりする場合でも、キャッ
シュの利用を継続できるので、ディスク制御装置の障害
時,保守時まで考えたトータルな性能を向上できる。
242,243と、各キャッシュに対応するディレクト
リ231,232,233を設け、配下に接続されてい
るディスクドライブ31,32,33を、正常に使用可
能なキャッシュメモリと同じ数のグループに分けて、デ
ータを格納するキャッシュメモリをグループ別に割り当
てる。 【効果】一部のキャッシュが障害を起こしたり、オンラ
イン中にキャッシュを保守したりする場合でも、キャッ
シュの利用を継続できるので、ディスク制御装置の障害
時,保守時まで考えたトータルな性能を向上できる。
Description
【0001】
【産業上の利用分野】本発明は、キャッシュ付きディス
ク制御装置に係り、特に、キャッシュの障害時、保守時
まで含めて考えたトータルの性能,信頼性(パフォーマ
ビリティ)を向上させるのに好適な制御装置、並びに、
制御方法に関する。
ク制御装置に係り、特に、キャッシュの障害時、保守時
まで含めて考えたトータルの性能,信頼性(パフォーマ
ビリティ)を向上させるのに好適な制御装置、並びに、
制御方法に関する。
【0002】
【従来の技術】ディスク制御装置内にキャッシュメモリ
を設け、頻繁にアクセスされるデータをキャッシュに格
納しておき、それらのデータへのアクセス要求に対して
は、ディスクドライブをアクセスせずに、キャッシュか
らデータを読みだすことによって、アクセスタイムを低
減することが従来から行なわれている。また、キャッシ
ュメモリは、以下のようにバッファメモリとしても活用
されている。例えば、ディスクドライブからデータを読
みだす際に、一度キャッシュにデータを転送して、後で
上位ホストコンピュータへ非同期にデータを転送する。
あるいは、二台のディスクドライブの内容を完全に一致
させる目的で、マスタードライブのデータを予備ドライ
ブへコピーする際に、マスタードライブのデータをキャ
ッシュに転送して、それを予備ドライブへ書き込む。
を設け、頻繁にアクセスされるデータをキャッシュに格
納しておき、それらのデータへのアクセス要求に対して
は、ディスクドライブをアクセスせずに、キャッシュか
らデータを読みだすことによって、アクセスタイムを低
減することが従来から行なわれている。また、キャッシ
ュメモリは、以下のようにバッファメモリとしても活用
されている。例えば、ディスクドライブからデータを読
みだす際に、一度キャッシュにデータを転送して、後で
上位ホストコンピュータへ非同期にデータを転送する。
あるいは、二台のディスクドライブの内容を完全に一致
させる目的で、マスタードライブのデータを予備ドライ
ブへコピーする際に、マスタードライブのデータをキャ
ッシュに転送して、それを予備ドライブへ書き込む。
【0003】このキャッシュ付きディスク制御装置にお
いて、キャッシュメモリや、そのディレクトリメモリに
障害が発生すると、特開昭60−79447 号公報に記載のよ
うに、キャッシュ全体を切り離していた。
いて、キャッシュメモリや、そのディレクトリメモリに
障害が発生すると、特開昭60−79447 号公報に記載のよ
うに、キャッシュ全体を切り離していた。
【0004】また、ディスク入出力処理を中断しないで
キャッシュをオンライン中に保守するためには、特開平
3−84643号公報に記載のように、保守作業の間は、キャ
ッシュ全体を切り離していた。
キャッシュをオンライン中に保守するためには、特開平
3−84643号公報に記載のように、保守作業の間は、キャ
ッシュ全体を切り離していた。
【0005】
【発明が解決しようとする課題】上記従来のキャッシュ
付きディスク制御装置では、キャッシュやディレクトリ
が故障したときや、キャッシュのオンライン保守を実行
している間は、キャッシュ全体を切り離している。その
ため、その間のディスク入出力処理は全て直接ディスク
をアクセスすることによって行なわれる。従って、キャ
ッシュを使用しているときと比べて性能低下が大きい。
また、非同期データ転送やディスクコピー処理を実行す
ることができなくなるので、これらの機能の信頼性も低
い。
付きディスク制御装置では、キャッシュやディレクトリ
が故障したときや、キャッシュのオンライン保守を実行
している間は、キャッシュ全体を切り離している。その
ため、その間のディスク入出力処理は全て直接ディスク
をアクセスすることによって行なわれる。従って、キャ
ッシュを使用しているときと比べて性能低下が大きい。
また、非同期データ転送やディスクコピー処理を実行す
ることができなくなるので、これらの機能の信頼性も低
い。
【0006】本発明の目的は、キャッシュ付きディスク
制御装置の、障害時,保守時まで含めて考えたトータル
な性能,信頼性を向上させることにある。
制御装置の、障害時,保守時まで含めて考えたトータル
な性能,信頼性を向上させることにある。
【0007】
【課題を解決するための手段】上記目的を達成するた
め、本発明では、複数個のキャッシュメモリと各キャッ
シュに対応するディレクトリを有し、配下に接続されて
いる複数のディスクドライブを、正常に使用可能なキャ
ッシュメモリと同じ数のグループに分けて、データを格
納するキャッシュメモリをグループ別に割り当てること
を特徴とする。
め、本発明では、複数個のキャッシュメモリと各キャッ
シュに対応するディレクトリを有し、配下に接続されて
いる複数のディスクドライブを、正常に使用可能なキャ
ッシュメモリと同じ数のグループに分けて、データを格
納するキャッシュメモリをグループ別に割り当てること
を特徴とする。
【0008】また、前記複数のキャッシュメモリのうち
の一部の切り離し・組み込み要求を指示できるサービス
プロセッサに接続され、前記サービスプロセッサを介し
ての、保守員による前記キャッシュの切り離し要求に対
して、指定されたキャッシュの使用を禁止すると共に、
その後、保守員によるキャッシュの組み込み要求に対し
て、再びキャッシュの使用を許可することを特徴とす
る。
の一部の切り離し・組み込み要求を指示できるサービス
プロセッサに接続され、前記サービスプロセッサを介し
ての、保守員による前記キャッシュの切り離し要求に対
して、指定されたキャッシュの使用を禁止すると共に、
その後、保守員によるキャッシュの組み込み要求に対し
て、再びキャッシュの使用を許可することを特徴とす
る。
【0009】
【作用】本発明におけるディスク制御装置では、複数の
キャッシュメモリと、キャッシュメモリ毎に対応するデ
ィレクトリを有しているので、ある一個のキャッシュや
ディレクトリに障害が起こっても、残りのキャッシュや
ディレクトリを使うことができる。従って、全て直接デ
ィスクドライブをアクセスする従来方式に比べて、性能
低下を抑えることができる。また、非同期データ転送や
ディスクコピー処理を継続することができるので、これ
らの機能の信頼性も高められる。
キャッシュメモリと、キャッシュメモリ毎に対応するデ
ィレクトリを有しているので、ある一個のキャッシュや
ディレクトリに障害が起こっても、残りのキャッシュや
ディレクトリを使うことができる。従って、全て直接デ
ィスクドライブをアクセスする従来方式に比べて、性能
低下を抑えることができる。また、非同期データ転送や
ディスクコピー処理を継続することができるので、これ
らの機能の信頼性も高められる。
【0010】また、配下の各ディスクドライブに対し
て、データを格納するキャッシュメモリが一意に決まっ
ているので、ある任意のデータがいずれかのキャッシュ
メモリに格納されているか否かを判定する際に、データ
がどのディスクドライブに属するものであるかという情
報だけから、調べるべきディレクトリをひとつに絞り込
むことができる。従って、ディレクトリが複数あること
に伴って生じるデータ探索のオーバヘッドは極めて小さ
くて済む。
て、データを格納するキャッシュメモリが一意に決まっ
ているので、ある任意のデータがいずれかのキャッシュ
メモリに格納されているか否かを判定する際に、データ
がどのディスクドライブに属するものであるかという情
報だけから、調べるべきディレクトリをひとつに絞り込
むことができる。従って、ディレクトリが複数あること
に伴って生じるデータ探索のオーバヘッドは極めて小さ
くて済む。
【0011】また、本発明におけるオンライン中キャッ
シュ保守方式では、複数のキャッシュメモリのうちの一
部の切り離し・組み込みが可能であり、切離し中でも残
りのキャッシュメモリを継続して使用することができる
ので、保守中においても、性能低下や機能制限を抑える
ことができる。
シュ保守方式では、複数のキャッシュメモリのうちの一
部の切り離し・組み込みが可能であり、切離し中でも残
りのキャッシュメモリを継続して使用することができる
ので、保守中においても、性能低下や機能制限を抑える
ことができる。
【0012】
【実施例】図1は本発明の一実施例を示すディスクサブ
システムのブロック図である。本実施例に示すディスク
サブシステムは、CPU1,ディスク制御装置2,複数
のディスクドライブ31,32,33から構成されてい
る。ディスク制御装置2は、CPU1の要求に応じて、
ディスクドライブのデータの読みだし、書き込み処理を
行なう。
システムのブロック図である。本実施例に示すディスク
サブシステムは、CPU1,ディスク制御装置2,複数
のディスクドライブ31,32,33から構成されてい
る。ディスク制御装置2は、CPU1の要求に応じて、
ディスクドライブのデータの読みだし、書き込み処理を
行なう。
【0013】ディスク制御装置2は制御プロセッサ2
1,制御メモリ22,複数のキャッシュ241,24
2,243、および、各キャッシュに対応して、その管
理情報を格納するディレクトリ231,232,233
を内蔵している。制御プロセッサ21は必要に応じて制
御メモリ22やディレクトリ231,232,233内
の情報を参照して、データ転送等の制御を実行する。以
下、まず、制御プロセッサ21が参照する情報を説明す
る。
1,制御メモリ22,複数のキャッシュ241,24
2,243、および、各キャッシュに対応して、その管
理情報を格納するディレクトリ231,232,233
を内蔵している。制御プロセッサ21は必要に応じて制
御メモリ22やディレクトリ231,232,233内
の情報を参照して、データ転送等の制御を実行する。以
下、まず、制御プロセッサ21が参照する情報を説明す
る。
【0014】図2は制御メモリ22内の情報を示す説明
図である。制御メモリには、ドライブ−キャッシュ対応
テーブル41とキャッシュ使用可否テーブル42が格納
されている。
図である。制御メモリには、ドライブ−キャッシュ対応
テーブル41とキャッシュ使用可否テーブル42が格納
されている。
【0015】ドライブ−キャッシュ対応テーブル41
は、各ドライブのデータが格納されているキャッシュ番
号を示すテーブルであり、値が‘0’であるドライブ
は、一切のデータがキャッシュ上にはないことを表す。
即ち、図2の例では、ドライブ31(#1)のデータがキ
ャッシュ241(#1)内にあり、ドライブ32(#2)
のデータは一切キャッシュ上にないことを表している。
本テーブルは、全ドライブに対して、‘0’に初期設定
しておく。
は、各ドライブのデータが格納されているキャッシュ番
号を示すテーブルであり、値が‘0’であるドライブ
は、一切のデータがキャッシュ上にはないことを表す。
即ち、図2の例では、ドライブ31(#1)のデータがキ
ャッシュ241(#1)内にあり、ドライブ32(#2)
のデータは一切キャッシュ上にないことを表している。
本テーブルは、全ドライブに対して、‘0’に初期設定
しておく。
【0016】キャッシュ使用可否テーブル42は、各キ
ャッシュが正常に使用可能であるか否かを表すテーブル
であり、キャッシュごとに1ビットずつ割り当てられて
いて、‘1’で使用可、‘0’で使用不可を示す。本テ
ーブルは、全キャッシュに対して、‘1’に初期設定し
ておく。
ャッシュが正常に使用可能であるか否かを表すテーブル
であり、キャッシュごとに1ビットずつ割り当てられて
いて、‘1’で使用可、‘0’で使用不可を示す。本テ
ーブルは、全キャッシュに対して、‘1’に初期設定し
ておく。
【0017】図3は図1のディレクトリ231内の情報
を示す図である。ディレクトリには、トラックアドレス
表51,キャッシュ未使用容量52,キャッシュ未使用
キュー53が格納されている。
を示す図である。ディレクトリには、トラックアドレス
表51,キャッシュ未使用容量52,キャッシュ未使用
キュー53が格納されている。
【0018】トラックアドレス表51は、全ディスクド
ライブの物理トラック毎の情報であり、各トラックのデ
ータが、ディレクトリ231に対応するキャッシュ24
1上に格納されている場合は、そのキャッシュ上アドレ
スを示し、格納されていない場合は、‘ヌル(null)’
が設定される。本テーブルは全トラックに対して、‘ヌ
ル’を初期設定しておく。
ライブの物理トラック毎の情報であり、各トラックのデ
ータが、ディレクトリ231に対応するキャッシュ24
1上に格納されている場合は、そのキャッシュ上アドレ
スを示し、格納されていない場合は、‘ヌル(null)’
が設定される。本テーブルは全トラックに対して、‘ヌ
ル’を初期設定しておく。
【0019】キャッシュ未使用容量52は、ディレクト
リ231に対応するキャッシュ241の未使用のエリア、
即ち、ドライブのデータが格納されていないエリアの容
量を示す。キャッシュメモリの全容量を初期設定してお
く。
リ231に対応するキャッシュ241の未使用のエリア、
即ち、ドライブのデータが格納されていないエリアの容
量を示す。キャッシュメモリの全容量を初期設定してお
く。
【0020】キャッシュ未使用キュー53は、ディレク
トリ231に対応するキャッシュ241の中で未使用で
あるアドレスを、キュー構造で並べたものである。この
キュー53に登録されているアドレスの総数と、キャッ
シュ未使用容量52は常に等しい。
トリ231に対応するキャッシュ241の中で未使用で
あるアドレスを、キュー構造で並べたものである。この
キュー53に登録されているアドレスの総数と、キャッ
シュ未使用容量52は常に等しい。
【0021】以下、本実施例における制御プロセッサ2
1の処理を、図4ないし図6のフローチャートを用いて
詳細に説明する。
1の処理を、図4ないし図6のフローチャートを用いて
詳細に説明する。
【0022】図4は、要求されたトラックデータがキャ
ッシュ上に格納されているか否かを判定するときの処理
手順である。この処理は、例えば、CPU1からデータ
読みだし要求を受けたときに使われる。即ち、データ読
みだし要求を受けたとき、まず、この処理を行ない、キ
ャッシュ上に要求データがあれば、キャッシュから読み
だし、なければ、直接、ドライブから読みだす。
ッシュ上に格納されているか否かを判定するときの処理
手順である。この処理は、例えば、CPU1からデータ
読みだし要求を受けたときに使われる。即ち、データ読
みだし要求を受けたとき、まず、この処理を行ない、キ
ャッシュ上に要求データがあれば、キャッシュから読み
だし、なければ、直接、ドライブから読みだす。
【0023】まず、ステップ60で、図2のドライブ−
キャッシュ対応テーブル41を参照して、要求トラック
の属するドライブに対応するキャッシュ番号を読みだ
す。次に、ステップ61で、その取得した値が‘0’で
あるか否かを判定する。値が‘0’である場合には、ど
のキャッシュにもドライブのデータが一切格納されてい
ないことを意味するので、データもキャッシュ上に格納
されていないと判定する(ステップ64)。
キャッシュ対応テーブル41を参照して、要求トラック
の属するドライブに対応するキャッシュ番号を読みだ
す。次に、ステップ61で、その取得した値が‘0’で
あるか否かを判定する。値が‘0’である場合には、ど
のキャッシュにもドライブのデータが一切格納されてい
ないことを意味するので、データもキャッシュ上に格納
されていないと判定する(ステップ64)。
【0024】一方、値が‘0’でない場合には、次に、
ステップ62で、その番号に対応するディレクトリをア
クセスして、図2のトラックアドレス表51内の要求ト
ラックに対応する個所を読みだす。そして、ステップ6
3で、その値が‘ヌル’か否かを判定する。値が‘ヌ
ル’である場合には、要求データはキャッシュ上に格納
されていないと判定する(ステップ64)。また、‘ヌ
ル’ではなく、アドレス値が入っている場合は、要求デ
ータがキャッシュ上に格納されていると判定する(ステ
ップ65)。
ステップ62で、その番号に対応するディレクトリをア
クセスして、図2のトラックアドレス表51内の要求ト
ラックに対応する個所を読みだす。そして、ステップ6
3で、その値が‘ヌル’か否かを判定する。値が‘ヌ
ル’である場合には、要求データはキャッシュ上に格納
されていないと判定する(ステップ64)。また、‘ヌ
ル’ではなく、アドレス値が入っている場合は、要求デ
ータがキャッシュ上に格納されていると判定する(ステ
ップ65)。
【0025】処理によれば、キャッシュ上に任意のデー
タがあるか否かを判定する際に、制御メモリと最大一つ
のディレクトリをアクセスするだけでよいので、キャッ
シュが複数個あることによるオーバヘッドはほとんどな
い。
タがあるか否かを判定する際に、制御メモリと最大一つ
のディレクトリをアクセスするだけでよいので、キャッ
シュが複数個あることによるオーバヘッドはほとんどな
い。
【0026】次に、図5のフローチャートを用いて、キ
ャッシュにデータを格納するときの処理手順を説明す
る。
ャッシュにデータを格納するときの処理手順を説明す
る。
【0027】まず、ステップ70で、図2のドライブ−
キャッシュ対応テーブル41を参照して、データ格納ト
ラックの属するドライブに対応するキャッシュ番号を取
得する。次に、ステップ71で、その取得した値が
‘0’であるか否かを判定する。
キャッシュ対応テーブル41を参照して、データ格納ト
ラックの属するドライブに対応するキャッシュ番号を取
得する。次に、ステップ71で、その取得した値が
‘0’であるか否かを判定する。
【0028】値が‘0’でない場合には、次に、ステッ
プ72で、その番号に対応するディレクトリをアクセス
して、図2のトラックアドレス表51内のデータ格納ト
ラックに対応する個所を読みだす。そして、ステップ7
3で、その値が‘ヌル’か否かを判定する。
プ72で、その番号に対応するディレクトリをアクセス
して、図2のトラックアドレス表51内のデータ格納ト
ラックに対応する個所を読みだす。そして、ステップ7
3で、その値が‘ヌル’か否かを判定する。
【0029】値が‘ヌル’である場合には、次にステッ
プ74で、データを格納するアドレスを決定する。具体
的には、まず、図3の未使用キュー53を調べ、空でな
ければ、その中から任意のアドレスを選択する。また、
未使用キュー53が空の場合は、すでに使われているア
ドレスの中から適当なものを一つ選ぶ。この選択には、
例えば、参照されていない期間が最も長いデータのアド
レスを選ぶ方法がある。
プ74で、データを格納するアドレスを決定する。具体
的には、まず、図3の未使用キュー53を調べ、空でな
ければ、その中から任意のアドレスを選択する。また、
未使用キュー53が空の場合は、すでに使われているア
ドレスの中から適当なものを一つ選ぶ。この選択には、
例えば、参照されていない期間が最も長いデータのアド
レスを選ぶ方法がある。
【0030】一方、トラック表にアドレス値が書かれて
いる場合は、そのアドレスをデータ格納アドレスとす
る。
いる場合は、そのアドレスをデータ格納アドレスとす
る。
【0031】こうして、格納アドレスが決定したら、次
に、ステップ75で、対応するキャッシュにデータを書
き込む。そして、ステップ76で、対応するディレクト
リの図3に示した各情報を更新する。具体的には、ま
ず、トラックアドレス表51については、データを書き
込んだトラックの対応個所に、データを書き込んだアド
レスを書き込むと共に、そのアドレスを使用していたト
ラックがある場合は、そのトラックの対応個所に、‘ヌ
ル’を書き込む。更に、未使用アドレスを新たに割り当
てた場合は、キャッシュ未使用容量52を書き替えると
共に、未使用キュー53からアドレスを削除する。
に、ステップ75で、対応するキャッシュにデータを書
き込む。そして、ステップ76で、対応するディレクト
リの図3に示した各情報を更新する。具体的には、ま
ず、トラックアドレス表51については、データを書き
込んだトラックの対応個所に、データを書き込んだアド
レスを書き込むと共に、そのアドレスを使用していたト
ラックがある場合は、そのトラックの対応個所に、‘ヌ
ル’を書き込む。更に、未使用アドレスを新たに割り当
てた場合は、キャッシュ未使用容量52を書き替えると
共に、未使用キュー53からアドレスを削除する。
【0032】ところで、ステップ71の判定で、値が
‘0’である場合には、どのキャッシュにもドライブの
データが一切格納されていない。従って、データを格納
するキャッシュがまだ決まっていないことを意味する。
この場合には、次に、ステップ77で、図2のキャッシ
ュ使用可否テーブル42の対応ビットが‘1’である全
てのディレクトリを順にアクセスして、それぞれ図3の
キャッシュ未使用容量52を読みだす。そして、ステッ
プ78で、未使用容量52が最大であるキャッシュを選
ぶ。最大の未使用容量を持つキャッシュが二台以上ある
場合は、その中のどのキャッシュを選んでも差し支えな
い。選択が済んだら、次に、ステップ79で、図2のド
ライブ−キャッシュ対応テーブル41内に、ドライブの
対応キャッシュ番号を書き込む。その後は、ステップ7
4以下の処理を行なう。
‘0’である場合には、どのキャッシュにもドライブの
データが一切格納されていない。従って、データを格納
するキャッシュがまだ決まっていないことを意味する。
この場合には、次に、ステップ77で、図2のキャッシ
ュ使用可否テーブル42の対応ビットが‘1’である全
てのディレクトリを順にアクセスして、それぞれ図3の
キャッシュ未使用容量52を読みだす。そして、ステッ
プ78で、未使用容量52が最大であるキャッシュを選
ぶ。最大の未使用容量を持つキャッシュが二台以上ある
場合は、その中のどのキャッシュを選んでも差し支えな
い。選択が済んだら、次に、ステップ79で、図2のド
ライブ−キャッシュ対応テーブル41内に、ドライブの
対応キャッシュ番号を書き込む。その後は、ステップ7
4以下の処理を行なう。
【0033】次に図6のフローチャートを用いて、キャ
ッシュまたはディレクトリに障害が発生したときの処理
手順を説明する。
ッシュまたはディレクトリに障害が発生したときの処理
手順を説明する。
【0034】まず、ステップ80で、図2のキャッシュ
使用可否テーブル42内の、障害を起こしたキャッシ
ュ,ディレクトリに対応するビットを‘0’にリセット
する。そして、ステップ81で、図2のドライブ−キャ
ッシュ対応テーブル41を調べて、障害を起こしたキャ
ッシュ,ディレクトリの番号が対応づけられている全て
のドライブに対して、その対応キャッシュ番号を‘0’
にリセットする。
使用可否テーブル42内の、障害を起こしたキャッシ
ュ,ディレクトリに対応するビットを‘0’にリセット
する。そして、ステップ81で、図2のドライブ−キャ
ッシュ対応テーブル41を調べて、障害を起こしたキャ
ッシュ,ディレクトリの番号が対応づけられている全て
のドライブに対して、その対応キャッシュ番号を‘0’
にリセットする。
【0035】上記処理により、以降、障害を起こしたキ
ャッシュは図5の処理でデータを格納するキャッシュと
して選択されることは無くなる。また、そのキャッシュ
にデータが格納されていたドライブは、図5で説明した
処理により、新たに正常なキャッシュが割り当てられる
ことになる。
ャッシュは図5の処理でデータを格納するキャッシュと
して選択されることは無くなる。また、そのキャッシュ
にデータが格納されていたドライブは、図5で説明した
処理により、新たに正常なキャッシュが割り当てられる
ことになる。
【0036】実施例によれば、キャッシュメモリが複数
個あり、その一部が障害を起こした場合、そのキャッシ
ュを利用していたドライブは、残りの正常なキャッシュ
に切り替えることができるので、性能の大幅な低下やキ
ャッシュを必要とする機能の停止を防ぐことができる。
個あり、その一部が障害を起こした場合、そのキャッシ
ュを利用していたドライブは、残りの正常なキャッシュ
に切り替えることができるので、性能の大幅な低下やキ
ャッシュを必要とする機能の停止を防ぐことができる。
【0037】さて、次に、本発明のオンライン中キャッ
シュ保守方式の一実施例を説明する。
シュ保守方式の一実施例を説明する。
【0038】図7は、キャッシュオンライン保守方式を
実現するディスクサブシステムのブロック図である。基
本的には図1の構成と同じである。ディスク制御装置2
22は複数のプロセッサ21,212を持ち、また、サ
ービスプロセッサ4と接続されている。
実現するディスクサブシステムのブロック図である。基
本的には図1の構成と同じである。ディスク制御装置2
22は複数のプロセッサ21,212を持ち、また、サ
ービスプロセッサ4と接続されている。
【0039】図8は、図7のディレクトリ251内の情
報を示す説明図である。図3に示したトラックアドレス
表51,キャッシュ未使用容量52,キャッシュ未使用
キュー53に加え、キャッシュ使用中フラグ54を格納
している。
報を示す説明図である。図3に示したトラックアドレス
表51,キャッシュ未使用容量52,キャッシュ未使用
キュー53に加え、キャッシュ使用中フラグ54を格納
している。
【0040】キャッシュ使用中フラグ54は、制御プロ
セッサ当たり1ビットのフラグで、各プロセッサが、キ
ャッシュ使用前に‘1’をセットし、キャッシュ使用終
了後に‘0’にリセットする。
セッサ当たり1ビットのフラグで、各プロセッサが、キ
ャッシュ使用前に‘1’をセットし、キャッシュ使用終
了後に‘0’にリセットする。
【0041】以下、図9を用いて、オンライン中キャッ
シュ保守手順を説明する。
シュ保守手順を説明する。
【0042】保守員は、サービスプロセッサ4を介し
て、ディスク制御装置222へ要求を出す。
て、ディスク制御装置222へ要求を出す。
【0043】まず、ステップ90で、保守対象のキャッ
シュ(ここでは、仮にキャッシュ241とする)の切り
離し要求を出す。
シュ(ここでは、仮にキャッシュ241とする)の切り
離し要求を出す。
【0044】ディスク制御装置222では、これを受諾
すると、ステップ91で、図2のキャッシュ使用可否テ
ーブル42内の、保守対象のキャッシュ241に対応す
るビットを‘0’にリセットする。この処理により、こ
れ以降、ディスク制御装置222では、図5の処理で、
データを格納するキャッシュとしてキャッシュ241を選
択することは無くなる。
すると、ステップ91で、図2のキャッシュ使用可否テ
ーブル42内の、保守対象のキャッシュ241に対応す
るビットを‘0’にリセットする。この処理により、こ
れ以降、ディスク制御装置222では、図5の処理で、
データを格納するキャッシュとしてキャッシュ241を選
択することは無くなる。
【0045】次に、ステップ92で、保守対象のキャッ
シュ241を使用中である制御プロセッサがいないこと
を確認する。具体的には、対応するディレクトリ251
内のキャッシュ使用中フラグ54(図8)が、全ての制
御プロセッサに関して‘0’であることを確認する。そ
の確認が済んだら、次に、ステップ93で、図2のドラ
イブ−キャッシュ対応テーブル41を調べて、保守対象
のキャッシュ241(#1)が対応づけられている全て
のドライブに対して、その対応キャッシュ番号を‘0’
にリセットする。この処理により、保守対象のキャッシ
ュ241にデータが格納されていたドライブは、図5で
説明した処理により、新たに別のキャッシュが割り当て
られることになる。
シュ241を使用中である制御プロセッサがいないこと
を確認する。具体的には、対応するディレクトリ251
内のキャッシュ使用中フラグ54(図8)が、全ての制
御プロセッサに関して‘0’であることを確認する。そ
の確認が済んだら、次に、ステップ93で、図2のドラ
イブ−キャッシュ対応テーブル41を調べて、保守対象
のキャッシュ241(#1)が対応づけられている全て
のドライブに対して、その対応キャッシュ番号を‘0’
にリセットする。この処理により、保守対象のキャッシ
ュ241にデータが格納されていたドライブは、図5で
説明した処理により、新たに別のキャッシュが割り当て
られることになる。
【0046】以上の処理の後、ディスク制御装置222
は、サービスプロセッサ4に対して、保守対象のキャッ
シュ241の切り離しが完了したことを報告する。
は、サービスプロセッサ4に対して、保守対象のキャッ
シュ241の切り離しが完了したことを報告する。
【0047】保守員は、その完了報告を受けると、ステ
ップ94で、キャッシュ241の修理,交換等のハード
的な保守作業を行なう。そして、その後、ステップ95
で、保守対象のキャッシュ241の組み込み要求を出
す。
ップ94で、キャッシュ241の修理,交換等のハード
的な保守作業を行なう。そして、その後、ステップ95
で、保守対象のキャッシュ241の組み込み要求を出
す。
【0048】ディスク制御装置222では、これを受諾
すると、まず、ステップ96で、保守対象のキャッシュ
241のイニシャライズ処理を行なう。この処理には、
対応するディレクトリ251のイニシャライズも含まれ
る。次に、ステップ97で、図2のキャッシュ使用可否
テーブル42内の、保守対象のキャッシュ241に対応
するビットを‘1’にセットする。この処理により、デ
ィスク制御装置222では、キャッシュ241の使用を
再開する。
すると、まず、ステップ96で、保守対象のキャッシュ
241のイニシャライズ処理を行なう。この処理には、
対応するディレクトリ251のイニシャライズも含まれ
る。次に、ステップ97で、図2のキャッシュ使用可否
テーブル42内の、保守対象のキャッシュ241に対応
するビットを‘1’にセットする。この処理により、デ
ィスク制御装置222では、キャッシュ241の使用を
再開する。
【0049】以上の処理の後、ディスク制御装置222
は、サービスプロセッサ4に対して、保守対象のキャッ
シュ241の組み込みが完了したことを報告する。
は、サービスプロセッサ4に対して、保守対象のキャッ
シュ241の組み込みが完了したことを報告する。
【0050】このオンライン中キャッシュ保守方式によ
れば、複数のキャッシュメモリのうちの一部の切り離し
・組み込みが可能であり、切離し中でも残りのキャッシ
ュメモリを継続して使用することができるので、保守中
においても、性能低下や機能制限を抑えることができ
る。
れば、複数のキャッシュメモリのうちの一部の切り離し
・組み込みが可能であり、切離し中でも残りのキャッシ
ュメモリを継続して使用することができるので、保守中
においても、性能低下や機能制限を抑えることができ
る。
【0051】なお、サービスプロセッサ4を使用せず
に、CPU1からのキャッシュ切り離し、組み込み要求
を利用して、図9で説明した手順により、オンライン中
のキャッシュ保守を実現することも可能である。
に、CPU1からのキャッシュ切り離し、組み込み要求
を利用して、図9で説明した手順により、オンライン中
のキャッシュ保守を実現することも可能である。
【0052】
【発明の効果】本発明によれば、複数のキャッシュやデ
ィレクトリのうちいくつかが障害を起こしても、残りの
正常なキャッシュ,ディレクトリを使って、障害前と同
じ機能を実現できる。また、オンライン中にキャッシュ
を保守する場合でも、部分的に一部のキャッシュを切り
離したり、組み込んだりすることができる。従って、デ
ィスク制御装置の障害時、保守時まで考えたトータルな
性能を向上できる。
ィレクトリのうちいくつかが障害を起こしても、残りの
正常なキャッシュ,ディレクトリを使って、障害前と同
じ機能を実現できる。また、オンライン中にキャッシュ
を保守する場合でも、部分的に一部のキャッシュを切り
離したり、組み込んだりすることができる。従って、デ
ィスク制御装置の障害時、保守時まで考えたトータルな
性能を向上できる。
【図1】本発明の一実施例を示すディスクサブシステム
のブロック図。
のブロック図。
【図2】本発明における制御メモリ内の構成を示す説明
図。
図。
【図3】本発明におけるディレクトリ内の構成を示す説
明図。
明図。
【図4】要求されたトラックデータがキャッシュ上に格
納されているか否かを判定するときの処理フローチャー
ト。
納されているか否かを判定するときの処理フローチャー
ト。
【図5】キャッシュにデータを格納するときの処理手順
のフローチャート。
のフローチャート。
【図6】キャッシュまたはディレクトリに障害が発生し
たときの処理手順のフローチャート。
たときの処理手順のフローチャート。
【図7】本発明の第2の実施例を実現するディスクサブ
システムのブロック図。
システムのブロック図。
【図8】本発明におけるディレクトリ内の構成を示す説
明図。
明図。
【図9】オンライン中キャッシュ保守の処理手順のフロ
ーチャート。
ーチャート。
【符号の説明】 1…CPU、2…ディスク制御装置、31,32,33
…ディスクドライブ、21…制御プロセッサ、22…制
御メモリ、231,232,233…ディレクトリ、2
41,242,243…キャッシュメモリ。
…ディスクドライブ、21…制御プロセッサ、22…制
御メモリ、231,232,233…ディレクトリ、2
41,242,243…キャッシュメモリ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 白柳 芳朗 神奈川県小田原市国府津2880番地 株式会 社日立製作所小田原工場内
Claims (6)
- 【請求項1】複数のキャッシュメモリと、前記キャッシ
ュメモリ毎に対応するディレクトリを有し、配下に接続
されている複数のディスクドライブを、正常に使用可能
な前記キャッシュメモリと同じ数のグループに分けて、
データを格納する前記キャッシュメモリをグループ別に
割り当てることを特徴とする複数キャッシュ付きディス
ク制御装置。 - 【請求項2】請求項1において、前記複数のキャッシュ
メモリと、前記キャッシュメモリ毎に対応するディレク
トリを有し、配下の各ディスクドライブに対して、デー
タを格納する前記キャッシュメモリが一意に決まってい
て、ある任意のデータがいずれかの前記キャッシュメモ
リに格納されているか否かを判定する際に、前記データ
がどの前記ディスクドライブに属するものであるかとい
う情報だけから、調べるべき前記ディレクトリをひとつ
に絞り込む複数キャッシュ付きディスク制御装置。 - 【請求項3】請求項1において、複数のキャッシュメモ
リを有し、上位のホストコンピュータと配下のディスク
ドライブ、あるいは前記ディスクドライブ間のデータ転
送において、前記キャッシュのうちの一つをバッファメ
モリとして使用しているときに、そのキャッシュが故障
して使用不可能になった場合、別の正常な前記キャッシ
ュメモリを使用して、前記データ転送を再試行する複数
キャッシュ付きディスク制御装置。 - 【請求項4】請求項1において、前記キャッシュ上にデ
ータが存在しない前記ディスクドライブ内のデータを新
規にキャッシュに格納する際、前記各キャッシュの使用
されていない残容量を調べ、残容量の最も多いキャッシ
ュを割当て、以後、前記ディスクドライブのデータは全
て前記キャッシュに格納するキャッシュ割当て方式。 - 【請求項5】請求項4において、前記複数のキャッシュ
メモリのうちの一部が故障して使用不可能になったと
き、故障した前記キャッシュにデータが格納されていた
ディスクドライブについては、前記キャッシュ上にデー
タが存在しないディスクドライブとして再設定してお
き、以後新たに前記ディスクドライブのデータをキャッ
シュに格納する際に、前記キャッシュ割当て方式を適用
して、残りの正常なキャッシュの一つを割り当てる複数
キャッシュ付きディスク制御装置。 - 【請求項6】請求項3において、前記キャッシュ付きデ
ィスク制御装置は、前記複数のキャッシュメモリのうち
の一部の切り離し・組み込み要求を指示できるサービス
プロセッサに接続され、前記サービスプロセッサを介し
ての、保守員による前記キャッシュの切り離し要求に対
して、指定されたキャッシュの使用を禁止すると共に、
前記キャッシュにデータが格納されていたディスクドラ
イブについては、キャッシュ上にデータが存在しないデ
ィスクドライブとして再設定しておき、以後新たに前記
ディスクドライブのデータをキャッシュに格納する際に
は、キャッシュ割当て方式を適用して、残りの正常なキ
ャッシュの一つを割り当て、その後、保守員による前記
キャッシュの組み込み要求に対して、再び前記キャッシ
ュの使用を許可して、キャッシュ割当ての対象とするデ
ィスク制御装置のオンライン中キャッシュ保守方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4193651A JPH0635802A (ja) | 1992-07-21 | 1992-07-21 | 複数キャッシュ付きディスク制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4193651A JPH0635802A (ja) | 1992-07-21 | 1992-07-21 | 複数キャッシュ付きディスク制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0635802A true JPH0635802A (ja) | 1994-02-10 |
Family
ID=16311494
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4193651A Pending JPH0635802A (ja) | 1992-07-21 | 1992-07-21 | 複数キャッシュ付きディスク制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0635802A (ja) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4855118A (en) * | 1987-04-15 | 1989-08-08 | Nichia Kagaku Kogyo K.K. | Method of producing fluorapatite |
| US6434666B1 (en) | 1995-02-20 | 2002-08-13 | Hitachi, Ltd. | Memory control apparatus and method for storing data in a selected cache memory based on whether a group or slot number is odd or even |
| JP2006134321A (ja) * | 2004-10-21 | 2006-05-25 | Microsoft Corp | システムパフォーマンスを改善するための外部メモリデバイスの使用 |
| JP2007265271A (ja) * | 2006-03-29 | 2007-10-11 | Nec Corp | ストレージ装置、データ配置方法およびプログラム |
| US10216637B2 (en) | 2004-05-03 | 2019-02-26 | Microsoft Technology Licensing, Llc | Non-volatile memory cache performance improvement |
| US10387313B2 (en) | 2008-09-15 | 2019-08-20 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
| US10509730B2 (en) | 2008-09-19 | 2019-12-17 | Microsoft Technology Licensing, Llc | Aggregation of write traffic to a data store |
| US11334484B2 (en) | 2005-12-16 | 2022-05-17 | Microsoft Technology Licensing, Llc | Optimizing write and wear performance for a memory |
-
1992
- 1992-07-21 JP JP4193651A patent/JPH0635802A/ja active Pending
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4855118A (en) * | 1987-04-15 | 1989-08-08 | Nichia Kagaku Kogyo K.K. | Method of producing fluorapatite |
| US6434666B1 (en) | 1995-02-20 | 2002-08-13 | Hitachi, Ltd. | Memory control apparatus and method for storing data in a selected cache memory based on whether a group or slot number is odd or even |
| US6611899B2 (en) | 1995-02-20 | 2003-08-26 | Hitachi, Ltd. | Memory control apparatus and method for storing data in a selected cache memory |
| US10216637B2 (en) | 2004-05-03 | 2019-02-26 | Microsoft Technology Licensing, Llc | Non-volatile memory cache performance improvement |
| JP2006134321A (ja) * | 2004-10-21 | 2006-05-25 | Microsoft Corp | システムパフォーマンスを改善するための外部メモリデバイスの使用 |
| US8006037B2 (en) | 2004-10-21 | 2011-08-23 | Microsoft Corporation | Using external memory devices to improve system performance |
| US9690496B2 (en) | 2004-10-21 | 2017-06-27 | Microsoft Technology Licensing, Llc | Using external memory devices to improve system performance |
| US11334484B2 (en) | 2005-12-16 | 2022-05-17 | Microsoft Technology Licensing, Llc | Optimizing write and wear performance for a memory |
| JP2007265271A (ja) * | 2006-03-29 | 2007-10-11 | Nec Corp | ストレージ装置、データ配置方法およびプログラム |
| US10387313B2 (en) | 2008-09-15 | 2019-08-20 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
| US10509730B2 (en) | 2008-09-19 | 2019-12-17 | Microsoft Technology Licensing, Llc | Aggregation of write traffic to a data store |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9946460B2 (en) | Storage subsystem and storage system architecture performing storage virtualization and method thereof | |
| US6912669B2 (en) | Method and apparatus for maintaining cache coherency in a storage system | |
| US6081875A (en) | Apparatus and method for backup of a disk storage system | |
| US7130961B2 (en) | Disk controller and method of controlling the cache | |
| US7107411B2 (en) | Apparatus method and system for fault tolerant virtual memory management | |
| KR960001748B1 (ko) | 컴퓨터 시스템 동작방법과 컴퓨터 시스템용의 기억 장치 및 기억제어장치 | |
| KR100288020B1 (ko) | 멀티플 서브시스템에서 핫 스페어 드라이브를 공유하기 위한 장치 및 방법 | |
| US9058305B2 (en) | Remote copy method and remote copy system | |
| US7281032B2 (en) | File sharing system with data mirroring by storage systems | |
| JP3944449B2 (ja) | 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法 | |
| US5987566A (en) | Redundant storage with mirroring by logical volume with diverse reading process | |
| US6542962B2 (en) | Multiple processor data processing system with mirrored data for distributed access | |
| US7412578B2 (en) | Snapshot creating method and apparatus | |
| US6275897B1 (en) | Remote cache utilization for mirrored mass storage subsystem | |
| US6591335B1 (en) | Fault tolerant dual cache system | |
| US20070186058A1 (en) | Create virtual track buffers in nvs using customer segments to maintain newly written data across a power loss | |
| US6996690B2 (en) | Storage system including multiple control units for increased reliability during a failure | |
| US7334084B2 (en) | Disk array apparatus and control method for disk array apparatus | |
| US20220404977A1 (en) | Storage system and data processing method | |
| US6356978B1 (en) | File control device | |
| US7743209B2 (en) | Storage system for virtualizing control memory | |
| JPH0635802A (ja) | 複数キャッシュ付きディスク制御装置 | |
| US20050198411A1 (en) | Commingled write cache in dual input/output adapter | |
| EP0351109A2 (en) | Reducing resources in a high reliability data storage subsystem | |
| US7472221B1 (en) | Mirrored memory |