JP6817922B2 - 演算装置 - Google Patents

演算装置 Download PDF

Info

Publication number
JP6817922B2
JP6817922B2 JP2017222954A JP2017222954A JP6817922B2 JP 6817922 B2 JP6817922 B2 JP 6817922B2 JP 2017222954 A JP2017222954 A JP 2017222954A JP 2017222954 A JP2017222954 A JP 2017222954A JP 6817922 B2 JP6817922 B2 JP 6817922B2
Authority
JP
Japan
Prior art keywords
unit
magnetic
arithmetic
region
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017222954A
Other languages
English (en)
Other versions
JP2018195285A (ja
Inventor
佐藤 利江
利江 佐藤
水島 公一
公一 水島
隼人 後藤
隼人 後藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to US15/924,690 priority Critical patent/US11169732B2/en
Publication of JP2018195285A publication Critical patent/JP2018195285A/ja
Application granted granted Critical
Publication of JP6817922B2 publication Critical patent/JP6817922B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Magnetic Heads (AREA)
  • Recording Or Reproducing By Magnetic Means (AREA)
  • Hall/Mr Elements (AREA)
  • Mram Or Spin Memory Techniques (AREA)
  • Magnetic Record Carriers (AREA)

Description

本発明の実施形態は、演算装置に関する。
演算装置において、消費エネルギーの低減が望まれている。
P.A. Merolla et al., Science 345, 668 (2014)
本発明の実施形態は、消費エネルギーを低減できる演算装置を提供する。
実施形態に係る演算装置は、第1磁性部と、第1読出部と、記憶部と、演算部と、を含む。前記第1読出部は、前記第1磁性部の一部の領域の磁化状態に対応した第1信号を出力する。前記演算部は前記記憶部に記憶された第1情報が第1状態のときに前記第1信号を用いて演算を行い、前記演算部は前記第1情報が第2状態のときに前記第1信号の反転信号を用いて演算を行う。
図1は、第1実施形態に係る演算装置を例示する模式図である。 図2(a)〜図2(c)は、第1実施形態に係る演算装置の一部を例示する模式的断面図である。 図3は、第2実施形態に係る演算装置を例示する模式図である。 図4は、第3実施形態に係る演算装置を例示する模式図である。 図5は、第4実施形態に係る演算装置を例示する模式図である。 図6は、第5実施形態に係る演算システムを例示する模式図である。 図7は、ニューロンモデルを表す模式図である。 図8は、相互結合型ネットワークを表す模式図である。 図9は、実施形態に係る演算装置の概略構成を表す模式図である。 図10(a)は、実施形態に係る演算装置の一部を表す模式図である。図10(b)は、参考例に係る演算装置の一部を表す模式図である。 図11は、実施例に係る演算装置の一部を表す模式図である。 図12(a)および図12(b)は、実施形態に係る演算装置を用いた演算を例示する式である。 第6実施形態に係る演算装置を例示する模式図である。 第6実施形態に係る演算装置を例示する模式図である。 第6実施形態に係る演算装置を例示する模式図である。 第6実施形態に係る演算装置を例示する模式図である。 ベクトルとエネルギーの関係を例示するグラフである。 第6実施形態に係る演算装置を例示する模式図である。 第6実施形態に係る別の演算装置を例示する模式図である。 第6実施形態に係る別の演算装置を例示する模式図である。 第6実施形態に係る別の演算装置を例示する模式図である。 第6実施形態に係る別の演算装置を例示する模式図である。
以下に、本発明の各実施形態について図面を参照しつつ説明する。
本願明細書と各図において、既に説明したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
図1は、第1実施形態に係る演算装置を例示する模式図である。
図1に表したように、第1実施形態に係る演算装置110は、第1磁性部1、第1読出部21、書込部30、演算部40、記憶部50、制御部60、および駆動回路61を含む。
第1磁性部1は、例えば、複数の磁区1dを含む。図1において、磁区1dに付された矢印は、磁化の向きの一例を表す。第1読出部21は、第1磁性部1に接続される。第1読出部21は、第1磁性部1の一部の領域の磁化状態に対応した第1信号を出力する。すなわち、第1読出部21は、複数の磁区1dの1つの磁化情報を読み出す。書込部30は、第1磁性部1の別の一部の領域の磁化状態を制御する。すなわち、書込部30は、複数の磁区1dの別の1つに磁化情報を書き込む。
具体的な一例では、第1磁性部1は、第1領域11および書込領域1wを含む。第1領域11は、第1磁区11dを含む。第1磁区11dは、複数の磁区1dの1つに対応する。第1磁区11dの磁化の向きは、第1領域11に記憶された第1磁化情報に対応する。
第1読出部21は、第1領域11と接続される。第1読出部21は、第1磁区11dの磁化情報を読み出す。書込部30は、書込領域1wと接続される。書込領域1wは、複数の磁区1dの1つを含む。書込部30は、複数の磁区1dの上記1つに磁化情報を書き込む。
演算部40は、第1読出部21から出力される第1信号を用いて演算を行う。すなわち、演算部40は、第1読出部21で読み出された磁化情報を用いて演算を行う。記憶部50は、読み出された磁化情報の処理に用いられる第1情報を記憶する。演算部40は、第1情報が第1状態のときに、第1信号(磁化情報)を用いて演算を行う。演算部40は、第1情報が第2状態のときに、第1信号の反転信号(磁化情報の反転情報)を用いて演算を行う。
演算装置110は、例えば、第1配線41、第2配線42、およびスイッチ43をさらに含む。第2配線42は、信号反転部42aを含む。スイッチ43は、記憶部50の第1情報が第1状態のときに、第1配線41と接続される。スイッチ43は、第1情報が第2状態のときに、第2配線42と接続される。
スイッチ43が第1配線41と接続されると、第1読出部21で読み出された磁化情報は、反転されずに演算部40に入力される。スイッチ43が第2配線42と接続されると、第1読出部21で読み出された磁化情報は、信号反転部42aで反転されて演算部40に入力される。スイッチ43は、記憶部50の第1情報が第3状態のときに、第1配線41および第2配線42と接続されなくても良い。
演算部40は、演算結果である第2情報を記憶部50に記憶する。書込部30は、第1磁性部1の別の一部の領域を、第2情報に対応した磁化状態とする。すなわち、書込部30は、第2情報を磁化情報として書込領域1wに書き込む。
駆動回路61は、第1磁性部1と接続される。駆動回路61は、第1磁性部1の第1領域11と書込領域1wとの間に電流を供給する。第1磁性部1に電流が供給されると、複数の磁区1dが移動する。複数の磁区1dの移動の向きは、例えば、電流の向きと逆である。電流の供給と磁化情報の読み出しを繰り返すことで、複数の磁区1dの磁化情報を読み出すことができる。電流の供給と磁化情報の書き込みを繰り返すことで、複数の磁化情報を第1磁性部1に書き込むことができる。
制御部60は、例えば、第1読出部21、書込部30、演算部40、スイッチ43、記憶部50、および駆動回路61の動作を制御する。
本実施形態によれば、演算装置の大規模化と消費エネルギーの低減が可能となる。
以下で、第1実施形態に係る演算装置110の具体的な一例を説明する。
第1磁性部1は、例えば、レーストラック素子である。第1磁性部1は、スキルミオン素子またはバブル磁区素子であっても良い。これらの場合、駆動回路61は、第1磁性部1に電流を供給することで、第1読出部21および書込部30に対して複数の磁区1dを移動させることができる。第1磁性部1は、ハードディスクまたは磁気テープであっても良い。これらの場合、制御部60は、第1磁性部1を移動させることで、第1読出部21および書込部30に対して複数の磁区1dを移動させることができる。
図2(a)〜図2(c)は、第1実施形態に係る演算装置の一部を例示する模式的断面図である。
第1読出部21は、例えば図2(a)に表したように、読出磁性層21aおよび読出中間層21nを含む。読出中間層21nは、読出磁性層21aと、第1磁性部1の書込領域1wと、の間に設けられる。第1読出部21は、例えば、巨大磁気抵抗効果またはトンネル磁気抵抗効果を用いて磁区1dの磁化情報を読み出す。読出磁性層21aと第1磁性部1との間の電気抵抗は、磁区1dの磁化の向きに応じて変化する。電気抵抗が異なる複数の状態は、それぞれ、記憶される磁化情報に対応する。
書込部30は、例えば図2(b)に表したように、書込磁性層30aおよび誘電体層30nを含む。誘電体層30nは、書込磁性層30aと第1磁性部1との間に設けられる。書込磁性層30aと第1磁性部1との間に電圧を印加することで、第1磁性部1の書込領域1wに電界が印加される。電界が印加されると、例えば、書込領域1wの磁化の向きが歳差運動する。適切な時間の電圧を印加することで、書込領域1wの磁化を、所望の向きに向けることができる。
または、書込部30は、例えば図2(c)に表したように、磁場印加部31および磁性素子32を含む。磁場印加部31は、第1磁性部1に磁場Hを印加する。磁場Hの向きは、書込領域1wに記憶される磁化情報に対応する。磁性素子32は、第1磁性層32a、書込中間層32n、および第2磁性層32bを含む。書込中間層32nは、第1磁性層32aと第2磁性層32bとの間に設けられる。磁性素子32に電流を供給することで、磁性素子32から高周波が放射される。磁性素子32は、例えば、スピントルク発振素子として機能する。これにより、書込領域1wへの磁化情報の書き込みが容易となる。さらに、書き込み時に、第1磁性部1に電流を供給し、書込領域1wを加熱しても良い。これにより、書込領域1wへの磁化情報の書き込みがさらに容易となる。
演算部40は、第1読出部21で読み出された磁化情報の加算、加算値と定数との乗算、加算値の大小比較などの演算を行う。演算部40は、例えば、MOS型トランジスタなどの半導体素子を含む演算回路を有する。記憶部50は、例えば、ハードディスクまたはフラッシュメモリを含む。
図3は、第2実施形態に係る演算装置を例示する模式図である。
第2実施形態に係る演算装置120は、第2読出部22をさらに含む。演算装置120では、第1磁性部1は、第2領域12および第3領域13をさらに含む。第2領域12は、第2磁区12dを含む。第2磁区12dの磁化の向きは、第2領域12に記憶された第2磁化情報に対応する。
第1読出部21は、第1領域11に接続される。第1読出部21は、第1領域11の磁化状態に対応した第1信号を出力する。すなわち、第1読出部21は、第1磁区11dの第1磁化情報を読み出す。第2読出部22は、第2領域12に接続される。第2読出部22は、第2領域12の磁化状態に対応した第2信号を出力する。すなわち、第2読出部22は、第2磁区12dの第2磁化情報を読み出す。第3領域13は、第1領域11と第2領域12との間に接続される。第3領域13は、書込領域1wを含む。
駆動回路61は、第1領域11と第3領域13との間、または、第2領域12と第3領域13との間に電流を供給する。第1領域11と第3領域13との間に電流が供給されると、電流の向きに応じて、第1領域11および第3領域13の磁区1dが移動する。第2領域12と第3領域13との間に電流が供給されると、電流の向きに応じて、第2領域12および第3領域13の磁区1dが移動する。
第1磁性部1への電流の供給は、記憶部50に記憶された第1情報に基づく。第1情報は、例えば、複数の磁区1dの1つに記憶された磁化情報と、複数の磁区1dの別の1つに記憶された磁化情報と、の相互作用に関する。第1状態は、例えば、相互作用を表す値の符号が正および負の一方である状態に対応する。第2状態は、例えば、相互作用を表す値の符号が正および負の他方である状態に対応する。
第1情報が第1状態のとき、駆動回路61は、第1領域11と第3領域13との間に電流を供給する。電流の供給によって、第1領域11に別の磁区1dが移動する。第1読出部21は、第1領域11に位置した第1磁区11dの第1磁化情報を読み出す。第1読出部21から出力された第1信号は、第1配線41から演算部40に入力される。すなわち、第1磁化情報は、第1配線41から演算部40に入力される。
第1情報が第2状態のとき、駆動回路61は、第2領域12と第3領域13との間に電流を供給する。電流の供給によって、第2領域12に別の磁区1dが移動する。第2読出部22は、第2領域12に位置した第2磁区12dの第2磁化情報を読み出す。第2読出部22から出力された第2信号は、第2配線42の信号反転部42aで反転されて演算部40に入力される。すなわち、第2磁化情報は、第2配線42の信号反転部42aで反転されて演算部40に入力される。
書込部30、演算部40、および記憶部50の動作は、例えば、図1に表した演算装置110と同様である。演算部40は、演算結果である第2情報を記憶部50に記憶する。書込部30は、第3領域13の少なくとも一部を、第2情報に対応した磁化状態とする。すなわち、書込部30は、第2情報を磁化情報として書込領域1wに書き込む。
図4は、第3実施形態に係る演算装置を例示する模式図である。
第3実施形態に係る演算装置130は、第2磁性部2と非磁性部3をさらに含む。非磁性部3は、第2磁性部2と第2領域12の間に設けられる。第2磁性部2の磁化の向きは、第2領域12の磁化の向きと逆である。これは、例えば、第2磁性部2と第2領域12が、反強磁性結合していることに基づく。
第1読出部21は、第1領域11の磁化状態に対応した第1信号を出力する。すなわち、第1読出部21は、第1磁区11dの第1磁化情報を読み出す。第2読出部22は、第2磁性部2の磁化状態に対応した第2信号を出力する。すなわち、第2読出部22は、第2磁性部2の磁化情報を読み出す。これは、第2磁区12dの第2磁化情報の反転情報に対応する。
第1磁化情報は、第1配線41から演算部40に入力される。第2磁化情報の反転情報は、第2配線42から演算部40に入力される。演算装置130では、第2磁性部2と非磁性部3によって、第2磁区12dの第2磁化情報が反転される。従って、図3に表した信号反転部42aが不要となる。これにより、演算装置110および120に比べて、消費エネルギーを低減することが可能となる。
書込部30、演算部40、および記憶部50の動作は、例えば、図1に表した演算装置110と同様である。駆動回路61の動作は、例えば、図3に表した演算装置120と同様である。
(第4実施形態)
図5は、第4実施形態に係る演算装置を例示する模式図である。
第4実施形態に係る演算装置140では、第1読出部21が磁区1dから第1磁化情報を読み出すと、第1磁化情報は、第1読出部21から演算部40に入力される。記憶部50の第1情報は、演算部40に入力される。
演算部40は、第1情報が第1状態のとき、第1磁化情報を用いて演算を行う。演算部40は、第1情報が第2状態のとき、第1磁化情報の反転情報を用いて演算を行う。演算装置140では、演算部40が、第1情報を参照し、第1情報の状態に基づいて磁化情報を反転させる。このため、図1に表したスイッチ43などは不要である。
(第5実施形態)
図6は、第5実施形態に係る演算システムを例示する模式図である。
第5実施形態に係る演算装置210は、複数の演算ブロック150と、制御部60と、駆動回路61と、を含む。複数の演算ブロック150のそれぞれは、例えば、第1磁性部1、第1読出部21、書込部30、演算部40、および記憶部50を含む。
駆動回路61は、複数の第1磁性部1と接続される。制御部60は、複数の第1読出部21、複数の書込部30、複数の演算部40、および複数の記憶部50と接続される。駆動回路61は、複数の第1磁性部1の少なくとも1つに電流を供給する。制御部60からの指令に基づき、複数の演算ブロック150の少なくとも1つにおいて、演算部40は、第1磁性部1に記憶された磁化情報を用いて演算を行う。演算装置210は、1つの制御部のみを含んでいても良い。この場合、1つの制御部が、駆動回路61および制御部60として機能する。
演算ブロック150は、図3および図4に表した演算装置120および130と同様の構成を含んでいても良い。例えば、演算ブロック150の第1磁性部1は、図3に表したように、第1領域11、第2領域12、および第3領域13を含んでいても良い。この場合、演算ブロック150は、第1読出部21および第2読出部22を含む。
本実施形態に係る演算装置210は、複数の演算ブロック150を含む。それぞれの演算ブロック150は、例えば、第1磁性部1、第1読出部21、演算部40、および記憶部50を含む。本実施形態によれば、演算システムの大規模化と消費エネルギーの低減が可能となる。
上述した各実施形態に係る演算装置および演算システムは、例えば、相互結合型ニューラルネットワーク(神経回路網)装置に用いられる。
今日、コンピュータやエレクトロニクスデバイスの高性能化および高機能化が求められている。これらは、IoT(Internet of Things)、AI(Artificial Intelligence)、深層学習(Deep leaning)などに関する膨大な情報処理に対応しうることが望まれている。一方で、世界的規模で議論されるCO2削減や東日本大震災後の電力事情を背景とした省エネルギーエレクトロニクスの開発も望まれている。
このような状況において、生体に学ぶ省エネ・エレクトロニクスとしてのニューラルネットワーク(神経回路網)が近年改めて注目を集めている。ニューラルネットワークとエレクトロニクスの関係は大変歴史が古い。なかでも1943年に発表されたMcCullochとPittsのニューロンモデル(W.S. McCulloch and W. Pitts: Bull. Math. Biophys. 5, 115 (1943).)がよく知られている。図7は、ニューロンモデルを表す模式図である。このモデルでは、入力に重みをつけた多入力を配置する。重み(w)付き入力(x)の足し合わせは、閾値θを超えると、パルスを出力(発火)する。
その後、ニューラルネットワーク分野の大きなブレークスルーが1982年にHopfieldによりなされた(J.J. Hopfield: Proc. Natl. Acad. Sci. U.S.A. 79, 2554 (1982).)。図8は、相互結合型ネットワークを表す模式図である。彼は図8に示したユニットを用いた相互結合型ネットワークが、イジングスピン・モデルのハミルトニアンで表現できることを示した。これにより、神経回路網での情報処理をスピン系の統計力学を用いて考察することが可能となった。さらに、アップ・ダウンスピンの2値状態をとるイジングスピンを神経細胞(ニューロン)の活動や情報ビットに対応させることが可能になった。
ホップフィールド・モデルは、これまでソフト分野の発展に大きな貢献をしてきた。一方で、近年では、このモデルに基づいたハードウエアの開発も盛んである。不揮発性メモリーの一種として、ReRAM(抵抗変化型メモリ)が研究されている。このReRAMの電圧印加に伴う抵抗変化の様子は、ニューロン模倣に適していると考えられ、研究が進められている。しかし、小規模な回路網の報告しかなされていない。スピン軌道トルクを利用した抵抗変化素子に関しても状況は同様である。
本格的な脳神経回路網として、TrueNorthチップと呼ばれる素子が2014年にIBMとコーネル大の協力により開発された(P.A. Merolla et al., Science 345, 668 (2014).)。28nmのCMOS技術で作製されたこの素子は全体として100万個のニューロンとして動作する。しかし、140億個のニューロンから構成される人間の脳に比較すると規模が小さく、消費電力もはるかに大きい。低消費電力性能の向上のために熱揺らぎに伴う確率共鳴現象を利用することも近年考えられ、それに適したスピングラス材料なども紹介されている(M. Kobayashi et al.: Appl. Phys. Lett. 92, 082502 (2008).)。しかし、具体的デバイスの提案はなされていない。
上で述べたように、神経回路網装置は、人間の脳に匹敵する大規模な省エネ型情報処理装置として期待されている。しかし、大規模化および省エネ化の何れに関しても現在極めて不十分な状況にある。本発明の各実施形態は、神経回路網装置に適用でき、神経回路網装置の大規模化および省エネ化を可能とする演算装置を提供する。
大規模な神経回路網装置には多くのニューロン(ノード、ユニット)が含まれる。ニューロンの数を人間の脳に近づけるには、少なくとも100億個のノードが必要と考えられる。従来の神経回路網装置では、1個のノードを、1個のReRAM素子、1個のトランジスタ、または複数個のトランジスタからなる回路に対応させていた。実施形態に係る演算装置では、磁壁移動型磁気記録素子、ハードディスク装置、または磁気テープ装置の1ビット(1磁区)を、1個のノードに対応させることができる。これにより、100億個以上のノードをもつ神経回路網装置を構成することが可能となる。
神経回路網装置の演算では後に示すように、ある1つのノードと他の少なくとも一部のノードとの相互作用を、符号を含めて多数回繰り返し計算する必要がある。この大規模な繰り返し演算は、従来の半導体回路を用いた計算でも可能ではある。しかし、複雑な配線および分岐スイッチなどが必要であり、多くのエネルギーを消費してしまう。一方、この大規模な繰り返し演算の主要部を、磁壁移動型磁気記録素子、ハードディスク装置、または磁気テープ装置などの磁性デバイスと、半導体デバイスと、を組合せて行うことにより、配線の単純化と大幅な省エネ化を達成することができる。特に、近年見出された磁壁移動型磁気記録素子であるスキルミオン素子は、省エネ型演算素子として期待される。これは、スキルミオン素子が、神経回路網装置で必要とされる低速動作(平均周波数〜数10Hz)で、極めて低電流密度(10A/cm)で駆動できるためである。さらに、磁壁移動型磁気記録素子による演算においては、ノード(ユニット)を構成する記録ビット磁化の反転操作は、層間反強磁性結合を利用して行うことができる。ビットへの書き込みは、熱共鳴アシスト磁化反転や電界効果磁化反転などの書き込み技術を用いて行うことができる。これらの技術を用いることで、大幅な省エネ演算が可能となる。
ホップフィールド・モデルの概要を説明する。この神経回路モデルでは、図8に示したように、n個のノード(ユニット)が相互作用wij(ただしi,j=1,2,・・・n;wii=0,wij=wji)を介して結合している。図8の例では、n=3である。この系をスピン系の類推で考えるとそのエネルギーは、以下の数1で表される。
Figure 0006817922
ここでxは、ノードiの値である。xは、+1または−1である。iは、ノードiの閾値(図1参照)である。説明の簡単化のため、以後はi=0とする。x=+1,−1に替えて、v=1,0を用いる場合もある。ここでは、イジングスピンとの対応が分かり易いxを採用する。相互作用wijは一般に、以下の数2で表される。
Figure 0006817922
ij (l)(i・j)は+1または−1であり、wij (l)=wji (l),wii (l)=0である。Aは問題により与えられる定数である。問題の解答は、与えられた相互作用行列{wij}の下でエネルギーEを最小にするベクトル{x}を求めることにより得られ。この計算は、以下の手順で行う。
第1ステップでは、任意に選択したノードiと他の全てのノードjとの相互作用wijを考慮し、以下の数3および数4を計算する。
Figure 0006817922

Figure 0006817922
イジングスピンの類推でhはノードiに働く局所磁場と呼ばれる。第2ステップでは、ノードiの値xを、局所磁場hの正負に従って、以下の数5のように更新する。
Figure 0006817922
この更新は全てのノードについて一斉に行われる同期更新ではなく、個々のノードについて非同期的(asynchronous)に行われる。第3ステップでは、再びランダムに選択したノードkについて、第2ステップと同様に局所磁場hを計算する。その値の正負に従って数4と同様にxを更新する。第4ステップでは、第1ステップ〜第3ステップを繰り返し、全てのxが変化しなくなればベクトル{x}が解である。ホップフィールド・モデルに擬似焼きなまし法(simulated annealing)を加えたボルツマン・マシンなどの場合でも手順は同様である(G. E. Hinton, Cognitive Science, Vol.9, 147-169 (1985).)。
図9は、実施形態に係る演算装置の概略構成を表す模式図である。
実施形態に係る演算装置は、例えば、磁壁移動型磁気記録素子および半導体素子を含む。実施形態に係る演算装置では、ホップフィールド・モデルのノードを、第1磁性部1の1ビット(1磁区)が担うことができる。さらに、ノード更新の演算過程において、磁壁移動型磁気記録素子を半導体素子と共に演算素子として用いることができる。ノードを第1磁性部1の1ビット(1磁区)に対応させることにより、ノード数が大きな大規模装置の構築が容易となる。繰返し行うノード更新の演算において、最も計算量が多い部分は、ノードiの局所磁場hのl成分h (l)を求める数4である。そこでは、i以外の全てのノードについての和を、wij (l)の符号を考慮して計算しなければならない。実施形態に係る演算装置では、h (l)の計算の主要部を、磁壁移動型磁気記録素子MEが担当する。比較的計算量の少ない数3のhの計算は、半導体素子SEを含む演算回路で行う。数3を計算するのに必要な定数Aや数4の計算に必要なwij (l)などの定数は、記憶部50に保存される。図1〜図5に表した各演算装置は、h (l)の演算回路として用いることができる。
ノードを構成する第1磁性部1の各ビット(磁区1d)には、書込部30により初期値が書き込まれる。第1磁性部1のビットは、制御部60から供給される電流により転送される。はじめに、h (l)の(l=1)の計算が行われる。次に、wij (l)(l=1)の正負に応じて、例えば、読み出し信号の回路が分岐する。wij (l)<0の場合は、反転された信号が演算部40に入力される。例えば、wij (l)=0の場合には、分岐スイッチは開状態となり、読み出し信号は演算回路に伝送されない。正負パルスは演算回路において積算され、h (l)が得られる。続いて、l=2以下についても、h (l)(l=2,3,4・・・)を計算する。全てのh (l)とAを用いて、数3のhを計算する。数3の計算は比較的負荷が小さいので、典型的な電子回路を用いて行うことができる。数5を用いてhの正負に従いノードiの値xを更新する。第1磁性部1を用いたh (l)の計算回路は大規模化した際の配線パターンが半導体回路のみを用いた場合に比べ極めて単純である。さらに、省エネ性にも優れている。配線パターンが単純化されることの概念図を図10に示した。
図10(a)は、実施形態に係る演算装置の一部を表す模式図である。図10(b)は、参考例に係る演算装置の一部を表す模式図である。
上で紹介したTrueNorthチップなどのこれまでの相互結合型ニューラルネットワーク(神経回路網)では、図10(b)に表したように、各ニューロンNに、演算機能や記憶機能を有する素子Eが付与されている。これらの素子Eは、配線Wによって互いに接続される。これに対して、実施形態に係る演算装置では、図10(a)に表したように、全体で1つの演算部40と1つの記憶部50しか必要とされない。このため、配線パターンをより単純にできる。さらに、大脳皮質のように、装置全体を視覚野、嗅覚野などの領域ごとに構成することも可能である。
例えば、図1に表される演算装置110の説明において述べた第1情報は、相互作用wijに対応する。wij>0は、第1情報が第1状態である場合に対応する。wij<0は、第1情報が第2状態である場合に対応する。このとき、演算部40は、反転された磁化情報を用いて演算を行う。wij=0は、第1情報が第3状態である場合に対応する。第2情報は、例えば、ノードiの値xに対応する。従って、ノードiの値xが記憶部50に記憶された後、書込部30は、この値xを第1磁性部1の書込領域1wに書き込む。
(実施例)
図11は、実施例に係る演算装置の一部を表す模式図である。
図11に表した例では、シリコン基板上に、第1積層体ST1、第2積層体ST2、および第3積層体ST3を形成した。
第1積層体ST1は、Ta(3nm)/Pt(2nm)/Co(0.3nm)/Ni(0.6nm)/Co(0.3nm)/Pt(2nm)/Ta(3nm)を含む。
第2積層体ST2は、Ta(3nm)/Pt(2nm)/Co(0.2nm)/Ni(0.8nm)/Co(0.2nm)/Pt(2nm)/Ta(3nm)を含む。
第3積層体ST3は、Ta(3nm)/Pt(2nm)/Co(0.2nm)/Ni(0.8nm)/Co(0.2nm)/Ru(2nm)/Co(0.3nm)/Ni(0.6nm)/Co(0.3nm)/Pt(2nm)/Ta(3nm)を含む。
第1積層体ST1、第2積層体ST2、および第3積層体ST3を用いて、図11に表したナノワイヤー素子が形成されている。それぞれの膜の形成には、DCマグネトロン・スパッタ法を用いた。膜の加工は、電子線リソグラフィーとアルゴン・イオンミリングを用いて行った。ナノワイヤー素子は、端子T1、T2、T3、T4、およびT5を含む。端子T1〜T5のそれぞれは、100nmのAu層である。端子T1〜T5を用いてナノワイヤー素子に電流が供給される。
積層体ST3は、反強磁性結合を有する。ナノワイヤー素子へのビットの書き込みおよび読み出しは、スタティック・テスターを用いて行った。書き込みヘッド位置および読出しヘッド位置は、それぞれ、図11において、白三角および黒三角印で表されている。書き込まれたビット磁化の転送は、端子T1と端子T3との間、または、端子T2と端子T3との間に電流パルスを印加することで行う。反強磁性結合によって反転された磁化ビットの転送は、端子T4と端子T5との間に電流パルスを印加することにより行う。wij>0の場合には端子T1と端子T3との間に電流パルスを印加する。wij<0の場合には端子T2と端子T3との間に電流パルスを印加する。
図12(a)および図12(b)は、実施形態に係る演算装置を用いた演算を例示する式である。
ここでは、相互作用行列wが、図12(a)に表した、5行5列の行列{wij}で与えられた場合を考える。wは、図12(b)に表した2つの行列w(1)とw(2)の和に書き換えられる。このwの下で、エネルギーEが最小となるベクトル{x}を図7の素子を用いて求める。ベクトル{x}の初期値として(11111)をスタティック・テスターの書込みヘッドで素子に書込んだ。2つの読出しヘッドにより測定される正負パルスを加算してhの値を求めた。hの正負に基づき、(5)式に従ってxの更新を行った。更新するノードiの順番は、3,1,5,2,4,3,1,5,2,4,・・・とした。
観測されたhおよび更新されたxの値は、順次、h=0≧0;x=1,h=−2<0;x=−1,h=2≧0;x=1,h=2≧0;x=1,h=−6<0;x=−1,h≧0;x=1,h<0;x=−1,h≧0;x=1,h≧0;x=1,h<0;x=−1となる。ベクトル{x}は、(−111−11)に収束することが分かった。
次に、更新するノードiの順番を、2,4,3,5,1,2,4,3,5,1,・・・として同様の演算を行った。ベクトル{x}は、(1−11−11)に収束することが分かった。その後、種々の順番でノードの更新を行った。この結果、上記の2つのベクトルのいずれかに収束することが分かった。すなわち、与えられた相互作用行列{wij}の下では安定な2つのパターン(ノードの値){x}=(−111−11)と、{x}=(1−11−11)が存在することが分かった。
以上述べたように、各実施形態によれば、神経回路網装置の1個のノードを、1ビット(1磁区)に対応させることが可能となる。これは、1個のノードを、1個のReRAM素子や1個あるいは複数のトランジスタに対応させる従来の神経回路網装置と異なる。1個のノードを1ビットに対応させることにより、100億個以上のノードをもつ神経回路網装置の作製がより容易となる。従来の半導体回路をノードに用いた装置では、複雑な配線が必要となり、演算に多くのエネルギーを消費してしまう。各実施形態によれば、演算の主要部を、例えば磁壁移動型磁気記録素子と半導体素子を組合せて行うことにより、配線の単純化と大幅な省エネ化を達成することができる。磁壁移動型磁気記録素子に変えて機械的駆動装置を含む磁気記録テープや磁気記録ディスクを用いることも可能である。
(第6実施形態)
図13は、第6実施形態に係る演算装置を例示する模式図である。
図14〜図17は、第6実施形態に係る演算装置を例示する模式図である。
演算装置310は、図13に表した、第1磁性部1および記憶部50を含む。第1磁性部1は、少なくとも1つの第1磁気トラックMT1を含む。記憶部50は、第2磁性部52を含む。第2磁性部52は、少なくとも1つの第2磁気トラックMT2を含む。この例では、第2磁性部52は、複数の第2磁気トラックMT2を含む。第1磁気トラックMT1および第2磁気トラックMT2のそれぞれは、複数の磁区1dを含む。
第1磁気トラックMT1および第2磁気トラックMT2のそれぞれは、例えば、磁壁移動型記憶素子の少なくとも一部である。第1磁気トラックMT1および第2磁気トラックMT2のそれぞれは、例えば、レーストラック素子の少なくとも一部、スキルミオン素子の少なくとも一部、またはバブル磁区素子の少なくとも一部である。
制御部60は、複数の第2磁気トラックMT2の1つに第2電流を供給する。第2磁気トラックMT2に第2電流が供給されると、第2磁気トラックMT2に含まれる複数の磁区1dが移動する。
演算装置310は、第1読出部70R1、第2読出部70R2、第1書込部70W1、および第2書込部70W2を含む。
第1読出部70R1は、第1磁気トラックMT1の複数の磁区1dの1つの磁化情報を読み出す。例えば、第1読出部70R1は、第1磁性層71aおよび第1中間層72aを含む。第1中間層72aは、第1磁性層71aと第1磁気トラックMT1の一部との間に設けられる。
第2読出部70R2は、第2磁気トラックMT2の複数の磁区1dの1つの磁化情報を読み出す。例えば、第2読出部70R2は、第2磁性層71bおよび第2中間層72bを含む。第2中間層72bは、第2磁性層71bと第2磁気トラックMT2の一部との間に設けられる。
第1書込部70W1は、第1磁気トラックMT1の複数の磁区1dの1つに磁化情報を書き込む。例えば、第1書込部70W1は、第3磁性層71cおよび第3中間層72cを含む。第3中間層72cは、第3磁性層71cと第1磁気トラックMT1の別の一部との間に設けられる。
第2書込部70W2は、第2磁気トラックMT2の複数の磁区1dの1つに磁化情報を書き込む。例えば、第2書込部70W2は、第4磁性層71dおよび第4中間層72dを含む。第4中間層72dは、第4磁性層71dと第2磁気トラックMT2の別の一部との間に設けられる。
例えば、第1読出部70R1、第2読出部70R2、第1書込部70W1、および第2書込部70W2は、制御部60と電気的に接続される。
例えば、制御部60は、第1磁気トラックMT1と第1磁性層71aとの間に電流を供給する。第1磁気トラックMT1と第1磁性層71aとの間の電気抵抗は、第1磁気トラックMT1の上記一部に含まれる磁区1dの磁化の向きと、第1磁性層71aの磁化の向きと、の相対的な角度に応じて変化する。制御部60は、この電気抵抗を検出することで、磁区1dに記憶された磁化情報を読み取る。制御部60は、電気抵抗に対応する値(電圧値または電流値など)を検出しても良い。制御部60は、同様に、第2磁気トラックMT2と第2磁性層71bとの間に電流を供給し、第2磁気トラックMT2の上記一部に含まれる磁区1dの磁化情報を読み出す。
例えば、制御部60は、第1磁気トラックMT1と第3磁性層71cとの間に電流を供給する。第1磁気トラックMT1の上記別の一部に含まれる磁区1dの磁化の向きは、この電流の向きに応じて変化する。これにより、制御部60は、第1磁気トラックMT1に含まれる複数の磁区1dの1つに磁化情報を書き込む。制御部60は、同様に、第2磁気トラックMT2と第4磁性層71dとの間に電流を供給し、第2磁気トラックMT2の上記別の一部に含まれる磁区1dに磁化情報を書き込む。
第1磁気トラックMT1および複数の第2磁気トラックMT2は、制御部60と電気的に接続される。制御部60は、第1磁気トラックMT1に第1電流を供給する。第1磁気トラックMT1に第1電流が供給されると、第1磁気トラックMT1に含まれる複数の磁区1dが移動する。
図13に表した例では、演算装置310は、第1手段(第1構造部)75aをさらに含む。演算装置310は、第2手段(第2構造部)75bをさらに含んでいても良い。第1手段75aは、第1磁気トラックMT1に含まれる複数の磁区1dの少なくとも1つに磁化揺らぎを生じさせる。第2手段75bは、第2磁気トラックMT2に含まれる複数の磁区1dの少なくとも1つに磁化揺らぎを生じさせる。
第1手段75aおよび第2手段75bのそれぞれは、例えば、マイクロ波磁場発生装置を含む。これらのマイクロ波磁場発生装置のそれぞれは、例えば、スピントルク発振素子を含む。
例えば、第1手段75aは、第5磁性層71eおよび第5中間層72eを含む。第5中間層72eは、第5磁性層71eと第1磁気トラックMT1との間に設けられる。
例えば、第2手段75bは、第6磁性層71fおよび第6中間層72fを含む。第6中間層72fは、第6磁性層71fと第2磁気トラックMT2との間に設けられる。
例えば、第1読出部70R1、第2書込部70W2、第1手段75a、および第1磁気トラックMT1のそれぞれは、複数設けられる。この場合、複数の第1読出部70R1の1つは、複数の第1磁気トラックMT1の1つに含まれる複数の磁区1dの1つの磁化情報を読み出す。複数の第1書込部70W1の1つは、複数の第1磁気トラックMT1の1つに含まれる複数の磁区1dの1つに磁化情報を書き込む。複数の第1手段75aの1つは、複数の第1磁気トラックMT1の1つに含まれる複数の磁区1dの少なくとも1つに磁化揺らぎを生じさせる。
図13に表した例では、第2読出部70R2、第2書込部70W2、および第2手段75bのそれぞれは、複数設けられる。複数の第2読出部70R2の1つは、複数の第2磁気トラックMT2の1つに含まれる複数の磁区1dの1つの磁化情報を読み出す。複数の第2書込部70W2の1つは、複数の第2磁気トラックMT2の1つに含まれる複数の磁区1dの1つに磁化情報を書き込む。複数の第2手段75bの1つは、複数の第2磁気トラックMT2の1つに含まれる複数の磁区1dの少なくとも1つに磁化揺らぎを生じさせる。
第1磁性層71a〜第6磁性層71fのそれぞれは、例えば、Fe、Co、およびNiからなる群から選択される少なくとも1つを含む。第1中間層72a〜第6中間層72fは、例えば、Cu、Au、およびAgからなる群から選択される少なくとも1つを含む。第1中間層72a〜第4中間層72dは、酸化物および窒化物からなる群から選択される少なくとも1つを含んでいても良い。酸化物は、例えば、Mg、Ca、Sr、Ti、V、Nb、およびAlからなる第1群から選択される少なくとも1つと、酸素と、を含む。窒化物は、第1群から選択される少なくとも1つと、窒素と、を含む。
演算装置320は、図14に表したように、複数の演算装置310を含む。複数の演算装置310に含まれる複数の第1磁性部1および複数の記憶部50(複数の第2磁性部52)は、制御部60および第1演算部81と電気的に接続される。例えば、第1演算部81は、第1磁性部1に記憶された磁化情報と第2磁性部2に記憶された磁化情報とを用いて積和演算を行う。例えば、第1演算部81は、その演算結果に基づいて得られた値を、第1磁性部1の複数の磁区の1つに、磁化情報として書き込む。
演算装置330は、図15に表したように、複数の演算装置320を含む。複数の演算装置320は、制御部60および第2演算部82と電気的に接続される。例えば、第2演算部82は、和演算を行う。この和演算において、複数の第1演算部81のそれぞれにおいて実行された積和演算の演算結果が足し合わされる。例えば、第2演算部82は、その演算結果に基づいて得られた値を、複数の第1磁性部1の1つに含まれる複数の磁区1dの1つに磁化情報として書き込む。
演算装置340は、図16に表したように、複数の演算装置330を含む。複数の演算装置330は、制御部60と電気的に接続される。制御部60は、複数の演算装置330に向けて、複数の演算装置330を協同して動作させるための制御信号を出力する。
相互結合型ニューラルネットワークであるホップフィールド・モデルでは、図8に表したようにn個(図8の例ではn=3)のニューロンが相互作用wij(ただしi,j=1,2,・・・n;wii=0,wij=wji)を介して結合している。この系をスピン系の類推で考えるとそのエネルギーは、以下の「数6」で表される。
Figure 0006817922
ここでxは、ノードiの値であり、+1または−1である。図1に表したθは、ノードiの閾値である。説明の簡単化のため、以後は、θ=0とする。x=+1,−1に替えて、v=1,0を用いる場合もある。ここでは、イジングスピンとの対応が分かり易いxを用いる。問題の解答は、与えられた相互作用行列{wij}の下で、エネルギーEを最小にするベクトル{x}を求めることにより得られ、以下の手順で行う。
手順1:任意に選択したノードiと、他の全てのノードjと、の相互作用wijを考慮し、以下の「数7」を計算する。イジングスピンの類推で、hは、ノードiに働く局所磁場と呼ばれる。
Figure 0006817922
手順2:ノードiの値xを、局所磁場hの正負に従って以下の「数8」のように更新する。この更新は全てのノードについて一斉に行われる同期更新ではなく、個々のノードについて非同期的(asynchronous)に行われる。
Figure 0006817922
手順3:再びランダムに選択したノードkについて、手順2と同様に局所磁場hを計算し、その値の正負に従って「数8」と同様にxを更新する。
手順4:手順1〜手順3を繰り返し、全てのxが変化しなくなれば、ベクトル{x}が解である。
図17は、ベクトルとエネルギーの関係を例示するグラフである。
ホップフィールド・モデルでは、図17に表したように、局所的な極小値(local minimum)に収まってしまい正しい解を与えない場合がある。最小値(global minimum)を求めるには、ノイズを付加して擬似焼きなまし法(simulated annealing)などを適用することが望ましい。
第6実施形態によれば、第1磁性部1の少なくとも1つの磁区1dを、相互結合型ニューラルネット装置のニューロンとして用い、記憶部50の第2磁性部2の少なくとも1つの磁区1dを、シナプスとして用いることができる。これにより、ニューラルネット装置の大型化を抑制しつつ、ニューロンの数とシナプスの数を容易に増大させることが可能となる。
例えば、図13に表した演算装置310は、ニューラルネット装置の最小単位でありうる。演算装置310は、サブコア(SC)と呼ばれる。この例では、ニューロンx(j=1,2,・・・,1000)は、1本の第1磁気トラックMT1に書込まれ、w1jは、4本の第2磁気トラックMT2を用いて4ビットで表現されている。一例として、図14に表した長さL1は、60nmである。長さL2は、10μmである。第1磁気トラックMT1および第2磁気トラックMT2のそれぞれの長さL3は、30μmである。例えば、それぞれの磁気トラックに書き込まれるニューロン数を、1000程度とすることで、一個のニューロンを、1μs程度で更新できる。
図14に表した演算装置320は、例えば、1000個の演算装置310を含む。すなわち、1000個のサブコアが並列に配列されている。積和演算素子および判定回路として機能する第1演算部81が設けられることで、1000個のニューロンに関して完全に結合したコアC(1,1)が得られる。積和演算素子(第1演算部81)は、以下の「数9」で表される、ニューロンiに作用する磁場を計算する。
Figure 0006817922
判定回路(演算部40)は、以下の「数10」のように磁場の符号を判定し、xを更新する。図14に表した長さL4は、例えば100μmである。長さL5は、例えば130μmである。
Figure 0006817922
図18は、第6実施形態に係る演算装置を例示する模式図である。
このコアC(1,1)に、図18に表したように、コントローラなどを付加すれば、1000個のニューロンが完全に結合し、全てのニューロンを1ms以下で更新することができるニューラルネットワークが得られる。図18に表した長さL10は、例えば150μmである。長さL11は、例えば150μmである。
ここでは、ニューロンjの状態x(j=1,2,・・・,1000)は、1本の第1磁気トラックMT1に書込まれ、1ビットで表現されている。複数の第1磁気トラックMT1を用いて、複数ビットで表現し、連続変数のホップフィールド・モデルに対応させることも可能である。
ニューロンの数を10として、完全結合のニューラルネットワークを考える。全てのニューロンの更新に必要な時間を1ms以下とするためには、並列演算を増やすことが望ましい。これには、図15に表した構造が考えられる。コアC(1,1)は、図14に表したように、i=1,2,・・・,1000,j=1,2,・・・,1000に対応するコアである。C(1,2)は、i=1,2,・・・,1000,j=1001,1002,・・・,2000に対応するコアである。C(1,10)は、i=1,2,・・・,1000,j=9001,9002,・・・,10000に対応するコアである。図15に表した長さL6は、例えば1000μmである。長さL7は、例えば150μmである。
それぞれのコアの出力の和を以下の「数11」のように計算し、正負判定することによりx(i=1,2,・・・,1000)を更新する。
Figure 0006817922
さらに、図15に表した構造を10個並べて図16に表したD(1,1)構造を作ることによりニューロンx(i=1,2,・・・,10000)の全てを1ms程度の時間で更新することができる。図16に表した長さL8は、例えば1000μmである。長さL9は、例えば1500μmである。
D(1,1)構造に判定回路や制御回路を設けることで、サイズ数ミリのニューロン数10個の完全結合ニューラルネットワークが得られる。D(1,m)構造を、図16に表したC(1,m)のように並べ、E(1,m)構造を作ることで、サイズ数センチのニューロン数10個の完全結合ニューラルネットワークが得られる。
以上で述べたように、本実施形態では、磁壁移動型素子をニューロンおよびシナプスとして用いる。これにより、大規模で高速な完全結合ニューラルネットワークを、ニューラルネット装置の大型化を抑制しつつ構成することができる。本実施形態では、ニューロン数が、10の例、10の例、および10の例を説明した。本実施形態に係る演算装置は、より大きなニューロン数を含んでいても良い。これにより、さらに大規模なネットワークを構成できる。
図19〜図22は、第6実施形態に係る別の演算装置を例示する模式図である。
演算装置350は、図19に表したハードディスクドライブHを含む。ハードディスクドライブHは、第1磁気トラックMT1および第2磁気トラックMT2を含む。この例では、第1読出部70R1および第2読出部70R2のそれぞれは、図20に表した読出ヘッドRHを含む。第1書込部70W1および第2書込部70W2のそれぞれは、書込ヘッドWHを含む。第1手段75aは、マイクロ波磁場発生装置MGを含む。
読出ヘッドRHは、複数の磁区1dの1つから漏れ出た磁場を検出し、磁化情報を読み出す。書込ヘッドWHは、複数の磁区1dの1つに磁場を印加し、磁化情報を書き込む。マイクロ波磁場発生装置MGは、複数の磁区1dの少なくとも1つに磁化揺らぎを生じさせる。
図21に表したように、本実施形態に係る演算装置350は、ハードディスクドライブHと、半導体装置である積和演算/判定装置(第1演算部81)、コントローラ(制御部60)などを含む。ハードディスクドライブHの第1磁気トラックMT1は、i番目のニューロンの内容xを記憶する。第2磁気トラックMT2は、相互作用(シナプス)行列の(i,j)成分wijの内容を記憶する。
ハードディスクドライブHは、例えば、5枚のディスクを含む。例えば、それぞれのディスクの片面に、1本の磁気トラックが設けられる。この場合、合計10本の独立した磁気トラックがハードディスクドライブHに存在する。例えば、ホップフィールド・モデルの場合には、10本の磁気トラックの1つが、ニューロンxのアップダウンを記録する第1磁気トラックMT1に割り当てられる。例えば、10本の磁気トラックの8つが、シナプス行列wijを記憶する第2磁気トラックMT2に割り当てられる。すなわち、wijを8ビットで表現することができる。扱うニューロン数は、例えば、演算時間(更新時間)を考慮して決定される。例えば、ハードディスクドライブHの転送速度が1Gb/s程度であり、第1磁気トラックMT1が1000個のニューロンを含む場合、1個のニューロンの更新時間は1μs程度、1000個のニューロンの更新時間は1ms程度となる。
ij(i,j=1,2,・・・,1000)の個数は、xの1000倍である。このため、xの初期値とwijは、例えば第1磁気トラックMT1および第2磁気トラックMT2に、図19に表したように書き込まれている。ただし、図19では、簡単のため、wijが1ビットで示されている。
例えば、第1磁気トラックMT1は、第1領域R1および第2領域R2を含む。第2磁気トラックMT2は、第3領域R3および第4領域R4を含む。例えば、第1領域R1および第3領域R3から読み出されたxおよびw1jは、図21の第1演算部81(積和演算/判定装置)に送信される。「数7」および「数8」に従って、hの計算とxの更新が実施される。更新されたxは、第1領域R1と連続した第2領域R2に書き込まれる。第2領域R2および第4領域R4から読み出されたxおよびwijが、積和演算/判定装置においての更新がなされる。更新されたxの第2領域R2への書込みは、その読出し前に行われる必要がある。第1書込部70W1(書込みヘッド(記録ヘッド))は、第1読出部70R1(読出しヘッド(再生ヘッド))の前方に位置していなければならない。これらの操作を繰り返すことにより、順次x(i=1,2、・・・,1000)が更新される。正しい結果(エネルギーの最小値(global minimum))を求めるには、図17に表したようにノイズを加えることが有効である。演算装置350は、第1手段75a(たとえばマイクロ波磁場発生装置)を含んでいても良い。マイクロ波磁場発生装置は、第1磁気トラックMT1の複数の磁区の少なくとも1つに、磁化の共鳴周波数に近い周波数のマイクロ波磁場を照射する。これにより、図17に示したポテンシャル障壁PBを越えることができる。マイクロ波の発生源としては、コストの観点から、スピントルク発振素子が用いられることが望ましい。スピントルク発振素子は、20に表したように、第1読出部70R1(読出ヘッド)と、第1書込部70W1(書込ヘッド)と、の間に設けられることが望ましい。第1手段75aによって生じるノイズの強度は、はじめは強く、更新が進むにつれ弱くすることが望ましい。このため、スピントルク発振素子を流れる電流は可変であることが望ましい。
他の例として、連続変数のホップフィールド・モデルによる演算の場合には、演算装置350は、例えば、ニューロンxのアップダウンを記録する4本の第1磁気トラックMT1と、シナプス行列wijを記憶する4本の第2磁気トラックMT2と、を含む。すなわち、図22に表したように、xおよびwijをそれぞれ4ビットで表現することができる。
以上で説明したように複数のディスクからなるハードディスクドライブHの複数の磁気トラックをニューロンおよびシナプスとして用いて演算を行うことにより、大規模でかつ廉価なニューラルネットワークを構成し、既存のプロセッサが苦手の組合せ最適化問題などに利用することができる。以上で説明した実施形態の例ではニューロン数を1000個とした。ニューロン数は、100個または10000個とすることも可能である。複数のハードディスクドライブHを並列に用いることも可能である。
以上で説明した第6実施形態に係る演算装置では、第1磁気トラックMT1にニューロンを記憶させ、第2磁気トラックMT2にシナプスを記憶させた。これらの演算装置において、第1磁気トラックMT1の一部の領域にニューロンを記憶させ、第1磁気トラックMT1の別の一部の領域にシナプスを記憶させることも可能である。
以上で説明した各実施形態によれば、演算装置または演算システムの大規模化と消費エネルギーの低減が可能となる。
なお、本願明細書において、「垂直」及び「平行」は、厳密な垂直及び厳密な平行だけではなく、例えば製造工程におけるばらつきなどを含むものであり、実質的に垂直及び実質的に平行であれば良い。
以上、具体例を参照しつつ、本発明の実施の形態について説明した。しかし、本発明の実施形態は、これらの具体例に限定されるものではない。例えば、演算装置に含まれる第1磁性部、第2磁性部、非磁性部、第1領域、第2領域、第3領域、書込領域、第1読出部、第2読出部、書込部、演算部、第1配線、第2配線、信号反転部、スイッチ、記憶部、制御部などの各要素の具体的な構成に関しては、当業者が公知の範囲から適宜選択することにより本発明を同様に実施し、同様の効果を得ることができる限り、本発明の範囲に包含される。
また、各具体例のいずれか2つ以上の要素を技術的に可能な範囲で組み合わせたものも、本発明の要旨を包含する限り本発明の範囲に含まれる。
その他、本発明の実施の形態として上述した演算装置および演算システムを基にして、当業者が適宜設計変更して実施し得る全ての演算装置および演算システムも、本発明の要旨を包含する限り、本発明の範囲に属する。
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 第1磁性部、 1d 磁区、 1w 書込領域、 2 第2磁性部、 3 非磁性部、 11 第1領域、 11d 第1磁区、 12 第2領域、 12d 第2磁区、 13 第3領域、 21 第1読出部、 21a 読出磁性層、 21n 読出中間層、 22 第2読出部、 30 書込部、 30a 書込磁性層、 30n 誘電体層、 31 磁場印加部、 32 磁性素子、 32a 第1磁性層、 32b 第2磁性層、 32n 書込中間層、 40 演算部、 41 第1配線、 42 第2配線、 42a 信号反転部、 43 スイッチ、 50 記憶部、 52 第2磁性部、 60 制御部、 61 駆動回路、 70R1 第1読出部、 70R2 第2読出部、 70W1 第1書込部、 70W2 第2書込部、 71a 第1磁性層、 71b 第2磁性層、 71c 第3磁性層、 71d 第4磁性層、 71e 第5磁性層、 71f 第6磁性層、 72a 第1中間層、 72b 第2中間層、 72c 第3中間層、 72d 第4中間層、 72e 第5中間層、 72f 第6中間層、 75a 第1手段、 75b 第2手段、 81 第1演算部、 82 第2演算部、 110〜140、210、310〜350 演算装置、 150 演算ブロック、 L1〜L11 長さ、 MG マイクロ波磁場発生装置、 MT1 第1磁気トラック、 MT2 第2磁気トラック、 PB ポテンシャル障壁、 R1 第1領域、 R2 第2領域、 R3 第3領域、 R4 第4領域、 RH 読出ヘッド、 T1〜T5A 端子、 E 素子、 ST1 第1積層体、 ST2 第2積層体、 ST3 第3積層体、 W 配線、 WH 書込ヘッド

Claims (16)

  1. 第1磁性部と、
    前記第1磁性部の一部の領域の磁化状態に対応した第1信号を出力する第1読出部と、
    記憶部と、
    演算部であって、前記演算部は前記記憶部に記憶された第1情報が第1状態のときに前記第1信号を用いて演算を行い、前記演算部は前記第1情報が第2状態のときに前記第1信号の反転信号を用いて演算を行前記演算部から出力される第2情報は前記記憶部に記憶される、前記演算部と、
    前記第1磁性部の別の一部の領域を、前記第2情報に対応した磁化状態とする書込部と、
    を備えた演算装置。
  2. 前記演算部は、前記第1情報が第3状態のときに、前記第1信号を演算に用いない請求項記載の演算装置。
  3. 前記第1磁性部は、複数の磁区を含み、
    前記第1磁性部の前記一部の領域は、前記複数の磁区の1つを含む請求項1又は2に記載の演算装置。
  4. 制御部をさらに備え、
    前記制御部は、前記第1磁性部に電流を供給し、前記複数の磁区を移動させる請求項記載の演算装置。
  5. 第1領域第2領域、及び前記第1領域と前記第2領域との間に接続された第3領域を含む第1磁性部と、
    前記第1領域の磁化状態に対応した第1信号を出力する第1読出部と、
    前記第2領域の磁化状態に対応した第2信号を出力する第2読出部と、
    記憶部と、
    演算部であって、前記記憶部に記憶された第1情報が第1状態のときに前記第1信号を用いて演算を行い、前記第1情報が第2状態のときに前記第2信号の反転信号を用いて演算を行い、前記演算部から出力される第2情報は前記記憶部に記憶される、前記演算部と、
    前記第3領域の少なくとも一部を、前記第2情報に対応した磁化状態とする書込部と、
    を備えた演算装置。
  6. 第1領域および第2領域を含む第1磁性部と、
    第2磁性部であって、前記第2磁性部の磁化の向きは前記第2領域の磁化の向きと逆である、前記第2磁性部と、
    前記第1領域の磁化状態に対応した第1信号を出力する第1読出部と、
    前記第2領域の磁化状態に対応した第2信号を出力する第2読出部と、
    記憶部と、
    前記記憶部に記憶された第1情報が第1状態のときに前記第1信号を用いて演算を行い、前記第1情報が第2状態のときに前記第2信号を用いて演算を行う演算部と、
    を備えた演算装置。
  7. 前記記憶部は、前記演算部から出力される第2情報を記憶する、請求項記載の演算装置。
  8. 書込部をさらに備え、
    前記第1磁性部は、前記第1領域と前記第2領域との間に接続された第3領域をさらに含み、
    前記書込部は、前記第3領域の少なくとも一部を、前記第2情報に対応した磁化状態とする請求項記載の演算装置。
  9. 第1動作および第2動作を実施する制御部をさらに備え、
    前記第1動作において、前記制御部は、前記第3領域と前記第1領域との間に第1電流を供給し、
    前記第2動作において、前記制御部は、前記第3領域と前記第2領域との間に第2電流を供給する、請求項記載の演算装置。
  10. 前記書込部は、書込磁性層および書込中間層を含み、
    前記書込中間層は、前記書込磁性層と前記第1磁性部との間に設けられた請求項またはに記載の演算装置。
  11. 前記書込部は、磁場印加部および磁性素子を含み、
    前記磁性素子は、第1磁性層、書込中間層、および第2磁性層を含み、
    前記書込中間層は、前記第1磁性層と前記第2磁性層との間に設けられた請求項またはに記載の演算装置。
  12. 前記演算部は、MOS型トランジスタを含む請求項1〜11のいずれか1つに記載の演算装置。
  13. 前記第1磁性部は、レーストラック素子の少なくとも一部、スキルミオン素子の少なくとも一部、またはバブル磁区素子の少なくとも一部である請求項1〜12のいずれか1つに記載の演算装置。
  14. 前記第1磁性部は、ハードディスクの少なくとも一部または磁気テープの少なくとも一部である請求項1〜12のいずれか1つに記載の演算装置。
  15. 前記第1読出部は、第1磁性層および中間層を含み、
    前記中間層は、前記第1磁性部の一部と前記第1磁性層との間に設けられた請求項1〜14のいずれか1つに記載の演算装置。
  16. 複数の演算ブロックであって、前記複数の演算ブロックのそれぞれは、
    第1磁性部と、
    前記第1磁性部の一部の磁化状態に対応した第1信号を出力する第1読出部と、
    記憶部と、
    演算部であって、前記演算部は前記記憶部に記憶された第1情報が第1状態のときに前記第1信号を用いて演算を行い、前記演算部は前記第1情報が第2状態のときに前記第1信号の反転情報を用いて演算を行い、前記演算部から出力される第2情報は前記記憶部に記憶される、前記演算部と、
    前記第1磁性部の別の一部の領域を、前記第2情報に対応した磁化状態とする書込部と、
    を含む、前記複数の演算ブロックと、
    前記複数の第1磁性部と接続された駆動回路と、
    を備えた演算装置。
JP2017222954A 2017-05-18 2017-11-20 演算装置 Active JP6817922B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/924,690 US11169732B2 (en) 2017-05-18 2018-03-19 Computing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017099240 2017-05-18
JP2017099240 2017-05-18

Publications (2)

Publication Number Publication Date
JP2018195285A JP2018195285A (ja) 2018-12-06
JP6817922B2 true JP6817922B2 (ja) 2021-01-20

Family

ID=64571601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017222954A Active JP6817922B2 (ja) 2017-05-18 2017-11-20 演算装置

Country Status (1)

Country Link
JP (1) JP6817922B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6826063B2 (ja) 2018-03-12 2021-02-03 株式会社東芝 演算装置
JP7458960B2 (ja) 2020-11-10 2024-04-01 ルネサスエレクトロニクス株式会社 半導体装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5211462Y1 (ja) * 1974-09-19 1977-03-12
JPH01166389A (ja) * 1987-12-22 1989-06-30 Fujitsu Ltd バブル磁区転送パターン
JP2659285B2 (ja) * 1991-02-20 1997-09-30 シャープ株式会社 半導体装置の製造方法
JP2002341003A (ja) * 2001-05-17 2002-11-27 Jeol Ltd 電子スピン共鳴装置
JP2009230807A (ja) * 2008-03-24 2009-10-08 Fujitsu Ltd 磁気記録装置および磁気記録方法
KR20090127705A (ko) * 2008-06-09 2009-12-14 삼성전자주식회사 라이트 백 루프를 구비하는 마그네틱 레이스트랙메모리장치
KR101466237B1 (ko) * 2008-07-14 2014-12-01 삼성전자주식회사 자구벽 이동을 이용한 정보저장장치 및 그 동작방법
US7626844B1 (en) * 2008-08-22 2009-12-01 International Business Machines Corporation Magnetic racetrack with current-controlled motion of domain walls within an undulating energy landscape
JP5116816B2 (ja) * 2010-07-28 2013-01-09 ルネサスエレクトロニクス株式会社 半導体集積回路装置および磁気メモリ装置
JP5048860B1 (ja) * 2011-08-29 2012-10-17 株式会社日立製作所 磁気記録装置
WO2016006071A1 (ja) * 2014-07-09 2016-01-14 株式会社日立製作所 半導体装置及び情報処理システム
KR102062369B1 (ko) * 2014-10-28 2020-01-03 고쿠리쓰 겐큐 가이하쓰 호징 리가가쿠 겐큐소 자기 소자, 스커미온 메모리, 스커미온 메모리 장치, 스커미온 메모리 탑재 고체 전자 장치, 데이터 기록 장치, 데이터 처리 장치 및 통신 장치

Also Published As

Publication number Publication date
JP2018195285A (ja) 2018-12-06

Similar Documents

Publication Publication Date Title
US11169732B2 (en) Computing device
Grollier et al. Neuromorphic spintronics
Nomura et al. Reservoir computing with dipole-coupled nanomagnets
Sengupta et al. Hybrid spintronic-CMOS spiking neural network with on-chip learning: Devices, circuits, and systems
Fan et al. Hierarchical temporal memory based on spin-neurons and resistive memory for energy-efficient brain-inspired computing
Kurenkov et al. Neuromorphic computing with antiferromagnetic spintronics
Chen et al. Magnetic skyrmion as a spintronic deep learning spiking neuron processor
Rajendran et al. Specifications of nanoscale devices and circuits for neuromorphic computational systems
Wang et al. Fundamental physics and applications of skyrmions: A review
Wang et al. Memristor-based synapse design and training scheme for neuromorphic computing architecture
JP7108987B2 (ja) 情報処理装置及び情報処理方法
US11514301B2 (en) Magnetic domain wall drift for an artificial leaky integrate-and-fire neuron
JP6817922B2 (ja) 演算装置
Chen et al. Spintronic devices for high-density memory and neuromorphic computing–A review
JP2020004313A (ja) 強化学習システム
Das et al. Bilayer-skyrmion-based design of neuron and synapse for spiking neural network
Zand et al. R-DBN: A resistive deep belief network architecture leveraging the intrinsic behavior of probabilistic devices
Ismael Salinas et al. Spintronic materials and devices towards an artificial neural network: accomplishments and the last mile
Cai et al. Unconventional computing based on magnetic tunnel junction
Pagliarini et al. A probabilistic synapse with strained MTJs for spiking neural networks
Ganguly et al. Analog signal processing using stochastic magnets
Singh et al. Design and integration of vertical TFET and memristor for better realization of logical functions
Lv et al. Experimental demonstration of magnetic tunnel junction-based computational random-access memory
Moposita et al. Efficiency of double-barrier magnetic tunnel junction-based digital eNVM array for neuro-inspired computing
CN109521995B (zh) 一种内嵌于忆阻器阵列的逻辑运算装置的计算方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201225

R151 Written notification of patent or utility model registration

Ref document number: 6817922

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151