JP2023135866A - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP2023135866A JP2023135866A JP2022041171A JP2022041171A JP2023135866A JP 2023135866 A JP2023135866 A JP 2023135866A JP 2022041171 A JP2022041171 A JP 2022041171A JP 2022041171 A JP2022041171 A JP 2022041171A JP 2023135866 A JP2023135866 A JP 2023135866A
- Authority
- JP
- Japan
- Prior art keywords
- wirings
- output
- memory cells
- operational amplifier
- resistor
- 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
- 239000004065 semiconductor Substances 0.000 title claims abstract description 33
- 238000010801 machine learning Methods 0.000 claims abstract description 28
- 230000008859 change Effects 0.000 claims abstract description 21
- 238000006243 chemical reaction Methods 0.000 claims description 24
- 239000010936 titanium Substances 0.000 claims description 6
- RTAQQCXQSZGOHL-UHFFFAOYSA-N Titanium Chemical compound [Ti] RTAQQCXQSZGOHL-UHFFFAOYSA-N 0.000 claims description 3
- 229910052782 aluminium Inorganic materials 0.000 claims description 3
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 claims description 3
- 229910052735 hafnium Inorganic materials 0.000 claims description 3
- VBJZVLUMGGDVMO-UHFFFAOYSA-N hafnium atom Chemical compound [Hf] VBJZVLUMGGDVMO-UHFFFAOYSA-N 0.000 claims description 3
- 229910052715 tantalum Inorganic materials 0.000 claims description 3
- GUVRBAGPIYLISA-UHFFFAOYSA-N tantalum atom Chemical compound [Ta] GUVRBAGPIYLISA-UHFFFAOYSA-N 0.000 claims description 3
- JBQYATWDVHIOAR-UHFFFAOYSA-N tellanylidenegermanium Chemical compound [Te]=[Ge] JBQYATWDVHIOAR-UHFFFAOYSA-N 0.000 claims description 3
- 229910052719 titanium Inorganic materials 0.000 claims description 3
- WFKWXMTUELFFGS-UHFFFAOYSA-N tungsten Chemical compound [W] WFKWXMTUELFFGS-UHFFFAOYSA-N 0.000 claims description 3
- 229910052721 tungsten Inorganic materials 0.000 claims description 3
- 239000010937 tungsten Substances 0.000 claims description 3
- 239000004020 conductor Substances 0.000 description 34
- 238000000034 method Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 19
- 238000003860 storage Methods 0.000 description 19
- 230000003321 amplification Effects 0.000 description 10
- 238000003199 nucleic acid amplification method Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000010365 information processing Effects 0.000 description 7
- 230000007786 learning performance Effects 0.000 description 7
- 230000007423 decrease Effects 0.000 description 6
- 101100274777 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) MCX1 gene Proteins 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000002238 attenuated effect Effects 0.000 description 3
- 229910000449 hafnium oxide Inorganic materials 0.000 description 3
- WIHZLLGSGQNAGK-UHFFFAOYSA-N hafnium(4+);oxygen(2-) Chemical compound [O-2].[O-2].[Hf+4] WIHZLLGSGQNAGK-UHFFFAOYSA-N 0.000 description 3
- 230000010287 polarization Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- RVTZCBVAJQQJTK-UHFFFAOYSA-N oxygen(2-);zirconium(4+) Chemical compound [O-2].[O-2].[Zr+4] RVTZCBVAJQQJTK-UHFFFAOYSA-N 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 229910001928 zirconium oxide Inorganic materials 0.000 description 2
- BPQQTUXANYXVAA-UHFFFAOYSA-N Orthosilicate Chemical compound [O-][Si]([O-])([O-])[O-] BPQQTUXANYXVAA-UHFFFAOYSA-N 0.000 description 1
- 229910052581 Si3N4 Inorganic materials 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- HQVNEWCFYHHQES-UHFFFAOYSA-N silicon nitride Chemical compound N12[Si]34N5[Si]62N3[Si]51N64 HQVNEWCFYHHQES-UHFFFAOYSA-N 0.000 description 1
- 229910052814 silicon oxide Inorganic materials 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 208000032414 susceptibility to 2 restless legs syndrome Diseases 0.000 description 1
- 208000034988 susceptibility to 3 restless legs syndrome Diseases 0.000 description 1
Classifications
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1096—Write circuits, e.g. I/O line write drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- G06N3/09—Supervised learning
-
- 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/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/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1066—Output synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/14—Dummy cell management; Sense reference voltage generators
-
- 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/0092—Write characterized by the shape, e.g. form, length, amplitude of the write pulse
-
- 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
Abstract
【課題】リザーバーサイズに応じてリザーバー層の重みばらつきを調整可能な半導体装置を提供する。【解決手段】実施形態の半導体装置は、複数の第1メモリセルMCiと、複数の第2メモリセルMCrと、複数の第3メモリセルMCoと、制御回路と、を含む。制御回路は、機械学習を実行することが可能である。複数の第1メモリセルMCiと、複数の第2メモリセルMCrと、複数の第3メモリセルMCoとのそれぞれは、抵抗変化素子を備える。制御回路は、機械学習において、複数の第2メモリセルMCrのそれぞれに共通の書き込み電圧を用いた書き込み動作を実行し、書き込み動作の後に、複数の第1配線WLのそれぞれに入力データを入力し、入力データと、入力データに基づいて第5配線BLoのそれぞれから出力される信号とに基づいて、複数の第3メモリセルMCoのうち少なくとも1つの第3メモリセルMCoの抵抗値を変化させる。【選択図】図14
Description
実施形態は、半導体装置に関する。
データを不揮発に記憶することが可能なクロスポイント型メモリセルアレイを有する半導体装置が知られている。そして、このような半導体装置の用途として、再帰的ニューラルネットワークを用いた機械学習手法の一種であるリザーバーコンピューティングで活用することが考えられている。
リザーバーサイズに応じてリザーバー層の重みばらつきを調整可能な半導体装置を提供する。
実施形態の半導体装置は、複数の第1配線と、複数の第2配線と、複数の第1メモリセルと、複数の第3配線と、複数の第2メモリセルと、複数の第4配線と、複数の第5配線と、複数の第3メモリセルと、制御回路と、を含む。複数の第2配線は、複数の第1配線と交差して設けられる。複数の第1メモリセルは、複数の第1配線と複数の第2配線との交差部分にそれぞれ設けられ、各々が複数の第1配線のうち1つと複数の第2配線のうち1つとの間に接続される。複数の第3配線は、遅延回路を介して複数の第2配線にそれぞれ接続され、複数の第2配線と交差して設けられる。複数の第2メモリセルは、複数の第3配線と複数の第2配線との交差部分にそれぞれ設けられ、各々が複数の第3配線のうち1つと複数の第2配線のうち1つとの間に接続される。複数の第4配線は、複数の第2配線にそれぞれ接続される。複数の第5配線は、複数の第4配線と交差して設けられる。複数の第3メモリセルは、複数の第4配線と複数の第5配線との交差部分にそれぞれ設けられ、各々が複数の第4配線のうち1つと複数の第5配線のうち1つとの間に接続される。制御回路は、機械学習を実行することが可能である。複数の第1メモリセルと、複数の第2メモリセルと、複数の第3メモリセルとのそれぞれは、抵抗変化素子を備える。制御回路は、機械学習において、複数の第2メモリセルのそれぞれに共通の書き込み電圧を用いた書き込み動作を実行し、書き込み動作の後に、複数の第1配線のそれぞれに入力データを入力し、入力データと、入力データに基づいて第5配線のそれぞれから出力される信号とに基づいて、複数の第3メモリセルのうち少なくとも1つの第3メモリセルの抵抗値を変化させる。
以下に、実施形態について図面を参照して説明する。各実施形態は、発明の技術的思想を具体化するための装置や方法を例示している。図面は、模式的又は概念的なものである。各図面の寸法や比率などは、必ずしも現実のものと同一とは限らない。本明細書において、略同一の機能及び構成を有する構成要素には、同一の符号が付加されている。参照符号に付加された数字などは、同じ参照符号により参照され、且つ類似した要素同士を区別するために使用される。
[0]リザーバーコンピューティングについて
まず、リザーバーコンピューティングの概要について説明する。図1は、リザーバーコンピューティングの機能構成の一例を示す概念図である。図1に示すように、リザーバーコンピューティングは、入力層IL、リザーバー層RL、及び出力層OLを備える。
まず、リザーバーコンピューティングの概要について説明する。図1は、リザーバーコンピューティングの機能構成の一例を示す概念図である。図1に示すように、リザーバーコンピューティングは、入力層IL、リザーバー層RL、及び出力層OLを備える。
入力層ILは、リザーバーコンピューティングにおける入力ノードの組である。入力層ILの各ノードには、入力信号が入力される。入力信号としては、時系列データが使用され得る。具体的には、入力層ILには、サンプリングされた時系列データのサンプル単位のデータが逐次入力される。入力層ILにN個(“N”は1以上の整数)のノードが割り当てられた場合、入力層ILは、ノードU(1)、U(2)、…、U(N)を有する。
リザーバー層RLは、リザーバーコンピューティングにおけるリザーバーであり、ランダムな結合を有する再帰的ニューラルネットワークに対応する。リザーバー層RLの各ノードから出力される信号は、アナログ信号である。リザーバー層RLにM個(“M”は2以上の整数)のノードが割り当てられた場合、リザーバー層RLは、ノードX(1)、X(2)、X(3)、X(4)、…、X(M)を有する。
出力層OLは、リザーバーコンピューティングにおける出力ノードの組である。出力層OLの各ノードは、予め設定された目標値(すなわち、答え)に対応する。出力層OLの各ノードから出力される信号は、アナログ信号である。リザーバーコンピューティングでは、出力層OLの各ノードの出力の大きさに基づいて、入力信号と目標値との関連度が判定される。出力層OLにL個(“L”は2以上の整数)のノードが割り当てられた場合、出力層OLは、ノードZ(1)、Z(2)、…、Z(L)を有する。
図1に示された各矢印は、ノード間の結合と、重みとを示している。具体的には、図1における破線の矢印は、入力層ILのノードU(t)(“t”は自然数)とリザーバー層RLのノードX(t)との結合を示している。図1における実線の矢印は、リザーバー層RL内の2つのノードX(t)の結合を示している。図1における二点鎖線の矢印は、リザーバー層RLのノードX(t)と出力層OLのノードZ(t)との結合を示している。なお、図1では、ノード間の結合の図示が適宜省略されている。
入力層ILのノードU(t)は、例えば、ノードX(1)~X(M)のそれぞれに結合される。ノードU(t)及びノードX(t)の結合は、重みWinを有する。リザーバー層RLのノードX(t)は、例えば、ノードX1(1)~X(M)のそれぞれに結合される。すなわち、リザーバー層RLのノードU(t)は、自身にも結合された部分を有し得る。2つのノードX(t)の結合は、重みWresを有する。また、リザーバー層RLのノードX(t)は、例えば、出力層OLのノードZ(1)~Z(L)のそれぞれに結合される。ノードX(t)及びノードZ(t)の結合は、重みWoutを有する。
Win、Wres及びWoutのそれぞれの大きさは、結合毎に異なり得る。リザーバーコンピューティングによる機械学習は、Win及びWresのそれぞれを固定し、Woutを学習により変化させる。すなわち、リザーバーコンピューティングは、機械学習によりWoutを学習させて最適化することによって、(学習済み)モデルを作成する。リザーバーコンピューティングの学習量は、中間層の重みの学習を要する方式の再帰的ニューラルネットワークと比べて少ない。また、リザーバーコンピューティングでは、リザーバー層RLのサイズと、リザーバー層RLにおける重みばらつきの大きさとに応じて、学習結果の精度が変化し得る。
以下では、学習済みモデルを作成する動作のことを、“学習動作”、又は“機械学習”と呼ぶ。リザーバー層RLのサイズのことを、“リザーバーサイズ”と呼ぶ。本明細書において、リザーバーサイズは、リザーバー層RLのノードX(t)の数に対応している。入力層のノードU(t)と、リザーバー層RLのノードX(t)と、出力層OLのノードZ(t)とのそれぞれの数は、学習対象に応じて適宜変更され得る。
図2は、リザーバーコンピューティングの評価結果の一例を示すグラフである。図2は、学習対象の時系列データ(図2の各グラフの実線)と、当該時系列データに基づいて作成された3種類の学習結果(図2の各グラフの破線)とを示している。これらのグラフでは、横軸が時間を示し、縦軸が出力を示している。学習時に使用されたリザーバー層RLの重みWresのばらつきは、図2の(a)、(b)、(c)の順に小さくなるように設定されている。図2の(b)は、Wresのばらつきの最適値が利用された場合に対応する。
Wresのばらつきが最適値よりも大きすぎる場合、リザーバー層RL内の複数の結合が、Wresの大きい結合を含んでいる。この場合、Winによる信号変調が、リザーバー層RL内の信号増幅により、調整できなくなるおそれがある。その結果、図2の(a)に示すように、学習結果の誤差が大きくなり得る。一方で、Wresのばらつきが適正値よりも小さすぎる場合、リザーバーコンピューティングは、図2の(c)に示すように、学習に失敗するおそれがある。これに対して、Wresのばらつきが適切である場合、図2の(b)に示すように、学習結果の精度が高くなり得る。このように、リザーバーコンピューティングの学習性能は、Wresの重みばらつきによる影響を受ける。このため、リザーバーコンピューティングでは、リザーバー層RLにおけるWresの重みばらつきが適切に設定されることが好ましい。
図3は、リザーバーコンピューティングにおけるリザーバーサイズとリザーバー層RLの最適な重みばらつきとの関係性の一例を示すグラフである。このグラフでは、横軸がリザーバーサイズを示し、縦軸が最適な重みばらつきの大きさを示している。以下では、最適な重みばらつきの大きさのことを“最適σ(標準偏差)”とも呼ぶ。
図3に示すように、最適σは、リザーバーサイズに依存している。具体的には、本例において、最適σは、リザーバーサイズが大きくなるほど、小さくなる傾向を有している。このように、リザーバーコンピューティングにおけるリザーバー層RLの最適σは、リザーバーサイズに基づいて算出され得る。
[1]第1実施形態
第1実施形態に係る情報処理システム1は、クロスポイント型メモリセルアレイを有する半導体装置を用いて、リザーバーコンピューティングに基づく学習動作を実行する。そして、半導体装置が、リザーバー層RLに割り当てられた記憶領域の各メモリセルに対してリザーバーサイズに応じた書き込み動作を実行し、リザーバー層RLの重みばらつきの大きさを最適σに近づける。以下に、第1実施形態に係る情報処理システム1の詳細について説明する。
第1実施形態に係る情報処理システム1は、クロスポイント型メモリセルアレイを有する半導体装置を用いて、リザーバーコンピューティングに基づく学習動作を実行する。そして、半導体装置が、リザーバー層RLに割り当てられた記憶領域の各メモリセルに対してリザーバーサイズに応じた書き込み動作を実行し、リザーバー層RLの重みばらつきの大きさを最適σに近づける。以下に、第1実施形態に係る情報処理システム1の詳細について説明する。
[1-1]構成
[1-1-1]情報処理システム1の全体構成
図4は、第1実施形態に係る情報処理システム1の構成の一例を示すブロック図である。図4に示すように、情報処理システム1は、例えば、ホスト機器HD、及びメモリシステムMSを備える。ホスト機器HDは、パーソナルコンピュータ、携帯情報端末、サーバなどの電子機器である。メモリシステムMSは、リザーバーコンピューティングを利用した機械学習を実行可能な半導体装置である。
[1-1-1]情報処理システム1の全体構成
図4は、第1実施形態に係る情報処理システム1の構成の一例を示すブロック図である。図4に示すように、情報処理システム1は、例えば、ホスト機器HD、及びメモリシステムMSを備える。ホスト機器HDは、パーソナルコンピュータ、携帯情報端末、サーバなどの電子機器である。メモリシステムMSは、リザーバーコンピューティングを利用した機械学習を実行可能な半導体装置である。
メモリシステムMSは、教師データを用いた学習動作により作成した学習済みモデルに基づいて、入力された時系列データの種別を判定し得る。“教師データ”は、機械学習に使用される時系列データと、その答え(種別)との組み合わせを含むデータである。メモリシステムMSは、例えば、メモリコントローラ10、及びメモリデバイス20を含む。メモリコントローラ10は、ホストバスB1を介して、ホスト機器HDに接続される。メモリデバイス20は、メモリバスB2を介して、メモリコントローラ10に接続される。
メモリコントローラ10は、例えば、SoC(System On a Chip)として構成される半導体集積回路である。メモリコントローラ10は、ホスト機器HDから受信した命令に基づいて、メモリデバイス20を制御する。例えば、メモリコントローラ10は、ホスト機器HDからの命令に基づいて、読み出し動作、書き込み動作、消去動作などを実行し得る。また、メモリコントローラ10は、ホスト機器HDから受信した教師データと学習動作の実行指示とに基づいて、学習動作を実行し得る。
メモリデバイス20は、データを不揮発に記憶することが可能なクロスポイント型メモリセルアレイを有する半導体記憶装置である。メモリデバイス20は、例えば、メモリセルとしてFTJ(Ferroelectric Tunnel Junction)素子を使用した抵抗変化型メモリの一種である。メモリデバイス20は、リザーバーコンピューティングにおける入力層IL、リザーバー層RL、及び出力層OLとして使用され得る記憶領域を備える。
[1-1-2]メモリコントローラ10の構成
図5は、第1実施形態に係るメモリシステムMSが備えるメモリコントローラ10の構成の一例を示すブロック図である。図5に示すように、メモリコントローラ10は、例えば、ホストインターフェース101、メモリインターフェース102、CPU(Central Processing Unit)103、ROM(Read Only Memory)104、RAM(Random Access Memory)105、及びバッファメモリ106を備える。
図5は、第1実施形態に係るメモリシステムMSが備えるメモリコントローラ10の構成の一例を示すブロック図である。図5に示すように、メモリコントローラ10は、例えば、ホストインターフェース101、メモリインターフェース102、CPU(Central Processing Unit)103、ROM(Read Only Memory)104、RAM(Random Access Memory)105、及びバッファメモリ106を備える。
ホストインターフェース101は、ホスト機器HDとメモリコントローラ10との間のインターフェース規格に従ったハードウェアインターフェースである。ホストインターフェース101は、ホストバスB1を介してホスト機器HDに接続される。
メモリインターフェース102は、メモリコントローラ10とメモリデバイス20との間のインターフェース規格に従ったハードウェアインターフェースである。メモリインターフェース102は、メモリバスB2を介してメモリデバイス20に接続される。
CPU103は、メモリコントローラ10の全体の動作を制御するプロセッサである。CPU103は、ホストインターフェース101を介して受け取った読み出し、書き込み、消去などの要求に従って、読み出し、書き込み、消去などの指示をメモリインターフェース102を介してメモリデバイス20に送信する。また、CPU103は、ホストインターフェース101を介して受け取った学習動作の実行指示に従って、学習動作に関する動作の指示をメモリインターフェース102を介してメモリデバイス20に送信する。
ROM104は、不揮発性メモリである。ROM104は、例えば、ファームウェアなどのプログラムを記憶する。メモリコントローラ10の動作は、ファームウェアがCPU103により実行されることにより実現される。
RAM105は、揮発性メモリである。RAM105は、CPU103の作業領域として使用される。RAM105は、設定情報110を記憶し得る。設定情報110は、学習動作で使用されるメモリデバイス20の設定に関する情報である。
バッファメモリ106は、例えば、揮発性メモリである。バッファメモリ106は、ホストインターフェース101を介して受け取ったデータや、メモリインターフェース102を介して受け取ったデータを一時的に記憶する。また、バッファメモリ106は、機械学習に関する教師データや、学習済みモデルを用いて予測する対象のデータなどの時系列データを記憶し得る。
(設定情報110の構成)
図6は、第1実施形態に係るメモリシステムMSが備えるメモリコントローラ10で使用される設定情報110の一例を示すテーブルである。図6に示すように、設定情報110は、アプリケーション種別と、リザーバーサイズと、リザーバー層設定とが関連付けられた情報を含む。
図6は、第1実施形態に係るメモリシステムMSが備えるメモリコントローラ10で使用される設定情報110の一例を示すテーブルである。図6に示すように、設定情報110は、アプリケーション種別と、リザーバーサイズと、リザーバー層設定とが関連付けられた情報を含む。
アプリケーション種別は、ホスト機器HDから機械学習の実行が要求された時系列データのグループに対応する。ホスト機器HDは、実行するアプリケーション毎、若しくは実行するアプリケーション内の処理毎に、アプリケーション種別を設定し得る。リザーバーサイズは、リザーバー層RLの容量に対応し、学習動作においてメモリデバイス20に割り当てる記憶領域の大きさに対応する。リザーバー層設定は、ホスト機器HDから機械学習の実行が要求された場合に、当該機械学習においてリザーバー層RLの重みばらつきの設定に関するパラメータの集合である。
本例では、アプリケーション種別として、AP1、AP2及びAP3が設定されている。アプリケーション種別AP1に対して、リザーバーサイズ=0.2kと、リザーバー設定RLS1とが割り当てられている。アプリケーション種別AP2に対して、リザーバーサイズ=1kと、リザーバー設定RLS2とが割り当てられている。アプリケーション種別AP3に対して、リザーバーサイズ=4kと、リザーバー設定RLS3とが割り当てられている。
なお、設定情報110が管理するアプリケーション種別の数や、リザーバーサイズの設定などは、その他の数値であってもよい。メモリコントローラ10は、リザーバーサイズがホスト機器HDから指定された場合には、指定されたリザーバーサイズに応じたリザーバー層設定を選択し得る。この場合、リザーバー層設定には、リザーバーサイズの範囲が関連付けられる。
[1-1-3]メモリデバイス20の構成
図7は、第1実施形態に係るメモリシステムMSが備えるメモリデバイス20の構成の一例を示すブロック図である。図7に示すように、メモリデバイス20は、例えば、メモリセルアレイ201、カラム制御回路202、ロウ制御回路203、書き込み回路204、読み出し回路205、データレジスタ206、入出力回路207、制御回路208、電圧生成回路209、入力信号処理回路210、入力回路211、出力回路212、遅延回路213、及び判定回路214を備える。
図7は、第1実施形態に係るメモリシステムMSが備えるメモリデバイス20の構成の一例を示すブロック図である。図7に示すように、メモリデバイス20は、例えば、メモリセルアレイ201、カラム制御回路202、ロウ制御回路203、書き込み回路204、読み出し回路205、データレジスタ206、入出力回路207、制御回路208、電圧生成回路209、入力信号処理回路210、入力回路211、出力回路212、遅延回路213、及び判定回路214を備える。
メモリセルアレイ201は、複数のメモリセルMC、複数のワード線WL、及び複数のビット線BLを含む。図7には、1組のメモリセルMC、ワード線WL、及びビット線BLが示されている。メモリセルMCは、抵抗変化素子を含み、整流機能を有する。メモリセルMCは、抵抗値に基づいてデータを記憶し得る。例えば、メモリセルMCは、高抵抗状態である場合に“1”データを記憶し、低抵抗状態である場合に“0”データを記憶する。メモリセルMCの抵抗値に対するデータの割り当ては、その他の設定であってもよい。メモリセルMCは、1本のワード線WLと、1本のビット線BLとの間に接続され、行(row)、及び列(column)の組に対応付けられる。ワード線WLには、ロウアドレスが割り当てられる。ビット線BLには、カラムアドレスが割り当てられる。1つ又は複数のメモリセルMCが、1つの行の選択、及び1つ又は複数の列の選択により特定され得る。また、メモリセルアレイ201は、機械学習に使用される入力層IL及びリザーバー層RLに対応する記憶領域を有する。このような記憶領域では、メモリセルMCの抵抗値が、リザーバーコンピューティングにおける重みに対応する。言い換えると、メモリセルMCを流れる電流の大きさが、リザーバーコンピューティングにおける重みとして利用される。
カラム制御回路202は、複数のビット線BLに接続される。カラム制御回路202は、カラムアドレスにより特定された1つ又は複数のビット線BLを選択し得る。カラム制御回路202は、例えば、選択したビット線BLと、書き込み回路204又は読み出し回路205との間を電気的に接続する。
ロウ制御回路203は、複数のワード線WLに接続される。ロウ制御回路203は、ロウアドレスにより特定された1つ又は複数のワード線WLを選択する。ロウ制御回路203は、例えば、選択したワード線WLと、書き込み回路204又は読み出し回路205との間を電気的に接続する。
書き込み回路204は、書き込み動作で使用される電圧を生成可能なドライバを含む。書き込み動作は、メモリセルMCに順方向又は逆方向の電流を流すことによって、メモリセルMCの抵抗値を変化させる動作である。書き込み回路204は、書き込み動作に使用される電圧をカラム制御回路202とロウ制御回路203とのそれぞれに供給する。また、書き込み回路204は、書き込みが要求されたデータに基づいて、書き込み動作に使用される電圧をカラム制御回路202とロウ制御回路203とのそれぞれに供給し得る。
読み出し回路205は、読み出し動作でデータの判定に使用されるセンスアンプを含む。読み出し動作は、メモリセルMCの抵抗値が所定の値を超えているか否か、すなわちメモリセルMCが“0”データ及び“1”データのどちらを記憶しているのかを判定する動作である。読み出し回路205は、データの読み出しに使用される電圧をカラム制御回路202に供給し得る。センスアンプは、選択されたビット線BLの電圧又は電流に基づいて、メモリセルMCに記憶されているデータを判定し得る。読み出し回路205は、判定結果に対応するデータを、データレジスタ206に転送し得る。
データレジスタ206は、データを一時的に記憶する記憶回路である。データレジスタ206は、例えば、メモリセルアレイ201に書き込むデータや、メモリセルアレイ201から読み出されたデータや、機械学習で使用される教師データや、学習済みモデルを用いて予測する対象のデータを記憶する。教師データ及び時系列データは、入力信号処理回路210に転送される。また、データレジスタ206は、メモリデバイス20に形成された機械学習のモデルに基づく判定結果に対応するデータを記憶し得る。
入出力回路207は、メモリバスB2を介してメモリコントローラ10に接続される。入出力回路207は、メモリデバイス20とメモリコントローラ10との間の通信を司る。具体的には、入出力回路207は、メモリコントローラ10から受け取ったコマンド(指示)を、制御回路208に転送する。入出力回路207は、メモリコントローラ10から受け取ったアドレス信号に含まれたカラムアドレス及びロウアドレスを、カラム制御回路202及びロウ制御回路203にそれぞれ転送する。入出力回路207は、メモリコントローラ10から受け取ったデータを、データレジスタ206に転送する。
制御回路208は、メモリデバイス20の全体の動作を制御する。例えば、制御回路208は、メモリコントローラ10から転送されたコマンドに基づいてメモリデバイス20内の各構成要素を制御し、読み出し動作、書き込み動作、消去動作などを実行する。また、制御回路208は、メモリコントローラ10から受け取った教師データと、入力層IL、リザーバー層RL、及び出力層OLのそれぞれの割り当てと、リザーバー層設定とに基づいて、機械学習を実行し得る。
電圧生成回路209は、メモリデバイス20の各種動作で使用される電圧を生成するドライバの集合である。例えば、電圧生成回路209は、制御回路208の制御に基づいて、書き込み回路204、読み出し回路205、入力回路211、出力回路212、及び判定回路214などに電圧を供給する。
入力信号処理回路210は、機械学習に関連するデータを入力回路211に転送する。具体的には、入力信号処理回路210は、データレジスタ206から転送された教師データや、学習済みモデルを用いて予測する対象のデータを入力回路211に転送する。
入力回路211は、入力信号処理回路210から転送された信号を増幅して、メモリセルアレイ201の入力層ILに対応する記憶領域に転送する。また、入力回路211は、遅延回路213から転送された信号を増幅又は減衰させて、メモリセルアレイ201のリザーバー層RLに対応する記憶領域に転送する。
出力回路212は、メモリセルアレイ201の入力層IL及びリザーバー層RLのそれぞれに関連付けられたビット線BLを介して転送された信号をIV(電流-電圧)変換及び増幅して、遅延回路213と判定回路214とのそれぞれに転送する。
遅延回路213は、出力回路212から転送された信号を遅延させて、入力回路211に転送する。遅延回路213による信号の遅延時間は、例えば、メモリセルアレイ201に入力される時系列データのサンプリングタイミングに基づいて設定される。
判定回路214は、出力層OLに対応する記憶領域を有するメモリセルアレイと、このメモリセルアレイの制御回路とを備える。判定回路214が備えるメモリセルアレイに含まれた各メモリセルの重み(抵抗値)は、学習動作の過程において適宜変更され得る。そして、判定回路214は、出力回路212から受け取った信号に出力層OLの処理を実行することによってデータの種別を判定し、判定結果をデータレジスタ206に転送する。
なお、メモリセルアレイ201は、データを“0”又は“1”で記憶する記憶領域と入力層IL及びリザーバー層RLとして使用される記憶領域との両方を有していてもよいし、入力層IL及びリザーバー層RLとして使用される記憶領域のみを有していてもよい。メモリセルアレイ201と判定回路214とは、同じ基板上で一括で作成され得る。
(メモリデバイス20の回路構成と周辺回路の構成)
以下に、メモリデバイス20の回路構成と周辺回路の構成の詳細について説明する。なお、本明細書において“周辺回路”は、機械学習に関連する構成であり、入力信号処理回路210、入力回路211、出力回路212、遅延回路213、及び判定回路214の組のことを示している。
以下に、メモリデバイス20の回路構成と周辺回路の構成の詳細について説明する。なお、本明細書において“周辺回路”は、機械学習に関連する構成であり、入力信号処理回路210、入力回路211、出力回路212、遅延回路213、及び判定回路214の組のことを示している。
図8は、第1実施形態に係るメモリシステムMSが備えるメモリデバイス20におけるメモリセルアレイ201の回路構成と、周辺回路の一部の構成との一例を示す概略図である。図8に示すように、メモリセルアレイ201は、ワード線WL0~WLn(“n”は1以上の整数)と、ビット線BL0~BLm(“m”は1以上の整数)と、複数のメモリセルMCとを含む。複数のワード線WLと複数のビット線BLとは、交差している。1本のワード線WLと1本のビット線BLとの交差部分のそれぞれに、1つのメモリセルMCが接続されている。
入力回路211は、入力部IP0~IPnを含む。入力部IP0~IPnの入力ノードは、ノードIN0~INnにそれぞれ接続される。入力部IP0~IPnの出力ノードは、ワード線WL0~WLnにそれぞれ接続される。各入力部IPは、増幅回路を含み、入力された信号を増幅する機能を有する。そして、各入力部IPは、増幅した信号を、対応付けられたワード線WLに出力する。入力部IPによる信号の増幅率は、接続されたワード線WLが入力層IL及びリザーバー層RLのいずれであるかに応じて変更され得る。
なお、入力部IPは、メモリセルMCのIV特性が線形でない場合、すなわちメモリセルMCに入力された電圧の変化に対してメモリセルMCを介して流れる電流(重み)の変化が一定でない場合に、ワード線WLに出力する電圧の間隔を補正する機能を有していてもよい。言い換えると、入力部IPは、メモリセルMCにおいて見かけ上オームの法則が成り立つように、ワード線WLに出力する電圧を調整する機能を有していてもよい。
出力回路212は、出力部OP0~OPmを含む。出力部OP0~OPmの入力ノードは、ビット線BL0~BLmにそれぞれ接続される。出力部OP0~OPmの出力ノードは、ノードOUT0~OUTmにそれぞれ接続される。各出力部OPは、IV変換回路と増幅回路とを含み、入力された信号をIV変換した後に増幅する機能を有する。そして、各出力部OPは、増幅した信号を、対応付けられたノードOUTに出力する。
遅延回路213には、ノードOUT0~OUTmのそれぞれの信号が入力され得る。また、遅延回路213は、ノードIN0~INnのそれぞれに信号を出力し得る。例えば、遅延回路213がノードIN0~INnに出力する信号は、それぞれノードOUT0~OUTmに入力された信号に基づいている。本例は、ワード線WLの本数とビット線BLの本数が同じである場合に対応する。なお、ノードINとノードOUTとの対応付けは、リザーバー層RLとして使用される記憶領域に基づいて決定され得る。メモリセルアレイ201において、入力層ILとして使用される記憶領域と、リザーバー層RLとして使用される記憶領域とが分けられていてもよい。この場合、n>mとなり、遅延回路213の出力は、(n+1)本のノードINのうち、(m+1)本のノードINに接続される。入力層ILとして使用される記憶領域と、リザーバー層RLとして使用される記憶領域とが分けられている場合、入力部IPに対応する入力部IPと、リザーバー層RLに対応する入力部IPとが、異なる設計であってもよい。
判定回路214には、ノードOUT0~OUTmのそれぞれの信号が入力され得る。判定回路214の入力回路は、ノードOUT0~OUTmにそれぞれ接続される複数の入力部を備えている。この複数の入力部のそれぞれに入力された信号は、判定回路214のメモリセルアレイを介して、判定回路214の出力回路に入力される。そして、判定回路214の出力回路が備える複数の出力部は、判定回路214のメモリセルアレイに含まれた各メモリセルの抵抗値に応じた信号を、判定結果として出力する。メモリコントローラ10は、メモリデバイス20から受信した判定結果の蓄積に基づいて推論の判定をし得る。
(メモリセルアレイ201の構造)
図9は、第1実施形態に係るメモリシステムMSが備えるメモリデバイス20におけるメモリセルアレイ201の平面レイアウトの一例を示す平面図である。図9は、ワード線WL0~WL3とビット線BL0~BL3に関連付けられた領域を抽出して示している。図9に示すように、メモリセルアレイ201は、複数の導電体層30と、複数の導電体層31とを含む。
図9は、第1実施形態に係るメモリシステムMSが備えるメモリデバイス20におけるメモリセルアレイ201の平面レイアウトの一例を示す平面図である。図9は、ワード線WL0~WL3とビット線BL0~BL3に関連付けられた領域を抽出して示している。図9に示すように、メモリセルアレイ201は、複数の導電体層30と、複数の導電体層31とを含む。
各導電体層30は、X方向に延伸して設けられた部分を有する。複数の導電体層30は、Y方向に並んで配置される。複数の導電体層30は、互いに離れている。複数の導電体層30は、それぞれワード線WL0~WL3として使用される。メモリセルアレイ201における導電体層30の数は、ワード線WLの本数に対応している。
各導電体層31は、Y方向に延伸して設けられた部分を有する。複数の導電体層31は、X方向に並んで配置される。複数の導電体層31は、互いに離れている。複数の導電体層31は、それぞれビット線BL0~BL3として使用される。メモリセルアレイ201における導電体層31の数は、ワード線WLの本数に対応している。
導電体層30及び31の交差部分のそれぞれに、1つのメモリセルMCが設けられる。言い換えると、メモリセルMCは、複数の導電体層30と複数の導電体層31との間の複数の交差部分のそれぞれに設けられる。各メモリセルMCは、1つの導電体層30と1つの導電体層31とによって、Z方向に挟まれている。そして、各メモリセルMCは、1つの導電体層30と1つの導電体層31との間に接続されている。
図10は、第1実施形態に係るメモリシステムMSが備えるメモリデバイス20におけるメモリセルアレイ201の断面構造の一例を示す、図9のX-X線に沿った断面図である。図10に示すように、メモリセルMCは、例えば、常誘電体膜32と強誘電体膜33とを含む。
常誘電体膜32は、導電体層31(ビット線BL)の上に設けられる。強誘電体膜33は、常誘電体膜32の上に設けられる。導電体層30(ワード線WL)は、強誘電体膜33の上に設けられる。常誘電体膜32は、例えば、シリコン酸化膜、シリコン窒化膜、又は金属酸化物である。常誘電体膜32として利用され得る金属酸化物としては、例えば、チタン(Ti)、タングステン(W)、タンタル(Ta)、ハフニウム(Hf)、アルミニウム(Al)、及び亜鉛(Zn)からなる群のうち少なくとも一つの元素の酸化物が挙げられる。強誘電体膜33は、例えば、ハフニウム酸化物、ジルコニウム酸化物、ハフニウム酸化物とジルコニウム酸化物との化合物、又はシリケート膜(HfSiOx)である。これにより、メモリセルMCは、下部電極(導電体層31)と、上部電極(導電体層30)とによって挟まれた2端子のFTJ(Ferroelectric Tunnel Junction)素子として機能する。
FTJ素子は、抵抗変化素子の一種である。FTJ素子は、低電流、低電圧駆動、高速スイッチングが実現可能であり、整流特性を有する。メモリセルMCでは、導電体層31から導電体層30に電子が向かう方向が順方向に対応し、導電体層30から導電体層31に電子が向かう方向が逆方向に対応している。メモリセルMCの抵抗値は、強誘電体膜33の分極量に応じて変わり得る。強誘電体膜33の分極量は、メモリセルMCに順方向の書き込み電圧、又は逆方向の書き込み電圧が印加されることによって変化する。メモリセルMCの抵抗値は、順方向の書き込み電圧(セットパルス)が印加された場合に下がり、逆方向の書き込み電圧(リセットパルス)が印加された場合に上がる。
なお、メモリセルアレイ201が備えるメモリセルMCは、FTJ素子に限定されない。メモリセルMCは、抵抗変化素子であれば、その他の構成であってもよい。本例では、導電体層31(ビット線BL)の上方に導電体層30(ワード線WL)が設けられているが、導電体層30と導電体層31とが入れ替えられてもよい。ワード線WLとビット線BLとの接続関係に応じて、メモリセルMC内の常誘電体膜32と強誘電体膜33との積層順番が変更されてもよい。
[1-2]動作
以下に、第1実施形態に係るメモリシステムMSの動作について、メモリセルMCにFTJ素子が利用された場合を例に説明する。まず、学習動作に関連する動作として、メモリデバイス20の書き込み動作の概要について説明する。それから、学習動作における機能の割り当てと、学習動作の流れについて順に説明する。
以下に、第1実施形態に係るメモリシステムMSの動作について、メモリセルMCにFTJ素子が利用された場合を例に説明する。まず、学習動作に関連する動作として、メモリデバイス20の書き込み動作の概要について説明する。それから、学習動作における機能の割り当てと、学習動作の流れについて順に説明する。
[1-2-1]書き込み動作の概要
図11は、第1実施形態に係るメモリシステムMSが備えるメモリデバイス20における書き込み動作の一例を示す概略図である。図11は、メモリセルアレイ201のうち、選択されたワード線WL0~WL2と、選択されたビット線BL0~BL2と、これらのワード線WL及びビット線BLに接続されたメモリセルMCを示し、複数のメモリセルMCを対象とした書き込み動作においてワード線WL及びビット線BLのそれぞれに印加される電圧の一例を示している。
図11は、第1実施形態に係るメモリシステムMSが備えるメモリデバイス20における書き込み動作の一例を示す概略図である。図11は、メモリセルアレイ201のうち、選択されたワード線WL0~WL2と、選択されたビット線BL0~BL2と、これらのワード線WL及びビット線BLに接続されたメモリセルMCを示し、複数のメモリセルMCを対象とした書き込み動作においてワード線WL及びビット線BLのそれぞれに印加される電圧の一例を示している。
図11に示すように、書き込み動作において、制御回路208は、選択されたワード線WL0~WL2のそれぞれにセット(書き込み)電圧VSETを印加し、選択されたビット線BL0~BL2のそれぞれに接地電圧VSSを印加する。これにより、選択されたワード線WLと選択されたビット線BLとの間に、順方向の書き込み電圧が印加され、選択されたワード線WL及び選択されたビット線BLの組に接続されたメモリセルMCの抵抗値が下がる。このように、書き込み動作は、複数のワード線WL及び複数のビット線を選択して実行されてもよい。これに限定されず、書き込み動作は、1つのワード線WLと複数のビット線BLとを選択して実行されてもよいし、複数のワード線と1つのビット線BLとを選択して実行されてもよいし、1つのワード線WLと1つのビット線BLとを選択して実行されても良い。
図12は、第1実施形態に係るメモリシステムMSが備えるメモリデバイス20における書き込み動作の一例を示すタイミングチャートである。図12は、書き込み動作において、選択されたワード線WL(図12の“WLsel”)に印加される電圧と、選択されたビット線BL(図12の“BLsel”)に印加される電圧とを示している。
図12に示すように、書き込み動作において、制御回路208は、選択されたビット線BLselの電圧をVSSに維持しつつ、選択されたワード線WLselにセット電圧VSETを複数回印加する。言い換えると、制御回路208は、選択されたビット線BLselの電圧をVSSに維持しつつ、選択されたワード線WLselにセットパルスを複数回印加する。FTJ素子を利用したメモリセルMCに対する書き込み動作は、セットパルスの印加回数に応じて、メモリセルMCの抵抗値の下げ幅を調整し得る。
図13は、第1実施形態に係るメモリシステムMSが備えるメモリデバイス20における書き込み動作による電流の標準偏差の変化の一例を示すグラフである。このグラフでは、横軸が複数のメモリセルMCのそれぞれを流れる電流の平均値<I>を示し、縦軸が複数のメモリセルMCのそれぞれを流れる電流の標準偏差σIを平均値<I>で割ることにより規格化された標準偏差σI/<I>を示している。
図13に示されたグラフ内の複数のプロットは、消去状態である複数のメモリセルMCに対してセットパルスを印加した回数(パルス数)に対応している。FTJ素子が使用されたメモリセルMCの抵抗値は、セットパルスが印加される回数が多いほど下がる傾向を有する。このため、メモリセルMCを流れる電流は、パルス数が増えるに応じて多くなる。そして、メモリセルMCの書き込み特性は、メモリセルMCを構成する各層の膜厚のばらつきや、ハフニウム酸化物の分極配向の書き込みばらつきに応じて異なり得る。
これにより、複数のメモリセルMCにおける電流(重み)のばらつきは、電流の大きさ(メモリセルMCの抵抗値)と相関を有している。具体的には、メモリセルMCの抵抗値が大きい、すなわち印加されたパルス数が少なく、メモリセルMCを流れる電流が小さいほど、複数のメモリセルMCの間における電流のばらつき(規格化された標準偏差値)が小さくなる。一方で、メモリセルMCの抵抗値が小さい、すなわち印加されたパルス数が多く、メモリセルMCを流れる電流が大きいほど、複数のメモリセルMCの間における電流のばらつき(規格化された標準偏差値)が大きくなる。
なお、書き込み動作において、“0”データ又は“1”データの書き込みが実行される場合に、ベリファイ読み出し動作が実行されてもよい。ベリファイ読み出し動作は、メモリセルの抵抗値が所望の抵抗値に達したか否かを確認する読み出し動作である。消去動作では、消去対象のメモリセルMCに、リセットパルスが複数回印加される。例えば、メモリデバイス20の消去動作は、書き込み動作において、選択されたビット線BLに印加される電圧と選択されたワード線WLに印加される電圧とが入れ替えられた場合、若しくは選択されたビット線BLに印加される電圧が正電圧である場合と同様である。メモリセルMCの書き込み及び消去の方法は、使用される抵抗変化素子の種類に応じて適宜変更され得る。
[1-2-2]学習動作におけるメモリデバイス20の機能の割り当て
図14は、第1実施形態に係るメモリシステムMSの学習動作におけるメモリデバイス20の機能の割り当ての一例を示す概略図である。図14において“○”で囲まれたU(t)、X(t)、及びZ(t)のそれぞれは、リザーバーコンピューティングにおけるノードの割り当てに対応する。本例において、判定回路214は、メモリセルアレイ201、入力回路211、及び出力回路212と類似した回路を有していると仮定する。以下では、判定回路214に設けられたビット線BL、ワード線WL、メモリセルMC、入力部IP、及び出力部OPのことを、それぞれ“ビット線BLo”、“ワード線WLo”、“メモリセルMCo”、“入力部IPo”、及び“出力部OPo”と呼ぶ。
図14は、第1実施形態に係るメモリシステムMSの学習動作におけるメモリデバイス20の機能の割り当ての一例を示す概略図である。図14において“○”で囲まれたU(t)、X(t)、及びZ(t)のそれぞれは、リザーバーコンピューティングにおけるノードの割り当てに対応する。本例において、判定回路214は、メモリセルアレイ201、入力回路211、及び出力回路212と類似した回路を有していると仮定する。以下では、判定回路214に設けられたビット線BL、ワード線WL、メモリセルMC、入力部IP、及び出力部OPのことを、それぞれ“ビット線BLo”、“ワード線WLo”、“メモリセルMCo”、“入力部IPo”、及び“出力部OPo”と呼ぶ。
図14に示すように、メモリセルアレイ201において、ワード線WL0及びWL1のうち1本のワード線WLと、ビット線BL0~BL2のうち1本のビット線BLとに接続されているメモリセルMCが、入力層ILのメモリセルMC(以下、メモリセルMCiと呼ぶ)として割り当てられている。メモリセルアレイ201において、ワード線WL2~WL4のうち1本のワード線WLと、ビット線BL0~BL2のうち1本のビット線BLとに接続されているメモリセルMCが、リザーバー層RLのメモリセルMC(以下、メモリセルMCrと呼ぶ)として割り当てられている。すなわち、メモリセルMCiと、メモリセルMCrとは、ビット線BLを共有している。判定回路214において、ワード線WLo0~WLo2のうち1本のワード線WLoと、ビット線BLo0及びBLo1のうち1本のビット線BLoとに接続されているメモリセルMCoが、出力層OLのメモリセルMCoとして割り当てられている。
入力部IP0は、入力信号処理回路210から入力されたノードU(1)に対応する信号を増幅して、増幅した信号をワード線WL0に出力する。入力部IP1は、入力信号処理回路210から入力されたノードU(2)に対応する信号を増幅して、増幅した信号をワード線WL1に出力する。出力部OP0は、ビット線BL0を介して入力された信号をIV変換及び増幅して、増幅した信号をノードOUT0に出力する。出力部OP1は、ビット線BL1を介して入力された信号をIV変換及び増幅して、増幅した信号をノードOUT1に出力する。出力部OP2は、ビット線BL2を介して入力された信号をIV変換及び増幅して、増幅した信号をノードOUT2に出力する。ノードOUT0、OUT1、及びOUT2にそれぞれ出力された信号が、ノードX(1)、X(2)、及びX(3)にそれぞれ対応する。ノードX(1)、X(2)、及びX(3)のそれぞれの信号は、遅延回路213に入力される。
遅延回路213は、ノードOUT0、OUT1、及びOUT2に出力されたノードX(1)、X(2)及びX(3)のそれぞれの信号を遅延させて、それぞれノードIN2、IN3及びIN4を介して入力回路211に出力する。入力部IP2は、遅延回路213から入力されたノードX(1)に対応する信号を増幅又は減衰させて、増幅又は減衰させた信号をワード線WL2に出力する。入力部IP3は、遅延回路213から入力されたノードX(2)に対応する信号を増幅又は減衰させて、増幅又は減衰した信号をワード線WL3に出力する。入力部IP4は、遅延回路213から入力されたノードX(3)に対応する信号を増幅又は減衰させて、増幅又は減衰させた信号をワード線WL4に出力する。
これにより、各ビット線BLでは、メモリセルMCiを介したノードU(t)の信号と、メモリセルMCrを介したノードX(t)の信号とが積算される。そして、積算された信号が、出力部OPに入力される。言い換えると、出力部OPには、入力層ILのメモリセルMCiの重みが反映されたノードU(t)の信号と、リザーバー層RLのメモリセルMCrの重みが反映されたノードX(t)の信号とが積算された信号が入力される。
より具体的には、出力部OP0には、ワード線WL0及びビット線BL0に接続されたメモリセルMCiを介して伝送されるノードU(1)に基づく信号と、ワード線WL1及びビット線BL0に接続されたメモリセルMCiを介して伝送されるノードU(2)に基づく信号と、ワード線WL2及びビット線BL0に接続されたメモリセルMCrを介して伝送されるノードX(1)に基づく信号と、ワード線WL3及びビット線BL0に接続されたメモリセルMCrを介して伝送されるノードX(2)に基づく信号と、ワード線WL4及びビット線BL0に接続されたメモリセルMCrを介して伝送されるノードU(3)に基づく信号とが積算された信号が入力される。同様に、各出力部OPには、対応するビット線BLを介して積算された信号が入力される。なお、リザーバー層RLに対応する入力部IPの増幅率又は減衰率は、学習対象の時系列データのうち過去の何サンプル分のデータを出力層OLで処理される信号に含ませるかに応じて設計される。
また、ノードX(1)、X(2)、及びX(3)のそれぞれの信号は、判定回路214の入力部IPo0、IPo1及びIPo2にもそれぞれ入力される。入力部IPo0は、ノードX(1)に対応する信号を増幅して、増幅した信号をワード線WLo0に出力する。入力部IPo1は、ノードX(2)に対応する信号を増幅して、増幅した信号をワード線WLo1に出力する。入力部IPo2は、ノードX(3)に対応する信号を増幅して、増幅した信号をワード線WLo2に出力する。出力部OPo0は、ビット線BLo0を介して入力された信号をIV変換及び増幅して、増幅した信号をノードZ(1)として出力する。出力部OPo1は、ビット線BLo1を介して入力された信号をIV変換及び増幅して、増幅した信号をノードZ(2)として出力する。
例えば、ノードZ(1)及びZ(2)として出力される信号のそれぞれは、サンプル毎に判定結果としてメモリコントローラ10に転送される。メモリコントローラ10は、メモリデバイス20から受け取った判定結果の行列に基づいて、出力層OLの各メモリセルMCoの抵抗値を変化させる指示をメモリデバイス20に送信する。このように、メモリシステムMSは、学習対象のデータ(教師データ)に応じて、出力層OLの各メモリセルMCoの抵抗値を調整する(すなわち、学習する)ことができる。リザーバーコンピューティングでは、入力層ILの各メモリセルMCiとリザーバー層RLの各メモリセルMCrとは、学習の対象外であり、出力層OLのメモリセルMCoのみが学習対象である。また、リザーバー層RLの複数のメモリセルMCrの抵抗値のばらつきが、リザーバーコンピューティングにおけるリザーバー層の重みのばらつきとして利用される。
なお、リザーバー層RLのノードX(t)は、リザーバー層RLに割り当てられたメモリセルMCに対応する。そして、メモリシステムMSにおいて、リザーバーサイズは、リザーバー層RLに割り当てられたビット線BLの数、若しくは、リザーバー層RLに割り当てられたワード線WLの数に対応する。すなわち、例えばリザーバーサイズが“M”である場合、リザーバー層RLに含まれるメモリセルMCの数は“Mの二乗”である。
[1-2-3]学習動作の流れ
図15は、第1実施形態に係るメモリシステムMSの学習動作の流れの一例を示すフローチャートである。以下に、図15を参照して、メモリシステムMSの学習動作の流れについて説明する。なお、以下の説明では、リザーバー層RLに割り当てられた各メモリセルMCrが、消去状態であると仮定する。
図15は、第1実施形態に係るメモリシステムMSの学習動作の流れの一例を示すフローチャートである。以下に、図15を参照して、メモリシステムMSの学習動作の流れについて説明する。なお、以下の説明では、リザーバー層RLに割り当てられた各メモリセルMCrが、消去状態であると仮定する。
メモリコントローラ10は、ホスト機器HDから少なくとも1つの教師データと学習動作の実行指示とを受信すると、学習動作を開始する(開始)。
まず、メモリコントローラ10は、アプリケーションに応じたリザーバーサイズ(M)を決定する(S10)。例えば、メモリコントローラ10は、リザーバーサイズの決定に、設定情報110を参照する。具体的には、メモリコントローラ10は、ホスト機器HDから受け取った教師データに関連付けられたアプリケーションの種別に基づいて、リザーバーサイズを決定し得る。なお、リザーバーサイズとしては、ホスト機器HDにより指示された数値が利用されてもよい。
次に、メモリコントローラ10は、決定されたリザーバーサイズ(M)に関連付けられたリザーバー層設定RLSを読み出す(S11)。リザーバー層設定RLSは、リザーバー層RLの重みばらつき(各メモリセルMCrを介して流れる電流のばらつき)の調整に関する情報を含む。具体的には、第1実施形態のリザーバー層設定RLSは、リザーバー層RLに割り当てられたメモリセルMCrに対して印加するセットパルスの回数(パルス数)の情報を含んでいる。
次に、メモリコントローラ10は、メモリデバイス20に、リザーバー層RLに割り当てられた各メモリセルMCrに対する、S11の処理で読み出されたリザーバー層設定RLSに基づいたパルス数の書き込みを実行させる(S12)。具体的には、例えば、リザーバー層RLの各メモリセルMCrに、リザーバーサイズの最適σ=0.1に対応する7回のセットパルスが印加される。これにより、リザーバー層RLの各メモリセルMCrの抵抗値が、σ=0.1を実現可能な抵抗値に変更される。なお、S12の処理において、ベリファイ読み出し動作は省略され得る。また、S12の処理における書き込み方法は、メモリセルMCrの抵抗値を最適σに対応する状態にすることができるのであれば、その他の方法が利用されても良い。例えば、S12の処理において、リセットパルスが利用されてもよい。消去状態から印加されたセットパルス数が記録されている場合には、目標のパルス数から印加済みのパルス数を減算した回数のセットパルスが各メモリセルMCrに印加されても良い。
次に、メモリコントローラ10は、学習処理を実行する(S13)。学習処理において、メモリコントローラ10は、リザーバー層RLの各メモリセルMCrの抵抗値に応じて、出力層OLの各メモリセルMCoの最適な抵抗値を算出する。そして、メモリコントローラ10は、各メモリセルMCoの抵抗値が算出した最適な抵抗値になるように、各メモリセルMCoに書き込み動作を実行する。最適なメモリセルMCoの抵抗値の算出には、例えば、リッジ回帰法などが使用される。また、最適なメモリセルMCoの抵抗値の算出は、メモリシステムMSの外部で行うことが想定され、例えば、ホスト機器HDを経由して外部のサーバーなどで行うことが考えられる。
メモリコントローラ10は、モデルの精度が所定の閾値を超えたことを検知すると、S13の処理を完了する。そして、メモリコントローラ10は、図15に示された一連の処理を終了する(終了)。その後、メモリコントローラ10は、当該学習動作で入力層IL、リザーバー層RL、及び出力層OLとして割り当てられた領域を、学習済みモデルとして利用することができる。
[1-3]第1実施形態の効果
FTJ素子などの二端子メモリを用いたメモリシステムMSは、高密度化や積和演算が容易である。また、二端子メモリを用いたメモリシステムMSをリザーバーコンピューティングに利用することは、入力層IL、リザーバー層RL、及び出力層OLのそれぞれの記憶領域を一括で形成することが可能という利点を有する。
FTJ素子などの二端子メモリを用いたメモリシステムMSは、高密度化や積和演算が容易である。また、二端子メモリを用いたメモリシステムMSをリザーバーコンピューティングに利用することは、入力層IL、リザーバー層RL、及び出力層OLのそれぞれの記憶領域を一括で形成することが可能という利点を有する。
また、メモリシステムMSは、アプリケーションに応じて、リザーバー層RLとして割り当てる記憶領域のサイズ(リザーバーサイズ)を変更することが可能である。例えば、メモリシステムMSは、学習精度よりも消費電力を下げることを優先する場合、小さいリザーバーサイズを設定する。一方で、メモリシステムMSは、消費電力を下げるよりも学習精度を優先する場合、大きいリザーバーサイズを設定する。このように、メモリシステムMSが、アプリケーションに応じてリザーバーサイズを変更する機能を有することによって、ユーザの要求に応じた学習性能及び消費電力のバランスを実現することができる。
しかしながら、リザーバーコンピューティングは、リザーバーサイズに応じて重みの最適なばらつきが異なるという特性を有する。このため、アプリケーションに応じてリザーバーサイズを変更する場合、リザーバー層RLの各メモリセルMCrの重みのばらつきが調整されることが好ましい。言い換えると、メモリシステムMSは、リザーバーサイズが変更される度に、メモリセルMCr毎に書き込み又は消去をする必要がある。リザーバー層RLにおける重みの最適なばらつきは、リザーバーサイズとの依存性を有している。また、複数のメモリセルMCrにおける重みのばらつきは、セットパルスの印加回数に応じて変化する傾向を有している。
そこで、第1実施形態に係るメモリシステムMSは、メモリセルMCrの抵抗値のばらつきがセットパルスの印加回数との相関を有することに基づいて、学習処理の前に、リザーバーサイズに応じた回数のセットパルスをリザーバー層RLの各メモリセルMCrに印加する。言い換えると、メモリシステムMSは、リザーバー層RLの重みの最適なばらつきを実現するために、リザーバー層RLとして割り当てられた複数のメモリセルMCrにおける抵抗値(重み)のばらつきを、セットパルスの印加回数で管理(調整)する。リザーバー層RLの各メモリセルMCrに対するセットパルスの印加回数は、例えば設定情報110のようなリザーバーサイズと最適σとの関連付けに基づいて決定される。
その結果、第1実施形態に係るメモリシステムMSは、アプリケーション毎に設定されたリザーバーサイズに応じてリザーバー層RLの重みばらつきを一括で最適化することができる。つまり、メモリシステムMSは、学習処理の前準備で、リザーバー層RLのメモリセルMCr毎の抵抗値の調整を省略することができる。その結果、第1実施形態に係るメモリシステムMSは、リザーバーサイズに応じてリザーバー層の重みばらつきを調整することができ、リザーバーサイズ毎の学習性能を向上させることができる。また、メモリシステムMSは、学習処理の準備のための時間を短縮することができる。
なお、第1実施形態では、セットパルス数に応じてリザーバー層RLの各メモリセルMCrの重みのばらつきを調整する場合について例示したが、これに限定されない。メモリシステムMSは、メモリセルMCにセット電圧SETを印加する時間に応じて、リザーバー層RLの各メモリセルMCrの重みのばらつきを調整してもよい。この場合、例えば、設定情報110は、リザーバーサイズと、セット電圧VSETの印加時間とが関連付けられた情報を含む。例えば、図12に示されたセットパルスのパルス幅の合計が、セット電圧VSETの印加時間に対応する。そして、メモリシステムMSは、設定情報110に基づいて、リザーバーサイズとセット電圧VSETの印加時間とに基づいて、リザーバー層RLの各メモリセルMCrに対する書き込みを実行する。このような場合においても、メモリシステムMSは、リザーバーサイズに応じてリザーバー層の重みばらつきを調整することができ、リザーバーサイズ毎の学習性能を向上させることができる。
[2]第2実施形態
第2実施形態に係るメモリシステムMSaは、出力回路212(アナログ回路)の制御パラメータを変更することによってリザーバー層RLの重みばらつきを調整する。以下に、第2実施形態に係るメモリシステムMSaの詳細について説明する。
第2実施形態に係るメモリシステムMSaは、出力回路212(アナログ回路)の制御パラメータを変更することによってリザーバー層RLの重みばらつきを調整する。以下に、第2実施形態に係るメモリシステムMSaの詳細について説明する。
[2-1]構成
図16は、第2実施形態に係るメモリシステムMSaが備えるメモリデバイス20aにおけるメモリセルアレイ201の回路構成と、周辺回路の一部の構成との一例を示す概略図である。図16に示すように、メモリデバイス20aは、第1実施形態のメモリデバイス20に対して、出力回路212が出力回路212aに置き換えられた構成を有する。
図16は、第2実施形態に係るメモリシステムMSaが備えるメモリデバイス20aにおけるメモリセルアレイ201の回路構成と、周辺回路の一部の構成との一例を示す概略図である。図16に示すように、メモリデバイス20aは、第1実施形態のメモリデバイス20に対して、出力回路212が出力回路212aに置き換えられた構成を有する。
出力回路212aは、出力部OPa0~OPamを含む。出力部OPa0~OPamの入力ノードは、ビット線BL0~BLmにそれぞれ接続される。出力部OPa0~OPamの出力ノードは、ノードOUT0~OUTmにそれぞれ接続される。各出力部OPaは、出力部OPと同様に、入力された信号をIV変換した後に増幅し、増幅した信号を対応付けられたノードOUTに出力する機能を有する。さらに、各出力部OPaは、リザーバー層RLの重みばらつきを調整することが可能なIV変換回路を備えている。
図17は、第2実施形態に係るメモリシステムMSaが備えるメモリデバイス20aにおける出力部OPaの回路構成の一例を示す回路図である。図17に示すように、出力部OPaは、オペアンプOA1及びOA2、抵抗R1、R2、R3及びR4、可変抵抗RX、並びにノードN1~N5を含む。オペアンプOA1及び可変抵抗RXの組は、リザーバー層RLにおける重みのばらつきを調整可能なIV変換回路として機能する。オペアンプOA2及び抵抗R1~R4の組は、差動増幅回路として機能する。
オペアンプOA1の反転入力は、ノードN1に接続される。ノードN1は、対応付けられたビット線BLに接続される。オペアンプOA1の非反転入力は、接地ノードに接続される。オペアンプOA1の出力は、ノードN2に接続される。可変抵抗RXは、ノードN1及びN2の間に電気的に接続される。
オペアンプOA2の反転入力は、ノードN3に接続される。オペアンプOA2の非反転入力は、ノードN4に接続される。オペアンプOA2の出力は、ノードN5に接続される。ノードN5は、対応付けられたノードOUTに接続される。抵抗R1は、ノードN2及びN3の間に電気的に接続される。抵抗R2は、ノードN3及びN5の間に電気的に接続される。抵抗R3の一端は、ノードN4に接続される。抵抗R3の他端には、参照電圧VREFが印加される。つまり、参照電圧VREFに基づいた電圧が、抵抗R3を介してオペアンプOA2の非反転入力に印加される。抵抗R4は、ノードN4及び接地ノードの間に電気的に接続される。抵抗R1の抵抗値は、抵抗R3の抵抗値と略等しく設計される(R1=R3)。抵抗R2の抵抗値は、抵抗R4の抵抗値と略等しく設計される(R2=R4)。
可変抵抗RXの抵抗値の最適値、すなわちリザーバー層RLにおける最適な重みばらつきを実現可能な可変抵抗RXの抵抗値は、以下の数式(1)に基づいて算出される。
参照電圧VREFの最適値、すなわちリザーバー層RLにおける最適な重みばらつきを実現可能な参照電圧VREFの値は、以下の数式(2)に基づいて算出される。
出力部OPaが、入力された電流IBLに基づいて出力する電圧VRESの値は、以下の数式(3)に基づいて算出される。
なお、本明細書において、数式に含まれた参照符号は、当該参照符号に対応する数値を示している。例えば、数式内のR1~R4は、それぞれ抵抗R1~R4の抵抗値を示している。“k”は、抵抗R2の抵抗値を抵抗R1の抵抗値で割った値である(k=R2/R1)。“M”は、リザーバーサイズに対応する。“<IBL>”は、電流IBLの平均値に対応する。“VIN”は、可変抵抗RXに印加される電圧に対応する。RXとVREFとのそれぞれの値は、メモリデバイス20の設計に応じて、設定可能な範囲が決定される。メモリシステムMSaでは、RX及びVREFのそれぞれの最適値が、この範囲に基づいて決定される。決定されたRX及びVREFのそれぞれの最適値は、例えば、設定情報110のリザーバー層設定RLSに記録される。第2実施形態に係るメモリシステムMSaのその他の構成は、第1実施形態に係るメモリシステムMSと同様である。
[2-2]学習動作
図18は、第2実施形態に係るメモリシステムMSaの学習動作の流れの一例を示すフローチャートである。以下に、図18を参照して、メモリシステムMSaの学習動作の流れについて説明する。
図18は、第2実施形態に係るメモリシステムMSaの学習動作の流れの一例を示すフローチャートである。以下に、図18を参照して、メモリシステムMSaの学習動作の流れについて説明する。
メモリコントローラ10は、第1実施形態と同様に、ホスト機器HDから少なくとも1つの教師データと学習動作の実行指示とを受信すると、学習動作を開始する(開始)。
まず、メモリコントローラ10は、第1実施形態と同様に、アプリケーションに応じたリザーバーサイズ(M)を決定する(S20)。
次に、メモリコントローラ10は、第1実施形態と同様に、決定されたリザーバーサイズ(M)に関連付けられたリザーバー層設定RLSを読み出す(S21)。第2実施形態のリザーバー層設定RLSは、リザーバー層RLの重みを最適なばらつきにするための、出力回路212aの調整値(可変抵抗RXの抵抗値と参照電圧VREFの電圧値)の情報を含んでいる。
次に、メモリコントローラ10は、メモリデバイス20aに、S21で読み出されたリザーバー層設定RLSに基づいて、可変抵抗RXの抵抗値と参照電圧VREFの設定とを変更させる(S22)。
次に、メモリコントローラ10は、第1実施形態と同様に、学習処理を実行する(S23)。
メモリコントローラ10は、モデルの精度が所定の閾値を超えたことを検知すると、S23の処理を完了する。そして、メモリコントローラ10は、図18に示された一連の処理を終了する(終了)。その後、メモリコントローラ10は、当該学習動作で入力層IL、リザーバー層RL、及び出力層OLとして割り当てられた領域を、学習済みモデルとして利用することができる。
[2-3]第2実施形態の効果
以上で説明されたように、第2実施形態に係るメモリシステムMSaが備えるメモリデバイス20aは、リザーバー層RLの重みを調整することが可能な出力回路212aを備えている。そして、第2実施形態に係るメモリシステムMSは、リザーバーサイズに基づいて、出力回路212aの設定(参照電圧VREF及び可変抵抗RX)を変更し、リザーバー層RLの実質的な重みのばらつきを調整する。
以上で説明されたように、第2実施形態に係るメモリシステムMSaが備えるメモリデバイス20aは、リザーバー層RLの重みを調整することが可能な出力回路212aを備えている。そして、第2実施形態に係るメモリシステムMSは、リザーバーサイズに基づいて、出力回路212aの設定(参照電圧VREF及び可変抵抗RX)を変更し、リザーバー層RLの実質的な重みのばらつきを調整する。
これにより、第2実施形態に係るメモリシステムMSaは、第1実施形態と同様に、リザーバーサイズに応じてリザーバー層の重みばらつきを調整することができ、リザーバーサイズ毎の学習性能を向上させることができる。
また、第2実施形態に係るメモリシステムMSaは、リザーバー層RLの各メモリセルMCrの重みばらつきを周辺回路によって最適化している。このため、第2実施形態に係るメモリシステムMSaは、リザーバー層RLの各メモリセルMCrに対する書き込み及び消去を実行することなく、リザーバー層RLの実質的な重みのばらつきを調整し得る。従って、第2実施形態に係るメモリシステムMSは、第1実施形態よりも学習処理の準備のための時間を短縮することができる。
なお、リザーバー層RLの各メモリセルMCrに対する重みの調整が実行されない場合、各メモリセルMCrには、予め所定回数のセットパルスが印加されていてもよいし、消去状態又は初期状態の各メモリセルMCrが利用されてもよい。初期状態のメモリセルMCは、メモリシステムMSの出荷時のメモリセルMCrの状態に対応する。
[3]第3実施形態
第3実施形態に係るメモリシステムMSbは、メモリセルアレイ201に可変抵抗RXとして使用されるメモリセルMCが配置された構成を有し、当該メモリセルMCと出力回路212を用いてリザーバー層RLの重みばらつきを調整する。以下に、第3実施形態に係るメモリシステムMSbの詳細について説明する。
第3実施形態に係るメモリシステムMSbは、メモリセルアレイ201に可変抵抗RXとして使用されるメモリセルMCが配置された構成を有し、当該メモリセルMCと出力回路212を用いてリザーバー層RLの重みばらつきを調整する。以下に、第3実施形態に係るメモリシステムMSbの詳細について説明する。
[3-1]構成
図19は、第3実施形態に係るメモリシステムMSbが備えるメモリデバイス20bにおけるメモリセルアレイ201aの回路構成と、入力回路211及び出力回路212bの構成との一例を示す概略図である。図19に示すように、メモリデバイス20bは、第1実施形態で説明されたメモリデバイス20に対して、メモリセルアレイ201がメモリセルアレイ201aに置き換えられ、出力回路212が出力回路212bに置き換えられた構成を有する。
図19は、第3実施形態に係るメモリシステムMSbが備えるメモリデバイス20bにおけるメモリセルアレイ201aの回路構成と、入力回路211及び出力回路212bの構成との一例を示す概略図である。図19に示すように、メモリデバイス20bは、第1実施形態で説明されたメモリデバイス20に対して、メモリセルアレイ201がメモリセルアレイ201aに置き換えられ、出力回路212が出力回路212bに置き換えられた構成を有する。
メモリセルアレイ201aは、第1実施形態で説明されたメモリセルアレイ201に対して、少なくとも1本のワード線WLXと、複数のメモリセルMCXとが追加された構成を有する。ワード線WLXの構造は、その他のワード線WLと同様である。メモリセルMCXの構造は、その他のメモリセルMCと同様である。すなわち、メモリセルMCXの抵抗値は、その他のメモリセルMCの抵抗値と同じオーダーで作成される。ワード線WLXは、複数のメモリセルMCXのそれぞれの一端に接続される。複数のメモリセルMCXのそれぞれの他端は、それぞれビット線BL0~BLmに接続される。
出力回路212bは、出力部OPb0~OPbmを含む。出力部OPb0~OPbmの入力ノードは、ビット線BL0~BLmにそれぞれ接続される。出力部OPb0~OPbnの出力ノードは、ノードOUT0~OUTmにそれぞれ接続される。各出力部OPbは、第1実施形態で説明された出力部OPと同様に、入力された信号をIV変換した後に増幅し、増幅した信号を対応付けられたノードOUTに出力する機能を有する。さらに、各出力部OPbは、ワード線WLXに接続されたノードN2を有し、リザーバー層RLの重みばらつきを調整することが可能なIV変換回路を備えている。第3実施形態において、各出力部OPbのノードN2は、互いに接続されている。
図20は、第3実施形態に係るメモリシステムMSbが備えるメモリデバイス20bにおける出力部OPbの回路構成の一例を示す回路図である。図20に示すように、出力部OPbは、第2実施形態で説明された出力部OPaから、可変抵抗RXが省略された構成を有する。出力部OPbにおける、オペアンプOA1及びOA2、抵抗R1、R2、R3及びR4、並びにノードN1~N5の接続関係は、出力部OPaと同様である。
そして、出力部OPbでは、ノードN1(対応付けられたビット線BL)と、ノードN2との間に、メモリセルアレイ201aのメモリセルMCXが接続されている。これにより、オペアンプOA1及びメモリセルMCXの組が、リザーバー層RLにおける重みのばらつきを調整可能なIV変換回路として機能する。すなわち、メモリセルMCXが、リザーバー層RLの重みばらつきを調整するための可変抵抗(第2実施形態の可変抵抗RX)として使用される。言い換えると、第3実施形態では、可変抵抗RXとして使用されるメモリセルMCXが、メモリセルアレイ201内に形成されている。なお、各出力部OPbにおけるノードN1及びN2の間には、複数のワード線WLXを介して複数のメモリセルMCXが並列に接続されてもよい。第3実施形態に係るメモリシステムMSbのその他の構成は、第2実施形態に係るメモリシステムMSaと同様である。
[3-2]学習動作
図21は、第3実施形態に係るメモリシステムMSbの学習動作の流れの一例を示すフローチャートである。以下に、図21を参照して、メモリシステムMSbの学習動作の流れについて説明する。
図21は、第3実施形態に係るメモリシステムMSbの学習動作の流れの一例を示すフローチャートである。以下に、図21を参照して、メモリシステムMSbの学習動作の流れについて説明する。
メモリコントローラ10は、第1実施形態と同様に、ホスト機器HDから少なくとも1つの教師データと学習動作の実行指示とを受信すると、学習動作を開始する(開始)。
まず、メモリコントローラ10は、第1実施形態と同様に、アプリケーションに応じたリザーバーサイズ(M)を決定する(S30)。
次に、メモリコントローラ10は、第1実施形態と同様に、決定されたリザーバーサイズ(M)に関連付けられたリザーバー層設定RLSを読み出す(S31)。第3実施形態のリザーバー層設定RLSは、リザーバー層RLの重みを最適なばらつきにするための、各メモリセルMCXの抵抗値の情報と、出力回路212bの調整値(参照電圧VREFの電圧値)の情報とを含んでいる。
次に、メモリコントローラ10は、メモリデバイス20bに、S31で読み出されたリザーバー層設定RLSに基づいて、参照電圧VREFの設定を変更させる(S32)。参照電圧VREFは、出力回路212bの各出力部OPbで共通の電圧が使用される。
次に、メモリコントローラ10は、メモリデバイス20bに、各メモリセルMCXに対して、S31で読み出されたリザーバー層設定RLSに基づいた書き込み及び/又は消去動作を実行する(S33)。これにより、各メモリセルMCXの抵抗値が、リザーバー層設定RLSにより示された最適な抵抗値に調整される。
次に、メモリコントローラ10は、第1実施形態と同様に、学習処理を実行する(S34)。
メモリコントローラ10は、モデルの精度が所定の閾値を超えたことを検知すると、S34の処理を完了する。そして、メモリコントローラ10は、図21に示された一連の処理を終了する(終了)。その後、メモリコントローラ10は、当該学習動作で入力層IL、リザーバー層RL、及び出力層OLとして割り当てられた領域を、学習済みモデルとして利用することができる。
なお、第3実施形態に係るメモリシステムMSbの学習動作では、参照電圧VREFの変更のみでリザーバー層RLの最適なばらつきへの調整が実現可能であれば、S33の処理が省略されてもよい。
[3-3]第3実施形態の効果
以上で説明されたように、第3実施形態に係るメモリシステムMSbが備えるメモリデバイス20bは、リザーバー層RLの重みを調整することが可能な出力回路212bを備えている。そして、第3実施形態に係るメモリシステムMSbは、出力回路212bと、メモリセルアレイ201aに設けられたメモリセルMCXとを用いて、第2実施形態と同様に、リザーバー層RLの実質的な重みのばらつきを調整する。
以上で説明されたように、第3実施形態に係るメモリシステムMSbが備えるメモリデバイス20bは、リザーバー層RLの重みを調整することが可能な出力回路212bを備えている。そして、第3実施形態に係るメモリシステムMSbは、出力回路212bと、メモリセルアレイ201aに設けられたメモリセルMCXとを用いて、第2実施形態と同様に、リザーバー層RLの実質的な重みのばらつきを調整する。
これにより、第3実施形態に係るメモリシステムMSbは、第2実施形態と同様に、リザーバーサイズに応じてリザーバー層の重みばらつきを調整することができ、リザーバーサイズ毎の学習性能を向上させることができる。
また、第3実施形態に係るメモリシステムMSbは、出力部OPbがメモリセルアレイ201aのメモリセルMCXを可変抵抗RXとして利用するため、第2実施形態よりも簡便に、重みばらつきの調整に関する抵抗の値を調整することができる。なお、第3実施形態に係るメモリシステムMSは、可変抵抗RXとしてメモリセルMCXが利用されるため、メモリセルMCと同程度の範囲で抵抗値を調整することができる。
[4]第4実施形態
第4実施形態に係るメモリシステムMScは、メモリセルアレイ201の各ビット線BLに、重みばらつきを調整するための複数のメモリセルMCが接続された構成を有する。そして、メモリシステムMScは、当該複数のメモリセルMCと出力回路212との接続を適宜切り替えることによって、リザーバー層RLの重みばらつきを調整する。以下に、第4実施形態に係るメモリシステムMScの詳細について説明する。
第4実施形態に係るメモリシステムMScは、メモリセルアレイ201の各ビット線BLに、重みばらつきを調整するための複数のメモリセルMCが接続された構成を有する。そして、メモリシステムMScは、当該複数のメモリセルMCと出力回路212との接続を適宜切り替えることによって、リザーバー層RLの重みばらつきを調整する。以下に、第4実施形態に係るメモリシステムMScの詳細について説明する。
[4-1]構成
図22は、第4実施形態に係るメモリシステムMScが備えるメモリデバイス20cにおけるメモリセルアレイ201bの回路構成と、入力回路211及び出力回路212cの構成との一例を示す概略図である。図22に示すように、メモリデバイス20cは、第1実施形態で説明されたメモリデバイス20に対して、メモリセルアレイ201がメモリセルアレイ201bに置き換えられ、出力回路212が出力回路212cに置き換えられ、スイッチ回路220が追加された構成を有する。
図22は、第4実施形態に係るメモリシステムMScが備えるメモリデバイス20cにおけるメモリセルアレイ201bの回路構成と、入力回路211及び出力回路212cの構成との一例を示す概略図である。図22に示すように、メモリデバイス20cは、第1実施形態で説明されたメモリデバイス20に対して、メモリセルアレイ201がメモリセルアレイ201bに置き換えられ、出力回路212が出力回路212cに置き換えられ、スイッチ回路220が追加された構成を有する。
メモリセルアレイ201bは、第1実施形態で説明されたメモリセルアレイ201に対して、2本以上のワード線WLXと、複数のメモリセルMCXとが追加された構成を有する。ワード線WLXの構造は、その他のワード線WLと同様である。メモリセルMCXの構造は、その他のメモリセルMCと同様である。本例では、メモリセルアレイ201bが、2本のワード線WLX(WLX0及びWLX1)を含んでいる。また、メモリセルアレイ201bは、ワード線WLX0に接続された複数のメモリセルMCX0と、ワード線WLX1に接続された複数のメモリセルMCX1とを含んでいる。ワード線WLX0は、複数のメモリセルMCX0のそれぞれの一端に接続される。複数のメモリセルMCX0のそれぞれの他端は、それぞれビット線BL0~BLmに接続される。ワード線WLX1は、複数のメモリセルMCX1のそれぞれの一端に接続される。複数のメモリセルMCX1のそれぞれの他端は、それぞれビット線BL0~BLmに接続される。
出力回路212cは、出力部OPc0~OPcmを含む。出力部OPc0~OPcmの入力ノードは、ビット線BL0~BLmにそれぞれ接続される。出力部OPc0~OPcnの出力ノードは、ノードOUT0~OUTmにそれぞれ接続される。各出力部OPcは、第1実施形態で説明された出力部OPと同様に、入力された信号をIV変換した後に増幅し、増幅した信号を対応付けられたノードOUTに出力する機能を有する。さらに、各出力部OPcは、スイッチ回路220に含まれた各スイッチSWに接続されたノードN2を有し、リザーバー層RLの重みばらつきを調整することが可能なIV変換回路を備えている。第4実施形態において、各出力部OPcのノードN2は、互いに接続されている。
スイッチ回路220は、ワード線WLXの数に対応する複数のスイッチSWを含む。本例では、スイッチ回路220が、スイッチSW0及びSW1を含んでいる。スイッチSW0は、ワード線WLX0と、出力回路212cのノードN2との間に接続されている。スイッチSW1は、ワード線WLX1と、出力回路212cのノードN2との間に接続されている。各スイッチSWは、制御回路208の制御に基づいて、関連付けられたワード線WLXとノードN2との間を電気的に接続又は非接続にすることができる。
図23は、第4実施形態に係るメモリシステムMScが備えるメモリデバイス20cにおける出力部OPbの回路構成の一例を示す回路図である。図23に示すように、出力部OPcは、第2実施形態で説明された出力部OPaから、可変抵抗RXが省略された構成を有する。出力部OPcにおける、オペアンプOA1及びOA2、抵抗R1、R2、R3及びR4、並びにノードN1~N5の接続関係は、出力部OPaと同様である。
そして、出力部OPcでは、ノードN1(対応付けられたビット線BL)と、ノードN2との間に、メモリセルアレイ201bのメモリセルMCXとスイッチ回路220のスイッチSWとの複数組が並列に接続されている。具体的には、出力部OPcでは、ノードN1及びN2の間に、直列に接続されたメモリセルMCX0及びスイッチSW0の組と、直列に接続されたメモリセルMCX1及びスイッチSW1の組とが、並列に接続されている。これにより、オペアンプOA1と、メモリセルMCX0及びMCX1のうち少なくとも1つとの組が、リザーバー層RLにおける重みのばらつきを調整可能なIV変換回路として機能する。第4実施形態に係るメモリシステムMScのその他の構成は、第3実施形態に係るメモリシステムMSbと同様である。
[4-2]学習動作
図24は、第4実施形態に係るメモリシステムMScの学習動作の流れの一例を示すフローチャートである。以下に、図24を参照して、メモリシステムMScの学習動作の流れについて説明する。
図24は、第4実施形態に係るメモリシステムMScの学習動作の流れの一例を示すフローチャートである。以下に、図24を参照して、メモリシステムMScの学習動作の流れについて説明する。
メモリコントローラ10は、第1実施形態と同様に、ホスト機器HDから少なくとも1つの教師データと学習動作の実行指示とを受信すると、学習動作を開始する(開始)。
まず、メモリコントローラ10は、第1実施形態と同様に、アプリケーションに応じたリザーバーサイズ(M)を決定する(S40)。
次に、メモリコントローラ10は、第1実施形態と同様に、決定されたリザーバーサイズ(M)に関連付けられたリザーバー層設定RLSを読み出す(S41)。第4実施形態のリザーバー層設定RLSは、リザーバー層RLの重みを最適なばらつきにするための、スイッチ回路220の制御情報と、出力回路212cの調整値(参照電圧VREFの電圧値)の情報とを含んでいる。
次に、メモリコントローラ10は、メモリデバイス20cに、S41で読み出されたリザーバー層設定RLSに基づいて、スイッチ回路220内の各スイッチSWのオン又はオフの設定と、参照電圧VREFの設定とを変更させる(S42)。これにより、各出力部OPc内のノードN1及びN2の間の抵抗値が、リザーバー層設定RLSにより示された最適な抵抗値に調整される。
次に、メモリコントローラ10は、第1実施形態と同様に、学習処理を実行する(S43)。
メモリコントローラ10は、モデルの精度が所定の閾値を超えたことを検知すると、S43の処理を完了する。そして、メモリコントローラ10は、図24に示された一連の処理を終了する(終了)。その後、メモリコントローラ10は、当該学習動作で入力層IL、リザーバー層RL、及び出力層OLとして割り当てられた領域を、学習済みモデルとして利用することができる。
[4-3]第4実施形態の効果
以上で説明されたように、第4実施形態に係るメモリシステムMScが備えるメモリデバイス20cは、リザーバー層RLの重みを調整することが可能な出力回路212cを備えている。そして、第3実施形態に係るメモリシステムMSは、出力回路212cと、メモリセルアレイ201bに設けられた複数のメモリセルMCXのグループとの間の接続をスイッチ回路220により切り替えることによって、第2実施形態と同様に、リザーバー層RLの実質的な重みのばらつきを調整する。
以上で説明されたように、第4実施形態に係るメモリシステムMScが備えるメモリデバイス20cは、リザーバー層RLの重みを調整することが可能な出力回路212cを備えている。そして、第3実施形態に係るメモリシステムMSは、出力回路212cと、メモリセルアレイ201bに設けられた複数のメモリセルMCXのグループとの間の接続をスイッチ回路220により切り替えることによって、第2実施形態と同様に、リザーバー層RLの実質的な重みのばらつきを調整する。
これにより、第4実施形態に係るメモリシステムMSaは、第1実施形態と同様に、リザーバーサイズに応じてリザーバー層の重みばらつきを調整することができ、リザーバーサイズ毎の学習性能を向上させることができる。
また、第4実施形態に係るメモリシステムMScは、スイッチ回路220内の各スイッチSWのオン又はオフによって、アプリケーションに応じた最適な重みばらつきが再現可能なように設計され得る。すなわち、第4実施形態に係るメモリシステムMScは、予め使用が予想されるリザーバーサイズに対応する抵抗値が再現可能なように、スイッチSW及びメモリセルMCXの複数組がメモリセルアレイ201bに形成され得る。
これにより、第4実施形態に係るメモリシステムMScは、リザーバー層RLの各メモリセルMCXに対する書き込み及び消去を実行することなく、リザーバー層RLの実質的な重みのばらつきを調整し得る。従って、第4実施形態に係るメモリシステムMScは、第3実施形態よりも学習処理の準備に要する時間を短縮することができる。
なお、第4実施形態の出力部OPcにおいて、ノードN1及びN2の間に並列に接続される、メモリセルMCX及びスイッチSWの組の数は3以上であってもよい。各メモリセルMCXの抵抗値(消去後にセットパルスが印加された回数)は、対応付けられたスイッチSW毎に均一であってもよいし、異なっていてもよい。制御装置208は、リザーバー層設定RLSに応じて、3以上のスイッチSWのそれぞれのオン又はオフを制御し得る。
[5]その他
以上で説明された各実施形態は、種々の変形が可能である。例えば、メモリセルアレイ201の構造は、積層されてもよい。入力層ILとリザーバー層RLとが、同じ層のメモリセルアレイ201に設けられてもよいし、異なる層のメモリセルアレイ201に設けられてもよい。メモリセルアレイ201で使用されるメモリセルMCと、判定回路214で使用されるメモリセルMCoとしては、同じ方式の抵抗変化素子を使用してもよいし、異なる方式の抵抗変化素子が使用されてもよい。メモリセルアレイ201で使用されるメモリセルMCとしては、FTJ素子が使用されてもよいし、その他の抵抗変化素子が使用されてもよい。メモリセルMCoとしては、抵抗値のばらつきが小さいことから、FTJ素子が使用されることが好ましい。メモリセルアレイ201で使用されるメモリセルMCと、判定回路214で使用されるメモリセルMCoとに、同じ方式の抵抗変化素子が使用されることによって、メモリシステムMSの製造コストが削減され得る。
以上で説明された各実施形態は、種々の変形が可能である。例えば、メモリセルアレイ201の構造は、積層されてもよい。入力層ILとリザーバー層RLとが、同じ層のメモリセルアレイ201に設けられてもよいし、異なる層のメモリセルアレイ201に設けられてもよい。メモリセルアレイ201で使用されるメモリセルMCと、判定回路214で使用されるメモリセルMCoとしては、同じ方式の抵抗変化素子を使用してもよいし、異なる方式の抵抗変化素子が使用されてもよい。メモリセルアレイ201で使用されるメモリセルMCとしては、FTJ素子が使用されてもよいし、その他の抵抗変化素子が使用されてもよい。メモリセルMCoとしては、抵抗値のばらつきが小さいことから、FTJ素子が使用されることが好ましい。メモリセルアレイ201で使用されるメモリセルMCと、判定回路214で使用されるメモリセルMCoとに、同じ方式の抵抗変化素子が使用されることによって、メモリシステムMSの製造コストが削減され得る。
上記実施形態では、メモリコントローラ10とメモリデバイス20との間で、学習動作に関するデータがやりとりされる場合について例示したが、これに限定されない。メモリコントローラ10は、教師データなど機械学習に関連するデータと機械学習の実行指示とをメモリデバイス20に送信し、メモリデバイス20が、メモリコントローラ10を介することなく学習動作を完了させてもよい。すなわち、メモリデバイス20が、上記実施形態で説明された学習動作に関する一連の処理を実行してもよい。
上記実施形態では、リザーバー層RLの重みばらつきに関する情報が設定情報110から取得される場合について例示したが、これに限定されない。メモリデバイス20が、数式(1)~(3)に基づいて、重みばらつきの調整値を決定してもよい。
各実施形態において、動作の説明に使用されたフローチャートは、あくまで一例である。各動作は、同様の結果が得られるのであれば、処理の順番が可能な範囲で入れ替えられてもよいし、その他の処理が追加されてもよいし、一部の処理が省略されてもよい。例えば、図21に示されたS32及びS33の処理は、入れ替えられてもよい。CPU103の替わりに、MPU(Micro Processing Unit)やGPU(Graphical Processing Unit)等の汎用プロセッサが使用されてもよい。各実施形態において説明された処理のそれぞれは、専用のハードウェアによって実現されてもよい。各実施形態で説明された動作は、ソフトウェアにより実行される処理と、ハードウェアによって実行される処理とが混在していてもよいし、どちらか一方のみであってもよい。
尚、本明細書において、“ワード線WL”及び“ビット線BL”は、それぞれ“横方向配線”及び“縦方向配線”と呼ばれてもよい。ワード線WL及びビット線BLのそれぞれは、単に“配線”と呼ばれてもよい。接続”は、電気的に接続されている事を示し、接続された2つのノード間に別の素子を介することを除外しない。“メモリセルMCの一端”は、例えば、メモリセルMCの上部電極(導電体層30)に対応している。“メモリセルMCの他端”は、例えば、メモリセルMCの下部電極(導電体層31)に対応している。各配線に電圧が印加されることは、メモリデバイス20の制御を統括する制御回路208を主体として説明されてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…情報処理システム、10…メモリコントローラ、11…ホストインターフェース、12…メモリインターフェース、20…メモリデバイス、30,31…導電体層、32…常誘電体膜、33…強誘電体膜、101…ホストインターフェース、102…メモリインターフェース、103…CPU、104…ROM、105…RAM、106…バッファメモリ、110…設定情報、201…メモリセルアレイ、202…カラム制御回路、203…ロウ制御回路、204…書き込み回路、205…読み出し回路、206…データレジスタ、207…入出力回路、208…制御回路、209…電圧生成回路、210…入力信号処理回路、211…入力回路、212…出力回路、213…遅延回路、214…判定回路、220…スイッチ回路、BL…ビット線、WL…ワード線、MC…メモリセル、IP…入力部、OP…出力部、OA…オペアンプ、R1~R4…抵抗、SW…スイッチ
Claims (20)
- 複数の第1配線と、
前記複数の第1配線と交差して設けられた複数の第2配線と、
前記複数の第1配線と前記複数の第2配線との交差部分にそれぞれ設けられ、各々が前記複数の第1配線のうち1つと前記複数の第2配線のうち1つとの間に接続された複数の第1メモリセルと、
遅延回路を介して前記複数の第2配線にそれぞれ接続され、前記複数の第2配線と交差して設けられた複数の第3配線と、
前記複数の第3配線と前記複数の第2配線との交差部分にそれぞれ設けられ、各々が前記複数の第3配線のうち1つと前記複数の第2配線のうち1つとの間に接続された複数の第2メモリセルと、
前記複数の第2配線にそれぞれ接続された複数の第4配線と、
前記複数の第4配線と交差して設けられた複数の第5配線と、
前記複数の第4配線と前記複数の第5配線との交差部分にそれぞれ設けられ、各々が前記複数の第4配線のうち1つと前記複数の第5配線のうち1つとの間に接続された複数の第3メモリセルと、
機械学習を実行することが可能な制御回路と、
を備え、
前記複数の第1メモリセルと、前記複数の第2メモリセルと、前記複数の第3メモリセルとのそれぞれは、抵抗変化素子を備え、
前記制御回路は、前記機械学習において、前記複数の第2メモリセルのそれぞれに共通の書き込み電圧を用いた書き込み動作を実行し、前記書き込み動作の後に、前記複数の第1配線のそれぞれに入力データを入力し、前記入力データと、前記入力データに基づいて前記第5配線のそれぞれから出力される信号とに基づいて、前記複数の第3メモリセルのうち少なくとも1つの第3メモリセルの抵抗値を変化させる、
半導体装置。 - 前記制御回路は、前記書き込み動作において、前記複数の第2メモリセルに印加する前記書き込み電圧のパルスの回数を、割り当てられた前記複数の第2配線又は前記複数の第3配線の数に応じて決定する、
請求項1に記載の半導体装置。 - 前記制御回路は、前記書き込み動作において、前記複数の第2メモリセルに対する前記書き込み電圧の印加時間を、割り当てられた前記複数の第2配線又は前記複数の第3配線の数に応じて決定する、
請求項1に記載の半導体装置。 - 前記制御回路は、前記入力データの種別に応じて、前記第2配線の数を変更する、
請求項1に記載の半導体装置。 - 前記制御回路は、前記機械学習において、前記書き込み動作の後に、前記複数の第1メモリセルと前記複数の第2メモリセルとのそれぞれの抵抗値を変化させない、
請求項1に記載の半導体装置。 - 前記複数の第1メモリセルは、リザーバーコンピューティングの入力層に使用され、
前記複数の第2メモリセルは、リザーバーコンピューティングのリザーバー層に使用され、
前記複数の第3メモリセルは、リザーバーコンピューティングの出力層に使用される、
請求項1に記載の半導体装置。 - 前記複数の第1メモリセルと、前記複数の第2メモリセルと、前記複数の第3メモリセルとのそれぞれの抵抗変化素子は、強誘電膜を有する、
請求項1に記載の半導体装置。 - 前記複数の第1メモリセルと、前記複数の第2メモリセルと、前記複数の第3メモリセルとのそれぞれは、チタン(Ti)、タングステン(W)、タンタル(Ta)、ハフニウム(Hf)、アルミニウム(Al)、及び亜鉛(Zn)からなる群のうち少なくとも一つの元素の酸化物を含む、
請求項7に記載の半導体装置。 - 複数の第1配線と、
前記複数の第1配線と交差して設けられた複数の第2配線と、
前記複数の第1配線と前記複数の第2配線との交差部分にそれぞれ設けられ、各々が前記複数の第1配線のうち1つと前記複数の第2配線のうち1つとの間に接続された複数の第1メモリセルと、
それぞれの入力ノードが前記複数の第2配線にそれぞれ接続された複数の出力部を含む出力回路と、
遅延回路を介して前記複数の出力部のそれぞれの出力ノードにそれぞれ接続され、前記複数の第2配線と交差して設けられた複数の第3配線と、
前記複数の第3配線と前記複数の第2配線との交差部分にそれぞれ設けられ、各々が前記複数の第3配線のうち1つと前記複数の第2配線のうち1つとの間に接続された複数の第2メモリセルと、
前記複数の出力部のそれぞれの前記出力ノードにそれぞれ接続された複数の第4配線と、
前記複数の第4配線と交差して設けられた複数の第5配線と、
前記複数の第4配線と前記複数の第5配線との交差部分にそれぞれ設けられ、各々が前記複数の第4配線のうち1つと前記複数の第5配線のうち1つとの間に接続された複数の第3メモリセルと、
機械学習を実行することが可能な制御回路と、
を備え、
前記複数の第1メモリセルと、前記複数の第2メモリセルと、前記複数の第3メモリセルとのそれぞれは、抵抗変化素子を備え、
前記制御回路は、前記機械学習において、前記第2配線の数に応じて前記複数の出力部のそれぞれの出力のばらつきを調整し、前記複数の出力部のそれぞれの出力のばらつきを調整した後に、前記複数の第1配線のそれぞれに入力データを入力し、前記入力データと、前記入力データに基づいて前記第5配線のそれぞれから出力される信号とに基づいて、前記複数の第3メモリセルのうち少なくとも1つの第3メモリセルの抵抗値を変化させる、
半導体装置。 - 前記複数の出力部の各々は、電流電圧変換回路と差動増幅回路とを含み、
前記制御回路は、前記電流電圧変換回路に含まれた可変抵抗と前記差動増幅回路に入力される参照電圧とを調整することによって、前記複数の出力部のそれぞれの出力のばらつきを調整する、
請求項9に記載の半導体装置。 - 前記電流電圧変換回路は、第1のオペアンプと、前記可変抵抗とを含み、
前記差動増幅回路は、第2のオペアンプと、第1の抵抗と、第2の抵抗と、前記第1の抵抗と抵抗値が略等しい第3の抵抗と、前記第2の抵抗と抵抗値が略等しい第4の抵抗とを含み、
前記第1のオペアンプの反転入力は、対応付けられた第2配線に接続され、前記可変抵抗は、前記第1のオペアンプの出力と前記第1のオペアンプの前記反転入力との間に接続され、前記第1の抵抗は、前記第1のオペアンプの前記出力と前記第2のオペアンプの反転入力との間に接続され、前記第2の抵抗は、前記第2のオペアンプの前記反転入力と前記第2のオペアンプの出力との間に接続され、前記第3の抵抗の一端は、前記第2のオペアンプの非反転入力に接続され、前記第4の抵抗の一端は、前記第2のオペアンプの前記非反転入力と接地ノードとの間に接続され、
前記第2のオペアンプの前記出力が、前記出力部の前記出力ノードに対応し、
前記制御回路は、前記第3の抵抗の他端に前記参照電圧を印加する、
請求項10に記載の半導体装置。 - 前記複数の出力部の各々は、前記複数の第2配線のうち対応付けられた第2配線に接続された第4メモリセルを利用する電流電圧変換回路と差動増幅回路とを含み、
前記制御回路は、前記第4メモリセルと前記差動増幅回路に入力される参照電圧とを調整することによって、前記複数の出力部のそれぞれの出力のばらつきを調整する、
請求項9に記載の半導体装置。 - 前記電流電圧変換回路は、第1のオペアンプを含み、
前記差動増幅回路は、第2のオペアンプと、第1の抵抗と、第2の抵抗と、前記第1の抵抗と抵抗値が略等しい第3の抵抗と、前記第2の抵抗と抵抗値が略等しい第4の抵抗とを含み、
前記第1のオペアンプの反転入力は、前記対応付けられた第2配線に接続され、前記第4メモリセルは、前記第1のオペアンプの出力と前記第1のオペアンプの前記反転入力との間に接続され、前記第1の抵抗は、前記第1のオペアンプの前記出力と前記第2のオペアンプの反転入力との間に接続され、前記第2の抵抗は、前記第2のオペアンプの前記反転入力と前記第2のオペアンプの出力との間に接続され、前記第3の抵抗の一端は、前記第2のオペアンプの非反転入力に接続され、前記第4の抵抗の一端は、前記第2のオペアンプの前記非反転入力と接地ノードとの間に接続され、
前記第2のオペアンプの前記出力が、前記出力部の前記出力ノードに対応し、
前記制御回路は、前記第3の抵抗の他端に前記参照電圧を印加する、
請求項12に記載の半導体装置。 - 前記複数の出力部の各々は、前記複数の第2配線のうち対応付けられた第2配線に接続された複数の第4メモリセルを利用する電流電圧変換回路と差動増幅回路とを含み、
前記複数の第4メモリセルのそれぞれと前記出力回路との間は、複数のスイッチをそれぞれ介して接続され、
前記制御回路は、前記複数のスイッチのオン又はオフと、前記差動増幅回路に入力される参照電圧とを調整することによって、前記複数の出力部のそれぞれの出力のばらつきを調整する、
請求項9に記載の半導体装置。 - 前記電流電圧変換回路は、第1のオペアンプを含み、
前記差動増幅回路は、第2のオペアンプと、第1の抵抗と、第2の抵抗と、前記第1の抵抗と抵抗値が略等しい第3の抵抗と、前記第2の抵抗と抵抗値が略等しい第4の抵抗とを含み、
前記第1のオペアンプの反転入力は、前記対応付けられた第2配線に接続され、前記複数の第4メモリセルは、前記複数のスイッチをそれぞれ介して、前記第1のオペアンプの出力と前記第1のオペアンプの前記反転入力との間に接続され、前記第1の抵抗は、前記第1のオペアンプの前記出力と前記第2のオペアンプの反転入力との間に接続され、前記第2の抵抗は、前記第2のオペアンプの前記反転入力と前記第2のオペアンプの出力との間に接続され、前記第3の抵抗の一端は、前記第2のオペアンプの非反転入力に接続され、前記第4の抵抗の一端は、前記第2のオペアンプの前記非反転入力と接地ノードとの間に接続され、
前記第2のオペアンプの前記出力が、前記出力部の前記出力ノードに対応し、
前記制御回路は、前記第3の抵抗の他端に前記参照電圧を印加する、
請求項14に記載の半導体装置。 - 前記制御回路は、前記入力データの種別に応じて、前記第2配線の数を変更する、
請求項9に記載の半導体装置。 - 前記制御回路は、前記機械学習において、前記書き込み動作の後に、前記複数の第1メモリセルと前記複数の第2メモリセルとのそれぞれの抵抗値を変化させない、
請求項9に記載の半導体装置。 - 前記複数の第1メモリセルは、リザーバーコンピューティングの入力層に使用され、
前記複数の第2メモリセルは、リザーバーコンピューティングのリザーバー層に使用され、
前記複数の第3メモリセルは、リザーバーコンピューティングの出力層に使用される、
請求項9に記載の半導体装置。 - 前記複数の第1メモリセルと、前記複数の第2メモリセルと、前記複数の第3メモリセルとのそれぞれの抵抗変化素子は、強誘電膜を有する、
請求項9に記載の半導体装置。 - 前記複数の第1メモリセルと、前記複数の第2メモリセルと、前記複数の第3メモリセルとのそれぞれは、チタン(Ti)、タングステン(W)、タンタル(Ta)、ハフニウム(Hf)、アルミニウム(Al)、及び亜鉛(Zn)からなる群のうち少なくとも一つの酸化物を含む、
請求項19に記載の半導体装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022041171A JP2023135866A (ja) | 2022-03-16 | 2022-03-16 | 半導体装置 |
US17/944,725 US20230298643A1 (en) | 2022-03-16 | 2022-09-14 | Semiconductor device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022041171A JP2023135866A (ja) | 2022-03-16 | 2022-03-16 | 半導体装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023135866A true JP2023135866A (ja) | 2023-09-29 |
Family
ID=88067239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022041171A Pending JP2023135866A (ja) | 2022-03-16 | 2022-03-16 | 半導体装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230298643A1 (ja) |
JP (1) | JP2023135866A (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603079A (zh) * | 2016-12-19 | 2017-04-26 | 上海新储集成电路有限公司 | 一种闪速型模数转换器 |
US10897364B2 (en) * | 2017-12-18 | 2021-01-19 | Intel Corporation | Physically unclonable function implemented with spin orbit coupling based magnetic memory |
US20210110249A1 (en) * | 2019-10-14 | 2021-04-15 | Micron Technology, Inc. | Memory component with internal logic to perform a machine learning operation |
WO2021111573A1 (ja) * | 2019-12-05 | 2021-06-10 | Tdk株式会社 | リザーバ計算データフロープロセッサ |
KR20210135376A (ko) * | 2020-05-04 | 2021-11-15 | 삼성전자주식회사 | 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치, 그리고 불휘발성 메모리 장치의 동작 방법 |
US20220366211A1 (en) * | 2021-05-13 | 2022-11-17 | Sandisk Technologies Llc | Dropout in neutral networks using threshold switching selectors in non-volatile memories |
-
2022
- 2022-03-16 JP JP2022041171A patent/JP2023135866A/ja active Pending
- 2022-09-14 US US17/944,725 patent/US20230298643A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230298643A1 (en) | 2023-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11004510B2 (en) | Cross-point memory compensation | |
KR20090020342A (ko) | 가변 저항 메모리 장치 및 그것의 프로그램 방법 | |
US20200168273A1 (en) | Memory device with compensation for leakage current and operating method thereof | |
US20220156345A1 (en) | Memory-based vector-matrix multiplication | |
US9442663B2 (en) | Independent set/reset programming scheme | |
KR102386198B1 (ko) | 저항성 메모리 장치를 구비한 메모리 시스템 및 그의 동작 방법 | |
US20160005495A1 (en) | Reducing disturbances in memory cells | |
KR20170106751A (ko) | 비휘발성 메모리 장치 및 이의 검증 라이트 방법 | |
US9601209B2 (en) | Voltage generator and semiconductor memory device | |
KR20130021739A (ko) | 저항성 메모리 장치, 이의 테스트 시스템 및 저항성 메모리 장치의 테스트 방법 | |
KR20110089729A (ko) | 불휘발성 메모리 장치 및 그것의 읽기 방법 | |
WO2018212082A1 (ja) | メモリ装置およびメモリ装置の制御方法 | |
JP2023135866A (ja) | 半導体装置 | |
CN111326190B (zh) | 相变随机存取存储器单元阵列及其写入方法 | |
TWI675438B (zh) | 半導體記憶裝置 | |
JP6599494B2 (ja) | 半導体記憶装置 | |
US9190117B2 (en) | Nonvolatile semiconductor memory device | |
US20230113627A1 (en) | Electronic device and method of operating the same | |
CN113707200B (zh) | 存储器及其读、写、擦除方法 | |
TW202326948A (zh) | 記憶體裝置及降低記憶體裝置的操作電壓的方法 | |
JP5774154B1 (ja) | 抵抗変化型メモリ | |
US10418074B2 (en) | Semiconductor memory device | |
US20160322102A1 (en) | Semiconductor memory device | |
US20230097363A1 (en) | Data processing system, operating method thereof, and computing system using the same | |
US20230385562A1 (en) | Data processing system, operating method of the data processing system, and computing system using the data processing system and operating method of the data processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20230106 |