(57)【要約】【課題】異常シャットダウン動作発生時にキャッシュメモリ内のデータ消失を防止する。【解決手段】本発明にかかるキャッシュデータ保護装置は、ホストシステム１および記憶装置４とともにコンピュータシステムまたはサーバー装置を構成し、ホストシステム１から受け取った記憶装置４への書き込みデータを一時的に格納しておくためのキャッシュメモリ２３と、ホストシステム１および記憶装置４へ電源を供給する電源装置３と、記憶装置４への電源供給停止を許可するか否かの判断結果を電源装置３へ通知するマイクロコンピュータ２１とを備え、電源装置３は、電源遮断要求をホストシステム１から受けた場合、その旨をマイクロコンピュータ２１へ通知し、マイクロコンピュータ２１は、キャッシュメモリ２３内に記憶装置４へ未だ書き込まれていないデータが存在しなければ電源遮断許可を電源装置３へ通知する。【選択図】        図１
2008117000.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステムおよび記憶装置とともにコンピュータシステムまたはサーバー装置を構成し、当該ホストシステムから受け取った当該記憶装置への書き込みデータを一時的に格納しておくためのキャッシュメモリと、当該ホストシステムおよび当該記憶装置へ電源を供給する電源装置と、当該記憶装置への電源供給停止を許可するか否かの判断結果を当該電源装置へ通知する制御部と、を備えたキャッシュデータ保護装置であって、
前記電源装置は、
電源遮断要求を前記ホストシステムから受けた場合、その旨を前記制御部へ通知し、
前記制御部は、
前記ホストシステムから電源遮断要求を受けた旨の通知を前記電源装置から受けた場合、前記キャッシュメモリ内に前記記憶装置へ未だ書き込まれていない未書込みデータが存在しなければ前記記憶装置への電源供給停止を許可する旨（電源遮断許可）を当該電源装置へ通知することを特徴とするキャッシュデータ保護装置。
【請求項２】
前記制御部は、
前記ホストシステムから電源遮断要求を受けた旨の通知を前記電源装置から受けた場合であって、かつ前記キャッシュメモリ内に未書込みデータが存在している場合には、当該未書込みデータを前記記憶装置へ書き込むように制御を行い、未書込みデータの書込処理が終了後、電源遮断許可を当該電源装置へ通知することを特徴とする請求項１に記載のキャッシュデータ保護装置。
【請求項３】
前記記憶装置が内部にローカルキャッシュメモリを備えている場合、
前記制御部は、電源遮断許可を前記電源装置へ通知する前に、前記記憶装置へ前記ローカルキャッシュメモリ内のデータを書き戻すように指示を行い、データの書き戻し処理が終了した後に電源遮断許可を前記電源装置へ通知することを特徴とする請求項１または２に記載のキャッシュデータ保護装置。
【請求項４】
ホストシステムおよび記憶装置とともにコンピュータシステムまたはサーバー装置を構成し、当該ホストシステムから受け取った当該記憶装置への書き込みデータを一時的に格納しておくためのキャッシュメモリと、当該ホストシステムおよび当該記憶装置へ電源を供給する電源装置と、当該ホストシステムから電源遮断要求を受けた場合、それを当該電源装置へ転送する制御部と、を備えたキャッシュデータ保護装置であって、
前記制御部は、
前記ホストシステムから電源遮断要求を受けた場合であって、かつ前記キャッシュメモリ内に前記記憶装置へ未だ書き込まれていない未書込みデータが存在しない場合、当該電源遮断要求を前記電源装置へ転送することを特徴とするキャッシュデータ保護装置。
【請求項５】
前記制御部は、
前記ホストシステムから電源遮断要求を受けた場合であって、かつ前記キャッシュメモリ内に未書込みデータが存在している場合には、当該未書込みデータを前記記憶装置へ書き込むように制御を行い、未書込みデータの書込処理が終了後、前記電源遮断要求を前記電源装置へ転送することを特徴とする請求項４に記載のキャッシュデータ保護装置。
【請求項６】
前記記憶装置が内部にローカルキャッシュメモリを備えている場合、
前記制御部は、電源遮断要求を前記電源装置へ転送する前に、前記記憶装置へ前記ローカルキャッシュメモリ内のデータを書き戻すように指示を行い、データの書き戻し処理が終了した後に電源遮断要求を前記電源装置へ転送することを特徴とする請求項４または５に記載のキャッシュデータ保護装置。
【請求項７】
前記記憶装置をＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）構成のハードディスクとすることを特徴とする請求項１〜６のいずれか一つに記載のキャッシュデータ保護装置。
【請求項８】
財務会計処理業務用として利用されるコンピュータシステムまたはサーバー装置を構成することを特徴とする請求項１〜７のいずれか一つに記載のキャッシュデータ保護装置。
【請求項９】
ホストシステムおよび記憶装置とともにコンピュータシステムまたはサーバー装置を構成し、当該ホストシステムから受け取った当該記憶装置への書き込みデータを一時的に格納しておくためのキャッシュメモリと、当該ホストシステムおよび当該記憶装置へ電源を供給する電源装置と、当該記憶装置への電源供給停止を許可するか否の判断結果を当該電源装置へ通知する制御部と、を備えたキャッシュデータ保護装置において、当該電源装置が当該ホストシステムから電源遮断要求を受けた場合に、当該キャッシュメモリ内のデータ消失を防止するためのキャッシュデータ保護方法であって、
前記電源装置が、前記ホストシステムから電源遮断要求を受けた旨を前記制御部へ通知する電源遮断要求通知ステップと、
前記制御部が前記キャッシュメモリのデータ保持状態を確認するデータ保持状態確認ステップと、
前記データ保持状態確認ステップにおける確認の結果、前記キャッシュメモリ内に前記記憶装置へ未だ書き込まれていない未書込みデータが存在しないと判断した場合、前記制御部が、前記記憶装置への電源供給停止を許可する旨（電源遮断許可）を前記電源装置へ通知する電源遮断許可通知ステップと、
を含むことを特徴とするキャッシュデータ保護方法。
【請求項１０】
前記電源遮断許可通知ステップでは、
前記データ保持状態確認ステップにおける確認の結果、前記キャッシュメモリ内に未書込みデータが存在すると判断した場合、前記制御部は、当該未書込みデータを前記記憶装置へ書き込むように制御を行い、未書込みデータの書込処理が終了後、電源遮断許可を前記電源装置へ通知することを特徴とする請求項９に記載のキャッシュデータ保護方法。
【請求項１１】
前記記憶装置が内部にローカルキャッシュメモリを備えている場合、
前記電源遮断許可通知ステップでは、前記制御部が、電源遮断許可を前記電源装置へ通知する前に、前記記憶装置へ当該記憶装置自身が備えているキャッシュメモリ内のデータを書き戻すように指示を行い、データの書き戻し処理が終了した後に電源遮断許可を前記電源装置へ通知することを特徴とする請求項９または１０に記載のキャッシュデータ保護方法。
【請求項１２】
ホストシステムおよび記憶装置とともにコンピュータシステムまたはサーバー装置を構成し、当該ホストシステムから受け取った当該記憶装置への書き込みデータを一時的に格納しておくためのキャッシュメモリと、当該ホストシステムおよび当該記憶装置へ電源を供給する電源装置と、当該ホストシステムから電源遮断要求を受けた場合、それを当該電源装置へ転送する制御部と、を備えたキャッシュデータ保護装置において、当該制御部が当該ホストシステムから電源遮断要求を受けた場合に、当該キャッシュメモリ内のデータ消失を防止するためのキャッシュデータ保護方法であって、
前記制御部が、前記ホストシステムから電源遮断要求を受けた場合、前記キャッシュメモリのデータ保持状態を確認するデータ保持状態確認ステップと、
前記データ保持状態確認ステップにおける確認の結果、前記キャッシュメモリ内に前記記憶装置へ未だ書き込まれていない未書込みデータが存在しないと判断した場合、前記制御部が前記電源遮断要求を前記電源装置へ転送する電源遮断要求転送ステップと、
を含むことを特徴とするキャッシュデータ保護方法。
【請求項１３】
前記電源遮断要求転送ステップでは、
前記データ保持状態確認ステップにおける確認の結果、前記キャッシュメモリ内に未書込みデータが存在すると判断した場合、前記制御部は、当該未書込みデータを前記記憶装置へ書き込むように制御を行い、未書込みデータの書込処理が終了後、前記電源遮断要求を前記電源装置へ転送することを特徴とする請求項１２に記載のキャッシュデータ保護方法。
【請求項１４】
前記記憶装置が内部にローカルキャッシュメモリを備えている場合、
前記電源遮断要求転送ステップでは、電源遮断要求を前記電源装置へ転送する前に、前記記憶装置へ前記ローカルキャッシュメモリ内のデータを書き戻すように指示を行い、データの書き戻し処理が終了した後に電源遮断要求を前記電源装置へ転送することを特徴とする請求項１２または１３に記載のキャッシュデータ保護方法。
【請求項１５】
前記記憶装置をＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）構成のハードディスクとするコンピュータシステムまたはサーバー装置において使用することを特徴とする請求項９〜１４のいずれか一つに記載のキャッシュデータ保護方法。
【請求項１６】
財務会計処理業務用として利用されるコンピュータシステムまたはサーバー装置において使用することを特徴とする請求項９〜１５のいずれか一つに記載のキャッシュデータ保護方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクキャッシュシステムに保持しているデータ（キャッシュデータ）の消失防止方法に関するものであり、たとえば、ライトバック方式のディスクキャッシュシステムを備えたコンピュータシステムにおいて、当該ディスクキャッシュシステムへの給電が遮断される場合に、保持しているデータを消失することなく、ハードディスクユニットなどへ確実に格納するキャッシュデータ保護装置およびキャッシュデータ保護方法に関するものである。
【背景技術】
【０００２】
一般的なライトバック方式のディスクキャッシュシステムを搭載したパーソナルコンピュータやサーバー装置における電源遮断（シャットダウン）動作は、まずＯＳ（Operating  System）がホストシステム（マザーボード）とキャッシュメモリを搭載したディスク制御装置に対してシステムシャットダウンの指示を行う。システムシャットダウン指示を受けた、ハードディスク制御装置は、ハードディスクユニット（以下、ハードディスクと呼ぶ）へ書き込む必要があるデータ（未書込みデータ）をキャッシュメモリに保持していれば、それをすべて書き込む。続いてシャットダウン指示を受けた、ホストシステムは電源装置に電源遮断指示を出し、給電を停止するシャットダウン動作を実行する。このような手順でシステムシャットダウンを行うことにより、キャッシュメモリ内に保持している未書込みデータを消失してしまうのを防止している。
【０００３】
しかしながら、上述したような正常なシャットダウン処理とは異なり、たとえばＷｉｎｄｏｗｓ（登録商標）をＯＳに利用したコンピュータシステムにおいてシステムがフリーズした場合、ＯＳはホストシステムとキャッシュメモリを搭載したディスク制御装置に対してシステムシャットダウンの指示を行うことができない。このような場合には、手動で電源ボタンを長押しするなどして、強制的に電源を遮断する。このとき、電源遮断指示はホストシステムから電源装置のみへ出され、各部への給電が停止する。
【０００４】
また、Ｌｉｎｕｘ（登録商標）をＯＳに利用したコンピュータシステムにおいてカーネルパニックが発生した場合、ＯＳによるシステムシャットダウンが強制的に実行される。この場合は、システムシャットダウンの指示はＯＳからホストシステムのみへ出され、ホストシステムは電源装置に電源遮断指示を出し、給電を停止するシャットダウン動作を実行し、各部への給電が停止する。
【０００５】
上記システムフリーズ発生に伴う電源遮断およびカーネルパニック発生に伴う電源遮断は、いずれも異常シャットダウン動作である。このときディスク制御装置にとっては、不意に電源供給が停止されることとなるので、キャッシュメモリ内に未書込みデータを保持している場合、その未書込みデータは消失され、問題となる。
【０００６】
特に、会計事務所などにおいては、顧客の経営情報、監査情報など非常に重要な情報を共有化している場合が多く、共有データを管理するサーバー装置においてデータの消失が発生すると、大きな問題となる。
【０００７】
このような問題点を解決する技術の一例として、下記特許文献１に記載のディスクキャッシュ装置が存在する。下記特許文献１に記載のディスクキャッシュ装置においては、メモリ内の一部の領域をバッテリーバックアップし、この領域を書き込みデータ用のバッファとして使用することにより、不意に電源供給が停止した場合であっても未書込みデータを消失しないようにしている。
【０００８】
【特許文献１】特開平１−１７５０５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１に記載の技術においては、未書込みデータを一時的に救済するためのものであるため、電源の供給再開が遅れるとバックアップ用のバッテリーが消耗し、未書込みデータが揮発してしまう、という問題があった。一方、この問題を解決するために大容量のバッテリーを搭載すると、装置の大型化、コストアップにつながる、などの別の問題が生じる。
【００１０】
本発明は、上記に鑑みてなされたものであって、異常シャットダウン動作が発生した場合において、揮発性のキャッシュメモリ内に保持している未書込みデータを確実にハードディスクなどの記憶装置へ記憶させ、未書込みデータを消失してしまうのを防止するキャッシュデータ保護装置およびキャッシュデータ保護方法を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、ホストシステムおよび記憶装置とともにコンピュータシステムまたはサーバー装置を構成し、当該ホストシステムから受け取った当該記憶装置への書き込みデータを一時的に格納しておくためのキャッシュメモリと、当該ホストシステムおよび当該記憶装置へ電源を供給する電源装置と、当該記憶装置への電源供給停止を許可するか否かの判断結果を当該電源装置へ通知する制御部と、を備えたキャッシュデータ保護装置であって、前記電源装置は、電源遮断要求を前記ホストシステムから受けた場合、その旨を前記制御部へ通知し、前記制御部は、前記ホストシステムから電源遮断要求を受けた旨の通知を前記電源装置から受けた場合、前記キャッシュメモリ内に前記記憶装置へ未だ書き込まれていない未書込みデータが存在しなければ前記記憶装置への電源供給停止を許可する旨（電源遮断許可）を当該電源装置へ通知することを特徴とする。
【００１２】
つぎの発明にかかるキャッシュデータ保護装置において、制御部は、前記ホストシステムから電源遮断要求を受けた旨の通知を前記電源装置から受けた場合であって、かつ前記キャッシュメモリ内に未書込みデータが存在している場合には、当該未書込みデータを前記記憶装置へ書き込むように制御を行い、未書込みデータの書込処理が終了後、電源遮断許可を当該電源装置へ通知することを特徴とする。
【００１３】
つぎの発明にかかるキャッシュデータ保護装置において、前記記憶装置が内部にローカルキャッシュメモリを備えている場合、前記制御部は、電源遮断許可を前記電源装置へ通知する前に、前記記憶装置へ前記ローカルキャッシュメモリ内のデータを書き戻すように指示を行い、データの書き戻し処理が終了した後に電源遮断許可を前記電源装置へ通知することを特徴とする。
【００１４】
つぎの発明にかかるキャッシュデータ保護装置は、ホストシステムおよび記憶装置とともにコンピュータシステムまたはサーバー装置を構成し、当該ホストシステムから受け取った当該記憶装置への書き込みデータを一時的に格納しておくためのキャッシュメモリと、当該ホストシステムおよび当該記憶装置へ電源を供給する電源装置と、当該ホストシステムから電源遮断要求を受けた場合、それを当該電源装置へ転送する制御部と、を備えたキャッシュデータ保護装置であって、前記制御部は、前記ホストシステムから電源遮断要求を受けた場合であって、かつ前記キャッシュメモリ内に前記記憶装置へ未だ書き込まれていない未書込みデータが存在しない場合、当該電源遮断要求を前記電源装置へ転送することを特徴とする。
【００１５】
つぎの発明にかかるキャッシュデータ保護装置において、前記制御部は、前記ホストシステムから電源遮断要求を受けた場合であって、かつ前記キャッシュメモリ内に未書込みデータが存在している場合には、当該未書込みデータを前記記憶装置へ書き込むように制御を行い、未書込みデータの書込処理が終了後、前記電源遮断要求を前記電源装置へ転送することを特徴とする。
【００１６】
つぎの発明にかかるキャッシュデータ保護装置において、前記記憶装置が内部にローカルキャッシュメモリを備えている場合、前記制御部は、電源遮断要求を前記電源装置へ転送する前に、前記記憶装置へ前記ローカルキャッシュメモリ内のデータを書き戻すように指示を行い、データの書き戻し処理が終了した後に電源遮断要求を前記電源装置へ転送することを特徴とする。
【００１７】
つぎの発明にかかるキャッシュデータ保護装置は、前記記憶装置をＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）構成のハードディスクとすることを特徴とする
【００１８】
つぎの発明にかかるキャッシュデータ保護装置は、財務会計処理業務用として利用されるコンピュータシステムまたはサーバー装置を構成することを特徴とする。
【００１９】
つぎの発明にかかるキャッシュデータ保護方法は、ホストシステムおよび記憶装置とともにコンピュータシステムまたはサーバー装置を構成し、当該ホストシステムから受け取った当該記憶装置への書き込みデータを一時的に格納しておくためのキャッシュメモリと、当該ホストシステムおよび当該記憶装置へ電源を供給する電源装置と、当該記憶装置への電源供給停止を許可するか否の判断結果を当該電源装置へ通知する制御部と、を備えたキャッシュデータ保護装置において、当該電源装置が当該ホストシステムから電源遮断要求を受けた場合に、当該キャッシュメモリ内のデータ消失を防止するためのキャッシュデータ保護方法であって、前記電源装置が、前記ホストシステムから電源遮断要求を受けた旨を前記制御部へ通知する電源遮断要求通知ステップと、前記制御部が前記キャッシュメモリのデータ保持状態を確認するデータ保持状態確認ステップと、前記データ保持状態確認ステップにおける確認の結果、前記キャッシュメモリ内に前記記憶装置へ未だ書き込まれていない未書込みデータが存在しないと判断した場合、前記制御部が、前記記憶装置への電源供給停止を許可する旨（電源遮断許可）を前記電源装置へ通知する電源遮断許可通知ステップと、を含むことを特徴とする。
【００２０】
つぎの発明にかかるキャッシュデータ保護方法において、前記電源遮断許可通知ステップでは、前記データ保持状態確認ステップにおける確認の結果、前記キャッシュメモリ内に未書込みデータが存在すると判断した場合、前記制御部は、当該未書込みデータを前記記憶装置へ書き込むように制御を行い、未書込みデータの書込処理が終了後、電源遮断許可を前記電源装置へ通知することを特徴とする。
【００２１】
つぎの発明にかかるキャッシュデータ保護方法において、前記記憶装置が内部にローカルキャッシュメモリを備えている場合、前記電源遮断許可通知ステップでは、前記制御部が、電源遮断許可を前記電源装置へ通知する前に、前記記憶装置へ当該記憶装置自身が備えているキャッシュメモリ内のデータを書き戻すように指示を行い、データの書き戻し処理が終了した後に電源遮断許可を前記電源装置へ通知することを特徴とする。
【００２２】
つぎの発明にかかるキャッシュデータ保護方法は、ホストシステムおよび記憶装置とともにコンピュータシステムまたはサーバー装置を構成し、当該ホストシステムから受け取った当該記憶装置への書き込みデータを一時的に格納しておくためのキャッシュメモリと、当該ホストシステムおよび当該記憶装置へ電源を供給する電源装置と、当該ホストシステムから電源遮断要求を受けた場合、それを当該電源装置へ転送する制御部と、を備えたキャッシュデータ保護装置において、当該制御部が当該ホストシステムから電源遮断要求を受けた場合に、当該キャッシュメモリ内のデータ消失を防止するためのキャッシュデータ保護方法であって、前記制御部が、前記ホストシステムから電源遮断要求を受けた場合、前記キャッシュメモリのデータ保持状態を確認するデータ保持状態確認ステップと、前記データ保持状態確認ステップにおける確認の結果、前記キャッシュメモリ内に前記記憶装置へ未だ書き込まれていない未書込みデータが存在しないと判断した場合、前記制御部が前記電源遮断要求を前記電源装置へ転送する電源遮断要求転送ステップと、を含むことを特徴とする。
【００２３】
つぎの発明にかかるキャッシュデータ保護方法において、前記電源遮断要求転送ステップでは、前記データ保持状態確認ステップにおける確認の結果、前記キャッシュメモリ内に未書込みデータが存在すると判断した場合、前記制御部は、当該未書込みデータを前記記憶装置へ書き込むように制御を行い、未書込みデータの書込処理が終了後、前記電源遮断要求を前記電源装置へ転送することを特徴とする。
【００２４】
つぎの発明にかかるキャッシュデータ保護方法において、前記記憶装置が内部にローカルキャッシュメモリを備えている場合、前記電源遮断要求転送ステップでは、電源遮断要求を前記電源装置へ転送する前に、前記記憶装置へ前記ローカルキャッシュメモリ内のデータを書き戻すように指示を行い、データの書き戻し処理が終了した後に電源遮断要求を前記電源装置へ転送することを特徴とする。
【００２５】
つぎの発明にかかるキャッシュデータ保護方法は、前記記憶装置をＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）構成のハードディスクとするコンピュータシステムまたはサーバー装置において使用することを特徴とする。
【００２６】
つぎの発明にかかるキャッシュデータ保護方法は、財務会計処理業務用として利用されるコンピュータシステムまたはサーバー装置において使用することを特徴とする。
【発明の効果】
【００２７】
本発明にかかるキャッシュデータ保護装置は、電源遮断を行う場合、キャッシュメモリが未書込みデータ（記憶装置へ書き込む必要のあるデータであって未だ書込みが完了していないデータ）を保持していないことを確認してから電源を遮断する。また、キャッシュメモリが未書込みデータを保持している場合には、未書込みデータを記憶装置へ書き込んでから電源を遮断する。これにより、たとえば、システムがフリーズし、ユーザが電源ボタンを長押しするなどして、強制的に電源を遮断するような異常シャットダウン動作が発生した場合であっても、キャッシュ内に保持している未書込みデータを消失してしまうのを回避できる、という効果を奏する。
【発明を実施するための最良の形態】
【００２８】
以下に、本発明にかかるキャッシュデータ保護装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００２９】
図１は、本発明にかかるキャッシュデータ保護装置を含み、キャッシュデータ保護方法を実現するコンピュータシステムの構成例を示す図である。このコンピュータシステムは、ホストシステム１と、ディスク制御装置２と、電源装置３と、記憶装置４（たとえば、ハードディスクユニット）と、通信部５と、により構成される。また、ディスク制御装置２は、マイクロコンピュータ（制御部）２１、コントローラ２２およびキャッシュメモリ２３を備える。なお、マイクロコンピュータ２１は、ＣＰＵ，ＲＡＭ，ＲＯＭなどを含んでいる。
【００３０】
図１において、ホストシステム１は、ＯＳからの指示などに従い、電源装置３の制御を行う。なお、信号Ｓ１が電源装置３を制御するための信号である。また、ホストシステム１は、ディクス制御システム２を介して、記憶装置４に対するデータの書込み，読み出し，などを行う。
【００３１】
ディスク制御装置２は、ホストシステム１の指示に従い、記憶装置４に対するデータの書込み，読み出し，などを行う。データ書込み時は、キャッシュメモリ２３を利用して、たとえばライトバック方式で書き込みを行う。ここで、マイクロコンピュータ２１は、ディスク制御装置２の全体を制御する。コントローラ２２は、ホストシステム１に対するインタフェイスであり、ホストシステム１との間の指示や応答の信号，記憶装置４への書き込みデータや記憶装置４からの読み出しデータ、などは、すべてコントローラ２２を介してやりとりされる。キャッシュメモリ２３は、ホストシステム１から記憶装置４に対する見かけ上のデータ書込み速度を高速化するため、ホストシステム１から受け取った記憶装置４への書き込みデータを一時的に格納しておく。
【００３２】
また、ディスク制御装置２は、電源装置３から電源遮断要求を受けた場合には、電源遮断要求に応じることが可能かどうかを確認し、要求に応じることが可能であればその旨（電源遮断許可）を電源装置３へ通知する。このとき、記憶装置４へ書き込む必要のあるデータであって未だ書込みが完了していないデータ（以下、「未書込みデータ」と呼ぶ）をキャッシュメモリ２３などが保持していれば、すべての未書込みデータを記憶装置４へ書き込んでから電源遮断許可を通知する。なお、電源遮断許可は信号Ｓ４を使用して通知する。また、ホストシステム１からの指示はコントローラ２２を介してマイクロコンピュータ２１へ通知され、一方、電源装置３からの指示（電源遮断要求）は直接マイクロコンピュータ２１へ通知される。
【００３３】
電源装置３は、ホストシステム１、ディスク制御装置２および記憶装置４に対して電源を供給する。また、ホストシステム１から電源遮断要求を受けた場合には、その旨をディスク制御装置２に対して通知し、ディスク制御装置２から電源遮断許可の通知を受けるとホストシステム１、ディスク制御装置２および記憶装置４に対する電源供給を停止する。なお、ホストシステム１から電源遮断要求を受けた旨の通知は、信号Ｓ３を使用して行う。
【００３４】
記憶装置４は、ディスク制御装置２のコントローラ２２を介してホストシステム１から受け取ったデータの格納しておき、ディスク制御装置２の指示に従い格納しているデータを出力する。なお、記憶装置４は内部にキャッシュを備えた構成のものであってもよい。
【００３５】
通信部５は、インターネットやイントラネットなどのネットワークへ接続する機能を有し、ネットワークを介して、このコンピュータシステムを他のコンピュータシステムなどと接続する。
【００３６】
図２は、実施例１の電源装置３の機能ブロックの構成例を示す図である。電源装置３は、電源遮断要求検出部３１、電源制御部３２および状態通知部３３を含んでいる。なお、信号Ｓ１〜Ｓ４は、図１に示した信号Ｓ１〜Ｓ４に対応している。
【００３７】
電源遮断要求検出部３１は、ホストシステム１からの制御信号Ｓ１を入力とし、この入力信号Ｓ１の状態に基づいて、ホストシステム１が電源の遮断を要求しているかどうかを判断する。また、ホストシステム１からの電源遮断要求を検出した場合には、その旨を信号ディスク制御装置２に対して通知する。電源制御部３２は、制御信号Ｓ１および制御信号Ｓ４を入力とし、これらの入力信号の状態に基づいて、電源供給を開始するかどうか、停止するかどうか、の判定を行う。そして、判定結果に従い、必要であれば図示していない電源装置３内の各部の制御を行い、ホストシステム１、ディスク制御装置２および記憶装置４に対する電源供給の開始／停止を行う。状態通知部３３は、電源装置３から各部（ホストシステム１、ディスク制御装置２および記憶装置４）に対する電源供給の状態を、信号Ｓ２を使用してホストシステム１へ通知する。
【００３８】
また、図３は、キャッシュデータ保護装置の動作説明を行うための図であり、信号Ｓ１〜Ｓ４の状態と、キャッシュデータ保護装置の動作状態との対応関係を示している。以下、図２および図３を用いて、電源装置３が各部（ホストシステム１、ディスク制御装置２および記憶装置４）に対して行う電源供給動作を説明する。なお、ホストシステム１は、図１に示した“ホスト電源”以外に別系統で電源が供給されており、電源装置３からの給電（ホスト電源の供給）が停止している場合であっても、ユーザによる電源投入操作（電源装置３からの給電を開始させるための操作）を受け付け可能であるものとする。また、信号Ｓ１の制御および信号Ｓ２の監視が可能であるものとする。
【００３９】
まず、電源装置３が各部（ホストシステム１、ディスク制御装置２および記憶装置４）への電源供給を開始する場合の動作を説明する。電源装置３が各部に対して電源供給を行っていない状態において、信号Ｓ１およびＳ４の状態は、それぞれ‘Ｈ’、‘Ｌ’となっている。また、電源装置３からの出力信号Ｓ２およびＳ３の状態は、共に‘Ｌ’となっている。この状態で電源投入指示（ユーザによる電源投入操作）を受け付けると、ホストシステム１は、信号Ｓ１の状態を‘Ｌ’へ変化させ、電源装置３に対して電源供給要求を通知する（電源の供給開始を要求する）。電源制御部３２は、信号Ｓ１の状態が‘Ｌ’へ変化したことを検出すると、電源供給要求を受けたと判定する。そして、図示していない電源装置３内の各部を制御し、ホストシステム１、ディスク制御装置２および記憶装置４に対する電源供給を開始する。電源供給を開始すると、状態通知部３３は、信号Ｓ２の状態を‘Ｈ’へ変化させて、各部への電源供給を開始した旨（各部へ電源を供給中である旨）をホストシステム１に対して通知する。このとき、電源遮断要求検出部３１は、ホストシステム１からの電源遮断要求を検出していないため（信号Ｓ１の状態が‘Ｌ’のため）、信号Ｓ３の状態を‘Ｌ（電源遮断依頼なし）’に保ち続ける。
【００４０】
つづいて、本発明にかかるキャッシュデータ保護装置の特徴的な動作である電源装置３が各部への電源供給を停止する場合の動作を図４に示したフローチャートに基づいて説明する。図４は、上述した電源供給開始動作が実行され、システムが起動中の状態から電源供給を停止する（シャットダウンを行う）場合の動作例を示したフローチャートである。
【００４１】
図３に示したように、電源装置３が各部へ電源供給を行い、かつホストシステム１から電源遮断要求を受けていない状態（システム起動中の状態）では、電源装置３への入力信号Ｓ１およびＳ４の状態は、それぞれ‘Ｌ’、‘Ｈ’となっている。また、電源装置３からの出力信号Ｓ２およびＳ３の状態は、それぞれ‘Ｈ’、‘Ｌ’となっている。この状態において、ホストシステム１は、電源を遮断する必要があるかどうかを監視している（ステップＳ１１）。このステップＳ１１では、たとえば、ユーザによる電源遮断操作（正常な操作およびシステムフリーズなどに伴う強制的な電源遮断操作）の有無，カーネルパニックの発生に伴う強制的な電源遮断の必要性の有無，などを監視する。監視の結果、電源を遮断する必要がないと判断した場合（ステップＳ１１，Ｎｏ）、監視を継続する。一方、電源を遮断する必要があると判断した場合（ステップＳ１１，Ｙｅｓ）、ホストシステム１は、信号Ｓ１の状態を‘Ｈ’へ変化させることにより、電源装置３に対して電源遮断要求を通知する（ステップＳ１２）。
【００４２】
また、システム起動中の状態において、電源装置３の電源遮断要求検出部３１は入力信号Ｓ１の状態を監視することにより、ホストシステム１からの電源遮断要求の有無を監視している（ステップＳ３１）。監視の結果、電源遮断要求がないと判断した場合（ステップＳ３１，Ｎｏ）、監視を継続する。一方、電源遮断要求があったと判断した場合（ステップＳ３１，Ｙｅｓ）、電源遮断要求検出部３１は、信号Ｓ３の状態を‘Ｈ’へ変化させることにより、電源遮断要求を受けた旨をディスク制御装置２へ通知する（ステップＳ３２）。ステップＳ３２を実行後、電源装置３の電源制御部３２は、ディスク制御装置２からの電源遮断許可の有無を監視する（ステップＳ３３）。電源遮断許可の有無は、信号Ｓ４の状態を監視することにより行い、信号Ｓ４が‘Ｌ’であれば電源遮断許可を受けた（電源供給停止を許可された）と判断する。
【００４３】
一方、システム起動中の状態において、ディスク制御装置２（マイクロコンピュータ２１）は、入力信号Ｓ３の状態を監視することにより、電源装置３がホストシステム１から電源遮断要求を受けたかどうかを監視している（ステップＳ２１）。監視の結果、電源装置３が電源遮断要求を受けていないと判断した場合（ステップＳ２１，Ｎｏ）、監視を継続する。一方、電源遮断要求を受けたと判断した場合（ステップＳ２１，Ｙｅｓ）、マイクロコンピュータ２１は、キャッシュメモリ２３が、記憶装置４へ書き込む必要がある未書込みデータを保持しているかどうかを確認する（ステップＳ２２）。キャッシュメモリ２３が未書込みデータを保持している場合（ステップＳ２２，Ｙｅｓ）、マイクロコンピュータ２１は、未書込みデータを記憶装置４へ書き込むように制御を行う（ステップＳ２３）。そして、未書込みデータの記憶装置４への書き込処理が終了すると、マイクロコンピュータ２１は、記憶装置４に対して、記憶装置４自身が備えているキャッシュ内のデータ書き戻し作業を実行するように依頼する（ステップＳ２４）。なお、上記ステップＳ２２において、キャッシュメモリ２３が未書込みデータを保持していないと判断した場合には（ステップＳ２２，Ｎｏ）、直ちにステップＳ２４を実行する。また、記憶装置４がキャッシュメモリ（ローカルキャッシュメモリ）を備えていない場合には、ステップＳ２４は省略される。そして、記憶装置４におけるデータ書き戻し処理が終了したことを確認後、マイクロコンピュータ２１は、信号Ｓ４の状態を‘Ｌ’に変化させることにより、電源を遮断しても問題ない（未書込みデータを消失する恐れがない）状態である旨（電源遮断許可）を電源装置３に対して通知する（ステップＳ２５）。
【００４４】
ディスク制御装置２からの電源遮断許可の有無を監視している電源装置３の電源制御部３２は、信号Ｓ４の状態が‘Ｌ’に変化したことを検出すると、電源遮断許可を受けたと判断し（ステップＳ３３，Ｙｅｓ）、図示していない電源装置３内の各部を制御することにより、ホストシステム１、ディスク制御装置２および記憶装置４に対する電源供給を停止する（ステップＳ３４）。
【００４５】
なお、図２において破線矢印で示したように、電源遮断要求検出部３１へ信号Ｓ４が入力されるような構成とすれば、信号Ｓ４を操作することでループバックになり信号Ｓ３に反映されることになるので、Ｓ３およびＳ４の結線チェックも可能となる。
【００４６】
このように、本実施例においては、電源遮断を行う場合、ホストシステムは、電源装置のみへ電源遮断要求を行う。そして、電源装置は、電源遮断要求を受けると、その旨をディスク制御装置に対して通知し、ディスク制御装置から電源を遮断しても問題ない旨を通知されてから電源を遮断することとした。これにより、たとえばシステムがフリーズしてしまい、ユーザにより強制的な電源遮断操作が行われたなどの異常シャットダウン動作が発生した場合において、キャッシュ内に保持している未書込みデータ（記憶装置へ書き込む必要のあるデータであって未だ書込みが完了していないデータ）の消失を回避することができる。
【実施例２】
【００４７】
つづいて、実施例２のキャッシュデータ保護装置について説明する。上述したように、実施例１のキャッシュデータ保護装置においては、ホストシステムが電源装置に対して直接電源遮断要求を行こととした。これに対して、本実施例においては、ディスク制御装置がホストシステムから電源遮断要求を一旦受け取り、キャッシュメモリ内の未書込みデータを消失するおそれがなくなった時点で電源装置に対して電源遮断要求を転送する手順を使用する事によりキャッシュデータ（未書込みデータ）の保護を行う。
【００４８】
図５は、実施例２のキャッシュデータ保護装置を含んだコンピュータシステムの構成例を示す図である。このキャッシュデータ保護装置は、上述した実施例１のキャッシュデータ保護装置のディスク制御装置２および電源装置３に代えてディスク制御装置２ａおよび電源装置３ａを備える。なお、その他の部分は、実施例１のキャッシュデータ保護装置が備えるものと同じものである。また、ディスク制御装置２ａは、実施例１で説明したディスク制御装置２に対して電源遮断要求遅延部２４が追加されたものである。ディスク制御装置２ａにおいて、電源遮断要求遅延部２４以外の部分はディスク制御装置２の各部と同様である。そのため、同じ符号を付してその説明は省略する。
【００４９】
図６は、電源遮断要求遅延部２４の構成例を示す図であり、この電源遮断要求遅延部２４は、要求内容判別部４１、要求内容転送部４２および状態通知転送部４３を備える。なお、信号Ｓ１１〜Ｓ１６は、図５に示した信号Ｓ１１〜Ｓ１６に対応している。また、図７は、電源装置３ａの構成例を示す図であり、電源装置３ａは、電源制御部３２ａと状態通知部３３を備える。また、実施例２のディスク制御装置２ａが備える電源遮断要求遅延部２４は、ホストシステム１との間の通信線（Ｓ１１およびＳ１２）の状態監視および制御を常に行う必要がある。そのため、電源遮断要求遅延部２４へは、電源装置３ａからディスク制御装置２ａへ供給されるメイン電源とは別系統の電源が常に供給されているものとする。
【００５０】
以上のような構成のキャッシュデータ保護装置を含んだコンピュータシステムの動作について、図８を参照しながら説明する。図８は、キャッシュデータ保護装置を含んだコンピュータシステムの動作説明を行うための図であり、信号Ｓ１１〜Ｓ１６の状態と、キャッシュデータ保護装置の動作状態との対応関係を示している。なお、ここでは、実施例１の動作と異なる部分を中心に説明を行う。
【００５１】
電源遮断要求遅延部２４において、要求内容判別部４１は、ホストシステム１からの信号Ｓ１１を入力とし、信号Ｓ１１の状態からホストシステム１からの要求内容（電源供給要求、電源遮断要求のいずれに該当するか）を判別する。具体的には、信号Ｓ１１が‘Ｈ’の場合には電源遮断要求と判断し、一方、‘Ｌ’の場合には電源供給要求と判断する。そして、電源供給要求を受けた場合には、その旨を要求内容転送部４２へ通知する。一方、電源遮断要求を受けた場合には、その旨をマイクロコンピュータ２１へ通知する。マイクロコンピュータ２１への通知は、信号Ｓ１３の状態を‘Ｈ’とすることにより行う。
【００５２】
マイクロコンピュータ２１は、ホストシステム１から電源遮断要求を受けた旨の通知を電源遮断要求遅延部２４から受けると（信号Ｓ１３が‘Ｈ’に変化したことを検出すると）、実施例１の場合と同様の処理を実行して、キャッシュメモリ２３などに保持している未書込みデータを記憶装置４へ書き込む。また、記憶装置４に対して、キャッシュ内のデータ書き戻し処理を依頼する。そして、消失するおそれがある未書込みデータが無くなると、信号Ｓ１４を‘Ｌ’とすることにより、電源遮断許可を電源遮断要求遅延部２４に対して通知する。
【００５３】
要求内容転送部４２は、要求内容判別部４１から電源供給要求を受けた場合およびマイクロコンピュータから電源遮断許可を受けた場合、その内容を電源装置３ａへ通知（転送）する。電源装置３ａへの通知は、信号Ｓ１５を使用して行う。具体的には、電源供給要求を通知する場合は信号Ｓ１５を‘Ｌ’とし、電源遮断要求を通知する場合には信号Ｓ１５を‘Ｈ’とする。
【００５４】
電源装置３ａにおいて、電源制御部３２ａは、ディスク制御装置２ａ（電源遮断要求遅延部２４）からの入力信号Ｓ１５の状態変化を監視し、変化内容に応じて、電源装置３ａ内の図示していない各部を制御して、外部（ホストシステム１、ディスク制御装置２ａ、記憶装置４）への電源供給開始／停止を行う。上述したように、電源遮断許可は、キャッシュメモリ２３などに存在する未書込みデータが無くなってから（未書込みデータをすべて記憶装置へ書き込んでから）ディスク制御装置２ａが通知するものである。そのため、電源遮断許可を通知された後、電源装置３ａが直ちに電源供給を停止させても必要なデータを消失することはない。
【００５５】
状態通知部３３は、実施例１の電源装置３が備える状態通知部３３と同じものであり、信号Ｓ１６の状態を変化させて、各部への電源供給を開始／停止した旨を、ディスク制御装置２ａを介してホストシステム１へ通知する。なお、実施例２の電源装置３ａは、特段変わった機能を有しているわけではなく、既存の汎用電源装置（たとえばパーソナルコンピュータ用の電源装置）と同様のものである。
【００５６】
電源遮断要求遅延部２４の説明に戻り、状態通知転送部４３は、電源装置３ａからの入力信号Ｓ１６と同じ内容を示す信号Ｓ１２を出力することにより、電源装置３ａから通知された電源供給の状態（電源供給中、電源供給停止中）をホストシステム１へ通知する（電源装置３ａからの通知内容を転送する）。なお、状態通知転送部４３は、信号Ｓ１２の状態が入力信号Ｓ１６と同じ状態になるように制御を行っているだけであるため、互いの信号線同士を電源遮断要求遅延部２４内で直結すればよい。または、電源遮断要求遅延部２４（ディスク制御装置２ａ）を介さずに、電源装置３ａがホストシステム１へ電源供給の状態を直接通知するようにしてもよい。
【００５７】
本実施例の電源遮断動作を、図９に示したフローチャートに基づいて説明する。なお、実施例１と同じ処理に関しては同じステップ番号を付してその説明は省略する。
【００５８】
本実施例においては、ユーザによる電源遮断操作などがあると（ステップＳ１１，Ｙｅｓ）、ホストシステム１はディスク制御装置２ａへ電源遮断要求を通知する（ステップＳ１２ａ）。このとき、ディスク制御装置２ａの電源遮断要求遅延部２４は、上述したようにマイクロコンピュータ２１に対して電源遮断要求を受けた旨を通知する。ステップＳ２２〜Ｓ２４を実行後、ディスク制御装置２ａは、電源装置３ａへ電源遮断要求を転送する（ステップＳ２５ａ）。具体的には、マイクロコンピュータ２からの信号Ｓ１４が‘Ｌ’に変化したことを検出した電源遮断要求遅延部２４の要求内容転送部４２が電源装置３ａへの出力信号Ｓ１５を‘Ｈ’とすることにより電源遮断要求を通知する。
【００５９】
システム起動中の状態においてディスク制御装置２ａから電源遮断要求が通知されたかどうかを監視している電源装置３ａは、電源遮断要求を受けると（ステップＳ３１ａ，Ｙｅｓ）、ディスク制御装置２ａ、ホストシステム１および記憶装置４への電源供給を停止する（ステップＳ３４）。
【００６０】
このように、本実施例においては、電源遮断を行う場合、ホストシステムは、ディスク制御装置のみへ電源遮断要求を行う。そして、ディスク制御装置は、キャッシュ内に未書込みデータ（記憶装置へ書き込む必要のあるデータであって未だ書込みが完了していないデータ）を保持している場合、それを記憶装置４へ書き込んでから電源装置へ電源遮断要求を転送することとした。これにより、異常シャットダウン動作が発生した場合であっても、キャッシュ内に保持している未書込みデータの消失を回避することができる。
【００６１】
なお、上記説明において、記憶装置４は通常のハードディスクとして説明を行ったが、ＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）構成のハードディスクに対しても本発明を適用可能である。
【産業上の利用可能性】
【００６２】
以上のように、本発明にかかるキャッシュデータ保護装置は、ライトバック方式を使用したディスクキャッシュシステムを備えたコンピュータシステムに有用であり、特に、会計事務所などの財務会計処理業務において使用されるサーバー装置のキャッシュデータ消失防止に適している。
【図面の簡単な説明】
【００６３】
【図１】本発明にかかるキャッシュデータ保護装置を含み、キャッシュデータ保護方法を実現するコンピュータシステムの構成例を示す図である。
【図２】実施例１の電源装置の機能ブロック構成例を示す図である。
【図３】キャッシュデータ保護装置の動作説明を行うための図である。
【図４】実施例１のシャットダウン動作例を示したフローチャートである。
【図５】実施例２のキャッシュデータ保護装置を含んだコンピュータシステムの構成例を示す図である。
【図６】電源遮断要求遅延部の構成例を示す図である。
【図７】実施例２の電源装置の構成例を示す図である。
【図８】キャッシュデータ保護装置の動作説明を行うための図である。
【図９】実施例２のシャットダウン動作例を示したフローチャートである。
【符号の説明】
【００６４】
１  ホストシステム
２、２ａ  ディスク制御装置
３、３ａ  電源装置
４  記憶装置
２１  マイクロコンピュータ
２２  コントローラ
２３  キャッシュメモリ
２４  電源遮断要求遅延部
３１  電源遮断要求検出部
３２、３２ａ  電源制御部
３３  状態通知部
４１  要求内容判別部
４２  要求内容転送部
４３  状態通知転送部
【図１】
2008117000.tif 000003
【図２】
2008117000.tif 000004
【図３】
2008117000.tif 000005
【図４】
2008117000.tif 000006
【図５】
2008117000.tif 000007
【図６】
2008117000.tif 000008
【図７】
2008117000.tif 000009
【図８】
2008117000.tif 000010
【図９】
2008117000.tif 000011