(57)【要約】【解決手段】  プラットフォームのレジューム時間を改善する方法および装置を提供する。本発明の一実施形態によると、プラットフォームのコンテキストを、プラットフォームの非アクティブ状態に移行する前に保存する。プラットフォームは、アクティブ状態に戻す場合、保存されたコンテキストを読み出して、非アクティブ状態に移行する前の元の状態にプラットフォームを復元する。本発明の一実施形態によると、プラットフォームは、保存されたコンテキストを不揮発性メモリに格納する前に、プラットフォームの動作条件に基づいて、保存されたコンテキストを圧縮するべきか否かを判断する。これによって、プラットフォームは、プラットフォームのレジューム時間を高速化できる最適な方法を選択することができるようになる。【選択図】図１
2013546087.tif 000002
【特許請求の範囲】
【請求項１】
プラットフォームのコンテキストをハイバネーションファイルに保存する段階と、
前記プラットフォームの動作条件に基づいて、前記ハイバネーションファイルを圧縮および復元するための第１のオーバーヘッド時間を決定する段階と、
前記ハイバネーションファイルを不揮発性メモリに対して読み書きするための第２のオーバーヘッド時間を決定する段階と、
前記第１のオーバーヘッド時間が前記第２のオーバーヘッド時間よりも長いと判断することに応じて、前記ハイバネーションファイルを前記不揮発性メモリに書き込む段階と
を備える方法。
【請求項２】
前記プラットフォームを非アクティブ状態に切り替えるよう求める指示を受信する段階と、
前記非アクティブ状態が前記プラットフォームのコンテキストの保存を要求しているか否かを判断する段階と、
をさらに備え、
前記プラットフォームの前記コンテキストを前記ハイバネーションファイルに保存する段階は、
前記非アクティブ状態が前記プラットフォームの前記コンテキストの保存を要求していると判断することに応じて、前記プラットフォームの前記コンテキストを前記ハイバネーションファイルに保存する段階を有する請求項１に記載の方法。
【請求項３】
前記第２のオーバーヘッド時間が前記第１のオーバーヘッド時間より長いと判断することに応じて、前記ハイバネーションファイルを圧縮して、圧縮した前記ハイバネーションファイルを前記不揮発性メモリに書き込む段階をさらに備える請求項１または２に記載の方法。
【請求項４】
前記プラットフォームの前記コンテキストは、キャッシュメモリ状態情報、プロセッサ状態情報、メモリ状態情報、レジスタファイル状態情報、および、デバイス状態情報のうち１以上を含む請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記プラットフォームは、アドバンスド・コンフィグレーション・アンド・パワー・インターフェース（ＡＣＰＩ）仕様に準拠している請求項２から４のいずれか一項に記載の方法。
【請求項６】
前記非アクティブ状態は、システム３（Ｓ３）スリープ状態またはＳ４スリープ状態である請求項５に記載の方法。
【請求項７】
前記不揮発性メモリは、ＮＡＮＤフラッシュソリッドステートドライブ（ＳＳＤ）、ＮＯＲフラッシュＳＳＤ、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）ベースＳＳＤ、相変化メモリ（ＰＣＭ）ＳＳＤのうち１つを含む
請求項１から６のいずれか一項に記載の方法。
【請求項８】
１以上のキャッシュメモリを有するプロセッサと、
前記プロセッサに結合されているメインメモリと、
前記プロセッサに結合されている不揮発性メモリと、
ロジックと
を備える装置であって、
前記ロジックは、
前記装置のシステムコンテキストの保存を求める状態移行要求を受信し、
前記装置の前記システムコンテキストを保存し、
保存された前記システムコンテキストを圧縮および復元する場合について決定された第１の入出力（Ｉ／Ｏ）スループットと、前記保存されたシステムコンテキストを前記不揮発性メモリに対して読み書きする場合について決定された第２のＩ／Ｏスループットとを比較する装置。
【請求項９】
前記ロジックはさらに、前記第１のＩ／Ｏスループットが前記第２のＩ／Ｏスループットよりも高いという比較の結果に応じて、前記保存されたシステムコンテキストを前記不揮発性メモリに格納する請求項８に記載の装置。
【請求項１０】
前記ロジックはさらに、前記第２のＩ／Ｏスループットが前記第１のＩ／Ｏスループットよりも長いという比較の結果に応じて、前記保存されたシステムコンテキストを圧縮して、圧縮された前記システムコンテキストを前記不揮発性メモリに格納する請求項８または９に記載の装置。
【請求項１１】
前記ロジックが前記状態移行要求を受信することは、
スリープイネーブル（ＳＬＰ＿ＥＮ）ビットがアクティブ化されていると判断することと、
前記装置の前記システムコンテキストの保存を要求するスリープ状態を示すようにスリープタイプ（ＳＬＰ＿ＴＹＰｘ）ビットが設定されていると判断することと
を含む請求項８から１０のうちいずれか一項に記載の装置。
【請求項１２】
前記装置の前記システムコンテキストは、前記１以上のキャッシュメモリのそれぞれの状態情報、前記プロセッサの状態情報、前記メインメモリの状態情報、および、前記装置に結合されている１以上のデバイスの状態情報のうち１以上を含む請求項８から１１のうちいずれか一項に記載の装置。
【請求項１３】
前記装置は、アドバンスド・コンフィグレーション・アンド・パワー・インターフェース（ＡＣＰＩ）仕様に準拠している請求項８から１２のいずれか一項に記載の装置。
【請求項１４】
前記不揮発性メモリは、ＮＡＮＤフラッシュソリッドステートドライブ（ＳＳＤ）、ＮＯＲフラッシュＳＳＤ、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）ベースＳＳＤ、相変化メモリ（ＰＣＭ）ＳＳＤのうち１つを含む請求項８から１３のうちいずれか一項に記載の装置。
【請求項１５】
プラットフォームに、
前記プラットフォームのコンテキストをハイバネーションファイルに保存する手順と、
前記プラットフォームの動作条件に基づいて、前記ハイバネーションファイルを圧縮および復元するための第１のオーバーヘッド時間を決定する手順と、
前記ハイバネーションファイルを不揮発性メモリに対して読み書きするための第２のオーバーヘッド時間を決定する手順と、
前記第１のオーバーヘッド時間が前記第２のオーバーヘッド時間よりも長いと判断することに応じて、前記ハイバネーションファイルを前記不揮発性メモリに書き込む手順と
を実行させるプログラム。
【請求項１６】
前記プラットフォームにさらに、
前記プラットフォームを非アクティブ状態に切り替えるよう求める指示を受信する手順と、
前記非アクティブ状態が前記プラットフォームのコンテキストの保存を要求しているか否かを判断する手順と、
を実行させ、
前記プラットフォームの前記コンテキストを前記ハイバネーションファイルに保存する手順は、
前記非アクティブ状態が前記プラットフォームの前記コンテキストの保存を要求していると判断することに応じて、前記プラットフォームの前記コンテキストを前記ハイバネーションファイルに保存する手順を有する
請求項１５に記載のプログラム。
【請求項１７】
前記プラットフォームにさらに、前記第２のオーバーヘッド時間が前記第１のオーバーヘッド時間より長いと判断することに応じて、前記ハイバネーションファイルを圧縮して、圧縮した前記ハイバネーションファイルを前記不揮発性メモリに書き込む手順を実行させる請求項１５または１６に記載のプログラム。
【請求項１８】
前記プラットフォームの前記コンテキストは、キャッシュメモリ状態情報、プロセッサ状態情報、メモリ状態情報、レジスタファイル状態情報、および、デバイス状態情報のうち１以上を含む請求項１５から１７のいずれか一項に記載のプログラム。
【請求項１９】
前記プラットフォームは、アドバンスド・コンフィグレーション・アンド・パワー・インターフェース（ＡＣＰＩ）仕様に準拠している請求項１６から１８のいずれか一項に記載のプログラム。
【請求項２０】
前記非アクティブ状態は、システム３（Ｓ３）スリープ状態またはＳ４スリープ状態である請求項１９に記載のプログラム。
【請求項２１】
前記不揮発性メモリは、ＮＡＮＤフラッシュソリッドステートドライブ（ＳＳＤ）、ＮＯＲフラッシュＳＳＤ、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）ベースＳＳＤ、相変化メモリ（ＰＣＭ）ＳＳＤのうち１つを含む請求項１５から２０のいずれか一項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラットフォームに関する。具体的には、これに限定されるものではないが、プラットフォームのレジューム時間を改善するための方法および装置に関する。
【背景技術】
【０００２】
大容量格納デバイスに関して技術革新が進むにつれ、入出力（Ｉ／Ｏ）データレートは高速化の一途をたどっている。高速Ｉ／Ｏデータレートによって、プラットフォームは、ブートアップ時間およびレジューム時間を短縮することが可能となる。
【０００３】
プラットフォームに含まれるコンポーネントのうちこのような高速Ｉ／Ｏデータレートに対応できないものがあれば、プラットフォームの性能のボトルネックとなる可能性がある。
【図面の簡単な説明】
【０００４】
本発明の実施形態の特徴および利点は、以下に記載する主題の詳細な説明から明らかになるであろう。図面は以下の通りである。
【図１】本発明の一実施形態に係るプラットフォームの電力状態を説明するための図である。
【図２】本発明の一実施形態に係るデータアクセスレートを示す表である。
【図３】本発明の一実施形態に係るアルゴリズムを説明するためのフローチャートである。
【図４】本発明の一実施形態に係るシステムを示す図である。
【発明を実施するための形態】
【０００５】
本明細書で説明する本発明の実施形態は、添付図面において本発明を制限するものではなく一例として図示されている。図示を簡潔かつ分かりやすいものとするべく、図中に図示した構成要素は必ずしも実寸に即したものではない。例えば、一部の構成要素の寸法は、分かりやすいように、他の構成要素に比べて強調している場合がある。さらに、適切と考えられる場合には、同様または対応する構成要素を示すべく、同じ参照番号を複数の図面にわたって繰り返し利用する。明細書中において本発明の「一実施形態」または「ある実施形態」という場合、当該実施形態に関連付けて説明している特定の特徴、構造または特性が本発明の少なくとも1つの実施形態に含まれることを意味する。このため、明細書中に「一実施形態において」という表現が繰り返し用いられても、必ずしも全てが同じ実施形態を意味するものではない。
【０００６】
本発明の実施形態は、プラットフォームのレジューム時間を改善する方法および装置を提供する。本発明の一実施形態において、プラットフォームのコンテキストは、プラットフォームが非アクティブ状態に移行する前に、保存される。プラットフォームは、アクティブ状態に戻ると、保存されたコンテキストを読み出して、非アクティブ状態に移行する前の元の状態にプラットフォームを復元する。本発明の一実施形態によると、プラットフォームは、プラットフォームの動作条件に基づいて、不揮発性メモリにコンテキストを格納する前に、保存するコンテキストを圧縮するか否かを判断する。これによって、プラットフォームは、プラットフォームのレジューム時間を高速化することができる最適な方法を選択することができるようになる。
【０００７】
プラットフォームとは、これらに限定されないが、デスクトップコンピュータ、ラップトップコンピュータ、ネットブック、タブレットコンピュータ、ノートブックコンピュータ、携帯情報端末（ＰＤＡ）、サーバ、ワークステーション、セルラー式電話、モバイルコンピューティングデバイス、インターネットアプライアンス、または、任意のその他の種類のコンピューティングデバイスを含む。プラットフォームのコンテキストとは、これらに限定されないが、キャッシュメモリ状態情報、プロセッサ状態情報、メモリ状態情報、レジスタファイル状態情報、デバイス状態情報、および、プラットフォームの非アクティブ状態からレジュームした後に復元する必要がある任意のその他の情報を含む。
【０００８】
図１は、本発明の一実施形態に係るプラットフォームの電力状態を説明するための概略図１００である。本発明の一実施形態によると、プラットフォームは、プラットフォームのさまざまな利用シナリオに対応するべく、複数の異なる電力消費レベルが定義されている。プラットフォームは、プラットフォームのコンポーネントが全て、完全に動作可能な状態であるアクティブ状態１００が定義されている。本発明の一実施形態によると、アクティブ状態１００は、電力を節約する必要が全くない利用シナリオを意味する。
【０００９】
例えば、プラットフォームが電池から電力供給を受けている場合、プラットフォームは、アクティブ状態１００から低電力状態１２０へと移行することによって電力消費レベルを低くすることができる。本発明の一実施形態によると、低電力状態１２０では、プラットフォームの１以上のコンポーネントがディセーブルされて、プラットフォームの消費電力を低減している。本発明の別の実施形態によると、プラットフォームの１以上のコンポーネントは、低電力要件で動作している。例えば、本発明の一実施形態によると、プラットフォームのプロセッサは、低電力状態１２０において、アクティブ状態１１０の場合よりも遅いクロック周波数で動作している。これによって、プラットフォームの消費電力が低減され得る。
【００１０】
本発明の一実施形態によると、プラットフォームは、アクティブ状態１１０から非アクティブ状態１３０へ移行する。非アクティブ状態１１０とは、これらに限定されないが、スリープ状態、スタンドバイ状態、ハイバーネート状態等を含む。本発明の一実施形態によると、非アクティブ状態１３０は、プラットフォームの所望のモードを示す複数の状態が定義されている。例えば、本発明の一実施形態によると、プラットフォームは、アドバンスド・コンフィグレーション・アンド・パワー・インターフェース（ＡＣＰＩ）仕様（ＡＣＰＩ仕様、「アドバンスド・コンフィグレーション・アンド・パワー・インターフェース仕様」、改訂版４．０ａ、２０１０年４月５日公開）に準拠している。本発明の一実施形態において、プラットフォームがＡＣＰＩ仕様に準拠している場合、非アクティブ状態１１０は、システム１−４（Ｓ１−Ｓ４）のスリープ状態を意味する。
【００１１】
本発明の一実施形態によると、非アクティブ状態１３０がプラットフォームのコンテキストの保存を要求する場合、プラットフォームは、プラットフォームのコンテキストをハイバネーションファイルに保存する。本発明の一実施形態によると、プラットフォームは、ハイバネーションファイルを不揮発性メモリに格納して、プラットフォームのレジューム時間を低減する最適な方法を選択するロジックを備える。プラットフォームは、プラットフォームの動作条件に基づいて、ハイバネーションファイルを圧縮および復元するための第１のオーバーヘッド時間を決定する。プラットフォームは、不揮発性メモリに対してハイバネーションファイルを読み書きするための第２のオーバーヘッド時間を決定する。プラットフォームは、第１のオーバーヘッド時間を第２のオーバーヘッド時間と比較して、ハイバネーションファイルを不揮発性メモリに書き込む前に圧縮すべきか否かを判断する。
【００１２】
第１のオーバーヘッド時間が第２のオーバーヘッド時間よりも長い場合、つまり、不揮発性メモリに対してハイバネーションファイルを読み書きする方が早い場合、プラットフォームはハイバネーションファイルに圧縮を実行せず、ハイバネーションファイルを不揮発性メモリに複製または格納する。第２のオーバーヘッド時間が第１のオーバーヘッド時間よりも長い場合、つまり、不揮発性メモリに対してハイバネーションファイルを読み書きする方が遅い場合、プラットフォームはハイバネーションファイルのサイズを小さくするべく圧縮処理を実行して、圧縮されたハイバネーションファイルを不揮発性メモリに複製または格納する。
【００１３】
本発明の一実施形態によると、プラットフォームのロジックは、非アクティブ状態１３０に移行するよう求める要求を受信すると常に、プラットフォームで実行されるファームウェアとして実装される。本発明の別の実施形態によると、プラットフォームのロジックは、ベーシックＩ／Ｏシステム（ＢＩＯＳ）ファームウェアとして実装される。当業者であれば、プラットフォームのロジックは本発明の実施に影響を与えることなくプラットフォームの任意のコンポーネントに設け得ることに容易に想到するであろう。
【００１４】
プラットフォームの電力状態の概略図１００は本発明を限定することを意図してはおらず、本発明の実施に影響を与えることなく、プラットフォームの電力状態を増減することができる。
【００１５】
図２は、本発明の一実施形態に係るデータアクセスレートを示す表である。図２は、プラットフォームの動作条件を変化させて圧縮および復元した同一データペイロードの一例を示す図である。当該ペイロードは、本発明の一実施形態において、ハイバネーションファイルを表す。
【００１６】
例えば、本発明の一実施形態において、プラットフォームのオペレーティングシステムがアイドルモードである場合、つまり、プラットフォームのリソースを利用しているアプリケーションが非常に少数かまたは全く無い場合、プラットフォームが３０７２メガバイト（ＭＢ）のデータペイロードを圧縮するためには８．８８３秒必要である。圧縮されたデータペイロードは、プラットフォームの動作条件が同じである場合、３．３８２秒で復元され得る。図２はさらに、プラットフォームのオペレーティングシステムの負荷が軽い場合、中程度である場合、重い場合に必要な圧縮時間および復元時間をそれぞれ図示している。
【００１７】
同じ３０７２ＭＢのデータペイロードをダイナミックランダムアクセスメモリ（ＤＲＡＭ）をベースとするソリッドステートドライブ等の不揮発性メモリに対して読み書きするために必要な時間は、９．３３２秒である。プラットフォームのオペレーティングシステムの負荷が軽い、中程度、および、重い場合に、不揮発性メモリに対するペイロードの書き込み時間は、ペイロードを圧縮するために必要な圧縮時間よりも高速である。これらのプラットフォームの動作条件では、プラットフォームの性能は、ペイロードの圧縮を実行することなくペイロードを直接不揮発性メモリに書き込むことによって、改善され得る。
【００１８】
プラットフォームのオペレーティングシステムの負荷が重い場合には、不揮発性メモリからのペイロードの読み出し時間は、ペイロードを復元するために必要な復元時間よりも高速である。このプラットフォームの動作条件では、プラットフォームの性能は、ペイロードの復元を実行することなくペイロードを不揮発性メモリから直接読み出すことによって、改善され得る。
【００１９】
本発明の一実施形態によると、プラットフォームは、現在の動作条件での圧縮時間および復元時間と、不揮発性メモリの書込データレートおよび読出データレートとを比較することによって、ハイバネーションファイルを不揮発性メモリに書き込む前に圧縮すべきか否かを判断する。本発明の別の実施形態では、プラットフォームは、現在の動作条件での圧縮時間と不揮発性メモリの書込データレートとを比較することによって、ハイバネーションファイルを不揮発性メモリに書き込む前に圧縮すべきか否かを判断する。本発明のさらに別の実施形態では、プラットフォームは、現在の動作条件での復元時間と不揮発性メモリの読出データレートとを比較することによって、ハイバネーションファイルを不揮発性メモリに書き込む前に圧縮すべきか否かを判断する。
【００２０】
当業者であれば、本発明の実施に影響を与えることなく、不揮発性メモリに書き込む前にハイバネーションファイルを圧縮すべきか否かを判断する方法として他の方法も利用可能であることに想到するであろう。図２は、比較対象として時間測定結果を用いたが、これに限定されることを意味するものではない。本発明の別の実施形態では、比較対象の測定値としてＩ／Ｏスループット（ＭＢ／ｓ）を利用する。当業者であれば、不揮発性メモリに書き込む前にハイバネーションファイルを圧縮すべきか否かを判断する方法としてプラットフォームの他のパラメータも利用できることに想到するであろう。これらの他のパラメータは、本発明の実施に影響を与えることなく利用することが可能であり、本明細書では説明を省略する。
【００２１】
図３は、本発明の一実施形態に係るアルゴリズムを説明するためのフローチャート３００である。ステップ３０５において、フロー３００は、非アクティブ状態移行要求を受信したか否かを確認する。受信していない場合、フロー３００はステップ３０５に戻る。本発明の一実施形態において、プラットフォームがＡＣＰＩ仕様に準拠している場合、ステップ３０５はスリープイネーブル（ＳＬＰ＿ＥＮ）ビットがアサートされているか否かを確認する。ＳＬＰ＿ＥＮビットは、プラットフォームがＳ１からＳ４のスリープ状態のうちいずれか１つに移行するように要求されていることを示す。
【００２２】
受信している場合、フロー３００はステップ３１０に進み、所望の非アクティブ状態ではプラットフォームのコンテキストの保存を必要としているか否かを確認する。本発明の一実施形態によると、プラットフォームがＡＣＰＩ仕様に準拠している場合、ステップ３１０は、スリープタイプｘ（ＳＬＰ＿ＴＹＰｘ）ビットの設定内容を確認する。ＳＬＰ＿ＴＹＰｘビットは、所望の種類のスリープ状態、つまり、プラットフォームのＳ１スリープ状態か、Ｓ２スリープ状態か、Ｓ３スリープ状態か、または、Ｓ４スリープ状態かを示す。本発明の一実施形態によると、所望の非アクティブ状態がＳ３スリープ状態またはＳ４スリープ状態と設定されている場合、プラットフォームのコンテキストの保存が要求される。当業者であれば、本発明の一実施形態において、プラットフォームの他のシステム状態でもプラットフォームのコンテキストの保存を必要とし、こういった他のシステム状態はステップ３１０において確認し得ることに容易に想到するであろう。
【００２３】
ステップ３１０において所望の非アクティブ状態がプラットフォームのコンテキストの保存を必要としないと判断される場合、フロー３００はステップ３０５に戻る。ステップ３１０において所望の非アクティブ状態がプラットフォームのコンテキストの保存を必要とすると判断される場合、フロー３００はステップ３２０に進む。ステップ３２０において、フロー３２０は、非アクティブ状態の要件に基づき、要求されたプラットフォームのコンテキストを保存する。例えば、本発明の一実施形態によると、プラットフォームがＡＣＰＩ仕様に準拠しており、所望のスリープ状態がＳ４スリープ状態に設定されている場合、当業者であれば、ＡＣＰＩ仕様に基づき、保存する必要があるプラットフォームの情報が何であるかを容易に理解するであろう。本発明の一実施形態において、プラットフォームのオペレーティングシステムの要求に応じて、要求されたコンテキストをハイバネーションファイルまたは任意のその他の適切なフォーマットに保存する。
【００２４】
ステップ３３０において、フロー３００は、保存されたコンテキストを圧縮および復元するために必要な第１のオーバーヘッドを決定する。本発明の一実施形態によると、ステップ３３０は、ハイバネーションファイルを圧縮および復元するために必要な第１のオーバーヘッドを決定する。ステップ３４０において、フロー３００は、不揮発性メモリまたはストレージデバイスに対して、保存されたコンテキストを読み書きするために必要な第２のオーバーヘッドを決定する。
【００２５】
第１および第２のオーバーヘッドは、これらに限定されないが、時間、毎秒メガバイトを単位とするＩ／Ｏスループット、および、任意のその他の適切な単位等の単位で測定される。本発明の一実施形態によると、ステップ３３０およびステップ３４０は、保存されたコンテキストの圧縮および書込のオーバーヘッドのみを測定する。本発明の別の実施形態によると、ステップ３３０および３４０は、保存されたコンテキストの復元および読出のオーバーヘッドのみを測定する。本発明のさらに別の実施形態によると、ステップ３４０は、不揮発性メモリを初期化する場合に、プラットフォームのブートアップ時に１回のみ実行される。
【００２６】
ステップ３５０において、フロー３００は、第１のオーバーヘッドが第２のオーバーヘッドよりも長いか否かを確認する。第１のオーバーヘッドの方が長い場合、つまり、保存したコンテキストを不揮発性メモリに対して読み書きする方が早い場合、フロー３００はステップ３６０に進み、保存したコンテキストを不揮発性メモリに格納して、フロー３００は終了する。第１のオーバーヘッドの方が短い場合、つまり、保存したコンテキストを不揮発性メモリに対して読み書きする方が遅い場合、フロー３００はステップ３７０に進む。ステップ３７０において、フロー３００は、保存されたコンテキストを圧縮して、圧縮したコンテキストを不揮発性メモリに格納して、フロー３００は終了する。
【００２７】
図４は、本発明の一実施形態に係るシステムを示す図である。システム４００とは、これらに限定されないが、デスクトップコンピュータ、ラップトップコンピュータ、ネットブック、ノートブックコンピュータ、携帯情報端末（ＰＤＡ）、サーバ、ワークステーション、セルラー式電話、モバイルコンピューティングデバイス、インターネットアプライアンス、または、任意のその他の種類のコンピューティングデバイスを含む。別の実施形態では、本明細書で開示している方法を実装するシステム４００は、システムオンチップ（ＳＯＣ）システムであってよい。
【００２８】
プロセッサ４１０は、システム４００の命令を実行するプロセッシングコア４１２を備える。プロセッシングコア４１２とは、これらに限定されないが、命令をフェッチするプリフェッチロジック、命令を復号する復号ロジック、命令を実行する実行ロジック等を含む。プロセッサ４１０は、システム４００のデータおよび／または命令をキャッシュするキャッシュメモリ４１６を有する。本発明の別の実施形態によると、キャッシュメモリ４１６とは、これらに限定されないが、レベル１、レベル２およびレベル３のキャッシュメモリまたはプロセッサ４１０内のキャッシュメモリの任意のその他の構成を含む。
【００２９】
メモリコントロールハブ（ＭＣＨ）４１４は、揮発性メモリ４３２および／または不揮発性メモリ４３４を含むメモリ４３０との間でアクセスおよび通信をプロセッサ４１０が実行できるようにする機能を持つ。揮発性メモリ４３２とは、これらに限定されないが、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＵＳダイナミックランダムアクセスメモリ（ＲＤＲＡＭ）、および／または、任意のその他の種類のランダムアクセスメモリデバイスを含む。不揮発性メモリ４３４とは、これらに限定されないが、ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、相変化メモリ（ＰＣＭ）、リードオンリーメモリ（ＲＯＭ）、電気的消去可能プログラム可能リードオンリーメモリ（ＥＥＰＲＯＭ）、または、任意のその他の種類の不揮発性メモリデバイスを含む。
【００３０】
メモリ４３０は、情報およびプロセッサ４１０が実行すべき命令を格納している。メモリ４３０はさらに、一時的な変数またはその他の中間情報を、プロセッサ４１０が命令を実行している間、格納するとしてよい。チップセット４２０は、ポイント・ツー・ポイント（ＰｔＰ）インターフェース４１７および４２２を介して、プロセッサ４１０と接続されている。チップセット４２０によって、プロセッサ４１０はシステム４００内の他のモジュールと接続可能になる。本発明の一実施形態によると、インターフェース４１７および４２２は、Ｉｎｔｅｌ（登録商標）社のＱｕｉｃｋＰａｔｈインターコネクト（ＱＰＩ）等のＰｔＰ通信プロトコルに応じて動作する。チップセット４２０は、これらに限定されないが、液晶ディスプレイ（ＬＣＤ）、陰極線管（ＣＲＴ）ディスプレイ、または、任意のその他の形態の視覚表示デバイスを含む表示デバイス４４０に、インターフェース４２４を介して接続されている。
【００３１】
また、チップセット４２０は、インターフェース４２６を介して、１以上のバス４５０および４６０に接続され、バス４５０および４６０は、さまざまなモジュール４７４、４８０、４８２、４８４および４８６を相互接続している。バス４５０および４６０は、バス速度または通信プロトコルが不一致の場合、バスブリッジ４７２を介して相互接続されるとしてよい。チップセット４２０は、これらに限定されないが、不揮発性メモリ４８０、大容量格納デバイス４８２、キーボード／マウス４８４、および、ネットワークインターフェース４８６に結合されている。不揮発性メモリ４８０とは、これらに限定されないが、ＮＡＮＤフラッシュソリッドステートドライブ（ＳＳＤ）、ＮＯＲフラッシュＳＳＤ、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）ベースのＳＳＤ、相変化メモリ（ＰＣＭ）ＳＳＤ等を含む。
【００３２】
大容量格納デバイス４８２とは、これらに限定されないが、ソリッドステートドライブ、ハードディスクドライブ、ユニバーサルシリアルバスフラッシュメモリドライブ、または、任意のその他の形態のコンピュータデータ格納媒体を含む。ネットワークインターフェース４８６は、これらに限定されないが、イーサネット（登録商標）インターフェース、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）エクスプレスインターフェース、無線インターフェースおよび／または任意のその他の適切な種類のインターフェースを含む任意の種類の公知のネットワークインターフェース規格を用いて実現される。無線インターフェースは、これらに限定されないが、ＩＥＥＥ８０２．１１規格および関連する規格、ＨｏｍｅＰｌｕｇ  ＡＶ（ＨＰＡＶ）、超広帯域（ＵＷＢ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＷｉＭＡＸ、または、任意の形態の無線通信プロトコルに応じて動作する。
【００３３】
図４に示すモジュールはシステム４００内の複数の別箇のブロックとして図示しているが、これらのブロックの一部が実行する機能は、一の半導体回路内に集積化されるとしてもよいし、または、２以上の別箇の集積回路を用いて実現するとしてもよい。例えば、キャッシュメモリ４１６がプロセッサ４１０内の一の独立したブロックとして図示されているが、キャッシュメモリ４１６をプロセッサコア４１２内に組み込むことも可能である。システム４００は、本発明の別の実施形態では、複数のプロセッサ／プロッセッシングコアを備えるとしてよい。本発明の一実施形態によると、システム４００の保存されたコンテキストまたは圧縮されたコンテキストは、不揮発性メモリ４３４、大容量格納デバイス４８２、および、不揮発性メモリ４８０に格納することができる。
【００３４】
開示した主題の実施形態例を説明しているが、当業者であれば、開示した主題を実現する方法として上記以外にも多くの方法が利用され得ることに容易に想到するであろう。前述の説明では、開示した主題のさまざまな側面を説明した。説明のために、具体的な数、システムおよび構成を記載して主題を深く理解していただけるようにした。しかし、本開示を参照すれば、記載した具体的且つ詳細な内容を利用しなくても主題を実施し得ることは当業者には明らかである。また、公知の特徴、コンポーネントまたはモジュールは、開示した主題をあいまいにしないよう、省略、簡略化、統合または分割した。
【００３５】
「〜ように動作可能」という表現は、本明細書で用いられる場合、デバイス、システム、プロトコル等が、電力供給がオフの状態である時には、所望の機能を実行するように動作することが可能な状態であるか、または、そのように動作するように調整されていることを意味する。開示した主題のさまざまな実施形態は、ハードウェア、ファームウェア、ソフトウェアまたはこれらの組み合わせで実現するとしてよい。開示した主題のさまざまな実施形態はまた、マシンがアクセスすると当該マシンがタスクを実行し、抽象データ型または低レベルハードウェアコンテキストを定義するか、結果を生成する命令、関数、プロシージャ、データ構造、ロジック、アプリケーションプログラム、設計表現またはシミュレーションフォーマット、エミュレーション、および、設計の製造等のプログラムコードを参照しつつ、または、これらと組み合わせて、説明しているとしてよい。
【００３６】
図示した技術は、汎用コンピュータまたはコンピューティングデバイス等の１以上のコンピューティングデバイスで格納および実行されるコードおよびデータを用いて実現することができる。このようなコンピューティングデバイスは、機械可読格納媒体（例えば、磁気ディスク、光ディスク、ランダムアクセスメモリ、リードオンリーメモリ、フラッシュメモリデバイス、相変化メモリ）、および、機械可読通信媒体（例えば、電気信号、光信号、音信号またはその他の形態の伝搬信号、例えば、搬送波、赤外信号、デジタル信号等）等の機械可読媒体を用いて、コードおよびデータの格納および通信（内部で、そして、ネットワークを介して他のコンピューティングデバイスとの間で）を実行する。
【００３７】
実施形態例を参照しつつ開示した主題を説明したが、本明細書は限定的な意味で解釈されるべきではない。開示した主題が関連する技術分野の当業者には明らかであるが、実施形態例のさまざまな変形例は、主題の他の実施形態と同様に、開示した主題の範囲内に含まれるものとする。
【図１】
2013546087.tif 000003
【図２】
2013546087.tif 000004
【図３】
2013546087.tif 000005
【図４】
2013546087.tif 000006
【国際調査報告】
2013546087.tif 000007
2013546087.tif 000008