(57)【特許請求の範囲】
【請求項１】
少なくとも入力手段と、記憶手段と、データ圧縮手段と、データ復元手段とを備えたデータ圧縮・復元システムが、シミュレータ部によるシミュレーションの計算結果をデータ圧縮・復元するためのデータ圧縮・復元方法であって、
前記入力手段が、データとして、前記シミュレータ部によるシミュレーションの計算結果として得られた全物理量、元のデータサイズに対する縮小の割合を示す圧縮率と、前記圧縮率を実現するために保存すべき物理量の種類を設定するためのｎ段階のうちの一つの圧縮レベル、保存していない物理量を復元するための復元ルール、シミュレーション条件を取得するデータ取得ステップと、
前記記憶手段が、少なくとも一つの物理量、復元ルール、シミュレーション条件のうちの少なくとも一つを圧縮レベルとともに保存するデータ保存ステップと、
前記データ圧縮手段が、前記入力手段で取得された圧縮レベルがｍ（ｍ≦ｎ）段階未満であるときは、少なくとも、前記シミュレータ部によるシミュレーションの計算結果として得られた全物理量のうち、前記入力手段で取得された前記圧縮レベルに応じて選択した少なくとも一つの物理量と復元ルールとを前記圧縮レベルとともに前記記憶手段に保存する第１データ圧縮ステップと、
前記データ圧縮手段が、前記入力手段で取得された圧縮レベルがｍ（ｍ≦ｎ）段階以上であるときは、前記シミュレータ部によるシミュレーションの計算結果として得られた全物理量のうち、前記入力手段で取得された前記圧縮レベルに応じて選択した少なくとも一つの物理量とシミュレーション条件またはシミュレーション条件のみを前記圧縮レベルとともに前記記憶手段に保存する第２データ圧縮ステップと、
前記データ復元手段が、前記記憶手段に保存されているデータの圧縮レベルがｍ（ｍ≦ｎ）段階未満であるときは、前記記憶手段に保存されている物理量と復元ルールとを用いて演算を実行して、保存されていない物理量を復元する第１復元ステップと、
前記データ復元手段が、前記記憶手段に保存されているデータの圧縮レベルがｍ（ｍ≦ｎ）段階以上であるときは、前記記憶手段に保存された物理量とシミュレーション条件またはシミュレーション条件のみを取得して、前記シミュレータ部に対し、前記物理量とシミュレーション条件または前記シミュレーション条件に基づいて、保存されていない物理量を得るためのシミュレーションの実行を指示する第２復元ステップと、
を含むことを特徴とするデータ圧縮・復元方法。
【請求項２】
請求項１のデータ圧縮・復元方法を用いて記憶手段に保存されたデータを管理するため、少なくとも計時手段と、データ管理手段とを備えたデータ管理システムにおけるデータ管理方法であって、
前記計時手段が、あらかじめ指定された検索時刻ごとに前記データ管理手段に対して起動を通知する起動ステップと、
前記データ管理手段が、前記計時手段からの通知により起動して、前記記憶手段に保存されている各物理量を検索し、所定の検索期間内における参照履歴に応じて、前記記憶手段に保存されている物理量の圧縮レベルを変更する圧縮レベル変更ステップと、
を含むことを特徴とするデータ管理方法。
【請求項３】
ネットワークに接続された計算機システム間でデータの転送を行うデータ転送システムにおけるデータ転送方法であって、
データを送信する一方の計算機システムが、送信すべきデータを請求項１のデータ圧縮・復元方法により圧縮するデータ圧縮ステップと、
データを送信する一方の計算機システムが、前記データ圧縮ステップで圧縮したデータを他方の計算機システムに送信する送信ステップと、
データを受信する他方の計算機システムが、前記一方の計算機システムから送信されたデータを受信する受信ステップと、
データを受信する他方の計算機システムが、前記一方の計算機システムから受信したデータを請求項１のデータ圧縮・復元方法により復元するデータ復元ステップと、
を含むことを特徴とするデータ転送方法。
【請求項４】
入力されたシミュレーション条件に従ってシミュレーションを実行するシミュレータ部と、このシミュレータ部によるシミュレーションの計算結果に対してデータ圧縮・復元を実行するデータ圧縮・復元システムとを備えたシミュレーションシステムにおけるシミュレーション方法であって、
前記シミュレータ部が、入力されたシミュレーション条件に従ってシミュレーションを実行するシミュレーション実行ステップと、
前記データ圧縮・復元システムが、前記シミュレータ部によるシミュレーションの計算結果として得られた物理量を、請求項１のデータ圧縮・復元方法により圧縮して保存するデータ圧縮ステップと、
を含むことを特徴とするシミュレーション方法。
【請求項５】
シミュレータ部によるシミュレーションの計算結果をデータ圧縮・復元するためのデータ圧縮・復元システムであって、
データとして、シミュレータ部によるシミュレーションの計算結果として得られた全物理量、元のデータサイズに対する縮小の割合を示す圧縮率と、前記圧縮率を実現するために保存すべき物理量の種類を設定するためのｎ段階のうちの一つの圧縮レベル、保存していない物理量を復元するための復元ルール、シミュレーション条件を取得する入力手段と、
少なくとも一つの物理量、復元ルール、シミュレーション条件のうちの少なくとも一つを圧縮レベルとともに保存する記憶手段と、
前記入力手段で取得された圧縮レベルがｍ（ｍ≦ｎ）段階未満であるときは、少なくとも、前記シミュレータ部によるシミュレーションの計算結果として得られた全物理量のうち、前記圧縮レベルに応じて選択した少なくとも一つの物理量と復元ルールとを前記圧縮レベルとともに前記記憶手段に保存し、また前記入力手段で取得された圧縮レベルがｍ（ｍ≦ｎ）段階以上であるときは、前記シミュレータ部によるシミュレーションの計算結果として得られた全物理量のうち、前記入力手段で取得された前記圧縮レベルに応じて選択した少なくとも一つの物理量とシミュレーション条件またはシミュレーション条件のみを前記圧縮レベルとともに前記記憶手段に保存するデータ圧縮手段と、
前記記憶手段に保存されているデータの圧縮レベルがｍ（ｍ≦ｎ）段階未満であるときは、前記記憶手段に保存された物理量と復元ルールとを用いて演算を実行して、保存されていない物理量を復元し、また前記記憶手段に保存されているデータの圧縮レベルがｍ（ｍ≦ｎ）段階以上であるときは、前記記憶手段に保存された物理量とシミュレーション条件またはシミュレーション条件のみを取得して、前記シミュレータ部に対し、前記物理量とシミュレーション条件または前記シミュレーション条件に基づいて、保存されていない物理量を得るためのシミュレーションの実行を指示するデータ復元手段と、
を備えることを特徴とするデータ圧縮・復元システム。
【請求項６】
少なくとも入力手段と、記憶手段と、データ圧縮手段と、データ復元手段とを備えたデータ圧縮・復元システムが、シミュレータ部によるシミュレーションの計算結果をデータ圧縮・復元するためのデータ圧縮・復元ステップとして、
前記入力手段が、データとして、前記シミュレータ部によるシミュレーションの計算結果として得られた全物理量、元のデータサイズに対する縮小の割合を示す圧縮率と、前記圧縮率を実現するために保存すべき物理量の種類を設定するためのｎ段階のうちの一つの圧縮レベル、保存していない物理量を復元するための復元ルール、シミュレーション条件を取得するデータ取得ステップと、
前記記憶手段が、少なくとも一つの物理量、復元ルール、シミュレーション条件のうちの少なくとも一つを圧縮レベルとともに保存するデータ保存ステップと、
前記データ圧縮手段が、前記入力手段で取得された圧縮レベルがｍ（ｍ≦ｎ）段階未満であるときは、少なくとも、シミュレーションの計算結果として得られた全物理量のうち、前記入力手段で取得された圧縮レベルに応じて選択した少なくとも一つの物理量と復元ルールとを前記圧縮レベルとともに前記記憶手段に保存する第１データ圧縮ステップと、
前記データ圧縮手段が、前記入力手段で取得された圧縮レベルがｍ（ｍ≦ｎ）段階以上であるときは、シミュレーションの計算結果として得られた全物理量のうち、前記入力手段で取得された圧縮レベルに応じて選択した少なくとも一つの物理量とシミュレーション条件またはシミュレーション条件のみを前記圧縮レベルとともに前記記憶手段に保存する第２データ圧縮ステップと、
前記データ復元手段が、保存されているデータの圧縮レベルがｍ（ｍ≦ｎ）段階未満であるときは、保存された物理量と復元ルールとを用いて演算を実行して、保存されていない物理量を復元する第１復元ステップと、
前記データ復元手段が、保存されているデータの圧縮レベルがｍ（ｍ≦ｎ）段階以上であるときは、保存された物理量とシミュレーション条件またはシミュレーション条件のみを取得して、前記物理量とシミュレーション条件または前記シミュレーション条件に基づいて、保存されていない物理量を得るためのシミュレーションの実行を指示する第２復元ステップと、
を含み、これらステップをコンピュータに実行させることを特徴とするデータ圧縮・復元プログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体シミュレーション分野に係り、特に計算機を用いて解析対象内の各物理量を数値的に求め、特性解析を行うシミュレーション技術に関する。
【０００２】
【従来の技術】
従来、半導体素子の設計・開発においては、デバイス・シミュレーションと呼ばれる手法により、素子の電気的特性を数値解析により求める作業が行われている。このデバイス・シミュレーションにおいては、ポアソン方程式、電流連続式、エネルギー保存式を解き、その計算結果として、構造データ、電位ψ、ドナー濃度Ｎｄ、アクセプタ濃度Ｎａ、電子濃度ｎと正孔濃度ｐ、電子移動度μｎ、正孔移動度μｐ、電界Ｅ、電子擬フェルミ準位Φｎ、正孔擬フェルミ準位Φｐ、電子電流密度Ｊｎ、正孔電流密度Ｊｐ、電子速度ｖｎ、正孔速度ｖｐ、生成消滅率ＧＲ、電子温度Ｔｎ、正孔温度Ｔｐ、電子エネルギーｗｎ、正孔エネルギーｗｐ、電子エネルギー緩和時間τｗｎ、正孔エネルギー緩和時間τｗｐ、電子エネルギー流密度Ｓｎ、正孔エネルギー流密度Ｓｐを取得し、これらの全物理量を磁気ディスクなどの記録媒体に保存していた。
【０００３】
【発明が解決しようとする課題】
ところで、解析の微細化に伴い、３次元形状を考慮したデバイス・シミュレーションが行われるようになり、保存すべきデータの量は膨大なものになりつつある。しかし、従来はシミュレーション結果として得られたデータをすべて記憶媒体に保存するようにしていたため、３次元形状を考慮したデバイス・シミュレーションを実施した場合には、記憶媒体の消費量が著しく多くなるという問題点があった。
【０００４】
また、従来は保存したデータの利用頻度にかかわらずデータを保存するようにしていたため、長期間参照されないようなデータが数多くあるような場合には、記憶媒体の利用効率が悪いという問題点があった。
【０００５】
さらに、最近ではネットワークを通じてデータを相互に送受信するリモート・コンピューティングが一般化しているが、転送すべきデータ量が多いと、通信時間が長くなるうえ、通信のトラフィックが増大してネットワークにかかる負担が大きくなるという問題点があった。
【０００６】
この発明の第１の目的は、ユーザーの指定した圧縮レベルに応じてデータを高密度に保存することができ、またデバイスシミュレーションにより得られたデータを実用的な圧縮レベルで保存したときの復元時間を短縮することができるデータ圧縮・復元方法、シミュレーション方法、データ圧縮・復元システム及びデータ圧縮・復元プログラムを格納したコンピュータ読み取り可能な記録媒体を提供することにある。
【０００７】
第２の目的は、データの参照頻度に応じてデータの保存量を変更することにより、記憶媒体の利用効率を向上させることができるデータ管理方法を提供することにある。
【０００８】
第３の目的は、データ転送時における通信時間の短縮とトラフィックの増大を抑えることにより、ネットワークにかかる負担を低減することができるデータ転送方法を提供することにある。
【０００９】
【課題を解決するための手段】
上記第１の目的を達成するため、請求項１の発明は、圧縮時に、指定された圧縮レベルに応じて、少なくとも一つの物理量を保存し、復元時に、前記保存された物理量及び保存されていない物理量を復元するために用意された復元ルールを用いて、保存されていない物理量を復元することを特徴とするデータ圧縮・復元方法である。
【００１０】
請求項１の発明においては、圧縮時に、指定された圧縮レベルに応じて、少なくとも一つの物理量とシミュレーション条件とを保存し、復元時に、前記シミュレーション条件に従って、前記保存された物理量を初期値とするシミュレーションを行い、保存されていない物理量を復元するようにしてもよい。
【００１１】
請求項２の発明は、圧縮時に、指定された圧縮レベルに応じてシミュレーション条件を保存し、復元時に、前記保存されたシミュレーション条件に従ってシミュレーションを行い、保存されていない物理量を復元することを特徴とする。
【００１２】
上記第２の目的を達成するため、請求項３の発明は、請求項１のデータ圧縮・復元方法で保存された物理量を、所定の時刻に検索し、所定の検索期間内における各物理量の参照履歴または物理量の保存量に応じて、前記された物理量の圧縮レベルを変更することを特徴とする。
【００１３】
請求項３の発明においては、前記保存された物理量の参照履歴または物理量の保存量に応じて、検索時刻、検索期間、圧縮レベルを自動的に設定するようにしてもよい。
【００１４】
上記第３の目的を達成するため、請求項４の発明は、ネットワーク上に接続された端末装置間でデータの転送を行うデータ転送方法において、データ転送時に、転送すべきデータを請求項１のデータ圧縮・復元方法で圧縮することを特徴とする。
【００１５】
請求項４の発明においては、ネットワークの転送可能容量、またはネットワークのトラフィック、または転送先の記憶媒体の容量に応じて、データの圧縮レベルを自動的に設定するようにしてもよい。
【００１６】
さらに、上記第１の目的を達成するため、請求項５の発明は、シミュレーションの計算結果として得られた物理量を、請求項１のデータ圧縮・復元方法で保存することを特徴とする。
【００１７】
請求項５の発明においては、前記保存された物理量のうち、最も近い条件の物理量を復元し、この物理量を新たなシミュレーションの初期値とするようにしてもよい。
【００１８】
また、請求項５の発明において、最も近い条件の物理量を復元する際に、十分な数のシミュレーション結果が蓄積されているかどうかの判定を行う場合は、ユーザがディスプレイ画面のデータ表示を見ながら判定するようにしてもよい。
【００１９】
また、上記第１の目的を達成するため、請求項６の発明は、  シミュレーションの計算結果として得られた物理量と圧縮レベルとを入力するための入力手段と、物理量を保存する記憶手段と、圧縮時に、指定された圧縮レベルに応じて、少なくとも一つの物理量を前記記憶手段に保存するデータ圧縮手段と、復元時に、前記記憶手段に保存された物理量と所定の復元ルールとを用いて、保存されていない物理量を復元するデータ復元手段と、データ圧縮・復元に関する所定のデータを表示する表示手段とを備えたことを特徴とする。
【００２０】
さらに、上記第１の目的を達成するため、請求項７の発明は、指定された圧縮レベルに応じて、少なくとも一つの物理量を保存する処理と、前記保存された物理量と所定の復元ルールとを用いて、保存されていない物理量を復元する処理とを含み、これらの処理をコンピュータに実行させることを特徴とするデータ圧縮・復元プログラムを格納したコンピュータ読み取り可能な記録媒体である。
【００２１】
【発明の実施の形態】
以下、この発明に係わるデータ圧縮方法、データ管理方法、データ転送方法、シミュレーション方法、データ圧縮システム及びデータ圧縮プログラムを格納したコンピュータ読み取り可能な記録媒体の実施形態について説明する。
【００２２】
［実施形態１］
図１は、実施形態１に係わるデータ圧縮・復元システムの機能的な構成を示すブロック図である。このデータ圧縮・復元システム１０は、データ入力部１１、データ圧縮部１２、データ記憶部１３、データ復元部１４、シミュレータ部１５、データ出力部１６により構成されている。
【００２３】
データ入力部１１は、デバイス・シミュレーションの計算結果である全物理量と、ユーザにより指定された圧縮レベルと、保存していない物理量を復元するための復元ルールと、デバイス・シミュレーションにおいてシミュレーションを実施するための条件となるシミュレーション条件とを入力するための入力手段である。
【００２４】
データ圧縮部１２は、デバイス・シミュレーションによって得られたデータを、ユーザにより指定された圧縮レベルに従って圧縮する部分である。圧縮レベルとは、圧縮率を設定するための情報であり、この例では後述するようにレベル０からレベル７が用意されている。以下に、本実施形態におけるＤＤＭ（Ｄｒｉｆｔ  Ｄｉｆｆｕｓｉｏｎ  Ｍｏｄｅｌ）圧縮レベルの一覧を示す。
【００２５】
ここで、ＤＤＭとは、ポアソン方程式、電子と正孔の電流連続式、電子と正孔の電流密度の式を解く方法である。ポアソン方程式は、イオン化した不純物と電子と正孔の電荷が形成する電位分布ψを求める式である。また電流連続式は、電子濃度ｎまたは正孔濃度ｐの分布を求める式である。電流密度の式は、電流連続式の補助方程式である。シミュレーションが実行される間、他の物理量は復元ルールに従って、ψ、ｎ、ｐから計算される。
【００２６】
なお、圧縮率に続くカッコ内の数値は（残されたデータ数／全データ数）を表している。この際、速度と電界と電流密度はベクトル量であるので、ｘ方向、ｙ方向、ｚ方向の３つの成分が存在する。ベクトル量については、データ量は他の物理量に比べて３倍になる。
【００２７】
また、レベル４とレベル５においては、熱平衡にない部分の物理量が保存されているが、これはその物理量の全体の概ね１／４の量である。例えば、電子濃度ｎであれば、熱平衡にない部分の量は、電子濃度全体の１／４程度である。従って、レベル４において、熱平衡部分を削除する物理量は、ｎ、ｐ、μｎ、μｐの４つであるので、圧縮後のデータ数は４／４と計算される。
【００２８】
さらに、物理量の後のカッコ内の物理量は、カッコ内の物理量によってカッコ前の物理量が復元されることを意味する。例えば、ＧＲ（Ｅ、Ｊｎ、Ｊｐ）は、ＧＲはＥとＪｎとＪｐによって復元されることを意味する。
【００２９】
＜ＤＤＭ圧縮レベル一覧＞
レベル０；圧縮率１００％（２６／２６）；すべて保存。
レベル１；圧縮率７３％（１９／２６）；ＧＲ（Ｅ、Ｊｎ、Ｊｐ）、ｖｎ（Ｊｎ、ｎ）、ｖｐ（Ｊｐ、ｐ）
レベル２；圧縮率５０％（１３／２６）；Ｊｎ（μｎ、Ｅ、ｎ）、Ｊｐ（μｐ、Ｅ、ｐ）
レベル３；圧縮率３１％（０８／２６）；Ｅ（ψ）、Φｎ（ｎ）、Φｐ（ｐ）
保存データ；構造データ、Ｎｄ、Ｎａ、ψ、ｎ、ｐ、μｎ、μｐ
レベル４；圧縮率１９％（４＋４／４）／２６；熱平衡部分のｎ、ｐ、μｎ、μｐを削除。
保存データ；構造データ、Ｎｄ、Ｎａ、ψ、（ｎ、ｐ、μｎ、μｐ）／４
レベル５；圧縮率８％（１＋４／４）／２６；構造データ、Ｎｄ、Ｎａは入力データから復元。
保存データ；入力ファイル、ψ、（ｎ、ｐ、μｎ、μｐ）／４
レベル６；圧縮率３％（１／２６）；ψのみを保存して、デバイス・シミュレーションで復元。
保存データ；入力ファイル、ψ
レベル７；圧縮率０％（０／２６）；入力ファイルのみ保存。
【００３０】
ここで、入力ファイルとは、シミュレーションを実施するための条件（以下、シミュレーション条件）を記述したファイルであり、先に実施されたデバイス・シミュレーションは、入力ファイルの記述を元に再現することができる。
【００３１】
なお、圧縮レベルは、ユーザにより指定されたものでもよいし、工場出荷時に設定された圧縮レベル（初期設定値）であってもよい。以下、圧縮レベルはすべてユーザに指定されたものとして説明する。
【００３２】
データ圧縮部１２は、指定された圧縮レベルに応じて、全物理量の中から所定のデータ項目の物理量を削除し、残りの物理量を保存データとしてデータ記憶部１３へ保存する。保存されるデータとしては、物理量、復元ルール、入力ファイルがあり、これらは指定された圧縮レベルに応じて選択される。この例では、物理量のみ（圧縮なし）、物理量と復元ルール、物理量と入力ファイル、入力ファイルのみ、の４パターンに分類される。
【００３３】
ここで、復元ルールとは、保存されていない物理量を復元するためのルールであり、物理モデルから導き出される。この実施形態では、物理量と復元ルールとを共に保存するようにしているが、シミュレーション・モデルが同じであれば、共通の復元ルールを用いることができるため、復元ルールをライブラリ化しておき、物理量のみを保存するようにしてもよい。この場合は、復元時に必要な復元ルールをライブラリから読み出して使用する。
【００３４】
データ記憶部１３は、前記データ圧縮部１２で圧縮（または非圧縮）されたデータを保存するための記憶装置であり、例えば磁気ディスクなどで構成されている。なお、以下の説明では、前記データ圧縮部１２で圧縮（または非圧縮）されたデータ、すなわち物理量のみ（圧縮なし）、物理量と復元ルール、物理量と入力ファイル、入力ファイルのみを含めて、すべて保存データという。
【００３５】
データ復元部１４は、前記データ記憶部１３に保存されている保存データを読み出し、読み出したデータの圧縮レベルに応じて、保存されていない物理量を復元する。なお、データがどの圧縮レベルで処理されたかについては、データに含まれる物理量に対し演算を行うことで一意に求められる（後述の図７参照）。
【００３６】
ここでは、保存データの内容に応じて、次の４つのパターンでデータの復元を行う。
【００３７】
（１）保存データが全物理量である場合、すなわち圧縮が行われていなければ、読み出したデータをそのまま出力する。
【００３８】
（２）保存データが物理量と復元ルールからなる場合は、この物理量と復元ルールを用いて演算処理を行い、保存されていない物理量を復元する。
【００３９】
（３）保存データが物理量と入力ファイルからなる場合は、入力ファイルに記述されたシミュレーション条件に従って、前記物理量を初期値とするシミュレーションを行い、保存されていない物理量を復元する。
【００４０】
（４）保存データが入力ファイルのみの場合は、入力ファイルに記述されたシミュレーション条件に従い、再度シミュレーションを行い、すべての物理量を復元する。
【００４１】
シミュレータ部１５は、入力ファイルに記述されたシミュレーション条件に従ってデバイス・シミュレーションを実行する部分であり、前記データ復元部１４からのシステムコールにより起動する。
【００４２】
データ出力部１６は、前記データ復元部１４により復元された物理量を画面上、記録紙上または記憶装置上のファイルとして出力する出力手段である。
【００４３】
図２は、図１に示したデータ圧縮・復元システム１０を実現するための具体例を示したもので、例えばシミュレーション機能を有するパソコンやワークステーションなどのハードウェア構成を示している。
【００４４】
ディスプレイ２１は、ＣＲＴからなるカラーまたはモノクロの表示装置であり、入／出力されるデータや、処理対象となる各種データを表示するほか、図形や表などの画像イメージを表示する。ディスプレイ２１での表示はディスプレイ制御部２２により制御されている。
【００４５】
キーボード２３は、コマンドや文字列などのデータ入力用の入力装置であり、画面上で指示選択を行うためのマウス２４が接続されている。キーボード２３やマウス２４から入力された各種のデータや選択指示内容は、キーボード／マウス制御部２５を通じて、後述するプロセッサ部２９へ送られる。
【００４６】
ディスク装置２６は、磁気ディスクなどの二次記憶装置で構成され、保存データをファイル形式で格納している。ディスク装置２６でのデータの入出力は、ディスク制御部２７で制御されている。
【００４７】
主記憶装置２８は、ＲＡＭなどのメモリ装置で構成されるバッファ記憶であり、各種プログラムのほか、キーボード２３やマウス２４から入力された各種データや命令などを一時的に記憶する。
【００４８】
プロセッサ部２９は、ＣＰＵ及びその周辺回路により構成される中央処理装置であり、処理の制御プログラムに従って上記各部の動作を管理し、また所定のデータに対する演算処理を実行する。
【００４９】
上述した構成において、ディスプレイ２１、表示制御装置２２、キーボード２３、マウス２４は、図１のデータ入力部１１の機能を実現している。また、プロセッサ部２９、主記憶装置２８に記憶された各種プログラムは、図１のデータ圧縮部１２、データ復元部１４、シミュレータ部１５の機能を実現している。さらに、ディスプレイ２１、表示制御装置２２、ディスク装置２６は、図１のデータ出力部１６の機能を実現している。
【００５０】
次に、上述したデータ圧縮・復元システム１０において、データの圧縮及びデータの復元を行う場合の具体例を説明する。
【００５１】
最初に、先に説明したＤＤＭを用いた場合のデータ圧縮の具体例について説明する。
【００５２】
図３は、ＤＤＭを用いた場合のデータ圧縮の処理手順を示すフローチャートである。なお、以下の説明において、ｖｎ、ｖｐなどの記号は、従来の技術の項に列挙したデータの記号に対応する。
【００５３】
まず、データ入力部１１でデバイス・シミュレーションの計算結果である物理量と圧縮レベルを読み込み、データ圧縮部１２へ受け渡す（ステップ１０１）。データ圧縮部１２は、圧縮レベル０であれば（ステップ１０２でＹｅｓ）、残りのデータとしてすべての物理量をデータ記憶部１３に保存して終了する（ステップ１０３）。また、圧縮レベル０でなければ（ステップ１０２でＮｏ）、ｖｎ、ｖｐ、ＧＲを削除し（ステップ１０４）、圧縮レベル１であれば（ステップ１０５でＹｅｓ）、残りのデータ（物理量）を保存して終了する（ステップ１０３）。
【００５４】
次いで、圧縮レベル１でなければ（ステップ１０５でＮｏ）、ＪｎとＪｐを削除し（ステップ１０６）、圧縮レベル２であれば（ステップ１０７でＹｅｓ）、残りのデータを保存して終了する（ステップ１０３）。
【００５５】
次いで、圧縮レベル２でなければ（ステップ１０７でＮｏ）、Ｅ、Φｎ、Φｐを削除し（ステップ１０８）、圧縮レベル３であれば（ステップ１０９でＹｅｓ）、残りのデータを保存して終了する（ステップ１０３）。
【００５６】
次いで、圧縮レベル３でなければ（ステップ１０９でＮｏ）、熱平衡状態の領域にある、ｎ、ｐ、μｎ、μｐを削除し（ステップ１１０）、圧縮レベル４であれば（ステップ１１１でＹｅｓ）、残りのデータを保存して終了する（ステップ１０３）。
【００５７】
次いで、圧縮レベル４でなければ（ステップ１１１でＮｏ）、構造データ、Ｎｄ、Ｎａを削除し（ステップ１１２）、圧縮レベル５であれば（ステップ１１３でＹｅｓ）、残りのデータを保存して終了する（ステップ１０３）。
【００５８】
次いで、圧縮レベル５でなければ（ステップ１１３でＮｏ）、熱平衡状態の領域にないｎ、ｐ、μｎ、μｐを削除、すなわち入力ファイルとψ以外のデータを削除し（ステップ１１４）、圧縮レベル６であれば（ステップ１１５でＹｅｓ）、残りのデータを保存して終了する（ステップ１０３）。
【００５９】
次いで、圧縮レベル６でなければ（ステップ１１５でＮｏ）、ψを削除、すなわち入力ファイル以外のデータを削除し（ステップ１１６）、残りのデータとして入力ファイルを保存して終了する（ステップ１０３）。これは圧縮レベル７である。
【００６０】
次に、保存データを復元する場合の具体例について説明する。図４は、ＤＤＭを用いた場合のデータ復元の処理手順を示すフローチャートである。
【００６１】
まず、データ復元部１４はデータ記憶部１３に保存されている保存データを読み込み（ステップ２０１）、圧縮レベル７であれば（ステップ２０２でＹｅｓ）、シミュレータ部１５をシステムコールし、入力ファイルに記述されたシミュレーション条件に従って、デバイス・シミュレーション（ＤＳ）を実行する（ステップ２０３）。そして、すべてのデータ（全物理量）を復元し、これをデータ記憶部１３またはデータ出力部１６へ出力する（ステップ２０４）。
【００６２】
次いで、圧縮レベル６であれば（ステップ２０５でＹｅｓ）、シミュレータ部１５をシステムコールし、入力ファイルに記述されたシミュレーション条件に従い、ψを初期値として、デバイス・シミュレーションを実行することによって、すべてのデータを復元し、これを出力する（ステップ２０６、ステップ２０４）。この場合、ψの真値が分かっているため、通常のシミュレーションよりも一桁以上短時間で計算を終了することができる。
【００６３】
次いで、圧縮レベル５であれば（ステップ２０７でＹｅｓ）、シミュレータ部１５の前処理部、すなわち形状認識部分をシステムコールし、入力ファイルに記述されたシミュレーション条件に従い、デバイス・シミュレーションを実行することにより、構造データ、Ｎｄ、Ｎａを復元する（ステップ２０８）。
【００６４】
次いで、データ復元部１４は、次式から熱平衡状態領域のｎ、ｐ、μｎ、μｐを復元する（ステップ２０９）。保存データが圧縮レベル４であれば（ステップ２１０でＹｅｓ）、このステップ２０９の処理から開始する。
【００６５】
【数１】
電荷中性条件（ｐ−ｎ＝ＮａーＮｄ）
ｎｐの積一定条件（ｎｐ＝ｎｉ＾２）
ｎｉ：真性キャリア濃度
μｎ＝μｎ０／（１＋Ｎ／Ｎ／Ｓｎ＋Ｎｒｎ））＾０．５；Ｎ＝Ｎｄ＋Ｎａ
μｎ０、Ｓｎ、Ｎｒｎ：パラメータ
μｐ＝μｐ０／（１＋Ｎ／（Ｎ／Ｓｐ＋Ｎｒｐ））＾０．５；Ｎ＝Ｎｄ＋Ｎａ
μｐ０、Ｓｐ、Ｎｒｐ：パラメータ
次いで、データ復元部１４は、次式からＥ、Φｎ、Φｐを復元する（ステップ２１１）。保存データが圧縮レベル３であれば（ステップ２１２でＹｅｓ）、このステップ２１１の処理から開始する。
【００６６】
【数２】
Ｅ＝−∇ψ
Φｎ＝−ｋＢ＊ＴＬ／ｑ＊ｌｎ（ｎ／ｎｉ）
Φｐ＝＋ｋＢ＊ＴＬ／ｑ＊ｌｎ（ｎ／ｎｉ）
ｋＢ：ホルツマン定数、ＴＬ：格子温度、ｑ：単位素電荷
次いで、データ復元部１４は、次式からＪｎ、Ｊｐを復元する（ステップ２１３）。保存データが圧縮レベル２であれば（ステップ２１４でＹｅｓ）、このステップ２１３の処理から開始する。
【００６７】
Ｊｎ＝ｑ＊μｎ＊（ｎ＊Ｅ＋ｋＢ＊ＴＬ／ｑ＊∇ｎ）
Ｊｐ＝ｑ＊μｐ＊（ｐ＊ＥーｋＢ＊ＴＬ／ｑ＊∇ｐ）
次いで、データ復元部１４は、次式からｖｎ、ｖｐ、ＧＲを復元し（ステップ２１５）、これを出力する（ステップ２０４）。なお、すべてのデータが復元された場合を除いて、復元されたデータはすでに保存されているデータに埋め込まれ、元のサイズのデータ（全物理量）として出力される。
【００６８】
さて、保存データが圧縮レベル１であれば（ステップ２１６でＹｅｓ）、このステップ２１５の処理から開始する。
【００６９】
【数３】
ｖｎ＝Ｊｎ／ｑ／ｎ
ｖｐ＝Ｊｐ／ｑ／ｐ
ＧＲ＝Ａｎ＊Ｊｎ＊ｅｘｐ［−Ｂｎ｜Ｅ・Ｊｎ｜／｜Ｊｎ｜］＋Ａｐ＊Ｊｐ＊ｅｘｐ［−Ｂｐ｜Ｅ・Ｊｐ｜／｜Ｊｐ｜］
Ａｎ、Ｂｎ、Ａｐ、Ｂｐは衝突イオン化パラメータである。
【００７０】
次いで、圧縮レベル０であれば（ステップ２１７でＹｅｓ）、上記のすべての処理を行わず、復元したデータとして、読み出した保存データをそのまま出力して終了する（ステップ２０４）。また、圧縮レベル０でなければ（ステップ２１７でＮｏ）、エラー処理を実行する（ステップ２１８）。
【００７１】
次に、ＥＴＭ（Ｅｎｅｒｇｙ  Ｔｒａｎｓｐｏｒｔ  Ｍｏｄｅｌ）を用いた場合のデータ圧縮の具体例について説明する。ただし、システム構成は図１と同じである。
【００７２】
まず、本実施形態におけるＥＴＭ圧縮レベルの一覧を示す。ここで、ＥＴＭとは、先にＤＤＭで示した式に、電子と正孔のエネルギー保存式、電子と正孔のエネルギー流の式を加えたものであり、これらの式を解く方法である。エネルギー保存式は、電子または正孔のエネルギーを求める式である。電流密度の式とエネルギー流の式は、電流連続式の補助方程式である。シミュレーションが実行される間、他の物理量は復元ルール従って、ψ、ｎ、ｐ、ｗｎ、ｗｐから計算される。
【００７３】
＜ＥＴＭ圧縮レベル一覧＞
レベル０；圧縮率１００％（３８／３８）；すべて保存。
レベル１；圧縮率９２％（３５／３８）；ＧＲ（ｗｎ、ｗｐ）、τｗｎ（ｗｎ）、τｗｐ（ｗｐ）
レベル２；圧縮率８７％（３３／３８）；ｗｎ（ｖｎ、Ｔｎ）、ｗｐ（ｖｐ、Ｔｐ）
レベル３；圧縮率７１％（２７／３８）；ｖｎ（Ｊｎ、ｎ）、ｖｐ（Ｊｐ、ｐ）
レベル４；圧縮率３９％（１５／３８）；Ｊｎ（μｎ、Ｅ、ｎ、Ｔｎ）、Ｊｐ（μｐ、Ｅ、ｐ、Ｔｐ）、Ｓｎ（μｎ、Ｅ、ｎ、Ｔｎ）、Ｓｐ（μｐ、Ｅ、ｐ、Ｔｐ）
レベル５；圧縮率２６％（１０／３８）；Ｅ（ψ）、Φｎ（ｎ）、Φｐ（ｐ）
保存データ；構造データ、Ｎｄ、Ｎａ、ψ、ｎ、ｐ、μｎ、μｐ、Ｔｎ、Ｔｐ
レベル６；圧縮率１４％（４＋６／４）／３８；熱平衡部分のｎ、ｐ、μｎ、μｐ、Ｔｎ、Ｔｐを削除。
保存データ；構造データ、Ｎｄ、Ｎａ、ψ、（ｎ、ｐ、μｎ、μｐ、Ｔｎ、Ｔｐ）／４
レベル７；圧縮率７％（１＋６／４）／３８；構造データ、Ｎｄ、Ｎａは入力データから復元。
保存データ；入力ファイル、ψ、（ｎ、ｐ、μｎ、μｐ、Ｔｎ、Ｔｐ）／４
レベル８；圧縮率３％（１／３８）；ψのみを保存して、デバイス・シミュレーションで復元。
保存データ；入力ファイル、ψ
レベル９；圧縮率０％（０／３８）；入力ファイルのみ保存。
【００７４】
図５は、ＥＴＭを用いた場合のデータ圧縮の処理手順を示すフローチャートである。
【００７５】
まず、データ入力部１１でデバイス・シミュレーションの計算結果である物理量と圧縮レベルを読み込み、データ圧縮部１２へ受け渡す（ステップ３０１）。データ圧縮部１２は、圧縮レベル０であれば（ステップ３０２でＹｅｓ）、残りのデータとして全物理量をデータ記憶部１３に保存して終了する（ステップ３０３）。また、圧縮レベル０でなければ（ステップ３０２でＮｏ）、τｗｎ、τｗｐ、ＧＲを削除し（ステップ３０４）、圧縮レベル１であれば（ステップ３０５でＹｅｓ）、残りのデータ（物理量）を保存して終了する（ステップ３０３）。
【００７６】
次いで、圧縮レベル１でなければ（ステップ３０５でＮｏ）、ｗｎ、ｗｐを削除し（ステップ３０６）、圧縮レベル２であれば（ステップ３０７でＹｅｓ）、残りのデータを保存して終了する（ステップ３０３）。
【００７７】
次いで、圧縮レベル２でなければ（ステップ３０７でＮｏ）、ｖｎ、ｖｐを削除し（ステップ３０８）、圧縮レベル３であれば（ステップ３０９でＹｅｓ）、残りのデータを保存して終了する（ステップ３０３）。
【００７８】
次いで、圧縮レベル３でなければ（ステップ３０９でＮｏ）、Ｊｎ、Ｊｐ、Ｓｎ、Ｓｐを削除し（ステップ３１０）、圧縮レベル４であれば（ステップ３１１でＹｅｓ）、残りのデータを保存して終了する（ステップ３０３）。
【００７９】
次いで、圧縮レベル４でなければ（ステップ３１１でＮｏ）、Ｅ、Φｎ、Φｐを削除し（ステップ３１２）、圧縮レベル５であれば（ステップ３１３でＹｅｓ）、残りのデータを保存して終了する（ステップ３０３）。
【００８０】
次いで、圧縮レベル５でなければ（ステップ３１３でＮｏ）、熱平衡状態の領域にある、ｎ、ｐ、μｎ、μｐ、Ｔｎ、Ｔｐを削除し（ステップ３１４）、圧縮レベル６であれば（ステップ３１５でＹｅｓ）、残りのデータを保存して終了する（ステップ３０３）。
【００８１】
次いで、圧縮レベル６でなければ（ステップ３１５でＮｏ）、構造データ、Ｎｄ、Ｎａを削除し（ステップ３１６）、圧縮レベル７であれば（ステップ３１７でＹｅｓ）、残りのデータを保存して終了する（ステップ３０３）。
【００８２】
次いで、圧縮レベル７でなければ（ステップ３１７でＮｏ）、熱平衡状態の領域にないｎ、ｐ、μｎ、μｐを削除、すなわち入力ファイルとψ以外のデータを削除し（ステップ３１８）、圧縮レベル８であれば（ステップ３１９でＹｅｓ）、残りのデータを保存して終了する（ステップ３０３）。
【００８３】
次いで、圧縮レベル８でなければ（ステップ３１９でＮｏ）、ψを削除、すなわち入力ファイル以外のデータを削除し（ステップ３２０）、残りのデータとして入力ファイルを保存して終了する（ステップ３０３）。これは圧縮レベル９である。
【００８４】
次に、保存データを復元する場合の具体例について説明する。図６は、ＥＴＭを用いた場合のデータ復元の処理手順を示すフローチャートである。
【００８５】
まず、データ復元部１４はデータ記憶部１３に保存されている保存データを読み込み（ステップ４０１）、圧縮レベル９であれば（ステップ４０２でＹｅｓ）、シミュレータ部１５をシステムコールし、入力ファイルに記述されたシミュレーション条件に従って、デバイス・シミュレーションを実行する（ステップ４０３）。そして、すべてのデータ（全物理量）を復元し、これをデータ記憶部１３またはデータ出力部１６へ出力する（ステップ４０４）。
【００８６】
次いで、圧縮レベル８であれば（ステップ４０５でＹｅｓ）、シミュレータ部１５をシステムコールし、入力ファイルに記述されたシミュレーション条件に従い、ψを初期値として、デバイス・シミュレータを実行することによって、すべてのデータを復元し、これを出力する（ステップ４０６、ステップ４０４）。この場合、ψの真値が分かっているため、通常のシミュレーションよりも一桁以上短時間で計算を終了することができる。
【００８７】
次いで、圧縮レベル７であれば（ステップ４０７でＹｅｓ）、シミュレータ部１５の前処理部、すなわち形状認識部分をシステムコールし、入力ファイルに記述されたシミュレーション条件に従い、デバイス・シミュレーションを実行することにより、構造データ、Ｎｄ、Ｎａを復元する（ステップ４０８）。
【００８８】
次いで、データ復元部１４は、次式から熱平衡状態領域のｎ、ｐ、μｎ、μｐ、Ｔｎ、Ｔｐを復元する（ステップ４０９）。保存データが圧縮レベル６であれば（ステップ４１０でＹｅｓ）、このステップ４０９の処理から開始する。
【００８９】
【数４】
電荷中性条件（ｐ−ｎ＝ＮａーＮｄ）
ｎｐの積一定条件（ｎｐ＝ｎｉ＾２）
ｎｉ：真性キャリア濃度
μｎ＝μｎ０／（１＋Ｎ／Ｎ／Ｓｎ＋Ｎｒｎ））＾０．５；Ｎ＝Ｎｄ＋Ｎａ
μｎ０、Ｓｎ、Ｎｒｎ：パラメータ
μｐ＝μｐ０／（１＋Ｎ／（Ｎ／Ｓｐ＋Ｎｒｐ））＾０．５；Ｎ＝Ｎｄ＋Ｎａ
μｐ０、Ｓｐ、Ｎｒｐ：パラメータ
Ｔｎ＝ＴＬ、Ｔｐ＝ＴＬ
次いで、データ復元部１４は、次式からＥ、Φｎ、Φｐを復元する（ステップ４１１）。保存データが圧縮レベル５であれば（ステップ４１２でＹｅｓ）、このステップ４１１の処理から開始する。
【００９０】
Ｅ＝∇ψ
Φｎ＝−ｋＢ＊ＴＬ／ｑ＊ｌｎ（ｎ／ｎｉ）
Φｐ＝＋ｋＢ＊ＴＬ／ｑ＊ｌｎ（ｎ／ｎｉ）
ｋＢ：ホルツマン定数、ＴＬ：格子温度、ｑ：単位素電荷
次いで、データ復元部１４は、次式からＪｎ、Ｊｐ、Ｓｎ、Ｓｐを復元する（ステップ４１３）。保存データが圧縮レベル４であれば（ステップ４１４でＹｅｓ）、このステップ４１３の処理から開始する。
【００９１】
【数５】
Ｊｎ＝ｑ＊μｎ＊（ｎ＊Ｅ＋ｋＢ／ｑ＊∇（ｎＴｎ）
Ｊｐ＝ｑ＊μｐ＊（ｐ＊ＥーｋＢ／ｑ＊∇（ｐＴｐ）
Ｓｎ＝−２．５＊μｎ／ｑ＊（＋ｎ＊ｋＢ＊Ｔｎ＊Ｅ＋ｋＢ＾２＊∇（ｎ＊Ｔｎ＾２））
Ｓｐ＝−２．５＊μｐ／ｑ＊（−ｐ＊ｋＢ＊Ｔｐ＊Ｅ＋ｋＢ＾２＊∇（ｐ＊Ｔｐ＾２））
次いで、データ復元部１４は、次式からｖｎ、ｖｐを復元する（ステップ４１５）。保存データが圧縮レベル３であれば（ステップ４１６でＹｅｓ）、このステップ４１５の処理から開始する。
【００９２】
ｖｎ＝Ｊｎ／ｑ／ｎ
ｖｐ＝Ｊｐ／ｑ／ｐ
次いで、データ復元部１４は、次式からｗｎ、ｗｐを復元する（ステップ４１７）。保存データが圧縮レベル２であれば（ステップ４１８でＹｅｓ）、このステップ４１７の処理から開始する。
【００９３】
ｗｎ＝０．５＊ｍｎ＊ｖｎ＾２＋１．５＊ｋＢ＊Ｔｎ
ｗｐ＝０．５＊ｍｐ＊ｖｐ＾２＋１．５＊ｋＢ＊Ｔｐ
次いで、データ復元部１４は、次式からτｗｎ、τｗｐ、ＧＲを復元し（ステップ４１９）、これを出力する（ステップ４０４）。なお、シミュレーションにより、全物理量を復元した場合を除いて、復元されたデータはすでに保存されているデータに埋め込まれ、元のサイズのデータ（全物理量）として出力される。
【００９４】
また、保存データが圧縮レベル１であれば（ステップ４２０でＹｅｓ）、このステップ４１９の処理から開始する。
【００９５】
【数６】
τｗｎ＝τｗｎ１＋（τｗｎ（Ｎ）ーτｗｎ１）＊ｅｘｐ［−｛（ｗｎ−ｗＬ）／ｗｎ１｝＾ｃｎ］
τｗｎ（Ｎ）＝τｗｎ０＋ａｎ＊ｌｏｇ［｛１＋（Ｎ／Ｎｎ０）＾ｂｎ｝／｛１＋（Ｎ／Ｎｎ１）＾ｂｎ｝］
τｗｎ１、ｗｎ１、ｃｎ、τｗｎ０、ａｎ、Ｎｎ０、ｂｎ、Ｎｎ１：パラメータ
τｗｐ＝τｗｐ１＋（τｗｐ（Ｎ）ーτｗｐ１）＊ｅｘｐ［−｛（ｗｐ−ｗＬ）／ｗｐ１｝＾ｃｐ］
τｗｐ（Ｎ）＝τｗｐ０＋ａｐ＊ｌｏｇ［｛１＋（Ｎ／Ｎｐ０）＾ｂｐ｝／｛１＋（Ｎ／Ｎｐ１）＾ｂｐ｝］
τｗｐ１、ｗｐ１、ｃｐ、τｗｐ０、ａｐ、Ｎｐ０、ｂｐ、Ｎｐ１：パラメータ
ＧＲ＝Ｃｎ＊ｎ＊ｅｘｐ［−Ｄｎ／ｗｎ］＋Ｃｐ＊ｐ＊ｅｘｐ［−Ｄｐ／ｗｐ］
Ｃｎ、Ｄｎ、Ｃｐ、Ｄｐは衝突イオン化パラメータである。
【００９６】
次いで、データ復元部１４は、圧縮レベル０であれば（ステップ４２１でＹｅｓ）、上記のすべての処理を行わず、復元したデータとして、読み出した保存データをそのまま出力して終了する（ステップ４０４）。また、圧縮レベル０でなければ（ステップ４２１でＮｏ）、エラー処理を実行する（ステップ４２２）。
【００９７】
次に、上記実施形態のシステムにより、データを圧縮または復元する場合のデータ形式を例示する。
【００９８】
（１）ｘ方向の電子速度分布ｖｎｘの保存形式を以下に示す。％ｆｕｎｃｔｉｏｎの行には復元方法を記述し、％ｄａｔａの行にはｖｎｘのデータを記述する。また％ｄａｔａの行において、Ｎはデータ数であり、実際にはＮ＝５，０００〜１００，０００程度の値になる。圧縮時は、％ｄａｔａの行を削除する。
【００９９】
【数７】
％ｓｔａｒｔ
％ｎａｍｅ  ｖｎｘ
％ｔｙｐｅ  ｕｎｃｏｍｐｒｅｓｓ
％ｆｕｎｃｔｉｏｎ  ｖｎｘ＝Ｊｎｘ／１／ｎｘ；ｎｘ＝（ｎ０＊ｎ１）＾０．５；
％ｄａｔａ  ｛数値１  数値２  数値３  数値４  数値５・・数値Ｎ｝
％ｅｎｄ
なお、％ｆｕｎｃｔｉｏｎの行において、ｎｘは格子間の平均的な電子濃度である。ｎ０とｎ１はｘ方向に隣接する格子点の濃度である。
【０１００】
（２）熱平衡状態の領域を削除したｎについてのデータ形式を以下に示す。％ｄａｔａ行の第一の｛  ｝内に熱平衡状態でない数値に１、熱平衡状態にある数値に０のフラグを設定する。ｄａｔａ行の第二の｛  ｝内に１のフラグが立っている数値のみを記述する。これによると、第一の｛  ｝内にはすべてのデータについて１または０のフラグが記述されるが、第二の｛  ｝には１のフラグが立っている数値のみが記述されることになる。そして復元時には、％ｆｕｎｃｔｉｏｎの行の記述にしたがって、０のフラグが立っている数値を復元する。％ｆｕｎｃｔｉｏｎの式は上述の電荷中性条件とｎｐ積一定から導出される。
【０１０１】
【数８】
％ｓｔａｒｔ
％ｎａｍｅ  ｎ
％ｔｙｐｅ  ｐａｒｔｉａｌ＿ｃｏｍｐｒｅｓｓ
％ｆｕｎｃｔｉｏｎ  ｎ＝（Ｎｄ−Ｎａ＋（（Ｎｄ−Ｎａ）＾２＋４＊ｎｉ＊ｎｉ）＾０．５）／２；
％ｄａｔａ｛１０００１・・・１｝｛数値１  数値５  ・・・数値Ｎ｝
％ｅｎｄ
（３）シミュレータ部１５の前処理部によってデータを復元する場合のデータ形式を以下に示す。％ｔｙｐｅの行にシミュレータの前処理部の名称、例えばｐｒｅｐを記述する。この形式のデータが参照された場合、データファイルに保存されているシミュレータの入力ファイルを用いて、前処理部を実行して、％ｎａｍｅで指定された物理量を復元する。
【０１０２】
％ｓｔａｒｔ
％ｎａｍｅ  Ｎａ
％ｔｙｐｅ  ｓｉｍｕｌａｔｏｒ＝ｐｒｅｐ
％ｅｎｄ
（４）シミュレータ部１５によって、データを復元する場合のデータ形式を以下に示す。％ｔｙｐｅの行にシミュレータの名称を記述する（この例では、シミュレータ名として「ｔｓｂ」を記述する）。この形式のデータが参照された場合、データファイルに保存されている他の情報を初期値として、シミュレーションを実行して、％ｎａｍｅで指定された物理量を復元する。
【０１０３】
％ｓｔａｒｔ
％ｎａｍｅ  ｎ
％ｔｙｐｅ  ｓｉｍｕｌａｔｏｒ＝ｔｓｂ
％ｅｎｄ
ここで、図４及び図５のフローチャートで説明した、保存データを復元する場合の具体例として、汎用データを復元する場合の処理手順を図７のフローチャートにより説明する。
【０１０４】
データ入力部１１において、保存データと任意の出力要求物理量名を読み込む（ステップ５０１）。次いで、データ圧縮部１２は、変数Ｆ１に出力要求物理量名を、変数ＴａｒｇｅｔにＦ１を、また物理量数Ｎａｌｌに１をそれぞれ格納する（ステップ５０２）。次いで、関数Ｓｅａｒｃｈ（Ｔａｒｇｅｔ）を実行し、演算結果をＲｅｓｕｌｔに格納する（ステップ５０３）。ここで、関数Ｓｅａｒｃｈ（Ｔａｒｇｅｔ）は、Ｔａｒｇｅｔに格納された一つ以上のＦｉ（ｉ＝整数）を構成する物理量のうち、非圧縮の物理量名をＦｊ（ｊ＝整数、ｉ≠ｊ）に格納し、すべてのＦｊを演算結果として返す。非圧縮の物理量が存在しなければ、０を演算結果として返す。
【０１０５】
次いで、Ｒｅｓｕｌｔを調べ（ステップ５０４）、ＲｅｓｕｌｔがＦＮａｌｌ〜ＦＮａｌｌ＋ｋのｋ個のＦｊであれば、これらをＴａｒｇｅｔに代入するとともに、ＮａｌｌをＮａｌｌ＋ｋで更新し（ステップ５０５）、ステップ５０３に戻る。また、Ｒｅｓｕｌｔが０であれば、カウンタｉにＮａｌｌを代入する（ステップ５０６）。
【０１０６】
次いで、関数Ｒｅｓｔｏｒｅ（Ｆｉ）を実行し、演算結果をＲｅｓｕｌｔに格納する（ステップ５０７）。関数Ｒｅｓｔｏｒｅ（Ｆｉ）は、上述のデータ形式の％ｔｙｐｅのパラメータを演算結果として返す。
【０１０７】
次いで、Ｒｅｓｕｌｔ＝ｕｎｃｏｍｐｒｅｓｓであれば（ステップ５０８でＹｅｓ）、Ｆｉのデータを作業配列へ格納する（ステップ５０９）。
【０１０８】
Ｒｅｓｕｌｔ＝ｃｏｍｐｒｅｓｓ、またはｐａｒｔｉａｌ＿ｃｏｍｐｒｅｓｓであれば（ステップ５１０でＹｅｓ）、復元ルールに従い、Ｆｉのデータを復元し、作業配列へ格納する（ステップ５１１）。
【０１０９】
Ｒｅｓｕｌｔ＝ｔｓｂ（シミュレータ名）であれば（ステップ５１２でＹｅｓ）、シミュレータ部１５をシステムコールして、Ｆｉのデータを復元し、作業配列へ格納する（ステップ５１３）。
【０１１０】
上記ステップ５０９、ステップ５１１、ステップ５１３に次いで、カウンタｉについて、ｉ←ｉ−１を実行する（ステップ５１４）。そして、ｉ＞０かどうかを判断する（ステップ５１５）。ここで、ｉ＞０であればステップ５０７へ戻り、ｉ＞０でなければ、Ｆ１のデータを出力して終了する（ステップ５１６）。同様に、ステップ５１２でＲｅｓｕｌｔ＝ｔｓｂでなければ、Ｆ１のデータを出力して終了する（ステップ５１６）。
【０１１１】
上述したデータ圧縮・復元システムによれば、圧縮時には、指定された圧縮レベルに対応する物理量のみを保存し、復元時には、保存された物理量と復元ルールによる計算、または保存された物理量を初期値とするシミュレーションを実行するなどの手法により、保存されていない物理量を復元するようにしたので、シミュレーションにより得られた大量のデータを高密度に保存することができる。また、圧縮レベル４以下であればシミュレーションを実行することなく、物理量と復元ルールを用いた演算処理によりデータを復元することができるため、デバイスシミュレーションにより得られたデータを実用的な圧縮レベルで保存したときの復元時間を短縮することができる。したがって、従来のように得られたデータをすべて保存する場合に比べて、記憶媒体の消費量を大幅に低減することができる。
【０１１２】
ちなみに、ＤＤＭ圧縮の場合について見てみると、実際には圧縮レベル４程度で保存することが多いと考えられるため（圧縮レベルを上げると、復元の際に複数のシミュレーションを実行することになり、復元に時間がかかる）、全物理量を約２０％以下のサイズに圧縮することができる。
【０１１３】
［実施形態２］
次に、実施形態２として、上述したデータ圧縮・復元システムで処理された保存データのデータ管理方法について説明する。
【０１１４】
図８は、実施形態２に係わるデータ管理システムの機能的な構成を示すブロック図である。このデータ管理システム３０は、計算機システム３１とデータ記憶部３２とから構成されている。
【０１１５】
計算機システム３１は、例えば図２のようなコンピュータシステムであり、実施形態２に特有の構成として、タイマー部３３とデータ管理部３４とを備えている。タイマー部３３は時間計時を行っており、ユーザが指定した時刻（以下、検索時刻）に達すると、これをデータ管理部３４に通知する。データ管理部３４は、タイマー部３３からの通知により起動し、データ記憶部３２内に格納されている保存データのファイルを検索する。そして、各データの参照時刻（履歴）を検出し、ユーザが指定した所定の検索期間内に参照されなかったデータに対し、その圧縮レベルを１つ上げる操作を行う。なお、検索時刻、検索期間はシステムの設定値を用いてもよい。
【０１１６】
例えば、検索時刻を毎日の午前零時、検索期間を検索開始時刻から遡って一週間と設定した場合には、毎日午前零時にファイルの検索が開始され、その時点から遡って一週間の間に参照されなかったファイルが存在するかどうかの判定がなされる。そして、該当するファイルが存在する場合には、その参照頻度の低いファイルについて、データ圧縮のレベルを上げて再度保存する。このときのデータの圧縮は、データ記憶部３２に保存されているデータ圧縮・復元プログラムを読み出し、上記実施形態１の処理手順に従って実行する。
【０１１７】
データ記憶部３２は、保存データ、データ管理プログラム、データ圧縮・復元プログラムなどをファイル形式で格納している。以下の説明では、物理量を保存したファイルを物理データファイルという。
【０１１８】
次に、前記データ管理システム３０によりデータ管理を行う場合の処理手順を図９のフローチャートにより説明する。
【０１１９】
タイマー部３３は、ユーザが指定した検索時刻に達すると（ステップ６０１でＹｅｓ）、この旨をデータ管理部３４へ通知する。データ管理部３４は、データ記憶部３２内に保存されている物理データファイルを検索し、各データの参照時刻を検出する（ステップ６０２）。次いで、ユーザが指定した検索期間内に参照されなかったファイルが存在するかどうかを判断し（ステップ６０３）、存在する場合には、該当する物理データファイルの圧縮レベルを１つ上げる（ステップ６０４）。また、存在しない場合には、ステップ６０１へ戻り、次の検索時刻まで待機する。
【０１２０】
なお、ステップ６０３において、検索期間ではなく、データの参照回数を調べ、この参照回数があらかじめ設定された基準値より少ないファイルが存在する場合には、そのファイルの圧縮レベルを１つ上げるようにしてもよい。
【０１２１】
また、データ記憶部３２内の物理データファイルの参照回数またはデータの増加率を元にして、システムが検索時刻、検索期間、圧縮レベルを自動的に設定するように構成することもできる。
【０１２２】
上述したデータ管理システムによれば、一旦保存したデータの参照頻度（または参照回数など）を定期的に調べ、参照頻度が少ない場合には、データの圧縮レベルを上げて、さらにデータを圧縮して保存するようにしたため、長期間参照されないような重要性の低いデータについては、自動的にデータ量が削減されるので、従来に比べて記憶媒体の利用効率を向上させることができる。
【０１２３】
［実施形態３］
次に、実施形態３として、シミュレーションにより得られたデータを他の記憶媒体へ転送する場合のデータ転送方法について説明する。
【０１２４】
図１０は、実施形態３に係わるデータ転送システムの構成図である。このデータ転送システム４０は、ネットワーク４１と、このネットワーク上に接続された端末装置としての計算機システム４２、４３により構成されている。
【０１２５】
計算機システム４２、４３は、例えば図２のようなコンピュータシステムであり、それぞれ計算機本体４２１、４３１とデータ記憶部４２２、４３２により構成されている。各計算機システムは、ネットワーク上に接続された他の計算機システムとの間で相互にデータを送信し、また受信するための機能を備えている。また、各計算機システムのデータ記憶部４２２、４３２は、保存データ、データ圧縮・復元プログラム、データ転送プログラムなどをファイル形式で格納している。なお、図１０は実施形態３のデータ転送方法を実現するための最小単位の構成を示したものであって、計算機システムの数はさらに多くても良いし、各計算機システムは複数のネットワークをまたいで接続されていてもよい。
【０１２６】
上記データ転送システム４０において、計算機システム４２から計算機システム４３へデータを転送する場合、計算機システム４２では、ユーザが指定した圧縮レベルでデータを圧縮した後、ネットワーク４１を通じて圧縮したデータを転送する。ここでは、データ記憶部４２１からデータ圧縮・復元プログラムを読み出し、上記実施形態１の処理手順に従ってデータ圧縮を行う。また、計算機システム４３では、受信したデータをそのままデータデータ記憶部４３２へ保存し、参照時に、データ記憶部４３２からデータ圧縮・復元プログラムを読み出し、上記実施形態１の処理手順に従ってデータの復元を行う。
【０１２７】
なお、各計算機システムにおいては、ネットワーク４１の転送可能容量またはネットワークのトラフィック、または転送先の記憶媒体の容量などに応じて、圧縮レベルを自動的に設定するようにしてもよい。これによれば、ユーザはネットワークの転送可能容量やトラフィックなどを考慮することなしにデータ転送を行うことができる。
【０１２８】
上述したデータ転送システムによれば、データ転送時にユーザが指定した圧縮レベルでデータを圧縮し、このデータ圧縮をネットワークに送出するようにしたので、従来のようにすべてのデータを転送する場合に比べて、データ転送時におけるトラフィックの増大を抑えることができ、ネットワークにかかる負担を低減することができる。
【０１２９】
［実施形態４］
次に、実施形態４として、データ圧縮・復元方法を用いたシミュレーション方法について説明する。この実施形態のシミュレーション方法は、例えば図２に示すようなコンピュータシステム上で実現される。このシステムでは、通常のシミュレーションプログラムのほか、上述したデータ圧縮・復元プログラムなどを読み出し可能な状態で保持している。
【０１３０】
図１１は、実施形態４に係わるシミュレーション方法における処理手順を示すフローチャートである。まず、シミュレーション条件を入力する（ステップ７０１）。ここでは、シミュレーションに必要な複数の入力ファイルを用意する。次いで、入力されたシミュレーションの入力ファイルを設定する（ステップ７０２）。次いで、補間に使える十分な数のシミュレーション結果が蓄積されているかどうかを判定する（ステップ７０３）。判定が真であれば、保存データの一部を復元して、シミュレーション条件の初期値を推定する。すなわち、必要なシミュレーション条件に近い複数の保存データを復元し、それらから必要な条件における物理量を補間し、補間された物理量を初期値とする（ステップ７０４）。また、ステップ７０３で判定が偽であるとき、すなわちシミュレーションの回数が少なく、補間に使える十分な数のシミュレーション結果が蓄積されていない段階では、ステップ７０４の処理は行わない。
【０１３１】
次いで、前記入力ファイルとシミュレーションプログラムなどを用いてシミュレーションを実行し（ステップ７０５）、得られた計算結果をデータ圧縮・復元プログラムを用いてデータ圧縮する（ステップ７０６）。次いで、すべての条件のシミュレーションが終了したかどうかを判定する（ステップ７０７）。ここで、判定が偽であれば、ステップ７０２に戻り、判定が真であれば、複数のシミュレーション結果を出力し（ステップ７０８）、すべての処理を終了する。
【０１３２】
なお、ステップ７０３において、十分な数のシミュレーション結果が蓄積されているかどうかの判定は、ユーザがディスプレイ画面のデータ表示を見ながら判定するようにしてもよい。
【０１３３】
この実施形態のシミュレーション方法は、とくに工場等で行われる統計解析のような大量のシミュレーションを行う場合に有効である。例えば、半導体素子のデバイスシミュレーションにおいて、ソース／ドレイン深さを０．０５、０．０７、０．１、０．１２［μｍ］、ゲート酸化膜厚を２０、３０、４０、５０、６０［Å］、基板濃度を１Ｅ１７、２Ｅ１７、５Ｅ１７、１Ｅ１８［ｃｍ−３］という条件でシミュレーションを実行した場合、シミュレーション回数は８０回にもなる。このような大量のシミュレーションを実行すると、膨大な計算結果を生じ、記憶媒体の消費量が著しく大きくなってしまう。しかし、この実施形態のように、シミュレーションの計算結果をデータ圧縮しながら出力することにより、記録媒体の消費量を大幅に低減することができる。また、必要なシミュレーション条件に近い保存データの一部を復元してシミュレーションの初期値を推定することにより、計算時間を短縮することができる。なお、従来のように、すべてのデータを保存するようにした場合でも、初期値を推定することはできるが、記憶媒体の容量によっては初期値の推定に必要な十分な数のデータを保存することができないおそれもある。しかし、この実施形態のシミュレーション方法によれば、データ圧縮によって十分な数のデータを保存することができるため、初期値の推定をより効率良く行うことができる。
【０１３４】
［実施形態５］
上述したデータ圧縮・復元方法を実現するためのプログラムは、コンピュータ読み取り可能な記録媒体に保存することができる。この記録媒体をコンピュータシステムに読み込ませ、前記プログラムを実行してコンピュータを所定の処理手順に従って制御することにより、上述したデータ圧縮・復元方法を実現することができる。ここで、前記記録媒体としては、例えばメモリ装置、磁気ディスク装置、光ディスク装置、磁気テープ装置などのプログラムを記録できるような装置が含まれる。
【０１３５】
図１２は、これら記録媒体に格納されたプログラムを読み取り、そこに記述された手順に従ってデータ圧縮・復元の処理を実現するコンピュータシステムの一例を示す外観図である。このコンピュータシステム８０の本体前面には、フロッピーディスクドライブ８１、及びＣＤ−ＲＯＭドライブ８２が設けられており、磁気ディスク装置としてのフロッピーディスク８３、または光ディスク装置としてのＣＤ−ＲＯＭ８４を各ドライブ入口から挿入し、所定の読み出し操作を行うことにより、これらの記憶媒体に格納されたプログラムをシステム内にインストールすることができる。また、所定のドライブ装置を接続することにより、例えばゲームパックなどに使用されているメモリ装置としてのＲＯＭ８５や、磁気テープ装置としてのカセットテープ８６を用いることもできる。
【０１３６】
【発明の効果】
以上説明したように、請求項１乃至７の発明によれば、指定された圧縮レベルに対応する物理量のみを保存し、また保存されている物理量と復元ルールまたはシミュレーション条件などを用いて、保存されていない物理量を復元するようにしたので、シミュレーションにより得られた膨大な量の物理量を高密度に保存し、また復元することができる。したがって、従来のように得られた物理量をすべて保存する場合に比べて、記憶媒体の消費量を大幅に低減することができる。
【０１３７】
とくに、請求項３の発明によれば、一旦保存したデータの参照履歴（または参照回数）を定期的に調べ、参照頻度が少ない場合には、データの圧縮レベルを上げて、さらにデータを圧縮して保存するようにしたため、長期間参照されないデータの保存量が自動的に削減されるので、従来に比べて記憶媒体の利用効率を向上させることができる。
【０１３８】
また、とくに請求項４の発明によれば、データ転送時に指定された圧縮レベルでデータを圧縮し、このデータ圧縮をネットワークに送出するようにしたので、従来のようにすべてのデータを転送する場合に比べて、データ転送時におけるトラフィックの増大を抑えることができ、ネットワークにかかる負担を低減することができる。
【図面の簡単な説明】
【図１】実施形態１に係わるデータ圧縮・復元システムの機能的な構成を示すブロック図。
【図２】データ圧縮・復元システムを実現するための具体例を示す図。
【図３】ＤＤＭを用いた場合のデータ圧縮の処理手順を示すフローチャート。
【図４】ＤＤＭを用いた場合の保存データの復元の処理手順を示すフローチャート。
【図５】ＥＴＭを用いた場合のデータ圧縮の処理手順を示すフローチャート。
【図６】ＥＴＭを用いた場合の保存データの復元の処理手順を示すフローチャート。
【図７】汎用データを復元する場合の具体的な処理手順を示すフローチャート。
【図８】実施形態２に係わるデータ管理システムの機能的な構成を示すブロック図。
【図９】データ管理システムによりデータ管理を行う場合の処理手順を示すフローチャート。
【図１０】実施形態３に係わるデータ転送システムの構成図。
【図１１】実施形態４に係わるシミュレーション方法における処理手順を示すフローチャート。
【図１２】データ圧縮・復元の処理を実現するコンピュータシステムの概略斜視図。
【符号の説明】
１０  データ圧縮・復元システム
１１  データ入力部
１２  データ圧縮部
１３  データ記憶部
１４  データ復元部
１５  シミュレータ部
１６  データ出力部
【図１】
0003604539.tif 000002
【図２】
0003604539.tif 000003
【図３】
0003604539.tif 000004
【図４】
0003604539.tif 000005
【図５】
0003604539.tif 000006
【図６】
0003604539.tif 000007
【図７】
0003604539.tif 000008
【図８】
0003604539.tif 000009
【図９】
0003604539.tif 000010
【図１０】
0003604539.tif 000011
【図１１】
0003604539.tif 000012
【図１２】
0003604539.tif 000013