(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023181632
(43)【公開日】2023-12-25
(54)【発明の名称】情報処理装置及び劣化推定方法
(51)【国際特許分類】
G01R 31/3173 20060101AFI20231218BHJP
G06F 30/367 20200101ALI20231218BHJP
G01R 31/30 20060101ALI20231218BHJP
H01L 21/822 20060101ALI20231218BHJP
G06F 30/30 20200101ALN20231218BHJP
G06F 119/04 20200101ALN20231218BHJP
【FI】
G01R31/3173
G06F30/367
G01R31/30
H01L27/04 T
G06F30/30
G06F119:04
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022094871
(22)【出願日】2022-06-13
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】竹田 圭吾
【テーマコード(参考)】
2G132
5B146
5F038
【Fターム(参考)】
2G132AA01
2G132AB07
2G132AB14
2G132AC09
5B146AA22
5B146GL12
5F038AZ08
5F038DT08
5F038DT12
5F038DT19
(57)【要約】
【課題】回路の性能劣化を示す情報の推定精度を向上させる。
【解決手段】取得部は、回路の動作条件を取得する。計算部は、動作条件が変化した場合、変化後の動作条件に基づいて回路の動作時間を補正することで、補正後の動作時間を求め、変化後の動作条件と補正後の動作時間とを用いて、回路の性能劣化情報を計算する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
回路の動作条件を取得する取得部と、
前記動作条件が変化した場合、変化後の動作条件に基づいて前記回路の動作時間を補正することで、補正後の動作時間を求め、前記変化後の動作条件と前記補正後の動作時間とを用いて、前記回路の性能劣化情報を計算する計算部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記計算部は、第1動作時間と、前記第1動作時間に対応する第1性能劣化情報と、前記変化後の動作条件とに基づいて、動作時間の補正量を求め、前記第1動作時間よりも長い第2動作時間と前記動作時間の補正量とに基づいて、前記補正後の動作時間を求め、前記変化後の動作条件と前記補正後の動作時間とを用いて、前記第2動作時間に対応する第2性能劣化情報を計算し、前記第2性能劣化情報を前記回路の性能劣化情報として用いることを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記回路の性能劣化情報を閾値と比較した結果に基づいて、前記回路の性能が劣化した場合の制御を行う制御部をさらに備えることを特徴とする請求項1又は2記載の情報処理装置。
【請求項4】
前記動作条件は、前記回路の電圧又は前記回路の温度のうち少なくとも一方を含むことを特徴とする請求項1又は2記載の情報処理装置。
【請求項5】
回路の動作条件を取得し、
前記動作条件が変化した場合、変化後の動作条件に基づいて前記回路の動作時間を補正することで、補正後の動作時間を求め、
前記変化後の動作条件と前記補正後の動作時間とを用いて、前記回路の性能劣化情報を計算する、
処理をコンピュータが実行することを特徴とする劣化推定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、劣化推定技術に関する。
【背景技術】
【0002】
近年、情報処理装置(コンピュータ)に使用される集積回路の規模の増加、動作の高速化、及びプロセスの微細化に伴って、経年劣化に起因する遅延故障による誤動作が問題となってきている。特に、高信頼性を要求される情報処理装置の場合、集積回路自体の安全設計の見地から、経年劣化による故障が顕在化する前に、経時変化に伴う回路特性の変化を検出することが望ましい。集積回路の性能劣化を示す性能劣化量としては、例えば、信号の伝搬遅延時間の増加量が用いられる。
【0003】
伝搬遅延時間の増加量を検出する技術に関連して、レプリカパスを用いるAVFS(Adaptive Voltage-Frequency Scaling)を搭載したAPU(Accelerated Processing Unit)が知られている(例えば、非特許文献1を参照)。半導体装置におけるLSI(Large Scale Integration)の劣化が致命的になる前にそれを検知する劣化検出回路も知られている(例えば、特許文献1を参照)。半導体装置の寿命推定方法も知られている(例えば、特許文献2を参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2013-168574号公報
【特許文献2】特開2003-282590号公報
【非特許文献】
【0005】
【非特許文献1】K. Wilcox et al., “4.8 A 28nm x86 APU Optimized for Power and Area Efficiency”, 2015 IEEE International Solid-State Circuits Conference - (ISSCC) Digest of Technical Papers, 3 pages, 2015.
【発明の概要】
【発明が解決しようとする課題】
【0006】
集積回路の電圧、温度、及び動作時間を変数とするフィッティング式を用いて、集積回路の性能劣化量を推定する際、集積回路の動作中に電圧、温度等の動作条件が変化すると、推定された性能劣化量の精度が低下することがある。
【0007】
なお、かかる問題は、集積回路に限らず、動作条件の変化に伴って性能が劣化する様々な回路において生ずるものである。
【0008】
1つの側面において、本発明は、回路の性能劣化を示す情報の推定精度を向上させることを目的とする。
【課題を解決するための手段】
【0009】
1つの案では、情報処理装置は、取得部及び計算部を含む。取得部は、回路の動作条件を取得する。計算部は、動作条件が変化した場合、変化後の動作条件に基づいて回路の動作時間を補正することで、補正後の動作時間を求め、変化後の動作条件と補正後の動作時間とを用いて、回路の性能劣化情報を計算する。
【発明の効果】
【0010】
1つの側面によれば、回路の性能劣化を示す情報の推定精度を向上させることができる。
【図面の簡単な説明】
【0011】
【
図1】フィッティング式を用いて推定された性能劣化量を示す図である。
【
図2】実施形態の情報処理装置の機能的構成図である。
【
図3】第1の劣化推定処理のフローチャートである。
【
図4】情報処理装置の具体例を示す機能的構成図である。
【
図6】第2の劣化推定処理のフローチャートである。
【
図8】シミュレーション処理のフローチャートである。
【
図9】回路シミュレーションのフローチャートである。
【
図10】性能劣化量計算処理のフローチャートである。
【
図11】性能劣化量計算処理によって計算された性能劣化量を示す図である。
【
図14】FIFO方式で格納された変数を示す図である。
【
図15】劣化推定処理における計算結果を示す図である。
【
図16】劣化推定処理により推定された性能劣化量を示す図である。
【
図17】情報処理装置の第1のハードウェア構成図である。
【
図21】動作モード選択処理のフローチャートである。
【
図22】情報処理装置の第2のハードウェア構成図である。
【
図23】情報処理装置の第3のハードウェア構成図である。
【
図24】情報処理装置の第4のハードウェア構成図である。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら、実施形態を詳細に説明する。
【0013】
非特許文献1のAPUでは、クリティカルパスのレプリカ回路における伝搬遅延時間の経時変化を検出することで、APUの劣化が検出される。クリティカルパスは、伝搬遅延時間が最も長いデータパスである。APUの電圧又は温度に応じて、クリティカルパスとなり得るデータパスが変化するため、様々な回路構成のデータパスが実装されている。
【0014】
各データパスについて、レプリカ回路から出力されるパルス信号と、そのパルス信号を遅延させた基準信号とが比較され、2つの信号が一致しない場合、Near Missと呼ばれるエラー信号がハイレベルで出力される。
【0015】
しかしながら、APU等の集積回路にレプリカ回路を実装する場合、レプリカ回路の制御回路、測定回路等も併せて実装されるため、集積回路の有効回路面積が減少する。
【0016】
これに対して、集積回路の電圧、温度、及び動作時間を変数とするフィッティング式を用いて、集積回路の性能劣化量を推定する方法では、レプリカ回路を実装する必要がないため、有効回路面積の減少の問題は生じない。
【0017】
この推定方法では、トランジスタの経年劣化を考慮した回路モデルを用いた、SPICE(Simulation Program with Integrated Circuit Emphasis)による回路シミュレーションの結果から、フィッティング式が生成される。
【0018】
図1は、フィッティング式を用いて推定された性能劣化量の例を示している。性能劣化量は、信号の伝搬遅延時間の増加量を表す。横軸は、動作時間を表す。動作時間は、集積回路が動作を開始してから経過した経過時間である。
【0019】
折れ線101は、集積回路の駆動電圧の時間変化を示している。駆動電圧は、定格電圧を100%として正規化されている。動作時間が0からt1までの間、駆動電圧は100%であり、動作時間がt1のとき、駆動電圧は120%に上昇している。動作時間がt1からt2までの間、駆動電圧は120%であり、動作時間がt2のとき、駆動電圧は100%に低下している。
【0020】
折れ線102は、集積回路の実際の性能劣化量の時間変化を示している。動作時間が0のとき、性能劣化量は0%である。動作時間が0からt1までの間、性能劣化量は2%未満であり、動作時間がt1のとき、性能劣化量は上昇している。動作時間がt1からt2までの間、性能劣化量は連続的に上昇し、動作時間がt2のとき、上昇が停止している。
【0021】
折れ線103は、フィッティング式を用いて推定された性能劣化量の時間変化を示している。動作時間が0からt1までの間、推定された性能劣化量は折れ線102に近い値を示しているが、動作時間がt1のとき、推定された性能劣化量は折れ線102よりも急速に上昇している。動作時間がt1からt2までの間、推定された性能劣化量は連続的に上昇し、動作時間がt2のとき、推定された性能劣化量は急速に低下している。
【0022】
このように、集積回路の動作中に駆動電圧が変化すると、フィッティング式を用いて推定された性能劣化量は、駆動電圧が上昇している、t1からt2までの期間とは無関係に、実際の性能劣化量から乖離してしまう。集積回路の動作中に温度が変化した場合も、同様の乖離が生じる。したがって、この推定方法は、集積回路が寿命を迎えるまで駆動電圧及び温度が変化しないという条件の下でのみ有効である。
【0023】
しかし、最近の集積回路は、AVFS又はDVFS(Dynamic Voltage and Frequency Scaling)のような、負荷又は接合温度に応じて電圧及びクロック周波数を調節する機能を有している。この場合、集積回路の動作中に電圧又は温度が変化するため、フィッティング式を用いて性能劣化量を精度良く推定することは困難になる。
【0024】
図2は、実施形態の情報処理装置の機能的構成例を示している。
図2の情報処理装置201は、取得部211及び計算部212を含む。
【0025】
図3は、
図2の情報処理装置201が行う第1の劣化推定処理の例を示すフローチャートである。まず、取得部211は、回路の動作条件を取得する(ステップ301)。次に、計算部212は、動作条件が変化した場合、変化後の動作条件に基づいて回路の動作時間を補正することで、補正後の動作時間を求め(ステップ302)、変化後の動作条件と補正後の動作時間とを用いて、回路の性能劣化情報を計算する(ステップ303)。
【0026】
図2の情報処理装置201によれば、回路の性能劣化を示す情報の推定精度を向上させることができる。
【0027】
図4は、
図2の情報処理装置201の具体例を示している。
図4の情報処理装置401は、生成部411、取得部412、計算部413、制御部414、出力部415、及び記憶部416を含む。取得部412及び計算部413は、
図2の取得部211及び計算部212にそれぞれ対応する。
【0028】
情報処理装置401は、監視対象の集積回路TCにおける信号の伝搬遅延時間の増加量を、性能劣化量として推定する。集積回路TCは、例えば、情報処理装置401に含まれるCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、APU等の演算処理装置を搭載するLSIである。演算処理装置は、プロセッサと呼ばれることもある。
【0029】
記憶部416は、回路情報421を記憶する。回路情報421は、集積回路TCを表す回路モデルのネットリストを示す情報を含む。回路モデルとしては、例えば、複数のゲート素子を接続した回路が用いられる。回路モデルは、集積回路TCに含まれるクリティカルパスを表していてもよい。
【0030】
図5は、回路モデルの例を示している。
図5の回路モデルは、ステップ信号源VI、配線抵抗R1~配線抵抗R(M+1)、寄生容量C1~寄生容量C(M+1)、ゲート素子LG1~ゲート素子LGM、及び出力端子501を含む。Mは、2以上の整数である。各寄生容量Ci(i=1~M+1)は、配線とグラウンドの間の寄生容量を表す。各ゲート素子LGi(i=1~M)を駆動する電源は省略されている。
【0031】
ステップ信号源VIは、ステップ信号をゲート素子LG1に入力する。各ゲート素子LGiは、任意の種類のゲート素子である。ゲート素子LG1~ゲート素子LGMは、それぞれ異なる種類のゲート素子であってもよい。
【0032】
ゲート素子LGiとして多入力のゲート素子を使用する場合は、駆動電圧である電源電圧VDD又はグラウンドに空きピンが接続される。これにより、入力されたステップ信号が多入力のゲート素子を伝搬する。LG1及びLGMは、理想電源の出力インピーダンス又は負荷のインピーダンスが無限大である影響を軽減するためのバッファとして使用されることが望ましい。
【0033】
取得部412は、電圧センサ及び温度センサを含む。電圧センサは、集積回路TCの電圧を取得し、温度センサは、集積回路TCの温度を取得する。集積回路TCの電圧としては、例えば、駆動電圧が用いられる。駆動電圧は、集積回路TCに印加される電源電圧を表す。集積回路TCの温度としては、例えば、動作環境温度が用いられる。電圧及び温度は、集積回路TCの動作条件に対応する。
【0034】
図6は、
図4の情報処理装置401が行う第2の劣化推定処理の例を示すフローチャートである。
【0035】
Vdd0及びVdd1は、集積回路TCの電圧を表す変数であり、Temp0及びTemp1は、集積回路TCの温度を表す変数である。N0及びN1は、集積回路TCの動作時間を表す変数であり、X0及びX1は、集積回路TCの動作時間の自然対数を表す変数である。Y0及びY1は、集積回路TCの性能劣化量の自然対数を表す変数である。動作時間の単位としては、任意の単位(a.u.)を用いることができる。
【0036】
まず、生成部411は、回路情報421を用いて回路シミュレーションを行うことで、集積回路TCの電圧Vdd、温度Temp、及び動作時間Nから性能劣化量Δdpを推定する計算式を生成する(ステップ601)。そして、生成部411は、生成された計算式を示す計算式情報422を、記憶部416に格納する。
【0037】
図7は、
図6のステップ601における計算式生成処理の例を示すフローチャートである。まず、生成部411は、回路情報421を用いてシミュレーション処理を行うことで、電圧、温度、及び動作時間の複数の組み合わせそれぞれに対するシミュレーション結果を生成する(ステップ701)。
【0038】
次に、生成部411は、電圧、温度、及び動作時間の各組み合わせに対する回路シミュレーションの結果からΔdpを計算し(ステップ702)、次式のような計算式を設定する。
【0039】
Y=d×X+a×Vdd+b×Temp+c (1)
【0040】
Xは、動作時間Nの自然対数ln(N)を表す説明変数であり、Yは、Δdpの自然対数ln(Δdp)を表す目的変数である。a、b、c、及びdは、未知の定数である。式(1)は、フィッティング式と呼ばれることもある。
【0041】
次に、生成部411は、ステップ702で計算された各Δdpの自然対数ln(Δdp)をYに設定し、Δdpに対応するNの自然対数ln(N)をXに設定する(ステップ703)。そして、生成部411は、線形重回帰分析を行うことで、a、b、c、及びdの値を決定し(ステップ704)、決定されたa、b、c、及びdの値を含む計算式情報422を生成して、記憶部416に格納する(ステップ705)。
【0042】
a、b、c、及びdの値を記憶部416に保存しておくことで、任意の動作時間、電圧、及び温度におけるΔdpを推定することが可能になる。
【0043】
図8は、
図7のステップ701におけるシミュレーション処理の例を示すフローチャートである。生成部411は、所定の電圧範囲に属するK1個の電圧各々と、所定の温度範囲に属するK2個の温度各々と、所定の時間範囲に属するK3個の動作時間各々との組み合わせを用いて、ステップ801の回路シミュレーションを繰り返す。K1、K2、及びK3は、2以上の整数である。この場合、回路シミュレーションの反復回数は、K1×K2×K3回となる。
【0044】
図9は、
図8のステップ801における回路シミュレーションの例を示すフローチャートである。
図9の回路シミュレーションは、例えば、SPICEによる回路シミュレーションである。
【0045】
Trfは、回路モデルで使用されるステップ信号のスルーレートを表す変数であり、Vinは、ステップ信号の最大振幅を表す変数である。TRVは、トランジスタのプロセスばらつきを表す変数であり、LVは、配線抵抗及び寄生容量のプロセスばらつきを表す変数である。TRV及びLVとしては、任意の条件を選択して用いることができる。
【0046】
まず、生成部411は、回路モデルの初期条件を設定する(ステップ901)。初期条件は、集積回路TCの性能が劣化していない状態に対応する。生成部411は、Vddに電圧Vを設定し、Tempに温度Tを設定し、Nに0を設定する。そして、生成部411は、TrfにスルーレートSRを設定し、Vinに電圧Vを設定し、TRVにプロセスばらつきSSを設定し、LVにプロセスばらつきCworstを設定する。VinとVddの値は異なっていてもよい。
【0047】
SSは、n型MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor)の閾値電圧がtypical値よりも3σだけ高く、p型MOSFETの閾値電圧がtypical値よりも3σだけ高いプロセスばらつきを表す。Cworstは、寄生線間容量が最大となるプロセスばらつきを表す。生成部411は、SS以外のプロセスばらつきをTRVに設定してもよく、Cworst以外のプロセスばらつきをLVに設定してもよい。
【0048】
次に、生成部411は、半導体製造ファウンドリから提供される劣化モデルに基づいてシミュレーションを行うことで、SHE(Self-Heating Effect)による回路モデルの温度上昇dTempを求める(ステップ902)。
【0049】
次に、生成部411は、Temp+dTempをTempに設定することで、SHEによる温度上昇を温度に加算する(ステップ903)。そして、生成部411は、Tempを用いてシミュレーションを行うことで、劣化前の伝搬遅延時間Tdを求める(ステップ904)。例えば、
図5の回路モデルの場合、Tdは、LG2からLG(M-1)までのパスにおいて、任意の入力と任意の出力との間の伝搬遅延時間を表す。
【0050】
次に、生成部411は、Nに動作時間tを設定する(ステップ905)。そして、生成部411は、Nが示す動作時間だけ回路モデルを動作させたときのSHEによる平均温度上昇dTemp(N)を求めるシミュレーションを行う(ステップ906)。
【0051】
次に、生成部411は、Temp+dTemp(N)をTempに設定することで、SHEによる平均温度上昇を温度に加算する(ステップ907)。そして、生成部411は、半導体製造ファウンドリから提供される劣化モデルに基づいてシミュレーションを行うことで、Tempが示す温度でNが示す動作時間だけ回路モデルを動作させたときの劣化後の伝搬遅延時間Td(N)を求める(ステップ908)。
【0052】
ステップ908では、トランジスタのバイアス温度不安定性(Bias Temperature Instability,BTI)及びホットキャリア注入(Hot Carrier Injection,HCI)による劣化を考慮したシミュレーションが行われる。
【0053】
図10は、
図7のステップ702における性能劣化量計算処理の例を示すフローチャートである。生成部411は、電圧、温度、及び動作時間の組み合わせ毎に、
図9の回路シミュレーションにより求められたTd及びTd(N)を用いて、
図10の性能劣化量計算処理を行う。
【0054】
TF(ud)は、回路モデルで使用されるステップ信号がupからdownに遷移したときのTdを表し、TF(du)は、ステップ信号がdownからupに遷移したときのTdを表す。TD(ud)は、ステップ信号がupからdownに遷移したときのTd(N)を表し、TD(du)は、ステップ信号がdownからupに遷移したときのTd(N)を表す。
【0055】
まず、生成部411は、TF(ud)とTF(du)の平均値をTF(mean)に設定し、TD(ud)とTD(du)の平均値をTD(mean)に設定する(ステップ1001)。そして、生成部411は、TF(mean)に対するTD(mean)の比率から1を減算し、得られた値をΔdpに設定する(ステップ1002)。
【0056】
図8のシミュレーション処理において、Vdd、温度、及び動作時間に加えて、Vinも変動させることができる。所定の電圧範囲に属するK4個のVinを用いた場合、回路シミュレーションの反復回数は、K1×K2×K3×K4回となる。
【0057】
図11は、
図10の性能劣化量計算処理によって計算された性能劣化量の例を示している。ln(N)は、動作時間Nの自然対数を表し、ln(Δdp)は、電圧Vdd、温度Temp、及び動作時間Nの組み合わせから計算された性能劣化量Δdpの自然対数を表す。ln(N)及びln(Δdp)は、
図7のステップ703において用いられる。
【0058】
A及びBは、それぞれ異なる電圧を表し、E及びFは、それぞれ異なる温度を表し、α、β、及びγは、それぞれ異なる動作時間を表す。Δdp1~Δdp8は、それぞれ異なる性能劣化量を表し、Vdd、Temp、及びNの異なる組み合わせから計算されている。
【0059】
図6のステップ601においてΔdpを推定する計算式が生成された後、取得部412は、動作している集積回路TCから、集積回路TCの電圧V0及び温度T0を取得して、計算部413へ出力する。計算部413は、Vdd0及びTemp0にV0及びT0をそれぞれ設定し、X0及びY0に0を設定する(ステップ602)。そして、計算部413は、Vdd1及びTemp1にVdd0及びTemp0をそれぞれ設定し、N0に0を設定する。
【0060】
そして、計算部413は、X0及びY0を、それぞれ、動作時間情報423-1及び性能劣化情報424-1として、記憶部416に格納する。Vdd0、Temp0、X0、及びY0は、集積回路TCの性能が劣化していない状態を表している。
【0061】
次に、計算部413は、推定タイミングにおける動作条件の変化を検出し(ステップ603)、動作時間の補正量NBを設定する(ステップ604)。
【0062】
図12は、
図6のステップ603における検出処理の例を示すフローチャートである。まず、計算部413は、動作条件が変化したか否かをチェックする(ステップ1201)。
【0063】
ステップ1201において、取得部412は、動作している集積回路TCから、推定タイミングにおける集積回路TCの電圧V1及び温度T1を取得して、計算部413へ出力する。
【0064】
計算部413は、V1及びT1をVdd0及びTemp0とそれぞれ比較して、電圧又は温度が変化したか否かをチェックする。電圧又は温度の何れかが変化した場合、動作条件が変化したと判定される。電圧又は温度の何れも変化していない場合、動作条件が変化していないと判定される。
【0065】
動作条件が変化した場合(ステップ1201,YES)、計算部413は、Vdd1及びTemp1にV1及びT1をそれぞれ設定し、推定タイミングにおける動作時間tをN1に設定する(ステップ1202)。
【0066】
動作条件が変化していない場合(ステップ1201,NO)、計算部413は、推定タイミングにおける動作時間tをN1に設定する(ステップ1203)。
【0067】
図13は、
図6のステップ604における補正量設定処理の例を示すフローチャートである。まず、計算部413は、N0=0であるか否かをチェックする(ステップ1301)。
【0068】
N0が0である場合(ステップ1301,YES)、計算部413は、NBに0を設定する(ステップ1302)。N0が0ではない場合(ステップ1301,NO)、計算部413は、次式によりNBを計算する(ステップ1303)。
【0069】
NB=N0-exp{(Y0-a×Vdd1-b×Temp1-c)/d} (2)
【0070】
N0が0ではない場合は、経時の途中に対応する。式(2)のa、b、c、及びdとしては、計算式情報422が示す値が用いられる。N0は、第1動作時間の一例であり、Y0は、第1動作時間に対応する第1性能劣化情報の一例であり、Vdd1及びTemp1は、変化後の動作条件の一例である。
【0071】
ここで、式(2)の導出方法について説明する。式(1)を変形すると、次式が得られる。
【0072】
X=ln(N)=(Y-a×Vdd-b×Temp-c)/d (3)
【0073】
式(3)より、次式が得られる。
【0074】
N=exp{(Y-a×Vdd-b×Temp-c)/d} (4)
【0075】
式(4)において、Y=Y0、Vdd=Vdd1、Temp=Temp1と設定すると、次式が得られる。
【0076】
N=exp{(Y0-a×Vdd1-b×Temp1-c)/d} (5)
【0077】
式(5)のNは、推定タイミングにおける新たな電圧及び温度の下で、集積回路TCの性能劣化量がY0に対応する値になるまでにかかる動作時間を表す。したがって、式(5)のNに、N1とN0との差分N1-N0を加算することで、補正後のN1を求めることができる。NBは、N1と補正後のN1との差分として、次式により計算される。
【0078】
NB=N1-exp{(Y0-a×Vdd1-b×Temp1-c)/d}
-(N1-N0)
=N0-exp{(Y0-a×Vdd1-b×Temp1-c)/d} (6)
【0079】
式(6)の右辺は、式(2)の右辺と一致している。N1は、第1動作時間よりも長い第2動作時間の一例である。
【0080】
図6のステップ604において動作時間の補正量NBが設定された後、計算部413は、N1からNBを減算することでN1を補正し、補正後の動作時間N1-NBを求める。そして、計算部413は、X1にln(N1-NB)を設定する(ステップ605)。
【0081】
次に、計算部413は、次式によりY1を計算する(ステップ606)。
【0082】
Y1=d×X1+a×Vdd1+b×Temp1+c (7)
【0083】
そして、計算部413は、X1及びY1を、それぞれ、動作時間情報423-2及び性能劣化情報424-2として、記憶部416に格納する。Y1は、第2動作時間に対応する第2性能劣化情報の一例である。
【0084】
式(2)によりNBを計算し、NBを用いて式(7)によりY1を計算することで、推定タイミングにおける新たな電圧及び温度を反映した性能劣化情報を求めることができる。
【0085】
出力部415は、Y1に基づく推定結果を出力する。推定結果は、Y1であってもよく、Δdpであってもよい。推定結果がΔdpである場合、計算部413は、Δdp=exp(Y1)により、Δdpを計算する。
【0086】
次に、計算部413は、Y1を閾値Lと比較する(ステップ607)。Y1がLよりも小さい場合(ステップ607,YES)、計算部413は、Vdd0及びTemp0にVdd1及びTemp1をそれぞれ設定し、X0及びY0にX1及びY1をそれぞれ設定し、N0にN1を設定する(ステップ608)。そして、情報処理装置401は、次の推定タイミングについてステップ603以降の処理を繰り返す。
【0087】
Y1がL以上になった場合(ステップ607,NO)、制御部414は、集積回路TCの性能が劣化した場合の制御を行う(ステップ609)。この場合、制御部414は、エラー信号を出力部415へ出力してもよい。出力部415は、制御部414からエラー信号が出力された場合、集積回路TCの性能が劣化したことを示す警告情報を出力する。
【0088】
情報処理装置401は、Vdd0及びVdd1を、FIFO(First In First Out)方式で記憶部416に格納してもよい。Temp0及びTemp1、X0及びX1、Y0及びY1についても同様である。
【0089】
図14は、FIFO方式で格納された変数の例を示している。変数Z0は、Vdd0、Temp0、X0、又はY0を表し、変数Z1は、Vdd1、Temp1、X1、又はY1を表す。
【0090】
動作時間tが0のとき、Z0はα1であり、Z1はα2である。動作時間tがτ1のとき、Z0はα2であり、Z1はα3である。動作時間tがτ2のとき、Z0はα3であり、Z1はα4である。α1~α4の値は、必ずしも異なっているとは限らない。
【0091】
図15は、
図6の劣化推定処理における計算結果の例を示している。
図15(a)は、計算式情報422が示す定数の例を示している。この例では、a=7.62989、b=0.01515、c=-11.26361、d=0.19883である。
【0092】
図15(b)は、動作条件の例を示している。Vddは、Vdd0又はVdd1を表し、Tempは、Temp0又はTemp1を表す。a×Vdd+b×Temp+cは、a×Vdd0+b×Temp0+c又はa×Vdd1+b×Temp1+cの計算結果を表す。例えば、条件1の場合、Vdd=0.6[V]、Temp=60[°C]、a×Vdd+b×Temp+c=-5.7767である。
【0093】
図15(c)は、推定された性能劣化量Δdpの例を示している。
図15(c)の動作条件は、前回の推定タイミングから今回の推定タイミングまでの期間における動作条件を表す。例えば、動作時間tが7[a.u.]のときの条件2は、t=5の推定タイミングからt=7の推定タイミングまでの期間における動作条件を表す。
【0094】
t=0のとき、集積回路TCの性能は明らかに劣化していないため、動作時間の補正量NBは0[a.u.]となっており、Δdpは、0%となっている。
【0095】
t=3のとき、N0=0であるため、NBは0に設定される。Δdpは、
図15(b)の動作条件、動作時間t、及びNBを用いて、次式により計算される。
【0096】
Y1=d×ln(t-NB)+a×Vdd1+b×Temp1+c (8)
Δdp=exp(Y1) (9)
【0097】
動作条件は条件1であるため、a×Vdd1+b×Temp1+c=-5.7767となる。したがって、式(8)及び式(9)より、Δdpは約0.39%となる。
【0098】
t=5のとき、N0=3であるため、NBは、
図15(b)の動作条件を用いて、式(2)により計算される。動作条件は条件1であるため、a×Vdd1+b×Temp1+c=-5.7767となる。したがって、NBは、次式により計算される。
【0099】
U=(ln(0.003856)-(-5.7767))/0.19883 (10)
NB=3-exp(U)
=-0.0021 (11)
【0100】
Δdpは、
図15(b)の動作条件、動作時間t、及びNBを用いて、式(8)及び式(9)により計算される。したがって、Δdpは約0.43%となる。
【0101】
t=7のとき、N0=5であるため、NBは、
図15(b)の動作条件を用いて、式(2)により計算される。動作条件は条件2であるため、a×Vdd1+b×Temp1+c=-2.2702となる。したがって、NBは、次式により計算される。
【0102】
U=(ln(0.004268)-(-2.2702))/0.19883 (12)
NB=5-exp(U)
=5.000 (13)
【0103】
Δdpは、
図15(b)の動作条件、動作時間t、及びNBを用いて、式(8)及び式(9)により計算される。したがって、Δdpは約11.9%となる。同様にして、t=9のとき、NB=約6.1、Δdp=約14.9[%]となり、t=10のとき、NB=約6.1、Δdp=約15.8[%]となる。
【0104】
なお、式(1)のXは、動作時間Nの常用対数log(N)を表す説明変数であってもよく、Yは、Δdpの常用対数log(Δdp)を表す目的変数であってもよい。この場合、X0及びX1は、動作時間の常用対数を表し、Y0及びY1は、性能劣化量の常用対数を表す。
【0105】
図16は、
図6の劣化推定処理により推定された性能劣化量の例を示している。
図16の例は、
図15に示した例とは異なっている。折れ線101が示す駆動電圧の時間変化と、折れ線102が示す実際の性能劣化量の時間変化については、
図1と同様である。
【0106】
折れ線1601は、
図6の劣化推定処理により推定された性能劣化量の時間変化を示している。t1からt2までの間、駆動電圧が上昇しているにもかかわらず、推定された性能劣化量は、全期間にわたって折れ線102に近い値を示している。したがって、
図1に示した推定結果よりも誤差が減少していることが分かる。
【0107】
図4の情報処理装置401によれば、レプリカ回路とレプリカ回路の制御回路、測定回路等を集積回路TCに実装する必要がないため、集積回路TCの有効回路面積が増加する。また、経時変化の途中における動作条件の変化を検出し、動作条件の変化に応じて動作時間を補正することで、レプリカ回路と同程度の精度で性能劣化量を推定することができる。したがって、フィッティング式を用いた劣化推定処理の推定精度が向上する。
【0108】
集積回路TCの動作条件は、必ずしも電圧及び温度の両方を含んでいる必要はなく、電圧又は温度のうち一方のみを含んでいてもよい。電圧又は温度の変化に応じて動作時間を補正することで、その変化を反映した性能劣化情報を求めることができる。
【0109】
図17は、
図4の情報処理装置401の第1のハードウェア構成例を示している。
図17の情報処理装置は、集積回路1701、メモリ1702、入力装置1703、出力装置1704、カウンタ1705、及びマイクロコントローラ1706を含む。これらの構成要素はハードウェアであり、バス1707により互いに接続されている。
【0110】
図18は、
図17の集積回路1701のハードウェア構成例を示している。
図18の集積回路1701は、例えば、LSIチップであり、CPUダイ1811-1~CPUダイ1811-6を含む。
【0111】
図19は、
図18のCPUダイ1811-j(j=1~6)のハードウェア構成例を示している。
図19のCPUダイ1811-jは、それぞれ異なる電圧、温度、及び周波数で動作するコア1911-1~コア1911-4を含む。各コア1911-k(k=1~4)は、集積回路TCに対応する。
【0112】
集積回路1701に含まれるCPUダイ1811-jの個数は、1個~5個又は7個以上であってもよい。各CPUダイ1811-jに含まれるコア1911-kの個数は、1個~3個又は5個以上であってもよい。
【0113】
集積回路1701は、電圧センサ1711及び温度センサ1712を含む。電圧センサ1711は、各コア1911-kの電圧を取得して、マイクロコントローラ1706へ出力する。温度センサ1712は、各コア1911-kの温度を取得して、マイクロコントローラ1706へ出力する。電圧センサ1711及び温度センサ1712は、
図4の取得部412として動作する。
【0114】
メモリ1702は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)等の半導体メモリである。メモリ1702は、
図4の記憶部416として動作してもよい。
【0115】
カウンタ1705は、集積回路1701から出力される駆動トリガ信号に基づいて、動作時間をカウントし、動作時間をマイクロコントローラ1706へ出力する。カウンタ1705は、マイクロコントローラ1706によってリセットされる。マイクロコントローラ1706にカウンタが含まれている場合、カウンタ1705を省略してもよい。
【0116】
マイクロコントローラ1706は、例えば、ファームウェアプログラムを実行することにより、
図4の生成部411、計算部413、及び制御部414として動作する。マイクロコントローラ1706は、各CPUダイ1811-jに含まれるコア1911-k毎に、
図6の劣化推定処理を行う。マイクロコントローラ1706は、演算処理装置の一種である。マイクロコントローラ1706は、
図4の記憶部416として動作するメモリを含んでいてもよい。
【0117】
入力装置1703は、例えば、キーボード、ポインティングデバイス等であり、管理者からの指示又は情報の入力に用いられる。管理者は、入力装置1703を用いて、制御部414の動作モードを設定することができる。
【0118】
出力装置1704は、例えば、表示装置、プリンタ等であり、管理者への問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、推定結果であってもよく、警告情報であってもよい。出力装置1704は、
図4の出力部415として動作してもよい。
【0119】
図20は、
図6のステップ609における制御処理の例を示すフローチャートである。まず、制御部414は、動作モードを選択する(ステップ2001)。
【0120】
図21は、
図20のステップ2001における動作モード選択処理の例を示すフローチャートである。まず、制御部414は、集積回路TCの動作開始後に、Y1に対する閾値Lが更新されたか否かをチェックする(ステップ2101)。
【0121】
Lが更新されていない場合(ステップ2101,NO)、制御部414は、デフォルトの動作モードを選択する(ステップ2102)。デフォルトの動作モードは、管理者によってあらかじめ設定されている。
【0122】
デフォルトの動作モードとしては、例えば、コア縮退モード、周波数引き下げモード、電圧引き上げモード、劣化回復モード、又はDVFSモードが用いられる。例えば、信頼性を重視する場合は、コア縮退モード又は周波数引き下げモードが用いられ、性能を維持したい場合は、電圧引き上げモード、劣化回復モード、又はDVFSモードが用いられる。
【0123】
Lが更新されている場合(ステップ2101,YES)、制御部414は、交換アラームモードを選択する(ステップ2103)。
【0124】
図20のステップ2001において動作モードが選択された後、制御部414は、選択された動作モードにおける制御を行う。以下では、
図17~
図19に示した構成を有する集積回路1701に対する制御について説明する。
【0125】
コア縮退モードが選択された場合、制御部414は、コア1911-kを縮退させる(ステップ2002)。ステップ2002において、制御部414は、各CPUダイ1811-jに含まれる各コア1911-kのうち、L以上のY1を有するコア1911-kに対する電力の供給を止めて、動作を停止させる。そして、制御部414は、残りのコア1911-kの動作を継続させる。
【0126】
次に、制御部414は、すべてのコア1911-kの動作が停止したか否かをチェックする(ステップ2003)。動作を継続しているコア1911-kが残っている場合(ステップ2003,NO)、情報処理装置401は、
図6のステップ607以降の処理を繰り返す。すべてのコア1911-kの動作が停止した場合(ステップ2003,YES)、情報処理装置401は、処理を終了する。
【0127】
コア縮退モードの制御によれば、性能が劣化したコア1911-kの動作を停止させることで、集積回路1701の信頼性の低下を防止することができる。
【0128】
交換アラームモードが選択された場合、制御部414は、エラー信号を出力部415へ出力する。出力部415は、エラー信号に基づいて、集積回路TCの性能が劣化したことを示す警告情報を出力することで、管理者に対して集積回路1701の交換を促す(ステップ2004)。出力部415は、警報ランプを点灯させてもよく、警告情報を画面上に表示してもよい。
【0129】
管理者は、警告情報に基づいて、集積回路1701を交換するか否かを決定し、集積回路1701を交換するか又は警告情報をリセットする。制御部414は、集積回路1701が交換されたか否かをチェックする(ステップ2005)。
【0130】
集積回路1701が交換された場合(ステップ2005,YES)、情報処理装置401は、
図6のステップ603以降の処理を繰り返す。集積回路1701を交換することなく警告情報がリセットされた場合(ステップ2005,NO)、制御部414は、Lの更新回数をチェックする(ステップ2006)。
【0131】
更新回数が1回である場合(ステップ2006,NO)、制御部414は、さらにLを更新して、更新回数を2回に設定する(ステップ2009)。そして、情報処理装置401は、
図6のステップ607以降の処理を繰り返す。
【0132】
更新回数が2回である場合(ステップ2006,YES)、制御部414は、コア1911-kを縮退させて(ステップ2007)、すべてのコア1911-kの動作が停止したか否かをチェックする(ステップ2008)。
【0133】
動作を継続しているコア1911-kが残っている場合(ステップ2008,NO)、情報処理装置401は、
図6のステップ607以降の処理を繰り返す。すべてのコア1911-kの動作が停止した場合(ステップ2008,YES)、情報処理装置401は、処理を終了する。
【0134】
交換アラームモードの制御によれば、集積回路1701を交換するか、又は性能が劣化したコア1911-kの動作を停止させることで、集積回路1701の信頼性の低下を防止することができる。
【0135】
周波数引き下げモードが選択された場合、制御部414は、集積回路1701の動作周波数を引き下げることで、伝搬遅延時間のマージンを確保し、動作を継続させる(ステップ2010)。そして、制御部414は、Lを更新して、更新回数を1回に設定し(ステップ2011)、情報処理装置401は、
図6のステップ607以降の処理を繰り返す。
【0136】
周波数引き下げモードの制御によれば、伝搬遅延時間のマージンを確保することで、集積回路1701の信頼性の低下を防止することができる。
【0137】
電圧引き上げモードが選択された場合、制御部414は、集積回路1701の電圧を引き上げることで、伝搬遅延時間の増加を補償し、動作を継続させる(ステップ2012)。そして、制御部414は、Lを更新して、更新回数を1回に設定し(ステップ2013)、情報処理装置401は、
図6のステップ607以降の処理を繰り返す。
【0138】
電圧引き上げモードの制御によれば、伝搬遅延時間の増加を補償することで、集積回路1701の性能を維持することができる。
【0139】
劣化回復モードが選択された場合、制御部414は、集積回路1701をヒータで加熱することで、主として、トランジスタのBTIによる劣化を回復させる(ステップ2014)。そして、制御部414は、Lを更新して、更新回数を1回に設定し(ステップ2015)、情報処理装置401は、
図6のステップ607以降の処理を繰り返す。
【0140】
劣化回復モードの制御によれば、トランジスタのBTIによる劣化を回復させることで、集積回路1701の性能を維持することができる。
【0141】
DVFSモードが選択された場合、制御部414は、集積回路1701がタイミングエラーを起こさないように、集積回路1701の電圧及び動作周波数を調整する(ステップ2016)。そして、制御部414は、Lを更新して、更新回数を1回に設定し(ステップ2017)、情報処理装置401は、
図6のステップ607以降の処理を繰り返す。
【0142】
DVFSモードの制御によれば、電圧及び動作周波数を調整することで、集積回路1701の性能を維持することができる。
【0143】
図22は、
図4の情報処理装置401の第2のハードウェア構成例を示している。
図22の情報処理装置は、集積回路2201、入力装置1703、及び出力装置1704を含む。これらの構成要素はハードウェアであり、バス2202により互いに接続されている。
【0144】
集積回路2201は、論理回路2211、電圧センサ1711、温度センサ1712、及びカウンタ2212を含む。集積回路2201は、集積回路TCに対応する。論理回路2211は、
図4の生成部411、計算部413、制御部414、及び記憶部416として動作する。カウンタ2212は、
図17のカウンタ1705と同様の動作を行う。
【0145】
図23は、
図4の情報処理装置401の第3のハードウェア構成例を示している。
図23の情報処理装置は、
図17の情報処理装置からカウンタ1705及びマイクロコントローラ1706を削除した構成を有する。
【0146】
集積回路1701は、例えば、プログラムを実行することにより、
図4の生成部411、計算部413、及び制御部414として動作する。集積回路1701は、プログラムに組み込まれたRTC(Real Time Clock)を用いて動作時間をカウントする。プログラムは、ミドルウェアとして実装されていてもよい。集積回路1701は、各CPUダイ1811-jに含まれるコア1911-k毎に、
図6の劣化推定処理を行う。
【0147】
図24は、
図4の情報処理装置401の第4のハードウェア構成例を示している。
図24の情報処理装置は、
図17の情報処理装置にインタフェース2401を追加した構成を有する。
【0148】
インタフェース2401は、WAN(Wide Area Network)、LAN(Local Area Network)等の通信ネットワークに接続され、通信に伴うデータ変換を行う。情報処理装置は、インタフェース2401を介して、外部の装置からa、b、c、及びdの値を受信し、受信した値を用いて計算式情報422を更新することができる。
【0149】
図2の情報処理装置201及び
図4の情報処理装置401の構成は一例に過ぎず、情報処理装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。例えば、
図4の情報処理装置401において、計算式情報422が外部の装置によって生成される場合は、生成部411を省略することができる。集積回路TCの性能が劣化した場合の制御を行う必要がない場合は、制御部414を省略することができる。
【0150】
図17及び
図22~
図24の情報処理装置の構成は一例に過ぎず、情報処理装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
図18の集積回路1701及び
図19のCPUダイ1811-jの構成は一例に過ぎず、情報処理装置の構成又は条件に応じて一部の構成要素を省略又は変更してもよい。集積回路TCは、演算処理装置以外の回路であってもよい。
【0151】
図3、
図6~
図10、
図12、
図13、
図20、及び
図21のフローチャートは一例に過ぎず、情報処理装置の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、
図4の情報処理装置401において、計算式情報422が外部の装置によって生成される場合は、
図6のステップ601の処理を省略することができる。集積回路TCの性能が劣化した場合の制御を行う必要がない場合は、ステップ609の処理を省略することができる。
【0152】
図1及び
図16に示した性能劣化量の時間変化は一例に過ぎず、性能劣化量は、集積回路TC及び動作条件に応じて変化する。
図5に示した回路モデルは一例に過ぎず、別の回路モデルを用いてフィッティング式を生成してもよい。
図11に示した電圧、温度、及び動作時間の組み合わせは一例に過ぎず、別の組み合わせを用いて回路シミュレーションを行ってもよい。
【0153】
図14に示した変数の格納方法は一例に過ぎず、各変数を別の形式で格納してもよい。
図15に示した計算結果は一例に過ぎず、計算結果は、集積回路TC及び動作条件に応じて変化する。
【0154】
式(1)~式(13)は一例に過ぎず、情報処理装置401は、別の計算式を用いて劣化推定処理を行ってもよい。
【0155】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【0156】
図1乃至
図24を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
回路の動作条件を取得する取得部と、
前記動作条件が変化した場合、変化後の動作条件に基づいて前記回路の動作時間を補正することで、補正後の動作時間を求め、前記変化後の動作条件と前記補正後の動作時間とを用いて、前記回路の性能劣化情報を計算する計算部と、
を備えることを特徴とする情報処理装置。
(付記2)
前記計算部は、第1動作時間と、前記第1動作時間に対応する第1性能劣化情報と、前記変化後の動作条件とに基づいて、動作時間の補正量を求め、前記第1動作時間よりも長い第2動作時間と前記動作時間の補正量とに基づいて、前記補正後の動作時間を求め、前記変化後の動作条件と前記補正後の動作時間とを用いて、前記第2動作時間に対応する第2性能劣化情報を計算し、前記第2性能劣化情報を前記回路の性能劣化情報として用いることを特徴とする付記1記載の情報処理装置。
(付記3)
前記回路の性能劣化情報を閾値と比較した結果に基づいて、前記回路の性能が劣化した場合の制御を行う制御部をさらに備えることを特徴とする付記1又は2記載の情報処理装置。
(付記4)
前記動作条件は、前記回路の電圧又は前記回路の温度のうち少なくとも一方を含むことを特徴とする付記1又は2記載の情報処理装置。
(付記5)
回路の動作条件を取得し、
前記動作条件が変化した場合、変化後の動作条件に基づいて前記回路の動作時間を補正することで、補正後の動作時間を求め、
前記変化後の動作条件と前記補正後の動作時間とを用いて、前記回路の性能劣化情報を計算する、
処理をコンピュータが実行することを特徴とする劣化推定方法。
(付記6)
前記補正後の動作時間を求める処理は、
第1動作時間と、前記第1動作時間に対応する第1性能劣化情報と、前記変化後の動作条件とに基づいて、動作時間の補正量を求める処理と、
前記第1動作時間よりも長い第2動作時間と前記動作時間の補正量とに基づいて、前記補正後の動作時間を求める処理と、
を含み、
前記回路の性能劣化情報を計算する処理は、
前記変化後の動作条件と前記補正後の動作時間とを用いて、前記第2動作時間に対応する第2性能劣化情報を計算する処理と、
前記第2性能劣化情報を前記回路の性能劣化情報として用いる処理と、
を含むことを特徴とする付記5記載の劣化推定方法。
(付記7)
前記回路の性能劣化情報を閾値と比較した結果に基づいて、前記回路の性能が劣化した場合の制御を行う処理を、前記コンピュータがさらに実行することを特徴とする付記5又は6記載の劣化推定方法。
(付記8)
前記動作条件は、前記回路の電圧又は前記回路の温度のうち少なくとも一方を含むことを特徴とする付記5又は6記載の劣化推定方法。
【符号の説明】
【0157】
101~103、1601 折れ線
201、401 情報処理装置
211、412 取得部
212、413 計算部
411 生成部
414 制御部
415 出力部
416 記憶部
421 回路情報
422 計算式情報
423-1、423-2 動作時間情報
424-1、424-2 性能劣化情報
501 出力端子
1701、2201 集積回路
1702 メモリ
1703 入力装置
1704 出力装置
1705、2212 カウンタ
1706 マイクロコントローラ
1707、2202 バス
1711 電圧センサ
1712 温度センサ
1811-1~1811-6 CPUダイ
1911-1~1911-4 コア
2211 論理回路
2401 インタフェース