(57)【特許請求の範囲】
【請求項１】
イオン注入の不純物濃度分布用のパラメータに関する多階層構造のデータベースであって、
分類項目の名前及び前記分類項目の値をそれぞれ有する複数の要素と、
複数の前記分類項目を各層に対応付ける複数の階層と、
複数の前記分類項目の値に対応した複数のデータとを有し、
上層の要素に対して少なくとも複数の下層の要素が関連付けられ、最下層の要素に対してデータがそれぞれ関連付けられて多階層構造が構築され、第１の層の第１の要素に対して前記第１の層より下層の第２の層の複数の要素が関連付けられ、前記第１の層の第２の要素に対して前記第２の層より下層の第３の層の複数の要素が直接関連付けられ、
前記第１の層の前記第２の要素の値に対応する前記第２の層の要素の値に前記データが依存しないこと特徴とするコンピュータによりデータ抽出可能な多階層構造のデータベース。
【請求項２】
請求項１において、
複数の前記分類項目がイオン注入における複数の設定条件であり、前記データが不純物濃度分布関数のパラメータであり、前記第１の層の分類項目名が基板傾きであり、前記第１の層の第２の要素は前記基板傾きが０°の値を有し、前記第１の要素はそれ以外の基板傾きの値であり、前記第２の層の分類項目名が基板回転角であることを特徴とする
多階層構造のデータベース。
【請求項３】
複数の分類項目の値の組み合わせからなる入力条件に従って、請求項１に記載のデータベースの最上層から最下層までの各層において、当該入力条件に近接する値を有する１対の要素を検出する第１の工程と、
最下層から最上層まで順番に繰り返され、各階層の１対の要素に関連付けられた１対のデータに対して、当該１対の要素の値に基づく補間計算を実行して、当該階層に対応する入力条件の値に対応するデータを抽出し、当該抽出データを上層の要素に対応付ける第２の工程とを有し、
前記第２の工程において、実行中の階層にて対応する分類項目を有する要素がない場合は、当該分類項目の値に基づく補間計算を行わないことを特徴とするデータ抽出手順をコンピュータに実行させるデータ抽出プログラム。
【請求項４】
請求項３において、
前記データベースは、
複数の前記分類項目がイオン注入における複数の設定条件であり、前記データが不純物濃度分布関数のパラメータであり、前記第１の層の分類項目名が基板傾きであり、前記第１の層の第２の要素は前記基板傾きが０°の値を有し、前記第１の要素はそれ以外の基板傾きの値であり、前記第２の層の分類項目名が基板回転角であることを特徴とするデータ抽出プログラム。
【請求項５】
分類項目の名前及び前記分類項目の値をそれぞれ有し、少なくともイオン注入方向に対する基板の傾きと基板の回転角とを含む複数のイオン注入条件を前記分類項目とする複数の要素と、
複数の前記分類項目を各層に対応付ける複数の階層と、
複数の前記分類項目の値に対応した、複数の不純物濃度分布関数のパラメータのデータとを有し、
上層の要素に対して少なくとも複数の下層の要素が関連付けられ、最下層の要素に対して前記データがそれぞれ関連付けられて多階層構造が構築され、
前記基板の傾きに対応する第１の層の第１の要素に対して前記第１の層より下層の前記基板の回転角に対応する第２の層の複数の要素が関連付けられ、前記第１の層の第２の要素に対して前記第２の層より下層の第３の層の複数の要素が直接関連付けられ、前記第１の層の第２の要素は前記基板傾きが０°の値を有し、前記第１の要素はそれ以外の基板傾きの値であることを特徴とするコンピュータによりデータ抽出可能な多階層構造のデータベース。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多階層構造のデータベース及びそれのデータ抽出プログラムに関し、特に、イオン注入の不純物濃度分布用のパラメータについての多階層構造のデータベース及びそれのデータ抽出プログラムに関する。
【０００２】
【従来の技術】
多階層構造のデータベースが様々なシミュレーションにおいて利用される。半導体デバイスの製造プロセスの一つにイオン注入工程があるが、かかるイオン注入工程により半導体基板表面に形成される不純物濃度分布を、シミュレーションにより擬似的に生成し、デバイス解析に利用することが行われる。このようなイオン注入分布のシミュレーションにおいても、種々のイオン注入条件に対応する分布関数を特定するパラメータを多階層構造のデータベースとして利用する。多階層構造のデータベースを利用することは、例えば特許文献１に記載されている。
【０００３】
図１は、イオン注入分布シミュレータの構成図である。イオン注入分布シミュレータは、汎用コンピュータにパラメータデータベース１０とイオン注入分布シミュレーションプログラム１２とがインストールされており、バス１４を介して、ＣＰＵ、ＲＡＭ、入出力装置I/Oなどが接続されている。そして、入出力装置I/Oを介して、イオン注入条件１６を入力すると、その条件に対応するイオン注入分布のデータ１８が出力される。
【０００４】
図２は、イオン注入された時の不純物濃度分布とシミュレーションで生成される不純物濃度分布関数とを示す図である。図２（Ａ）は、イオン注入装置によりイオン注入された半導体基板の表面を、SIMS（Secondary Ion Mass Spectroscopy）法などの測定方法により基板深さ方向に対する不純物濃度分布の測定データを示す。横軸が深さ方向を、縦軸が不純物濃度をそれぞれ示す。このように、イオン注入による不純物濃度分布は、基板表面（深さ０の位置）から所定の深さでピークを有し、深くなるにしたがって濃度が低くなる分布を有する。
【０００５】
かかる不純物濃度分布は、デュアルピアソン関数により表現できることが知られている。図２（Ｂ）はそのピアソン関数による不純物濃度分布関数である。この濃度分布関数は、２組のパラメータ（Ｒｐ、ΔＲｐ、γ、β、Rp2、ΔRp2、γ2、β2）による２つの関数N1(x)、N2(x)をドーズレシオｒによって合成して得られる以下の濃度分布関数である。
【０００６】
N(x)＝φ｛ｒＮ1(x)＋（1-r）Ｎ2)x)｝
ここで、φはドーズ量、ｒはドーズレシオ、Ｎ1(x)はパラメータＲｐ、ΔＲｐ、γ、βにより特定される分布関数、Ｎ2(x)はパラメータRp2、ΔRp2、γ2、β2により特定される分布関数である。
【０００７】
従って、上記の濃度分布関数は、９つのパラメータにより特定される。逆にいえば、図１のパラメータデータベース１０として、種々のイオン注入条件に対応する上記１組のパラメータをあらかじめ作成しておけば、イオン注入のシミュレーションを行うときは、イオン注入条件を与えることで、それに対応するパラメータを抽出し、そのパラメータにより特定されるイオン注入の不純物濃度分布を生成することができる。このイオン注入条件は、例えば、注入される基板の角度、基板の回転角、基板表面のカバー酸化膜厚、注入エネルギー、注入量（ドーズ量）であり、これらのイオン注入条件に対応して、不純物濃度分布が再現される。
【０００８】
図３は、従来の汎用シミュレータが有するパラメータのデータベース構造の一例を示す図である。ここに示したデータベースは、多階層構造であり、分類項目Ａ，Ｂ，Ｃの組合せに対応するデータDATA#1〜#5が格納されている。この分類項目Ａ，Ｂ，Ｃは上記のイオン注入の例でいえば、基板角度、基板回転角、カバー酸化膜厚などのイオン注入条件であり、データDATA#1〜#5の分類項目である。即ち、所定の組み合わせのイオン注入条件に対応して、パラメータであるデータが格納されている。
【０００９】
従来のデータベース構造は、階層構造が定義されると、ルート要素から下層方向に沿って、定義された全階層の分類項目に対する値（Value）を必ず持つ必要がある。即ち、分類項目Ａについてはvalue=0とvalue=10とが存在し、その下層の分類項目Ｂについては、value=0とvalue=15とが存在し、その下層の分類項目Ｃについても何らかの値を有し、そして階層構造の最下層に、対応するデータが格納される。これらの要素は、例えばポインタで接続されて全体のデータベースを構築している。
【００１０】
従来のデータベース構造では、階層構造が定義され、その定義に従ってツリー構造が構築されるので、各要素にはどの分類項目かの情報は与えられず分類項目の値のみしか与えられない。
【００１１】
また、データベースから所望の分類項目の組み合わせに対するデータを抽出する場合は、各階層の分類項目について補間計算を繰り返す演算処理が行われる。例えば、分類項目Cにおいて抽出条件C＝３に対しては、C＝１のデータDATA#1とC=5のデータDATA#2とから補間計算してC=3に対応するデータが取得される。分類項目B、Aについても同様の補間計算がそれぞれ行われる。つまり、抽出データの分類項目の値にしたがって、データルートから順次、各階層の１対の分類項目を選択し、最下層の要素のデータに対して補間計算を行い、同様の補間計算を上層の要素にも繰り返し実行する。このように、抽出したいデータの分類項目の値がデータベース内に格納されている分類項目の値に一致しない場合であっても、抽出対象の値に近接する１対の値を有する要素のデータを補間計算することで、抽出したいデータを出力することができる。
【００１２】
【特許文献１】
特開２００１−３４４５５８号公報
【００１３】
【発明が解決しようとする課題】
しかしながら、データベースの種類によっては必ずしも全ての階層の分類項目による分類が必要にならない場合がある。例えば、イオン注入分布に対する分布関数のパラメータの場合は、イオン注入方向に対するウエハ基板の傾きが０°の場合は、ウエハ基板の回転方向についての分類は必要ない。イオン注入方向に対するウエハ基板の傾きが０°の場合は、ウエハ基板の回転方向がいずれであっても不純物濃度分布は同じになるので、いずれの回転方向に対しても同じパラメータになる。従って、「基板傾き」の分類項目の値が０°に対するデータベースでは、「回転方向」の分類項目は必要ない。しかし、従来のデータベースでは、前述の通り「回転方向」の分類項目を設ける必要があり、基板の傾きが０°の場合は、回転方向の値が０°に対するデータ群と回転方向の値が２０°に対するデータ群とは同じであっても、それらのデータ群を重複してデータベース内に格納する必要がある。
【００１４】
図３を例にして説明すると、階層構造Ａが前記の「ウエハ基板傾き」の分類項目とすると、その値が０°の場合は、下層Ｂの「回転方向」の値が０°であっても１５°であってもそれぞれのデータ群は同じである。つまり、階層Ｂのvalue＝０以下のデータDATA#4、DATA#5と階層Bのvalue=15以下のデータ群とは同じであるので、階層Bのvalue=15以下のデータ群は不必要なダミーデータ群２０となっている。
【００１５】
しかし、データベースの構築と、そのデータベースからのデータの抽出のためには、ダミーデータ群２０のように重複データ群であってもデータベース内に格納する必要があり、データベース構築に工数がかかる。また、データベースの維持においても、あるデータを変更した場合、ダミーデータ群における同じデータも変更する必要があり、維持に工数を要する。更に、データの抽出時には各階層の分類項目について補間計算を行う必要があるが、上記のダミーデータ群２０においても重複して補間計算を行わなければならず、データ抽出工数が大きくなるという課題を有する。
【００１６】
そこで、本発明の目的は、ダミーデータ群を設ける必要がなく、簡略化したデータベースとそれのデータ抽出プログラムを提供することにある。
【００１７】
【課題を解決するための手段】
上記の目的を達成するために、本発明の第１の側面は、複数の分類項目の値に対応して複数のデータを格納し、コンピュータによりデータ抽出可能な多階層構造のデータベースにおいて、
前記複数の分類項目を各層に対応つけて多階層に構築され、それぞれ前記分類項目の名前とその値とを有する複数の要素を有し、
上層の要素に対して少なくとも複数の下層の要素が関連付けられ、最下層の要素に対してデータがそれぞれ関連付けられて前記多階層構造が構築され、第１の層の第１の要素に対して前記第１の層より下層の第２の層の複数の要素が関連付けられ、前記第１の層の第２の要素に対して前記第２の層より下層の第３の層の複数の要素が直接関連付けられていることを特徴とする。
【００１８】
上記の第１の側面によれば、第１の層の第２の要素の値に対しては第２の層の要素の値がデータが依存しない場合は、当該第２の層の要素を省略して階層構造を構築するので、無用に同じデータ群を重複して有する必要がなくなる。
【００１９】
上記の目的を達成するために、本発明の第２の側面は、複数の分類項目の値の組み合わせからなる入力条件に応答して、上記第１の側面のデータベースを検索して、前記複数の分類項目の値の組み合わせに対応するデータを抽出するデータ抽出手順をコンピュータに実行させるデータ抽出プログラムにおいて、
前記入力条件に従って、最上層から最下層までの各層において、当該入力条件に近接する値を有する１対の要素を検出する第１の工程と、
最下層から最上層まで順番に繰り返され、各階層の１対の要素に関連付けられた１対のデータに対して、当該１対の要素の値に基づく補間計算を実行して、当該階層に対応する入力条件の値に対応するデータを抽出し、当該抽出データを上層の要素に対応付ける第２の工程とを有し、
前記第２の工程において、実行中の階層にて対応する分類項目を有する要素がない場合は、当該分類項目の値に基づく補間計算を行わないことを特徴とする。
【００２０】
上記の第２の側面によれば、データ抽出処理において補間計算が少なくなる。
【００２１】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、本発明の保護範囲は、以下の実施の形態例に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【００２２】
図４は、本実施の形態におけるデータベース構造例を示す図である。図４のデータベースは、図３のデータベースを本実施の形態により構築したものであり、図３の例と同様に、ルートエレメントRELMのデータルートの下に第１の階層Ａと第２の階層Ｂと第３の階層Ｃと第３の階層に関連付けられたデータ群DATA#1〜DATA#5とで構成されている。そして、図４のデータベースの要素ELMは、各階層に対応する分類項目Ａ〜Ｃの名前とその値（value）とを有する。例えば、第１の階層の要素ELM11,ELM12は、分類項目名Ａと値value＝0,10をそれぞれ有する。同様に、第２の階層の要素ELM21,ELM22は、分類項目名Ｂと値value＝0,15をそれぞれ有し、第３の階層の要素ELM31〜ELM38は、分類項目名Cと値value＝1,5,10,1,5をそれぞれ有する。そして、上層の要素に対して少なくとも複数の下層の要素が関連付けられ、最下層の要素に対してデータがそれぞれ関連付けられて前記多階層構造が構築されている。
【００２３】
図４のデータベースの特徴は、第１の層Ａの第１の要素ELM12に対して第１の層Ａより下層の第２の層Ｂの複数の要素ELM21.ELM22が関連付けられ、第１の層Ａの第２の要素ELM11に対して第２の層Bより下層の第３の層Cの複数の要素ELM37,ELM38が直接関連付けられていることである。つまり、第２の層Bにおいて、第１の層Ａの第２の要素ELM11に下には第２の層Bの要素２２を介することなく第３の層Cの要素が直接関連付けされている。その結果、図４のデータベースからは、図３で重複して設けられていたダミーデータ群２０がなくなっている。つまり、第３の層Cの要素ELM37,ELM38とそれに関連付けられたデータDATA#4,DATA#5とが重複することなくデータベース内に設けられる。
【００２４】
かかる構成にすることで、データベース内に無駄にデータ群を重複して設ける必要がなくなり、データベースの構築と維持が容易になり、更にデータ抽出も簡単になる。
【００２５】
図５は、本実施の形態におけるイオン注入分布データベースの一例を示す図である。図５のデータベースは各要素がノード型で表記されている。ルートエレメントRELMの下の第１の層に分類項目名「基板傾き（tilt）」、値０，１０を有する２つの要素ELM11,ELM12が関連付けられ、基板傾き１０°の要素ELM12の下には第２の層の分類項目名「基板回転角（rotate）」、値０，２０を有する２つの要素ELM21,ELM22が関連付けされている。更に、それらの要素ELM21,ELM22の下には第３の層の分類項目名「カバー酸化膜厚（tox）」、値０，５，１０を有する３つの要素ELM31,ELM32,ELM33が関連付けられている。一方、第１の要素の基板傾き０°の下には、第２の層の分類項目名「基板回転角」の要素を介することなく、第３の層の分類項目名「カバー酸化膜」の３つの要素ELM31,ELM32,ELM33が直接関連付けられている。そして、第３の層の全ての要素の下には、第４の層の分類項目名「注入エネルギー（energy）」、値１，３，５の要素ELM41,ELM42,ELM43が関連付けられ、それら第４の階層の要素には、データとして、イオン注入分布関数を特定するパラメータｒｐ、ｄｒｐ、γ、βが関連付けられている。
【００２６】
第１の層の分類項目である基板傾きの値が０°の場合は、第２の層の分類項目の基板回転角に依存していないので、基板傾きが０°の要素の下には第２の層の要素を介することなく第３の層の要素が関連付けられている。そのため、基板傾きが０°の場合には、基板回転角が０°と２０°の区別なくカバー酸化膜厚や注入エネルギーに分類されたデータ群が関連付けられる。
【００２７】
図６は、本実施の形態におけるイオン注入分布データベースの別の例を示す図である。この例は、図５と同じデータベースをXMLにより記述した例であり、図５の例と同様に、ルート要素の下に第１の層として分類項目「基板傾き（tilt）」、第２の層として分類項目「基板回転角（rotate）」、第３の層として分類項目「カバー酸化膜（tox）」、第４の層として分類項目「注入エネルギー（energy）」が関連付けられ、最下層の第４の層の要素には、それぞれパラメータが関連付けられている。そして、基板傾きtiltが０の下には、第２の層の要素を介することなく、第３の層のカバー酸化膜（tox）の要素が関連付けられて階層構造を単純化する。
【００２８】
図７、図８は、本実施の形態におけるイオン注入分布シミュレーションのフローチャート図である。この例では、データベースがパラメータデータベースに、分類項目がイオン注入条件に、データがパラメータにそれぞれ対応する。また、図９は、データ抽出工程の再帰的処理を説明する図である。そして、図１０は、上記フローチャートのデータ抽出工程による処理手順を説明するための図であり、あるデータベースDB10を例にとって説明する。
【００２９】
イオン注入分布シミュレーションでは、データベースの分類項目の値として所望のイオン注入条件を入力し（S10）、パラメータデータベースから入力したイオン注入条件に対応するパラメータを抽出し（S12）、抽出したパラメータによる不純物濃度分布関数により、不純物濃度分布を出力する（S14）。但し、データベースであるパラメータデータベースは、各分類項目に対して離散的な値しか設けられていないので、入力された分類項目の値に（イオン注入条件）基づいて各層で補間計算を行って、入力された分類項目の値（イオン注入条件）に対応するパラメータを抽出する必要がある。
【００３０】
図１０のデータベースDB10では、データルートの下に、第１の層の分類項目A、第２の層の分類項目B、第３の層の分類項目Cとが関連付けされた例である。そこで、手順S12のパラメータ抽出手順は、図７に示されるとおり、全ての層においてイオン注入条件に近接する値を有する１対の要素を検出する手順（S121）と、その検出された各１対の要素に対して、関連付けられたデータを１対の要素の値に基づく補間計算を行って入力条件の分類項目の値であるイオン注入条件に対応するデータを抽出し、当該抽出データを上層の要素に対応付けることを最下層から最上層まで繰り返す手順（S122）とからなる。
【００３１】
図１０のデータベースDB10を例にとると、抽出条件としてA=3,B=10,C=2が入力されると、第１の手順S121により入力された抽出条件の値に近接する１対の要素が各階層において検出される。第１の層の抽出条件がA=3であるので、それに近接する１対の要素はA=0,A=10の２つであり、第２の層では、抽出条件B=10に近接するB=0,B=20の２つであり、第３の層では、抽出条件C=2に近接するC=1,C=3の２つである。このように、データベースから入力された抽出条件に近接する１対の要素が検出され、図１０のS121のように展開される。
【００３２】
そして、上記展開されたデータベースに対して、手順S122にて補間計算が最下層から最上層まで繰り返し行われる。図８に示されたデータ抽出処理の第２の手順S122では、上記展開されたデータベースに対して、ルートエレメントから下層の要素に順番に、その要素に関連付けられたデータが存在するか否かがチェックされ（S20）、存在しなければ次の下層に移動して、図８のデータ抽出手順S122が再帰的に実行される。そして、最下層に達すると１対の要素に関連する１対のデータから抽出条件により補間計算が行われ、抽出条件に対応するデータが抽出され、抽出されたデータが上層の要素に関連付けられる。最下層の処理が終了するとリターンにより上層に移動し、同じ補間計算を再帰的に繰り返すことになる。
【００３３】
図９に示されるとおり、再帰的なデータ抽出手順では、各階層A,B,Cにおける補間計算が、展開したデータベースに対して、データルートを起点にして、手順S100〜S109の順番に繰り返される。つまり、階層構造のデータベースに対して、図８の再帰的手順により、最下層から最上層に補間計算が順に繰り返される。
【００３４】
図１０の展開されたデータベースS121を例にして具体的に説明すると、手順S122に示されるとおり、データルートから第１の層のA=0,A=10の要素には関連付けられたデータが存在しないので、要素A=0の下層の１対の要素C=1,C=3に移動し、それらに関連付けられた１対のデータを、抽出条件C=2に基づいて補間演算を行い、得られたデータが上層の要素A=0に関連付けられる。同様に、要素A=10の下層の１対の要素B=0,B=20に移動し、それらの要素にもデータが関連付けられていないので、要素B=0の下層の要素C=1,C=3に移り補間演算を行い、抽出条件C=2に対応するデータを抽出し、要素B=0に関連付ける。また、要素B=20の下の要素C=1,C=3に移り補間演算を行い抽出条件C=2に対応するデータを抽出し、要素B=20に関連付ける。その結果、１対の要素B=0,B=20にデータが関連付けられる。そこで、第２の層に移り、要素B=0,B=20に関連付けられた１対のデータに対して、B=10で補間計算を行い、求められたデータを上層の要素A=10に関連付ける。最後は、第１の層に移り、要素A=0,A=10に関連付けられた１対のデータに対して、A=3で補間計算を行い、求められたデータをデータルートに関連付ける。データルートに関連付けられたデータが、入力条件に対応するデータである。
【００３５】
以上のデータ抽出工程にて明らかなとおり、本実施の形態におけるデータベースは、無用に同じデータを重複して設けていないので、各階層での補間計算を重複して行う必要はない。従って、データ抽出手順においても処理速度が速くなるというメリットを有する。
【００３６】
図１１は、本実施の形態におけるデータ抽出プログラムのクラス図である。オブジェクト指向型のJAVA（登録商標）などにより記述されるプログラムのクラス図である。５０〜６５はクラスを、50E〜52E,60Eは対応するクラスの説明である。データ抽出クラス５０は、データ抽出処理のメインクラスであり、変数にデータベースと抽出対象データを、メソッドに抽出計算を有する。データベースクラス５１は、データベースファイルをノード型の変数として有する。具体的には、図５に示したデータベースである。また、データクラス５２は、抽出対象データを定義するクラスであり、変数に抽出条件データとそれに関連付けられるパラメータのデータとを有する。
【００３７】
分類項目クラス６０は、各層の分類項目の処理を定義するクラスのスーパークラスであり、変数として、選択した下層の２つの分類項目と、それら分類項目の値（double value）を有し、更に、メソッドとしてデータの補間計算を有する。このスーパークラスに対応して、各層での処理を定義するTILTクラス６１、回転角クラス６２、酸化膜厚クラス６３、Energyクラス６５とを有する。また、図５には含まれていないイオン注入量に対応するDoseクラス６４も図１１には記載されている。但し、以下の説明からはこのDoseクラスは除く。最下層のEnergyクラス６５にのみ、１対のデータが変数に含まれているが、それより上層のクラス６１〜６３にはデータは含まれていない。
【００３８】
図１２は、図５のデータベースに対して図示された抽出条件に従って各層から１対の要素を展開したデータベースを示す図である。この展開処理については、前述した通りである。
【００３９】
図１３は、図１１のクラス図に示したデータ抽出プログラムの動作を説明する図である。データ抽出クラス５０の実行に伴って、子ノードを使って必要な分類項目クラスが展開される（S121）。ここに展開された分類項目クラスは、図１１の各要素に対応し、最下層のEnergyクラスには変数に１対のデータdata1,2とその分類項目の値valueとが与えられている。TILTクラス６１の下には、分類項目sel1に対しては回転角クラスを介することなく酸化膜厚クラス６３（１）が展開され、分類項目sel2に対しては回転角クラス６２を介して酸化膜厚クラス６３（２）、６３（３）が展開されている。そして、各酸化膜厚クラスの下にはEnergyクラス６５（１）〜６５（６）が展開されている。
【００４０】
そして、変数にデータdata1,data2を有するEnergyクラスでは、メソッドに定義されている補間計算を行って、求めたデータをDataクラスとして上層のクラスに関連付ける。更に、Dataクラスを関連付けられた上層のクラスでも補間計算を行って同様に上層のクラスに関連付ける。そして、最後にTILTクラスで補間計算が終了すると、データ抽出クラス５０に抽出されたデータがDATAクラスとして関連付けられる。
【００４１】
以上のとおり、本実施の形態におけるデータベースは各要素に分類項目名と値を持たせて、抽出するデータが分類項目の値に依存しない場合は、その分類項目を省略して多階層構造を構築しているので、ダミーデータ領域がなく、データベースの構築と維持が容易になり、データ抽出における補間計算も減らすことができる。
【００４２】
上記の実施例では、イオン注入分布のデータベースを例にして説明したが、それ以外のシミュレーション用などのデータベースについても同様に適用できる。
【００４３】
以上、実施の形態例をまとめると以下の付記の通りである。
【００４４】
（付記１）複数の分類項目の値に対応して複数のデータを格納し、コンピュータによりデータ抽出可能な多階層構造のデータベースにおいて、
前記分類項目の名前とその値とをそれぞれ有する要素であって、前記複数の分類項目を各層に対応付けて多階層に構築された複数の要素を有し、
上層の要素に対して少なくとも複数の下層の要素が関連付けられ、最下層の要素に対してデータがそれぞれ関連付けられて前記多階層構造が構築され、第１の層の第１の要素に対して前記第１の層より下層の第２の層の複数の要素が関連付けられ、前記第１の層の第２の要素に対して前記第２の層より下層の第３の層の複数の要素が直接関連付けられていることを特徴とする多階層構造のデータベース。
【００４５】
（付記２）付記１において、
前記複数の分類項目がイオン注入における複数の設定条件であり、前記データが不純物濃度分布関数のパラメータであり、前記第１の層の分類項目名が基板傾きであり、前記第１の層の第２の要素は前記基板傾きが０°の値を有し、前記第１の要素はそれ以外の基板傾きの値であり、前記第２の層の分類項目名が基板回転角であることを特徴とする多階層構造のデータベース。
【００４６】
（付記３）付記１において、
前記各階層の複数の要素は、同じ分類項目名と異なる値を有することを特徴とする多階層構造のデータベース。
【００４７】
（付記４）複数の分類項目の値の組み合わせからなる入力条件に応答して、付記１に記載のデータベースを検索して、前記複数の分類項目の値の組み合わせに対応するデータを抽出するデータ抽出手順をコンピュータに実行させるデータ抽出プログラムにおいて、
前記入力条件に従って、最上層から最下層までの各層において、当該入力条件に近接する値を有する１対の要素を検出する第１の工程と、
最下層から最上層まで順番に繰り返され、各階層の１対の要素に関連付けられた１対のデータに対して、当該１対の要素の値に基づく補間計算を実行して、当該階層に対応する入力条件の値に対応するデータを抽出し、当該抽出データを上層の要素に対応付ける第２の工程とを有し、
前記第２の工程において、実行中の階層にて対応する分類項目を有する要素がない場合は、当該分類項目の値に基づく補間計算を行わないことを特徴とするデータ抽出プログラム。
【００４８】
（付記５）付記４において、
前記データベースは、
前記複数の分類項目がイオン注入における複数の設定条件であり、前記データが不純物濃度分布関数のパラメータであり、前記第１の層の分類項目名が基板傾きであり、前記第１の層の第２の要素は前記基板傾きが０°の値を有し、前記第１の要素はそれ以外の基板傾きの値であり、前記第２の層の分類項目名が基板回転角であることを特徴とするデータ抽出プログラム。
【００４９】
（付記６）少なくともイオン注入方向に対する基板の傾きと基板の回転角とを含む複数のイオン注入条件を分類項目とし、複数の分類項目の値に対応して複数の不純物濃度分布関数のパラメータのデータを格納し、コンピュータによりデータ抽出可能な多階層構造のデータベースにおいて、
前記分類項目の名前とその値とをそれぞれ有する要素であって、前記複数の分類項目を各層に対応付けて多階層に構築された複数の要素を有し、
上層の要素に対して少なくとも複数の下層の要素が関連付けられ、最下層の要素に対して前記データがそれぞれ関連付けられて前記多階層構造が構築され、
前記基板の傾きに対応する第１の層の第１の要素に対して前記第１の層より下層の前記基板の回転角に対応する第２の層の複数の要素が関連付けられ、前記第１の層の第２の要素に対して前記第２の層より下層の第３の層の複数の要素が直接関連付けられ、前記第１の層の第２の要素は前記基板傾きが０°の値を有し、前記第１の要素はそれ以外の基板傾きの値であることを特徴とする多階層構造のデータベース。
【００５０】
【発明の効果】
以上、本発明によれば、多階層構造のデータベースを簡略化でき、データベースの構築と維持、及びデータ抽出が容易になる。
【図面の簡単な説明】
【図１】イオン注入分布シミュレータの構成図である。
【図２】イオン注入された時の不純物濃度分布とシミュレーションで生成される不純物濃度分布関数とを示す図である。
【図３】従来の汎用シミュレータが有するパラメータのデータベース構造の一例を示す図である。
【図４】本実施の形態におけるデータベース構造例を示す図である。
【図５】本実施の形態におけるイオン注入分布データベースの一例を示す図である。
【図６】本実施の形態におけるイオン注入分布データベースの別の例を示す図である。
【図７】本実施の形態におけるイオン注入分布シミュレーションのフローチャート図である。
【図８】本実施の形態におけるイオン注入分布シミュレーションのフローチャート図である。
【図９】データ抽出工程の再帰的処理を説明する図である。
【図１０】図９のフローチャートのデータ抽出工程による処理手順を説明するための図である。
【図１１】本実施の形態におけるデータ抽出プログラムのクラス図である。
【図１２】図５のデータベースに対して図示された抽出条件に従って各層から１対の要素を展開したデータベースを示す図である。
【図１３】図１１のデータ抽出プログラムの動作を説明する図である。
【符号の説明】
ELM：要素、A,B,C：分類項目の名前、value：値
１０：パラメータのデータベース、１２：シミュレーションプログラム
【図１】
0004641144.tif 000002
【図２】
0004641144.tif 000003
【図３】
0004641144.tif 000004
【図４】
0004641144.tif 000005
【図５】
0004641144.tif 000006
【図６】
0004641144.tif 000007
【図７】
0004641144.tif 000008
【図８】
0004641144.tif 000009
【図９】
0004641144.tif 000010
【図１０】
0004641144.tif 000011
【図１１】
0004641144.tif 000012
【図１２】
0004641144.tif 000013
【図１３】
0004641144.tif 000014