(57)【要約】【課題】ＨＤＤとＯＤＤを使用する情報処理装置において、ＨＤＤのキャッシュメモリをＯＤＤに内蔵した場合、シャットダウン時に発生するＨＤＤとキャッシュメモリのデータの不整合を電源投入時に解消する。【解決手段】情報処理装置をシャットダウンする際、最初にＨＤＤにデバイスドライバは所定の固定データが書込まれた専用ファイルを作成する。キャッシュメモリがシャットダウンされた後、ＨＤＤがシャットダウンされる間にＨＤＤに書込みコマンドが発せられた場合には、専用ファイルに書込みコマンドの情報と識別子を格納する。電源投入時に前記専用ファイルを読出し、前記識別子が検出された場合には、前記キャッシュメモリを一時的なキャッシュテーブルのデータでマージする。【選択図】図４
2012119020.tif 000002
【特許請求の範囲】
【請求項１】
情報データを記録し、また再生するための情報処理装置であって、
該情報処理装置全体の動作を制御するホスト装置と、
該ホスト装置からの制御に応じて内蔵するハードディスク記録媒体に対して前記情報データを記録再生するＨＤＤと、
前記ホスト装置からの制御に応じて光ディスク記録媒体に対して前記情報データを記録再生するＯＤＤと、
該ＯＤＤに内蔵され前記ハードディスク記録媒体に記録し、または記録された前記情報データをキャッシュするキャッシュメモリ
を有し、
前記ホスト装置は、前記情報処理装置をシャットダウンする際には、
前記ＨＤＤに所定のデータを有する専用ファイルを生成し、
該専用ファイルの論理アドレスを取得し、
前記キャッシュメモリをシャットダウンした後、前記ＨＤＤをシャットダウンする期間において、前記ＨＤＤに対して情報データを記録するための書込みコマンドを発行した場合には、該書込みコマンドの情報と識別子の情報を前記専用ファイルの論理アドレスに格納して前記ホスト装置のシャットダウンを終了し、
前記ホスト装置は、前記情報処理装置に電源が投入される際には、
前記専用ファイルの論理アドレスの情報から前記識別子が検出されず、前記所定のデータでもなかった場合には前記キャッシュメモリに格納されたキャッシュテーブルをクリアし、前記所定のデータが検出された場合には前記キャッシュメモリに格納されたキャッシュテーブルを使用してキャッシュ動作を行うよう
制御することを特徴とする情報処理装置。
【請求項２】
情報データを記録し、また再生するための情報処理装置であって、
該情報処理装置全体の動作を制御するホスト装置と、
該ホスト装置からの制御に応じて内蔵するハードディスク記録媒体に対して前記情報データを記録再生するＨＤＤと、
前記ホスト装置からの制御に応じて光ディスク記録媒体に対して前記情報データを記録再生するＯＤＤと、
該ＯＤＤに内蔵され前記ハードディスク記録媒体に記録し、または記録された前記情報データをキャッシュするキャッシュメモリ
を有し、
前記ホスト装置は、前記情報処理装置をシャットダウンする際には、
前記ホスト装置内のＨＤＤに所定のデータを有する専用ファイルを生成し、
該専用ファイルの論理アドレスを取得し、
前記キャッシュメモリをシャットダウンした後、前記ＨＤＤをシャットダウンする期間において、前記ＨＤＤに対して情報データを記録するための書込みコマンドを発行した場合には、該書込みコマンドの情報と識別子の情報を前記専用ファイルの論理アドレスに格納して前記ホスト装置のシャットダウンを終了し、
前記ホスト装置は、前記情報処理装置に電源が投入される際には、
前記専用ファイルの論理アドレスの情報から前記識別子が検出された場合には前記キャッシュメモリに格納されたキャッシュテーブルを前記書込みコマンドの情報でマージしてキャッシュ動作を行うよう
制御することを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、前記キャッシュメモリを前記光ディスク記録媒体に対するキャッシュメモリとして共用することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、及び情報処理装置で用いる光ディスク装置に係り、特にキャッシュ管理情報の信頼性を向上した情報処理装置、及び情報処理装置で用いる光ディスク装置に関するものである。
【背景技術】
【０００２】
ＰＣ（Personal Computer）の分野では携帯して使用するノートＰＣが普及しており、現在も小型化、薄型化のための技術開発が進められている。周知のとおり、情報の記憶デバイスとしては、ハードディスクを使用するＨＤＤ（Hard Disk Drive）や、リムーバブルである光ディスクを使用するＯＤＤ（Optical Disc Drive）を搭載するものが多い。このためノートＰＣに搭載するＨＤＤでは２．５インチないし１．８インチの小型なハードディスクが使用され、またＯＤＤではスリムドライブと呼ばれる薄型のものが使用されている。
【０００３】
さらにノートＰＣをはじめとする情報処理装置では、小型化や薄型化のみならず、記録デバイスに対する記録再生処理の高速化が常に要求されている。もちろん、前記したＨＤＤやＯＤＤの小型化や薄型化を妨げることなく、また情報処理装置のシステム制御に大きな変更をせずに高速化できることが重要である。
特許文献１においては、情報処理装置におけるＨＤＤに対するデータの記録再生処理を、装置の大型化、システムの変更や不具合を伴うことなく高速化するため、ＨＤＤに対して記録再生するデータのためのキャッシュメモリを、ＨＤＤ側ではなくＯＤＤ側に設けた情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特願２００９−２７５６６８号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された方法は、データの記録再生処理を高速化するうえで有効な方法であるが、情報処理装置の電源を切断する際の前記キャッシュメモリのキャッシュ管理情報の処理方法を、さらに考慮することが望まれる。
【０００６】
ＨＤＤは、最も頻繁にアクセスされるブートドライブ（Boot Drive）として使用されることが多い。情報処理装置の電源を切断する際は、ＯＳ（Operation System）がブートドライブへのアクセスを最後まで行うことがある。この時、キャッシュ制御用の管理テーブルが格納されたキャッシュメモリは既にシャットダウンしているために、前記管理テーブルの情報を操作し、或いは更新することはできない。また、後記するファイルシステムはさらに前の段階でシャットダウンしているために、ＨＤＤに格納されたファイルに実際にアクセスすることはできず、ＯＳのレジストリなども更新することはできない。
【０００７】
このため、情報処理装置の電源を切断する際にＨＤＤへのアクセスが最後まで行われ、ＨＤＤへのデータの記録が発生した場合には、そのデータとアドレスをいずれにも保持できない状態で、ＨＤＤがシャットダウンされる。このため、次に電源を投入した後に得られるキャッシュのデータは、本来期待されるデータとの間で不整合が発生し、キャッシュ管理情報の信頼性が損なわれる場合がある。
本発明の目的は前記した状況に鑑み、キャッシュ管理情報の信頼性を向上した情報処理装置、及び情報処理装置で用いる光ディスク装置を提供することにある。
【課題を解決するための手段】
【０００８】
前記課題を解決するため本発明は、情報データを記録し、また再生するための情報処理装置であって、
該情報処理装置全体の動作を制御するホスト装置と、該ホスト装置からの制御に応じて内蔵するハードディスク記録媒体に対して前記情報データを記録再生するＨＤＤと、前記ホスト装置からの制御に応じて光ディスク記録媒体に対して前記情報データを記録再生するＯＤＤと、該ＯＤＤに内蔵され前記ハードディスク記録媒体に記録し、または記録された前記情報データをキャッシュするキャッシュメモリを有し、
前記ホスト装置は、前記情報処理装置をシャットダウンする際には、前記ＨＤＤ内に所定のデータを有する専用ファイルを生成し、該専用ファイルの論理アドレスを取得し、前記キャッシュメモリをシャットダウンした後、前記ＨＤＤをシャットダウンする期間において、前記ＨＤＤに対して情報データを記録するための書込みコマンドを発行した場合には、該書込みコマンドの情報を前記ＨＤＤ内の前記専用ファイルの論理アドレスに識別子を付加し一時的なキャッシュテーブルとして格納し、前記ホスト装置のシャットダウンを終了し、
前記ホスト装置は、前記情報処理装置に電源が投入される際には、前記の論理アドレスを読出し、前記識別子が検出された場合には前記キャッシュメモリに格納されたキャッシュテーブルを前記専用ファイルに格納された一時的なキャッシュテーブルの前記書込みコマンド情報でマージしてキャッシュ動作を行い、前記所定のデータが検出された場合には前記キャッシュメモリに格納されたキャッシュテーブルを使用してキャッシュ動作を行い、前記識別子が検出されず前記所定のデータでもなかった場合には前記キャッシュメモリに格納されたキャッシュテーブルをクリアするよう制御することを特徴としている。
【発明の効果】
【０００９】
本発明によれば、キャッシュ管理情報の信頼性を向上した情報処理装置、及び情報処理装置で用いる光ディスク装置を提供でき、情報処理装置の基本性能の向上に寄与できるという効果がある。
【図面の簡単な説明】
【００１０】
【図１】一実施例における情報処理装置のブロック図である。
【図２】一実施例におけるキャッシュ管理情報の構造を示す図である。
【図３】一実施例における情報処理装置のシャットダウンプロセスを示す図である。
【図４】一実施例における情報処理装置のシャットダウンプロセスを示すフローチャートである。
【図５】一実施例における情報処理装置のパワーオンプロセスを示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施例につき図面を用いて説明する。
現在の情報処理装置では最も主となる記録媒体はハードディスクであり、ＨＤＤにはＯＳ（Operating System）をはじめ、多くのアプリケーションソフトウェアやユーザの作成したファイルが格納されている。ＨＤＤは円盤状の記録媒体を回転させ、情報記録再生用のヘッドを移動させて情報を記録再生するため、消費電力が大きく、また連続していない情報を記録再生する場合には前記ヘッドを移動させる必要があるため、処理時間が増大する。前記した記録再生処理の高速化や低消費電力化のために、機構制御の不要なフラッシュメモリを大容量搭載したＳＳＤ（Solid State Drive）を採用してＨＤＤを置換えるという方法がある。しかし、半導体メモリの低価格化が進んでいるとはいえ、まだ大容量なＨＤＤを完全に置換えるには単位ビット数当たりの価格が高価である。また、データを繰返し書替える際の書替え耐性もＨＤＤに及んでいないのが現状である。
【００１２】
そこで以下の実施例においては、ＨＤＤよりは容量の小さいフラッシュメモリをはじめとするメモリを設けてＨＤＤのキャッシュメモリとして使用し、さらにこれをＯＤＤに搭載している。これにより本実施例は、先ず前記キャッシュメモリを用いてＨＤＤにおけるデータの記録再生処理を高速化することを狙っている。次に、装置の大型化、システム制御系の大幅な変更や価格の上昇が問題とはならない方法で、データの記録再生処理を高速化することを狙っている。さらには、例えば情報処理装置の電源が切断される際の動作に注目し、キャッシュ管理情報の信頼性を向上することを狙っている。
【００１３】
図１は、一実施例に関わる情報処理装置のブロック図である。本実施例による情報処理装置は、ホスト装置１、ＨＤＤ２とＯＤＤ３を備えている。
ホスト装置１は情報処理装置全体を制御する。ここでは説明を簡潔にするため、ＣＰＵやメモリのようなハードウェアの構成ではなく、ソフトウェアの構成で示している。これらのソフトウェアは主にＨＤＤ２に格納されるものであるが、ホスト装置１が動作状態にある時は、適宜読出されてホスト装置１が有する記憶部に図１に示す構造で格納されている。
【００１４】
ＨＤＤ２は記録媒体であるハードディスク２１を含む。ＯＤＤ３は前記した例えばフラッシュメモリによるキャッシュメモリ３２を含み、また取外し交換ができる光ディスク３１を含むことができる。キャッシュメモリ３２は、半導体メモリによる記録媒体ドライブであるＳＳＤ（Solid State Drive）であって良い。なお、ＨＤＤ２、ＯＤＤ３においてもＣＰＵや記録再生処理回路のようなハードウェアを省略して示している。
【００１５】
ホスト装置１は動作のための基本ソフトウェアとしてＯＳ１１を有し、ＯＳ１１は他の構成要素である各ソフトウェアを制御する。１２はファイルシステムであって、ＨＤＤ２とＯＤＤ３に対して記録再生するデータの記録デバイス上の論理アドレスを管理する。１３はＨＤＤ２とＯＤＤ３のアプリケーションソフトウェアであり、ＨＤＤ２とＯＤＤ３の記録再生動作を制御する。
【００１６】
１４はデバイスドライバであって、前記アプリケーションソフトウェア１３や前記ファイルシステム１２からの指示を受け、ＨＤＤ２とＯＤＤ３に対して各記録デバイスに対応した形式で、記録再生するデータが使用する物理空間を指示する。１４１はデバイスドライバ１４が有するキャッシュコントローラであって、前記アプリケーションソフトウェア１３の指令に応じてデータを記録する際に、ＨＤＤ２、ＯＤＤ３が有する例えばフラッシュメモリなどのキャッシュメモリ３２に記録するための制御を行い、またＨＤＤ２やキャッシュメモリ３２から再生されたデータをアプリケーションソフトウェア１３へ送るための制御を行う。
【００１７】
１５はハードウェアドライバであって、ホスト装置１におけるＨＤＤ２、ＯＤＤ３、及び図示しない他の外部装置との規格に基づいたインタフェースを行う。ＨＤＤ２やＯＤＤ３に対してはＳＡＴＡ（Serial Advanced Technology Attachment）規格に基づくＳＡＴＡインタフェース１５１を有した例を示している。ＳＡＴＡインタフェース１５１は、所定のポートを用いケーブル１５１Ａを介してＨＤＤ２と接続されており、また所定のポートを用いケーブル１５１Bを介してＯＤＤ３と接続されている。
【００１８】
なお、図１では矢印で示した記録再生するデータのフローは、本実施例の一つの特徴であるＨＤＤ２に対してデータを記録再生する際のフローのみを表示し、ＯＤＤ３が有する光ディスク３１に対するデータのフローは表示していない。
前記したように、本実施例では例えばフラッシュメモリによるメモリをＯＤＤ３に設け、ＨＤＤ２に対するキャッシュメモリ３２として使用している。これによりＨＤＤ２に対するデータの記録再生処理を高速化することを狙っている。
【００１９】
キャッシュメモリ３２にデータが蓄積されていない状態からの動作を述べる。例えばホスト装置１のアプリケーション１３からのＨＤＤ２に対するデータ再生要求があった際に、ＨＤＤ２から該当するデータを読出してホスト装置１に送るとともに、このデータをキャッシュメモリ３２に記憶する。キャッシュメモリ３２に記憶されたデータは、ホスト装置１から個々のデータの上書き（更新）の指示があるごとに頻繁に書き直しても良いが（ライトキャッシュ）、上書き指示がある時にはキャッシュメモリ３２への登録を止めてＨＤＤ２に書込みし、データの編集が完了した際にまとめて書き直しても良い（リードキャッシュ）。以後、アプリケーション１３が同じファイルのデータを要求した際に、直ちにキャッシュメモリ３２に記憶したデータを供給することで前記処理の高速化ができる。このため、ＨＤＤ２が動作に要する時間だけ処理時間を低減することができ、さらには消費電流を低減する効果もある。
【００２０】
キャッシュメモリ３２を、キャッシュコントローラ１４１とともに、ＨＤＤ２に内蔵する方法もある。しかし、周知のとおり、情報処理装置が稼動している間はＨＤＤ２にはアクセスが常時ホスト装置１との間で行われる。この方法では、ホスト装置１とＨＤＤ２の間で授受されるデータ量は、図１の場合と比較して増大することになり、記録再生処理の高速化の効果において、図１ほどの効果を得ることはできない。また、ＯＤＤ３が動作して光ディスク３１に対して記録再生動作を行う機会は、ＨＤＤ２と比べて遥かに少ない。したがい、図１に示すように光ディスク３１とキャッシュメモリ３２のデータで同じポートを共用したとしても、記録再生処理の高速化を阻害する要因となることは殆どないので、期待した高速化を果たすことができる。また、ホスト装置１とＨＤＤ２、ホスト装置とＯＤＤ３の間で授受されるデータ量は、キャッシュメモリ３２を有さない従来の場合と比較して同等であるため、ホスト装置１の制御ソフトウェアに変更を加える必要はないという特徴もある。
【００２１】
なお、デバイスドライバ１４がキャッシュコントローラ１４１を組込むことにより、キャッシュメモリ３２に格納されるキャッシュ管理情報は、ファイルシステム１２を介在することなく、デバイスドライバ１４によって管理される。
【００２２】
図１のキャッシュメモリ３２は、ＯＤＤ３が光ディスク３１に対してデータを記録再生する際のキャッシュメモリとして共用しても良い。この場合は、光ディスク３１に対するデータの記録再生処理の高速化にも寄与することができる。
さらにキャッシュメモリ３２はホスト装置１のキャッシュメモリを兼ねることもできる。すなわちホスト装置１、ＨＤＤ２、ＯＤＤ３のいずれか一つ、或いは二つか三つのキャッシュメモリとして機能することもできる。複数の装置のキャッシュメモリを兼ねる場合は、キャッシュメモリ３２の記憶領域を、前記装置の数に応じて分けて管理すると良い。
【００２３】
次に、キャッシュメモリ３２にキャッシュされるキャッシュ管理情報について説明する。
図２は、一実施例におけるキャッシュ管理情報の構造を示す図である。キャッシュメモリ３２は、キャッシュ管理情報を格納するエリアとして、キャッシュテーブルエリア３２１とキャッシュデータエリア３２２を有する。キャッシュテーブルエリア３２１は、格納したキャッシュデータの各々に対するＨＤＤ２での論理アドレス（ＬＢＡ；Logical Block Address）、ＳＳＤによるキャッシュメモリ３２での論理アドレス、セクタ数、ライトフラグの情報を有している。ＨＤＤ２での論理アドレスはファイルシステム１２が定めて、キャッシュメモリでの論理アドレスはデバイスドライバ１４が定めて管理している。一方、キャッシュデータエリア３２２は、キャッシュされたユーザデータ３２２１を有している。このようにキャッシュされたユーザデータ３２２１は、格納されたエリアの論理アドレスと一体でキャッシュメモリ３２に格納される。
【００２４】
これに対して、ＨＤＤ２に記録したデータのキャッシュ情報を、ＨＤＤ２に格納する方法が考えられる。しかし、本実施例ではＨＤＤ２とは別に設けられたキャッシュメモリ３２に格納する理由は次のとおりである。ＨＤＤ２は、周知のとおり例えばデフラグの動作により、データが格納された物理アドレスを変更することがある。これは、前記データが構成するファイルを物理的に再配置して、処理動作を早めるための動作である。したがい、キャッシュ管理情報をＨＤＤ２に格納すると、他の構成要素が関知しないうちに、キャッシュ管理情報のＨＤＤ２での物理アドレスが変更されることになり、キャッシュ情報を読出す際に不都合がある。このため、図１ではキャッシュ情報をＨＤＤ２とは別に設けられたキャッシュメモリ３２に格納している。また前記したとおり、ＨＤＤ２のキャッシュメモリ３２はＯＤＤ３が有している。
【００２５】
次に、例えば情報処理装置が電源を切断される際に行われる、シャットダウンの動作について説明する。
図３は、一実施例における情報処理装置のシャットダウンプロセスを示す図である。
情報処理装置をシャットダウンする際は、まず動作中（図中のNormal）のアプリケーション１３がシャットダウン（３０１）される。次に、ＨＤＤ２とＯＤＤ３に対して記録再生するデータの記録デバイス上の論理アドレスを管理し適宜更新するファイルシステム１２がシャットダウン（３０２）される。
【００２６】
さらに、ＨＤＤ２とＯＤＤ３に対して各記録デバイスに対応した形式で記録再生するデータが使用する物理空間を指示するデバイスドライバ１４がシャットダウンされる。この際、例えばＳＳＤによるキャッシュドライブのドライバが先にシャットダウン（３０３）され、最後にＨＤＤによるブートドライブのドライバがシャットダウン（３０４）される。
この間、ファイルシステム１２のシャットダウン（３０２）が開始されると、ファイルシステム１２が有する前記した物理アドレスの管理機能は停止される。また、ＨＤＤのドライバのシャットダウン（３０４）が開始される時点では、ファイルシステム１２のシャットダウン（３０２）とキャッシュメモリのドライバのシャットダウン（３０３）は完了している。
【００２７】
ＨＤＤのドライバのシャットダウン（３０４）の期間であっても、ＯＳ１１は、ＨＤＤ２に対する書込みコマンドを発することがある。
既にファイルシステム１２とキャッシュメモリ３２のドライバはシャットダウンされているため、前記書込みコマンドが発せられても、ファイルシステム１２によるＯＳのレジストリの更新やキャッシュメモリ３２のデータの更新ができない。したがい、前記書込みコマンドのアドレスやデータを保持することはできない状態で、ＨＤＤ２がシャットダウンされる。このため、次に電源を投入した後に得られるキャッシュのデータは、本来期待されるデータとの間で不整合が発生し、キャッシュデータの信頼性が損なわれるという不具合がある。
【００２８】
本実施例においては、この不具合を解消しキャッシュデータの信頼性を向上することを一つの特徴としている。
このための改善策は、例えばアプリケーション１３のシャットダウン期間３０１と、ＨＤＤのデバイスドライバのシャットダウン期間３０４に対して施される。
【００２９】
アプリケーション１３のシャットダウン期間３０１においては、次に述べる処理が行われる。デバイスドライバ１４のキャッシュコントローラ１４１はファイルシステム１２に指示してブートドライブであるＨＤＤ２に、例えば４ＫＢを最小単位とする専用ファイルを生成させる。またキャッシュコントローラ１４１は、前記専用ファイルの論理アドレスをキャッシュコントローラ１４１が有するレジストリに登録する。なお、前記専用ファイルに最初に書込まれるデータは、所定の固定されたデータとする。該固定されたデータの内容は、情報処理装置のキャッシュコントローラ１４１が予め知っている。
【００３０】
ＨＤＤのデバイスドライバのシャットダウン期間３０４においては、次に述べる処理が行われる。キャッシュメモリ３２のデバイスドライバに対してシャットダウン（３０３）が行われ、キャッシュメモリ３２へデータを書込めなくなって以降に受信したＨＤＤ２への書込みコマンド（例えばその論理アドレスとセクタ数）が保持される。ＨＤＤのデバイスドライバは、前記レジストリに登録された前記専用ファイルの論理アドレスを読出し、これに基づき前記専用ファイルのデータをチェックする。
【００３１】
読出した前記専用ファイルのデータが、前記所定の固定されたデータと一致した場合には、ＨＤＤのデバイスドライバは、前記論理アドレスの領域はキャッシュコントローラ１４１で生成したファイルの領域と判断して、前記書込みコマンド情報とその識別子の情報を前記論理アドレスに記録する。
読出した前記専用ファイルのデータが、前記所定の固定されたデータと一致しない場合には、ＨＤＤのデバイスドライバは、前記論理アドレスの領域はキャッシュコントローラ１４１で生成したファイル領域ではないと判断し、そのままシャットダウン期間３０４を終了する。
【００３２】
次に、以上述べたようにシャットダウンを行った情報処理装置に電源を入れて起動する際の動作を説明する。
ＨＤＤのデバイスドライバは、前記レジストリに登録された前記専用ファイルの論理アドレスを読出し、これに基づき前記専用ファイルを読出して、データをチェックする。
【００３３】
読出されたデータが前記所定の固定されたデータと一致した場合には、ＨＤＤのデバイスドライバは、先のシャットダウン時において、キャッシュメモリ３２へデータを書込めなくなって以降にＨＤＤ２への書込みコマンドは発せられなかったと判断して、キャッシュメモリ３２に格納されたキャッシュテーブルをそのまま使用して、キャッシュ動作を起動する。
【００３４】
読出されたデータに前記書込みコマンドが発せられた旨を示す識別子が含まれている場合には、前記保持した書込みコマンド情報の内容をキャッシュメモリ３２のキャッシュテーブルにマージし、即ち、先のシャットダウン時において、キャッシュメモリ３２へデータを書込めなくなって以降にＨＤＤ２に対して発せられた書込みコマンドの内容をキャッシュメモリ３２に反映し、キャッシュ動作を起動する。このため、キャッシュデータがシャットダウンの際に不整合となる問題を解消することができる。
【００３５】
なお、前記二つの場合のいずれにも相当しない場合には、ＨＤＤのデバイスドライバは異常が発生したと判断し、キャッシュメモリ３２に格納されたキャッシュテーブルを初期化（クリア）し、例えば電源を投入した後に初めてＨＤＤ２に格納されたデータにアクセスする際には、キャッシュメモリ３２からではなく、ＨＤＤ２からデータを読出す。
【００３６】
次に、情報処理装置をシャットダウンする時の方法を、さらに詳しく説明する。
図４は、一実施例における情報処理装置のシャットダウンプロセスを示すフローチャートである。
【００３７】
まずアプリケーション１３のシャットダウンが開始される。ステップＳ４１３１ではデバイスドライバ１４のキャッシュコントローラ１４１は、ファイルシステム１２に指示してブートドライブであるＨＤＤ２に、例えば４ＫＢを最小単位とする専用ファイルを生成させる。ステップＳ４１３２ではキャッシュコントローラ１４１は、ファイルシステム１２から前記専用ファイルの論理アドレスを取得し、続くステップＳ４１３３ではキャッシュコントローラ１４１が有するレジストリに前記論理アドレスを登録する。なお、前記専用ファイルに最初に書込まれるデータは、所定の固定されたデータとする。以上のステップを経てアプリケーション１３のシャットダウンが終了する。
【００３８】
引続きファイルシステム１２のシャットダウンが開始されるが、その過程については本実施例と直接の関わりは少ないので、説明を省略する。
一方、キャッシュコントローラ１４１は、シャットダウン以前の通常の状態ではプロセスＰ４１に示すようなキャッシュ動作を行う。例えばＨＤＤ２に対して読取りコマンドが発せられた場合には、キャッシュがヒットする状態（キャッシュメモリ３２に当該データが存在する状態）ではデータをＨＤＤ２からではなくキャッシュメモリ３２から読取る。キャッシュがミスする状態（キャッシュメモリ３２に当該データが存在しない状態）ではデータをＨＤＤ２から読取り、また読取ったデータをキャッシュメモリ３２に書込み、キャッシュテーブルに登録する。ＨＤＤ２に対して書込みコマンドが発せられた場合には、当該アドレスに保持しているキャッシュデータが存在した場合に、キャッシュテーブルの当該キャッシュデータを無効にする更新をする。
【００３９】
ファイルシステム１２のシャットダウンが終了すると、引続きデバイスドライバ１４のシャットダウンが開始される。まず、例えばＳＳＤによるキャッシュメモリ３２のデバイスドライバのシャットダウンが開始される。ステップＳ４１４１では図２で示した構造のキャッシュ管理情報を含むテーブルをキャッシュメモリ３２に格納し、この時点でのキャッシュデータの整合性を取る。その後、キャッシュメモリ３２のデバイスドライバのシャットダウンが終了する。
【００４０】
キャッシュメモリ３２のデバイスドライバのシャットダウンが終了した後は、プロセスＰ４２に示すようなキャッシュ動作を行う。即ち、ＨＤＤ２に対して読取りコマンドが発せられた場合には、既にキャッシュメモリ３２からデータを読取ることはできないため、キャッシュしたデータを無視してＨＤＤ２からデータを読取る。一方、ＨＤＤ２に書込みコマンドが発せられた場合には、受信したＨＤＤ２への書込みコマンド情報（例えばその論理アドレスとセクタ数）を、ＨＤＤのデバイスドライバに保持させる。
【００４１】
引続き、ＨＤＤのデバイスドライバのシャットダウンが開始される。ＨＤＤ２に対する前記書込みコマンドをはじめとする全てのコマンドが終了すると、ステップＳ４１４２ではＨＤＤのデバイスドライバは、前記レジストリに登録された前記専用ファイルの論理アドレス情報を確認し、前記一時的なキャッシュテーブルが存在するか否かを判定する。
【００４２】
ステップＳ４１４２の判定で、一時的なキャッシュテーブルは存在しないと判定された場合には（図中のＮｏ）、そのままシャットダウンが終了する。この場合は、ＨＤＤ２とキャッシュメモリ３２との間でデータの不整合が起こる問題は、従来と同様である。
ステップＳ４１４２の判定で、一時的なキャッシュテーブルが存在すると判定された場合には（図中のＹｅｓ）、ステップＳ４１４３に到る。ステップＳ４１４３では、ＨＤＤのデバイスドライバは前記論理アドレスに基づき、前記一時的なキャッシュテーブルを読出して、データをチェックする。即ち、該データが先にステップＳ４１３１で作成された専用ファイルに与えられた所定の固定データと一致するか否かを判定する。
【００４３】
ステップＳ４１４３での判定で、読出した前記一時的なキャッシュテーブルのデータが、前記所定の固定データと一致しないと判定された場合には（図中のＮｏ）、そのままシャットダウンが終了する。この場合は、ＨＤＤ２とキャッシュメモリ３２との間でデータの不整合が起こる問題は、従来と同様である。
【００４４】
ステップＳ４１４３での判定で、読出した前記一時的なキャッシュテーブルのデータが、前記所定の固定データと一致すると判定された場合には（図中のＹｅｓ）、前記一時的なキャッシュテーブルの領域が有効と判断して、ステップＳ４１４４に到る。ステップＳ４１４４では、ＨＤＤのデバイスドライバは、前記ＨＤＤのデバイスドライバに保持した書込みコマンド情報と、書込みがあった旨を示す識別子を、前記一時的なキャッシュテーブル領域に書込んだうえで、シャットダウンが終了する。
【００４５】
次に、シャットダウンされた情報処理装置に再度電源を供給して立ち上げる時の方法を、さらに詳しく説明する。
図５は、一実施例における情報処理装置のパワーオンプロセスを示すフローチャートである。電源投入時の処理は、デバイスドライバ１４、ファイルシステム１２、アプリケーション１３の順で行われる。ここでは、本実施例と関係の多いデバイスドライバ１４での処理を説明する。
【００４６】
処理が開始されると、ステップＳ５１４１ではデバイスドライバ１４は、例えばＳＳＤによるキャッシュメモリ３２からキャッシュテーブルを読込む。このキャッシュテーブルのデータは前記したとおり、キャッシュとしては不適当なことがある。
次に、ステップＳ５１４２ではデバイスドライバ１４は、前記レジストリに登録された前記一時的なキャッシュテーブルの論理アドレスを取得する。ステップＳ５１４３ではＨＤＤのデバイスドライバは、前記論理アドレス基づき前記一時的なキャッシュテーブルを読込み、そのデータをステップＳ５１４４以下のステップでチェックする。ステップＳ５１４４ではＨＤＤのデバイスドライバは、読取ったデータが前記所定の固定されたデータと一致するか否かを判定する。
【００４７】
ステップＳ５１４４での判定の結果、読込んだデータが前記所定の固定されたデータと一致する場合には（図中のＹｅｓ）、ＨＤＤのデバイスドライバは、先のシャットダウン時において、キャッシュメモリ３２へデータを書込めなくなって以降にＨＤＤ２への書込みコマンドは発せられなかったと判断して、ステップＳ５１４１で読込んだキャッシュメモリ３２に格納されたキャッシュテーブルをそのまま使用して、通常のキャッシュ動作Ｐ５１を起動する。
【００４８】
ステップＳ５１４４での判定の結果、読込んだデータが前記所定の固定されたデータと一致しない場合には（図中のＮｏ）、ステップＳ５１４５に到る。ステップＳ５１４５ではＨＤＤのデバイスドライバは、読込んだデータに書込みコマンドが発せられた旨を示す前記識別子が含まれているか否かを判定する。
【００４９】
ステップＳ５１４５での判定の結果、読込んだデータに前記識別子が含まれていると判定された場合には（図中のＹｅｓ）、読込んだデータが前記一時的なキャッシュテーブルと判定し、該一時的なキャッシュテーブルの書込みコマンド情報の内容をキャッシュメモリ３２のキャッシュテーブルにマージし、即ち、先のシャットダウン時において、キャッシュメモリ３２へデータを書込めなくなって以降にＨＤＤ２に対して発せられた書込みコマンドの内容をキャッシュメモリ３２に反映した後、通常のキャッシュ動作Ｐ５１を起動する。このため、キャッシュデータがシャットダウンの際に不整合となる問題を解消することができる。
【００５０】
ステップＳ５１４５での判定の結果、読込んだデータに前記識別子が含まれていないと判定された場合には（図中のＮｏ）、ＨＤＤのデバイスドライバは何らかの異常が発生したと判断し、キャッシュメモリ３２に格納されたキャッシュテーブルを初期化（クリア）することでキャッシュデータの不整合状態を解消し、例えば電源を投入した後に初めてＨＤＤ２に格納されたデータにアクセスする際には、キャッシュメモリ３２からではなく、ＨＤＤ２からデータを読出すこととする。その後、通常のキャッシュ動作Ｐ５１を起動する。
【００５１】
以上のようにすることにより、シャットダウン時に発生するキャッシュデータの不整合を、電源投入時に解消することができる。このため、キャッシュ管理情報の信頼性を向上した情報処理装置、及び情報処理装置で用いる光ディスク装置を提供することができる。
ここまで示した実施形態は一例であって、本発明を限定するものではない。例えば図４や図５のフローチャートにおいては、さらにステップを追加した実施形態を考えることができる。また、データの書込みがあった旨を示す前記識別子のみを前記レジストリの論理アドレスに登録してシャットダウンし、電源投入時に識別子が検出された場合には、常にキャッシュメモリ３２のキャッシュテーブルをクリアしても良い。このように本発明の趣旨に基づきながら異なる実施形態を考えられるが、いずれも本発明の範疇にある。
【符号の説明】
【００５２】
１：情報処理装置、１１：ＯＳ、１２：ファイルシステム、１３：アプリケーション、１４：デバイスドライバ、１５：ハードウェアドライバ、２：ＨＤＤ、３：ＯＤＤ、３２：キャッシュメモリ、３２１：キャッシュテーブルエリア、３２２：キャッシュデータエリア、３２２１：ユーザデータ。
【図１】
2012119020.tif 000003
【図２】
2012119020.tif 000004
【図３】
2012119020.tif 000005
【図４】
2012119020.tif 000006
【図５】
2012119020.tif 000007