(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-25
(45)【発行日】2024-01-09
(54)【発明の名称】情報処理装置、磁気記憶素子シミュレータシステム及び磁気記憶素子シミュレータ方法
(51)【国際特許分類】
H01L 29/82 20060101AFI20231226BHJP
H10N 50/20 20230101ALI20231226BHJP
H10B 61/00 20230101ALI20231226BHJP
G06F 30/10 20200101ALI20231226BHJP
G06F 30/20 20200101ALI20231226BHJP
G06F 30/23 20200101ALI20231226BHJP
G16Z 99/00 20190101ALI20231226BHJP
【FI】
H01L29/82 Z
H10N50/20
H10B61/00
G06F30/10
G06F30/20
G06F30/23
G16Z99/00
(21)【出願番号】P 2020003840
(22)【出願日】2020-01-14
【審査請求日】2022-09-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】田中 智大
【審査官】小山 満
(56)【参考文献】
【文献】特開2013-101989(JP,A)
【文献】特開2018-181161(JP,A)
【文献】特開2007-164548(JP,A)
【文献】米国特許出願公開第2014/0257784(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H01L 29/82
H10N 50/20
H10B 61/00
G06F 30/10
G06F 30/20
G06F 30/23
G16Z 99/00
(57)【特許請求の範囲】
【請求項1】
磁気記憶素子の複数の層のそれぞれを四面体メッシュで分割したモデルのデータを読み込む読込部と、
前記データを基に、前記複数の層を重ねたときのいずれかの層の境界面の三角形メッシュから三角柱メッシュを作成する作成部と、
前記複数の層を分割する四面体メッシュのうち、
重心が前記三角柱メッシュに含まれる四面体メッシュを特定する特定部と、
前記特定部によって特定された四面体メッシュの磁化ベクトルの平均を、前記三角柱メッシュの磁化ベクトルとし、前記三角柱メッシュのスピントルクを計算する第1の計算部と、
前記第1の計算部によって計算された前記三角柱メッシュのスピントルクを用いて、前記三角柱メッシュに含まれる四面体メッシュのスピントルクを計算する第2の計算部と、
を有することを特徴とする情報処理装置。
【請求項2】
前記作成部は、前記境界面の一部であって、前記四面体メッシュを作成する三角形メッシュのうちの1つを、前記境界面と垂直な方向に移動させたときの軌跡を、前記三角柱メッシュとして作成することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記読込部は、磁気記憶素子のフリー層、バリア層及び参照層のそれぞれを四面体メッシュで分割したモデルのデータを読み込み、
前記作成部は、前記フリー層、前記バリア層、前記参照層の順で重ねたときの、前記フリー層と前記バリア層の境界面から第1の三角柱メッシュを作成し、前記バリア層及び前記参照層の境界面から第2の三角柱メッシュを作成し、
前記特定部は、前記第1の三角柱メッシュ及び前記第2の三角柱メッシュのそれぞれに含まれる四面体メッシュを特定し、
前記第1の計算部は、前記第1の三角柱メッシュ及び前記第2の三角柱メッシュのそれぞれのスピントルクを計算し、
前記第2の計算部は、前記第1の三角柱メッシュと前記第2の三角柱メッシュの両方に含まれる四面体メッシュのスピントルクとして、前記第1の三角柱メッシュのスピントルクと前記第2の三角柱メッシュのスピントルクの平均を計算することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
磁気記憶素子の複数の層のそれぞれを四面体メッシュで分割したモデルのデータを読み込む読込部と、
前記データを基に、前記複数の層を重ねたときのいずれかの層の境界面の三角形メッシュから三角柱メッシュを作成する作成部と、
前記複数の層を分割する四面体メッシュのうち、
重心が前記三角柱メッシュに含まれる四面体メッシュを特定する特定部と、
前記特定部によって特定された四面体メッシュの磁化ベクトルの平均を、前記三角柱メッシュの磁化ベクトルとし、前記三角柱メッシュのスピントルクを計算する第1の計算部と、
前記第1の計算部によって計算された前記三角柱メッシュのスピントルクを用いて、前記三角柱メッシュに含まれる四面体メッシュのスピントルクを計算する第2の計算部と、
を有することを特徴とする磁気記憶素子シミュレータシステム。
【請求項5】
磁気記憶素子の複数の層のそれぞれを四面体メッシュで分割したモデルのデータを読み込み、
前記データを基に、前記複数の層を重ねたときのいずれかの層の境界面の三角形メッシュから三角柱メッシュを作成し、
前記複数の層を分割する四面体メッシュのうち、
重心が前記三角柱メッシュに含まれる四面体メッシュを特定し、
特定した四面体メッシュの磁化ベクトルの平均を、前記三角柱メッシュの磁化ベクトルとし、前記三角柱メッシュのスピントルクを計算し、
計算した前記三角柱メッシュのスピントルクを用いて、前記三角柱メッシュに含まれる四面体メッシュのスピントルクを計算する
処理をコンピュータが実行することを特徴とする磁気記憶素子シミュレータ方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、磁気記憶素子シミュレータシステム及び磁気記憶素子シミュレータ方法に関する。
【背景技術】
【0002】
スピントロニクスデバイスへの期待が高まる中、磁気記憶素子の磁気トンネル接合構造に働くスピントルクをマイクロマグネティックスシミュレーションで計算することは非常に重要である。スピントルクは、磁気記憶素子のバリア層を挟んで向かいあうフリー層と参照層のメッシュがもつ磁化ベクトルを用いて計算される。
【0003】
ここで、磁気記憶素子をモデル化する場合、各層を三角柱又は六面体のメッシュにより分割すれば、層間の境界面において各層のメッシュの面がぴったりと重なり合う。その結果、層間でメッシュを一対一に対応させることができるため、磁気トンネル接合構造に働くスピントルクを容易に計算できるようになる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2008-122154号公報
【文献】特開平9-266299号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の技術では、磁気記憶素子の各層を四面体メッシュにより分割してモデル化した場合に、磁気トンネル接合構造に働くスピントルクのシミュレーションを行うことが困難な場合があるという問題がある。
【0006】
例えば、フリー層、バリア層、参照層の順で各層が重ねられた構造の磁気記憶素子を考える。このとき、各層を四面体メッシュにより分割した場合、フリー層と参照層のメッシュの面(例えば
図5の12S及び32S)を一対一に対応させることができない場合がある。
【0007】
ここで、モデルをメッシュ分割するためには、メッシング機能を備えたメッシャーと呼ばれるソフトウェアが使用されるが、全てのメッシャーが六面体メッシュや三角柱メッシュによる分割機能を備えているわけではない。特に非商用メッシャーは、六面体メッシュや三角柱メッシュによる分割機能を備えていないことも多い。一方、四面体メッシュによる分割機能は、商用、非商用を問わずほぼ全てのメッシャーに備えられている。このため、例えば、六面体メッシュや三角柱メッシュによる分割機能を備えたメッシャーの購入や使用が制限されるユーザは、四面体メッシュでしかモデルをメッシュ分割できないことがある。
【0008】
1つの側面では、磁気記憶素子を四面体メッシュにより分割したモデルを用いて、磁気トンネル接合構造に働くスピントルクのシミュレーションを行うことを目的とする。
【課題を解決するための手段】
【0009】
1つの態様において、情報処理装置は、磁気記憶素子の複数の層のそれぞれを四面体メッシュで分割したモデルのデータを読み込む読込部を有することを特徴とする。情報処理装置は、データを基に、複数の層を重ねたときのいずれかの層の境界面の三角形メッシュから三角柱メッシュを作成する作成部を有することを特徴とする。情報処理装置は、複数の層を分割する四面体メッシュのうち、三角柱メッシュに含まれる四面体メッシュを特定する特定部を有することを特徴とする。情報処理装置は、特定部によって特定された四面体メッシュの磁化ベクトルの平均を、三角柱メッシュの磁化ベクトルとし、三角柱メッシュのスピントルクを計算する第1の計算部を有することを特徴とする。情報処理装置は、第1の計算部によって計算された三角柱メッシュのスピントルクを用いて、三角柱メッシュに含まれる四面体メッシュのスピントルクを計算する第2の計算部を有することを特徴とする。
【発明の効果】
【0010】
1つの側面では、磁気記憶素子を四面体メッシュにより分割したモデルを用いて、磁気トンネル接合構造に働くスピントルクのシミュレーションを行うことができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、スピントルクについて説明する説明図である。
【
図2】
図2は、一対一対応するメッシュの面について説明する説明図である。
【
図3】
図3は、六面体メッシュの一例を示す図である。
【
図4】
図4は、三角柱メッシュの一例を示す図である。
【
図5】
図5は、四面体メッシュの重ね合わせについて説明する説明図である。
【
図6】
図6は、情報処理装置の構成例を示すブロック図である。
【
図7】
図7は、四面体メッシュで分割されたモデルの一例を示す図である。
【
図8】
図8は、三角形メッシュの一例を示す図である。
【
図9】
図9は、フリー層側の仮想三角柱メッシュと四面体メッシュの対応データの一例を示す図である。
【
図10】
図10は、参照層側の仮想三角柱メッシュと四面体メッシュの対応データの一例を示す図である。
【
図11】
図11は、仮想的な三角柱メッシュの作成方法を説明する説明図である。
【
図12】
図12は、仮想的な三角柱メッシュに含まれる四面体メッシュの一例を示す図である。
【
図13】
図13は、情報処理装置の処理の流れを示すフローチャートである。
【
図14】
図14は、仮想三角柱メッシュと四面体メッシュを対応付ける処理の流れを示すフローチャートである。
【
図15】
図15は、四面体メッシュのスピントルクを計算する処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0012】
以下に、本発明に係る情報処理装置、磁気記憶素子シミュレータシステム及び磁気記憶素子シミュレータ方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例1】
【0013】
本実施例の情報処理装置は、四面体メッシュで分割された磁気トンネル接合構造(MTJ:Magnetic Tunnel Junction)のモデルからスピントルクを計算する。まず、
図1を用いて、スピントルクについて説明する。
図1は、スピントルクについて説明する説明図である。
【0014】
図1に示すように、磁気トンネル接合構造は、参照層、バリア層及びフリー層を有する。また、電子は様々な方向に流れている。ここで、スピントルクは、バリア層を挟んで向かいあうフリー層と参照層のメッシュが持つ磁化ベクトルを用いて計算される。
【0015】
磁気トンネル接合構造をメッシュで分割することによりモデル化する場合、フリー層のメッシュと参照層のメッシュは、一対一対応している必要がある。ここで、一対一対応しているとは、バリア層と接する参照層メッシュの面を電流ベクトル(MTJ素子を流れる電流の方向ベクトル)に沿って平行移動させた際に、当該参照層メッシュの面が、バリア層と接するフリー層メッシュの面と一致することである。
【0016】
図2は、一対一対応するメッシュの面について説明する説明図である。
図2に示すように、バリア層と接する参照層のメッシュの面は、電流ベクトルの正の方向に平行移動することにより、バリア層と接するフリー層のメッシュの面と接する。なお、スピントルクは、
図2に示す2つのメッシュの相互作用として計算される。
【0017】
ここで、モデルが三角柱又は六面体のメッシュにより分割されたものであれば、フリー層のメッシュと参照層のメッシュを容易に一対一対応させることができる。
【0018】
図3は、六面体メッシュの一例を示す図である。
図3に示すように、フリー層のメッシュ51、バリア層のメッシュ52、参照層のメッシュ53は六面体である。この場合、フリー層のメッシュ51と参照層のメッシュ53は一対一に対応している。
【0019】
図4は、三角柱メッシュの一例を示す図である。
図4に示すように、フリー層のメッシュ61、バリア層のメッシュ62、参照層のメッシュ63は三角柱である。この場合、フリー層のメッシュ61と参照層のメッシュ63は一対一に対応している。
【0020】
一方で、モデルが四面体メッシュにより分割されたものである場合、フリー層のメッシュと参照層のメッシュを一対一対応させることは容易ではない。
図5は、四面体メッシュの重ね合わせについて説明する説明図である。
図5の面12Sは、モデルを四面体メッシュで分割した場合の、バリア層と接するフリー層の面である。また、
図5の面32Sは、モデルを四面体メッシュで分割した場合の、バリア層と接する参照層の面である。また、面12S及び面32Sに表示されている三角形は、四面体メッシュの面である。
【0021】
図5に示すように、面12Sと面32Sをぴったりと合わせることはできない。つまり、面12Sと面32Sを重ね合わせた場合、それぞれに表示されている四面体メッシュの面は合致しない。このように、モデルが四面体メッシュにより分割されたものである場合、フリー層のメッシュと参照層のメッシュを一対一対応させることは容易ではない。
【0022】
[機能構成]
図6を用いて、実施例に係る情報処理装置の構成を説明する。
図6は、情報処理装置の構成例を示すブロック図である。
図6に示すように、情報処理装置10は、インタフェース部11、記憶部12及び制御部13を有する。情報処理装置10は、磁気記憶素子を四面体メッシュにより分割したモデルにおける、各四面体メッシュのスピントルクを計算する。
【0023】
インタフェース部11は、データの入出力、及び他の装置との間でのデータの通信を行うためのインタフェースである。例えば、インタフェース部11は、キーボードやマウス等の入力装置、ディスプレイやスピーカ等の出力装置、USBメモリ等の外部記憶装置との間でデータの入出力を行うものであってもよい。また、例えば、インタフェース部11はNIC(Network Interface Card)であり、インターネットを介してデータの通信を行ってもよい。
【0024】
記憶部12は、データや制御部13が実行するプログラム等を記憶する記憶装置の一例であり、例えばハードディスクやメモリ等である。記憶部12は、モデル情報121、対応メッシュ情報122及び磁化ベクトル情報123を記憶する。
【0025】
モデル情報121は、磁気トンネル接合構造を四面体メッシュで分割したモデルの情報である。例えば、モデル情報121はメッシュファイルである。モデル情報121は、
図7のようなモデルの情報である。
図7は、四面体メッシュで分割されたモデルの一例を示す図である。モデルは、フリー層1L、バリア層2L及び参照層3Lを有する。各層は、いずれも四面体メッシュの集合として表現されている。
【0026】
また、モデル情報121は、バリア層2Lと接するフリー層1Lの面12S及びバリア層2Lと接する参照層3Lの面32Sにある、四面体メッシュの三角形の面を特定する情報を含む。以降の説明では、四面体メッシュの三角形の面を三角形メッシュと呼ぶ。モデル情報121は、三角形メッシュの番号及び3つの節点の座標を含む。なお、面12S及び面32Sは、各層の境界面ということができる。
【0027】
図8は、三角形メッシュの一例を示す図である。例えば、モデル情報121には、番号がi-1、i、i+1である面12S上の三角形メッシュの情報が含まれる。また、例えば、モデル情報121には、番号がj-1、j、j+1である面32S上の三角形メッシュの情報が含まれる。
【0028】
対応メッシュ情報122は、フリー層及び参照層についての、仮想三角柱メッシュと四面体メッシュの対応関係を表すデータである。
図9は、フリー層側の仮想三角柱メッシュと四面体メッシュの対応データの一例を示す図である。
図10は、参照層側の仮想三角柱メッシュと四面体メッシュの対応データの一例を示す図である。仮想三角柱メッシュとは、後に説明する方法によって作成される仮想的な三角柱メッシュである。なお、
図4で説明した三角柱メッシュは、実際にモデルを構成するメッシュであるのに対し、仮想的な三角柱メッシュは、スピントルク等の計算のために存在が仮定されるものである。
【0029】
例えば、
図9には、フリー層1Lの四面体メッシュのうち、番号が2、6、8のものが仮想三角柱メッシュ1T(1)に対応していることが示されている。また、例えば、
図10には、参照層3Lの四面体メッシュのうち、番号が52、57、69、61のものが仮想三角柱メッシュ1T(1)に対応していることが示されている。
【0030】
磁化ベクトル情報123は、四面体メッシュそれぞれの磁化ベクトルである。磁化ベクトル情報123は、後に説明するスピントルクの計算処理において更新される。
【0031】
制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部13は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部13は、読込部131、作成部132、特定部133、第1の計算部134及び第2の計算部135を有する。
【0032】
読込部131は、磁気記憶素子の複数の層のそれぞれを四面体メッシュで分割したモデルのデータを読み込む。例えば、読込部131は、磁気記憶素子のフリー層、バリア層及び参照層のそれぞれを四面体メッシュで分割したモデルのデータを読み込む。読込部131は、読み込んだモデルのデータを、モデル情報121として記憶部12に格納する。例えば、読込部131は、各層の三角形メッシュを特定する番号と、各三角形メッシュの位置座標を対応付けて記憶部12に格納する。
【0033】
作成部132は、データを基に、複数の層を重ねたときのいずれかの層の境界面の三角形メッシュから仮想三角柱メッシュを作成する。例えば、作成部132は、境界面の一部であって、四面体メッシュを作成する三角形メッシュのうちの1つを、境界面と垂直な方向に移動させたときの軌跡を、仮想三角柱メッシュとして作成する。
【0034】
本実施例では、作成部132は、フリー層、バリア層、参照層の順で重ねたときの、フリー層とバリア層の境界面から第1の仮想三角柱メッシュを作成し、バリア層及び参照層の境界面から第2の三角柱メッシュを作成する。
【0035】
図11は、仮想的な三角柱メッシュの作成方法を説明する説明図である。三角形メッシュ12tは、フリー層1Lとバリア層2Lの境界面である面12Sに存在する三角形メッシュである。作成部132は、三角形メッシュ12tを、フリー層1L側にフリー層1Lと同じ厚さだけ押し出す。次に、作成部132は、三角形メッシュ12tを、参照層3L側にバリア層2Lと同じ厚さだけ押し出し、その後参照層3Lと同じ厚さだけ押し出す。これにより、作成部132は、仮想三角柱メッシュ1Tを作成する。仮想三角柱メッシュ1Tは、第1の仮想三角柱の一例である。
【0036】
ここで、押し出すとは、面を平行移動させることを意味する。そのため、仮想三角柱メッシュ1Tは、三角形メッシュ12tを上方向及び下方向に平行移動させたときの軌跡ということができる。また、三角形メッシュ12t´は、当該軌跡と面32Sが交わる面である。なお、上方向は、
図11の三角形メッシュ12t´から三角形メッシュ12tへ向かう方向であるものとする。また、下方向は、
図11の三角形メッシュ12tから三角形メッシュ12t´へ向かう方向であるものとする。
【0037】
同様に、作成部132は、面32Sにある三角形メッシュを、参照層3L側に参照層3Lと同じ厚さだけ押し出す。次に、作成部132は、当該三角形メッシュを、フリー層1L側にバリア層2Lと同じ厚さだけ押し出し、その後フリー層1Lと同じ厚さだけ押し出す。これにより、作成部132は、参照層3Lの面から第2の三角柱を作成する。このように、作成部132は、面12S及び面32Sに存在する各三角形メッシュについて、仮想三角柱メッシュを作成する。
【0038】
特定部133は、複数の層を分割する四面体メッシュのうち、仮想三角柱メッシュに含まれる四面体メッシュを特定する。例えば、特定部133は、複数の層を分割する四面体メッシュのうち、重心が仮想三角柱メッシュに含まれる四面体メッシュを特定する。本実施例では、特定部133は、第1の仮想三角柱メッシュ及び第2の三角柱メッシュのそれぞれに含まれる四面体メッシュを特定する。
【0039】
図12は、仮想的な三角柱メッシュに含まれる四面体メッシュの一例を示す図である。
図12に示すように、特定部133は、フリー層1Lに含まれる四面体メッシュ1p及び四面体メッシュ2pを、仮想三角柱メッシュ1Tに含まれる四面体メッシュとして特定する。さらに、特定部133は、参照層3Lに含まれる四面体メッシュからも、仮想三角柱メッシュ1Tに含まれる四面体メッシュを特定する。同様に、特定部133は、面32Sの三角形メッシュから作成された仮想三角柱メッシュについても、含まれる四面体メッシュを特定する。
【0040】
特定部133は、特定した四面体メッシュの番号を、対応メッシュ情報122として記憶部12に格納する。ここで、面12Sからは複数の仮想三角柱メッシュ1Tが作成されるため、各仮想三角柱メッシュ1Tは番号により区別されるものとする。
【0041】
第1の計算部134は、特定部133によって特定された四面体メッシュの磁化ベクトルの平均を、仮想三角柱メッシュの磁化ベクトルとし、仮想三角柱メッシュのスピントルクを計算する。本実施例では、第1の計算部134は、第1の仮想三角柱メッシュ及び第2の三角柱メッシュのそれぞれのスピントルクを計算する。第1の計算部134は、既知の手法を用いて仮想三角柱メッシュのスピントルクを計算することができる。
【0042】
図9及び
図10に示すように、仮想三角柱メッシュ1T(1)には、番号が2、6、8であるフリー層1Lの四面体メッシュと、番号が52、57、69、61である参照層3Lの四面体メッシュと、が含まれている。第1の計算部134は、仮想三角柱メッシュ1T(1)に含まれる各四面体の磁化ベクトルを磁化ベクトル情報123から取得し、取得した磁化ベクトルの平均を計算する。さらに、第1の計算部134は、計算した平均を仮想三角柱メッシュ1T(1)の磁化ベクトルとみなし、仮想三角柱メッシュ1T(1)のスピントルクを計算する。
【0043】
第2の計算部135は、第1の計算部134によって計算された仮想三角柱メッシュのスピントルクを用いて、仮想三角柱メッシュに含まれる四面体メッシュのスピントルクを計算する。例えば、第2の計算部135は、第1の仮想三角柱メッシュと第2の三角柱メッシュの両方に含まれる四面体メッシュのスピントルクとして、第1の仮想三角柱メッシュのスピントルクと第2の三角柱メッシュのスピントルクの平均を計算する。
【0044】
図9に示すように、番号が6であるフリー層1Lの四面体メッシュは、仮想三角柱メッシュ1T(1)と仮想三角柱メッシュ2T(1)の両方に含まれている。このため、第2の計算部135は、番号が6であるフリー層1Lの四面体メッシュのスピントルクとして、仮想三角柱メッシュ1T(1)のスピントルクと仮想三角柱メッシュ2T(1)のスピントルクの平均を計算する。
【0045】
[処理の流れ]
図13は、情報処理装置の処理の流れを示すフローチャートである。
図13に示すように、まず、情報処理装置10は、メッシュで分割したモデルのデータを読み込む(ステップS11)。ここで、読み込んだデータが四面体でないメッシュで分割されたモデルのデータである場合(ステップS12、No)、情報処理装置10は、ステップS14へ進む。一方、読み込んだデータが四面体メッシュで分割されたモデルのデータである場合(ステップS12、Yes)、情報処理装置10は、仮想三角柱メッシュと四面体メッシュを対応付ける処理を行う(ステップS13)。
【0046】
また、読み込んだデータが四面体でないメッシュで分割されたモデルのデータである場合(ステップS14、No)、情報処理装置10は、非四面体メッシュのスピントルクを計算する(ステップS16)。例えば、非四面体は六面体及び三角柱である。
【0047】
一方、読み込んだデータが四面体メッシュで分割されたモデルのデータである場合(ステップS14、Yes)、情報処理装置10は、四面体メッシュのスピントルクを計算する(ステップS15)。
【0048】
さらに、情報処理装置10は、その他の磁界の計算を行い(ステップS17)、磁化ベクトル情報123に記憶された各メッシュの磁化ベクトルを更新する(ステップS18)。ここでは、情報処理装置10は、例えばメッシュ間の磁界相互作用を計算する。さらに、反復回数が指定値以上であれば(ステップS19、Yes)、情報処理装置10は処理を終了する。一方、反復回数が指定値以上でなければ(ステップS19、No)、情報処理装置10は、反復回数をインクリメントし(ステップS20)、ステップS14に戻る。
【0049】
図14を用いて、仮想三角柱メッシュと四面体メッシュを対応付ける処理(
図13のステップS13)の詳細を説明する。
図14は、仮想三角柱メッシュと四面体メッシュを対応付ける処理の流れを示すフローチャートである。
【0050】
図14に示すように、まず、情報処理装置10は、フリー層とバリア層の境界面の三角形メッシュを特定する(ステップS131)。また、情報処理装置10は、参照層とバリア層の境界面の三角形メッシュを特定する(ステップS132)。
【0051】
次に、情報処理装置10は、三角形メッシュごとに、押し出しにより仮想三角柱メッシュを作成する(ステップS133)。そして、情報処理装置10は、四面体メッシュごとに含まれる仮想三角柱メッシュを特定し、四面体メッシュと仮想三角柱メッシュを対応付けて記憶部に格納する(ステップS134)。
【0052】
図15を用いて、四面体メッシュのスピントルクを計算する処理(
図13のステップS15)の詳細を説明する。
図15は、四面体メッシュのスピントルクを計算する処理の流れを示すフローチャートである。
【0053】
図15に示すように、まず、情報処理装置10は、四面体メッシュの磁化ベクトルを取得する(ステップS151)。次に、情報処理装置10は、磁化ベクトルを基に四面体メッシュに対応付けられた仮想三角柱メッシュの磁化ベクトルを計算する(ステップS152)。
【0054】
ここで、情報処理装置10は、スピントルクが働く仮想三角柱メッシュのペアごとにステップS154及びS155をループする(ステップS153)。情報処理装置10は、ペアに含まれる仮想三角柱メッシュの磁化ベクトルを取得する(ステップS154)。そして、情報処理装置10は、ペアに含まれる仮想三角柱メッシュのスピントルクを計算する(ステップS155)。
【0055】
ループが終了すると、情報処理装置10は、仮想三角柱メッシュのスピントルクを用いて、四面体メッシュのスピントルクを計算する(ステップS156)。
【0056】
[効果]
これまで説明してきたように、読込部131は、磁気記憶素子の複数の層のそれぞれを四面体メッシュで分割したモデルのデータを読み込む。作成部132は、データを基に、複数の層を重ねたときのいずれかの層の境界面の三角形メッシュから三角柱メッシュを作成する。特定部133は、複数の層を分割する四面体メッシュのうち、三角柱メッシュに含まれる四面体メッシュを特定する。第1の計算部134は、特定部133によって特定された四面体メッシュの磁化ベクトルの平均を、三角柱メッシュの磁化ベクトルとし、三角柱メッシュのスピントルクを計算する。第2の計算部135は、第1の計算部134によって計算された三角柱メッシュのスピントルクを用いて、三角柱メッシュに含まれる四面体メッシュのスピントルクを計算する。このように、本実施例の情報処理装置10によれば、四面体メッシュのスピントルクが得られる。その結果、磁気記憶素子を四面体メッシュにより分割したモデルを用いて、磁気トンネル接合構造に働くスピントルクのシミュレーションを行うことができる。
【0057】
作成部132は、境界面の一部であって、四面体メッシュを作成する三角形メッシュのうちの1つを、境界面と垂直方向に移動させたときの軌跡を、三角柱メッシュとして作成する。これにより、情報処理装置10は、四面体メッシュの面を利用して三角柱メッシュを作成することができる。
【0058】
特定部133は、複数の層を分割する四面体メッシュのうち、重心が三角柱メッシュに含まれる四面体メッシュを特定する。これにより、情報処理装置10は、四面体メッシュの大きさや形状によらず、容易に三角柱メッシュと対応付けることができる。
【0059】
読込部131は、磁気記憶素子のフリー層、バリア層及び参照層のそれぞれを四面体メッシュで分割したモデルのデータを読み込む。作成部132は、フリー層、バリア層、参照層の順で重ねたときの、フリー層とバリア層の境界面から第1の三角柱メッシュを作成し、バリア層及び参照層の境界面から第2の三角柱メッシュを作成する。特定部133は、第1の三角柱メッシュ及び第2の三角柱メッシュのそれぞれに含まれる四面体メッシュを特定する。第1の計算部134は、第1の三角柱メッシュ及び第2の三角柱メッシュのそれぞれのスピントルクを計算する。第2の計算部135は、第1の三角柱メッシュと第2の三角柱メッシュの両方に含まれる四面体メッシュのスピントルクとして、第1の三角柱メッシュのスピントルクと第2の三角柱メッシュのスピントルクの平均を計算する。このように、本実施例の情報処理装置10によれば、フリー層、バリア層、参照層からなる磁気記憶素子を分割する四面体メッシュのスピントルクが得られる。その結果、フリー層、バリア層、参照層からなる磁気記憶素子を四面体メッシュにより分割したモデルを用いて、磁気トンネル接合構造に働くスピントルクのシミュレーションを行うことができる。
【0060】
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。
【0061】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0062】
[ハードウェア]
図16は、ハードウェア構成例を説明する図である。
図16に示すように、情報処理装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、
図16に示した各部は、バス等で相互に接続される。
【0063】
通信インタフェース10aは、ネットワークインタフェースカード等であり、他のサーバとの通信を行う。HDD10bは、
図6に示した機能を動作させるプログラムやDBを記憶する。
【0064】
プロセッサ10dは、
図6に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、
図6等で説明した各機能を実行するプロセスを動作させるハードウェア回路である。すなわち、このプロセスは、情報処理装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、読込部131、作成部132、特定部133、第1の計算部134及び第2の計算部135と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、読込部131、作成部132、特定部133、第1の計算部134及び第2の計算部135等と同様の処理を実行するプロセスを実行する。
【0065】
このように情報処理装置10は、プログラムを読み出して実行することで学習類方法を実行する情報処理装置として動作する。また、情報処理装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータ又はサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0066】
このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【0067】
1L フリー層
2L バリア層
3L 参照層
12S、32S 面
1T、2T 仮想三角柱メッシュ
1p、2p 四面体メッシュ
12t 三角形メッシュ
10 情報処理装置
11 インタフェース部
12 記憶部
13 制御部
121 モデル情報
122 対応メッシュ情報
123 磁化ベクトル情報
131 読込部
132 作成部
133 特定部
134 第1の計算部
135 第2の計算部