JP6747610B2 - 積和演算器、ニューロモーフィックデバイスおよび積和演算器の故障判断方法 - Google Patents
積和演算器、ニューロモーフィックデバイスおよび積和演算器の故障判断方法 Download PDFInfo
- Publication number
- JP6747610B2 JP6747610B2 JP2019562955A JP2019562955A JP6747610B2 JP 6747610 B2 JP6747610 B2 JP 6747610B2 JP 2019562955 A JP2019562955 A JP 2019562955A JP 2019562955 A JP2019562955 A JP 2019562955A JP 6747610 B2 JP6747610 B2 JP 6747610B2
- Authority
- JP
- Japan
- Prior art keywords
- product
- elements
- magnetization
- product operation
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 11
- 230000005415 magnetization Effects 0.000 claims description 176
- 238000004364 calculation method Methods 0.000 claims description 70
- 230000000694 effects Effects 0.000 claims description 32
- 230000008859 change Effects 0.000 claims description 31
- 230000005291 magnetic effect Effects 0.000 claims description 23
- 230000004913 activation Effects 0.000 claims description 20
- 229910045601 alloy Inorganic materials 0.000 claims description 7
- 239000000956 alloy Substances 0.000 claims description 7
- 230000001747 exhibiting effect Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 229910019222 CoCrPt Inorganic materials 0.000 claims description 3
- 230000006870 function Effects 0.000 description 33
- 239000000463 material Substances 0.000 description 24
- 238000013528 artificial neural network Methods 0.000 description 15
- 230000000903 blocking effect Effects 0.000 description 14
- 229910052751 metal Inorganic materials 0.000 description 8
- 239000002184 metal Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 150000002739 metals Chemical class 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 229910052804 chromium Inorganic materials 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000002950 deficient Effects 0.000 description 3
- 239000003302 ferromagnetic material Substances 0.000 description 3
- 239000012212 insulator Substances 0.000 description 3
- 229910052742 iron Inorganic materials 0.000 description 3
- 229910052748 manganese Inorganic materials 0.000 description 3
- 229910052759 nickel Inorganic materials 0.000 description 3
- 229910020598 Co Fe Inorganic materials 0.000 description 2
- 229910002519 Co-Fe Inorganic materials 0.000 description 2
- 229910005347 FeSi Inorganic materials 0.000 description 2
- 229910001030 Iron–nickel alloy Inorganic materials 0.000 description 2
- 229910020068 MgAl Inorganic materials 0.000 description 2
- 229910052782 aluminium Inorganic materials 0.000 description 2
- 230000005290 antiferromagnetic effect Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 230000005294 ferromagnetic effect Effects 0.000 description 2
- 229910001291 heusler alloy Inorganic materials 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 2
- 230000005381 magnetic domain Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 229910052723 transition metal Inorganic materials 0.000 description 2
- 229910018072 Al 2 O 3 Inorganic materials 0.000 description 1
- 230000005355 Hall effect Effects 0.000 description 1
- 229910017857 MgGa Inorganic materials 0.000 description 1
- 229910017911 MgIn Inorganic materials 0.000 description 1
- 229910017028 MnSi Inorganic materials 0.000 description 1
- 229910003271 Ni-Fe Inorganic materials 0.000 description 1
- 229910004298 SiO 2 Inorganic materials 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005307 ferromagnetism Effects 0.000 description 1
- 229910052733 gallium Inorganic materials 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 229910000765 intermetallic Inorganic materials 0.000 description 1
- CPLXHLVBOLITMK-UHFFFAOYSA-N magnesium oxide Inorganic materials [Mg]=O CPLXHLVBOLITMK-UHFFFAOYSA-N 0.000 description 1
- 239000000696 magnetic material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 229910000510 noble metal Inorganic materials 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 238000004544 sputter deposition Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 150000003624 transition metals Chemical class 0.000 description 1
- 229910052720 vanadium Inorganic materials 0.000 description 1
- 229910052725 zinc Inorganic materials 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/50—Testing of electric apparatus, lines, cables or components for short-circuits, continuity, leakage current or incorrect line connections
-
- 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
-
- 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/048—Activation functions
-
- 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
- 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/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/161—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect details concerning the memory cell structure, e.g. the layers of the ferromagnetic memory cell
-
- 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/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1653—Address circuits or decoders
- G11C11/1655—Bit-line or column circuits
-
- 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/18—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using Hall-effect devices
-
- 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
-
- 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/0023—Address circuits or decoders
- G11C13/0026—Bit-line or column circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50008—Marginal testing, e.g. race, voltage or current testing of impedance
-
- 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/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B61/00—Magnetic memory devices, e.g. magnetoresistive RAM [MRAM] devices
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B63/00—Resistance change memory devices, e.g. resistive RAM [ReRAM] devices
- H10B63/80—Arrangements comprising multiple bistable or multi-stable switching components of the same type on a plane parallel to the substrate, e.g. cross-point arrays
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N—ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N50/00—Galvanomagnetic devices
- H10N50/10—Magnetoresistive devices
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N—ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N50/00—Galvanomagnetic devices
- H10N50/80—Constructional details
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N—ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N50/00—Galvanomagnetic devices
- H10N50/80—Constructional details
- H10N50/85—Magnetic active materials
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N—ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N59/00—Integrated devices, or assemblies of multiple devices, comprising at least one galvanomagnetic or Hall-effect element covered by groups H10N50/00 - H10N52/00
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N—ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N70/00—Solid-state devices without a potential-jump barrier or surface barrier, and specially adapted for rectifying, amplifying, oscillating or switching
- H10N70/20—Multistable switching devices, e.g. memristors
- H10N70/231—Multistable switching devices, e.g. memristors based on solid-state phase change, e.g. between amorphous and crystalline phases, Ovshinsky effect
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/50—Testing of electric apparatus, lines, cables or components for short-circuits, continuity, leakage current or incorrect line connections
- G01R31/52—Testing for short-circuits, leakage current or ground faults
Description
また、神経系を模倣したニューラルネットワークを抵抗変化素子のアレイを用いて実現する研究が進められている。ニューロモーフィックデバイス(NMD)では、前段から次の段へとウエイトをかけて足し合わせる積和演算を行う。そこで、連続的に抵抗が変化する抵抗変化素子を複数組み合わせ、それぞれの抵抗値を重みとして入力信号に対する積演算を行い、そこから出力される電流の総和をとることで和演算を行う様々なタイプの積和演算器、およびそれを利用したNMDの開発がすすめられている。
図1は第1実施形態の積和演算器1の一部の構成の一例を示す図である。図2は第1実施形態の積和演算器1の全体構成の一例を示す図である。
図1および図2に示す例では、第1実施形態の積和演算器1が、積演算部10と、和演算部11と、故障判断部12と、機能置換部13と、故障箇所特定部14と、入力遮断部15と、出力遮断部16とを備えている。積演算部10は、カラム10Aと、カラム10Bとを備えている。
図1に示す例では、積演算部10が、2個のカラム10A、10Bを備えているが、1個のカラムだけでもよく、また、3個以上のカラム10A、10B、…を備えていてもよい。
図1に示す例では、カラム10Aが3個の積演算素子10AA、10AB、10ACを備え、カラム10Bが3個の積演算素子10BA、10BB、10BCを備えているが、カラム10Aが、3個以外の複数の積演算素子を備え、カラム10Bが、3個以外の複数の積演算素子を備えてもよい。
積演算素子10AA、10BAの読み出し端子は、ラインL11に接続されている。積演算素子10AA、10BAの書き込み端子は、ラインL12に接続されている。
積演算素子10AB、10BBの読み出し端子は、ラインL21に接続されている。積演算素子10AB、10BBの書き込み端子は、ラインL22に接続されている。
積演算素子10AC、10BCの読み出し端子は、ラインL31に接続されている。積演算素子10AC、10BCの書き込み端子は、ラインL32に接続されている。
積演算素子10AA、10AB、10ACの共通端子は、ラインM1に接続されている。積演算素子10BA、10BB、10BCの共通端子は、ラインM2に接続されている。
和演算部11は、積演算素子10AA、10AB、10ACからの出力の合計値を検出する出力検出器11Aと、積演算素子10BA、10BB、10BCからの出力の合計値を検出する出力検出器11Bとを備えている。出力検出器11AはラインM1に配置されている。出力検出器11BはラインM2に配置されている。
図1に示す例では、出力検出器11Aが、積演算素子10AA、10AB、10ACからの出力電流値を検出し、出力検出器11Bが、積演算素子10BA、10BB、10BCからの出力電流値を検出する。他の例では、出力検出器11Aが、積演算素子10AA、10AB、10ACからの出力を電荷として検出し、出力検出器11Bが、積演算素子10BA、10BB、10BCからの出力を電荷として検出してもよい。
複数の積演算素子10AA〜10ACの正常動作時であって、積演算素子10AA〜10ACの抵抗値が最も高い時には、出力検出器11Aによって検出される複数の積演算素子10AA〜10ACの出力電流の合計値が最小値Minになる。
複数の積演算素子10AA〜10ACの正常動作時には、積演算素子10AA〜10ACの抵抗値が低くなるに従って、出力検出器11Aによって検出される複数の積演算素子10AA〜10ACの出力電流の合計値が大きくなる。
複数の積演算素子10AA〜10ACの正常動作時であって、積演算素子10AA〜10ACの抵抗値が最も低い時には、出力検出器11Aによって検出される複数の積演算素子10AA〜10ACの出力電流の合計値が最大値Maxになる。
規定値は、最大値Max以上の値に設定されている。つまり、規定値は、複数の積演算素子10AA〜10ACのすべてが正常に動作する場合に出力検出器11Aが検出し得る合計値の最大値Max以上の値である。
一方、点P2の状態では、出力検出器11Aが検出した積演算素子10AA〜10ACの出力電流の合計値が、規定値を超える。そのため、故障判断部12は、カラム10Aに含まれる複数の積演算素子10AA〜10ACの少なくとも1つに、出力電流が大きくなる故障が発生したと判断する。
図4に示す例では、磁気抵抗効果素子Aは、磁壁DWを有する磁化自由層A1と、磁化方向が固定された磁化固定層A2と、非磁性層A3とを有する。非磁性層A3は、磁化自由層A1と磁化固定層A2とに挟まれている。磁化自由層A1は、磁壁DWの一方の側に第1領域A11を有し、磁壁DWの他方の側に第2領域A12を有する。第1領域A11には、書き込み端子AAが設けられている。第2領域A12には、共通端子ABが設けられている。磁化固定層A2には、読み出し端子ACが設けられている。
また、データの読み出しは、読み出し端子ACと共通端子ABとの間に電流を流して、磁化方向が平行な部分の面積率と磁化方向が反平行な部分の面積率との比に応じた抵抗を検出することで行うことができる(例えば、特許文献1参照)。
磁化固定層A2は、磁化が第1の方向(例えば図4の左向き)に配向し、固定された層である。ここで、磁化が固定されるとは、書き込み電流を用いた書き込み前後において磁化方向が変化しない(磁化が固定されている)ことを意味する。
非磁性層A3は、磁化固定層A2の下面に設けられている。磁気抵抗効果素子Aは、非磁性層A3を介して磁化固定層A2に対する磁化自由層A1の磁化状態の変化を抵抗値変化として読み出す。すなわち、磁化固定層A2、非磁性層A3及び磁化自由層A1は磁気抵抗効果素子Aとして機能し、非磁性層A3が絶縁体からなる場合はトンネル磁気抵抗(TMR)素子と似た構成であり、非磁性層2が金属からなる場合は巨大磁気抵抗効果(GMR)素子と似た構成である。
非磁性層A3が絶縁体からなる場合(トンネルバリア層である場合)、その厚みは、例えば2.5nm以上である。
磁化自由層A1は磁壁駆動型(移動型)MRAMの磁壁駆動層に相当する。
磁化自由層A1は強磁性体材料からなり、その内部の磁化の向きは反転可能である。磁化自由層A1は、磁化が磁化固定層A2と逆向きの第2の方向に配向した第1領域A11と、磁化が第1の方向と同じ向きに配向した第2領域A12と、これらの領域の界面をなす磁壁DWとを有する。磁壁DWを挟んで第1領域A11と第2領域A12の磁化の向きは反対である。磁壁DWは、磁化自由層A1における第1領域A11と第2領域A12の構成比率が変化することで移動する。
第1磁化供給層A4及び第2磁化供給層A5の材料としては、磁化固定層A2に使える強磁性材料と同じ材料を用いることができる。
かかる構成を有することにより、磁化が固定された層としての磁化供給層を設置することがなくても、スピン軌道トルク配線の両端に電流を流すことにより磁化自由層A1に磁壁を導入することができ、また、スピン軌道トルク配線を介して磁化自由層A1に電流を流すことで、磁壁を移動させることができる。
また、カラム10Bが故障したと故障判断部12が判断した場合に、機能置換部13は、カラム10Bの故障前にカラム10Bの複数の積演算素子10BA〜10BCが行っていた積演算を、カラム10Aの複数の積演算素子10AA〜10ACに行わせる。具体的には、例えば、機能置換部13は、カラム10Aの複数の積演算素子10AA〜10ACのそれぞれの抵抗値を、故障前のカラム10Bの複数の積演算素子10BA〜10BCのそれぞれの抵抗値に設定する。
カラム10Aの複数の積演算素子10AA〜10ACのいずれかが故障したと故障判断部12が判断し、例えば積演算素子10ABが故障したと故障箇所特定部14が特定した場合に、入力遮断部15は、故障した積演算素子10ABに対する入力を遮断する。その結果、積演算素子10ABを介してラインM1に過大な電流が出力されてしまうことを回避することができる。
積演算素子10ABに対する入力を遮断する入力遮断部15の一例では、入力遮断部15が、積演算素子10ABの読み出し端子AC(図4参照)とラインL21との間に配置されたスイッチによって構成される。積演算素子10ABに対する入力を遮断する入力遮断部15の他の例では、入力遮断部15が、積演算素子10AB、10BBへの入力をラインL21上において遮断するスイッチによって構成される。
故障した積演算素子10ABに対する入力を入力遮断部15が遮断する代わりに、出力遮断部16が、故障した積演算素子10ABを含む複数の積演算素子10AA〜10ACからの出力を例えばラインM1上において遮断してもよい。
カラム10Bの複数の積演算素子10BA〜10BCのいずれかが故障したと故障判断部12が判断し、例えば積演算素子10BCが故障したと故障箇所特定部14が特定した場合に、入力遮断部15は、故障した積演算素子10BCに対する入力を遮断する。その結果、積演算素子10BCを介してラインM2に過大な電流が出力されてしまうことを回避することができる。
故障した積演算素子10BCに対する入力を入力遮断部15が遮断する代わりに、出力遮断部16が、故障した積演算素子10BCを含む複数の積演算素子10BA〜10BCからの出力を例えばラインM2上において遮断してもよい。
図5に示す例では、第1実施形態の積和演算器1が、ニューロモーフィックデバイス100に適用されている。ニューロモーフィックデバイス100は、入力層101と、隠れ層102と、出力層103と、第1実施形態の積和演算器1と、積和演算器2とを備えている。積和演算器2は、図1に示す第1実施形態の積和演算器1と同様に複数の積演算素子を有する。
入力層101は、例えば4つのノード101A、101B、101C、101Dを備えている。隠れ層102は、例えば3つのノード102A、102B、102Cを備えている。出力層103は、例えば3つのノード103A、103B、103Cを備えている。
積和演算器1は、入力層101と隠れ層102との間に配置され、入力層101の4つのノード101A、101B、101C、101Dと、隠れ層102の3つのノード102A、102B、102Cとを接続する。積和演算器1は、図1に示す積演算素子10AA〜10AC、10BA〜10BCの抵抗値を変更することによって、重みを変更する。
隠れ層102と出力層103との間には、積和演算器2が配置されている。積和演算器2は、隠れ層102の3つのノード102A、102B、102Cと、出力層103の3つのノード103A、103B、103Cとを接続する。積和演算器2は、複数の積演算素子の抵抗値を変更することによって、重みを変更する。
隠れ層102は、活性化関数(例えばシグモイド関数)を使用する。
図6に示す例では、活性化関数は、活性化関数への入力値が閾値以上の場合に、活性化関数からの出力値がゼロになるように、設定されている。
つまり、図5および図6に示す例では、例えば積和演算器1の故障などにより、閾値(図6参照)以上の値が、積和演算器1から隠れ層102に入力される場合に、隠れ層102は、出力値としてゼロの値を出力する。そのため、例えば積和演算器1の故障などの影響が、積和演算器2や出力層103に及んでしまうおそれを抑制することができる。
ステップS10では、積演算部10および和演算部11が、積和演算を実行する。
ステップS11では、出力検出器11Aが、積演算素子10AA、10AB、10ACからの出力電流値を検出し、出力検出器11Bが、積演算素子10BA、10BB、10BCからの出力電流値を検出する。
ステップS12では、故障判断部12は、出力検出器11Aが検出した合計値が規定値を超えたか否かを判定し、出力検出器11Bが検出した合計値が規定値を超えたか否かを判定する。出力検出器11Aが検出した合計値が規定値を超えた場合、または、出力検出器11Bが検出した合計値が規定値を超えた場合には、ステップS13に進む。出力検出器11Aが検出した合計値が規定値以下であり、かつ、出力検出器11Bが検出した合計値が規定値以下である場合には、図7に示す処理が終了する。
ステップS13では、故障判断部12は、カラム10Aに含まれる複数の積演算素子10AA〜10ACの少なくとも1つに、出力電流が大きくなる故障が発生したと判断するか、あるいは、カラム10Bに含まれる複数の積演算素子10BA〜10BCの少なくとも1つに、出力電流が大きくなる故障が発生したと判断する。
特に、積演算素子10AA〜10AC、10BA〜10BCがショートモードで故障した場合(つまり、出力電流が大きくなる故障が積演算素子10AA〜10AC、10BA〜10BCに発生した場合)に、積和演算器1の積和演算機能や、ニューラルネットワークとしての性能が大きく損なわれることを見い出した。
詳細には、本発明者は、鋭意研究において、出力電流が大きくなる故障が積演算素子10AA〜10AC、10BA〜10BCに発生した場合には、出力電流が小さくなる故障が積演算素子10AA〜10AC、10BA〜10BCに発生した場合よりも、積和演算器1の積和演算機能や、ニューラルネットワークとしての性能が損なわれる度合いが大きいことを見い出した。これは故障した積演算素子(抵抗変化素子)に電流が集中して大量に流れることによって、他の積演算素子の重み(他の積演算素子からの電流)が回路上で見えなくなるためである。
そのため、第1実施形態の積和演算器1によれば、ニューラルネットワークに適用される場合に、ニューラルネットワークの性能を大きく損なうおそれがある故障(つまり、出力電流が大きくなる故障)を正確に検知することができる。
つまり、第1実施形態の積和演算器1では、複数の積演算素子10AA〜10AC、10BA〜10BCとして、正常動作時における抵抗値と、故障時(詳細には、出力電流が大きくなる故障時)における抵抗値との差が大きい素子が用いられる。
そのため、第1実施形態の積和演算器1によれば、正常動作時における抵抗値と、故障時(詳細には、出力電流が大きくなる故障時)における抵抗値との差が小さい素子が用いられる場合よりも、ニューラルネットワークの性能を大きく損なうおそれがある故障を正確に検知することができる。
そのため、第1実施形態の積和演算器1によれば、カラム10Aが故障した場合、あるいは、カラム10Bが故障した場合であっても、ニューラルネットワークの性能を維持することができる。
また、複数の積演算素子10BA〜10BCのいずれかが故障したと故障判断部12が判断した場合に、複数の積演算素子10BA〜10BCのうちの故障した積演算素子が特定され、故障した積演算素子に対する入力が遮断される。
そのため、第1実施形態の積和演算器1によれば、故障した積演算素子に対する入力が遮断されない場合よりも、ニューラルネットワークの性能が大きく損なわれるおそれを抑制することができる。
また、複数の積演算素子10BA〜10BCのいずれかが故障したと故障判断部12が判断した場合に、故障したと判断された複数の積演算素子10BA〜10BCからの出力が遮断される。
そのため、第1実施形態の積和演算器1によれば、故障したと判断された複数の積演算素子10AA〜10AC、10BA〜10BCからの出力が遮断されない場合よりも、ニューラルネットワークの性能が大きく損なわれるおそれを抑制することができる。
そのため、第1実施形態の積和演算器1を備えるニューロモーフィックデバイス100によれば、例えば積和演算器1の故障などの影響が、積和演算器2や出力層103に及んでしまうおそれを抑制することができる。
以下、本発明の積和演算器の第2実施形態について説明する。
第2実施形態の積和演算器1は、後述する点を除き、上述した第1実施形態の積和演算器1と同様に構成されている。従って、第2実施形態の積和演算器1によれば、後述する点を除き、上述した第1実施形態の積和演算器1と同様の効果を奏することができる。
第1実施形態の積和演算器1では、積演算素子10AA〜10AC、10BA〜10BCが磁気抵抗効果素子によって構成されているが、第2実施形態の積和演算器1では、積演算素子10AA〜10AC、10BA〜10BCが一般的な抵抗変化素子(可変抵抗)によって構成されている。
図8に示す例では、積演算素子10AA、10BAの第1端子は、ラインL11に接続されている。積演算素子10AB、10BBの第1端子は、ラインL21に接続されている。積演算素子10AC、10BCの第1端子は、ラインL31に接続されている。
積演算素子10AA、10AB、10ACの第2端子は、ラインM1に接続されている。積演算素子10BA、10BB、10BCの第2端子は、ラインM2に接続されている。
和演算部11は、積演算素子10AA、10AB、10ACの第2端子からの出力の合計値を検出する出力検出器11Aと、積演算素子10BA、10BB、10BCの第2端子からの出力の合計値を検出する出力検出器11Bとを備えている。
なお、ここでいう「コンピュータシステム」とは、オペレーティング・システム(OS:Operating System)あるいは周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、記録媒体としては、例えば、一時的にデータを記録する記録媒体であってもよい。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)あるいは電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
コンピュータでは、例えば、CPU(Central Processing Unit)などのプロセッサがメモリに記憶されたプログラムを読み出して実行する。
Claims (14)
- 積演算部と、和演算部と、故障判断部とを備え、
前記積演算部は、複数の積演算素子を備え、
前記複数の積演算素子のそれぞれは、抵抗変化素子であり、
前記和演算部は、前記複数の積演算素子からの出力の合計値を検出する出力検出器を備え、
前記故障判断部は、前記出力検出器が検出した前記合計値が規定値を超えた場合に、故障が発生したと判断し、
前記規定値は、前記複数の積演算素子のすべてが正常に動作する場合に前記出力検出器が検出し得る前記合計値の最大値以上の値である、
積和演算器。 - 前記抵抗変化素子は、書き込み端子と、共通端子と、読み出し端子とを有する、
請求項1に記載の積和演算器。 - 前記抵抗変化素子は、磁気抵抗効果を示す磁気抵抗効果素子であり、
前記磁気抵抗効果素子は、
磁壁を有する磁化自由層と、
磁化方向が固定された磁化固定層と、
前記磁化自由層と前記磁化固定層とに挟まれた非磁性層とを有する、
請求項1または請求項2に記載の積和演算器。 - 前記積演算部は、少なくとも、複数の積演算素子を有する第1カラムと、複数の積演算素子を有する第2カラムとを備え、
前記和演算部は、少なくとも、前記第1カラムの複数の積演算素子からの出力の合計値を検出する第1出力検出器と、前記第2カラムの複数の積演算素子からの出力の合計値を検出する第2出力検出器とを備え、
前記第1カラムが故障したと前記故障判断部が判断した場合に、前記第1カラムの故障前に前記第1カラムの複数の積演算素子が行っていた積演算を、前記第2カラムの複数の積演算素子に行わせる機能置換部をさらに備える、
請求項1から請求項3のいずれか一項に記載の積和演算器。 - 前記複数の積演算素子が故障したと前記故障判断部が判断した場合に、前記複数の積演算素子のうちの故障した積演算素子を特定する故障箇所特定部と、
前記複数の積演算素子が故障したと前記故障判断部が判断した場合に、前記故障した積演算素子に対する入力を遮断する入力遮断部とをさらに備え、
前記故障箇所特定部は、前記複数の積演算素子の出力側から前記複数の積演算素子に対して信号を入力することによって、前記故障した積演算素子を特定する、
請求項1から請求項4のいずれか一項に記載の積和演算器。 - 請求項1から請求項5のいずれか一項に記載の積和演算器を備えるニューロモーフィックデバイス。
- 活性化関数を使用する隠れ層をさらに備え、
前記活性化関数は、前記活性化関数への入力値が閾値以上の場合に、前記活性化関数からの出力値がゼロになるように、設定される、
請求項6に記載のニューロモーフィックデバイス。 - 請求項1から請求項3のいずれか一項に記載の積和演算器を備えるニューロモーフィックデバイスであって、
前記複数の積演算素子が故障したと前記故障判断部が判断した場合に、故障したと判断された前記複数の積演算素子からの出力を遮断する出力遮断部をさらに備える、
ニューロモーフィックデバイス。 - 正常動作時における前記複数の積演算素子のそれぞれの抵抗値と、故障時における前記複数の積演算素子のそれぞれの抵抗値とが3桁以上異なる、
請求項6から請求項8のいずれか一項に記載のニューロモーフィックデバイス。 - 請求項1または請求項2に記載の積和演算器を備えるニューロモーフィックデバイスであって、
前記抵抗変化素子は、磁気抵抗効果を示す磁気抵抗効果素子であり、
前記磁気抵抗効果素子は、
磁壁を有する磁化自由層と、
磁化方向が固定された磁化固定層と、
前記磁化自由層と前記磁化固定層とに挟まれた非磁性層とを有し、
前記非磁性層の厚みは、2.5nm以上である、
ニューロモーフィックデバイス。 - 前記磁化自由層は、Co/Pt多層膜、Co/Pd多層膜、及びCoCrPt合金膜からなる群から選択された垂直磁化膜である、
請求項10に記載のニューロモーフィックデバイス。 - 前記出力検出器は、前記複数の積演算素子からの出力電流値を検出する、
請求項6から請求項11のいずれか一項に記載のニューロモーフィックデバイス。 - 前記出力検出器は、前記複数の積演算素子から出力される電荷を検出する、
請求項6から請求項11のいずれか一項に記載のニューロモーフィックデバイス。 - 積演算部と和演算部とを備える積和演算器の故障判断方法であって、
前記積演算部は、複数の積演算素子を備え、
前記複数の積演算素子のそれぞれは、抵抗変化素子であり、
前記複数の積演算素子からの出力の合計値を検出する検出ステップと、
前記検出ステップにおいて検出された前記合計値が規定値を超えた場合に、故障が発生したと判断する判断ステップとを備え、
前記規定値は、前記複数の積演算素子のすべてが正常に動作する場合に検出され得る前記合計値の最大値以上の値である、
積和演算器の故障判断方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017254700 | 2017-12-28 | ||
JP2017254700 | 2017-12-28 | ||
PCT/JP2018/045714 WO2019131137A1 (ja) | 2017-12-28 | 2018-12-12 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の故障判断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6747610B2 true JP6747610B2 (ja) | 2020-08-26 |
JPWO2019131137A1 JPWO2019131137A1 (ja) | 2020-09-24 |
Family
ID=67067068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019562955A Active JP6747610B2 (ja) | 2017-12-28 | 2018-12-12 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の故障判断方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11442695B2 (ja) |
JP (1) | JP6747610B2 (ja) |
CN (1) | CN111512311B (ja) |
WO (1) | WO2019131137A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6819799B2 (ja) | 2017-12-28 | 2021-01-27 | Tdk株式会社 | 積和演算器の使用方法 |
JP7147953B2 (ja) * | 2019-02-25 | 2022-10-05 | 株式会社ニコン | 半導体装置、pHセンサ及びバイオセンサ並びに半導体装置の製造方法 |
EP3757997A1 (en) * | 2019-06-24 | 2020-12-30 | IMEC vzw | Spintronic device with a synthetic antiferromagnet hybrid storage layer |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8540493B2 (en) * | 2003-12-08 | 2013-09-24 | Sta-Rite Industries, Llc | Pump control system and method |
JP4140616B2 (ja) * | 2005-04-05 | 2008-08-27 | Tdk株式会社 | トンネル磁気抵抗効果素子、薄膜磁気ヘッド、ヘッドジンバルアセンブリ及び磁気ディスク装置、並びに該トンネル磁気抵抗効果素子の製造方法、検査方法及び検査装置 |
EP2077580B1 (en) * | 2006-11-17 | 2011-11-30 | Panasonic Corporation | Nonvolatile memory element, nonvolatile memory device, nonvolatile semiconductor device, and method for manufacturing nonvolatile memory element |
JP5160304B2 (ja) * | 2008-05-22 | 2013-03-13 | シャープ株式会社 | 抵抗変化型可変抵抗素子を備えた積演算装置、及び積和演算装置、これらの装置を各ニューロン素子に備えるニューラルネットワーク、並びに積演算方法 |
JPWO2011068177A1 (ja) * | 2009-12-02 | 2013-04-18 | 日本電気株式会社 | 二重化計算システム及び二重化計算方法 |
US8898516B2 (en) * | 2011-12-09 | 2014-11-25 | Toyota Jidosha Kabushiki Kaisha | Fault-tolerant computer system |
JP5289647B1 (ja) * | 2012-01-23 | 2013-09-11 | パナソニック株式会社 | ニューラルネットワーク回路の学習方法 |
JP2014216345A (ja) * | 2013-04-22 | 2014-11-17 | 旭化成株式会社 | 太陽電池用樹脂封止シート |
JP6501146B2 (ja) * | 2014-03-18 | 2019-04-17 | パナソニックIpマネジメント株式会社 | ニューラルネットワーク回路およびその学習方法 |
WO2017183573A1 (ja) | 2016-04-21 | 2017-10-26 | Tdk株式会社 | 磁壁利用型アナログメモリ素子および磁壁利用型アナログメモリ |
KR102331382B1 (ko) | 2016-08-19 | 2021-11-26 | 소니그룹주식회사 | 곱합 연산 장치 |
JP7149198B2 (ja) * | 2019-02-07 | 2022-10-06 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
-
2018
- 2018-12-12 JP JP2019562955A patent/JP6747610B2/ja active Active
- 2018-12-12 CN CN201880082896.9A patent/CN111512311B/zh active Active
- 2018-12-12 WO PCT/JP2018/045714 patent/WO2019131137A1/ja active Application Filing
- 2018-12-12 US US16/766,426 patent/US11442695B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11442695B2 (en) | 2022-09-13 |
JPWO2019131137A1 (ja) | 2020-09-24 |
US20210034331A1 (en) | 2021-02-04 |
CN111512311B (zh) | 2023-10-13 |
WO2019131137A1 (ja) | 2019-07-04 |
CN111512311A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6721136B2 (ja) | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 | |
US10892009B2 (en) | Magnetic wall utilization-analog memory element and magnetic wall utilization analog memory | |
JPWO2018189964A1 (ja) | 磁壁利用型アナログメモリ素子、磁壁利用型アナログメモリ、不揮発性ロジック回路及び磁気ニューロ素子 | |
US10600461B2 (en) | Magnetic domain wall displacement type magnetic recording element and magnetic recording array | |
JP7013839B2 (ja) | 磁壁利用型アナログメモリ、不揮発性ロジック回路及び磁気ニューロ素子 | |
JP6747610B2 (ja) | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の故障判断方法 | |
WO2017183574A1 (ja) | 磁壁利用型スピンmosfetおよび磁壁利用型アナログメモリ | |
JP2015088669A (ja) | 多値型磁気メモリ素子及び磁気メモリ装置 | |
JP6819799B2 (ja) | 積和演算器の使用方法 | |
JP6773239B2 (ja) | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 | |
JP6876281B2 (ja) | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 | |
JP2011198416A (ja) | 磁気メモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200514 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200514 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200703 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200707 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200720 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6747610 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |