(57)【要約】　　　（修正有）【課題】キャッシュメモリのデステージを短時間で行なう記憶装置システムの提供。【解決手段】ディスク装置と第一のキャッシュを備えデータの記憶手段として機能するディスク制御装置と、ディスク制御装置に接続され第二のキャッシュを備える情報処理装置とを備え、ディスク制御装置による情報処理装置に対する記憶手段としての機能の中断に際し第二のキャッシュに格納されているディスク装置への書き込み予定データを第一のキャッシュへ転送するステップと、ディスク装置に記憶されるデータを複数の管理グループに分類して管理し第二のキャッシュ上に残存していたある一の管理グループに所属するディスク装置への書き込み予定データが第一のキャッシュ上に出揃った場合にその管理グループに属する第一のキャッシュ上に残存する書き込み予定データのディスク装置への書き込みを開始するステップとを備える。【選択図】　　　図１
2004062344.tif 000002
【特許請求の範囲】
【請求項１】
ディスク装置、及び前記ディスク装置への入出力データを一時的に格納する第一のキャッシュメモリを備え、データの記憶手段として機能するディスク制御装置と、
前記ディスク制御装置に接続され、前記ディスク制御装置から読み出したデータを一時的に格納する第二のキャッシュメモリを備える、少なくとも１台以上の情報処理装置とを備える記憶装置システムのデステージ方法であって、
前記ディスク制御装置による前記情報処理装置に対する前記記憶手段としての機能の中断に際し、前記情報処理装置が、前記第二のキャッシュメモリに格納されている、ディスク装置への書き込み予定のデータを、前記第一のキャッシュメモリへ転送する第一のステップと、
前記ディスク制御装置が、前記ディスク装置に記憶されるデータを複数の管理グループに分類して管理し、前記第二のキャッシュメモリ上に残存していた、ある一の前記管理グループに所属する、前記ディスク装置への書き込み予定のデータが前記第一のキャッシュメモリ上に出揃った場合に、その管理グループに属する、前記第一のキャッシュメモリ上に残存する、書き込み予定のデータのディスク装置への書き込みを開始する第二のステップと、
を備えることを特徴とする記憶装置システムのデステージ方法。
【請求項２】
前記一の管理グループは、前記ディスク装置が提供する記憶領域に構成される複数の論理的な記憶領域である論理ボリュームの少なくとも一つと対応付けられて設定されていることを特徴とする、請求項１記載の記憶装置システムのデステージ方法。
【請求項３】
前記第二のステップにおいて、
ある論理ボリュームを使用している前記全ての情報処理装置から、前記第一のステップにおける転送が完了した旨の通知があった場合、その論理ボリュームについてのデステージを開始することを特徴とする、請求項２記載の記憶装置システムのデステージ方法。
【請求項４】
ディスク装置、及び前記ディスク装置への入出力データを一時的に格納する第一のキャッシュメモリを備え、データの記憶手段として機能するディスク制御装置であって、
前記ディスク制御装置に、前記ディスク制御装置から読み出したデータを一時的に格納する第二のキャッシュメモリを備える、少なくとも１台以上の情報処理装置と接続する第一の手段と、
前記ディスク制御装置による前記情報処理装置に対する前記記憶手段としての機能の中断に際し、前記ディスク制御装置が、前記第二のキャッシュメモリに格納されている、ディスク装置への書き込み予定のデータを、前記情報処理装置から受信し、前記第一のキャッシュメモリへ格納する第二の手段と、
前記ディスク装置に記憶されるデータを複数の管理グループに分類して管理すると共に、前記第二のキャッシュメモリ上に残存していた、ある一の前記管理グループに所属する、前記ディスク装置への書き込み予定のデータが前記第一のキャッシュメモリ上に出揃った場合に、その管理グループに属する、前記第一のキャッシュメモリ上に残存する、書き込み予定のデータのディスク装置への書き込みを開始する第三の手段と、
を備えることを特徴とするディスク制御装置。
【請求項５】
ディスク装置、及び前記ディスク装置への入出力データを一時的に格納する第一のキャッシュメモリを備え、データの記憶手段として機能するディスク制御装置と、
前記ディスク制御装置に接続され、前記ディスク制御装置から読み出したデータを一時的に格納する第二のキャッシュメモリを備える、少なくとも１台以上の情報処理装置と、
を備える記憶装置システムであって、
前記情報処理装置に、前記情報処理装置から読み出したデータを一時的に格納する第三のキャッシュメモリを備える、少なくとも１台以上の外部情報処理装置と接続する第一の手段と、
前記ディスク制御装置による前記外部情報処理装置に対する前記記憶手段としての機能の中断に際し、前記情報処理装置が、前記第三のキャッシュメモリに格納されている、ディスク装置への書き込み予定のデータを、前記外部情報処理装置から受信し、前記第二のキャッシュメモリへ格納する第二の手段と、
前記情報処理装置が、前記第二のキャッシュメモリ上に残存する、書き込み予定のデータの前記第一のキャッシュメモリへの転送を開始する第三の手段と、
前記ディスク制御装置が、前記ディスク装置に記憶されるデータを複数の管理グループに分類して管理し、前記第二のキャッシュメモリ上に残存していた、ある一の前記管理グループに所属する、前記ディスク装置への書き込み予定のデータが前記第一のキャッシュメモリ上に出揃った場合に、その管理グループに属する、前記第一のキャッシュメモリ上に残存する、書き込み予定のデータのディスク装置への書き込みを開始する第四の手段と、
を備えることを特徴とする記憶装置システム。
【請求項６】
前記記憶装置システムが備えるディスク制御装置と情報処理装置は、同一の筐体内に収容されていることを特徴とする、請求項５に記載の記憶装置システム。
【請求項７】
データを複数の管理グループに分類して管理するディスク装置、及び前記ディスク装置への入出力データを一時的に格納する第一のキャッシュメモリを備え、データの記憶手段として機能するディスク制御装置に接続され、前記ディスク制御装置から読み出したデータを一時的に格納する第二のキャッシュメモリを備える情報処理装置に、
前記ディスク制御装置による前記情報処理装置に対する前記記憶手段としての機能の中断に際し、前記第二のキャッシュメモリに格納されている、ディスク装置への書き込み予定のデータを、前記第一のキャッシュメモリへ転送する第一のステップと、
前記書き込み予定のデータの転送が完了した旨の通知を行う第二のステップと、
を実行させるためのプログラム。
【請求項８】
ディスク装置、及び前記ディスク装置への入出力データを一時的に格納する第一のキャッシュメモリを備え、データの記憶手段として機能するディスク制御装置に、
前記ディスク制御装置に接続される、前記ディスク制御装置から読み出したデータを一時的に格納する第二のキャッシュメモリを備える、少なくとも１台以上の情報処理装置から、前記ディスク制御装置による前記情報処理装置に対する前記記憶手段としての機能の中断に際し、前記第二のキャッシュメモリに格納されている、ディスク装置への書き込み予定のデータを受信し、前記第一のキャッシュメモリへ格納する第一のステップと、
前記ディスク装置に記憶されるデータを複数の管理グループに分類して管理すると共に、前記第二のキャッシュメモリ上に残存していた、ある一の前記管理グループに所属する、前記ディスク装置への書き込み予定のデータが前記第一のキャッシュメモリ上に出揃った場合に、その管理グループに属する、前記第一のキャッシュメモリ上に残存する、書き込み予定のデータのディスク装置への書き込みを開始する第二のステップと、
を実行させるためのプログラム。
【請求項９】
ディスク装置、及び前記ディスク装置への入出力データを一時的に格納する第一のキャッシュメモリを備え、データの記憶手段として機能するディスク制御装置と、
前記ディスク制御装置に接続され、前記ディスク制御装置から読み出したデータを一時的に格納する第二のキャッシュメモリを備える、少なくとも１台以上の情報処理装置とを備える記憶装置システムのデステージ方法であって、
前記ディスク制御装置による前記情報処理装置に対する前記記憶手段としての機能の中断に際し、前記情報処理装置が、前記第二のキャッシュメモリに格納されている、ディスク装置に未反映のデータを、前記第一のキャッシュメモリへ転送する第一のステップと、
前記ディスク制御装置が、前記ディスク装置に記憶されるデータを複数のグループに区分けして、当該グループ内のディスク装置への未反映のデータ全ての前記第一のキャッシュメモリへの転送が完了した場合に、そのグループに属する、前記第一のキャッシュメモリ上に残存する、ディスク装置に未反映のデータの前記ディスク装置への書き込みを開始する第二のステップと、
を備えることを特徴とする記憶装置システムのデステージ方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、記憶装置システムのデステージ方法、ディスク制御装置、記憶装置システム、及びプログラムに関する。
【０００２】
【従来の技術】
近年、計算機のキャッシュメモリの管理方式は、ライトバック方式が採用されることが多い。ライトバック方式はディスク装置へのアクセスの頻度が少なくて済み、ディスクアクセスのペナルティによる計算機の処理性能の低下を防止できるためである。しかし、ライトバック方式でキャッシュメモリを管理する場合には、ディスク装置への書き込みを後回しにするため、キャッシュメモリ上には、通常、ディスク装置に未書き込みのダーティデータが残されている。
【０００３】
そのため、計算機をシャットダウンする際には、キャッシュメモリ上に残されているダーティデータをディスク装置へ書き込む処理（デステージ）を行うことが必要である。
デステージは、計算機システム内の各記憶階層において、上位階層から下位階層へ順番に行われなければならない。なぜならば、上位階層のキャッシュメモリにダーティデータが残されているかもしれないからである。従来の技術では、このデステージは、上位階層からの全てのデステージが完了してから、下位階層へのデステージを開始するように行っていた。
【０００４】
【発明が解決しようとする課題】
しかし、近年、計算機の高性能化に伴い、大容量のキャッシュメモリが搭載されるようになったことから、デステージに要する時間が増大した。
これは、例えば、突然の停電時などにデステージを行わなければならない時に特に大きな問題となる。なぜならば、停電に備えて計算機システムに搭載されるバックアップ用のバッテリからの電力の供給時間は有限であるからである。バッテリからの電力が供給される短時間の間にデステージが完了しなかった場合には、キャッシュメモリ上に記憶されていたダーティデータは消失する。このことは、計算機システムの信頼性を大きく損なうことになる。また、データを消失させないようにするためには大容量のバッテリを備えなければならない。このことは、計算機システムのコストアップ要因となるばかりでなく、バッテリを搭載するための大きな占有面積も必要とすることになる。
そこで、本発明はキャッシュメモリのデステージを短時間で行うことを主たる目的とする。
【０００５】
【課題を解決するための手段】
ディスク装置、及び前記ディスク装置への入出力データを一時的に格納する第一のキャッシュメモリを備え、データの記憶手段として機能するディスク制御装置と、前記ディスク制御装置に接続され、前記ディスク制御装置から読み出したデータを一時的に格納する第二のキャッシュメモリを備える、少なくとも１台以上の情報処理装置とを備える記憶装置システムのデステージ方法であって、前記ディスク制御装置による前記情報処理装置に対する前記記憶手段としての機能の中断に際し、前記情報処理装置が、前記第二のキャッシュメモリに格納されている、ディスク装置への書き込み予定のデータを、前記第一のキャッシュメモリへ転送する第一のステップと、前記ディスク制御装置が、前記ディスク装置に記憶されるデータを複数の管理グループに分類して管理し、前記第二のキャッシュメモリ上に残存していた、ある一の前記管理グループに所属する、前記ディスク装置への書き込み予定のデータが前記第一のキャッシュメモリ上に出揃った場合に、その管理グループに属する、前記第一のキャッシュメモリ上に残存する、書き込み予定のデータのディスク装置への書き込みを開始する第二のステップとを備えることを特徴とする。
【０００６】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、実施例の欄、及び図面により明らかにされる。
【０００７】
【発明の実施の形態】
本明細書の記載により少なくとも次のことが明らかにされる。
本発明の一態様は、ディスク装置、及び前記ディスク装置への入出力データを一時的に格納する第一のキャッシュメモリを備え、データの記憶手段として機能するディスク制御装置と、前記ディスク制御装置に接続され、前記ディスク制御装置から読み出したデータを一時的に格納する第二のキャッシュメモリを備える、少なくとも１台以上の情報処理装置とを備える記憶装置システムのデステージ方法であって、前記ディスク制御装置による前記情報処理装置に対する前記記憶手段としての機能の中断に際し、前記情報処理装置が、前記第二のキャッシュメモリに格納されている、ディスク装置への書き込み予定のデータを、前記第一のキャッシュメモリへ転送する第一のステップと、前記ディスク制御装置が、前記ディスク装置に記憶されるデータを複数の管理グループに分類して管理し、前記第二のキャッシュメモリ上に残存していた、ある一の前記管理グループに所属する、前記ディスク装置への書き込み予定のデータが前記第一のキャッシュメモリ上に出揃った場合に、その管理グループに属する、前記第一のキャッシュメモリ上に残存する、書き込み予定のデータのディスク装置への書き込みを開始する第二のステップとを備えることを特徴とする。
【０００８】
このような態様により、上位階層の全てのキャッシュメモリに記憶されていたデータの転送が終了するのを待つ必要がなくなり、ある管理グループに属するデータが出揃ったならば、当該データのデステージを開始することができる。これにより、キャッシュメモリのデステージを、短時間で行うことができる。
【０００９】
また、本発明の一態様は、前記一の管理グループは、前記ディスク装置が提供する記憶領域に構成される複数の論理的な記憶領域である論理ボリュームの少なくとも一つと対応付けられて設定されていることを特徴とする。
このような態様により、ある論理ボリュームに属するデータが出揃ったならば、当該データのデステージを開始することができる。
【００１０】
また、本発明の一態様は、前記第二のステップにおいて、ある論理ボリュームを使用している前記全ての情報処理装置から、前記第一のステップにおける転送が完了した旨の通知があった場合、その論理ボリュームについてのデステージを開始することを特徴とする。
【００１１】
また、本発明の一態様は、ディスク装置、及び前記ディスク装置への入出力データを一時的に格納する第一のキャッシュメモリを備え、データの記憶手段として機能するディスク制御装置であって、前記ディスク制御装置に、前記ディスク制御装置から読み出したデータを一時的に格納する第二のキャッシュメモリを備える、少なくとも１台以上の情報処理装置と接続する第一の手段と、前記ディスク制御装置による前記情報処理装置に対する前記記憶手段としての機能の中断に際し、前記ディスク制御装置が、前記第二のキャッシュメモリに格納されている、ディスク装置への書き込み予定のデータを、前記情報処理装置から受信し、前記第一のキャッシュメモリへ格納する第二の手段と、前記ディスク装置に記憶されるデータを複数の管理グループに分類して管理すると共に、前記第二のキャッシュメモリ上に残存していた、ある一の前記管理グループに所属する、前記ディスク装置への書き込み予定のデータが前記第一のキャッシュメモリ上に出揃った場合に、その管理グループに属する、前記第一のキャッシュメモリ上に残存する、書き込み予定のデータのディスク装置への書き込みを開始する第三の手段とを備えることを特徴とするディスク制御装置に関する。
【００１２】
また、本発明の一態様は、ディスク装置、及び前記ディスク装置への入出力データを一時的に格納する第一のキャッシュメモリを備え、データの記憶手段として機能するディスク制御装置と、前記ディスク制御装置に接続され、前記ディスク制御装置から読み出したデータを一時的に格納する第二のキャッシュメモリを備える、少なくとも１台以上の情報処理装置とを備える記憶装置システムであって、前記情報処理装置に、前記情報処理装置から読み出したデータを一時的に格納する第三のキャッシュメモリを備える、少なくとも１台以上の外部情報処理装置と接続する第一の手段と、前記ディスク制御装置による前記外部情報処理装置に対する前記記憶手段としての機能の中断に際し、前記情報処理装置が、前記第三のキャッシュメモリに格納されている、ディスク装置への書き込み予定のデータを、前記外部情報処理装置から受信し、前記第二のキャッシュメモリへ格納する第二の手段と、前記情報処理装置が、前記第二のキャッシュメモリ上に残存する、書き込み予定のデータの前記第一のキャッシュメモリへの転送を開始する第三の手段と、前記ディスク制御装置が、前記ディスク装置に記憶されるデータを複数の管理グループに分類して管理し、前記第二のキャッシュメモリ上に残存していた、ある一の前記管理グループに所属する、前記ディスク装置への書き込み予定のデータが前記第一のキャッシュメモリ上に出揃った場合に、その管理グループに属する、前記第一のキャッシュメモリ上に残存する、書き込み予定のデータのディスク装置への書き込みを開始する第四の手段とを備えることを特徴とする記憶装置システムに関する。
【００１３】
また、本発明の一態様は、前記記憶装置システムが備えるディスク制御装置と情報処理装置は、同一の筐体内に収容されていることを特徴とする記憶装置システムに関する。
【００１４】
また、本発明の一態様は、データを複数の管理グループに分類して管理するディスク装置、及び前記ディスク装置への入出力データを一時的に格納する第一のキャッシュメモリを備え、データの記憶手段として機能するディスク制御装置に接続され、前記ディスク制御装置から読み出したデータを一時的に格納する第二のキャッシュメモリを備える情報処理装置に、前記ディスク制御装置による前記情報処理装置に対する前記記憶手段としての機能の中断に際し、前記第二のキャッシュメモリに格納されている、ディスク装置への書き込み予定のデータを、前記第一のキャッシュメモリへ転送する第一のステップと、前記書き込み予定のデータの転送が完了した旨の通知を行う第二のステップとを実行させるためのプログラムに関する。
【００１５】
また、本発明の一態様は、ディスク装置、及び前記ディスク装置への入出力データを一時的に格納する第一のキャッシュメモリを備え、データの記憶手段として機能するディスク制御装置に、前記ディスク制御装置に接続される、前記ディスク制御装置から読み出したデータを一時的に格納する第二のキャッシュメモリを備える、少なくとも１台以上の情報処理装置から、前記ディスク制御装置による前記情報処理装置に対する前記記憶手段としての機能の中断に際し、前記第二のキャッシュメモリに格納されている、ディスク装置への書き込み予定のデータを受信し、前記第一のキャッシュメモリへ格納する第一のステップと、前記ディスク装置に記憶されるデータを複数の管理グループに分類して管理すると共に、前記第二のキャッシュメモリ上に残存していた、ある一の前記管理グループに所属する、前記ディスク装置への書き込み予定のデータが前記第一のキャッシュメモリ上に出揃った場合に、その管理グループに属する、前記第一のキャッシュメモリ上に残存する、書き込み予定のデータのディスク装置への書き込みを開始する第二のステップとを実行させるためのプログラムに関する。
【００１６】
また、本発明の一態様は、ディスク装置、及び前記ディスク装置への入出力データを一時的に格納する第一のキャッシュメモリを備え、データの記憶手段として機能するディスク制御装置と、前記ディスク制御装置に接続され、前記ディスク制御装置から読み出したデータを一時的に格納する第二のキャッシュメモリを備える、少なくとも１台以上の情報処理装置とを備える記憶装置システムのデステージ方法であって、前記ディスク制御装置による前記情報処理装置に対する前記記憶手段としての機能の中断に際し、前記情報処理装置が、前記第二のキャッシュメモリに格納されている、ディスク装置に未反映のデータを、前記第一のキャッシュメモリへ転送する第一のステップと、前記ディスク制御装置が、前記ディスク装置に記憶されるデータを複数のグループに区分けして、当該グループ内のディスク装置への未反映のデータ全ての前記第一のキャッシュメモリへの転送が完了した場合に、そのグループに属する、前記第一のキャッシュメモリ上に残存する、ディスク装置に未反映のデータの前記ディスク装置への書き込みを開始する第二のステップとを備えることを特徴とする。
【００１７】
【実施例】
＜第一の実施例＞
第１の実施例に係る計算機システムのブロック図を図１に示す。
３台のクライアント計算機１００がＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）５００に接続されている。各クライアント計算機１００は、ＬＡＮ５００を介して相互に情報の通信を行うことが可能である。また、ＬＡＮ５００には、記憶装置システム４００が接続されている。各クライアント計算機１００はＬＡＮ５００を介して記憶装置システム４００にアクセスし、データの読み出し及び書き込みを行う。一旦、記憶装置システム４００から読み出されたデータは、キャッシュメモリ（以下、「キャッシュ」と記す）１０３上に記憶される。キャッシュ１０３は、ライトバック方式で管理されている。そのため、クライアント計算機１００上で処理され、記憶装置システム４００に書き込まれるべき、書き込み予定のデータは、キャッシュ１０３からリプレースされるまでの間、キャッシュ１０３上にダーティデータとして残される。
【００１８】
なお、第１の実施例においては３台のクライアント計算機１００がＬＡＮ５００に接続される形態を示したが、クライアント計算機１００の台数は任意である。また、ＬＡＮ５００は、例えばインターネットとすることもできるし、企業内の専用ＬＡＮとすることもできる。ＳＡＮ（Ｓｔｏｒａｇｅ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）とすることも可能である。
【００１９】
記憶装置システム４００は、ＮＡＳ（Ｎｅｔｗｏｒｋ　Ａｔｔａｃｈｅｄ　Ｓｔｏｒａｇｅ）サーバ２０１とディスクアレイ装置３００を備えている。ＮＡＳサーバ２０１は、ＬＡＮ５００などのネットワークに接続されたクライアント計算機１００間でファイルの共用を実現するためのサーバである。内部には２台のＮＡＳエンジン２００を備えている。２台のＮＡＳエンジン２００のうち、１台はバックアップ用である。
【００２０】
ＮＡＳエンジン２００は、ディスクアレイ装置３００とネットワーク２０２で接続されている。ＮＡＳエンジン２００は、ディスクアレイ装置３００から読み出したデータを一時的に格納するためのキャッシュ２０３を備えている。また、メモリ２０４には、ファイルサービスを提供するための制御プログラム２０５、フラッシュ可能テーブル６００が記憶されている。キャッシュ２０３は、ライトバック方式で管理されている。クライアント計算機１００からデータの読み出し要求を受けた場合、要求されたデータがキャッシュ２０３上に存在すれば、ＮＡＳエンジン２００は、ディスクアレイ装置３００にアクセスすることなく、キャッシュ２０３上のデータをクライアント計算機１００に送信する。また、クライアント計算機１００からデータの書き込み要求を受けた場合にも、ディスクアレイ装置３００にアクセスすることなく、キャッシュ２０３上に書き込みを行う。
【００２１】
ディスクアレイ装置３００は、ＮＡＳエンジン２００からのデータの入出力要求を受けて、データの読み出し及び書き込みを行う。データの入出力は、ポート３１０を通して行われる。ディスクコントローラ３０１は、キャッシュ３０４、共有メモリ３０５、及び制御デバイス３０３を有している。キャッシュ３０４は、データが物理的に記録されている物理ディスク３０８、３１２から読み出されたデータを一時的に記憶する。キャッシュ３０４は、ライトバック方式で管理されている。共有メモリ３０５には、制御プログラム３０６、及びホストフラッシュ済みＬＵＮテーブル８００が記憶されている。制御デバイス３０３は、ＮＡＳエンジン２００からの指示を受けて、共有メモリ３０５上のホストフラッシュ済みＬＵＮテーブル８００の更新を行う。
【００２２】
物理ディスク３０８、３１２には、データが記憶されている。第１の実施例においては、複数の物理ディスク３０８、３１２を一つの単位としてＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ　Ａｒｒａｙ　ｏｆ　Ｉｎｄｅｐｅｎｄｅｎｔ　Ｄｉｓｋｓ）を構成している。また、物理ディスク３０８、３１２は、記憶領域を所定の管理グループに分類されて管理されている。第１の実施例においては、物理ディスク３０８、３１２は、３２台の論理ボリューム（ＬＵ）３０９、３１３に分類されて管理されている。
【００２３】
また、物理ディスク３０８、３１２毎に、表示灯３１１、３１４が備えられており、物理ディスク３０８、３１２へのアクセスの際に点灯する。
【００２４】
なお、管理グループとしては、論理ボリューム以外とすることも可能である。例えば、ＲＡＩＤのグループを管理グループとすることもできる。また、各管理グループのサイズは等しいものである必要はない。さらに、管理グループの単位は、第１の実施例のようにあらかじめ論理ボリュームである、と決めておくこともできるし、後から変更できるようにすることも可能である。例えば、ディスクアレイ装置３００に管理用コンピュータを接続し、その管理用コンピュータから、ディスクアレイ装置の設定ファイルを変更するようにすることで、管理グループの単位を変更できるようにすることが可能である。
【００２５】
また、ＮＡＳサーバ２０１とディスクアレイ装置３００は、同一の筐体に格納された一体型で構成することもできるし、別筐体で構成することもできる。また、ＮＡＳサーバ２０１とディスクアレイ装置３００を接続するネットワーク２０２は、ＳＡＮの構成を採り、複数のディスクアレイ装置が接続される構成とすることもできる。通信インタフェースとしては、例えばファイバチャネルとすることもできるし、ＳＣＳＩ（Ｓｍａｌｌ　Ｃｏｍｐｕｔｅｒ　Ｓｙｓｔｅｍｓ　Ｉｎｔｅｒｆａｃｅ）とすることも可能である。
【００２６】
次に、第１の実施例に係るフラッシュ可能テーブルを図２に示す。
フラッシュ可能テーブル６００は、ＮＡＳエンジン２００のメモリ２０４上に記憶される。上述の通り、ＮＡＳサーバ２０１は、ＬＡＮ５００などのネットワークに接続されたクライアント計算機１００間でファイルの共用を実現するためのサーバである。そのため、ＮＡＳエンジン２００は、各クライアント計算機１００が記憶装置システム４００から読み出したデータが、どの論理ボリューム３０９、３１３に属するデータであるかを、フラッシュ可能テーブル６００により管理している。そして、詳細は後述するが、ＮＡＳエンジン２００がキャッシュ２０３のフラッシュを行う際には、フラッシュ可能テーブル６００が参照される。
【００２７】
図２において、”−”は、クライアント計算機１００に読み出されていないことを示す。クライアント計算機１００にあるデータが読み出されると、そのデータの属する論理ボリューム（ＬＵ）の欄に”×”を記載する。クライアント計算機１００から、キャッシュ１０３のフラッシュが完了したとの通知を受けると、ＮＡＳエンジン２００は、当該クライアント計算機１００の”×”を”○”に変更する。従って、”○”が記載された欄は、クライアント計算機１００に読み出され、かつ、クライアント計算機１００上のキャッシュ１０３にはダーティデータが存在しないことを示す。”×”は、クライアント計算機１００に読み出され、かつ、クライアント計算機１００上のキャッシュ１０３には、まだダーティデータが存在することを示す。
【００２８】
従って、ある論理ボリューム（ＬＵ）の欄に、どのクライアント１００に対しても”×”が存在しない場合には、当該ＬＵのデータについては、上位階層の全てのキャッシュに記憶されていたデータが出揃ったことを示す。例えば、図２においては、ＬＵ０が該当する。しかし、クライアント計算機Ｂからのフラッシュがまだ完了していないので、ＬＵ１、ＬＵ３０、ＬＵ３１のデータについては、上位階層の全てのキャッシュに記憶されていたデータはまだ出揃っていないことを示す。ＬＵ２は、どのクライアント計算機にも利用されていない。
【００２９】
次に、第１の実施例に係るホストフラッシュ済みＬＵＮテーブルを図３に示す。
ホストフラッシュ済みＬＵＮテーブル８００は、ディスクコントローラ３０１の共有メモリ３０５上に記憶される。ＮＡＳエンジン２００が、フラッシュ可能テーブル６００を参照して、あるフラッシュ可能な論理ボリュームに属するデータをキャッシュ２０３からフラッシュすると、当該データはディスクコントローラ３０１のキャッシュ３０４に格納される。ホストフラッシュ済みＬＵＮテーブル８００は、ＮＡＳエンジン２００がフラッシュを行った、上記論理ボリュームの番号をディスクコントローラ３０１に通知するために用いられる。ディスクコントローラ３０１は、ホストフラッシュ済みＬＵＮテーブル８００を参照して、キャッシュ３０４上の、上記通知のあった論理ボリュームに属するデータについては、物理ディスク３０９、３１２へのデステージが可能であると判断して、書き込みを開始する。
【００３０】
ホストフラッシュ済みＬＵＮテーブル８００には、論理ボリューム毎に”１”または”０”が書き込まれる。”１”が書き込まれた論理ボリュームは、ＮＡＳエンジン２００のキャッシュ２０３のフラッシュが完了していることを示す。”０”が書き込まれた論理ボリュームは、ＮＡＳエンジン２００のキャッシュ２０３のフラッシュが完了していないことを示す。
【００３１】
次に、第１の実施例に係るシステムにおけるキャッシュのフラッシュ処理の流れについて説明する。クライアント計算機１００のキャッシュ１０３に記憶されているデータは、ＮＡＳエンジン２００のキャッシュ２０３、及びディスクコントローラ３０１のキャッシュ３０４に転送された後、物理ディスク３０８、３１２に書き込まれる。
【００３２】
まず、クライアント計算機１００におけるキャッシュデータのフラッシュ処理を示すフローチャートを図４に示す。
クライアント計算機１００は、例えばシャットダウンを行う場合には、ＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）がキャッシュ１０３上に記憶されているダーティデータのフラッシュ処理を開始する（Ｓ４０００）。ダーティデータは、ＬＡＮ５００を介してＮＡＳエンジン２００のキャッシュ２０３に転送される。全てのダーティデータのフラッシュ処理が終了したら（Ｓ４００１）、クライアント計算機１００は、ＮＡＳエンジン２００に対して終了通知を送信して終了する（Ｓ４００２）。
【００３３】
なお、クライアント計算機１００のフラッシュ処理は、クライアント計算機１００のシャットダウンの際に行われるだけでなく、例えば、記憶装置システム４００に記憶されているデータのバックアップをとる際に行われるようにすることも可能である。また、記憶装置システム４００をシャットダウンする際に行われるようにすることも可能である。この場合、クライアント計算機１００のフラッシュ処理は、記憶装置システム４００からの要求を受けて、開始される。
【００３４】
次に、第１の実施例に係るＮＡＳエンジンにおけるキャッシュデータのフラッシュ処理を示すフローチャートを図５に示す。
まず、ＮＡＳエンジン２００は、クライアント計算機１００から受信したデータをキャッシュに格納する（Ｓ５０００、Ｓ５００１）。続いて、クライアント計算機１００がＳ４００２にて送信したフラッシュ完了通知を受信したら、フラッシュ可能テーブルを更新する（Ｓ５００２）。更新は、フラッシュ可能テーブル６００の当該クライアント計算機の行に存在する”×”を”○”に変更することにより行う。例えば、図２のクライアント計算機Ｂからフラッシュ完了通知を受けた場合には、クライアント計算機Ｂの行のうち、ＬＵ１、ＬＵ３０、ＬＵ３１の欄に存在する”×”を”○”に変更する。
【００３５】
上記更新の結果、ある論理ボリュームのデータについて、全てのクライアント計算機のフラッシュが完了したことが判明した場合、すなわち図２において、”×”のない論理ボリュームがあった場合、当該論理ボリュームのデータの、キャッシュ２０３からディスクコントローラ３０１のキャッシュ３０４への転送を開始する（Ｓ５００３、Ｓ５００４）。なお、Ｓ５００２においてフラッシュ可能テーブル６００を更新したが、フラッシュ可能な論理ボリュームがない場合には、Ｓ５０００に戻って、別のクライアント計算機１００からのデータを受信する。
【００３６】
ディスクコントローラ３０１のキャッシュ３０４への転送が完了した場合には（Ｓ５００５）、ディスクコントローラの制御デバイス３０３へ、完了通知を行う（Ｓ５００６）。全論理ボリュームのデータについて、ディスクコントローラ３０１のキャッシュ３０４へのフラッシュが完了したら、処理を終了する（Ｓ５００７）。
【００３７】
続いて、第１の実施例に係るディスクアレイコントローラ３０１によるキャッシュデータのデステージ処理を示すフローチャートを図６に示す。
まず、ディスクアレイコントローラ３０１の制御デバイス３０３は、ＮＡＳエンジン２００からのデータ転送の完了通知を待っている（Ｓ６０００）。完了通知を受けると、共有メモリ３０５上に作成されている、ホストフラッシュ済みＬＵＮテーブル８００の、当該論理ボリューム番号の位置に”１”を記録する（Ｓ６００１）。
【００３８】
一方、ディスクアレイコントローラ３０１は、ＮＡＳエンジン２００から送信されるデータをキャッシュに格納する（Ｓ６００２、Ｓ６００３）。ホストフラッシュ済みＬＵＮテーブル８００を参照して、”１”が記録された論理ボリュームがあった場合には（Ｓ６００４）、当該論理ボリュームに属するデータの物理ディスク３０８、３１２への書き込みを開始する（Ｓ６００５）。全論理ボリュームのデータについて、物理ディスク３０８、３１２へのデステージが完了するまで、処理を繰り返す（Ｓ６００７）。
【００３９】
物理ディスク３０８、３１２は、上述の通り、論理ボリュームに分類されて管理されているので、Ｓ６００５にて物理ディスク３０８、３１２への書き込みが行われている間、当該論理ボリュームを構成する物理ディスク３０８、３１２に設けられた表示灯３１１、３１４が点灯する。例えば、図１において、論理ボリューム２（ＬＵ２）への書き込みが行われる場合には、当該論理ボリュームを構成する複数の物理ディスク３０８の表示灯３１１がそれぞれ同時に点灯する。
【００４０】
以上説明した第１の実施例のようにしてキャッシュのフラッシュを行うことにより、上位階層の全てのキャッシュに記憶されていたデータが揃うのを待つ必要がなくなり、ある論理ボリュームに属するデータのみが出揃ったならば、当該データのデステージを開始することができる。これにより、キャッシュメモリのデステージを、従来に比べて短時間で行うことができるようになった。
【００４１】
＜第２の実施例＞
続いて、第２の実施例に係る計算機システムのブロック図を図７に示す。
第１の実施例と同様、３台のクライアント計算機１００がＬＡＮ５００に接続されている。各クライアント計算機１００は、ＬＡＮ５００を介して相互に情報の通信を行うことが可能である。また、ＬＡＮ５００には、ディスクアレイ装置９００が接続されている。各クライアント計算機１００はＬＡＮ５００を介してディスクアレイ装置９００にアクセスし、データの読み出し及び書き込みを行う。一旦、ディスクアレイ装置９００から読み出されたデータは、キャッシュ１０３上に記憶される。キャッシュ１０３は、第１の実施例に係るキャッシュ１０３と同様、ライトバック方式で管理されている。そのため、クライアント計算機１００上で処理され、ディスクアレイ装置９００に書き込まれるべき、書き込み予定のデータは、キャッシュ１０３からリプレースされるまでの間、キャッシュ１０３上にダーティデータとして残される。
【００４２】
なお、第２の実施例においても、第１の実施例と同様クライアント計算機１００の台数は任意である。また、ＬＡＮ５００も、例えばインターネットとすることもできるし、企業内の専用ＬＡＮとすることもできる。ＳＡＮとすることも可能である。
【００４３】
ディスクアレイ装置９００は、パッケージ９０１を備えている。パッケージ９０１は、クライアント計算機１００との間で通信を行い、クライアント計算機１００から要求のあったデータを提供する機能を備える。パッケージ９０１は、２台備えられているが、１台はバックアップ用である。
パッケージ９０１は、ＣＰＵ９０２、通信ＩＣ９０４、及び通信メモリ９０５を備えている。
【００４４】
ＣＰＵ９０２は、内部にキャッシュ９０３を備え、パッケージ９０１の制御を行う。通信ＩＣ９０４は、ネットワーク９０８上に設けられるキャッシュ９０９のデータの通信を制御する。通信メモリ９０５は、ＣＰＵ９０２及び通信ＩＣ９０４の双方からアクセス可能であり、制御プログラム９０５、フラッシュ可能テーブル６００、ホストフラッシュ済みＬＵＮテーブル８００が記憶されている。
【００４５】
パッケージ９０１が接続されているネットワーク９０８には、キャッシュ９０９及び物理ディスク９１０、９１３が接続されている。キャッシュ９０９には、パッケージ９０１が物理ディスク９１０、９１３から読み出したデータが一時的に格納される。キャッシュ９０９は、ライトバック方式で管理されている。
【００４６】
物理ディスク９１０、９１３には、データが記憶されている。第２の実施例においては、複数の物理ディスク９１０、９１３を一つの単位としてＲＡＩＤを構成している。また、物理ディスク９１０、９１３は、記憶領域を所定の管理グループに分類されて管理されている。第２の実施例においては、物理ディスク９１０、９１３は、３２台の論理ボリューム（ＬＵ）９１１、９１４に分類されて管理されている。
【００４７】
また、物理ディスク９１０、９１３毎に、表示灯９１２、９１５が備えられており、物理ディスク９１０、９１３へのアクセスの際に点灯する。
【００４８】
なお、第１の実施例と同様、管理グループとしては、論理ボリューム以外とすることも可能である。例えば、ＲＡＩＤのグループを管理グループとすることもできる。また、各管理グループのサイズは等しいものである必要はない。さらに、管理グループの単位は、第２の実施例のようにあらかじめ論理ボリュームである、と決めておくこともできるし、後から変更できるようにすることも可能である。例えば、ディスクアレイ装置に管理用コンピュータを接続し、その管理用コンピュータから、ディスクアレイ装置の設定ファイルを変更するようにすることで、管理グループの単位を変更できるようにすることが可能である。
【００４９】
次に第２の実施例に係る通信メモリ９０５上のホストフラッシュ済みＬＵＮテーブルへ８００のアクセスを示すブロック図を図８に示す。
ＣＰＵ９０２は、クライアント計算機１００のキャッシュ１０３から転送されてくるデータをキャッシュ９０３に格納しつつ、キャッシュ９０９へフラッシュ可能な論理ボリュームに属するデータが出揃うのを、フラッシュ可能テーブル６００により監視している。ある論理ボリュームに属するデータのフラッシュが可能であることが判明すると、ＣＰＵ９０２は、当該論理ボリュームに属するデータをキャッシュ９０９に転送する。転送が完了後、ＣＰＵ９０２は、通信メモリ９０５上のホストフラッシュ済みＬＵＮテーブル８００の当該論理ボリュームの位置に”１”を書き込む。
【００５０】
一方、通信ＩＣ９０４は、通信メモリ９０５上のホストフラッシュ済みＬＵＮテーブル８００を常時監視しており、ＣＰＵ９０２により”１”が書き込まれたのを認識すると、キャッシュ９０９に書き込まれた、当該論理ボリュームに属するデータの、物理ディスク９１０、９１３への書き込みを開始する。書き込みが完了すると、ホストフラッシュ済みＬＵＮテーブル８００の当該論理ボリュームの位置を”０”に戻す。
【００５１】
このようにすることにより、ＣＰＵ９０２と通信ＩＣ９０４が連携して、キャシュ９０９上のデータを物理ディスク９１０、９１３に書き込むことが可能となる。
【００５２】
次に、第２の実施例に係るシステムにおけるキャッシュのフラッシュ処理の流れについて説明する。クライアント計算機１００のキャッシュ１０３に記憶されているデータは、ＣＰＵ９０２のキャッシュ９０３、及びネットワーク９０８上のキャッシュ９０９に転送された後、物理ディスク９１０、９１３に書き込まれる。
クライアント計算機におけるキャッシュデータのフラッシュ処理については、第１の実施例におけるフラッシュ処理と同一である（図４参照）。
【００５３】
図９に、ＣＰＵ９０２が行うフラッシュ処理を示すフローチャートを示す。　　まず、ＣＰＵ９０２は、クライアント計算機１００から受信したデータをキャッシュ９０３に格納する（Ｓ９０００、Ｓ９００１）。続いて、クライアント計算機１００がＳ４００２にて送信したフラッシュ完了通知を受信したら、フラッシュ可能テーブル６００を更新する（Ｓ９００２）。更新は、第１の実施例における更新と同様である。
【００５４】
上記更新の結果、ある論理ボリュームのデータについて、全てのクライアント計算機１００のフラッシュが完了したことが判明した場合、当該論理ボリュームのデータの、キャッシュ９０３からネットワーク９０８上のキャッシュ９０への転送を開始する（Ｓ９００３、Ｓ９００４）。なお、Ｓ９００２において、フラッシュ可能テーブルを更新したが、フラッシュ可能な論理ボリュームがない場合には、Ｓ９０００に戻って、別のクライアント計算機１００からのデータを受信する。
【００５５】
ある論理ボリュームに属するデータの、キャッシュ９０９への転送が完了した場合には（Ｓ９００５）、通信メモリ９０５のホストフラッシュ済みＬＵＮテーブル８００の当該論理ボリュームの位置に”１”を書き込む（Ｓ９００６）。全論理ボリュームのデータについて、ネットワーク９０８上のキャッシュ９０９へのフラッシュが完了したら、処理を終了する（Ｓ９００７）。
【００５６】
続いて、第２の実施例に係るディスクアレイ装置の通信ＩＣ９０４が行うデステージ処理を示すフローチャートを図１０に示す。
まず、通信ＩＣ９０４は、通信メモリ９０５上に作成されている、ホストフラッシュ済みＬＵＮテーブル８００を参照して、ある論理ボリューム番号の位置に”１”が記録されていないかを確認する（Ｓ１００００）。ホストフラッシュ済みＬＵＮテーブル８００に、”１”が記録された論理ボリュームがある場合には（Ｓ１０００１）、当該論理ボリュームに属するデータの物理ディスク９１０、９１３へのデステージを開始する（Ｓ１０００２）。全論理ボリュームのデータについて、物理ディスク９１０、９１３へのデステージが完了するまで、処理を繰り返す（Ｓ１０００４）。
【００５７】
物理ディスク９１０、９１３は、上述の通り、論理ボリュームに分類されて管理されているので、Ｓ６００５にて物理ディスク９１０、９１３への書き込みが行われている間、当該論理ボリュームを構成する物理ディスク９１０、９１３に設けられた表示灯９１１、９１４が点灯する。例えば、図７において、論理ボリューム２（ＬＵ２）への書き込みが行われる場合には、当該論理ボリュームを構成する複数の物理ディスク９１０の表示灯９１１がそれぞれ同時に点灯する。
【００５８】
以上のような第２の実施例のような構成においても、キャッシュのフラッシュを行う場合に、上位階層の全てのキャッシュに記憶されていたデータが揃うのを待つ必要がなくなり、ある論理ボリュームに属するデータのみが出揃ったならば、当該データのデステージを開始することができる。これにより、キャッシュメモリのデステージを、従来に比べて短時間で行うことができるようになった。
【００５９】
以上、本実施の形態に係る実施例について説明したが、本願発明は上記実施例に限定されるものではない。本発明の要旨を逸脱しない範囲で様々に変更可能である。
【００６０】
【発明の効果】
キャッシュメモリのデステージを短時間で行うことが可能となる。
【図面の簡単な説明】
【図１】第１の実施の形態に係る計算機システムのブロック図である。
【図２】第１の実施の形態に係るフラッシュ可能テーブルである。
【図３】第１の実施の形態に係るホストフラッシュ済みＬＵＮテーブルである。
【図４】第１の実施の形態に係るクライアント計算機におけるキャッシュデータのフラッシュ処理を示すフローチャートである。
【図５】第１の実施の形態に係るＮＡＳサーバにおけるキャッシュデータのフラッシュ処理を示すフローチャートである。
【図６】第１の実施の形態に係るディスクアレイ装置におけるキャッシュデータのデステージ処理を示すフローチャートである。
【図７】第２の実施の形態に係る計算機システムのブロック図である。
【図８】第２の実施の形態に係る共有メモリ上のホストフラッシュ済みＬＵＮテーブルへのアクセスを示すブロック図である。
【図９】第２の実施の形態に係るディスクアレイ装置のＣＰＵが行うフラッシュ処理を示すフローチャートである。
【図１０】第２の実施の形態に係るディスクアレイ装置の通信ＩＣが行うデステージ処理を示すフローチャートである。
【符号の説明】
１００　クライアント
１０３　キャッシュ
２００　ＮＡＳエンジン
２０１　ＮＡＳサーバ
２０２　ネットワーク
２０３　キャッシュ
２０４　メモリ
２０５　制御プログラム
３００　ディスクアレイ装置
３０１　ディスクコントローラ
３０３　制御デバイス
３０４　キャッシュ
３０５　共有メモリ
３０６　制御プログラム
３０８　物理ディスクＡ
３０９　論理ボリュームＡ
３１０　ポート
３１１　表示灯Ａ
３１２　物理ディスクＢ
３１３　論理ボリュームＢ
３１４　表示灯Ｂ
４００　記憶装置システム
５００　ＬＡＮ
６００　フラッシュ可能テーブル
６０１　クライアント名
６０２　論理ボリューム番号
８００　ホストフラッシュ済みＬＵＮテーブル
９００　ディスクアレイ装置
９０１　パッケージ
９０２　ＣＰＵ
９０３　キャッシュ
９０４　通信ＩＣ
９０５　通信メモリ
９０６　制御プログラム
９０７　ＯＳ
９０８　ネットワーク
９０９　キャッシュ
９１０　物理ディスクＡ
９１１　論理ボリュームＡ
９１２　表示灯Ａ
９１３　物理ディスクＢ
９１４　論理ボリュームＢ
９１５　表示灯Ｂ
【図１】
2004062344.tif 000003
【図２】
2004062344.tif 000004
【図３】
2004062344.tif 000005
【図４】
2004062344.tif 000006
【図５】
2004062344.tif 000007
【図６】
2004062344.tif 000008
【図７】
2004062344.tif 000009
【図８】
2004062344.tif 000010
【図９】
2004062344.tif 000011
【図１０】
2004062344.tif 000012