(57)【要約】 【課題】データの書き込み時の反転確率の変化をデータ記憶に利用する。【解決手段】メモリシステムは、読み書きが可能な複数のメモリセルを有する不揮発メモリと、信号処理経路又は信号処理ノードの重みに応じて、不揮発メモリの書込み電圧の電圧値またはパルス幅の少なくとも一方を制御する書込み電圧制御部と、書込み電圧制御部で制御された書込み電圧を用いて、複数のメモリセルのうち２以上のメモリセル群にデータを書き込む書込み部と、書込み部にてデータを書き込んだときに、メモリセル群の反転確率を検出する反転確率検出部と、検出された反転確率を重みに変換する重み変換部と、を備える。【選択図】図１
2019028569.tif 000002
【特許請求の範囲】
【請求項１】
読み書きが可能な複数のメモリセルを有する不揮発メモリと、
信号処理経路又は信号処理ノードの重みに応じて、前記不揮発メモリの書込み電圧の電圧値またはパルス幅の少なくとも一方を制御する書込み電圧制御部と、
前記書込み電圧制御部で制御された前記書込み電圧を用いて、前記複数のメモリセルのうち２以上のメモリセル群にデータを書き込む書込み部と、
前記書込み部にてデータを書き込んだときに、前記メモリセル群の反転確率を検出する反転確率検出部と、
前記検出された反転確率を重みに変換する重み変換部と、を備える、メモリシステム。
【請求項２】
前記重み変換部で変換された重みと、前記書込み電圧制御部が前記書込み電圧を制御するのに用いた重みと、の差分を検出する差分検出部と、
前記差分に基づいて、前記書込み電圧制御部が前記書込み電圧を制御するのに用いる重みを更新する重み更新部と、を備え、
前記書込み電圧制御部は、前記重み更新部で更新された重みに応じて、前記書込み電圧の電圧値及びパルス幅の少なくとも一方を制御する、請求項１に記載のメモリシステム。
【請求項３】
複数の重みの和を計算する重み和計算部を備え、
前記書込み電圧制御部は、前記重み和計算部にて計算された重みに応じて、前記書込み電圧の電圧値及びパルス幅の少なくとも一方を制御する、請求項１または２に記載のメモリシステム。
【請求項４】
前記不揮発メモリにおける前記反転確率の更新が完了した後に、前記メモリセル群に記憶されたデータを一括して、又は順次に読み出す読み出し部を備える、請求項１乃至３のいずれか一項に記載のメモリシステム。
【請求項５】
前記読み出し部にて読み出したデータに含まれる前記反転確率に応じた重みに所定の信号を乗じる積和演算処理を行う積和演算部を備える、請求項１乃至４のいずれか一項に記載のメモリシステム。
【請求項６】
前記メモリセル群を含むメモリセル領域は、
それぞれ別個の重みに対応する、第１方向に配列された複数の第１配線と、
前記第１方向に交差する第２方向に配列され、重みの値を記憶または読み出すための複数の第２配線と、を有し、
前記書込み部は、前記複数の第１配線のうちいずれかの第１配線が駆動される際には、前記複数の第２配線の一部又は全部に同一の前記書込み電圧を供給する、請求項１乃至５のいずれか一項に記載のメモリシステム。
【請求項７】
前記メモリセル群を含むメモリセル領域は、
それぞれ別個の複数の重みに対応する、第１方向に配列された複数の第１配線と、
前記第１方向に交差する第２方向に配列され、重みの値を記憶または読み出すための複数の第２配線と、
前記複数の第２配線のうち２以上の第２配線の群ごとに設けられる複数の読み出し部と、を有し、
前記書込み部は、前記複数の読み出し部のそれぞれに対応する前記第２配線の群の中から一つずつを一括して選択して、一括して選択した複数の第２配線を一括して駆動して複数のメモリセルのそれぞれに重みのデータを書き込む処理を、前記第２配線の群の中のすべての第２配線を選択するまで繰り返し行い、
前記複数の読み出し部のそれぞれは、前記第２配線の群の中から一つずつを一括して選択して、一括して選択した複数の第２配線に接続された複数のメモリセルから一括して重みのデータを読み出す処理を、前記第２配線の群の中のすべての第２配線を選択するまで繰り返し行う、請求項１乃至３のいずれか一項に記載のメモリシステム。
【請求項８】
読み書きが可能な複数のメモリセルを有する不揮発メモリセルアレイと、
信号処理経路又は信号処理ノードの重みに応じて、前記不揮発メモリセルアレイの書込み電圧の電圧値及びパルス幅の少なくとも一方を制御する書込み電圧制御部と、
前記書込み電圧制御部で制御された前記書込み電圧にて、前記複数のメモリセルのうち２以上のメモリセル群に一括してデータを書き込む書込み部と、
前記書込み部にてデータを書き込んだときに、前記メモリセル群のうち論理が反転したメモリセルの個数の割合を表す反転確率を検出する反転確率検出部と、を備える、半導体記憶装置。
【請求項９】
信号処理経路又は信号処理ノードの重みを含む信号処理ネットワークを構築するネットワーク構築部と、
前記重みを記憶する不揮発メモリと、
前記不揮発メモリから前記重みを読み出して、前記信号処理ネットワークに従って演算処理を行う情報処理部と、を備え、
前記不揮発メモリは、
読み書きが可能な複数のメモリセルと、
前記信号処理ネットワークの重みに応じて、前記不揮発メモリの書込み電圧の電圧値及びパルス幅の少なくとも一方を制御する書込み電圧制御部と、
前記書込み電圧制御部で制御された前記書込み電圧にて、前記複数のメモリセルのうち２以上のメモリセル群に一括してデータを書き込む書込み部と、
前記書込み部にてデータを書き込んだときに、前記メモリセル群のうち論理が反転したメモリセルの個数の割合を表す反転確率を検出する反転確率検出部と、を有する、信号処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリシステム、半導体記憶装置及び信号処理システムに関する。
【背景技術】
【０００２】
最近、人工知能（ＡＩ：Artificial Intelligence）が注目されているが、数多くのデータを用いた学習と、学習結果を用いた演算処理とを行う必要があり、処理量が膨大になる。特に、ＡＩの学習と学習結果の利用の過程では、信号処理経路又は信号処理ノードの重みを用いた演算を多数回行う必要がある。また、ニューラルネットワークなどでは、積和演算も多数回行う必要があり、多数の重みの演算や積和演算等を高速かつ低消費電力で行うハードウェアが求められている。
【０００３】
多数の重みの演算や積和演算等を高速かつ低消費電力で行うには、低消費電力で高速アクセス可能なメモリが必要となる。この種のメモリの候補として、ＭＲＡＭ（Magnetoresistive Random Access Memory）が注目されている。ＭＲＡＭは高い書き換え耐性と、高速に読出しと書込みを行う動作性能と、高集積可能な小セル面積の３つの特徴を同時に満たしうるメモリである。特に、ＭＲＡＭの中でも、ＭＴＪ(Magnetoresistive Tunnel Junction)素子を用いたＳＴＴ−ＭＲＡＭ（Spin Transfer Torque MRAM）と呼ばれる垂直磁気のスピン注入を用いた方式は、書き込み電流と書き込み遅延が非常に小さく、高速動作が可能なため、幅広い応用が期待されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−６２４６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、データの書き込み時の反転確率の変化をデータ記憶に利用するメモリシステム、半導体記憶装置及び信号処理システムを提供するものである。
【課題を解決するための手段】
【０００６】
本実施形態によるメモリシステムは、不揮発メモリと、書込み電圧制御部と、書込み部と、反転確率検出部と、重み変換部とを備えている。不揮発メモリは、読み書きが可能な複数のメモリセルを有する。書込み電圧制御部は、信号処理経路又は信号処理ノードの重みに応じて、前記不揮発メモリの書込み電圧の電圧値またはパルス幅の少なくとも一方を制御する。書込み部は、前記書込み電圧制御部で制御された前記書込み電圧を用いて、前記複数のメモリセルのうち２以上のメモリセル群にデータを書き込む。反転確率検出部は、前記書込み部にてデータを書き込んだときに、前記メモリセル群の反転確率を検出する。重み変換部は、前記検出された反転確率を重みに変換する。
【図面の簡単な説明】
【０００７】
【図１】一実施形態による信号処理システム１の概略構成を示すブロック図。
【図２】不揮発メモリ３及びメモリシステム１０の内部構成を示すブロック図。
【図３】コントローラ１２の内部構成の一例を示すブロック図。
【図４】３６本のワード線と２０本のビット線対を有するメモリセル領域を示す図。
【図５】ビット線の書込み電圧Ｖと反転確率Ｐswとの対応関係を示すグラフ。
【図６Ａ】３×３マス目にて３種類の文字Ｉを表現する例を示す図。
【図６Ｂ】３×３マス目にて３種類の文字Ｃを表現する例を示す図。
【図６Ｃ】３×３マス目にて３種類の文字Ｔを表現する例を示す図。
【図７】図６Ａ〜図６Ｃの重みの和を計算する処理を示す図。
【図８】３６個のシナプスの反転確率の実験結果を示す図。
【図９】図８から３６個のシナプスの反転確率の平均値を求めて、その平均値を１６階調の重みに割り当てた重み変換図。
【図１０Ａ】重みの確認結果を示すグラフ。
【図１０Ｂ】図１０Ａにおける文字の認識結果を示す図。
【図１１Ａ】重みを１回更新した後の重みの確認結果を示すグラフ。
【図１１Ｂ】図１１Ａにおける文字の認識結果を示す図。
【図１２Ａ】図１０Ａ及び図１０Ｂとは異なる欠陥のある重みの確認結果を示すグラフ。
【図１２Ｂ】図１２Ａにおける文字の認識結果を示す図。
【図１３Ａ】η＝０．２の重み更新結果を示す図。
【図１３Ｂ】η＝０．２５の重み更新結果を示す図。
【図１３Ｃ】η＝０．５の重み更新結果を示す図。
【図１３Ｄ】η＝０．８の重み更新結果を示す図。
【図１４Ａ】ビット線の立ち上がりタイミングの検証に利用した回路図。
【図１４Ｂ】シミュレーション結果を示す波形図。
【図１５Ａ】重みをデジタル値でメモリセル領域に記憶する第１例を示す図。
【図１５Ｂ】重みをデジタル値でメモリセル領域に記憶する第２例を示す図。
【図１６】重みをアナログ値、第１例のデジタル値、第２例のデジタル値でそれぞれ記憶する場合の特徴をまとめた図。
【図１７】重みをアナログ値で書き込む場合と第２例のデジタル値で書き込む場合とを比較した図。
【図１８】積和演算を行う積和演算部２３の構成の一例を示す図。
【図１９】キャパシタ２６とカレントミラー回路２９を用いた読み出し方式を示す図。
【図２０】信号処理システム１の処理手順の一例を示すフローチャート。
【図２１】図２０のステップＳ５とＳ６の処理を行う際の動作タイミング図。
【図２２】反転確率が変化する様子を示す実験結果の図。
【図２３】図２０のステップＳ１０の重み更新処理を説明する図。
【図２４】非学習時の処理手順の一例を示すフローチャート。
【図２５】非学習時のデータの流れを示す回路図。
【図２６】deep neural networkの学習過程の処理手順の一例を示すフローチャート。
【図２７】メモリセル領域内に重みをアナログ値として記憶する領域とデジタル値として記憶する領域とを設ける例を示す図。
【図２８】アナログ値で記憶した２つの重みのデータを、一つのワード線にてデジタル値で記憶する例を示す図。
【図２９】フォワード処理とバックワード処理の両方にアナログ値の重みを使用する例を示す図。
【図３０】フォワード処理では重みをデジタル値として記憶し、バックワード処理では重みをアナログ値として記憶する例を示す図。
【図３１Ａ】ビット線バーを共通電位に設定する図。
【図３１Ｂ】ビット線とビット線バーの間に、複数のメモリセル１６を直列接続した図。
【図３２Ａ】パルス幅を制御してメモリセルへの書込みを行う場合のメモリセルの特性を示す図。
【図３２Ｂ】電圧値を制御してメモリセルへの書込みを行う場合のメモリセルの特性を示す図。
【図３３】クロスバー構成のメモリセルアレイを示す図。
【図３４】１本のワード線に接続された１６本のビット線で一つのシナプスを記憶する例を示す図。
【図３５】複数のシナプスを記憶する例を示す図。
【図３６】１本のワード線に繋がる複数のメモリセルにて複数のシナプスを記憶することが可能なメモリセル領域を示す図。
【図３７】１つのワード線の中に複数のシナプスの重みが含まれる第１具体例を示す図。
【図３８】一度の読み出し動作で一つのシナプスの重みを得る例を示す図。
【図３９】センスアンプの回路構成の一例を示す図。
【図４０】センスアンプの後段側の構成を示す図。
【図４１】図４０の一変形例を示す図。
【図４２】信号処理システムを内蔵するＰＣの外観を示す図。
【図４３】ＳＴＴ−ＭＲＡＭの断面構造を示す図。
【図４４】ＳＯＴ−ＭＲＡＭの断面構造を示す図。
【図４５】磁壁移動型メモリの積層体を表す模式図。
【図４６】磁壁移動型メモリの積層体を表す模式図。
【発明を実施するための形態】
【０００８】
以下、図面を参照して実施の形態について説明する。なお、本件明細書と添付図面においては、理解のしやすさと図示の便宜上、一部の構成部分を省略、変更または簡易化して説明および図示しているが、同様の機能を期待し得る程度の技術内容も、本実施の形態に含めて解釈することとする。
【０００９】
図１は一実施形態による信号処理システム１の概略構成を示すブロック図である。図１の信号処理システム１は、ネットワーク構築部２と、不揮発メモリ３と、情報処理部４とを備えている。
【００１０】
ネットワーク構築部２は、信号処理経路又は信号処理ノードの重みを含む種々の信号処理ネットワークを構築する。信号処理ネットワークの具体的な形態は問わない。信号処理ネットワークに含まれる信号処理経路又は信号処理ノードは、シナプスとも呼ばれる。信号処理ネットワークには、複数のシナプスと、各シナプスの固有の重みとが含まれている。重みは、２段階以上の階調で表される値である。階調とは、重みの種類であり、重みの取り得る各値がそれぞれ異なる階調になる。
【００１１】
信号処理ネットワークの代表的な一例は、ニューラルネットワークである。ニューラルネットワークは、人間の神経回路を模擬した数学モデルである。ニューラルネットワークには、Hopfield modelやLocally competitive algorithmなどによるFull-connect型のネットワークが含まれている。また、ニューラルネットワークには、Convolutional neural network、Reccurent neural network、binary neutral network、ternary neutral network等のDeep neural networkも含まれている。
【００１２】
このように、本実施形態による信号処理ネットワークには、種々のニューラルネットワークが適用可能である。また、本実施形態による信号処理ネットワークには、ising modelなどのニューラルネットワーク以外のネットワークも適用可能である。
【００１３】
不揮発メモリ３は、読み書きが可能な複数のメモリセル（不揮発メモリセル）を有する。本実施形態では、各メモリセルを、信号処理ネットワーク上の重みを記憶するために使用する。不揮発メモリ３を使用する理由は、信号処理システム１の電源をオフにしても、重みの情報を不揮発メモリ３に保持しておくためである。これにより、その後に電源をオンにしたときに、電源をオフにする直前に有効であった重みを使用して、信号処理ネットワークを用いた演算処理を継続して実施することができる。
【００１４】
複数のメモリセルは、後述するように、複数のワード線と複数のビット線の方向に沿って二次元配列されている。これらメモリセルが二次元配列された領域は、メモリセルアレイ（不揮発メモリセルアレイ）あるいはメモリセル領域と呼ばれる。
【００１５】
各メモリセルは、例えばＳＴＴ−ＭＲＡＭ（Spin-Transfer Torque Magnetic Tunnel Junction MRAM）である。ＳＴＴ−ＭＲＡＭは、電子のスピン（自転）による磁気モーメントを利用して磁化反転を起こすスピン注入メモリであり、書込み電力や書込み遅延がこれまで研究開発されてきた不揮発性メモリに対し極めて小さいことを特徴とする。ＳＴＴ−ＭＲＡＭは、ＳＲＡＭに匹敵する高速動作（アクセス速度が１０ns以下）と高い書き換え耐性（１０１５以上）を有し、低電力向けのＣＭＯＳロジックプロセスとの高い親和性があり、キャッシュ用途などに適している。不揮発メモリ３の詳細については、後述する。
【００１６】
情報処理部４は、不揮発メモリ３から重みを読み出して、読み出した重みを信号処理ネットワークに適応させて、信号処理ネットワークに応じた演算処理を行う。これにより、信号処理ネットワークの処理を少なくとも一部はハードウェアを利用して実行でき、すべてをソフトウェア処理で実行するよりも、短時間で煩雑な演算処理結果を得ることができる。
【００１７】
図２は不揮発メモリ３及びメモリシステム１０の内部構成を示すブロック図である。図２は、不揮発メモリ３及びメモリシステム１０内の要部のブロック構成を示している。図２では、本実施形態の動作に関係のないブロックの図示を省略している。
【００１８】
図２の不揮発メモリ３及びメモリシステム１０は、メモリセルアレイ１１と、コントローラ１２と、コマンドデコーダ１３と、アドレスレジスタ１４と、Ｉ／Ｏバッファ１５とを備えている。図２のすべての構成部分がワンチップ化される場合には、不揮発メモリ３とメモリシステム１０は同一構成となる。図２のメモリセルアレイ１１とその周辺の一部が不揮発メモリ３としてワンチップ化され、その他の構成部分が別チップとなる場合は、不揮発メモリ３のチップと別チップを合わせたものがメモリシステム１０になる。
【００１９】
メモリセルアレイ１１は、複数のワード線（第１配線）と、各ワード線に交差する複数のビット線（第２配線）とに沿って二次元配列された複数のメモリセル（不揮発メモリセル）１６を有する。各メモリセル１６は、例えば、トランジスタ１６ａと抵抗変化型素子１６ｂとを有する。なお、メモリセル１６の内部構成は任意である。
【００２０】
ワード線の駆動は、ロウデコーダ１７とワード線ドライバ１８によって行われる。ビット線にはセンスアンプ１９が接続され、センスアンプ１９でセンスされたデータはデータラッチ２０でいったんラッチされた後にコントローラ１２に送られる。また、任意のメモリセル１６に書き込むべきデータは、カラムデコーダ２１を介してビット線に供給される。
【００２１】
なお、センスアンプ１９を用いてメモリセル１６のデータを読み出す以外に、後述するように、電流和回路などを用いて読み出してもよい。本実施形態では、メモリセル１６のデータをビット線を介して読み出す回路を総称して読み出し部２２と呼ぶ。
【００２２】
読み出し部２２は、複数のビット線の電圧または複数のビット線を流れる電流を積算して、その積算値によって、反転確率の値を判別してもよい。あるいは、各ビット線が０か１かを判別して、０のビットの数と１のビットの数との比較により、反転確率を判別してもよい。
【００２３】
読み出し部２２には、積和演算部２３が接続されていてもよい。積和演算部２３は、後述するように、読み出し部２２で読み出したデータを用いて積和演算処理を行う。積和演算部２３が積和演算処理をした結果は、例えばコントローラ１２に送られる。
【００２４】
図２において、ビット線のセンスアンプ１９とは反対側には、書込み部２４が設けられている。書込み部２４は、後述するコントローラ１２で電圧値及びパルス幅の少なくとも一方を制御した書込み電圧を、対応するビット線に供給してビット線を駆動する。本実施形態は、２本以上のビット線に対して、同一電圧レベルの書込み電圧を同時に供給して、複数のビット線を同時に駆動する。
【００２５】
不揮発メモリ３は、不図示のプロセッサからのアクセス要求に従って、データの書き込み又は読み出しを行う。不図示のプロセッサが発行したコマンド、アドレス及びデータは、Ｉ／Ｏバッファ１５に入力される。Ｉ／Ｏバッファ１５を経由したプロセッサからのコマンドはコマンドデコーダ１３でデコードされた後にコントローラ１２に入力される。Ｉ／Ｏバッファ１５を経由したプロセッサからのアドレスはアドレスレジスタ１４に入力される。アドレスレジスタ１４は、ロウアドレスをロウデコーダ１７に送り、カラムアドレスをカラムデコーダ２１に送る。Ｉ／Ｏバッファ１５を経由したデータ（書込みデータ）は書込み部２４に送られる。
【００２６】
コントローラ１２は、メモリシステム１０内の各部の制御を行う。図３はコントローラ１２の内部構成の一例を示すブロック図である。図３に示すように、コントローラ１２は、書込み電圧制御部３１と、反転確率検出部３２と、重み変換部３３と、差分検出部３４と、重み更新部３５と、重み和計算部３６とを有する。
【００２７】
書込み電圧制御部３１は、信号処理経路又は信号処理ノードの重みに応じて、不揮発メモリ３の書込み電圧の電圧値及びパルス幅の少なくとも一方を制御する。反転確率検出部３２は、書込み電圧制御部３１にてデータを書き込んだときに、一群のメモリセル１６のうち論理が反転したメモリセル１６の個数の割合を表す反転確率を検出する。重み変換部３３は、検出された反転確率を重みに変換する。
【００２８】
書込み電圧制御部３１、反転確率検出部３２及び重み変換部３３は、必須の構成部分であるのに対し、差分検出部３４と重み更新部３５は、重みの更新を行う場合に必要となるものである。
【００２９】
差分検出部３４は、重み変換部３３で変換された重みと、書込み電圧制御部３１が書込みパルスを制御するのに用いた重みとの差分を検出する。重み更新部３５は、差分に基づいて、書込み電圧制御部３１が書込みパルスを制御するのに用いる重みを更新する。
【００３０】
重み和計算部３６は、複数の重みの和を計算する。重み和計算部３６は、複数の重みを合成した重みを不揮発メモリ３に記憶する際に必要となる。この場合、書込み電圧制御部３１は、重み和計算部３６にて計算された重みに応じて、書込み電圧の電圧値及びパルス幅の少なくとも一方を制御する。
【００３１】
次に、縦横３×３マス目内の文字を連想するための信号処理ネットワークとして、Hopfield modelを利用する例を説明する。Hopfield modelは、各信号処理ノードが他のすべての信号処理ノードとの信号処理経路（シナプス）を有し、各信号処理経路に固有の重みが設定されているネットワークモデルである。ここでは、図４に示すように、３６本のワード線ＷＬ０〜ＷＯ３５と、２０本のビット線対ＢＬ０、／ＢＬ０〜ＢＬ１９、／ＢＬ１９とを含む不揮発メモリ３内のメモリセル領域を使用するものとする。メモリセル１６は、例えば垂直磁化方式のＭＴＪ素子を含んでいる。ＭＴＪ素子は、書換耐性と書込みの高速性に優れたＳＴＴ−ＭＲＡＭである。なお、メモリセル１６はＭＴＪ素子以外のセル構造であってもよい。
【００３２】
図４における各ワード線に接続された２０個のメモリセル１６は、一つのシナプスの重みを記憶する。よって、図４のメモリセル領域は、３６個のシナプスの重みを記憶することになる。
【００３３】
図２に示すロウデコーダ１７は、３６本のワード線のうち任意の１つのワード線を駆動する。このとき、ワード線の駆動電位は、予め定めた電位に設定される。また、駆動状態のワード線に接続された全メモリセル１６に接続された少なくとも一部のビット線には、対応するシナプスの重みの値に応じた電圧値およびパルス幅の少なくとも一方の書込み電圧が供給される。
【００３４】
駆動するビット線の種類は、カラムデコーダ２１によって選択される。後述するように、図４に示すメモリセル領域にアナログ値で重みを書き込む場合には、カラムデコーダ２１は２０本のビット線のすべてを選択する。そして、書込み部２４は、２０本のビット線を同一電圧に同時に駆動して、このワード線に接続された２０個のメモリセル１６に同時にデータ書込みを行う。書込み部２４が２０本のビット線に供給する書込み電圧は、重みの値（階調）に依存した電圧である。あるいは、書込み部２４は、２０本のビット線に供給する書込み電圧を共通の電圧レベルにして、書込み電圧のパルス幅、すなわち各ビット線に書込み電圧を供給する時間を重みの値に応じて可変させてもよい。
【００３５】
本実施形態では、２０個のメモリセル１６のうち、データが正しく書き込まれて論理が反転したメモリセル１６の個数の割合を反転確率と定義する。この反転確率は、対応するシナプスの重みに関連づけられている。２０個のメモリセル１６があるため、反転確率は２０通り存在することになり、重みは２０階調で表現することができる。書込み電圧が高いほど、反転確率は上昇する。例えば、重みが大きいほど書込み電圧を高くすることで、重みに応じて反転確率を可変させることができる。
【００３６】
図５はビット線の書込み電圧Ｖと反転確率Ｐswとの対応関係を示すグラフである。図５のグラフは、重み及び反転確率Ｐswが最大及び最小付近では非線形な特性であるが、それ以外は線形な特性である。非線形な特性の領域では、書込み電圧を変えても、それほど重みや反転確率が変化しないため、本実施形態では、線形な特性の領域を用いて、書込み電圧を、重み及び反転確率に対応づける。重みの階調数は例えば１６階調とし、各階調に応じた書込み電圧を設定する。この場合、反転確率は１６個のメモリセル１６内の割合として求められるため、各メモリセル１６が持つばらつきが平均化され、ばらつきの影響を受けにくくなる。
【００３７】
Hopfield modelでは、信号処理ネットワーク全体のエネルギＥを以下の（１）式のように定義する。
【００３８】
【数１】
2019028569.tif 000003
【００３９】
Ｗijは、信号処理ノードｉからｊへの信号処理経路（シナプス）の重みである。信号処理ノードｉ＝ｊの場合の重みＷij＝０である。ｉとｊが異なる場合、Ｗij＝Ｗjiである。ｘiは＋１か−１であり、(Ｘi)2は常に１である。よって、（１）式のエネルギ関数を最小にする重みは、以下の（２）式で表される。
Ｗij＝ＸiＸj    …（２）
【００４０】
図６Ａ、図６Ｂ及び図６Ｃは３×３マス目にて３種類の文字Ｉ、Ｃ、Ｔを表現する例を示している。これらの図では、３×３マス目内で各文字を特徴づけるマス目を＋１、それ以外のマス目を−１としている。各文字を表現するには、３×３マス目内の特定の一つのマス目と、それ以外の８つのマス目との対応関係をそれぞれ重みで表せばよい。図６Ａ〜図６Ｃの各右側には、各３×３マス目内の任意の２つのマス目の対応関係の重みを示す表が記載されている。これらの表では、同じマス目同士の重みをゼロとし、マス目ｉとマス目ｊの重みＷijが、マス目ｊとマス目ｉの重みＷjiに等しいとしているため、有効な重みは３６個存在する。各重みは、（２）式に示すように、対応づけられる２つの領域の値同士の乗算で求められる。
【００４１】
各文字の３６個の重みは、３６本のワード線を用いて図４に示すメモリセル領域に記憶することができる。３つの文字を別々のメモリセル領域に記憶してもよいが、その場合、３６×３＝１０８本のワード線を必要とする。
【００４２】
３つの文字を表す各３６個の重みを合成してからメモリセル領域に記憶することも可能である。図７は図６Ａ〜図６Ｃの重みの和を計算する処理を示す図である。図７では、３つの文字を表す各３６個の重みを、各重みごとに足し合わせた結果を示している。この結果、図７に示すように、重みＷi＝−３が５回、重みＷi＝−１が１１回、重みＷi＝＋１が１５回、重みＷi＝＋３が５回それぞれ出現する。
【００４３】
このように、３種類の文字Ｉ、Ｃ、Ｔを正しく表現する重みＷiは、−３，−１，＋１，＋３の４種類となり、重みの更新まで含めて考えると、重みを表す値の範囲は−４〜＋４である。文字を精度よく表現するには、０．５ステップの重みを設けるのが望ましい。
【００４４】
図８は３６個のシナプスの反転確率の実験結果を示す図である。図８の横軸はワード線とビット線を立ち上げた時にＭＴＪ素子に印加される電圧Ｖmtj、縦軸は反転確率Ｐswである。図８の実験は、図４に示すように、３６本のワード線のそれぞれに２０個のメモリセル１６が接続されており、各メモリセル１６としてＭＴＪ素子を用いた例を示している。図８は、ワード線電圧を変化させたときの各メモリセル１６の反転確率のばらつき具合を示している。
【００４５】
図９は、図８から３６個のシナプスの反転確率の平均値を求めて、その平均値を１６階調の重みに割り当てた重み変換図である。図９の横軸は反転確率Ｐsw、縦軸は重みＷjである。例えば０．５Ｖで書込みを行うと、３６個のシナプスの反転確率の平均値は０．８となる。図９では、反転確率０．８は重みの１．５に対応させている。重み変換部３３は、図９のような重み変換図に基づいて、反転確率を重みに変換する。
【００４６】
各重みに対応するビット線電圧にて、図７の各重みを３６本のワード線に繋がる各メモリセル領域に書き込んだ後に、各メモリセル１６の記憶データを読み出して、図９の重み変換図に従って、反転確率を重みに変換した上で、その重みを確認した。図１０Ａ及び図１０Ｂは重みの確認結果を示す図である。図１０Ａは横軸が反転確率Ｐsw、縦軸が頻度を示している。理想的には、上述したように、重みＷi＝−３が５回、重みＷi＝−１が１１回、重みＷi＝＋１が１５回、重みＷi＝＋３が５回それぞれ出現するはずであるが、実際には、違う値の重みも出現しており、頻度も理想的な回数とは異なっている。
【００４７】
図１０Ｂは各メモリセル１６から読み出したデータを用いて３×３マス目内に文字を表現させた図である。文字Ｉは正しく表現できたが、文字ＣとＴは一部のマス目の値が異なっているために、正しく表現できなかった。
【００４８】
そこで、正しい重みと現在記憶されている重みとの差分を算出し、算出した差分に更新係数ηを乗じた重みを再びメモリセル１６に記憶するのに必要な書込み電圧を求めて、その書込み電圧を対応するビット線に供給して、記憶されている重みを更新した。そして、重み更新後の各メモリセル１６の記憶データを再度読み出して、重みを確認した。
【００４９】
図１１Ａ及び図１１Ｂは重みを１回更新した後の重みの確認結果を示す図である。図１１Ａの薄色の棒グラフは更新前の重みの値と頻度を示し、濃色の棒グラフは更新後の重みの値と頻度を示している。重みＷi＝−１と＋１の頻度が増加しており、理想的な重みの値に近づいたことがわかる。
【００５０】
図１１Ｂは各メモリセル１６から読み出したデータを用いて３×３マス目内に文字を表現させた図である。文字Ｉ、Ｃ、Ｔのいずれも正しく表現できている。
【００５１】
図１２Ａ及び図１２Ｂは、図１０Ａ及び図１０Ｂとは異なる欠陥のある重みが記憶されたメモリセル領域に対して、重みの更新を１回行った後に、各メモリセル１６の記憶データを再度読み出して、重みの確認を行った結果を示す図である。図１２Ａに示すように、重みの値と頻度は理想的な値に近づき、図１２Ｂに示すように３×３マス目にも正しく文字を表現できている。
【００５２】
このように、本実施形態による不揮発メモリ３を用いれば、重みの値と頻度は、理想的な値には完全には一致しなくても、ロバスト性をもって文字連想ができることがわかる。
【００５３】
重みを更新する際に用いる更新係数ηは、重みの階調数に依存する。例えば、重みの階調が０．５ステップである場合、更新係数ηは重みの更新値が四捨五入して桁上がりができる値以上であることが必要である。図１３Ａ〜図１３Ｄは更新係数ηの値を種々に変更した例を示している。更新係数η＝０．２の場合は、図１３Ａに示すように、重みの更新前後で重みの値と頻度はほとんど変わっておらず、重みの更新に失敗している。一方、更新係数ηが０．２５以上では、図１３Ａ〜図１３Ｄに示すように、程度に差はあるものの、重みの更新に成功している。更新係数ηが小さいほど、重みの更新幅はわずかであるが、文字は正しく表現できていた。このように、更新係数ηが０．２５以上であれば、１回の重みの更新で、文字の連想に成功した。これは、本メモリシステム１０がロバスト性を有することを意味している。
【００５４】
上述したように、本実施形態では、ワード線を駆動する前後に、２０本のビット線に同じ電圧値からなる書込み電圧を供給して、２０個のメモリセル領域に同時に同じデータを書き込んでいる。この場合、ビット線電圧が低下するなどの不具合が予想される。この不具合を検証するために、ワード線とビット線に配線容量を付加し、図１４Ａに示すビット線ＢＬ１、ＢＬ１０、ＢＬ２０の立ち上がりのタイミングに遅延が生じるか否かをシミュレーションで検証した。
【００５５】
図１４Ｂはシミュレーション結果を示す波形図である。図１４Ｂの横軸は時間、縦軸はビット線ＢＬ１、ＢＬ１０、ＢＬ２０の電圧である。図１４Ｂによれば、これら３つのビット線の波形が重なっており、各ビット線の電圧が立ち上がるタイミングにずれがないことがわかる。
【００５６】
このように、本実施形態では、ワード線を駆動する前後に、複数のビット線に同じ電圧値の書込み電圧を供給して、複数のメモリセル１６に同時に同じデータを書き込むが、このような書込み方式を採用しても、各メモリセル１６への書込みタイミングがずれるおそれはないし、書込み電圧の低下も生じない。また、本実施形態によれば、同一のワード線上に接続された複数のメモリセル１６に同時にデータを書き込めるため、重みの記憶および更新を高速に行うことができる。
【００５７】
上述した例では、重みをアナログ値でメモリセル領域に記憶したが、本実施形態によるメモリシステム１０は、重みを、アナログ値よりもビット数の少ないデジタル値でメモリセル領域に記憶することもできる。
【００５８】
図１５Ａは重みをデジタル値でメモリセル領域に記憶する第１例を示す図である。第１例では、１６階調の重みを４ビットのデジタル値で表現する。第１例のデジタル値は、図１５Ａに示すように、００００〜１１１１までの計１６通りある。第１例では、共通のワード線に接続された４つのメモリセル１６を用いて１６階調の重みを記憶する。上述したアナログ値で重みを記憶する場合には、２０本のビット線を用いて１６階調の重みを記憶したが、第１例のデジタル値は、わずか４本のビット線を用いて１６階調の重みを記憶できる。
【００５９】
図１５Ｂは重みをデジタル値でメモリセル領域に記憶する第２例を示す図である。第２例では、１６階調の重みを１６ビットのデジタル値で表現する。各階調毎に、１６ビット中の値０と値１の数が一つずつ変化する。第２例では、共通のワード線に接続された１６個のメモリセル１６を用いて１６階調の重みを記憶する。
【００６０】
図１６は、重みをアナログ値、第１例のデジタル値、第２例のデジタル値でそれぞれ記憶する場合の特徴をまとめた図である。重みをアナログ値で書き込む場合は、２０メモリセル×３６ワード線＝７２０個のメモリセル１６が必要となる。重みを第１例のデジタル値で書き込む場合は、４メモリセル×３６ワード線＝１４４個のメモリセル１６が必要となる。重みを第２例のデジタル値で書き込む場合は、１６メモリセル×３６ワード線＝５７６個のメモリセル１６が必要となる。このように、第１例のデジタル値の重みが最も面積効率がよく、次に第２例のデジタル値の重みが面積効率がよく、アナログ値の重みが最も面積効率が悪い。
【００６１】
重みをアナログ値で記憶する場合、上述したように、１６階調の重みを２０個のメモリセル１６に記憶し、反転確率が０．１〜０．９の範囲内の値となるような書込み電圧を主に用いることになる。この場合、反転確率が０．５の前後に分布するようになる。反転確率が０．５となる電圧が閾値電圧Ｖcである。閾値電圧Ｖcは、重みをアナログ値で記憶する場合の平均的な動作点であるとも言える。よって、重みをアナログ値で記憶する場合には、ワード線電圧を低く抑えることができ、消費電力を削減できる。
【００６２】
第１例のデジタル値の場合、４ビットしかなく、重みの記憶に用いるメモリセル領域の面積を、アナログ値で重みを記憶するよりも大幅に削減できる。しかしながら、例えば４ビットのうち１ビットの値が正しく記憶されない場合には、読み出された重みは大きく異なる値になる。このため、第１例のデジタル値の場合は、ビット線に供給する書込み電圧の電圧値を大きくするか、書込みパルス幅を長くして、誤書込みが起きないようにする必要がある。ところが、書込み電圧の電圧値を大きくしたり、書込みパルス幅を長くすると、消費電力が増大する要因になる。あるいは、エラー訂正（ＥＣＣ）を設けて、書込み後にベリファイを行う方法もあるが、この工程を書込みの度に設ける必要がある。これは動作速度を低減させる要因となる。また、ＥＣＣでエラー訂正を行う回路を設けることとなり、回路面積の観点、並びに回路へアクセスするためのレイテンシーの観点でオーバーヘッドとなる。
【００６３】
第２例のデジタル値は１６ビットあり、１６ビットのうち１ビットの値が正しく記憶されない場合には、重みが１段階ずれるだけであり、誤書込みの許容度は広くなる。しかしながら、重みをアナログ値で書き込む場合よりは、書込み電圧の電圧値を大きくしたり、書込みパルス幅を長くする必要があるため、消費電力は約３０％増となりうる。その代わり、第２例のデジタル値で重みを書き込む場合は、アナログ値で重みを書き込む場合よりも、メモリセル領域の面積を約２０％削減できる。
【００６４】
一方、重みをアナログ値で書き込む場合は、第１例又は第２例のデジタル値で書き込む場合よりも、書込み時の消費電力を平均的に下げることができる。これは、書込み耐性が改善することを意味し、メモリセル１６が破壊しにくくなってロバスト性が向上するとともに、冗長回路を削減できる。第２例のデジタル値で書き込む場合は、アナログ値で書き込む場合よりも約２０％のメモリセル領域を削減できるが、冗長回路が余計に必要となるため、実質的な面積効率は同程度になりうる。
【００６５】
図１７は重みをアナログ値で書き込む場合と第２例のデジタル値で書き込む場合とを比較した図である。図１７は書込み電圧の電圧値を制御してメモリセル１６に重みを書き込む例を示している。重みをアナログ値で書き込む場合の平均的な書込み電圧は０．５Ｖであるのに対して、第２例のデジタル値で書き込む場合の書込み電圧は、０．５Ｖの１．６倍以上の電圧値になる。これは、第２例のデジタル値で重みを書き込む場合の動作点は、反転確率が１になるときの書込み電圧となるためである。このように、重みをアナログ値で書き込む場合には、書込み電圧を平均的に下げられるため、書込み耐性が向上し、冗長回路も削減できる。
【００６６】
以上では、Full-connect型のHopfield modelを用いた信号処理ネットワークの例を示したが、deep neural networkにおける重みを上述した手法でメモリセル領域に記憶することもできる。deep neural networkでは、重みを用いた積和演算が行われる。
【００６７】
図１８は積和演算を行う積和演算部２３の構成の一例を示す図である。図１８は、カラム方向に例えば１０個のメモリセル１６を配置し、重みを１０階調で表現する例を示している。図１８におけるワード線方向のシナプス数は例えば４０とする。特定のシナプスの重みを読み出した場合は、その重みＷiをトランジスタ２５のドレイン（又はソース）に入力し、このトランジスタ２５のゲート電圧をＸiとする。ゲート電圧Ｘiは、２値のデジタル値である。これにより、トランジスタ２５のソース（又はドレイン）からは、重みＷiとＸiを乗算した値Ｗi＊Ｘiが出力される。なお、トランジスタ２５のドレイン（又はソース）に入力される重みがアナログ値の場合には、トランジスタ２５は一個でよいが、読み出した１０階調の重みをアナログ値に変換するＤ／Ａ変換器をトランジスタ２５の前段側に設ける等の構成が考えられる。一方、トランジスタ２５のドレイン（又はソース）に入力される重みがデジタル値の場合には、Ｄ／Ａ変換器は不要であるが、重みの階調数分のトランジスタ２５を設ける等の構成が考えられる。
【００６８】
メモリセル領域に記憶された重みを読み出す読み出し部２２の読み出し方は任意であり、例えばセンスアンプ１９方式や電流和回路を用いてもよい。センスアンプ１９方式の場合、メモリセル領域内の各ビット線とセンスアンプ１９の間に不図示のスイッチ回路を設けて、スイッチ回路をオン／オフすることで、読み出すビット線を順次つなぎ替えてもよい。あるいは、ビット線が並ぶ方向に複数のセンスアンプ１９を設けて、各センスアンプ１９が並列に読み出し動作を行ってもよい。
【００６９】
図１９はキャパシタ２６とカレントミラー回路２９を用いた読み出し方式を示す図である。図１９のキャパシタ２６は、各ビット線から順に読み出したデータに応じた電荷を蓄積する。キャパシタ２６の接地側には、スイッチ回路２７と、抵抗２８と、カレントミラー回路２９が接続されている。スイッチ回路２７は、キャパシタ２６の電荷蓄積が完了した状態でオンする。これにより、キャパシタ２６の蓄積電荷に応じた電流が抵抗を介してカレントミラー回路２９に流れる。カレントミラー回路２９は、一対のトランジスタ２９ａ、２９ｂを有し、これらトランジスタ２９ａ、２９ｂのサイズを変えることで、電流増幅を行うことができる。また、キャパシタ２６が実質的にＤ／Ａ変換動作を行うため、Ｄ／Ａ変換器を省略できる。このように、図１９の読み出し方式によれば、電力効率と面積効率を向上できる。
【００７０】
図２０はHopfield model等のFull-connect型のネットワークにおける重みをメモリセル領域に記憶する際の信号処理システム１の処理手順の一例を示すフローチャートである。まず、例えば（１）式に示すエネルギ関数を最小とする重みを計算する（ステップＳ１）。次に、合成するべき他の重みがあるか否かを判定する（ステップＳ２）。他の重みがある場合には、ステップＳ１〜Ｓ２の処理を繰り返す。
【００７１】
すべての重みについて、ステップＳ１の処理が終了した場合には、すべての重みの和を計算する（ステップＳ３）。次に、計算した重みの和に応じて、書込み電圧の電圧値及びパルス幅の少なくとも一方を制御する（ステップＳ４）。
【００７２】
次に、各シナプスの重みをメモリセル領域に書き込む（ステップＳ５）。例えば重みをアナログ値で書き込む場合には、ワード線を駆動する前後に、ステップＳ４で制御した書込み電圧をメモリセル領域内の全ビット線に供給して、各ビット線を同時に駆動する。一方、重みをデジタル値で書き込む場合には、ワード線を駆動する前後に、ステップＳ４で制御した書込み電圧を、デジタル値の書込みに使用する全ビット線に供給して、これらビット線を駆動する。
【００７３】
メモリセル領域への重みの記憶が完了すると、次に、メモリセル領域に記憶した重みを順に読み出す（ステップＳ６）。このとき、全ビット線を所定の電圧にプリチャージした状態で、シナプスに対応するワード線を順に駆動して、ビット線方向の全メモリセル１６のデータを読み出す。
【００７４】
次に、読み出したデータを重みに変換する（ステップＳ７）。次に、メモリセル領域に記憶する前の重みＷiと読み出した重みＷi-readとの差分を計算し、差分に更新係数ηを乗じる（ステップＳ８）。そして、ステップＳ８で計算した値に応じて、書込み電圧の電圧値及びパルス幅の少なくとも一方を制御し（ステップＳ９）、この書込み電圧を各ビット線に供給して、メモリセル領域内の重みデータを更新する（ステップＳ１０）。
【００７５】
なお、重みをメモリセル領域に書き込む際に、先にワード線を駆動した後に、ビット線に重みに応じた書込み電圧を供給してもよいし、ビット線に重みに応じた書込み電圧を供給した後に、ワード線を駆動してもよい。
【００７６】
図２１は図２０のステップＳ５とＳ６の処理を行う際の動作タイミング図である。図２１は、ワード線の駆動期間を７ｎｓに設定する例を示している。図２１では、ステップＳ５とＳ６の双方とも、ビット線に書込み電圧あるいはプリチャージ電圧を供給した後に、ワード線を駆動する例を示している。ビット線のプリチャージ電圧は、ワード線に接続された全メモリセル１６の全ビット線において同一である。図２１とは逆に、ワード線を駆動してから、ビット線に書込み電圧やプリチャージ電圧を供給してもよい。なお、図２１とは逆に、ワード線電圧を駆動した後に、ビット線電圧を駆動してもよい。
【００７７】
上述したように、重みの値に応じて、書込み電圧の電圧値を制御してもよいし、書込み電圧のパルス幅を制御してもよい。図２２は、書込み電圧を０．４５Ｖ固定として、パルス幅を３〜１６ｎｓの範囲内で変化させた場合に反転確率が変化する様子を示す実験結果の図である。図２２の横軸は書込み電圧のパルス幅［ｎｓ］、縦軸は反転確率Ｐswである。図２２には、複数の曲線が描かれているが、各曲線は、３６個のシナプスを表している。各シナプスは構成されるＭＴＪ素子のバラつきを反映して分布している。図示のように、パルス幅により、反転確率が変化するのがわかる。よって、書込み電圧の電圧値を制御する代わりに、パルス幅を制御してもよい。あるいは、書込み電圧の電圧値とパルス幅の両方を制御してもよい。
【００７８】
図２０のステップＳ６においてメモリセル領域からデータを読み出す方式は、上述したように、全ビット線のデータを同時に読み出して、読み出したデータに応じた電荷をキャパシタに蓄積して、カレントミラー回路で読み出してもよい。あるいは、全ビット線のデータを同時に読み出して、電流の和を積算する回路を用いて読み出してもよい。あるいは、各ビット線とセンスアンプ１９との間にスイッチ群を設けて、スイッチ群を順次に切り替えて、各ビット線のデータを順次に読み出してセンスアンプ１９でセンスしてもよい。
【００７９】
図２３は図２０のステップＳ１０の重み更新処理を説明する図である。図２０のステップＳ８で計算された更新値に基づいて、ビット線に供給されるべき書込み電圧の電圧値及びパルス幅の少なくとも一方を制御する。そして、制御した書込み電圧にて全ビット線をプリチャージした状態で、ワード線に所定の電圧を供給してワード線を駆動して、このワード線に接続された全メモリセル１６へのデータ書込みを行う。これが図２３の重みの割当に該当する。次に、全ビット線をプリチャージした状態で、対応するワード線を所定の読み出し電圧に設定して、メモリセル１６に記憶したデータを読み出す。図２３は、センスアンプ１９で各ビット線を流れる電流の和を求めて、電圧に変換して重みの階調をアナログ値で得る手法を示している。
【００８０】
Deep neural networkには、適した推論や連想等を行えるようにシナプスに重みを学習させる段階と、推論や連想等を行う段階、すなわち非学習時とがある。図２４は非学習時の処理手順の一例を示すフローチャート、図２５は非学習時のデータの流れを示す回路図である。
【００８１】
まず、重みの初期値をシナプスに割り当てる（ステップＳ１１）。ここで、初期値とは、ランダムな値であってもよい。また、初期値は、教師データありの学習のように、訓練データを用いて予め導出された重みであってもよい。
【００８２】
次に、ビット線をプリチャージし（ステップＳ１２）、特定のワード線を所定の読み出し電圧に設定して、このワード線を駆動する（ステップＳ１３）。これにより、メモリセル領域に記憶された重みに応じたデータがセンスアンプ１９や電流和回路等を介して、最終的にアナログ電圧値として読み出される。
【００８３】
読み出されたアナログ電圧値は、図２５に示すように、積和演算部２３内のトランジスタのドレイン（又はソース）に入力される（ステップＳ１４）。図２５では、読み出したデータに応じた電荷をいったんキャパシタ２６に蓄積し、キャパシタ２６の両端間のアナログ電圧値をトランジスタ２５のドレイン（又はソース）に入力する例を示している。
【００８４】
なお、キャパシタ２６と抵抗を設けずに、メモリセル領域から読み出したデータをトランジスタのドレイン（又はソース）に直接入力してもよい。
【００８５】
次に、トランジスタのゲート電圧Ｘiを０または１に設定するか、あるいはゲート電圧をアナログ階調電圧に設定することで、重みとトランジスタのゲート電圧との積和演算ＷiＸiを行った結果がトランジスタのソース（又はドレイン）から得られる（ステップＳ１５）。
【００８６】
図２６はdeep neural networkの学習過程の処理手順の一例を示すフローチャートである。入力のニューロンに与えられた信号にシナプスを作用させて出力を得る処理過程はフォワードプロセスと呼ばれることがある。フォワードプロセスでは、重みをアナログ値として作用する場合と、デジタル値として作用する場合がある。デジタル値で作用する場合は、電流和回路やセンスアンプ１９回路の出力の際に２値化させる。図２６のステップＳ２１〜Ｓ２５は図２４のステップＳ１１〜Ｓ１５と基本的には同じである。ステップＳ２１では例えば、deep neural networkの入力層から出力層に至るまでのすべての信号経路での重みを初期として不揮発メモリ３に記憶しておく。入力層から出力層にかけての各信号処理経路において、ステップＳ２２〜Ｓ２５の処理を順に繰り返す。例えば、ステップＳ２４とＳ２５では、各信号処理経路ごとに、不揮発メモリ３から読み出した重みを用いて積和演算を行う。ステップＳ２５で積和演算処理が終了すると、出力層から出力が得られたか否かを判定する（ステップＳ２６）。Ｓ２２からＳ２５の処理を繰り返すのは，例えば中間層（隠れ層）が複数ある場合である。まだ、出力層から出力が得られていなければ、ステップＳ２２に戻って、次の信号処理経路について、ステップＳ２２〜Ｓ２６の処理を繰り返す。
【００８７】
ステップＳ２６にて、出力層から出力が得られたと判定された場合は、出力層の出力を教師データと比較する（ステップＳ２７）。比較をした結果、重みの更新が必要か否かを判定する（ステップＳ２８）。ここでは、出力層の出力と教師データとがかけ離れていれば、重みの更新が必要であると判断する。重みの更新が必要であると判定された場合は、バックプロパゲーションなどの処理を行って、出力層から入力層まで逆の信号経路に沿って重みの更新に関する演算を行うことで、重みを更新し（ステップＳ２９）、その後、ステップＳ２１以降の処理を繰り返す。一方、ステップＳ２８で重みの更新が必要ないと判定された場合は、出力層の出力が有効であると判断して、図２６のフローチャートの処理を終了する。ステップＳ２９で重みを更新する際には、上述したように、アナログ値とデジタル値のいずれをメモリセル領域に記憶してもよい。
【００８８】
図１７に示したように、重みをアナログ値として記憶する場合とデジタル値で記憶する場合は、それぞれ長所と短所を有する。そこで、図２７に示すように、メモリセル領域内に重みをアナログ値として記憶する領域とデジタル値として記憶する領域とを設けてもよい。
【００８９】
図２７の例では、各ワード線ごとに、重みをアナログ値として記憶するか、デジタル値として記憶するかを分けている。図１５Ａに示すように、第１例のデジタル値の場合、重みが２の４乗で表されるとすると、４ビットだけで重みを記憶できる。また、第２例のデジタル値の場合、重みが２の４乗で表されるとすると、図１５Ｂに示すように、0000000000000001〜1111111111111111の１６ビットで重みを記憶できる。重みをアナログ値で記憶する場合は、上述したように２０本のビット線を必要とするため、デジタル値で記憶する方がビット線を削減できる。デジタル値で記憶したメモリセル領域からデータを読み出す場合には、データが記憶されたビット線だけを読み出すようにして、消費電力の削減を図ることができる。
【００９０】
第１例のデジタル値の場合、１６階調の重みをわずか４ビットで記憶できるため、例えば２０個のメモリセル１６が接続された一つのワード線の中に、アナログ値で記憶した２つの重みの情報を記憶することができる。図２８は、重みを第１例のデジタル値で記憶したワード線の両側に、別々の重みＷ1、Ｗ2をアナログ値で記憶したワード線を配置し、これらのアナログ値で記憶した２つの重みＷ1、Ｗ2のデータを、一つのワード線にてデジタル値で記憶する例を示している。
【００９１】
このように、重みをデジタル値で記憶することで、記憶に使用するメモリセル領域を削減できる。よって、一つのワード線に接続されたメモリセル領域に、複数の重みのデータを記憶することも可能となる。
【００９２】
また、重みをデジタル値で記憶する場合、アナログ階調の重みそのものをデジタル表現して記憶する場合と、アナログ階調の重みを０か１に２値（binary）化したり、−１、０、＋１に３値（ternary）化する場合がある。これにより、ビット数をさらに削減できる。
【００９３】
なお、図１７に示したように、重みをデジタル値で記憶する場合は、アナログ値で記憶する場合よりも、誤り発生確率を低くする対応が必要となる。特に、第１例のデジタル値の場合、１ビットでも誤ると、重みの値が著しく異なったものになりかねない。よって、重みの学習段階では、重みをアナログ値で記憶するのが望ましい。一方、重みの学習段階が終了して、重みを読み出して積和演算に使用する非学習段階では、重みを読み出すビット線の本数が少ないほど消費電力を削減できる。よって、重みの学習段階が終了した段階で、アナログ値で記憶した重みのデータをデジタル値に変換して、別のワード線に接続されたメモリセル領域に記憶し、重みのデジタル値を読み出して非学習処理に用いてもよい。
【００９４】
例えば、図２９は、ニューラルネットワークにおける重みを学習する際のフォワード処理とバックワード処理の両方にアナログ値の重みを使用する例を示している。ニューラルネットワークの入力層４１から隠れ層４２への重みは、例えば図２７のワード線ＷＬ１に接続されたメモリセル領域にアナログ値として記憶される。また、隠れ層４２から出力層４３への重みは、図２７のワード線ＷＬ３に接続されたメモリセル領域にアナログ値として記憶される。学習段階のフォワード処理とバックワード処理のいずれにおいても、図２７のワード線ＷＬ１，ＷＬ３に重みがアナログ値として記憶される。
【００９５】
一方、図３０は、ニューラルネットワークにおける重みを学習する際のフォワード処理では重みをデジタル値として記憶し、バックワード処理では重みをアナログ値として記憶する例を示している。重みをアナログ値として表現する場合、例えば１６階調で表示される。一方、重みをデジタル値として表現する場合、例えば２階調（１か０、あるいは１か−１）で表現されるか、３階調（１、０、−１）で表現される。このように、重みのアナログ値をデジタル値に変換する際には、アナログ値を間引く処理が行われる。ニューラルネットワークでは、各層間の重みを間引いても間引かなくても、精度がそれほど落ちないことが知られている。一方、重みを更新する際には、間引いた重みで更新すると、正しい情報は得られないことがある。そこで、図３０では、フォワード処理では重みのデジタル値を用いて、バックワード処理では重みのアナログ値を使用している。これにより、ニューラルネットワークのフォワード処理では、メモリセル領域から読み出すべきビット数を削減でき、消費電力を削減できる。
【００９６】
本実施形態で用いるメモリセル領域は、ワード線が延在されている方向をロウ方向とし、ビット線が延在されている方向をカラム方向としている。また、各ビット線は、互いに論理が反転しているビット線対で構成されているが、そのうちの一本（以下では、ビット線バー／ＢＬと呼ぶ）は図３１Ａに示すように、共通の電位（例えば、接地電位）に設定されていてもよい。ビット線バーが共通電位であっても、ロウ方向に配置された各メモリセル１６には別々のビット線が接続されるため、各ビット線の電位に応じたデータを各メモリセル１６は記憶する。このように、ビット線バー／ＢＬを共通電位にすることで、配線数を削減でき、面積効率が向上し、配線遅延も低減できる。
【００９７】
また、図３１Ｂに示すように、ビット線ＢＬとビット線バー／ＢＬの間に、複数のメモリセル１６を直列接続してもよい。図３１Ｂの場合、３つのＭＴＪ素子１６ｂが直列接続されており、これらＭＴＪ素子１６ｂのうち何個のＭＴＪ素子の論理が反転したかによって、状態を記憶できる。図３１Ｂの場合、ビット線バー／ＢＬだけでなく、ビット線ＢＬの数も削減できるため、図３１Ａよりも面積効率がよくなる。
【００９８】
図３２Ａは、書込み電圧の電圧値を一定にして、パルス幅を制御してメモリセル１６への書込みを行う場合のメモリセル１６の特性を示す図である。図３２Ａに示すように、書込み電圧のパルス幅ｔpを変えることで、ほぼ線形に反転確率Ｐswを可変させることができる。書き込み時のパルス幅を制御するには、例えば、ワード線を所定の電圧に駆動した状態で、書込みを行うべきメモリセル１６に接続されたビット線の駆動時間を可変させることで、このメモリセル１６に記憶される重みを可変させることができる。この場合、記憶される重みは、ビット線を駆動するクロックサイクルで制御できるため、制御性が向上する。また、書込み電圧のパルス幅と反転確率がほぼ線形な関係になるため、重み変換部３３で反転確率を重みに変換する処理も容易になる。
【００９９】
一方、図３２Ｂは、書込み電圧のパルス幅を一定にして、電圧値を制御してメモリセル１６への書込みを行う場合のメモリセル１６の特性を示す図である。重みに応じて書込み電圧の電圧値を制御する場合、反転確率Ｐswが非線形に変化する。よって、重み変換部３３にて、反転確率Ｐswを重みＷiに変換する処理も非線形な処理を行う必要がある。
【０１００】
重みが記憶されるメモリセルアレイ１１は、図３３に示すようなクロスバー構成であってもよい。図３３のメモリセルアレイ１１は、ワード線とビット線との各交差点付近に、各メモリセル１６が配置されている。各ワード線ごとに、一つの重みが記憶される。各ワード線とビット線の間には、抵抗変化型メモリとトランジスタとが配置される場合、抵抗変化型メモリとセレクタとが配置される場合があり、どちらを採用してもよい。クロスバー構成では、ワード線とビット線に与えられるパルスのパルス幅、あるいはパルス電位がＸiに対応する。これにより、積和ＷiＸiの演算処理を簡易な構成で行うことができる。
【０１０１】
上述した実施形態では、１本のワード線に繋がる複数のメモリセルにて、一つのシナプス（重み）を記憶する例を説明したが、この例の場合、各ワード線に別々のシナプスが記憶されるため、シナプスの数が多い場合には、すべてのシナプスの読み出しに時間がかかってしまう。例えば、図３４に示すように、１本のワード線に接続された１６本のビット線で一つのシナプスを記憶し、総計３６個のシナプスを記憶する場合を考える。あるいは、図３５に示すように、１本のワード線に接続された１６本のビット線で一つのシナプスを記憶し、同一のワード線に複数のシナプスを記憶させる場合を考える。読み出し部２２がセンスアンプ方式で、各ビット線の電位を順に読み出す場合、１本のビット線の読み出しに５０ｎｓを要し、センスするビット線の切り替えに１０ns要するとすると、１個のシナプスの読み出しには、５０×１６＝８００ｎｓの時間を要する。ワード線は順次に駆動されるため、３６個のシナプスを読み出すには、図３４のアレイ構成の場合，３６×８００ｎｓ＝２８８００ｎｓもの時間を要する。なお、図３４及び図３５の読み出し部２２は、複数のセンスアンプ２２ｂと複数のスイッチマトリクス２２ａを有する例を示している。
【０１０２】
シナプスの読み出し時間を短縮する一手法として、１本のワード線に繋がる複数のメモリセルにて複数のシナプスを記憶してもよい。図３６は１本のワード線に繋がる複数のメモリセルにて複数のシナプスを記憶することが可能なメモリセル領域を示す図である。ワード線の延在方向に沿って、複数の読み出し部２２が設けられている。各読み出し部２２は、センスアンプ方式にて、各ビット線の電位を順次に読み出す。読み出し部２２の数は例えば１６個であり、この場合、図３６のｎ＝１５となる。各読み出し部２２には、例えば１８本のビット線対が接続されている。各読み出し部２２に１８本のビット線対を接続した理由は、上述した実施形態にて、３６本のワード線を用いて１６階調の重み（総計３６個の重み）をメモリセル領域に記憶したことに対応づけたものである。図３６では、２本のワード線を用いて、１６階調の重み（総計３６個の重み）を記憶することができる。
【０１０３】
図３６における１６個の読み出し部２２は同時に動作し、各読み出し部２２は１８本のビット線の電位を順に読み出す。よって、あるタイミングでは、１６個の読み出し部２２が総計１６本のビット線の電位を同時に読み出すことになる。そこで、図３６の例では、各タイミングごとに同時に読み出される１６本のビット線の電位が一つのシナプス（重み）を表すことにしている。具体的には、各読み出し部２２によって同時に読み出される１８本ごとの１６本のビット線に繋がるメモリセルに一つの重みを記憶する。各読み出し部２２には、１８本のビット線対が接続されているため、１８回に分けて各ビット線の電位を読み出すことになり、一つのワード線にて１８個の重みを読み出すことができる。図３６には、２本のワード線が接続されているため、総計３６個の１６階調の重みのデータを読み出すことができる。
【０１０４】
１本のビット線の読み出しに５０ｎｓを要するとすると、１本のワード線に接続された１８個の重みの読み出しには、５０ｎｓ×１８＝９００ｎｓの時間を要する。よって、３６個の重みの読み出しには、９００ｎｓ×２＝１８００ｎｓとなり、図４のメモリセル領域に記憶された重みを読み出す場合よりも、はるかに重みの高速読み出しが可能となる。
【０１０５】
このように、図３６のメモリセル領域では、１本のワード線の駆動で、複数（例えば１６個）のシナプス（重み）のデータを記憶及び読み出しできるため、重みを記憶するメモリセル領域内のワード線の本数を大幅に削減でき、多数の重みを迅速に読み出すことができる。
【０１０６】
上述した重みを記憶するためのメモリセル領域は、図３４のメモリセルアレイ１１のように，少なくとも一部に設けられればよい。したがって、メモリセルアレイ１１の一部を、重みを記憶するためのメモリセル領域として使用し、残りのメモリセル領域を不図示のプロセッサが種々の目的で使用する記憶領域としてもよい。また、重みの階調を可変できるようにして、重みを記憶するためのメモリセル領域のメモリサイズを必要に応じて可変させてもよい。
【０１０７】
図３６では、一つの読み出し部２２に１８本のビット線対を接続したが、これは一例であり、一つの読み出し部２２に何本のビット線対を接続するかは任意である。また、図３６では、ワード線を２本だけ図示しているが、ワード線の本数も任意である。図３７は，１つのワード線の中に複数のシナプスの重みが含まれる第１具体例を示す図である。図３７では、１６個のセル毎にセンスアンプ２２ｂが１つ接続されている。すなわち、一つのセンスアンプ２２ｂに１６本のビット線対が接続されている。スイッチマトリックスは、センスアンプ２２ｂと接続されるビット線およびビット線バーを切り替える役割を担う。図３７では、一例としてセンスアンプ２２ｂの一つに対して１６個のセルが接続され、センスアンプ２２ｂは１６個配置されるアレイ構成となっている。ビット線ＢＬ１、ビット線ＢＬ１７・・・ビット線ＢＬ２５７は同時にプリチャージされる。その後、ワード線ＷＬ１がアクティブとなると、センスアンプ１−１６から各セルの記憶状態が同時に読みだされる。
【０１０８】
ここで、図３８に示すように、ビット線ＢＬ１、ビット線ＢＬ１７、ビット線ＢＬ２５７に接続されたメモリセルが同一のシナプスの重みの階調を担うとすると、一度の読み出し動作で一つのシナプスの重みを得ることができる。すなわち、一つのシナプスの読み出しは５０nsの時間を要する。シナプスの数が３６個である場合、３６×５０＝１８００nsの時間で読み出しが可能となる。図３４や図３５のメモリセル領域に記憶された重みを読みだす場合よりも、はるかに高速な読み出しが可能となる。
【０１０９】
センスアンプ２２ｂは例えば図３９のような構成であっても良い。図３９のセンスアンプ２２ｂは、ＰＭＯＳトランジスタＱ１，Ｑ２と、ＮＭＯＳトランジスタＱ３，Ｑ４，Ｑ５とを有する。トランジスタＱ１，Ｑ３はカスコード接続され、トランジスタＱ２，Ｑ４はカスコード接続されている。トランジスタＱ１，Ｑ３の各ゲートは、トランジスタＱ２，Ｑ４の各ドレインとビット線バー／ＢＬに接続されている。トランジスタＱ２，Ｑ４の各ゲートは、トランジスタＱ１，Ｑ３の各ドレインとビット線ＢＬに接続されている。トランジスタＱ５のゲートにはイネーブル信号ＥＮが入力されている。トランジスタＱ５のドレインは、トランジスタＱ３，Ｑ４のソースに接続されている。
【０１１０】
なお、本実施形態におけるセンスアンプ２２ｂの回路構成は、図３９に限定されるものではなく、種々の回路構成のセンスアンプが適用可能である。例えば、重みの更新の際にはシナプスの階調を担うセルのビット線を同時にプリチャージし、ワード線をアクティブとすることで同一電圧、同一パルス長で書き込みがされる構成であっても良い。
【０１１１】
センスアンプ２２ｂを介して出力される信号は０か１、あるいはＨｉｇｈかＬｏｗとなる。この出力を図４０のようなキャパシタ２６に入力することで、重みのアナログ値を識別することできる。この電圧をそのまま次の入力としても良いし、あるいはカレントミラー回路２９で増幅して次の入力としても良い。
【０１１２】
センスアンプ２２ｂを介して出力される信号は０か１、あるいはＨｉｇｈかＬｏｗとなる。この出力を図４１のようなカウンタ４５で数え、その値に応じて電圧値を変える、あるいはパルス幅を変える制御部４６で次の段のセルアレイを駆動しても良い。
【０１１３】
上述した本実施形態による信号処理システム１は、例えば図４２のような汎用のパーソナルコンピュータ（以下、ＰＣ）４０に実装してもよいし、あるいは、専用のハードウェア機器を用いてシステムを構築してもよい。図４２のＰＣ４０に信号処理システム１を実装する場合には、本実施形態によるメモリシステム１０をＰＣ４０内部のメモリ基板に実装すればよい。また、図１のネットワーク構築部２と情報処理部４はＰＣ４０のプロセッサがソフトウェア処理により実行してもよい。あるいは、ネットワーク構築部２と情報処理部４に対応するハードウェアをＰＣ４０内部に実装してもよい。
【０１１４】
また、本実施形態による信号処理システム１は、一つまたは複数の半導体チップに実装してもよい。例えば、信号処理システム１を一つの半導体チップに実装する場合は、この半導体チップの内部に、図１の不揮発メモリ３を含む図２のメモリシステム１０が内蔵されることになる。
【０１１５】
ここで、本実施形態における抵抗変化型メモリとは、ＳＴＴ−ＭＲＡＭ、ＳＯＴ−ＭＲＡＭ、電圧駆動型ＭＲＡＭ、ＲｅＲＡＭ、ＣＢ−ＲＡＭ、ＰＣ−ＲＡＭなどである。ＲｅＲＡＭとは、金属と酸化物が積層された構造で、電圧を印加することで酸化物中に導電パスが形成されたり、導電パスが切れたりする素子である。電圧を印加することで、磁化の歳差運動が起き、周期的に発振するスピントルクオシレータや、還流磁区(vortex、スキルミオン)が生じる現象を利用した抵抗変化型素子１６ｂであっても良い。
【０１１６】
次に、本実施形態による信号処理システム１及びメモリシステム１０内の不揮発メモリ３の具体例について説明する。
【０１１７】
（ＳＴＴ−ＭＲＡＭを用いる例）
不揮発メモリは、ＳＴＴ−ＭＲＡＭ（Spin-Transfer Torque Magnetic Tunnel Junction MRAM)である。ＳＴＴ−ＭＲＡＭは動作電流によって磁化反転の速度が変わることが知られている。ＳＴＴ−ＭＲＡＭはmagnetic tunnel junction(MTJ)素子とセルトランジスタで構成される。例えば、直径２０ｎｍのあるＭＴＪ素子１６ｂでは、パルス幅５ｎｓの電流では、２０uＡ（マイクロアンペア）の大きさで磁化反転が起きる。パルス幅３ｎｓの電流では、３０uＡの大きさで磁化反転が起きる。パルス幅２ｎｓの電流では、５０uＡの大きさで磁化反転が起きる。ここで、３ｎｓで２０uAの大きさの電流を流すと、磁化反転は確率的に起きることとなる。このように、パルス幅、あるいはパルス電圧の大きさに応じて、磁化反転が確率的に変化する性質を有する。ＭＴＪ素子１６ｂはセルトランジスタ１６ａのソース、あるいはドレインに接続されている。上述したように、ＭＴＪ素子１６ｂを流れる電流値は、ビット線電圧Ｖddを変える方法、基板バイアスを変える方法、ゲート電圧を変える方法などがある。例えば、セルトランジスタ１６ａを流れる電流を半分にする場合、ゲート電圧を３０％程度小さくすれば良い。この際、セルトランジスタ１６ａの特性が飽和領域にあれば、ゲート電圧を変えてトランジスタの抵抗値が変わっても、目的の電流値をＭＴＪ素子１６ｂに流すことが可能である。
【０１１８】
図４３はＳＴＴ−ＭＲＡＭの断面構造を示す図である。ＳＴＴ−ＭＲＡＭは、第１導電層６１、第１強磁性層６２、第１非磁性層６３、第２強磁性層６４および第２導電層６５を順に積層した構造を有する。第１強磁性層６２とは、磁化の方向が固定された参照層である。第２強磁性層６４とは、磁化の方向が可変である記憶層である。第１強磁性層６２と第２強磁性層６４の間に、第１非磁性層６３（スペーサー層）がある。第２強磁性層６４は第一部と第二部がある構成でも良いし、分かれていない構成でも良い。
【０１１９】
第１強磁性層６２と第２強磁性層６４のどちらかは、第１導電層６１に直接、あるいは間接的に接続されている。また、第１強磁性層６２と第２強磁性層６４のどちらかは、第２導電層６５に直接、あるいは間接的に接続されている。
【０１２０】
以下では、第１導電層６１、第１強磁性層６２、第１非磁性層６３、第２強磁性層６４、第２導電層６５の積層体を積層体SB1と名付ける。第１強磁性層６２の膜厚は０．５〜１５ｎｍであり、典型的には２〜１０ｎｍである。第２強磁性層６４の膜厚は０．５〜１０ｎｍであり、典型的には０．８〜３ｎｍである。
【０１２１】
第１強磁性層６２及び第２強磁性層６４には、例えば、鉄（Ｆｅ）、コバルト（Ｃｏ）、ニッケル（Ｎｉ）、マンガン（Ｍｎ）及びクロム（Ｃｒ）よりなる群から選択された少なくともいずれかの元素を含む金属材料を用いることができる。さらに、上記の群から選択された少なくともいずれかと、白金（Ｐｔ）、パラジウム（Ｐｄ）、イリジウム（Ｉｒ）、ルテニウム（Ｒｕ）及びロジウム（Ｒｈ）、ガリウム（Ｇａ）、ゲルマニウム（Ｇｅ）よりなる群から選択された少なくともいずれかの金属を含む合金を用いることができる。
【０１２２】
第１強磁性層６２及び第２強磁性層６４において、含まれる磁性材料の組成や熱処理の条件などを調整する。これにより、第１強磁性層６２及び第２強磁性層６４において、例えば、磁化量や磁気異方性などの特性を調整することができる。例えば、第２強磁性層６４において、第１部分６６と第２部分６７とを形成することができる。また、第１強磁性層６２及び第２強磁性層６４には、例えば、ＴｂＦｅＣｏ及びＧｄＦｅＣｏなどの希土類−遷移金属のアモルファス合金を用いることができる。第１強磁性層６２及び第２強磁性層６４には、例えば、Ｃｏ／Ｐｔ、Ｃｏ／Ｐｄ及びＣｏ／Ｎｉなどの積層構造を用いてもよい。Ｃｏ／Ｒｕ、Ｆｅ／Ａｕ、及び、Ｎｉ／Ｃｕ等は、下地層との組み合わせで垂直磁化膜となる。膜の結晶配向方向を制御することで、Ｃｏ／Ｒｕ、Ｆｅ／Ａｕ、または、Ｎｉ／Ｃｕ等を、第１強磁性層６２及び第２強磁性層６４として用いることができる。第１強磁性層６２及び第２強磁性層６４は、例えば、アルミニウム（Ａｌ）、ゲルマニウム（Ｇｅ）、窒素（Ｎ）、リン（Ｐ）、砒素（Ａｓ）、ボロン（Ｂ）、及び、シリコン（Ｓｉ）などの添加物を含んでもよい。
【０１２３】
第１部分６６及び第２部分６７の少なくともいずれかには、例えば、ホイスラー合金を用いてもよい。ホイスラー合金は、例えば、Ｌ２１構造を有し、Ｘ２ＹＺの様な組成を有する合金である。この場合、第１部分６６第２部分６７の少なくともいずれかは、例えば、Ｃｏ、Ｍｎ、Ｆｅ、Ｎｉ、Ｃｕ、Ｒｈ、Ｒｕ及びＰｄの少なくともいずれか１つを含むホイスラー合金を含む。
【０１２４】
例えば、第１部分６６及び第２部分６７は、第１ホイスラー合金を含む。第１ホイスラー合金は、Ｃｏ２ＦｅＳｉ、Ｃｏ２ＦｅＡｌ、Ｃｏ２ＦｅＧａ、Ｃｏ２ＭｎＧｅ、Ｃｏ２ＭｎＳｎ、Ｃｏ２ＭｎＳｉ、Ｃｏ２ＭｎＧａ、Ｃｏ２ＭｎＡｌ、Ｃｏ２ＭｎＳｂ、Ｃｏ２ＣｒＧａ、Ｎｉ２ＭｎＩｎ、Ｎｉ２ＭｎＧａ、Ｎｉ２ＭｎＳｎ、Ｎｉ２ＭｎＳｂ、Ｎｉ２ＦｅＧａ、Ｐｄ２ＭｎＳｂ、Ｐｄ２ＭｎＳｎ、Ｃｕ２ＭｎＡｌ、Ｃｕ２ＭｎＳｎ、Ｃｕ２ＭｎＩｎ、Ｒｈ２ＭｎＧｅ、Ｒｈ２ＭｎＰｂ、Ｒｈ２ＭｎＳｎ、Ｐｄ２ＭｎＧｅ、Ｒｈ２ＦｅＳｎ、Ｒｕ２ＦｅＳｎ、及びＲｈ２ＦｅＳｂの少なくともいずれか１つを含む。
【０１２５】
第２部分６７に上記の第１ホイスラー合金を用いることで、例えば、第２部分６７の飽和磁化Ｍｓを大きくすることができる。  
【０１２６】
例えば、第１部分６６及び第２部分６７は、第２ホイスラー合金を含んでもよい。第２ホイスラー合金は、Ｃｏ２ＨｆＳｎ、Ｃｏ２ＺｒＳｎ、Ｃｏ２ＨｆＡｌ、Ｃｏ２ＺｒＡｌ、Ｃｏ２ＨｆＧａ、Ｃｏ２ＴｉＳｉ、Ｃｏ２ＴｉＧｅ、Ｃｏ２ＴｉＳｎ、Ｃｏ２ＴｉＧａ、Ｃｏ２ＴｉＡｌ、Ｃｏ２ＶＧａ、Ｃｏ２ＶＡｌ、Ｃｏ２ＴａＡｌ、Ｃｏ２ＮｂＧａ、Ｃｏ２ＮｂＡｌ、Ｃｏ２ＶＳｎ、Ｃｏ２ＮｂＳｎ、Ｃｏ２ＣｒＡｌ、Ｒｈ２ＮｉＳｎ、Ｒｈ２ＮｉＧｅ、Ｍｎ２ＷＳｎ、Ｆｅ２ＭｎＳｉ、及びＦｅ２ＭｎＡｌの少なくともいずれか１つを含む。
【０１２７】
第１部分６６に用いられる上記の第２ホイスラー合金は、比較的飽和磁化Ｍｓが小さい。例えばＭｓ＜４００ｅｍｕ／ｃｃとすることができる。これにより、例えば、隣接する磁気記憶素子への漏洩磁界を低減することができる。
【０１２８】
本実施形態においては、第１部分６６及び第２部分６７のいずれかに、上述のホイスラー合金を用いてもよいし、第１部分６６及び第２部分６７の双方に、上述のホイスラー合金を用いてもよい。第１部分６６には、第２ホイスラー合金を用いることが望ましい。これにより、例えば、周辺素子への漏洩磁界を抑制することができる。第２部分６７には、第１ホイスラー合金を用いることが望ましい。
【０１２９】
第１非磁性層６３には、例えば、非磁性トンネルバリア層として機能する絶縁材料を用いることができる。具体的には、例えば、アルミニウム（Ａｌ）、チタン（Ｔｉ）、亜鉛（Ｚｎ）、ジルコニウム（Ｚｒ）、タンタル（Ｔａ）、コバルト（Ｃｏ）、ニッケル（Ｎｉ）、シリコン（Ｓｉ）、マグネシウム（Ｍｇ）及び鉄（Ｆｅ）よりなる群から選択された少なくともいずれかの元素を含む、酸化物、窒化物又は弗化物を用いることができる。非磁性トンネルバリア層とは、例えば、絶縁体を含み、電圧を印加したときに、トンネル効果による電流（トンネル電流）の流れる非磁性の層である。非磁性トンネルバリア層の厚さは、例えば、２ｎｍ以下である。これにより、電圧を印加したときに、非磁性トンネルバリア層にトンネル電流が流れる。
【０１３０】
第１非磁性層６３には、例えば、Ａｌ２Ｏ３、ＳｉＯ２、ＭｇＯ、ＡｌＮ、Ｔａ−Ｏ、Ａｌ−Ｚｒ−Ｏ、Ｂｉ２Ｏ３、ＭｇＦ２、ＣａＦ２、ＳｒＴｉＯ３、ＡｌＬａＯ３、Ａｌ−Ｎ−Ｏ、または、Ｓｉ−Ｎ−Ｏ等を用いることができる。第１非磁性層６３には、例えば、非磁性半導体（ＺｎＯｘ、ＩｎＭｎ、ＧａＮ、ＧａＡｓ、ＴｉＯｘ、Ｚｎ、Ｔｅ、または、これらに遷移金属がドープされたもの）などを用いることができる。
【０１３１】
第１非磁性層６３の厚さは、約０．２ナノメートル（ｎｍ）以上２．０ｎｍ以下程度の範囲の値とすることが望ましい。これにより、例えば、絶縁膜の均一性を確保しつつ、抵抗が過度に高くなることが抑制される。
【０１３２】
第１導電層６１及び第２導電層６５には、例えば、導電性の磁性材料または導電性の非磁性材料が用いられる。導電性の磁性材料としては、例えば、鉄（Ｆｅ）、コバルト（Ｃｏ）、ニッケル（Ｎｉ）、マンガン（Ｍｎ）及びクロム（Ｃｒ）よりなる群から選択された少なくともいずれかの元素を含む磁性金属を用いることができる。さらに、上記の群から選択された少なくともいずれかと、白金（Ｐｔ）、パラジウム（Ｐｄ）、イリジウム（Ｉｒ）、ルテニウム（Ｒｕ）及びロジウム（Ｒｈ）よりなる群から選択された少なくともいずれかの元素と、を含む合金を用いてもよい。
【０１３３】
第１導電層６１及び第２導電層６５に用いられる導電性の非磁性材料には、例えば、金（Ａｕ）、銅（Ｃｕ）、クロム（Ｃｒ）、亜鉛（Ｚｎ）、ガリウム（Ｇａ）、ニオブ（Ｎｂ）、モリブデン（Ｍｏ）、ルテニウム（Ｒｕ）、パラジウム（Ｐｄ）、銀（Ａｇ）、ハフニウム（Ｈｆ）、タンタル（Ｔａ）、チタン（Ｔｉ）、タングステン（Ｗ）、白金（Ｐｔ）、ビスマス（Ｂｉ）及びアルミニウム（Ａｌ）よりなる群から選択されたいずれかの金属、または、上記の群から選択された２つ以上の金属を含む合金を用いることができる。
【０１３４】
さらに、第１導電層６１及び第２導電層６５に用いられる導電性の非磁性材料は、上記の群から選択された少なくともいずれかの元素を含む、導電性窒化物、導電性酸化物及び導電性弗化物の少なくともいずれかでもよい。第１導電層６１及び第２導電層６５に用いられる導電性の非磁性材料は、カーボンナノチューブ、カーボンナノワイヤ及びグラフェンなどでもよい。
【０１３５】
第１導電層６１及び第２導電層６５に導電性の保護膜を設けてもよい。この場合、保護膜には、例えば、タンタル（Ｔａ）、ルテニウム（Ｒｕ）、銅（Ｃｕ）、銅（Ｃｕ）、金（Ａｕ）、銀（Ａｇ）及びアルミニウム（Ａｌ）よりなる群から選択された少なくともいずれかの元素を含む合金、または、グラフェンなどの材料を用いることができる。エレクトロマグレーション耐性及び低抵抗であることを考慮すると、保護膜には、銅（Ｃｕ）及びアルミニウム（Ａｌ）よりなる群から選択されたいずれかの元素、または、これらを含む合金を用いることが望ましい。
【０１３６】
第１導電層６１及び第２導電層６５の少なくともいずれかに、トランジスタが直接または間接に接続される場合がある。このときには、第１導電層６１及び第２導電層６５の上記の少なくともいずれかには、例えば、そのトランジスタのソース部またはドレイン部が用いられても良い。また、このときには、第１導電層６１及び第２導電層６５の上記の少なくともいずれかには、例えば、そのトランジスタのソース部またはドレイン部に接続されるコンタクト部が用いられても良い。
【０１３７】
積層体ＳＢ１の積層方向ＳＤ１に対して平行な方向をＺ軸方向とする。Ｚ軸に対して垂直な１つの軸をＸ軸とする。Ｘ軸とＺ軸とに対して垂直な軸をＹ軸とする。積層体ＳＢ１に含まれる層の膜面は、Ｘ−Ｙ平面に対して平行である。例えば、主面１０ａは、Ｘ−Ｙ平面に対して平行である。
【０１３８】
ＭＴＪ素子１６ｂにおいては、積層方向ＳＤ１に積層体ＳＢ１に電流を流すことによりスピン偏極した電子を第２強磁性層６４に作用させる。これにより、第２強磁性層６４の第１部分６６の磁化の方向及び第２部分６７の磁化の方向が、電流の向きに応じた方向に決定される。
【０１３９】
＜垂直磁化ＭＴＪ＞
第１強磁性層６２は、例えば、第１の磁化固定層として機能する。第１強磁性層６２においては、例えば、磁化が膜面に対して略垂直方向に固定されている。第１強磁性層６２の磁化の方向は、積層方向ＳＤ１と略平行である。第一部と第二部は、磁化が例えばシンセティックアンチフェロ（反強磁性結合）である。すなわち、磁化方向が互いに逆方向を向いている場合がある。また、別の例では磁化方向が同一方向を向いている場合がある。この場合、磁化は静磁結合、あるいは強磁性結合をしている。
【０１４０】
第２強磁性層６４は、例えば、磁気記憶層として機能する。また、第２強磁性層６４が第１部分と第２部分を有する場合においては、例えば、第１部分６６の磁化の方向は、膜面に対して略垂直方向で、積層方向ＳＤ１と略平行である。第１部分は第１非磁性層６３側にある。第１部分６６の磁化は、反転可能である。第１部分６６は、磁化反転の際のスピン注入効率を上げる役割をもつ。第２部分は第２導電層６５側にある。 
【０１４１】
第２強磁性層６４の第２部分６７においては、例えば、第２部分６７の磁化の方向は、膜面に対して略垂直方向で、積層方向ＳＤ１と略平行である。第２部分６７の磁化は、反転可能である。第２部分はデータを記憶する役割をもつ。
【０１４２】
＜面内磁化ＭＴＪ＞
第１強磁性層６２は、例えば、第１の磁化固定層として機能する。第１強磁性層６２においては、例えば、磁化が膜面に対して略平行方向に固定されている。第１強磁性層６２の磁化の方向は、積層方向ＳＤ１と略垂直である。
【０１４３】
第２強磁性層６４は、例えば、磁気記憶層として機能する。また、第２強磁性層６４が第１部分と第２部分を有する場合においては、例えば、第１部分６６の磁化の方向は、膜面に対して略平行方向で、積層方向ＳＤ１と略垂直である。第１部分は第１非磁性層６３側にある。第１部分６６の磁化は、反転可能である。第１部分６６は、磁化反転の際のスピン注入効率を上げる役割をもつ。第２部分は第２導電層６５側にある。第一部と第二部は、磁化が例えばシンセティックアンチフェロ（反強磁性結合）である。すなわち、磁化方向が互いに逆方向を向いている場合がある。また、別の例では磁化方向が同一方向を向いている場合がある。この場合、磁化は静磁結合、あるいは強磁性結合をしている。
【０１４４】
第２強磁性層６４の第２部分６７においては、例えば、第２部分６７の磁化の方向は、膜面に対して略平行方向で、積層方向ＳＤ１と略垂直である。第２部分６７の磁化は、反転可能である。第２部分はデータを記憶する役割をもつ。
【０１４５】
＜ＭＴＪの断面形状＞
Ｘ−Ｙ平面に投影したときの積層体ＳＢ１の形状は任意である。Ｘ−Ｙ平面に投影したときの積層体ＳＢ１の形状は、例えば、円形、楕円形、扁平円、及び、多角形などである。多角形とする場合には、四角形や六角形などの３つ以上の角を有することが好ましい。また、多角形は、角丸状でもよい。
【０１４６】
Ｚ軸に対して平行な平面（例えばＺ−Ｘ平面やＺ−Ｙ平面）に投影したときの積層体ＳＢ１の形状は任意である。Ｚ軸に対して平行な平面に投影したときの積層体ＳＢ１の形状（膜面に対して垂直な面で切断した形状）は、例えば、テーパ形状または逆テーパ形状を有することができる。
【０１４７】
＜磁気シールド＞
積層体ＳＢ１の側面ＳＳ１の少なくとも一部が磁気シールドで覆われていても良い。換言すれば、磁気シールドは、積層体ＳＢ１の側面の少なくとも一部と対向する。Ｘ−Ｙ平面に投影した磁気シールドの形状は、例えば、積層体ＳＢ１を囲む環状である。
【０１４８】
磁気記憶素子は、積層体ＳＢ１の側面と磁気シールドとの間に設けられた保護層をさらに含む。保護層の厚さは、例えば、２ｎｍ以上３０ｎｍ以下であることが望ましい。
【０１４９】
例えば、積層体ＳＢ１の側面が、ＳｉＮやＡｌ２Ｏ３などの保護層を介して、パーマロイ（Ｐｙ）などの磁気シールドにより覆われる。これにより、例えば、複数の磁気記憶素子が並べられた場合において、隣の磁気記憶素子からの漏洩磁界が、積層体ＳＢ１の動作に悪影響を与えることが抑制される。例えば、各記憶セル（積層体ＳＢ１）において、積層体ＳＢ１に作用する有効磁界が実質的に同じであるため、ビット間の反転電流のばらつきが抑制される。また、積層体ＳＢ１からの漏洩磁界が、隣の磁気記憶素子に作用することを抑制することができる。その結果、複数の磁気記憶素子どうしを近接して配置することができ、集積度を向上することができる。例えば、不揮発性記憶装置の記憶密度を向上させることができる。
【０１５０】
磁気シールドには、例えば、鉄（Ｆｅ）、コバルト（Ｃｏ）、ニッケル（Ｎｉ）、マンガン（Ｍｎ）及びクロム（Ｃｒ）よりなる群から選択されたいずれかの金属、または、この群から選択された２つ以上の金属を含む合金が用いられる。磁気シールドは、例えば、鉄（Ｆｅ）、コバルト（Ｃｏ）、ニッケル（Ｎｉ）、マンガン（Ｍｎ）及びクロム（Ｃｒ）よりなる群から選択された少なくともいずれかの金属と、白金（Ｐｔ）、パラジウム（Ｐｄ）、イリジウム（Ｉｒ）、ルテニウム（Ｒｕ）及びロジウム（Ｒｈ）、ガリウム（Ｇa）、ゲルマニウム（Ｇｅ）よりなる群から選択された少なくともいずれかの金属と、を含む合金でもよい。
【０１５１】
磁気シールドに含まれる磁性材料の組成や熱処理の条件を調整することにより、磁気シールドの特性を調整することができる。磁気シールドは、例えば、ＴｂＦｅＣｏ及びＧｄＦｅＣｏなどの希土類−遷移金属のアモルファス合金でもよい。また、磁気シールドには、Ｃｏ／Ｐｔ、Ｃｏ／Ｐｄ及びＣｏ／Ｎｉなどの積層構造を用いてもよい。
【０１５２】
保護層には、例えば、アルミニウム（Ａｌ）、チタン（Ｔｉ）、亜鉛（Ｚｎ）、ジルコニウム（Ｚｒ）、タンタル（Ｔａ）、コバルト（Ｃｏ）、ニッケル（Ｎｉ）、シリコン（Ｓｉ）、マグネシウム（Ｍｇ）及び鉄（Ｆｅ）よりなる群から選択された少なくともいずれかの元素を含む、酸化物、窒化物または弗化物を用いることができる。保護層には、例えば、ＳｉＮが用いられる。
【０１５３】
（ＳＯＴ−ＭＲＡＭを用いる例）
単一階層メモリ７を構成する不揮発メモリは、ＳＯＴ−ＭＲＡＭ（Spin-Orbit Torque Magnetic Tunnel Junction MRAM）でもよい。図４４はＳＯＴ−ＭＲＡＭの断面構造を示す図である。ＳＯＴ−ＭＲＡＭは、第１導電層７１、第１強磁性層７２、第１非磁性層７３、第２強磁性層７４および第２導電層７５を順に積層した構造を有する。
【０１５４】
第１強磁性層７２とは、磁化の方向が固定された参照層である。第２強磁性層７４とは、磁化の方向が可変である記憶層である。第１強磁性層７２と第２強磁性層７４の間に、第１非磁性層７３（スペーサー層）がある。
【０１５５】
第１強磁性層７２と第１導電層７１は直接、あるいは間接的に接続されている。また、第２強磁性層７４と第２導電層７５は、直接、あるいは間接的に接続されている。第１導電層７１、第１強磁性層７２、第１非磁性層７３、第２強磁性層７４、第２導電層７５の積層体を積層体SB1と名付ける。
【０１５６】
第２導電層７５に後述するスピン軌道相互作用が強い材料を用いて、電流（JSOT）を流すとスピン軌道フィールドHsoが生成される。スピン軌道フィールドは、第２強磁性層７４の磁化に作用するスピン軌道トルクTsoともなり得る。これを用いると、第２強磁性層７４の磁化方向を直接反転させることができ得る。また、電流（JSOT）を流してスピン軌道フィールドHsoを第２強磁性層７４に作用させつつ、電流（JSTT）を流して第２強磁性層７４の磁化方向を反転させても良い。いずれにしても、電流（JSOT）の大きさを変えると、第２強磁性層７４の磁化反転に要する時間を変えることができる。例えば、ある電流（JSTT）で、第２強磁性層７４の磁化方向を０．５ｎｓ以下の時間で変えることが可能である。またそれより大きい電流（JSTT）では、第２強磁性層７４の磁化方向を０．２ｎｓ以下の時間で変えることが可能である。このように、パルス幅が短いほど、磁化反転に必要な電流値が大きくなる。
【０１５７】
第１強磁性層７２の膜厚は０．５〜１５ｎｍであり、典型的には２〜１０ｎｍである。第２強磁性層７４の膜厚は０．１〜５ｎｍであり、望ましくは２ｎｍ以下が良い。
【０１５８】
第１強磁性層７２及び第２強磁性層７４には、例えば、鉄（Ｆｅ）、コバルト（Ｃｏ）、ニッケル（Ｎｉ）、マンガン（Ｍｎ）及びクロム（Ｃｒ）よりなる群から選択された少なくともいずれかの元素を含む金属材料を用いることができる。さらに、上記の群から選択された少なくともいずれかと、白金（Ｐｔ）、パラジウム（Ｐｄ）、イリジウム（Ｉｒ）、ルテニウム（Ｒｕ）及びロジウム（Ｒｈ）、ガリウム（Ｇa）、ゲルマニウム（Ｇｅ）よりなる群から選択された少なくともいずれかの金属を含む合金を用いることができる。
【０１５９】
第１強磁性層７２及び第２強磁性層７４において、含まれる磁性材料の組成や熱処理の条件などを調整する。これにより、第１強磁性層７２及び第２強磁性層７４において、例えば、磁化量や磁気異方性などの特性を調整することができる。例えば、第２強磁性層７４は、第１部分と第２部分とに分かれていてもよい。また、第１強磁性層７２及び第２強磁性層７４には、例えば、ＴｂＦｅＣｏ及びＧｄＦｅＣｏなどの希土類−遷移金属のアモルファス合金を用いることができる。第１強磁性層７２及び第２強磁性層７４には、例えば、Ｃｏ／Ｐｔ、Ｃｏ／Ｐｄ及びＣｏ／Ｎｉなどの積層構造を用いてもよい。Ｃｏ／Ｒｕ、Ｆｅ／Ａｕ、及び、Ｎｉ／Ｃｕ等は、下地層との組み合わせで垂直磁化膜となる。膜の結晶配向方向を制御することで、Ｃｏ／Ｒｕ、Ｆｅ／Ａｕ、または、Ｎｉ／Ｃｕ等を、第１強磁性層７２及び第２強磁性層７４として用いることができる。第１強磁性層７２及び第２強磁性層７４は、例えば、アルミニウム（Ａｌ）、ゲルマニウム（Ｇｅ）、窒素（Ｎ）、リン（Ｐ）、砒素（Ａｓ）、ボロン（Ｂ）、及び、シリコン（Ｓｉ）などの添加物を含んでもよい。
【０１６０】
第１強磁性層７２及び第２強磁性層７４は、例えば、ホイスラー合金を用いてもよい。ホイスラー合金は、例えば、Ｌ２１構造を有し、Ｘ２ＹＺの様な組成を有する合金である。この場合、第１部分７６第２部分７７の少なくともいずれかは、例えば、Ｃｏ、Ｍｎ、Ｆｅ、Ｎｉ、Ｃｕ、Ｒｈ、Ｒｕ及びＰｄの少なくともいずれか１つを含むホイスラー合金を含む。
【０１６１】
第１強磁性層７２及び第２強磁性層７４は、例えば、第１ホイスラー合金を含む。第１ホイスラー合金は、Ｃｏ２ＦｅＳｉ、Ｃｏ２ＦｅＡｌ、Ｃｏ２ＦｅＧａ、Ｃｏ２ＭｎＧｅ、Ｃｏ２ＭｎＳｎ、Ｃｏ２ＭｎＳｉ、Ｃｏ２ＭｎＧａ、Ｃｏ２ＭｎＡｌ、Ｃｏ２ＭｎＳｂ、Ｃｏ２ＣｒＧａ、Ｎｉ２ＭｎＩｎ、Ｎｉ２ＭｎＧａ、Ｎｉ２ＭｎＳｎ、Ｎｉ２ＭｎＳｂ、Ｎｉ２ＦｅＧａ、Ｐｄ２ＭｎＳｂ、Ｐｄ２ＭｎＳｎ、Ｃｕ２ＭｎＡｌ、Ｃｕ２ＭｎＳｎ、Ｃｕ２ＭｎＩｎ、Ｒｈ２ＭｎＧｅ、Ｒｈ２ＭｎＰｂ、Ｒｈ２ＭｎＳｎ、Ｐｄ２ＭｎＧｅ、Ｒｈ２ＦｅＳｎ、Ｒｕ２ＦｅＳｎ、及びＲｈ２ＦｅＳｂの少なくともいずれか１つを含む。
【０１６２】
上記の第１ホイスラー合金を用いることで、例えば、第２部分７７の飽和磁化Ｍｓを大きくすることができる。
【０１６３】
第１強磁性層７２及び第２強磁性層７４は、例えば、第２ホイスラー合金を含む。第２ホイスラー合金は、Ｃｏ２ＨｆＳｎ、Ｃｏ２ＺｒＳｎ、Ｃｏ２ＨｆＡｌ、Ｃｏ２ＺｒＡｌ、Ｃｏ２ＨｆＧａ、Ｃｏ２ＴｉＳｉ、Ｃｏ２ＴｉＧｅ、Ｃｏ２ＴｉＳｎ、Ｃｏ２ＴｉＧａ、Ｃｏ２ＴｉＡｌ、Ｃｏ２ＶＧａ、Ｃｏ２ＶＡｌ、Ｃｏ２ＴａＡｌ、Ｃｏ２ＮｂＧａ、Ｃｏ２ＮｂＡｌ、Ｃｏ２ＶＳｎ、Ｃｏ２ＮｂＳｎ、Ｃｏ２ＣｒＡｌ、Ｒｈ２ＮｉＳｎ、Ｒｈ２ＮｉＧｅ、Ｍｎ２ＷＳｎ、Ｆｅ２ＭｎＳｉ、及びＦｅ２ＭｎＡｌの少なくともいずれか１つを含む。
【０１６４】
上記の第２ホイスラー合金は、比較的飽和磁化Ｍｓが小さい。例えばＭｓ＜４００ｅｍｕ／ｃｃとすることができる。これにより、例えば、隣接する磁気記憶素子への漏洩磁界を低減することができる。
【０１６５】
本実施形態においては、第１強磁性層７２及び第２強磁性層７４のいずれかに、上述のホイスラー合金を用いてもよいし、第１強磁性層７２及び第２強磁性層７４の双方に、上述のホイスラー合金を用いてもよい。第２強磁性層７４には、第２ホイスラー合金を用いることが望ましい。これにより、例えば、周辺素子への漏洩磁界を抑制することができる。第２部分７７には、第１ホイスラー合金を用いることが望ましい。
【０１６６】
第１非磁性層７３には、例えば、非磁性トンネルバリア層として機能する絶縁材料を用いることができる。具体的には、例えば、アルミニウム（Ａｌ）、チタン（Ｔｉ）、亜鉛（Ｚｎ）、ジルコニウム（Ｚｒ）、タンタル（Ｔａ）、コバルト（Ｃｏ）、ニッケル（Ｎｉ）、シリコン（Ｓｉ）、マグネシウム（Ｍｇ）及び鉄（Ｆｅ）よりなる群から選択された少なくともいずれかの元素を含む、酸化物、窒化物又は弗化物を用いることができる。非磁性トンネルバリア層とは、例えば、絶縁体を含み、電圧を印加したときに、トンネル効果による電流（トンネル電流）の流れる非磁性の層である。非磁性トンネルバリア層の厚さは、例えば、２ｎｍ以下である。これにより、電圧を印加したときに、非磁性トンネルバリア層にトンネル電流が流れる。
【０１６７】
第１非磁性層７３には、例えば、Ａｌ２Ｏ３、ＳｉＯ２、ＭｇＯ、ＡｌＮ、Ｔａ−Ｏ、Ａｌ−Ｚｒ−Ｏ、Ｂｉ２Ｏ３、ＭｇＦ２、ＣａＦ２、ＳｒＴｉＯ３、ＡｌＬａＯ３、Ａｌ−Ｎ−Ｏ、または、Ｓｉ−Ｎ−Ｏ等を用いることができる。第１非磁性層７３には、例えば、非磁性半導体（ＺｎＯｘ、ＩｎＭｎ、ＧａＮ、ＧａＡｓ、ＴｉＯｘ、Ｚｎ、Ｔｅ、または、これらに遷移金属がドープされたもの）などを用いることができる。
【０１６８】
第１非磁性層７３の厚さは、約０．２ナノメートル（ｎｍ）以上２．０ｎｍ以下程度の範囲の値とすることが望ましい。これにより、例えば、絶縁膜の均一性を確保しつつ、抵抗が過度に高くなることが抑制される。
【０１６９】
第１導電層７１には、例えば、導電性の磁性材料または導電性の非磁性材料が用いられる。導電性の磁性材料としては、例えば、鉄（Ｆｅ）、コバルト（Ｃｏ）、ニッケル（Ｎｉ）、マンガン（Ｍｎ）及びクロム（Ｃｒ）よりなる群から選択された少なくともいずれかの元素を含む磁性金属を用いることができる。さらに、上記の群から選択された少なくともいずれかと、白金（Ｐｔ）、パラジウム（Ｐｄ）、イリジウム（Ｉｒ）、ルテニウム（Ｒｕ）及びロジウム（Ｒｈ）よりなる群から選択された少なくともいずれかの元素と、を含む合金を用いてもよい。
【０１７０】
第１導電層７１に用いられる導電性の非磁性材料には、例えば、金（Ａｕ）、銅（Ｃｕ）、クロム（Ｃｒ）、亜鉛（Ｚｎ）、ガリウム（Ｇａ）、ニオブ（Ｎｂ）、モリブデン（Ｍｏ）、ルテニウム（Ｒｕ）、パラジウム（Ｐｄ）、銀（Ａｇ）、ハフニウム（Ｈｆ）、タンタル（Ｔａ）、チタン（Ｔｉ）、タングステン（Ｗ）、白金（Ｐｔ）、ビスマス（Ｂｉ）及びアルミニウム（Ａｌ）よりなる群から選択されたいずれかの金属、または、上記の群から選択された２つ以上の金属を含む合金を用いることができる。
【０１７１】
さらに、第１導電層７１に用いられる導電性の非磁性材料は、上記の群から選択された少なくともいずれかの元素を含む、導電性窒化物、導電性酸化物及び導電性弗化物の少なくともいずれかでもよい。第１導電層７１に用いられる導電性の非磁性材料は、カーボンナノチューブ、カーボンナノワイヤ及びグラフェンなどでもよい。
【０１７２】
第２導電層７５は、第２強磁性層７４（記憶層）の磁気モーメントをスイッチングするのに使用され得る強いスピン軌道相互作用を有する膜である。第２導電層７５は、スピン軌道フィールドHsoを生成するのに利用され得る。スピン軌道フィールドは、第２強磁性層７４の磁化に作用するスピン軌道トルクTsoともなり得る。本案では、スピン軌道相互作用が強い材料を第２導電層７５に用いる。このような材料において、スピン軌道相互作用はスピンホール効果とラシュバ効果とを両方を包含するが、２つの中で１つが支配的である。結果的に、スピンホール効果とラシュバ効果とは以下に記述される。スピンホール効果は一般的に本体（ｂｕｌｋ）効果として見なす。しばしばスピンホール効果を示す物質は、重い金属又は重い金属がドーピングされた物質を含む。例えば、そのような物質は、Ａ及びＢがドーピングされたＭから選択され得る。ＡはＹ、Ｚｒ、Ｎｂ、Ｍｏ、Ｔｃ、Ｒｕ、Ｒｈ、Ｐｄ、Ｃｄ、Ｉｎ、Ｓｂ、Ｔｅ、Ｈｆ、Ｔａ（高い抵抗性非晶質のβ−Ｔａを含む）、Ｗ、Ｒｅ、Ｏｓ、Ｉｒ、Ｐｔ、Ａｕ、Ｈｇ、Ｔｌ、Ｐｂ、Ｂｉ、Ｐｏ、Ａｔ、及び／又はそれらの組み合わせを含み、ＭはＡｌ、Ｔｉ、Ｖ、Ｃｒ、Ｍｎ、Ｃｕ、Ｚｎ、Ａｇ、Ｈｆ、Ｔａ、Ｗ、Ｒｅ、Ｐｔ、Ａｕ、Ｈｇ、Ｐｂ、Ｓｉ、Ｇａ、ＧａＭｎ、又はＧａＡｓの中の少なくとも１つを含み、ＢはＶ、Ｃｒ、Ｍｎ、Ｆｅ、Ｃｏ、Ｎｉ、Ｐ、Ｓ、Ｚｎ、Ｇａ、Ｇｅ、Ａｓ、Ｓｅ、Ｙ、Ｚｒ、Ｎｂ、Ｍｏ、Ｔｃ、Ｒｕ、Ｒｈ、Ｐｄ、Ａｇ、Ｃｄ、ＩｎＳｂ、Ｔｅ、Ｉ、Ｌｕ、Ｈｆ、Ｔａ、Ｗ、Ｒｅ、Ｏｓ、Ｉｒ、Ｐｔ、Ａｕ、Ｈｇ、Ｔｌ、Ｐｂ、Ｂｉ、Ｐｏ、Ａｔ、Ｌａ、Ｃｅ、Ｐｒ、Ｎｄ、Ｐｍ、Ｓｍ、Ｅｕ、Ｇｄ、Ｔｂ、Ｄｙ、Ｈｏ、Ｅｒ、Ｔｍ、Ｙｂの中の少なくとも１つを含む。例えば、Ta、 Pd、Cd、Cu、Au、Bi、Ir、Ru、Wなどは、そのまま用いられても良い。例えば、ＩｒがドーピングされたＣｕ及び／又はＢｉがドーピングされたＣｕで構成されるか、或いはこれを包含することができる。
【０１７３】
別のスピン軌道相互作用が強い材料として、スピン軌道フィールドHsoが発生する起源は、界面でのスピン軌道相互作用と関連される。界面での強いスピン軌道効果は界面方向と垂直方向への結晶フィールドの勾配（ｇｒａｎｄｉｅｎｔ）と関連され、しばしばラシュバ効果として言及される。ここでは、これに限定されず、ラシュバ効果は界面でのスピン軌道相互作用を言う。少なくとも所定の実施形態で、相当な大きさのラシュバ効果を得るために、第２導電層７５のための界面は異ならなければならない。例えば、第２導電層７５としてPt膜、第２強磁性層７４としてCo膜、第１非磁性層７３としてMgOを用いた場合、ラシュバ効果が発生し得る。第２導電層７５は、合金であっても良い。例えば、Ｃｕ、Ｚｎ、Ｇａ、Ｇｅ、Ａｓ、Ｓｅ、Ｙ、Ｚｒ、Ｎｂ、Ｍｏ、Ｔｃ、Ｒｕ、Ｒｈ、Ｐｄ、Ａｇ、Ｃｄ、Ｉｎ、Ｓｎ、Ｓｂ、Ｔｅ、Ｉ、Ｌｕ、Ｈｆ、Ｔａ、Ｗ、Ｒｅ、Ｏｓ、Ｉｒ、Ｐｔ、Ａｕ、Ｈｇ、Ｔｌ、Ｐｂ、Ｂｉ、Ｐｏ、Ａｔ、Ｌａ、Ｃｅ、Ｐｒ、Ｎｄ、Ｐｍ、Ｓｍ、Ｅｕ、Ｇｄ、Ｔｂ、Ｄｙ、Ｈｏ、Ｅｒ、Ｔｍ、Ｙｂ、及び／又はそれらの組み合わせの中で少なくとも１つを包含することができる。他の実施形態で、第２導電層７５は、Ａ／Ｂの表面合金（例えば、主な物質であるＢの（１１１）表面に配置されたＡの原子）を包含するが、上部の原子層はＡとＢの混合物である。ＡはＣｕ、Ｚｎ、Ｇａ、Ｇｅ、Ａｓ、Ｓｅ、Ｙ、Ｚｒ、Ｎｂ、Ｍｏ、Ｔｃ、Ｒｕ、Ｒｈ、Ｐｄ、Ａｇ、Ｃｄ、Ｉｎ、Ｓｎ、Ｓｂ、Ｔｅ、Ｉ、Ｌｕ、Ｈｆ、Ｔａ、Ｗ、Ｒｅ、Ｏｓ、Ｉｒ、Ｐｔ、Ａｕ、Ｈｇ、Ｔｌ、Ｐｂ、Ｂｉ、Ｐｏ、Ａｔ、Ｌａ、Ｃｅ、Ｐｒ、Ｎｄ、Ｐｍ、Ｓｍ、Ｅｕ、Ｇｄ、Ｔｂ、Ｄｙ、Ｈｏ、Ｅｒ、Ｔｍ、Ｙｂの中の少なくとも１つを含み、ＢはＳｉ、Ｚｎ、Ｃｕ、Ａｇ、Ａｕ、Ｗ、Ｚｎ、Ｃｒ、Ｐｔ、Ｐｄの中の少なくとも１つを含む。多くの実施形態で、Ａは２つ又は３つの他の物質を含む。
【０１７４】
第２導電層７５の膜厚は、０．５〜１００ｎｍであり、典型的には０．５〜１０ｎｍである。望ましくは５ｎｍ以下である。
【０１７５】
第１導電層７１及び第２導電層７５に導電性の保護膜を設けてもよい。この場合、保護膜には、例えば、タンタル（Ｔａ）、ルテニウム（Ｒｕ）、銅（Ｃｕ）、銅（Ｃｕ）、金（Ａｕ）、銀（Ａｇ）及びアルミニウム（Ａｌ）よりなる群から選択された少なくともいずれかの元素を含む合金、または、グラフェンなどの材料を用いることができる。エレクトロマグレーション耐性及び低抵抗であることを考慮すると、保護膜には、銅（Ｃｕ）及びアルミニウム（Ａｌ）よりなる群から選択されたいずれかの元素、または、これらを含む合金を用いることが望ましい。
【０１７６】
第２導電層７５に後述するスピン軌道相互作用が強い材料を用いて、電流（JSOT）を流すとスピン軌道フィールドHsoが生成される。スピン軌道フィールドは、第２強磁性層７４の磁化に作用するスピン軌道トルクTsoともなり得る。これを用いると、第２強磁性層７４の磁化方向を直接反転させることができ得る。また、電流（JSOT）を流してスピン軌道フィールドHsoを第２強磁性層７４に作用させつつ、電流（JSTT）を流して第２強磁性層７４の磁化方向を反転させても良い。いずれにしても、電流（JSOT）の大きさを変えると、第２強磁性層７４の磁化反転に要する時間を変えることができる。JSTT =0の場合、ある電流（JSOT）で、第２強磁性層７４の磁化方向を０．５ｎｓ以下の時間で変えることが可能である。またそれより大きい電流（JSOT）では、第２強磁性層７４の磁化方向を０．２ｎｓ以下の時間で変えることが可能である。また別の例として有限値としてJSOTが与えられた場合、ある電流（JSTT）で、第２強磁性層７４の磁化方向を０．５ｎｓ以下の時間で変えることが可能である。またそれより大きい電流（JSTT）では、第２強磁性層７４の磁化方向を０．２ｎｓ以下の時間で変えることが可能である。このように、パルス幅が短いほど、磁化反転に必要な電流値が大きくなる。
【０１７７】
第１強磁性層７２の膜厚は０．５〜１５ｎｍであり、典型的には２〜１０ｎｍである。第２強磁性層７４の膜厚は０．１〜５ｎｍであり、望ましくは3 nm以下が良い。
【０１７８】
第２導電層７５の膜厚は、０．５〜１００ｎｍであり、典型的には０．５〜１０ｎｍである。望ましくは５ｎｍ以下である。
【０１７９】
第２導電層７５の膜厚が薄いほど、第２強磁性層７４の磁化が反転するために必要な電流が小さくできるため好ましい。
【０１８０】
第１強磁性層７２と第２強磁性層７４を垂直磁化とした場合、微細化に適する。その結果、メモリセルアレイ１１の集積度を高めることができる。これは配線長が短くなるので、アクセスサイクルが短くなり、処理性能が上がる。
【０１８１】
外部から磁界を印加しても良い。その印加方向は、主成分がxy平面にあることが望ましい。例えば、面内磁界である。
【０１８２】
第１強磁性層７２と第２強磁性層７４を面内磁化とした場合、ＭＴＪの断面形状を扁平にしても良い。これにより、面内磁化状態が保たれやすくなる。面内磁化の場合、スピン軌道フィールドを作用させやすいため、ＭＴＪのサイズをある程度大きくしても磁化反転させることができる。その結果、ＭＴＪは熱擾乱に対して記憶した情報が失われにくくなる。 
【０１８３】
第２強磁性層７４にとってシフト磁界をキャンセルするように、外部から磁界を印加しても良い。その印加方向は、主成分がxy平面にあることが望ましい。例えば、面内磁界である。
【０１８４】
＜垂直磁化ＭＴＪ＞
第１強磁性層７２は、例えば、第１の磁化固定層として機能する。第１強磁性層７２においては、例えば、磁化が膜面に対して略垂直方向に固定されている。第１強磁性層７２の磁化の方向は、積層方向ＳＤ１と略平行である。
【０１８５】
第２強磁性層７４は、例えば、磁気記憶層として機能する。磁化の方向は、膜面に対して略垂直方向で、積層方向ＳＤ１と略平行である。磁化の方向は、反転可能である。第１強磁性層７２と第２強磁性層７４を垂直磁化とした場合、微細化に適する。その結果、メモリセルアレイ１１の集積度を高めることができる。これは配線長が短くなるので、アクセスサイクルが短くなり、処理性能が上がる。外部から磁界を印加しても良い。 その場合、主成分をｘｙ平面に有することが望ましい。
【０１８６】
＜面内磁化ＭＴＪ＞
第１強磁性層７２は、例えば、第１の磁化固定層として機能する。第１強磁性層７２においては、例えば、磁化が膜面に対して略平行方向に固定されている。第１強磁性層７２の磁化の方向は、積層方向ＳＤ１と略垂直である。
【０１８７】
第２強磁性層７４は、例えば、磁気記憶層として機能する。磁化の方向は、膜面に対して略平行方向で、積層方向ＳＤ１と略垂直である。磁化の方向は、反転可能である。
【０１８８】
第１強磁性層７２と第２強磁性層７４を面内磁化とした場合、ＭＴＪの断面形状を扁平にしても良い。これにより、面内磁化状態が保たれやすくなる。面内磁化の場合、スピン軌道フィールドを作用させやすいため、ＭＴＪのサイズをある程度大きくしても磁化反転させることができる。その結果、ＭＴＪは熱擾乱に対して記憶した情報が失われにくくなる。外部から磁界を印加しても良い。その場合、主成分をｘｙ平面に有することが望ましい。
【０１８９】
（電圧印加による異方性変化型MRAMを用いる例）
不揮発メモリとして、磁気抵抗効果型メモリ(電圧印加による異方性変化型MRAM)を用いる場合について説明する。第１強磁性層とは、磁化の方向が固定された参照層である。第２強磁性層とは、磁化の方向が可変である記憶層である。第１強磁性層と第２強磁性層の間に、第１非磁性層（スペーサー層）がある。
【０１９０】
第１強磁性層と第２強磁性層のどちらかは、第１導電層に直接、あるいは間接的に接続されている。また、第１強磁性層と第２強磁性層のどちらかは、第２導電層に直接、あるいは間接的に接続されている。
【０１９１】
第１導電層、第１強磁性層、第１非磁性層、第２強磁性層、第２導電層の積層体を積層体SB1と名付ける。
【０１９２】
ここで、第１強磁性層と第２強磁性層を構成する材料は、前記ＳＴＴ−ＭＲＡＭの場合と同様である。また、第１非磁性層、第１導電層、第２導電層を構成する材料においても、前記ＳＴＴ−ＭＲＡＭの場合と同様である。
【０１９３】
ここで、積層体SB1を含む磁気記憶素子と、積層方向に対して垂直な第１面内方向の成分を含む磁界を前記第２強磁性層に印加する磁界印加部と、を含む記憶部と、前記磁気記憶素子と電気的に接続され、前記磁気記憶素子の前記第１強磁性層と前記第２強磁性層との間の電圧を第１設定電圧から第２設定電圧に変化させる設定動作を実施する制御部と、を備え、前記第１設定電圧から前記第２設定電圧に変化させたときの前記第２強磁性層の異方性磁界の前記積層方向の成分の変化をΔＨ（エルステッド）とし、前記第２強磁性層の異方性磁界の前記積層方向の成分をＨｕ（エルステッド）とし、前記磁界印加部の印加する前記磁界の前記第１面内方向の成分をＨｅｘｔ（エルステッド）とし、前記第２強磁性層の異方性磁界の前記第１面内方向の成分をＨｄｘ（エルステッド）とするとき、前記磁界印加部の印加する前記磁界は、以下の（１）式で表される条件を満足する不揮発性記憶装置である場合、電圧を印加することで第２強磁性層の磁気異方性が変化して磁化反転を起こす。この場合、第２設定電圧の大きさによって、磁化反転の速度が変化するため、電圧でメモリ特性を変更することが可能である。
【０１９４】
【数２】
2019028569.tif 000004
【０１９５】
また、別の例においては下記であっても良い。第１強磁性層とは、磁化の方向が固定された参照層である。第２強磁性層とは、磁化の方向が可変である記憶層である。第１強磁性層と第２強磁性層の間に、第１非磁性層（スペーサー層）がある。
【０１９６】
第１強磁性層と第２強磁性層のどちらかは、第１導電層に直接、あるいは間接的に接続されている。また、第１強磁性層と第２強磁性層のどちらかは、第２導電層に直接、あるいは間接的に接続されている。
【０１９７】
第１導電層、第１強磁性層、第１非磁性層、第２強磁性層、第２導電層の積層体を積層体SB1と名付ける。
【０１９８】
ここで、第１強磁性層と第２強磁性層を構成する材料は、前記ＳＴＴ−ＭＲＡＭの場合と同様である。また、第１非磁性層、第１導電層、第２導電層を構成する材料においても、前記ＳＴＴ−ＭＲＡＭの場合と同様である。
【０１９９】
積層体SB1は、第２強磁性層部分の一部分以上が第三導電層で取り囲まれたような構造である。第三導電層と積層体SB1は、前記ＳＴＴ−ＭＲＡＭで記述した保護層を介して接していて、両者の間に導通はない。第三導電層には電圧を印加することができる。この場合、第２強磁性層に対する書き込み動作を行う際に、第三導電層に対して同時（あるいは先）に電圧を印加すると、第２強磁性層の磁気異方性が変化して、ある電流に対する磁化反転を速めることが可能である。磁化反転の速度が変化するため、電圧でメモリ特性を変更することが可能である。
【０２００】
（磁壁移動型メモリを用いる例）
不揮発メモリとして、磁壁移動型メモリ（磁壁移動型ＭＲＡＭ）を用いる場合について説明する。第１強磁性層とは、磁化の方向が固定された参照層である。第２強磁性層とは、磁化の方向が可変である記憶層である。第２強磁性層は、磁壁を含む。第１強磁性層と第２強磁性層の間に、第１非磁性層（スペーサー層）がある。
【０２０１】
第１強磁性層と第２強磁性層のどちらかは、第１導電層に直接、あるいは間接的に接続されている。また、第１強磁性層と第２強磁性層のどちらかは、第２導電層に直接、あるいは間接的に接続されている。
【０２０２】
第１導電層、第１強磁性層、第１非磁性層、第２強磁性層、第２導電層の積層体を積層体ＳＢ１と名付ける。図４５は積層体ＳＢ１を表した模式図である。簡略化のため、ここでは第２導電層が描いていない。
【０２０３】
ここで、第１強磁性層と第２強磁性層を構成する材料は、前記ＳＴＴ−ＭＲＡＭの場合と同様である。また、第１非磁性層、第１導電層、第２導電層を構成する材料においても、前記ＳＴＴ−ＭＲＡＭの場合と同様である。ＪＭＤ１は書き込み時の電流を表し、ＪＭＤ２は読み出し時に用いる電流を表す。
【０２０４】
＜垂直磁化ＭＴＪ＞
第１強磁性層７２は、例えば、第１の磁化固定層として機能する。第１強磁性層７２においては、例えば、磁化が膜面に対して略垂直方向に固定されている。第１強磁性層７２の磁化の方向は、積層方向ＳＤ１と略平行である。
【０２０５】
第２強磁性層７４は、例えば、磁気記憶層として機能する。第２強磁性層の磁化の向きは、膜面に対して略垂直方向で、積層方向ＳＤ１と略平行である。
【０２０６】
第２強磁性層は、磁化が上向きの領域と下向きの領域を含む。すなわち、磁壁を含む。磁壁の境界は電流ＪＭＤ１によってｘ方向に移動することが可能である。例えば、図４６のように、第一強磁性層の磁化の向きが下向きであり、図面上、第一強磁性層の下に位置する領域において第２強磁性層の磁化の向きが上向きの場合、積層体ＳＢ１は磁化が反平行状態であることを意味する。この場合、読み出し電流ＪＭＤ２を流すと、高抵抗として観測される。
【０２０７】
図４６において、書き込み電流ＪＭＤ１を流すと、磁壁の位置がｘ方向に移動する。これにより、図面上、第一強磁性層の下に位置する領域において、第２強磁性層の磁化の向きが下向きとなると、積層体ＳＢ１は磁化が平行状態となる。この場合、読み出し電流ＪＭＤ２を流すと、低抵抗として観察される。
【０２０８】
＜面内磁化ＭＴＪ＞
第１強磁性層７２は、例えば、第１の磁化固定層として機能する。第１強磁性層７２においては、例えば、磁化が膜面に対して略平行方向に固定されている。第１強磁性層７２の磁化の方向は、積層方向ＳＤ１と略垂直である。
【０２０９】
第２強磁性層７４は、例えば、磁気記憶層として機能する。第２強磁性層の磁化の方向は、膜面に対して略平行方向で、積層方向ＳＤ１と略垂直である。第２強磁性層は、磁化が右向きの領域と左向きの領域を含む。すなわち、磁壁を含む。磁壁の移動方法や抵抗状態は、上述した垂直磁化ＭＴＪの場合と同じである。
【０２１０】
特にＭｎＳｉ、ＦｅＧｅ、Ｃｕ２ＯＳｅＯ３、ＢａＦｅ１２−ｘＳｃｘＯ１９、Ｌａ２−ｘＳｒ１＋ｘＭｎ２Ｏ７、Ｆｅ１−ｘＣｏｘＳｉ、Ｍｎ１−ｘＦｅｘＧｅ、Ｍｎ１−ｘＦｅｘＳｉ、Ｂａ（Ｆｅ１-ｘ-０．０５ＳｃｘＭｇ０．０５）１２Ｏ１９などの材料を用いた場合に、磁性体中にスピン渦構造（Ｓｋｙｒｍｉｏｎ、スキルミオン）を作る場合がある。ＭｎＳｉやＦｅＧｅのように、Ｂ２０型構造など反転対称性を持たないカイラルな結晶構造をもつ材料を第２強磁性層６４に用いて薄膜化するとスキルミオンが形成されやすいので、上述した材料に限らずスキルミオンを形成する材料であれば、本案の第２強磁性層６４として用いることができる。スキルミオンは、トポロジカルな安定性に加え、磁壁に比べて低い電流密度で駆動させることができる。例えば、ＪＭＤ１を磁壁の場合よりも小さくすることができる。
【０２１１】
＜面内磁化と垂直磁化が混在したＭＴＪ＞
図４３において、第１強磁性層６２は、例えば、第１の磁化固定層として機能する。第１強磁性層６２においては、例えば、磁化が膜面に対して略垂直方向に固定されている。第１強磁性層６２の磁化の方向は、積層方向ＳＤ１と略平行である。第２強磁性層６４は、例えば、磁気記憶層として機能する。第２強磁性層の磁化の方向は、膜面に対して略平行方向で、積層方向ＳＤ１と略垂直である。
【０２１２】
この場合、第二強磁性層は電流が流れた時に周期的な回転運動をする。これを発振と呼ぶ場合がある。この場合、第三強磁性層をさらに積層方向に設け、その磁化方向を膜面に対して略平行方向とし、且つ、その向きを固着させる。これは電流を流して磁化状態を読みだす際のレファレンス層として機能する。すると、第二強磁性層に電流を流す時間によって、磁化の向きを変えることができることができる。また、このような素子をスピントルクオシレーターと呼ぶこともある。
【０２１３】
図４３において、第１強磁性層６２は、例えば、第１の磁化固定層として機能する。第１強磁性層６２においては、例えば、磁化が膜面に対して略平行方向に固定されている。第１強磁性層６２の磁化の方向は、積層方向ＳＤ１と略垂直である。第２強磁性層６４は、例えば、磁気記憶層として機能する。第２強磁性層の磁化の方向は、膜面に対して略垂直方向で、積層方向ＳＤ１と略平行である。
【０２１４】
この場合、第二強磁性層は電流が流れた時に周期的な回転運動をする。これを発振と呼ぶ場合がある。この場合、第三強磁性層をさらに積層方向に設け、その磁化方向を膜面に対して略垂直方向とし、且つ、その向きを固着させる。これは電流を流して磁化状態を読みだす際のレファレンス層として機能する。すると、第二強磁性層に電流を流す時間によって、磁化の向きを変えることができることができる。また、このような素子をスピントルクオシレーターと呼ぶこともある。
【０２１５】
（抵抗変化型メモリを用いる例）
不揮発メモリとして、抵抗変化型メモリを用いる場合について記述する。抵抗変化型メモリは、第１の電極と、第２の電極と、第１及び第２の電極間に接続され、第１及び第２の抵抗状態間を可逆的に変化可能な抵抗変化膜とを備える。第１及び第２の電極の上下関係は、特に限定されない。例えば、第２の電極が第１の電極の上部に存在していてもよいし、第１の電極が第２の電極の上部に存在していてもよい。また、第１及び第２の電極、及び、抵抗変化膜は、それぞれ、単層構造であってもよいし、複数層を備える多層構造であってもよい。さらに、第１及び第２の電極、及び、抵抗変化膜を備える抵抗変化素子に、ダイオードを直列接続してもよい。第１及び第２の電極は、Ｎｉ、Ｐｔ、Ａｕ、Ａｇ、Ｃｕ、Ｒｕ、Ｉｒ、Ｃｏ、Ｔｉ、Ａｌ、Ｒｈ、Ｎｂ、Ｗなどの金属、不純物がドープされたポリシリコンなどの導電性半導体、又は、これら金属と導電性半導体のシリサイドを備える。また、第１及び第２の電極は、ＴｉＡｌＮ、ＳｒＲｕＯ３、ＲｕＮ、ＴｉＮ、ＴａＮ、ＬａＮｉＯｘ、ＰｔＩｒＯｘ、ＰｔＲｈＯｘ、ＴａＡｌＮ、ＩｎＳｎＯｘなどの化合物を備えていてもよい。抵抗変化膜は、ＨｆＯｘ、ＳｉＯｘ、ＴａｘＯｙ、ＺｎＯ、ＴｉＯ２、ＮｉＯ、ＷＯｘ、Ｎｂ２Ｏ５、ＣｕＯ２、ＡｌｘＯｙ、ＣｏＯ、Ｆｅ２Ｏ３、ＳｒＴｉＯ３、ＳｒＺｒＯ３、（ＢａＳｒ）ＴｉＯ３、などの金属酸化物を備える。抵抗変化膜は、少なくとも２つの抵抗状態を可逆的に変化可能である。
【０２１６】
この場合も、メモリに加える電圧値を変えると、状態変化に必要な時間はＳＴＴ−ＭＲＡＭと同様に変化する。
【０２１７】
（位相変化型メモリを用いる例）
不揮発メモリとして、位相変化型メモリを用いる場合について記述する。位相変化型メモリは、第１の電極と、第２の電極と、第１及び第２の電極間に接続され、第１及び第２の抵抗状態間を可逆的に変化可能な抵抗変化膜とを備える。第１及び第２の電極の上下関係は、特に限定されない。例えば、第２の電極が第１の電極の上部に存在していてもよいし、第１の電極が第２の電極の上部に存在していてもよい。また、第１及び第２の電極、及び、抵抗変化膜は、それぞれ、単層構造であってもよいし、複数層を備える多層構造であってもよい。さらに、第１及び第２の電極、及び、抵抗変化膜を備える抵抗変化素子に、ダイオードを直列接続してもよい。第１及び第２の電極は、Ｎｉ、Ｐｔ、Ａｕ、Ａｇ、Ｃｕ、Ｒｕ、Ｉｒ、Ｃｏ、Ｔｉ、Ａｌ、Ｒｈ、Ｎｂ、Ｗなどの金属、不純物がドープされたポリシリコンなどの導電性半導体、又は、これら金属と導電性半導体のシリサイドを備える。また、第１及び第２の電極は、ＴｉＡｌＮ、ＳｒＲｕＯ３、ＲｕＮ、ＴｉＮ、ＴａＮ、ＬａＮｉＯｘ、ＰｔＩｒＯｘ、ＰｔＲｈＯｘ、ＴａＡｌＮ、ＩｎＳｎＯｘなどの化合物を備えていてもよい。抵抗変化膜は、カルコゲナイド（Ｃｈａｌｃｏｇｅｎｉｄｅ）をベースとした材料とその他の材料を含んでいて良い。例えば、カルコゲナイドは、周期表ＶＩＡ族のＯ（ｏｘｙｇｅｎ）、Ｓ（ｓｕｌｆｕｒ）、Ｓｅ（Ｓｅｌｅｎｉｕｍ）、Ｔｅ（ｔｅｌｌｕｒｉｕｍ）などを含んでいても良い。カルコゲナイドはＩＶＡ族のＧｅ（ｇｅｒｍａｎｉｕｍ）、Ｓｎ（ｔｉｎ）などを含んでも良い。カルコゲナイドは、Ｓｂ（ａｎｔｉｍｏｎｙ）、Ｇａ（ｇａｌｌｉｕｍ）、Ｉｎ（ｉｎｄｉｕｍ）、Ａｇ（ｓｉｌｖｅｒ）を含んでも良い。これ以外にも、Ｇａ／Ｓｂ、Ｉｎ／Ｓｂ、Ｉｎ／Ｓｅ、Ｓｂ／Ｔｅ、Ｇｅ／Ｔｅ、Ｇｅ／Ｓｂ／Ｔｅ、Ｉｎ／Ｓｂ／Ｔｅ、Ｇａ／Ｓｅ／Ｔｅ、Ｓｎ／Ｓｂ／Ｔｅ、Ｉｎ／Ｓｂ／Ｇｅ、Ａｇ／Ｉｎ／Ｓｂ／Ｔｅ、Ｇｅ／Ｓｎ／Ｓｂ／Ｔｅ／、Ｇｅ／Ｓｂ／Ｓｅ／Ｔｅ、Ｔｅ／Ｇｅ／Ｓｂ／Ｓなどの化合物で形成されていても良い。例えば、Ｇｅ／Ｓｂ／Ｔｅを例にとると、ＴｅａＧｅｂＳｂ１００−（ａ＋ｂ）という化合物が例に挙げられる。この他の例としては、Ｇｅ２Ｓｂ２Ｔｅ５、ＧｅＳｂ２Ｔｅ４、ＧｅＳｂ４Ｔｅ７などが挙げられる。抵抗変化膜は、Ｃｒ（ｃｈｒｏｍｉｕｍ）、Ｆｅ（ｉｒｏｎ）、Ｎｉ（ｎｉｃｋｅｌ）、Ｎｂ（ｎｉｏｂｉｕｍ）、Ｐｄ（ｐａｌｌａｄｉｕｍ）、Ｐｔ（ｐｌａｔｉｎｕｍ）などの遷移金属を含んでいても良い。これらは、先のＧｅ／Ｓｂ／Ｔｅと混合物や化合物を形成しても良い。
【０２１８】
この場合も、メモリに加える電圧値を変えると、状態変化に必要な時間はＳＴＴ−ＭＲＡＭと同様に変化する。
以上に説明した本実施形態によるメモリシステムは、読み書きが可能な複数のメモリセルを有する不揮発メモリと、信号処理経路又は信号処理ノードの重みに応じて、前記不揮発メモリの書込み電圧の電圧値またはパルス幅の少なくとも一方を制御する書込み電圧制御部と、前記書込み電圧制御部で制御された前記書込み電圧を用いて、前記複数のメモリセルのうち２以上のメモリセル群にデータを書き込む書込み部と、前記書込み部にてデータを書き込んだときに、前記メモリセル群の反転確率を検出する反転確率検出部と、前記検出された反転確率を重みに変換する重み変換部と、を備える。
【０２１９】
書込み部は、書込み電圧制御部で制御された書込み電圧を用いて、複数のメモリセルのうち２以上のメモリセル群に一括してデータを書き込んでもよい。反転確率とは、メモリセル群のうち論理が反転したメモリセルの個数の割合を表している。
【０２２０】
前記重み変換部で変換された重みと、前記書込み電圧制御部が前記書込み電圧を制御するのに用いた重みと、の差分を検出する差分検出部と、前記差分に基づいて、前記書込み電圧制御部が前記書込み電圧を制御するのに用いる重みを更新する重み更新部と、を備え、前記書込み電圧制御部は、前記重み更新部で更新された重みに応じて、前記書込み電圧の電圧値及びパルス幅の少なくとも一方を制御してもよい。
【０２２１】
前記重み更新部は、前記差分に所定の更新係数を乗じた値に基づいて、前記書込み電圧制御部が前記書込み電圧を制御するのに用いる重みを更新してもよい。
【０２２２】
前記書込み電圧制御部は、信号処理経路又は信号処理ノードに重みが割り当てられた所定の信号処理ネットワークで演算処理を行う場合のエネルギーが最小となる重みに応じて、前記書込み電圧の電圧値及びパルス幅の少なくとも一方を制御してもよい。
【０２２３】
複数の重みの和を計算する重み和計算部を備え、前記書込み電圧制御部は、前記重み和計算部にて計算された重みに応じて、前記書込み電圧の電圧値及びパルス幅の少なくとも一方を制御してもよい。
【０２２４】
前記メモリセル群は、重みをアナログ値として書き込むのに必要な個数設けられ、前記メモリセル群には、前記書込み電圧制御部にて制御された前記書込み電圧にて、一括して同じデータが書き込まれてもよい。
【０２２５】
前記メモリセル群は、重みを２進数で表したビット列のビット数分設けられ、前記メモリセル群には、前記書込み電圧制御部にて制御された前記書込み電圧にて、前記ビット列分の各配線にデータが一括して書き込まれてもよい。
【０２２６】
前記メモリセル群は、重みの種類の数だけ設けられ、前記メモリセル群には、前記書込み電圧制御部にて制御された前記書込み電圧にて、前記重みの種類の数分の各配線にデータが一括して書き込まれてもよい。
【０２２７】
前記不揮発メモリは、重みをアナログ値として書き込むのに必要な個数分の第１群のメモリセルと、重みを２進数で表したビット列分のビット数分の第２群のメモリセルと、を有し、前記書込み部は、前記第１群のメモリセルを用いて前記反転確率の更新が完了すると、完了時の前記反転確率に対応する重みの情報を前記第２群のメモリセルに書き込んでもよい。
【０２２８】
前記不揮発メモリは、前記第１群のメモリセルとは別の領域に設けられ、重みをアナログ値として書き込むのに必要な個数分の第３群のメモリセルを有し、前記書込み部は、前記第１群のメモリセル及び前記第３群のメモリセルを用いた、それぞれ異なる重みに対応する前記反転確率の更新が完了すると、完了時の前記第１群のメモリセル及び前記第３群のメモリセルの前記反転確率に対応する重みの情報を前記第２群のメモリセルに書き込んでもよい。
【０２２９】
前記不揮発メモリにおける前記反転確率の更新が完了した後に、前記メモリセル群に記憶されたデータを一括して、又は順次に読み出す読み出し部を備えてもよい。
前記読み出し部にて読み出したデータに含まれる前記反転確率に応じた重みに所定の信号を乗じる積和演算処理を行う積和演算部を備えてもよい。
【０２３０】
前記読み出し部は、前記第１群のメモリセルに記憶されたデータを順次に読み出すセンスアンプ、又は前記第１群のメモリセルに記憶されたデータに応じた電流の和を検出する電流和回路を有してもよい。
【０２３１】
前記メモリセル群を含むメモリセル領域は、それぞれ別個の重みに対応する、第１方向に配列された複数の第１配線と、前記第１方向に交差する第２方向に配列され、重みの値を記憶または読み出すための複数の第２配線と、を有し、前記書込み部は、前記複数の第１配線のうちいずれかの第１配線が駆動される際には、前記複数の第２配線の一部又は全部に同一の前記書込み電圧を供給してもよい。
【０２３２】
前記メモリセル群を含むメモリセル領域は、それぞれ別個の複数の重みに対応する、第１方向に配列された複数の第１配線と、前記第１方向に交差する第２方向に配列され、重みの値を記憶または読み出すための複数の第２配線と、前記複数の第２配線のうち２以上の第２配線の群ごとに設けられる複数の読み出し部と、を有し、前記書込み部は、前記複数の読み出し部のそれぞれに対応する前記第２配線の群の中から一つずつを一括して選択して、一括して選択した複数の第２配線を一括して駆動して複数のメモリセルのそれぞれに重みのデータを書き込む処理を、前記第２配線の群の中のすべての第２配線を選択するまで繰り返し行い、前記複数の読み出し部のそれぞれは、前記第２配線の群の中から一つずつを一括して選択して、一括して選択した複数の第２配線に接続された複数のメモリセルから一括して重みのデータを読み出す処理を、前記第２配線の群の中のすべての第２配線を選択するまで繰り返し行ってもよい。
【０２３３】
前記複数の第２配線のそれぞれは、論理が互いに逆の一対の配線を有し、前記複数の第２配線のそれぞれが有する前記一対の配線のうち一方は、共通の電位に設定されてもよい。
【０２３４】
本実施形態による半導体記憶装置は、読み書きが可能な複数のメモリセルを有する不揮発メモリセルアレイと、信号処理経路又は信号処理ノードの重みに応じて、前記不揮発メモリセルアレイの書込み電圧の電圧値及びパルス幅の少なくとも一方を制御する書込み電圧制御部と、前記書込み電圧制御部で制御された前記書込み電圧にて、前記複数のメモリセルのうち２以上のメモリセル群に一括してデータを書き込む書込み部と、前記書込み部にてデータを書き込んだときに、前記メモリセル群のうち論理が反転したメモリセルの個数の割合を表す反転確率を検出する反転確率検出部と、を備える。
【０２３５】
本実施形態による信号処理システムは、信号処理経路又は信号処理ノードの重みを含む信号処理ネットワークを構築するネットワーク構築部と、前記重みを記憶する不揮発メモリと、前記不揮発メモリから前記重みを読み出して、前記信号処理ネットワークに従って演算処理を行う情報処理部と、を備え、前記不揮発メモリは、読み書きが可能な複数のメモリセルと、前記信号処理ネットワークの重みに応じて、前記不揮発メモリの書込み電圧の電圧値及びパルス幅の少なくとも一方を制御する書込み電圧制御部と、前記書込み電圧制御部で制御された前記書込み電圧にて、前記複数のメモリセルのうち２以上のメモリセル群に一括してデータを書き込む書込み部と、前記書込み部にてデータを書き込んだときに、前記メモリセル群のうち論理が反転したメモリセルの個数の割合を表す反転確率を検出する反転確率検出部と、を有する。
【０２３６】
このように、本実施形態では、信号処理経路又は信号処理ノードの重みに応じて、不揮発メモリの書込み電圧を制御して不揮発メモリへの書込みを行い、不揮発メモリから読み出したデータの反転確率を重みに変換して信号処理に利用するため、不揮発メモリを重みの記憶に用いることができる。
【０２３７】
ニューラルネットワーク等の信号処理ネットワークでは、信号処理の過程で、多数の重みを用いた演算を高速に行う必要があるが、本実施形態では、書込み電圧の制御により反転確率が変化する不揮発メモリを積極的に用いて、反転確率の違いを利用して、重みのデータを不揮発メモリに記憶できる。例えば、ＭＴＪ素子１６ｂに代表されるＭＲＡＭは、書込み耐性に優れるという特徴があるものの、書込み電圧の電圧値やパルス幅により反転確率が変化する特性を有するが、この特性を利用して、重みの記憶に用いることができる。
【０２３８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２３９】
１  信号処理システム、２  ネットワーク構築部、３  不揮発メモリ、４  情報処理部、１０  メモリシステム、１１  メモリセルアレイ、１２  コントローラ、１３  コマンドデコーダ、１４  アドレスデコーダ、１５  Ｉ／Ｏバッファ、１６  メモリセル、１７  ロウデコーダ、１８  ワード線ドライバ、１９  センスアンプ、２０  データラッチ、２１  カラムデコーダ、２２  読み出し部、２３  積和演算部、２４  書込み部、３１  書込み電圧制御部、３２  反転確率検出部、３３  重み変換部、３４  差分検出部、３５  重み更新部、３６  重み和計算部、４０  ＰＣ
【図１】
2019028569.tif 000005
【図２】
2019028569.tif 000006
【図３】
2019028569.tif 000007
【図４】
2019028569.tif 000008
【図５】
2019028569.tif 000009
【図６Ａ】
2019028569.tif 000010
【図６Ｂ】
2019028569.tif 000011
【図６Ｃ】
2019028569.tif 000012
【図７】
2019028569.tif 000013
【図８】
2019028569.tif 000014
【図９】
2019028569.tif 000015
【図１０Ａ】
2019028569.tif 000016
【図１０Ｂ】
2019028569.tif 000017
【図１１Ａ】
2019028569.tif 000018
【図１１Ｂ】
2019028569.tif 000019
【図１２Ａ】
2019028569.tif 000020
【図１２Ｂ】
2019028569.tif 000021
【図１３Ａ】
2019028569.tif 000022
【図１３Ｂ】
2019028569.tif 000023
【図１３Ｃ】
2019028569.tif 000024
【図１３Ｄ】
2019028569.tif 000025
【図１４Ａ】
2019028569.tif 000026
【図１４Ｂ】
2019028569.tif 000027
【図１５Ａ】
2019028569.tif 000028
【図１５Ｂ】
2019028569.tif 000029
【図１６】
2019028569.tif 000030
【図１７】
2019028569.tif 000031
【図１８】
2019028569.tif 000032
【図１９】
2019028569.tif 000033
【図２０】
2019028569.tif 000034
【図２１】
2019028569.tif 000035
【図２２】
2019028569.tif 000036
【図２３】
2019028569.tif 000037
【図２４】
2019028569.tif 000038
【図２５】
2019028569.tif 000039
【図２６】
2019028569.tif 000040
【図２７】
2019028569.tif 000041
【図２８】
2019028569.tif 000042
【図２９】
2019028569.tif 000043
【図３０】
2019028569.tif 000044
【図３１Ａ】
2019028569.tif 000045
【図３１Ｂ】
2019028569.tif 000046
【図３２Ａ】
2019028569.tif 000047
【図３２Ｂ】
2019028569.tif 000048
【図３３】
2019028569.tif 000049
【図３４】
2019028569.tif 000050
【図３５】
2019028569.tif 000051
【図３６】
2019028569.tif 000052
【図３７】
2019028569.tif 000053
【図３８】
2019028569.tif 000054
【図３９】
2019028569.tif 000055
【図４０】
2019028569.tif 000056
【図４１】
2019028569.tif 000057
【図４２】
2019028569.tif 000058
【図４３】
2019028569.tif 000059
【図４４】
2019028569.tif 000060
【図４５】
2019028569.tif 000061
【図４６】
2019028569.tif 000062