JP2018147159A - ニューラルネットワーク回路 - Google Patents

ニューラルネットワーク回路 Download PDF

Info

Publication number
JP2018147159A
JP2018147159A JP2017040406A JP2017040406A JP2018147159A JP 2018147159 A JP2018147159 A JP 2018147159A JP 2017040406 A JP2017040406 A JP 2017040406A JP 2017040406 A JP2017040406 A JP 2017040406A JP 2018147159 A JP2018147159 A JP 2018147159A
Authority
JP
Japan
Prior art keywords
resistance value
neural network
unit
network circuit
current
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.)
Granted
Application number
JP2017040406A
Other languages
English (en)
Other versions
JP6708146B2 (ja
Inventor
茂樹 大塚
Shigeki Otsuka
茂樹 大塚
イリナ カタエヴァ
Kataeva Irina
イリナ カタエヴァ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2017040406A priority Critical patent/JP6708146B2/ja
Priority to PCT/JP2017/045323 priority patent/WO2018159073A1/ja
Publication of JP2018147159A publication Critical patent/JP2018147159A/ja
Priority to US16/550,664 priority patent/US11182669B2/en
Application granted granted Critical
Publication of JP6708146B2 publication Critical patent/JP6708146B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Neurology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Semiconductor Memories (AREA)

Abstract

【課題】メモリスタを記憶素子とする記憶部を有するものにおいて、記憶素子の不良を容易に判別できるニューラルネットワーク回路を提供する。【解決手段】メモリスタからなる記憶素子R1〜R3を格子状に結合してなる記憶部1を備える。コントローラは、記憶部1の選択した素子にデータとしての抵抗値を低減させる書き込み,前記抵抗値を増大させる消去及び読み出しを行うため電圧印加部を制御する。センスアンプ2は、記憶素子R1〜R3を介して流れる電流を電圧に変換して出力する。またコントローラは、各センスアンプ2に入力される電流の合計値をゼロにするように調整する。【選択図】図1

Description

本発明は、記憶素子としてのメモリスタを格子状に結合してなる記憶部を有するニューラルネットワーク回路に関する。
現在、メモリスタと称される、不揮発性でコンダクタンス値を可変できる2端子の素子をシナプスとして用い、ニューラルネットワーク回路を構成する研究が進められている。このようなニューラルネットワーク回路は、例えば非特許文献1のFig.2に示すように、メモリスタを格子状に配置し、メモリスタに電圧を印加して電流を生成する。その合成電流をセンスアンプで電圧に変換し、活性化関数により波形を整形した後に電圧値として出力する。メモリスタがシナプスとして、センスアンプがニューロンとして動作することで、ニューラルネットワーク回路が構成される。センスアンプは、メモリスタのコンダクタンス値と印加電圧との積和演算を行う。
"A heterogeneous computing system with memristor-based neuromorphic accelerators " High PERFORMANCE Extreme Computing Conference, 2014 IEEE
一般的な不揮発性メモリについては、記憶したデータの信頼性を向上させるため、パリティビットやチェックサムを付加したり、ECC(Error Check and Correct)を用いることができる。しかし、メモリスタを用いたアナログメモリの場合、メモリセルと演算回路とが一体化しているため、演算中にメモリセルに記憶されているデータのエラーを判定することが困難となる。
例えば、エラー検出を演算中は実施せず、検出のための読出しを別途行い、個々のセルの抵抗値を読み出して、別途保持している基準値と比較することでエラーを検出することはできる。しかしながら、このような手法は時間を要する。
また、格子状に配置されるメモリスタについては、各素子を切り離すための選択素子が付加されていない場合は、1つの素子に不良が発生すると、同一行又は同一列に接続されている全ての素子を「不良」とせざるを得ず、行又は列単位で予備素子との入れ替えを図る必要がある。
本発明は上記事情に鑑みてなされたものであり、その目的は、メモリスタを記憶素子とする記憶部を有するものにおいて、記憶素子の不良を容易に判別できるニューラルネットワーク回路を提供することにある。
請求項1記載のニューラルネットワーク回路によれば、記憶素子であるメモリスタを格子状に結合してなる記憶部を備える。制御部は、記憶部の選択した素子にデータとしての抵抗値を低減させる書き込み,前記抵抗値を増大させる消去及び読み出しを行うため電圧印加部を制御する。I/V変換増幅回路は、記憶素子を介して流れる電流を電圧に変換して出力する。電流調整部は、各I/V変換増幅回路に入力される電流の合計値をゼロにするように調整する。
各I/V変換増幅回路に接続されている各記憶素子の書込み状態に応じて設定された抵抗値に応じて、各I/V変換増幅回路に入力される電流の合計値が決まる。したがって、電流調整部が前記合計値をゼロにするように調整した後に、合計値がゼロにならない状態が検出されれば、記憶素子に設定した抵抗値が変化したことになる。これにより、記憶部に発生した異常を検出できる。
第1実施形態であり、メモリスタからなる記憶部について、エラー検出を行う構成を説明するモデル図 行方向についてエラー検出を行う状態を示す図 列方向についてエラー検出を行う状態を示す図 第2実施形態であり、メモリスタからなる記憶部について、エラー検出を行う構成を説明するモデル図 行方向についてエラー検出を行う状態を示す図 列方向についてエラー検出を行う状態を示す図 行方向についてエラー検出を行う構成を、より実態的なニューラルネットワーク回路として示す図 ドライブ回路の構成を示す図 センス回路の構成を示す図 第3実施形態であり、メモリスタからなる記憶部について、エラー検出を行う構成を説明するモデル図 第4実施形態であり、メモリスタからなる記憶部について、エラー検出を行う構成を説明するモデル図 セルR1p,R1nが書換え不能となるケース1〜4を示す図 エラー訂正処理を示すフローチャート 第5実施形態であり、メモリスタからなる記憶部について、エラー検出を行う構成を説明するモデル図 セルR1p,R1nが書換え不能となるケース1〜4を示す図 エラー訂正処理を示すフローチャート 第6実施形態であり、メモリスタからなる記憶部について、エラー検出を行う構成を説明するモデル図 セルR1p,R1nが書換え不能となるケース1〜4を示す図 エラー訂正処理を示すフローチャート 予備セル列の入換えを行う構成を、より実態的なニューラルネットワーク回路として示す図
(第1実施形態)
図1に示すように、記憶部1は、メモリスタからなる3つの記憶素子R1,R2,R3で構成されている。各記憶素子R1,R2,R3の一端には、それぞれ可変電圧源V1,V2,V3が接続されている。各記憶素子R1,R2,R3の他端は、センスアンプ2の入力端子であるオペアンプ3の反転入力端子に共通に接続されている。前記反転入力端子とオペアンプ3の出力端子との間には、帰還抵抗Rfが接続されている。オペアンプ3の非反転入力端子はグランドに接続されている。尚、以下では記憶素子を「セル」と称する場合がある。
そして、前記反転入力端子とグランドとの間には、メモリスタからなる抵抗素子Rp及び可変電圧源Vpの直列回路が接続されている。前記直列回路は、電流調整部に相当する。ここで、記憶部1からエラー検出用の抵抗素子Rpの接続点に流入する電流をIo,前記接続点からセンスアンプ2の入力端子に流出する電流をIsとする。センスアンプ2は、I/V変換増幅回路に相当する。
次に、上記構成について、記憶部1のエラー検出を行うための手順を説明する。前提として、記憶素子R1,R2,R3の各コンダクタンスは、それぞれの記憶値に応じた値に設定されているものとする。尚、記憶部1について通常の読取りを行う際には、図示しないコントローラにより、例えばV1=V2=V3=+Vread,Vp=0に設定し、エラー検出抵抗Rpに電流を流さないようにする。
そして、エラー検出を行う際には、コントローラにより例えばV1=V2=V3=+Vread,Vp=−Vreadに設定した場合に、エラー検出抵抗Rpの抵抗値を、出力電流Is=0となるように設定する。この状態で、センスアンプ2の出力電圧Vout≠0,つまりIs≠0が検出されれば、記憶素子R1,R2,R3の何れかに開放,短絡又は設定した抵抗値の変化が生じたことになる。
尚、測定精度を考慮して、出力電流Isが、例えば−Ith1<Is<Ith2の範囲外にある場合に異常を判定しても良い。閾値の設定は、例えばVpへの印加電圧や、センスアンプ2の基準電位,抵抗素子Rpの抵抗値の切替えにより行うことができる。
また、図2及び図3に示すように、記憶部1の記憶素子が3×3の記憶素子R11〜R33である場合に、抵抗素子Rp及び電圧源Vpを行方向及び列方向に配置すれば、何れの記憶素子に異常が発生したかを特定できる。例えば、図2においてIs2≠0,図3においてIs1≠0となれば、記憶素子R21に異常が発生したことになる。そして、コントローラが異常,エラーの発生を検出した際に、Is2=Is1=0となるように記憶素子R21の抵抗値を調整,再設定すれば、エラーを訂正することができる。
以上のように本実施形態によれば、メモリスタからなる記憶素子R1〜R3を格子状に結合してなる記憶部1を備える。コントローラは、記憶部1の選択した素子にデータとしての抵抗値を低減させる書き込み,前記抵抗値を増大させる消去及び読み出しを行うため電圧印加部を制御する。センスアンプ2は、記憶素子R1〜R3を介して流れる電流を電圧に変換して出力する。またコントローラは、各センスアンプ2に入力される電流の合計値をゼロにするように調整する。
各センスアンプ2に接続されている各記憶素子の書込み状態に応じて設定された抵抗値に応じて、各アンプ2に入力される電流の合計値が決まる。したがって、前記合計値をゼロにするように調整した後に、合計値がゼロにならない状態が検出されれば、記憶素子に設定した抵抗値が変化したことになる。これにより、記憶部1に発生した異常を検出できる。
また、電流調整部として、対応するアンプ2の入力部に配置される抵抗素子Rp及び電圧源Vpの直列回路を備えるので、前者の抵抗値及び/又は後者の電圧を調整することで電流の合計値をゼロにできる。そして、コントローラが異常の発生を検出した際に、Is2=Is1=0となるように記憶素子R21の抵抗値を再設定すればエラーを訂正できる。
(第2実施形態)
以下、第1実施形態と同一部分には同一符号を付して説明を省略し、異なる部分について説明する。図4に示すように、第2実施形態では、エラー検出抵抗Rp及び可変電圧源Vpの直列回路に替えて、可変電流源Ipが接続されている。可変電流源Ipは、電流調整部に相当する。この場合、エラー検出は、第1実施形態と同様にV1=V2=V3=+Vreadに設定した際に、電流源Ipの電流によって出力電流Is=0となるように設定する。通常の読出し動作を行う際には、Ip=0に設定する。第2実施形態についても、図5及び図6に示すように、電流源Ipを行方向及び列方向に配置すれば、何れの記憶素子に異常が発生したかを特定できる。
図7に示すように、記憶部1の各列に対応して、可変電圧源V1,V2,V3に相当するドライブ回路4(1),4(2),4(3)が配置されている。ドライブ回路4は、図8に示すように、スイッチ5〜8及びオペアンプ9を備えている。スイッチ5〜7の一端は共通に接続されて、記憶部1の各列に接続されている。オペアンプ9の非反転入力端子には、電圧源V1,V2,V3からの電圧が入力される。
スイッチ5の他端は電流源Ipに接続され、スイッチ6の他端は、コンパレータ11の非反転入力端子;Vcmpに接続されている。スイッチ7の他端は、オペアンプ9の反転入力端子に接続されている。スイッチ8は、オペアンプ9の帰還抵抗10に並列に接続されている。
記憶部1の各行に対応して、センス回路12(1),12(2),12(3)が配置されている。センス回路12はドライブ回路4と同様に、スイッチ14〜16及びセンスアンプ2を備えている。スイッチ13〜15の一端は共通に接続されて、センス回路12の入力端子となっている。スイッチ13の他端は電流源Ipに接続され、スイッチ14の他端は端子Vcmpに接続されている。スイッチ15の他端は、オペアンプ3の反転入力端子に接続されている。スイッチ16は、オペアンプ3の帰還抵抗Rfに並列に接続されている。
図7に示すように、可変電流源17を構成する電流源回路18は、NチャネルMOSFET19,メモリスタ20及びオペアンプ21を備えている。FET19のドレインは電流D/Aコンバータ22に接続されており、ソースはメモリスタ20を介してグランドに接続されている。オペアンプ21の非反転入力端子には参照電圧Vreadが与えられており、反転入力端子はFET19のソースに接続されている。オペアンプ21の出力端子はFET19のゲートに接続されている。FET19のドレインは、基準電流Irefをシンクする端子である。
コントローラ23は、電流源回路18による基準電流Irefを電流D/Aコンバータ22によりN(Nは実数)倍することで、電流Ip(=N・Iref)を生成するように制御する。コントローラ23により設定される各データは、不揮発性メモリ24に記憶されている。
図7に示す構成について、記憶部1に対し通常の読出しを行う際には、ドライブ回路4ではスイッチ5及び6をオフにし、スイッチ7及び8をオンにしてボルテージフォロワとして機能させる。この時、記憶部1の各列には、Vinに与えられる電圧が端子Ioを介して印加される。また、センス回路12ではスイッチ13,14及び16をオフにし、スイッチ15をオンにしてI/Vアンプとして機能させる。
一方、エラー検出を行う際には、センス回路12ではスイッチ13,14をオンして、スイッチ15及び16をオフにする。これにより、電流Is(=Io−Ip)がコンパレータ11に出力される。電流Is≠0であれば、当該電流はコンパレータ11の高い入力抵抗により電圧Vcmpに変換されるので、コントローラ23は、コンパレータ11の出力を介してエラーの発生を検出できる。
また、図8及び図9に示すように、ドライブ回路4とセンス回路12とは対称な構成であるから、センス回路12を行方向側のドライブ回路として機能させ、ドライブ回路4を列方向側のセンス回路として機能させて、同様に読出し及びエラー検出を行うことも可能である。
以上のように第2実施形態によれば、エラー検出抵抗Rp及び可変電圧源Vpの直列回路に替えて、可変電流源Ip,17を配置した。すなわち、第1実施形態のようにエラー検出抵抗Rpを用いた場合、ディスターブの影響を受けて抵抗値が変化するおそれがある。これに対して第2実施形態のように可変電流源Ipを用いれば、ディスターブの影響を排除できる。また、電流源回路18にメモリスタ20を備えて構成し、基準電流Irefの温度特性が入力電流Ioの温度特性に等しくなるようにしたので、温度による抵抗値への影響も排除できる。
尚、メモリスタ20の長期信頼性に懸念がある場合は、可変電流源を、別途PTAT(Proportional To Absolute Temperature)回路等と組み合わせて構成すれば良い。
(第3実施形態)
図10に示すように、第3実施形態では、第2実施形態と同様に電流源Ipを用いてエラー検出を行う。この際に、記憶部1の第1行及び第2行にそれぞれ可変電流源Ipp,Ipnを付与してエラー検出を並行して行い、減算器25により第1行,第2行の電流差を求める。すなわち、第1行の検出結果電流をIsp,第2行の検出結果電流をIsnとすると、減算器25の出力電流Isは、Is=Isp−Isnとなる。減算器25は差動演算部に相当する。
次に、第3実施形態の作用について説明する。エラー検出を行う際には、先ず減算器25の出力電流Isを参照し、Is=0か否かを判定する。Is=0であれば、第1行及び第2行に異常はないことになる。Is≠0であれば、次にIsp,Isnを参照し、それらが「0」でないか否かを判定して何れの行に異常があるかを特定する。その後、列側についても特定することで、異常があるセルを特定する。
以上のように第3実施形態によれば、減算器25により2つの可変電流源Ipp,Ipnを介して得られる検出電流Isp,Isnの差を求めることで、エラー検出を迅速に行うことができる。
(第4実施形態)
図11に示すように、第4実施形態では記憶部26が差動構成となっており、同一行の正側,負側それぞれについて第3実施形態と同様に電流源Ipp,Ipnを用いてエラー検出を行う。そして、正側,負側のセンスアンプ2p,2nの各出力端子は、それぞれ差動増幅回路27の負側,正側入力端子に接続されている。第4実施形態では、エラーとなったセルの抵抗値が最大値又は最小値を示しているため書換えが不能となった場合に、記憶部26が差動構成であることを利用して対応する。
図12に示すように、当初抵抗値の設定おけるIpp=100μA,Ipn=10μAがメモリに記憶されているとする。ケース1,2はエラーとなったセルR1pの抵抗値がそれぞれ最小,最大となった場合で、ケース3,4はエラーとなったセルR1nの抵抗値がそれぞれ最小,最大となった場合である。第4実施形態では、ケース1,4を修正対象とする。
図13に示すように、故障が検出されたセルがR1p又はR1nであり(S1)、それらの抵抗値が修正不能のケース1又は4であるとする(S2)。ケース1であれば、Ipp≧Ipnであり(S3p)、差動増幅回路27の正側入力側の抵抗値が最小値である(S4p(1))。メモリに記憶されているIpp,Ipnの値からそれらの差を演算し、符号を反転したものをΔIp(=−90μA)とする。そして、Ipp=Ipn=0に設定する(S5)。
次に、正側のIsp=0又はVoutn=0となるようにIppの値を変更する(S6p)。その結果、Ipp=1000μAになったとする。続いて、
Ipn=Ipp+ΔIp=1000μA−90μA=910μA
に設定する(S7p)。これにより、(Ipp−Ipn)の値が当初設定値に等しくなる。それから、負側のIsn=0若しくはVoutp=0又はVout=0となるように反転入力側のセルR1nの値を変更すると(S8p)、メモリに記憶されているIpp,Ipn,各セルの抵抗値のデータを更新する(S9)。
図13において、ステップS4n(1),S6n〜S8nはケース4に対応する処理である。また、ステップS3n→S4p(2),S4n(2)は、Ipp<Ipnで且つ抵抗値がケース2,3と同様の場合である。この場合には、ケース1,4と同様に対応が可能である。
以上のように第4実施形態によれば、記憶部26が差動構成である場合に、差動対を構成する2つのセンスアンプ2p,2nについて、それらの出力の差を演算する差動増幅回路27を備える。そして、前記差がゼロでなければ、前記差をゼロとするように、対応するセルの抵抗値を調整するようにした。したがって、記憶部26が差動構成であることを利用して発生したエラーを訂正できる。
(第5実施形態)
図14に示すように、第5実施形態は、第4実施形態における差動増幅回路27に、正側,負側入力端子を入れ替えるための4つのスイッチ28pn,28pp,28nn,28npを加えたものである。第5実施形態ではこの構成により、第4実施形態では修正できなかったケース2,3に対応する処理を行う。尚、図15は、電流値Ipp,Ipnに替えて、セルR1p,R1nのコンダクタンス値gm_R1p,gm_R1nと、それらの差Δgmとを示している。
図16に示すフローチャートでは、ステップS4がステップS10に置き換わっている。ステップS10は、対応する各ステップS4における抵抗値の最大,最小の関係が逆になっていることで、これらがケース2,3に対応する条件となっている。そして、ステップS5,S6の間にステップS11及びS12を実行する。ステップS11では、正側の抵抗値と負側の抵抗値を入れ替えるように書き換える。これにより、ケース2はケース4と同じ状態になり、セルR1p側で抵抗値を調整できる。また、ケース3はケース1と同じ状態になるので、セルR1n側で抵抗値を調整できる。
ステップS12では、スイッチ28pp及び28nnをオンすることで差動増幅回路27の正側入力端子と負側入力端子を入れ替える。すなわち、図13に示すケース2,3におけるコンダクタンス差Δgmは、正側,負側の入力端子を入れ替えないとすれば、ステップS8までの調整でそれぞれ−90μSとなる。そして、上記の入替えを行った結果としてΔgm=90μSとなる。
以上のように第5実施形態によれば、差動増幅回路27を、正側入力端子と負側入力端子とを入れ替え可能に構成し、正側入力端子に接続されているセルの抵抗値と、負側入力端子に接続されているセルの抵抗値とを入れ替えるように書き換える。そして、正側入力端子と負側入力端子とを入れ替えることで前記差の絶対値をゼロとするように調整する。これにより、第4実施形態では修正できなかったケース2,3のエラーについても訂正することが可能になる。
(第6実施形態)
第4又は第5実施形態ではエラーが検出されたセルの修正を行うことができるが、その一方で、消費電力が増大したり、信頼性の低下が問題となる場合がある。これらのデメリットを回避することを優先する際には、やはりエラーセルを含む列を無効化して、予備用に用意してあるセル列と交換することが望ましい。
図17に示す記憶部29は、正側のセルR1p〜R3p,負側のセルR1n〜R3nに対応する予備行として、セルR11p〜R13p,R11n〜R13nを備えている。また、これらの行方向の予備セルとして、R0p,R0n,R10p,R10nを備えている。
次に、第6実施形態の作用について説明する。図19に示すように、ステップS2の実行後に、ステップS21〜S25を実行する。故障セルはR1p又はR1nであり、第4又は第5実施形態のケース1〜4の全てに対応する。故障セルを含む差動対の電流Ipp=Ipn=0に設定する(S21)。それから、対になる差動抵抗を、故障セルがR1pであればセルR1nを、故障セルの抵抗値Rmin又はRmaxと同じ値に書き換える(S22)。その結果、各セルのコンダクタンス値は図18に示すようになる。
次に、対になる差動抵抗,例えばR1n以外の同じ列に接続されたセルR11p,R11nの抵抗値を最大値に書き換えて当該列毎無効化し(S23)、無効化した列に電流を流さないように基準電圧を印加する(S24)。そして、予備列R0p〜R10nに、セルR1p,R1nの当初抵抗値を書込む(S25)。その後は、ステップS6p,S8p,S9を実行する。
図7相当図である図20に示す構成では、予備セル列に対応してドライブ回路4(0)が配置されている。センス回路12は、差動対に対応するセンス回路12(1)p,12(1)nと、もう一組の差動対に対応するセンス回路12(10)p,12(10)nとが配置されている。電流D/Aコンバータ32は、基準電圧Irefに基づいて正側電流Ipp及び負側電流Ipnを生成する。
差動増幅回路27Aは、差動増幅回路27の出力端子とコンパレータ11の入力端子との間に、出力分離用のスイッチ33を設けた構成である。差動増幅回路27A(1)の入力端子はセンス回路12(1)p,12(1)nの出力端子にそれぞれ接続されており、差動増幅回路27A(0)の入力端子はセンス回路12(10)p,12(10)nの出力端子にそれぞれ接続されている。コントローラ31は異常対応部に相当する。
以上のように第6実施形態によれば、異常が検出された差動セルを代替するための予備セルR0p,R0n,R10p,R10nを備える。コントローラ31は、差動増幅回路27により検出されるセンスアンプ2p,2nの出力の差がゼロでなければ、対応する差動セルの抵抗値を互いに等しくするように調整する。そして、前記差動セルを除いて、センスアンプ2の同じ入力端子に接続されている差動セルの抵抗値を最大値にして、異常が検出された差動セルを対応する予備セルに入れ替える。これにより、消費電力が増大することを回避できる。また、記憶部29の信頼性を低下させることなく維持できる。
また、上記のような予備セルへの入換えは、第4又は第5実施形態のようにエラーが検出されたセルについて修正を行った結果、記憶部29の抵抗値を調整しても修正が不能となった場合に行うようにしても良い。
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
図面中、1は記憶部、2はセンスアンプ、R1,R2,R3は記憶素子、Rpは抵抗素子、Vpは可変電圧源を示す。

Claims (12)

  1. 可変抵抗素子であるメモリスタを記憶素子(R1,R2,R3)として、前記記憶素子を格子状に結合してなる記憶部(1,26,29)と、
    この記憶部にバイアス電圧を印加する電圧印加部(4)と、
    前記記憶部にデータとしての抵抗値を低減させる書き込み,前記抵抗値を増大させる消去及び読み出しを行うため、前記電圧印加部を制御する制御部(23,31)と、
    前記記憶素子を介して流れる電流を電圧に変換して出力する複数のI/V変換増幅回路(2)と、
    これらのI/V変換増幅回路のそれぞれに対応して配置され、各I/V変換増幅回路に入力される電流の合計値をゼロにする調整を可能とする電流調整部(Rp,Vp,Ip,,17,23)とを備えるニューラルネットワーク回路。
  2. 前記電流調整部は、対応するI/V変換増幅回路の入力部に配置される電流源(Ip)を備える請求項1記載のニューラルネットワーク回路。
  3. 前記電流源の内部に流れる基準電流の温度特性を、前記I/V変換増幅回路の入力電流の温度特性に等しく設定する請求項2記載のニューラルネットワーク回路。
  4. 前記電流調整部は、対応するI/V変換増幅回路の入力部に配置される抵抗素子(Rp)及び電圧源(Vp)の直列回路を備える請求項1記載のニューラルネットワーク回路。
  5. 前記電流調整部による調整が行われた後に、前記電流の合計値がゼロでなくなったことを検出すると、対応する記憶素子の抵抗値を再設定する抵抗値調整部(23,31)を備える請求項1から4の何れか一項に記載のニューラルネットワーク回路。
  6. 任意の2つの電流調整部について、それらの出力の差を演算する差動演算部(25)を備える請求項1から5の何れか一項に記載のニューラルネットワーク回路。
  7. 前記記憶部(26,29)が差動構成であり、
    各差動対を構成する2つのI/V変換増幅回路(2p,2n)について、それらの出力の差を演算する差動演算部(27)を備える請求項1から6の何れか一項に記載のニューラルネットワーク回路。
  8. 前記差がゼロでなければ、前記差をゼロとするように、対応する記憶素子の抵抗値を調整する抵抗値調整部(23,31)を備える請求項7記載のニューラルネットワーク回路。
  9. 前記抵抗値調整部による調整が不能であれば、前記差の絶対値をゼロとするように調整する絶対値調整部(23,31)を備える請求項8記載のニューラルネットワーク回路。
  10. 前記差動演算部(27)は、正側入力端子と負側入力端子とを入れ替え可能に構成され、
    前記絶対値調整部は、前記正側入力端子に接続されている記憶素子の抵抗値と、前記負側入力端子に接続されている記憶素子の抵抗値とを入れ替えるように書き換え、
    前記正側入力端子と前記負側入力端子とを入れ替えることで前記差の絶対値をゼロとするように調整する請求項9記載のニューラルネットワーク回路。
  11. 異常が検出された差動記憶素子を代替するための予備記憶素子(R11p〜R13p,R11n〜R13n,R0p,R0n,R10p,R10n)を備え、
    前記出力の差がゼロでなければ、対応する差動記憶素子の抵抗値を互いに等しくするように調整し、
    前記差動記憶素子を除いて、同じ入力端子に接続されている差動記憶素子の抵抗値を最大値にして、異常が検出された差動記憶素子を対応する予備記憶素子に入れ替える異常対応部(31)を備える請求項7記載のニューラルネットワーク回路。
  12. 前記出力の差がゼロでなければ、前記差をゼロとするように、対応する記憶素子の抵抗値を調整する抵抗値調整部(31)を備え、
    前記異常対応部は、前記抵抗値調整部による調整が不能であれば、前記異常が検出された差動記憶素子を対応する予備記憶素子に入れ替える請求項11記載のニューラルネットワーク回路。
JP2017040406A 2017-03-03 2017-03-03 ニューラルネットワーク回路 Active JP6708146B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017040406A JP6708146B2 (ja) 2017-03-03 2017-03-03 ニューラルネットワーク回路
PCT/JP2017/045323 WO2018159073A1 (ja) 2017-03-03 2017-12-18 ニューラルネットワーク回路
US16/550,664 US11182669B2 (en) 2017-03-03 2019-08-26 Neural network circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017040406A JP6708146B2 (ja) 2017-03-03 2017-03-03 ニューラルネットワーク回路

Publications (2)

Publication Number Publication Date
JP2018147159A true JP2018147159A (ja) 2018-09-20
JP6708146B2 JP6708146B2 (ja) 2020-06-10

Family

ID=63370709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017040406A Active JP6708146B2 (ja) 2017-03-03 2017-03-03 ニューラルネットワーク回路

Country Status (3)

Country Link
US (1) US11182669B2 (ja)
JP (1) JP6708146B2 (ja)
WO (1) WO2018159073A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020053532A (ja) * 2018-09-26 2020-04-02 Tdk株式会社 メモリスタ回路、メモリスタ制御システム、アナログ積和演算器、及びニューロモーフィックデバイス
JP2020057278A (ja) * 2018-10-03 2020-04-09 株式会社デンソー 人工ニューラルネットワーク回路
CN111460365A (zh) * 2020-03-10 2020-07-28 华中科技大学 一种基于忆阻线性神经网络的方程组求解器及其操作方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6794891B2 (ja) * 2017-03-22 2020-12-02 株式会社デンソー ニューラルネットワーク回路
CN108022612A (zh) * 2017-12-13 2018-05-11 晶晨半导体(上海)股份有限公司 一种数据边沿的跳变方法
US12001811B2 (en) * 2018-10-11 2024-06-04 Tdk Corporation Product-sum operation device, logical calculation device, neuromorphic device, and multiply-accumulate method
CN113077046B (zh) * 2021-03-30 2022-12-30 西南大学 一种基于遗忘忆阻桥的并行多算子卷积运算器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008311381A (ja) * 2007-06-14 2008-12-25 Sony Corp 抵抗素子、ニューロン素子、及びニューラルネットワーク情報処理装置
JP2015195011A (ja) * 2014-03-18 2015-11-05 パナソニックIpマネジメント株式会社 ニューラルネットワーク回路およびその学習方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8720387D0 (en) * 1987-08-28 1987-10-07 British Telecomm Matching vectors
JPH0634248B2 (ja) * 1989-12-16 1994-05-02 三菱電機株式会社 半導体神経回路網
US5412256A (en) * 1994-01-06 1995-05-02 Bell Communications Research, Inc. Neuron for use in self-learning neural network
US6507828B1 (en) * 1998-06-19 2003-01-14 Jason Leonard Neuron circuit and related techniques
US20040083193A1 (en) * 2002-10-29 2004-04-29 Bingxue Shi Expandable on-chip back propagation learning neural network with 4-neuron 16-synapse
US8566265B1 (en) * 2011-03-10 2013-10-22 Hrl Laboratories, Llc Combined spike domain and pulse domain signal processing
US10776259B2 (en) 2013-10-31 2020-09-15 Infineon Technologies Ag Method, apparatus and device for data processing
CN104124960B (zh) * 2014-06-20 2018-02-23 华中科技大学 一种非易失性布尔逻辑运算电路及其操作方法
US10157668B2 (en) * 2015-05-29 2018-12-18 Hewlett Packard Enterprise Development Lp Memristance feedback tuning
US11308383B2 (en) * 2016-05-17 2022-04-19 Silicon Storage Technology, Inc. Deep learning neural network classifier using non-volatile memory array
CN109146073B (zh) * 2017-06-16 2022-05-24 华为技术有限公司 一种神经网络训练方法和装置
CN109460817B (zh) * 2018-09-11 2021-08-03 华中科技大学 一种基于非易失存储器的卷积神经网络片上学习系统
US11270771B2 (en) * 2019-01-29 2022-03-08 Silicon Storage Technology, Inc. Neural network classifier using array of stacked gate non-volatile memory cells
US11600321B2 (en) * 2020-03-05 2023-03-07 Silicon Storage Technology, Inc. Analog neural memory array storing synapsis weights in differential cell pairs in artificial neural network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008311381A (ja) * 2007-06-14 2008-12-25 Sony Corp 抵抗素子、ニューロン素子、及びニューラルネットワーク情報処理装置
JP2015195011A (ja) * 2014-03-18 2015-11-05 パナソニックIpマネジメント株式会社 ニューラルネットワーク回路およびその学習方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020053532A (ja) * 2018-09-26 2020-04-02 Tdk株式会社 メモリスタ回路、メモリスタ制御システム、アナログ積和演算器、及びニューロモーフィックデバイス
JP7127454B2 (ja) 2018-09-26 2022-08-30 Tdk株式会社 メモリスタ回路、メモリスタ制御システム、アナログ積和演算器、及びニューロモーフィックデバイス
JP2020057278A (ja) * 2018-10-03 2020-04-09 株式会社デンソー 人工ニューラルネットワーク回路
JP7259253B2 (ja) 2018-10-03 2023-04-18 株式会社デンソー 人工ニューラルネットワーク回路
CN111460365A (zh) * 2020-03-10 2020-07-28 华中科技大学 一种基于忆阻线性神经网络的方程组求解器及其操作方法
CN111460365B (zh) * 2020-03-10 2021-12-03 华中科技大学 一种基于忆阻线性神经网络的方程组求解器及其操作方法

Also Published As

Publication number Publication date
US20190378003A1 (en) 2019-12-12
US11182669B2 (en) 2021-11-23
JP6708146B2 (ja) 2020-06-10
WO2018159073A1 (ja) 2018-09-07

Similar Documents

Publication Publication Date Title
JP6708146B2 (ja) ニューラルネットワーク回路
US11296717B2 (en) System and methods for mixed-signal computing
JP6756287B2 (ja) ニューラルネットワーク回路
TWI454062B (zh) 自我校正的電流源及使用該電流源的數位類比轉換器及其操作方法
JP4770894B2 (ja) 電圧検出装置
US11443172B2 (en) Synapse array of neuromorphic device including synapses having ferro-electric field effect transistors and operation method of the same
JPWO2004095464A1 (ja) データの読み出し方法が改善された磁気ランダムアクセスメモリ
TWI782302B (zh) 半導體記憶裝置
US20220223202A1 (en) Memory device and data weight state determining method for in-memory computation
JP6405612B2 (ja) 強誘電体メモリ装置及びメモリ書き込み方法
US8213213B2 (en) Reference current generator for resistance type memory and method thereof
WO2014045512A1 (ja) 不揮発性記憶装置およびその制御方法
TW201435894A (zh) 非揮發性半導體記憶裝置及其測試方法
WO2021120136A1 (zh) 存储计算阵列及模组、数据计算方法
KR102028476B1 (ko) 비 휘발성 메모리
US11907044B2 (en) Memory devices and methods for operating the same
CN115796252A (zh) 权重写入方法及装置、电子设备和存储介质
TWI696353B (zh) 數位類比轉換器、不良位元數檢測器及非揮發性半導體存儲裝置
TWI775310B (zh) 記憶體裝置及其控制方法
TW202341134A (zh) 用於人工神經網路中之儲存位元之系統及方法
CN116720555A (zh) 用于人工神经网络中的存储位的系统和方法
TW202324413A (zh) 半導體記憶裝置及其寫入方法
CN117337468A (zh) 一种校准基于交叉开关的装置的方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190522

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: 20200421

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200504

R151 Written notification of patent or utility model registration

Ref document number: 6708146

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250