(57)【特許請求の範囲】
【請求項１】
装置の第１のブート処理を完了させるために第１の不揮発性メモリの第１の部分からブートデータをロードするステップと、
前記ブートデータをアクセスタイムが前記第１の不揮発性メモリより大きい第２の不揮発性メモリに格納した後、前記装置が前記第１の不揮発性メモリの前記第１の部分を上書きすることを可能とするために該第１の部分を解放するステップと、
前記装置が低電力状態に移行する前に、前記第２の不揮発性メモリから前記第１の不揮発性メモリに前記ブートデータを書き込むステップと、
を含み、
該書き込まれたブートデータは、前記装置の第２のブート処理が開始される場合に該第２のブート処理を完了させるために、前記第１の不揮発性メモリからロードされることになる、
メモリ割当方法。
【請求項２】
前記解放するステップが、キャッシュデータを格納するためのキャッシュとして前記第１の不揮発性メモリの前記第１の部分を使用することを含む、請求項１に記載の方法。
【請求項３】
前記書き込むステップの前に前記第１の不揮発性メモリにあるキャッシュデータを前記第２の不揮発性メモリに格納するステップを更に含む、請求項２に記載の方法。
【請求項４】
前記第１の不揮発性メモリがフラッシュメモリを含み、前記第２の不揮発性メモリが磁気記憶媒体を含む、請求項１に記載の方法。
【請求項５】
前記第１及び第２のブート処理の少なくとも一方を完了させるために前記第１の不揮発性メモリから前記ブートデータをロードすることができない場合に、前記第２の不揮発性メモリから前記ブートデータをロードするステップを更に含み、
前記第２の不揮発性メモリにおける該ブートデータのアドレス位置は、前記第１の不揮発性メモリ上に格納されており、
該第１の不揮発性メモリ上に格納された前記アドレス位置を読み出すことにより、前記ブートデータを前記第２の不揮発性メモリからロードすることが可能となる、
請求項１に記載の方法。
【請求項６】
装置であって、
前記装置の第１のブート処理を完了させるためのブートデータを第１の部分に格納する第１の不揮発性メモリと、
アクセスタイムが前記第１の不揮発性メモリより大きい第２の不揮発性メモリと、
前記第１の不揮発性メモリから前記ブートデータがロードされた後に該第１の不揮発性メモリの前記第１の部分にキャッシュデータを書き込むキャッシュモジュールと、
前記キャッシュモジュールが前記第１の不揮発性メモリの前記第１の部分に前記キャッシュデータを書き込む前に前記第２の不揮発性メモリに前記ブートデータを書き込み、前記装置が低電力状態に移行する前に、前記第２の不揮発性メモリにある前記ブートデータを前記第１の不揮発性メモリに書き込むブートモジュールと、
を備え、
前記装置の第２のブート処理が開始された場合に該第２のブート処理を完了させるために、前記第１の不揮発性メモリから該書き込まれたブートデータがロードされることになる、
装置。
【請求項７】
前記キャッシュモジュールが、前記装置が低電力状態に移行する前に前記第１の不揮発性メモリにある前記キャッシュデータを前記第２の不揮発性メモリに格納する、請求項６に記載の装置。
【請求項８】
前記第１の不揮発性メモリがフラッシュメモリを含み、前記第２の不揮発性メモリが磁気記憶媒体を含む、請求項６に記載の装置。
【請求項９】
前記第１及び第２のブート処理の少なくとも一方を完了させるために前記第１の不揮発性メモリから前記ブートデータをロードすることができない場合に、前記第２の不揮発性メモリから前記ブートデータをロードするように構成され、
前記第２の不揮発性メモリにおける該ブートデータのアドレス位置は、前記第１の不揮発性メモリ上に格納されており、
該第１の不揮発性メモリ上に格納された前記アドレス位置を読み出すことにより、前記ブートデータを前記第２の不揮発性メモリからロードすることが可能となる、
請求項８に記載の装置。
【請求項１０】
複数の命令を格納した持続性のマシン読み取り可能記憶媒体であって、前記複数の命令は、装置のプロセッサにより実行される場合に、
前記装置の第１のブート処理を完了させるために第１の不揮発性メモリの第１の部分からブートデータをロードし、
前記第１の不揮発性メモリの前記第１の部分にある前記ブートデータをアクセスタイムが前記第１の不揮発性メモリより大きい第２の不揮発性メモリに格納した後、前記装置が前記第１の不揮発性メモリの前記第１の部分を上書きすることを可能とするために該第１の部分を解放し、
前記装置が低電力状態に移行する前に、前記第２の不揮発性メモリから前記第１の不揮発性メモリに前記ブートデータを書き込む、
ことを前記プロセッサに行わせ、
該書き込まれたブートデータは、前記装置の第２のブート処理が開始される場合に該第２のブート処理を完了させるために、前記第１の不揮発性メモリからロードされることになる、
持続性のマシン読み取り可能記憶媒体。
【請求項１１】
前記プロセッサにより実行される場合に、
前記第１及び第２のブート処理の少なくとも一方を完了させるために前記第１の不揮発性メモリから前記ブートデータをロードすることができない場合に、前記第２の不揮発性メモリから前記ブートデータをロードする、
ことを前記プロセッサに行わせる命令を更に含み、
前記第２の不揮発性メモリにおける該ブートデータのアドレス位置は、前記第１の不揮発性メモリ上に格納されており、
該第１の不揮発性メモリ上に格納された前記アドレス位置を読み出すことにより、前記ブートデータを前記第２の不揮発性メモリからロードすることが可能となる、
請求項１０に記載の持続性のマシン読み取り可能記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピューティング装置は、比較的遅いアクセスタイムを有するハードディスクドライブ（HDD）といった低速記憶装置を含み得るものである。該低速記憶装置は、ボトルネックとして振る舞い、コンピューティング装置の性能に影響を与え得るものである。性能を改善するために、コンピューティング装置は、フラッシュメモリといった比較的高速のアクセスタイムを有する高速記憶装置を含むことが可能である。しかし、該高速記憶装置は、一記憶単位につき低速記憶装置よりも一層高価なものとなる。
【０００２】
その結果として、高速記憶装置は、低速記憶装置よりも一層小さな記憶容量を有するものとなり得る。この一層小さな記憶容量を有する高速記憶装置は、例えば頻繁にアクセスされるデータのために、コンピューティング装置によって目一杯使用されるされるようになった。コンピューティング装置はまた、追加の記憶容量が必要となった場合に該頻繁にアクセスされるデータの一部を低速記憶装置に格納することが可能である。高速記憶装置に格納することができる頻繁にアクセスされるデータのパーセンテージを増大させれば、コンピューティング装置の性能を一層改善することが可能となる。
【図面の簡単な説明】
【０００３】
【図１Ａ】ブートデータをロードするための装置の例示的なブロック図である。
【図１Ｂ】ブートデータをロードするための装置のもう１つの例示的なブロック図である。
【図２】ブートデータをロードするための命令を含むコンピューティング装置の例示的なブロック図である。
【図３Ａ】ブートデータをロードするための方法の例示的なフローチャートである。
【図３Ｂ】ブートデータをロードするための方法の例示的なフローチャートである。
【発明を実施するための形態】
【０００４】
以下の説明では、本実施形態の完全な理解を提供するために特定の細部を提示する。しかし、当業者には理解されるように、該実施形態はかかる特定の細部を伴わなくとも実施することが可能である。例えば、不要な細部のために実施形態が不明確なものとならないようにするために複数のシステムをブロック図で示すことが可能である。別の例では、実施形態が不明確なものとなるのを回避すべく、周知のプロセス、構造、及び技術を不要な細部を伴うことなく示すことが可能である。
【０００５】
コンピューティング装置は、ハードディスクドライブ（HDD）等の低速記憶装置に加えて、フラッシュメモリ等の高速記憶装置を含むことが可能である。高速記憶装置は、低速記憶装置よりも低レイテンシを有することが可能なものである。コンピューティング装置は、より頻繁にアクセスされるデータを低速記憶装置ではなく高速記憶装置に格納することにより性能を向上させることが可能である。例えば、コンピューティング装置は、高速記憶装置をキャッシュとして使用すること又はブートデータを格納するために使用することが可能である。しかし、高速記憶装置は、コンピューティング装置により使用されている頻繁にアクセスされるデータの全てを格納するだけの十分な記憶容量を有していない可能性がある。このため、高速記憶装置の記憶容量は、コンピューティング装置の性能のボトルネックとして振る舞い得るものである。更に、高速記憶装置は一般に、一記憶単位につき低速記憶装置よりも遙かに高価なものであり、高速記憶装置の記憶容量は一般に増大させることができない。
【０００６】
例えば、高速記憶装置からブートデータをロードすることによりコンピューティング装置をブートさせると、低速記憶装置からロードする場合とは対照的に、コンピューティング装置のブート時間を短縮することが可能となる。該ブートデータは、高速記憶装置の大きなパーセンテージを占有し得るものである。例えば、ブートデータは4ギガバイト（GB）となり、及び高速記憶装置の記憶容量は16ギガバイトとなり得る。高速記憶装置の所定部分をブートデータのために予約することが可能であるが、該ブートデータのサイズは変動し得るものである。このため、該所定部分のサイズは伝統的に大きく設定され、その結果として高速記憶装置の記憶容量の一部が浪費されることになる。例えば、ブートデータは4GBであるが、前記所定部分は5GBであり、1GBの記憶容量が使用不能となる。
【０００７】
更に、コンピューティング装置が頻繁にブートされない場合には、該所定部分の予約は、高速記憶装置の記憶容量を効率的に使用するものとはならない。一方、高速記憶装置全体をキャッシュとして使用可能とした場合には、ブートデータが時間と共に上書きされることになる。その結果として、コンピューティング装置は、次のブート時に高速記憶装置からブートデータをロードすることができなくなる。代替的に、コンピューティング装置は、次のブート時に低速記憶装置からブートデータをロードすることが可能である。
【０００８】
本発明の実施形態は、頻繁にアクセスされるデータのために使用することができる高速記憶装置の記憶容量を増大させると共に、依然としてコンピューティング装置が該高速記憶装置からブートデータをロードすることを可能とするものである。例えば、コンピューティング装置は、高速記憶装置の一部からブートデータをロードし、次いで該高速記憶装置の該ブートデータを格納している部分を他のタイプのデータ（例えばキャッシュデータ）を目的とするものにすることを可能にする。次いで、コンピューティング装置の電源が落とされる前に、次回のブート処理に備えて高速記憶装置にブートデータを再び書き込むことが可能である。
【０００９】
図１Ａは、ブートデータをロードするための装置100の例示的なブロック図である。該装置100の実施形態は、ノートブックコンピュータ、デスクトップコンピュータ、オールインワンシステム、スレートコンピューティング装置、ポータブルリーディング装置、ワイヤレス電子メール装置、及び携帯電話等を含むことが可能なものである。図１Ａの実施形態では、装置100は、プロセッサ110、キャッシュモジュール120、ブートモジュール130、及び第１の不揮発性メモリ140を含む。該第１の不揮発性メモリ140は更に、第１の部分142を含む。、
該プロセッサ110は、CPU、GPU、又は第１の不揮発性メモリ140からの命令の読み出し及び実行を行うのに適したマイクロプロセッサ及び／又は後述するモジュール120,130の機能を実行するよう構成された電子回路とすることが可能である。該第１の不揮発性メモリ140は、電力が供給されていない場合であっても格納された情報を保持し続ける電子的、磁気的、光学的、又はその他の物理的な記憶装置といった、１つ以上の不揮発性のマシン読み取り可能記憶媒体とすることが可能である。該第１の不揮発性メモリ140の例として、ソリッドステートドライブ（SSD）又はフラッシュメモリが挙げられる。
【００１０】
モジュール120,130の各々は、例えば、後述する機能を実施するための電子回路を含むハードウェア装置を含むことが可能である。追加的又は代替的に、各モジュールは、マシン読み取り可能記憶媒体（例えば第１の不揮発性メモリ140）上にエンコードされ、及びプロセッサ110により実行される、一連の命令として実施することが可能である。実施形態によっては、モジュール120,130の一部をハードウェア装置として実施する一方、他のモジュールを実行可能命令として実施することが可能である。例えば、モジュール120,130は、装置100上で実行しているオペレーティングシステム（OS）により実行されているアプリケーションの一部として実施することが可能である。
【００１１】
第１の不揮発性メモリ140は、第１の部分142にブートデータを格納することになる。該ブートデータは、該装置100の最初のブート処理を完了させるために使用されることになる。例えば、装置100の不活性状態（例えばオフ状態）からの電源投入時に、装置100は、初期命令セット（リードオンリーメモリ（ROM）（図示せず）に格納されている命令等）を最初に実行することが可能である。かかる命令に基づいて、装置100は、第１の不揮発性メモリ140（第１の部分142等）から別の場所（ランダムアクセスメモリ（RAM）（図示せず）等）へブートデータをロードすることが可能である。該ブートデータは、装置100の電源投入に応じて実行されるべき命令（プログラム及び／又はオペレーティングシステム（OS）の命令等）及び／又はデータを含むことが可能である。一実施形態では、該ブートデータは、装置100上でオペレーティングシステムを起動させるために使用することが可能である。次いで、装置100は、該RAM上のブートデータを実行し及び／又は使用して、該装置100の最初のブート処理（例えばOSの起動）を完了させることが可能である。
【００１２】
キャッシュモジュール120は、第１の不揮発性メモリ140の第１の部分142からブートデータがロードされた後、該第１の不揮発性メモリ140の該第１の部分142にキャッシュデータを書き込むことになる。該キャッシュデータは、再び使用され又は頻繁に使用され得るデータ（例えば、アプリケーションファイル、ユーザ文書、及び／又はメタデータ等）を含むことが可能である。例えば、ソフトウェア（例えばOS）、アプリケーション、又はウェブブラウザ、又はハードウェア（プロセッサ110等）、又は別のメモリが、キャッシュデータへの高速アクセスのために該キャッシュデータを第１の部分142に格納することが可能である。該キャッシュデータは、冗長タイプ又は非冗長タイプの情報とすることが可能である。冗長タイプの情報は、別の記憶場所から取り出された第１の部分142に格納されているリードオンリーデータとすることが可能である。この場合には、第１の部分142と該別の記憶場所との両方に格納された冗長タイプの情報の複製が存在することが可能である。非冗長タイプの情報は、第１の部分142のみに格納されるデータ（例えば、ハードウェア、アプリケーション、又はユーザ等により修正され又は生成されるデータ）とすることが可能である。
【００１３】
ブートモジュール130は、装置100が低電力状態に移行する前に第１の不揮発性メモリ140にブートデータを書き込むことになる。該低電力状態の例として、装置100が、電源オフ状態、休止状態、又はスリープ状態になることが挙げられる。例えば、装置100が低電力状態になるというOSからの指示を受信した際に、ブートモジュール130は、該装置100の電源が落ちる前に第１の部分142にブートデータを再び書き込むことが可能である。代替的に、ブートデータは、装置100の電源が落ちる前に第１の不揮発性メモリ140の別の部分に書き込むことが可能である。一実施形態では、OSは、ブートデータが第１の不揮発性メモリ140に成功裏に転送されたことの確認を例えばブートモジュール130から受信するまで、装置100の低電力状態への移行の完了を待機することが可能である。
【００１４】
続いて、装置100の電源が投入された際に、第２のブート処理を開始することが可能である。上述した書き込まれたブートデータを第１の不揮発性メモリ140から再びロードして装置100の第２のブート処理を完了させることが可能である。このように、第１の不揮発性メモリ140におけるブートデータを格納する記憶場所（例えば第１の部分142）をキャッシュデータのために解放することにより、一層大量の頻繁に使用される情報を該第１の不揮発性メモリ140に格納することが可能となり、これにより装置の性能及び／又は処理速度が改善される。更に、装置100の電源断前に第１の不揮発性メモリ140にブートデータを書き戻すことにより、該装置100は、低速記憶装置からブートデータをロードする場合よりも高速にブートすることが可能となる。
【００１５】
図１Ｂは、ブートデータをロードするための装置150のもう１つの例示的なブロック図を示している。図１Ｂの装置150は、プロセッサ110、キャッシュモジュール120、ブートモジュール130、及び第１の不揮発性メモリ140といった、図１Ａの装置100と同様の構成要素を含んでいる。該第１の不揮発性メモリ140は同様に第１の部分142を含む。しかし、図１Ｂの装置150は更に、第２の不揮発性メモリ160を含む。該第２の不揮発性メモリ160は第２の部分162を含む。
【００１６】
該第２の不揮発性メモリ160は、電力が供給されていない場合であっても格納された情報を保持し続ける電子的、磁気的、光学的、又はその他の物理的な記憶装置といった、１つ以上の不揮発性のマシン読み取り可能記憶媒体とすることが可能である。該第２の不揮発性メモリ160の例として、ハードディスクドライブ（HDD）又はストレージドライブが挙げられる。該第２の不揮発性メモリ160は、第１の不揮発性メモリ140よりも大きなレイテンシ及び／又は容量を有することが可能である。例えば、第２の不揮発性メモリ160は、一層大きなアクセスタイムを有する磁気記憶媒体（例えば、500ギガバイト（GB）のHDD）とすることが可能であり、第１の不揮発性メモリ140は、一層小さなアクセスタイムを有するフラッシュメモリの類（例えば、64GBのSDD）とすることが可能である。
【００１７】
該第２の不揮発性メモリ160もブートデータを格納することが可能である。例えば、ブートモジュール130は、キャッシュモジュール120が第１の不揮発性メモリ140の第１の部分142にキャッシュデータを書き込む前に、第２の不揮発性メモリ160（例えば、第２の部分162）にブートデータを書き込むことが可能である。こうして、ブートデータを保存することが可能となる。その後、ブートモジュール130は、装置150が低電力状態に入る前に、第２の不揮発性メモリ160にあるブートデータを、第１の不揮発性メモリ140（例えば、第１の部分142）に書き込むことが可能である。こうして、装置150は、上述のように、再び第１の不揮発性メモリ140からのブートデータにアクセスすることによりブートすることが可能となる。更に、第２の不揮発性メモリ160にあるブートデータのコピーをバックアップとして保持することが可能である。例えば、第１又は第２のブート処理を完了させるために第１の不揮発性メモリ140からブートデータをロードすることができない場合に該ブートデータを第２の不揮発性メモリ160からロードすることが可能である。例えば、ブートモジュール130が第１の不揮発性メモリ140に対するブートデータの書き戻しを完了する前に装置100の電源が遮断された場合又は第１の不揮発性メモリ140が誤動作した場合には、第１の不揮発性メモリ140からブートデータをロードすることができなくなる。第２の不揮発性メモリ160にあるブートデータのアドレス位置は、第１の不揮発性メモリ140上に格納することが可能である。その結果として、第１の不揮発性メモリ140からブートデータをロードすることができない場合に、装置150は、該第１の不揮発性メモリ140上に格納されている前記アドレス位置を読み出して、第２の不揮発性メモリ160にあるブートデータにアクセスすることが可能となる。
【００１８】
随意選択的に、キャッシュモジュール120は、装置150が低電力状態に移行する前に第１の不揮発性メモリ140にあるキャッシュデータを第２の不揮発性メモリ160に格納することが可能である。例えば、キャッシュモジュール120は、ブートモジュール130が第１の部分142にブートデータを書き戻す前に、第１の部分142にあるキャッシュデータを第２の不揮発性メモリ160に待避することが可能である。こうして、該キャッシュデータを第２の不揮発性メモリ160に保存して第２のブート処理後に該キャッシュデータを再利用することが可能となる。そうではなく、キャッシュデータのコピーを第２の不揮発性メモリ160に待避しない場合には、該キャッシュデータは、ブートモジュール130により第１の部分142にブートデータが上書きされる際に失われることになる。装置100,150の動作については図３Ａ及び図３Ｂに関して一層詳細に説明する。
【００１９】
図２は、ブートデータをロードするための命令を含むコンピューティング装置200の例示的なブロック図である。図２の実施形態では、コンピューティング装置200は、プロセッサ205、第１の不揮発性メモリ140、及びマシン読み取り可能記憶媒体210を含む。該マシン読み取り可能記憶媒体210は更に、ブートデータをロードするための命令212,214,216を含む。第１の不揮発性メモリ140は、第１の部分142を含み、図１Ａ及び図１Ｂのものと同様のものとすることが可能である。
【００２０】
コンピューティング装置200は、例えば、チップセット、ノートブックコンピュータ、スレートコンピューティング装置、ポータブルリーディング装置、ワイヤレス電子メール装置、携帯電話、又は前記命令212,214,216を実行することができる任意の他の装置とすることが可能である。特定の実施形態では、コンピューティング装置200は、メモリ、センサ、及びディスプレイといった更なる構成要素を含み又はそれらに接続することが可能なものである。例えば、コンピューティング装置200は、図１Ｂの第２の不揮発性メモリ160と同様の第２の不揮発性メモリ（図示せず）を含むことが可能である。代替的に、該第２の不揮発性メモリをマシン読み取り可能記憶媒体210の一部とすることが可能である。
【００２１】
前記プロセッサ205は、少なくとも１つの中央処理装置（CPU）、少なくとも１つの半導体ベースのマイクロプロセッサ、少なくとも１つのグラフィクス処理装置（GPU）、マシン読み取り可能記憶媒体210内に格納されている命令の読み出し及び実行を行うのに適したその他のハードウェア、及びそれらの組み合わせとすることが可能である。該プロセッサ205は、ブートデータのロード処理を実行するために、命令212,214,216をフェッチし、デコードし、及び実行することが可能である。命令の読み出し及び実行を行う代わりに又はそれに加えて、プロセッサ205は、命令212,214,216の機能を実行するための複数の電子部品を含む、少なくとも１つの集積回路（ＩＣ）、他の制御ロジック、他の電子回路、又はそれらの組み合わせを含むことが可能である。
【００２２】
前記マシン読み取り可能記憶媒体210は、実行可能命令を格納し又は記憶する任意の電子的、磁気的、光学的、又はその他の物理的な記憶装置とすることが可能である。このため、マシン読み取り可能記憶媒体210は、例えば、ランダムアクセスメモリ（RAM）、EEPROM（Electrically Erasble Programmable Read-Only Memory）、ストレージデバイス、CD-ROM（Compact Disc Read Only Memory）等とすることが可能である。この場合、該マシン読み取り可能記憶媒体210は持続性のものとすることができる。以下で詳述するように、マシン読み取り可能記憶媒体210には、ブートデータのロード処理を設定するための一連の実行可能命令をエンコードすることが可能である。
【００２３】
更に、命令212,214,216は、プロセッサによる（例えば該プロセッサの１つの処理要素又は複数の処理要素を介した）それらの実行時に、図３Ａ及び図３Ｂのプロセス等のプロセスを該プロセッサに行わせることが可能である。例えば、ロード命令212は、装置の第１のブート処理を完了させるべく第１の不揮発性メモリ140の第１の部分142からブートデータをロードするためにプロセッサ205により実行することが可能なものである。解放命令214は、装置200が第１の不揮発性メモリ140の第１の部分142を上書きすることを可能にすべく該第１の部分142を解放するためにプロセッサ205により実行することが可能なものである。書き込み命令216は、装置200が低電力状態に移行する前に第１の不揮発性メモリ140（第１の部分142等）にブートデータを書き込むためにプロセッサ205により実行することが可能なものである。装置200が第２のブート処理を開始する場合には、該装置200の該第２のブート処理を完了させるために、前記書き込まれたブートデータが第１の不揮発性メモリ140からロードされることになる。
【００２４】
前記マシン読み取り可能記憶媒体210はまた、第１の不揮発性メモリ140の第１の部分142が解放される前に該第１の部分142にあるブートデータを第２の不揮発性メモリに格納するための命令（図示せず）を含むことが可能であり、この場合、該ブートデータは、第２の不揮発性メモリから第１の不揮発性メモリ140へと書き込まれることになる。更に、マシン読み取り可能記憶媒体210は、第１及び第２のブート処理の少なくとも一方を完了させるために第１の不揮発性メモリ140からブートデータをロードすることができない場合に第２の不揮発性メモリからブートデータをロードするための命令（図示せず）を含むことが可能である。該ブートデータは、第２の不揮発性メモリからよりも速く第１の不揮発性メモリ140からロードすることが可能である。装置200の動作を図３Ａ及び図３Ｂに関して一層詳細に説明する。
【００２５】
図３Ａ及び図３Ｂは、ブートデータをロードするための方法300の例示的なフローチャートである。該方法300の実行について装置150に関して以下で説明するが、該方法300を実行するために他の適当な構成要素（例えば装置100又は装置200）を使用することが可能である。更に、方法300を実行するための構成要素は、複数の装置（例えば、入力装置及び出力装置と通信可能な状態にある処理装置）にわたって分散させることが可能である。場合によっては、互いに協働する複数の装置を方法300を実行するための単一の装置とみなすことが可能である。方法300は、マシン読み取り可能記憶媒体（例えば記憶媒体210）上に格納された実行可能命令という形及び／又は電子回路という形で実施することが可能である。
【００２６】
ブロック310で、装置150は、該装置150の第１のブート処理を完了させるために第１の不揮発性メモリ140の第１の部分142からブートデータをロードする。例えば、装置150は、装置150のOSのイメージを第１の不揮発性メモリ140から別のメモリ（例えばRAM）へロードするための命令にアクセスすることが可能である。該OSがロードされると、第１のブート処理を完了させることが可能となる。次いで、ブロック320で、装置150は、第１の不揮発性メモリ140の第１の部分142にあるブートデータを第２の不揮発性メモリへ格納する。次いで、ブロック330で、装置150は、該装置150が第１の不揮発性メモリ140の第１の部分142に上書きすることを可能とするために、該第１の部分142を解放する。該ブロック330での解放は、該装置150のキャッシュデータを格納するためのキャッシュとして第１の不揮発性メモリ140の第１の部分142を使用することを含むことが可能である。その後、装置150の電源が断たれる前に、ブロック340で、装置150は、第１の不揮発性メモリ140にあるキャッシュデータを第２の不揮発性メモリ160に格納する。該キャッシュデータは、例えば、装置150の第２のブート処理後に第１の不揮発性メモリ140の第１の部分142に戻すことにより、再利用することが可能となる。
【００２７】
次いで、ブロック350で、装置150は、装置150が低電力状態へ移行する前に、第２の不揮発性メモリ160にあるブートデータを第１の不揮発性メモリ140へ書き込む。ブロック360で、装置150が低電力状態に移行した後に該装置150の第２のブート処理が開始されたか否かが判定される。第２のブート処理が発生していない場合には該方法300は終了する。そうでない場合には、ブロック370で、装置150は、該装置150の第２のブート処理を完了させるために第１の不揮発性メモリ140に書き込まれているブートデータをロードする。ブロック380で、該書き込まれているブートデータが第１の不揮発性メモリ140から成功裏にロードされたか否かを判定する。該書き込まれているブートデータが成功裏にロードされた場合には、方法300は終了する。そうでない場合には、ブロック390で、装置150は、第２の不揮発性メモリ160からブートデータをロードする。該ブートデータは、第２の不揮発性メモリ160より第１の不揮発性メモリ140から一層速くロードすることが可能である。
【００２８】
上述したように、本実施形態は、装置のブート時に第１の不揮発性メモリからブートデータをロードすることを可能としつつ、使用可能なキャッシュ空間（例えば、第１の不揮発性メモリのキャッシュ空間）を増大させるための、方法及び／又は装置を提供するものである。このため、該実施形態は、装置のブート時間及びデータレイテンシを短縮することが可能となる。例えば、該実施形態は、装置の使用中に第２の不揮発性メモリにブートデータを格納し、次いで該装置が低電力状態に移行する前に該格納したブートデータを第１の不揮発性メモリへ書き戻すことが可能である。次回ブート時に、該ブートデータを該第１の不揮発性メモリから再びロードすることが可能となる。
【図１Ａ】
0005860543.tif 000002
【図１Ｂ】
0005860543.tif 000003
【図２】
0005860543.tif 000004
【図３Ａ】
0005860543.tif 000005
【図３Ｂ】
0005860543.tif 000006