説明

情報処理装置及びメモリ管理方法

【課題】ハイバネーション機能における再開の高速化を実現することを可能とする。
【解決手段】実施形態の情報処理装置は、制御手段と、その制御手段がアクセス可能な記憶領域が割り当てられる揮発性の第1の記憶手段と、電源オフ状態への移行時に、第1の記憶手段の記憶領域に記憶されたデータが退避される不揮発性の第2の記憶手段と、電源オフ状態へ移行する直前の状態を再開する際に、複数のメモリセルで構成されるページ単位で第2の記憶手段に記憶されたデータを読み出して、読み出したデータを第1の記憶手段の記憶領域に展開する読出手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置及びメモリ管理方法に関する。
【背景技術】
【0002】
従来、PC(Personal Computer)等の情報処理装置では、電源を切断(シャットダウン)する前に、CPU(Central Processing Unit)が実行中のOS(Operating System)や各種アプリケーションプログラムのデータなどの、物理メモリ(揮発性メモリ)に記憶されている作業内容を不揮発性メモリに退避させ、次に起動させた際に不揮発性メモリに退避させたデータを揮発性メモリに読み出して、電源を切断する直前の状態から再開できるようにするハイバネーション機能を有するものがある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−250512号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
このハイバネーション機能では、起動させた際に不揮発性メモリに退避させたデータを揮発性メモリに読み出して、電源を切断する直前の状態から再開できるようにするための起動時間をより短縮すること、すなわち再開の高速化が望まれていた。
【0005】
本発明は、上記に鑑みてなされたものであって、ハイバネーション機能における再開の高速化を実現することを可能とする情報処理装置及びメモリ管理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、実施形態の情報処理装置は、制御手段と、前記制御手段がアクセス可能な記憶領域が割り当てられる揮発性の第1の記憶手段と、電源オフ状態への移行時に、前記第1の記憶手段の記憶領域に記憶されたデータが退避される不揮発性の第2の記憶手段と、前記電源オフ状態へ移行する直前の状態を再開する際に、複数のメモリセルで構成されるページ単位で前記第2の記憶手段に記憶されたデータを読み出して、当該読み出したデータを前記第1の記憶手段の記憶領域に展開する読出手段とを備える。
【0007】
また、実施形態のメモリ管理方法は、制御手段と、前記制御手段がアクセス可能な記憶領域が割り当てられる揮発性の第1の記憶手段と、電源オフ状態への移行時に、前記第1の記憶手段の記憶領域に記憶されたデータが退避される不揮発性の第2の記憶手段とを有する情報処理装置のメモリ管理方法であって、前記電源オフ状態へ移行する直前の状態を再開する際に、複数のメモリセルで構成されるページ単位で前記第2の記憶手段に記憶されたデータを読み出して、当該読み出したデータを前記第1の記憶手段の記憶領域に展開する。
【図面の簡単な説明】
【0008】
【図1】図1は、実施形態にかかる情報処理装置の構成を示すブロック図である。
【図2】図2は、揮発性メモリ、不揮発性メモリの記憶領域を例示する概念図である。
【図3】図3は、実施形態にかかる情報処理装置の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態の情報処理装置及びメモリ管理方法を詳細に説明する。なお、本実施形態では情報処理装置として一般的なPCを例示するが、ハイバネーション機能を有するものであればデジタルTV、ハードディスクレコーダ等の機器であってもよいことは言うまでもないことである。
【0010】
図1は、実施形態にかかる情報処理装置1の構成を示すブロック図である。図1に示すように、情報処理装置1は、CPU10、揮発性メモリ20、不揮発性メモリ30、記憶部40がバス50を介して相互に接続されている。
【0011】
CPU10は、情報処理装置1の動作を中央制御するプロセッサである。CPU10は、記憶部40に記憶されたOS(Operating System)や各種アプリケーションプログラム等のプログラム41を揮発性メモリ20に展開して順次実行することで、情報処理装置1の動作を制御する。CPU10は、汎用のプロセッサで構成されるのが主流であるが、専用の半導体プロセッサであるLSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)等で構成されてもよい。また、CPU10は、再構成可能なプロセッサであるFPGA(Field Programmable Gate Array)で構成されてもよいし、動的再構成可能なリコンフィギュラブル・プロセッサ(reconfigurable processor)で構成されてもよい。また、CPU10は複数のコアを有するマルチコアプロセッサで構成されてもよいし、情報処理装置1において複数搭載されてもよい。
【0012】
揮発性メモリ20は、CPU10がアクセス可能な記憶領域(メモリ空間)が割り当てられる物理メモリである。揮発性メモリ20は、いわゆる揮発性記憶媒体で構成され、電力供給の停止により記憶されているデータが消失する。例えば、揮発性メモリ20は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)等で構成される。
【0013】
不揮発性メモリ30は、ハイバネーション機能を実現するための、いわゆる不揮発性記憶媒体で構成され、電力供給が停止しても記憶されているデータが消失しない。例えば、揮発性メモリ20は、磁気記憶媒体であるHDD(Hard Disc Drive)、半導体記憶媒体であるNOR型フラッシュメモリ、NAND型フラッシュメモリ、SSD(Solid State Drive)等で構成される。
【0014】
本実施形態では、不揮発性メモリ30は、NAND型フラッシュメモリであるものとする。NAND型フラッシュメモリは、1ビットの情報を記憶するメモリセルが駆動に必要な導線に複数接続する構成である。このため、NAND型フラッシュメモリでは、一つのメモリセルに1ビット分のデータの読み書きを行う場合と、駆動が共有される複数のメモリセルで構成されるページ単位でデータの読み書きを行う場合の所要時間が同じである。
【0015】
不揮発性メモリ30は、電源オフ状態への移行時に、揮発性メモリ20の記憶領域に記憶されたデータが退避(コピー)される。そして、電源オフ状態へ移行する直前の状態を再開する際には、読出手段としてのCPU10により、ページ単位で不揮発性メモリ30に記憶されたデータを読み出して、その読み出したデータを揮発性メモリ20の記憶領域に展開する。このように、不揮発性メモリ30に記憶されたデータをページ単位で効率的に読み出すことで、ハイバネーション機能における再開の高速化を実現することが可能となる。
【0016】
図2は、揮発性メモリ20、不揮発性メモリ30の記憶領域を例示する概念図である。図2に示すように、揮発性メモリ20は、OSの動作に必要な情報であるOSイメージを記憶するために確保された記憶領域21と、OS上で動作するアプリケーションプログラム等、OSの動作に不必要な情報を記憶するために確保された記憶領域22とを有する。OSイメージには、中核部分であるカーネルの他に、カーネルの機能の管理及びカーネルの機能を用いて情報処理装置1によって実行される機能の管理を行うサービス(いわゆるデーモン)、プロセス管理にかかるプロセス管理情報、揮発性メモリ20のメモリ空間上の仮想アドレスと揮発性メモリ20上の物理アドレスとの対応を管理するメモリ管理情報などが含まれる。
【0017】
電源オフ状態への移行時には、不揮発性メモリ30の先頭アドレスから順に確保された記憶領域31に揮発性メモリ20の記憶領域21に記憶されたデータが退避され、記憶領域31に続いて確保された記憶領域32に揮発性メモリ20の記憶領域22に記憶されたデータが退避される。この揮発性メモリ20から不揮発性メモリ30へデータを退避する時は、データの圧縮を行ってもよい。なお、揮発性メモリ20の記憶領域21、記憶領域22に記憶されたデータを不揮発性メモリ30の記憶領域31、記憶領域32に退避する際には、退避元の退避先のアドレス関係を示す情報が前述したメモリ管理情報などに付与されるものとする。
【0018】
電源投入などにより、電源オフ状態へ移行する直前の状態を再開する際には、先ず不揮発性メモリ30の先頭アドレスからの読み出しにより、記憶領域31に記憶されたデータ(OSイメージ)が揮発性メモリ20に展開される。次いで、記憶領域32に記憶されたデータが読み出されて揮発性メモリ20に展開される。なお、記憶領域31に記憶されたOSイメージが揮発性メモリ20に展開された後は、CPU10によりOSが起動していることとなる。したがって、OS起動後において、記憶領域32に記憶されたデータを揮発性メモリ20に展開している際に、CPU10により読み出し要求があった場合には、上述したメモリ管理情報を参照することで、読み出し要求があったデータを記憶するページを記憶領域32より読み出して揮発性メモリ20に展開する。このように、OS起動後において不揮発性メモリ30のデータの読み出しを行っている際には、CPU10から読み出し要求があったデータを記憶するページをオンデマンドで読み出すことで、OS起動後の動作の高速化を実現できる。
【0019】
図1に戻り、記憶部40は、ROM(Read Only Memory)やHDDなどのストレージデバイスであり、CPU10が実行するプログラム41や各種設定データなどを記憶する。プログラム41は、OSにかかるプログラムの他、ハイバネーション機能で動作を再開する際に不揮発性メモリ30に記憶されたOSイメージを読み出すためのブートプログラム、各種アプリケーションプログラムなどであってよい。
【0020】
次に、電源オフ状態へ移行する直前の状態を再開するハイバネーション機能を実現する際の、情報処理装置1の動作の詳細について説明する。図3は、実施形態にかかる情報処理装置1の動作の一例を示すフローチャートである。
【0021】
図3に示すように、電源スイッチ等の操作部(図示しない)などの電源投入指示により電源がONされ、ブートプログラムが読み出されて、CPU10によりハイバネーション機能にかかる処理が開始される(S1)。S1により処理が開始されると、CPU10は、不揮発性メモリ30の記憶領域31に記憶されたOSイメージを読み出す(S2)。次いで、CPU10は、読み出したOSイメージを揮発性メモリ20に展開してOSを起動させる(S3)。これにより、CPU10は、OSの処理に従って揮発性メモリ20へのアクセスを行うことが可能となる。
【0022】
次いで、CPU10は、OSの処理に従って揮発性メモリ20の記憶領域22からのデータの読み出し要求があるか否かを判定する(S4)。この記憶領域22からのデータの読み出しであるか否かの判定は、前述したメモリ管理情報を参照して行う。揮発性メモリ20の記憶領域22からのデータの読み出し要求がある場合(S4:YES)、不揮発性メモリ30の記憶領域32から揮発性メモリ20の記憶領域22への展開前であることから、CPU10は、メモリ管理情報を参照し、読み出し要求があったデータを記憶するページを記憶領域32より読み出して揮発性メモリ20に展開する(S5)。
【0023】
揮発性メモリ20の記憶領域22からのデータの読み出し要求がない場合(S4:NO)、CPU10は、揮発性メモリ20へのアクセスを行わないアイドル中の状態であるか否かを判定する(S6)。アイドル中の状態でない場合(S6:NO)、CPU10はS4へ処理を戻す。
【0024】
アイドル中の状態である場合(S6:YES)、CPU10は、揮発性メモリ20へ展開前である不揮発性メモリ30の記憶領域32に記憶されたデータの読み出しについて、直近に読み出したページに連続するページからデータを読み出し、読み出したデータを揮発性メモリ20へ展開するシーケンシャルリードを開始する(S7)。具体的には、CPU10は、不揮発性メモリ30から読み出しを行なったページを示す情報を揮発性メモリ20の記憶領域21などにスタックしておき、その情報を参照することで次に連続するページを指定して読み出しを行う。このシーケンシャルリードを行うことで、不揮発性メモリ30からのデータの読み出しを効率良く高速に行うことが可能となる。なお、不揮発性メモリ30がシーケンシャルリードに非対応である場合は、直近に読み出したページの近傍にあるページからデータの読み出しを行ってよい。直近に読み出したページの近傍にあるページからの読み出しを行う場合も、不揮発性メモリ30からのデータの読み出しを効率良く高速に行うことが可能である。
【0025】
次いで、CPU10は、OSの処理に従って揮発性メモリ20の記憶領域22からのデータの読み出し要求があるか否かを判定する(S8)。読み出し要求がない場合(S8:NO)、CPU10は、S6へ処理を戻す。したがって、CPU10がアイドル状態であり、OSの処理に従ったデータの読み出し要求がない場合には、S7で開始したシーケンシャルリードが継続されることから、不揮発性メモリ30の記憶領域32に記憶されたデータがシーケンシャルリードで高速に揮発性メモリ20の記憶領域22に展開されることとなる。
【0026】
読み出し要求がある場合(S8:YES)、CPU10は、S7で開始したシーケンシャルリードを停止し(S9)、読み出し要求があったデータを記憶するページを読み出すためにS5へ処理を進める。
【0027】
CPU10は、上述したS4〜S9の処理を不揮発性メモリ30の記憶領域32に記憶された全てのデータが揮発性メモリ20の記憶領域22に展開されるまで、継続して行う。上述したS1〜S9の処理により、情報処理装置1では、電源オフ状態へ移行する直前の状態が再開されることとなる。
【0028】
なお、本実施形態では、CPU10がブートプログラムやOS等のプログラム41に従って不揮発性メモリ30に退避されたデータを読み出して、その読み出したデータを揮発性メモリ20に展開する読出手段として機能する構成を例示した。しかしながら、読出手段は、制御手段としてのCPU10以外の、例えば不揮発性メモリ30の読み出しを制御するマイクロコントローラなどであってもよい。
【0029】
また、本実施形態の情報処理装置1で実行されるプログラム41は、ROM等に予め組み込まれて提供される。本実施形態の情報処理装置1で実行されるプログラム41は、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0030】
さらに、本実施形態の情報処理装置1で実行されるプログラム41を、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の情報処理装置1で実行されるプログラム41をインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0031】
本実施形態の情報処理装置1で実行されるプログラム41は、上述した機能構成を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラム41を読み出して実行することにより上述した機能構成が主記憶装置上にロードされ、生成されるようになっている。
【0032】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【0033】
1…情報処理装置、10…CPU、20…揮発性メモリ、21、22、31、32…記憶領域、30…不揮発性メモリ、40…記憶部、41…プログラム、50…バス。

