説明

情報処理装置

【課題】HDDとODDを使用する情報処理装置において、HDDのキャッシュメモリをODDに内蔵した場合、シャットダウン時に発生するHDDとキャッシュメモリのデータの不整合を電源投入時に解消する。
【解決手段】情報処理装置をシャットダウンする際、最初にHDDにデバイスドライバは所定の固定データが書込まれた専用ファイルを作成する。キャッシュメモリがシャットダウンされた後、HDDがシャットダウンされる間にHDDに書込みコマンドが発せられた場合には、専用ファイルに書込みコマンドの情報と識別子を格納する。電源投入時に前記専用ファイルを読出し、前記識別子が検出された場合には、前記キャッシュメモリを一時的なキャッシュテーブルのデータでマージする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置、及び情報処理装置で用いる光ディスク装置に係り、特にキャッシュ管理情報の信頼性を向上した情報処理装置、及び情報処理装置で用いる光ディスク装置に関するものである。
【背景技術】
【0002】
PC(Personal Computer)の分野では携帯して使用するノートPCが普及しており、現在も小型化、薄型化のための技術開発が進められている。周知のとおり、情報の記憶デバイスとしては、ハードディスクを使用するHDD(Hard Disk Drive)や、リムーバブルである光ディスクを使用するODD(Optical Disc Drive)を搭載するものが多い。このためノートPCに搭載するHDDでは2.5インチないし1.8インチの小型なハードディスクが使用され、またODDではスリムドライブと呼ばれる薄型のものが使用されている。
【0003】
さらにノートPCをはじめとする情報処理装置では、小型化や薄型化のみならず、記録デバイスに対する記録再生処理の高速化が常に要求されている。もちろん、前記したHDDやODDの小型化や薄型化を妨げることなく、また情報処理装置のシステム制御に大きな変更をせずに高速化できることが重要である。
特許文献1においては、情報処理装置におけるHDDに対するデータの記録再生処理を、装置の大型化、システムの変更や不具合を伴うことなく高速化するため、HDDに対して記録再生するデータのためのキャッシュメモリを、HDD側ではなくODD側に設けた情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特願2009−275668号
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示された方法は、データの記録再生処理を高速化するうえで有効な方法であるが、情報処理装置の電源を切断する際の前記キャッシュメモリのキャッシュ管理情報の処理方法を、さらに考慮することが望まれる。
【0006】
HDDは、最も頻繁にアクセスされるブートドライブ(Boot Drive)として使用されることが多い。情報処理装置の電源を切断する際は、OS(Operation System)がブートドライブへのアクセスを最後まで行うことがある。この時、キャッシュ制御用の管理テーブルが格納されたキャッシュメモリは既にシャットダウンしているために、前記管理テーブルの情報を操作し、或いは更新することはできない。また、後記するファイルシステムはさらに前の段階でシャットダウンしているために、HDDに格納されたファイルに実際にアクセスすることはできず、OSのレジストリなども更新することはできない。
【0007】
このため、情報処理装置の電源を切断する際にHDDへのアクセスが最後まで行われ、HDDへのデータの記録が発生した場合には、そのデータとアドレスをいずれにも保持できない状態で、HDDがシャットダウンされる。このため、次に電源を投入した後に得られるキャッシュのデータは、本来期待されるデータとの間で不整合が発生し、キャッシュ管理情報の信頼性が損なわれる場合がある。
本発明の目的は前記した状況に鑑み、キャッシュ管理情報の信頼性を向上した情報処理装置、及び情報処理装置で用いる光ディスク装置を提供することにある。
【課題を解決するための手段】
【0008】
前記課題を解決するため本発明は、情報データを記録し、また再生するための情報処理装置であって、
該情報処理装置全体の動作を制御するホスト装置と、該ホスト装置からの制御に応じて内蔵するハードディスク記録媒体に対して前記情報データを記録再生するHDDと、前記ホスト装置からの制御に応じて光ディスク記録媒体に対して前記情報データを記録再生するODDと、該ODDに内蔵され前記ハードディスク記録媒体に記録し、または記録された前記情報データをキャッシュするキャッシュメモリを有し、
前記ホスト装置は、前記情報処理装置をシャットダウンする際には、前記HDD内に所定のデータを有する専用ファイルを生成し、該専用ファイルの論理アドレスを取得し、前記キャッシュメモリをシャットダウンした後、前記HDDをシャットダウンする期間において、前記HDDに対して情報データを記録するための書込みコマンドを発行した場合には、該書込みコマンドの情報を前記HDD内の前記専用ファイルの論理アドレスに識別子を付加し一時的なキャッシュテーブルとして格納し、前記ホスト装置のシャットダウンを終了し、
前記ホスト装置は、前記情報処理装置に電源が投入される際には、前記の論理アドレスを読出し、前記識別子が検出された場合には前記キャッシュメモリに格納されたキャッシュテーブルを前記専用ファイルに格納された一時的なキャッシュテーブルの前記書込みコマンド情報でマージしてキャッシュ動作を行い、前記所定のデータが検出された場合には前記キャッシュメモリに格納されたキャッシュテーブルを使用してキャッシュ動作を行い、前記識別子が検出されず前記所定のデータでもなかった場合には前記キャッシュメモリに格納されたキャッシュテーブルをクリアするよう制御することを特徴としている。
【発明の効果】
【0009】
本発明によれば、キャッシュ管理情報の信頼性を向上した情報処理装置、及び情報処理装置で用いる光ディスク装置を提供でき、情報処理装置の基本性能の向上に寄与できるという効果がある。
【図面の簡単な説明】
【0010】
【図1】一実施例における情報処理装置のブロック図である。
【図2】一実施例におけるキャッシュ管理情報の構造を示す図である。
【図3】一実施例における情報処理装置のシャットダウンプロセスを示す図である。
【図4】一実施例における情報処理装置のシャットダウンプロセスを示すフローチャートである。
【図5】一実施例における情報処理装置のパワーオンプロセスを示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施例につき図面を用いて説明する。
現在の情報処理装置では最も主となる記録媒体はハードディスクであり、HDDにはOS(Operating System)をはじめ、多くのアプリケーションソフトウェアやユーザの作成したファイルが格納されている。HDDは円盤状の記録媒体を回転させ、情報記録再生用のヘッドを移動させて情報を記録再生するため、消費電力が大きく、また連続していない情報を記録再生する場合には前記ヘッドを移動させる必要があるため、処理時間が増大する。前記した記録再生処理の高速化や低消費電力化のために、機構制御の不要なフラッシュメモリを大容量搭載したSSD(Solid State Drive)を採用してHDDを置換えるという方法がある。しかし、半導体メモリの低価格化が進んでいるとはいえ、まだ大容量なHDDを完全に置換えるには単位ビット数当たりの価格が高価である。また、データを繰返し書替える際の書替え耐性もHDDに及んでいないのが現状である。
【0012】
そこで以下の実施例においては、HDDよりは容量の小さいフラッシュメモリをはじめとするメモリを設けてHDDのキャッシュメモリとして使用し、さらにこれをODDに搭載している。これにより本実施例は、先ず前記キャッシュメモリを用いてHDDにおけるデータの記録再生処理を高速化することを狙っている。次に、装置の大型化、システム制御系の大幅な変更や価格の上昇が問題とはならない方法で、データの記録再生処理を高速化することを狙っている。さらには、例えば情報処理装置の電源が切断される際の動作に注目し、キャッシュ管理情報の信頼性を向上することを狙っている。
【0013】
図1は、一実施例に関わる情報処理装置のブロック図である。本実施例による情報処理装置は、ホスト装置1、HDD2とODD3を備えている。
ホスト装置1は情報処理装置全体を制御する。ここでは説明を簡潔にするため、CPUやメモリのようなハードウェアの構成ではなく、ソフトウェアの構成で示している。これらのソフトウェアは主にHDD2に格納されるものであるが、ホスト装置1が動作状態にある時は、適宜読出されてホスト装置1が有する記憶部に図1に示す構造で格納されている。
【0014】
HDD2は記録媒体であるハードディスク21を含む。ODD3は前記した例えばフラッシュメモリによるキャッシュメモリ32を含み、また取外し交換ができる光ディスク31を含むことができる。キャッシュメモリ32は、半導体メモリによる記録媒体ドライブであるSSD(Solid State Drive)であって良い。なお、HDD2、ODD3においてもCPUや記録再生処理回路のようなハードウェアを省略して示している。
【0015】
ホスト装置1は動作のための基本ソフトウェアとしてOS11を有し、OS11は他の構成要素である各ソフトウェアを制御する。12はファイルシステムであって、HDD2とODD3に対して記録再生するデータの記録デバイス上の論理アドレスを管理する。13はHDD2とODD3のアプリケーションソフトウェアであり、HDD2とODD3の記録再生動作を制御する。
【0016】
14はデバイスドライバであって、前記アプリケーションソフトウェア13や前記ファイルシステム12からの指示を受け、HDD2とODD3に対して各記録デバイスに対応した形式で、記録再生するデータが使用する物理空間を指示する。141はデバイスドライバ14が有するキャッシュコントローラであって、前記アプリケーションソフトウェア13の指令に応じてデータを記録する際に、HDD2、ODD3が有する例えばフラッシュメモリなどのキャッシュメモリ32に記録するための制御を行い、またHDD2やキャッシュメモリ32から再生されたデータをアプリケーションソフトウェア13へ送るための制御を行う。
【0017】
15はハードウェアドライバであって、ホスト装置1におけるHDD2、ODD3、及び図示しない他の外部装置との規格に基づいたインタフェースを行う。HDD2やODD3に対してはSATA(Serial Advanced Technology Attachment)規格に基づくSATAインタフェース151を有した例を示している。SATAインタフェース151は、所定のポートを用いケーブル151Aを介してHDD2と接続されており、また所定のポートを用いケーブル151Bを介してODD3と接続されている。
【0018】
なお、図1では矢印で示した記録再生するデータのフローは、本実施例の一つの特徴であるHDD2に対してデータを記録再生する際のフローのみを表示し、ODD3が有する光ディスク31に対するデータのフローは表示していない。
前記したように、本実施例では例えばフラッシュメモリによるメモリをODD3に設け、HDD2に対するキャッシュメモリ32として使用している。これによりHDD2に対するデータの記録再生処理を高速化することを狙っている。
【0019】
キャッシュメモリ32にデータが蓄積されていない状態からの動作を述べる。例えばホスト装置1のアプリケーション13からのHDD2に対するデータ再生要求があった際に、HDD2から該当するデータを読出してホスト装置1に送るとともに、このデータをキャッシュメモリ32に記憶する。キャッシュメモリ32に記憶されたデータは、ホスト装置1から個々のデータの上書き(更新)の指示があるごとに頻繁に書き直しても良いが(ライトキャッシュ)、上書き指示がある時にはキャッシュメモリ32への登録を止めてHDD2に書込みし、データの編集が完了した際にまとめて書き直しても良い(リードキャッシュ)。以後、アプリケーション13が同じファイルのデータを要求した際に、直ちにキャッシュメモリ32に記憶したデータを供給することで前記処理の高速化ができる。このため、HDD2が動作に要する時間だけ処理時間を低減することができ、さらには消費電流を低減する効果もある。
【0020】
キャッシュメモリ32を、キャッシュコントローラ141とともに、HDD2に内蔵する方法もある。しかし、周知のとおり、情報処理装置が稼動している間はHDD2にはアクセスが常時ホスト装置1との間で行われる。この方法では、ホスト装置1とHDD2の間で授受されるデータ量は、図1の場合と比較して増大することになり、記録再生処理の高速化の効果において、図1ほどの効果を得ることはできない。また、ODD3が動作して光ディスク31に対して記録再生動作を行う機会は、HDD2と比べて遥かに少ない。したがい、図1に示すように光ディスク31とキャッシュメモリ32のデータで同じポートを共用したとしても、記録再生処理の高速化を阻害する要因となることは殆どないので、期待した高速化を果たすことができる。また、ホスト装置1とHDD2、ホスト装置とODD3の間で授受されるデータ量は、キャッシュメモリ32を有さない従来の場合と比較して同等であるため、ホスト装置1の制御ソフトウェアに変更を加える必要はないという特徴もある。
【0021】
なお、デバイスドライバ14がキャッシュコントローラ141を組込むことにより、キャッシュメモリ32に格納されるキャッシュ管理情報は、ファイルシステム12を介在することなく、デバイスドライバ14によって管理される。
【0022】
図1のキャッシュメモリ32は、ODD3が光ディスク31に対してデータを記録再生する際のキャッシュメモリとして共用しても良い。この場合は、光ディスク31に対するデータの記録再生処理の高速化にも寄与することができる。
さらにキャッシュメモリ32はホスト装置1のキャッシュメモリを兼ねることもできる。すなわちホスト装置1、HDD2、ODD3のいずれか一つ、或いは二つか三つのキャッシュメモリとして機能することもできる。複数の装置のキャッシュメモリを兼ねる場合は、キャッシュメモリ32の記憶領域を、前記装置の数に応じて分けて管理すると良い。
【0023】
次に、キャッシュメモリ32にキャッシュされるキャッシュ管理情報について説明する。
図2は、一実施例におけるキャッシュ管理情報の構造を示す図である。キャッシュメモリ32は、キャッシュ管理情報を格納するエリアとして、キャッシュテーブルエリア321とキャッシュデータエリア322を有する。キャッシュテーブルエリア321は、格納したキャッシュデータの各々に対するHDD2での論理アドレス(LBA;Logical Block Address)、SSDによるキャッシュメモリ32での論理アドレス、セクタ数、ライトフラグの情報を有している。HDD2での論理アドレスはファイルシステム12が定めて、キャッシュメモリでの論理アドレスはデバイスドライバ14が定めて管理している。一方、キャッシュデータエリア322は、キャッシュされたユーザデータ3221を有している。このようにキャッシュされたユーザデータ3221は、格納されたエリアの論理アドレスと一体でキャッシュメモリ32に格納される。
【0024】
これに対して、HDD2に記録したデータのキャッシュ情報を、HDD2に格納する方法が考えられる。しかし、本実施例ではHDD2とは別に設けられたキャッシュメモリ32に格納する理由は次のとおりである。HDD2は、周知のとおり例えばデフラグの動作により、データが格納された物理アドレスを変更することがある。これは、前記データが構成するファイルを物理的に再配置して、処理動作を早めるための動作である。したがい、キャッシュ管理情報をHDD2に格納すると、他の構成要素が関知しないうちに、キャッシュ管理情報のHDD2での物理アドレスが変更されることになり、キャッシュ情報を読出す際に不都合がある。このため、図1ではキャッシュ情報をHDD2とは別に設けられたキャッシュメモリ32に格納している。また前記したとおり、HDD2のキャッシュメモリ32はODD3が有している。
【0025】
次に、例えば情報処理装置が電源を切断される際に行われる、シャットダウンの動作について説明する。
図3は、一実施例における情報処理装置のシャットダウンプロセスを示す図である。
情報処理装置をシャットダウンする際は、まず動作中(図中のNormal)のアプリケーション13がシャットダウン(301)される。次に、HDD2とODD3に対して記録再生するデータの記録デバイス上の論理アドレスを管理し適宜更新するファイルシステム12がシャットダウン(302)される。
【0026】
さらに、HDD2とODD3に対して各記録デバイスに対応した形式で記録再生するデータが使用する物理空間を指示するデバイスドライバ14がシャットダウンされる。この際、例えばSSDによるキャッシュドライブのドライバが先にシャットダウン(303)され、最後にHDDによるブートドライブのドライバがシャットダウン(304)される。
この間、ファイルシステム12のシャットダウン(302)が開始されると、ファイルシステム12が有する前記した物理アドレスの管理機能は停止される。また、HDDのドライバのシャットダウン(304)が開始される時点では、ファイルシステム12のシャットダウン(302)とキャッシュメモリのドライバのシャットダウン(303)は完了している。
【0027】
HDDのドライバのシャットダウン(304)の期間であっても、OS11は、HDD2に対する書込みコマンドを発することがある。
既にファイルシステム12とキャッシュメモリ32のドライバはシャットダウンされているため、前記書込みコマンドが発せられても、ファイルシステム12によるOSのレジストリの更新やキャッシュメモリ32のデータの更新ができない。したがい、前記書込みコマンドのアドレスやデータを保持することはできない状態で、HDD2がシャットダウンされる。このため、次に電源を投入した後に得られるキャッシュのデータは、本来期待されるデータとの間で不整合が発生し、キャッシュデータの信頼性が損なわれるという不具合がある。
【0028】
本実施例においては、この不具合を解消しキャッシュデータの信頼性を向上することを一つの特徴としている。
このための改善策は、例えばアプリケーション13のシャットダウン期間301と、HDDのデバイスドライバのシャットダウン期間304に対して施される。
【0029】
アプリケーション13のシャットダウン期間301においては、次に述べる処理が行われる。デバイスドライバ14のキャッシュコントローラ141はファイルシステム12に指示してブートドライブであるHDD2に、例えば4KBを最小単位とする専用ファイルを生成させる。またキャッシュコントローラ141は、前記専用ファイルの論理アドレスをキャッシュコントローラ141が有するレジストリに登録する。なお、前記専用ファイルに最初に書込まれるデータは、所定の固定されたデータとする。該固定されたデータの内容は、情報処理装置のキャッシュコントローラ141が予め知っている。
【0030】
HDDのデバイスドライバのシャットダウン期間304においては、次に述べる処理が行われる。キャッシュメモリ32のデバイスドライバに対してシャットダウン(303)が行われ、キャッシュメモリ32へデータを書込めなくなって以降に受信したHDD2への書込みコマンド(例えばその論理アドレスとセクタ数)が保持される。HDDのデバイスドライバは、前記レジストリに登録された前記専用ファイルの論理アドレスを読出し、これに基づき前記専用ファイルのデータをチェックする。
【0031】
読出した前記専用ファイルのデータが、前記所定の固定されたデータと一致した場合には、HDDのデバイスドライバは、前記論理アドレスの領域はキャッシュコントローラ141で生成したファイルの領域と判断して、前記書込みコマンド情報とその識別子の情報を前記論理アドレスに記録する。
読出した前記専用ファイルのデータが、前記所定の固定されたデータと一致しない場合には、HDDのデバイスドライバは、前記論理アドレスの領域はキャッシュコントローラ141で生成したファイル領域ではないと判断し、そのままシャットダウン期間304を終了する。
【0032】
次に、以上述べたようにシャットダウンを行った情報処理装置に電源を入れて起動する際の動作を説明する。
HDDのデバイスドライバは、前記レジストリに登録された前記専用ファイルの論理アドレスを読出し、これに基づき前記専用ファイルを読出して、データをチェックする。
【0033】
読出されたデータが前記所定の固定されたデータと一致した場合には、HDDのデバイスドライバは、先のシャットダウン時において、キャッシュメモリ32へデータを書込めなくなって以降にHDD2への書込みコマンドは発せられなかったと判断して、キャッシュメモリ32に格納されたキャッシュテーブルをそのまま使用して、キャッシュ動作を起動する。
【0034】
読出されたデータに前記書込みコマンドが発せられた旨を示す識別子が含まれている場合には、前記保持した書込みコマンド情報の内容をキャッシュメモリ32のキャッシュテーブルにマージし、即ち、先のシャットダウン時において、キャッシュメモリ32へデータを書込めなくなって以降にHDD2に対して発せられた書込みコマンドの内容をキャッシュメモリ32に反映し、キャッシュ動作を起動する。このため、キャッシュデータがシャットダウンの際に不整合となる問題を解消することができる。
【0035】
なお、前記二つの場合のいずれにも相当しない場合には、HDDのデバイスドライバは異常が発生したと判断し、キャッシュメモリ32に格納されたキャッシュテーブルを初期化(クリア)し、例えば電源を投入した後に初めてHDD2に格納されたデータにアクセスする際には、キャッシュメモリ32からではなく、HDD2からデータを読出す。
【0036】
次に、情報処理装置をシャットダウンする時の方法を、さらに詳しく説明する。
図4は、一実施例における情報処理装置のシャットダウンプロセスを示すフローチャートである。
【0037】
まずアプリケーション13のシャットダウンが開始される。ステップS4131ではデバイスドライバ14のキャッシュコントローラ141は、ファイルシステム12に指示してブートドライブであるHDD2に、例えば4KBを最小単位とする専用ファイルを生成させる。ステップS4132ではキャッシュコントローラ141は、ファイルシステム12から前記専用ファイルの論理アドレスを取得し、続くステップS4133ではキャッシュコントローラ141が有するレジストリに前記論理アドレスを登録する。なお、前記専用ファイルに最初に書込まれるデータは、所定の固定されたデータとする。以上のステップを経てアプリケーション13のシャットダウンが終了する。
【0038】
引続きファイルシステム12のシャットダウンが開始されるが、その過程については本実施例と直接の関わりは少ないので、説明を省略する。
一方、キャッシュコントローラ141は、シャットダウン以前の通常の状態ではプロセスP41に示すようなキャッシュ動作を行う。例えばHDD2に対して読取りコマンドが発せられた場合には、キャッシュがヒットする状態(キャッシュメモリ32に当該データが存在する状態)ではデータをHDD2からではなくキャッシュメモリ32から読取る。キャッシュがミスする状態(キャッシュメモリ32に当該データが存在しない状態)ではデータをHDD2から読取り、また読取ったデータをキャッシュメモリ32に書込み、キャッシュテーブルに登録する。HDD2に対して書込みコマンドが発せられた場合には、当該アドレスに保持しているキャッシュデータが存在した場合に、キャッシュテーブルの当該キャッシュデータを無効にする更新をする。
【0039】
ファイルシステム12のシャットダウンが終了すると、引続きデバイスドライバ14のシャットダウンが開始される。まず、例えばSSDによるキャッシュメモリ32のデバイスドライバのシャットダウンが開始される。ステップS4141では図2で示した構造のキャッシュ管理情報を含むテーブルをキャッシュメモリ32に格納し、この時点でのキャッシュデータの整合性を取る。その後、キャッシュメモリ32のデバイスドライバのシャットダウンが終了する。
【0040】
キャッシュメモリ32のデバイスドライバのシャットダウンが終了した後は、プロセスP42に示すようなキャッシュ動作を行う。即ち、HDD2に対して読取りコマンドが発せられた場合には、既にキャッシュメモリ32からデータを読取ることはできないため、キャッシュしたデータを無視してHDD2からデータを読取る。一方、HDD2に書込みコマンドが発せられた場合には、受信したHDD2への書込みコマンド情報(例えばその論理アドレスとセクタ数)を、HDDのデバイスドライバに保持させる。
【0041】
引続き、HDDのデバイスドライバのシャットダウンが開始される。HDD2に対する前記書込みコマンドをはじめとする全てのコマンドが終了すると、ステップS4142ではHDDのデバイスドライバは、前記レジストリに登録された前記専用ファイルの論理アドレス情報を確認し、前記一時的なキャッシュテーブルが存在するか否かを判定する。
【0042】
ステップS4142の判定で、一時的なキャッシュテーブルは存在しないと判定された場合には(図中のNo)、そのままシャットダウンが終了する。この場合は、HDD2とキャッシュメモリ32との間でデータの不整合が起こる問題は、従来と同様である。
ステップS4142の判定で、一時的なキャッシュテーブルが存在すると判定された場合には(図中のYes)、ステップS4143に到る。ステップS4143では、HDDのデバイスドライバは前記論理アドレスに基づき、前記一時的なキャッシュテーブルを読出して、データをチェックする。即ち、該データが先にステップS4131で作成された専用ファイルに与えられた所定の固定データと一致するか否かを判定する。
【0043】
ステップS4143での判定で、読出した前記一時的なキャッシュテーブルのデータが、前記所定の固定データと一致しないと判定された場合には(図中のNo)、そのままシャットダウンが終了する。この場合は、HDD2とキャッシュメモリ32との間でデータの不整合が起こる問題は、従来と同様である。
【0044】
ステップS4143での判定で、読出した前記一時的なキャッシュテーブルのデータが、前記所定の固定データと一致すると判定された場合には(図中のYes)、前記一時的なキャッシュテーブルの領域が有効と判断して、ステップS4144に到る。ステップS4144では、HDDのデバイスドライバは、前記HDDのデバイスドライバに保持した書込みコマンド情報と、書込みがあった旨を示す識別子を、前記一時的なキャッシュテーブル領域に書込んだうえで、シャットダウンが終了する。
【0045】
次に、シャットダウンされた情報処理装置に再度電源を供給して立ち上げる時の方法を、さらに詳しく説明する。
図5は、一実施例における情報処理装置のパワーオンプロセスを示すフローチャートである。電源投入時の処理は、デバイスドライバ14、ファイルシステム12、アプリケーション13の順で行われる。ここでは、本実施例と関係の多いデバイスドライバ14での処理を説明する。
【0046】
処理が開始されると、ステップS5141ではデバイスドライバ14は、例えばSSDによるキャッシュメモリ32からキャッシュテーブルを読込む。このキャッシュテーブルのデータは前記したとおり、キャッシュとしては不適当なことがある。
次に、ステップS5142ではデバイスドライバ14は、前記レジストリに登録された前記一時的なキャッシュテーブルの論理アドレスを取得する。ステップS5143ではHDDのデバイスドライバは、前記論理アドレス基づき前記一時的なキャッシュテーブルを読込み、そのデータをステップS5144以下のステップでチェックする。ステップS5144ではHDDのデバイスドライバは、読取ったデータが前記所定の固定されたデータと一致するか否かを判定する。
【0047】
ステップS5144での判定の結果、読込んだデータが前記所定の固定されたデータと一致する場合には(図中のYes)、HDDのデバイスドライバは、先のシャットダウン時において、キャッシュメモリ32へデータを書込めなくなって以降にHDD2への書込みコマンドは発せられなかったと判断して、ステップS5141で読込んだキャッシュメモリ32に格納されたキャッシュテーブルをそのまま使用して、通常のキャッシュ動作P51を起動する。
【0048】
ステップS5144での判定の結果、読込んだデータが前記所定の固定されたデータと一致しない場合には(図中のNo)、ステップS5145に到る。ステップS5145ではHDDのデバイスドライバは、読込んだデータに書込みコマンドが発せられた旨を示す前記識別子が含まれているか否かを判定する。
【0049】
ステップS5145での判定の結果、読込んだデータに前記識別子が含まれていると判定された場合には(図中のYes)、読込んだデータが前記一時的なキャッシュテーブルと判定し、該一時的なキャッシュテーブルの書込みコマンド情報の内容をキャッシュメモリ32のキャッシュテーブルにマージし、即ち、先のシャットダウン時において、キャッシュメモリ32へデータを書込めなくなって以降にHDD2に対して発せられた書込みコマンドの内容をキャッシュメモリ32に反映した後、通常のキャッシュ動作P51を起動する。このため、キャッシュデータがシャットダウンの際に不整合となる問題を解消することができる。
【0050】
ステップS5145での判定の結果、読込んだデータに前記識別子が含まれていないと判定された場合には(図中のNo)、HDDのデバイスドライバは何らかの異常が発生したと判断し、キャッシュメモリ32に格納されたキャッシュテーブルを初期化(クリア)することでキャッシュデータの不整合状態を解消し、例えば電源を投入した後に初めてHDD2に格納されたデータにアクセスする際には、キャッシュメモリ32からではなく、HDD2からデータを読出すこととする。その後、通常のキャッシュ動作P51を起動する。
【0051】
以上のようにすることにより、シャットダウン時に発生するキャッシュデータの不整合を、電源投入時に解消することができる。このため、キャッシュ管理情報の信頼性を向上した情報処理装置、及び情報処理装置で用いる光ディスク装置を提供することができる。
ここまで示した実施形態は一例であって、本発明を限定するものではない。例えば図4や図5のフローチャートにおいては、さらにステップを追加した実施形態を考えることができる。また、データの書込みがあった旨を示す前記識別子のみを前記レジストリの論理アドレスに登録してシャットダウンし、電源投入時に識別子が検出された場合には、常にキャッシュメモリ32のキャッシュテーブルをクリアしても良い。このように本発明の趣旨に基づきながら異なる実施形態を考えられるが、いずれも本発明の範疇にある。
【符号の説明】
【0052】
1:情報処理装置、11:OS、12:ファイルシステム、13:アプリケーション、14:デバイスドライバ、15:ハードウェアドライバ、2:HDD、3:ODD、32:キャッシュメモリ、321:キャッシュテーブルエリア、322:キャッシュデータエリア、3221:ユーザデータ。

