(57)【特許請求の範囲】
【請求項１】
システムのソフトエラー率をシミュレーションするシミュレーション装置であって、
構成モデルの構成要素の離散型シミュレーションを行う離散事象シミュレーション部と、
前記離散事象シミュレーション部のシミュレーション結果と前記属性情報の中のソフトエラー率データとに基づいて、該定義された構成モデルのソフトエラー率を算出するソフトエラー率計算処理部と、
を備え、
前記構成モデルを、所望の確率でイベントを生成する構成要素をジェネレータ、記憶部位となる構成要素をキュー、前記キューの処理時間および処理時間を有する構成要素をサービス、と定義すると、
前記離散事象シミュレーション部は、前記構成モデルの前記各構成要素の部品情報である属性情報と前記各構成要素間の接続関係を示す接続情報とに基づき、イベントが前記ジェネレータで生成されてから前記キューおよび前記サービスを経由し、前記構成モデルから出力されるまでの時間を離散型シミュレーションで算出する、
シミュレーション装置。
【請求項２】
請求項１記載のシミュレーション装置であって、
前記離散事象シミュレーション部では、前記ジェネレータで生成されたイベントが前記キューに受け渡された際の前記キューの使用率の平均である平均キュー使用率と、前記サービスでのイベントの滞在時間であるサービス滞在時間および前記サービスの処理速度である処理性能と、を算出し、
前記ソフトエラー率計算処理部では、前記離散事象シミュレーション部での算出された前記平均キュー使用率および前記サービス滞在時間に基づいて、前記構成モデルのソフトエラー率を算出することを特徴とするシミュレーション装置。
【請求項３】
請求項２記載のシミュレーション装置であって、
さらに、前記構成モデルの前記各構成要素のソフトエラー率を含む属性情報を保存し、前記属性情報を前記離散事象シミュレーション部に送信するデータベースと、
前記各構成要素間の接続情報を記憶し、前記各構成要素の接続情報を前記離散事象シミュレーション部に送信する記憶部と、
を備えることを特徴とするシミュレーション装置。
【請求項４】
請求項２記載のシミュレーション装置であって、
さらに、前記離散事象シミュレーション部において算出された処理性能と前記ソフトエラー率計算処理部にて算出されたソフトエラー率とに基づいて前記構成モデルを再定義するか否かを判断し、予め定めた基準を満たす構成モデルを算出する処理部を備えることを特徴とするシミュレーション装置。
【請求項５】
請求項４記載のシミュレーション装置であって、
前記予め定めた基準は、構成モデルの処理性能とソフトエラー率との関係により決まる閾値であることを特徴とするシミュレーション装置。
【請求項６】
請求項４記載のシミュレーション装置であって、
さらに、前記離散事象シミュレーション部および前記ソフトエラー率計算処理部の算出結果を表示する表示部を備えたことを特徴とするシミュレーション装置。
【請求項７】
入力部と、シミュレーション部と、計算処理部を備える計算機でシミュレーションを行うシミュレーション方法であって、
前記入力部において、構成モデルを入力する工程と、
前記シミュレーション部において、前記入力する工程にて入力された前記構成モデルの構成要素の離散型シミュレーションを行う離散事象シミュレーション工程と、
前記計算処理部において、前記離散事象シミュレーション工程のシミュレーション結果と前記属性情報の中のソフトエラー率データとに基づいて、前記構成モデルのソフトエラー率を算出するソフトエラー率計算処理工程と、
を備え、
前記構成モデルを、所望の確率でイベントを生成する構成要素をジェネレータ、記憶部位となる構成要素をキュー、前記キューの処理時間および処理時間を有する構成要素をサービス、と定義すると、
前記離散事象シミュレーション工程は、前記構成モデルの前記各構成要素の部品情報である属性情報と前記各構成要素間の接続関係を示す接続情報とに基づき、イベントが前記ジェネレータで生成されてから前記キューおよび前記サービスを経由し、前記構成モデルから出力されるまでの時間を離散型シミュレーションで算出する、
たシミュレーション方法。
【請求項８】
請求項７記載のシミュレーション方法であって、
前記プロセッサをジェネレータ、前記記憶部位をキュー、前記キューおよび前記共有バスをサービス、と定義すると、
前記離散事象シミュレーション工程では、前記ジェネレータで生成されたイベントが前記キューに受け渡された際の前記キューの使用率の平均である平均キュー使用率と、前記サービスでのイベントの滞在時間であるサービス滞在時間および前記サービスの処理速度である処理性能と、を算出し、
前記ソフトエラー率計算処理工程では、前記離散事象シミュレーション工程において算出された前記構成モデルの構成要素毎の平均キュー使用率および前記サービス滞在時間に基づいて、前記構成モデルのソフトエラー率を算出することを特徴とするシミュレーション方法。
【請求項９】
請求項８記載のシミュレーション方法であって、
さらに、前記離散事象シミュレーション工程において算出された処理性能と前記ソフトエラー率計算処理工程にて算出されたソフトエラー率とに基づいて前記構成モデルを再定義するか否かを判断し、予め定めた基準を満たす構成モデルを算出する処理工程を備えることを特徴とするシミュレーション方法。
【請求項１０】
請求項９記載のシミュレーション方法であって、
前記予め定めた基準は、構成モデルの処理性能とソフトエラー率との関係により決まる閾値であることを特徴とするシミュレーション方法。
【請求項１１】
請求項９記載のシミュレーション方法であって、
さらに、前記離散事象シミュレーション工程および前記ソフトエラー率計算処理工程の算出結果を表示する表示工程を備えたことを特徴とするシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器全般の高信頼化に関し、特に製品設計時の環境放射線起因のソフトエラー対策設計を支援するシミュレーション装置およびその方法に関する。
【背景技術】
【０００２】
半導体デバイスの微細化につれ、地上における宇宙線中性子やα線などの環境放射線ソフトエラーの問題が特にＳＲＡＭや論理ゲート、クロック系などについて顕在化している。極めて高いエネルギーを有する中性子がデバイスを構成する原子核内に突入すると核内の核子（中性子、陽子）が衝突を繰り返し、特に高いエネルギーを持った核子は核外に放出される。核子が核外に飛び出すだけの運動エネルギーを持ち得ない状態になると、励起状態にある残留原子核から陽子、中性子、重陽子、アルファ粒子などの軽粒子が蒸発する過程が続き、最終的に残留核も反挑エネルギーを持つため、これらの２次粒子は全てその飛程に見合った距離デバイスの中を飛ぶことになる。
【０００３】
半導体パッケージなどに含まれる放射性同位元素から発生するα線や核反応の結果発生する電荷を持った２次イオンが、ＳＲＡＭの“ｈｉｇｈ”状態にあるストレージノードの空乏層を通過すると、電子はノードに吸収され正孔は反対方向に流れ、イオンの飛跡に沿って電荷収集領域が広がるファネリングメカニズムによってストレージノードに電荷が収集される。その結果、臨界電荷量以上の電荷が収集されると”ｈｉｇｈ”状態が”ｌｏｗ”状態に推移し、ソフトエラー（Ｓｉｎｇｌｅ  Ｅｖｅｎｔ  Ｕｐｓｅｔ；ＳＥＵ）になる。
【０００４】
これが、環境放射線ソフトエラーのメカニズムとして考えられてきた典型的なメカニズムであり、ＳＥＵ（Ｓｉｎｇｌｅ  Ｅｖｅｎｔ  Ｕｐｓｅｔ）と称される。
【０００５】
このＳＥＵは、メモリデバイスにおけるメモリ回路に対して起こる場合と論理回路に対して起こる場合とがある。
【０００６】
メモリデバイスのＳＥＵに関して、複数のセルが同時にエラーになるケースをＭＣＵ（Ｍｕｌｔｉ  Ｃｅｌｌ  Ｕｐｓｅｔ）と呼んでＳＢＵ（Ｓｉｎｇｌｅ  Ｂｉｔ  Ｕｐｓｅｔ：単一ビットエラー）とは区別する。ＳＢＵや通常のＭＣＵはＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）により修復することができるが、ＭＣＵの中でもエラーが同一ワード内に発生するＭＢＵ（Ｍｕｌｔｉ  Ｂｉｔ  Ｕｐｓｅｔ）が起こると通常のＥＣＣでは修復できないためシステムダウンの原因となる。
【０００７】
近年では、半導体デバイスのより一層の微細化に伴い、論理回路に対して起こるＳＥＵが問題となっている。論理ゲートに発生する環境放射線起因のノイズ（ＳＥＴ：Ｓｉｎｇｌｅ  Ｅｖｅｎｔ  Ｔｒａｎｓｉｅｎｔ）によって、ＦＦ（フリップフロップ）の反転が発生し論理回路の誤作動が発生する。ＡＮＤ、ＯＲ、インバータなどで構成されるメモリ要素を持たない組合せ論理回路で発生したＳＥＴは、回路内を伝播してＦＦなどにラッチ（データ保持）されるとＳＥＵとなる。この論理回路には冗長符号をつけることができないため、論理回路に対して起こるソフトエラーはＥＣＣなどによって修復することができない。そのため、ＥＣＣとは別の、論理回路のソフトエラーを防ぐ方法が必要となる。
【０００８】
論理回路のソフトエラー率（ＳＥＲ：Ｓｏｆｔ  Ｅｒｒｏｒ  Ｒａｔｅ）を回路設計段階で見積もり、改善する方法の従来技術として、特許文献１（国際公開番号２００７−０３４５４８号公報）の要約には、「ＬＳＩ回路の各信号伝達回路が有する信号伝達時間を特定する手段と、各信号伝達回路が有するフリップフロップ回路の放射線被爆時の出力反転率を特定する手段と、クリティカルパスとなる信号伝達回路を特定する手段と、信号伝達時間、出力反転率、クロック周期に基づいてＬＳＩ回路全体のソフトエラー率を計算する手段と、予め決められたソフトエラー率がＬＳＩ回路全体のソフトエラー率と比較して低い時は、クリティカルパスとなる信号伝達回路の信号伝達時間を変えないように、ＬＳＩ回路全体のソフトエラー率を低下する手段とを備えることを特徴とするＣＡＤ装置」が開示されている。
【０００９】
ＳＥＵを含むソフトエラーは、ハードエラー（ハードウェアの固定故障）と異なり、エラー発生後も、新たなデータに更新され、再起動などによって正常に復帰してしまうためにエラーの要因特定が困難といった問題もある。このように論理回路に発生するソフトエラーの影響とは、コンピュータのプロセッサやＡＳＩＣ、制御用デジタル回路等の誤作動を引き起こすことを意味し、電子システムとしての誤作動の要因となることが懸念される。
従来のシステムの性能評価、検証を行う考え方として、待ち行列理論を応用した離散事象シミュレーションが非特許文献１（ネットワーク型待ち行列システムに対するシミュレータの開発）に開示されている。これは、離散事象モデルとして、１）窓口数と窓口配置、２）ネットワーク構成、３）分岐確率、４）確率分布を入力し、与えられたモデルに対してシミュレーションを行い、ボトルネックを検出し、系内人数変化、系内人数の時系列グラフを出力することで、多様なネットワーク型待ち行列モデルを容易に構築できるシミュレータである。
【００１０】
また、非特許文献２（プログラムの動作を考慮したコンピュータシステムのソフトエラー数見積もり技術）には、ＣＰＵ、キャッシュメモリ、及び主記憶からなるコンピュータシステムのソフトエラー数を見積もるためのモデル及びシミュレーションベースの見積もりアルゴリズムを提案しており、実験の結果、システムの動作に影響を与えるソフトエラーの数はキャッシュサイズが大きくなると逆に小さくなり、キャッシュサイズが大きくなるとキャッシュモジュールのＳＥＲは増加するが、プログラム実行中に発生するソフトエラー数は逆に小さくなること、また、ソフトエラー数はアプリケーションプログラムの種類によって大きく異なることが開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】国際公開番号２００７−０３４５４８号公報
【非特許文献】
【００１２】
【非特許文献１】ネットワーク型待ち行列システムに対するシミュレータの開発、著者名：田中裕美（専修大 大学院経営学研究科）、資料名：専修大学情報科学研究所情報科学研究 JST資料番号：L5805A ISSN：0286-6048、巻号ページ（発行年月日）:No.27、 Page15-31 （2007.03.01） 写図表参：写図15、 表2、 参20
【非特許文献２】A Simulation-Based Soft Error Estimation Methodology for Computer Systems、Sugihara, Makoto / Ishihara, Tohru / Hashimoto, Koji / Muroyama, Masanori、International Symposium on Computer Quality Electronic Design、Proc. of International Symposium on Quality Electronic Design  p196-203
【発明の概要】
【発明が解決しようとする課題】
【００１３】
半導体デバイスの微細化・高集積化に伴い、環境放射線（α線、中性子線等）によるソフトエラーの影響が拡大し、メモリだけでなく論理回路でのソフトエラー頻度が急増していることから、システム製品におけるソフトエラーが問題となりつつある。
しかし、ソフトエラーの主要因である中性子線の遮蔽による対策は困難なため、出荷した製品のＳＥＲが高い場合、その削減は困難である。製品に使用するすべての部品をＳＥＲの発生しないものにすることは難しく、ＳＥＲの低い製品を選択することは、製品機能の実現を困難にするとともに、所望の製品性能を達成することが難しい場合がある。
【００１４】
そこで、電子システム製品のソフトエラー率と処理性能との最適値算出を支援するシミュレーション装置およびその方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば次のとおりである。
【００１６】
（１）定義された構成モデルの構成要素の部品情報である属性情報と該定義された構成モデルの構成要素間の接続関係を示す接続情報とに基づき、該定義された構成モデルの構成要素の離散型シミュレーションを行う離散事象シミュレーション部と、前記離散事象シミュレーション部のシミュレーション結果と前記属性情報の中のソフトエラー率データとに基づいて、該定義された構成モデルのソフトエラー率を算出するソフトエラー率計算処理部と、を備えたシミュレーション装置である。
【００１７】
（２）定義された構成モデルを入力する工程と、前記入力する工程にて入力された該定義された構成モデルの構成要素の部品情報である属性情報と該定義された構成モデルの構成要素間の接続関係を示す接続情報とに基づき、該定義された構成モデルの構成要素の離散型シミュレーションを行う離散事象シミュレーション工程と、前記離散事象シミュレーション工程のシミュレーション結果と前記属性情報の中のソフトエラー率データとに基づいて、該定義された構成モデルのソフトエラー率を算出するソフトエラー率計算処理工程と、を備えたシミュレーション方法である。
【発明の効果】
【００１８】
本発明によれば、電子システム製品のソフトエラー率と処理性能との最適値算出を支援するシミュレーション装置、シミュレーション方法およびプログラムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明に係るシミュレーション装置の第１の実施形態の説明図である。
【図２】本発明に係るシミュレーション方法の第１の実施形態の説明図である。
【図３】本発明に係るシミュレーション装置によるシミュレーション対象の構成モデルであるシステム構成の一例を示す図である。
【図４】図３で定義したシステム構成例を、本願での構成モデルを用いて定義した例（離散事象モデルで表わした例）である。
【図５】本発明に係るシミュレーション装置の構成モデルを設定する際のＧＵＩの一例を示す図である。
【図６】本発明に係るシミュレーション装置にてシミュレーションを行う対象の構成モデルの他の構成例の一例（ＳＲＡＭ単体）を示す図である。
【図７】本発明に係るシミュレーション装置にてシミュレーションを行う対象の構成モデルの他の構成例の一例（ＳＲＡＭとＤＲＡＭ構成）を示す図である。
【図８】処理性能とＳＥＲの関係を示す図である。
【図９】本発明に係るシミュレーション装置のソフトエラー率計算処理部の一例を示す図である。
【図１０】本発明に係るシミュレーション装置によるシミュレーション結果の表示（出力）を示す。
【図１１】本発明に係るシミュレーション方法の第２の実施形態の説明図である。
【図１２】図１１で定義したシステム構成例を、本願での構成モデルを用いて定義した例（離散事象モデルで表わした例）である。
【図１３】図１に示したシミュレーション装置の入出力部分についての詳細な説明図である。
【図１４】図１に示したシミュレーション装置の入出力部分についての詳細な説明図である。
【図１５】図１に示したシミュレーション装置の入出力部分についての詳細な説明図である。
【発明を実施するための形態】
【００２０】
本発明に係る環境放射線ソフトエラー率のシミュレーション装置およびシミュレーション方法について、図１乃至１２を用いて説明する。
【００２１】
本発明の実施例の説明の前提として、本発明者は、メモリ回路や論理回路を含む構成システムにおいて、処理速度に相当する処理性能とソフトエラー率との間に相関があることを発見した。近年、環境放射線（中性子等）の影響が例えばサーバやルータ、鉄道の信号制御システム等に影響を及ぼすことが分かってきたが、これらの構成システムのソフトエラー率を下げたいときに、ハードおよびソフトの両面でのシステムの構成を変えることで実現することができる場合があり、それが処理性能に影響を与えるというものである。
【００２２】
本願では、任意の方法で定義した構成システムについて離散型シミュレーションを行い構成システムの処理性能を算出し、また、離散型シミュレーション結果を用いて定義した構成システムについてソフトエラー率を算出することで、処理性能とソフトエラー率との両方を考慮したシミュレーション装置およびその方法を提供する。
【００２３】
図１は、本発明の環境放射線ソフトエラー率のシミュレーション装置の構成を示す図である。図１で示すシミュレーション装置１は、入力部２、入力データ一時記憶部３、データベース４、離散事象シミュレーション部５、ソフトエラー率計算処理部６、計算結果一時記憶部７、および、計算結果出力制御部８等を備えて構成される。
【００２４】
入力部２は、シミュレーション装置１の外部（例えば各種情報保存部６７）より、シミュレーション対象のシステムの構成（以下、構成モデルと称す）や、シミュレーション計算に使用する各種計算用パラメータ（以下、離散事象パラメータと称す）、構成モデルの各要素の離散事象パラメータ情報等を含む各種情報を受信する。
ここで、構成モデルとは、シミュレーション装置１によりシミュレーションが実行されてその構成が決められる対象であるシステム構成を指し、例えば、図３に示すプロセッサ２１、２２やメモリコントローラ２４、１次メモリ２５等の各構成要素が接続されたモデルを構成モデルを呼ぶ。また、プロセッサ２１、２２やメモリコントローラ２４、１次メモリ２５等の個々の構成を構成モデルの構成要素と呼ぶ。この構成モデルは例えばシミュレーション装置１の外部である構成モデル定義部６６にて定義される。
離散事象パラメータとは、シミュレーション装置１内で実行されるシミュレーション計算に使用する各種計算用パラメータを指し、例えば、待ち行列理論におけるイベントの到着間隔、生成間隔、サービス時間、キュータイプ、キューサイズ、スイッチ、端子等のことである。
各種情報とは、離散事象パラメータに加えてＳＥＲ、消費電力、部品サイズ、回路規模等の構成要素の部品情報を含む属性情報と、各構成要素間の接続情報であるｄｉｒｅｃｔｉｏｎ情報を合わせた情報を指す。
【００２５】
入力部２は、シミュレーション装置１の外部（各種情報保存部６７）より受信した定義された構成モデルや各種情報等を入力データ一時記憶部３に送信する。
また、データベース４には属性情報が保存されているが、保存されている属性情報の中に、入力部２に入力された構成モデルの構成要素のＳＥＲが定義されていない場合には、該構成モデルの構成要素のＳＥＲを入力部２からデータベース４に送信する。
【００２６】
データベース４は、上述の通り、構成モデルの各要素の属性情報を記憶しており、必要に応じて入力部２よりＳＥＲを受信し、データベース内の属性情報としてＳＥＲ情報を加える。そして、定義された構成モデルの構成要素対応する属性情報Ｅｒを離散事象シミュレーション部５に送信する。
【００２７】
入力データ一時記憶部３は、入力部２から入力された各種情報を保存し、定義された構成モデルの各要素間の接続情報であるｄｉｒｅｃｔｉｏｎ情報を離散事象シミュレーション部５に送信する。
【００２８】
離散事象シミュレーション部５は、データベース４から送信された属性情報Ｅｒと入力データ一時記憶部３から送信されたｄｉｒｅｃｔｉｏｎ情報とに基づき、待ち行列理論に基づく離散事象計算を行う。離散事象シミュレーション部５では、構成モデルの要素毎の平均キュー使用率やサービス滞在時間等を算出し、ソフトエラー率計算処理部６に結果を送信する。また、同様に算出された処理性能（処理時間）を計算結果一時記憶部７に送信する。
【００２９】
ソフトエラー率計算処理部６は、離散事象シミュレーション部５から受信した構成モデルの要素毎の平均キュー使用率やサービス滞在時間等と、データベース４から受信した定義された構成モデルの要素毎のＳＥＲと入力データ一時記憶部３から受信したｄｉｒｅｃｔｉｏｎ情報（構成モデル情報）に基づき、定義された構成モデル全体としてのソフトエラー率、および、個々の構成要素のソフトエラー率、構成要素の組み合わせのソフトエラー率を計算する。
本願では、定義された構成モデルの構成毎のソフトエラー率を単純に加算するのではなく、離散事象シミュレーション部５にて算出した平均キュー使用率やサービス滞在時間等の構成モデル全体を考慮した値に基づき、各構成における処理時間との関係を考慮してソフトエラー率を算出する。また、ソフトエラー率としては、各構成要件の組み合わせによりなる構成モデル全体としてのソフトエラー率と、構成モデルの各構成要件のソフトエラー率の両方を求める。その後、ソフトエラー率計算処理部６は、算出したソフトエラー率を計算結果一時記憶部７に送信する。
【００３０】
計算結果一時記憶部７は、ソフトエラー率計算処理部６から受信した定義された構成モデルの平均キュー使用率やサービス滞在時間等を考慮した算出したソフトエラー率と、離散事象シミュレーション部５から受信した処理性能（定義した構成モデル全体の処理時間等）とを、計算結果出力制御部８に送信する。
【００３１】
計算結果出力制御部８は、計算結果一時記憶部７から受信したソフトエラー率および処理性能と、データベース４から受信した属性情報と、入力データ一時記憶部３から受信したｄｉｒｅｃｔｉｏｎ情報とに基づいてシミュレーション結果を出力するために、シミュレーション装置１の外部の装置等にデータ（情報）を出力する。
【００３２】
計算結果出力制御部８から送信されたデータを、例えばＧＵＩ（表示部６８）に表示し、構成モデル再定義要否判定部６９において、所望のソフトエラー率を満たすか否かを判断する。満たす場合は定義した構成モデルにてシステム設計が終了し、満たさない場合は再度構成モデルを定義した後、再定義した構成モデルを再度シミュレーション装置１の入力部２に入力して同様のシミュレーションを実行する。
図１では、構成モデル再定義要否判定部６９からの出力を構成モデル定義部６６に入力しているが、直接入力部２に入力しても良いし、各種情報保存部６７に入力しても良い。
【００３３】
このようにして、ソフトエラー率計算処理部６にて算出されたソフトエラー率が要件を満たすまで構成モデル定義とシミュレーションとを繰り返し、ソフトエラー率の要件を満たす構成モデルを決定する。
【００３４】
本願では、離散事象シミュレーション部５にて算出した平均キュー使用率やサービス滞在時間等の構成モデル全体を考慮した値に基づき、各構成における処理時間との関係を考慮してソフトエラー率を算出する点が特徴の１つであり、これにより、回路（特に論理回路）に対するソフトエラー耐性の高いシステム設計を実現することができる。
例えば、非特許文献２でも「キャッシュメモリやレジスタなどのハードウェア単体のソフトエラー率を単純に足し合わせることによって求めたソフトエラー率はしばしば悲観的な値となる」と開示されているように、各構成におけるソフトエラー率の単純加算では、構成モデル全体として考えたときのソフトエラー率とは大きく異なってしまうが、本願のように構成モデルの平均キュー使用率やサービス滞在時間等を用いることで、各構成での処理時間等を考慮し、ソフトエラー率を確率的に求めることが可能となる。これにより、ソフトエラー率シミュレーションによりシステム設計をより正確に行うことが可能となり、回路（特に論理回路）に対するソフトエラー耐性の高いシステム設計を実現することができる。
【００３５】
ここで、入力部２への入力装置は、一般的なコンピュータに使用されるキーボードやタッチパネル等、その装置種類は問わない。また、計算結果出力制御部８から出力するデータ出力先は、一般的なコンピュータのディスプレイ等の表示装置や、他シミュレーション装置等、その装置種類は問わない。
【００３６】
図１３乃至図１５は、図１のシミュレーション装置１の入力部２に定義した構成モデルや各種情報等を送信するときの入力装置および計算結果出力制御部８から出力されたソフトエラー率および処理性能、属性情報、および、ｄｉｒｅｃｔｉｏｎ情報等のシミュレーション結果を表示する表示部（出力装置）の構成に関する説明図である。
構成モデル定義部６６では、システムに求められる機能等に基づき構成モデルを定義する。ここでは、設計すべきデバイスの機能等により例えばユーザが構成要素を決定し、各構成要素間の接続関係等を定義することで、構成モデルを生成する。構成モデルの定義はユーザが行うのではなく、ユーザが設定したシステム全体の要件（機能）を満たすように自動的に行われても良い。
【００３７】
図５はユーザが構成モデルを設定する際のＧＵＩの一例を示す図である。例えば構成モデル定義部６６にてこのようなＧＵＩが表示されることが考えられる。
各種情報記憶部６７では、構成モデル定義部６６により定義された構成モデルに関する情報を受信し、該定義された構成モデルの各種情報と定義された構成モデルとを、シミュレーション装置１の入力部２に入力する。これにより、シミュレーション装置１に定義された構成モデルと各種情報とを与えることができる。
ここで、構成モデル定義部６６と各種情報記憶部６７とを別の構成として記載したが、同一の入力装置として構成されていても良い。また、シミュレーション装置１の外部の装置として図１および図１３には記載してあるが、図１４のようにシミュレーション装置１の内部に組み込まれていてもよく、また、図１５のように、シミュレーション装置１の入力部２が構成モデル定義部６６および各種情報記憶部６７の機能も果たすものであっても良い。
図１３の表示部６８では、計算結果出力制御部８から出力されたシミュレーション結果を例えばＧＵＩ等で表示し、例えばこれをユーザが見て処理性能とソフトエラー率との関係から、所定のソフトエラー率を満たしていれば定義されている構成モデルをシステム構成として決定し、満たしていなければシステム構成が有するべき所望の機能等に基づき新たな構成モデルを定義し直し、再定義した構成モデルを例えば構成モデル定義部６６に送信する等する。
ここで、表示部６８を見て処理性能とソフトエラー率との関係から構成モデルを再定義するか否かを決定するのはユーザでなくてもよく、構成モデルの再定義は、システム構成が有するべき所定の機能等に基づき自動的に行われるものであっても良い。また、予め定義した構成モデルの処理性能とソフトエラー率との関係により閾値を定めておき、該閾値に基づき判別を行ってもよい。
また、構成モデルの再定義が必要か否かの判断は、構成モデル再定義要否判定部６９においてなされても良い。
【００３８】
図１０は、ユーザが構成モデルを設定する際のＧＵＩの一例を示す図である。例えば表示部６８にてこのようなＧＵＩが表示されることが考えられる。ユーザは、図１０のシステムＳＥＲや各構成要素の平均滞在時間等に基づき、構成モデルを再定義して再度シミュレーションを行うか否かを決定することができる。
また、構成モデルの再定義要否が自動的に決定される場合等は、表示部６８の代わりに出力装置を備えていても良い。
また、表示部６８は図１３ではシミュレーション装置１の外部の装置として記載されているが、図１４のようにシミュレーション装置１に内蔵されていても良く、また、図１５のように、計算結果出力制御部８が表示部６８や構成モデル再定義要否判定部６９の機能を果たすものであっても良い。
【００３９】
また、シミュレーション結果が所定の要件を満たさず構成モデル再定義要と判定された場合には、構成モデルの再定義は行わずに、構成モデル自体はそのままで、各構成要素の部品情報等のパラメータのみ変更しても良い。その場合は、データベース４に格納されている属性情報を修正することになる。
【００４０】
図１５のように構成モデル定義部６６と各種情報保存部６７の機能を同一の構成部内に格納した場合は、入力部２はなくてもよい。
また、図１において、入力部２やデータベース４から直接データを離散事象シミュレーション部５に入力する場合は、入力データ一時記憶部３はなくてもよい。
また、図１において、構成モデルの接続情報であるｄｉｒｅｃｔｉｏｎ情報は入力データ一時記憶部にて保存されているとしているが、他の各種情報等と同様にデータベース４に格納されていても良い。この場合、構成モデルの各種情報の入出力がデータベース４のみで行われることになり、装置の小型化および処理の簡便化が可能となる。
また、図１において、離散事象シミュレーション部５とソフトエラー率計算処理部６は同一の処理部において行われるものであっても良い。
ソフトエラー率計算処理部６から直接計算結果出力制御部８にシミュレーション結果を送信する場合は、計算結果一時記憶部はなくてもよい。
【００４１】
構成モデルを再定義するか否かの判断は、図１４のようにシミュレーション装置１内部で行われても良い。その場合は、予めユーザ等が処理性能とシステムＳＥＲとの閾値をシミュレーション装置１に与えておき、該閾値を満たすか否かを判断する判断部をシミュレーション装置１内の例えば計算結果一時記憶部７または計算結果出力制御部８またはこれらの部とは別の構成モデル再定義要否判定部６９等の部として備え、構成モデル再定義要否判定部６９等にて構成モデルの再定義の要否を判断しても良い。
【００４２】
構成モデルの再定義の方法としては、図１３に示すように、処理性能とシステムＳＥＲとの関係から定めた閾値を満たすようにユーザが設定しても良いし、または、ユーザはシステム構成に必要な機能のみ定義し、該機能を満たす構成モデルを自動的に再定義するよう設定しても良い。
【００４３】
本願は、定義した構成モデルに対し、例えば待ち行列理論を用いて各構成要素の離散事象をシミュレーションし、構成モデル全体および各構成要素の平均キュー使用率やサービス滞在時間等に基づきＳＥＲを用いて確率的にシステムＳＥＲを算出する点が特徴の１つであり、該特徴を満たすシミュレーション装置等は本願の技術的思想に含まれる。
【００４４】
図２は、本願による環境放射線ソフトエラー率のシミュレーション方法を示す説明図である。
【００４５】
ステップ１０において、構成モデルを定義する。構成モデルの定義は、例えば図１の構成モデル定義部６６にて行い、ユーザまたは自動のいずれによって行われてもよい。例えば、所望のシステム構成を構成モデルとして定義したり、所望の機能に基づき自動的に構成モデルが定義されたりすることにより行われる。また、ユーザが構成システムに求める所望の機能のみ入力して、該機能を満たす構成モデルを自動で定義してもよい。
【００４６】
ステップ１１において、ステップ１０で定義した構成モデルに対応する各種情報を入力部２に入力する。
【００４７】
ステップ１２において、定義した構成モデルの構成要素に対応するＳＥＲが、図１のデータベース４に保存されているか否かを判別する。ＳＥＲが保存されていない（Ｎｏ）場合は、ステップ１３に進み、入力部２に入力された各種情報の中からＳＥＲ情報を読み出してデータベース１８に送信する。
【００４８】
ＳＥＲが定義されている（Ｙｅｓ）場合またはＳＥＲが定義されていないがＳＥＲ情報を送信した後には、ステップ１４において、定義した構成モデルの構成要素間の接続情報を図１の入力データ一時記憶部３に送信する。
【００４９】
ステップ１５では、図１のデータベース４からの該定義された構成モデルの属性情報と入力データ一時記憶部３からの該定義された構成モデルのｄｉｒｅｃｔｉｏｎ情報とに基づいて、離散事象シミュレーションを実行する。
【００５０】
ステップ１６では、離散事象シミュレーションの結果得られた構成モデルの平均キュー使用率やサービス滞在時間等の情報と、入力データ一時記憶部３から得られたｄｉｒｅｃｔｉｏｎ情報とに基づき、定義した構成モデルのソフトエラー率を算出する。
【００５１】
その後、ステップ１７において、ソフトエラー率計算処理部６において算出されたソフトエラー率と、離散事象シミュレーション部５で算出された処理性能とを図１の計算結果一時記憶部７にて記憶する。
【００５２】
そして、ステップ１８において、ステップ１７にて記憶したＳＥＲや処理性能を出力制御し、例えばシミュレーション装置の外部の表示部に結果を表示する。
【００５３】
ステップ１９では、ステップ１８の出力制御により出力した結果に基づいて、構成モデルの再定義が必要か否かを判断する。これは、出力結果をユーザが見て人為的に決定しても良いし、自動的に決定しても良い。また、ユーザが必要な機能を予め設定しておいて、該機能を満たすように自動的に構成モデルを設定しても良い。また、ユーザが必要な機能から、処理性能とＳＥＲとの関係により閾値を定めておき、該閾値との比較により要否判断してもよい。
【００５４】
ステップ１９の結果、要と判断された場合には、例えばステップ１０に戻り構成モデルを再定義し直す。ステップ１０で要と判断された場合は、例えば構成モデル自体を再定義しなくても、構成モデルは同じで各構成要素の部品情報等のパラーメータのみ変更して再度シミュレーションを実行しても良い。また、構成モデルの変更、離散事象パラメータの変更、シミュレーション方法の変更を行い、対象システムの処理性能とＳＥＲ仕様が目標仕様を達成するまでに繰り返しても良い。なお、計算結果の傾向を統計処理し、最適解を求めることもできる。また、本発明の処理構成は、プロセッサとメモリ、ハードディスク、キーボード、ディスプレイ等を備えた一般的なコンピュータに搭載するプログラムとしても実現できる。
ステップ１９の結果、否と判断された場合には、該定義されている構成モデルにて構成システム決定となり、シミュレーションが終了する。
【００５５】
図３は、本願のシミュレーション装置によるシミュレーション対象の構成モデルであるシステム構成の一例を示す図である。本構成例は、プロセッサ１（２１）と、プロセッサ２（２２）と、メモリコントローラ２４とが共有バス２３で接続され、メモリコントローラ２４が、１次メモリ２５と、２次メモリ２６と、ハードディスク２７に接続される、一般的なコンピュータ機器もしくは装置制御装置の構成を示す。この例では、２つのプロセッサが１つの共有バスで結合され、キャッシュ、１次メモリ、２次メモリ、ハードディスクという４つの記憶装置を持っており、キャッシュヒット率と、共有バス２３の稼働率と、各記憶装置の使用率が処理性能を決める。構成モデルの構成は図３に限られず、他の種類の構成要素を含んでいても良いし、その組み合わせも任意に設定可能である。
【００５６】
図４は、図３で定義したシステム構成例を、本願での構成モデルを用いて定義した例を示す。プロセッサは”Generator”として、キャッシュ、１次メモリ、２次メモリ、ハードディスクは、記憶部位としての”Queue”およびその制御処理時間を表す”Service”として定義する。また、共有バスやメモリコントローラ等の処理時間を有する構成要素も同様に”Service”として定義する。これら構成要素間を対象システムの接続関係同様に関連付ける接続情報を付加することで、対象システムの処理構成をモデル化することができる。この構成モデルにより、”Generator”から所望の確率で生成されるイベントが、接続された構成要素間に受け渡され、キューに格納、所定のサービス時間（処理時間）を経て、”Sink”へ出力されイベント生存時間が計数される。このイベント生存時間をもとに構成モデルの性能を算出する。また、各”Service”要素でのイベントの平均滞在時間とキューの平均使用率から対象システムのボトルネックを観測することができる。
【００５７】
図５は、構成モデルを設定する際のＧＵＩの一例を示す図である。例えば図１の構成モデル定義部６６にてこのようなＧＵＩ画面が示される。
ここでは、構成モデルの定義と、離散事象パラメータおよびＳＥＲ定義を入力する例を示す。一般的なコンピュータでは、図５の表示例をディスプレイで、構成モデル定義、離散事象パラメータ定義等の入力をキーボードで実施する。入力する離散事象パラメータ例は、イベントの到着間隔、生成間隔、サービス時間、キュータイプ、キューサイズ、スイッチ、端子がある。他に離散事象シミュレーションに必要なパラメータも入力することもある。
また、ＳＥＲ、消費電力、部品サイズ、回路規模等の構成要素の部品情報も入力することができる。到着間隔と生成間隔については、確率分布計算式やテーブルに格納した結果から生成する方法や乱数を用いた間隔で生成する方法等で実現する。確率分布計算式やテーブルに格納した結果等は、図１のデータベース４や入力データ一時記憶部３に格納されていても良い。
【００５８】
サービス時間については、処理時間、滞在時間を、キューとしては、ＦＩＦＯ、ＬＩＦＯ、スタック等の各種格納方式とサイズを定義できる。スイッチとしては、入力数と出力数を可変定義することで、スター型やリング型等、各種ネットワーク形態に対応できる。
【００５９】
図６および図７は、本願におけるシミュレーション装置にてシミュレーションを行う対象の構成モデルの他の構成例の一例を示す図である。この例では、１６個のプロセッサ（ＰＥ：Ｐｒｏｃｅｓｓｏｒ  Ｅｌｅｍｅｎｔ）が、バス６５でＳＲＡＭに接続する共有メモリモデルを示す。図７は、図６同様のモデルで、バス６５につながるメモリをＤＲＡＭとＳＲＡＭの併用としたモデルで、そのメモリマップ割り付けは、管理情報をＤＲＡＭへ、それ以外をＳＲＡＭに入れた例を示している。ＳＥＲは、部品の種類によって違いがあり、キャパシタにより値を保持するＤＲＡＭは、ＳＲＡＭに比べ一般的には２〜３桁程度ソフトエラー率が良い。この例では、ＳＥＲの良いＤＲＡＭを併用することで、システムとしてのＳＥＲを低くしている。図７の構成Ｂと図６のＳＲＡＭのみの構成Ａを例に、処理性能とＳＥＲの関係を図８で説明する。
【００６０】
図８上図（構成Ａ）は、メモリ構成を縦軸に、時間経過（ｔ）を横軸に表している。構成Ａでは、最初（０番目）のストア命令（アドレス０：a0）を表す”S0[a0]”が発行されると、ＣｏｒｅにあるデータがＣａｃｈｅに転送される。そのデータをロード命令L0[a0]で、再度Ｃｏｒｅに読み込んでいる。Ｃｏｒｅに読み込んだ後、ＣａｃｈｅをフラッシュしＳＲＡＭへ転送している。この例では、フラッシュ時に書き戻すＷｒｉｔｅＢａｃｋ方式の例を示している。上述したＣｏｒｅへの読み込み後、さらにＳＲＡＭからａ１データをL1[a1]命令でＣｏｒｅに読み込む。これをＣｏｒｅで処理した後、a1’データとして、Ｃａｃｈｅに書き戻している。以下、同様に命令列の順に処理を継続している。構成Ａと同じ命令列を構成Ｂで実行した例を図８下図に示す。構成Ｂでは、a1データをＤＲＡＭに格納している。ＤＲＡＭは、一般的にはＳＲＡＭに比べアクセスレーテンシが大きいことが多く、ここでの例では、ＳＲＡＭの２倍程度を想定した例を示している。この例でa1データをロードする場合、アクセスレーテンシが大きいことから、Ｃｏｒｅの処理にアイドル（図中”ＩＤＬＥ”と表記した部分）状態となることから、処理性能の劣化が想定される。つまり、ＤＲＡＭを使用することで、ＤＲＡＭに比べ環境放射線に脆弱なＳＲＡＭへのデータ滞在時間を削減することができ、システムとしてのＳＥＲを下げることができる。しかし、一方で処理性能が劣化することになる。
【００６１】
このようなメモリ構成によりＳＥＲを変化させること以外の別な実施例として、Ｃｏｒｅで実行するアプリケーションプログラムを変更する（命令列が変わる）ことで、ＳＲＡＭへの書き込み頻度を上げる方法がある。ＳＲＡＭへのリード／ライト頻度が増えれば、ＳＲＡＭでの滞在時間を少なくすることができ、環境放射線によって誤って書き換えられる頻度を下げることができ、システムのＳＥＲが下がる。また、ＳＥＲの低い記憶部品からＳＥＲの高い記憶部品に対し、定期的に書き換え処理（スクラビング処理と称す）することでもシステムのＳＥＲを下げることができる。例えば構成Ｂで、ＤＲＡＭからＳＲＡＭへＰＥがＩＤＬＥ状態かつバスが空いているときに、ＤＲＡＭからＳＲＡＭへ管理情報を定期的にコピーし、ＰＥから管理情報をアクセスする際は、ＳＲＡＭを読む方法を取ると、アクセス時間も短く、ＳＲＡＭでのデータ滞在時間を削減でき、ＳＥＲも下げることができる。これらの変更は、アプリケーションンプログラムや、バスの空く頻度、記憶部品のアクセス時間等の構成要素それぞれの動作によって処理性能が決まるため、これを離散事象シミュレーション計算で求め、その結果をもとにＳＥＲを計算することで、システム構成、アプリケーションプログラム変更による最適化が可能となる。
【００６２】
図９は、本発明に係るシミュレーション装置のソフトエラー率計算処理部の一例を示す図である。
【００６３】
まず、離散事象シミュレーションを開始（ステップ１０１）し、離散事象シミュレーション部５でサービスの平均滞在時間と平均キュー使用率を算出する（ステップ１０２）。ステップ１０２の結果から、構成モデルの構成要素毎に滞在時間（Ｔｓ）を読み出し（ステップ１０３）、順次、ステップ１０４の計算を実施する。
ステップ１０４では、図１のデータベース４より構成要素毎のＳＥＲ（Ｅｒと表記）を読み出し、ステップ１０４の数式により構成モデル全体としてのソフトエラー率を算出する。このソフトエラー率は、各構成要素の滞在時間等を考慮したものであり、構成要素のソフトエラー率の単純な加算結果ではない。
【００６４】
ステップ１０４の計算を全構成要素について実施したとか否かを判定する（ステップ１０５）。計算を行っていない構成要素がある場合は、ステップ１０３に戻り未計算の構成要素について計算を行い、全ての構成要素について計算を行う。全ての構成要素について計算が完了した後に、ステップ１０４の計算結果である各構成要素のＳＥＲを積算する（ステップ１０６）。
ステップ１０６による積算の結果得られたシミュレーション対象システム全体のシステムＳＥＲ（Ｓｓｅｒ）もしくは一部のＳＥＲを算出し、計算結果一時記憶部７へ出力する（ステップ１０８）。
【００６５】
図１０は、例えば図１の表示部６８に表示されるシミュレーション結果の一例を示す図である。表示する情報は、イベントの到着間隔、生成間隔、サービス時間、キュータイプ、キューサイズ、スイッチ、端子に加え、構成要素毎のＳＥＲ、消費電力、部品サイズ、回路規模、シミュレーション結果のＳＥＲおよび処理性能である。表示方法としては、数値表示だけでなく、統計処理した結果やグラフ、表形式での表示もある。
【００６６】
図１１は、ＳＥＲだけでなく消費電力、物理サイズ、回路規模と処理性能を求めるシミュレーション装置、およびプログラムの処理フローの一例を示す図である。図２に対して、ステップ１２で図１のデータベース４にＳＥＲではなく定義された構成モデルの構成要素の部品情報が保存されているか否かを判定する点が異なる。また、保存されていない場合はステップ１３’にて部品情報を保存させることになる。
【００６７】
なお、シミュレーション装置の構成は、図１と同様である。消費電力、物理サイズ、回路規模と処理性能を求める場合も、処理の流れは、ＳＥＲと同様である。例えば、消費電力と処理性能との関係は、以下のようになる。プロセッサを有するシステムの場合、処理性能は以下の式であらわされる。
（数１）
性能 ＝ 動作周波数 × ＩＰＣ
【００６８】
また、消費電力と動作周波数の関係は以下のようになる。
（数２）
消費電力 ≒ Ｃｄ × 電圧 × 電圧 × 動作周波数
【００６９】
（数１）からプロセッサの性能を向上させるには、動作周波数を向上させる方法と、ＩＰＣ（Ｉｎｓｔｒｕｃｔｉｏｎ  Ｐｅｒ  Ｃｙｃｌｅ、１クロック・サイクルあたりの実行命令数）を増やす方法がある。前者の場合、（数２）で示されるように、動作周波数を上げるとそれに比例して消費電力が上昇する。一方、後者の場合、処理するビット幅や配線の距離、トランジスター数などが大きくなると、Ｃｄ（動的静電容量)が増えるため、消費電力が増大する。
【００７０】
図１２は、図１１で定義したシステム構成例を、本願での構成モデルを用いて定義した例（離散事象モデルで表わした例）である。図１１にて示した関係を考慮した構成モデルとなっている。
図１２では、消費電力を削減するため、メモリコントローラの動作周波数を下げる例を示す。メモリコントローラの動作周波数を下げると、その”Service2”のイベント滞在時間が大きくなり、”Queue1”と”Queue2”の使用率の上昇が予想される。これらキュー容量がオーバーフローするとプロセッサ（図１２では”Generator1”、”Generator2”）にアイドル時間が発生し、処理性能が下がる。しかし、キューサイズ（例えば、キャッシュをモデル化した”Queue1”、”Queue2”）の容量を増やすことで、プロセッサのアイドル時間を削減できれば、処理性能の下げ幅を小さくできるとともに、消費電力を下げることが可能となる。このようなシステム動作のバランスを離散事象シミュレーションと消費電力、物理サイズ、回路規模、ＳＥＲ等の部品情報で計算することで解決できる。
【００７１】
なお、図１のシミュレーション装置のデータベースにＳＥＲ、消費電力、物理サイズ、回路規模の全て、もしくはいずれかの組み合わせた情報を格納することもできる。この場合、入力部および入力データ一時記憶部もこれらデータを入力、格納することができる。ソフトエラー率計算処理部６は、ＳＥＲの他に、消費電力、物理サイズ、回路規模の全て、もしくはいずれかの組み合わせた情報により計算することもある。
【００７２】
以上述べたように、本実施例によれば、電子システム製品のソフトエラー率と処理性能との最適値算出を支援することで、構想設計時点での耐性作りこみを実現し、高信頼化及び開発期間短縮、コスト低減および低消費電力化できる。
【符号の説明】
【００７３】
１  シミュレーション装置、２  入力部、３  入力データ一時記憶部、４  データベース、５  離散事象シミュレーション部、６  ソフトエラー率計算部、７  計算結果一時記憶部、８  計算結果出力制御部、２１  プロセッサ１、２２  プロセッサ２、２３  共有バス、２４  メモリコントローラ、２５  １次メモリ、２６  ２次メモリ、２７  ハードディスク、６６  構成モデル定義部、６７  各種情報保存部、６８  表示部、６９  構成モデル再定義要否判定部
【図１】
0005585221.tif 000002
【図２】
0005585221.tif 000003
【図３】
0005585221.tif 000004
【図４】
0005585221.tif 000005
【図５】
0005585221.tif 000006
【図６】
0005585221.tif 000007
【図７】
0005585221.tif 000008
【図８】
0005585221.tif 000009
【図９】
0005585221.tif 000010
【図１０】
0005585221.tif 000011
【図１１】
0005585221.tif 000012
【図１２】
0005585221.tif 000013
【図１３】
0005585221.tif 000014
【図１４】
0005585221.tif 000015
【図１５】
0005585221.tif 000016