(57)【要約】【課題】  サスペンド時に主記憶に格納されていたデータのレジューム時における整合性の検査を効率的に行うことを実現した情報処理装置を提供する。【解決手段】  ＣＰＵ１０１は、サスペンド・レジューム機能が有効な状態で電源オフされた場合、ＲＡＭ１０３に配置されたページ内のデータへのアクセス時にページフォルト割り込みを発生させるための設定処理を行う。そして、電源オン後、ＲＡＭ１０３に配置されたページ内のデータへのアクセス時にページフォルト割り込みが発生した場合に、当該ページ内のデータの整合性を検査し、整合性を有する場合、当該ページ内のデータへのアクセス時にページフォルト割り込みを発生させないための解除処理を行う。【選択図】      図１
2009288950.tif 000002
【特許請求の範囲】
【請求項１】
電源オフ時における主記憶の状態を電源オフの間も保持し続け、電源オン時に、電源オフ時における状態から動作を再開可能とするサスペンド・レジューム機能と、前記主記憶と２次記憶との間でデータをページ単位に出し入れするページング機能とを有する情報処理装置において、
前記サスペンド・レジューム機能が有効な状態で電源オフされた場合、前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みを発生させるための設定処理を行うページフォルト設定手段と、
前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みが発生した場合、当該ページ内のデータの整合性を検査し、整合性を有する場合、当該ページ内のデータへのアクセス時にページフォルト割り込みを発生させないための解除処理を行うページフォルト解除手段と、
を具備することを特徴とする情報処理装置。
【請求項２】
前記ページフォルト解除手段によるデータの整合性の検査が実行済みか否かを示す情報を前記主記憶に配置されたページ毎に管理するページ管理手段と、
前記情報処理装置が予め定められた基準値以下の低負荷状態にある場合、前記ページ管理手段により管理される情報が前記データの整合性の検査が未実行であることを示すページについて、そのページ内のデータの整合性の検査を含む前記解除処理を前記ページフォルト解除手段に実行させる制御手段と、
をさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記ページ管理手段は、ページ間の優先度を示す情報をさらに管理し、
前記制御手段は、前記管理手段により管理されるページ間の優先度を示す情報に基づいた順序で、データの整合性の検査を含む前記解除処理を前記ページフォルト解除手段に実行させる、
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記ページフォルト設定手段は、各ページ内のデータの整合性を検査するための検査データを生成する手段を含み、
前記ページフォルト解除手段は、前記ページフォルト設定手段が生成した検査データに基づき、各ページ内のデータの整合性を検査する手段を含む、
ことを特徴とする請求項１記載の情報処理装置。
【請求項５】
電源オフ時における主記憶の状態を電源オフの間も保持し続け、電源オン時に、電源オフ時における状態から動作を再開可能とするサスペンド・レジューム機能と、前記主記憶と２次記憶との間でデータをページ単位に出し入れするページング機能とを有する情報処理装置のデータ整合性検査方法であって、
前記サスペンド・レジューム機能が有効な状態で電源オフされた場合、前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みを発生させるための設定処理を行うステップと、
前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みが発生した場合、当該ページ内のデータの整合性を検査し、整合性を有する場合、当該ページ内のデータへのアクセス時にページフォルト割り込みを発生させないための解除処理を行うステップと、
を具備することを特徴とするデータ整合性検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電源オフ時に揮発性メモリである主記憶に保持されていた（不揮発性メモリである２次記憶からページインされた）プログラムを含むデータを電源オン時に即時に利用可能なサスペンド・レジューム機能を備えた情報処理装置に適用して好適なデータ整合性検査技術に関する。
【背景技術】
【０００２】
近年、デジタルテレビジョン装置やＤＶＤレコーダなど、様々な情報処理装置が広く利用されている。この種の情報処理装置では、リリース後のバージョンアップ等を簡単に行えるようにするために、主要な機能をソフトウェアによって実現し、かつ、このソフトウェアを書換えが可能な不揮発性メモリに格納する場合も多い。
【０００３】
また、このように主要な機能をソフトウェアによって実現する情報処理装置では、電源オン操作が行われてから実際に利用できる状態となるまでの所要時間の短縮化を図るために、サスペンド・レジューム機能を備えることが一般的である。サスペンド・レジューム機能は、パーソナルコンピュータ用に開発された技術であり、電源オフ時における主記憶の状態を（主記憶に通電しておくことで）電源オフの間も保持し続け、電源オン時に、電源オフ時における状態から動作を再開可能とするものである。このサスペンド・レジューム機能を備えることにより、例えばデジタルテレビジョン装置の場合、電源オフ時に選択されていたチャンネル番組の表示をテレビジョン放送番組受信再生ソフトウェアで即時に開始することができる。
【０００４】
このサスペンド・レジューム機能を備えた情報処理装置においては、サスペンド時に主記憶に格納されたプログラムを含むデータが、レジューム時に破壊されていないことを保証する必要がある。つまり、破壊されていたならば、その旨を検出し、破棄して２次記憶から再ロードするか、修復する仕組みを備える必要がある。このようなことから、サスペンド・レジューム機能の利用に関してデータの整合性を考慮した提案が、これまでも種々なされている（例えば特許文献１等参照）。
【特許文献１】特開２００４−７０６７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、電源オン時に、主記憶に格納されているすべてのデータの整合性を検査したとしたならば、多くの処理時間を要することとなり、サスペンド・レジューム機能を備える利点を相殺してしまうおそれもある。このため、主記憶に格納されているデータの整合性を効率的に検査するための方法が強く求められている。
【０００６】
この発明は、このような事情を考慮してなされたものであり、サスペンド時に主記憶に格納されていたデータのレジューム時における整合性の検査を効率的に行うことを実現した情報処理装置およびデータ整合性検査方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前述した目的を達成するために、この発明の情報処理装置は、電源オフ時における主記憶の状態を電源オフの間も保持し続け、電源オン時に、電源オフ時における状態から動作を再開可能とするサスペンド・レジューム機能と、前記主記憶と２次記憶との間でデータをページ単位に出し入れするページング機能とを有する情報処理装置において、前記サスペンド・レジューム機能が有効な状態で電源オフされた場合、前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みを発生させるための設定処理を行うページフォルト設定手段と、前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みが発生した場合、当該ページ内のデータの整合性を検査し、整合性を有する場合、当該ページ内のデータへのアクセス時にページフォルトを発生させないための解除処理を行うページフォルト解除手段と、を具備することを特徴とする。
【０００８】
また、この発明のデータ整合性検査方法は、電源オフ時における主記憶の状態を電源オフの間も保持し続け、電源オン時に、電源オフ時における状態から動作を再開可能とするサスペンド・レジューム機能と、前記主記憶と２次記憶との間でデータをページ単位に出し入れするページング機能とを有する情報処理装置のデータ整合性検査方法であって、前記サスペンド・レジューム機能が有効な状態で電源オフされた場合、前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みを発生させるための設定処理を行うステップと、前記主記憶に配置されたページ内のデータへのアクセス時にページフォルト割り込みが発生した場合、当該ページ内のデータの整合性を検査し、整合性を有する場合、当該ページ内のデータへのアクセス時にページフォルトを発生させないための解除処理を行うステップと、を具備することを特徴とする。
【発明の効果】
【０００９】
この発明によれば、サスペンド時に主記憶に格納されていたデータのレジューム時における整合性の検査を効率的に行うことを実現した情報処理装置およびデータ整合性検査方法を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の一実施形態を説明する。
【００１１】
図１は、本実施形態に係る情報処理装置１００の概略構成を示す図である。この情報処理装置１００は、例えば、デジタルテレビジョン装置やＤＶＤレコーダ等として実現されている。
【００１２】
図１に示すように、この情報処理装置１００は、ＣＰＵ１０１と、不揮発性メモリ１０２と、ＲＡＭ１０３とを有している。また、ＣＰＵ１０１と不揮発性メモリ１０２、ＣＰＵ１０１とＲＡＭ１０３は、それぞれデータバスによって相互に接続されている。
【００１３】
ＣＰＵ１０１は、本情報処理装置１００の動作を制御するプロセッサである。不揮発性メモリ１０２からＲＡＭ１０３にロードされた各種プログラムを当該ＣＰＵ１０１が実行すること、換言すれば、各種プログラムの記述に従って当該ＣＰＵ１０１が動作することにより、本情報処理装置１００は目的の動作を行う。即ち、本情報処理装置１００において、不揮発性メモリ１０２は２次記憶、ＲＡＭ１０３は主記憶としての役割をそれぞれ担っている。なお、本情報処理装置１００においては、不揮発性メモリ１０２としてRead-Only-RAMを採用する。
【００１４】
このような構成を持つ本情報処理装置１００は、電源オフ操作がなされた後も、ＲＡＭ１０３に対する電力供給を続けて、ＲＡＭ１０３の内容を電源オフ時の状態に保持するサスペンド・レジューム機能を有している。そして、本情報処理装置１００は、このサスペンド・レジューム機能が有効な状態で（一旦電源オフされた後に）電源オンされた時、ＲＡＭ１０３の内容を効率的にチェックする仕組みを備えたものであり、以下、この点について詳述する。
【００１５】
仮想アドレス空間のみを考えて各種プログラムを作成（プログラミング）することを可能とする仮想記憶システムは、主記憶と２次記憶との間でデータをページ単位に出し入れするページ管理機構のページング機能により実現される。主記憶としてＲＡＭ１０３、２次記憶として不揮発性メモリ１０２を有する本情報処理装置１００も、このページ管理機構を当然に備えている。本情報処理装置１００は、このページ管理機構によるページング機能の一機能であるページフォルト割り込みを発生させる機能を利用して、前述したＲＡＭ１０３の内容の効率的なチェックを実現する。
【００１６】
まず、図２を参照して、本情報処理装置１００におけるサスペンド要求発生時の動作手順を説明する。
【００１７】
サスペンド・レジューム機能が有効な状態で電源オフ操作が行われると、ＣＰＵ１０１は、まず、（電源オンされた後に）ＲＡＭ１０３に格納されたデータに対するアクセスが行われた場合にページフォルト割り込みが発生するように、かつ、そのデータを含むページのデータ整合性チェックが未実行であることを示すように、ページ管理機構が備えるページ管理テーブルを設定する（ステップＡ１）。図３は、本情報処理装置１００におけるページ管理テーブルの構成を示す図である。
【００１８】
図３に示すように、本情報処理装置１００では、ページ管理テーブルを、既存のページテーブル構造（ａ１）に整合性チェックフラグ（ａ２）を付加して構成する。この図３に示すページ管理テーブルの構成を参照して、ステップＡ１におけるページ管理テーブルの設定をより具体的に説明すると、主記憶であるＲＡＭ１０３上に配置されたすべてのページについて、２次記憶である不揮発性メモリ１０２上の対応するページが保持されているか否かを示す既存のページテーブル構造（ａ１）内のフラグ情報を、保持されていない旨を示すように設定し、かつ、データ整合性チェックが実行済みか否かを示す整合性チェックフラグ（ａ２）を未実行を示すように設定する。
【００１９】
また、このページ管理テーブルの設定を終了させると、ＣＰＵ１０１は、次に、整合性未チェックリストを作成する（ステップＡ２）。図４は、本情報処理装置１００が作成する整合性未チェックリストの構成を示す図である。この時点では、ページ管理テーブルのすべての整合性チェックフラグ（ａ２）は未実行を示しているので、すべてのページの識別子を当該整合性未チェックリストに登録する。
【００２０】
続いて、ＣＰＵ１０１は、ページ内のデータの整合性をチェックするためのチェックサム等の検査データをページ毎に計算してＲＡＭ１０３上の所定の領域に格納する（ステップＡ３）。そして、これらの処理が終了したら、ＣＰＵ１０１は、ＲＡＭ１０３に対する電力供給を継続しつつ電源オフ状態に移行するためのサスペンド処理を実行する（ステップＡ４）。
【００２１】
次に、図５を参照して、本情報処理装置１００におけるレジューム要求発生時の動作手順を説明する。
【００２２】
サスペンド・レジューム機能が有効な状態で電源オン操作が行われると、ＣＰＵ１０１は、まず、ブートローダを起動する（ステップＢ１）。これにより、ブートローダからページ管理機構を有するカーネルが起動されるが、その前に、ＣＰＵ１０１は、このカーネルが利用するＲＡＭ１０３上のデータ領域に対して、通常のデータ整合性チェックを実施する（ステップＢ２）。
【００２３】
もし、整合性がなければ（ステップＢ２のＮＯ）、ＣＰＵ１０１は、システムを再起動する（ステップＢ５）。一方、整合性があれば（ステップＢ２のＹＥＳ）、ＣＰＵ１０１は、カーネルを起動し（ステップＢ３）、カーネルが利用するデータ領域以外についてのデータ整合性チェックを実施することなく、起動処理へと移行する（ステップＢ４）。
【００２４】
次に、図６を参照して、本情報処理装置１００におけるデータへのアクセス要求発生時の動作手順を説明する。
【００２５】
ＲＡＭ１０３に格納されたデータに対するアクセス、即ち、当該データを含むページに関する読み込み／書き込み要求が初めて発生すると、サスペンド時のページ管理テーブルの設定（図２のステップＡ１）により、ページフォルトが発生することになる（ステップＣ１のＹＥＳ）。また、データ整合性チェックフラグは未実行を示しているので、ＣＰＵ１０１は、このページフォルトの発生を、データ整合性チェックを実施するタイミングの通知と解釈して、同じくサスペンド時に計算・格納した（図２のステップＡ３）チェックサム等の検査データを使って、当該ページのデータ整合性チェックを実施する（ステップＣ３）。
【００２６】
つまり、本情報処理装置１００では、電源オン操作時にＲＡＭ１０３に格納されているすべてのデータの整合性を検査するのではなく、アクセスが要求された時に、該当ページのデータ整合性をチェックすることで、起動時間の大幅な短縮を実現する。そして、このデータ整合性チェックのタイミング（アクセス要求時）を得るために、本情報処理装置１００は、既存のページ管理機構によるページング機能の一機能であるページフォルト割り込みを発生させる機能を利用する。
【００２７】
もし、整合性がなければ（ステップＣ３のＮＯ）、ＣＰＵ１０１は、システムを再起動する（ステップＣ６）。一方、整合性があれば（ステップＣ３のＹＥＳ）、ＣＰＵ１０１は、以降、このページでページフォルトが発生しないように、データ整合性チェックフラグの更新を含むページ管理テーブルの設定を行う（ステップＣ４）。また、この際、ＣＰＵ１０１は、整合性未チェックリストからの該当ページの削除も行っておく（ステップＣ５）。そして、ＣＰＵ１０１は、データの読み込み／書き込み処理へと移行する（ステップＣ２）。
【００２８】
なお、このデータ整合性チェックが実行されたページ内のデータに対するアクセス、即ち、当該ページの読み込み／書き込みがその後要求された際には、データ整合性チェックのためのページフォルトは発生しないので（ステップＣ１のＮＯ）、ＣＰＵ１０１は、ステップＣ２のデータの読み込み／書き込み処理へと即時に移行する。
【００２９】
また、この図６に動作手順を示したデータアクセス要求発生時におけるデータ整合性チェックと並行して、本情報処理装置１００は、サスペンド時に作成した（図２のステップＡ２）整合性未チェックリストを使って、アイドル時を活用したデータ整合性チェックを実行する。図７を参照して、本情報処理装置１００がアイドル時に実行するデータ整合性チェックの動作手順を説明する。
【００３０】
ＣＰＵ１０１は、リソースがアイドル状態になると（ステップＤ１のＹＥＳ）、整合性未チェックリストを参照し、データ整合性チェックが済んでいないページを検索する（ステップＤ２）。該当するページが検出されたら（ステップＤ２のＹＥＳ）、ＣＰＵ１０１は、サスペンド時に計算・格納した（図２のステップＡ３）チェックサム等の検査データを使って、当該ページのデータ整合性チェックを実施する（ステップＤ３）。
【００３１】
もし、整合性がなければ（ステップＤ３のＮＯ）、ＣＰＵ１０１は、システムを再起動する（ステップＤ６）。一方、整合性があれば（ステップＤ３のＹＥＳ）、ＣＰＵ１０１は、以降、このページでページフォルトが発生しないように、データ整合性チェックフラグの更新を含むページ管理テーブルの設定を行う（ステップＤ４）。また、この際、ＣＰＵ１０１は、整合性未チェックリストからの該当ページの削除も行っておく（ステップＤ５）。ＣＰＵ１０１は、整合性未チェックリストに登録されているページが存在しなくなるまで（ステップＤ２のＮＯ）、この処理を繰り返す。
【００３２】
この図７に示したアイドル時を活用したデータ整合性チェックにより、該当ページへの初めての読み込み／書き込み要求時にページフォルトは発生せず、データの読み込み／書き込み処理へと即時に移行できることになる。
【００３３】
なお、このアイドル時を活用したデータ整合性チェックに関しては、サスペンド時に整合性未チェックリストを作成する際（図２のステップＡ２）、データ整合性チェックを実施していくページの順番に優先度を設定することも有効である。整合性未チェックリストからデータ整合性チェックが済んでいないページを検索する際に、ＣＰＵ１０１は、この優先度に基づき、データ整合性チェックの対象とするページを検出する。
【００３４】
例えば、デジタルテレビジョン装置の場合、映像を出すまでの処理に必要なデータ領域のページの優先度を上げることによって、映像出力までの処理でページフォルトを発生させる回数を減少させ、映像を出す処理の効率化を図ることができる。
【００３５】
以上のように、本情報処理装置１００は、サスペンド・レジューム機能が有効な状態で電源オンされた場合におけるデータの整合性の確認処理を分散的に行うことができ、他の起動処理と並列化することができる。これにより、全てのデータの整合性を確認する場合の処理を効率化し、起動処理の高速化を図ることを可能とする。
【００３６】
即ち、本情報処理装置１００によれば、サスペンド時に主記憶に格納されていたデータのレジューム時における整合性の検査を効率的に行うことが実現される。
【００３７】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００３８】
【図１】この発明の一実施形態に係る情報処理装置の概略構成を示す図
【図２】同実施形態の情報処理装置におけるサスペンド要求発生時の動作手順を示すフローチャート
【図３】同実施形態の情報処理装置におけるページ管理テーブルの構成を示す図
【図４】同実施形態の情報処理装置が作成する整合性未チェックリストの構成を示す図
【図５】同実施形態の情報処理装置におけるレジューム要求発生時の動作手順を示すフローチャート
【図６】同実施形態の情報処理装置におけるデータへのアクセス要求発生時の動作手順を示すフローチャート
【図７】同実施形態の情報処理装置がアイドル時に実行するデータ整合性チェックの動作手順を示すフローチャート
【符号の説明】
【００３９】
１００…情報処理装置、１０１…ＣＰＵ、１０２…不揮発性メモリ、１０３…ＲＡＭ。
【図１】
2009288950.tif 000003
【図２】
2009288950.tif 000004
【図３】
2009288950.tif 000005
【図４】
2009288950.tif 000006
【図５】
2009288950.tif 000007
【図６】
2009288950.tif 000008
【図７】
2009288950.tif 000009