(57)【特許請求の範囲】
【請求項１】
データベース制御部が、複数の階層を有するデータベースの探索時に、前記データベースに含まれる第１の階層において最初に調査する第１のノードの第１のノード名を、前記第１の階層の固有名と認識し、
前記第１の階層に含まれる第２のノードの第２のノード名を調査し、前記第２のノード名が前記固有名と同じであれば前記第１の階層に含まれる第３のノードの第３のノード名を調査し、前記第２のノード名または前記第３のノード名が前記固有名と異なる場合には、前記第２のノードまたは前記第３のノードを、前記固有名を持つ前記第１のノードまたは前記第２のノードに関連付けることを特徴とするデータベース制御方法。
【請求項２】
前記データベースは、前記第１の階層において、ダミーノードによってノードの関連付けを行う領域が区切られており、前記データベース制御部は、前記データベースの探索時に、前記ダミーノードを参照して、前記関連付けを行う領域を認識することを特徴とする請求項１記載のデータベース制御方法。
【請求項３】
前記データベースの前記第１の階層において、前記第１の階層の前記固有名と異なるノード名を有するノード群は、前記第１の階層の前記固有名を持つ複数のノードの何れかに関連付けられており、前記データベース制御部は、前記ノード群が、前記ノード群の直前に配置されている前記固有名を持つノードと関連付けられていると認識することを特徴とする請求項１または２に記載のデータベース制御方法。
【請求項４】
同一階層上に異なる複数の種類のノード名のノードを備えた複数の階層を有するデータベースを格納する記憶部と、
前記データベースの探索時に、前記データベースに含まれる第１の階層において最初に調査する第１のノードの第１のノード名を、前記第１の階層の固有名と認識し、前記第１の階層に含まれる第２のノードの第２のノード名を調査し、前記第２のノード名が前記固有名と同じであれば前記第１の階層に含まれる第３のノードの第３のノード名を調査し、前記第２のノード名または前記第３のノード名が前記固有名と異なる場合には、前記第２のノードまたは前記第３のノードを、前記固有名を持つ前記第１のノードまたは前記第２のノードに関連付けるデータベース制御部と、
を有することを特徴とする情報処理装置。
【請求項５】
コンピュータを、
複数の階層を有するデータベースの探索時に、前記データベースに含まれる第１の階層において最初に調査する第１のノードの第１のノード名を、前記第１の階層の固有名と認識し、前記第１の階層に含まれる第２のノードの第２のノード名を調査し、前記第２のノード名が前記固有名と同じであれば前記第１の階層に含まれる第３のノードの第３のノード名を調査し、前記第２のノード名または前記第３のノード名が前記固有名と異なる場合には、前記第２のノードまたは前記第３のノードを、前記固有名を持つ前記第１のノードまたは前記第２のノードに関連付けるデータベース制御部として機能させることを特徴とするデータベース制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース制御方法、情報処理装置及びデータベース制御プログラムに関する。
【背景技術】
【０００２】
様々なシミュレーションにおいて、複数のパラメータを扱った多階層構造のデータベースが用いられている。たとえば、半導体デバイスの製造の際には、イオン注入によって基板表面に形成される不純物濃度分布をシミュレーションにより疑似的に算出し、解析することが行われている。このとき、種々のイオン注入条件に対応する基板の不純物濃度分布を特定するためのパラメータを扱ったデータベースが用いられている。
【０００３】
上記のようなシミュレーションに用いられるデータベースは、たとえば、複数の実施条件のもとに実際の測定で得られた測定結果をもとに構築されるが、費用や時間などの問題で、必ずしも全ての実施条件においての測定結果が得られるわけではない。
【０００４】
そのため、データの取得が行われなかった実施条件での測定結果として、近い水準の他の実施条件における測定結果が代用され、データベースが構築される。代用された測定結果は、データベース上においては重複する要素であり、ダミーデータと呼ばれる。
【０００５】
複数のパラメータを扱った多階層構造のデータベースは肥大化する傾向にあり、データベースを利用して計算を行う際、データベース用のメモリ容量が大きくなる。そのため、データベースの内容をチェックし、同じ部分があれば、メモリに記憶せずにデータベース上でのその部分の場所を示す情報を記憶する、という技術が知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１１２１５号公報
【特許文献２】特開２００５−５６８７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、扱うパラメータが複数あり、データベースの階層が増えて複雑になるにしたがい、ダミーデータのような重複する要素がデータベース全体に対して大きな比率を占めるようになる。ダミーデータは、データベースの構築のため、また、データベースからのデータ抽出の際に参照されるために、単に削除することもできず、データベースの肥大化の要因となっていた。
【課題を解決するための手段】
【０００８】
発明の一観点によれば、データベース制御部が、複数の階層を有するデータベースの探索時に、前記データベースの階層において最初に調査されるノードのノード名を、前記階層の固有名と認識し、前記階層において各前記ノードを調査し、前記ノード名が前記固有名と同じであれば次の前記ノードを調査し、前記ノード名が前記固有名と異なる場合には、前記ノードを、前記固有名を持つ各前記ノードに追加するデータベース制御方法が提供される。
【発明の効果】
【０００９】
開示のデータベース制御方法、情報処理装置及びデータベース制御プログラムによれば、複数のパラメータを扱うデータベースにおいて、重複する要素によりデータベースが肥大化することを防止できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態におけるデータベースの一例を示す図である。
【図２】ＸＭＬにより記述されたデータベースの一例を示す図である。
【図３】データベースを有した情報処理装置の一例を示す図である。
【図４】データベースの探索処理とその際のデータベース制御の一例の流れを示すフローチャートである。
【図５】情報処理装置の一例を示す図である。
【図６】シミュレーションで用いられるイオン注入データベースの一例を示す図である。
【図７】補間計算を用いてデータを抽出する例を示す図である。
【図８】算出された不純物濃度分布の一例を示す図である。
【図９】代用するノード名“ｄｏｓｅ”のノードを、ノード名“ｅｎｅｒｇｙ”の各ノードの下層に配置したイオン注入データベースの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を、図面を参照しつつ説明する。
（第１の実施の形態）
図１は、第１の実施の形態におけるデータベースの一例を示す図である。
【００１２】
図１では、ある多階層構造のデータベースにおける一部分の例を示している。ある階層のノードＮ１（ノード名Ｃ、値＝１）の下層に、ノードＮ２，Ｎ３，Ｎ４，Ｎ５，Ｎ６，Ｎ７を含む階層が形成されている。
【００１３】
ノードＮ２〜Ｎ７は、ノード名とノードＮ２〜Ｎ７の値を有する。各ノードＮ２〜Ｎ７には、データＤ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６が関連付けられている。ノードＮ２〜Ｎ４のノード名は“Ａ”であり、ノードＮ５〜Ｎ７のノード名は“Ｂ”であり、１つの階層に異なる複数の種類のノード名のノードが配置されている。
【００１４】
たとえば、ノードＮ２は“Ａ＝１”という実施条件を示し、その実施条件下における測定結果がデータＤ１として、ノードＮ２に関連付けられている。
ノード名と値は、たとえば、各種のプロセスにおける実施条件名とその値を示し、たとえば、半導体製造プロセスにおけるイオン注入工程時のエネルギー、ドーズ量、基板の回転角などである。
【００１５】
ノードＮ５〜Ｎ７には、たとえば、ノードＮ４の実施条件（Ａ＝１０）に、別の種類の実施条件（Ｂ＝１、Ｂ＝５、Ｂ＝１０）を加えた実施条件下で取得したデータＤ４〜Ｄ６が関連付けられている。ノードＮ２，Ｎ３の実施条件下（Ａ＝１、Ａ＝５）で、ノードＮ５〜Ｎ７の実施条件でのデータが得られていない場合、たとえば、データＤ４〜Ｄ６が代用される。
【００１６】
具体的には、ノードＮ５〜Ｎ７によるノード群は、データベースの探索時に、後述するデータベース制御方法によって、たとえば、ノードＮ２〜Ｎ４のそれぞれに追加される。ただし、データベース上においては、ノードＮ５〜Ｎ７によるノード群は、１つの階層に１群が配置されており、重複する要素によりデータベースが肥大化することが抑制される。
【００１７】
上記のようなデータベースは、たとえば、ＸＭＬ（eXtensible Markup Language）のような構造化文書により、以下のように記述される。
図２は、ＸＭＬにより記述されたデータベースの一例を示す図である。
【００１８】
ここでは、図１に示したデータベースのノードＮ２〜Ｎ７を、ＸＭＬで記述した例を示している。図２において、パラメータ１，２，…，ｎは、データＤ１〜Ｄ３を示し、パラメータｐは、データＤ４〜Ｄ６を示している。
【００１９】
図３は、データベースを有した情報処理装置の一例を示す図である。
情報処理装置１０は、入力部１１、出力部１２、データベース制御部１３、データベース１４ａを格納した記憶部１４を有している。
【００２０】
入力部１１は、記憶部１４に格納されたデータベース１４ａからデータを抽出するために、ユーザから探索条件の入力を受け付ける。たとえば、入力部１１には、前述した各種の実施条件などが探索条件として入力される。
【００２１】
出力部１２は、データベース１４ａから抽出されたデータを出力する。
データベース制御部１３は、入力部１１で入力された探索条件をもとに、データベース１４ａを探索し、データを抽出する。また、データベース１４ａの探索の際、データベース制御部１３は、以下に示すように、データベース１４ａの特定のノード群を他のノードに追加するように制御する。
【００２２】
図４は、データベースの探索処理とその際のデータベース制御の一例の流れを示すフローチャートである。
図４では、図１、図２で示したような、異なる複数の種類の名前のノードを有する階層における探索処理の例を示している。
【００２３】
入力部１１に探索条件（たとえば、前述した実施条件など）が入力されると（ステップＳ１）、データベース制御部１３は、探索条件をもとにデータベース１４ａを探索し、ある階層に入ると、その階層の固有名を認識する（ステップＳ２）。ここでデータベース制御部１３は、階層において最初に調査されるノードのノード名を、その階層の固有名として認識する。
【００２４】
たとえば、図１で示したノードＮ２〜Ｎ７を有する階層において、ノードＮ２〜Ｎ７の順で調査が行われる場合、データベース制御部１３は、最初に調査されるノードＮ２のノード名“Ａ”を、その階層の固有名として認識する。
【００２５】
その後、データベース制御部１３は、その階層における各ノードを調査し、ノード名が固有名と一致するか否か判定し（ステップＳ３）、一致する場合には次のノードを調査し（ステップＳ４）、ステップＳ３の処理を繰り返す。
【００２６】
固有名と異なるノード名のノードが読み込まれた場合、データベース制御部１３は、そのノードを、固有名を持つ各ノードに追加する（ステップＳ５）。たとえば、ノードＮ５が読み込まれた場合、ノード名は“Ｂ”であり、この階層の固有名“Ａ”と異なる。この場合、データベース制御部１３は、ノードＮ５を、固有名“Ａ”を持つノードＮ２〜Ｎ４のそれぞれに追加する。
【００２７】
データベース制御部１３は、階層の全てのノードの調査が終了したか否か判定する（ステップＳ６）。ノードの調査が終了していない場合、データベース制御部１３は、再びステップＳ４からの処理を繰り返す。以上の処理によって、たとえば、図１に示したようなノードＮ５〜Ｎ７が、ノードＮ２〜Ｎ４のそれぞれに追加される。
【００２８】
全てのノードの調査が終了した場合、データベース制御部１３は、入力部１１に入力された探索条件をもとに、データを抽出する（ステップＳ７）。
たとえば、Ａ＝１０、Ｂ＝５という探索条件が入力された場合、データベース制御部１３は、ノードＮ４に関連付けられたデータＤ３と、ノードＮ４に追加されたノードＮ６に関連付けられたデータＤ５を抽出する。
【００２９】
なお、Ａ＝８、Ｂ＝３など、データベースにその値のノードが存在しない場合には、近い値を持つ２つのノードのデータを用いて補間計算が行われ、データが抽出される。補間計算を用いたデータの抽出処理の詳細は後述する。
【００３０】
以上のように、データベースにおいて、ノードＮ５〜Ｎ７がノードＮ２〜Ｎ４のそれぞれに対してダミーデータとして予め格納されているのではなく、両者が同じ階層に配置されている。そして、データベース制御部１３は、探索時にノードＮ５〜Ｎ７をノードＮ２〜Ｎ４のそれぞれに追加する。これにより、データベース上において重複する要素によりデータベースが肥大化することを抑制できる。
【００３１】
（第２の実施の形態）
以下、半導体製造プロセスにおけるイオン注入工程時の基板の不純物濃度分布をシミュレーションする場合を例にして、データベースの制御方法を説明する。
【００３２】
シミュレーションは、たとえば、以下のような情報処理装置にて行われる。
図５は、情報処理装置の一例を示す図である。
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ（Random Access Memory）１０２と複数の周辺機器が接続されている。ＣＰＵ１０１は、ＲＡＭ１０２などを用いて、図３に示したデータベース制御部１３の機能を実現する。
【００３３】
ＲＡＭ１０２は、情報処理装置１００の主記憶装置として使用される。ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に用いる各種データが格納される。たとえば、ＲＡＭ１０２には、イオン注入データベースの探索時にデータベースの一部が格納される。なお、ＲＡＭ１０２には、データベース全体が格納されていてもよい。
【００３４】
バス１０８に接続されている周辺機器としては、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、及び通信インタフェース１０７がある。
【００３５】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。ＨＤＤ１０３は、情報処理装置１００の二次記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、及び、イオン注入データベース、各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００３６】
グラフィック処理装置１０４には、モニタ１０４ａが接続されている。グラフィック処理装置１０４は、図３に示した出力部１２の機能を有し、ＣＰＵ１０１からの命令に従って、データベースの探索条件の入力画面やイオン注入シミュレーション結果などの画像をモニタ１０４ａの画面に表示させる。モニタ１０４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３７】
入力インタフェース１０５には、キーボード１０５ａとマウス１０５ｂとが接続されている。入力インタフェース１０５は、図３に示した入力部１１の機能を有し、キーボード１０５ａやマウス１０５ｂから送られてくる、データベースの探索条件などの信号をＣＰＵ１０１に送信する。
【００３８】
なお、マウス１０５ｂは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３９】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク１０６ａに記録されたデータの読み取りを行う。光ディスク１０６ａは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク１０６ａには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４０】
通信インタフェース１０７は、ネットワーク１０７ａに接続されている。通信インタフェース１０７は、ネットワーク１０７ａを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４１】
ところで、結晶基板中の不純物濃度分布は、以下に示すデュアルピアソン分布関数を用いた式で表される。
Ｎ（ｘ）＝Φ（ｒＮ１（ｘ）＋（１−ｒ）Ｎ２（ｘ））              （１）
式（１）において、Φはドーズ量、ｒはドーズレシオである。またＮ１（ｘ）はアモルファス成分の濃度を表すピアソン関数、Ｎ２（ｘ）はチャネリング成分の濃度を表すピアソン関数である。
【００４２】
以下に示すイオン注入データベースは、式（１）のピアソン関数Ｎ１（ｘ），Ｎ２（ｘ）を特定するために用いられるパラメータを格納する。
図６は、シミュレーションで用いられるイオン注入データベースの一例を示す図である。
【００４３】
図６に示す例では、ＸＭＬ形式で記述されたイオン注入データベースのある階層の一部分が示されている。
“ｅｎｅｒｇｙ”及び“ｄｏｓｅ”はノード名であり、“ｅｎｅｒｇｙ”はイオン注入工程におけるイオン注入エネルギーを示し、“ｄｏｓｅ”はドーズ量を示している。
【００４４】
また、ノード名“ｅｎｅｒｇｙ”のノードは、イオン注入エネルギーの値（ｖａｌｕｅ）ごとに設けられており、それぞれのノードに対して、データが関連付けられている。このデータは、不純物濃度分布を得るためのパラメータ（ｒｐ，ｄｒｐ，ｇａｍｍａ，ｂｅｔａ，ｒｐ２，ｌ，ａｌｐｈａ）である。
【００４５】
また、ノード名“ｄｏｓｅ”のノードは、ドーズ量の値（ｖａｌｕｅ）ごとに設けられており、それぞれのノードに対して、データが関連付けられている。このデータは、イオン注入分布のドーズ依存性を表すためのパラメータ（ｃｈａｎｄｏｓｅ）である。
【００４６】
図６に示す例において、ノード名“ｅｎｅｒｇｙ”、値“１０”のノードの次に続く、ノード名“ｄｏｓｅ”のノード群は、イオン注入エネルギーが１０ｋｅＶの注入条件下におけるドーズ依存性を示すものである。
【００４７】
なお、ノード名“ｄｏｓｅ”のノード群が、たとえば、イオン注入エネルギーが５ｋｅＶの注入条件下におけるドーズ依存性を示す場合には、それらのノード群は、ノード名“ｅｎｅｒｇｙ”、値“５”のノードの直後に配置される。
【００４８】
つまり、ノード名“ｄｏｓｅ”のノード群は、階層の固有名を持つノード名“ｅｎｅｒｇｙ”の複数のノードの何れかに関連付けられたものである。上記の例では、不純物濃度のドーズ依存性を示すノード群が、あるイオン注入エネルギーを示すノードに関連付けられている。
【００４９】
ＣＰＵ１０１は、イオン注入データベースにおいて、ノード名“ｄｏｓｅ”のノード群が、そのノード群の直前に配置されている固有名を持つノードと関連付けられていると認識する。
【００５０】
これにより、固有名と異なるノード名を持つノード群が、その階層において、固有名を持つどのノードに関連付けられているかを認識することができる。
図６に示した例では、イオン注入エネルギーが０．５，１，３，５ｋｅＶの注入条件下におけるドーズ依存性のデータは、イオン注入エネルギーが１０ｋｅＶのもので代用される。一方、図６のイオン注入エネルギーが２０ｋｅＶのノードのように、ドーズ依存性のデータがあるイオン注入エネルギーのノードは、ＸＭＬ表記ではタグ＜／ｅｎｅｒｇｙ＞というデータが関連付けられていないダミーノードで区切られている。
【００５１】
なお、＜ｅｎｅｒｇｙ  ｖａｌｕｅ＝“０．５”＞というタグも、データが関連付けられていないダミーノードを示し、同一の階層において、ノードを追加する制御を行う領域の先頭を示すために用いられる。ＣＰＵ１０１は、データベース探索時、このタグ＜ｅｎｅｒｇｙ  ｖａｌｕｅ＝“０．５”＞と、タグ＜／ｅｎｅｒｇｙ＞によるダミーノードを参照することで、ノードを追加する制御を行う領域を認識することができる。
【００５２】
たとえば、情報処理装置１００は、別の情報処理装置によって生成された上記のようなイオン注入データベースを、ネットワーク１０７ａを介して受信して記憶するようにしてもよいし、光ディスク１０６ａを介して受け取って記憶するようにしてもよい。
【００５３】
また、情報処理装置１００が、イオン注入工程時における実施条件や測定データなどを入力または受信して、上記のようなイオン注入データベースを作成するようにしてもよい。
【００５４】
以下、図５に示した情報処理装置１００によるデータベース探索時の処理を説明する。
処理の流れは、図４に示したフローチャートと同様である。
まず、探索条件の入力が行われる。イオン注入シミュレーションの場合、探索条件として、たとえば、イオン注入エネルギー、ドーズ量などが、ユーザによるキーボード１０５ａなどの操作により入力インタフェース１０５を介して入力される。
【００５５】
入力された探索条件をもとに、ＣＰＵ１０１は、たとえば、ＨＤＤ１０３に格納されたイオン注入データベースの探索を行う。
ＣＰＵ１０１はイオン注入データベースの各階層において、最初に読み込まれるノードのノード名を、その階層の固有名と認識する。図６に示した例では、＜ｅｎｅｒｇｙ  ｖａｌｕｅ＝“０．５”＞で示されるノードの、ノード名“ｅｎｅｒｇｙ”が固有名として認識される。
【００５６】
ノードの調査が進み、固有名と異なるノード名“ｄｏｓｅ”が読み込まれると、ＣＰＵ１０１は、そのノードを＜ｅｎｅｒｇｙ  ｖａｌｕｅ＝“０．５”＞と＜／ｅｎｅｒｇｙ＞というダミーノードで挟まれたノード群のうち、固有名を持つノードに追加する。図６に示した例の場合、ノード名“ｄｏｓｅ”の各ノードが、ノード名“ｅｎｅｒｇｙ”で、値が“０．５”，“１”，“３”，“５”，“１０”の各ノードに追加される。
【００５７】
このようなノードの追加は、ＣＰＵ１０１の制御のもと、たとえば、ＨＤＤ１０３に格納されたイオン注入データベースの一部が読み出されて、ＲＡＭ１０２に移されて実行される。
【００５８】
以上のようなノードの制御が行われた後、探索条件に応じたデータの抽出が行われる。
たとえば、イオン注入エネルギーが４ｋｅＶ、ドーズ量が３ｅ14ｍ3、という探索条件が入力された場合について説明する。図６に示すイオン注入データベースの場合、イオン注入エネルギーが４ｋｅＶ、つまり値が“４”というノードがないため、ＣＰＵ１０１の制御のもと、近い値をもつ２つのノードが選択される。図６に示すイオン注入データベースの場合、たとえば、ノード名“ｅｎｅｒｇｙ”で、値が“３”と“５”の２つのノードが選択される。
【００５９】
さらに、これらのノードに追加されたノード名“ｄｏｓｅ”のノード群の中から、探索条件のドーズ量に近い、値が“１ｅ１４”と“１ｅ１５”の２つのノードが選択される。
次にＣＰＵ１０１は、選択されたノードに関連付けられたデータを、たとえば、以下のように補間計算を行って抽出する。
【００６０】
図７は、補間計算を用いてデータを抽出する例を示す図である。
図７では、ノード名“ｅｎｅｒｇｙ”、値“３”，“５”であるノードＮ１０，Ｎ１１と、それらに追加された、ノード名“ｄｏｓｅ”のノードｎ１０，ｎ１１，ｎ１２，ｎ１３，ｎ１４が示されている。また、ノードｎ１０〜ｎ１４の中で、ノード名“ｄｏｓｅ”、値“１ｅ１４”，“１ｅ１５”であるノードｎ１２，ｎ１３が選択されている。
【００６１】
ＣＰＵ１０１は、選択されたノードＮ１０，ｎ１２に関連付けられたデータＤ１０と、選択されたノードＮ１０，ｎ１３に関連付けられたデータＤ１１から、補間計算を行い、イオン注入エネルギーが３ｋｅＶ、ドーズ量が３ｅ14ｃｍ3のデータＤ１４を得る。
【００６２】
データＤ１０，Ｄ１１には、ノードＮ１０に関連付けられた“ｒｐ”，“ｄｒｐ”，“ｇａｍｍａ”，“ｂｅｔａ”，“ｒｐ２”，“ｌ”，“ａｌｐｈａ”の値と、ノードｎ１２，ｎ１３に関連付けられた“ｃｈａｎｄｏｓｅ”の値が含まれる。
【００６３】
同様に、ＣＰＵ１０１は、ノードＮ１１，ｎ１２に関連付けられたデータＤ１２と、ノードＮ１１，ｎ１３に関連付けられたデータＤ１３から、補間計算を行い、イオン注入エネルギーが５ｋｅＶ、ドーズ量が３ｅ14ｃｍ3のデータＤ１５を得る。
【００６４】
データＤ１２，Ｄ１３には、ノードＮ１１に関連付けられた“ｒｐ”，“ｄｒｐ”，“ｇａｍｍａ”，“ｂｅｔａ”，“ｒｐ２”，“ｌ”，“ａｌｐｈａ”の値と、ノードｎ１２，ｎ１３に関連付けられた“ｃｈａｎｄｏｓｅ”の値が含まれる。
【００６５】
さらに、ＣＰＵ１０１は、データＤ１４，Ｄ１５に対して補間計算を行い、イオン注入エネルギーが４ｋｅＶ、ドーズ量が３ｅ14ｃｍ3のデータＤ１６を得る。
以上のようにして、イオン注入データベースから、探索条件に合ったデータの抽出が行われる。
【００６６】
ＣＰＵ１０１は、たとえば、抽出したデータをもとに、式（１）を用いて不純物濃度分布を計算して、その結果をモニタ１０４ａに出力する。
図８は、算出された不純物濃度分布の一例を示す図である。
【００６７】
横軸は基板の深さ方向を示し、縦軸は不純物濃度を示している。図８に示すように、イオン注入による不純物濃度分布は、基板表面（深さ０の位置）から所定の深さでピークを示し、さらに深さが増すと濃度が低くなる傾向を示す。
【００６８】
以下、本実施の形態のデータベース制御方法による効果を説明する。
まず、本実施の形態におけるイオン注入データベースとの比較のため、代用するノード名“ｄｏｓｅ”のノード群を、予めノード名“ｅｎｅｒｇｙ”の各ノードの下層に配置したイオン注入データベースを示す。
【００６９】
図９は、代用するノード名“ｄｏｓｅ”のノードを、ノード名“ｅｎｅｒｇｙ”の各ノードの下層に配置したイオン注入データベースの一例を示す図である。
ここでは、ノード名“ｅｎｅｒｇｙ”、値“１０”のノードの下層に、イオン注入エネルギーが１０ｋｅＶの注入条件下におけるドーズ依存性を示すノード名“ｄｏｓｅ”のノードのノード群２００が配置されている。
【００７０】
イオン注入エネルギーが１，３，５ｋｅＶの注入条件下におけるドーズ依存性のデータがない場合は、図９に示すように、１０ｋｅＶのものが用いられる。すなわち、ノード名“ｅｎｅｒｇｙ”の値“１”，“３”，“５”のノードの下層に、ノード群２００と同じ内容のノード群２０１，２０２，２０３が配置されている。
【００７１】
これに対して、図６に示したイオン注入データベースは、ノード名“ｅｎｅｒｇｙ”のノードと同じ階層に、ノード名“ｄｏｓｅ”のノード群を１群、格納している。そして、ＣＰＵ１０１は、探索時にノード名“ｄｏｓｅ”のノード群を、ノード名“ｅｎｅｒｇｙ”の各ノードに追加する。
【００７２】
つまり、本実施の形態の情報処理装置１００及びデータベース制御方法によれば、図９に示したような、内容が重複するノード群２０１〜２０３をなくすことができ、イオン注入データベースを小さくすることができる。また、これにより、イオン注入データベースを記憶するメモリ領域を小さくすることができ、小規模で安価な記憶装置を用いることが可能になる。
【００７３】
上記の説明では、イオン注入工程における実施条件である、イオン注入エネルギーとドーズ量の各値での測定結果から得られるイオン注入データベースを説明したが、これに限定されない。実施条件として他に、基板の傾き（ｔｉｌｔ）や、基板回転角（ｒｏｔａｔｅ）など多数のパラメータが組み合わさって形成されるデータベースに対しても同様に適用可能である。
【００７４】
このような多数のパラメータが組み合わさったデータベースを生成する場合、全ての実施条件下での測定結果のデータを得ることは難しいため、一定水準のデータで代用を行う場合が増え、重複するデータがより多くなる可能性がある。しかし、本実施の形態のデータベース制御方法を適用することで、重複するデータがデータベース上に配置されることを抑制できるため、大幅にデータベースを小さくすることができる。
【００７５】
上記の処理内容は、前述したように、情報処理装置（コンピュータ）１０，１００によって実現することができる。その場合、情報処理装置１０，１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【００７６】
コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【００７７】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００７８】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。
【００７９】
なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００８０】
以上、実施の形態に基づき、本発明のデータベース制御方法、情報処理装置及びデータベース制御プログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
【符号の説明】
【００８１】
Ｎ１〜Ｎ７  ノード
Ｄ１〜Ｄ６  データ
１０  情報処理装置
１１  入力部
１２  出力部
１３  データベース制御部
１４  記憶部
１４ａ  データベース
【図１】
0005644218.tif 000002
【図２】
0005644218.tif 000003
【図３】
0005644218.tif 000004
【図４】
0005644218.tif 000005
【図５】
0005644218.tif 000006
【図６】
0005644218.tif 000007
【図７】
0005644218.tif 000008
【図８】
0005644218.tif 000009
【図９】
0005644218.tif 000010