【特許請求の範囲】
【請求項1】
制御手段と、
前記制御手段がアクセス可能な記憶領域が割り当てられる揮発性の第1の記憶手段と、
電源オフ状態への移行時に、前記第1の記憶手段の記憶領域に記憶されたデータが退避される不揮発性の第2の記憶手段と、
前記電源オフ状態へ移行する直前の状態を再開する際に、複数のメモリセルで構成されるページ単位で前記第2の記憶手段に記憶されたデータを読み出して、当該読み出したデータを前記第1の記憶手段の記憶領域に展開する読出手段と、
を備える情報処理装置。
【請求項2】
前記読出手段は、前記第1の記憶手段の記憶領域にOS(Operating System)にかかるデータを展開した後に前記制御手段から読み出し要求があった場合は、当該読み出し要求があったデータを記憶するページを読み出す、
請求項1に記載の情報処理装置。
【請求項3】
前記読出手段は、直近に読み出したページの近傍にあるページからデータを読み出す、
請求項1に記載の情報処理装置。
【請求項4】
前記読出手段は、直近に読み出したページに連続するページからデータを読み出すシーケンシャルリードで前記第2の記憶手段に記憶されたデータを読み出す、
請求項3に記載の情報処理装置。
【請求項5】
前記読出手段は、前記制御手段がアイドル状態である場合に、前記シーケンシャルリードで前記第2の記憶手段に記憶されたデータを読み出す、
請求項4に記載の情報処理装置。
【請求項6】
前記読出手段は、前記シーケンシャルリードで前記第2の記憶手段に記憶されたデータを読み出している際に前記制御手段から読み出し要求があった場合は、前記シーケンシャルリードを停止して読み出し要求があったデータを記憶するページを読み出す、
請求項4に記載の情報処理装置。
【請求項7】
前記第2の記憶手段はNAND型フラッシュメモリである、
請求項1乃至6のいずれか一項に記載の情報処理装置。
【請求項8】
前記読出手段は、前記NAND型フラッシュメモリにおいて、駆動が共有される複数のメモリセルで構成されるページ単位で記憶されたデータを読み出して、当該読み出したデータを前記第1の記憶手段の記憶領域に展開する、
請求項7に記載の情報処理装置。
【請求項9】
制御手段と、前記制御手段がアクセス可能な記憶領域が割り当てられる揮発性の第1の記憶手段と、電源オフ状態への移行時に、前記第1の記憶手段の記憶領域に記憶されたデータが退避される不揮発性の第2の記憶手段とを有する情報処理装置のメモリ管理方法であって、
前記電源オフ状態へ移行する直前の状態を再開する際に、複数のメモリセルで構成されるページ単位で前記第2の記憶手段に記憶されたデータを読み出して、当該読み出したデータを前記第1の記憶手段の記憶領域に展開するメモリ管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2013−77225(P2013−77225A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2011−217741(P2011−217741)
【出願日】平成23年9月30日(2011.9.30)
【特許番号】特許第5135462号(P5135462)
【特許公報発行日】平成25年2月6日(2013.2.6)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】