(57)【要約】【課題】サスペンド／レジューム機能を有する情報処理装置において、レジューム時の所要時間をより短縮させることを実現する。【解決手段】メモリ管理ユーティリティ１０１は、サスペンド時、揮発性メモリ１３内に存在する使用中のデータを不揮発性メモリ１２内に退避させたとき、その揮発性メモリ１３の領域が仮想アドレス空間の一部であるかどうかを調べ、仮想アドレス空間の一部であったならば、レジューム時の不揮発性メモリ１２から揮発性メモリ１３への復元を省略させるために、そのページテーブルエントリを退避先の不揮発性メモリ１２の領域を示すように更新するとともに、この揮発性メモリ１３へのデータの復元に用いられるコピー管理表１５０への当該コピー（揮発性メモリ１３から不揮発性メモリ１２へのコピー）の履歴の記録を省略する。【選択図】図１
2008158773.tif 000002
【特許請求の範囲】
【請求項１】
データ記憶領域上の物理的な位置を指定してアクセス可能な揮発性メモリと、
データ記憶領域上の物理的な位置を指定してアクセス可能な不揮発性メモリと、
その時の動作状態を保持しながら電源オフするサスペンド時に、前記揮発性メモリに格納された使用中のデータを前記不揮発性メモリに退避させる退避手段と、
前記退避手段がデータを退避した前記揮発性メモリ内のデータ記憶領域がマッピングされたメインメモリ空間上の領域に、退避先である不揮発性メモリ内のデータ記憶領域をマッピングし直す更新手段と、
を具備することを特徴とする情報処理装置。
【請求項２】
前記退避手段によるデータ退避が行われた際、前記更新手段による再マッピングに係わるデータ以外のデータについて、退避元の揮発性メモリ内のデータ記憶領域と退避先の不揮発性メモリ内のデータ記憶領域との対応を記録する記録手段と、
サスペンド時に保持された動作状態を復元させながら電源オンするレジューム時に、前記記録手段に記録された対応に基づき、前記不揮発性メモリに退避されたデータを前記揮発性メモリに書き戻す復元手段と、
をさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記更新手段は、前記サスペンド時、前記退避手段によるデータ退避後に、前記再マッピングを行うことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記更新手段は、前記レジューム時、前記復元手段によるデータ復元前に、前記再マッピングを行うことを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記不揮発性メモリよりも記憶容量の大きい不揮発性の記憶装置をさらに具備し、
前記退避手段は、退避すべき前記揮発性メモリ上のデータ量が前記不揮発性メモリ上の空き容量を超えている場合、その超過分を前記不揮発性の記憶装置に退避し、
前記記録手段は、前記退避元の揮発性メモリ内のデータ記憶領域と退避先の不揮発性の記憶装置内のデータ記憶領域との対応をさらに記録し、
前記復元手段は、前記記録手段に記録された対応に基づき、さらに前記不揮発性の記憶装置に退避されたデータを前記揮発性メモリに書き戻す、
ことを特徴とする請求項２記載の情報処理装置。
【請求項６】
データ記憶領域上の物理的な位置を指定してアクセス可能な揮発性メモリおよび不揮発性メモリを具備する情報処理装置のメモリ管理方法であって、
その時の動作状態を保持しながら電源オフするサスペンド時に、前記揮発性メモリに格納された使用中のデータを前記不揮発性メモリに退避させ、
前記データを退避した前記揮発性メモリ内のデータ記憶領域がマッピングされたメインメモリ空間上の領域に、退避先である不揮発性メモリ内のデータ記憶領域をマッピングし直す、
ことを特徴とするメモリ管理方法。
【請求項７】
前記データ退避を行った際、前記再マッピングに係わるデータ以外のデータについて、退避元の揮発性メモリ内のデータ記憶領域と退避先の不揮発性メモリ内のデータ記憶領域との対応を記録する記録し、
サスペンド時に保持された動作状態を復元させながら電源オンするレジューム時に、前記記録した対応に基づき、前記不揮発性メモリに退避されたデータを前記揮発性メモリに書き戻す、
ことを特徴とする請求項６記載のメモリ管理方法。
【請求項８】
前記情報処理装置は、前記不揮発性メモリよりも記憶容量の大きい不揮発性の記憶装置をさらに具備し、
退避すべき前記揮発性メモリ上のデータ量が前記不揮発性メモリ上の空き容量を超えている場合、その超過分を前記不揮発性の記憶装置に退避し、
前記退避元の揮発性メモリ内のデータ記憶領域と退避先の不揮発性の記憶装置内のデータ記憶領域との対応をさらに記録し、
前記記録した対応に基づき、さらに前記不揮発性の記憶装置に退避されたデータを前記揮発性メモリに書き戻す、
ことを特徴とする請求項７記載のメモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、いわゆるサスペンド／レジューム機能を有するパーソナルコンピュータ等に適用して好適なメモリ管理技術に関する。
【背景技術】
【０００２】
近年、ノートブックタイプやデスクトップタイプ等、様々なタイプのパーソナルコンピュータが広く普及している。この種のパーソナルコンピュータでは、例えば前日の退勤時に中断した状態から作業を再開すること等を可能とするいわゆるサスペンド／レジューム機能を有することが一般的である。
【０００３】
このサスペンド／レジューム機能は、例えば電源ボタンの押下等によるサスペンド指示を受けた際、その時の動作状態を退避させておき、レジューム指示を受けた際には、その退避させておいた動作状態を復元することで実現する。その処理の大部分は、揮発性メモリ上に存在する使用中のデータを不揮発性メモリ上にコピーし、また、不揮発性メモリ上にコピーしたデータを揮発性メモリに再コピーすることに費やされている。そのため、サスペンド時やレジューム時の所要時間を短縮すべく、速やかに使用中データのコピーを完了させるための工夫がこれまでも種々提案されている（例えば特許文献１等参照）。
【特許文献１】国際公開第０１／０３７０６６号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の情報処理装置では、ＤＲＡＭ等に存在する使用中データの退避先をＨＤＤ等よりも動作速度の速いフラッシュメモリ等とすることによって、サスペンド時やレジューム時の所要時間を短縮するというものである。
【０００５】
ところで、この手法では、レジューム時において、フラッシュメモリ等に退避したデータすべてを一律にＤＲＡＭ等に書き戻す。しかしながら、最近では、搭載されるメモリが大容量化の傾向にあるので、サスペンド時やレジューム時の所要時間を短縮するためのさらなる工夫が要求され始めている。
【０００６】
この発明は、このような事情を考慮してなされたものであり、レジューム時の所要時間をより短縮させることを実現する情報処理装置およびメモリ管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前述した目的を達成するために、この発明の情報処理装置は、データ記憶領域上の物理的な位置を指定してアクセス可能な揮発性メモリと、データ記憶領域上の物理的な位置を指定してアクセス可能な不揮発性メモリと、その時の動作状態を保持しながら電源オフするサスペンド時に、前記揮発性メモリに格納された使用中のデータを前記不揮発性メモリに退避させる退避手段と、前記退避手段がデータを退避した前記揮発性メモリ内のデータ記憶領域がマッピングされたメインメモリ空間上の領域に、退避先である不揮発性メモリ内のデータ記憶領域をマッピングし直す更新手段と、を具備することを特徴とする。
【発明の効果】
【０００８】
この発明によれば、レジューム時の所要時間をより短縮させることを実現する情報処理装置およびメモリ管理方法を提供できる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の一実施形態を説明する。
【００１０】
図１には、本発明の実施形態に係る情報処理装置の概略構成が示されている。この情報処理装置１０は、例えばノートブックタイプやデスクトップタイプのパーソナルコンピュータ等として実現されている。
【００１１】
図１に示すように、この情報処理装置１０は、ＣＰＵ１１、不揮発性メモリ１２、揮発性メモリ１３およびＨＤＤ／フラッシュＲＯＭ１４を有している。
【００１２】
ＣＰＵ１１は、この情報処理装置内の各部の動作を制御するプロセッサである。ＣＰＵ１１は、ＨＤＤ１４／フラッシュＲＯＭ１４から不揮発性メモリ１２または揮発性メモリ１３にロードされるオペレーティングシステム（ＯＳ）１００や当該ＯＳ１００の配下で動作する各種プログラムを実行する。この各種プログラムの中に、後述するメモリ管理ユーティリティ１０１が存在する。
【００１３】
不揮発性メモリ１２は、例えばＭＲＡＭ、ＦｅＲＡＭ、セルフリフレッシュでバックアップされたＤＲＡＭ等で構成される、データを恒久的に保持することのできるメモリデバイスであり、一方、揮発性メモリ１３は、ＤＲＡＭ等で構成される、データを一時的（電力が供給されている期間中）に保持することのできるメモリデバイスである。この不揮発性メモリ１２および揮発性メモリ１３の双方とも、リニアにアクセス可能、即ち、データ記憶領域上の物理的な位置を指定してアクセス可能なメモリデバイスである。
【００１４】
ＨＤＤ／フラッシュＲＯＭ１４は、ハードディスクとフラッシュＲＯＭを併せ持つハイブリッド型のストレージデバイスであり、不揮発性メモリ１２および揮発性メモリ１３の補助装置として大量の各種プログラムおよび各種データを格納する。
【００１５】
このような構成を持つ本情報処理装置１０は、中断した時点の状態から作業を再開することを可能とするいわゆるサスペンド／レジューム機能を有している。前述のメモリ管理ユーティリティ１０１は、このサスペンド／レジューム機能に関し、揮発性メモリ１３に格納された使用中データの退避／復元を実行制御する。より具体的には、メモリ管理ユーティリティ１０１は、サスペンド時に揮発性メモリ１３に格納された使用中データを不揮発性メモリ１２に退避させることを基本とし、不揮発性メモリ１２の空き容量を越える量の使用中データが揮発性メモリ１３に存在する場合には、その超過分をＨＤＤ／フラッシュＲＯＭ１４に退避する。そして、メモリ管理ユーティリティ１０１は、レジューム時に不揮発性メモリ１２およびＨＤＤ／フラッシュＲＯＭ１４に退避させた使用中データを揮発性メモリ１３に復元する。この復元のために、メモリ管理ユーティリティ１０１は、退避元のデータ記憶領域と退避先のデータ記憶領域との対応を記録するコピー管理表１５０を不揮発性メモリ１２上で管理する。
【００１６】
ところで、前述したように、不揮発性メモリ１２および揮発性メモリ１３の双方とも、リニアにアクセス可能なメモリデバイスである。従って、これらのデータ記憶領域はＣＰＵ１１がアクセスできるメインメモリ空間（仮想アドレス空間）に割り当てることが可能である。この点に着目して、この情報処理装置１０は、レジューム時におけるデータ復帰の所要時間を短縮させるための仕組みを備えたものである。以下、この点について詳述する。
【００１７】
図２には、サスペンド時における本情報処理装置１０の仮想アドレス空間の割り当て状況が示されている。ＣＰＵ１１によるアクセスは、すべて仮想アドレス空間２１に対して行われ、この仮想アドレス空間２１と物理的なメモリである不揮発性メモリ１２および揮発性メモリ１３とは、ページテーブルエントリ２２で対応づけられている。
【００１８】
メモリ管理ユーティリティ１０１は、サスペンド時においては、この揮発性メモリ１３に格納された使用中データを不揮発性メモリ１２またはＨＤＤ／フラッシュＲＯＭ１４に退避させ、その履歴をコピー管理表１５０に記録する。一方、レジューム時においては、メモリ管理ユーティリティ１０１は、このコピー管理表１５０に基づき、不揮発性メモリ１２またはＨＤＤ／フラッシュＲＯＭ１４に退避させた使用中データを揮発性メモリ１３に復元する。最近では、搭載されるメモリが大容量化の傾向にあるので、この使用中データ復元に時間を要するようになってきている。そこで、メモリ管理ユーティリティ１０１は、この復元のための処理量を軽減するために、ページテーブルエントリ２２によって仮想アドレス空間２１に割り当てられた揮発性メモリ１３のデータ記憶領域上の使用中データを不揮発性メモリ１２のデータ記憶領域上に退避した場合、このページテーブルエントリ２２の内容を更新する。図３は、揮発性メモリ１３に格納された使用中データの退避およびページテーブルエントリ２２の更新が行われた後の本情報処理装置１０の仮想アドレス空間の割り当て状況を示す図である。
【００１９】
図３に示すように、かつて使用中データが格納されていた揮発性メモリ１３上のデータ記憶領域のアドレスが保持されていたページテーブルエントリ２２には、退避先の不揮発性メモリ１２上のデータ記憶領域のアドレスが保持されている。そのため、ＣＰＵ１１による当該使用中データへのアクセスは何ら問題なく行うことができる。不揮発性メモリ１２から揮発性メモリ１３へ使用中データをコピーする所要時間と比較して、ページテーブルエントリ２２を更新する所要時間は十分小さいので、レジューム時におけるデータ復帰の所要時間を大幅に短縮することを実現する。なお、ページテーブルエントリ２２は、ＯＳ１００によって管理されるので、メモリ管理ユーティリティ１０１は、その更新をＯＳ１００に依頼する。
【００２０】
図４は、本情報処理装置１０がサスペンド時に実行するメモリ管理の手順を示すフローチャートである。
【００２１】
メモリ管理ユーティリティ１０１は、サスペンド時、揮発性メモリ１３内に使用中のデータ（領域）があるかどうかを順次調べていき（ステップＡ１）、使用中の領域があったならば（ステップＡ１のＹＥＳ）、続いて、その領域上のデータを退避させるための未使用領域が不揮発性メモリ１２内に残存するかどうかを調べる（ステップＡ２）。
【００２２】
もし、未使用領域が不揮発性メモリ１２内にあったら（ステップＡ２のＹＥＳ）、メモリ管理ユーティリティ１０１は、その揮発性メモリ１３の内容を不揮発性メモリ１２にコピーする（ステップＡ３）。そして、この時、メモリ管理ユーティリティ１０１は、その揮発性メモリ１３の領域が仮想アドレス空間２１の一部であるかどうかを調べ（ステップＡ４）、仮想アドレス空間２１の一部であったならば（ステップＡ４のＹＥＳ）、ページテーブルエントリ２２の更新を実行する（ステップＡ５）。また、その揮発性メモリ１３の領域が仮想アドレス空間２１の一部でなければ（ステップＡ４のＮＯ）、メモリ管理ユーティリティ１０１は、この揮発性メモリ１３から不揮発性メモリ１２へのコピーの履歴をコピー管理表１５０に記録する（ステップＡ７）。
【００２３】
一方、未使用領域が不揮発性メモリ１２内になければ（ステップＡ２のＮＯ）、メモリ管理ユーティリティ１０１は、その揮発性メモリ１３の内容をＨＤＤ／フラッシュＲＯＭ１４にコピーして（ステップＡ６）、このＨＤＤ／フラッシュＲＯＭ１４から不揮発性メモリ１２へのコピーの履歴をコピー管理表１５０に記録する（ステップＡ７）。
【００２４】
そして、不揮発性メモリ１２またはＨＤＤ／フラッシュＲＯＭ１４へのコピーを完了すると、メモリ管理ユーティリティ１０１は、その揮発性メモリ１３の領域を未使用領域に変更し（ステップＡ８）、ステップＡ１から処理を繰り返す。即ち、揮発性メモリ１３内に使用中の領域がない状態（ステップＡ１のＮＯ）となるまで、メモリ管理ユーティリティ１０１は、上記の処理を繰り返す。
【００２５】
その後のレジューム時には、逆に、コピー管理表１５０に基づき、メモリ管理ユーティリティ１０１は、不揮発性メモリ１２またはＨＤＤ／フラッシュＲＯＭ１４から揮発性メモリ１３へのコピーを行うことになるが、仮想アドレス空間２１の一部である領域について行った揮発性メモリ１３から不揮発性メモリ１２へのコピーの履歴はコピー管理表１５０に記録されていないので、その分のコピーが省略されることになる。
【００２６】
このように、本実施形態の情報処理装置１０によれば、レジューム時の所要時間をより短縮させることが実現される。
【００２７】
なお、以上では、ページテーブルエントリ２２の更新を、サスペンド時に実施する例を説明したが、その実施タイミングをレジューム時に移動させることも可能である。この場合、コピー管理表１５０に基づいて揮発性メモリ１３へのコピーを行っていく際に、仮想アドレス空間２１の一部である領域について揮発性メモリ１３から不揮発性メモリ１２へコピーしたものかどうかを調べて、そうであれば、実データのコピーに代えて、ページテーブルエントリ２２の更新を行うようにすればよい。あるいは、揮発性メモリ１３へのコピーを行っていく前に、仮想アドレス空間２１の一部である領域について行った揮発性メモリ１３から不揮発性メモリ１２へのコピーをコピー管理表１５０から検出し、ページテーブルエントリ２２の更新を実行すると共に、この履歴をコピー管理表１５０から削除する作業を前処理としてうことによっても可能である。
【００２８】
このように、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００２９】
【図１】この発明の実施形態に係る情報処理装置の概略構成を示す図
【図２】同実施形態の情報処理装置のサスペンド時におけるメモリ管理ユーティリティ動作前の仮想アドレス空間の割り当て状況を示す図
【図３】同実施形態の情報処理装置のサスペンド時におけるメモリ管理ユーティリティ動作後の仮想アドレス空間の割り当て状況を示す図
【図４】同実施形態の情報処理装置がサスペンド時に実行するメモリ管理の手順を示すフローチャート
【符号の説明】
【００３０】
１０…情報処理装置、１１…ＣＰＵ、１２…不揮発性メモリ、１３…揮発性メモリ、１４…ＨＤＤ／フラッシュＲＯＭ、２１…仮想アドレス空間、２２…ページテーブルエントリ、１００…オペレーティングシステム（ＯＳ）、１０１…メモリ管理ユーティリティ、１５０…コピー管理表。
【図１】
2008158773.tif 000003
【図２】
2008158773.tif 000004
【図３】
2008158773.tif 000005
【図４】
2008158773.tif 000006