(57)【要約】　　　（修正有）【課題】キャッシュメモリの分散配置により、特定のローカルキャッシュにデータ競合が発生することを抑え、データアクセスの高速化を可能とする記憶制御装置を提供する。【解決手段】情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、情報処理装置と記憶装置との間で授受されるデータを一時的に記憶するためのキャッシュメモリと、チャネル制御部とディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置であって、キャッシュメモリが、キャッシュメモリに記憶されたデータを相互に記憶するための専用のデータ転送路で相互に結合されているチャネル制御部に配置されている。【選択図】　　　図１
2004110503.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶するためのキャッシュメモリと、前記チャネル制御部と前記ディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置であって、
前記キャッシュメモリが、前記キャッシュメモリに記憶されたデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されていることを特徴とする記憶制御装置。
【請求項２】
情報処理装置とのインタフェースを有するチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶するためのキャッシュメモリと、前記チャネル制御部と前記ディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置であって、
第１のキャッシュメモリが前記チャネル制御部に配置され、第２のキャッシュメモリが前記内部接続部に接続されていることを特徴とする記憶制御装置。
【請求項３】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶するためのキャッシュメモリと、前記チャネル制御部と前記ディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置であって、
第１のキャッシュメモリが、前記第１のキャッシュメモリに記憶されたデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置され、相互に同一のデータを記憶する２つの第２のキャッシュメモリが、前記内部接続部に接続されていることを特徴とする記憶制御装置。
【請求項４】
請求項１乃至請求項３に記載の記憶制御装置と、前記記憶装置とを備えることを特徴とする記憶システム。
【請求項５】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されているキャッシュメモリと、前記チャネル制御部と前記ディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置に前記情報処理装置からデータの書き込み要求があった場合における、前記チャネル制御部による前記キャッシュメモリへの前記データの書き込み方法であって、
前記情報処理装置から書き込みデータを受信するステップと、
前記書き込みデータを前記キャッシュメモリに書き込むステップと、
前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路を介して前記書き込みデータを送信するステップと、
前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を前記専用のデータ転送路を介して受信するステップと、
前記情報処理装置に対して、前記書き込みデータの前記キャッシュメモリへの書き込みが完了した旨の報告を送信するステップと
を備えることを特徴とするキャッシュメモリへのデータの書き込み方法。
【請求項６】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部による、前記第２のキャッシュメモリに記憶されているデータの前記第１のキャッシュメモリへの読み込み方法であって、
前記第２のキャッシュメモリへ前記データの読み込みコマンドを送信するステップと、
前記第２のキャッシュメモリから前記データを取得するステップと、
前記取得したデータを前記第１のキャッシュメモリに書き込むステップと、
前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路により前記取得したデータを送信するステップと、
前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を受信するステップと
を備えることを特徴とするキャッシュメモリへのデータの読み込み方法。
【請求項７】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置に前記情報処理装置からデータの読み出し要求があった場合における、前記チャネル制御部による前記データの読み出し方法であって、
前記情報処理装置から前記データのアドレスが指定された読み出しコマンドを受信するステップと、
前記指定されたアドレスのデータが前記第１のキャッシュメモリに記憶されているかどうかを判定するステップと、
前記指定されたアドレスのデータが前記第１のキャッシュメモリに記憶されていない場合には、前記第２のキャッシュメモリへ前記データの読み込みコマンドを送信するステップと、
前記第２のキャッシュメモリから前記データを取得するステップと、
前記取得したデータを前記第１のキャッシュメモリに書き込むステップと、
前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路により前記取得したデータを送信するステップと、
前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を受信するステップと、
前記情報処理装置に対して前記データを送信するステップと
を備えることを特徴とするデータの読み出し方法。
【請求項８】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部による、前記第１のキャッシュメモリに記憶されているデータの前記第２のキャッシュメモリへの書き出し方法であって、
前記第１のキャッシュメモリに記憶されているデータの中から前記第２のキャッシュメモリへ書き出すデータを選定するステップと、
前記第２のキャッシュメモリに前記選定したデータを書き込むための記憶領域を確保するステップと、
前記選定したデータを前記第２のキャッシュメモリへ送信するステップと
を備えることを特徴とする第２のキャッシュメモリへのデータの書き出し方法。
【請求項９】
前記選定は最も長期間アクセスのなかったデータを選出することにより行われることを特徴とする請求項８に記載のデータの書き出し方法。
【請求項１０】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置への電力供給が停止した場合における、前記記憶制御装置による前記第１のキャッシュメモリ及び前記第２のキャッシュメモリに記憶されているデータの前記記憶装置への保存方法であって、
前記記憶制御装置にあらかじめ備えられたバッテリに電力供給源を切り替えるステップと、
前記第１のキャッシュメモリに記憶されている、前記情報処理装置により更新されたデータであって、前記第２のキャッシュメモリに未書き込みのものを前記第２のキャッシュメモリへ書き込むステップと、
前記第２のキャッシュメモリへの書き込み完了後に、前記バッテリから前記チャネル制御部への供給電力を低減するステップと、
前記第２のキャッシュメモリに記憶されている、前記情報処理装置により更新されたデータであって、前記記憶装置に未書き込みのものを前記記憶装置へ書き込むステップと、
前記記憶装置への書き込み完了後に、前記バッテリから前記記憶制御装置への電力供給を遮断するステップと
を備えることを特徴とする記憶装置へのデータの保存方法。
【請求項１１】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されているキャッシュメモリと、前記チャネル制御部と前記ディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部であって、
前記情報処理装置から書き込みデータを受信する手段と、
前記書き込みデータを前記キャッシュメモリに書き込む手段と、
前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路を介して前記書き込みデータを送信する手段と、
前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を前記専用のデータ転送路を介して受信する手段と、
前記情報処理装置に対して、前記書き込みデータの前記キャッシュメモリへの書き込みが完了した旨の報告を送信する手段と
を備えることを特徴とするチャネル制御部。
【請求項１２】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部であって、
前記第２のキャッシュメモリに記憶されているデータの読み込みコマンドを前記第２のキャッシュメモリに送信する手段と、
前記データを前記第２のキャッシュメモリから取得する手段と、
前記取得したデータを前記第１のキャッシュメモリに書き込む手段と、
前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路により前記取得したデータを送信する手段と、
前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を受信する手段と
を備えることを特徴とするチャネル制御部。
【請求項１３】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部であって、
前記情報処理装置からアドレスが指定されたデータの読み出しコマンドを受信する手段と、
前記指定されたアドレスのデータが前記第１のキャッシュメモリに記憶されているかどうかを判定する手段と、
前記指定されたアドレスのデータが前記第１のキャッシュメモリに記憶されていない場合には、前記第２のキャッシュメモリへ前記データの読み込みコマンドを送信する手段と、
前記第２のキャッシュメモリから前記データを取得する手段と、
前記取得したデータを前記第１のキャッシュメモリに書き込む手段と、
前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路により前記取得したデータを送信する手段と、
前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を受信する手段と、
前記情報処理装置に対して前記データを送信する手段と
を備えることを特徴とするチャネル制御部。
【請求項１４】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部であって、
前記第１のキャッシュメモリに記憶されているデータの中から前記第２のキャッシュメモリへ書き出すデータを選定する手段と、
前記第２のキャッシュメモリに前記選定したデータを書き込むための記憶領域を確保する手段と、
前記選定したデータを前記第２のキャッシュメモリへ送信する手段と
を備えることを特徴とするチャネル制御部。
【請求項１５】
前記選定は最も長期間アクセスのなかったデータを選出することにより行われることを特徴とする請求項１４に記載のチャネル制御部。
【請求項１６】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置であって、
前記記憶制御装置への電力供給が停止した場合に、継続して電力供給を行うためのバッテリと、
前記記憶制御装置への電力供給が停止した場合に、前記バッテリに電力供給源を切り替える手段と、
前記第１のキャッシュメモリに記憶されている、前記情報処理装置により更新されたデータであって、前記第２のキャッシュメモリに未書き込みのものを前記第２のキャッシュメモリへ書き込む手段と、
前記第２のキャッシュメモリへの書き込み完了後に、前記バッテリから前記チャネル制御部への供給電力を低減する手段と、
前記第２のキャッシュメモリに記憶されている、前記情報処理装置により更新されたデータであって、前記記憶装置に未書き込みのものを前記記憶装置へ書き込む手段と、
前記記憶装置への書き込み完了後に、前記バッテリから前記記憶制御装置への電力供給を遮断する手段と
を備えることを特徴とする記憶制御装置。
【請求項１７】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されているキャッシュメモリと、前記チャネル制御部と前記ディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部に、
前記情報処理装置から書き込みデータを受信するステップと、
前記書き込みデータを前記キャッシュメモリに書き込むステップと、
前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路を介して前記書き込みデータを送信するステップと、
前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を前記専用のデータ転送路を介して受信するステップと、
前記情報処理装置に対して、前記書き込みデータの前記キャッシュメモリへの書き込みが完了した旨の報告を送信するステップと
を実行させるためのプログラム。
【請求項１８】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部に、
前記第２のキャッシュメモリに記憶されているデータの読み込みコマンドを前記第２のキャッシュメモリに送信するステップと、
前記データを前記第２のキャッシュメモリから取得するステップと、
前記取得したデータを前記第１のキャッシュメモリに書き込むステップと、
前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路により前記取得したデータを送信するステップと、
前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を受信するステップと
を実行させるためのプログラム。
【請求項１９】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部に、
前記情報処理装置からアドレスが指定されたデータの読み出しコマンドを受信するステップと、
前記指定されたアドレスのデータが前記第１のキャッシュメモリに記憶されているかどうかを判定するステップと、
前記指定されたアドレスのデータが前記第１のキャッシュメモリに記憶されていない場合には、前記第２のキャッシュメモリへ前記データの読み込みコマンドを送信するステップと、
前記第２のキャッシュメモリから前記データを取得するステップと、
前記取得したデータを前記第１のキャッシュメモリに書き込むステップと、
前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路により前記取得したデータを送信するステップと、
前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を受信するステップと、
前記情報処理装置に対して前記データを送信するステップと
を実行させるためのプログラム。
【請求項２０】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部に、
前記第１のキャッシュメモリに記憶されているデータの中から前記第２のキャッシュメモリへ書き出すデータを選定するステップと、
前記第２のキャッシュメモリに前記選定したデータを書き込むための記憶領域を確保するステップと、
前記選定したデータを前記第２のキャッシュメモリへ送信するステップと
を実行させるためのプログラム。
【請求項２１】
前記選定は最も長期間アクセスのなかったデータを選出することにより行われることを特徴とする請求項２０に記載のプログラム。
【請求項２２】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置に、
前記記憶制御装置への電力供給が停止した場合に継続して電力供給を行うためのバッテリに電力供給源を切り替えるステップと、
前記第１のキャッシュメモリに記憶されている、前記情報処理装置により更新されたデータであって、前記第２のキャッシュメモリに未書き込みのものを前記第２のキャッシュメモリへ書き込むステップと、
前記第２のキャッシュメモリへの書き込み完了後に、前記バッテリから前記チャネル制御部への供給電力を低減するステップと、
前記第２のキャッシュメモリに記憶されている、前記情報処理装置により更新されたデータであって、前記記憶装置に未書き込みのものを前記記憶装置へ書き込むステップと、
前記記憶装置への書き込み完了後に、前記バッテリから前記記憶制御装置への電力供給を遮断するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、記憶制御装置、記憶システム、記憶制御装置の制御方法、チャネル制御部、及びプログラムに関する。
【０００２】
【従来の技術】
従来から、磁気ディスクを記録媒体とする大容量記憶装置のアクセス速度を向上させるために様々な工夫がなされている。その一つとして記憶装置へのアクセスを制御する記憶制御装置の内部に半導体を記録媒体とするキャッシュメモリを置くことが行われている。これにより磁気ディスクから一度データを読み出した後はキャッシュメモリに対して読み書きを行えるので、アクセス速度を向上させることができる。
従来の記憶制御装置では、ホスト計算機との入出力制御を行うチャネル制御部と、記憶装置との入出力制御を行うディスク制御部との間をネットワークで接続し、ネットワーク上にキャッシュメモリを配置する構成がある。また、キャッシュメモリはデータの消失に備えて２重化されていることが多い。
【０００３】
しかしこのような構成では、計算機システムの規模が増大し、接続されるホスト計算機や記憶装置内部の磁気ディスクの数が増加した場合に、キャッシュメモリへのデータアクセスが集中し性能向上を妨げる要因となる。
これを回避するためにはキャッシュメモリへのアクセスパスを高帯域化することが有効であるが、高性能なハードウェアの採用が必要となりコストがアップする。またシステムの規模が大きくなる程、より高帯域なアクセスパスが必要となる。
このような問題を回避する技術として、キャッシュメモリを分散して配置することが提案されている（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特開平１１−２０３２０１号公報
【０００５】
【発明が解決しようとする課題】
しかしながら前述した従来の技術にあっては、キャッシュメモリの分散配置によりキャッシュメモリへのアクセス集中は低減できるものの、データパススイッチ（チャネル制御部とディスク制御部とを接続するネットワーク）を経由してキャッシュメモリへのアクセスが行われるため、多数のアクセスが同時に発生した場合、データパススイッチ上の経路が競合し、アクセス性能の向上を妨げる要因となる。
また、チャネル制御部とディスク制御部とを接続するネットワーク上に複数のキャッシュメモリを分散配置する構成では、キャッシュメモリ間でデータを２重化して記憶するために行われるデータ転送はネットワークを介して行われるため、ネットワークの使用率が上昇し、ネットワーク上のデータ競合が発生しやすくなる。
そこで、本発明はデータのアクセス高速化を可能とする記憶制御装置を提供することを主たる目的とする。
【０００６】
【課題を解決するための手段】
情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶するためのキャッシュメモリと、前記チャネル制御部と前記ディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置における、前記キャッシュメモリの配置方法であって、前記キャッシュメモリに記憶されたデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に前記キャッシュメモリを配置する。
【０００７】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、実施例の欄、及び図面により明らかにされる。
【０００８】
【発明の実施の形態】
本明細書の記載により少なくとも次のことが明らかにされる。
本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶するためのキャッシュメモリと、前記チャネル制御部と前記ディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置であって、前記キャッシュメモリが、前記キャッシュメモリに記憶されたデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されていることを特徴とする。
【０００９】
このような態様により、キャッシュメモリ間でのデータ２重化のためのデータ転送は内部接続部を使用せずに行われるので、内部接続部の使用率を抑制することができる。そのため内部接続部でのデータ競合が減少し、情報処理装置へのデータアクセスを高速化できる。またデータの２重化のためにペアを組んでいるキャッシュメモリ間は専用のデータ転送路により結合されているので、データの２重化処理を短時間で行うことができる。これにより情報処理装置に対してデータアクセスの完了報告を短時間で行うことができ、データアクセスの高速化を図ることができる。またペアを組むチャネル制御部の間で相互にキャッシュメモリのデータを２重化することにより、記憶制御装置の運転に影響を与えずに、チャネル制御部の保守・管理を行うことができる。例えば、あるチャネル制御部のキャッシュメモリに記憶されているデータは、ペアを組むチャネル制御部にも記憶されているため、当該チャネル制御部のキャッシュメモリのデータを当該チャネル制御部以外の他の記憶領域に待避させるようなことを行わなくとも、当該チャネル制御部の交換を行うことができる。これにより、２４時間３６５日の連続運転が要求される記憶制御装置の運転を停止させたり機能を低下させたりすることなく、保守・管理作業を行うことが可能となる。またキャッシュメモリがチャネル制御部に配置されることにより、情報処理装置からアクセス要求のあったデータがキャッシュメモリに存在すれば、情報処理装置は当該データに高速にアクセス可能となる。またこのアクセスは内部接続部を経由しないので、内部接続部でのデータ競合を減少できる。
【００１０】
また本発明の一態様は、情報処理装置とのインタフェースを有するチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶するためのキャッシュメモリと、前記チャネル制御部と前記ディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置であって、第１のキャッシュメモリが前記チャネル制御部に配置され、第２のキャッシュメモリが前記内部接続部に接続されていることを特徴とする。
【００１１】
このような態様により、情報処理装置からのアクセスデータが第１のキャッシュメモリに記憶されていなかった場合でも、第２のキャッシュメモリに当該データが記憶されていれば記憶装置にまでアクセスをする必要が無い。そのため、情報処理装置からのデータのアクセス速度を高速化することが可能となる。
【００１２】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶するためのキャッシュメモリと、前記チャネル制御部と前記ディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置であって、第１のキャッシュメモリが、前記第１のキャッシュメモリに記憶されたデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置され、相互に同一のデータを記憶する２つの第２のキャッシュメモリが、前記内部接続部に接続されていることを特徴とする。
【００１３】
このような態様により、第１のキャッシュメモリ間でのデータ２重化のためのデータ転送は内部接続部を使用せずに行われるので、内部接続部の使用率を抑制することができる。そのため内部接続部でのデータ競合が減少し、情報処理装置へのデータアクセスを高速化できる。またデータの２重化のためにペアを組んでいる第１のキャッシュメモリ間は専用のデータ転送路により結合されているので、データの２重化処理を短時間で行うことができる。これにより情報処理装置に対してデータアクセスの完了報告を短時間で行うことができ、データアクセスの高速化を図ることができる。またペアを組むチャネル制御部の間で相互にキャッシュメモリのデータを２重化することにより、記憶制御装置の運転に影響を与えずに、チャネル制御部の保守・管理を行うことができる。例えば、あるチャネル制御部のキャッシュメモリに記憶されているデータは、ペアを組むチャネル制御部にも記憶されているため、当該チャネル制御部のキャッシュメモリのデータを当該チャネル制御部以外の他の記憶領域に待避させるようなことを行わなくとも、当該チャネル制御部の交換を行うことができる。これにより、２４時間３６５日の連続運転が要求される記憶制御装置の運転を停止させたり機能を低下させたりすることなく、保守・管理作業を行うことが可能となる。また第１のキャッシュメモリがチャネル制御部に配置されることにより、情報処理装置からアクセス要求のあったデータが第１のキャッシュメモリに存在すれば、情報処理装置は当該データに高速にアクセス可能となる。またこのアクセスは内部接続部を経由しないので、内部接続部でのデータ競合を減少できる。また、情報処理装置からのアクセスデータが第１のキャッシュメモリに記憶されていなかった場合でも、第２のキャッシュメモリに当該データが記憶されていれば記憶装置にまでアクセスをする必要が無い。そのため、情報処理装置からのデータのアクセス速度を高速化することが可能となる。
【００１４】
また本発明の一態様は、前記記憶制御装置と、前記記憶装置とを備えることを特徴とする。
【００１５】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されているキャッシュメモリと、前記チャネル制御部と前記ディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置に前記情報処理装置からデータの書き込み要求があった場合における、前記チャネル制御部による前記キャッシュメモリへの前記データの書き込み方法であって、前記情報処理装置から書き込みデータを受信するステップと、前記書き込みデータを前記キャッシュメモリに書き込むステップと、前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路を介して前記書き込みデータを送信するステップと、前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を前記専用のデータ転送路を介して受信するステップと、前記情報処理装置に対して、前記書き込みデータの前記キャッシュメモリへの書き込みが完了した旨の報告を送信するステップとを備えることを特徴とする。
【００１６】
このような態様により、キャッシュメモリ間でのデータ２重化のためのデータ転送は内部接続部を使用せずに行われるので、内部接続部の使用率を抑制することができる。そのため内部接続部でのデータ競合が減少し、情報処理装置へのデータアクセスを高速化できる。またデータの２重化のためにペアを組んでいるキャッシュメモリ間は専用のデータ転送路により結合されているので、データの２重化処理を短時間で行うことができる。これにより情報処理装置に対してデータアクセスの完了報告を短時間で行うことができ、データアクセスの高速化を図ることができる。またペアを組むチャネル制御部の間で相互にキャッシュメモリのデータを２重化することにより、記憶制御装置の運転に影響を与えずに、チャネル制御部の保守・管理を行うことができる。例えば、あるチャネル制御部のキャッシュメモリに記憶されているデータは、ペアを組むチャネル制御部にも記憶されているため、当該チャネル制御部のキャッシュメモリのデータを当該チャネル制御部以外の他の記憶領域に待避させるようなことを行わなくとも、当該チャネル制御部の交換を行うことができる。これにより、２４時間３６５日の連続運転が要求される記憶制御装置の運転を停止させたり機能を低下させたりすることなく、保守・管理作業を行うことが可能となる。
【００１７】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部による、前記第２のキャッシュメモリに記憶されているデータの前記第１のキャッシュメモリへの読み込み方法であって、前記第２のキャッシュメモリへ前記データの読み込みコマンドを送信するステップと、前記第２のキャッシュメモリから前記データを取得するステップと、前記取得したデータを前記第１のキャッシュメモリに書き込むステップと、前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路により前記取得したデータを送信するステップと、前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を受信するステップとを備えることを特徴とする。
【００１８】
このような態様により、第１のキャッシュメモリ間のデータの２重化は専用のデータ転送路を介することにより行われ、内部接続部を使用しないので、内部接続部の使用率を抑制することができる。そのため内部接続部でのデータ競合が減少し、情報処理装置へのデータアクセスを高速化できる。また第２のキャッシュメモリから読み出したデータは２つの第１のキャッシュメモリに２重化されて書き込まれるのでデータの信頼性を向上させることができる。またペアを組むチャネル制御部の間で相互にキャッシュメモリのデータを２重化することにより、記憶制御装置の運転に影響を与えずに、チャネル制御部の保守・管理を行うことができる。例えば、あるチャネル制御部のキャッシュメモリに記憶されているデータは、ペアを組むチャネル制御部にも記憶されているため、当該チャネル制御部のキャッシュメモリのデータを当該チャネル制御部以外の他の記憶領域に待避させるようなことを行わなくとも、当該チャネル制御部の交換を行うことができる。これにより、２４時間３６５日の連続運転が要求される記憶制御装置の運転を停止させたり機能を低下させたりすることなく、保守・管理作業を行うことが可能となる。
【００１９】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置に前記情報処理装置からデータの読み出し要求があった場合における、前記チャネル制御部による前記データの読み出し方法であって、前記情報処理装置から前記データのアドレスが指定された読み出しコマンドを受信するステップと、前記指定されたアドレスのデータが前記第１のキャッシュメモリに記憶されているかどうかを判定するステップと、前記指定されたアドレスのデータが前記第１のキャッシュメモリに記憶されていない場合には、前記第２のキャッシュメモリへ前記データの読み込みコマンドを送信するステップと、前記第２のキャッシュメモリから前記データを取得するステップと、前記取得したデータを前記第１のキャッシュメモリに書き込むステップと、前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路により前記取得したデータを送信するステップと、前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を受信するステップと、前記情報処理装置に対して前記データを送信するステップとを備えることを特徴とする。
【００２０】
このような態様により、情報処理装置からデータのリード要求を受けた場合、当該データが第１のキャッシュメモリに記憶されていなかった場合でも、第２のキャッシュメモリに記憶されていれば、記憶装置にまでアクセスをすることなく当該データを情報処理装置に送信できる。また第２のキャッシュメモリから読み出したデータは２つの第１のキャッシュメモリに２重化されて書き込まれる。そのため次回以降のアクセスに対しては第１のキャッシュメモリ上のデータで対応することが可能となる。また第１のキャッシュメモリ間のデータの２重化は専用のデータ転送路を介することにより行われ、内部接続部を使用しないので、内部接続部の使用率を抑制することができる。そのため内部接続部でのデータ競合が減少し、情報処理装置へのデータアクセスを高速化できる。また第１のキャッシュメモリ上のデータは２重化されて記憶されているので、データの信頼性を向上させることができる。またこの２重化はペアを組んでいるチャネル制御部の間で行われているため、記憶制御装置の運転に影響を与えずに、チャネル制御部の保守・管理を行うことができる。例えば、あるチャネル制御部のキャッシュメモリに記憶されているデータは、ペアを組むチャネル制御部にも記憶されているため、当該チャネル制御部のキャッシュメモリのデータを当該チャネル制御部以外の他の記憶領域に待避させるようなことを行わなくとも、当該チャネル制御部の交換を行うことができる。これにより、２４時間３６５日の連続運転が要求される記憶制御装置の運転を停止させたり機能を低下させたりすることなく、保守・管理作業を行うことが可能となる。
【００２１】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部による、前記第１のキャッシュメモリに記憶されているデータの前記第２のキャッシュメモリへの書き出し方法であって、前記第１のキャッシュメモリに記憶されているデータの中から前記第２のキャッシュメモリへ書き出すデータを選定するステップと、前記第２のキャッシュメモリに前記選定したデータを書き込むための記憶領域を確保するステップと、前記選定したデータを前記第２のキャッシュメモリへ送信するステップとを備えることを特徴とする。
【００２２】
このような態様により、第１のキャッシュメモリ上の記憶領域を解放することが必要になった場合、第１のキャッシュメモリからリプレースされるデータの第２のキャッシュメモリへの書き込みが完了すれば、当該データが記憶されていた第１のキャッシュメモリ上の記憶領域を解放することができるようになる。従来は第２のキャッシュメモリが無かったため、リプレースされるデータが記憶装置に書き込まれるまで第１のキャッシュメモリの記憶領域を解放することができなかった。本実施の態様により短時間でキャッシュメモリのリプレース処理を行うことが可能となる。
【００２３】
また本発明の一態様は、前記選定は最も長期間アクセスのなかったデータを選出することにより行われることを特徴とする。
このような態様により、第１のキャッシュメモリへ記憶しておく必要性の最も少ないと推定されるデータを第２のキャッシュメモリへリプレースすることが可能となる。
【００２４】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置への電力供給が停止した場合における、前記記憶制御装置による前記第１のキャッシュメモリ及び前記第２のキャッシュメモリに記憶されているデータの前記記憶装置への保存方法であって、前記記憶制御装置にあらかじめ備えられたバッテリに電力供給源を切り替えるステップと、前記第１のキャッシュメモリに記憶されている、前記情報処理装置により更新されたデータであって、前記第２のキャッシュメモリに未書き込みのものを前記第２のキャッシュメモリへ書き込むステップと、前記第２のキャッシュメモリへの書き込み完了後に、前記バッテリから前記チャネル制御部への供給電力を低減するステップと、前記第２のキャッシュメモリに記憶されている、前記情報処理装置により更新されたデータであって、前記記憶装置に未書き込みのものを前記記憶装置へ書き込むステップと、前記記憶装置への書き込み完了後に、前記バッテリから前記記憶制御装置への電力供給を遮断するステップとを備えることを特徴とする。
このような態様により、突然の停電等が発生してもキャッシュメモリ上のデータを消失させることがなく、システムの信頼性を向上させることが可能となる。
【００２５】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されているキャッシュメモリと、前記チャネル制御部と前記ディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部であって、前記情報処理装置から書き込みデータを受信する手段と、前記書き込みデータを前記キャッシュメモリに書き込む手段と、前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路を介して前記書き込みデータを送信する手段と、前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を前記専用のデータ転送路を介して受信する手段と、前記情報処理装置に対して、前記書き込みデータの前記キャッシュメモリへの書き込みが完了した旨の報告を送信する手段とを備えることを特徴とする。
【００２６】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部であって、前記第２のキャッシュメモリに記憶されているデータの読み込みコマンドを前記第２のキャッシュメモリに送信する手段と、前記データを前記第２のキャッシュメモリから取得する手段と、前記取得したデータを前記第１のキャッシュメモリに書き込む手段と、前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路により前記取得したデータを送信する手段と、前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を受信する手段とを備えることを特徴とする。
【００２７】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部であって、前記情報処理装置からアドレスが指定されたデータの読み出しコマンドを受信する手段と、前記指定されたアドレスのデータが前記第１のキャッシュメモリに記憶されているかどうかを判定する手段と、前記指定されたアドレスのデータが前記第１のキャッシュメモリに記憶されていない場合には、前記第２のキャッシュメモリへ前記データの読み込みコマンドを送信する手段と、前記第２のキャッシュメモリから前記データを取得する手段と、前記取得したデータを前記第１のキャッシュメモリに書き込む手段と、前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路により前記取得したデータを送信する手段と、前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を受信する手段と、前記情報処理装置に対して前記データを送信する手段とを備えることを特徴とする。
【００２８】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部であって、前記第１のキャッシュメモリに記憶されているデータの中から前記第２のキャッシュメモリへ書き出すデータを選定する手段と、前記第２のキャッシュメモリに前記選定したデータを書き込むための記憶領域を確保する手段と、前記選定したデータを前記第２のキャッシュメモリへ送信する手段とを備えることを特徴とする。
【００２９】
また本発明の一態様は、前記選定は最も長期間アクセスのなかったデータを選出することにより行われることを特徴とする。
【００３０】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置であって、前記記憶制御装置への電力供給が停止した場合に、継続して電力供給を行うためのバッテリと、前記記憶制御装置への電力供給が停止した場合に、前記バッテリに電力供給源を切り替える手段と、前記第１のキャッシュメモリに記憶されている、前記情報処理装置により更新されたデータであって、前記第２のキャッシュメモリに未書き込みのものを前記第２のキャッシュメモリへ書き込む手段と、前記第２のキャッシュメモリへの書き込み完了後に、前記バッテリから前記チャネル制御部への供給電力を低減する手段と、前記第２のキャッシュメモリに記憶されている、前記情報処理装置により更新されたデータであって、前記記憶装置に未書き込みのものを前記記憶装置へ書き込む手段と、前記記憶装置への書き込み完了後に、前記バッテリから前記記憶制御装置への電力供給を遮断する手段とを備えることを特徴とする。
【００３１】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されているキャッシュメモリと、前記チャネル制御部と前記ディスク制御部とを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部に、前記情報処理装置から書き込みデータを受信するステップと、前記書き込みデータを前記キャッシュメモリに書き込むステップと、前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路を介して前記書き込みデータを送信するステップと、前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を前記専用のデータ転送路を介して受信するステップと、前記情報処理装置に対して、前記書き込みデータの前記キャッシュメモリへの書き込みが完了した旨の報告を送信するステップとを実行させるためのプログラムに関する。
【００３２】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部に、前記第２のキャッシュメモリに記憶されているデータの読み込みコマンドを前記第２のキャッシュメモリに送信するステップと、前記データを前記第２のキャッシュメモリから取得するステップと、前記取得したデータを前記第１のキャッシュメモリに書き込むステップと、前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路により前記取得したデータを送信するステップと、前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を受信するステップとを実行させるためのプログラムに関する。
【００３３】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部に、前記情報処理装置からアドレスが指定されたデータの読み出しコマンドを受信するステップと、前記指定されたアドレスのデータが前記第１のキャッシュメモリに記憶されているかどうかを判定するステップと、前記指定されたアドレスのデータが前記第１のキャッシュメモリに記憶されていない場合には、前記第２のキャッシュメモリへ前記データの読み込みコマンドを送信するステップと、前記第２のキャッシュメモリから前記データを取得するステップと、前記取得したデータを前記第１のキャッシュメモリに書き込むステップと、前記専用のデータ転送路で相互に結合された他方のチャネル制御部に対して、前記専用のデータ転送路により前記取得したデータを送信するステップと、前記他方のチャネル制御部から、前記他方のチャネル制御部が備えるキャッシュメモリへの前記送信したデータの書き込みが完了した旨の報告を受信するステップと、前記情報処理装置に対して前記データを送信するステップとを実行させるためのプログラムに関する。
【００３４】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置における前記チャネル制御部に、前記第１のキャッシュメモリに記憶されているデータの中から前記第２のキャッシュメモリへ書き出すデータを選定するステップと、前記第２のキャッシュメモリに前記選定したデータを書き込むための記憶領域を確保するステップと、前記選定したデータを前記第２のキャッシュメモリへ送信するステップとを実行させるためのプログラムに関する。
【００３５】
また本発明の一態様は、前記選定は最も長期間アクセスのなかったデータを選出することにより行われることを特徴とするプログラムに関する。
【００３６】
また本発明の一態様は、情報処理装置とのインタフェースを有する複数のチャネル制御部と、データを記憶する記憶装置とのインタフェースを有するディスク制御部と、前記情報処理装置と前記記憶装置との間で授受されるデータを一時的に記憶し、前記記憶したデータを相互に記憶するための専用のデータ転送路で相互に結合されている前記チャネル制御部に配置されている第１のキャッシュメモリと、相互に同一のデータを記憶する２つの第２のキャッシュメモリと、前記チャネル制御部と前記ディスク制御部と前記第２のキャッシュメモリとを相互に接続する内部接続部とを備える記憶制御装置に、前記記憶制御装置への電力供給が停止した場合に継続して電力供給を行うためのバッテリに電力供給源を切り替えるステップと、前記第１のキャッシュメモリに記憶されている、前記情報処理装置により更新されたデータであって、前記第２のキャッシュメモリに未書き込みのものを前記第２のキャッシュメモリへ書き込むステップと、前記第２のキャッシュメモリへの書き込み完了後に、前記バッテリから前記チャネル制御部への供給電力を低減するステップと、前記第２のキャッシュメモリに記憶されている、前記情報処理装置により更新されたデータであって、前記記憶装置に未書き込みのものを前記記憶装置へ書き込むステップと、前記記憶装置への書き込み完了後に、前記バッテリから前記記憶制御装置への電力供給を遮断するステップとを実行させるためのプログラムに関する。
【００３７】
【実施例】
＜第１の実施例＞
第１の実施例に係る計算機システムの全体構成を示すブロック図を図１に示す。
ディスク制御装置（記憶制御装置）１００は４台のホスト計算機（情報処理装置）２００と接続され、データのリード／ライトを受け付ける。各ホスト計算機２００とディスク制御装置１００間のアクセスルートは２重化されており、同一のホスト計算機２００からは別のチャネル制御部３００に接続されるように構成される。こうすることにより片方のアクセスルートに障害が発生しても他方のアクセスルートによりディスクアクセス処理を継続することが可能となる。
【００３８】
チャネル制御部３００は、ホストインタフェース制御部（ホストＩＦ制御部）３１０を備え、ホスト計算機２００とのインタフェース機能を有する。またキャッシュ制御部３２０及びローカルキャッシュ（第１のキャッシュメモリ）３３０を備え、記憶装置８００から読み出したデータを一時的に格納しておくことによりディスクアクセスの高速化を図っている。キャッシュ制御部３２０は、ペアとなる別のチャネル制御部３００のキャッシュ制御部３２０とペア間接続部３５０を介して相互に接続されており、お互いのローカルキャッシュ３３０のデータを記憶し合うことによりデータの２重化を行っている。
チャネル制御部３００は内部ＩＦ制御部３４０を備え、内部接続部５００を介してグローバルキャッシュ（第２のキャッシュメモリ）６００、及びディスク制御部４００に接続されている。
【００３９】
ディスク制御部４００は記憶装置８００と接続するためのインタフェース機能を備える。ディスク制御部４００が記憶装置８００から読み出したデータは内部接続部５００を介してグローバルキャッシュ６００のデータ領域６０１に格納された後、チャネル制御部３００の内部ＩＦ制御部３４０及びキャッシュ制御部３２０を経由してローカルキャッシュ３３０のデータ領域３３１に格納される。　　グローバルキャッシュ６００は２つ設けられており、お互いの記憶するデータを相互に記憶し合うことによりデータの２重化を図っている。
【００４０】
また、ディスク制御装置１００はバッテリ７００により緊急時の電源を確保している。これにより停電によりディスク制御装置１００への電力の供給が途絶えても、バッテリ７００からの電力供給を受けている間にローカルキャッシュ３３０及びグローバルキャッシュ６００に記憶されているデータを記憶装置８００へ書き込むことができ、ローカルキャッシュ３３０及びグローバルキャッシュ６００に記憶されているデータの消失を防止している。
【００４１】
図２は、図１に示す計算機システムの別の形態に係る計算機システムの全体構成を示すブロック図である。
この形態は図１におけるチャネル制御部３００とディスク制御部４００が統合されたものである。制御部９００はホスト計算機２００とのインタフェースを司るホストＩＦ制御部９１０と、記憶装置８００とのインタフェースを司るディスクＩＦ制御部９６０を備えている。
【００４２】
この形態によれば、チャネル制御部、ディスク制御部、及びキャッシュが同一パッケージ上で構成されるので、パッケージを追加していくことにより容易にシステムを拡張することが可能である。パッケージとは複数の機能をモジュール化して１つの部品として構成したものである。部品の交換等の保守・管理はパッケージ単位に行われる。図１の構成はシステムの最大規模を想定して最大規模でのコスト低減効果が最大になるようにしたものであり、大規模構成向きである。従って既にビジネスが安定している顧客が比較的大規模な構成を実現するときに有効である。これに対して図２の構成は初期導入時点でのコスト効果が最大になるようにしたものであり、なおかつ拡張性を維持しているため小中規模から大規模構成向きである。従って、これからビジネスを開始する顧客やビジネス環境の変化が激しい顧客が状況に応じてシステム規模を変更できる柔軟性のあるシステムを実現するときに有効である。
【００４３】
またディスクＩＦ制御部９６０が記憶装置８００から読み出したデータはキャッシュ制御部９２０を経由してローカルキャッシュ９３０のデータ領域９３１に格納される。内部接続部５００やグローバルキャッシュ６００を経由しないので、高速なデータの読み出しが可能である。
その他の部分の構成は図１に示した計算機システムの構成と同様であるため、以下では、図１に示した実施例に基づいて詳細に説明を行うこととする。
【００４４】
ホストＩＦ制御部３１０及びキャッシュ制御部３２０の構成を示すブロック図を図３に示す。
ホストＩＦ制御部３１０は、プロセッサ３１１、メモリ３１２、ホストＩＦ回路３１４、及び内部接続ＩＦ回路３１５を備えている。
【００４５】
プロセッサ３１１はメモリ３１２に記憶されている制御プログラム３１３を実行することにより、ホスト計算機２００からのデータのリードライト要求を受け付け、ディスク制御装置１００内の制御を行う。ホストＩＦ回路３１４はホスト計算機２００と接続され、データの授受を行うための回路を構成する。内部接続ＩＦ回路３１５はキャッシュ制御部３２０との接続のための回路を構成する。
【００４６】
キャッシュ制御部３２０は、キャッシュ制御部ＩＦ回路３２１、バッファメモリ３２２、内部接続ＩＦ回路３２３、３２４、及びペア間接続ＩＦ回路３２５を備えている。
【００４７】
キャッシュ制御部ＩＦ回路３２１は、ローカルキャッシュ３３０と接続するための回路を構成し、ローカルキャッシュ３３０との間のデータの授受を制御する。バッファメモリ３２２は、ローカルキャッシュ３３０との間のデータ授受の際に一時的にデータを格納するために用いられる。内部接続ＩＦ回路３２３は、ホストＩＦ制御部と接続するための回路を構成する。内部接続ＩＦ回路３２４は、内部ＩＦ制御部３４０と接続するための回路を構成する。
【００４８】
ペア間接続ＩＦ回路３２５は、ペアとなる相手のチャネル制御部３００のキャッシュ制御部３２０と接続される。接続の様子を図４に示す。
ペアとなるチャネル制御部３００はお互いのローカルキャッシュ３３０のデータを共有することによりデータの２重化を行っている。データの２重化を行うためのコマンドやデータはペア間接続ＩＦ回路３２５を介して相手側のチャネル制御部３００に送られる。相互のペア間接続ＩＦ回路３２５の間はペア間接続部３５０により直結されている。ペア間接続部３５０は相互のローカルキャッシュ３３０のデータを２重化するために専用に設けられた通信路である。そのため他の処理に影響を受けることなく相手側のローカルキャッシュ３３０とのデータの交信が行えるため、高速にデータの２重化を行うことができる。
【００４９】
またこの２重化はペアを組んでいるチャネル制御部の間で行われるため、記憶制御装置の運転に影響を与えずに、チャネル制御部に対する保守作業を行うことができる。例えば故障したチャネル制御部を交換する場合を考える。もし、ペアを組まずに自己のチャネル制御部内でデータを２重化している場合には、当該チャネル制御部のキャッシュメモリに記憶されているデータを消失させないために、交換前にキャッシュメモリに記憶されているデータを当該チャネル制御部以外の他の記憶領域に待避させる必要がある。しかし本実施例の場合にはペアを組むチャネル制御部のキャッシュメモリにもデータが記憶されているため、データの待避は不要となる。これにより、２４時間３６５日の連続運転が要求される記憶制御装置の運転を停止させたり機能を低下させたりすることなく、保守・管理作業を行うことが可能となる。
【００５０】
なお、内部接続ＩＦ回路３１５、内部接続ＩＦ回路３２３、３２４、及びペア間接続ＩＦ回路３２５の回路構成は、同種、異種、もしくは同種・異種の混在のいずれの態様とすることもできる。
【００５１】
次に、ローカルキャッシュ３３０の構成を示すブロック図を図５に示す。
ローカルキャッシュ３３０は、データ領域３３１と制御領域３３２を備える。データ領域３３１にはホスト計算機２００により記憶装置８００から読み出されたデータが一時的に格納される。制御領域３３２にはデータ領域３３１に格納されているデータを管理するためのテーブルが記憶される。データ領域３３１に格納されているデータブロック毎に、”Ｖａｌｉｄ”、”Ｄｉｒｔｙ”、”Ａｄｄｒｅｓｓ”、”Ｌｏｃｋ”、”Ｏｗｎｅｒ”、”Ｐｏｉｎｔｅｒ”の欄を有するテーブルを設けることによりデータを管理している。
【００５２】
なおデータ領域３３１に格納されるデータブロックは、どのような単位で格納されるようにすることも可能である。記憶装置８００のブロック単位やシリンダの単位、あるいはトラックの単位等に限定されるものではない。またデータブロックのサイズは可変長とすることもできるし、固定長とすることもできる。
【００５３】
”Ｖａｌｉｄ”欄は、当該データブロックのデータが有効か否かを示す。ホスト計算機２００からデータの読み出し要求があった場合に、当該データをデータ領域３３１に見つけることができても、当該データが有効でなければキャッシュアクセスはミスヒットとなる。
【００５４】
”Ｄｉｒｔｙ”欄は、ローカルキャッシュ３３０に読み出されたデータがホスト計算機２００により書き換えられているか否かを示す。書き換えられている場合は、当該データを記憶装置８００へ書き戻しておく必要がある。書き換えられていなければ、当該データを記憶装置８００へ書き戻す必要はない。
【００５５】
”Ａｄｄｒｅｓｓ”欄は、ローカルキャッシュ３３０に記憶されるデータの記憶位置を示す。ホスト計算機２００は、データを読み出す際に、データを論理アドレスで指定する。そのため、”Ａｄｄｒｅｓｓ”欄には論理アドレスが記載される。しかし、本実施例におけるディスク制御装置１００ではグローバルキャッシュ６００は物理アドレスで管理されるため、制御領域３３２にはマッピングテーブルが設けられる。マッピングテーブルを参照して論理アドレスと物理アドレスの変換を行うことにより、ローカルキャッシュ３３０とグローバルキャッシュ６００間でのデータ転送が可能となる。
【００５６】
”Ｌｏｃｋ”欄は、ペアのローカルキャッシュ３３０間で相互に記憶されている当該データに対する処理を禁止することを表す。ペアとなるローカルキャッシュ３３０間のデータは、データ２重化専用の通信路であるペア間接続部３５０を経由して高速に２重化されるものの、完全同時に２重化することはできない。そのため極めて短時間ではあるがペア間でデータの不一致が生じる。ペア間でデータが不一致の間に、例えば片方のローカルキャッシュから当該データがリプレース（グローバルキャッシュ６００への書き戻し）されてしまうと、誤ったデータがグローバルキャッシュ６００や記憶装置８００に記憶されることも起こりうる。このような問題を発生させないために”Ｌｏｃｋ”欄が設けられ、Ｌｏｃｋが有効な間は当該データに対する操作は禁止される。
【００５７】
”Ｏｗｎｅｒ”欄は、ペアとなるローカルキャッシュ３３０のどちらが当該データを所有しているのかを示す。ペア間では相互にデータを２重化して記憶し合っているため、どちらのデータであるのかを管理するために”Ｏｗｎｅｒ”欄が設けられている。
【００５８】
”Ｐｏｉｎｔｅｒ”欄は、データ領域３３１に記憶されるデータと制御領域３３２に記憶される管理情報の対応付けを管理するための欄である。
【００５９】
次に、グローバルキャッシュ６００の構成を示すブロック図を図６に示す。　　基本的な構成はローカルキャッシュ３３０の構成と同一であるが、”Ｌｏｃｋ”欄と”Ｏｗｎｅｒ”欄の表す意味が異なる。
【００６０】
”Ｌｏｃｋ”欄は、グローバルキャッシュ６００上の当該データがローカルキャッシュ３３０に読み出されており、ホスト計算機２００により更新される可能性があるため、他のローカルキャッシュ３３０への読み出しは禁止されている状態であることを表す。複数のローカルキャッシュ３３０にデータの読み出しを許してしまうと、それぞれ独立にホスト計算機２００によって更新される可能性があり、データの一致性が保証できなくなるためである。
”Ｏｗｎｅｒ”欄は、当該データを読み出し中のローカルキャッシュ３３０を表す。
グローバルキャッシュ６００は内部接続部５００に接続されており、２つのグローバルキャッシュ６００がペアとなってデータの２重化を行っている。グローバルキャッシュ６００間のデータの２重化は、内部接続部５００を介して相互にデータを転送することにより実現される。
【００６１】
次に、内部接続部５００の構成を示すブロック図を図７に示す。
図７には４入力４出力の例を示したが本実施例に係る内部接続部５００は８入力８出力となる。しかし基本的な構成は変わらないので説明の簡単化のため４入力４出力の例で説明する。
【００６２】
内部接続部５００は、受信部５１０、送信部５２０、制御部５３０を備えている。受信部５１０は、内部接続部５００に入力されてきたデータを適宜バッファ５１１に蓄えつつ、制御部５３０からの指令に従って、指定された送信部５２０のバッファ５２１へデータを転送する。送信部５２０はバッファ５２１に格納されたデータを順次出力する。図７では内部接続部５００としてクロスバスイッチの構成をとった場合を示したが、クロスバスイッチの構成に限られることはなく、様々な構成をとることが可能である。例えば受信部５１０と送信部５２０の間を多段のスイッチ回路で接続するようにすることもできる。
【００６３】
２つのグローバルキャッシュ６００の間で２重化されるデータは内部接続部５００を経由するので、転送経路が多い上、経路上での競合も起こりうる。そのためグローバルキャッシュ６００の２重化には比較的長時間を要する。一方、ローカルキャッシュ３３０の間で２重化されるデータは、ペア間接続部３５０で直接に接続されているので、転送経路も短くまた経路上の競合もないため、短い時間でデータの２重化を行うことができる。
【００６４】
次に、ホスト計算機２００から本実施例に係るディスク制御装置１００に対してデータアクセス要求があった場合の処理の流れを示すフローチャートを図８に示す。
ホスト計算機２００からチャネル制御部３００にデータのアクセス要求があると（ステップＳ１００）、ホストＩＦ制御部３１０のプロセッサ３１１はアクセス要求の解析を行う。解析によりアクセスの種類（リード要求、ライト要求）やアクセスするデータのアドレス等を判別する。
【００６５】
続いてプロセッサ３１１は、アクセスの種類に応じて、図９に示すコマンドをキャッシュ制御部３２０のキャッシュ制御部ＩＦ回路３２１に送信する。リード要求の場合は図９（ｄ）のコマンドが送信され、ライト要求の場合は図９の（ａ）のコマンドと（ｂ）のコマンド（データ）が送信される。
【００６６】
キャッシュ制御部ＩＦ回路３２１はプロセッサ３１１から送信されたコマンドに従い、ローカルキャッシュ３３０の制御領域３３２に記録されている管理情報を検索して、コマンドに指定されたアドレスのデータがローカルキャッシュ３３０に記憶されているかどうかを確認する（ステップＳ１０１）。
【００６７】
当該データがローカルキャッシュ３３０にある場合は、リード要求の場合であれば、キャッシュ制御部ＩＦ回路３２１が当該データをローカルキャッシュ３３０から読み出してホスト計算機２００へ送信する（ステップＳ１０６、ステップＳ１０７）。ローカルキャッシュ３３０から読み出し完了の報告（ＡＣＫ）を受けると、キャッシュ制御部ＩＦ回路３２１はプロセッサ３１１に対してステータスを送信する。送信されるステータスは図９の（ｆ）で示されるコマンドである。最後にプロセッサ３１１はホスト計算機２００にデータの読み出し完了報告を行って（ステップＳ１０９）処理を終了する。
【００６８】
なお本実施例においては、ローカルキャッシュ３３０の制御領域３３２の管理情報の検索や、ローカルキャッシュ３３０からのデータの読み出し等の制御は、キャッシュ制御部ＩＦ回路３２１が行う場合を例に説明したが、プロセッサ３１１が行う態様とすることも可能である。またこの場合、プロセッサ３３１は制御領域３３２の管理情報をメモリ３１２にコピーして、ローカルキャッシュ３３０の管理情報の検索を高速化するようにすることもできる。
【００６９】
また詳細は後述するが、グローバルキャッシュ６００へのデータアクセス制御についても、キャッシュ制御部ＩＦ回路３２１が行う態様に限らず、プロセッサ３１１が行う態様とすることも可能である。
【００７０】
以上のリード要求の処理をフローチャートで表したものを図１５に示す。図１５に示すように、ローカルキャッシュ３３０は２つでペアを組んでいるが、データの読み出し時には相手のローカルキャッシュ３３０へのアクセスは行われない。
【００７１】
一方、ホスト計算機２００からのアクセス要求がライト要求の場合は、キャッシュ制御部ＩＦ回路３２１は、ホスト計算機２００から送信されバッファメモリ３２２に格納されている書き込みデータをローカルキャッシュ３３０に書き込む（ステップＳ１０８）。
【００７２】
ローカルキャッシュ３３０への書き込み処理の詳細は図１４に示される。すなわち、まずキャッシュ制御部ＩＦ回路３２１は、ペアとなっている相手側のキャッシュ制御部ＩＦ回路３２１に対してローカルキャッシュ３３０をロックするように要求を出す。この要求は図１１の（ａ）に示すコマンドを、ペア間接続部３５０を介して送信することにより行われる。相手からロック確保の応答（図１１の（ｂ）に示すコマンド）を受け取り、自他ローカルキャッシュ３３０のロックを確保すると（ステップＳ５００）、キャッシュ制御部ＩＦ回路３２１は、バッファメモリ３２２に格納されている書き込みデータを、ペア間接続部３５０を介して相手側のバッファメモリ３５０に送信する。そして相手側のキャッシュ制御部ＩＦ回路３２１により相手側のローカルキャッシュ３３０に書き込みが行われる（ステップＳ５０１）。続いて自分側のローカルキャッシュ３３０にデータの書き込みを行う（ステップＳ５０２）。なお、データをローカルキャッシュ３３０に書き込む際には制御領域３２２の”Ｄｉｒｔｙ”欄にチェックを入れる。相互のローカルキャッシュ３３０にデータの書き込みが完了すると、ロックを解除した後、ホスト計算機２００へ完了報告を送信し、処理を終了する（ステップＳ５０３、ステップＳ１０９）。以上のライト要求の処理をフローチャートで表したものを図１６に示す。
【００７３】
ホスト計算機２００はディスク制御装置１００からの完了報告を受けるまでは次の処理を行うことができないので、ディスク制御装置１００がホスト計算機２００に対していかに早く完了報告を返すかが性能向上のポイントとなる。本実施例に係るディスク制御装置１００では、ペアとなる相手側のローカルキャッシュ３３０へのデータの書き込みを、専用の通信路であるペア間接続部３５０を介して行うことにより、他の処理に影響を受けることなく高速に行うことができる。
【００７４】
またローカルキャッシュ３３０間でのデータ２重化のためのデータ転送は内部接続部５００を使用せずに行われるので、内部接続部５００の使用率を抑制することができる。そのため内部接続部５００でのデータ競合が減少し、ホスト計算機２００へのデータアクセスレスポンスを高速化できる。
【００７５】
次に、ホスト計算機２００からのアクセス要求を受けたが、ローカルキャッシュ３３０に当該データが無い場合、すなわちキャッシュミスヒットの場合の処理について説明する。
この場合はグローバルキャッシュ６００に当該データがあるかどうかを確認する（ステップＳ１０２）。まずキャッシュ制御部ＩＦ回路３２１はプロセッサ３１１から送信されたコマンドに指定された当該データの論理アドレスを元に、制御領域３３２のマッピングテーブルを参照して物理アドレスを得る。そして、内部接続部５００を介してグローバルキャッシュ６００にコマンドを送信して、グローバルキャッシュ６００の制御領域６０２に記録されている管理情報を検索して、当該データがグローバルキャッシュ６００に記憶されているかどうかを確認する。
【００７６】
当該データがグローバルキャッシュ６００に無ければ、ディスク制御部４００に対してコマンドを送信し、当該データを記憶装置８００から読み出して、グローバルキャッシュ６００に格納させる（ステップＳ１０３）。グローバルキャッシュ６００に格納されたデータは、内部接続部５００を介してもう１つのグローバルキャッシュ６００へも送られ、データの２重化が行われる。
【００７７】
なおここで、記憶装置８００からグローバルキャッシュ６００へ読み出したデータをいち早くホスト計算機２００へ届けるための処理を優先させ、グローバルキャッシュ６００上でのデータの２重化を後回しにする態様とすることも可能である。かかるグローバルキャッシュ６００上のデータは記憶装置８００にも記憶されているので、グローバルキャッシュ６００上で消失しても問題は生じない。当該データが更新された場合に２重化を行うようにすることでデータの信頼性は確保できる。
【００７８】
続いて当該データをグローバルキャッシュ６００上でロックを掛ける（ステップＳ１０４）。すなわち、グローバルキャッシュ６００上の当該データを他のローカルキャッシュ３３０から読み出されないようにする。その処理の流れを図１０のフローチャートに示す。
当該データがすでに他のローカルキャッシュ３３０に読み出されており、ロックが掛けられている場合には（ステップＳ２００）、当該ローカルキャッシュ３３０に対してロックを解放するように要求する（ステップＳ２０１）。どのローカルキャッシュ３３０がロックを掛けているのかは、制御領域６０２の”Ｏｗｎｅｒ”欄で知ることができる。ロックが解放されるのを待った後（ステップＳ２０２）、ロックを掛け、他のローカルキャッシュ３３０から読み出されないようにしてから処理を終了する（ステップＳ２０３）。他のローカルキャッシュ３３０にロックが掛けられていなければ、直ちにロックを掛けて処理を終了する（ステップＳ２００、ステップＳ２０３）。
【００７９】
続いてグローバルキャッシュ６００上に格納された当該データをローカルキャッシュ３３０へ読み出す処理を行う（ステップＳ１０５）。その処理の流れを図１２のフローチャートに示す。
まずグローバルキャッシュ６００からローカルキャッシュ３３０にデータを転送する前に、ローカルキャッシュ３３０上に当該データを書き込むための空き領域があるかどうかを調べる（ステップＳ３００）。この処理は、制御領域３３２の”Ｖａｌｉｄ”欄を検索して無効なデータの総容量がグローバルキャッシュ６００から転送されるデータの総容量よりも大きいかどうかをチェックすることにより行うことができる。
【００８０】
十分な空き容量がある場合には、まずキャッシュ制御部ＩＦ回路３２１は、ペアとなっている相手側のキャッシュ制御部ＩＦ回路３２１に対してローカルキャッシュ３３０をロックするように要求を出してロックを確保する（ステップＳ３０２）。次にグローバルキャッシュ６００からデータをバッファメモリ３２２に格納し、ペア間接続部３５０を介して相手側のバッファメモリ３５０にデータを送信するとともに、自分のローカルキャッシュ３３０にもデータの書き込みを行う（ステップＳ３０３、ステップＳ３０４）。相互のローカルキャッシュ３３０にデータの書き込みが完了すると、ロックを解除して処理を終了する（ステップＳ３０５）。この後の処理はホスト計算機２００からのアクセス要求に応じて、上述した通りに行われる（ステップＳ１０６乃至ステップＳ１０９）。
【００８１】
なお、グローバルキャッシュ６００からローカルキャッシュ３３０にデータを転送するための空き領域がない場合は、ローカルキャッシュ３３０上のいずれかのデータをグローバルキャッシュ６００に書き戻すことにより空き領域を確保する処理が必要になる（ステップＳ３０１）。その処理の流れを図１３のフローチャートに示す。
【００８２】
まずキャッシュ制御部ＩＦ回路３２１は、ペアとなっている相手側のキャッシュ制御部ＩＦ回路３２１に対してローカルキャッシュ３３０をロックするように要求を出してロックを確保する（ステップＳ４００）。続いて所定のアルゴリズムにより特定したグローバルキャッシュ６００へ書き出されるデータのＤｉｒｔｙビットを制御領域３３２により調べる（ステップＳ４０１）。所定のアルゴリズムとしては、最も長期間アクセスのなかったデータをキャッシュから書き出すＬＲＵ（Ｌｅａｓｔ　Ｒｅｃｅｎｔｌｙ　Ｕｓｅｄ）方式が一般的であるが、他のアルゴリズムとすることもできる。
【００８３】
Ｄｉｒｔｙビットがセットされていなければグローバルキャッシュ６００へデータを書き出す必要はないが、Ｄｉｒｔｙビットがセットされている場合はグローバルキャッシュ６００へデータを書き出す必要があるので、グローバルキャッシュ６００に当該データを書き込むための空き領域があるかどうかを調べる（ステップＳ４０２）。グローバルキャッシュ６００に十分な空き領域がない場合はグローバルキャッシュ６００のデータを記憶装置８００へ書き出して、領域を確保する（ステップＳ４０３）。
【００８４】
続いてグローバルキャッシュ６００上の空き領域にローカルキャッシュ３３０からデータを書き出す（ステップＳ４０４）。書き出しは２つのグローバルキャッシュ６００に対して行われる。グローバルキャッシュ６００にデータが書き出された後は、もはや当該データはＤｉｒｔｙではないので、Ｄｉｒｔｙビットをリセットする（ステップＳ４０５）。続いて当該データが記憶されていたローカルキャッシュ３３０上の領域を解放する必要がある場合には（ステップＳ４０６）、当該データのＶａｌｉｄビットをリセットする（ステップＳ４０７）。
【００８５】
そしてペアとなっている相手のローカルキャッシュ３３０に対して当該データのグローバルキャッシュ６００への書き出しが完了した旨の報告を行う（ステップＳ４０８）。この報告をうけた相手側のローカルキャッシュ３３０では、制御領域３３２のＶａｌｉｄビットがリセットされる。最後にローカルキャッシュ３３０のロックを解放して（ステップＳ４０９）処理を終了する。
【００８６】
次に、チャネル制御部に障害が発生したときの処理を示すフローチャートを図１７に示す。
まずホストＩＦ制御部３１０のプロセッサ３１１は、チャネル制御部３００に異常がないかを常時監視している（ステップＳ８００）。プロセッサ３１１はチャネル制御部３００に異常を検出すると、それ以降ローカルキャッシュ３３０を使用しないようにし、ローカルキャッシュ３３０を無効化する（ステップＳ８０１）。続いて既にローカルキャッシュ３３０上に記憶されているデータをグローバルキャッシュ６００上に書き出す（ステップＳ８０２）。このとき書き出されるデータは制御領域３３２上でＤｉｒｔｙビットがセットされているデータである。次に当該ローカルキャッシュ３３０上から書き出されたデータのロックをグローバルキャッシュ６００上で解除する（ステップＳ８０３）。他のローカルキャッシュ３３０に読み出し可能とするためである。この状態でチャネル制御部３００が正常に復帰するまで待つが（ステップＳ８０４）、その間のホスト計算機２００からのデータアクセスは、ペアとなっているもう一方のチャネル制御部３００により継続される。チャネル制御部３００が正常に復帰したら、ローカルキャッシュ３３０を有効にし、使用再開する（ステップＳ８０５）。
これにより、チャネル制御部３００に障害が発生しても、ペアを組んでいるもう片方のチャネル制御部３００を使用することにより、システムを停止させることなく業務を継続することができる。
【００８７】
次に本実施例に係るディスク制御装置１００の緊急デステージ処理を示すフローチャートを図１８に示す。
緊急デステージ処理とは、突然の停電等によりディスク制御装置１００に対する電力の供給がストップした場合にキャッシュメモリ上に記憶されているデータを保護するための技術である。停電時には電力の供給はバッテリ７００により行われるが、ディスク制御装置１００の電力消費量は少なくないので、バッテリ７００による電力供給はそれほど長時間行える訳ではない。そのため、緊急デステージ処理は極力短時間で完了することが要求される。
【００８８】
ディスク制御装置１００は電力の供給がバッテリ７００からの供給に切り替わったことを検出すると緊急デステージ処理を開始する。まず、ローカルキャッシュ３３０に記憶されているデータの中でグローバルキャッシュ６００に未反映のデータがないかを制御領域３３２のＤｉｒｔｙビットを検索することにより調査する（ステップＳ９００）。グローバルキャッシュ６００に未反映のデータは２つのグローバルキャッシュ６００に書き出される（ステップＳ９０１）。全てのＤｉｒｔｙデータをグローバルキャッシュ６００に書き出す処理が完了したら（ステップＳ９０２）、チャネル制御部３００の電源を遮断する（ステップＳ９０３）。電力消費量を少しでも少なくし、バッテリ７００による電力供給をできるだけ長時間維持するためである。
【００８９】
次にグローバルキャッシュ６００に記憶されているデータの中で記憶装置８００に未反映のデータがないかを制御領域６０２のＤｉｒｔｙビットを検索することにより調査する（ステップＳ９０４）。記憶装置８００に未反映のデータはディスク制御部４００を経由して記憶装置８００に書き出される（ステップＳ９０５）。全てのＤｉｒｔｙデータを記憶装置８００に書き出す処理が完了したら（ステップＳ９０６）、グローバルキャッシュ６００、ディスク制御部４００及び記憶装置８００の電源を遮断して（ステップＳ９０７）、処理を終了する。
【００９０】
なおステップＳ９０３において、チャネル制御部３００全体への電力供給を遮断する態様のみならず、チャネル制御部３００の一部の部位への電力供給を遮断し、チャネル制御部３００への供給電力を低減させる態様とすることもできる。例えば、チャネル制御部３００の中でも比較的電力消費の大きな部位であるプロセッサ３１１への電力供給を遮断し、供給電力を低減させる態様とすることも可能である。
【００９１】
このような処理を行うことにより、突然の停電等が発生してもキャッシュメモリ上のデータを消失させることがなく、システムの信頼性を向上させることが可能となる。
【００９２】
以上のようにして、ホスト計算機２００からディスク制御装置１００に対してデータアクセス要求があった場合の処理が行われる。
これによれば、ローカルキャッシュ３３０及びグローバルキャッシュ６００に記憶されるデータは２重化されているのでデータの信頼性を向上させることができる。
その上ローカルキャッシュ３３０が各チャネル制御部３００に分散して配置されているので、各ホスト計算機２００は他のホスト計算機２００からのデータアクセス要求との競合なしにキャッシュメモリへのアクセスを行うことができ、高速なデータアクセスを実現している。
【００９３】
さらにデータの２重化のためにペアを組んでいるローカルキャッシュ間は専用のペア間接続部３５０により結合されているので、データの２重化処理のオーバヘッドを減らすことができ、ホスト計算機２００からのデータアクセスのさらなる高速化を実現している。またローカルキャッシュ３３０間でのデータ２重化のためのデータ転送は内部接続部５００を使用せずに行われるので、内部接続部５００の使用率を抑制することができる。そのため内部接続部５００でのデータ競合が減少し、ホスト計算機２００へのデータアクセスレスポンスを高速化できる。
【００９４】
また、ホスト計算機２００から要求のあったデータがキャッシュメモリに存在しない場合には、従来であれば磁気ディスクまでデータを読みに行く必要があったが、本実施例に係るディスク制御装置１００ではローカルキャッシュ３３０にデータが存在しない場合でもグローバルキャッシュ６００に当該データが存在すれば、磁気ディスクまでデータを読みに行く必要はないため、ホスト計算機２００からのデータアクセスをより高速に行うことが可能となっている。
【００９５】
また、ホスト計算機２００からのアクセスデータがローカルキャッシュ３３０に記憶されていなかった場合でも、グローバルキャッシュ６００に当該データが記憶されていれば記憶装置８００にまでアクセスをする必要が無い。そのため、ホスト計算機２００からのデータのアクセス速度を高速化することが可能となる。
【００９６】
＜第２の実施例＞
なお、第１の実施例に係るディスク制御装置１００において、ペア間接続部３５０を設けない態様も考えられる。このような態様であってもペアとなる２つのローカルキャッシュ３３０間の通信を高速に行うことによりデータの２重化を高速に行うことができる。
すなわち、ペア間接続部３５０がない場合には２つのローカルキャッシュ３３０間のデータ通信は内部接続部５００を経由して行われることになるが、図７に示す回路において、相互にペアとなっているチャネル制御部３００に接続される受信部５１０から送信部５２０へのデータ転送を他のデータ転送に優先、または占有して行うことにより、２つのペア間はあたかも専用通信路で結ばれているかのごとくデータ転送を行うことが可能となる。これによりペア間のデータ転送は、第１の実施例におけるディスク制御装置１００と同様、他のデータ転送に影響を受けることなく高速に行うことができる。
【００９７】
＜第３の実施例＞
次に第３の実施例に係る計算機システムの全体構成を示すブロック図を図１９に示す。
第３の実施例においては、第１の実施例に係るディスク制御装置１００に対し、グローバルキャッシュ６００が存在しない態様の例を示す。このような態様においては、あるローカルキャッシュ３３０に読み出されているデータを他のローカルキャッシュ３３０に読み出されないように管理するための制御メモリ１０００が内部接続部５００に設けられる。
【００９８】
制御メモリ１０００の構成を図２０に示す。
制御メモリ１０００は、ローカルキャッシュ３３０に読み出されているデータを管理するための制御領域１０１０を有している。制御領域１０１０は、”Ａｄｄｒｅｓｓ”欄、”Ｌｏｃｋ”欄、”Ｏｗｎｅｒ”欄から構成される。
”Ａｄｄｒｅｓｓ”欄は、ローカルキャッシュ３３０に読み出されているデータの物理アドレス情報を示す。
”Ｌｏｃｋ”欄は、”Ａｄｄｒｅｓｓ”欄で特定されるデータがローカルキャッシュ３３０に読み出されており、ホスト計算機２００により更新される可能性があるため、他のローカルキャッシュ３３０への読み出しは禁止されている状態であることを表す。複数のローカルキャッシュ３３０にデータの読み出しを許してしまうと、それぞれ独立にホスト計算機２００によって更新される可能性があり、データの一致性が保証できなくなるためである。
”Ｏｗｎｅｒ”欄は、当該データを読み出し中のローカルキャッシュ３３０を表す。
第３の実施例に係るディスク制御装置１００のその他の構成は、第１の実施例に係るディスク制御装置１００と同様である。
【００９９】
次に、ホスト計算機２００から本実施例に係るディスク制御装置１００に対してデータアクセス要求があった場合の処理の流れを示すフローチャートを図２１に示す。
ホスト計算機２００からチャネル制御部３００にデータのアクセス要求があると（ステップＳ１０００）、ホストＩＦ制御部３１０のプロセッサ３１１はアクセス要求の解析を行う。解析によりアクセスの種類（リード要求、ライト要求）やアクセスするデータのアドレス等を判別する。
【０１００】
続いてプロセッサ３１１は、アクセスの種類に応じて、図９に示すコマンドをキャッシュ制御部３２０のキャッシュ制御部ＩＦ回路３２１に送信する。リード要求の場合は図９（ｄ）のコマンドが送信され、ライト要求の場合は図９の（ａ）のコマンドと（ｂ）のコマンド（データ）が送信される。
【０１０１】
キャッシュ制御部ＩＦ回路３２１はプロセッサ３１１から送信されたコマンドに従い、ローカルキャッシュ３３０の制御領域３３２に記録されている管理情報を検索して、コマンドに指定されたアドレスのデータがローカルキャッシュ３３０に記憶されているかどうかを確認する（ステップＳ１００１）。
【０１０２】
当該データがローカルキャッシュ３３０にある場合は、リード要求の場合であれば、キャッシュ制御部ＩＦ回路３２１が当該データをローカルキャッシュ３３０から読み出してホスト計算機２００へ送信する（ステップＳ１００４、ステップＳ１００５）。ローカルキャッシュ３３０から読み出し完了の報告（ＡＣＫ）を受けると、キャッシュ制御部ＩＦ回路３２１はプロセッサ３１１に対してステータスを送信する。送信されるステータスは図９の（ｆ）で示されるコマンドである。最後にプロセッサ３１１はホスト計算機２００にデータの読み出し完了報告を行って（ステップＳ１００７）処理を終了する。
【０１０３】
一方、ホスト計算機２００からのアクセス要求がライト要求の場合は、キャッシュ制御部ＩＦ回路３２１は、ホスト計算機２００から送信されバッファメモリ３２２に格納されている書き込みデータをローカルキャッシュ３３０に書き込む（ステップＳ１００６）。
【０１０４】
ローカルキャッシュ３３０への書き込み処理の詳細は図２５に示される。すなわち、まずキャッシュ制御部ＩＦ回路３２１は、ペアとなっている相手側のキャッシュ制御部ＩＦ回路３２１に対してローカルキャッシュ３３０をロックするように要求を出す。この要求は図１１の（ａ）に示すコマンドを、ペア間接続部３５０を介して送信することにより行われる。相手からロック確保の応答（図１１の（ｂ）に示すコマンド）を受け取り、自他ローカルキャッシュ３３０のロックを確保すると（ステップＳ１４００）、キャッシュ制御部ＩＦ回路３２１は、バッファメモリ３２２に格納されている書き込みデータを、ペア間接続部３５０を介して相手側のバッファメモリ３５０に送信する。そして相手側のキャッシュ制御部ＩＦ回路３２１により相手側のローカルキャッシュ３３０に書き込みが行われる（ステップＳ１４０１）。続いて自分側のローカルキャッシュ３３０にデータの書き込みを行う（ステップＳ１４０２）。なお、データをローカルキャッシュ３３０に書き込む際には制御領域３２２の”Ｄｉｒｔｙ”欄にチェックを入れる。相互のローカルキャッシュ３３０にデータの書き込みが完了すると、ロックを解除した後、ホスト計算機２００へ完了報告を送信し、処理を終了する（ステップＳ１４０３、ステップＳ１００７）。
【０１０５】
ホスト計算機２００はディスク制御装置１００からの完了報告を受けるまでは次の処理を行うことができないので、ディスク制御装置１００は、ホスト計算機２００に対していかに早く完了報告を返すかがポイントとなる。本実施例に係るディスク制御装置１００では、ペアとなる相手側のローカルキャッシュ３３０へもデータの書き込みを、専用の通信路であるペア間接続部３５０を介して行うことにより、他の処理に影響を受けることなく高速に行うことができる。
【０１０６】
次に、ホスト計算機２００からのアクセス要求を受けたが、ローカルキャッシュ３３０に当該データが無い場合、すなわちキャッシュミスヒットの場合の処理について説明する。この場合は記憶装置８００に記憶された当該データをローカルキャッシュ３３０へ読み出す処理を行う（ステップＳ１００２）。その処理の流れを図２３のフローチャートに示す。
【０１０７】
まず記憶装置８００からローカルキャッシュ３３０にデータを転送する前に、ローカルキャッシュ３３０上に当該データを書き込むための空き領域があるかどうかを調べる（ステップＳ１２００）。この処理は、制御領域３３２の”Ｖａｌｉｄ”欄を検索して無効なデータの総容量が記憶装置８００から転送されるデータの総容量よりも大きいかどうかをチェックすることにより行うことができる。
【０１０８】
十分な空き容量がある場合には、まずキャッシュ制御部ＩＦ回路３２１は、ペアとなっている相手側のキャッシュ制御部ＩＦ回路３２１に対してローカルキャッシュ３３０をロックするように要求を出してロックを確保する（ステップＳ１２０２）。次に記憶装置８００からデータをバッファメモリ３２２に格納し、ペア間接続部３５０を介して相手側のバッファメモリ３５０にデータを送信するとともに、自分のローカルキャッシュ３３０にもデータの書き込みを行う（ステップＳ１２０３、ステップＳ１２０４）。相互のローカルキャッシュ３３０にデータの書き込みが完了すると、ロックを解除して処理を終了する（ステップＳ１２０５）。この後の処理はホスト計算機２００からのアクセス要求に応じて、上述した通りに行われる（ステップＳ１００４乃至ステップＳ１００７）。
【０１０９】
なお、記憶装置８００からローカルキャッシュ３３０にデータを転送するための空き領域がない場合は、ローカルキャッシュ３３０上のいずれかのデータを記憶装置８００に書き戻すことにより空き領域を確保する処理が必要になる（ステップＳ１２０１）。その処理の流れを図２４のフローチャートに示す。
【０１１０】
まずキャッシュ制御部ＩＦ回路３２１は、ペアとなっている相手側のキャッシュ制御部ＩＦ回路３２１に対してローカルキャッシュ３３０をロックするように要求を出してロックを確保する（ステップＳ１３００）。続いて所定のアルゴリズムにより特定した記憶装置８００へ書き出されるデータのＤｉｒｔｙビットを制御領域３３２により調べる（ステップＳ１３０１）。所定のアルゴリズムとしては、最も長期間アクセスのなかったデータをキャッシュから書き出すＬＲＵ方式が一般的であるが、他のアルゴリズムとすることもできる。
【０１１１】
Ｄｉｒｔｙビットがセットされていなければ記憶装置８００へデータを書き出す必要はないが、Ｄｉｒｔｙビットがセットされている場合は記憶装置８００にローカルキャッシュ３３０からデータを書き出す（ステップＳ１３０２）。書き出しはディスク制御部４００を経由することにより行われる。記憶装置８００にデータが書き出された後は、もはや当該データはＤｉｒｔｙではないので、Ｄｉｒｔｙビットをリセットする（ステップＳ１３０３）。続いて当該データが記憶されていたローカルキャッシュ３３０上の領域を解放する必要がある場合には（ステップＳ１３０４）、当該データのＶａｌｉｄビットをリセットする（ステップＳ１３０５）。
【０１１２】
そしてペアとなっている相手のローカルキャッシュ３３０に対して当該データの記憶装置８００への書き出しが完了した旨の報告を行う（ステップＳ１３０６）。この報告をうけた相手側のローカルキャッシュ３３０では、制御領域３３２のＶａｌｉｄビットがリセットされる。最後にローカルキャッシュ３３０のロックを解放して（ステップＳ１３０７）処理を終了する。
【０１１３】
以上のようにしてローカルキャッシュ３３０に読み出したデータを制御メモリ１０００でロックを掛ける（ステップＳ１００３）。すなわち、ローカルキャッシュ３３０に読み出した当該データを他のローカルキャッシュ３３０から読み出されないようにする。その処理の流れを図２２のフローチャートに示す。
【０１１４】
当該データがすでに他のローカルキャッシュ３３０に読み出されており、ロックが掛けられている場合には（ステップＳ１１００）、当該ローカルキャッシュ３３０に対してロックを解放するように要求する（ステップＳ１１０１）。どのローカルキャッシュ３３０がロックを掛けているのかは、制御領域１０１０の”Ｏｗｎｅｒ”欄で知ることができる。ロックが解放されるのを待った後（ステップＳ１１０２）、ロックを掛け、他のローカルキャッシュ３３０から読み出されないようにしてから処理を終了する（ステップＳ１１０３）。他のローカルキャッシュ３３０にロックが掛けられていなければ、直ちにロックを掛けて処理を終了する（ステップＳ１１００、ステップＳ１１０３）。
この後の処理はホスト計算機２００からのアクセス要求に応じて、上述した通りに行われる（ステップＳ１００４乃至ステップＳ１００７）。
【０１１５】
以上のようにして、ホスト計算機２００からディスク制御装置１００に対してデータアクセス要求があった場合の処理が行われる。
これによれば、ローカルキャッシュ３３０に記憶されるデータは２重化されているのでデータの信頼性を向上させることができる。
その上ローカルキャッシュ３３０が各チャネル制御部３００に分散して配置されているので、各ホスト計算機２００は他のホスト計算機２００からのデータアクセス要求との競合なしにキャッシュメモリへのアクセスを行うことができ、高速なデータアクセスを実現している。
【０１１６】
さらにデータの２重化のためにペアを組んでいるローカルキャッシュ間は専用のペア間接続部３５０により結合されているので、データの２重化処理のオーバヘッドを減らすことができ、ホスト計算機２００からのデータアクセスのさらなる高速化を実現している。またローカルキャッシュ３３０間でのデータ２重化のためのデータ転送は内部接続部５００を使用せずに行われるので、内部接続部５００の使用率を抑制することができる。そのため内部接続部５００でのデータ競合が減少し、ホスト計算機２００へのデータアクセスレスポンスを高速化できる。
【０１１７】
以上本実施の形態に係る実施例について説明したが、上記の実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【０１１８】
【発明の効果】
記憶制御装置のキャッシュメモリに記憶されるデータのアクセス高速化を図ることができる。
【図面の簡単な説明】
【図１】第１の実施例に係る計算機システムの全体構成を示すブロック図である。
【図２】第１の実施例の別の形態に係る計算機システムの全体構成を示すブロック図である。
【図３】第１の実施例に係るホストＩＦ制御部及びキャッシュ制御部の構成を示すブロック図である。
【図４】第１の実施例に係るチャネル制御部の構成を示すブロック図である。
【図５】第１の実施例に係るローカルキャッシュメモリの構成を示すブロック図である。
【図６】第１の実施例に係るグローバルキャッシュメモリの構成を示すブロック図である。
【図７】第１の実施例に係る内部接続部の構成を示すブロック図である。
【図８】第１の実施例に係るデータアクセス処理を示すフローチャートである。
【図９】第１の実施例に係るデータアクセス処理を行うためのコマンドを示す図である。
【図１０】第１の実施例に係るグローバルキャッシュメモリのロック確保処理を示すフローチャートである。
【図１１】第１の実施例に係るデータアクセス処理を行うためのコマンドを示す図である。
【図１２】第１の実施例に係るローカルキャッシュメモリのステージング処理を示すフローチャートである。
【図１３】第１の実施例に係るローカルキャッシュメモリのデステージング処理を示すフローチャートである。
【図１４】第１の実施例に係るローカルキャッシュメモリへのデータ書き込み処理を示すフローチャートである。
【図１５】第１の実施例に係るローカルキャッシュメモリからのデータ読み出し処理を示すフローチャートである。
【図１６】第１の実施例に係るローカルキャッシュメモリへのデータ書き込み処理を示すフローチャートである。
【図１７】第１の実施例に係るチャネル制御部に障害が発生したときの処理を示すフローチャートである。
【図１８】第１の実施例に係る記憶制御装置における緊急デステージ処理を示すフローチャートである。
【図１９】第３の実施例に係る計算機システムの全体構成を示すブロック図である。
【図２０】第３の実施例に係る制御メモリの構成を示すブロック図である。
【図２１】第３の実施例に係るデータアクセス処理を示すフローチャートである。
【図２２】第３の実施例に係るロック確保処理を示すフローチャートである。
【図２３】第３の実施例に係るローカルキャッシュメモリのステージング処理を示すフローチャートである。
【図２４】第３の実施例に係るローカルキャッシュメモリのデステージング処理を示すフローチャートである。
【図２５】第３の実施例に係るローカルキャッシュメモリへのデータ書き込み処理を示すフローチャートである。
【符号の説明】
１００　　ディスク制御装置　　　　　２００　　ホスト計算機
３００　　チャネル制御部　　　　　　３１０　　ホストＩＦ制御部
３１１　　プロセッサ　　　　　　　　３１２　　メモリ
３１３　　制御プログラム　　　　　　３１４　　ホストＩＦ回路
３１５　　内部接続ＩＦ回路　　　　　３２０　　キャッシュ制御部
３２１　　キャッシュ制御部ＩＦ回路　３２２　　バッファメモリ
３２３　　内部接続ＩＦ回路　　　　　３２４　　内部接続ＩＦ回路
３２５　　ペア間接続ＩＦ回路　　　　３３０　　ローカルキャッシュ
３３１　　データ領域　　　　　　　　３３２　　制御領域
３４０　　内部ＩＦ制御部　　　　　　３５０　　ペア間接続部
４００　　ディスク制御部　　　　　　５００　　内部接続部
５１０　　受信部　　　　　　　　　　５１１　　バッファ
５２０　　送信部　　　　　　　　　　５２１　　バッファ
５３０　　制御部　　　　　　　　　　６００　　グローバルキャッシュ
６０１　　データ領域　　　　　　　　６０２　　制御領域
７００　　バッテリ　　　　　　　　　８００　　記憶装置
９００　　ＩＦ制御部　　　　　　　　９１０　　ホストＩＦ制御部
９２０　　キャッシュ制御部　　　　　９３０　　ローカルキャッシュ
９３１　　データ領域　　　　　　　　９３２　　制御領域
９４０　　内部ＩＦ制御部　　　　　　９５０　　ペア間接続部
９６０　　ディスクＩＦ制御部　　　　１０００　制御メモリ
１０１０　制御領域
【図１】
2004110503.tif 000003
【図２】
2004110503.tif 000004
【図３】
2004110503.tif 000005
【図４】
2004110503.tif 000006
【図５】
2004110503.tif 000007
【図６】
2004110503.tif 000008
【図７】
2004110503.tif 000009
【図８】
2004110503.tif 000010
【図９】
2004110503.tif 000011
【図１０】
2004110503.tif 000012
【図１１】
2004110503.tif 000013
【図１２】
2004110503.tif 000014
【図１３】
2004110503.tif 000015
【図１４】
2004110503.tif 000016
【図１５】
2004110503.tif 000017
【図１６】
2004110503.tif 000018
【図１７】
2004110503.tif 000019
【図１８】
2004110503.tif 000020
【図１９】
2004110503.tif 000021
【図２０】
2004110503.tif 000022
【図２１】
2004110503.tif 000023
【図２２】
2004110503.tif 000024
【図２３】
2004110503.tif 000025
【図２４】
2004110503.tif 000026
【図２５】
2004110503.tif 000027