(57)【要約】【課題】ハイバネーション処理及びレジューム処理に要する時間を短縮する、又は、コンピュータの電源をオフ又は復帰した後に、コンピュータが休止状態又は利用可能な状態となるまでの時間を短縮する。【解決手段】コンピュータの電源のオフ時に、揮発性の第１の記憶装置上のデータのうち、優先度の低いデータを、外部記憶装置に保存し、当該第１の記憶装置上のデータのうち、優先度の高いデータを、当該第１の記憶装置以上の記憶容量を有し、不揮発性の第２の記憶装置に保存するコンピュータのメモリ管理方法に関する。【選択図】図１
2014006626.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータの電源のオフ時に、
揮発性の第１の記憶装置上のデータにスワップアウト処理を行うことにより、前記揮発性の第１の記憶装置上のデータのうち、優先度の低いデータを、外部記憶装置に保存し、
前記第１の記憶装置上のデータのうち、優先度の高いデータを、前記第１の記憶装置以上の記憶容量を有し、不揮発性の第２の記憶装置に保存することを特徴とするコンピュータのメモリ管理方法。
【請求項２】
請求項１において、
前記外部記憶装置は、ハードディスクドライブであることを特徴とするコンピュータのメモリ管理方法。
【請求項３】
請求項１又は請求項２において、
前記コンピュータの電源のオフ時に、
前記優先度の高いデータを、非圧縮で前記第２の記憶装置に保存することを特徴とするコンピュータのメモリ管理方法。
【請求項４】
請求項１又は請求項２において、
前記コンピュータの電源のオフ時に、
前記優先度の高いデータを、圧縮して前記第２の記憶装置に保存することを特徴とするコンピュータのメモリ管理方法。
【請求項５】
請求項１乃至請求項４のいずれか一項において、
前記コンピュータの電源の復帰時に、
前記第２の記憶装置に保存された優先度の高いデータに直接アクセスすることを特徴とするコンピュータのメモリ管理方法。
【請求項６】
請求項１乃至請求項４のいずれか一項において、
前記コンピュータの電源の復帰時に、
前記第２の記憶装置に保存された優先度の高いデータを、前記第１の記憶装置にコピーすることを特徴とするコンピュータのメモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示される発明の一態様は、コンピュータのメモリ管理方法に関する。
【背景技術】
【０００２】
近年、様々な電気機器が、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央演算処理装置）及びメモリを有するコンピュータを搭載している。このようなコンピュータの多くは、コンピュータでの作業を中断するための電源オフ時に、主記憶装置（「メインメモリ」ともいう）に記憶されているデータを外部記憶装置（ハードディスクドライブ）に保存し、その後、主記憶装置を含む各デバイスの電源をオフにするハイバネーション処理を行っている。ハイバネーション処理を行うことにより、コンピュータの電源を再度オンにした時（レジューム処理時）、作業途中から再開できる。
【０００３】
また、再度コンピュータの電源をオンにした時には、電源をオフにする直前の状態に復帰させるレジューム処理が行われる。ハイバネーション処理、及びハイバネーション処理からの復帰であるレジューム処理を行うことにより、中途の状態のままコンピュータの作業の中断が行える（特許文献１乃至特許文献３）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−５５１８４号公報
【特許文献２】特開平１０−３３３９９７号公報
【特許文献３】特開２００７−３０４９１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ハイバネーション処理時に外部記憶装置に保存されたデータには、揮発性メモリである主記憶装置上の空き領域や破棄可能な領域も含まれている。このため、主記憶装置のメモリ容量が増加すればするほど、ハイバネーション処理及びレジューム処理に要する時間が増大する。そのため、コンピュータの電源をオフ又は復帰しても、コンピュータが休止状態又は利用可能な状態となるまでに時間を要するという問題があった。
【０００６】
以上を鑑みて、開示される発明の一態様では、ハイバネーション処理及びレジューム処理に要する時間を短縮することを課題の一とする。
【０００７】
また開示される発明の一態様では、コンピュータの電源をオフ又は復帰した後に、コンピュータが休止状態又は利用可能な状態となるまでの時間を短縮することを課題の一とする。
【課題を解決するための手段】
【０００８】
開示する発明の一態様では、ハイバネーション処理時に、主記憶装置上のデータのうち、一定期間アクセスされなくなった古いデータを外部記憶装置に退避させるスワップアウト処理を行う。当該一定期間アクセスされなくなった古いデータには、主記憶装置上の空き領域や破棄可能な領域が含まれている。
【０００９】
また主記憶装置上のデータのうち、アクセスが頻繁に行われるデータは、主記憶装置以上の記憶容量を有する補助記憶装置に保存する。当該補助記憶装置として不揮発性メモリを用いることにより、コンピュータの電源をオフにした後もデータを保存する。
【００１０】
アクセスが頻繁に行われるデータを、外部記憶装置よりも高速な補助記憶装置に保存するので、ハイバネーション処理にかかる時間を短縮することができる。
【００１１】
また補助記憶装置として、主記憶装置以上の記憶容量を有する不揮発性メモリを用いることで、当該補助記憶装置に保存されるデータに対して、可能な限り圧縮を行わない。
【００１２】
また、レジューム処理において、可能な限り圧縮されていない、補助記憶装置（不揮発性メモリ）上のデータ（アクセスが頻繁に行われるデータ）を最初に読み出すので、レジューム処理に要する時間を短縮することができる。
【００１３】
開示される発明の一態様は、コンピュータの電源のオフ時に、揮発性の第１の記憶装置上のデータにスワップアウト処理を行うことにより、前記揮発性の第１の記憶装置上のデータのうち、優先度の低いデータを、外部記憶装置に保存し、当該第１の記憶装置上のデータのうち、優先度の高いデータを、当該第１の記憶装置以上の記憶容量を有し、不揮発性の第２の記憶装置に保存することを特徴とするコンピュータのメモリ管理方法に関する。
【００１４】
開示される発明の一態様において、当該外部記憶装置は、ハードディスクドライブであることを特徴とする。
【００１５】
開示される発明の一態様において、当該コンピュータの電源のオフ時に、当該優先度の高いデータを、非圧縮で当該第２の記憶装置に保存することを特徴とする。
【００１６】
開示される発明の一態様において、当該コンピュータの電源のオフ時に、当該優先度の高いデータを、圧縮して当該第２の記憶装置に保存することを特徴とする。
【００１７】
開示される発明の一態様において、当該コンピュータの電源の復帰時に、当該第２の記憶装置に保存された優先度の高いデータに直接アクセスすることを特徴とする。
【００１８】
開示される発明の一態様において、当該コンピュータの電源の復帰時に、当該第２の記憶装置に保存された優先度の高いデータを、当該第１の記憶装置にコピーすることを特徴とする。
【発明の効果】
【００１９】
開示される発明の一態様により、ハイバネーション処理及びレジューム処理に要する時間を短縮することができる。
【００２０】
また開示される発明の一態様により、コンピュータの電源をオフ又は復帰した後に、コンピュータが休止状態又は利用可能な状態となるまでの時間を短縮することができる。
【図面の簡単な説明】
【００２１】
【図１】コンピュータのブロック図。
【図２】ハイバネーション処理を説明するフローチャート。
【図３】レジューム処理を説明するフローチャート。
【発明を実施するための形態】
【００２２】
以下、本明細書に開示された発明の実施の態様について、図面を参照して説明する。但し、本明細書に開示された発明は多くの異なる態様で実施することが可能であり、本明細書に開示された発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本実施の形態の記載内容に限定して解釈されるものではない。なお、以下に示す図面において、同一部分又は同様な機能を有する部分には同一の符号を付し、その繰り返しの説明は省略する。また、同様のものを指す際には同じハッチパターンを使用し、特に符号を付さない場合がある。
【００２３】
なお本明細書に開示された発明において、半導体装置とは、半導体を利用することで機能する素子及び装置全般を指し、電子回路、表示装置、発光装置、記憶装置等を含む電気装置およびその電気装置を搭載した電気機器をその範疇とする。
【００２４】
なお、図面等において示す各構成の、位置、大きさ、範囲などは、説明を分かりやすくするために、実際の位置、大きさ、範囲などを表していない場合がある。このため、開示する発明は、必ずしも、図面等に開示された位置、大きさ、範囲などに限定されない。
【００２５】
なお、本明細書等における「第１」、「第２」、「第３」などの序数は、構成要素の混同を避けるために付すものであり、数的に限定するものではないことを付記する。
【００２６】
なお、本明細書等において、「電気的に接続」には、「何らかの電気的作用を有するもの」を介して接続されている場合が含まれる。ここで、「何らかの電気的作用を有するもの」は、接続対象間での電気信号の授受を可能とするものであれば、特に制限を受けない。例えば、「何らかの電気的作用を有するもの」には、電極や配線をはじめ、トランジスタなどのスイッチング素子、抵抗素子、インダクタ、キャパシタ、その他の各種機能を有する素子などが含まれる。
【００２７】
＜構成＞
図１は、本実施の形態のコンピュータのブロック図である。本実施の形態のコンピュータは、ＣＰＵ１０１、主記憶装置１０２、補助記憶装置１０３、及び外部記憶装置１０４を有しており、ＣＰＵ１０１、主記憶装置１０２、補助記憶装置１０３、及び外部記憶装置１０４は、システムバス１０５によって電気的に接続されている。
【００２８】
主記憶装置１０２は、揮発性メモリであり、動作時にオペレーティングシステム１０６及びハイバネーションマネージャー１０７が格納される。ハイバネーションマネージャー１０７は、本発明のハイバネーション処理及びレジューム処理を行うプログラムである。
【００２９】
補助記憶装置１０３は、不揮発性メモリであり、主記憶装置１０２以上の記憶容量を有する。補助記憶装置１０３が主記憶装置１０２以上の記憶容量を有することで、ハイバネーション処理時にデータを可能な限り非圧縮で保存することが可能である。これにより、ハイバネーション処理及びレジューム処理時に、データを圧縮及び解凍する時間を削減することができる。
【００３０】
＜メモリ管理方法＞
以下に本実施の形態のコンピュータでの作業を中断するためのコンピュータの電源オフ時（ハイバネーション処理時）、及び復帰時（レジューム処理）のメモリ管理方法について説明する。なお本実施の形態において、記憶装置上で有効なアドレス（物理アドレス）はページと呼ばれる小さな単位に分割して管理される（ページング方式）。
【００３１】
＜＜ハイバネーション処理＞＞
図２は、本実施の形態のハイバネーション処理のフローチャートである。
【００３２】
まず、主記憶装置１０２上でスワップアウト処理を行う。スワップアウト処理とは、主記憶装置１０２上のデータを一時的に外部記憶装置１０４（ハードディスクドライブ（ＨＤＤ））へ退避させることで、実メモリ容量を超える領域を扱えるようにする処理である。
【００３３】
スワップ処理において、優先度の低い、一定期間アクセスされなくなった古いページを、可能な限り外部記憶装置１０４に保存する（ステップＳ１０１）。これにより、主記憶装置１０２上にはアクセスが頻繁に行われるページ、または、主記憶装置１０２に常駐するページ（優先度が高いページ）のみが残る。これは、後のステップで、主記憶装置１０２から補助記憶装置１０３へ必要なデータのみを保存するための処理である。
【００３４】
次いで主記憶装置１０２上のページで、補助記憶装置１０３へ保存されていない、未保存のページを検索する（ステップＳ１０２）。主記憶装置１０２上に未保存ページがあった場合（ステップＳ１０３）は、主記憶装置１０２上の未保存ページの総容量と補助記憶装置１０３の使用容量を取得する（ステップＳ１０４）。
【００３５】
次いで、主記憶装置１０２上の未保存ページの総容量と補助記憶装置１０３の使用容量を比較し、主記憶装置１０２上の未保存ページの総容量が、補助記憶装置１０３の使用容量以下でない場合（ステップＳ１０５）、主記憶装置１０２上のページを圧縮して、補助記憶装置１０３に保存する（ステップＳ１０６）。また主記憶装置１０２上のページテーブルに、補助記憶装置１０３に圧縮保存されたページの圧縮フラグを保存する（ステップＳ１０７）。ページテーブルとは、物理アドレスと仮想アドレスのマッピングを格納するものである。物理アドレスとは、主記憶装置１０２のアドレスであり、仮想アドレスとは、仮想記憶が採用されている場合に、その構成単位となるページ等におけるメモリ空間に割り振られた相対アドレスのことである。補助記憶装置１０３内に、ページテーブルを保存する領域は常に確保されており、ページテーブルは、補助記憶装置１０３内の所定のアドレスに保存される。また、圧縮フラグとは、該当ページが圧縮されているか圧縮されていないかを表す変数である。本実施の形態では、当該ページが圧縮されている場合は、圧縮フラグ「１」、圧縮されていない場合は、圧縮フラグ「０」とする。
【００３６】
主記憶装置１０２上の未保存ページの総容量と補助記憶装置１０３の使用容量を比較し、主記憶装置１０２上の未保存ページの総容量が、補助記憶装置１０３の使用容量以下である場合（ステップＳ１０６）、主記憶装置１０２上のページを非圧縮で補助記憶装置１０３に保存する（ステップＳ１０８）。
【００３７】
ステップＳ１０７及びステップＳ１０８終了後は、主記憶装置１０２上に未保存ページがなくなるまで、ステップＳ１０２からステップＳ１０７又はステップＳ１０８までの処理を繰り返す。
【００３８】
主記憶装置１０２上に未保存ページがなかった場合（ステップＳ１０３）は、ページテーブルを補助記憶装置１０３に保存する（ステップＳ１０９）。
【００３９】
次いで、主記憶装置１０２上に存在したページの物理アドレスと、補助記憶装置１０３に保存したページのアドレスとの対応表を、補助記憶装置１０３に保存する（ステップＳ１１０）。
【００４０】
次いで、次回起動は復帰モードで起動するように、コンピュータの電源をオフにする（ステップＳ１１１）。
【００４１】
ステップＳ１０１乃至ステップＳ１１１の一連の処理は、主記憶装置１０２に格納されたハイバネーションマネージャー１０７によって行われる。またステップＳ１０１乃至ステップＳ１１１において、予期せぬエラーが発生した場合、ハイバネーション処理をエラーとし、次回起動は通常モードで起動するように、電源をオフする。
【００４２】
本実施の形態のハイバネーション処理において、優先度の低いページは、外部記憶装置１０４に保存する。また優先度の高いページは、主記憶装置１０２以上の記憶容量を有し、不揮発性メモリである補助記憶装置１０３に保存される。以上により、外部記憶装置１０４に保存されるページは、優先度の低いページのみであるので、ハイバネーション処理の時間を短縮することができる。
【００４３】
また、補助記憶装置１０３として、主記憶装置１０２以上の記憶容量を有する不揮発性メモリを用いることで、優先度の高いページを可能な限り非圧縮で保存することができる。
【００４４】
以上により、本実施の形態のハイバネーション処理の時間を短縮することが可能である。
【００４５】
＜＜レジューム処理＞＞
図３は、本実施の形態のレジューム処理のフローチャートである。レジューム処理は、コンピュータが復帰モードで起動されると同時に開始される。
【００４６】
まず、補助記憶装置１０３から、ページテーブルを主記憶装置１０２にコピーする（ステップＳ２０１）。
【００４７】
次いで、所定のページにアクセスするために、主記憶装置１０２へアクセスする（ステップＳ２０２）。
【００４８】
アクセスしようとしたページが、主記憶装置１０２に存在しない場合（ステップＳ２０３）は、ステップＳ１１０で保存した物理アドレスと補助記憶装置１０３のアドレスとの対応表を基に、補助記憶装置１０３から、当該アクセスしようとしたページに該当するページを検索する。
【００４９】
該当するページが圧縮されたページへのアクセスでなく（ステップＳ２０４）、かつ、アクセスの目的が読み込みである場合（ステップＳ２０５）、補助記憶装置１０３に直接アクセスして、ページの参照を行う。またこの際、当該ページを主記憶装置１０２にコピーしない。
【００５０】
またアクセスの目的が読み込みでない場合（ステップＳ２０５）、補助記憶装置１０３から当該ページを主記憶装置１０２にコピーする（ステップＳ２０７）。
【００５１】
また、ステップＳ２０４で、該当するページが圧縮されたページへのアクセスである場合、補助記憶装置１０３から当該ページを主記憶装置１０２にコピーし、その後解凍する（ステップＳ２０８）。
【００５２】
またステップＳ２０３で、アクセスしようとしたページが、主記憶装置１０２に存在する場合、主記憶装置１０２内の該当ページへ直接アクセスする（ステップＳ２０９）。
【００５３】
ステップＳ２０１乃至ステップ２０９の一連の処理は、主記憶装置１０２に格納されたハイバネーションマネージャー１０７によって行われる。ハイバネーションマネージャー１０７は、ＣＰＵ１０１の状態を監視し、ＣＰＵ１０１がアイドル状態の時に、主記憶装置１０２へ復元していないページを、補助記憶装置１０３から主記憶装置１０２に順次コピーする。以上により、コンピュータの電源をオフにする前の状態に復帰させる。
【００５４】
本実施の形態のレジューム処理において、ハイバネーション処理時に補助記憶装置１０３に保存された、優先度の高いページのみが主記憶装置１０２にコピーされる。また、当該優先度の高いページは、可能な限り非圧縮で保存されているため、主記憶装置１０２にコピーする時間を短縮することができる。以上により、本実施の形態のレジューム処理の時間を短縮することが可能である。
【００５５】
本実施の形態により、ハイバネーション処理及びレジューム処理に要する時間を短縮することができる。
【００５６】
また本実施の形態により、コンピュータの電源をオフ又は復帰した後に、コンピュータが休止状態又は利用可能な状態となるまでの時間を短縮することができる。
【符号の説明】
【００５７】
１０１    ＣＰＵ
１０２    主記憶装置
１０３    補助記憶装置
１０４    外部記憶装置
１０５    システムバス
１０６    オペレーティングシステム
１０７    ハイバネーションマネージャー
【図１】
2014006626.tif 000003
【図２】
2014006626.tif 000004
【図３】
2014006626.tif 000005