(57)【要約】【課題】ハイバネーション処理等の効率化を図ることが可能なデータ記憶制御方法を提供すること。【解決手段】データ記憶制御方法は、複数の仮想メモリ領域に対応した複数の仮想アドレスと第１記憶手段の複数の物理メモリ領域に対応した複数の物理アドレスとの対応関係を管理したアドレス管理テーブルに基づき、各仮想アドレスにより各物理メモリ領域に記憶されたデータへのアクセスを制御する仮想記憶に適用される方法であって、前記アドレス管理テーブルにより所定数の仮想メモリ領域に対応付けられた所定数の不連続な物理メモリ領域に記憶されたデータを所定数の連続した物理メモリ領域へ書き込み、前記アドレス管理テーブルにより前記所定数の仮想メモリ領域の各仮想アドレスと前記所定数の連続した物理メモリ領域の各物理アドレスとを対応付け、前記所定数の連続した物理メモリ領域に書き込まれたデータを圧縮し、圧縮データを第２の記憶手段へ書き込む。【選択図】図３
2010191789.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理アドレスが対応付けられた複数の物理メモリ領域を含む第１の記憶手段と、
複数の仮想メモリ領域に対応した複数の仮想アドレスと前記複数の物理メモリ領域に対応した前記複数の物理アドレスとの対応関係を管理したアドレス管理テーブルに基づき、各仮想アドレスにより各物理メモリ領域に記憶されたデータへのアクセスを制御する制御手段と、
を備え、
前記制御手段は、前記アドレス管理テーブルにより所定数の仮想メモリ領域に対応付けられた所定数の不連続な物理メモリ領域に記憶されたデータを所定数の連続した物理メモリ領域へ書き込み、前記アドレス管理テーブルにより前記所定数の仮想メモリ領域の各仮想アドレスと前記所定数の連続した物理メモリ領域の各物理アドレスとを対応付け、前記所定数の連続した物理メモリ領域に書き込まれたデータを圧縮し、圧縮データを第２の記憶手段の待避領域へ書き込み、前記第２の記憶手段の前記待避領域のアドレスを管理するデータ連続化処理を実行する、
ことを特徴とするデータ記憶制御装置。
【請求項２】
前記制御手段は、休止状態へ移行するための休止処理において前記データ連続化処理を実行することを特徴とする請求項１に記載のデータ記憶制御装置。
【請求項３】
前記第１の記憶手段は、揮発性の記憶手段であり、
前記第２の記憶手段は、不揮発性の記憶手段であり、
前記制御手段は、前記所定数の不連続な物理メモリ領域に記憶された使用中のデータを前記所定数の連続した物理メモリ領域へ書き込むことを特徴とする請求項１に記載のデータ記憶制御装置。
【請求項４】
前記制御手段は、休止状態を解除するための解除処理において、前記第２の記憶手段の前記待避領域の前記圧縮データを前記所定数の連続した物理メモリ領域へ展開することを特徴とする請求項１に記載のデータ記憶制御装置。
【請求項５】
複数の物理アドレスが対応付けられた複数の物理メモリ領域を含む第１の記憶手段と、
第１の仮想アドレス空間を構成する複数の仮想メモリ領域に対応した複数の仮想アドレスと前記複数の物理メモリ領域に対応した前記複数の物理アドレスとの対応関係を管理した第１のアドレス管理テーブルに基づき、各仮想アドレスにより各物理メモリ領域に記憶されたデータへのアクセスを制御する制御手段と、
を備え、
前記制御手段は、所定数の不連続な物理メモリ領域の各物理アドレスと第２の仮想アドレス空間に含まれた所定数の連続する仮想メモリ領域の各仮想アドレスとの対応関係を第２のアドレス管理テーブルに基づき管理し、前期第２の仮想アドレス空間に含まれた所定数の連続する仮想メモリ領域で前記所定数の不連続な物理メモリ領域に記憶されたデータを圧縮し、圧縮データを第２の記憶手段の待避領域へ書き込み、前記第２の記憶手段の前記待避領域のアドレスを管理するデータ連続化処理を実行する、
ことを特徴とするデータ記憶制御装置。
【請求項６】
複数の仮想メモリ領域に対応した複数の仮想アドレスと第１記憶手段の複数の物理メモリ領域に対応した複数の物理アドレスとの対応関係を管理したアドレス管理テーブルに基づき、各仮想アドレスにより各物理メモリ領域に記憶されたデータへのアクセスを制御する仮想記憶制御において、
前記アドレス管理テーブルにより所定数の仮想メモリ領域に対応付けられた所定数の不連続な物理メモリ領域に記憶されたデータを所定数の連続した物理メモリ領域へ書き込み、前記アドレス管理テーブルにより前記所定数の仮想メモリ領域の各仮想アドレスと前記所定数の連続した物理メモリ領域の各物理アドレスとを対応付け、前記所定数の連続した物理メモリ領域に書き込まれたデータを圧縮し、圧縮データを第２の記憶手段の待避領域へ書き込み、前記第２の記憶手段の前記待避領域のアドレスを管理するデータ連続化処理を実行することを特徴とするデータ記憶制御方法。
【請求項７】
休止状態へ移行するための休止処理において前記データ連続化処理を実行することを特徴とする請求項６に記載のデータ記憶制御方法。
【請求項８】
前記所定数の不連続な物理メモリ領域に記憶された使用中のデータを前記所定数の連続した物理メモリ領域へ書き込むことを特徴とする請求項６に記載のデータ記憶制御方法。
【請求項９】
休止状態を解除するための解除処理において、前記第２の記憶手段の前記待避領域の前記圧縮データを前記所定数の連続した物理メモリ領域へ展開することを特徴とする請求項６に記載のデータ記憶制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想記憶を利用したデータ記憶制御装置及びデータ記憶制御方法に関する。
【背景技術】
【０００２】
CPU（central processing unit）及びOS（operating system）により制御される代表的な機器としてパーソナルコンピュータが挙げられるが、近年では、映像機器のデジタル化に伴いデジタルＴＶ及びハードディスクレコーダなどもCPU及びOSにより動作が制御されている。
【０００３】
CPUは、例えば、NOR Flash又はMask ROMなどの不揮発性メモリに記憶されたプログラムをRAMなどの揮発性メモリへ展開し、展開されたプログラムを実行する。RAMなどの揮発性メモリへ展開されたデータは、電力供給の遮断により、消えてしまう。
【０００４】
そこで、近年では、OS等がハイバネーションをサポートし、不揮発性メモリ上のデータ消失が防止されるようになっている。つまり、ハイバネーションの機能により、電力供給が遮断されてしまう前に、不揮発性メモリに記憶されている作業内容が例えば外部記憶装置（ハードディスク）に待避され、電力供給が再開された際に、待避された作業内容が再び不揮発性メモリへ戻される。これにより、作業途中から作業を再開することができる。
【０００５】
ハイバネーションの機能が実行されると、例えば、不揮発性メモリに記憶された全データが外部記憶装置に待避される。不揮発性メモリの大容量可に伴い、不揮発性メモリから外部記憶装置へのデータ転送時間が長くなる傾向にある。そこで、ハイバネーションの際に、不揮発性メモリの全データをそのまま外部記憶装置へ転送するのではなく、不揮発性メモリの実際に使用しているデータだけを外部記憶装置へ転送する技術が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−３１９６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記したように、不揮発性メモリの実際に使用しているデータだけを外部記憶装置へ転送しようとすると、不揮発性メモリの不連続な領域に記憶されたデータを外部記憶装置へ転送しなければならないことが多く、このような不連続な領域に記憶されたデータを扱うと処理効率が低下し、ひいては処理時間が長くなる。
【０００８】
例えば、不揮発性メモリのデータを圧縮して外部記憶装置へ待避させる場合、連続領域に記憶されたデータの圧縮効率に比べて、不連続な領域に記憶されたデータの圧縮効率は低い。従って、サイズの大きいデータを外部記憶装置へ転送しなければならず、処理時間が低下する。また、外部記憶装置の空き容量も十分に大きいサイズが必要となってしまう。
【０００９】
本発明の目的は、ハイバネーション処理等の効率化を図ることが可能なデータ記憶制御装置及びデータ記憶制御方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一実施形態に係るデータ記憶制御装置は、複数の物理アドレスが対応付けられた複数の物理メモリ領域を含む第１の記憶手段と、複数の仮想メモリ領域に対応した複数の仮想アドレスと前記複数の物理メモリ領域に対応した前記複数の物理アドレスとの対応関係を管理したアドレス管理テーブルに基づき、各仮想アドレスにより各物理メモリ領域に記憶されたデータへのアクセスを制御する制御手段とを備え、前記制御手段は、前記アドレス管理テーブルにより所定数の仮想メモリ領域に対応付けられた所定数の不連続な物理メモリ領域に記憶されたデータを所定数の連続した物理メモリ領域へ書き込み、前記アドレス管理テーブルにより前記所定数の仮想メモリ領域の各仮想アドレスと前記所定数の連続した物理メモリ領域の各物理アドレスとを対応付け、前記所定数の連続した物理メモリ領域に書き込まれたデータを圧縮し、圧縮データを第２の記憶手段の待避領域へ書き込み、前記第２の記憶手段の前記待避領域のアドレスを管理するデータ連続化処理を実行する。
【００１１】
本発明の一実施形態に係るデータ記憶制御方法は、複数の仮想メモリ領域に対応した複数の仮想アドレスと第１記憶手段の複数の物理メモリ領域に対応した複数の物理アドレスとの対応関係を管理したアドレス管理テーブルに基づき、各仮想アドレスにより各物理メモリ領域に記憶されたデータへのアクセスを制御する仮想記憶制御において、前記アドレス管理テーブルにより所定数の仮想メモリ領域に対応付けられた所定数の不連続な物理メモリ領域に記憶されたデータを所定数の連続した物理メモリ領域へ書き込み、前記アドレス管理テーブルにより前記所定数の仮想メモリ領域の各仮想アドレスと前記所定数の連続した物理メモリ領域の各物理アドレスとを対応付け、前記所定数の連続した物理メモリ領域に書き込まれたデータを圧縮し、圧縮データを第２の記憶手段の待避領域へ書き込み、前記第２の記憶手段の前記待避領域のアドレスを管理するデータ連続化処理を実行する。
【発明の効果】
【００１２】
本発明によれば、ハイバネーション処理等の効率化を図ることが可能なデータ記憶制御装置及びデータ記憶制御方法を提供できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るデータ記憶制御装置の概略構成を示す図である。
【図２】本発明の一実施形態に係るデータ連続化処理を適用した休止処理を示すフローチャートである。
【図３】本発明の一実施形態に係るデータ連続化処理の概略を示す状態遷移図である。
【図４】本発明の一実施形態に係るデータ連続化処理を適用した休止処理で遷移した休止状態を解除するための解除処理を示すフローチャートである。
【図５】データ連続化処理を適用しない休止処理の一例を示すフローチャートである。
【図６】データ連続化処理を適用しない休止処理前の状態と休止処理後の状態とを説明するための図である。
【図７】データ連続化処理を適用しない休止処理で遷移した休止状態を解除するための解除処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照し、本発明の実施形態について説明する。
【００１５】
図１は、本発明の一実施形態に係るデータ記憶制御装置の概略構成を示す図である。このデータ記憶制御装置は、パーソナルコンピュータ、デジタルＴＶ、ハードディスクレコーダなどに適用することができる。
【００１６】
図１に示すようにデータ記憶制御装置は、CPUなどで構成することが可能な制御モジュール１、RAMなどで構成することが可能な揮発性メモリ２、及びNOR FLASH 又はHDD（ハードディスクドライブ）などで構成することが可能な不揮発性メモリ３を備え、制御モジュール１、揮発性メモリ２、不揮発性メモリ３は、バス４を介して接続されている。揮発性メモリ２は物理メモリ空間を含み、物理メモリ空間は複数の物理ページ（複数の物理メモリ領域）により構成され、複数の物理ページは複数の物理アドレスと対応する。つまり各物理ページは、各物理アドレスにより管理することができる。
【００１７】
制御モジュール１は、OSと協同して、仮想メモリ空間によりデータの読み書きを制御する。仮想メモリ空間は複数の仮想ページ（複数の仮想メモリ領域）により構成され、複数の仮想ページは複数の仮想アドレスと対応する。つまり各仮想ページは、各仮想アドレスにより管理することができる。例えば、制御モジュール１は、複数の仮想アドレスと複数の物理アドレスとの対応関係を管理したページテーブル（アドレス管理テーブル）を生成し、このページテーブルに基づき、各仮想アドレスにより各物理ページに記憶されたデータへのアクセスを制御する。つまり、ページ単位でデータへのアクセスが制御される。
【００１８】
次に、サスペンド・レジューム及びハイバネーションについて説明する。サスペンド・レジュームが実行されると、不揮発性メモリに対しては通電され続けるが、不揮発性メモリ以外に対しては通電が停止される。サスペンド・レジュームの実行中は不揮発性メモリにはデータが記憶され続けるため、サスペンド・レジュームが解除されると、不揮発性メモリに記憶され続けていたデータに基づき、作業途中から作業を高速に再開することができる。
【００１９】
ハイバネーションは電源供給の遮断前に実行され、ハイバネーションが実行されると、揮発性メモリのメモリイメージは不揮発性メモリに保存される。電源供給が再開されると、不揮発性メモリで保存されたメモリイメージにより作業途中からの作業を再開することができる。
【００２０】
サスペンド・レジュームの実行時には揮発性メモリに対しては常時通電してメモリ領域をリフレッシュする必要があるため、サスペンド・レジュームによる待機時の消費電力が、ハイバネーションによる待機時の消費電力よりも高くなってしまう。一方、ハイバネーションの実行時には揮発性メモリのデータが不揮発性メモリへ待避されるため、作業再開のためには、再び不揮発性メモリに待避されたデータを揮発性メモリへ読み出す必要があり、ハイバネーションによる作業再開までの待ち時間は、サスペンド・レジュームによる作業再開までの待ち時間より長くなってしまう。
【００２１】
また、ハイバネーションの実行時には、揮発性メモリのデータを圧縮して、圧縮されたデータを不揮発性メモリへ待避させることが考えられる。さらに、効率化を図るために、揮発性メモリの使用中アドレスのデータだけをイメージとして圧縮して、圧縮データを不揮発性メモリへ待避させることが考えられる。
【００２２】
一般的に、圧縮しようとするデータ単位が大きいと圧縮率が上がり圧縮後のデータサイズは小さくなり、圧縮しようとするデータ単位が小さいと圧縮率が低下し圧縮後のデータサイズはさほど小さくならない。
【００２３】
上記のように、使用中アドレスのデータだけをイメージとして圧縮し、圧縮データを保存することを考えると、使用中アドレスには連続性が保障されない。つまり、不連続アドレスの各データを個々に圧縮することになる。つまり、圧縮しようとするデータ単位が小さくなりやすい。よって、圧縮率が低下し、圧縮後のデータサイズはさほど小さくならない。また、不連続アドレスの複雑な管理が必要となる。更に、作業再開時には、不連続アドレスの各物理ページに対して展開データを書き込む処理が必要となり、こちらの処理も複雑になってしまう。
【００２４】
そこで、本実施形態では、図３に示すように、データ記憶制御装置の制御モジュール１が、休止状態へ移行するための休止処理において次に説明するデータ連続化処理を実行する。つまり、制御モジュール１は、ページテーブルにより、所定数（例えばｎ個、ｎ≧２、ｎ：整数）の仮想ページに対応付けられた所定数（例えばｎ個、ｎ≧２、ｎ：整数）の不連続な物理ページに記憶されたデータを所定数（例えばｎ個、ｎ≧２、ｎ：整数）の連続した物理ページへ書き込む。さらに、制御モジュール１は、ページテーブルにより所定数の仮想ページの各仮想アドレスと所定数の連続した物理ページの各物理アドレスとを対応付ける。さらに、制御モジュールは、所定数の連続した物理ページに書き込まれたデータを圧縮し、圧縮データを不揮発性メモリ３の待避領域へ書き込み、この待避領域のアドレスを管理する。つまり、所定数（例えばｎ個、ｎ≧２、ｎ：整数）の連続した物理ページの各アドレスと退避領域の各アドレスとを対応付けて管理する。
【００２５】
ここで、図３を参照して、休止処理前の状態と休止処理後の状態とを比較する。休止処理開始前には、仮想メモリ空間上の不連続な仮想ページに使用中データが存在し、同様に、物理メモリ空間上でも不連続な物理ページに使用中データが存在している。このとき、ページテーブルは、不連続な仮想ページの各仮想アドレスと不連続な物理ページの各物理アドレスとを対応付けている。これに対して、休止処理後は、仮想メモリ空間上の不連続な仮想ページに使用中データが存在しているが、物理メモリ空間上では連続する物理ページに使用中データがまとまって存在している。このとき、ページテーブルは、不連続な仮想ページの各仮想アドレスと連続する物理ページの各物理アドレスとを対応付けている。
【００２６】
つまり、休止処理により、使用中の不連続な物理ページに記憶されたデータを、連続した物理ページに書き移し、これに対応してページテーブルを更新し、連続した物理ページのデータを一つのイメージとして圧縮し、圧縮データを不揮発性メモリ３の待避領域へ書き込むことができる。従って、圧縮しようとするデータ単位を大きくすることができ、圧縮率を上げることができ、圧縮後のデータサイズを小さくすることができる。しかも、一箇所（所定数の連続した物理ページ）で圧縮データを展開することができるため、アドレス管理も簡単になるし、展開時間も短縮できる。また、休止前にページテーブルが更新されているので、作業再開時には直ぐにページテーブルに基づきデータへアクセスすることができる。また、ページテーブル上の所定数の仮想ページの各仮想アドレスは変更されないため、作業再開時の負荷が小さい。
【００２７】
図２は、本発明の一実施形態に係る休止状態へ移行するための休止処理を示すフローチャートである。制御モジュール１は、複数の使用中の物理ページのなかで物理アドレスが連続していない物理ページをサーチする（ＳＴ１０１）。物理アドレスが連続していない物理ページが有れば（ＳＴ１０１、ＹＥＳ）、制御モジュール１は、物理アドレスが連続になるように、物理ページを移動する（ＳＴ１０２）。つまり、制御モジュール１は、不連続な物理ページのデータを連続する物理ページへ書き移す。これに対応して、制御モジュール１は、ページテーブルを書き換える（ＳＴ１０３）。物理アドレスが連続していない物理ページが無くなれば（ＳＴ１０１、ＮＯ）、制御モジュール１は、連続する物理ページのデータを一つのイメージとして圧縮し、圧縮データを不揮発性メモリ３の待避領域へ保存し（ＳＴ１０４）、この待避領域のアドレスを管理し、電力供給を停止する（ＳＴ１０５）。
【００２８】
図４は、本発明の一実施形態に係る休止状態を解除するための解除処理を示すフローチャートである。電力供給が再開されると（ＳＴ２０１）、制御モジュール１は、不揮発性メモリ３の待避領域のアドレスに基づき、不揮発性メモリ３の待避領域から圧縮データを読み出し、連続する物理ページの各アドレスと退避領域の各アドレスとを対応付けた待避テーブルに従い、連続する物理ページに、圧縮データを展開する（ＳＴ２０２）。制御モジュール１は、展開されたデータに基づき、作業を再開する（ＳＴ２０３）。
【００２９】
図５は、データ連続化処理を適用しない休止処理の一例を示すフローチャートである。この休止処理では、複数の使用中の物理ページのなかで未保存のデータが記憶された物理ページがサーチされる（ＳＴ３０１）。未保存のデータが記憶された物理ページがあれば（ＳＴ３０１、ＹＥＳ）、この物理ページに記憶された未保存のデータが圧縮される。つまり、ページ単位でデータが圧縮される。圧縮データは不揮発性メモリの待避領域に待避され（ＳＴ３０２）、待避テーブルにより未保存の物理ページのアドレスと待避領域のアドレスとが対応付けて管理される。
【００３０】
未保存のデータが記憶された物理ページが見つからなくなるまで、上記したような、物理ページのサーチと、未保存のデータのページ単位の圧縮と、圧縮データの保存と、アドレス管理とが繰り返される。未保存のデータが記憶された物理ページが見つからなくなると、電力供給が停止される（ＳＴ３０３）。
【００３１】
図６は、データ連続化処理を適用しない休止処理前の状態と休止処理後の状態とを説明する。休止処理開始前には、仮想メモリ空間上の不連続な仮想ページに使用中データが存在し、同様に、物理メモリ空間上でも不連続な物理ページに使用中データが存在している。このとき、ページテーブルは、不連続な仮想ページの各仮想アドレスと不連続な物理ページの各物理アドレスとを対応付けている。
【００３２】
休止処理後は（休止状態では）、ページテーブルに変更はなく、不連続な物理ページに記憶されていた各データは圧縮されて不揮発性メモリの各退避領域に記憶されている。つまり、ページテーブルにより不連続な仮想ページの各仮想アドレスと不連続な物理ページの各物理アドレスとが対応付けて管理され、さらに、待避テーブルにより不連続な物理ページの各物理アドレスと不揮発性メモリの各退避領域のアドレスとが対応付けて管理される。
【００３３】
図７は、データ連続化処理を適用しない休止処理で遷移した休止状態を解除するための解除処理を示すフローチャートである。電力供給が再開されると（ＳＴ４０１）、待避テーブルに従い、不揮発性メモリの各退避領域から圧縮データが読み出され、不連続な物理ページの夫々に各圧縮データが展開される（ＳＴ４０２）（ＳＴ４０４）。不連続な物理ページの夫々に圧縮データを展開しなければならないため、一つの待避領域から圧縮データを読み出して、一つの物理ページに対して圧縮データを展開する作業を繰り返さなければならず、作業効率が悪い。展開すべきデータがなくなるまで、圧縮データの読み出しと展開が継続され、展開すべきデータがなくなると（ＳＴ４０２、ＮＯ）、展開されたデータに基づき作業再開処理が実行される（ＳＴ４０３）。不連続な物理ページに展開されたデータに基づき作業再開処理を実行しなければならないため、作業再開処理の効率も悪い。
【００３４】
なお、上記説明では、揮発性メモリのデータを圧縮して不揮発性メモリに保存するケースについて説明したが、圧縮せずにそのままのデータを不揮発性メモリに保存するようにしてもよい。この場合でも、データ連続化処理を適用していれば、不揮発性メモリに保存されたデータを揮発性メモリの連続領域にまとめて書き込めるので、作業効率が良い。同様の理由で、作業再開処理の効率も良く、作業再開処理時間の短縮が可能である。
【００３５】
上記したデータ連続化処理では、不連続の物理ページのデータを連続する物理ページへ書き移すケースについて説明したが、連続する物理ページへ書き移さないデータ仮想連続処理を適用することもできる。
【００３６】
データ仮想連続処理は、次の通りである。上記において、ページテーブル（以下、このページテーブルをページテーブルＡと称する）が、仮想メモリ空間（以下、この仮想メモリ空間を仮想メモリ空間Ａと称する）上の複数の仮想アドレスと不揮発性メモリ２の物理メモリ空間上の複数の物理アドレスとの対応を管理することを説明した。このページテーブルＡとは別にページテーブルＢを利用する。ページテーブルＢは、不揮発性メモリ２の使用中の不連続な物理ページの各物理アドレスと仮想メモリ空間Ｂ上の連続する仮想ページの各仮想アドレスとを対応付ける。そして、仮想メモリ空間Ｂ上の連続する仮想ページで、不揮発性メモリ２の使用中の不連続な物理ページに記憶されたデータのイメージを作成する。作業再開時には、ページテーブルＢに基づき、仮想メモリ空間Ｂ上の連続する仮想ページ上に作成されたイメージを元に戻し、さらにページテーブルＡに基づき、仮想メモリ空間Ａ上に戻す。以上により、物理的なデータの移動なしで、仮想的な連続処理により処理効率を高めることができる。
【００３７】
本実施形態で説明したデータ連続化処理及びデータ仮想連続化処理により、例えばハイバネーションのような処理の効率化を図ることができる。つまり、データの高圧縮化、再開処理の単純化により、ハイバネーションのような処理の効率化を図ることができる。結果的に作業再開処理時間を短縮することができる。また、本実施形態で説明したデータ連続化処理及びデータ仮想連続化処理は、ハイバネーションのような処理の動作プログラムの変更は不要であり、この点でも優れている。
【００３８】
以下に、本実施形態をまとめる。
【００３９】
（１）休止状態移行前に不揮発性メモリの不連続なページのデータを不揮発性メモリの連続するページへ移動する。
【００４０】
（２）移動後にページテーブルを書き換える。
【００４１】
（３）ページ単位のデータを圧縮するのではなく、連続するページのデータを一つのイメージとして圧縮する。これにより圧縮率を高くすることができる。
【００４２】
（４）作業再開時に、不連続なページにバラバラにデータを展開するのではなく、連続するページにまとめて圧縮データを展開する。一つのイメージを一つの連続ページに展開するので、展開処理が高速になる。
【００４３】
（５）不連続なページにバラバラに展開されたデータに基づき作業を再開するのではなく、一つの連続ページに展開されたデータに基づき作業を再開するので、作業再開処理効率が良い。
【００４４】
なお、上記したモジュールとは、ハードウェアで実現するものであっても良いし、ＣＰＵ等を使ってソフトウェアで実現するものであってもよい。
【００４５】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【００４６】
１…制御モジュール、２…揮発性メモリ、３…不揮発性メモリ、４…バス
【図１】
2010191789.tif 000003
【図２】
2010191789.tif 000004
【図３】
2010191789.tif 000005
【図４】
2010191789.tif 000006
【図５】
2010191789.tif 000007
【図６】
2010191789.tif 000008
【図７】
2010191789.tif 000009
【手続補正書】
【提出日】平成22年2月26日(2010.2.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の物理アドレスが対応付けられた複数の物理メモリ領域を含む第１の記憶手段と、
複数の仮想メモリ領域に対応した複数の仮想アドレスと前記複数の物理メモリ領域に対応した前記複数の物理アドレスとの対応関係を管理したアドレス管理テーブルに基づき、各仮想アドレスにより各物理メモリ領域に記憶されたデータへのアクセスを制御する制御手段と、
を備え、
前記制御手段は、前記アドレス管理テーブルにより所定数の仮想メモリ領域に対応付けられた所定数の不連続な物理メモリ領域に記憶されたデータを所定数の連続した物理メモリ領域へ書き込み、前記アドレス管理テーブルにより前記所定数の仮想メモリ領域の各仮想アドレスと前記所定数の連続した物理メモリ領域の各物理アドレスとを対応付け、前記所定数の連続した物理メモリ領域に書き込まれたデータを圧縮し、圧縮データを第２の記憶手段の待避領域へ書き込み、前記第２の記憶手段の前記待避領域のアドレスを管理するデータ連続化処理を実行する、
ことを特徴とするデータ記憶制御装置。
【請求項２】
前記制御手段は、休止状態へ移行するための休止処理において前記データ連続化処理を実行することを特徴とする請求項１に記載のデータ記憶制御装置。
【請求項３】
前記第１の記憶手段は、揮発性の記憶手段であり、
前記第２の記憶手段は、不揮発性の記憶手段であり、
前記制御手段は、前記所定数の不連続な物理メモリ領域に記憶された使用中のデータを前記所定数の連続した物理メモリ領域へ書き込むことを特徴とする請求項１に記載のデータ記憶制御装置。
【請求項４】
前記制御手段は、休止状態を解除するための解除処理において、前記第２の記憶手段の前記待避領域の前記圧縮データを前記所定数の連続した物理メモリ領域へ展開することを特徴とする請求項１に記載のデータ記憶制御装置。
【請求項５】
複数の仮想メモリ領域に対応した複数の仮想アドレスと第１記憶手段の複数の物理メモリ領域に対応した複数の物理アドレスとの対応関係を管理したアドレス管理テーブルに基づき、各仮想アドレスにより各物理メモリ領域に記憶されたデータへのアクセスを制御する仮想記憶制御において、
前記アドレス管理テーブルにより所定数の仮想メモリ領域に対応付けられた所定数の不連続な物理メモリ領域に記憶されたデータを所定数の連続した物理メモリ領域へ書き込み、前記アドレス管理テーブルにより前記所定数の仮想メモリ領域の各仮想アドレスと前記所定数の連続した物理メモリ領域の各物理アドレスとを対応付け、前記所定数の連続した物理メモリ領域に書き込まれたデータを圧縮し、圧縮データを第２の記憶手段の待避領域へ書き込み、前記第２の記憶手段の前記待避領域のアドレスを管理するデータ連続化処理を実行することを特徴とするデータ記憶制御方法。
【請求項６】
休止状態へ移行するための休止処理において前記データ連続化処理を実行することを特徴とする請求項５に記載のデータ記憶制御方法。
【請求項７】
前記所定数の不連続な物理メモリ領域に記憶された使用中のデータを前記所定数の連続した物理メモリ領域へ書き込むことを特徴とする請求項５に記載のデータ記憶制御方法。
【請求項８】
休止状態を解除するための解除処理において、前記第２の記憶手段の前記待避領域の前記圧縮データを前記所定数の連続した物理メモリ領域へ展開することを特徴とする請求項５に記載のデータ記憶制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
データ記憶制御装置は、
複数の物理アドレスが対応付けられた複数の物理メモリ領域を含む第１の記憶手段と、
第１の仮想アドレス空間を構成する複数の仮想メモリ領域に対応した複数の仮想アドレスと前記複数の物理メモリ領域に対応した前記複数の物理アドレスとの対応関係を管理した第１のアドレス管理テーブルに基づき、各仮想アドレスにより各物理メモリ領域に記憶されたデータへのアクセスを制御する制御手段と、
を備え、
前記制御手段は、所定数の不連続な物理メモリ領域の各物理アドレスと第２の仮想アドレス空間に含まれた所定数の連続する仮想メモリ領域の各仮想アドレスとの対応関係を第２のアドレス管理テーブルに基づき管理し、前期第２の仮想アドレス空間に含まれた所定数の連続する仮想メモリ領域で前記所定数の不連続な物理メモリ領域に記憶されたデータを圧縮し、圧縮データを第２の記憶手段の待避領域へ書き込み、前記第２の記憶手段の前記待避領域のアドレスを管理するデータ連続化処理を実行する。