(57)【特許請求の範囲】
【請求項１】
制御手段と、
前記制御手段がアクセス可能な記憶領域が割り当てられる揮発性の第１の記憶手段と、
電源オフ状態への移行時に、前記第１の記憶手段の記憶領域に記憶されたデータが退避される不揮発性の第２の記憶手段と、
前記電源オフ状態へ移行する直前の状態を再開する際に、前記制御手段がアイドル状態である場合に、複数のメモリセルで構成されるページ単位で前記第２の記憶手段に記憶されたデータを読み出して、当該読み出したデータを前記第１の記憶手段の記憶領域に展開する読出手段と、
を備える情報処理装置。
【請求項２】
前記読出手段は、前記第１の記憶手段の記憶領域にＯＳ（Operating  System）にかかるデータを展開した後に前記制御手段から読み出し要求があった場合は、当該読み出し要求があったデータを記憶するページを読み出す、
請求項１に記載の情報処理装置。
【請求項３】
前記読出手段は、直近に読み出したページの近傍にあるページからデータを読み出す、
請求項１に記載の情報処理装置。
【請求項４】
前記読出手段は、直近に読み出したページに連続するページからデータを読み出すシーケンシャルリードで前記第２の記憶手段に記憶されたデータを読み出す、
請求項３に記載の情報処理装置。
【請求項５】
前記読出手段は、前記シーケンシャルリードで前記第２の記憶手段に記憶されたデータを読み出している際に前記制御手段から読み出し要求があった場合は、前記シーケンシャルリードを停止して読み出し要求があったデータを記憶するページを読み出す、
請求項４に記載の情報処理装置。
【請求項６】
前記第２の記憶手段はＮＡＮＤ型フラッシュメモリである、
請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記読出手段は、前記ＮＡＮＤ型フラッシュメモリにおいて、駆動が共有される複数のメモリセルで構成されるページ単位で記憶されたデータを読み出して、当該読み出したデータを前記第１の記憶手段の記憶領域に展開する、
請求項６に記載の情報処理装置。
【請求項８】
制御手段と、前記制御手段がアクセス可能な記憶領域が割り当てられる揮発性の第１の記憶手段と、電源オフ状態への移行時に、前記第１の記憶手段の記憶領域に記憶されたデータが退避される不揮発性の第２の記憶手段とを有する情報処理装置のメモリ管理方法であって、
前記電源オフ状態へ移行する直前の状態を再開する際に、前記制御手段がアイドル状態である場合に、複数のメモリセルで構成されるページ単位で前記第２の記憶手段に記憶されたデータを読み出して、当該読み出したデータを前記第１の記憶手段の記憶領域に展開するメモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置及びメモリ管理方法に関する。
【背景技術】
【０００２】
従来、ＰＣ（Personal  Computer）等の情報処理装置では、電源を切断（シャットダウン）する前に、ＣＰＵ（Central  Processing  Unit）が実行中のＯＳ（Operating  System）や各種アプリケーションプログラムのデータなどの、物理メモリ（揮発性メモリ）に記憶されている作業内容を不揮発性メモリに退避させ、次に起動させた際に不揮発性メモリに退避させたデータを揮発性メモリに読み出して、電源を切断する直前の状態から再開できるようにするハイバネーション機能を有するものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２５０５１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このハイバネーション機能では、起動させた際に不揮発性メモリに退避させたデータを揮発性メモリに読み出して、電源を切断する直前の状態から再開できるようにするための起動時間をより短縮すること、すなわち再開の高速化が望まれていた。
【０００５】
本発明は、上記に鑑みてなされたものであって、ハイバネーション機能における再開の高速化を実現することを可能とする情報処理装置及びメモリ管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、実施形態の情報処理装置は、制御手段と、前記制御手段がアクセス可能な記憶領域が割り当てられる揮発性の第１の記憶手段と、電源オフ状態への移行時に、前記第１の記憶手段の記憶領域に記憶されたデータが退避される不揮発性の第２の記憶手段と、前記電源オフ状態へ移行する直前の状態を再開する際に、前記制御手段がアイドル状態である場合に、複数のメモリセルで構成されるページ単位で前記第２の記憶手段に記憶されたデータを読み出して、当該読み出したデータを前記第１の記憶手段の記憶領域に展開する読出手段とを備える。
【０００７】
また、実施形態のメモリ管理方法は、制御手段と、前記制御手段がアクセス可能な記憶領域が割り当てられる揮発性の第１の記憶手段と、電源オフ状態への移行時に、前記第１の記憶手段の記憶領域に記憶されたデータが退避される不揮発性の第２の記憶手段とを有する情報処理装置のメモリ管理方法であって、前記電源オフ状態へ移行する直前の状態を再開する際に、前記制御手段がアイドル状態である場合に、複数のメモリセルで構成されるページ単位で前記第２の記憶手段に記憶されたデータを読み出して、当該読み出したデータを前記第１の記憶手段の記憶領域に展開する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態にかかる情報処理装置の構成を示すブロック図である。
【図２】図２は、揮発性メモリ、不揮発性メモリの記憶領域を例示する概念図である。
【図３】図３は、実施形態にかかる情報処理装置の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して実施形態の情報処理装置及びメモリ管理方法を詳細に説明する。なお、本実施形態では情報処理装置として一般的なＰＣを例示するが、ハイバネーション機能を有するものであればデジタルＴＶ、ハードディスクレコーダ等の機器であってもよいことは言うまでもないことである。
【００１０】
図１は、実施形態にかかる情報処理装置１の構成を示すブロック図である。図１に示すように、情報処理装置１は、ＣＰＵ１０、揮発性メモリ２０、不揮発性メモリ３０、記憶部４０がバス５０を介して相互に接続されている。
【００１１】
ＣＰＵ１０は、情報処理装置１の動作を中央制御するプロセッサである。ＣＰＵ１０は、記憶部４０に記憶されたＯＳ（Operating  System）や各種アプリケーションプログラム等のプログラム４１を揮発性メモリ２０に展開して順次実行することで、情報処理装置１の動作を制御する。ＣＰＵ１０は、汎用のプロセッサで構成されるのが主流であるが、専用の半導体プロセッサであるＬＳＩ（Large  Scale  Integration）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）等で構成されてもよい。また、ＣＰＵ１０は、再構成可能なプロセッサであるＦＰＧＡ（Field  Programmable  Gate  Array）で構成されてもよいし、動的再構成可能なリコンフィギュラブル・プロセッサ（reconfigurable  processor）で構成されてもよい。また、ＣＰＵ１０は複数のコアを有するマルチコアプロセッサで構成されてもよいし、情報処理装置１において複数搭載されてもよい。
【００１２】
揮発性メモリ２０は、ＣＰＵ１０がアクセス可能な記憶領域（メモリ空間）が割り当てられる物理メモリである。揮発性メモリ２０は、いわゆる揮発性記憶媒体で構成され、電力供給の停止により記憶されているデータが消失する。例えば、揮発性メモリ２０は、ＳＲＡＭ（Static  Random  Access  Memory）、ＤＲＡＭ（Dynamic  Random  Access  Memory）等で構成される。
【００１３】
不揮発性メモリ３０は、ハイバネーション機能を実現するための、いわゆる不揮発性記憶媒体で構成され、電力供給が停止しても記憶されているデータが消失しない。例えば、揮発性メモリ２０は、磁気記憶媒体であるＨＤＤ（Hard  Disc  Drive）、半導体記憶媒体であるＮＯＲ型フラッシュメモリ、ＮＡＮＤ型フラッシュメモリ、ＳＳＤ（Solid  State  Drive）等で構成される。
【００１４】
本実施形態では、不揮発性メモリ３０は、ＮＡＮＤ型フラッシュメモリであるものとする。ＮＡＮＤ型フラッシュメモリは、１ビットの情報を記憶するメモリセルが駆動に必要な導線に複数接続する構成である。このため、ＮＡＮＤ型フラッシュメモリでは、一つのメモリセルに１ビット分のデータの読み書きを行う場合と、駆動が共有される複数のメモリセルで構成されるページ単位でデータの読み書きを行う場合の所要時間が同じである。
【００１５】
不揮発性メモリ３０は、電源オフ状態への移行時に、揮発性メモリ２０の記憶領域に記憶されたデータが退避（コピー）される。そして、電源オフ状態へ移行する直前の状態を再開する際には、読出手段としてのＣＰＵ１０により、ページ単位で不揮発性メモリ３０に記憶されたデータを読み出して、その読み出したデータを揮発性メモリ２０の記憶領域に展開する。このように、不揮発性メモリ３０に記憶されたデータをページ単位で効率的に読み出すことで、ハイバネーション機能における再開の高速化を実現することが可能となる。
【００１６】
図２は、揮発性メモリ２０、不揮発性メモリ３０の記憶領域を例示する概念図である。図２に示すように、揮発性メモリ２０は、ＯＳの動作に必要な情報であるＯＳイメージを記憶するために確保された記憶領域２１と、ＯＳ上で動作するアプリケーションプログラム等、ＯＳの動作に不必要な情報を記憶するために確保された記憶領域２２とを有する。ＯＳイメージには、中核部分であるカーネルの他に、カーネルの機能の管理及びカーネルの機能を用いて情報処理装置１によって実行される機能の管理を行うサービス（いわゆるデーモン）、プロセス管理にかかるプロセス管理情報、揮発性メモリ２０のメモリ空間上の仮想アドレスと揮発性メモリ２０上の物理アドレスとの対応を管理するメモリ管理情報などが含まれる。
【００１７】
電源オフ状態への移行時には、不揮発性メモリ３０の先頭アドレスから順に確保された記憶領域３１に揮発性メモリ２０の記憶領域２１に記憶されたデータが退避され、記憶領域３１に続いて確保された記憶領域３２に揮発性メモリ２０の記憶領域２２に記憶されたデータが退避される。この揮発性メモリ２０から不揮発性メモリ３０へデータを退避する時は、データの圧縮を行ってもよい。なお、揮発性メモリ２０の記憶領域２１、記憶領域２２に記憶されたデータを不揮発性メモリ３０の記憶領域３１、記憶領域３２に退避する際には、退避元の退避先のアドレス関係を示す情報が前述したメモリ管理情報などに付与されるものとする。
【００１８】
電源投入などにより、電源オフ状態へ移行する直前の状態を再開する際には、先ず不揮発性メモリ３０の先頭アドレスからの読み出しにより、記憶領域３１に記憶されたデータ（ＯＳイメージ）が揮発性メモリ２０に展開される。次いで、記憶領域３２に記憶されたデータが読み出されて揮発性メモリ２０に展開される。なお、記憶領域３１に記憶されたＯＳイメージが揮発性メモリ２０に展開された後は、ＣＰＵ１０によりＯＳが起動していることとなる。したがって、ＯＳ起動後において、記憶領域３２に記憶されたデータを揮発性メモリ２０に展開している際に、ＣＰＵ１０により読み出し要求があった場合には、上述したメモリ管理情報を参照することで、読み出し要求があったデータを記憶するページを記憶領域３２より読み出して揮発性メモリ２０に展開する。このように、ＯＳ起動後において不揮発性メモリ３０のデータの読み出しを行っている際には、ＣＰＵ１０から読み出し要求があったデータを記憶するページをオンデマンドで読み出すことで、ＯＳ起動後の動作の高速化を実現できる。
【００１９】
図１に戻り、記憶部４０は、ＲＯＭ（Read  Only  Memory）やＨＤＤなどのストレージデバイスであり、ＣＰＵ１０が実行するプログラム４１や各種設定データなどを記憶する。プログラム４１は、ＯＳにかかるプログラムの他、ハイバネーション機能で動作を再開する際に不揮発性メモリ３０に記憶されたＯＳイメージを読み出すためのブートプログラム、各種アプリケーションプログラムなどであってよい。
【００２０】
次に、電源オフ状態へ移行する直前の状態を再開するハイバネーション機能を実現する際の、情報処理装置１の動作の詳細について説明する。図３は、実施形態にかかる情報処理装置１の動作の一例を示すフローチャートである。
【００２１】
図３に示すように、電源スイッチ等の操作部（図示しない）などの電源投入指示により電源がＯＮされ、ブートプログラムが読み出されて、ＣＰＵ１０によりハイバネーション機能にかかる処理が開始される（Ｓ１）。Ｓ１により処理が開始されると、ＣＰＵ１０は、不揮発性メモリ３０の記憶領域３１に記憶されたＯＳイメージを読み出す（Ｓ２）。次いで、ＣＰＵ１０は、読み出したＯＳイメージを揮発性メモリ２０に展開してＯＳを起動させる（Ｓ３）。これにより、ＣＰＵ１０は、ＯＳの処理に従って揮発性メモリ２０へのアクセスを行うことが可能となる。
【００２２】
次いで、ＣＰＵ１０は、ＯＳの処理に従って揮発性メモリ２０の記憶領域２２からのデータの読み出し要求があるか否かを判定する（Ｓ４）。この記憶領域２２からのデータの読み出しであるか否かの判定は、前述したメモリ管理情報を参照して行う。揮発性メモリ２０の記憶領域２２からのデータの読み出し要求がある場合（Ｓ４：ＹＥＳ）、不揮発性メモリ３０の記憶領域３２から揮発性メモリ２０の記憶領域２２への展開前であることから、ＣＰＵ１０は、メモリ管理情報を参照し、読み出し要求があったデータを記憶するページを記憶領域３２より読み出して揮発性メモリ２０に展開する（Ｓ５）。
【００２３】
揮発性メモリ２０の記憶領域２２からのデータの読み出し要求がない場合（Ｓ４：ＮＯ）、ＣＰＵ１０は、揮発性メモリ２０へのアクセスを行わないアイドル中の状態であるか否かを判定する（Ｓ６）。アイドル中の状態でない場合（Ｓ６：ＮＯ）、ＣＰＵ１０はＳ４へ処理を戻す。
【００２４】
アイドル中の状態である場合（Ｓ６：ＹＥＳ）、ＣＰＵ１０は、揮発性メモリ２０へ展開前である不揮発性メモリ３０の記憶領域３２に記憶されたデータの読み出しについて、直近に読み出したページに連続するページからデータを読み出し、読み出したデータを揮発性メモリ２０へ展開するシーケンシャルリードを開始する（Ｓ７）。具体的には、ＣＰＵ１０は、不揮発性メモリ３０から読み出しを行なったページを示す情報を揮発性メモリ２０の記憶領域２１などにスタックしておき、その情報を参照することで次に連続するページを指定して読み出しを行う。このシーケンシャルリードを行うことで、不揮発性メモリ３０からのデータの読み出しを効率良く高速に行うことが可能となる。なお、不揮発性メモリ３０がシーケンシャルリードに非対応である場合は、直近に読み出したページの近傍にあるページからデータの読み出しを行ってよい。直近に読み出したページの近傍にあるページからの読み出しを行う場合も、不揮発性メモリ３０からのデータの読み出しを効率良く高速に行うことが可能である。
【００２５】
次いで、ＣＰＵ１０は、ＯＳの処理に従って揮発性メモリ２０の記憶領域２２からのデータの読み出し要求があるか否かを判定する（Ｓ８）。読み出し要求がない場合（Ｓ８：ＮＯ）、ＣＰＵ１０は、Ｓ６へ処理を戻す。したがって、ＣＰＵ１０がアイドル状態であり、ＯＳの処理に従ったデータの読み出し要求がない場合には、Ｓ７で開始したシーケンシャルリードが継続されることから、不揮発性メモリ３０の記憶領域３２に記憶されたデータがシーケンシャルリードで高速に揮発性メモリ２０の記憶領域２２に展開されることとなる。
【００２６】
読み出し要求がある場合（Ｓ８：ＹＥＳ）、ＣＰＵ１０は、Ｓ７で開始したシーケンシャルリードを停止し（Ｓ９）、読み出し要求があったデータを記憶するページを読み出すためにＳ５へ処理を進める。
【００２７】
ＣＰＵ１０は、上述したＳ４〜Ｓ９の処理を不揮発性メモリ３０の記憶領域３２に記憶された全てのデータが揮発性メモリ２０の記憶領域２２に展開されるまで、継続して行う。上述したＳ１〜Ｓ９の処理により、情報処理装置１では、電源オフ状態へ移行する直前の状態が再開されることとなる。
【００２８】
なお、本実施形態では、ＣＰＵ１０がブートプログラムやＯＳ等のプログラム４１に従って不揮発性メモリ３０に退避されたデータを読み出して、その読み出したデータを揮発性メモリ２０に展開する読出手段として機能する構成を例示した。しかしながら、読出手段は、制御手段としてのＣＰＵ１０以外の、例えば不揮発性メモリ３０の読み出しを制御するマイクロコントローラなどであってもよい。
【００２９】
また、本実施形態の情報処理装置１で実行されるプログラム４１は、ＲＯＭ等に予め組み込まれて提供される。本実施形態の情報処理装置１で実行されるプログラム４１は、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００３０】
さらに、本実施形態の情報処理装置１で実行されるプログラム４１を、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の情報処理装置１で実行されるプログラム４１をインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００３１】
本実施形態の情報処理装置１で実行されるプログラム４１は、上述した機能構成を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭからプログラム４１を読み出して実行することにより上述した機能構成が主記憶装置上にロードされ、生成されるようになっている。
【００３２】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。  
【符号の説明】
【００３３】
１…情報処理装置、１０…ＣＰＵ、２０…揮発性メモリ、２１、２２、３１、３２…記憶領域、３０…不揮発性メモリ、４０…記憶部、４１…プログラム、５０…バス。
【要約】
【課題】ハイバネーション機能における再開の高速化を実現することを可能とする。
【解決手段】実施形態の情報処理装置は、制御手段と、その制御手段がアクセス可能な記憶領域が割り当てられる揮発性の第１の記憶手段と、電源オフ状態への移行時に、第１の記憶手段の記憶領域に記憶されたデータが退避される不揮発性の第２の記憶手段と、電源オフ状態へ移行する直前の状態を再開する際に、複数のメモリセルで構成されるページ単位で第２の記憶手段に記憶されたデータを読み出して、読み出したデータを第１の記憶手段の記憶領域に展開する読出手段とを備える。
【選択図】図３【図１】
0005135462.tif 000002
【図２】
0005135462.tif 000003
【図３】
0005135462.tif 000004