JP2022125660A - 記憶装置及び記憶方法 - Google Patents
記憶装置及び記憶方法 Download PDFInfo
- Publication number
- JP2022125660A JP2022125660A JP2021023376A JP2021023376A JP2022125660A JP 2022125660 A JP2022125660 A JP 2022125660A JP 2021023376 A JP2021023376 A JP 2021023376A JP 2021023376 A JP2021023376 A JP 2021023376A JP 2022125660 A JP2022125660 A JP 2022125660A
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- wirings
- memory cells
- memory cell
- memory
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
- G11C11/225—Auxiliary circuits
- G11C11/2273—Reading or sensing circuits or methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
- G11C11/221—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements using ferroelectric capacitors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
- G11C11/225—Auxiliary circuits
- G11C11/2275—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
- G11C11/225—Auxiliary circuits
- G11C11/2277—Verifying circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/003—Cell access
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0033—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0064—Verifying circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
- G11C2013/0073—Write using bi-directional cell biasing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2213/00—Indexing scheme relating to G11C13/00 for features not covered by this group
- G11C2213/70—Resistive array aspects
- G11C2213/77—Array wherein the memory element being directly connected to the bit lines and word lines without any access device being used
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Power Engineering (AREA)
- Semiconductor Memories (AREA)
Abstract
【課題】データの信頼性を向上させること。【解決手段】実施形態の記憶装置は、複数の第1配線と、複数の第2配線と、複数の第1メモリセルと、制御回路と、を含む。制御回路は、制御対象の状態に関する情報を取得することが可能であり、状態に基づいた行動を制御対象に実行させることが可能であり、状態に基づいて読み出し動作及び書き込み動作のそれぞれを実行することが可能である。1回目からm回目(mは2以上の整数)の試行処理の罰則処理において、制御回路は、選択された第1配線と非選択の第2配線とに接続された第1メモリセルに対する書き込み動作を省略する。(m+1)回目以降の試行処理の罰則処理において、制御回路は、選択された第1配線と非選択の第2配線とに接続された第1メモリセルに対して、第1方向の書き込み電圧を印加する。【選択図】図13
Description
実施形態は、記憶装置及び記憶方法に関する。
データを不揮発に記憶することが可能なクロスポイント型メモリセルアレイを有する記憶装置が知られている。
データの信頼性を向上させること。
実施形態の記憶装置は、複数の第1配線と、複数の第2配線と、複数の第1メモリセルと、制御回路と、を含む。複数の第2配線の各々は、複数の第1配線と交差して設けられる。複数の第1メモリセルは、複数の第1配線と複数の第2配線との間の複数の交差部分にそれぞれ設けられる。複数の第1メモリセルの各々は、複数の第1配線のうち1つの第1配線と複数の第2配線のうち1つの第2配線とに接続される。制御回路は、制御対象の状態に関する情報を取得することが可能であり、状態に基づいた行動を制御対象に実行させることが可能であり、状態に基づいて読み出し動作及び書き込み動作のそれぞれを実行することが可能である。制御回路は、各々が第1動作と第2動作と第3動作とを含む複数の試行処理を実行する。第1動作において、制御回路は、制御対象が第1状態であることに基づいて複数の第1配線から選択された第1配線と、複数の第2配線との間に接続された複数の第1メモリセルに対する第1読み出し動作を実行し、第1読み出し動作により取得された前記複数の第2配線のそれぞれの読み出し電流の大きさに基づいて第2配線を選択する。第2動作において、制御回路は、選択された第2配線に関連付けられた行動を制御対象に実行させ、制御対象の状態が第2状態に遷移する。第3動作において、制御回路は、制御対象が第2状態であることに基づいて、選択された第1配線を対象とした第1処理又は第2処理を実行する。第1処理において、制御回路は、選択された第1配線と選択された第2配線とに接続された第1メモリセルに、第1方向の書き込み電圧を印加し、選択された第1配線と非選択の第2配線とに接続された第1メモリセルに、第1方向と異なる第2方向の書き込み電圧を印加する。1回目からm回目(mは2以上の整数)の試行処理の第2処理において、制御回路は、選択された第1配線と選択された第2配線とに接続された第1メモリセルに、第2方向の書き込み電圧を印加し、選択された第1配線と非選択の第2配線とに接続された第1メモリセルに対する書き込み動作を省略する。(m+1)回目以降の試行処理の第2処理において、制御回路は、選択された第1配線と選択された第2配線とに接続された第1メモリセルに、第2方向の書き込み電圧を印加し、選択された第1配線と非選択の第2配線とに接続された第1メモリセルに対して、第1方向の書き込み電圧を印加する。
以下に、実施形態について図面を参照して説明する。図面は、模式的又は概念的なものである。各図面の寸法及び比率等は、必ずしも現実のものと同一とは限らない。以下の説明において、略同一の機能及び構成を有する構成要素については、同一の符号が付されている。参照符号を構成する文字の後の数字等は、同じ文字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために使用される。同じ文字を含んだ参照符号で示される要素を相互に区別する必要がない場合、これらの要素は文字のみを含んだ参照符号により参照される。
[1]第1実施形態
第1実施形態に係る記憶装置1は、強化学習に使用可能なメモリシステムの一種である。以下に、第1実施形態に係る記憶装置1について説明する。
第1実施形態に係る記憶装置1は、強化学習に使用可能なメモリシステムの一種である。以下に、第1実施形態に係る記憶装置1について説明する。
[1-1]構成
[1-1-1]記憶装置1の全体構成
図1は、第1実施形態に係る記憶装置1の構成の一例を示すブロック図である。図1に示すように、記憶装置1は、例えば、メモリセルアレイ10、第1ドライバ回路20、第2ドライバ回路30、読み出し回路40、制御回路50、センサ60、及びアクチュエータ70を備えている。
[1-1-1]記憶装置1の全体構成
図1は、第1実施形態に係る記憶装置1の構成の一例を示すブロック図である。図1に示すように、記憶装置1は、例えば、メモリセルアレイ10、第1ドライバ回路20、第2ドライバ回路30、読み出し回路40、制御回路50、センサ60、及びアクチュエータ70を備えている。
メモリセルアレイ10は、ワード線WL及びビット線BLに関連付けられたメモリセルMCの集合である。メモリセルMCは、抵抗変化素子を含み、整流機能を有する。メモリセルMCの抵抗値は、書き込み動作や消去動作によって変化し得る。メモリセルMCは、その抵抗値に基づいてデータを記憶する。例えば、メモリセルMCは、高抵抗状態である場合に“1”データを記憶し、低抵抗状態である場合に“0”データを記憶する。メモリセルMCの抵抗値に対するデータの割り付けは、その他の設定であってもよい。
第1ドライバ回路20は、メモリセルアレイ10に設けられた複数のワード線WLに接続される。第1ドライバ回路20は、メモリセルMCの読み出し動作、書き込み動作、消去動作等で使用される電圧を生成する。そして、第1ドライバ回路20は、生成した電圧を、複数のワード線WLのそれぞれに印加し得る。
第2ドライバ回路30は、メモリセルアレイ10に設けられた複数のビット線BLに接続される。第2ドライバ回路30は、メモリセルMCの読み出し動作、書き込み動作、消去動作等で使用される電圧を生成する。そして、第2ドライバ回路30は、生成した電圧を、複数のビット線BLのそれぞれに印加し得る。
読み出し回路40は、メモリセルアレイ10に設けられた複数のビット線BLに接続される。読み出し回路40は、読み出し動作時に使用される。読み出し回路40は、メモリセルMCに記憶されたデータの判別や、ビット線BLに流れている読み出し電流量の計測や、複数のビット線BL間での読み出し結果の比較等を実行し得る。
制御回路50は、記憶装置1の全体の動作を制御する。制御回路50は、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等を含み得る。CPUは、制御プログラム等を実行し得る。RAMは、CPUの作業領域として使用される。ROMは、記憶装置1の制御プログラムや、制御プログラム等で参照されるデータ等を含む。制御回路50は、例えば、外部のコントローラから受信したコマンドや制御プログラムに基づいて、第1ドライバ回路20、第2ドライバ回路30、及び読み出し回路40を制御して、読み出し動作、書き込み動作、及び消去動作等を実行し得る。また、制御回路50は、強化学習に使用可能な動作を実行し得る。
センサ60は、制御回路50の制御に基づいて、強化学習の対象となる装置(以下、エージェントとも呼ぶ)の状態を検知可能に構成される。そして、センサ60は、検知結果を制御回路50に入力する。
アクチュエータ70は、制御回路50の制御に基づいて、エージェントを制御する。アクチュエータ70は、制御回路50から指示された行動を、エージェントに実行させることができる。
尚、記憶装置1は、その他の構成であってもよい。例えば、強化学習がソフトウェア上で表現できる場合には、記憶装置1からセンサ60やアクチュエータ70が省略されてもよい。制御回路50は、外部接続されたRAMやROMを使用してもよい。
[1-1-2]メモリセルアレイ10の構成
記憶装置1では、クロスポイント構造のメモリセルアレイ10が使用される。以下に、メモリセルアレイ10の構成の一例について説明する。以下で参照される図面において、X方向はワード線WLの延伸方向に対応し、Y方向はビット線BLの延伸方向に対応し、Z方向は記憶装置1が形成される基板の表面に対する鉛直方向に対応している。
記憶装置1では、クロスポイント構造のメモリセルアレイ10が使用される。以下に、メモリセルアレイ10の構成の一例について説明する。以下で参照される図面において、X方向はワード線WLの延伸方向に対応し、Y方向はビット線BLの延伸方向に対応し、Z方向は記憶装置1が形成される基板の表面に対する鉛直方向に対応している。
(メモリセルアレイ10の回路構成)
図2は、第1実施形態に係る記憶装置1が備えるメモリセルアレイ10の回路構成の一例を示す回路図である。図2に示すように、メモリセルアレイ10は、例えば、ワード線WL0~WL3と、ビット線BL0~BL3及びBLxと、複数のメモリセルMCとを含む。尚、ワード線WLとビット線BLとのそれぞれの数は、その他の数であってもよい。
図2は、第1実施形態に係る記憶装置1が備えるメモリセルアレイ10の回路構成の一例を示す回路図である。図2に示すように、メモリセルアレイ10は、例えば、ワード線WL0~WL3と、ビット線BL0~BL3及びBLxと、複数のメモリセルMCとを含む。尚、ワード線WLとビット線BLとのそれぞれの数は、その他の数であってもよい。
複数のワード線WLと複数のビット線BLとは、交差している。1つのメモリセルMCが、1本のワード線WLと1本のビット線BLとの交差部分に設けられ、当該1本のワード線WLと当該1本のビット線BLとの間に接続される。
具体的には、ワード線WL0に、メモリセルMC00、MC01、MC02、MC03、及びMC0xのそれぞれの一端が接続される。ワード線WL1に、メモリセルMC10、MC11、MC12、MC13、及びMC1xのそれぞれの一端が接続される。ワード線WL2に、メモリセルMC20、MC21、MC22、MC23、及びMC2xのそれぞれの一端が接続される。ワード線WL3に、メモリセルMC30、MC31、MC32、MC33、及びMC3xのそれぞれの一端が接続される。
ビット線BL0に、メモリセルMC00、MC10、MC20、及びMC30のそれぞれの他端が接続される。ビット線BL1に、メモリセルMC01、MC11、MC21、及びMC31のそれぞれの他端が接続される。ビット線BL2に、メモリセルMC02、MC12、MC22、及びMC32のそれぞれの他端が接続される。ビット線BL3に、メモリセルMC03、MC13、MC23、及びMC33のそれぞれの他端が接続される。ビット線BLxに、メモリセルMC0x、MC1x、MC2x、及びMC3xのそれぞれの他端が接続される。
第1実施形態に係る記憶装置1では、複数のメモリセルMCが2つのメモリグループMGに分類される。メモリグループMG1は、ビット線BL0~BL3のいずれかに接続されたメモリセルMCを含む。メモリグループMG2は、ビット線BLxに接続されたメモリセルMCを含む。メモリグループMG1は、例えば、強化学習の結果を記憶する。メモリグループMG2は、例えば、強化学習時に参照される情報を記憶する。以下では、ビット線BLxに接続されたメモリセルMCのことを、“参照セル”とも呼ぶ。
(メモリセルアレイ10の構造)
図3は、第1実施形態に係る記憶装置1が備えるメモリセルアレイ10の平面レイアウトの一例を示す平面図である。図3に示すように、メモリセルアレイ10は、複数の導電体層11と、複数の導電体層12とを含む。
図3は、第1実施形態に係る記憶装置1が備えるメモリセルアレイ10の平面レイアウトの一例を示す平面図である。図3に示すように、メモリセルアレイ10は、複数の導電体層11と、複数の導電体層12とを含む。
各導電体層11は、X方向に延伸して設けられた部分を有する。複数の導電体層11は、Y方向に並んで配置される。複数の導電体層11は、互いに離れている。複数の導電体層11は、それぞれワード線WL0~WL3として使用される。導電体層11の数は、ワード線WLの本数に対応している。
各導電体層12は、Y方向に延伸して設けられた部分を有する。複数の導電体層12は、X方向に並んで配置される。複数の導電体層11は、互いに離れている。複数の導電体層12は、それぞれビット線BL0~BL3及びBLxとして使用される。導電体層12の数は、ワード線WLの本数に対応している。
導電体層11及び12の交差部分のそれぞれに、1つのメモリセルMCが設けられる。言い換えると、メモリセルMCは、複数の導電体層11と複数の導電体層12との間の複数の交差部分のそれぞれに設けられる。各メモリセルMCは、1つの導電体層11と1つの導電体層12とによって、Z方向に挟まれている。
図4は、第1実施形態に係る記憶装置が備えるメモリセルアレイ10の断面構造の一例を示す、図3のIV-IV線に沿った断面図である。図4に示すように、メモリセルMCは、例えば、常誘電体膜13と強誘電体膜14とを含む。
常誘電体膜13は、導電体層12(ビット線BL)の上に設けられる。強誘電体膜14は、常誘電体膜13の上に設けられる。導電体層11(ワード線WL)は、強誘電体膜14の上に設けられる。常誘電体膜13の誘電率は、強誘電体膜14の誘電率よりも低い。また、常誘電体膜13のバンドギャップは、強誘電体膜14のバンドギャップよりも広い。常誘電体膜13は、例えば、シリコン酸化膜、シリコン酸窒化膜、又は金属酸化物である。強誘電体膜14は、例えば、ハフニウム酸化物、ジルコニウム酸化物、ハフニウム酸化物とジルコニウム酸化物との化合物、又はシリケート膜(HfSiOx)である。これにより、メモリセルMCは、下部電極(導電体層12)と、上部電極(導電体層11)とによって挟まれた2端子のFTJ(Ferroelectric Tunnel Junction)素子として機能する。
FTJ素子は、抵抗変化素子の一種である。FTJ素子は、低電流、低電圧駆動、高速スイッチングが実現可能であり、整流特性を有する。メモリセルMCでは、導電体層12から導電体層11に電子が向かう方向が順方向に対応し、導電体層11から導電体層12に電子が向かう方向が逆方向に対応している。メモリセルMCの抵抗値は、強誘電体膜14の分極量に応じて変わり得る。強誘電体膜14の分極量は、メモリセルMCに順方向の書き込み電圧、又は逆方向の書き込み電圧が印加されることによって変化する。メモリセルMCの抵抗値は、順方向の書き込み電圧が印加された場合に下がり、逆方向の書き込み電圧が印加された場合に上がる。尚、メモリセルMCは、FTJ素子に限定されない。メモリセルMCは、整流機能を有する抵抗変化素子であれば、その他の構成であってもよい。本例では、導電体層12(ビット線BL)の上方に導電体層11(ワード線WL)が設けられているが、導電体層12と導電体層11とが入れ替えられてもよい。ワード線WLとビット線BLとの接続関係に応じて、メモリセルMC内の常誘電体膜13と強誘電体膜14との積層順番が変更されてもよい。
[1-1-3]周辺回路の構成
図5は、第1実施形態に係る記憶装置1が備えるメモリセルアレイ10の周辺回路(第1ドライバ回路20、第2ドライバ回路30、及び読み出し回路40)の構成の一例を示すブロック図である。図5に示すように、第1ドライバ回路20は、複数の電圧発生器21と、複数のトランジスタ22とを含む。第2ドライバ回路30は、複数の電圧発生器31と、複数のトランジスタ32とを含む。読み出し回路40は、例えば、複数のセンス回路41と、複数のトランジスタ42と、比較回路43と、計測回路44とを含む。
図5は、第1実施形態に係る記憶装置1が備えるメモリセルアレイ10の周辺回路(第1ドライバ回路20、第2ドライバ回路30、及び読み出し回路40)の構成の一例を示すブロック図である。図5に示すように、第1ドライバ回路20は、複数の電圧発生器21と、複数のトランジスタ22とを含む。第2ドライバ回路30は、複数の電圧発生器31と、複数のトランジスタ32とを含む。読み出し回路40は、例えば、複数のセンス回路41と、複数のトランジスタ42と、比較回路43と、計測回路44とを含む。
複数の電圧発生器21は、複数のトランジスタ22のそれぞれの一端にそれぞれ接続される。複数のトランジスタ22のそれぞれの他端は、複数のワード線WL0~WL3にそれぞれ接続される。電圧発生器21は、制御回路50の制御に基づいて電圧を生成する。そして、電圧発生器21は、生成した電圧を、トランジスタ22を介して、関連付けられたワード線WLに印加する。各電圧発生器21が生成する電圧は、制御回路50によって個別に制御され得る。複数のトランジスタ22のそれぞれのゲート電圧は、制御回路50によって個別に制御され得る。
複数の電圧発生器31は、複数のトランジスタ32のそれぞれの一端にそれぞれ接続される。複数のトランジスタ32のそれぞれの他端は、複数のビット線BL0~BL3及びBLxにそれぞれ接続される。電圧発生器31は、制御回路50の制御に基づいて電圧を生成する。そして、電圧発生器31は、生成した電圧を、トランジスタ32を介して、関連付けられたビット線BLに印加する。各電圧発生器31が生成する電圧は、制御回路50によって個別に制御され得る。複数のトランジスタ32のそれぞれのゲート電圧は、制御回路50によって個別に制御され得る。
複数のセンス回路41は、複数のトランジスタ42のそれぞれの一端にそれぞれ接続される。複数のトランジスタ42のそれぞれの他端は、複数のビット線BL0~BL3及びBLxにそれぞれ接続される。センス回路41には、関連付けられたビット線BLで流れている電流が、トランジスタ42を介して流れ込み得る。そして、センス回路41は、流れ込んできた電流に基づいて、メモリセルMCに記憶されたデータを判定し得る。尚、センス回路41は、メモリセルMCに記憶されたデータをビット線BLの電圧に基づいて判定する回路構成を有していてもよい。
比較回路43は、例えば、メモリグループMG1に関連付けられたビット線BLに接続されたセンス回路41に接続される。そして、比較回路43は、メモリグループMG1に関連付けられた複数のビット線BLのそれぞれの電流値を比較する。それから、比較回路43は、メモリグループMG1に関連付けられた複数のビット線BLのうち、最も電流量が大きいビット線BLの情報を、制御回路50に通知する。比較回路43としては、Winner-Take-All回路が使用され得る。Winner-Take-All回路は、複数の電流入力から最大の電流を選び出す回路である。Winner-Take-All回路の入力インピーダンスは、メモリセルMCの抵抗値に対して無視できる程に小さい。尚、比較回路43は、センス回路41を介してビット線BLに接続されていなくてもよい。比較回路43は、少なくとも、メモリグループMG1に関連付けられたビット線BLの電流を検知することが可能に構成されていればよい。
計測回路44は、例えば、メモリグループMG2に関連付けられたビット線BLに接続されたセンス回路41に接続される。そして、計測回路44は、メモリグループMG2に関連付けられたビット線BLxの電流値を計測する。それから、計測回路44は、ビット線BLxを流れる電流値の計測結果を、制御回路50に通知する。尚、計測回路44は、センス回路41を介してビット線BLに接続されていなくてもよい。計測回路44は、少なくとも、メモリグループMG2に関連付けられたビット線BLxの電流を計測することが可能に構成されていればよい。
尚、周辺回路は、その他の構成であってもよい。例えば、ビット線BLの一端に第2ドライバ回路30が接続され、且つビット線BLの他端に読み出し回路40が接続されていなくてもよく、第2ドライバ回路30と読み出し回路40との両方が、ビット線BLの一方側に接続されてもよい。第2ドライバ回路30及び読み出し回路40は、上述された機能を使用することが可能であれば、統合されてもよいし、その他の構成であってもよい。比較回路43及び計測回路44は、制御回路50に含まれていてもよい。電圧発生器21は、ワード線WL毎に設けられなくてもよいし、電圧発生器31は、ビット線BL毎に設けられなくてもよい。所望の電圧をビット線BLやワード線WLに印加することが可能であれば、電圧発生器が適宜共有されてもよい。
[1-1-4]制御回路50の構成
図6は、第1実施形態に係る記憶装置1が備える制御回路50の機能構成の一例を示すブロック図である。図6に示すように、制御回路50は、例えば、状態取得部51、試行制御部52、第1ドライバ制御部53、第2ドライバ制御部54、読み出し制御部55、行動実行部56、及び記憶部57を含む。第1実施形態における制御回路50の各機能構成は、例えば、制御回路50が備えるCPUやRAM等によって実現される。
図6は、第1実施形態に係る記憶装置1が備える制御回路50の機能構成の一例を示すブロック図である。図6に示すように、制御回路50は、例えば、状態取得部51、試行制御部52、第1ドライバ制御部53、第2ドライバ制御部54、読み出し制御部55、行動実行部56、及び記憶部57を含む。第1実施形態における制御回路50の各機能構成は、例えば、制御回路50が備えるCPUやRAM等によって実現される。
状態取得部51は、センサ60の検知結果を受け取る。そして、状態取得部51は、受け取った計測結果から、エージェントの状態が予め分類された状態のどれに対応するのかを確認する。それから、状態取得部51は、確認されたエージェントの状態を、試行制御部52に通知する。
試行制御部52は、後述される記憶動作及び試行動作の全体を制御する。試行制御部52は、状態取得部51から通知された計測対象の状態に基づいてワード線WLを選択して、読み出し動作や書き込み動作を実行する。また、試行制御部52は、読み出し動作の結果に基づいた命令を、行動実行部56に実行させる。
第1ドライバ制御部53は、試行制御部52の制御に基づいて、第1ドライバ回路20を制御する。
第2ドライバ制御部54は、試行制御部52の制御に基づいて、第2ドライバ回路30を制御する。
読み出し制御部55は、試行制御部52の制御に基づいて、読み出し回路40を制御する。また、読み出し制御部55は、読み出し回路40から比較結果や計測結果を受け取る。比較結果は、電流量の最も大きいビット線BLの情報を含む。読み出し制御部55は、受け取った比較結果を、試行制御部52に転送する。計測結果は、電流量の情報を含む。読み出し制御部55は、受け取った計測結果を、記憶部57に転送する。
行動実行部56は、試行制御部52の制御に基づいて、アクチュエータ70を制御する。エージェントは、アクチュエータ70の制御に基づいて、試行制御部52によって指定された行動を実行し得る。例えば、行動実行部56は、指定された行動を実行するための機械的な信号を生成する。
記憶部57は、強化学習時に参照される情報を記憶する。例えば、記憶部57は、参照情報RIを記憶する。参照情報RIは、読み出し制御部55から受け取った計測結果の情報(後述される参照値RV)を蓄積する。各参照値RVは、例えば記憶された時期が分かるように記憶され、例えば時刻情報が関連付けられる。試行制御部52は、参照情報RIの状態に応じて、強化学習の方法を変更し得る。
[1-2]動作
次に、第1実施形態に係る記憶装置1の動作について説明する。尚、以下の説明では、選択されたメモリセルMCのことを、選択メモリセルMCと呼ぶ。選択メモリセルMCに関連付けられたワード線WL及びビット線BLの組を、それぞれ選択ワード線WL及び選択ビット線BLと呼ぶ。選択ワード線WL以外のワード線WLのことを、非選択ワード線WLと呼ぶ。選択ビット線BL以外のビット線BLのことを非選択ビット線BLと呼ぶ。選択ワード線WLに接続され且つ非選択ビット線BLに接続されたメモリセルMCと、選択ビット線BLに接続され且つ非選択ワード線WLに接続されたメモリセルMCとのそれぞれのことを、半選択メモリセルMCと呼ぶ。非選択ワード線WLに接続され且つ非選択ビット線BLに接続されたメモリセルMCのことを、非選択メモリセルMCと呼ぶ。ワード線WLに電圧が印加されることは、電圧発生器21がトランジスタ22を介してワード線WLに電圧を印加することに対応している。ビット線BLに電圧が印加されることは、電圧発生器31がトランジスタ32を介してビット線BLに電圧を印加することに対応している。ビット線BLに電圧が印加されないことは、トランジスタ32がオフ状態になっていることに対応している。
次に、第1実施形態に係る記憶装置1の動作について説明する。尚、以下の説明では、選択されたメモリセルMCのことを、選択メモリセルMCと呼ぶ。選択メモリセルMCに関連付けられたワード線WL及びビット線BLの組を、それぞれ選択ワード線WL及び選択ビット線BLと呼ぶ。選択ワード線WL以外のワード線WLのことを、非選択ワード線WLと呼ぶ。選択ビット線BL以外のビット線BLのことを非選択ビット線BLと呼ぶ。選択ワード線WLに接続され且つ非選択ビット線BLに接続されたメモリセルMCと、選択ビット線BLに接続され且つ非選択ワード線WLに接続されたメモリセルMCとのそれぞれのことを、半選択メモリセルMCと呼ぶ。非選択ワード線WLに接続され且つ非選択ビット線BLに接続されたメモリセルMCのことを、非選択メモリセルMCと呼ぶ。ワード線WLに電圧が印加されることは、電圧発生器21がトランジスタ22を介してワード線WLに電圧を印加することに対応している。ビット線BLに電圧が印加されることは、電圧発生器31がトランジスタ32を介してビット線BLに電圧を印加することに対応している。ビット線BLに電圧が印加されないことは、トランジスタ32がオフ状態になっていることに対応している。
[1-2-1]読み出し動作
第1実施形態に係る記憶装置1は、制御回路50の制御に基づいて、第1読み出し動作と第2読み出し動作とを実行することができる。以下に、第1読み出し動作と第2読み出し動作とのそれぞれの詳細について順に説明する。
第1実施形態に係る記憶装置1は、制御回路50の制御に基づいて、第1読み出し動作と第2読み出し動作とを実行することができる。以下に、第1読み出し動作と第2読み出し動作とのそれぞれの詳細について順に説明する。
(第1読み出し動作)
図7は、第1実施形態に係る記憶装置1の第1読み出し動作の一例を示す概略図であり、ある時刻において各配線に印加される電圧を示している。図7に示すように、第1読み出し動作において、制御回路50は、1本のワード線WLと、複数のビット線BLとを選択した読み出し動作を実行する。以下に、ワード線WL0とビット線BL0~BL3とが選択された場合の第1読み出し動作について例示する。
図7は、第1実施形態に係る記憶装置1の第1読み出し動作の一例を示す概略図であり、ある時刻において各配線に印加される電圧を示している。図7に示すように、第1読み出し動作において、制御回路50は、1本のワード線WLと、複数のビット線BLとを選択した読み出し動作を実行する。以下に、ワード線WL0とビット線BL0~BL3とが選択された場合の第1読み出し動作について例示する。
選択ワード線WL0には、Vreadが印加される。非選択ワード線WL1~WL3のそれぞれには、Vssが印加される。選択ビット線BL0~BL3のそれぞれには、Vssが印加される。非選択ビット線BLxには、例えば、電圧が印加されない、又は、Vread/2が印加される。Vssは、接地電圧(例えば0V)である。Vreadは、Vssよりも高い読み出し電圧である。
このように、第1読み出し動作において、選択メモリセルMCと半選択メモリセルMCとのそれぞれには、順方向電圧が印加される。選択メモリセルMCの両端の電圧差は、半選択メモリセルMCの両端の電圧差よりも大きい。選択メモリセルMCの両端の電圧差は、例えば“0”データを記憶するメモリセルMCの閾値電圧以上である。半選択メモリセルMCの両端の電圧差は、例えば“0”データを記憶するメモリセルMCの閾値電圧よりも低い。非選択メモリセルMCの両端には略同一の電圧が印加され、非選択メモリセルMCの両端における電圧差が抑制される。
その結果、選択ワード線WL0から、選択メモリセルMC00、MC01、MC02、及びMC03をそれぞれ介する電流が流れ得る。選択メモリセルMC00を介して選択ビット線BL0に流れる読み出し電流Icell0と、選択メモリセルMC01を介して選択ビット線BL1に流れる読み出し電流Icell1と、選択メモリセルMC02を介して選択ビット線BL2に流れる読み出し電流Icell2と、選択メモリセルMC03を介して選択ビット線BL3に流れる読み出し電流Icell3とのそれぞれは、読み出し回路40内の比較回路43に供給される。半選択メモリセルMC0xでは、読み出し電流が抑制され、当該半選択メモリセルMC0xに対するディスターブが抑制される。
そして、第1実施形態の第1読み出し動作では、読み出し回路40内の比較回路43が、メモリグループMG1に関連付けられた選択ビット線BLのうち、最も読み出し電流が大きいビット線BLを検出して、検出結果を制御回路50に通知する。
(第2読み出し動作)
図8は、第1実施形態に係る記憶装置1の第2読み出し動作の一例を示す概略図であり、ある時刻において各配線に印加される電圧を示している。図8に示すように、第2読み出し動作において、制御回路50は、複数のワード線WLと、1本のビット線BLとを選択した読み出し動作を実行する。以下に、ワード線WL0~WL3とビット線BLxとが選択された場合の第2読み出し動作について例示する。
図8は、第1実施形態に係る記憶装置1の第2読み出し動作の一例を示す概略図であり、ある時刻において各配線に印加される電圧を示している。図8に示すように、第2読み出し動作において、制御回路50は、複数のワード線WLと、1本のビット線BLとを選択した読み出し動作を実行する。以下に、ワード線WL0~WL3とビット線BLxとが選択された場合の第2読み出し動作について例示する。
選択ワード線WL0~WL3のそれぞれには、Vrefが印加される。選択ビット線BLxには、Vssが印加される。非選択ビット線BLには、例えば、電圧が印加されない、又は、Vread/2が印加される。Vrefは、Vssよりも高い読み出し電圧である。
このように、第2読み出し動作において、選択メモリセルMCと半選択メモリセルMCとのそれぞれには、順方向電圧が印加される。選択メモリセルMCの両端の電圧差は、半選択メモリセルMCの両端の電圧差よりも大きい。選択メモリセルMCの両端の電圧差は、例えば“0”データを記憶するメモリセルMCの閾値電圧以上である。半選択メモリセルMCの両端の電圧差は、例えば“0”データを記憶するメモリセルMCの閾値電圧よりも低い。非選択メモリセルMCの両端には略同一の電圧が印加され、非選択メモリセルMCの両端における電圧差が抑制される。
その結果、選択ワード線WL0~WL3のそれぞれから、選択メモリセルMC0x、MC1x、MC2x、及びMC3xをそれぞれ介する電流が流れ得る。選択メモリセルMC0xを介して選択ビット線BLxに流れる読み出し電流Iref0と、選択メモリセルMC1xを介して選択ビット線BLxに流れる読み出し電流Iref1と、選択メモリセルMC2xを介して選択ビット線BLxに流れる読み出し電流Iref2と、選択メモリセルMC3xを介して選択ビット線BLxに流れる読み出し電流Iref3とのそれぞれは、読み出し回路40内の計測回路44に供給される。半選択メモリセルMCでは、読み出し電流が抑制され、当該半選択メモリセルMCに対するディスターブが抑制される。
そして、第1実施形態の第2読み出し動作では、読み出し回路40内の計測回路44が、メモリグループMG2に関連付けられた複数の選択メモリセルMCを流れる読み出し電流の合計(参照電流Iref)の電流値を計測して、計測結果を制御回路50に通知する。
[1-2-2]書き込み動作
第1実施形態に係る記憶装置1は、制御回路50の制御に基づいて、第1書き込み動作と第2書き込み動作とを実行することができる。第1書き込み動作は、選択メモリセルMCの抵抗値を下げる書き込み動作である。第2書き込み動作は、選択メモリセルMCの抵抗値を上げる書き込み動作である。以下に、第1読み出し動作と第2読み出し動作とのそれぞれの詳細について順に説明する。
第1実施形態に係る記憶装置1は、制御回路50の制御に基づいて、第1書き込み動作と第2書き込み動作とを実行することができる。第1書き込み動作は、選択メモリセルMCの抵抗値を下げる書き込み動作である。第2書き込み動作は、選択メモリセルMCの抵抗値を上げる書き込み動作である。以下に、第1読み出し動作と第2読み出し動作とのそれぞれの詳細について順に説明する。
(第1書き込み動作)
図9は、第1実施形態に係る記憶装置1の第1書き込み動作の一例を示す概略図であり、ある時刻において各配線に印加される電圧を示している。図9に示すように、制御回路50は、例えば1つのメモリセルMCを選択して、第1書き込み動作を実行する。以下に、メモリセルMC00が選択された場合の第1書き込み動作について例示する。
図9は、第1実施形態に係る記憶装置1の第1書き込み動作の一例を示す概略図であり、ある時刻において各配線に印加される電圧を示している。図9に示すように、制御回路50は、例えば1つのメモリセルMCを選択して、第1書き込み動作を実行する。以下に、メモリセルMC00が選択された場合の第1書き込み動作について例示する。
選択ワード線WL0には、Vsetが印加される。非選択ワード線WL1~WL3のそれぞれには、Vset/2が印加される。選択ビット線BL0には、Vssが印加される。非選択ビット線BLには、Vset/2が印加される。Vsetは、Vreadよりも高い順方向の書き込み電圧である。
このように、第1書き込み動作において、選択メモリセルMCと半選択メモリセルMCとのそれぞれには、順方向電圧が印加される。選択メモリセルMCの両端の電圧差は、少なくとも順方向の書き込み電圧以上であればよい。半選択メモリセルMCの両端の電圧差は、順方向の書き込み電圧よりも低い。非選択メモリセルMCの両端には略同一の電圧が印加され、非選択メモリセルMCの両端における電圧差が抑制される。
その結果、順方向の書き込み電圧が印加された選択メモリセルMC00の強誘電体膜14の分極量が変化し、選択メモリセルMC00の抵抗値が下がる。一方で、半選択メモリセルMCと非選択メモリセルMCとのそれぞれの抵抗値の変化は、抑制される。尚、制御回路50は、複数のメモリセルMCを対象とした第1書き込み動作を実行する場合に、図9を用いて説明されたように1つずつ選択メモリセルMCの抵抗値を変化させてもよいし、複数の選択メモリセルMCの抵抗値を一括で変化させてもよい。第1書き込み動作において複数の選択メモリセルMCの抵抗値が一括で変更される場合、例えば、1本のワード線WLと複数のビット線BLとが選択される。
(第2書き込み動作)
図10は、第1実施形態に係る記憶装置1の第2書き込み動作の一例を示す概略図であり、ある時刻において各配線に印加される電圧を示している。図10に示すように、制御回路50は、例えば1つのメモリセルMCを選択して、第2書き込み動作を実行する。以下に、メモリセルMC00が選択された場合の第2読み出し動作について例示する。
図10は、第1実施形態に係る記憶装置1の第2書き込み動作の一例を示す概略図であり、ある時刻において各配線に印加される電圧を示している。図10に示すように、制御回路50は、例えば1つのメモリセルMCを選択して、第2書き込み動作を実行する。以下に、メモリセルMC00が選択された場合の第2読み出し動作について例示する。
選択ワード線WL0には、Vresetが印加される。非選択ワード線WL1~WL3のそれぞれには、Vreset/2が印加される。選択ビット線BL0には、Vssが印加される。非選択ビット線BLには、Vreset/2が印加される。Vresetは、Vssよりも低い逆方向の書き込み電圧である。
このように、第2書き込み動作において、選択メモリセルMCと半選択メモリセルMCとのそれぞれには、逆方向電圧が印加される。選択メモリセルMCの両端の電圧差は、少なくとも逆方向の書き込み電圧以下であればよい。半選択メモリセルMCの両端の電圧差は、逆方向の書き込み電圧よりも高い。非選択メモリセルMCの両端には略同一の電圧が印加され、非選択メモリセルMCの両端における電圧差が抑制される。
その結果、逆方向の書き込み電圧が印加された選択メモリセルMC00の強誘電体膜14の分極量が変化し、選択メモリセルMC00の抵抗値が上がる。一方で、半選択メモリセルMCと非選択メモリセルMCとのそれぞれの抵抗値の変化は、抑制される。尚、制御回路50は、複数のメモリセルMCを対象とした第2書き込み動作を実行する場合に、図10を用いて説明されたように1つずつ選択メモリセルMCの抵抗値を変化させてもよいし、複数の選択メモリセルMCの抵抗値を一括で変化させてもよい。第2書き込み動作において複数の選択メモリセルMCの抵抗値が一括で変更される場合、例えば、1本のワード線WLと複数のビット線BLとが選択される。
[1-2-3]強化学習の概要
図11は、強化学習のアルゴリズムの一例を示す概略図である。図11に示すように、学習者(エージェント)は、強化学習を実行し得る。強化学習は、試行錯誤を通じて、成功報酬を最大化する方策を学習する方法である。
図11は、強化学習のアルゴリズムの一例を示す概略図である。図11に示すように、学習者(エージェント)は、強化学習を実行し得る。強化学習は、試行錯誤を通じて、成功報酬を最大化する方策を学習する方法である。
具体的には、まず、エージェントは、ある環境下における現在の状態S(i)(iは0以上の整数)を観察する(状態観察)。状態S(i)には、一つ以上のパラメータが使用される。例えば、各パラメータは、所定の範囲を有する複数領域に分割される。そして、複数のパラメータ間の組み合わせのそれぞれに、1つの状態Sが設定される。本例では、状態S0~SN(Nは1以上の整数)が設定されている。
それから、エージェントは、現在の状態S(i)に対して取るべき行動A(i)を決定する(行動選択)。各行動Aには、エージェントが実行し得る行動が割り当てられている。本例では、行動A0~AM(Mは1以上の整数)が設定されている。エージェントは、状態S(i)に関連付けられた行動A(i)を確認して、行動A(i)を実行する。
エージェントの状態S(i)は、行動A(i)が実行された結果、状態S(i+1)に変化する。そして、エージェントは、状態S(i+1)に変化した結果に応じて、環境から報酬R(i)を得る(報酬の受け取り)。エージェントは、状態S(i+1)が所定の条件を満たしている場合に、報酬R(i)として成功報酬を得る。一方で、エージェントは、状態S(i+1)が所定の条件を満たしていない場合に、報酬R(i)として罰則を得る。以下では、エージェントに成功報酬を与える処理のことを報酬処理と呼び、エージェントに罰則を与える処理のことを罰則処理と呼ぶ。
強化学習において、エージェントは、以上で説明された状態観察と行動選択と報酬の受け取りとの一連の動作を繰り返すことによって、成功報酬が最も多く得られるような方策(状態Sと行動Aとの組み合わせ)を学習する。第1実施形態に係る記憶装置1では、強化学習に、クロスポイント構造のメモリセルアレイ10を使用する。
図12は、第1実施形態に係る記憶装置1が備えるメモリセルアレイ10に対する強化学習の機能の割り当ての一例を示す概略図である。図12に示すように、第1実施形態に係る記憶装置1では、状態S0~S3が、ワード線WL0~WL3にそれぞれ割り当てられ、行動A0~A3が、ビット線BL0~BL3にそれぞれ割り当てられる。
つまり、記憶装置1では、エージェントの状態S(i)が、ワード線WLのアドレスに関連付けられている。制御回路50は、エージェントの状態S(i)に応じてワード線WLのアドレスを選択し得る。例えば、制御回路50は、第1読み出し動作によって、選択ワード線WLに接続され且つメモリグループMG1に関連付けられた複数のビット線BLのうち、最も読み出し電流が大きいビット線BLを特定及び選択する。
同様に、エージェントの行動A(i)が、ビット線BLのアドレスに関連付けられている。制御回路50は、選択された状態Sから導出された行動A(i)を、エージェントに実行させ得る。例えば、制御回路50は、第1読み出し動作によって選択されたビット線BLに関連付けられた行動A(i)を実行する。すると、エージェントの状態S(i)は、新たな状態S(i+1)に変化する。
状態S(i+1)が所定の条件(成功条件)を満たしている場合、制御回路50は、当該方策に対する報酬処理を実行する。報酬処理は、状態S(i)と行動A(i)とに関連付けられたメモリセルMC(選択メモリセルMC)を対象とした第1書き込み動作を含む。一方で、状態S(i+1)が所定の条件(成功条件)を満たしていない場合、制御回路50は、当該方策に対する罰則処理を実行する。罰則処理は、選択メモリセルMCを対象とした第2書き込み動作を含む。つまり、選択メモリセルMCの抵抗値は、報酬処理が実行された場合に下がり、罰則処理が実行された場合に上がる。
以上のように、第1実施形態に係る記憶装置1では、行動A0~A3が、メモリグループMG1に関連付けられた複数のビット線BLに割り当てられている。一方で、メモリグループMG2に関連付けられたビット線BLxには、行動Aが割り当てられない。ビット線BLxに接続されたメモリセルMC0x、MC1x、MC2x、及びMC3xのそれぞれは、強化学習時に使用される参照セルとして使用される。記憶動作において制御回路50は、ワード線WLを共有する選択メモリセルMCに対する報酬処理又は罰則処理と同様の動作を、参照セルに対して実行し得る。
[1-2-4]記憶動作
第1実施形態に係る記憶装置1は、制御回路50の制御に基づいて記憶動作を実行し得る。記憶動作は、第1試行処理と第2試行処理とを含む。各試行処理は、状態観察と行動選択と報酬の受け取りとの一連の動作を含む。以下に、第1試行処理と、第2試行処理と、第1試行処理と第2試行処理とのそれぞれで実行される書き込み動作の具体例と、第1実施形態の記憶動作とのそれぞれの詳細について説明する。
第1実施形態に係る記憶装置1は、制御回路50の制御に基づいて記憶動作を実行し得る。記憶動作は、第1試行処理と第2試行処理とを含む。各試行処理は、状態観察と行動選択と報酬の受け取りとの一連の動作を含む。以下に、第1試行処理と、第2試行処理と、第1試行処理と第2試行処理とのそれぞれで実行される書き込み動作の具体例と、第1実施形態の記憶動作とのそれぞれの詳細について説明する。
尚、以下の説明では、“状態S(i)のメモリセルMC”は、状態S(i)が割り当てられたワード線WLに接続されたメモリセルMCのことを示している。“状態S(i)の選択メモリセルMC”は、状態S(i)が割り当てられたワード線WLと、選択された行動A(i)が割り当てられたビット線BLとのそれぞれに接続されたメモリセルMCのことを示している。“状態S(i)の非選択メモリセルMC”は、状態S(i)が割り当てられたワード線WLと、選択されなかった行動Aが割り当てられたビット線BLとのそれぞれに接続されたメモリセルMCのことを示している。
(第1試行処理)
図13は、第1実施形態に係る記憶装置1の第1試行処理の一例を示すフローチャートである。図13に示すように、記憶装置1は、第1試行処理において、ステップST10~ST16、ST20、ST21、及びST30~ST32のそれぞれの処理を実行し得る。以下に、第1試行処理の詳細について説明する。
図13は、第1実施形態に係る記憶装置1の第1試行処理の一例を示すフローチャートである。図13に示すように、記憶装置1は、第1試行処理において、ステップST10~ST16、ST20、ST21、及びST30~ST32のそれぞれの処理を実行し得る。以下に、第1試行処理の詳細について説明する。
制御回路50は、例えば、後述される第1実施形態に係る記憶装置1の記憶動作のフローに応じて、第1試行処理を開始する(開始)。
まず、制御回路50(試行制御部52)が、エージェントの状態S(i)を確認する(ステップST10)。尚、各試行処理における初期の状態S(i)の設定には、様々な方法が適用され得る。例えば、状態S(i)は、制御回路50によって設定されてもよいし、外部から入力された情報に基づいて設定されてもよい。
次に、制御回路50が、メモリグループMG1内で状態S(i)の複数のメモリセルMCを対象とした第1読み出し動作を実行する(ステップST11)。言い換えると、制御回路50が、状態S(i)に割り当てられたワード線WLを選択して、メモリグループMG1に含まれた複数のメモリセルMCを対象とした第1読み出し動作を実行する。制御回路50は、第1読み出し動作によって、メモリグループMG1に関連付けられた複数のビット線のうち読み出し電流が最大であるビット線BLを確認する。
次に、制御回路50が、行動A(i)を選択する(ステップST12)。具体的には、行動実行部56が、試行制御部52の制御に基づいて、ステップST11の第1読み出し動作の結果に基づいて選択されたビット線BLに関連付けられた行動A(i)を実行する。すると、エージェントの状態が、状態S(i)から状態S(i+1)に変化する。
次に、制御回路50が、状態S(i+1)を確認する(ステップST12)。制御回路50は、状態S(i+1)を、例えばセンサ60の検知結果に基づいて把握する。そして、制御回路50は、状態S(i+1)が所定の条件を満たしているか(“成功”)、所定の条件を満たされていないかを確認する(“失敗”)。この所定の条件は、強化学習の対象毎に適宜設定され得る。
制御回路50は、ステップS14の処理において所定の条件が満たされていないことが確認された場合に、罰則処理を実行する(ステップST14、失敗)。第1試行処理の罰則処理では、制御回路50が、ステップST20及びST21のそれぞれの処理を順に実行する。尚、ステップST20及びST21のそれぞれの処理が実行される順番は、その他の順番であってもよい。
ステップST20の処理において、制御回路50は、メモリグループMG1内で状態S(i)の選択メモリセルMCを対象とした第2書き込み動作を実行する。ステップST20の処理によって、メモリグループMG1内で状態S(i)の選択メモリセルMCの抵抗値が上がる。
ステップST21の処理において、制御回路50は、メモリグループMG2内で状態S(i)のメモリセルMCを対象とした第2書き込み動作を実行する。ステップST21の処理によって、メモリグループMG2内で状態S(i)のメモリセルMC(参照セル)の抵抗値が上がる。
制御回路50は、ステップS14の処理において所定の条件が満たされていることが確認された場合に、報酬処理を実行する(ステップST14、成功)。第1試行処理の報酬処理では、制御回路50が、ステップST30、ST31、及びST32のそれぞれの処理を順に実行する。尚、ステップST30、ST31、及びST32のそれぞれの処理が実行される順番は、その他の順番であってもよい。
ステップST30の処理において、制御回路50は、メモリグループMG1内で状態S(i)の選択メモリセルMCを対象とした第1書き込み動作を実行する。ステップST30の処理によって、メモリグループMG1内で状態S(i)の選択メモリセルMCの抵抗値が下がる。
ステップST31の処理において、制御回路50は、メモリグループMG2内で状態S(i)のメモリセルMCを対象とした第1書き込み動作を実行する。ステップST31の処理によって、メモリグループMG2内で状態S(i)のメモリセルMC(参照セル)の抵抗値が下がる。
ステップST32の処理において、制御回路50は、メモリグループMG1内で状態S(i)の各非選択メモリセルMCを対象とした第2書き込み動作を実行する。この第2書き込み動作は、非選択メモリセルMC毎に実行されてもよいし、一括で実行されてもよい。ステップST32の処理によって、メモリグループMG1内で状態S(i)の各非選択メモリセルMCの抵抗値が上がる。
罰則処理又は報酬処理の後に、制御回路50は、メモリグループMG2内の複数のメモリセルMC(参照セル)を対象とした第2読み出し動作を実行する(ステップST15)。ステップST15の処理において、読み出し回路40の計測回路44は、ビット線BLxに接続された複数のメモリセルMCを流れる読み出し電流の合計値(参照値RV)を計測する。言い換えると、ステップST15の処理では、例えば全ての参照セルを流れる読み出し電流の総和が読み出され、計測される。
次に、制御回路50は、計測結果を記録する(ステップST16)。具体的には、制御回路50の記憶部57が、ステップS15の処理によって計測された参照値RVを参照情報RIに記録する。そして、制御回路50は、第1試行処理を終了する(終了)。
(第2試行処理)
図14は、第1実施形態に係る記憶装置1の第2試行処理の一例を示すフローチャートである。図14に示すように、記憶装置1は、第2試行処理において、ステップST10~ST16、ST20~ST22、及びST30~ST32のそれぞれの処理を実行し得る。以下に、第2試行処理の詳細について説明する。
図14は、第1実施形態に係る記憶装置1の第2試行処理の一例を示すフローチャートである。図14に示すように、記憶装置1は、第2試行処理において、ステップST10~ST16、ST20~ST22、及びST30~ST32のそれぞれの処理を実行し得る。以下に、第2試行処理の詳細について説明する。
制御回路50(試行制御部52)は、例えば、後述される第1実施形態に係る記憶装置1の記憶動作のフローに応じて、第2試行処理を開始する(開始)。
まず、制御回路50は、第1試行処理と同様に、ステップST10~ST14のそれぞれの処理を順に実行する。ステップST14の処理が完了すると、制御回路50は、罰則処理又は報酬処理を実行する。
第2試行処理の罰則処理(ステップST14、失敗)では、制御回路50が、ステップST20、ST21、及びST22のそれぞれの処理を順に実行する。尚、ステップST20、ST21、及びST22のそれぞれの処理が実行される順番は、その他の順番であってもよい。
第2試行処理におけるステップST20及びST21の処理は、それぞれ第1試行処理におけるステップST20及びST21の処理と同様である。
ステップST22の処理において、制御回路50は、メモリグループMG1内で状態S(i)の各非選択メモリセルMCを対象とした第1書き込み動作を実行する。この第1書き込み動作は、非選択メモリセルMC毎に実行されてもよいし、一括で実行されてもよい。ステップST22の処理によって、メモリグループMG1内で状態S(i)の各非選択メモリセルMCの抵抗値が下がる。
第2試行処理の報酬処理(ステップST14、成功)では、制御回路50が、第1試行処理と同様に、ステップST30、ST31、及びST32のそれぞれの処理を順に実行する。
罰則処理又は報酬処理の後に、制御回路50は、第1試行処理と同様に、ステップST15及びST16のそれぞれの処理を順に実行する。ステップST16の処理が完了すると、制御回路50は、第2試行処理を終了する(終了)。
(罰則処理及び報酬処理の具体例)
図15及び図16は、それぞれ第1実施形態に係る記憶装置1の第1及び第2試行処理において選択された状態の各メモリセルMCに対して実行される書き込み動作の一例を示すテーブルである。図15及び図16のそれぞれは、メモリセルMC00に関連付けられた方策が選択された場合の罰則処理及び報酬処理で実行される書き込み動作において、選択ワード線WLに印加される電圧を例示している。“属性”の項目における“選択”は、選択メモリセルMCに対応していることを示している。“属性”の項目における“非選択”は、非選択メモリセルMCに対応していることを示している。“属性”の項目における“参照”は、参照セルに対応していることを示している。
図15及び図16は、それぞれ第1実施形態に係る記憶装置1の第1及び第2試行処理において選択された状態の各メモリセルMCに対して実行される書き込み動作の一例を示すテーブルである。図15及び図16のそれぞれは、メモリセルMC00に関連付けられた方策が選択された場合の罰則処理及び報酬処理で実行される書き込み動作において、選択ワード線WLに印加される電圧を例示している。“属性”の項目における“選択”は、選択メモリセルMCに対応していることを示している。“属性”の項目における“非選択”は、非選択メモリセルMCに対応していることを示している。“属性”の項目における“参照”は、参照セルに対応していることを示している。
図15に示すように、第1試行処理の罰則処理では、選択メモリセルMC00とメモリセルMC0x(参照セル)とのそれぞれにVresetが印加され、非選択メモリセルMC01、MC02、及びMC03のそれぞれに対する書き込み動作が省略される。第1試行処理の報酬処理では、選択メモリセルMC00とメモリセルMC0x(参照セル)とのそれぞれにVsetが印加され、非選択メモリセルMC01、MC02、及びMC03のそれぞれにVresetが印加される。
図16に示すように、第2試行処理の罰則処理では、選択メモリセルMC00とメモリセルMC0x(参照セル)とのそれぞれにVresetが印加され、非選択メモリセルMC01、MC02、及びMC03のそれぞれにVsetが印加される。第2試行処理の報酬処理では、第1試行処理と同様に、選択メモリセルMC00とメモリセルMC0x(参照セル)とのそれぞれにVsetが印加され、非選択メモリセルMC01、MC02、及びMC03のそれぞれにVresetが印加される。
(記憶動作の詳細)
図17は、第1実施形態に係る記憶装置1の記憶動作の一例を示すフローチャートである。図17に示すように、第1実施形態に係る記憶装置1は、記憶動作において、ステップST100、ST200、ST300、及びST400の処理を実行し得る。以下に、図17を参照して、第1実施形態に係る記憶装置1の記憶動作の詳細について説明する。
図17は、第1実施形態に係る記憶装置1の記憶動作の一例を示すフローチャートである。図17に示すように、第1実施形態に係る記憶装置1は、記憶動作において、ステップST100、ST200、ST300、及びST400の処理を実行し得る。以下に、図17を参照して、第1実施形態に係る記憶装置1の記憶動作の詳細について説明する。
制御回路50(試行制御部52)は、例えばユーザの指示に応じて、記憶動作を開始する(開始)。
まず、制御回路50は、第1試行処理を実行する(ステップST100)。第1試行処理において、制御回路50は、罰則処理又は報酬処理を実行する。また、制御回路50は、当該第1試行処理において、複数の参照セルを対象とした第2読み出し動作によって取得した参照値RVを参照情報RIに記録する。
次に、制御回路50は、第1条件が満たされているか否かを判定する(ステップST200)。第1条件は、例えば、連続した第1試行処理の結果から得られた参照情報RIにおいて、RVnow<RVbfrが満たされた後に、RVnow>RVbfrが満たされているか否かである。RVnowは、直前の第1試行処理において記録された参照値RVである。RVbfrは、直前の第1試行処理の1つ前の第1試行処理において記録された参照値RVである。つまり、ステップST200では、制御回路50は、例えば、連続した2回の第1試行処理で、複数の参照セルを対象とした第2読み出し動作で計測される読み出し電流が、減少した後に増加しているか否かを確認する。
ステップST200で第1条件が満たされていない場合に(ステップST200、NO)、制御回路50は、ステップST100の処理に進む。つまり、制御回路50は、第1条件が満たされるまで、第1試行処理を繰り返し実行する。
ステップST200で第1条件が満たされている場合に(ステップST200、YES)、制御回路50は、第2試行処理を実行する(ステップST300)。第2試行処理において、制御回路50は、罰則処理又は報酬処理を実行する。また、制御回路50は、当該第2試行処理において、複数の参照セルを対象とした第2読み出し動作によって取得した参照値RVを参照情報RIに記録する。
次に、制御回路50は、第2条件が満たされているか否かを判定する(ステップST400)。第2条件は、強化学習の終了条件に対応している。例えば、第2条件は、各状態Sにおいて、学習完了の条件が満たされたことに対応している。学習完了の条件は、例えば、各状態Sで少なくとも1回の報酬処理が実行されることである。尚、強化学習の終了条件は、報酬処理が実行されていない状態Sを含んでいてもよく、適宜設定され得る。
ステップST400で第2条件が満たされていない場合に(ステップST400、NO)、制御回路50は、ステップST300の処理に進む。つまり、制御回路50は、第2条件が満たされるまで、第2試行処理を繰り返し実行する。
ステップST400で第2条件が満たされている場合に(ステップST400、YES)、制御回路50は、記憶動作を終了する(終了)。
以上で説明された記憶動作によって、制御回路50は、ある1つのワード線WLとある1つのビット線BLとが対となるように、メモリグループMG1内のメモリセルMCの抵抗値を制御する。また、制御回路50は、対となるワード線WLとビット線BLとの間に接続されたメモリセルMCの抵抗値が、当該ワード線WLに接続され且つ他のビット線BLに接続されたメモリセルMCの抵抗値よりも低くなるように制御する。さらに、制御回路50は、当該ワード線WLに実行される報酬処理及び罰則処理に基づいて、メモリグループMG2内のメモリセルMC(参照セル)の抵抗値を制御する。これにより、記憶装置1は、ある1つのワード線WL(状態S)に対して、メモリグループMG1に属するある1つのビット線BL(行動A)を関連付けることができる。以下では、記憶動作により関連付けられたワード線WL及びビット線BLに接続されたメモリセルMCのことを、“最適行動のメモリセルMC”と呼ぶ。
複数の参照セルの抵抗値に基づいている参照値RVは、記憶動作の進行に応じて変化し得る。ステップST200における第1条件の判定は、続けて示す方法であってもよい。制御回路50は、記憶動作の開始直後に参照値RVbfrとRVnowを比較して、RVbfr>RVnowを観測すると、フラグを立てる。そして、制御回路50は、第1試行処理の繰り返しの度に、RVbfrとRVnowとを比較し、RVbfr<RVnowが観測された場合にフラグを下げて、罰則処理の動作方式を切り替える制御信号を発生させる。言い換えると、制御回路50は、時系列で変わる参照値RVを参照して、RVbfr>RVnowの状況とRVbfr<RVnowの状況とが順に発生したことを検出したことに基づいて動作の切り替えのトリガを発生させ、記憶動作において実行する試行処理を第1試行処理から第2試行処理に切り替える。
その結果、第1実施形態に係る記憶装置1は、1回目の試行処理からm回目(mは2以上の整数)の試行処理における罰則処理として、選択メモリセルMCを対象とした第2書き込み動作を実行し、非選択メモリセルMCに対する処理を省略する。その後、記憶装置1は、(m+1)回目以降の試行処理における罰則処理として、選択メモリセルMCを対象とした第2書き込み動作と、非選択メモリセルMCに対する第1書き込み動作とを実行する。この場合、“m”は、記憶装置1が記憶動作を開始してから、初めて選択メモリセルMCが正解になった際の試行処理の処理回数に対応している。
[1-3]第1実施形態の効果
以上で説明された第1実施形態に係る記憶装置1によれば、データの信頼性を向上させることができる。以下に、第1実施形態に係る記憶装置1の効果の詳細について説明する。
以上で説明された第1実施形態に係る記憶装置1によれば、データの信頼性を向上させることができる。以下に、第1実施形態に係る記憶装置1の効果の詳細について説明する。
ロボット制御、画像認識、物体検知等に使用され得る強化学習システムに対して、クロスポイント構造のメモリセルアレイ10を活用することが考えられている。クロスポイント構造のメモリセルアレイ10では、メモリセルMC毎に選択トランジスタが設けられず、抵抗変化型のメモリセルMCが使用される。つまり、クロスポイント構造のメモリセルアレイ10では、学習済の情報が、メモリセルMCの抵抗値に関連づけられて記憶される。
メモリセルアレイ10を用いた強化学習における報酬処理及び罰則処理のそれぞれは、メモリセルMCに対して電圧が印加されることによって実現される。報酬処理及び罰則処理のそれぞれは、例えば、選択メモリセルMCと非選択メモリセルMCとのそれぞれを対象とした書き込み動作を含む。この場合、報酬処理及び罰則処理のそれぞれは、1回の試行処理でメモリセルアレイ10内の全てのビット線BLを対象として実行される。
しかしながら、書き込み動作の回数が増えると、メモリセルMCが破壊される可能性が高くなる。クロスポイント構造のメモリセルアレイ10においてメモリセルMCの破壊不良が発生した場合、破壊されたメモリセルMCを介した大きなリーク電流が発生し得る。具体的には、破壊された半選択メモリセルMCの読み出し電流が、選択メモリセルMCの読み出し電流よりも著しく大きくなり、正確な読み出し結果が得られなくなる。メモリセルMCの破壊不良を避けるためには、学習時にメモリセルMCに対する電圧の印加回数が抑制され、メモリセルMCに対するストレスが低減されることが好ましい。
そこで、第1実施形態に係る記憶装置1は、記憶動作(強化学習)において、学習の進行に応じて罰則処理の方法を変更する。具体的には、記憶装置1は、1~m回目の試行処理の罰則処理では、選択メモリセルMCのみを対象として第2書き込み動作(抵抗値を上げる書き込み動作)を実行する。そして、記憶装置1は、(m+1)回目以降の試行処理の罰則処理では、選択メモリセルMCを対象とした第2書き込み動作と、非選択メモリセルMCを対象とした第1書き込み動作(抵抗値を下げる書き込み動作)とを実行する。
また、第1実施形態に係る記憶装置1は、学習結果を記憶するメモリグループMG1と、記憶動作において参照される参照セルを含むメモリグループMG2とを備える。参照セルは、罰則処理の方法を切り替えるトリガとして使用される。記憶装置1は、各試行処理において、選択メモリセルMCに対する報酬処理又は罰則処理を、同じ状態Sを共有する参照セルに対しても実行する。これにより、学習時に、複数の参照セルから読み出される電流の総和が、行動Aが成功したか否かに応じて時系列で変化する。そして、制御回路50が、複数の参照セルから取得された参照値RVの時間変化を確認することによって、選択メモリセルMCに割り当てられた行動Aが初めて成功したか否かを判定する。
具体的には、行動Aが失敗すると、参照セルに対する第2書き込み動作が実行され、当該参照セルの抵抗値が上がる。この場合、現在の参照値RVnowが、一つ前の参照値RVbfrよりも高い値になる。一方で、行動Aが成功すると、参照セルに対する第1書き込み動作が実行され、当該参照セルの抵抗値が下がる。この場合、現在の参照値RVnowが、一つ前の参照値RVbfrよりも低い値になる。このように、制御回路50は、参照値RVの時間変化に基づいて、行動Aが成功したか否かを判定することができる。
それから、第1実施形態に係る記憶装置1は、参照値RVの大小関係が反転するタイミングに基づいて、罰則処理の切り替えタイミングを決定する。強化学習の序盤における罰則処理で非選択メモリセルに対する第1書き込み動作が省略されることによる学習性能への影響は小さく、ほぼ無視することが可能である。
従って、第1実施形態に係る記憶装置1は、学習性能をほぼ劣化させることなく、強化学習に要する時間を短縮することができる。第1実施形態に係る記憶装置1の記憶動作は、記憶動作の直後に行動Aが成功したとしても、第1実施形態の比較例と同等のパフォーマンスを発揮させることができる。また、第1試行処理において、罰則処理における非選択メモリセルMCに対する第1書き込み動作が省略されるため、記憶装置1は、これらの非選択メモリセルMCに対するストレスを低減させることができる。その結果、第1実施形態に係る記憶装置1は、データの信頼性を向上させることができる。
[1-4]第1実施形態の変形例
第1実施形態に係る記憶装置1は、種々の変形が可能である。例えば、図17に示された第1条件は、RVnow>RVbfrが満たされた回数が2回以上連続したか否かであってもよい。第1条件は、少なくともRVnowとRVbfrとの関係性を用いて設定されていればよい。記憶装置1は、第1条件においてRVnow>RVbfrが満たされた回数を1回に近く設定するほど、学習精度を向上させることができる。つまり、第1実施形態に係る記憶装置1において、第1条件は、RVnow>RVbfrが満たされた回数が1回であるか否かに設定されることが好ましい。
第1実施形態に係る記憶装置1は、種々の変形が可能である。例えば、図17に示された第1条件は、RVnow>RVbfrが満たされた回数が2回以上連続したか否かであってもよい。第1条件は、少なくともRVnowとRVbfrとの関係性を用いて設定されていればよい。記憶装置1は、第1条件においてRVnow>RVbfrが満たされた回数を1回に近く設定するほど、学習精度を向上させることができる。つまり、第1実施形態に係る記憶装置1において、第1条件は、RVnow>RVbfrが満たされた回数が1回であるか否かに設定されることが好ましい。
第1実施形態に係る記憶装置1において、参照セルが、複数列設けられてもよい。言い換えると、メモリグループMG2に複数のビット線BLが関連付けられ、複数列のメモリセルMCを含んでいてもよい。1つの状態Sに複数の参照セルが設けられる場合、当該複数の参照セルの一方が冗長領域として使用されてもよいし、当該複数の参照セルのそれぞれに対して第1実施形態と同様の動作が実行されてもよい。例えば、制御回路50は、複数列の参照セルから取得する参照値RV等を平均化することによって、計測結果のばらつきを抑制することができ、第1条件等の判定精度を向上させることができる。
第1実施形態に係る記憶装置1は、後述される実施形態に関する動作を実行しない場合に、第2試行処理におけるステップST15及びST16の処理を省略してもよい。
[2]第2実施形態
第2実施形態に係る記憶装置1のハードウェア構成は、第1実施形態と同様である。第2実施形態に係る記憶装置1は、記憶動作において、学習済みの状態Sの各メモリセルMCに対する報酬処理及び罰則処理を省略する。以下に、第2実施形態に係る記憶装置1について、第1実施形態と異なる点を説明する。
第2実施形態に係る記憶装置1のハードウェア構成は、第1実施形態と同様である。第2実施形態に係る記憶装置1は、記憶動作において、学習済みの状態Sの各メモリセルMCに対する報酬処理及び罰則処理を省略する。以下に、第2実施形態に係る記憶装置1について、第1実施形態と異なる点を説明する。
[2-1]制御回路50の構成
図18は、第2実施形態に係る記憶装置1において記憶部57が記憶する情報の一例を示す概略図である。図18に示すように、第2実施形態の記憶部57は、参照情報RI0、RI1、RI2、及びRI3を記憶する。参照情報RI0、RI1、RI2、及びRI3は、それぞれ状態S0、S1、S2、及びS3に関連付けられている。参照情報RI0、RI1、RI2、及びRI3には、それぞれ状態S0、S1、S2、及びS3の参照セルの読み出し結果が記録される。また、参照情報RI0、RI1、RI2、及びRI3には、それぞれ状態S0、S1、S2、及びS3における学習状態が記憶されてもよい。参照情報RI0、RI1、RI2、及びRI3は、カウンタとして使用されてもよい。言い換えると、制御回路50は、状態S毎にカウンタを有し得る。第2実施形態に係る記憶装置1のその他の構成は、第1実施形態と同様である。
図18は、第2実施形態に係る記憶装置1において記憶部57が記憶する情報の一例を示す概略図である。図18に示すように、第2実施形態の記憶部57は、参照情報RI0、RI1、RI2、及びRI3を記憶する。参照情報RI0、RI1、RI2、及びRI3は、それぞれ状態S0、S1、S2、及びS3に関連付けられている。参照情報RI0、RI1、RI2、及びRI3には、それぞれ状態S0、S1、S2、及びS3の参照セルの読み出し結果が記録される。また、参照情報RI0、RI1、RI2、及びRI3には、それぞれ状態S0、S1、S2、及びS3における学習状態が記憶されてもよい。参照情報RI0、RI1、RI2、及びRI3は、カウンタとして使用されてもよい。言い換えると、制御回路50は、状態S毎にカウンタを有し得る。第2実施形態に係る記憶装置1のその他の構成は、第1実施形態と同様である。
[2-2]動作
第2実施形態に係る記憶装置1は、制御回路50の制御に基づいて、第3読み出し動作を実行することができる。以下に、第3読み出し動作と、第2実施形態における記憶動作とのそれぞれの詳細について説明する。
第2実施形態に係る記憶装置1は、制御回路50の制御に基づいて、第3読み出し動作を実行することができる。以下に、第3読み出し動作と、第2実施形態における記憶動作とのそれぞれの詳細について説明する。
[2-2-1]第3読み出し動作
図19は、第2実施形態に係る記憶装置1の第3読み出し動作の一例を示す概略図であり、ある時刻において各配線に印加される電圧を示している。図19に示すように、第3読み出し動作において、制御回路50は、1本のワード線WLと、1本のビット線BLとを選択した読み出し動作を実行する。以下に、ワード線WL0とビット線BLxとが選択された場合の第3読み出し動作について例示する。
図19は、第2実施形態に係る記憶装置1の第3読み出し動作の一例を示す概略図であり、ある時刻において各配線に印加される電圧を示している。図19に示すように、第3読み出し動作において、制御回路50は、1本のワード線WLと、1本のビット線BLとを選択した読み出し動作を実行する。以下に、ワード線WL0とビット線BLxとが選択された場合の第3読み出し動作について例示する。
選択ワード線WL0には、Vrefが印加される。非選択ワード線WL1~WL3のそれぞれには、Vssが印加される。選択ビット線BLxには、Vssが印加される。非選択ビット線BLには、例えば、電圧が印加されない、又は、Vref/2が印加される。
このように、第3読み出し動作において、選択メモリセルMCと半選択メモリセルMCとのそれぞれには、順方向電圧が印加される。選択メモリセルMCの両端の電圧差は、半選択メモリセルMCの両端の電圧差よりも大きい。選択メモリセルMCの両端の電圧差は、例えば“0”データを記憶するメモリセルMCの閾値電圧以上である。半選択メモリセルMCの両端の電圧差は、例えば“0”データを記憶するメモリセルMCの閾値電圧よりも低い。非選択メモリセルMCの両端には略同一の電圧が印加され、非選択メモリセルMCの両端における電圧差が抑制される。
その結果、選択ワード線WL0から、選択メモリセルMC0xを介した電流が流れ得る。選択メモリセルMC0xを介して選択ビット線BLxに流れる読み出し電流Iref0は、読み出し回路40内の計測回路44に供給される。半選択メモリセルMC1x、MC2x、及びMC3xのそれぞれでは、読み出し電流が抑制され、当該半選択メモリセルMC、MC2x、及びMC3xに対するディスターブが抑制される。
そして、第2実施形態の第3読み出し動作では、読み出し回路40内の計測回路44が、メモリグループMG2に関連付けられた1つの選択メモリセルMC(参照セル)を流れる読み出し電流の電流値を計測して、計測結果を制御回路50に通知する。
[2-2-2]記憶動作
第2実施形態の記憶動作は、第3試行処理を含む。以下に、第3試行処理と、第2実施形態の記憶動作とのそれぞれの詳細について説明する。
第2実施形態の記憶動作は、第3試行処理を含む。以下に、第3試行処理と、第2実施形態の記憶動作とのそれぞれの詳細について説明する。
(第3試行処理)
図20は、第2実施形態に係る記憶装置1の第3試行処理の一例を示すフローチャートである。図20に示すように、記憶装置1は、第3試行処理において、ステップST10~ST14、ST20~ST22、ST30~ST32、及びST40~ST42のそれぞれの処理を実行し得る。以下に、第3試行処理の詳細について説明する。
図20は、第2実施形態に係る記憶装置1の第3試行処理の一例を示すフローチャートである。図20に示すように、記憶装置1は、第3試行処理において、ステップST10~ST14、ST20~ST22、ST30~ST32、及びST40~ST42のそれぞれの処理を実行し得る。以下に、第3試行処理の詳細について説明する。
制御回路50(試行制御部52)は、後述される第2実施形態に係る記憶装置1の記憶動作のフローに応じて、第3試行処理を開始する(開始)。
まず、制御回路50は、第1試行処理と同様に、ステップST10~ST13のそれぞれの処理を順に実行する。ステップST13の処理が完了すると、制御回路50は、状態S(i)の学習状態を確認する(ステップST40)。具体的には、制御回路50は、記憶部57の参照情報RIiを参照して、ステップST10において選択された状態S(i)の学習が完了しているか否かを判定する。
学習が完了している場合(ステップST40、学習完了)、制御回路50は、第3試行処理を終了する(終了)。
学習が完了していない場合(ステップST40、学習未完)、制御回路50は、第1実施形態と同様に、ステップST14の処理を実行する。そして、制御回路50は、ステップST14の結果に基づいて、罰則処理又は報酬処理を実行する。
第3試行処理の罰則処理(ステップST14、失敗)では、制御回路50が、第2試行処理と同様に、ステップST20、ST21、及びST22のそれぞれの処理を順に実行する。
第3試行処理の報酬処理(ステップST14、成功)では、制御回路50が、第1試行処理と同様に、ステップST30、ST31、及びST32のそれぞれの処理を順に実行する。
罰則処理又は報酬処理の後に、制御回路50は、メモリグループMG2内で状態S(i)のメモリセルMC(参照セル)を対象とした第3読み出し動作を実行する(ステップST41)。ステップST41の処理において、読み出し回路40の計測回路44は、状態S(i)が割り当てられたワード線WLに接続され、且つビット線BLxに接続されたメモリセルMC(参照セル)を流れる読み出し電流の値(参照値RV)を計測する。言い換えると、ステップST41の処理では、選択された状態Sに対応する参照セルを流れる読み出し電流が計測される。
次に、制御回路50は、計測結果を記録する(ステップST42)。具体的には、制御回路50の記憶部57が、ステップS41の処理によって計測された参照値RVを、状態S(i)に関連付けられた参照情報RIiに記録する。そして、制御回路50は、第3試行処理を終了する(終了)。
尚、以上で説明された第3試行処理のステップST40において、制御回路50は、少なくとも参照情報RIiに基づいて学習状態を確認していればよい。例えば、制御回路50は、参照情報RIiにおいてRVnow>RVbfrが2回連続したことを検出すると、当該状態S(i)の学習が完了したものと判定する。言い換えると、制御回路50は、参照情報RIiにおいて、最新から3回分の参照値RVを参照して、参照値RVが2回連続して上昇していることを検出すると、当該状態S(i)の学習が完了したものと判定する。すなわち、当該状態S(i)が学習済みであると判定される。
ステップST40の処理は、その他の方法であってもよい。例えば、制御回路50は、メモリグループMG2に対する第2読み出し動作によって、時系列の参照値RVを得る。制御回路50は、参照値RVの記録の際に、RVbfr<RVnowであることを検出すると、参照情報RIiのカウンタに“1”を加算する。一方で、制御回路50は、参照値RVの記録の際に、RVbfr>RVnowであることを検出すると、参照情報RIiのカウンタを“0”に戻す。第3試行処理の繰り返しによって参照情報RIiのカウンタが2以上になると、制御回路50は、当該参照情報RIiに関連付けられた状態Sの学習が完了したものとみなす。そして、制御回路50は、学習が完了した以降で、学習が完了している状態Siが選択された報酬処理及び罰則処理を省略する。
(記憶動作の詳細)
図21は、第2実施形態に係る記憶装置1の記憶動作の一例を示すフローチャートである。図21に示すように、第2実施形態に係る記憶装置1の記憶動作は、第1実施形態で図17を参照して説明された記憶動作において、ステップST300がステップST500に置き換えられた構成を有する。
図21は、第2実施形態に係る記憶装置1の記憶動作の一例を示すフローチャートである。図21に示すように、第2実施形態に係る記憶装置1の記憶動作は、第1実施形態で図17を参照して説明された記憶動作において、ステップST300がステップST500に置き換えられた構成を有する。
具体的には、制御回路50(試行制御部52)は、ステップST200で第1条件が満たされている場合に、ステップST500の処理を実行する。ステップS500の処理において、記憶装置1は、第3試行処理を実行する。第3試行処理において、制御回路50は、学習状態に応じて、罰則処理又は報酬処理を実行し得る。第3試行処理が完了した後に、記憶装置1は、ステップS400の処理を実行する。
ステップST400で第2条件が満たされていない場合に(ステップST400、NO)、制御回路50は、ステップST500の処理に進む。つまり、制御回路50は、第2条件が満たされるまで、第3試行処理を繰り返し実行する。
ステップST400で第2条件が満たされている場合に(ステップST400、YES)、制御回路50は、記憶動作を終了する(終了)。第2実施形態に係る記憶装置1のその他の動作は、第1実施形態と同様である。
尚、第2実施形態の記憶動作では、ステップST100及びST200の処理が省略されてもよい。この場合、強化学習は、第3試行処理の繰り返しによって進行する。
[2-3]第2実施形態の効果
以上で説明されたように、第2実施形態に係る記憶装置1は、状態S毎に参照セルの状態をモニターすることによって、状態S毎に複数回の報酬処理が連続したことを検知する。そして、記憶装置1は、例えば2回連続で報酬処理が実行された状態Sを学習済みと判定し、以降の試行処理において、学習済みの状態SのメモリセルMCを対象とした報酬処理及び罰則処理を省略する。
以上で説明されたように、第2実施形態に係る記憶装置1は、状態S毎に参照セルの状態をモニターすることによって、状態S毎に複数回の報酬処理が連続したことを検知する。そして、記憶装置1は、例えば2回連続で報酬処理が実行された状態Sを学習済みと判定し、以降の試行処理において、学習済みの状態SのメモリセルMCを対象とした報酬処理及び罰則処理を省略する。
その結果、第2実施形態に係る記憶装置1は、学習が完了した後に書き込み動作が実行されることによるメモリセルMCに対するストレスを抑制することができる。従って、第2実施形態に係る記憶装置1は、第1実施形態よりもメモリセルMCの破壊リスクを抑制することができ、データの信頼性を向上させることができる。
[2-4]第2実施形態の変形例
第2実施形態に係る記憶装置1は、種々の変形が可能である。例えば、図20に示された学習完了の条件は、RVnow>RVbfrが満たされた回数が3回以上連続したか否かであってもよい。記憶装置1は、学習完了の判定におけるRVnow>RVbfrを連続で満たした回数の設定を大きくするほど、学習精度を向上させることができる。一方で、記憶装置1は、この回数の設定を小さくするほど、記憶動作の時間を短縮することができる。このように、第2実施形態に係る記憶装置1は、記憶完了の条件を適宜設定することによって、強化学習における時間と精度のバランスを整えることができる。
第2実施形態に係る記憶装置1は、種々の変形が可能である。例えば、図20に示された学習完了の条件は、RVnow>RVbfrが満たされた回数が3回以上連続したか否かであってもよい。記憶装置1は、学習完了の判定におけるRVnow>RVbfrを連続で満たした回数の設定を大きくするほど、学習精度を向上させることができる。一方で、記憶装置1は、この回数の設定を小さくするほど、記憶動作の時間を短縮することができる。このように、第2実施形態に係る記憶装置1は、記憶完了の条件を適宜設定することによって、強化学習における時間と精度のバランスを整えることができる。
[3]第3実施形態
第3実施形態に係る記憶装置1は、記憶動作が完了した後に、メモリグループMG1に記憶されたデータ(学習結果)を保障するための動作を実行する。以下に、第3実施形態に係る記憶装置1について、第1及び第2実施形態と異なる点を説明する。
第3実施形態に係る記憶装置1は、記憶動作が完了した後に、メモリグループMG1に記憶されたデータ(学習結果)を保障するための動作を実行する。以下に、第3実施形態に係る記憶装置1について、第1及び第2実施形態と異なる点を説明する。
[3-1]構成
[3-1-1]メモリセルアレイ10の構成
図22は、第3実施形態に係る記憶装置1が備えるメモリセルアレイ10の回路構成の一例を示す回路図である。図22に示すように、第3実施形態におけるメモリセルアレイ10は、第1実施形態で図2を参照して説明されたメモリセルアレイ10に対して、メモリセルMC0y、MC1y、MC2y、及びMC3yと、ビット線BLyとが追加された構成を有する。
[3-1-1]メモリセルアレイ10の構成
図22は、第3実施形態に係る記憶装置1が備えるメモリセルアレイ10の回路構成の一例を示す回路図である。図22に示すように、第3実施形態におけるメモリセルアレイ10は、第1実施形態で図2を参照して説明されたメモリセルアレイ10に対して、メモリセルMC0y、MC1y、MC2y、及びMC3yと、ビット線BLyとが追加された構成を有する。
具体的には、メモリセルMC0yは、ワード線WL0とビット線BLyとの間に接続されている。メモリセルMC1yは、ワード線WL1とビット線BLyとの間に接続されている。メモリセルMC2yは、ワード線WL2とビット線BLyとの間に接続されている。メモリセルMC2yは、ワード線WL0とビット線BLyとの間に接続されている。
第3実施形態に係る記憶装置1では、例えば、複数のメモリセルMCが3つのメモリグループMGに分類される。メモリグループMG1は、ビット線BL0~BL3のいずれかに接続されたメモリセルMCを含む。メモリグループMG2は、ビット線BLxに接続されたメモリセルMCを含む。メモリグループMG3は、ビット線BLyに接続されたメモリセルMCを含む。メモリグループMG1及びMG2のそれぞれの役割は、第1実施形態と同様である。メモリグループMG3は、リフレッシュ動作に関する情報を記憶する。ビット線BLyに接続されたメモリセルMCは、フラグセルと呼ばれてもよい。
[3-1-2]制御回路50の構成
図23は、第3実施形態に係る記憶装置1が備える制御回路50の機能構成の一例を示すブロック図である。図23に示すように、制御回路50は、例えば、タイマ80、リフレッシュ制御部81、カウンタ82、第1ドライバ制御部53、第2ドライバ制御部54、読み出し制御部55、及び記憶部57を含む。第3実施形態における制御回路50の各機能構成は、例えば、制御回路50が備えるCPUやRAM等によって実現される。
図23は、第3実施形態に係る記憶装置1が備える制御回路50の機能構成の一例を示すブロック図である。図23に示すように、制御回路50は、例えば、タイマ80、リフレッシュ制御部81、カウンタ82、第1ドライバ制御部53、第2ドライバ制御部54、読み出し制御部55、及び記憶部57を含む。第3実施形態における制御回路50の各機能構成は、例えば、制御回路50が備えるCPUやRAM等によって実現される。
タイマ80は、現在の時刻を示す。タイマ80が生成した時刻情報は、リフレッシュ制御部81によって参照される。この時刻情報は、制御回路50が各種動作を実行するトリガとして使用され得る。リフレッシュ制御部81は、第1ドライバ制御部53、第2ドライバ制御部54、及び読み出し制御部55を制御して、読み出し動作や書き込み動作を実行し得る。また、リフレッシュ制御部81は、所定の条件に基づいて、後述される劣化確認動作とリフレッシュ動作とのそれぞれを実行し得る。所定の条件は、例えば、記憶部57に記憶された参照情報RIに基づいている。所定の条件の詳細については後述する。カウンタ82は、リフレッシュ制御部81によって使用される。第3実施形態に係る記憶装置1におけるその他の構成は、第1実施形態と同様である。
[3-2]動作
第3実施形態に係る記憶装置1は、制御回路50の制御に基づいて、第3書き込み動作を実行することができる。また、第3実施形態に係る記憶装置1は、記憶動作(すなわち強化学習)が完了すると、記憶完了動作を実行する。さらに、第3実施形態に係る記憶装置1は、記憶完了動作が完了した後に、例えば定期的に劣化確認動作を実行し、劣化確認動作の結果に基づいてリフレッシュ動作を実行する。以下に、第3読み出し動作と、記憶完了動作と、劣化確認動作と、リフレッシュ動作とのそれぞれの詳細について説明する。
第3実施形態に係る記憶装置1は、制御回路50の制御に基づいて、第3書き込み動作を実行することができる。また、第3実施形態に係る記憶装置1は、記憶動作(すなわち強化学習)が完了すると、記憶完了動作を実行する。さらに、第3実施形態に係る記憶装置1は、記憶完了動作が完了した後に、例えば定期的に劣化確認動作を実行し、劣化確認動作の結果に基づいてリフレッシュ動作を実行する。以下に、第3読み出し動作と、記憶完了動作と、劣化確認動作と、リフレッシュ動作とのそれぞれの詳細について説明する。
[3-2-1]第3書き込み動作
図24は、第3実施形態に係る記憶装置1の第3書き込み動作の一例を示す概略図である。図24に示すように、記憶装置1は、第3書き込み動作において、プログラムループを繰り返し実行する。本例における書き込み動作は、N回(Nは1以上の整数)のプログラムループを含んでいる。プログラムループの回数は、メモリセルトランジスタMTの状態に応じて変わり得る。プログラムループは、プログラム動作(“Program”)とベリファイ動作(“Verify”)とを含んでいる。
図24は、第3実施形態に係る記憶装置1の第3書き込み動作の一例を示す概略図である。図24に示すように、記憶装置1は、第3書き込み動作において、プログラムループを繰り返し実行する。本例における書き込み動作は、N回(Nは1以上の整数)のプログラムループを含んでいる。プログラムループの回数は、メモリセルトランジスタMTの状態に応じて変わり得る。プログラムループは、プログラム動作(“Program”)とベリファイ動作(“Verify”)とを含んでいる。
プログラム動作は、選択メモリセルMCの抵抗値を下げる動作である。プログラム動作において、制御回路50は、第1書き込み動作と同様に、各ワード線WLと各ビット線BLとに電圧が印加される。例えば、プログラム動作では、選択ワード線WLに書き込み電圧Vsetが印加される。
これにより、選択メモリセルMCの分極量が変化し、選択メモリセルMCの抵抗値が下がる。第3書き込み動作において、書き込み電圧Vsetは、プログラムループが繰り返される度にステップアップされる。言い換えると、選択ワード線WLに印加される書き込み電圧Vsetは、プログラムループの回数に応じて高くなるように設定される。
ベリファイ動作は、選択メモリセルMCの書き込み状況を確認する動作である。ベリファイ動作において、制御回路50は、当該プログラムループのプログラム動作と同じ選択メモリセルMCに対して、ベリファイ電圧Vvfyを用いた第3読み出し動作を実行する。制御回路50は、第3読み出し動作によって選択メモリセルMCから“1”データが読み出された場合、すなわち選択メモリセルMCの閾値電圧がベリファイ電圧Vvfy以下である場合に、ベリファイフェイルと判定し、次のプログラムループを実行する。一方で、制御回路50は、第3読み出し動作によって選択メモリセルMCから“0”データが読み出された場合、すなわち選択メモリセルMCの閾値電圧がベリファイ電圧Vvfyを超えた場合に、ベリファイパスと判定し、第3書き込み動作を終了する。
[3-2-2]記憶完了動作
図25は、第3実施形態に係る記憶装置1の記憶完了動作の一例を示すフローチャートである。図25に示すように、記憶装置1は、記憶完了動作において、ステップST50~ST57のそれぞれの処理を実行し得る。以下に、記憶完了動作の詳細について説明する。
図25は、第3実施形態に係る記憶装置1の記憶完了動作の一例を示すフローチャートである。図25に示すように、記憶装置1は、記憶完了動作において、ステップST50~ST57のそれぞれの処理を実行し得る。以下に、記憶完了動作の詳細について説明する。
制御回路50(リフレッシュ制御部81)は、第1実施形態や第2実施形態で説明された記憶動作が完了すると、記憶完了動作を開始する(開始)。
まず、制御回路50は、カウンタ82をリセットする(ステップS50、k=0)。“k”は、カウンタ82の保持する数値を示している。
次に、制御回路50は、メモリグループMG2内で状態S(k)のメモリセルMC(参照セル)を対象とした第3読み出し動作を実行する(ステップST51)。
次に、制御回路50は、ステップST51の読み出し結果を確認する(ステップST52)。本例では、参照セルが低抵抗状態である場合に“0”データが読み出され、参照セルが高抵抗状態である場合に“1”データが読み出される。参照セルに記憶された“0”データは、当該参照セルに割り当てられた状態S(k)が学習済みであることを示している。参照セルに記憶された“1”データは、当該参照セルに割り当てられた状態S(k)に、学習済みのデータが存在しないことを示している。
ステップST52の処理において“0”データが確認された場合(ステップST40、学習完了)、制御回路50は、メモリグループMG3内で状態S(k)のメモリセルMC(フラグセル)を対象とした第3書き込み動作を実行する(ステップST53)。ステップST53の処理では、状態S(k)に学習されたデータが存在することを示すデータ(フラグ)が、ベリファイ動作を含む書き込み動作によって、状態S(k)のメモリセルMC(フラグセル)に書き込まれる。ステップST53の処理が完了すると、制御回路50は、ステップST54の処理に進む。
ステップST52の処理において“1”データが確認された場合(ステップST40、学習未完)、制御回路50は、ステップST54の処理に進む。
ステップST54の処理では、制御回路50が、カウンタ82の数値が“3”であるか否かを判定する(ステップST54、k==3)。ステップST53でカウンタ82の数値との比較に使用される数値“3”は、状態Sが割り当てられたワード線WLの数に応じて適宜変更され得る。
k==3でない場合(ステップST54、NO)、制御回路50は、カウンタ82をインクリメントする(ステップST55、k=k+1)。すなわち、制御回路50は、カウンタ82の数値“k”に“1”を加算する。制御回路50は、ステップS55の処理の後、ステップST51の処理に進む。つまり、制御回路50は、ステップST54の条件を満たすまで、異なる状態Sを対象としたステップST51~ST53のそれぞれの処理を実行する。
k==3である場合(ステップST54、YES)、制御回路50は、メモリグループMG3内の複数のメモリセルMC(フラグセル)を対象とした第2読み出し動作を実行する(ステップST56)。ステップST56の処理において、読み出し回路40の計測回路44は、ビット線BLyに接続された複数のメモリセルMCを流れる読み出し電流の合計値(学習直後の参照値RVinit)を計測する。言い換えると、ステップST56の処理では、全てのフラグセルを流れる読み出し電流の総和が読み出され、計測される。
次に、制御回路50は、計測結果を記録する(ステップST57)。具体的には、制御回路50の記憶部57が、ステップS56の処理によって計測された参照値RVinitを参照情報RIに記録する。その後、制御回路50は、記憶完了動作を終了する(終了)。
[3-2-3]劣化確認動作
図26は、第3実施形態に係る記憶装置1の劣化確認動作の一例を示すフローチャートである。図26に示すように、記憶装置1は、劣化確認動作において、ステップST60~ST64のそれぞれの処理を実行し得る。以下に、劣化確認動作の詳細について説明する。
図26は、第3実施形態に係る記憶装置1の劣化確認動作の一例を示すフローチャートである。図26に示すように、記憶装置1は、劣化確認動作において、ステップST60~ST64のそれぞれの処理を実行し得る。以下に、劣化確認動作の詳細について説明する。
制御回路50(リフレッシュ制御部81)は、例えばタイマ80を参照することにより、定期的に劣化確認動作を開始する(開始)。尚、劣化確認動作は、ユーザの指示に基づいて実行されてもよいし、その他の条件に基づいて実行されてもよい。
まず、制御回路50は、メモリグループMG3内のメモリセルMC(フラグセル)を対象とした第2読み出し動作を実行する(ステップST60)。ステップST60の処理において、読み出し回路40の計測回路44は、ビット線BLyに接続された複数のメモリセルMCを流れる読み出し電流の合計値(参照値RVnow)を計測する。言い換えると、ステップST60の処理では、例えば全てのフラグセルを流れる読み出し電流の総和が読み出され、計測される。
次に、制御回路50は、計測結果を記録する(ステップST61)。具体的には、制御回路50の記憶部57が、ステップS60の処理によって計測された参照値RVnowを参照情報RIに記録する。
次に、制御回路50は、現在の参照値RVnowと、学習直後の参照値RVinitとを比較する(ステップST62)。これにより、制御回路50は、メモリグループMG3内の複数のメモリセルMCの劣化状況を把握することができる。
次に、制御回路50は、RVnowがRVinitの50%未満の値であるか否かを判定する(ステップST63)。尚、ステップST63で判定に使用される“50%”は、例えばデータの信頼性の要求の度合いに応じて適宜変更され得る。
RVnowがRVinitの50%未満の値である場合(ステップST63、YES)、制御回路50は、後述するリフレッシュ動作を実行する(ステップST64)。リフレッシュ動作が完了すると、制御回路50は、劣化確認動作を終了する(終了)。
RVnowがRVinitの50%以上の値である場合(ステップST63、NO)、制御回路50は、劣化確認動作を終了する(終了)。
[3-2-4]リフレッシュ動作
図27は、第3実施形態に係る記憶装置1のリフレッシュ動作の一例を示すフローチャートである。図27に示すように、記憶装置1は、リフレッシュ動作において、ステップST70~ST77のそれぞれの処理を実行し得る。以下に、リフレッシュ動作の詳細について説明する。
図27は、第3実施形態に係る記憶装置1のリフレッシュ動作の一例を示すフローチャートである。図27に示すように、記憶装置1は、リフレッシュ動作において、ステップST70~ST77のそれぞれの処理を実行し得る。以下に、リフレッシュ動作の詳細について説明する。
制御回路50(リフレッシュ制御部81)は、図26を参照して説明されたように、ステップST64の処理においてリフレッシュ動作を開始する(開始)。
まず、制御回路50は、カウンタ82をリセットする(ステップS70、k=0)。“k”は、カウンタ82の保持する数値を示している。
次に、制御回路50は、メモリグループMG3内で状態S(k)のメモリセルMC(フラグセル)を対象とした第3読み出し動作を実行する(ステップST71)。
次に、制御回路50は、ステップST71の読み出し結果を確認する(ステップST72)。本例では、フラグセルが低抵抗状態である場合に“0”データが読み出され、フラグセルが高抵抗状態である場合に“1”データが読み出される。フラグセルに記憶された“0”データは、当該フラグセルに割り当てられた状態S(k)が学習済みであることを示している。フラグセルに記憶された“1”データは、当該フラグセルに割り当てられた状態S(k)に、学習済みのデータが存在していないことを示している。
ステップST72の処理において“0”データが確認された場合(ステップST72、“0”データ)、制御回路50は、メモリグループMG1内で状態S(k)のメモリセルMCを対象とした第1読み出し動作を実行する(ステップST73)。
そして、制御回路50は、ステップST73の第1読み出し動作の結果に基づいて、状態S(k)における最適行動のメモリセルMCを確認する(ステップST74)。最適行動のメモリセルMCは、第1読み出し動作において比較回路43により検出された、最も電流量の大きいビット線BLに接続されたメモリセルMCに対応している。
それから、制御回路50は、メモリグループMG1内で状態S(k)のメモリセルMCを対象としたリフレッシュ書き込み動作を実行する(ステップST75)。リフレッシュ書き込み動作は、ステップST74によって確認された、状態S(k)の最適行動のメモリセルMCに対する第1書き込み動作と、状態S(k)のフラグセルに対する第3書き込み動作とを含む。リフレッシュ書き込み動作では、状態S(k)の最適行動のメモリセルMCに対する第3書き込み動作が実行されてもよいし、最適行動以外のメモリセルMCに対する第2書き込み動作が実行されてもよい。ステップST75の処理が完了すると、制御回路50は、ステップST76の処理に進む。
ステップST72の処理において“1”データが確認された場合(ステップST72、“1”データ)、制御回路50は、ステップS76の処理に進む。
ステップST76の処理では、制御回路50が、カウンタ82の数値が“3”であるか否かを判定する(ステップST76、k==3)。ステップST75でカウンタ82の数値との比較に使用される数値“3”は、状態Sが割り当てられたワード線WLの数に応じて適宜変更され得る。
k==3でない場合(ステップST76、NO)、制御回路50は、カウンタ82をインクリメントする(ステップST77、k=k+1)。すなわち、制御回路50は、カウンタ82の数値“k”に“1”を加算する。制御回路50は、ステップS77の処理の後、ステップST71の処理に進む。つまり、制御回路50は、ステップST76の条件を満たすまで、異なる状態Sを対象としたステップST71~ST75のそれぞれの処理を適宜実行する。
k==3である場合(ステップST77、YES)、制御回路50は、メモリグループMG3内の複数のメモリセルMC(フラグセル)を対象とした第2読み出し動作を実行する(ステップST78)。ステップST78の処理において、読み出し回路40の計測回路44は、ビット線BLyに接続された複数のメモリセルMCを流れる読み出し電流の合計値(参照値RVinit)を計測する。
次に、制御回路50は、計測結果を記録する(ステップST79)。具体的には、制御回路50の記憶部57が、ステップS78の処理によって計測された参照値RVinitを参照情報RIに記録する。これにより、参照値RVinitが、リフレッシュ書き込み動作によって変化した値に更新される。その後、制御回路50は、記憶完了動作を終了する(終了)。
以上で説明されたように、第3実施形態に係る記憶装置1は、劣化確認動作によって、複数のフラグセルを対象とした定期的な第2読み出し動作により参照値RVを記憶部57に蓄積させる。そして、記憶装置1は、参照値RVの変化に基づいてリフレッシュ動作を実行する。リフレッシュ動作は、メモリグループMG1内の複数のメモリセルのうちワード線WLを共有する複数のメモリセルMCで最も抵抗値の低いメモリセルMCの抵抗値を下げる書き込み動作を含む。
[3-3]シミュレーション結果
図28は、第3実施形態に係る記憶装置1における、リテンション性能と学習性能の維持時間との関係性の一例を示すグラフである。図28の縦軸は、学習性能の維持時間を示している。学習性能の維持時間は、目標時間に達していることが好ましい。学習性能の維持時間が目標時間に達していないことは、学習結果が理想的な状態から外れていることを示している。図28の横軸は、データのリテンション性能を示している。リテンション性能は、記憶装置1の放置後の電流値/書き込み直後の電流値)を示している。記憶装置1の放置後の電流値は、参照値RVnowに対応している。書き込み直後の電流値は、参照値RVinitに対応している。
図28は、第3実施形態に係る記憶装置1における、リテンション性能と学習性能の維持時間との関係性の一例を示すグラフである。図28の縦軸は、学習性能の維持時間を示している。学習性能の維持時間は、目標時間に達していることが好ましい。学習性能の維持時間が目標時間に達していないことは、学習結果が理想的な状態から外れていることを示している。図28の横軸は、データのリテンション性能を示している。リテンション性能は、記憶装置1の放置後の電流値/書き込み直後の電流値)を示している。記憶装置1の放置後の電流値は、参照値RVnowに対応している。書き込み直後の電流値は、参照値RVinitに対応している。
図28に示すように、リテンション性能が50%~90%である場合には、学習性能の維持時間が目標時間を達成している。一方で、リテンション性能が例えば50%よりも小さくなるにつれて、学習性能の維持時間が下降する傾向(劣化傾向)が見られる。従って、図26に示されたステップST63の処理における判定条件は、“RVnowがRVinitの50%未満の値である”ことが好ましい。これにより、第3実施形態に係る記憶装置1は、目標の学習性能を維持することができる。尚、この判定条件は、メモリセルMCの特性や、要求する信頼性の性能に応じて適宜変更され得る。
[3-4]第3実施形態の効果
記憶動作が実行された後のメモリセルMCの抵抗値は、メモリセルアレイ10内でばらつきを有する。また、記憶動作で実行される第1書き込み動作及び第2書き込み動作はベリファイ動作を含まないため、学習済みの状態Sの複数のメモリセルMCにおいて、最適行動のメモリセルMCとその他のメモリセルMCとの間のオン/オフ比のマージンが小さい場合がある。このように各状態Sにおけるオン/オフ比のマージンが小さい場合、リテンションやノイズの影響が大きくなる。例えば、リテンションやノイズの影響により、選択メモリセルMCのオン電流の最大値と、非選択メモリセルMCのオフ電流との最大値との差が小さくなり、最適行動のビット線BLの選択が困難になるおそれがある。
記憶動作が実行された後のメモリセルMCの抵抗値は、メモリセルアレイ10内でばらつきを有する。また、記憶動作で実行される第1書き込み動作及び第2書き込み動作はベリファイ動作を含まないため、学習済みの状態Sの複数のメモリセルMCにおいて、最適行動のメモリセルMCとその他のメモリセルMCとの間のオン/オフ比のマージンが小さい場合がある。このように各状態Sにおけるオン/オフ比のマージンが小さい場合、リテンションやノイズの影響が大きくなる。例えば、リテンションやノイズの影響により、選択メモリセルMCのオン電流の最大値と、非選択メモリセルMCのオフ電流との最大値との差が小さくなり、最適行動のビット線BLの選択が困難になるおそれがある。
そこで、第3実施形態に係る記憶装置1は、状態S毎のフラグセルを含むメモリグループMG3を備えている。フラグセルは、関連付けられた状態Sが学習済みのデータを含むか否かを示す。フラグセルは、第3書き込み動作によってデータが書き込まれるため、オン/オフ比のマージンが十分に確保された低抵抗状態になる。すなわち、フラグセルのリテンション性能は、メモリグループMG1のメモリセルMCよりも高くなる。
そして、第3実施形態に係る記憶装置1は、第1実施形態で説明された参照セルと同様に複数のフラグセルに対して第2読み出し動作を実行し、メモリグループMG3から取得された参照値RVの変化(メモリセルMCの劣化状態)をモニタする。それから、記憶装置1は、現在の参照値RVnowが、初期の参照値RVinitに対して所定の数値(例えば50%)未満に低下したことに基づいて、リフレッシュ動作を実行する。リフレッシュ動作は、最適行動のメモリセルMCを対象としたリフレッシュ書き込み動作を含む。
リフレッシュ書き込み動作において、記憶装置1は、メモリグループMG1内の最適行動のメモリセルMCの抵抗状態がより良好な状態(すなわち低抵抗な状態)になるように、適宜書き込み動作を実行する。リフレッシュ書き込み動作が実行されると、メモリグループMG1に対する第1読み出し動作において、最適行動のメモリセルMCの読み出し電流が、最適行動以外のメモリセルMCによる読み出し電流に対して際立つようになる。
その結果、第3実施形態に係る記憶装置1は、ビット線BLの選択、すなわち行動Aの選択精度を向上させることができ、強化学習済みのデータの信頼性を向上させることができる。また、第3実施形態に係る記憶装置1は、フラグセルを参照することによって、学習済みである状態Sに対して選択的にリフレッシュ書き込み動作を実行することができる。これにより、第3実施形態に係る記憶装置1は、不要なリフレッシュ書き込み動作を省略することができ、リフレッシュ動作の処理時間を短縮することができる。
[3-5]第3実施形態の変形例
以上で説明された第3実施形態に係る記憶装置1は、種々の変形が可能である。
以上で説明された第3実施形態に係る記憶装置1は、種々の変形が可能である。
第3実施形態で説明されたフラグセルの役割が、参照セルに割り当てられてもよい。この場合、図22に示されたメモリセルアレイ10から、ビット線BLyと、ビット線BLyに接続された複数尾メモリセルMC(フラグセル)とが省略される。また、この場合、記憶完了動作のステップST53の処理において、制御回路50が、メモリグループMG2内で状態S(k)のメモリセルMC(参照セル)を対象とした第3書き込み動作を実行する。ステップST56の処理において、制御回路50が、メモリグループMG2内の複数のメモリセルMCを対象とした第2読み出し動作を実行して、この読み出し結果から参照値RVinitを取得する。劣化確認動作のステップST60の処理において、制御回路50が、メモリグループMG2内のメモリセルMCを対象とした第2読み出し動作を実行して、この読み出し結果から参照値RVnowを取得する。
制御回路50は、記憶動作において学習が完了している状態Sの情報を記憶部57に記憶させているのであれば、図25を参照して説明した記憶完了動作において、ステップST51の処理を省略し、ステップST52の処理において対象の状態Sにおける学習完了の有無のみを確認してもよい。この場合、例えば、学習完了の状態Sのフラグセルに対してステップST53の第3書き込み動作が実行され、学習未完の状態Sのフラグセルに対する第3書き込み動作が省略される。
図27を参照して説明したリフレッシュ書き込み動作においてフラグセルに適宜第3書き込み動作が実行されると、メモリグループMG3の複数のフラグセルに対する第2読み出し動作により得られる参照値RVが、記憶完了動作において記録された参照値RVinitに近くなることが推測される。このため、リフレッシュ動作において、ステップST78及びST79の処理が省略されてもよい。この場合、参照値RVinitが、リフレッシュ動作の後においても、記憶完了動作で記録された値を維持する。また、ステップST78及びST79の処理が省略されることによって、リフレッシュ動作の時間が短縮される。
[4]第4実施形態
第4実施形態に係る記憶装置1は、記憶動作が完了した後におけるメモリグループMG1に記憶されたデータの保障を、第3実施形態と異なる方法で実行する。以下に、第4実施形態に係る記憶装置1について、第1~第3実施形態と異なる点を説明する。
第4実施形態に係る記憶装置1は、記憶動作が完了した後におけるメモリグループMG1に記憶されたデータの保障を、第3実施形態と異なる方法で実行する。以下に、第4実施形態に係る記憶装置1について、第1~第3実施形態と異なる点を説明する。
[4-1]メモリセルアレイ10の構成
図29は、第4実施形態に係る記憶装置1が備えるメモリセルアレイ10の回路構成の一例を示す回路図である。図29に示すように、第4実施形態におけるメモリセルアレイ10は、第3実施形態で図22を参照して説明されたメモリセルアレイ10に対して、メモリセルMC0z0~MC0z3、MC1z0~MC1z3、MC2z0~MC2z3、及びMC3z0~MC3z3と、ビット線BLz0~BLz3とが追加された構成を有する。
図29は、第4実施形態に係る記憶装置1が備えるメモリセルアレイ10の回路構成の一例を示す回路図である。図29に示すように、第4実施形態におけるメモリセルアレイ10は、第3実施形態で図22を参照して説明されたメモリセルアレイ10に対して、メモリセルMC0z0~MC0z3、MC1z0~MC1z3、MC2z0~MC2z3、及びMC3z0~MC3z3と、ビット線BLz0~BLz3とが追加された構成を有する。
具体的には、メモリセルMC0z0~MC0z3は、それぞれワード線WL0とビット線BLz0~BLz3のそれぞれとの間に接続されている。メモリセルMC1z0~MC1z3は、それぞれワード線WL1とビット線BLz0~BLz3のそれぞれとの間に接続されている。メモリセルMC2z0~MC2z3は、それぞれワード線WL2とビット線BLz0~BLz3のそれぞれとの間に接続されている。メモリセルMC3z0~MC3z3は、それぞれワード線WL3とビット線BLz0~BLz3のそれぞれとの間に接続されている。
第4実施形態に係る記憶装置1では、例えば、複数のメモリセルMCが4つのメモリグループMGに分類される。メモリグループMG1は、ビット線BL0~BL3のいずれかに接続されたメモリセルMCを含む。メモリグループMG2は、ビット線BLxに接続されたメモリセルMCを含む。メモリグループMG3は、ビット線BLyに接続されたメモリセルMCを含む。メモリグループMG3は、ビット線BLz0~BLz3のいずれかに接続されたメモリセルMCを含む。メモリグループMG1、MG2、及びMG3のそれぞれの役割は、第3実施形態と同様である。
そして、第4実施形態に係る記憶装置1では、メモリグループMG4が、メモリグループMG1に記憶されたデータを待避するための記憶領域として使用される。このため、例えば、メモリグループMG1に含まれたメモリセルMCの数と、メモリグループMG4に含まれたメモリセルMCの数とが略等しい。そして、メモリグループMG4に含まれた各メモリセルMCは、メモリグループMG1内で強化学習に使用される複数のメモリセルMCのいずれかに関連付けられている。
具体的には、メモリセルMC0z0~MC0z3は、それぞれメモリセルMC00~MC03に関連付けられている。メモリセルMC1z0~MC1z3は、それぞれメモリセルMC10~MC13に関連付けられている。メモリセルMC2z0~MC2z3は、それぞれメモリセルMC20~MC23に関連付けられている。メモリセルMC3z0~MC3z3は、それぞれメモリセルMC30~MC33に関連付けられている。第4実施形態に係る記憶装置1におけるその他の構成は、第3実施形態と同様である。
[4-2]記憶完了動作
図30は、第4実施形態に係る記憶装置1の記憶完了動作の一例を示すフローチャートである。図30に示すように、第4実施形態に係る記憶装置1の記憶完了動作は、第3実施形態で図25を参照して説明された記憶完了動作に、ステップST80及びST81のそれぞれの処理が追加された構成を有する。ステップST80及びST81は、ステップS53及びST54の間に挿入されている。
図30は、第4実施形態に係る記憶装置1の記憶完了動作の一例を示すフローチャートである。図30に示すように、第4実施形態に係る記憶装置1の記憶完了動作は、第3実施形態で図25を参照して説明された記憶完了動作に、ステップST80及びST81のそれぞれの処理が追加された構成を有する。ステップST80及びST81は、ステップS53及びST54の間に挿入されている。
具体的には、制御回路50は、ステップST53の処理が完了すると、ステップST80の処理に進む。ステップST80の処理において、制御回路50は、メモリグループMG1内で状態S(k)のメモリセルMCを対象とした第1読み出し動作を実行する。この第1読み出し動作によって、制御回路50は、状態S(k)において最適行動であることを示すメモリセルMC、すなわちメモリグループMG1内で最も抵抗値の低いメモリセルMCを確認する。
制御回路50は、ステップST80の処理が完了すると、ステップST81の処理に進む。ステップST81の処理において、制御回路50は、ステップST80の読み出し結果に基づいて、制御回路50は、メモリグループMG1内で状態S(k)の最適行動であることを示すメモリセルMCに関連付けられた、メモリグループMG4内のメモリセルMCに対して、第3書き込み動作を実行する。これにより、メモリグループMG4内で最適行動に関連付けられたメモリセルMCの抵抗値が下がる。
制御回路50は、ステップST81の処理が完了すると、ステップST54の処理に進む。第4実施形態の記憶完了動作のその他の動作は、第3実施形態の記憶完了動作と同様である。
以上で説明された記憶完了動作によって、記憶装置1は、メモリグループMG1における最適行動のメモリセルMCのマッピングを、メモリグループMG4に反映(コピー)させることができる。これにより、制御回路50は、メモリグループMG4において最も抵抗値の低いメモリセルMCを探索することによって、最適行動のメモリセルMCのアドレスを把握することができる。第4実施形態における記憶完了動作は、“マッピング動作”若しくは“セルアドレスマッピング動作”と呼ばれてもよい。
[4-3]リフレッシュ動作
図31は、第4実施形態に係る記憶装置1のリフレッシュ動作の一例を示すフローチャートである。図31に示すように、第4実施形態に係る記憶装置1のリフレッシュ動作は、第3実施形態で図27を参照して説明されたリフレッシュ動作において、ステップST73がステップST90に置き換えられた構成を有する。
図31は、第4実施形態に係る記憶装置1のリフレッシュ動作の一例を示すフローチャートである。図31に示すように、第4実施形態に係る記憶装置1のリフレッシュ動作は、第3実施形態で図27を参照して説明されたリフレッシュ動作において、ステップST73がステップST90に置き換えられた構成を有する。
ステップST90の処理では、制御回路50が、メモリグループMG4内で状態S(k)の複数のメモリセルMCを対象とした第1読み出し動作を実行する。メモリグループMG4はメモリグループMG1からコピーされたデータを記憶しているため、制御回路50は、ステップST90における第1読み出し動作の結果から、当該状態S(k)における最適行動のメモリセルMCを特定することができる。そして、制御回路50は、第3実施形態と同様に、メモリグループMG1のメモリセルMCを対象としたリフレッシュ書き込み動作等を実行することができる。言い換えると、制御回路50は、フラグセルを参照することによって、学習済みの状態S(ワード線WL)のみを対象としたリフレッシュ書き込み動作を実行することができる。第4実施形態に係る記憶装置1のその他の動作は、第3実施形態と同様である。
[4-3]第4実施形態の効果
第4実施形態に係る記憶装置1は、リフレッシュ動作に使用するための領域(メモリグループMG4)を備えている。メモリグループMG4は、メモリグループMG1のコピーデータが記憶されるミラー領域として使用される。また、メモリグループMG4に対する書き込み動作としては、ベリファイ動作を含む第3書き込み動作が使用される。
第4実施形態に係る記憶装置1は、リフレッシュ動作に使用するための領域(メモリグループMG4)を備えている。メモリグループMG4は、メモリグループMG1のコピーデータが記憶されるミラー領域として使用される。また、メモリグループMG4に対する書き込み動作としては、ベリファイ動作を含む第3書き込み動作が使用される。
このため、メモリグループMG4のメモリセルMCのリテンション性能は、メモリグループMG1のメモリセルMCよりも高くなる。そして、記憶装置1は、リフレッシュ動作において、メモリグループMG4に対する第1読み出し動作を実行することによって、各状態Sにおける最適行動のメモリセルMCのアドレスを把握することができる。
その結果、第4実施形態に係る記憶装置1は、メモリグループMG1よりも信頼性の高いメモリグループMG4のデータを用いて、メモリグループMG1のデータをリフレッシュさせることができる。従って、第4実施形態に係る記憶装置1は、第3実施形態よりもデータの信頼性を向上させることができる。
[4-4]第4実施形態の変形例
以上で説明された第1実施形態に係る記憶装置1は、種々の変形が可能である。例えば、メモリグループMG4のサイズがメモリグループMG1と同様である場合について例示したが、これに限定されない。
以上で説明された第1実施形態に係る記憶装置1は、種々の変形が可能である。例えば、メモリグループMG4のサイズがメモリグループMG1と同様である場合について例示したが、これに限定されない。
例えば、メモリグループMG4は、最適行動のメモリセルMCのアドレス情報のみを記憶してもよい。この場合、制御回路50は、メモリグループMG1に記憶された学習結果をメモリグループMG4に書き込む際に、最適行動のメモリセルMCのアドレスを、状態S毎にメモリグループMG4内の複数のメモリセルMCに記憶させる。このような場合においても、記憶装置1は、第4実施形態と同様の動作のリフレッシュ動作を実行することができ、第4実施形態と同様の効果を得ることができる。また、本変形例は、メモリグループMG4の記憶容量をメモリグループMG1よりも小さくすることができるため、メモリセルアレイ10の面積を縮小することができる。
また、ユーザは、メモリグループMG4に記憶されたデータを学習結果として使用してもよい。この場合、メモリグループMG1のメモリセルMCは、学習時にのみ使用されることになる。記憶装置1は、学習結果がメモリグループMG4に最終的に書き込むことによって、ディスターブの影響が少ないメモリセルMCに学習結果を記憶させることができる。また、記憶装置1は、メモリグループMG4に対する学習結果の書き込みに第3書き込み動作を使用することによって、オン/オフ比のマージンの大きい状態で学習結果を使用することができる。
[5]その他
各実施形態で説明された記憶装置1は、1回の記憶動作(強化学習)が実行された後に、その記憶結果(学習モデル)を用いて特定の動作を長期間実行するチップとして使用され得る。言い換えると、記憶装置1は、要求される動作に必要な学習(記憶動作)を1度実施し、学習が完了した後に、そのモデルを使ってある程度の長期間、特定の制御を繰り返し実施するシステムとして使用され得る。具体的には、記憶装置1は、ロボットのアーム制御や、ゲーム等で使用され得る。この場合、記憶完了動作によって設定されたワード線WL及びビット線BLの対は、時間や入力データによって更新されず、不変である。
各実施形態で説明された記憶装置1は、1回の記憶動作(強化学習)が実行された後に、その記憶結果(学習モデル)を用いて特定の動作を長期間実行するチップとして使用され得る。言い換えると、記憶装置1は、要求される動作に必要な学習(記憶動作)を1度実施し、学習が完了した後に、そのモデルを使ってある程度の長期間、特定の制御を繰り返し実施するシステムとして使用され得る。具体的には、記憶装置1は、ロボットのアーム制御や、ゲーム等で使用され得る。この場合、記憶完了動作によって設定されたワード線WL及びビット線BLの対は、時間や入力データによって更新されず、不変である。
また、以上で説明された各実施形態は、種々の変形が可能である。
上記実施形態で説明された動作の詳細は、メモリセルMCとして使用される抵抗変化素子の種類に応じて適宜変更され得る。例えば、上記実施形態では、メモリセルMCがFTJ素子である場合に、制御回路50が、第1読み出し動作において最も読み出し電流の大きいビット線BLを選択した動作(ステップST12の行動A(i)等)を実行する場合について例示したが、これに限定されない。制御回路50は、第1読み出し動作により取得された複数のビット線BLのそれぞれの読み出し電流の大きさに基づいて、ビット線BLを選択していればよい。言い換えると、制御回路50は、少なくとも第1読み出し動作により取得された読み出し電流の差異に応じてビット線BLを選択していればよい。例えば、制御回路50は、第1読み出し動作において、複数のビット線BLのうち最も読み出し電流の小さいビット線BLを選択してもよい。
制御回路50によって使用される記憶回路の一部に、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスク等が使用されてもよい。記憶回路は、LAN(Local Area Network)やインターネットなどにより伝達されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体であってもよい。また、記憶回路が使用する記憶媒体は1つに限定されず、複数の記憶媒体を使用してもよい。
制御回路50のCPUの替わりに、MPU(Micro Processing Unit)やGPU(Graphical Processing Unit)等の汎用プロセッサが使用されてもよい。各実施形態において説明された処理のそれぞれは、専用のハードウェアによって実現されてもよい。例えば、制御回路50としては、ASIC(Application Specific Integrated Circuit)、プログラマブル論理デバイス(例えば、SPLD(Simple Programmable Logic Device)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)等)が使用されてもよい。各実施形態で説明された動作は、ソフトウェアにより実行される処理と、ハードウェアによって実行される処理とが混在していてもよいし、どちらか一方のみであってもよい。
各実施形態において、動作の説明に使用されたフローチャートは、あくまで一例である。各動作は、同様の結果が得られるのであれば、処理の順番が可能な範囲で入れ替えられてもよいし、その他の処理が追加されてもよいし、一部の処理が省略されてもよい。例えば、図13に示されたステップST15及びST16の処理が、ステップST11の処理の直後に挿入されてもよい。この場合、ステップST15の第2読み出し動作と、ステップST13の行動A(i)とが並行して実行され得る。図17に示された記憶処理のフローにおいて、ステップST200の処理が、第1試行処理に挿入されても良い。この場合、制御回路50は、第1条件が満たされたことを検知すると、直ちに罰則処理のフローを第2試行処理に切り替える。他の動作についても同様に、条件判定のタイミングと、処理の切り替えのタイミングとは、適宜変更され得る。
尚、本明細書において、“ワード線WL”は、横方向配線と呼ばれてもよい。“ビット線BL”が、縦方向配線と呼ばれてもよい。ワード線WL及びビット線BLのそれぞれが、単に“配線”と呼ばれてもよい。メモリセルMCの閾値電圧は、例えば、低抵抗状態のメモリセルMCに順方向電圧が印加された場合に、所定の読み出し電流量を超える電圧のことを示している。“接続”とは、電気的に接続されている事を示し、例えば間に別の素子を介することを除外しない。“メモリセルMCの一端”は、例えば、メモリセルMCの上部電極(導電体層11)に対応している。“メモリセルMCの他端”は、例えば、メモリセルMCの下部電極(導電体層12)に対応している。第1ドライバ回路20や第2ドライバ回路30等によって配線に電圧が印加されることは、“制御回路50が当該配線に電圧を印加する”と表現されてもよく、制御回路50を主体として説明されてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…記憶装置、10…メモリセルアレイ、11…導電体層、12…導電体層、13…常誘電体膜、14…強誘電体膜、20…第1ドライバ回路、21…電圧発生器、22…トランジスタ、23…トランジスタ、30…第2ドライバ回路、31…電圧発生器、32…トランジスタ、40…読み出し回路、41…センス回路、42…トランジスタ、43…比較回路、44…計測回路、50…制御回路、51…状態取得部、52…試行制御部、53…第1ドライバ制御部、54…第2ドライバ制御部、55…読み出し制御部、56…行動実行部、57…記憶部、60…センサ、70…アクチュエータ、80…タイマ、81…リフレッシュ制御部、82…カウンタ、BL…ビット線、WL…ワード線、MC…メモリセル、MG…メモリグループ、RI…参照情報、RV…参照値
Claims (20)
- 複数の第1配線と、
各々が前記複数の第1配線と交差する複数の第2配線と、
前記複数の第1配線と前記複数の第2配線との間の複数の交差部分にそれぞれ設けられ、各々が前記複数の第1配線のうち1つの第1配線と前記複数の第2配線のうち1つの第2配線とに接続された複数の第1メモリセルと、
制御対象の状態に関する情報を取得することが可能であり、前記状態に基づいた行動を前記制御対象に実行させることが可能であり、前記状態に基づいて読み出し動作及び書き込み動作のそれぞれを実行することが可能な制御回路と、を備え、
前記制御回路は、各々が第1動作と第2動作と第3動作とを含む複数の試行処理を実行し、
前記第1動作では、前記制御対象が第1状態であることに基づいて前記複数の第1配線から選択された第1配線と、前記複数の第2配線との間に接続された複数の第1メモリセルに対する第1読み出し動作を実行し、前記第1読み出し動作により取得された前記複数の第2配線のそれぞれの読み出し電流の大きさに基づいて第2配線を選択し、
前記第2動作では、前記選択された第2配線に関連付けられた行動を前記制御対象に実行させ、前記制御対象の状態が第2状態に遷移し、
前記第3動作では、前記制御対象が前記第2状態であることに基づいて、前記選択された第1配線を対象とした第1処理又は第2処理を実行し、
前記第1処理では、前記選択された第1配線と前記選択された第2配線とに接続された第1メモリセルに、第1方向の書き込み電圧を印加し、前記選択された第1配線と非選択の第2配線とに接続された第1メモリセルに、前記第1方向と異なる第2方向の書き込み電圧を印加し、
1回目からm回目(mは2以上の整数)の試行処理の第2処理では、前記選択された第1配線と前記選択された第2配線とに接続された第1メモリセルに、前記第2方向の書き込み電圧を印加し、前記選択された第1配線と非選択の第2配線とに接続された第1メモリセルに対する書き込み動作を省略し、
(m+1)回目以降の試行処理の第2処理では、前記選択された第1配線と前記選択された第2配線とに接続された前記第1メモリセルに、前記第2方向の書き込み電圧を印加し、前記選択された第1配線と非選択の第2配線とに接続された第1メモリセルに対して、前記第1方向の書き込み電圧を印加する、
記憶装置。 - 前記複数の第1配線と交差する第3配線と、
前記複数の第1配線と前記第3配線との間の複数の交差部分にそれぞれ設けられ、各々が前記複数の第1配線のうち1つの第1配線と前記第3配線とに接続された複数の第2メモリセルと、
前記試行処理に関する情報を記憶することが可能な記憶回路と、をさらに備え、
前記試行処理は、前記複数の第2メモリセルを対象とした第2読み出し動作を含み、
前記制御回路は、前記第2読み出し動作によって取得された前記複数の第2メモリセルのそれぞれの読み出し電流の総和を第1参照値として前記記憶回路に記憶させる、
請求項1に記載の記憶装置。 - 前記制御回路は、前記複数の試行処理において、n回目(nは2以上の整数)の試行処理により取得された第1参照値が(n-1)回目の試行処理により取得された第1参照値よりも下がったことを初めて検知すると、(n+1)回目以降の試行処理の第2処理で(m+1)回目以降の前記第2処理を実行する、
請求項2に記載の記憶装置。 - 前記第1読み出し動作において、前記制御回路は、前記選択された第1配線に第1電圧を印加し、非選択の第1配線に前記第1電圧よりも低い第2電圧を印加し、前記複数の第2配線に前記第2電圧を印加する、
請求項1に記載の記憶装置。 - 前記第2読み出し動作において、前記制御回路は、前記複数の第1配線に第3電圧を印加し、前記第3配線に前記第3電圧よりも低い第4電圧を印加する、
請求項2に記載の記憶装置。 - 前記制御回路は、
前記選択された第1配線と前記選択された第2配線とに接続された前記第1メモリセルに前記第1方向の書き込み電圧を印加する際に、前記選択された第1配線に第5電圧を印加し、前記選択された第2配線に前記第5電圧よりも低い第6電圧を印加し、前記非選択の第1配線と前記非選択の第2配線とのそれぞれに前記第5電圧と前記第6電圧との間の第7電圧を印加し、
前記選択された第1配線と前記選択された第2配線とに接続された前記第1メモリセルに前記第2方向の書き込み電圧を印加する際に、前記選択された第1配線に第8電圧を印加し、前記選択された第2配線に前記第8電圧よりも高い第9電圧を印加し、前記非選択の第1配線と前記非選択の第2配線とのそれぞれに前記第8電圧と前記第9電圧との間の第10電圧を印加する、
請求項1に記載の記憶装置。 - 前記複数の第1配線と交差する第3配線と、
前記複数の第1配線と前記第3配線との間の複数の交差部分にそれぞれ設けられ、各々が前記複数の第1配線のうち1つの第1配線と前記第3配線とに接続された複数の第2メモリセルと、
前記試行処理に関する情報を記憶することが可能な記憶回路と、をさらに備え、
前記試行処理は、前記選択された第1配線に接続された第2メモリセルを対象とした第3読み出し動作を含み、
前記制御回路は、前記第3読み出し動作によって取得された前記第2メモリセルの読み出し電流の値を第2参照値として、前記第1配線毎の第2参照値を、前記記憶回路に記憶させる、
請求項1に記載の記憶装置。 - 前記制御回路は、前記選択された第1配線に関連付けられた第2参照値が2回以上連続で低下していることを検知した場合の試行処理において、前記第1処理及び前記第2処理を省略する、
請求項7に記載の記憶装置。 - 前記複数の第1配線と交差する第4配線と、
前記複数の第1配線と前記第4配線との間の複数の交差部分にそれぞれ設けられ、各々が前記複数の第1配線のうち1つの第1配線と前記第4配線とに接続された複数の第4メモリセルと、をさらに備え、
前記制御回路は、前記複数の試行処理が完了した後に、1つの第1配線と1つの第2配線とが関連付けられている場合に、前記1つの第1配線に接続された第4メモリセルに対して、ベリファイ動作を含む書き込み動作を実行する、
請求項1に記載の記憶装置。 - 前記試行処理に関する情報を記憶することが可能な記憶回路をさらに備え、
前記制御回路は、前記複数の試行処理の後に、前記複数の第4メモリセルを対象とした第4読み出し動作を実行し、前記第4読み出し動作によって取得された前記複数の第4メモリセルのそれぞれの読み出し電流の総和を第3参照値として前記記憶回路に記憶させる、
請求項9に記載の記憶装置。 - 前記制御回路は、前記複数の試行処理が完了した後に、前記複数の第4メモリセルを対象とした定期的な前記第4読み出し動作により第3参照値を前記記憶回路に蓄積させ、前記第3参照値の変化に基づいて、前記複数の第1メモリセルのうち第1配線を共有する複数の第1メモリセルで最も抵抗値の低い第1メモリセルの抵抗値を下げる書き込み動作を含むリフレッシュ動作を実行する、
請求項10に記載の記憶装置。 - 前記制御回路は、前記複数の試行処理が完了した後でk回目(kは2以上の整数)に取得した第3参照値が、前記複数の試行処理の後で最初に取得した第3参照値の50%未満である場合に、前記リフレッシュ動作を実行する、
請求項11に記載の記憶装置。 - 前記複数の第1配線と交差し、前記複数の第2配線と同じ本数である複数の第5配線と、
前記複数の第1配線と前記複数の第5配線との間の複数の交差部分にそれぞれ設けられ、各々が前記複数の第1配線のうち1つの第1配線と前記複数の第5配線のうち1つの第5配線とに接続され、前記複数の第1メモリセルにそれぞれ関連付けられた複数の第5メモリセルと、をさらに備え、
前記制御回路は、前記第1配線を共有する複数の第1メモリセルと複数の第5メモリセルとの組のそれぞれにおいて、最も抵抗値の低い第1メモリセルに関連付けられた第5メモリセルに対して、ベリファイ動作を含む書き込み動作を実行し、前記複数の第5メモリセルに対する読み出し動作の結果に基づいて、前記複数の第1メモリセルのうち第1配線を共有する複数の第1メモリセルで最も抵抗値の低い第1メモリセルの抵抗値を下げる書き込み動作を含むリフレッシュ動作を実行する、
請求項1に記載の記憶装置。 - 前記複数の第1配線と交差する複数の第6配線と、
前記複数の第1配線と前記複数の第6配線との間の複数の交差部分にそれぞれ設けられ、各々が前記複数の第1配線のうち1つの第1配線と前記複数の第6配線のうち1つの第6配線とに接続された複数の第6メモリセルと、をさらに備え、
前記制御回路は、前記複数の試行処理が完了した後に、前記第1配線を共有する複数の第1メモリセルと複数の第6メモリセルとの組のそれぞれで、最も抵抗値の低い第1メモリセルのアドレス情報を、前記第1配線を共有する前記複数の第6メモリセルに記憶させ、前記複数の第6メモリセルに記憶された前記アドレス情報に基づいて、前記複数の第1メモリセルのうち第1配線を共有する複数の第1メモリセルで最も抵抗値の低い第1メモリセルの抵抗値を下げる書き込み動作を含むリフレッシュ動作を実行する、
請求項1に記載の記憶装置。 - 前記第1メモリセルは、強誘電体膜と、常誘電体膜とを備え、前記強誘電体膜と前記常誘電体膜とは、前記第1配線と前記第2配線との間に設けられている、
請求項1乃至請求項14のいずれか一項に記載の記憶装置。 - 複数の第1配線と、各々が前記複数の第1配線と交差する複数の第2配線と、前記複数の第1配線と前記複数の第2配線との間の複数の交差部分にそれぞれ設けられ、各々が前記複数の第1配線のうち1つの第1配線と前記複数の第2配線のうち1つの第2配線とに接続された複数の第1メモリセルとを備える記憶装置の記憶方法であって、
各々が第1動作と第2動作と第3動作とを含む複数の試行処理を実行することと、
第1動作において、制御対象が第1状態であることに基づいて前記複数の第1配線から選択された第1配線と、前記複数の第2配線との間に接続された複数の第1メモリセルに対する第1読み出し動作を実行し、前記第1読み出し動作により取得された前記複数の第2配線のそれぞれの読み出し電流の大きさに基づいて第2配線を選択することと、
前記第2動作において、前記選択された第2配線に関連付けられた行動を前記制御対象に実行させることと、
前記第3動作において、前記制御対象が第2状態であることに基づいて、前記選択された第1配線を対象とした第1処理又は第2処理を実行することと、
前記第1処理において、前記選択された第1配線と前記選択された第2配線とに接続された第1メモリセルに、第1方向の書き込み電圧を印加し、前記選択された第1配線と非選択の第2配線とに接続された第1メモリセルに、前記第1方向と異なる第2方向の書き込み電圧を印加することと、
1回目からm回目(mは2以上の整数)の試行処理の第2処理において、前記選択された第1配線と前記選択された第2配線とに接続された第1メモリセルに、前記第2方向の書き込み電圧を印加し、前記選択された第1配線と非選択の第2配線とに接続された第1メモリセルに対する書き込み動作を省略することと、
(m+1)回目以降の試行処理の第2処理において、前記選択された第1配線と前記選択された第2配線とに接続された前記第1メモリセルに、前記第2方向の書き込み電圧を印加し、前記選択された第1配線と非選択の第2配線とに接続された第1メモリセルに対して、前記第1方向の書き込み電圧を印加することと、を備える、
記憶方法。 - 前記記憶装置が、前記複数の第1配線と交差する第3配線と、前記複数の第1配線と前記第3配線との間の複数の交差部分にそれぞれ設けられ、各々が前記複数の第1配線のうち1つの第1配線と前記第3配線とに接続された複数の第2メモリセルと、をさらに備え、
前記試行処理は、前記複数の第2メモリセルを対象とした第2読み出し動作を含み、
前記第2読み出し動作において取得された前記複数の第2メモリセルのそれぞれの読み出し電流の総和を第1参照値として記憶回路に記憶させることと、
前記複数の試行処理において、n回目(nは2以上の整数)の試行処理により取得された第1参照値が(n-1)回目の試行処理により取得された第1参照値よりも下がったことを初めて検知すると、(n+1)回目以降の試行処理の第2処理で(m+1)回目以降の前記第2処理を実行することと、を備える、
請求項16に記載の記憶方法。 - 前記記憶装置が、前記複数の第1配線と交差する第3配線と、前記複数の第1配線と前記第3配線との間の複数の交差部分にそれぞれ設けられ、各々が前記複数の第1配線のうち1つの第1配線と前記第3配線とに接続された複数の第3メモリセルと、をさらに備え、
前記試行処理は、前記選択された第1配線に接続された第3メモリセルを対象とした第3読み出し動作を含み、
前記第3読み出し動作において取得された前記第3メモリセルの読み出し電流の値を、前記第1配線に関連付けられた第2参照値として記憶回路に記憶させることと、
前記選択された第1配線に関連付けられた第2参照値が2回以上連続で低下していることを検知した場合の試行処理において、前記第1処理及び前記第2処理を省略することと、を備える、
請求項16に記載の記憶方法。 - 前記記憶装置が、前記複数の第1配線と交差する第4配線と、前記複数の第1配線と前記第4配線との間の複数の交差部分にそれぞれ設けられ、各々が前記複数の第1配線のうち1つの第1配線と前記第4配線とに接続された複数の第4メモリセルと、をさらに備え、
前記複数の試行処理の後に、前記複数の第4メモリセルを対象とした第4読み出し動作を定期的に実行することと、
前記第4読み出し動作によって取得された前記複数の第4メモリセルのそれぞれの読み出し電流の総和を第3参照値として記憶回路に記憶させることと、
前記第3参照値の変化に基づいて、前記複数の第1メモリセルのうち第1配線を共有する複数の第1メモリセルで最も抵抗値の低い第1メモリセルの抵抗値を下げる書き込み動作を含むリフレッシュ動作を実行することと、を備える
請求項16に記載の記憶方法。 - 前記複数の試行処理が完了した後でk回目(kは2以上の整数)に取得した第3参照値が前記複数の試行処理の後で最初に取得した第3参照値の50%未満である場合に、前記リフレッシュ動作を実行すること、を備える
請求項19に記載の記憶方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021023376A JP2022125660A (ja) | 2021-02-17 | 2021-02-17 | 記憶装置及び記憶方法 |
US17/470,802 US11514970B2 (en) | 2021-02-17 | 2021-09-09 | Memory device and method having a control circuit configured to acquire information on a state of a control target, causes the control target to execute a read and write operation based on the state |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021023376A JP2022125660A (ja) | 2021-02-17 | 2021-02-17 | 記憶装置及び記憶方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022125660A true JP2022125660A (ja) | 2022-08-29 |
Family
ID=82800479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021023376A Pending JP2022125660A (ja) | 2021-02-17 | 2021-02-17 | 記憶装置及び記憶方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11514970B2 (ja) |
JP (1) | JP2022125660A (ja) |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03204068A (ja) | 1989-12-29 | 1991-09-05 | Kazuhiro Matsue | ニューロン結合回路 |
JP2540654B2 (ja) | 1990-06-28 | 1996-10-09 | シャープ株式会社 | ニュ―ラルネットワ―クの学習装置 |
JPH05210649A (ja) | 1992-01-24 | 1993-08-20 | Mitsubishi Electric Corp | 神経回路網表現装置 |
JP2006113882A (ja) * | 2004-10-15 | 2006-04-27 | Fujitsu Ltd | データ管理装置 |
US8275727B2 (en) | 2009-11-13 | 2012-09-25 | International Business Machines Corporation | Hardware analog-digital neural networks |
JP5159847B2 (ja) | 2010-09-09 | 2013-03-13 | 株式会社東芝 | 抵抗変化メモリ装置 |
US10248907B2 (en) | 2015-10-20 | 2019-04-02 | International Business Machines Corporation | Resistive processing unit |
JP6481667B2 (ja) | 2016-07-20 | 2019-03-13 | 株式会社デンソー | ニューラルネットワーク回路 |
US9659249B1 (en) | 2016-09-27 | 2017-05-23 | International Business Machines Corporation | Pre-programmed resistive cross-point array for neural network |
US10164179B2 (en) | 2017-01-13 | 2018-12-25 | International Business Machines Corporation | Memristive device based on alkali-doping of transitional metal oxides |
JP2018160060A (ja) | 2017-03-22 | 2018-10-11 | 東芝メモリ株式会社 | メモリシステム |
JP6724870B2 (ja) | 2017-06-19 | 2020-07-15 | 株式会社デンソー | 人工ニューラルネットワーク回路の訓練方法、訓練プログラム、及び訓練装置 |
JP7346399B2 (ja) | 2018-06-15 | 2023-09-19 | 株式会社半導体エネルギー研究所 | 半導体装置 |
US11195089B2 (en) | 2018-06-28 | 2021-12-07 | International Business Machines Corporation | Multi-terminal cross-point synaptic device using nanocrystal dot structures |
JP6896678B2 (ja) | 2018-07-02 | 2021-06-30 | 株式会社東芝 | 強化学習システム |
JP7196803B2 (ja) | 2018-10-18 | 2022-12-27 | 株式会社デンソー | 人工ニューラルネットワーク回路及び人工ニューラルネットワーク回路における学習値切替方法 |
US11928576B2 (en) | 2018-10-18 | 2024-03-12 | Denso Corporation | Artificial neural network circuit and method for switching trained weight in artificial neural network circuit |
JP2021047695A (ja) * | 2019-09-19 | 2021-03-25 | キオクシア株式会社 | メモリシステム |
JP2022052505A (ja) * | 2020-09-23 | 2022-04-04 | キオクシア株式会社 | メモリデバイス |
-
2021
- 2021-02-17 JP JP2021023376A patent/JP2022125660A/ja active Pending
- 2021-09-09 US US17/470,802 patent/US11514970B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220262422A1 (en) | 2022-08-18 |
US11514970B2 (en) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11074971B2 (en) | Apparatuses and methods including memory and operation of same | |
US11798620B2 (en) | Apparatuses including multi-level memory cells and methods of operation of same | |
JP6940703B2 (ja) | メモリセルの動作 | |
US9472275B2 (en) | Method of operating memory device using different read conditions | |
US11217302B2 (en) | Three-dimensional neuromorphic device including switching element and resistive element | |
CN105632558A (zh) | 包括多电平单元的存储器件及其操作方法 | |
US10020052B2 (en) | Resistive memory device and memory system including the same | |
JP2009076143A (ja) | 抵抗変化メモリ装置 | |
KR102187116B1 (ko) | 비휘발성 메모리 장치와 이를 포함하는 메모리 시스템, 및 비휘발성 메모리 장치의 구동 방법 | |
CN113196401B (zh) | 对由于块氧化物减薄引起的编程速度变化进行补偿的存储器设备 | |
TW201703045A (zh) | 記憶體裝置、記憶體系統及記憶體控制方法 | |
JP2020035502A (ja) | 半導体集積回路 | |
TWI773757B (zh) | 記憶體裝置及記憶體裝置之控制方法 | |
US11443806B2 (en) | Nonvolatile memory and method of operating nonvolatile memory | |
JP2022125660A (ja) | 記憶装置及び記憶方法 | |
KR20160097006A (ko) | 반도체 메모리 장치 및 그 프로그램 방법 | |
KR20210100404A (ko) | 저항성 메모리 장치 및 저항성 메모리 장치의 프로그램 방법 | |
WO2021039215A1 (ja) | メモリチップ及びメモリチップの制御方法 | |
JP2019164847A (ja) | メモリシステム | |
JP2022095431A (ja) | メモリセルアレイユニット | |
CN117751408A (zh) | 存储器模块 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20230106 |