説明

情報処理装置およびデータ整合性検査方法

【課題】 サスペンド時に主記憶に格納されていたデータのレジューム時における整合性の検査を効率的に行うことを実現した情報処理装置を提供する。
【解決手段】 CPU101は、サスペンド・レジューム機能が有効な状態で電源オフされた場合、RAM103に配置されたページ内のデータへのアクセス時にページフォルト割り込みを発生させるための設定処理を行う。そして、電源オン後、RAM103に配置されたページ内のデータへのアクセス時にページフォルト割り込みが発生した場合に、当該ページ内のデータの整合性を検査し、整合性を有する場合、当該ページ内のデータへのアクセス時にページフォルト割り込みを発生させないための解除処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、電源オフ時に揮発性メモリである主記憶に保持されていた(不揮発性メモリである2次記憶からページインされた)プログラムを含むデータを電源オン時に即時に利用可能なサスペンド・レジューム機能を備えた情報処理装置に適用して好適なデータ整合性検査技術に関する。
【背景技術】
【0002】
近年、デジタルテレビジョン装置やDVDレコーダなど、様々な情報処理装置が広く利用されている。この種の情報処理装置では、リリース後のバージョンアップ等を簡単に行えるようにするために、主要な機能をソフトウェアによって実現し、かつ、このソフトウェアを書換えが可能な不揮発性メモリに格納する場合も多い。
【0003】
また、このように主要な機能をソフトウェアによって実現する情報処理装置では、電源オン操作が行われてから実際に利用できる状態となるまでの所要時間の短縮化を図るために、サスペンド・レジューム機能を備えることが一般的である。サスペンド・レジューム機能は、パーソナルコンピュータ用に開発された技術であり、電源オフ時における主記憶の状態を(主記憶に通電しておくことで)電源オフの間も保持し続け、電源オン時に、電源オフ時における状態から動作を再開可能とするものである。このサスペンド・レジューム機能を備えることにより、例えばデジタルテレビジョン装置の場合、電源オフ時に選択されていたチャンネル番組の表示をテレビジョン放送番組受信再生ソフトウェアで即時に開始することができる。
【0004】
このサスペンド・レジューム機能を備えた情報処理装置においては、サスペンド時に主記憶に格納されたプログラムを含むデータが、レジューム時に破壊されていないことを保証する必要がある。つまり、破壊されていたならば、その旨を検出し、破棄して2次記憶から再ロードするか、修復する仕組みを備える必要がある。このようなことから、サスペンド・レジューム機能の利用に関してデータの整合性を考慮した提案が、これまでも種々なされている(例えば特許文献1等参照)。
【特許文献1】特開2004−70678号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、電源オン時に、主記憶に格納されているすべてのデータの整合性を検査したとしたならば、多くの処理時間を要することとなり、サスペンド・レジューム機能を備える利点を相殺してしまうおそれもある。このため、主記憶に格納されているデータの整合性を効率的に検査するための方法が強く求められている。
【0006】
この発明は、このような事情を考慮してなされたものであり、サスペンド時に主記憶に格納されていたデータのレジューム時における整合性の検査を効率的に行うことを実現した情報処理装置およびデータ整合性検査方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
前述した目的を達成するために、この発明の情報処理装置は、電源オフ時における主記憶の状態を電源オフの間も保持し続け、電源オン時に、電源オフ時における状態から動作を再開可能とするサスペンド・レジューム機能と、前記主記憶と2次記憶との間でデータをページ単位に出し入れするページング機能とを有する情報処理装置において、前記サスペンド・レジューム機能が有効な状態で電源オフされた場合、前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みを発生させるための設定処理を行うページフォルト設定手段と、前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みが発生した場合、当該ページ内のデータの整合性を検査し、整合性を有する場合、当該ページ内のデータへのアクセス時にページフォルトを発生させないための解除処理を行うページフォルト解除手段と、を具備することを特徴とする。
【0008】
また、この発明のデータ整合性検査方法は、電源オフ時における主記憶の状態を電源オフの間も保持し続け、電源オン時に、電源オフ時における状態から動作を再開可能とするサスペンド・レジューム機能と、前記主記憶と2次記憶との間でデータをページ単位に出し入れするページング機能とを有する情報処理装置のデータ整合性検査方法であって、前記サスペンド・レジューム機能が有効な状態で電源オフされた場合、前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みを発生させるための設定処理を行うステップと、前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みが発生した場合、当該ページ内のデータの整合性を検査し、整合性を有する場合、当該ページ内のデータへのアクセス時にページフォルトを発生させないための解除処理を行うステップと、を具備することを特徴とする。
【発明の効果】
【0009】
この発明によれば、サスペンド時に主記憶に格納されていたデータのレジューム時における整合性の検査を効率的に行うことを実現した情報処理装置およびデータ整合性検査方法を提供することができる。
【発明を実施するための最良の形態】
【0010】
以下、図面を参照して本発明の一実施形態を説明する。
【0011】
図1は、本実施形態に係る情報処理装置100の概略構成を示す図である。この情報処理装置100は、例えば、デジタルテレビジョン装置やDVDレコーダ等として実現されている。
【0012】
図1に示すように、この情報処理装置100は、CPU101と、不揮発性メモリ102と、RAM103とを有している。また、CPU101と不揮発性メモリ102、CPU101とRAM103は、それぞれデータバスによって相互に接続されている。
【0013】
CPU101は、本情報処理装置100の動作を制御するプロセッサである。不揮発性メモリ102からRAM103にロードされた各種プログラムを当該CPU101が実行すること、換言すれば、各種プログラムの記述に従って当該CPU101が動作することにより、本情報処理装置100は目的の動作を行う。即ち、本情報処理装置100において、不揮発性メモリ102は2次記憶、RAM103は主記憶としての役割をそれぞれ担っている。なお、本情報処理装置100においては、不揮発性メモリ102としてRead-Only-RAMを採用する。
【0014】
このような構成を持つ本情報処理装置100は、電源オフ操作がなされた後も、RAM103に対する電力供給を続けて、RAM103の内容を電源オフ時の状態に保持するサスペンド・レジューム機能を有している。そして、本情報処理装置100は、このサスペンド・レジューム機能が有効な状態で(一旦電源オフされた後に)電源オンされた時、RAM103の内容を効率的にチェックする仕組みを備えたものであり、以下、この点について詳述する。
【0015】
仮想アドレス空間のみを考えて各種プログラムを作成(プログラミング)することを可能とする仮想記憶システムは、主記憶と2次記憶との間でデータをページ単位に出し入れするページ管理機構のページング機能により実現される。主記憶としてRAM103、2次記憶として不揮発性メモリ102を有する本情報処理装置100も、このページ管理機構を当然に備えている。本情報処理装置100は、このページ管理機構によるページング機能の一機能であるページフォルト割り込みを発生させる機能を利用して、前述したRAM103の内容の効率的なチェックを実現する。
【0016】
まず、図2を参照して、本情報処理装置100におけるサスペンド要求発生時の動作手順を説明する。
【0017】
サスペンド・レジューム機能が有効な状態で電源オフ操作が行われると、CPU101は、まず、(電源オンされた後に)RAM103に格納されたデータに対するアクセスが行われた場合にページフォルト割り込みが発生するように、かつ、そのデータを含むページのデータ整合性チェックが未実行であることを示すように、ページ管理機構が備えるページ管理テーブルを設定する(ステップA1)。図3は、本情報処理装置100におけるページ管理テーブルの構成を示す図である。
【0018】
図3に示すように、本情報処理装置100では、ページ管理テーブルを、既存のページテーブル構造(a1)に整合性チェックフラグ(a2)を付加して構成する。この図3に示すページ管理テーブルの構成を参照して、ステップA1におけるページ管理テーブルの設定をより具体的に説明すると、主記憶であるRAM103上に配置されたすべてのページについて、2次記憶である不揮発性メモリ102上の対応するページが保持されているか否かを示す既存のページテーブル構造(a1)内のフラグ情報を、保持されていない旨を示すように設定し、かつ、データ整合性チェックが実行済みか否かを示す整合性チェックフラグ(a2)を未実行を示すように設定する。
【0019】
また、このページ管理テーブルの設定を終了させると、CPU101は、次に、整合性未チェックリストを作成する(ステップA2)。図4は、本情報処理装置100が作成する整合性未チェックリストの構成を示す図である。この時点では、ページ管理テーブルのすべての整合性チェックフラグ(a2)は未実行を示しているので、すべてのページの識別子を当該整合性未チェックリストに登録する。
【0020】
続いて、CPU101は、ページ内のデータの整合性をチェックするためのチェックサム等の検査データをページ毎に計算してRAM103上の所定の領域に格納する(ステップA3)。そして、これらの処理が終了したら、CPU101は、RAM103に対する電力供給を継続しつつ電源オフ状態に移行するためのサスペンド処理を実行する(ステップA4)。
【0021】
次に、図5を参照して、本情報処理装置100におけるレジューム要求発生時の動作手順を説明する。
【0022】
サスペンド・レジューム機能が有効な状態で電源オン操作が行われると、CPU101は、まず、ブートローダを起動する(ステップB1)。これにより、ブートローダからページ管理機構を有するカーネルが起動されるが、その前に、CPU101は、このカーネルが利用するRAM103上のデータ領域に対して、通常のデータ整合性チェックを実施する(ステップB2)。
【0023】
もし、整合性がなければ(ステップB2のNO)、CPU101は、システムを再起動する(ステップB5)。一方、整合性があれば(ステップB2のYES)、CPU101は、カーネルを起動し(ステップB3)、カーネルが利用するデータ領域以外についてのデータ整合性チェックを実施することなく、起動処理へと移行する(ステップB4)。
【0024】
次に、図6を参照して、本情報処理装置100におけるデータへのアクセス要求発生時の動作手順を説明する。
【0025】
RAM103に格納されたデータに対するアクセス、即ち、当該データを含むページに関する読み込み/書き込み要求が初めて発生すると、サスペンド時のページ管理テーブルの設定(図2のステップA1)により、ページフォルトが発生することになる(ステップC1のYES)。また、データ整合性チェックフラグは未実行を示しているので、CPU101は、このページフォルトの発生を、データ整合性チェックを実施するタイミングの通知と解釈して、同じくサスペンド時に計算・格納した(図2のステップA3)チェックサム等の検査データを使って、当該ページのデータ整合性チェックを実施する(ステップC3)。
【0026】
つまり、本情報処理装置100では、電源オン操作時にRAM103に格納されているすべてのデータの整合性を検査するのではなく、アクセスが要求された時に、該当ページのデータ整合性をチェックすることで、起動時間の大幅な短縮を実現する。そして、このデータ整合性チェックのタイミング(アクセス要求時)を得るために、本情報処理装置100は、既存のページ管理機構によるページング機能の一機能であるページフォルト割り込みを発生させる機能を利用する。
【0027】
もし、整合性がなければ(ステップC3のNO)、CPU101は、システムを再起動する(ステップC6)。一方、整合性があれば(ステップC3のYES)、CPU101は、以降、このページでページフォルトが発生しないように、データ整合性チェックフラグの更新を含むページ管理テーブルの設定を行う(ステップC4)。また、この際、CPU101は、整合性未チェックリストからの該当ページの削除も行っておく(ステップC5)。そして、CPU101は、データの読み込み/書き込み処理へと移行する(ステップC2)。
【0028】
なお、このデータ整合性チェックが実行されたページ内のデータに対するアクセス、即ち、当該ページの読み込み/書き込みがその後要求された際には、データ整合性チェックのためのページフォルトは発生しないので(ステップC1のNO)、CPU101は、ステップC2のデータの読み込み/書き込み処理へと即時に移行する。
【0029】
また、この図6に動作手順を示したデータアクセス要求発生時におけるデータ整合性チェックと並行して、本情報処理装置100は、サスペンド時に作成した(図2のステップA2)整合性未チェックリストを使って、アイドル時を活用したデータ整合性チェックを実行する。図7を参照して、本情報処理装置100がアイドル時に実行するデータ整合性チェックの動作手順を説明する。
【0030】
CPU101は、リソースがアイドル状態になると(ステップD1のYES)、整合性未チェックリストを参照し、データ整合性チェックが済んでいないページを検索する(ステップD2)。該当するページが検出されたら(ステップD2のYES)、CPU101は、サスペンド時に計算・格納した(図2のステップA3)チェックサム等の検査データを使って、当該ページのデータ整合性チェックを実施する(ステップD3)。
【0031】
もし、整合性がなければ(ステップD3のNO)、CPU101は、システムを再起動する(ステップD6)。一方、整合性があれば(ステップD3のYES)、CPU101は、以降、このページでページフォルトが発生しないように、データ整合性チェックフラグの更新を含むページ管理テーブルの設定を行う(ステップD4)。また、この際、CPU101は、整合性未チェックリストからの該当ページの削除も行っておく(ステップD5)。CPU101は、整合性未チェックリストに登録されているページが存在しなくなるまで(ステップD2のNO)、この処理を繰り返す。
【0032】
この図7に示したアイドル時を活用したデータ整合性チェックにより、該当ページへの初めての読み込み/書き込み要求時にページフォルトは発生せず、データの読み込み/書き込み処理へと即時に移行できることになる。
【0033】
なお、このアイドル時を活用したデータ整合性チェックに関しては、サスペンド時に整合性未チェックリストを作成する際(図2のステップA2)、データ整合性チェックを実施していくページの順番に優先度を設定することも有効である。整合性未チェックリストからデータ整合性チェックが済んでいないページを検索する際に、CPU101は、この優先度に基づき、データ整合性チェックの対象とするページを検出する。
【0034】
例えば、デジタルテレビジョン装置の場合、映像を出すまでの処理に必要なデータ領域のページの優先度を上げることによって、映像出力までの処理でページフォルトを発生させる回数を減少させ、映像を出す処理の効率化を図ることができる。
【0035】
以上のように、本情報処理装置100は、サスペンド・レジューム機能が有効な状態で電源オンされた場合におけるデータの整合性の確認処理を分散的に行うことができ、他の起動処理と並列化することができる。これにより、全てのデータの整合性を確認する場合の処理を効率化し、起動処理の高速化を図ることを可能とする。
【0036】
即ち、本情報処理装置100によれば、サスペンド時に主記憶に格納されていたデータのレジューム時における整合性の検査を効率的に行うことが実現される。
【0037】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0038】
【図1】この発明の一実施形態に係る情報処理装置の概略構成を示す図
【図2】同実施形態の情報処理装置におけるサスペンド要求発生時の動作手順を示すフローチャート
【図3】同実施形態の情報処理装置におけるページ管理テーブルの構成を示す図
【図4】同実施形態の情報処理装置が作成する整合性未チェックリストの構成を示す図
【図5】同実施形態の情報処理装置におけるレジューム要求発生時の動作手順を示すフローチャート
【図6】同実施形態の情報処理装置におけるデータへのアクセス要求発生時の動作手順を示すフローチャート
【図7】同実施形態の情報処理装置がアイドル時に実行するデータ整合性チェックの動作手順を示すフローチャート
【符号の説明】
【0039】
100…情報処理装置、101…CPU、102…不揮発性メモリ、103…RAM。

【特許請求の範囲】
【請求項1】
電源オフ時における主記憶の状態を電源オフの間も保持し続け、電源オン時に、電源オフ時における状態から動作を再開可能とするサスペンド・レジューム機能と、前記主記憶と2次記憶との間でデータをページ単位に出し入れするページング機能とを有する情報処理装置において、
前記サスペンド・レジューム機能が有効な状態で電源オフされた場合、前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みを発生させるための設定処理を行うページフォルト設定手段と、
前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みが発生した場合、当該ページ内のデータの整合性を検査し、整合性を有する場合、当該ページ内のデータへのアクセス時にページフォルト割り込みを発生させないための解除処理を行うページフォルト解除手段と、
を具備することを特徴とする情報処理装置。
【請求項2】
前記ページフォルト解除手段によるデータの整合性の検査が実行済みか否かを示す情報を前記主記憶に配置されたページ毎に管理するページ管理手段と、
前記情報処理装置が予め定められた基準値以下の低負荷状態にある場合、前記ページ管理手段により管理される情報が前記データの整合性の検査が未実行であることを示すページについて、そのページ内のデータの整合性の検査を含む前記解除処理を前記ページフォルト解除手段に実行させる制御手段と、
をさらに具備することを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記ページ管理手段は、ページ間の優先度を示す情報をさらに管理し、
前記制御手段は、前記管理手段により管理されるページ間の優先度を示す情報に基づいた順序で、データの整合性の検査を含む前記解除処理を前記ページフォルト解除手段に実行させる、
ことを特徴とする請求項2記載の情報処理装置。
【請求項4】
前記ページフォルト設定手段は、各ページ内のデータの整合性を検査するための検査データを生成する手段を含み、
前記ページフォルト解除手段は、前記ページフォルト設定手段が生成した検査データに基づき、各ページ内のデータの整合性を検査する手段を含む、
ことを特徴とする請求項1記載の情報処理装置。
【請求項5】
電源オフ時における主記憶の状態を電源オフの間も保持し続け、電源オン時に、電源オフ時における状態から動作を再開可能とするサスペンド・レジューム機能と、前記主記憶と2次記憶との間でデータをページ単位に出し入れするページング機能とを有する情報処理装置のデータ整合性検査方法であって、
前記サスペンド・レジューム機能が有効な状態で電源オフされた場合、前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みを発生させるための設定処理を行うステップと、
前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みが発生した場合、当該ページ内のデータの整合性を検査し、整合性を有する場合、当該ページ内のデータへのアクセス時にページフォルト割り込みを発生させないための解除処理を行うステップと、
を具備することを特徴とするデータ整合性検査方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−288950(P2009−288950A)
【公開日】平成21年12月10日(2009.12.10)
【国際特許分類】
【出願番号】特願2008−139549(P2008−139549)
【出願日】平成20年5月28日(2008.5.28)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】