(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-12-07
(45)【発行日】2023-12-15
(54)【発明の名称】ミッションモードVMIN予測及び較正
(51)【国際特許分類】
G06F 1/3296 20190101AFI20231208BHJP
G06F 1/324 20190101ALI20231208BHJP
【FI】
G06F1/3296
G06F1/324
(21)【出願番号】P 2023535519
(86)(22)【出願日】2021-12-03
(86)【国際出願番号】 US2021061800
(87)【国際公開番号】W WO2022132463
(87)【国際公開日】2022-06-23
【審査請求日】2023-07-20
(32)【優先日】2020-12-14
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】アシシュ ジェイン
(72)【発明者】
【氏名】スリラム サンダラム
(72)【発明者】
【氏名】サミュエル ナフザイガー
【審査官】松浦 かおり
(56)【参考文献】
【文献】米国特許第9672310(US,B1)
【文献】米国特許出願公開第2014/0176116(US,A1)
【文献】特表2017-517873(JP,A)
【文献】米国特許出願公開第2015/0325307(US,A1)
【文献】米国特許出願公開第2015/0081039(US,A1)
【文献】特表2011-521396(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/26-1/3296
(57)【特許請求の範囲】
【請求項1】
集積回路のローエンド動作電圧を調整する方法であって、
(a)指定されたクロックサイクル期間にわたって、前記集積回路上の少なくとも1つのリング発振器の発振数をカウントすることと、
(b)前記発振数に基づいて、デバイス劣化データの第1のセット及びスタティック・ランダムアクセス・メモリ(SRAM)ローエンド動作電圧データの第2のセットに関連付けられた予測モデルにアクセスし、前記予測モデルから前記集積回路上のプロセッサのローエンド動作電圧限界を選択することと、
(c)前記ローエンド動作電圧限界に基づいて前記プロセッサの前記ローエンド動作電圧を設定することと、
(d)前記プロセッサの動作中に段落(a)~(c)を複数回繰り返すことと、を含む、
方法。
【請求項2】
少なくとも1つのリング発振器の発振数をカウントすることは、前記集積回路の異なる部分に配置された複数のリング発振器における発振をカウントすることを含む、
請求項
1の方法。
【請求項3】
少なくとも1つのリング発振器の発振数をカウントすることは、第1の一連の論理ゲートを備える第1のリング発振器における発振をカウントすることと、前記第1の一連の論理ゲートとは異なる一連の論理ゲートを備える第2のリング発振器における発振をカウントすることと、を含む、
請求項
2の方法。
【請求項4】
少なくとも1つのリング発振器の発振数をカウントすることは、第1のタイプのトランジスタで構成された第1の一連の論理ゲートを備える第1のリング発振器において発振をカウントすることと、前記第1のタイプとは異なる第2のタイプのトランジスタで構成された一連の論理ゲートを備える第2のリング発振器において発振をカウントすることと、を含む、
請求項
2の方法。
【請求項5】
前記予測モデルにアクセスすることは、前記デバイス劣化データの第1のセットにアクセスすることを含む、
請求項
1の方法。
【請求項6】
前記予測モデルにアクセスすることは、前記SRAMローエンド電圧データの第2のセットにアクセスすることを含む、
請求項
1の方法。
【請求項7】
前記予測モデルにアクセスすることは、最初に、前記デバイス劣化データの第1のセットにアクセスすることと、そこから得られた結果に基づいて、前記SRAMローエンド電圧データの第2のセットにアクセスすることと、を含む、
請求項
1の方法。
【請求項8】
前記デバイス劣化データの第1のセットは、前記集積回路と同じ設計の集積回路のセットの高温動作寿命(HTOL)ストレス試験から提供される、
請求項
1の方法。
【請求項9】
前記SRAMローエンド動作電圧データの第2のセットは、前記HTOLストレス試験中に前記集積回路のセット上のSRAMメモリのローエンド動作電圧を測定することから提供される、
請求項
8の方法。
【請求項10】
集積回路であって、
プロセッサコアと、
前記プロセッサコアが動作する電圧レベルを設定するシステム管理ユニットと、を備え、
前記システム管理ユニットは、
(a)指定されたクロックサイクル期間にわたって、前記集積回路上の少なくとも1つのリング発振器の発振数を取得することと、
(b)前記発振数に基づいて、デバイス劣化データの第1のセット及びスタティック・ランダムアクセス・メモリ(SRAM)ローエンド動作電圧データの第2のセットに関連付けられた予測モデルにアクセスし、前記予測モデルから前記プロセッサコアのローエンド動作電圧限界を選択することと、
(c)前記ローエンド動作電圧限界に基づいて前記プロセッサコアの前記ローエンド動作電圧を設定することと、
(d)前記集積回路の動作中に段落(a)~(c)を複数回繰り返すことと、
によって、前記プロセッサコアのローエンド動作電圧を調整するように動作可能である、
集積回路。
【請求項11】
前記少なくとも1つのリング発振器は、前記集積回路の異なる部分に配置された複数のリング発振器を備える、
請求項
10の集積回路。
【請求項12】
前記複数のリング発振器は、第1の一連の論理ゲートを備える第1のリング発振器と、前記第1の一連の論理ゲートとは異なる一連の論理ゲートを備える第2のリング発振器と、を含む、
請求項
11の集積回路。
【請求項13】
前記複数のリング発振器は、第1のタイプのトランジスタで構成された第1の一連の論理ゲートを備える第1のリング発振器と、前記第1のタイプとは異なる第2のタイプのトランジスタで構成された一連の論理ゲートを備える第2のリング発振器と、を含む、
請求項
11の集積回路。
【請求項14】
前記予測モデルにアクセスすることは、前記SRAMローエンド電圧データの第2のセットにアクセスすることを含む、
請求項
10の集積回路。
【請求項15】
前記予測モデルにアクセスすることは、最初に、前記デバイス劣化データの第1のセットにアクセスすることと、そこから得られた結果に基づいて、前記SRAMローエンド電圧データの第2のセットにアクセスすることと、を含む、
請求項
10の集積回路。
【発明の詳細な説明】
【背景技術】
【0001】
半導体デバイスが確実に動作し得る最低電源電圧は、通常、「Vmin」と呼ばれ、電力効率や電池寿命等を考慮する上で重要なパラメータである。プロセッサチップ等の半導体部品は、展開後、HCI(Hot Carrier Injection、ホットキャリア注入)、BTI(Bias Temperature Instability、バイアス温度不安定性)等の既知の効果により、部品が動作中にストレスを受けるにつれて、部品の動作寿命とともにVminが徐々に増加する。この増加は、ローエンド動作電圧がプロセッサチップの初期のVmin又はその周辺で設定される場合、チップは、最初に展開された場合には適切に機能するが、最終的にエラー及び故障を有することを意味する。
【0002】
Vminの増加を補償するための一般的な解決策は、部品のローエンド動作電圧を設定する場合に、初期Vmin値にガードバンドを追加するように半導体部品を構成することである。ガードバンドは、既知の使用シナリオの下で、指定された期間使用した後に発生すると予想されるVminシフトを考慮して設定されている。この技術を使用することは、使用開始時から全ての部品に一定の悲観的ガードバンド(fixed, pessimistic guardband)が展開されることを意味する。この技術は、良好な歩留まり及び100万分の1不良部品率(Defective Parts Per Million、DPPM)等の品質メトリックを保証するのに役立つが、Vmin制約のある動作に関連する電力効率にとっては悪影響を及ぼす。
【図面の簡単な説明】
【0003】
【
図1】いくつかの実施形態による、加速処理ユニットのブロック図である。
【
図2】いくつかの実施形態による、
図1のAPUにおける使用に適した電源モニタ(power supply monitor、PSM)のブロック図である。
【
図3】集積回路のセットの高温動作寿命(High Temperature Operating Life、HTOL)ストレス試験中に得られた例示的な劣化データを示すチャートである。
【
図4】いくつかの実施形態による、ターゲット集積回路のためのローエンド動作電圧制御プロセスを構成するプロセスのフローチャートである。
【
図5】いくつかの実施形態による、集積回路のローエンド動作電圧を調整するためのプロセスのフローチャートである。
【発明を実施するための形態】
【0004】
以下の説明において、異なる図面における同一の符号の使用は、同様の又は同一のアイテムを示す。別段言及されなければ、「結合される」という単語及びその関連する動詞形は、当技術分野で知られている手段による直接接続及び間接電気接続の両方を含み、また、別段言及されなければ、直接接続の任意の記述は、好適な形態の間接電気接続を使用する代替の実施形態も意味する。
【0005】
方法は、ターゲット集積回路のためのローエンド動作電圧制御プロセスを構成する。本方法は、ターゲット集積回路と同じモデルの集積回路のセットの高温動作寿命(HTOL)ストレス試験を実行して、結果として得られるデバイス劣化データの第1のセットを保存することを含む。HTOL試験中に、本方法は、HTOLストレス試験中に集積回路のセット上のスタティック・ランダムアクセス・メモリ(SRAM)のスローエンド動作電圧を測定し、結果として得られたSRAMローエンド動作電圧データの第2のセットを保存する。予測モデルは、デバイス劣化データの第1のセット及びSRAMローエンド動作電圧データの第2のセットに関連付けて生成される。本方法は、ターゲット集積回路を含むデータ処理システムに予測モデルを展開することと、(a)指定されたクロックサイクルの期間にわたってターゲット集積回路上の少なくとも1つのリング発振器の発振数をカウントし、(b)発振数に基づいて、予測モデルにアクセスし、予測モデルからターゲット集積回路上のプロセッサのローエンド動作電圧限界を選択し、(c)選択されたローエンド動作電圧限界に基づいて、プロセッサのローエンド動作電圧を設定し、プロセッサをローエンド動作電圧で動作させ、(d)データ処理システムの動作中に段落(a)~(c)を複数回繰り返すように、ターゲット集積回路を構成することと、を含む。
【0006】
方法は、集積回路のローエンド動作電圧を調整する。本方法は、指定されたクロックサイクルの期間にわたって、集積回路上の少なくとも1つのリング発振器の発振数をカウントすることを含む。発振数に基づいて、本方法は、デバイス劣化データの第1のセット及びスタティック・ランダムアクセス・メモリ(SRAM)ローエンド動作電圧データの第2のセットに関連付けられた予測モデルにアクセスし、予測モデルから集積回路上のプロセッサのローエンド動作電圧限界を選択する。本方法は、選択されたローエンド動作電圧限界に基づいてプロセッサのローエンド動作電圧を設定する。これらのステップは、プロセッサの動作中に複数回繰り返される。
【0007】
集積回路は、プロセッサコアと、プロセッサコアが動作する電圧レベルを設定するシステム管理ユニットと、を含む。システム管理ユニットは、指定されたクロックサイクルの期間にわたる集積回路上の少なくとも1つのリング発振器の発振のカウントを取得することによって、プロセッサコアのローエンド動作電圧を調整するように動作可能である。カウントに基づいて、システム管理ユニットは、デバイス劣化データの第1のセット及びスタティック・ランダムアクセス・メモリ(SRAM)ローエンド動作電圧データの第2のセットに関連付けられた予測モデルにアクセスし、プロセッサコアの現在のローエンド動作電圧限界を選択する。次いで、プロセッサコアのローエンド動作電圧を選択されたローエンド動作電圧限界に設定する。これらは集積回路の動作中に複数回行われる。
【0008】
図1は、加速処理ユニット(APU)100のブロック図である。APU100は、ホストデータ処理システム内のプロセッサとして使用するのに適した集積回路であり、概して、CPUコア112及び114を含む中央処理装置(CPU)コア複合体110と、スケーラブル制御ファブリック(SCF)183と、システム管理ユニットコントローラ(SMU)180と、スケーラブル・データ・ファブリック125と、多数の周辺コントローラと、を含む。当業者によって理解されるように、APU100は、全ての実施形態に存在するこれらの要素の全てを有していなくてもよく、更に、その中に含まれる追加の要素を有してもよい。例えば、いくつかの実施形態では、CPUコアの代わりに又はCPUコアに加えて、グラフィックス処理ユニット(GPU)が存在する。更に、APU100は、マルチチップモジュール等のシステム内の1つ以上の集積回路から構築されてもよい。
【0009】
CPUコア複合体110は、CPUコア112及びCPUコア114を含む。複数のCPUコア複合体110が使用される。この例では、CPUコア複合体110が2つのCPUコアを含むが、他の実施形態では、CPUコア複合体110が4、8又は16等のより多くのCPUコアを含むことができる。CPUコア112、114の各々は、制御ファブリックを形成するSCF183と、SDF125とに対して双方向で接続されるとともに、SDF125にメモリアクセス要求や通信を提供することができる。CPUコア112、114の各々は、レベル2(L2)キャッシュ116と、以下で更に説明するように、回路劣化に関連する状態を監視するためにそれぞれのL2キャッシュ116の近くに配置された電源モニタ(PSM)115と、を含む。この実施形態では、CPUコア112、114は、図示したレベル3(L3)キャッシュ118等のCPUコア複合体110の特定のリソースを共有する。また、L3キャッシュ118は、回路劣化状態を監視するためのPSM115を含む。この実施形態では、SRAMメモリが回路の他の多くの部分よりも長期的な劣化に対して敏感であることが多いため、PSM115は、図示したキャッシュ等のスタティック・ランダムアクセス・メモリ(SRAM)構造の近くに配置される。しかしながら、他の実施形態では、PSM115を他の位置に配置することもできる。
【0010】
SDF125は、任意のメモリ・アクセス・エージェントとユニバーサル・メモリ・コントローラ(UMC)141、142との間でメモリアクセス要求及びメモリ応答をルーティングするためのクロスバースイッチを含む。また、SDF125は、システム構成に基づいてメモリアクセスの送信先を決定するための、基本入力/出力システム(basic input/output system、BIOS)によって規定されるシステムメモリマップ、並びに、各仮想接続のためのバッファも含む。本実施形態のバッファはSRAMメモリで構築されているので、回路劣化を監視するためにバッファの近くにPSM115が含まれている。
【0011】
SMU180は、APU100上のリソースの動作を制御してそれらの間の通信を同期させるローカルコントローラである。SMU180は、APU100上の様々なプロセッサのパワーアップシーケンシングを管理し、リセット、イネーブル及び他の信号を介して複数のオフチップデバイスを制御する。SMU180は、APU100の構成要素の各々にクロック信号を与えるために、位相ロックループ(phase locked loop、PLL)等の1つ以上のクロックソース(図示せず)を管理する。また、SMU180は、様々なプロセッサ及び他の機能ブロックのための電力を管理し、適切な電力状態を判定するためにCPUコア112、114及びグラフィックスコア120から測定された電力消費値を受信することができる。SMUは、試験ブロック184、熱監視ブロック185、クロック制御回路(CLK)186、ヒューズ読み取り回路187及びシステム管理入力/出力(SMUIO)ブロック188を含むシステム管理を達成するために、SCF193を介して様々な回路ブロックと通信する。また、SMU180は、各PSM115と通信して、それらを作動させて状態を監視し、結果を報告する。SMU180は、以下で更に説明するように、PSM115から得られた結果に基づいて予測された安全なローエンド動作電圧を提供する予測モデル182にアクセスすることに基づいて、関連する電圧領域のローエンド動作電圧(通常、半導体回路において測定され得る実際のVminと互換的に「Vmin」とも呼ばれる)を調整してもよい。また、SMU180は、様々なシステム監視機能及び節電機能も実装する。例えば、APU100が高温になる場合、SMU180は、CPUコア112、114の周波数及び電圧を低減することができる。SCF183を介してSMU180によって外部センサから熱イベントを受けることもでき、SMU180は、それに応じてクロック周波数及び/又は電源電圧を低減することができる。
【0012】
周辺コントローラ160は、ユニバーサルシリアルバス(universal serial bus、USB)コントローラ162及びシリアルアドバンストテクノロジーアタッチメント(Serial Advanced Technology Attachment、SATA)インターフェースコントローラ164を含み、これらのそれぞれは、システムハブ166及びSMNバスに対して双方向で接続される。これらの2つのコントローラは、APU100で使用され得る周辺コントローラの単なる典型例である。
【0013】
PCIe(Peripheral Component Interconnect Express)コントローラ174及びUSBコントローラ162は、入出力(I/O)ハブ176に対して双方向で接続されている。PCIeコントローラは、トラフィックを様々なPCIe PHYにルーティングするように適合されたマルチプレクサ/デマルチプレクサ(MUS/DEMUX)を含む。USBコントローラ162は、複数のUSB PHYに接続されている。I/Oハブ176は、システムハブ166及びSDF125に対して双方向で接続される。したがって、例えば、CPUコアは、USBコントローラ162、PCIeコントローラ174又は様々な他のコントローラ(図示せず)内のレジスタをプログラムすることができ、アクセスはSDF125ルート及びI/Oハブ176を経由する。APU100のためのソフトウェア及びファームウェアは、リードオンリーメモリ(read-only memory、ROM)、フラッシュ電気的消去可能プログラマブルROM(electrically erasable programmable ROM、EEPROM)等の様々な不揮発性メモリタイプの何れかであり得るシステムデータドライブ又はシステムBIOSメモリ(図示せず)に記憶される。通常、BIOSメモリはPCIeバスを介してアクセスされ、システムデータドライブはSATAインターフェースを介してアクセスされる。
【0014】
UMC141、142の各々は、SDF125に接続される。UMC141、142は、メモリ物理レイヤインターフェース(PHY)151、152に接続され、DDRバージョン4(DDR version four、DDR4)、低電力DDR4(low power DDR4、LPDDR4)、グラフィックDDRバージョン5(graphics DDR version five、GDDR5)及び高帯域幅メモリ(high bandwidth memory、HBM)等の最新技術DDRメモリに接続することができ、将来のメモリ技術に適合させることができる。これらのメモリは、高いバス帯域幅及び高速動作をもたらす。同時に、それらのメモリは、ラップトップコンピュータ等のバッテリ駆動用途のための電力を節約するための低電力モードを与えるとともに、内蔵熱監視も行う。
【0015】
図2は、
図1のAPU100における使用に適した電源モニタ(PSM)200のブロック図である。概して、PSM200は、いくつかのリング発振器201~204を含み、各リング発振器は、リング発振器からの発振をカウントするためのそれぞれのカウンタ205に接続される。イネーブル信号ENは、指定された期間をシステム基準クロックによって測定するために、カウンタを有効にする。また、カウンタ値は、平均化されてもよく又は他のデジタル論理(図示せず)と組み合わせられてもよい。
【0016】
リング発振器201~204の各々は、一連の論理ゲートを含み、一連の終端から始点にフィードバック接続で発振するように構成される。少なくとも1つのリング発振器のみが必要とされるが、好ましい実施形態は、その動作寿命にわたるAPU100内のデバイスの劣化を特徴付けるために、異なる論理ゲートタイプ及び異なるデバイス(トランジスタ)タイプで構築された複数の発振器を使用する。図示した構成は、異なる発振器がどのように使用されるかの例を示すために提供される。図示したように、リング発振器201は、第1の論理ゲートタイプ及び第1のデバイスタイプで構築されており、リング発振器202は、第1の論理ゲートタイプを使用するが、第2のデバイスタイプを使用している。論理ゲートタイプは、インバータ、NANDゲート、NORゲート、D型フリップフロップ、又は、CPUコア複合体110内で展開される他の一般的な論理ゲート等の様々なタイプから選択される。デバイスタイプは、CPUコア複合体110内で展開され得る様々なトランジスタのタイプ又はサイズから選択される。例えば、同じトランジスタの高電圧閾値(Vt)デバイス及び低Vtデバイスを使用することができる。異なるサイズ及びトランジスタ設計を使用することもできる。図示したように、ゲートタイプとデバイスタイプの様々な組み合わせが使用されてもよく、リング発振器203は、第2のゲートタイプに第1のデバイスタイプを使用し、リング発振器204は第2のゲートタイプに第2のデバイスタイプを使用する。ゲートタイプとデバイスタイプの組み合わせは、経時的に生じる劣化を特徴付けるために選択される。このことにより、チップが使用され/ストレスを受けることで、HCI(ホットキャリア注入)、BTI(バイアス温度不安定性)等の既知の効果によるシフト/増加が経時的に増加する。
【0017】
カウンタ205は、一連のエッジ・トリガ・ラッチを含むリップルカウンタ等の任意の適切なカウンタ設計で実装されてもよく、基準クロック信号上で動作する。動作中、PSM200は、SMU180(
図1)によって制御されて、指定された期間をシステムクロック等の基準クロックによって測定するために、リング発振器201~204及びカウンタ205を有効にする。カウンタ205は、所定の期間にわたって対応するリング発振器の発振数をカウントし、様々なゲートタイプ及びデバイスタイプが経時的に劣化するにつれて、対応するリング発振器の速度がどれだけ変化するかの指標を提供する。得られた値は、SMU180に直接レポートされ得るか、又は、レポート前にデジタル論理回路によって平均化され得るか若しくは他の方法で操作され得る。
【0018】
図3は、集積回路のセットの高温動作寿命(HTOL)ストレス試験中に得られた例示的な劣化データを示すチャート300である。試験プロセスは、
図4に関連して以下に説明される。チャート300において、縦軸は、Vminの増加の程度としての劣化を示し、横軸は、HTOLストレス試験の時間数を示す。第1のグラフは、集積回路上のSRAMのVminの劣化を示すようにプロットされている。リング発振器を含むPSM回路の劣化を示す第2のグラフがプロットされており、リング発振器が経時的に劣化するにつれて、指定されたリング発振器の周波数/カウントを得るためにどれだけの追加電圧が必要とされるかを示している。以下で説明するように、本明細書の電圧較正プロセスでは、PSM200のようなリング発振器回路を使用して、リング発振器速度をカウントすることによって測定し、各劣化点に関連付けられた速度を特定する。リング発振器の劣化は、チャートに示すようにSRAMの劣化に関連し、以下に説明されるようなランタイム較正プロセスが、現在の劣化レベルを予測し、SRAMの最低動作電圧を特定することを可能にする。
【0019】
図4は、いくつかの実施形態による、ターゲット集積回路のためのローエンド動作電圧制御プロセスを構成するプロセスのフローチャート400である。このプロセスは、例えば、
図2のPSM200のようなPSM回路にアクセスするSMU180(
図1)の制御下で実行されてもよい。
【0020】
プロセスはブロック402で始まり、部品はプロセス条件の範囲をカバーする。選択された部品は、通常、許容される変動範囲の末端で半導体製造によって生成される様々な特性を含む「コーナー」の部品を含む。典型的な部品、すなわち変動範囲の中心にある部品も含めることができる。試験される部品は、以下で更に説明するように、動作寿命予測モデルが展開されるターゲット集積回路と同じモデル又は設計のものである。
【0021】
ブロック404において、プロセスは、HTOLストレス試験の実行を開始する。HTOLストレス試験は、
図3のチャートに示すように、所定の期間、通常では数百時間、高温、高電圧及び動的動作で集積回路にストレスをかけることによって、集積回路の予想動作寿命(例えば、2年以上)にわたって生じる劣化をシミュレートする方法である。
【0022】
HTOL試験中、ブロック406のプロセスでは、電圧及び温度の範囲にわたってリング発振器回路の速度を測定する。この測定は、フローチャート400のループによって示されるように、HTOL試験全体を通して定期的に行われる。使用される電圧の範囲には、集積回路のシミュレートされた寿命にわたって様々な温度に対するローエンド動作電圧(Vmin)を判定するのに十分に低い動作電圧を含む。ローエンド電圧は、リング発振器が許容可能な速度より遅くなる電圧を特定する等のように、任意の適切な方法で特定され得る。この実施形態では、速度測定は、クロック速度によって測定された指定された期間における発振をカウントすることによって行われる。このようなカウントは、試験で測定されたローエンド動作電圧の条件で取得され、より高い電圧では、より高い電圧で動作しながらカウントを使用して劣化量を特定することを可能にする。
【0023】
同じくHTOL試験中に繰り返されるブロック408において、プロセスは、集積回路内のSRAMメモリ回路の最小動作電圧を測定する。この測定は、メモリのローエンド動作電圧を特定する。この電圧は、エラーが見つかるまで電圧を低下させること、メモリが許容可能な速度より遅くなるまで電圧を低下させること、又は、様々な電圧増分でメモリの他の特性を測定すること等によって、任意の適切な方法で判定されてもよい。ブロック408から得られたデータは、第2のSRAMローエンド動作電圧データのセットとして保存される。
【0024】
ブロック410に示すように、プロセスは、HTOL試験の過程でブロック406、408を複数回繰り返して、集積回路のシミュレートされた寿命にわたる
図3のような劣化データを取得する。ブロック412で、このデータに基づいて予測モデルが生成される。この実施形態では、予測モデルは、カウント値の形態のリング発振器速度データと、ブロック406、408における測定値に関連付けられたデータと、を含み、リング発振器の発振をカウントすることに基づいて劣化の予測レベルを特定することを可能にする。劣化の予測レベルは、好ましくは、速度データの各データポイントに関連付けられた所望のローエンド動作電圧として記憶される。他の実施形態では、測定された速度データ又はリング発振器カウントを入力として関連付け、ローエンド動作電圧限界を出力として関連付ける数学的モデルを展開することができる。これらの実施形態では、ブロック412は、SRAM劣化データ(
図3)を測定されたリング発振器速度に関連付けるための数式又はモデルを生成するために、データを曲線マッチングすることを含む。
【0025】
ブロック414において、予測モデルは、HTOL試験が実行された集積回路設計を含むデータ処理システムに展開される。予測モデルデータは、システムに、通常、SMU180のようなシステム管理コントローラによってアクセス可能な不揮発性メモリに保存される。SMUはソフトウェア又はファームウェアで構成され、集積チップの寿命中にローエンド動作電圧の調整を行う。
【0026】
図5は、集積回路のローエンド動作電圧を調整するためのプロセスのフローチャート500である。この実施形態では、プロセスは、集積回路の「ミッションモード」又は展開動作中に実行され、ファームウェアの制御下でSMU180等のシステム管理プロセッサによって管理される。他の実施形態では、適切なデジタル回路でプロセスを制御してもよい。
【0027】
プロセスはブロック502で始まり、そこで、指定されたクロックサイクルの期間にわたってターゲット集積回路上の少なくとも1つのリング発振器の発振数をカウントする。上述したように、カウントは、
図2に関して説明したような異なるゲートタイプ及び異なるデバイスタイプを有するリング発振器を含む、2つ以上のリング発振器について実行されてもよい。この実施形態では、カウントは、リング発振器を含むPSM回路を有効にし、リング発振器に接続されたカウンタ205等のカウンタから結果として得られるカウント値を受信することによって実行される。
【0028】
ブロック504において、発振数に基づいて、プロセスは、予測モデルにアクセスし、モデルからターゲット集積回路上のプロセッサのローエンド動作電圧を選択する。
【0029】
ブロック506において、プロセスは、選択されたローエンド動作電圧に基づいてプロセッサのローエンド動作電圧を設定し、次いで、プロセッサを動作させる。このような電圧調整は、プロセッサ以外の他の回路に対して、且つ、SRAMが存在する複数の電圧領域に対して実行されてもよい。例えば、SDF125が別個の電圧領域で動作する場合、個別の調整がその領域に対して行われ得る。更に、プロセスは、ローエンド又はVmin動作電圧である電圧を設定するが、プロセッサは、当然ながら、性能要件及び温度等の他の関連条件に基づいて、動作中に動作電圧を最小値よりも高くなるように変動させてもよい。
【0030】
ブロック508において、プロセスは、データ処理システムの動作中にブロック502~506を複数回繰り返す。例えば、ブロックは、ブート時に、及び、ホストデータ処理システムがブート又はリセットされた後の動作中に選択された間隔で繰り返すことができる。
【0031】
図1のAPU100又はSMU180等のその任意の部分は、プログラムによって読み取られ、集積回路を製造するために直接的又は間接的に使用され得るデータベース又は他のデータ構造の形態のコンピュータアクセス可能データ構造によって記述又は表現され得る。例えば、このデータ構造は、Verilog又はVHDL等の高レベル設計言語(high level design language、HDL)におけるハードウェア機能の挙動レベル記述又はレジスタ転送レベル(register-transfer level、RTL)記述であってもよい。記述は、合成ライブラリからゲートのリストを含むネットリストを生成するために記述を合成することができる合成ツールによって読み取ることができる。ネットリストは、集積回路を含むハードウェアの機能も表すゲートのセットを備える。ネットリストは、次いで、マスクに適用される幾何学的形状を記述するデータセットを生成するために配置され、ルーティングされ得る。次いで、マスクを様々な半導体製造工程で使用して、集積回路を製造することができる。代替的に、コンピュータアクセス可能格納媒体上のデータベースは、所望に応じて、ネットリスト(合成ライブラリの有無にかかわらず)若しくはデータセット、又は、グラフィックデータシステム(Graphic Data System、GDS)IIデータであり得る。
【0032】
本開示から理解され得るように、上述した技術は、所定のチップの各々の実際の使用条件及び劣化に応じて、チップの使用中の任意の所望の時間に追加される正しい量のVmin補償を動的に判定するためのミッションモード較正サイクルを提供する。これにより、大部分の部品の寿命の大半を占めるVmin制限動作における電力効率が大幅に改善される。
【0033】
本明細書の技術は、様々な実施形態において、大容量のメモリ拡張モジュール、例えば、メディアサーバ及びデータ処理プラットフォームを展開する任意の適切なシステムとともに使用され得る。更に、本技術は、メモリ拡張デバイスが高速バス又は通信リンクを介してプロセッサに接続されるメモリ中心アーキテクチャを含む、CPU及びアクセラレーションプロセッサとともに実装されたプロセッサとともに使用するために広く適用可能である。
【0034】
特定の実施形態を説明してきたが、これらの実施形態に対する様々な修正が当業者には明らかである。例えば、予測モデルは、
図4で説明した試験から得られたデータを含むことができ、又は、そのような試験の結果に基づく数学的モデルを含むことができ、数学的モデルは、発振器の速度測定値をSRAM回路の予測Vminにマッピングする。したがって、添付の特許請求の範囲は、開示された実施形態の範囲内に含まれる開示された実施形態の全ての変更を網羅することを意図している。
【要約】
集積回路のローエンド動作電圧が調整される。発振は、指定されたクロックサイクル期間にわたって集積回路上のリング発振器でカウントされる。発振数に基づいて、デバイス劣化データの第1のセット及びスタティック・ランダムアクセス・メモリ(SRAM)ローエンド動作電圧データの第2のセットに関連付けられた予測モデルが、集積回路上のプロセッサのローエンド動作電圧限界を選択するために使用される。プロセッサのローエンド動作電圧は、選択されたローエンド動作電圧限界に基づいて設定される。これらのステップは、プロセッサの動作中に複数回繰り返される。予測モデルを生成するために展開されるデータを提供するために集積回路を試験する方法も提供される。
【選択図】
図5