【特許請求の範囲】
【請求項1】
情報データを記録し、また再生するための情報処理装置であって、
該情報処理装置全体の動作を制御するホスト装置と、
該ホスト装置からの制御に応じて内蔵するハードディスク記録媒体に対して前記情報データを記録再生するHDDと、
前記ホスト装置からの制御に応じて光ディスク記録媒体に対して前記情報データを記録再生するODDと、
該ODDに内蔵され前記ハードディスク記録媒体に記録し、または記録された前記情報データをキャッシュするキャッシュメモリ
を有し、
前記ホスト装置は、前記情報処理装置をシャットダウンする際には、
前記HDDに所定のデータを有する専用ファイルを生成し、
該専用ファイルの論理アドレスを取得し、
前記キャッシュメモリをシャットダウンした後、前記HDDをシャットダウンする期間において、前記HDDに対して情報データを記録するための書込みコマンドを発行した場合には、該書込みコマンドの情報と識別子の情報を前記専用ファイルの論理アドレスに格納して前記ホスト装置のシャットダウンを終了し、
前記ホスト装置は、前記情報処理装置に電源が投入される際には、
前記専用ファイルの論理アドレスの情報から前記識別子が検出されず、前記所定のデータでもなかった場合には前記キャッシュメモリに格納されたキャッシュテーブルをクリアし、前記所定のデータが検出された場合には前記キャッシュメモリに格納されたキャッシュテーブルを使用してキャッシュ動作を行うよう
制御することを特徴とする情報処理装置。
【請求項2】
情報データを記録し、また再生するための情報処理装置であって、
該情報処理装置全体の動作を制御するホスト装置と、
該ホスト装置からの制御に応じて内蔵するハードディスク記録媒体に対して前記情報データを記録再生するHDDと、
前記ホスト装置からの制御に応じて光ディスク記録媒体に対して前記情報データを記録再生するODDと、
該ODDに内蔵され前記ハードディスク記録媒体に記録し、または記録された前記情報データをキャッシュするキャッシュメモリ
を有し、
前記ホスト装置は、前記情報処理装置をシャットダウンする際には、
前記ホスト装置内のHDDに所定のデータを有する専用ファイルを生成し、
該専用ファイルの論理アドレスを取得し、
前記キャッシュメモリをシャットダウンした後、前記HDDをシャットダウンする期間において、前記HDDに対して情報データを記録するための書込みコマンドを発行した場合には、該書込みコマンドの情報と識別子の情報を前記専用ファイルの論理アドレスに格納して前記ホスト装置のシャットダウンを終了し、
前記ホスト装置は、前記情報処理装置に電源が投入される際には、
前記専用ファイルの論理アドレスの情報から前記識別子が検出された場合には前記キャッシュメモリに格納されたキャッシュテーブルを前記書込みコマンドの情報でマージしてキャッシュ動作を行うよう
制御することを特徴とする情報処理装置。
【請求項3】
請求項2に記載の情報処理装置において、前記キャッシュメモリを前記光ディスク記録媒体に対するキャッシュメモリとして共用することを特徴とする情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−119020(P2012−119020A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−266437(P2010−266437)
【出願日】平成22年11月30日(2010.11.30)
【出願人】(501009849)株式会社日立エルジーデータストレージ (646)
【Fターム(参考)】