(57)【要約】      （修正有）【課題】データストレージシステムに関し、特に、低電力データストレージステムを提供する。【解決手段】システムオンチップ（ＳＯＣ）は、第１のプロセッサ及び第２のプロセッサ、並びに、制御モジュールを含む。ＳＯＣに設けられた第１のプロセッサはアクティブ状態及び非アクティブ状態を有し、アクティブ状態中に第１及び第２のスレッドの組を処理する。ＳＯＣに設けられた第２のプロセッサはアクティブ状態及び非アクティブ状態を有し、アクティブ状態で動作するときに第２のプロセッサがアクティブ状態で動作する第１のプロセッサより少ない電力を消費する。ＳＯＣに設けられた制御モジュールは、第１及び第２のプロセッサと通信し、第１のプロセッサから第２のプロセッサへ第２のスレッドの組を選択的に転送し、第１のプロセッサの非アクティブ状態を選択する。第２のプロセッサは第２のスレッドの組を処理する。【選択図】図３１Ａ
2007305106.tif 000002
【特許請求の範囲】
【請求項１】
システムオンチップ（ＳＯＣ）であって、
前記ＳＯＣに設けられ、アクティブ状態及び非アクティブ状態を有し、前記アクティブ状態中に第１のスレッドの組及び第２のスレッドの組を処理する第１のプロセッサと、
前記ＳＯＣに設けられ、アクティブ状態及び非アクティブ状態を有し、前記アクティブ状態で動作するときに、前記アクティブ状態で動作する前記第１のプロセッサより少ない電力を消費する第２のプロセッサと、
前記ＳＯＣに設けられ、前記第１のプロセッサ及び前記第２のプロセッサと通信し、前記第１のプロセッサから前記第２のプロセッサへ前記第２のスレッドの組を選択的に転送し、前記第１のプロセッサの前記非アクティブ状態を選択する制御モジュールと、を備え、
前記第２のプロセッサが前記第２のスレッドの組を処理する、システムオンチップ（ＳＯＣ）。
【請求項２】
前記ＳＯＣに設けられ、前記第１のプロセッサ及び前記第２のプロセッサと通信し、前記第１のプロセッサ及び前記第２のプロセッサのスレッド情報を記憶するレジスタファイルをさらに備える、請求項１に記載のＳＯＣ。
【請求項３】
前記スレッド情報が、前記第１のプロセッサ及び前記第２のプロセッサの前記スレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む、請求項２に記載のＳＯＣ。
【請求項４】
前記第１のプロセッサと通信し、前記第１のプロセッサのための第１のスレッド情報を記憶する第１のレジスタファイルと、
前記第２のプロセッサと通信し、前記第２のプロセッサのための第２のスレッド情報を記憶する第２のレジスタファイルと、
をさらに備える、請求項１に記載のＳＯＣ。
【請求項５】
前記第１のスレッド情報及び前記第２のスレッド情報が、それぞれ、前記第１のプロセッサ及び前記第２のプロセッサの前記スレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む、請求項４に記載のＳＯＣ。
【請求項６】
前記制御モジュールが、前記第１のプロセッサから前記第２のプロセッサへ前記スレッドを転送するときに、前記第１のレジスタファイルから前記第２のレジスタファイルへ前記スレッド情報を転送する、請求項４に記載のＳＯＣ。
【請求項７】
前記第１のプロセッサが第１のトランジスタを含み、前記第２のプロセッサが第２のトランジスタを含み、前記第１のトランジスタが前記第２のトランジスタより高いリーク電流を有する、請求項１に記載のＳＯＣ。
【請求項８】
前記第１のプロセッサが第１のトランジスタを含み、前記第２のプロセッサが第２のトランジスタを含み、前記第２のトランジスタが前記第１のトランジスタより大きなサイズを有する、請求項１に記載のＳＯＣ。
【請求項９】
前記第１のプロセッサがアクティブ状態にあるときに高電力モードにあり、前記第１のプロセッサが非アクティブ状態にあるときに低電力モードにある、請求項１に記載のＳＯＣ。
【請求項１０】
前記第１のプロセッサ及び前記第２のプロセッサが、それぞれ、第１のグラフィックスプロセッシングユニット及び第２のグラフィックスプロセッシングユニットを備える、請求項１に記載のＳＯＣ。
【請求項１１】
アクティブ状態及び非アクティブ状態を有し、前記アクティブ状態中に少なくとも１個のスレッドを処理する第１のプロセッサと、
アクティブ状態及び非アクティブ状態を有し、前記アクティブ状態で動作するときに、前記アクティブ状態で動作する前記第１のプロセッサより少ない電力を消費する第２のプロセッサと、
前記第１のプロセッサ及び前記第２のプロセッサと通信し、前記第１のプロセッサから前記第２のプロセッサへ前記少なくとも１個のスレッドを選択的に転送し、前記第１のプロセッサの前記非アクティブ状態を選択する制御モジュールと、を備え、
前記第２のプロセッサが前記少なくとも１個のスレッドを処理する、プロセッシングシステム。
【請求項１２】
前記ＳＯＣに設けられ、前記第１のプロセッサ及び前記第２のプロセッサと通信し、前記第１のプロセッサ及び前記第２のプロセッサの前記スレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む、前記第１のプロセッサ及び前記第２のプロセッサのためのスレッド情報を記憶するレジスタファイルをさらに備える、請求項１１に記載のプロセッシングシステム。
【請求項１３】
請求項１２に記載の前記第１のプロセッサ及び前記第２のプロセッサと前記レジスタファイルとを備えるシステムオンチップ（ＳＯＣ）。
【請求項１４】
前記第１のプロセッサと通信し、前記第１のプロセッサのための第１のスレッド情報を記憶する第１のレジスタファイルと、
前記第２のプロセッサと通信し、前記第２のプロセッサのための第２のスレッド情報を記憶する第２のレジスタファイルと、をさらに備え、
前記第１のスレッド情報及び前記第２のスレッド情報が、それぞれ、前記第１のプロセッサ及び前記第２のプロセッサの前記スレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む、請求項１１に記載のプロセッシングシステム。
【請求項１５】
請求項１４に記載の前記第１のプロセッサ及び前記第２のプロセッサと前記第１のレジスタファイル及び前記第２のレジスタファイルとを備える、システムオンチップ（ＳＯＣ）。
【請求項１６】
前記制御モジュールが、前記第１のプロセッサから前記第２のプロセッサへ前記スレッドを転送するときに、前記第１のレジスタファイルから前記第２のレジスタファイルへ前記スレッド情報を転送する、請求項１４に記載のプロセッシングシステム。
【請求項１７】
前記第１のプロセッサが第１のトランジスタを含み、前記第２のプロセッサが第２のトランジスタを含み、前記第１のトランジスタが前記第２のトランジスタより高いリーク電流を有する、請求項１１に記載のプロセッシングシステム。
【請求項１８】
前記第１のプロセッサが第１のトランジスタを含み、前記第２のプロセッサが第２のトランジスタを含み、前記第２のトランジスタが前記第１のトランジスタより大きなサイズを有する、請求項１１に記載のプロセッシングシステム。
【請求項１９】
前記第１のプロセッサがアクティブ状態にあるときに高電力モードにあり、前記第１のプロセッサが非アクティブ状態にあるときに低電力モードにある、請求項１１に記載のプロセッシングシステム。
【請求項２０】
前記第１のプロセッサ及び前記第２のプロセッサが、それぞれ、第１のグラフィックスプロセッシングユニット及び第２のグラフィックスプロセッシングユニットを備える、請求項１１に記載のプロセッシングシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
[0001]本願は、２００６年９月１２日に出願された仮出願第６０／８２５，３６８号、２００６年８月２４日に出願された仮出願第６０／８２３，４５３号及び２００６年８月１０日に出願された仮出願第６０／８２２，０１５号の優先権を主張し、２００６年８月１１日に出願された米国特許出願第１１／５０３，０１６号の一部継続出願であり、この米国特許出願第１１／５０３，０１６号は、２００６年７月３１日に出願された仮出願第６０／８２０，８６７号及び２００６年５月１０日に出願された仮出願第６０／７９９，１５１号の優先権を主張し、２００４年６月１０日に出願された米国特許出願第１０／８６３，３６８号の一部継続出願であり、２００５年１２月２９日に出願された米国特許出願第１１／３２２，４４７号の一部継続出願であり、２００５年５月５日に出願された仮出願第６０／６７８，２４９号の優先権を主張する。
【０００２】
[0002]本願は、２００４年２月１３日に出願された米国特許出願第１０／７７９，５４４号に関連し、２００４年６月１０日に出願された米国特許出願第１０／８６５，７３２号に関連する。これらの出願の開示内容はその全体が参照として本明細書に全て組み込まれる。
【発明の分野】
【０００３】
[0003]本発明は、データストレージシステムに関し、特に、低電力データストレージステムに関する。
【発明の背景】
【０００４】
[0004]ラップトップコンピュータは、ライン電源とバッテリー電源の両方を使用して給電される。ラップトップコンピュータのプロセッサ、グラフィックスプロセッサ、メモリ、及び、ディスプレイは、動作中に大量の電力を消費する。ラップトップコンピュータの一つの重大な制限は、ラップトップが再充電することなくバッテリーを使用して動かされる時間に関する。ラップトップコンピュータの比較的高い電力損失は通常比較的短いバッテリー寿命と対応する。
【０００５】
[0005]図１Ａを参照すると、例示的なコンピュータアーキテクチャ４が、キャッシュのようなメモリ７を伴うプロセッサ６を含むように示されている。プロセッサ６は、入出力（Ｉ／Ｏ）インターフェイス８と通信する。ランダムアクセスメモリ（ＲＡＭ）１０のような揮発性メモリ９、及び／又は、その他の適当な電子データストレージもまたインターフェイス８と通信する。グラフィックスプロセッサ１１、及び、キャッシュのようなメモリ１２は、グラフィックス処理の速度と性能を向上させる。
【０００６】
[0006]キーボード１３及び（マウス及び／又はその他の適当な装置のような）ポインティング装置１４のような１台以上のＩ／Ｏ装置はインターフェイス８と通信する。１．８インチより大きい直径をもつ１枚以上のプラッタを有するハードディスクドライブのような高電力ディスクドライブ（ＨＰＤＤ）１５は、不揮発性メモリを提供し、データを記憶し、インターフェイス８と通信する。ＨＰＤＤ１５は、典型的に、動作中に比較的大量の電力を消費する。バッテリーで動作するとき、ＨＰＤＤ１５の頻繁な使用はバッテリー寿命を著しく減少させる。コンピュータアーキテクチャ４は、ディスプレイ１６、オーディオスピーカーのようなオーディオ出力装置１７、及び／又は、一般的に符号１８で示されるその他の入出力装置をさらに含む。
【０００７】
[0007]図１Ｂを参照すると、例示的なコンピュータアーキテクチャ２０は、プロセッシングチップセット２２とＩ／Ｏチップセット２４とを含む。例えば、コンピュータアーキテクチャは、（ノースブリッジチップセットに対応するプロセッシングチップセットとサウスブリッジチップセットに対応するＩ／Ｏチップセットとを伴う）ノースブリッジ／サウスブリッジアーキテクチャ、又は、その他の類似したアーキテクチャである。プロセッシングチップセット２２は、システムバス２７を介してプロセッサ２５及びグラフィックスプロセッサ２６と通信する。プロセッシングユニット２２は、（外部ＤＲＡＭ又はその他のメモリのような）揮発性メモリ２８、ペリフェラルコンポーネント相互接続（ＰＣＩ）バス３０と、及び／又は、レベル２キャッシュ３２との相互作用を制御する。レベル１キャッシュ３３及び３４は、プロセッサ２５及び／又はグラフィックスプロセッサ２６とそれぞれ関連付けられる。代替的な実施形態では、加速グラフィックスポート（ＡＧＰ）（図示せず）は、グラフィックスプロセッサ２６の代わりに、及び／又は、グラフィックスプロセッサ２６に加えて、プロセッシングチップセット２２と通信する。プロセッシングチップセット２２は、典型的に多数のチップを使用して実施されるが、必ずしもそうではない。ＰＣＩスロット３６はＰＣＩバス３０とインターフェイスをとる。
【０００８】
[0008]Ｉ／Ｏチップセット２４は、入出力（Ｉ／Ｏ）の基本形式を管理する。Ｉ／Ｏチップセット２４は、業界標準アーキテクチャ（ＩＳＡ）バス４４を介して、ユニバーサルシリアルバス（ＵＳＢ）４０、オーディオ装置４１、キーボード（ＫＢＤ）及び／又はポインティング装置４２、及び、基本入出力システム（ＢＩＯＳ）４３と通信する。プロセッシングチップセット２２とは異なり、Ｉ／Ｏチップセット２４は、典型的に、ＰＣＩバス３０に接続されたシングルチップを使用して実施される（しかし、必ずしもそうではない）。ハードディスクドライブのようなＨＰＤＤ５０もまたＩ／Ｏチップセットと通信する。ＨＰＤＤ５０は、プロセッサ２５によって実行されるＷｉｎｄｏｗｓ  ＸＰ（登録商標）、Ｗｉｎｄｏｗｓ  ２０００（登録商標）、Ｌｉｎｕｘ、及び、ＭＡＣ（登録商標）ベースのＯＳのようなフル機能のオペレーティングシステム（ＯＳ）を記憶する。
【発明の概要】
【０００９】
[0009]システムオンチップ（ＳＯＣ）は、ＳＯＣに設けられ、アクティブ状態及び非アクティブ状態を有し、アクティブ状態中に第１のスレッドの組及び第２のスレッドの組を処理する第１のプロセッサと、ＳＯＣに設けられ、アクティブ状態及び非アクティブ状態を有する第２のプロセッサとを備え、第２のプロセッサがアクティブ状態で動作するときに、アクティブ状態で動作する第１のプロセッサより少ない電力を消費する。ＳＯＣが、ＳＯＣに設けられ、第１のプロセッサ及び第２のプロセッサと通信し、第１のプロセッサから第２のプロセッサへ第２のスレッドの組を選択的に転送し、第１のプロセッサの非アクティブ状態を選択する制御モジュールをさらに備える。第２のプロセッサが第２のスレッドの組を処理する。
【００１０】
[0010]別の特徴において、ＳＯＣは、ＳＯＣに設けられ、第１のプロセッサ及び第２のプロセッサと通信し、第１のプロセッサ及び第２のプロセッサのスレッド情報を記憶するレジスタファイルをさらに備える。スレッド情報が、第１のプロセッサ及び第２のプロセッサのスレッドのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む。
【００１１】
[0011]別の特徴において、ＳＯＣは、第１のプロセッサと通信し、第１のプロセッサのための第１のスレッド情報を記憶する第１のレジスタファイルと、第２のプロセッサと通信し、第２のプロセッサのための第２のスレッド情報を記憶する第２のレジスタファイルとをさらに備える。第１のスレッド情報及び第２のスレッド情報が、それぞれ、第１のプロセッサ及び第２のプロセッサのスレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む。
【００１２】
[0012]別の特徴において、制御モジュールが、第１のプロセッサから第２のプロセッサへスレッドを転送するとき第１のレジスタファイルから第２のレジスタファイルへスレッド情報を転送する。
【００１３】
[0013]別の特徴において、第１のプロセッサが第１のトランジスタを含み、第２のプロセッサが第２のトランジスタを含み、第１のトランジスタが第２のトランジスタより高いリーク電流を有する。
【００１４】
[0014]別の特徴において、第１のプロセッサが第１のトランジスタを含み、第２のプロセッサが第２のトランジスタを含み、第２のトランジスタが第１のトランジスタより大きなサイズを有する。
【００１５】
[0015]別の特徴において、ＳＯＣは、第１のプロセッサがアクティブ状態にあるときに高電力モードにあり、非アクティブ状態にあるときに低電力モードにある。
【００１６】
[0016]別の特徴において、第１のプロセッサ及び第２のプロセッサが、それぞれ、第１のグラフィックスプロセッシングユニット及び第２のグラフィックスプロセッシングユニットを備える。
【００１７】
[0017]さらに別の特徴において、データを処理する方法は、システムオンチップ（ＳＯＣ）上に第１のプロセッサ及び第２のプロセッサを設けるステップを備え、第１のプロセッサ及び第２のプロセッサがアクティブ状態と非アクティブ状態を有し、第２のプロセッサがアクティブ状態で動作するときに、アクティブ状態で動作する第１のプロセッサより少ない電力を消費する。この方法は、第１のプロセッサを使用してアクティブ状態中に第１のスレッドの組及び第２のスレッドの組を処理するステップと、第１のプロセッサから第２のプロセッサへ第２のスレッドの組を選択的に転送するステップと、第１のプロセッサの非アクティブ状態を選択するステップと、第２のプロセッサを使用して第２のスレッドの組を処理するステップとをさらに備える。
【００１８】
[0018]別の特徴において、この方法は、ＳＯＣを使用してレジスタファイルを実現するステップと、第１のプロセッサ及び第２のプロセッサのためのスレッド情報をレジスタファイルに格納するステップとをさらに備える。スレッド情報が、第１のプロセッサ及び第２のプロセッサのスレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む。
【００１９】
[0019]別の特徴において、この方法は、ＳＯＣを使用して第１のレジスタファイルを実現するステップと、第１のプロセッサのための第１のスレッド情報を第１のレジスタファイルに格納するステップと、ＳＯＣを使用して第２のレジスタファイルを実現するステップと、第２のプロセッサのための第２のスレッド情報を格納するステップとをさらに備える。第１のスレッド情報及び第２のスレッド情報が、それぞれ、第１のプロセッサ及び第２のプロセッサのスレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む。
【００２０】
[0020]別の特徴において、この方法は、第１のプロセッサから第２のプロセッサへスレッドを転送するときに第１のレジスタファイルから第２のレジスタファイルへスレッド情報を転送するステップをさらに備える。
【００２１】
[0021]別の特徴において、第１のプロセッサが第１のトランジスタを含み、第２のプロセッサが第２のトランジスタを含み、第１のトランジスタが第２のトランジスタより高いリーク電流を有する。
【００２２】
[0022]別の特徴において、第１のプロセッサが第１のトランジスタを含み、第２のプロセッサが第２のトランジスタを含み、第２のトランジスタが第１のトランジスタより大きなサイズを有する。
【００２３】
[0023]別の特徴において、この方法は、第１のプロセッサがアクティブ状態にあるときに高電力モードで、第１のプロセッサが非アクティブ状態にあるときに低電力モードで動作するステップをさらに備える。
【００２４】
[0024]別の特徴において、第１のプロセッサ及び第２のプロセッサが、それぞれ、第１のグラフィックスプロセッシングユニット及び第２のグラフィックスプロセッシングユニットを備える。
【００２５】
[0025]さらに別の特徴において、システムオンチップ（ＳＯＣ）は、ＳＯＣに設けられ、アクティブ状態及び非アクティブ状態を有し、アクティブ状態中に第１のスレッドの組及び第２のスレッドの組を処理する第１のプロセッシング手段を備える。ＳＯＣは、ＳＯＣに設けられ、アクティブ状態及び非アクティブ状態を有し、処理を行う第２のプロセッシング手段をさらに備え、第２のプロセッシング手段がアクティブ状態で動作するときに、アクティブ状態で動作する第１のプロセッシング手段より少ない電力を消費する。ＳＯＣは、ＳＯＣに設けられ、第１のプロセッシング手段及び第２のプロセッシング手段と通信し、第１のプロセッシング手段から第２のプロセッシング手段へ第２のスレッドの組を選択的に転送し、第１のプロセッシング手段の非アクティブ状態を選択する制御手段をさらに備える。第２のプロセッシング手段が第２のスレッドの組を処理する。
【００２６】
[0026]別の特徴において、ＳＯＣは、ＳＯＣに設けられ、第１のプロセッシング手段及び第２のプロセッシング手段と通信し、第１のプロセッシング手段及び第２のプロセッシング手段のためのスレッド情報を記憶するレジスタ手段をさらに備える。スレッド情報が、第１のプロセッシング手段及び第２のプロセッシング手段のスレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む。
【００２７】
[0027]別の特徴において、ＳＯＣは、第１のプロセッシング手段と通信し、第１のプロセッシング手段のための第１のスレッド情報を記憶する第１のレジスタ手段と、第２のプロセッシング手段と通信し、第２のプロセッシング手段のための第２のスレッド情報を記憶する第２のレジスタ手段とをさらに備える。第１のスレッド情報及び第２のスレッド情報は、それぞれ、第１のプロセッシング手段及び第２のプロセッシング手段のスレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む。
【００２８】
[0028]別の特徴において、制御手段が、第１のプロセッシング手段から第２のプロセッシング手段へスレッドを転送するときに、第１のレジスタ手段から第２のレジスタ手段へスレッド情報を転送する。
【００２９】
[0029]別の特徴において、第１のプロセッシング手段が第１のトランジスタを含み、第２のプロセッシング手段が第２のトランジスタを含み、第１のトランジスタが第２のトランジスタより高いリーク電流を有する。
【００３０】
[0030]別の特徴において、第１のプロセッシング手段が第１のトランジスタを含み、第２のプロセッシング手段が第２のトランジスタを含み、第２のトランジスタが第１のトランジスタより大きなサイズを有する。
【００３１】
[0031]別の特徴において、ＳＯＣは、第１のプロセッシング手段がアクティブ状態にあるときに高電力モードにあり、第１のプロセッシング手段が非アクティブ状態にあるときに低電力モードにある。
【００３２】
[0032]別の特徴において、第１のプロセッシング手段及び第２のプロセッシング手段が、それぞれ、グラフィックスを処理する第１のグラフィックスプロセッシング手段及び第２のグラフィックスプロセッシング手段を備える。
【００３３】
[0033]さらに別の特徴において、プロセッシングシステムは、アクティブ状態及び非アクティブ状態を有し、アクティブ状態中に少なくとも１個のスレッドを処理する第１のプロセッサと、アクティブ状態及び非アクティブ状態を有する第２のプロセッサとを備え、第２のプロセッサがアクティブ状態で動作するときに、アクティブ状態で動作する第１のプロセッサより少ない電力を消費する。プロセッシングシステムは、第１のプロセッサ及び第２のプロセッサと通信し、第１のプロセッサから第２のプロセッサへ少なくとも１個のスレッドを選択的に転送し、第１のプロセッサの非アクティブ状態を選択する制御モジュールをさらに備える。第２のプロセッサが少なくとも１個のスレッドを処理する。
【００３４】
[0034]別の特徴において、プロセッシングシステムは、ＳＯＣに設けられ、第１のプロセッサ及び第２のプロセッサと通信し、第１のプロセッサ及び第２のプロセッサのためのスレッド情報を記憶するレジスタファイルをさらに備え、スレッド情報が、第１のプロセッサ及び第２のプロセッサのスレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む。
【００３５】
[0035]別の特徴において、システムオンチップ（ＳＯＣ）は、第１のプロセッサ及び第２のプロセッサとレジスタファイルとを備える。
【００３６】
[0036]別の特徴において、プロセッシングシステムは、第１のプロセッサと通信し、第１のプロセッサのための第１のスレッド情報を記憶する第１のレジスタファイルと、第２のプロセッサと通信し、第２のプロセッサのための第２のスレッド情報を記憶する第２のレジスタファイルとをさらに備え、第１のスレッド情報及び第２のスレッド情報が、それぞれ、第１のプロセッサ及び第２のプロセッサのスレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む。
【００３７】
[0037]別の特徴において、システムオンチップ（ＳＯＣ）は、第１のプロセッサ及び第２のプロセッサと第１のレジスタファイル及び第２のレジスタファイルとを備える。
【００３８】
[0038]別の特徴において、制御モジュールが、第１のプロセッサから第２のプロセッサへスレッドを転送するときに、第１のレジスタファイルから第２のレジスタファイルへスレッド情報を転送する。
【００３９】
[0039]別の特徴において、第１のプロセッサが第１のトランジスタを含み、第２のプロセッサが第２のトランジスタを含み、第１のトランジスタが第２のトランジスタより高いリーク電流を有する。
【００４０】
[0040]別の特徴において、第１のプロセッサが第１のトランジスタを含み、第２のプロセッサが第２のトランジスタを含み、第２のトランジスタが第１のトランジスタより大きなサイズを有する。
【００４１】
[0041]別の特徴において、プロセッシングシステムは、第１のプロセッサがアクティブ状態にあるときに高電力モードにあり、第１のプロセッサが非アクティブ状態にあるときに低電力モードにある。
【００４２】
[0042]別の特徴において、第１のプロセッサ及び第２のプロセッサが、それぞれ、第１のグラフィックスプロセッシングユニット及び第２のグラフィックスプロセッシングユニットを備える。
【００４３】
[0043]さらに別の特徴において、データを処理する方法は、第１のプロセッサ及び第２のプロセッサを利用できるようにするステップを備え、第１のプロセッサ及び第２のプロセッサがアクティブ状態と非アクティブ状態を有し、第２のプロセッサが、アクティブ状態で動作するときに、アクティブ状態で動作する第１のプロセッサより少ない電力を消費する。この方法は、第１のプロセッサを使用してアクティブ状態中に少なくとも１個のスレッドを利用できるようにするステップと、第１のプロセッサから第２のプロセッサへ少なくとも１個のスレッドを選択的に転送するステップと、第１のプロセッサの非アクティブ状態を選択するステップと、第２のプロセッサを使用して少なくとも１個のスレッドを処理するステップとをさらに備える。
【００４４】
[0044]別の特徴において、この方法は、ＳＯＣを使用してレジスタファイルを設けるステップと、第１のプロセッサ及び第２のプロセッサのためのスレッド情報をレジスタファイルに格納するステップとをさらに備え、スレッド情報が、第１のプロセッサ及び第２のプロセッサのスレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む。
【００４５】
[0045]別の特徴において、この方法は、システムオンチップ内でレジスタファイル、第１のプロセッサ、及び、第２のプロセッサを実現するステップをさらに備える。
【００４６】
[0046]別の特徴において、この方法は、ＳＯＣを使用して第１のレジスタファイルを実現するステップと、第１のプロセッサのための第１のスレッド情報を第１のレジスタファイルに格納するステップと、ＳＯＣを使用して第２のレジスタファイルを実現するステップと、第２のプロセッサのための第２のスレッド情報を格納するステップとをさらに備え、第１のスレッド情報及び第２のスレッド情報が、それぞれ、第１のプロセッサ及び第２のプロセッサのスレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む。
【００４７】
[0047]別の特徴において、この方法は、第１のレジスタファイル及び第２のレジスタファイルと、第１のプロセッサ及び第２のプロセッサをシステムオンチップ内で実現するステップをさらに備える。
【００４８】
[0048]別の特徴において、この方法は、第１のプロセッサから第２のプロセッサへスレッドを転送するときに、第１のレジスタファイルから第２のレジスタファイルへスレッド情報を転送するステップをさらに備える。
【００４９】
[0049]別の特徴において、第１のプロセッサが第１のトランジスタを含み、第２のプロセッサが第２のトランジスタを含み、第１のトランジスタが第２のトランジスタより高いリーク電流を有する。
【００５０】
[0050]別の特徴において、第１のプロセッサが第１のトランジスタを含み、第２のプロセッサが第２のトランジスタを含み、第２のトランジスタが第１のトランジスタより大きなサイズを有する。
【００５１】
[0051]別の特徴において、この方法は、第１のプロセッサがアクティブ状態にあるときに高電力モードで、第１のプロセッサが非アクティブ状態にあるときに低電力モードで動作するステップをさらに備える。
【００５２】
[0052]別の特徴において、第１のプロセッサ及び第２のプロセッサが、それぞれ、第１のグラフィックスプロセッシングユニット及び第２のグラフィックスプロセッシングユニットを備える。
【００５３】
[0053]さらに別の特徴において、プロセッシングシステムは、アクティブ状態及び非アクティブ状態を有し、アクティブ状態中に少なくとも１個のスレッドを処理する第１のプロセッシング手段と、アクティブ状態及び非アクティブ状態を有し、処理を行う第２のプロセッシング手段とを備え、第２のプロセッシング手段がアクティブ状態で動作するときに、アクティブ状態で動作する第１のプロセッシング手段より少ない電力を消費する。プロセッシングシステムは、第１のプロセッシング手段及び第２のプロセッシング手段と通信し、第１のプロセッシング手段から第２のプロセッシング手段へ少なくとも１個のスレッドを選択的に転送し、第１のプロセッシング手段の非アクティブ状態を選択する制御手段をさらに備え、第２のプロセッシング手段が少なくとも１個のスレッドを処理する。
【００５４】
[0054]別の特徴において、プロセッシング手段は、ＳＯＣに設けられ、第１のプロセッシング手段及び第２のプロセッシング手段と通信し、第１のプロセッシング手段及び第２のプロセッシング手段のためのスレッド情報を記憶するレジスタ手段をさらに備え、スレッド情報が、第１のプロセッシング手段及び第２のプロセッシング手段のスレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む。
【００５５】
[0055]別の特徴において、レジスタ手段と第１のプロセッシング手段及び第２のプロセッシング手段がシステムオンチップ内で実現される。
【００５６】
[0056]別の特徴において、プロセッシングシステムは、第１のプロセッシング手段と通信し、第１のプロセッシング手段のための第１のスレッド情報を記憶する第１のレジスタ手段と、第２のプロセッシング手段と通信し、第２のプロセッシング手段のための第２のスレッド情報を記憶する第２のレジスタ手段とをさらに備え、第１のスレッド情報及び第２のスレッド情報が、それぞれ、第１のプロセッシング手段及び第２のプロセッシング手段のスレッドのためのレジスタ、チェックポイント、及び、プログラムカウンタのうちの少なくとも一つを含む。
【００５７】
[0057]別の特徴において、第１のレジスタ手段及び第２のレジスタ手段と第１のプロセッシング手段及び第２のプロセッシング手段がシステムオンチップ内で実現される。
【００５８】
[0058]別の特徴において、制御手段が、第１のプロセッシング手段から第２のレジスタ手段へスレッドを転送するときに、第１のレジスタ手段から第２のレジスタ手段へスレッド情報を転送する。
【００５９】
[0059]別の特徴において、第１のプロセッシング手段が第１のトランジスタを含み、第２のプロセッシング手段が第２のトランジスタを含み、第１のトランジスタが第２のトランジスタより高いリーク電流を有する。
【００６０】
[0060]別の特徴において、第１のプロセッシング手段が第１のトランジスタを含み、第２のプロセッシング手段が第２のトランジスタを含み、第２のトランジスタが第１のトランジスタより大きなサイズを有する。
【００６１】
[0061]別の特徴において、プロセッシングシステムは、第１のプロセッシング手段がアクティブ状態にあるときに高電力モードで、第１のプロセッシング手段が非アクティブ状態にあるときに低電力モードで動作する。
【００６２】
[0062]別の特徴において、第１のプロセッシング手段及び第２のプロセッシング手段が、それぞれ、グラフィックスを処理する第１のグラフィックス処理手段及び第２のグラフィックス処理手段を備える。
【００６３】
[0063]本発明のさらなる適用分野は、後述の詳細な説明から明白になる。詳細な説明及び具体的な実施例は、発明の好ましい実施形態を示しているが、例示の目的だけが意図され、発明の範囲を限定することが意図されていないことが理解されるべきである。
【好ましい実施形態の詳細な説明】
【００６４】
[0064]本発明は、詳細な説明と添付図面からより完全に理解される。
【００６５】
[0109]以下の（複数の）好ましい実施形態の説明は、本質的に単なる例示であり、本発明、本発明の応用、又は、本発明の使用を限定することは決して意図されていない。明瞭さの目的のため、同じ参照番号が類似した要素を特定するため図面で使用される。本明細書において使用されるように、モジュール及び／又は装置という用語は、特定用途向け集積回路（ＡＳＩＣ）と、電子回路と、１本以上のソフトウェア又はファームウェアプログラムを実行する（共有、専用、又は、グループ）プロセッサ及びメモリと、組み合わせ論理回路と、及び／又は、前述の機能を提供するその他の適当なコンポーネントとを参照する。
【００６６】
[0110]本明細書で使用されるように、「高電力モード」という用語は、ホスト装置のホストプロセッサ、及び／又は、１次グラフィックスプロセッサのアクティブ動作を指す。「低電力モード」という用語は、２次プロセッサ及び２次グラフィックスプロセッサが動作可能であるときに、１次プロセッサ及び／又は１次グラフィックスプロセッサの低電力休止モード、オフモード、及び／又は、非応答モードを指す。「オフモード」は、１次プロセッサと２次プロセッサの両方がオフ状態である状況を指す。
【００６７】
[0111]「低電力ディスクドライブ」すなわちＬＰＤＤという用語は、１．８インチ以下の直径を有する１枚以上のプラッタを有するディスクドライブ及び／又はマイクロドライブを指す。「高電力ディスクドライブ」すなわちＨＰＤＤという用語は、１．８インチより大きい直径を有する１枚以上のプラッタを有するハードディスクドライブを指す。ＬＰＤＤは、典型的に、ＨＰＤＤより小さい記憶容量を有し、少ない電力を損失する。ＬＰＤＤはさらにＨＰＤＤより高速で回転させられる。例えば、１０，０００〜２０，０００ＲＰＭ以上の回転速度がＬＰＤＤを用いて達成される。
【００６８】
[0112]不揮発性メモリインターフェイス（ＩＦ）付きのＨＤＤという用語は、ホストの標準的な半導体メモリインターフェイスを介してホスト装置に接続可能であるハードディスクドライブを指す。例えば、半導体メモリインターフェイスはフラッシュインターフェイスである。
【００６９】
[0113]不揮発性メモリＩＦ付きのＨＤＤは、不揮発性メモリインターフェイスプロトコルを使用して不揮発性メモリインターフェイスを介してホストと通信する。ホストと不揮発性メモリインターフェイス付きのＨＤＤとによって使用される不揮発性メモリインターフェイスは、フラッシュインターフェイスを有するフラッシュメモリ、ＮＡＮＤフラッシュインターフェイスを伴うＮＡＮＤフラッシュ、又は、その他のタイプの半導体メモリインターフェイスを含む。不揮発性メモリＩＦ付きのＨＤＤは、ＬＰＤＤ及び／又はＨＰＤＤでもよい。不揮発性メモリＩＦ付きのＨＤＤは、図２７及び２８と併せてさらに後述される。フラッシュＩＦ付きのＨＤＤの動作に関係するさらなる詳細は、その全体が参照として本明細書に組み込まれた、２００５年１２月２９日に出願された、米国特許出願第１１／３２２，４４７号に見出される。後述の実施のそれぞれにおいて、ＬＰＤＤは、（ＨＰＤＤ及び／又はＬＰＤＤとして実施される）不揮発性メモリＩＦ付きのＨＤＤを使用して実施され得る。代替的に、不揮発性メモリＩＦ付きのＨＤＤは、開示されたＬＰＤＤ及び／又はＨＰＤＤに付け加えて使用されるＬＰＤＤ及び／又はＨＰＤＤでもよい。
【００７０】
[0114]本発明によるコンピュータアーキテクチャは、高電力モード中に動作する（図１Ａ及び１Ｂと併せて説明されたように）１次プロセッサ、１次グラフィックスプロセッサ、及び、１次メモリを含む。２次プロセッサ及び２次グラフィックスプロセッサは低電力モード中に動かされる。２次プロセッサ及び２次グラフィックスプロセッサは、後述されるように、コンピュータの種々のコンポーネントに接続される。１次揮発性メモリは、低電力モード中に２次プロセッサ及び２次グラフィックスプロセッサによって使用される。代替的に、ＤＲＡＭのような２次揮発性メモリ、及び／又は、内蔵ＤＲＡＭのような内蔵２次揮発性メモリが、後述されるように、使用される。
【００７１】
[0115]１次プロセッサ及び１次グラフィックスプロセッサは、高電力モードで動作するときに、比較的高い電力を消費する。１次プロセッサ及び１次グラフィックスプロセッサは、比較的大量の外部メモリを必要とするフル機能のオペレーティングシステム（ＯＳ）を実行する。１次プロセッサ及び１次グラフィックスプロセッサは、複雑な計算及び高度グラフィックスを含む高性能動作をサポートする。フル機能のＯＳは、Ｗｉｎｄｏｗｓ  ＸＰ（登録商標）のようなＷｉｎｄｏｗｓ（登録商標）ベースのＯＳ、ＬｉｎｕｘベースのＯＳ、ＭＡＣ（登録商標）ベースのＯＳなどである。フル機能のＯＳはＨＰＤＤ１５及び／又は５０に格納される。
【００７２】
[0116]２次プロセッサ及び２次グラフィックスプロセッサは、低電力モード中に（１次プロセッサ及び１次グラフィックスプロセッサより少ない）低電力を消費する。２次プロセッサ及び２次グラフィックスプロセッサは、比較的小量の外部揮発性メモリを必要とする制限付き機能のオペレーティングシステム（ＯＳ）を動かす。２次プロセッサ及び２次グラフィックスプロセッサは１次プロセッサと同じＯＳを使用することもある。例えば、フル機能のＯＳの削減版が使用される。２次プロセッサ及び２次グラフィックスプロセッサは、低性能オペレーション、低い計算速度、及び、あまり高度ではないグラフィックスをサポートする。例えば、制限付き機能のＯＳは、Ｗｉｎｄｏｗｓ  ＣＥ（登録商標）、又は、その他の適当な制限付き機能のＯＳである。制限付き機能のＯＳは、好ましくは、フラッシュメモリのような不揮発性メモリ、不揮発性メモリＩＦを伴うＨＤＤ、ＨＰＤＤ及び／又はＬＰＤＤに格納される。好ましい実施形態では、フル機能及び制限付き機能のＯＳは複雑さを低減するため共通データフォーマットを共用する。
【００７３】
[0117]１次プロセッサ及び／又は１次グラフィックスプロセッサは、好ましくは、比較的小形状を伴う製造プロセスを使用して設けられたトランジスタを含む。一実施では、これらのトランジスタは、高度ＣＭＯＳ製造プロセスを使用して実現される。１次プロセッサ及び／又は１次グラフィックスプロセッサに設けられたトランジスタは、比較的高いスタンバイリーク、比較的短いチャンネルを有し、高速用のサイズにされる。１次プロセッサ及び１次グラフィックスプロセッサは、好ましくは、主にダイナミックロジックを採用する。換言すると、１次プロセッサ及び１次グラフィックスプロセッサはシャットダウンさせられない。トランジスタは、約２０％未満、好ましくは、約１０％未満のデューティサイクルで切り換えられるが、その他のデューティサイクルが使用されることもある。
【００７４】
[0118]これに対して、２次プロセッサ及び／又は２次グラフィックスプロセッサは、好ましくは、１次プロセッサ及び／又は１次グラフィックスプロセッサのため使用されるプロセスより大形状を有する製造プロセスを用いて設けられたトランジスタを含む。一実施では、これらのトランジスタは、通常のＣＭＯＳ製造プロセスを使用して実装される。２次プロセッサ及び／又は２次グラフィックスプロセッサに設けられるトランジスタは、比較的低いスタンバイリーク、比較的長いチャンネルを有し、低電力消費のためのサイズにされる。２次プロセッサ及び２次グラフィックスプロセッサは、好ましくは、ダイナミックロジックではなく、主にスタティックロジックを採用する。トランジスタは、８０％を上回る、好ましくは、９０％を上回るデューティサイクルで切り換えられるが、その他のデューティサイクルが使用されることもある。
【００７５】
[0119]１次プロセッサ及び１次グラフィックスプロセッサは、高電力モードで動かされるときに、比較的高い電力を消費する。２次プロセッサ及び２次グラフィックスプロセッサは、低電力モードで動作するときに、少ない電力を消費する。しかし、低電力モードにおいて、コンピュータアーキテクチャは、高電力モードで動作するときより、少ない機能及び計算と、あまり複雑ではないグラフィックスとをサポートする。当業者によって理解され得るように、本発明によるコンピュータアーキテクチャを実現する多数の方式がある。したがって、当業者は、図２Ａ〜４Ｃと併せて以下に記載されたアーキテクチャが本質的に単なる典型であり、限定していないことを理解する。
【００７６】
[0120]図２Ａを参照すると、第１の例示的なコンピュータアーキテクチャ６０が示されている。１次プロセッサ６、揮発性メモリ９、及び、１次グラフィックスプロセッサ１１は、インターフェイス８と通信し、高電力モード中に複雑なデータ及びグラフィックス処理をサポートする。２次プロセッサ６２及び２次グラフィックスプロセッサ６４は、インターフェイス８と通信し、低電力モード中に複雑さの程度が低いデータ及びグラフィックス処理をサポートする。ＬＰＤＤ６６、及び／又は、フラッシュメモリ、及び／又は、不揮発性メモリＩＦ６９付きのＨＤＤのようなオプションの不揮発性メモリ６５は、インターフェイス８と通信し、低電力及び／又は高電力モード中にデータの低電力不揮発性記憶を提供する。不揮発性メモリＩＦ付きのＨＤＤは、ＬＰＤＤ及び／又はＨＰＤＤでもよい。ＨＰＤＤ１５は、高電力／容量不揮発性メモリを提供する。不揮発性メモリ６５及び／又はＨＰＤＤ１５は、低電力モード中に、制限付き機能のＯＳ、及び／又は、その他のデータ及びファイルを格納するため使用される。
【００７７】
[0121]本実施形態では、２次プロセッサ６２及び２次グラフィックスプロセッサ６４は、低電力モードで動作している間に揮発性メモリ９（又は、１次メモリ）を利用する。そのため、インターフェイス８の少なくとも一部は、１次メモリとの通信、及び／又は、低電力モード中に給電されているコンポーネント間の通信をサポートするために低電力モード中に給電される。例えば、キーボード１３、ポインティング装置１４及び１次ディスプレイ１６は、低電力モード中に給電され、使用される。図２Ａ〜４Ｃと併せて説明された実施形態のすべてにおいて、能力が制限された（白黒ディスプレイのような）２次ディスプレイ、及び／又は、２次入出力装置もまた設けられ、低電力モード中に使用される。
【００７８】
[0122]次に図２Ｂを参照すると、図２Ａのアーキテクチャと類似した第２の例示的なコンピュータアーキテクチャ７０が示されている。本実施形態では、２次プロセッサ６２及び２次グラフィックスプロセッサ６４は２次揮発性メモリ７４及び／又は７６と通信する。２次揮発性メモリ７４及び７６は、ＤＲＡＭでもよく、又は、その他の適当なメモリでもよい。低電力モード中に、２次プロセッサ６２及び２次グラフィックスプロセッサ６４は、図２Ａにおいて説明され、記載された２次揮発性メモリ７４及び／又は７６に追加して、及び／又は、代替して、それぞれ、２次揮発性メモリ７４及び／又は７６を利用する。
【００７９】
[0123]次に図２Ｃを参照すると、図２Ａと類似した第３の例示的なコンピュータアーキテクチャ８０が示されている。２次プロセッサ６２及び／又は２次グラフィックプロセッサ６４は、それぞれ、内蔵揮発性メモリ８４及び８６を含む。低電力モード中に、２次プロセッサ６２及び２次グラフィックプロセッサ６４は、１次揮発性メモリに追加して、及び／又は、代替して、それぞれ、内蔵揮発性メモリ８４及び／又は８６を利用する。一実施形態では、内蔵揮発性メモリ８４及び８６は、内蔵ＤＲＡＭ（ｅＤＲＡＭ）であるが、その他のタイプの内蔵揮発性メモリが使用され得る。
【００８０】
[0124]次に図３Ａを参照すると、本発明による第４の例示的なコンピュータアーキテクチャ１００が示されている。１次プロセッサ２５、１次グラフィックスプロセッサ２６、及び、１次揮発性メモリ２８は、プロセッシングチップセット２２と通信し、高電力モード中に複雑なデータ及びグラフィックス処理をサポートする。２次プロセッサ１０４及び２次グラフィックスプロセッサ１０８は、コンピュータが低電力モードにあるときに、複雑さの程度が低いデータ及びグラフィックス処理をサポートする。本実施形態では、２次プロセッサ１０４及び２次グラフィックスプロセッサ１０８は、低電力モードで動作している間に、１次揮発性メモリ２８を利用する。そのため、プロセッシングチップセット２２は、それらの間の通信を円滑にするため、低電力モード中に、完全に、及び／又は、部分的に給電される。ＨＰＤＤ５０は、高電力揮発性メモリを提供するために、低電力モード中に給電される。低電力不揮発性メモリ１０９（ＬＰＤＤ１１０、及び／又は、フラッシュメモリ、及び／又は、不揮発性メモリＩＦ付きのＨＤＤ１１３）は、プロセッシングチップセット２２、Ｉ／Ｏチップセット２４、又は、別のロケーションに接続され、低電力モード用の制限付き機能のオペレーティングシステムを記憶する。不揮発性メモリＩＦ付きのＨＤＤは、ＬＰＤＤ及び／又はＨＰＤＤである。
【００８１】
[0125]プロセッシングチップセット２２は、低電力モード中に、ＨＰＤＤ５０、ＬＰＤＤ１１０、及び／又は、その他のコンポーネントをサポートするため完全に、及び／又は、部分的に給電される。例えば、キーボード、及び／又は、ポインティング装置４２、及び、１次ディスプレイが低電力モード中に使用される。
【００８２】
[0126]次に図３Ｂを参照すると、図３Ａと類似した第５の例示的なコンピュータアーキテクチャ１５０が示されている。２次揮発性メモリ１５４及び１５８は、それぞれ、２次プロセッサ１０４及び２次グラフィックスプロセッサ１０８に接続される。低電力モード中に、２次プロセッサ１０４及び２次グラフィックスプロセッサ１０８は、１次揮発性メモリ２８に代替して、及び／又は、追加して、それぞれ、２次揮発性メモリ１５４及び１５８を利用する。プロセッシングチップセット２２及び１次揮発性メモリ２８は、必要に応じて、低電力モード中にシャットダウンされ得る。２次揮発性メモリ１５４及び１５８は、ＤＲＡＭでもよく、その他の適当なメモリでもよい。
【００８３】
[0127]次に図３Ｃを参照すると、図３Ａと類似した第６の例示的なコンピュータアーキテクチャ１７０が示されている。２次プロセッサ１０４及び／又は２次グラフィックスプロセッサ１０８は、それぞれ、内蔵メモリ１７４及び１７６を含む。低電力モード中に、２次プロセッサ１０４及び２次グラフィックスプロセッサ１０８は、１次揮発性メモリ２８に代替して、及び／又は、追加して、それぞれ、内蔵メモリ１７４及び１７６を利用する。一実施形態では、内蔵揮発性メモリ１７４及び１７６は内蔵ＤＲＡＭ（ｅＤＲＡＭ）であるが、その他のタイプの内蔵メモリも使用される。
【００８４】
[0128]次に図４Ａを参照すると、本発明による第７の例示的なコンピュータアーキテクチャ１９０が示されている。２次プロセッサ１０４及び２次グラフィックスプロセッサ１０８は、Ｉ／Ｏチップセット２４と通信し、低電力モード中に揮発性メモリとして１次揮発性メモリ２８を利用する。プロセッシングチップセット２２は、低電力モード中に１次揮発性メモリ２８へのアクセスを可能にするため完全及び／又は部分的に給電され続ける。
【００８５】
[0129]次に図４Ｂを参照すると、図４Ａと類似した第８の例示的なコンピュータアーキテクチャ２００が示されている。２次揮発性メモリ１５４及び１５８は、それぞれ、２次プロセッサ１０４及び２次グラフィックスプロセッサ１０８に接続され、低電力モード中に１次揮発性メモリ２８に代替して、及び／又は、追加して使用される。プロセッシングチップセット２２及び１次揮発性メモリ２８は低電力モード中にシャットダウンされ得る。
【００８６】
[0130]次に図４Ｃを参照すると、図４Ａと類似した第９の例示的なコンピュータアーキテクチャ２１０が示されている。内蔵揮発性メモリ１７４及び１７６が、１次揮発性メモリ２８に加えて、及び／又は、代替して、それぞれ、２次プロセッサ１０４及び／又は２次グラフィックスプロセッサ１０８のため設けられる。本実施形態では、プロセッシングチップセット２２及び１次揮発性メモリ２８は低電力モード中にシャットダウンされ得る。
【００８７】
[0131]次に図５を参照すると、図２Ａ〜４Ｃにおいて図示するコンピュータアーキテクチャのためのキャッシング階層２５０が示されている。ＨＰ不揮発性メモリＨＰＤＤ５０はキャッシング階層２５０の最下位レベル２５４に位置する。レベル２５４は、ＨＰＤＤ５０が使用不可状態であるならば、低電力モード中に使用される可能性があり、また使用されない可能性もあるが、ＨＰＤＤ５０が低電力モード中に使用可能状態にされるならば、使用される。ＬＰＤＤ１１０、フラッシュメモリ、及び／又は、不揮発性メモリＩＦ付きＨＤＤ１１３のようなＬＰ不揮発性メモリは、キャッシング階層２５０の次のレベル２５８に位置する。１次揮発性メモリ、２次揮発性メモリ、及び／又は、２次内蔵メモリのような外部揮発性メモリは、コンフィギュレーションに応じて、キャッシング階層２５０の次のレベル２６２である。レベル２、すなわち、２次キャッシュは、キャッシング階層２５０の次のレベル２６６を構成する。レベル１キャッシュはキャッシング階層２５０の次のレベル２６８である。ＣＰＵ（１次及び／又は２次）はキャッシング階層２５０の最後のレベル２７０である。１次グラフィックスプロセッサ及び２次グラフィックスプロセッサは同じ階層を使用する。
【００８８】
[0132]本発明によるコンピュータアーキテクチャは、複雑さの程度が低い処理及びグラフィックスをサポートする低電力モードを提供する。その結果として、コンピュータの電力消費は著しく削減され得る。ラップトップ応用では、バッテリー寿命が延長される。
【００８９】
[0133]次に図６を参照すると、マルチディスクドライブシステムのためのドライブ制御モジュール３００、又は、ホスト制御モジュールは、最低使用頻度ブロック（ＬＵＢ）モジュール３０４、アダプティブストレージモジュール３０６、及び／又は、ＬＰＤＤメンテナンスモジュール３０８を含む。ドライブ制御モジュール３００は、部分的にＬＵＢ情報に基づく、ハードディスクドライブのような高電力ディスクドライブ（ＨＰＤＤ）３１０とマイクロドライブのような低出力ディスクドライブ（ＬＰＤＤ）３１２との間のストレージ及びデータ転送を制御する。ドライブ制御モジュール３００は、高電力モード及び低電力モード中に、ＨＰＤＤとＬＰＤＤ及び／又はＨＰＤＤとの間のデータストレージとデータ転送とを管理することにより、電力消費を削減する。図６に示されているように、不揮発性メモリＩＦ付きのＨＤＤ３１７が、ＬＰＤＤとして使用され、及び／又は、ＬＰＤＤに加えて使用される。ドライブ制御モジュール３００は、ホスト不揮発性メモリＩＦ３１５及びホスト３１３を介して、不揮発性メモリＩＦ付きのＨＤＤ３１７と通信する。ドライブ制御モジュール３００は、ホスト３１３、及び／又は、ホスト不揮発性メモリＩＦ３１５と一体化されることがある。
【００９０】
[0134]最低使用頻度ブロックモジュール３０４は、ＬＰＤＤ３１２内のデータの最低使用頻度ブロックを記録する。低電力モード中、最低使用頻度ブロックモジュール３０４は、必要に応じて置き換えられるように、ＬＰＤＤ３１２における（ファイル及び／又はプログラムのようなデータの最低使用頻度ブロックを特定する。制限機能付きのオペレーティングシステムだけに関係するファイル、ＬＰＤＤ３１２に格納するため手動で設定されたブロック、及び／又は、低電力モード中に限り操作されるその他のファイル及びプログラムのようなある種のデータブロック又はファイルは、最低使用頻度ブロック監視から免除される。さらに別の規準が、後述されるように、上書きされるべきデータブロックを選択するため使用される。
【００９１】
[0135]低電力モード中に、データ格納要求の間に、アダプティブストレージモジュール３０６は、書き込みデータが最低使用頻度ブロックの前に使用される可能性がより高いかどうかを判定する。アダプティブストレージモジュール３０６は、読み取りデータが、低電力モード中にデータ取得要求の間に、１回に限り使用される可能性が高いかどうかをさらに判定する。ＬＰＤＤメンテナンスモジュール３０８は、後述されるように、高電力モード中に、及び／又は、その他の状況において、旧いデータをＬＰＤＤからＨＰＤＤへ転送する。
【００９２】
[0136]次に図７Ａを参照すると、ドライブ制御モジュール３００によって実行されるステップが示されている。制御はステップ３２０で始まる。ステップ３２４において、ドライブ制御モジュール３００は、データ格納要求があるかどうかを判定する。ステップ３２４が真であるならば、ドライブ制御モジュール３００は、ステップ３２８において、ＬＰＤＤ３１２上に利用可能な十分なスペースがあるかどうかを判定する。否定であるならば、ドライブ制御モジュール３００はステップ３３０においてＨＰＤＤ３１０を作動させる。ステップ３３４において、ドライブ制御モジュール３００は、最低使用頻度ブロックをＨＰＤＤ３１０へ転送する。ステップ３３６において、ドライブ制御モジュール３００は、ＬＰＤＤ３１２上に利用可能な十分なスペースがあるかどうかを判定する。否定であるならば、制御はステップ３３４へ戻る。そうでない場合、ドライブ制御モジュール３００はステップ３４０を続行し、ＨＰＤＤ３１０を停止させる。ステップ３４４において、（例えば、ホストから）格納されるべきデータがＬＰＤＤ３１２へ転送される。
【００９３】
[0137]ステップ３２４が偽であるならば、ドライブ制御モジュール３００はステップ３５０に進み、データ取得要求があるかどうかを判定する。否定であるならば、制御はステップ３２４へ戻る。そうでない場合、制御はステップ３５４を続行し、データがＬＰＤＤ３１２に位置するかどうかを判定する。ステップ３５４が真であるならば、ドライブ制御モジュール３００はステップ３５６においてＬＰＤＤ３１２からデータを取り出し、ステップ３２４を続行する。そうでない場合、ドライブ制御モジュール３００はステップ３６０においてＨＰＤＤ３１０を作動させる。ステップ３６４において、ドライブ制御モジュール３００は、ＬＰＤＤ３１２上に要求されたデータのための利用可能な十分なスペースがあるかどうかを判定する。否定であるならば、ドライブ制御モジュール３００は、ステップ３６６において最低使用頻度ブロックをＨＰＤＤ３１０へ転送し、ステップ３６４を続行する。ステップ３６４が真であるならば、ドライブ制御モジュール３００は、ステップ３６８において、データをＬＰＤＤ３１２へ転送し、ＬＰＤＤ３１２からデータを取り出す。ステップ３７０において、制御は、ＬＰＤＤ３１２へのデータの転送が完了したとき、ＨＰＤＤ３１０を停止させる。
【００９４】
[0138]次に図７Ｂを参照すると、図７Ａに示されたアプローチと類似した修正アプローチが使用され、アダプティブストレージモジュール３０６によって実行される１個以上の適応ステップを含む。ステップ３２８において、ＬＰＤＤ上に利用可能な十分なスペースがあるとき、制御は、ステップ３７２において、格納されるべきデータが、最低使用頻度ブロック、又は、最低使用頻度ブロックモジュールによって特定されたブロック内のデータよりも先に使用される可能性が高いかどうかを判定する。ステップ３７２が偽であるならば、ドライブ制御モジュール３００は、ステップ３７４においてデータをＨＰＤＤに格納し、制御はステップ３２４を続行する。そのようにすることによって、（複数の）最低使用頻度ブロックをＬＰＤＤへ転送するため消費される電力が節約される。ステップ３７２が真であるならば、制御は、図７Ａに関して前述されたように、ステップ３３０を続行する。
【００９５】
[0139]ステップ３５４がデータ取得要求中に偽であるとき、制御はステップ３７６を続け、データを使用されるのが１回である可能性が高いかどうかを判定する。ステップ３７６が真であるならば、ドライブ制御モジュール３００はステップ３７８においてＨＰＤＤからデータを取り出し、ステップ３２４を続行する。そのようにすることにより、データをＬＰＤＤへ転送するために消費される電力が節約される。ステップ３７６が偽であるならば、制御はステップ３６０を続行する。理解され得るように、データが１回使用される可能性が高いならば、データをＬＰＤＤへ移す必要がない。しかし、ＨＰＤＤの電力消費は避けられない。
【００９６】
[0140]次に図７Ｃを参照すると、より簡単化された形の制御がさらに低電力動作中に実行される。メンテナンスステップは（ＬＰＤＤメンテナンスモジュール３０８を使用して）高電力モード及び／又は低電力モード中にも実行される。ステップ３２８において、ＬＰＤＤ上で利用可能な十分なスペースがあるならば、データはステップ３４４においてＬＰＤＤへ転送され、制御はステップ３２４へ戻る。そうでない場合、ステップ３２８が偽であるとき、データはステップ３８０においてＨＰＤＤに格納され、制御はステップ３２４へ戻る。理解され得るように、図７Ｃに説明されているアプローチは、容量が利用できるときにＬＰＤＤを使用し、ＬＰＤＤ容量が利用できないときにＨＰＤＤを使用する。当業者は、ハイブリッド法が図７Ａ〜７Ｄのステップの種々の組み合わせを使用して採用されることを理解する。
【００９７】
[0141]図７Ｄにおいて、メンテナンスステップは、ＬＰＤＤに格納された未使用ファイル又は低使用頻度ファイルを削除するため、高電力モードへの復帰時に、及び／又は、その他の時点で、ドライブ制御モジュール３００によって実行される。このメンテナンスステップは、ディスクフルイベントのようなイベントの発生時に、及び／又は、その他の状況において、使用中に定期的に、低電力モードでも実行可能である。制御はステップ３９０で開始する。ステップ３９２において、制御は、高電力モードが使用中であるかどうかを判定する。否定であるならば、制御はステップ３９２へ戻る。ステップ３９２が真であるならば、制御は、直前のモードが低電力モードであったかどうかをステップ３９４において決定する。否定であるならば、制御はステップ３９２へ戻る。ステップ３９４が偽であるならば、制御は、ステップ３９６において、旧いファイル又は低頻度使用ファイルをＬＰＤＤからＨＰＤＤへ移動するようなメンテナンスを実行する。適応的決定が、例えば、前述の、及び、図８Ａ〜１０と併せて後述される規準を使用して、将来使用される可能性が高いファイルがどれであるかに関してさらに行われる。
【００９８】
[0142]次に図８Ａ及び８Ｂを参照すると、ストレージ制御システム４００−１、４００−２及び４００−３が示されている。図８Ａにおいて、ストレージ制御システム４００−１は、アダプティブストレージ制御モジュール４１４を伴うキャッシュ制御モジュール４１０を含む。アダプティブストレージ制御モジュール４１４は、低電力モードで使用される可能性が高いか、又は、高電力モードで使用される可能性が高いかを判定するため、ファイル及び／又はプログラムの使用状況を監視する。キャッシュ制御モジュール４１０は、１本以上のデータバス４１６と通信し、次には、データバスが、Ｌ１キャッシュ、Ｌ２キャッシュ、ＤＲＡＭのような揮発性ＲＡＭ、及び／又は、その他の揮発性電子データストレージといった揮発性メモリ４２２と通信する。バス４１６は、（フラッシュメモリ、不揮発性メモリＩＦ付きのＨＤＤ、及び／又は、ＬＰＤＤのような）低電力不揮発性メモリ４２４、及び／又は、ＨＰＤＤ４２６のような高電力不揮発性メモリ４２６とも通信する。図８Ｂにおいて、フル機能及び／又は制限付き機能のオペレーティングシステム４３０は、アダプティブストレージ制御モジュール４１４を含むことが示されている。適当なインターフェイス及び／又はコントローラ（図示せず）がデータバスとＨＰＤＤ及び／又はＬＰＤＤとの間にある。
【００９９】
[0143]図８Ｃにおいて、ホスト制御モジュール４４０はアダプティブストレージ制御モジュール４１４を含む。ホスト制御モジュール４４０はＬＰＤＤ４２６’及びハードディスクドライブ４２６’と通信する。ホスト制御モジュール４４０は、ドライブ制御モジュール、統合デバイスエレクトロニクス（ＩＤＥ）、ＡＴＡ、シリアルＡＴＡ（ＳＡＴＡ）、又は、その他のコントローラでもよい。図８Ｃにおいてわかるように、不揮発性メモリＩＦ付きのＨＤＤ４３１は、ＬＰＤＤとして使用され、及び／又は、ＬＰＤＤに加えて使用される。ホスト制御モジュール４４０は、ホスト不揮発性メモリＩＦ４２９を介して、不揮発性メモリＩＦ付きのＨＤＤ４３１と通信する。ホスト制御モジュール４４０は、ホスト不揮発性メモリＩＦ４２９と一体化されることがある。
【０１００】
[0144]次に図９を参照すると、図８Ａ〜８Ｃにおけるストレージ制御システムによって実行されるステップが示されている。図９において、制御はステップ４６０から始まる。ステップ４６２において、制御は、不揮発性メモリへのデータ格納の要求があるかどうかを判定する。否定であるならば、制御はステップ４６２へ戻る。そうでない場合、アダプティブストレージ制御モジュール４１４は、ステップ４６４において、データが低電力モードで使用される可能性が高いかどうかを判定する。ステップ４６４が偽であるならば、データはステップ４６８においてＨＰＤＤに格納される。ステップ４６４が真であるならば、データはステップ４７４において不揮発性メモリ４４４に格納される。
【０１０１】
[0145]次に図１０を参照すると、データブロックが低電力モードで使用される可能性が高いかどうかを判定する一つの方式が示されている。表４９０は、データブロック記述子フィールド４９２、低電力カウンタフィールド４９３、高電力カウンタフィールド４９４、サイズフィールド４９５、直前使用フィールド４９６、及び／又は、マニュアル優先フィールド４９７を含む。特定のプログラム又はファイルが低電力モード又は高電力モード中に使用されるとき、カウンタフィールド４９３及び／又は４９４は増加させられる。プログラム又はファイルのデータ格納が不揮発性メモリに対し要求されるとき、表４９２がアクセスされる。スレッショルドパーセンテージ及び／又はカウント値が評価のため使用される。例えば、ファイル又はプログラムが低電力モードにおいて時間の８０パーセントを超えて使用されるならば、ファイルは、フラッシュメモリ、不揮発性メモリＩＦ付きのＨＤＤ、及び／又は、マイクロドライブのような低電力不揮発性メモリに格納される。スレッショルドが満たされないならば、ファイル又はプログラムは高電力不揮発性メモリに格納される。
【０１０２】
[0146]理解され得るように、カウンタは、所定のサンプル数の後に（換言すると、ローリングウィンドウを提供するため）、及び／又は、その他の規準を使用して、周期的にリセットされる。さらに、尤度は、サイズフィールド４９５によって重み付けされ、そうでない場合、修正され、及び／又は、置き換えられる。換言すると、ファイルサイズが増加すると共に、ＬＰＤＤの容量が制限されているので、所要スレッショルドは増加させられる。
【０１０３】
[0147]使用決定の尤度のさらなる修正は、直前に使用されたファイルが直前使用フィールド４９６によって記録されたときからの時間に基づいて行われる。スレッショルド日付、及び／又は、直前使用からの時間が、尤度決定における一つの因子として使用される。表が図１０に示されているが、使用される１個以上のフィールドは、他のロケーションに格納されてもよく、及び／又は、他のデータ構造に格納されてもよい。アルゴリズム、及び／又は、２個以上のフィールドの重み付きサンプリングが使用される。
【０１０４】
[0148]マニュアル優先フィールド４９７を使用することは、ユーザ及び／又はオペレーティングシステムが使用決定の尤度をマニュアルで無効にすることを可能にさせる。例えば、マニュアル優先フィールドは、（前述のように）ＬＰＤＤにおけるデフォルトストレージにＬ状態を割り当て、ＨＰＤＤにおけるデフォルトストレージにＨ状態を割り当て、及び／又は、自動ストレージ決定にＡ状態を割り当てる。その他のマニュアル優先分類が定義される。上記の規準に加えて、ＬＰＤＤにおいて動作するコンピュータの現在の電力レベルは決定を調整するために使用される。当業者は、ファイル又はプログラムが本発明の教示の範囲に含まれる高電力モード又は低電力モードで使用される尤度を決定する他の方法があることを理解する。
【０１０５】
[0149]次に図１１Ａ及び１１Ｂを参照すると、ドライブ電力削減システム５００−１、５００−２及び５００−３（総称して５００）が示されている。ドライブ電力削減システム５００は、限定はされないが、オーディオ及び／又はビデオファイルのような大規模順次アクセスファイルのセグメントを、周期的に又はその他の基準で、低電力不揮発性メモリへバーストする。図１１Ａにおいて、ドライブ電力削減システム５００−１は、ドライブ電力削減制御モジュール５２２を伴うキャッシュ制御モジュール５２０を含む。キャッシュ制御モジュール５２０は、１本以上のデータバス５２６と通信し、次には、データバスが、Ｌ１キャッシュ、Ｌ２キャッシュ、ＤＲＡＭのような揮発性ＲＡＭ、及び／又は、その他の揮発性電子データストレージといった揮発性メモリ５３０、フラッシュメモリ、不揮発性メモリＩＦ付きのＨＤＤ、及び／又は、ＬＰＤＤといった不揮発性メモリ５３４、及び、ＨＰＤＤ５３８と通信する。図１１Ｂにおいて、ドライブ電力削減システム５００−２は、ドライブ電力削減制御モジュール５２２を伴うフル機能及び／又は制限付き機能のオペレーティングシステム５４２を含む。適当なインターフェイス及び／又はコントローラ（図示せず）がデータバスとＨＰＤＤ及び／又はＬＰＤＤとの間に位置する。
【０１０６】
[0150]図１１Ｃでは、ドライブ電力削減システム５００−３は、アダプティブストレージ制御モジュール５２２を伴うホスト制御モジュール５６０を含む。ホスト制御モジュール５６０は、１本以上のデータ５６４と通信し、次には、データバスがＬＰＤＤ５３４’及びハードディスクドライブ５３８’と通信する。ホスト制御モジュール５６０は、ドライブ制御モジュール、統合デバイスエレクトロニクス（ＩＤＥ）、ＡＴＡ、シリアルＡＴＡ（ＳＡＴＡ）、又は、その他のコントローラ若しくはインターフェイスでもよい。図１１Ｃにおいてわかるように、不揮発性メモリＩＦ付きのＨＤＤ５３１は、ＬＰＤＤとして使用され、及び／又は、ＬＰＤＤに加えて使用される。ホスト制御モジュール５６００は、ホスト不揮発性メモリＩＦ５２９を介して、不揮発性メモリＩＦ付きのＨＤＤ４３１と通信する。ホスト制御モジュール５６０は、ホスト不揮発性メモリＩＦ５２９と一体化されることがある。
【０１０７】
[0151]次に図１２を参照すると、図１１Ａ〜１１Ｃにおけるドライバ電力削減システム５００によって実行されるステップが示されている。制御はステップ５８２で始まる。ステップ５８４において、制御はシステムが低電力モードであるかどうかを判定する。否定であるならば、制御はステップ５８４へ戻る。ステップ５８６が真であるならば、制御は、ステップ５８６を続行し、制御は、ステップ５８６において、大規模データブロックアクセスがＨＰＤＤから典型的に要求されているかどうかを判定する。否定であるならば、制御はステップ５８４へ戻る。ステップ５８６が真であるならば、制御はステップ５９０を続行し、データブロックが順次アクセスされているかどうかを判定する。否定であるならば、制御は５８４へ戻る。ステップ５９０が真であるならば、制御はステップ５９４を続行し、再生長さを決定する。ステップ５９８において、制御は、高電力不揮発性メモリから低電力不揮発性メモリへのデータ転送のためのバースト期間及び周波数を決定する。
【０１０８】
[0152]一実施では、バースト期間及び周波数は電力消費を削減するために最適化される。バースト期間及び周波数は、好ましくは、ＨＰＤＤ及び／又はＬＰＤＤのスピンアップ時間と、不揮発性メモリの容量と、再生レートと、ＨＰＤＤ及び／又はＬＰＤＤのスピンアップ及び定常状態電力消費と、及び／又は、順次データブロックの再生長さとに基づいている。
【０１０９】
[0153]例えば、高電力不揮発性メモリは、動作中に１〜２Ｗを消費し、４〜１０秒のスピンアップ時間を有し、典型的に２０Ｇｂを越える容量を有するＨＰＤＤである。低電力不揮発性メモリは、動作中に０．３〜０．５Ｗを消費し、１〜３秒のスピンアップ時間を有し、１〜６Ｇｂの容量を有するマイクロドライブである。理解され得るように、前述の性能値及び／又は能力は、他の実施では変化する。ＨＰＤＤはマイクロドライブへの１Ｇｂ／ｓのデータ転送レートを有する。再生レートは（例えば、ビデオファイルに対し）１０Ｍｂ／ｓである。理解され得るように、バースト期間とＨＰＤＤの転送レートの積はマイクロドライブの能力を超えるべきではない。バースト間の期間は、スピンアップ時間にバースト期間を加えた期間を超えるべきである。これらのパラメータの範囲内で、システムの電力消費が最適化される。低電力モードでは、ＨＰＤＤが映画のようなビデオ全体を再生するため動かされるならば、かなりの量の電力が消費される。上述の方法を使用して、電力消費は、非常に高いレート（例えば、再生レートの１００倍）で、一定間隔で離された多重バーストセグメントにおいて、ＨＰＤＤからＬＰＤＤへ選択的にデータを転送することにより著しく削減され、次に、ＨＰＤＤがシャットダウンされる。５０％を超える電力節約が容易に達成される。
【０１１０】
[0154]次に図１３を参照すると、本発明によるマルチディスクドライブシステム６４０は、ドライブ制御モジュール６５０と、１台以上のＨＰＤＤ６４４と、１台以上のＬＰＤＤ６４８とを含むことが示されている。ドライブ制御モジュール６５０は、ホスト制御モジュール６５１を介してホスト装置と通信する。ホストまで、マルチディスクドライブシステム６４０は、後述されるように、複雑さを低減し、性能を高め、電力消費を削減するために、単一のディスクドライブとして、ＨＰＤＤ６４４及びＬＰＤＤ６４８を効率的に動かす。ホスト制御モジュール６５１は、ＩＤＥ、ＡＴＡ、ＳＡＴＡ、及び／又は、その他の制御モジュール又はインターフェイスでもよい。
【０１１１】
[0155]次に図１４を参照すると、一実施において、ドライブ制御モジュール６５０は、ＬＰＤＤ及び／又はＨＰＤＤの一方又は両方を制御するため使用されるハードディスクコントローラ（ＨＤＣ）６５３を含む。バッファ６５６は、データブロックサイズを最適化することによりデータ転送レートを増加させるため、ＨＰＤＤ及び／又はＬＰＤＤの制御と関連付けられたデータを格納し、ＨＰＤＤ及び／又はＬＰＤＤへの、及び／又は、ＨＰＤＤ及び／又はＬＰＤＤからのデータを積極的に一時記憶する。プロセッサ６５７は、ＨＰＤＤ及び／又はＬＰＤＤの動作に関連している処理を実行する。
【０１１２】
[0156]ＨＰＤＤ６４８は、磁界を保存する磁気コーティングを有する１枚以上のプラッタ６５２を含む。プラッタ６５２は、６５４で概略的に現されているスピンドルモータによって回転させられる。一般的に、スピンドルモータ６５４は、リード／ライト動作中に一定速度でプラッタ６５２を回転させる。１本以上のリード／ライトアーム６５８は、プラッタ６５２からデータを読み取り、プラッタ６５２にデータを書き込むため、プラッタ６５２と相対的に移動する。ＨＰＤＤ６４８はＬＰＤＤより大きなプラッタを有するので、ＨＰＤＤをスピンアップし、ＨＰＤＤを高速で維持するために、より多くの電力がスピンドルモータ６５４によって必要とされる。通常は、スピンアップ時間も同様にＨＰＤＤの方が大きい。
【０１１３】
[0157]リード／ライト装置６５９はリード／ライトアーム６５８の遠位端の近くに位置する。リード／ライト装置６５９は、磁界を発生するインダクタのような書き込み素子を含む。リード／ライト装置６５９は、プラッタ６５２上の磁界を検出する（磁気抵抗（ＭＲ）素子のような）読み取り素子をさらに含む。プリアンプ回路６６０はアナログのリード／ライト信号を増幅する。
【０１１４】
[0158]データを読み取るとき、プリアンプ回路６６０は、読み取り素子からの低レベル信号を増幅し、増幅された信号をリード／ライトチャンネル装置へ出力する。データを書き込む間に、リード／ライト装置６５９の書き込み素子の中を流れ、正又は負の極性を有する磁界を生成するために切り換えられる書き込み電流が発生される。正又は負の極性は、プラッタ６５２によって保存され、データを表現するために使用される。ＬＰＤＤ６４４は、１枚以上のプラッタ６６２、スピンドルモータ６６４、１本以上のリード／ライトアーム６６８、リード／ライト装置６６９、及び、プリアンプ回路６７０をさらに含む。
【０１１５】
[0159]ＨＤＣ６５３は、ホスト制御モジュール６５１、第１のスピンドル／ボイスコイルモータ（ＶＣＭ）ドライバ６７２、第１のリード／ライトチャンネル回路６７４、第２のスピンドル／ＶＣＭドライバ６７６、及び、第２のリード／ライトチャンネル回路６７８と通信する。ホスト制御モジュール６５１及びドライブ制御モジュール６５０はシステムオンチップ（ＳＯＣ）６８４に設けられ得る。理解され得るように、スピンドルＶＣＭドライバ６７２及び６７６、及び／又は、リード／ライトチャンネル回路６７４及び６７８は、組み合わせることができる。スピンドルＶＣＭドライバ６７２及び６７６は、プラッタ６５２及び６６２をそれぞれ回転するスピンドルモータ６５４及び６６４を制御する。スピンドル／ＶＣＭドライバ６７２及び６７６は、例えば、ボイスコイルアクチュエータ、ステッパーモータ、又は、その他の適当なアクチュエータを使用して、それぞれ、リード／ライトアーム６５８及び６６８を位置決めする制御信号をさらに発生する。
【０１１６】
[0160]次に図１５〜１７を参照すると、マルチディスクドライブシステムのその他の変形が示されている。図１５では、ドライブ制御モジュール６５０は、１台以上のＬＰＤＤ６８２に外部コネクションを提供する直接インターフェイス６８０を含む。一実施では、直接インターフェイスは、ペリフェラルコンポーネント相互接続（ＰＣＩ）バス、ＰＣＩエクスプレス（ＰＣＩＸ）バス、及び／又は、その他の適当なバス又はインターフェイスである。
【０１１７】
[0161]図１６において、ホスト制御モジュール６５１はＬＰＤＤ６４４とＨＰＤＤ６４８の両方と通信する。低電力ドライブ制御モジュール６５０ＬＰ及び高電力ディスクドライブ制御モジュール６５０ＨＰはホスト制御モジュールと直接的に通信する。ＬＰドライブ制御モジュール及び／又はＨＰドライブ制御モジュールのうちＳＯＣとして設けられ得るのは、０個、一方、又は、両方である。図１６においてわかるように、不揮発性メモリＩＦ付きのＨＤＤ６９５は、ＬＰＤＤとして、及び／又は、ＬＰＤＤに追加して使用される。ホスト制御モジュール６５１は、ホスト不揮発性メモリＩＦ６９３を介して、不揮発性メモリＩＦ付きのＨＤＤ６９５と通信する。ホスト制御モジュール６５１はホスト不揮発性メモリＩＦ６９３と一体化されることがある。
【０１１８】
[0162]図１７において、一つの例示的なＬＰＤＤ６８２は、直接インターフェイス６８０との通信をサポートするインターフェイス６９０を含むことが示されている。前述のように、インターフェイス６８０及び６９０は、ペリフェラルコンポーネント相互接続（ＰＣＩ）バス、ＰＣＩエクスプレス（ＰＣＩＸ）バス、及び／又は、その他の適当なバス又はインターフェイスである。ＬＰＤＤ６８２は、ＨＤＣ６９２、バッファ６９４、及び／又は、プロセッサ６９６を含む。ＬＰＤＤ６８２は、前述のように、スピンドル／ＶＣＭドライバ６７６、リード／ライトチャンネル回路６７８、プラッタ６６２、スピンドルモータ６６５、リード／ライトアーム６６８、読み取り素子６６９、及び、プリアンプ６７０をさらに含む。代替的に、ＨＤＣ６５３、バッファ６５６、及び、プロセッサ６５８は、組み合わされ、両方のドライブのため使用されてもよい。同様に、スピンドル／ＶＣＭドライバ及びリードチャンネル回路が場合によって組み合わされてもよい。図１３〜１７の実施形態では、ＬＰＤＤの積極的なバッファリングが性能を高めるために使用される。例えば、バッファは、ホストデータバス上の最適速度を目指してデータブロックサイズを最適化するために使用される。
【０１１９】
[0163]従来型のコンピュータシステムでは、ページングファイルは、コンピュータの揮発性メモリに収まらないプログラム及び／又はデータファイルの一部を保持するためにオペレーティングシステムによって使用されるＨＰＤＤ又はＨＰ不揮発性メモリ上の隠しファイルである。ページングファイル及び物理的なメモリ、すなわち、ＲＡＭは、コンピュータの仮想メモリを定義する。オペレーティングシステムは、必要に応じてページングファイルからメモリへデータを転送し、新しいデータのための場所をあけるために揮発性メモリからページングファイルへデータを戻す。ページングファイルはスワップファイルと呼ばれることもある。
【０１２０】
[0164]次に図１８〜２０を参照すると、本発明は、コンピュータシステムの仮想メモリを増加させるため、ＬＰＤＤ、不揮発性メモリＩＦ付きのＨＤＤ、及び／又は、フラッシュメモリのようなＬＰ不揮発性メモリを利用する。図１８において、オペレーティングシステム７００は、ユーザが仮想メモリ７０２を定義することを可能にする。動作中に、オペレーティングシステム７００は、１本以上のバス７０４を介して、仮想メモリ７０２をアドレス指定する。仮想メモリ７０２は、揮発性メモリ７０８と、フラッシュメモリ、不揮発性メモリＩＦ付きのＨＤＤ、及び／又は、ＬＰＤＤのようなＬＰ不揮発性メモリ７１０との両方を含む。
【０１２１】
[0165]次に図１９を参照すると、オペレーティングシステムは、ユーザが仮想メモリを増加させるためにＬＰ不揮発性メモリ７１０の一部又は全部をページングメモリとして割り付けることを可能にする。ステップ７２０において、制御が始まる。ステップ７２４において、オペレーティングシステムは、付加的なページングメモリが要求されているかどうかを判定する。否定であるならば、制御はステップ７２４へ戻る。そうでない場合、オペレーティングシステムは、ステップ７２８において、仮想メモリを増加させるためＬＰ不揮発性メモリの一部をページングファイルの用途に割り付ける。
【０１２２】
[0166]図２０では、オペレーティングシステムは、付加的なＬＰ不揮発性メモリをページングメモリとして利用する。制御はステップ７４０において始まる。ステップ７４４において、制御は、オペレーティングシステムがデータ書き込み動作を要求しているかどうかを判定する。真であるならば、制御はステップ７４８を続行し、揮発性メモリの容量を超えているかどうかを判定する。否定であるならば、揮発性メモリは、ステップ７５０において書き込み動作のため使用される。ステップ７４８が真であるならば、データは、ステップ７５４においてＬＰ不揮発性メモリ内のページングファイルに格納される。ステップ７４４が偽であるならば、制御はステップ７６０を続行し、データ読み取りが要求されているかどうかを判定する。偽であるならば、制御はステップ７４４へ戻る。そうでない場合、制御は、ステップ７６４において、アドレスがＲＡＭアドレスと一致するかどうかを判定する。ステップ７６４が真であるならば、制御は、ステップ７６４において揮発性メモリからデータを読み取り、ステップ７４４を続行する。ステップ７６４が偽であるならば、制御はステップ７７０においてＬＰ不揮発性メモリ内のページングファイルからデータを読み取り、制御はステップ７４４を続行する。
【０１２３】
[0167]理解され得るように、仮想メモリのサイズを増加させるためにフラッシュメモリ、不揮発性メモリＩＦ付きのＨＤＤ、及び／又は、ＬＰＤＤのようなＬＰ不揮発性メモリを使用することは、ＨＰＤＤを利用するシステムよりコンピュータの性能を高める。さらに、電力消費は、ページングファイルのためのＨＰＤＤを使用するシステムより少ない。ＨＰＤＤは、スピンアップレイテンシーがないフラッシュメモリ、及び／又は、より短いスピンアップ時間とより少ない電力消費とを有するＬＰＤＤ若しくは不揮発性メモリＩＦ付きのＬＰＤＤ  ＨＤＤよりデータアクセス時間を増加させるサイズの増加が原因となって、付加的なスピンアップ時間を必要とする。
【０１２４】
[0168]次に図２１を参照すると、独立ディスクリダンダントアレイ（ＲＡＩＤ）システム８００は、ディスクアレイ８０８と通信する１台以上のサーバ及び／又はクライアント８０４を含むことが示されている。１台以上のサーバ及び／又はクライアント８０４は、ディスクアレイコントローラ８１２及び／又はアレイ管理モジュール８１４を含む。ディスクアレイコントローラ８１２及び／又はアレイ管理モジュール８１４は、データを受け取り、ディスクアレイ８０８へのデータの論理アドレスから物理アドレスへのマッピングを実行する。ディスクアレイは典型的に複数台のＨＰＤＤ８１６を含む。
【０１２５】
[0169]複数台のＨＰＤＤ８１６は、耐障害性（冗長性）及び／又は改善されたデータアクセスレートを提供する。ＲＡＩＤシステム８００は、ディスクアレイ８０８が１台の大規模ハードディスクドライブであるかのように、複数台の個別のＨＰＤＤにアクセスする方法を提供する。集合的に、ディスクアレイ８０８は、数百Ｇｂから、数十〜数百Ｔｂのデータストレージを提供する。データは、１台のドライブが故障した場合にデータのすべてを失う危険性を軽減し、データアクセス時間を改善するために、様々な方法で複数台のＨＰＤＤ８１６に格納される。
【０１２６】
[0170]データをＨＰＤＤ８１６に格納する方法は、典型的に、ＲＡＩＤレベルで呼び出される。ＲＡＩＤレベル０、すなわち、ディスクストライピングを始めとする種々のＲＡＩＤレベルが存在する。ＲＡＩＤレベル０システムでは、データは、あるドライブがデータブロックを書き込み又は読み取り、その間に次のドライブが次のブロックをシークすることを可能にするため、複数台のドライブに亘るブロックに書き込まれる。ディスクストライピングの利点には、より高いアクセスレート及びアレイ容量の完全な利用が含まれる。不利点は耐障害性がないことである。あるドライブが故障するならば、アレイの内容全体がアクセスできなくなる。
【０１２７】
[0171]ＲＡＩＤレベル１、すなわち、ディスクミラーリングは、２回、すなわち、各ドライブに１回ずつ書き込むことによりリダンダンシィ（冗長性）を提供する。一方のドライブが故障するならば、もう一方がデータの正確な複製を収容し、ＲＡＩＤシステムは、ユーザアクセサビリティを損なうことなくミラードライブの使用に切り換える。不利点には、必要とされるドライブの台数（２Ｎ）の増加に起因する、データアクセス速度の改善の欠如と、コスト上昇とが含まれる。しかし、アレイ管理ソフトウェアは、ＨＰＤＤの一方が故障したときに、全アプリケーション要求を残っているＨＰＤＤに向けるだけなので、ＲＡＩＤレベル１は、データの最良保護を提供する。
【０１２８】
[0172]ＲＡＩＤレベル３は、誤り訂正／回復のため、パリティ専用の付加的なドライブを用いて複数のドライブに亘ってデータをストライプ化する。ＲＡＩＤレベル５は、誤り回復のためストライピングならびにパリティを提供する。ＲＡＩＤレベル５において、パリティブロックはアレイのドライブの間に分布し、ドライブ全体に亘ってよりバランスのとれたアクセス負荷を提供する。パリティ情報は、１台のドライブが故障したときに、データを回復するため使用される。不利点は、比較的遅い書き込みサイクルである（２回の読み取りと２回の書き込みが各ブロックの書き込み毎に必要とされる）。アレイ容量はＮ−１であり、最低限３台のドライブが必要とされる。
【０１２９】
[0173]ＲＡＩＤレベル０＋１は、パリティ無しのストライピングとミラーリングを含む。利点は、（ＲＡＩＤレベル０と同様の）高速データアクセスと、（ＲＡＩＤレベル１のような）単一ドライブ耐障害性である。ＲＡＩＤレベル０＋１は、依然として（ＲＡＩＤレベル１と同様の）２倍の台数のディスクを必要とする。その他のＲＡＩＤレベル、及び／又は、データをアレイ８０８に格納する方法が存在することが理解されるよう。
【０１３０】
[0174]次に図２２Ａ及び２２Ｂを参照すると、本発明によるＲＡＩＤシステム８３４−１は、Ｘ台のＨＰＤＤを含むディスクアレイ８３６と、Ｙ台のＬＰＤＤを含むディスクアレイ８３８とを含む。１台以上のクライアント及び／又はサーバ８４０は、ディスクアレイコントローラ８４２及び／又はアレイ管理モジュール８４４を含む。別々の装置８４２及び８４４が示されているが、これらの装置は必要に応じて一体化される。理解され得るように、Ｘは２以上であり、Ｙは１以上である。Ｘは、Ｙより大きくても、Ｙより小さくても、及び／又は、Ｙと等しくてもよい。例えば、図２２Ｂは、Ｘ＝Ｙ＝ＺであるＲＡＩＤシステム８３４−１’を示している。
【０１３１】
[0175]次に図２３Ａ、２３Ｂ、２４Ａ及び２４Ｂを参照すると、ＲＡＩＤシステム８３４−２及び８３４−３が示されている。図２３Ａにおいて、ＬＰＤＤディスクアレイ８３８はサーバ／クライアント８４０と通信し、ＨＰＤＤディスクアレイ８３６はＬＰＤＤディスクアレイ８３８と通信する。ＲＡＩＤシステム８３４−２は、ＬＰＤＤディスクアレイ８３８を選択的に迂回するマネージメントバイパス路を含む。理解され得るように、Ｘは２以上であり、Ｙは１以上であり、ＸはＹより大きくても、Ｙより小さくても、Ｙと等しくてもよい。例えば、図２３Ｂは、Ｘ＝Ｙ＝ＺであるＲＡＩＤシステム８３４−２’を示している。図２４Ａにおいて、ＨＰＤＤディスクアレイ８３６はサーバ／クライアント８４０と通信し、ＬＰＤＤディスクアレイ８３８はＨＰＤＤディスクアレイ８３６と通信する。ＲＡＩＤシステム８３４−２は、点線８４６によって示された、ＬＰＤＤディスクアレイ８３８を選択的に迂回するマネージメントバイパス路を含む。理解され得るように、Ｘは２以上であり、Ｙは１以上であり、ＸはＹより大きくても、Ｙより小さくても、Ｙと等しくてもよい。例えば、図２４Ｂは、Ｘ＝Ｙ＝ＺであるＲＡＩＤシステム８３４−３’を示している。採用されたストラテジは、図２３Ａ〜２４Ｂにおいてライトスルー及び／又はライトバックを含む。
【０１３２】
[0176]アレイ管理モジュール８４４及び／又はディスクコントローラ８４２は、ＨＰＤＤディスクアレイ８３６の電力消費を削減するためにＬＰＤＤディスクアレイ８３８を利用する。典型的に、図２１における従来型のＲＡＩＤシステム内のＨＰＤＤディスクアレイ８０８は、動作中のすべての時点で、所要のデータアクセス時間をサポートするようにされ続ける。理解され得るように、ＨＰＤＤディスクアレイ８０８は、比較的大量の電力を消費する。さらに、大量のデータがＨＰＤＤディスクアレイ８０８に格納されるので、ＨＰＤＤのプラッタは、典型的に、できるだけ大きくされ、リード／ライトアームが平均してより一層動くので、より高い能力のスピンドルモータを必要とし、データアクセス時間を増加させる。
【０１３３】
[0177]本発明によれば、図６〜１７と併せて説明した技術は、電力消費及びデータアクセス時間を削減するために、図２２Ｂに示されるようなＲＡＩＤシステム８３４において選択的に利用される。図２２Ａ及び２３Ａ〜２４Ｂには示されていないが、本発明によるその他のＲＡＩＤシステムもまたこれらの技術を使用する。換言すると、図６及び７Ａ〜７Ｄに記載されたＬＵＢモジュール３０４、アダプティブストレージモジュール３０６、及び／又は、ＬＰＤＤメンテナンスモジュールは、電力消費及びデータアクセス時間を削減するため、ＬＰＤＤディスクアレイ８３８にデータを選択的に格納するようにディスクアレイコントローラ８４２及び／又はアレイ管理コントローラ８４４によって選択的に設けられる。図８Ａ〜８Ｃ、９及び１０に記載されたアダプティブストレージ制御モジュール４１４もまた、電力消費及びデータアクセス時間を削減するため、ディスクアレイコントローラ８４２及び／又はアレイ管理コントローラ８４４によって選択的に設けられる。図１１Ａ〜１１Ｃ及び１２に記載されたドライブ電力削減制御モジュール５２２もまた、電力消費及びデータアクセス時間を削減するため、ディスクアレイコントローラ８４２及び／又はアレイ管理コントローラ８４４によって選択的に設けられる。さらに、図１３〜１７に示されたマルチドライブシステム及び／又は直接インターフェイスは、機能性を高め、電力消費及びデータアクセス時間を削減するため、ＨＰＤＤディスクアレイ８３６内の１台以上のＨＰＤＤで設けられる。
【０１３４】
[0178]次に図２５を参照すると、従来技術によるネットワーク接続ストレージ（ＮＡＳ）システム８５０は、ストレージ装置８５４、ストレージリクエスタ８５８、ファイルサーバ８６２、及び、通信システム８６６を含むことが示されている。ストレージ装置８５４は、典型的に、共有されるべきディスクドライブ、ＲＡＩＤシステム、テープドライブ、テープライブラリ、光ドライブ、ジュークボックス、及び、その他のストレージ装置を含む。ストレージ装置８５４は、好ましくは、オブジェクト指向デバイスであるが、必ずしもそうであるとは限らない。ストレージ装置８５４は、リクエスタ８５８によるデータ格納及び取得のためのＩ／Ｏインターフェイスを含む。リクエスタ８５８は、典型的に、ストレージ装置８５４を共有するか、及び／又は、直接的にアクセスするサーバ及び／又はクライアントを含む。
【０１３５】
[0179]ファイルサーバ８６２は、要求認証及びリソースロケーションのような管理機能及びセキュリティ機能を実行する。ストレージ装置８５４は、管理命令のためファイルサーバ８６２に依存するが、リクエスタ８５８は、ファイルサーバ８６２が責任を負う範囲で、ストレージ管理から解放される。より小型のシステムでは、専用ファイルサーバは望ましくない。このような状況では、リクエスタは、ＮＡＳシステム８５０の動作を監視する責任を負う。したがって、ファイルサーバ８６２とリクエスタ８５８の両方は、管理モジュール８７０及び８７２をそれぞれに含むように示されているが、一方、又は、もう一方、及び／又は、両方が設けられる可能性がある。通信システム８６６は、ＮＡＳシステム８５０のコンポーネントが通信するため用いる物理的な基盤設備である。通信システムは、好ましくは、ネットワークとチャンネルの両方の性質を保有し、ネットワーク内のすべてのコンポーネントを接続する能力を有し、典型的にチャンネルにおいて見られる低レイテンシーを有する。
【０１３６】
[0180]ＮＡＳシステム８５０が給電されるとき、ストレージ装置８５４は、それ自体を互いに、又は、ファイルサーバ８６２のような共通の基準点、１台以上のリクエスタ８５８、及び／又は、通信システム８６６と結びつける。通信システム８６６は、典型的に、通信システムと関連した媒体に接続することによりアクセスすることができる、このために使用されるべきネットワーク管理技術を提供する。ストレージ装置８５４及びリクエスタ８５８は媒体にログオンする。オペレーティングコンフィギュレーションを決定しようとするコンポーネントは、全部の他のコンポーネントを識別するために媒体サービスを使用可能である。ファイルサーバ８６２から、リクエスタ８５８は、アクセスすることができるストレージ装置８５４の存在を知り、一方、ストレージ装置８５４は、別の装置の場所を見つける必要、又は、バックアップのような管理サービスを呼び出す必要があるときに探すべき場所を知る。同様に、ファイルサーバ８６２は、媒体サービスからストレージ装置８５４の存在を知る。特定の設備のセキュリティに依存して、リクエスタはある機器へのアクセスが拒否される。アクセス可能なストレージ装置の組から、リクエスタはファイル、データベース、及び、利用可能な空きスペースを識別することができる。
【０１３７】
[0181]同時に、各ＮＡＳコンポーネントは、知って欲しい特殊な考慮すべき事項をファイルサーバ８６２に結びつける。装置レベルサービス属性はファイルサーバ８６２へ一旦通信され、全部の他のコンポーネントはその装置レベルサービス属性を知る。例えば、リクエスタは、スタートアップに続いて付加的なストレージの導入が通知されることを望み、これはリクエスタがファイルサーバ８６２にログオンしたときに属性セットによってトリガーされる。ファイルサーバ８６２は、新しいストレージ装置がコンフィギュレーションに追加されるときにいつでも、そのストレージ装置がＲＡＩＤ５である、ミラー化されているなどのような重要な特性の伝達を含めて、これを自動的に実行可能である。
【０１３８】
[0182]リクエスタがファイルをオープンしなければならないとき、リクエスタは、直接的にストレージ装置８５４へ行く能力を備えているか、又は、許可とロケーション情報のためファイルサーバへ行かなければならない。ファイルサーバ８５４がストレージへのアクセスを制御する程度は、設備のセキュリティ要件によって決まる。
【０１３９】
[0183]次に図２６を参照すると、本発明によるネットワーク接続ストレージ（ＮＡＳ）システム９００は、ストレージ装置９０４、リクエスタ９０８、ファイルサーバ９１２、及び、通信システム９１６を含むことが示されている。ストレージ装置９０４は、図６〜１９において既に説明されたＲＡＩＤシステム８３４、及び／又は、マルチディスクドライブシステム９３０を含む。ストレージ装置９０４は、典型的に、前述のように共有されるべきディスクドライブ、ＲＡＩＤシステム、テープドライブ、テープライブラリ、光ドライブ、ジュークボックス、及び／又は、その他のストレージ装置をさらに含む。理解され得るように、改良型ＲＡＩＤシステム及び／又はマルチディスクドライブシステム９３０を使用することは、ＮＡＳシステム９００の電力消費及びデータアクセス時間を削減する。
【０１４０】
[0184]次に図２７を参照すると、不揮発性メモリ及びディスクドライブインターフェイスコントローラを組み込むディスクドライブコントローラが示されている。換言すると、図２７のＨＤＤは、不揮発性メモリインターフェイス（以下では、不揮発性メモリインターフェイス（ＩＦ）付きのＨＤＤと呼ばれる）を有する。図２７の装置は、付加的な不揮発性ストレージを提供するため、ＨＤＤがホスト装置の既存の不揮発性メモリインターフェイス（ＩＦ）へ接続されることを可能にする。
【０１４１】
[0185]ディスクドライブコントローラ１１００は、ホスト１１０２及びディスクドライブ１１０４と通信する。不揮発性メモリＩＦ付きのＨＤＤは、ディスクドライブコントローラ１１００及びディスクドライブ１１０４を含む。ディスクドライブ１１０４は、典型的に、ＡＴＡ、ＡＴＡ−ＣＥ又はＩＤＥタイプのインターフェイスを有する。ディスクドライブコントローラ１１００にさらに結合されているのは、ディスクドライブコントローラのためのファームウェアコードを格納する補助不揮発性メモリ１１０６である。本例では、単一ブロックとして示されているホスト１１０２は、典型的に、関連したコンポーネントとして、市販されている不揮発性メモリに接続するタイプの業界標準不揮発性メモリスロット（コネクタ）を含み、このスロットが次にはホスト内の標準的な不揮発性メモリコントローラに接続される。このスロットは、典型的に、例えば、ＭＭＣ（マルチメディアカード）、ＳＤ（セキュアデータ）、ＳＤとＭＭＣの組み合わせであるＳＤ／ＭＭＣ、ＨＳ−ＭＭＣ（高速ＭＭＣ）、ＳＤとＨＳ−ＭＭＣの組み合わせであるＳＤ／ＨＳ−ＭＭＣ、及び、メモリスティックなどの標準タイプのうちの一つである。このリストには限られない。
【０１４２】
[0186]典型的なアプリケーションは、携帯用コンピュータ、又は、不揮発性メモリインターフェイスを介して内蔵不揮発性メモリと通信する１個のアプリケーションプロセッサを有するＭＰ３音楽プレーヤー、携帯電話機のような消費者電子装置である。不揮発性メモリインターフェイスは、フラッシュインターフェイス、ＮＡＮＤフラッシュインターフェイス、及び／又は、その他の適当な不揮発性半導体メモリインターフェイスを含む。本開示によれば、不揮発性半導体メモリの他に、ハードディスクドライブ、又は、その他のタイプのディスクドライブが設けられ、不揮発性半導体メモリを置き換え、そのインターフェイス信号を使用する。開示された方法は、ディスクドライブのための不揮発性メモリのようなインターフェイスを提供し、通常はフラッシュメモリしか受け入れないこのようなホストシステムにディスクドライブを組み込むことを容易にさせる。ストレージ装置としてフラッシュメモリを上回るディスクドライブの利点は、特定のコストに対するストレージ容量が非常に大きいことである。
【０１４３】
[0187]開示されたインターフェイスコントローラを使用するディスクドライブを組み込むために、ホスト不揮発性メモリコントローラのファームウェア及びソフトウェアにおける最低限の変更だけが行われる必要がある。さらに、最低限のコマンドオーバーヘッドが設けられる。有利的には、ホストとディスクドライブとの間で転送される論理ブロックの個数に関して、特定のリード又はライト動作に対して無制限のデータ転送がある。さらに、ディスクドライブのセクタカウントはホストによって与えられなくてもよい。
【０１４４】
[0188]ある種の実施形態では、ディスクドライブ１１０４は、典型的に、６５０×１５×７０ｍｍの物理的サイズを有するスモールフォームファクタ（ＳＦＦ）ハードディスクドライブである。このようなＳＳＦハードディスクドライブの典型的なデータ転送レートは、毎秒２５メガバイトである。
【０１４５】
[0189]図２７のディスクドライブコントローラ１１００の機能はさらに後述される。ディスクドライブコントローラ１１００は、ホストシステム１１０２には１４ラインのバスを伴うフラッシュメモリコントローラとして見えるインターフェイスコントローラ１１１０を含む。インターフェイスコントローラ１１１０は、ホストコマンド翻訳の機能、及び、ホスト１１０２とバッファマネージャ１１１２との間のデータフロー制御の機能をさらに実行する。バッファマネージャ回路１１１２は、メモリコントローラ１１１６を介して、インターフェイスコントローラ１１００と同じチップの一部として含まれるか、若しくは、別個のチップ上にあるＳＲＡＭ又はＤＲＡＭバッファ１１１８でもよい実際のバッファ（メモリ）を制御する。バッファマネージャは、後でさらに説明されるバッファリング機能を提供する。
【０１４６】
[0190]バッファマネージャ１１１２は、トラックフォーマット生成の機能及びプロセッサインターフェイス／サーボアンドＩＤ−レス／ディフェクトマネージャ（ＭＰＩＦ／ＳＡＩＬ／ＤＭ）回路１１２２にも接続される。ＭＰＩＦ／ＳＡＩＬ／ＤＭ回路１１２２は、次には、アドバンストハイパフォーマンスバス（ＡＨＢ）１１２６につながる。ＡＨＢバス１１２６に接続されているのは、ラインキャッシュ１１２８及びプロセッサ１１３０であり、密結合メモリ（ＴＣＭ）１１３４はプロセッサ１１３０に関連付けられる。プロセッサ１１３０は、内蔵プロセッサ又はマイクロプロセッサによって実現される。ラインキャッシュ１１２８の目的はコード実行レイテンシーを削減することである。ラインキャッシュは外部フラッシュメモリ１１０６に接続されることがある。
【０１４７】
[0191]ディスクドライブコントローラ１１００内の残りのブロックは、ディスクドライブをサポートするための機能を実行し、サーボコントローラ１１４０と、ディスクフォーマッタ及び誤り訂正回路１１４２と、ディスクドライバ１１０４内の前置増幅回路につながるリードチャンネル回路１１４４とを含む。８ライン（０−７）を伴う１４ラインパラレルバスは、双方向入出力（Ｉ／Ｏ）データを伝達する。残りのラインは、コマンドＣＬＥ、ＡＬＥ、／ＣＥ、／ＲＥ、／ＷＥ及びＲ／Ｂをそれぞれに伝達する。
【０１４８】
[0192]次に図２８を参照すると、図２７のインターフェイスコントローラがより詳細に示されている。インターフェイスコントローラ１１１０は、フラッシュコントローラ（ｆｌａｓｈ＿ｃｔｌ）ブロック１１５０と、フラッシュレジスタ（Ｆｌａｓｈ＿ｒｅｇ）ブロック１１５２と、フラッシュＦＩＦＯラッパー（ｆｌａｓｈ＿ｆｉｆｏ＿ｗｒａｐｐｅｒ）ブロック１１５４と、フラッシュシステム同期（ｆｌａｓｈ＿ｓｙｓ＿ｓｙｎ）ブロック１１５６とを含む。
【０１４９】
[0193]フラッシュレジスタブロック１１５２はレジスタアクセスのため使用される。フラッシュレジスタブロックは、プロセッサ１１３０及びホスト１１０２によってプログラムされたコマンドを格納する。フラッシュコントローラ１１５０内のフラッシュ状態機械（図示せず）は、ホスト１１０２から入来するコマンドをデコードし、ディスクドライブコントローラ１１００のための制御を行う。フラッシュＦＩＦＯラッパー１１５４は、３２×３２の双方向非同期ＦＩＦＯラッパーによって実現されるＦＩＦＯを含む。フラッシュＦＩＦＯラッパーは、データと、バッファマネージャインターフェイス（ＢＭＩＦ）を介して、データをバッファマネージャ１１１２へ転送し、バッファマネージャ１１１２から受け取るための制御信号を発生する。ＦＩＦＯの転送方向は、フラッシュレジスタ１１５２に格納されたコマンドによって制御される。フラッシュシステム同期ブロック１１５６は、インターフェイスコントローラとバッファマネージャインターフェイスとの間で制御信号を同期させる。フラッシュシステム同期ブロックは、フラッシュＦＩＦＯラッパー１１５４のためのカウンタクリアパルス（ｃｌｋ２＿ｃｌｒ）をさらに発生する。
【０１５０】
[0194]フラッシュコントローラ１１５０は、ＬＰＤＤのランダム読み取りを実施するためインターフェイス信号ラインを制御する。フラッシュコントローラ１１５０は、ＬＰＤＤのランダム書き込みを実施するためにインターフェイス信号ラインを制御する。フラッシュコントローラ１１５０は、ＬＰＤＤの順次読み取りを実施するためにインターフェイス信号ラインを制御し、ＬＰＤＤの順次書き込みを実施するためにインターフェイス信号ラインを制御する。フラッシュコントローラ１１５０は、制御モジュールとＬＰＤＤとの間でコマンドの転送を実施するためにインターフェイス信号ラインを制御する。フラッシュコントローラ１１５０は、ＬＰＤＤコマンドの組を対応するフラッシュメモリコマンドの組にマッピングする。
【０１５１】
[0195]レジスタメモリ１１５２は、プロセッサバスを介して、インターフェイスコントローラ及びＬＰＤＤプロセッサと通信する。レジスタメモリ１１５２は、ＬＰＤＤプロセッサ及び制御モジュールによってプログラムされたコマンドを記憶する。フラッシュコントローラ１１５０は、制御モジュールとＬＰＤＤとの間のデータ転送レートの差を補償するため、ＬＰＤＤからの読み取りデータをバッファメモリに格納し、メモリバッファ内にデータが存在することを示すためにデータレディ信号を制御モジュールへ送信する。
【０１５２】
[0196]フラッシュコントローラ１１５０は、制御モジュールとＬＰＤＤとの間のデータ転送レートの差を補償するために制御モジュールからの書き込みデータをバッファメモリに格納する。フラッシュコントローラ１１５０は、メモリバッファ内にデータが存在することを示すためにデータレディ信号を制御モジュールへ送信する。
【０１５３】
[0197]次に図２９を参照すると、フラッシュインターフェイス付きのマルチディスクドライブシステムの機能ブロック図が１２００で全体的に示されている。前述の説明は、フラッシュインターフェイス付きの（低電力又は高電力ディスクドライブのような）１台のディスクドライブの使用に関係していたが、複数台のディスクドライブがフラッシュインターフェイスを介して接続され得る。より詳細には、フラッシュインターフェイス付きのマルチディスクドライブシステム１２００は、ホスト１２０２のフラッシュインターフェイスと通信するホストフラッシュインターフェイス１２０６を含む。ホストフラッシュインターフェイス１２０２は前述の通り動作する。ドライブ制御モジュール１２０８は、ＨＰＤＤ１２２０とＬＰＤＤ１２２２のうちの零台、一方、又は、両方を選択的に動かす。低電力モード及び高電力モードの動作に関して前述された制御技術は、ドライブ制御モジュール１２０８によって実行される。一部の実施では、ホストフラッシュインターフェイス１２０６は、ホストの電力モードを検出し、及び／又は、ホスト１２０２の電力モードを特定する情報を受け取る。
【０１５４】
[0198]次に図３０を参照すると、図３０のマルチディスクドライブによって実行されるステップを説明するフローチャートが示されている。制御はステップ１２３０で始まる。ステップ１２３２において、制御はホストがオンであるかどうかを判定する。ステップ１２３２が真であるならば、制御は、ステップ１２３４において、ホストが高電力モードにあるかどうかを判定する。ステップ１２３４が真であるならば、制御は、ステップ１２３６において必要に応じてＬＰＤＤ１２２２及び／又はＨＰＤＤ１２２０をパワーアップする。ステップ１２３４が偽であるならば、制御は、ステップ１２３８において、ホストが低電力モードにあるかどうかを判定する。ステップ１２３８が真であるならば、制御は、ステップ１２４０において電力を節約するため必要に応じて、ＨＰＤＤをパワーダウンし、ＬＰＤＤを作動する。制御は（偽であるならば）ステップ１２３８及び１２４０からステップ１２３２を継続する。
【０１５５】
[0199]理解され得るように、前述のフラッシュインターフェイス付きのＨＤＤは、前述のフラッシュインターフェイス付きのマルチディスクドライブを使用する。さらに、ＬＰＤＤ及びＨＰＤＤ付きのシステムに関して説明された制御技術は、図２９に示されたフラッシュインターフェイス付きのマルチディスクドライブにおいて使用される。ＬＰＤＤ又はＨＰＤＤは、上記のいずれかの実施形態において、あらゆるタイプの低電力不揮発性メモリによって置き換えられる。例えば、ＬＰＤＤ又はＨＰＤＤは、フラッシュメモリのような、しかし、これに限定されない、適当な不揮発性固体メモリによって置き換えられる。同様に、上述のいずれかの実施形態において説明された低電力不揮発性メモリは、低電力ディスクドライブによって置き換えられる。フラッシュメモリは一部の実施形態において既に説明されているが、どのようなタイプの不揮発性半導体メモリでも使用され得る。
【０１５６】
[0200]次に図３１Ａ〜３１Ｃを参照すると、高電力モード及び低電力モードで動作する種々のデータプロセッシングシステムが示されている。高電力モードと低電力モードとの間で移行するとき、高電力プロセッサ及び低電力プロセッサは、一又は複数のプログラムスレッドを互いに選択的に転送する。スレッドは、様々な完了状態にある。これは、高電力モードと低電力モードとの間のシームレスな移行を可能にする。
【０１５７】
[0201]図３１Ａにおいて、プロセッシングシステム１３００は、高電力（ＨＰ）プロセッサ１３０４、低電力（ＬＰ）プロセッサ１３０８、及び、レジスタファイル１３１２を含む。高電力モードにおいて、高電力プロセッサ１３０４は、アクティブ状態にあり、スレッドを処理する。低電力プロセッサ１３０８も高電力モード中に動作してもよい。換言すると、低電力プロセッサは、高電力モードの全部又は一部の間にアクティブ状態にあり、及び／又は、非アクティブモードにある可能性がある。
【０１５８】
[0202]低電力モードでは、低電力プロセッサ１３０８はアクティブ状態で動作し、高電力プロセッサ１３０４は非アクティブ状態にある。高電力プロセッサ１３０４及び低電力プロセッサ１３０８は、それぞれ、同じ又は類似した命令セットを使用する。低電力プロセッサ及び高電力プロセッサは、同じ又は類似したアーキテクチャを有する。両方のプロセッサ１３０４及び１３０８は、低電力モードから高電力モードへ移行するとき、及び、高電力モードから低電力モードへ移行するときに、同時にアクティブ状態で一時的に動作する。
【０１５９】
[0203]高電力プロセッサ１３０４及び低電力プロセッサ１３０８は、それぞれ、トランジスタ１３０６及び１３１０を含む。高電力プロセッサ１３０４のトランジスタ１３０６は、アクティブ状態での動作中に、低電力プロセッサ１３０８のトランジスタ１３１０より多くの電力を消費する傾向がある。ある実施態様では、トランジスタ１３０６はトランジスタ１３１０より高いリーク電流を有する。トランジスタ１３１０は、トランジスタ１３０６のサイズより大きなサイズを有する。
【０１６０】
[0204]高電力プロセッサ１３０４は低電力プロセッサ１３０８より複雑である。例えば、低電力プロセッサ１３０８は、高電力プロセッサより小型の幅及び／又は奥行きを有する。換言すると、幅は並列パイプラインの本数によって定められる。高電力プロセッサ１３０４はＰＨＰ本の並列パイプライン１３４２を含み、低電力プロセッサ１３０８はＰＬＰ本の並列パイプライン１３４６を含む。ある実施態様では、ＰＬＰはＰＨＰ未満である。ＰＬＰは零以上の整数である。ＰＬＰ＝０であるとき、低電力プロセッサは並列パイプラインを含まない。奥行きはステージの段数によって定められる。高電力プロセッサ１３０４はＳＨＰ段のステージ１３４４を含み、低電力プロセッサ１３０８はＳＬＰ段のステージ１３４８を含む。ある実施態様では、ＳＬＰはＳＨＰ未満である。ＳＬＰは零以上の整数である。
【０１６１】
[0205]レジスタファイル１３１２は、高電力プロセッサ１３０４と低電力プロセッサ１３０８との間で共有される。レジスタファイル１３１２は、レジスタ、チェックポイント、及び／又は、プログラムカウンタのための所定のアドレスロケーションを使用する。例えば、高電力プロセッサ１３０４及び／又は低電力プロセッサ１３０８のそれぞれによって使用されるレジスタ、チェックポイント、及び／又は、プログラムカウンタは、レジスタファイル１３１２内の同じロケーションに格納される。したがって、高電力プロセッサ１３０４及び低電力プロセッサ１３０８は、新しいスレッドがそれぞれのプロセッサへ渡されたときに、特定のレジスタ、チェックポイント、及び／又は、プログラムカウンタの場所を見つけることが可能である。レジスタファイル１３１２を共有することは、スレッドの受け渡しを容易化する。レジスタファイル１３１２は、高電力プロセッサ１３０４及び低電力プロセッサ１３０８のそれぞれにおけるレジスタファイル（図示せず）とは別でもよい。スレッド化は、シングルスレッド化、及び／又は、マルチスレッド化を含む。
【０１６２】
[0206]制御モジュール１３１４は、高電力モードと低電力モードとの間の移行を選択的に制御するため設けられる。制御モジュール１３１４は別のモジュール又は装置からモード要求信号を受信する。制御モジュール１３１４は、スレッド、及び／又は、レジスタ、チェックポイント、及び／又は、プログラムカウンタのようなスレッド転送に関係する情報の転送を監視する。スレッドの転送が一旦完了すると、制御モジュール１３１４は、高電力プロセッサと低電力プロセッサのうちの一方を非アクティブ状態に移すことができる。
【０１６３】
[0207]高電力プロセッサ１３０４、低電力プロセッサ１３０８、レジスタファイル１３１２、及び／又は、制御モジュール１３１４は、システムオンチップ（ＳＯＣ）１３３０に設けられる。
【０１６４】
[0208]図３１Ｂでは、プロセッシングシステム１３５０は、高電力（ＨＰ）プロセッサ１３５４及び低電力（ＬＰ）プロセッサ１３５８を含む。高電力プロセッサ１３５４はレジスタファイル１３７０を含み、低電力プロセッサ１３５８はレジスタファイル１３７２を含む。
【０１６５】
[0209]高電力モードにおいて、高電力プロセッサ１３５４はアクティブ状態にあり、スレッドを処理する。低電力プロセッサ１３５８は高電力モード中にも動作する。換言すると、低電力プロセッサ１３５８は、高電力モードの全部又は一部の間にアクティブ状態にあり（スレッドを処理し）、及び／又は、非アクティブモードにある可能性がある。低電力モードでは、低電力プロセッサ１３５８はアクティブ状態で動作し、高電力プロセッサ１３５４は非アクティブ状態にある。高電力プロセッサ１３５４及び低電力プロセッサ１３５８は、それぞれ、同じ又は類似した命令セットを使用する。プロセッサ１３５４及び１３５８は、同じ又は類似したアーキテクチャを有する。両方のプロセッサ１３５４及び１３５８は、低電力モードから高電力モードへ移行するとき、及び、高電力モードから低電力モードへ移行するときに、アクティブ状態にある。
【０１６６】
[0210]高電力プロセッサ１３５４及び低電力プロセッサ１３５８は、それぞれ、トランジスタ１３５６及び１３６０を含む。トランジスタ１３５６は、アクティブ状態での動作中に、トランジスタ１３６０より多くの電力を消費する傾向がある。一部の実施では、トランジスタ１３５６はトランジスタ１３６０より高いリーク電流を有する。トランジスタ１３６０は、トランジスタ１３５６のサイズより大きなサイズを有する。
【０１６７】
[0211]高電力プロセッサ１３５４は低電力プロセッサ１３５８より複雑である。例えば、低電力プロセッサ１３５８は、図３１Ａに示されるように、高電力プロセッサより小型の幅及び／又は奥行きを有する。換言すると、低電力プロセッサ１３５８の幅は、高電力プロセッサ１３５４より少ない並列パイプラインを含む（又は、並列パイプラインを含まない）。低電力プロセッサ１３５８の奥行きは高電力プロセッサ１３５４より少ないステージを含む。
【０１６８】
[0212]レジスタファイル１３７０は、高電力プロセッサ１３５４のためのレジスタ、プログラムカウンタ、及び、チェックポイントのようなスレッド情報を格納する。レジスタファイル１３７２は、低電力プロセッサ１３５８のためのレジスタ、プログラムカウンタ、及び、チェックポイントのようなスレッド情報を格納する。スレッドの転送中に、高電力プロセッサ１３５４及び低電力プロセッサ１３５８は、それぞれ、レジスタファイル１３７０及び／又は１３７２に格納するため、転送されたスレッドに関連したレジスタ、プログラムカウンタ、及び、チェックポイントも転送する。
【０１６９】
[0213]制御モジュール１３６４は、高電力モードと低電力モードとの間の移行を制御するために設けられる。制御モジュール１３６４は別のモジュールからモード要求信号を受信する。制御モジュール１３６４は、ＨＰプロセッサ又はＬＰプロセッサと一体化されることがある。制御モジュール１３６４は、スレッド、及び／又は、レジスタ、チェックポイント、及び／又は、プログラムカウンタに関係する情報の転送を監視する。（複数の）スレッドの転送が一旦完了すると、制御モジュール１３６４は、高電力プロセッサと低電力プロセッサのうちの一方を非アクティブ状態へ移す。
【０１７０】
[0214]図３１Ｃにおいて、高電力プロセッサ１３５４、低電力プロセッサ１３５８、及び／又は、制御モジュール１３６４のうちの二つ以上がシステムオンチップ（ＳＯＣ）１３８０内に一体化される。理解され得るように、制御モジュール１３６４は別個に設けられても構わない。レジスタファイル１３７０及び１３７２は、ＨＰプロセッサ及びＬＰプロセッサの一部として示されているが、それらは別個に設けられても構わない。
【０１７１】
[0215]次に図３２Ａ〜３２Ｃを参照すると、高電力モード及び低電力モードで動作する種々のグラフィックスプロセッシングシステムが示されている。高電力モードと低電力モードとの間で移行するとき、高電力グラフィックスプロセッシングユニット及び低電力グラフィックスプロセッシングユニット（ＧＰＵ）は、一又は複数のプログラムスレッドを互いに選択的に転送する。スレッドは様々な完了状態にある。これは高電力モードと低電力モードとの間のシームレスな移行を可能にする。
【０１７２】
[0216]図３２Ａにおいて、グラフィックスプロセッシングシステム１４００は、高電力（ＨＰ）ＧＰＵ１４０４、低電力（ＬＰ）ＧＰＵ１４０８、及び、レジスタファイル１４１２を含む。高電力モードにおいて、高電力ＧＰＵ１４０４は、アクティブ状態にあり、スレッドを処理する。低電力ＧＰＵ１４０８も高電力モード中に動作してもよい。換言すると、低電力ＧＰＵは、高電力モードの全部又は一部の間にアクティブ状態にあり、及び／又は、非アクティブモードにある可能性がある。
【０１７３】
[0217]低電力モードでは、低電力ＧＰＵ１４０８はアクティブ状態で動作し、高電力ＧＰＵ１４０４は非アクティブ状態にある。高電力ＧＰＵ１４０４及び低電力ＧＰＵ１４０８は、それぞれ、同じ又は類似した命令セットを使用する。低電力ＧＰＵ及び高電力ＧＰＵは、同じ又は類似したアーキテクチャを有する。ＧＰＵ１４０４及びＧＰＵ１４０８の両方は、低電力モードから高電力モードへ移行するとき、及び、高電力モードから低電力モードへ移行するときに、同時にアクティブ状態で一時的に動作する。
【０１７４】
[0218]高電力ＧＰＵ１４０４及び低電力ＧＰＵ１４０８は、それぞれ、トランジスタ１４０６及び１４１０を含む。高電力ＧＰＵ１４０４のトランジスタ１４０６は、アクティブ状態での動作中に、低電力ＧＰＵ１４０８のトランジスタ１４１０より多くの電力を消費する傾向がある。ある実施形態では、トランジスタ１４０６はトランジスタ１４１０より高いリーク電流を有する。トランジスタ１４１０は、トランジスタ１４０６のサイズより大きなサイズを有する。
【０１７５】
[0219]高電力ＧＰＵ１４０４は低電力ＧＰＵ１４０８より複雑である。例えば、低電力ＧＰＵ１４０８は、高電力ＧＰＵより小型の幅及び／又は奥行きを有する。換言すると、幅は並列パイプラインの本数によって定められる。高電力ＧＰＵ１４０４はＰＨＰ本の並列パイプライン１４４２を含み、低電力ＧＰＵ１４０８はＰＬＰ本の並列パイプライン１４４６を含む。ある実施形態では、ＰＬＰはＰＨＰ未満である。ＰＬＰは零以上の整数である。ＰＬＰ＝０であるとき、低電力ＧＰＵは並列パイプラインを含まない。奥行きはステージの段数によって定められる。高電力ＧＰＵ１４０４はＳＨＰ段のステージ１４４４を含み、低電力ＧＰＵ１４０８はＳＬＰ段のステージ１４４８を含む。ある実施形態では、ＳＬＰはＳＨＰ未満である。ＳＬＰは零以上の整数である。
【０１７６】
[0220]レジスタファイル１４１２は、高電力ＧＰＵ１４０４と低電力ＧＰＵ１４０８との間で共有される。レジスタファイル１４１２は、レジスタ、チェックポイント、及び／又は、プログラムカウンタのための所定のアドレスロケーションを使用する。例えば、高電力ＧＰＵ１４０４及び／又は低電力ＧＰＵ１４０８のそれぞれによって使用されるレジスタ、チェックポイント、及び／又は、プログラムカウンタは、レジスタファイル１４１２内の同じロケーションに格納される。したがって、高電力ＧＰＵ１４０４及び低電力ＧＰＵ１４０８は、新しいスレッドがそれぞれのＧＰＵへ渡されたときに、特定のレジスタ、チェックポイント、及び／又は、プログラムカウンタの場所を見つけることが可能である。レジスタファイル１４１２を共有することは、スレッドの受け渡しを容易化する。レジスタファイル１４１２は、高電力ＧＰＵ１４０４及び低電力ＧＰＵ１４０８のそれぞれにおけるレジスタファイル（図示せず）とは別でもよい。スレッド化は、シングルスレッド化、及び／又は、マルチスレッド化を含む。
【０１７７】
[0221]制御モジュール１４１４は、高電力モードと低電力モードとの間の移行を選択的に制御するため設けられる。制御モジュール１４１４は別のモジュール又は装置からモード要求信号を受信する。制御モジュール１４１４は、スレッド、及び／又は、レジスタ、チェックポイント、及び／又は、プログラムカウンタのようなスレッド転送に関係する情報の転送を監視する。スレッドの転送が一旦完了すると、制御モジュール１４１４は、高電力ＧＰＵと低電力ＧＰＵのうちの一方を非アクティブ状態に移すことができる。
【０１７８】
[0222]高電力ＧＰＵ１４０４、低電力ＧＰＵ１４０８、レジスタファイル１４１２、及び／又は、制御モジュール１４１４は、システムオンチップ（ＳＯＣ）１４３０として実現される。
【０１７９】
[0223]図３２Ｂでは、プロセッシングシステム１４５０は、高電力（ＨＰ）ＧＰＵ１４５４及び低電力（ＬＰ）ＧＰＵ１４５８を含む。高電力ＧＰＵ１４５４はレジスタファイル１４７０を含み、低電力ＧＰＵ１４５８はレジスタファイル１４７２を含む。
【０１８０】
[0224]高電力モードにおいて、高電力ＧＰＵ１４５４はアクティブ状態にあり、スレッドを処理する。低電力ＧＰＵ１４５８は高電力モード中にも動作することができる。換言すると、低電力ＧＰＵ１４５８は、高電力モードの全部又は一部の間にアクティブ状態にあり（スレッドを処理し）、及び／又は、非アクティブモードにある可能性がある。低電力モードでは、低電力ＧＰＵ１４５８はアクティブ状態で動作し、高電力ＧＰＵ１４５４は非アクティブ状態にある。高電力ＧＰＵ１４５４及び低電力ＧＰＵ１４５８は、それぞれ、同じ又は類似した命令セットを使用する。ＧＰＵ１４５４及び１４５８は、同じ又は類似したアーキテクチャを有する。両方のＧＰＵ１４５４及び１４５８は、低電力モードから高電力モードへ移行するとき、及び、高電力モードから低電力モードへ移行するときに、アクティブ状態にある。
【０１８１】
[0225]高電力ＧＰＵ１４５４及び低電力ＧＰＵ１４５８は、それぞれ、トランジスタ１４５６及び１４６０を含む。トランジスタ１４５６は、アクティブ状態での動作中に、トランジスタ１４６０より多くの電力を消費する傾向がある。ある実施形態では、トランジスタ１４５６はトランジスタ１４６０より高いリーク電流を有する。トランジスタ１４６０は、トランジスタ１４５６のサイズより大きなサイズを有する。
【０１８２】
[0226]高電力ＧＰＵ１４５４は低電力ＧＰＵ１４５８より複雑である。例えば、低電力ＧＰＵ１４５８は、図３２Ａに示されるように、高電力ＧＰＵより小型の幅及び／又は奥行きを有する。換言すると、低電力ＧＰＵ１４５８の幅は、高電力ＧＰＵ１４５４より少ない並列パイプラインを含む。低電力ＧＰＵ１４５８の奥行きは高電力ＧＰＵ１４５４より少ないステージを含む。
【０１８３】
[0227]レジスタファイル１４７０は、高電力ＧＰＵ１４５４のためのレジスタ、プログラムカウンタ、及び、チェックポイントのようなスレッド情報を格納する。レジスタファイル１４７２は、低電力ＧＰＵ１４５８のためのレジスタ、プログラムカウンタ、及び、チェックポイントのようなスレッド情報を格納する。スレッドの転送中に、高電力ＧＰＵ１４５４及び低電力ＧＰＵ１４５８は、それぞれ、レジスタファイル１４７０及び／又は１４７２に格納するため、転送されたスレッドに関連したレジスタ、プログラムカウンタ、及び、チェックポイントも転送することができる。
【０１８４】
[0228]制御モジュール１４６４は、高電力モードと低電力モードとの間の移行を制御するために設けられる。制御モジュール１４６４は別のモジュールからモード要求信号を受信する。制御モジュール１４６４は、スレッド、及び／又は、レジスタ、チェックポイント、及び／又は、プログラムカウンタに関係する情報の転送を監視する。（複数の）スレッドの転送が一旦完了すると、制御モジュール１４６４は、高電力ＧＰＵと低電力ＧＰＵのうちの一方を非アクティブ状態へ移すことができる。
【０１８５】
[0229]図３２Ｃにおいて、高電力ＧＰＵ１４５４、低電力ＧＰＵ１４５８、及び／又は、制御モジュール１４６４のうちの二つ以上がシステムオンチップ（ＳＯＣ）１４８０内に一体化される。理解され得るように、制御モジュール１４６４は別個に設けられても構わない。
【０１８６】
[0230]次に図３３を参照すると、図３１Ａ〜３２Ｃのデータプロセッシングシステム及びグラフィックスプロセッシングシステムを動かす例示的な方法を説明するフローチャートが示されている。動作はステップ１５００において始まる。ステップ１５０４において、制御は、装置が高電力モードで動作中であるかどうかを判定する。ステップ１５０８において、制御は、低電力モードへの移行が要求されているかどうかを判定する。ステップ１５０８が真であるならば、制御は、ステップ１５１２において、データスレッド又はグラフィックススレッドを低電力プロセッサ又は低電力ＧＰＵへ転送する。ステップ１５１６において、制御は、必要に応じて、レジスタ、チェックポイント、及び／又は、プログラムカウンタのような情報を低電力プロセッサ又は低電力ＧＰＵへ転送する。このステップは、共通メモリが使用されるときには省略できる。ステップ１５２０において、制御は、スレッド及び／又はその他の情報が低電力プロセッサ又はＧＰＵへ適切に転送されたかどうかを判定する。ステップ１５２０が真であるならば、制御は高電力プロセッサ又はＧＰＵを非アクティブ状態へ移す。
【０１８７】
[0231]ステップ１５０４が偽であるならば、制御は、装置が低電力モードで動作中であるかどうかを判定する。ステップ１５２０が真であるならば、制御は、高電力モードへの移行が要求されているかどうかを判定する。ステップ１５３２が真であるならば、制御は、ステップ１５３６において、データスレッド又はグラフィックススレッドを高電力プロセッサ又は高電力ＧＰＵへ転送する。ステップ１５４０において、制御は、レジスタ、チェックポイント、及び／又は、プログラムカウンタのような情報を高電力プロセッサ又は高電力ＧＰＵへ転送する。このステップは、共通メモリが使用されるときには省略できる。ステップ１５４４において、制御は、スレッド及び／又はその他の情報が高電力プロセッサ又はＧＰＵへ適切に転送されたかどうかを判定する。ステップ１５４４が真であるとき、制御は低電力プロセッサ又はＧＰＵを非アクティブ状態へ移し、制御はステップ１５０４へ戻る。
【０１８８】
[0232]次に図３４Ａ〜３４Ｇを参照すると、本明細書の教示を組み込む種々の例示的な実施が示されている。
【０１８９】
[0233]次に図３４Ａを参照すると、本開示の教示は、ハードディスクドライブ（ＨＤＤ）１６００の制御システムにおいて実現される。ＨＤＤ１６００は、ハードディスクアセンブリ（ＨＤＡ）１６０１及びＨＤＤ  ＰＣＢ１６０２を含む。ＨＤＡ１６０１は、データを格納する１枚以上のプラッタのような磁気媒体１６０３と、リード／ライト装置１６０４とを含む。リード／ライト装置１６０４は、アクチュエータアーム１６０５上に配置され、磁気媒体１６０３上でデータを読み取り、データを書き込む。付加的に、ＨＤＡ１６０１は、磁気媒体１６０３を回転させるスピンドルモータ１６０６と、アクチュエータアーム１６０５を作動させるボイスコイルモータ（ＶＣＭ）１６０７とを含む。前置増幅器装置１６０８は、読み取り動作中にリード／ライト装置１６０４によって発生された信号を増幅し、書き込み動作中に信号をリード／ライト装置１６０４へ供給する。
【０１９０】
[0234]ＨＤＤ  ＰＣＢ１６０２は、リード／ライトチャンネルモジュール（以下では、「リードチャンネル」）１６０９と、ハードディスクコントローラ（ＨＤＣ）モジュール１６１０と、バッファ１６１１と、不揮発性メモリ１６１２と、プロセッサ１６１３と、スピンドル／ＶＣＭドライバモジュール１６１４とを含む。リードチャンネル１６０９は、前置増幅器装置１６０８から受信されたデータ、及び、前置増幅器装置１６０８へ送信されたデータを処理する。ＨＤＣモジュール１６１０は、ＨＤＡ１６０１のコンポーネントを制御し、Ｉ／Ｏインターフェイス１６１５を介して外部装置（図示せず）と通信する。外部装置には、コンピュータ、マルチメディア装置、モバイルコンピューティング装置などが含まれる。Ｉ／Ｏインターフェイス１６１５は、有線及び／又は無線通信リンクを含む。
【０１９１】
[0235]ＨＤＣモジュール１６１０は、ＨＤＡ１６０１、リードチャンネル１６０９、バッファ１６１１、不揮発性メモリ１６１２、プロセッサ１６１３、スピンドル／ＶＣＭドライバモジュール１６１４、及び／又は、Ｉ／Ｏインターフェイス１６１５からデータを受信する。プロセッサ１６１３は、符号化、復号化、フィルタリング、及び／又は、フォーマッティングを始めとして、データを処理する。処理されたデータは、ＨＤＡ１６０１、リードチャンネル１６０９、バッファ１６１１、不揮発性メモリ１６１２、プロセッサ１６１３、スピンドル／ＶＣＭドライバモジュール１６１４、及び／又は、Ｉ／Ｏインターフェイス１６１５へ出力される。
【０１９２】
[0236]ＨＤＣモジュール１６１０は、ＨＤＤ１６００の制御及び動作に関係したデータを格納するため、バッファ１６１１及び／又は不揮発性メモリ１６１２を使用する。バッファ１６１１は、ＤＲＡＭ、ＳＤＲＡＭなどを含む。不揮発性メモリ１６１２は、（ＮＡＮＤ及びＮＯＲフラッシュメモリを始めとする）フラッシュメモリ、相変化メモリ、磁気ＲＡＭ、又は、各メモリセルが３個以上の状態を有するマルチステートメモリを含む。スピンドル／ＶＣＭドライバモジュール１６１４は、スピンドルモータ１６０６及びＶＣＭ１６０７を制御する。ＨＤＤ  ＰＣＢ１６０２は、電力をＨＤＤ１６００のコンポーネントに供給する電源１６１６を含む。
【０１９３】
[0237]次に図３４Ｂを参照すると、本開示の教示は、ＤＶＤドライブ１６１８又はＣＤドライブ（図示せず）の制御システムにおいて実現される。ＤＶＤドライブ１６１８は、ＤＶＤ  ＰＣＢ１６１９と、ＤＶＤアセンブリ（ＤＶＤＡ）１６２０とを含む。ＤＶＤ  ＰＣＢ１６１９は、ＤＶＤ制御モジュール１６２１、バッファ１６２２、不揮発性メモリ１６２３、プロセッサ１６２４、スピンドル／ＦＭ（フィードモータ）ドライバモジュール１６２５、アナログフロントエンドモジュール１６２６、書き込みストラテジモジュール１６２７、及び、ＤＳＰモジュール１６２８を含む。
【０１９４】
[0238]ＤＶＤ制御モジュール１６２１は、ＤＶＤＡ１６２０のコンポーネントを制御し、Ｉ／Ｏインターフェイス１６２９を介して外部装置（図示せず）と通信する。外部装置には、コンピュータ、マルチメディア装置、モバイルコンピューティング装置などが含まれる。Ｉ／Ｏインターフェイス１６２９は、有線及び／又は無線通信リンクを含む。
【０１９５】
[0239]ＤＶＤ制御モジュール１６２１は、バッファ１６２２、不揮発性メモリ１６２３、プロセッサ１６２４、スピンドル／ＦＭドライバモジュール１６２５、アナログフロントエンドモジュール１６２６、書き込みストラテジモジュール１６２７、ＤＳＰモジュール１６２８、及び／又は、Ｉ／Ｏインターフェイス１６２９からデータを受信する。プロセッサ１６２４は、符号化、復号化、フィルタリング、及び／又は、フォーマッティングを始めとして、データを処理する。ＤＳＰモジュール１６２８は、ビデオ及び／又はオーディオの符号化／復号化のような信号処理を実行する。処理されたデータは、バッファ１６２２、不揮発性メモリ１６２３、プロセッサ１６２４、スピンドル／ＦＭドライバモジュール１６２５、アナログフロントエンドモジュール１６２６、書き込みストラテジモジュール１６２７、ＤＳＰモジュール１６２８、及び／又は、Ｉ／Ｏインターフェイス１６２９へ出力される。
【０１９６】
[0240]ＤＶＤ制御モジュール１６２１は、ＤＶＤドライブ１６１８の制御及び動作に関係したデータを格納するため、バッファ１６２２及び／又は不揮発性メモリ１６２３を使用する。バッファ１６２２は、ＤＲＡＭ、ＳＤＲＡＭなどを含む。不揮発性メモリ１６２３は、（ＮＡＮＤ及びＮＯＲフラッシュメモリを始めとする）フラッシュメモリ、相変化メモリ、磁気ＲＡＭ、又は、各メモリセルが３個以上の状態を有するマルチステートメモリを含む。ＤＶＤ  ＰＣＢ１６１９は、電力をＤＶＤドライブ１６１８のコンポーネントに供給する電源１６３０を含む。
【０１９７】
[0241]ＤＶＤＡ１６２０は、前置増幅器装置１６３１、レーザードライバ１６３２、及び、光リード／ライト（ＯＲＷ）装置又は光リードオンリー（ＯＲ）装置でもよい光デバイス１６３３を含む。スピンドルモータ１６３４は、光学記憶媒体１６３５を回転させ、フィードモータ１６３６は光学記憶媒体１６３５と相対的に光デバイス１６３３を作動させる。
【０１９８】
[0242]光学記憶媒体１６３５からデータを読み取るとき、レーザードライバは、読み取り電力を光デバイス１６３３に供給する。光デバイス１６３３は、光学記憶媒体１６３５からデータを検出し、データを前置増幅器装置１６３１へ送信する。アナログフロントエンドモジュール１６２６は、前置増幅器装置１６３１からデータを受信し、フィルタリング及びＡ／Ｄ変換のような機能を実行する。光学記憶媒体１６３５へ書き込むため、書き込みストラテジモジュール１６２７は、電力レベル及びタイミング情報をレーザードライバ１６３２へ送信する。レーザードライバ１６３２は、データを光学記憶媒体１６３５へ書き込むために光デバイス１６３３を制御する。
【０１９９】
[0243]次に図３４Ｃを参照すると、本開示の教示は、高品位テレビジョン（ＨＤＴＶ）１６３７の制御システムにおいて実現される。ＨＤＴＶ１６３７は、ＨＤＴＶ制御モジュール１６３８と、ディスプレイ１６３９と、電源１６４０と、メモリ１６４１と、ストレージ装置１６４２と、ＷＬＡＮインターフェイス１６４３及び付属するアンテナ１６４４と、外部インターフェイス１６４５とを含む。
【０２００】
[0244]ＨＤＴＶ１６３７は、ＷＬＡＮインターフェイス１６４３、及び／又は、ケーブル、ブロードバンドインターネット、及び／又は、衛星を介して情報を送受信する外部インターフェイス１６４５から入力信号を受信する。ＨＤＴＶ制御モジュール１６３８は、符号化、復号化、フィルタリング、及び／又は、フォーマッティングを始めとして、入力信号を処理し、出力信号を発生する。出力信号は、ディスプレイ１６３９、メモリ１６４１、ストレージ装置１６４２、ＷＬＡＮインターフェイス１６４３、及び、外部インターフェイス１６４５のうちの一つ以上に通信される。
【０２０１】
[0245]メモリ１６４１は、ランダムアクセスメモリ（ＲＡＭ）、及び／又は、フラッシュメモリ、相変化メモリ、又は、各メモリセルが３個以上の状態を有するマルチステートメモリのような不揮発性メモリを含む。ストレージ装置１６４２は、ＤＶＤドライブのような光学記憶装置、及び／又は、ハードディスクドライブ（ＨＤＤ）を含む。ＨＤＴＶ制御モジュール１６３８は、ＷＬＡＮインターフェイス１６４３及び／又は外部インターフェイス１６４５を介して外部と通信する。電源１６４０は電力をＨＤＴＶ１６３７のコンポーネントに供給する。
【０２０２】
[0246]次に図３４Ｄを参照すると、本開示の教示は車両１６４６の制御システムにおいて実現される。車両１６４６は、車両制御システム１６４７と、電源１６４８と、メモリ１６４９と、ストレージ装置１６５０と、ＷＬＡＮインターフェイス１６５２及び付属するアンテナ１６５３とを含む。車両制御システム１６４７は、パワートレイン制御システム、ボディ制御システム、エンターテインメント制御システム、アンチロックブレーキングシステム（ＡＢＳ）、ナビゲーションシステム、テレマティックスシステム、車線離脱システム、適応クルーズ制御システムなどを含む。
【０２０３】
[0247]車両制御システム１６４７は、１台以上のセンサ１６５４と通信し、１個以上の出力信号１６５６を発生する。センサ１６５４は、温度センサ、加速センサ、圧力センサ、回転センサ、流量センサなどを含む。出力信号１６５６は、エンジン作動パラメータ、トランスミッション作動パラメータ、サスペンション作動パラメータなどを制御する。
【０２０４】
[0248]電源１６４８は、車両１６４６のコンポーネントに電力を供給する。車両制御システム１６４７は、データをメモリ１６４９及び／又はストレージ装置１６５０に格納する。メモリ１６４９は、ランダムアクセスメモリ（ＲＡＭ）、及び／又は、フラッシュメモリ、相変化メモリ、又は、各メモリセルが３個以上の状態を有するマルチステートメモリのような不揮発性メモリを含む。ストレージ装置１６５０は、ＤＶＤドライブのような光学記憶装置、及び／又は、ハードディスクドライブ（ＨＤＤ）を含む。車両制御システム１６４７は、ＷＬＡＮインターフェイス１６５２を使用して外部と通信する。
【０２０５】
[0249]次に図３４Ｅを参照すると、本開示の教示は携帯電話機１６５８の制御システムにおいて実現される。携帯電話機１６５８は、電話制御モジュール１６６０、電源１６６２、メモリ１６６４、ストレージ装置１６６６、及び、セルラネットワークインターフェイス１６６７を含む。携帯電話機１６５８は、ＷＬＡＮインターフェイス１６６８及び付属するアンテナ１６６９と、マイクロホン１６７０と、スピーカー及び／又は出力ジャックのようなオーディオ出力１６７２と、ディスプレイ１６７４と、キーパッド及び／又はポインティング装置のようなユーザ入力装置１６７６とを含む。
【０２０６】
[0250]電話制御モジュール１６６０は、セルラネットワークインターフェイス１６６７、ＷＬＡＮインターフェイス１６６８、マイクロホン１６７０、及び／又は、ユーザ入力装置１６７６から入力信号を受信する。電話制御モジュール１６６０は、符号化、復号化、フィルタリング、及び／又は、フォーマッティングを始めとして、信号を処理し、出力信号を発生する。出力信号は、メモリ１６６４、ストレージ装置１６６６、セルラネットワークインターフェイス１６６７、ＷＬＡＮインターフェイス１６６８、及び、オーディオ出力１６７２のうちの一つ以上に通信される。
【０２０７】
[0251]メモリ１６６４は、ランダムアクセスメモリ（ＲＡＭ）、及び／又は、フラッシュメモリ、相変化メモリ、又は、各メモリセルが３個以上の状態を有するマルチステートメモリのような不揮発性メモリを含む。ストレージ装置１６６６は、ＤＶＤドライブのような光学記憶装置、及び／又は、ハードディスクドライブ（ＨＤＤ）を含む。電源１６６２は、携帯電話機１６５８のコンポーネントに電力を供給する。
【０２０８】
[0252]次に図３４Ｆを参照すると、本開示の教示はセットトップボックス１６７８の制御システムにおいて実現される。セットトップボックス１６７８は、セットトップ制御モジュール１６８０と、ディスプレイ１６８１と、電源１６８２と、メモリ１６８３と、ストレージ装置１６８４と、ＷＬＡＮインターフェイス１６８５及び付属するアンテナ１６８６とを含む。
【０２０９】
[0253]セットトップ制御モジュール１６８０は、ＷＬＡＮインターフェイス１６８５と、ケーブル、ブロードバンドインターネット、及び／又は、衛星を介して情報を送受信することができる外部インターフェイス１６８７とから入力信号を受信する。セットトップ制御モジュール１６８０は、符号化、復号化、フィルタリング、及び／又は、フォーマッティングを始めとして、信号を処理し、出力信号を発生する。出力信号は、標準フォーマット及び／又は高品位フォーマットのオーディオ信号及び／又はビデオ信号を含む。出力信号は、ＷＬＡＮインターフェイス１６８５、及び／又は、ディスプレイ１６８１へ通信される。ディスプレイ１６８１は、テレビジョン、プロジェクタ、及び／又は、モニタを含む。
【０２１０】
[0254]電源１６８２はセットトップボックス１６７８のコンポーネントに電力を供給する。メモリ１６８３は、ランダムアクセスメモリ（ＲＡＭ）、及び／又は、フラッシュメモリ、相変化メモリ、又は、各メモリセルが３個以上の状態を有するマルチステートメモリのような不揮発性メモリを含む。ストレージ装置１６８４は、ＤＶＤドライブのような光学記憶装置、及び／又は、ハードディスクドライブ（ＨＤＤ）を含む。
【０２１１】
[0255]次に図３４Ｇを参照すると、本開示の教示はメディアプレーヤー１６８９の制御システムにおいて実現される。メディアプレーヤー１６８９は、メディアプレーヤー制御モジュール１６９０と、電源１６９１と、メモリ１６９２と、ストレージ装置１６９３と、ＷＬＡＮインターフェイス１６９４及び付属するアンテナ１６９５と、外部インターフェイス１６９９とを含む。
【０２１２】
[0256]メディアプレーヤー制御モジュール１６９０は、ＷＬＡＮインターフェイス１６９４、及び／又は、外部インターフェイス１６９９から入力信号を受信する。外部インターフェイス１６９９は、ＵＳＢ、赤外線、及び／又は、イーサネットを含む。入力信号は、圧縮オーディオ及び／又はビデオを含み、ＭＰ３フォーマットに準拠する。付加的に、メディアプレーヤー制御モジュール１６９０は、キーパッド、タッチパッド、又は、個別のボタンのようなユーザ入力１６９６から入力を受信する。メディアプレーヤー制御モジュール１６９０は、符号化、復号化、フィルタリング、及び／又は、フォーマッティングを始めとして、信号を処理し、出力信号を発生する。
【０２１３】
[0257]メディアプレーヤー制御モジュール１６９０は、オーディオ信号をオーディオ出力１６９７へ出力し、ビデオ信号をディスプレイ１６９８へ出力する。オーディオ出力１６９７は、スピーカー及び／又は出力ジャックを含む。ディスプレイ１６９８は、メニュー、アイコンなどを含むグラフィカルユーザインターフェイスを提示する。電源１６９１は、メディアプレーヤー１６８９のコンポーネントに電力を供給する。メモリ１６９２は、ランダムアクセスメモリ（ＲＡＭ）、及び／又は、フラッシュメモリ、相変化メモリ、又は、各メモリセルが３個以上の状態を有するマルチステートメモリのような不揮発性メモリを含む。ストレージ装置１６９３は、ＤＶＤドライブのような光学記憶装置、及び／又は、ハードディスクドライブ（ＨＤＤ）を含む。
【０２１４】
[0258]当業者はここで上記の説明から本発明の幅広い教示が種々の形式で実施されることを理解できる。したがって、本発明は発明の特定の実施例に関連して説明されたが、その他の変形が図面、明細書及び特許請求の範囲を検討して当業者に明白であるので、発明の真の範囲は特定の実施例のように限定されるべきではない。
【図面の簡単な説明】
【０２１５】
【図１Ａ】従来技術による例示的なコンピュータアーキテクチャを説明する図である。
【図１Ｂ】従来技術による例示的なコンピュータアーキテクチャを説明する図である。
【図２Ａ】高電力モードで動作する１次プロセッサ、１次グラフィックスプロセッサ、及び、１次揮発性メモリと、１次プロセッサと通信し、低電力モードで動作し、低電力モード中に１次揮発性メモリを利用する２次プロセッサ及び２次グラフィックスプロセッサとを伴う本発明による第１の例示的なコンピュータアーキテクチャを説明する図である。
【図２Ｂ】図２Ａと類似し、２次プロセッサ及び／又は２次グラフィックスプロセッサに接続された２次揮発性メモリを含む、本発明による第２の例示的なコンピュータアーキテクチャを説明する図である。
【図２Ｃ】図２Ａと類似し、２次プロセッサ及び／又は２次グラフィックスプロセッサと関連した内蔵揮発性メモリを含む、本発明による第３の例示的なコンピュータアーキテクチャを説明する図である。
【図３Ａ】高電力モードで動作する１次プロセッサ、１次グラフィックスプロセッサ、及び、１次揮発性メモリと、プロセッシングチップセットと通信し、低電力モードで動作し、低電力モード中に１次揮発性メモリを利用する２次プロセッサ及び２次グラフィックスプロセッサとを伴うコンピュータのための本発明による第４の例示的なアーキテクチャを説明する図である。
【図３Ｂ】図３Ａと類似し、２次プロセッサ及び／又は２次グラフィックスプロセッサに接続された２次揮発性メモリを含む、本発明による第５の例示的なコンピュータアーキテクチャを説明する図である。
【図３Ｃ】図３Ａと類似し、２次プロセッサ及び／又は２次グラフィックスプロセッサと関連した内蔵揮発性メモリを含む、本発明による第６の例示的なコンピュータアーキテクチャを説明する図である。
【図４Ａ】Ｉ／Ｏチップと通信し、低電力モードで動作し、低電力モード中に１次揮発性メモリを利用する２次プロセッサ及び２次グラフィックスプロセッサを伴うコンピュータのための本発明による第７の例示的なアーキテクチャを説明する図である。
【図４Ｂ】図４Ａと類似し、２次プロセッサ及び／又は２次グラフィックスプロセッサに接続された２次揮発性メモリを含む、本発明による第８の例示的なコンピュータアーキテクチャを説明する図である。
【図４Ｃ】図４Ａと類似し、２次プロセッサ及び／又は２次グラフィックスプロセッサと関連した内蔵揮発性メモリを含む、本発明による第９の例示的なコンピュータアーキテクチャを説明する図である。
【図５】図２Ａ〜４Ｃのコンピュータアーキテクチャのための本発明によるキャッシング階層を説明する図である。
【図６】最低使用頻度ブロック（ＬＵＢ）モジュールを含み、データの蓄積及び低電力ディスクドライブ（ＬＰＤＤ）と高電力ディスクドライブ（ＨＰＤＤ）との間の転送を管理するドライブ制御モジュールの機能ブロック図である。
【図７Ａ】図６のドライブ制御モジュールによって実行されるステップを説明するフローチャートである。
【図７Ｂ】図６のドライブ制御モジュールによって実行される代替的なステップを説明するフローチャートである。
【図７Ｃ】図６のドライブ制御モジュールによって実行される代替的なステップを説明するフローチャートである。
【図７Ｄ】図６のドライブ制御モジュールによって実行される代替的なステップを説明するフローチャートである。
【図８Ａ】アダプティブストレージ制御モジュールを含み、データの蓄積及びＬＰＤＤとＨＰＤＤとの間の転送を制御するキャッシュ制御モジュールを説明する図である。
【図８Ｂ】アダプティブストレージ制御モジュールを含み、データの蓄積及びＬＰＤＤとＨＰＤＤとの間の転送を制御するオペレーティングシステムを説明する図である。
【図８Ｃ】アダプティブストレージ制御モジュールを含み、データの蓄積及びＬＰＤＤとＨＰＤＤとの間の転送を制御するホスト制御モジュールを説明する図である。
【図９】図８Ａ〜８Ｃのアダプティブストレージ制御モジュールによって実行されるステップを説明する図である。
【図１０】プログラム又はファイルが低電力モード中に使用される尤度を決定する一方法を説明する例示的な表である。
【図１１Ａ】ディスクドライブ電力削減モジュールを含むキャッシュ制御モジュールを説明する図である。
【図１１Ｂ】ディスクドライブ電力削減モジュールを含むオペレーティングシステムを説明する図である。
【図１１Ｃ】ディスクドライブ電力削減モジュールを含むホスト制御モジュールを説明する図である。
【図１２】図１１Ａ〜１１Ｃのディスクドライブ電力削減モジュールによって実行されるステップを説明する図である。
【図１３】高電力ディスクドライブ（ＨＰＤＤ）及び低電力ディスクドライブ（ＬＰＤＤ）を含むマルチディスクドライブシステムを説明する図である。
【図１４】図１３のマルチディスクドライブシステムのその他の例示的な実施を説明する図である。
【図１５】図１３のマルチディスクドライブシステムのその他の例示的な実施を説明する図である。
【図１６】図１３のマルチディスクドライブシステムのその他の例示的な実施を説明する図である。
【図１７】図１３のマルチディスクドライブシステムのその他の例示的な実施を説明する図である。
【図１８】コンピュータの仮想メモリを増大するフラッシュメモリ又は低電力ディスクドライブ（ＬＰＤＤ）のような低電力不揮発性メモリの使用を説明する図である。
【図１９】図１８の仮想メモリを割り付け、使用するためオペレーティングシステムによって実行されるステップを説明する図である。
【図２０】図１８の仮想メモリを割り付け、使用するためオペレーティングシステムによって実行されるステップを説明する図である。
【図２１】従来技術による独立ディスクリダンダントアレイ（ＲＡＩＤ）システムの機能ブロック図である。
【図２２Ａ】Ｘ台のＨＰＤＤを含むディスクアレイ及びＹ台のＬＰＤＤを含むディスクアレイを伴う本発明による例示的なＲＡＩＤシステムの機能ブロック図である。
【図２２Ｂ】Ｘ及びＹがＺと等しい図２２ＡのＲＡＩＤシステムの機能ブロック図である。
【図２３Ａ】Ｘ台のＨＰＤＤを含むディスクアレイと通信するＹ台のＬＰＤＤを含むディスクアレイを伴う本発明による別の例示的なＲＡＩＤシステムの機能ブロック図である。
【図２３Ｂ】Ｘ及びＹがＺと等しい図２３ＡのＲＡＩＤシステムの機能ブロック図である。
【図２４Ａ】Ｙ台のＬＰＤＤを含むディスクアレイと通信するＸ台のＨＰＤＤを含むディスクアレイを伴う本発明によるさらに別の例示的なＲＡＩＤシステムの機能ブロック図である。
【図２４Ｂ】Ｘ及びＹがＺと等しい図２４ＡのＲＡＩＤシステムの機能ブロック図である。
【図２５】従来技術によるネットワーク接続ストレージ（ＮＡＳ）の機能ブロック図である。
【図２６】図２２Ａ、２２Ｂ、２３Ａ、２４Ａ及び／又は２４ＢのＲＡＩＤシステム、及び／又は、図６〜１７によるマルチドライブシステムを含む本発明によるネットワーク接続ストレージ（ＮＡＳ）システムの機能ブロック図である。
【図２７】フラッシュメモリ及びディスクドライブインターフェイスコントローラを組み込むディスクドライブコントローラの機能ブロック図である。
【図２８】図２７のインターフェイスコントローラの機能ブロック図である。
【図２９】フラッシュインターフェイスを伴うマルチディスクドライブシステムの機能ブロック図である。
【図３０】図３０のマルチディスクドライブによって実行されるステップを説明するフローチャートである。
【図３１Ａ】高電力モードと低電力モードとの間を移行するときに、プロセッシングスレッドを互いに転送する高電力プロセッサ及び低電力プロセッサを含むプロセッシングシステムの機能ブロック図である。
【図３１Ｂ】高電力モードと低電力モードとの間を移行するときに、プロセッシングスレッドを互いに転送する高電力プロセッサ及び低電力プロセッサを含むプロセッシングシステムの機能ブロック図である。
【図３１Ｃ】高電力モードと低電力モードとの間を移行するときに、プロセッシングスレッドを互いに転送する高電力プロセッサ及び低電力プロセッサを含むプロセッシングシステムの機能ブロック図である。
【図３２Ａ】高電力モードと低電力モードとの間を移行するときに、グラフィックスプロセッシングスレッドを互いに転送する高電力グラフィックスプロセッシングユニット（ＧＰＵ）及び低電力グラフィックスプロセッシングユニット（ＧＰＵ）を含むグラフィックスプロセッシングシステムの機能ブロック図である。
【図３２Ｂ】高電力モードと低電力モードとの間を移行するときに、グラフィックスプロセッシングスレッドを互いに転送する高電力グラフィックスプロセッシングユニット（ＧＰＵ）及び低電力グラフィックスプロセッシングユニット（ＧＰＵ）を含むグラフィックスプロセッシングシステムの機能ブロック図である。
【図３２Ｃ】高電力モードと低電力モードとの間を移行するときに、グラフィックスプロセッシングスレッドを互いに転送する高電力グラフィックスプロセッシングユニット（ＧＰＵ）及び低電力グラフィックスプロセッシングユニット（ＧＰＵ）を含むグラフィックスプロセッシングシステムの機能ブロック図である。
【図３３】図３１Ａ〜３２Ｃのプロセッシングシステムの動作を説明するフローチャートである。
【図３４Ａ】ハードディスクドライブの機能ブロック図である。
【図３４Ｂ】ＤＶＤドライブの機能ブロック図である。
【図３４Ｃ】高品位テレビの機能ブロック図である。
【図３４Ｄ】車両制御システムの機能ブロック図である。
【図３４Ｅ】携帯電話機の機能ブロック図である。
【図３４Ｆ】セットトップボックスの機能ブロック図である。
【図３４Ｇ】メディアプレーヤーの機能ブロック図である。
【符号の説明】
【０２１６】
１３０４…高電力プロセッサ、１３０６…トランジスタ、１３０８…低電力プロセッサ、１３１０…トランジスタ、１３１２…レジスタファイル、１３１４…制御モジュール、１３３０…システムオンチップ、１３４２…パイプライン、１３４４…ステージ、１３４６…パイプライン、１３４８…ステージ、１３５４…高電力プロセッサ、１３５６…トランジスタ、１３５８…低電力プロセッサ、１３６０…トランジスタ、１３６４…制御モジュール、１３７０…レジスタファイル、１３７２…レジスタファイル、１３８０…システムオンチップ、１４０４…高電力グラフィックスプロセッシングユニット、１４０６…トランジスタ、１４０８…低電力グラフィックスプロセッシングユニット、１４１０…トランジスタ、１４１２…レジスタファイル、１４１４…制御モジュール、１４３０…システムオンチップ、１４４２…パイプライン、１４４４…ステージ、１４４６…パイプライン、１４４８…ステージ、１４５４…高電力グラフィックスプロセッシングユニット、１４５６…トランジスタ、１４５８…低電力グラフィックスプロセッシングユニット、１４６０…トランジスタ、１４６４…制御モジュール、１４７０…レジスタファイル、１４７２…レジスタファイル、１４８０…システムオンチップ。
【図１Ａ】
2007305106.tif 000003
【図１Ｂ】
2007305106.tif 000004
【図２Ａ】
2007305106.tif 000005
【図２Ｂ】
2007305106.tif 000006
【図２Ｃ】
2007305106.tif 000007
【図３Ａ】
2007305106.tif 000008
【図３Ｂ】
2007305106.tif 000009
【図３Ｃ】
2007305106.tif 000010
【図４Ａ】
2007305106.tif 000011
【図４Ｂ】
2007305106.tif 000012
【図４Ｃ】
2007305106.tif 000013
【図５】
2007305106.tif 000014
【図６】
2007305106.tif 000015
【図７Ａ】
2007305106.tif 000016
【図７Ｂ】
2007305106.tif 000017
【図７Ｃ】
2007305106.tif 000018
【図７Ｄ】
2007305106.tif 000019
【図８Ａ】
2007305106.tif 000020
【図８Ｂ】
2007305106.tif 000021
【図８Ｃ】
2007305106.tif 000022
【図９】
2007305106.tif 000023
【図１０】
2007305106.tif 000024
【図１１Ａ】
2007305106.tif 000025
【図１１Ｂ】
2007305106.tif 000026
【図１１Ｃ】
2007305106.tif 000027
【図１２】
2007305106.tif 000028
【図１３】
2007305106.tif 000029
【図１４】
2007305106.tif 000030
【図１５】
2007305106.tif 000031
【図１６】
2007305106.tif 000032
【図１７】
2007305106.tif 000033
【図１８】
2007305106.tif 000034
【図１９】
2007305106.tif 000035
【図２０】
2007305106.tif 000036
【図２１】
2007305106.tif 000037
【図２２Ａ】
2007305106.tif 000038
【図２２Ｂ】
2007305106.tif 000039
【図２３Ａ】
2007305106.tif 000040
【図２３Ｂ】
2007305106.tif 000041
【図２４Ａ】
2007305106.tif 000042
【図２４Ｂ】
2007305106.tif 000043
【図２５】
2007305106.tif 000044
【図２６】
2007305106.tif 000045
【図２７】
2007305106.tif 000046
【図２８】
2007305106.tif 000047
【図２９】
2007305106.tif 000048
【図３０】
2007305106.tif 000049
【図３１Ａ】
2007305106.tif 000050
【図３１Ｂ】
2007305106.tif 000051
【図３１Ｃ】
2007305106.tif 000052
【図３２Ａ】
2007305106.tif 000053
【図３２Ｂ】
2007305106.tif 000054
【図３２Ｃ】
2007305106.tif 000055
【図３３】
2007305106.tif 000056
【図３４Ａ】
2007305106.tif 000057
【図３４Ｂ】
2007305106.tif 000058
【図３４Ｃ】
2007305106.tif 000059
【図３４Ｄ】
2007305106.tif 000060
【図３４Ｅ】
2007305106.tif 000061
【図３４Ｆ】
2007305106.tif 000062
【図３４Ｇ】
2007305106.tif 000063
【外国語明細書】
2007305106000001.pdf