(57)【要約】  一実施形態では、本発明は、複数のコアを含むマルチコアプロセッサのダイナミックテストを実行し、ダイナミックテストから得られたデータを操作してマルチコアプロセッサのプロフィールにプロフィール情報にし、プロフィール情報を不揮発性メモリに格納する方法を含む。いくつかの実施形態では、不揮発性メモリは、マルチコアプロセッサ内に存在し得る。他の実施形態も記載されかつ請求される。【選択図】図４
2009526336.tif 000002
【特許請求の範囲】
【請求項１】
複数のコアを含むマルチコアプロセッサのダイナミックテストを実行することと、
前記ダイナミックテストから得られたデータを操作して前記マルチコアプロセッサに関するプロフィール情報にすることと、
前記プロフィール情報を不揮発性メモリに格納することと、
を含む方法。
【請求項２】
前記ダイナミックテストに基づき、前記複数のコアを複数のパフォーマンスビンに分割し、前記分割に関するビン情報を前記不揮発性メモリに格納することをさらに含む、請求項１に記載の方法。
【請求項３】
前記プロフィール情報は、前記複数のコアのそれぞれの動作パラメータに関するスタティック情報を含む、請求項１に記載の方法。
【請求項４】
少なくとも１つのコアの前記動作パラメータの少なくとも１つへの変更後に得られたアップデートプロフィール情報に基づき、前記マルチコアプロセッサを再構成することをさらに含む、請求項３に記載の方法。
【請求項５】
前記マルチコアプロセッサを再構成することは、前記アップデートプロフィール情報に基づき、前記複数のコアを接続する相互接続ファブリックを再構成することを含む、請求項４に記載の方法。
【請求項６】
前記プロフィール情報を前記マルチコアプロセッサのダイ上に配置された前記不揮発性メモリに格納することをさらに含む、請求項１に記載の方法。
【請求項７】
相互接続ファブリックを介し接続された複数のコアを含むマルチコアプロセッサと、
前記マルチコアプロセッサに接続されて前記複数のコアのそれぞれのプロフィールを含む回復状態データを格納する不揮発性メモリと、
を備える装置。
【請求項８】
前記マルチコアプロセッサと前記不揮発性メモリとは単一の集積回路（ＩＣ）内に配置される、請求項７に記載の装置。
【請求項９】
前記プロフィールは、動作周波数、消費電力レベル、および、前記マルチコアプロセッサのセルフテストにより決定された関連するコアの機能の正当性を示すインジケータを含む、請求項７に記載の装置。
【請求項１０】
前記マルチコアプロセッサは、コアへの動作変更の後、前記コアの前記プロフィールをアップデートする、請求項７に記載の装置。
【請求項１１】
前記マルチコアプロセッサは、初期化に応じて前記回復状態データにアクセスすることにより、前記複数のコアの１つ以上が使用可能であることを決定する、請求項７に記載の装置。
【請求項１２】
前記回復状態データは、前記複数のコアの複数のパフォーマンスビンへの分割に対応するビン情報と、前記相互接続ファブリックの構成情報とを含む、請求項７に記載の装置。
【請求項１３】
前記マルチコアプロセッサを支持する第１の基板と、前記不揮発性メモリを支持する第２の基板とを含む半導体パッケージを備える、請求項７に記載の装置。
【請求項１４】
複数の命令を含む機械可読記憶媒体を含む物品であって、前記複数の命令は、機械により実行されると前記機械に方法を実行させ、前記方法は、
マルチコアプロセッサのプロフィール情報を得るべく不揮発性メモリにアクセスすることと、
前記プロフィール情報に基づき前記マルチコアプロセッサの複数のコアを使用可能にすることと、
前記使用可能にされた複数のコアを接続すべく、前記プロフィール情報に基づき前記マルチコアプロセッサの相互接続ファブリックを構成することと、
を含む物品。
【請求項１５】
前記方法は、前記マルチコアプロセッサをセルフテストすることにより、前記使用可能にされた複数のコアの機能の正当性を決定することをさらに含む、請求項１４に記載の物品。
【請求項１６】
前記方法は、前記セルフテストの後に前記使用可能にされた複数のコアの１つを使用不可とし、前記複数のコアの他のものを使用可能にすることと、
前記使用不可および前記使用可能にすることに基づき、前記不揮発性メモリ内の前記プロフィール情報をアップデートすることと、
前記使用不可および前記使用可能にすることに基づき、前記相互接続ファブリックを再構成し、前記再構成された相互接続ファブリックに基づき、前記不揮発性メモリ内の前記プロフィール情報をアップデートすることと、
をさらに含む、請求項１５に記載の物品。
【請求項１７】
複数のコアを含むマルチコアプロセッサと、
前記複数のコアに関する回復状態情報を格納する不揮発性記憶手段と、
前記マルチコアプロセッサに接続されるダイナミックランダムアクセスメモリ（ＤＲＡＭ）とを備え、
前記マルチコアプロセッサは、前記不揮発性記憶手段内の前記回復状態情報にアクセスすることにより、前記複数のコアの１つ以上を動作させるために構成する、システム。
【請求項１８】
前記マルチコアプロセッサは、ダイナミックセルフテストを実行し、前記ダイナミックセルフテストに基づき、前記不揮発性記憶手段内の前記回復状態情報をアップデートする、請求項１７に記載のシステム。
【請求項１９】
前記システムは、前記アップデートされた回復状態情報に基づき、前記マルチコアプロセッサを再構成する、請求項１８に記載のシステム。
【請求項２０】
前記回復状態情報は、前記複数のコアのそれぞれに対するパフォーマンスビン情報と、１つ以上のコアのタスク配置に関するタスク配置情報と、前記複数のコアを接続する相互接続ファブリックに関する構成情報とを含む、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、概してプロセッサに関し、より詳しくは、マルチコアプロセッサなどの多数のコアを含むプロセッサに関する。
【背景技術】
【０００２】
メニーコアプロセッサは、１つ以上のダイ、一般的には単一のダイ上の多数の処理コアを含む。プロセス技術の尺度が非常に縮小されていくにつれ、プロセッサ周波数を向上させることによりハイパフォーマンスを得ようとする一般的な設計は、消費電力が増大してしまうので限界がある。ハイパフォーマンスを達成するための他の方法は、一般的な「大きい」コアより低速で同時に稼動する多くの「小さい」コアにアプリケーションを分散させることである。それぞれの「小さい」コアは、「大きい」コアより小型ではるかに消費電力量は少なく、それでいてかなりのパフォーマンスを提供するので、マルチコア設計は、単一のまたは大きいコア設計に比べより効率的な消費電力管理に役立ち得る。
【０００３】
マルチコアプロセッサには、単一のコアまたは少数の大きいコアを有するプロセッサに勝る利点があるものの、プロセス技術がスケールダウンするにつれ多くの課題に直面している。例えば、静的または動的なプロセス変動は、トランジスタの信頼性を損なう可能性がある。記憶ノードの容量が小さく電圧が低いので、一時的なエラー率が上がり、経年によりトランジスタの劣化が激しくなるにつれ、信頼性も低下し得る。したがって、従来のプロセッサに対して実装されるようなかつての工場でのテストおよびバーンインは、マルチコアプロセッサによる長年に渡る計算の信頼性を保証するのに効果的でなくなってきている。
【図面の簡単な説明】
【０００４】
【図１】本発明の一実施形態におけるマルチコアプロセッサのブロック図である。
【０００５】
【図２】本発明の他の実施形態におけるマルチコアプロセッサのブロック図である。
【０００６】
【図３】本発明の一実施形態における方法のフローチャートである。
【０００７】
【図４】本発明の一実施形態における不揮発性メモリに格納されたプロフィール情報を用いる方法のフローチャートである。
【０００８】
【図５】本発明の一実施形態におけるマルチプロセッサシステムのブロック図である。
【発明を実施するための最良の形態】
【０００９】
本発明の実施形態は、不揮発性メモリを用いてマルチコアプロセッサのプロフィール情報を、回復して格納し得る。マルチコアプロセッサは、半導体パッケージの単一のダイ上にある多数の小さいコアを含み得る。さらに、さまざまな実施態様において、不揮発性メモリは、コアと同じダイの上にあってもよい。マルチコアプロセッサは、例えば、セルフテスト機能により動的にテストされることにより、不揮発性メモリ内に格納するためのプロフィール情報を得ることができる。
【００１０】
以下に詳しく説明するように、不揮発性メモリにはさまざまなプロフィール情報が格納され得る。異なる実施形態において、このようなプロフィール情報は、動的な情報だけでなく、コアに関する周波数および電圧情報を含み得る。マルチコアプロセッサの回復状態は、さらに不揮発性メモリに格納され得る。このような回復状態情報は、以下に述べるようなパフォーマンス情報を含み得る。さらに、さまざまな動作コアに配置されるタスクに関するタスク配置情報が格納され得る。このようなタスクを援助すべく、不揮発性メモリは、動作コア同士を接続する相互接続ファブリックの構成をさらに格納し得る。異なる実施形態においては不揮発性メモリに追加のプロフィール情報が格納され得ることは言うまでもない。
【００１１】
さまざまな実施形態では、マルチコアプロセッサのコアは、それらのダイナミックプロフィールを取得および／またはリフレッシュすべく定期的にテストされ得る。コアのダイナミックプロフィールは、数あるパラメータの中でも特に、その最大動作周波数、消費電力、電力漏出量、および、機能の正当性に関する情報を含み得る。ダイナミックプロフィールは、対応するコアの経時信頼性を示す、これらのパラメータの傾向情報も含み得る。
【００１２】
さまざまな実施形態では、タスクは、現在のコアプロフィールに基づきコアに配置され、動的に再配置され得る。これらのプロフィールが、実行の間に例えばアップデートされたプロフィール情報の結果として変化する場合、タスク配置は、望ましいパフォーマンスレベルを維持すべく動的に変化し得る。したがって、このタスク配置情報は、回復状態の一部として格納され、また、このタスク配置マッピングに対するいかなるアップデートも不揮発性メモリに格納され得る。
【００１３】
図１を参照すると、本発明の一実施形態におけるマルチコアプロセッサのブロック図が示されている。図１に示すように、プロセッサ１０は、複数の個別のコア１５を含む。より詳しくは、図１の実施形態は、相互接続ファブリック３０を介し接続された８×８のコアアレイを含む。図１の実施形態では特定の実施態様で示されているが、本発明の範囲はこれに限定されず、他の実施形態では、例えば、一次元、二次元、または、三次元メッシュ、あるいは、一次元、二次元、または、三次元トーラス構成などの他の構成であってもよい。さらに、図１の実施形態では、６４個の個別のコアで示されているが、マルチコアプロセッサは、このようなコアをもっと多くあるいはもっと少なく異なる実施態様で含み得ることを理解されたい。
【００１４】
コア１５のそれぞれは、単一のコアまたはデュアルコアプロセッサと少なくとも比較して小さめのコアであり得る。さまざまな実施形態において、各コア１５は、ローカルメモリ（例えばキャッシュメモリ）を含んでよく、さらには、共有メモリに接続され得る。特に、図１に示すように、グローバル共有メモリである共有メモリ２０は、相互接続ファブリック３０を介し個別のコア１５に接続され得る。説明を簡単にする目的から図１には示されていないが、プロセッサ１０は、入出力（Ｉ／Ｏ）インターフェース、相互接続、バス、および、ロジックなどの他の構成要素も含み得ることを理解されたい。
【００１５】
コア１５は、さまざまなアルゴリズムに基づき起動すべく選択され得る。このような起動をもたらすべく、相互接続ファブリック３０は、起動されたコア１５間の接続性を高め、通信速度を向上させることができるよう構成可能であってもよい。図１の実施形態において、さまざまなコア１５に関する回復状態データは、コア自体の中にある不揮発性メモリに格納され得る。あるいは、不揮発性メモリは、プロセッサ内のコアの外に配置され得る。しかしながら、他の実施形態では、回復状態データは、プロセッサ１０の外部にある不揮発性メモリに格納されてもよい。
【００１６】
図２を参照すると、本発明の他の実施形態におけるマルチコアプロセッサのブロック図が示されている。図２に示すように、プロセッサ５０は、図１に関して上述した構成要素と同様の構成要素を含み得る。特に、複数のコア１５は、相互接続ファブリック３０を介し接続され得る。さらに、共有メモリ２０があってもよい。しかしながら、図２の実施形態では、不揮発性メモリ４０は、プロセッサ５０内に配置され得る。不揮発性メモリ４０は、コア１５に関する回復状態データに格納するよう用いられ得る。図２の実施形態では、コア１５と同じダイに実装されるよう示されているが、他の実施形態では、不揮発性メモリ４０は、プロセッサ５０のパッケージ内の別のダイに配置され得る。他の実施態様も可能であるのは言うまでもない。
【００１７】
図３を参照すると、本発明の一実施形態における方法のフローチャートが示されている。図３に示されるように、方法２００は、プロフィール情報を取得して該取得したプロフィール情報を不揮発性メモリに格納するよう用いられ得る。方法２００は、マルチコアプロセッサのコアにダイナミックテストを実行することから始まる（ブロック２１０）。このようなダイナミックテストは、さまざまな形態を採ってよい。例えば、ダイナミックテストプロセスは、一定の間隔で、隣接するコア同士が互いの能力をテストすることにより始められ得る。あるいは、マルチコアプロセッサの１つ以上のコアが、このようなダイナミックテストを実行するための専用（すなわちチェッカ）コアとして選ばれてもよい。このような方法で、マルチコアプロセッサは、自身の動作能力を決定すべくセルフテストすることができる。
【００１８】
上述のごとく、さまざまなパラメータは、テストに基づき決定され得る。例えば、最大動作周波数および動作電圧などの電圧および周波数値が決定され得る。さらに、例えば、マルチコアにおいて１つ以上の演算を実行し、その結果を比較することによりコアの機能の正当性が決定され得る。結果が異なる場合、コアの１つは、機能の正当性テストに不合格であることが示され得る。
【００１９】
なおも図３を参照すると、次に、ダイナミックテストがマルチコアプロセッサへのオリジナルのダイナミックテストであるかどうかが決定され得る（ひし形２２０）。このオリジナルのダイナミックテストは、マルチコアプロセッサを含むシステムの初期パワーアップに応じて実行されるテストに対応する。テストがオリジナルのダイナミックテストである場合、制御はブロック２３０へと移る。ここで、テストデータは、操作されてプロフィール情報となり得る（ブロック２３０）。データはさまざまな方法で操作可能である。例えば、コアの動作速度に関するテストデータは、操作されていわゆるビン値となり得る。すなわち、各コアは、最高動作速度に基づく選択された多数のビンの１つに分割され得る。したがって、マルチコアプロセッサのコアは、例えば、速いビン、中間のビン、および、遅いビンなどの複数のビンにセグメント化され得る。さらに、さらなる動作ができない不合格のコアは、不合格のビンに配置され得る。このような速度に対するビンに加え、動作コアは、アクティブコアとスペアコアとにセグメント化されてもよい。その場合、アクティブコアは、特定の構成に従い動作するために選ばれ、一方スペアコアは、例えば、アクティブコアの１つ以上が後で不合格になる場合など、アクティブ状態への後の構成のためにスペアプールに残り得る。このようにして、マルチコアプロセッサの寿命の信頼性が強化され得る。
【００２０】
異なるビンのコアを混合させることにより、特定のビンのコアの数を良く制御できるようになり得ることに注目されたい。コアの混合の合計は、回復状態の一部として記録され得る。時を経ると、１つ以上のコアは、パフォーマンスの低下により速いビンから遅いビンへと移動する。しかしながら、マルチコアプロセッサのトータルパフォーマンスは、コアの混合、または、１つ以上のコアの動作パラメータを調整することにより操作され得る。例えば、スペアコアは、速いビンに追加され得る。あるいは、既存のコアは、電圧スケーリングまたはボディバイアス技術を用いて高周波数で稼動され得る。いくつかの実施形態では、各コアの電圧、バイアス値、および、周波数も回復状態の一部として記録され得る。
【００２１】
なおも図３を参照すると、次に、プロフィール情報が不揮発性メモリに格納され得る（ブロック２４０）。上述のごとく、この不揮発性メモリは、さまざまな方法で構成され得る。例えば、コアを含む単一基板は、プロフィール情報を格納するための不揮発性メモリをさらに含み得る。このような一実施態様では、各コアは、それぞれのプロフィール情報を格納する不揮発性メモリの一部を含み得る。さらに他の実施形態では、マルチコアプロセッサのパッケージは、不揮発性メモリを有する分離基板を含み得る。さらにまた、不揮発性メモリは、例えば、バイオス（ＢＩＯＳ）、リードオンリーメモリ（ＲＯＭ）などのフラッシュメモリ、または、システムの他の不揮発性メモリなどの、マルチコアプロセッサを含むシステムの個別の構成要素であり得る。上述のごとく、制御は、ブロック２４０からブロック２１０へと戻る。したがって、方法２００は、マルチコアプロセッサを含むシステムが通常動作する間、ダイナミックテストを実行し続ける。
【００２２】
図３のひし形２２０に戻ると、ダイナミックテストがオリジナルのダイナミックテストでないと決定された場合、制御は、ブロック２５０へと移る。ここでは、不揮発性メモリは、変更情報によりアップデートされる（ブロック２５０）。ダイナミックテストの結果が、例えば、より低周波数または低電圧での動作となる、または、機能の正当性テストで不合格となる、等により、１つ以上のコアの動作パラメータが変更されていることを示している場合、変更された情報に対応するプロフィール情報は、不揮発性メモリにおいてアップデートされ得る。そして、上述のごとく、制御はブロック２１０に戻る。図３の実施形態ではこの特定の実施態様で説明されているが、本発明の範囲は、これに限定されず、他の実施形態では、プロフィール情報を取得して該取得した情報を不揮発性メモリに格納する他の方法も実行され得る。
【００２３】
図４を参照すると、本発明の一実施形態における不揮発性メモリに格納されたプロフィール情報を用いる方法のフローチャートが示されている。図４に示すように、方法３００は、例えば、プロセッサを含むシステムがパワーアップされるとき、プロセッサの初期化に応じて開始され得る。したがって、パワーオン信号が受信され得る（ブロック３１０）。この信号は、プロセッサ内で受信されると、マルチコアプロセッサをリセットさせ得る（ブロック３２０）。それによって、プロセッサのそれぞれのコアを含むプロセッサのさまざまなリソース、および、例えばレジスタ、実行ユニット、バッファ、キャッシュなどを含むコアのリソースをリセットし得る。
【００２４】
なおも図４を参照すると、次に、リセットされた後、不揮発性メモリに格納されたプロフィール情報がアクセスされ得る（ブロック３３０）。不揮発性メモリが配置されているところならどこからでもプロフィール情報にアクセスし得る。例えば、制御コアは、ロジックを含み得るか、または、プロフィール情報をリクエストするようプログラムされ得る。いくつかの実施形態では、このような制御コアは、コアと同じダイまたは同じパッケージにある不揮発性メモリにアクセスし得る。あるいは、不揮発性メモリは、システム内に配置され得る。さらなる他の実施形態では、各コアは、コア自体の不揮発性記憶装置に格納される自身のプロフィール情報にアクセスし得る。
【００２５】
いずれにせよ、プロフィール情報に基づきコアが構成され得る（ブロック３４０）。例えば、１つ以上のパフォーマンスビンのコアが使用可能にされ得る。さらに、使用可能なコア間の相互接続ファブリックは、より優れた通信を提供するよう構成され得る（同じくブロック３４０）。例えば、相互接続ファブリックは、動的に構成されることにより、それらコアの相対位置に基づき、アクティブコア間における最適なデータ転送を実現する。
【００２６】
このように構成された後、マルチコアプロセッサは、通常動作に入ることができる。したがって、マルチコアプロセッサの１つ以上のコア内ではさまざまなプロセスが実行され得る。このような通常動作の間、選択された時間間隔で、または、コアの１つ以上における不合格のまたは劣化したパフォーマンスの表示に応じて、コアのダイナミックテストが本願明細書中に記載されるように実行され得る。
【００２７】
このようなテストの結果、例えば、コアの使用可能度、１つ以上のコアの最高動作速度などマルチコアプロセッサへの変更、または、同様なこのような変更が識別され得る。したがって、なおも図４を参照すると、ひし形３５０において、マルチコアプロセッサへの変更の表示が受信されているかが決定され得る（ひし形３５０）。例えば、このような表示は、不揮発性メモリがアップデートされたプロフィール情報によってアップデートされることに応じて初期化され得る。このような表示が受信されなければ、マルチコアプロセッサの通常動作は継続する。
【００２８】
ひし形３５０においてマルチコアプロセッサへの変更の表示が受信された場合、制御は、ブロック３６０へと移る。ここでは、アップデートされたプロフィール情報は、不揮発性メモリからアクセスされる（ブロック３６０）。アップデートされた情報は、例えば、アップデートフラグをアップデートされたプロフィール情報と関連付けることにより直ちに識別され得る。したがって、アップデートされたプロフィール情報は、現在のダイナミックテストの間に得られたパラメータと、前のテストから得られたパラメータとを比較することにより傾向情報を提供し得る。コアの信頼性は、コアを特徴付けるパラメータの傾向情報により示されることができる。上述のごとく、アップデートされたプロフィール情報は、例えば、不合格のコア、または、コアの最高動作速度の低下の表示に対応し得る。このアップデートされた情報に基づき、マルチコアプロセッサの１つ以上のコアは、再構成され得る（ブロック３７０）。さらに、このような再構成されたコア間の通信を効率的に提供すべく、いくつかの実施形態では相互接続ファブリックも再構成され得る（同じくブロック３７０）。
【００２９】
コアの再構成は、１つ以上のコアを速いビン、遅いビン、スペアビンなどに再割り当てすることを含み得る。特定のビンにおけるコアの数をより良く制御できるよう、ビンの数を調整し得る。１つのコアは、経時によるパフォーマンスの劣化により速いビンから遅いビンへと移動し得る。これが起きると、プロセッサのパフォーマンスをそのカウントレベルに維持すべく、多数のオプションが続行され得る。スペアコアは、速いビンに追加されてよく、または、既存のコアは、電圧スケーリングまたはボディバイアス調整技術を用いて高周波数で稼動され得る。
【００３０】
他の実施形態では、コアは、それらの消費電力レベル、または、信頼性パラメータなどの他のパラメータに従いビンに分類され得る。さらに他の例では、コアは、異なるビンのセットに分類され得る。動作速度に従い分類されるセット、消費電力に従い分類されるセット、信頼性パラメータに従い分類されるセット、などがある。一実施形態では、ダイナミックプロフィールが構築された後、コアは、異なるセットのビンに分類され得る。ビニングプロセスは、マルチコアプロセッサに組み込まれたソフトウェア／ハードウェアモジュールにより実行され得る。他の実施形態では、タスクがオペレーティングシステム（ＯＳ）により受信されると、ビニングプロセスが実行され得、その結果、コアは、特定のタスク要件に従いビンへと分類される。
【００３１】
図４に示すように、マルチコアプロセッサの通常動作を継続するためにブロック３７０からひし形３５０へと戻る。図４の実施形態ではこの特定の実施態様について説明したが、本発明の範囲はこれに限定されず、プロフィール情報を取得し、そのような情報をマルチコアプロセッサの配置／再配置、または、構成／再構成動作に用いるべく、不揮発性メモリへの異なる方法でのアクセスも実装され得ることを理解されたい。
【００３２】
しかしながら、プロフィール情報がアップデートされたときを必ずしも認識する必要はないことを理解されたい。例えば、所定のコアがもはや最大周波数では動作していないことをアップデート情報が示すとき、コアに供給される動作電圧が増大することにより、コアから同じパフォーマンスレベルが得られる。さらに、コアおよび／または相互接続ファブリックを認識する代わりに、現在稼動しているプロセスが１つ以上の異なるコアへと移動することにより、認識せずとも実質的に同様のレベルのパフォーマンスを実現することができる。
【００３３】
したがって、さまざまな実施形態では、マルチコアプロセッサの回復状態は、不揮発性メモリに格納される。このような回復状態は、相互接続ファブリックの構成、コアの分割、コアの動作電圧および周波数などの現在の構成情報と同様に、さまざまなコアに対応するプロフィール情報を含み得る。このような回復状態は、パワーアップおよび障害からのリカバリを可能にするために用いられ得る。例えば、回復状態は、１つ以上のコアのパフォーマンスにおける障害または他の減衰に応じてマルチコアプロセッサを再構成するのと同様に、パワーアップ時およびリセット後にマルチコアプロセッサを構成するよう用いられ得る。
【００３４】
不揮発性メモリ技術の範囲は、異なる実施形態における不揮発性メモリとして実装され得る。いくつかの実施形態では、マルチコアプロセッサの回復状態を記録するためにフラッシュメモリが用いられ得る。このようなフラッシュメモリは、ブロック消去動作をサポートし得る。異なる実施形態では、フラッシュメモリは、異なるプログラミングモードのみならず、さまざまな読出しモードをサポートし得る。不揮発性メモリの位置（例えばオンチップまたはオフチップ）に基づき、メモリとの情報のやりとりにおいてセキュリティ対策が採られることもある。例えば、フラッシュＲＯＭデバイスなど、回復状態情報がオフチップの不揮発性メモリに格納されている場合、回復状態は、暗号化されたフォーマットで格納され、暗号化された方法でマルチコアプロセッサに送信され得る。
【００３５】
このようして、他のパワーマネジメント技術同様、スリープおよびスタンバイ状態であっても、本発明の実施形態を用いてマルチコアプロセッサの現在のプロフィールおよび信頼性に関する状態情報が維持され得る。このような情報は、マルチコアプロセッサが不揮発性メモリを介しパワーオフされる間でも維持されることは言うまでもない。本発明の実施形態を用いることにより、エラーの起きやすさに直面しているマルチコア環境にあっても、不揮発性メモリ内に維持される回復状態情報を用いて信頼性の高いコンピューティングを提供し得る。
【００３６】
マルチコアプロセッサにおける相互接続ファブリック（図１および２に示されるような）は、コアのそれぞれのビンから利益を受けるよう再構成され得る。特定のビンにおけるコアの帰属関係は経時変化するので、コア間のバンド幅およびレイテンシは、静止ファブリックによる広範囲に渡る変動に左右される。したがって、相互接続ファブリックは、柔軟であり、動的に再構成可能であり得る。ビン内のコアの混合が変更されると、ビンにおけるコア全体の使用可能なバンド幅およびレイテンシが評価され、高レベルの接続性を維持すべく、必要に応じて再構成され得る。ダイにおけるコアの物理的位置は変更されないかもしれないが、ファブリックを形成するスイッチは再構成されるので、同じビンのコア同士は、論理的に近い。マルチコアの可用性、スペアコアのプール、および、ファブリックの高い接続性は、パフォーマンスの低下を最小限にとどめて障害からすばやくリカバリさせ得る。テストが特定のコアの問題を識別するやいなや、そのコアは、動作を停止させられてアクティブなサービス処理から除外される。そして、スペアコアからのコアがそれに取って代わる。したがって、相互接続ファブリックは、役務から脱落した障害のあるコアの影響を軽減するよう再構成されることができ、それによって、変化および劣化による障害を許容すべくプロセッサの能力が向上する。
【００３７】
実施形態は、多くの異なるシステムタイプで実装され得る。図５を参照すると、本発明の一実施形態におけるマルチプロセッサシステムのブロック図が示されている。図５に示すように、マルチプロセッサシステムは、ポイント・ツー・ポイント相互接続システムであり、ポイント・ツー・ポイント相互接続４５０を介し接続された第１のプロセッサ４７０および第２のプロセッサ４８０を含む。図５に示すように、プロセッサ４７０および４８０のそれぞれは、第１および第２のプロセッサコア（すなわち、プロセッサコア４７４ａおよび４７４ｂ、および、プロセッサコア４８４ａおよび４８４ｂ）を含むマルチコアプロセッサであり得る。プロセッサ４７０および４８０のそれぞれは、プロセッサに対応するコアに関する回復状態データを格納する不揮発性メモリをさらに含む。第１のプロセッサ４７０は、メモリコントローラハブ（ＭＣＨ）４７２、および、ポイント・ツー・ポイント（Ｐ−Ｐ）インターフェース４７６および４７８をさらに含む。同様に、第２のプロセッサ４８０は、ＭＣＨ４８２、および、Ｐ−Ｐインターフェース４８６および４８８を含む。図５に示すように、ＭＣＨ４７２および４８２は、プロセッサとそれぞれのメモリ、すなわち、それぞれのプロセッサにローカルに取り付けられるメインメモリの一部であり得るメモリ４３２およびメモリ４３４とを接続する。
【００３８】
第１のプロセッサ４７０および第２のプロセッサ４８０は、Ｐ−Ｐ相互接続４５２および４５４を介し、チップセット４９０にそれぞれ接続され得る。図５に示すように、チップセット４９０は、Ｐ−Ｐインターフェース４９４および４９８を含む。さらに、チップセット４９０は、チップセット４９０と高性能グラフィックエンジン４３８に接続するインターフェース４９２を含む。一実施形態では、グラフィックエンジン４３８とチップセット４９０とを接続するために、アドバンストグラフィックポート（ＡＧＰ）バス４３９が用いられ得る。ＡＧＰバス４３９は、カリフォルニア州サンタクララのインテル社により１９９８年５月４日に公開されたアクセラレーテッド グラフィックス ポートインターフェース仕様、改訂版２．０に準拠し得る。あるいは、ポイント・ツー・ポイント相互接続４３９がこれらの構成要素を接続してもよい。
【００３９】
また、チップセット４９０は、インターフェース４９６を介し第１のバス４１６に接続され得る。一実施形態では、第１のバス４１６は、１９９５年６月に公開されたＰＣＩ  Ｌｏｃａｌバス仕様、生産バージョン改訂版２．１により規定されるＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バス、または、ＰＣＩ  Ｅｘｐｒｅｓｓバスなどのバス、あるいは、他の第三世代の入出力（Ｉ／Ｏ）相互接続バスであり得るが、本発明の範囲は、それらに限定されない。
【００４０】
図５に示すように、さまざまなＩ／Ｏデバイス４１４は、バスブリッジ４１８と共に第１のバス４１６に接続される。バスブリッジ４１８は、第１のバス４１６を第２のバス４２０に接続する。一実施形態では、第２のバス４２０は、ＬＰＣ（ローピンカウント）バスであってよい。一実施形態では、例えば、キーボード／マウス４２２、通信デバイス４２６、および、コード４３０を含み得るデータ記憶装置４２８を含む第２のバス４２０に接続され得る。いくつかの実施形態では、フラッシュメモリなどの不揮発性記憶装置であり得るデータ記憶装置４２８は、プロセッサ４７０および４８０のための回復状態データを格納する回復状態データ４３２をさらに含み得る。さらに、オーディオＩ／Ｏ４２４は、第２のバス４２０に接続され得る。
【００４１】
実施形態は、コードに実装されてもよく、命令を格納する記憶媒体に格納され得る。命令を実行することにより、システムがプログラムされ得る。記憶媒体は、フロッピーディスク、光ディスク、コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスクリライタブル（ＣＤ−ＲＷ）、および、光磁気ディスクを含む任意のタイプのディスク、リードオンリーメモリ（ＲＯＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、フラッシュメモリ、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、磁気または光カードなどの半導体デバイス、または、電子命令を格納するのに適した他のいかなるタイプの媒体も含み得るが、これらに限定されない。
【００４２】
これまで本発明を限定した数の実施形態に関連して説明してきたが、当業者であれば、そこから多数の修正および変更があり得ると理解できるであろう。添付の請求項の範囲は、そのような修正および変更のすべてを本発明の真の趣旨および範囲内に納まるものとして含み得る。
【図１】
2009526336.tif 000003
【図２】
2009526336.tif 000004
【図３】
2009526336.tif 000005
【図４】
2009526336.tif 000006
【図５】
2009526336.tif 000007
【国際調査報告】
2009526336.tif 000008
2009526336.tif 000009