IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ウィンボンド エレクトロニクス コーポレーションの特許一覧

<>
  • 特開-半導体記憶装置 図1
  • 特開-半導体記憶装置 図2
  • 特開-半導体記憶装置 図3
  • 特開-半導体記憶装置 図4
  • 特開-半導体記憶装置 図5
  • 特開-半導体記憶装置 図6
  • 特開-半導体記憶装置 図7
  • 特開-半導体記憶装置 図8
  • 特開-半導体記憶装置 図9
  • 特開-半導体記憶装置 図10
  • 特開-半導体記憶装置 図11
  • 特開-半導体記憶装置 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023060964
(43)【公開日】2023-05-01
(54)【発明の名称】半導体記憶装置
(51)【国際特許分類】
   G06F 12/00 20060101AFI20230424BHJP
   G11C 11/54 20060101ALI20230424BHJP
   G11C 13/00 20060101ALI20230424BHJP
   G06N 3/063 20230101ALI20230424BHJP
   G06G 7/60 20060101ALI20230424BHJP
   G11C 11/00 20060101ALI20230424BHJP
   G11C 16/04 20060101ALI20230424BHJP
【FI】
G06F12/00 560F
G11C11/54
G11C13/00 270G
G06N3/063
G06G7/60
G11C11/00 100
G11C16/04 180
G11C13/00 400B
G11C13/00 480J
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2021170668
(22)【出願日】2021-10-19
(11)【特許番号】
(45)【特許公報発行日】2023-01-19
(71)【出願人】
【識別番号】511062254
【氏名又は名称】ウィンボンド エレクトロニクス コーポレーション
(74)【代理人】
【識別番号】100098497
【弁理士】
【氏名又は名称】片寄 恭三
(72)【発明者】
【氏名】矢野 勝
【テーマコード(参考)】
5B160
5B225
【Fターム(参考)】
5B160MM20
5B225BA01
5B225BA17
5B225ED04
5B225ED10
(57)【要約】
【課題】 学習処理の能力や効率を向上させることができる半導体記憶装置を提供する。
【解決手段】 本発明に係る半導体記憶装置100は、NOR型のメモリセルアレイが形成されたメモリセルアレイ110と、複数の行、複数の列、各行と各列との交差部に可変抵抗素子が形成されたクロスバーアレイ200と、メモリセルアレイ110とクロスバーアレイ200との間に配置され、選択信号SELに基づきメモリセルアレイの選択されたビット線をクロスバーアレイ200に接続するエントリーゲート170と、列選択/信号処理部210とを含む。列選択/信号処理部210は、メモリセルアレイ110から読み出されたデータをクロスバーアレイの選択された列に書込み列書込み部320と、クロスバーアレイ200の選択された列のデータを読み出す列読出し部330と、少なくとも列読出し部330で読み出されたデータをメモリセルアレイ110に書込むNOR書込み部350とを含む。
【選択図】 図3
【特許請求の範囲】
【請求項1】
行列状に不揮発性のメモリセルが複数形成されたメモリセルアレイと、
複数の行、複数の列、各行と各列との交差部に可変抵抗素子が形成されたクロスバーアレイと、
前記メモリセルアレイと前記クロスバーアレイとの間に配置され、選択信号に基づき前記メモリセルアレイの選択されたビット線を前記クロスバーアレイに接続する接続手段と、
少なくとも前記メモリセルアレイから読み出されたデータを前記クロスバーアレイの選択された列に書込む列書込み手段と、
前記クロスバーアレイの選択された列のデータを読み出す列読出し手段と、
少なくとも前記列読出し手段で読み出されたデータを前記メモリセルアレイに書込む書込み手段と、
を含む半導体記憶装置。
【請求項2】
半導体記憶装置はさらに、前記クロスバーアレイの選択された行のデータを読み出す行読出し手段と、
少なくとも前記行読出し手段で読み出されたデータを前記クロスバーアレイの選択された行に書込む行書込み手段とを含む、請求項1に記載の半導体記憶装置。
【請求項3】
半導体記憶装置はさらに、前記列読出し手段で読み出されたデータまたは前記行読出し手段で読み出されたデータを、前記列書込み手段または前記書込み手段に提供する列側選択手段を含む、請求項1または2に記載の半導体記憶装置。
【請求項4】
半導体記憶装置はさらに、前記行読出し手段で読み出されたデータを行書込み手段または前記列側選択手段に提供する行側選択手段を含む、請求項3に記載の半導体記憶装置。
【請求項5】
半導体記憶装置はさらに、アドレス情報に基づき前記クロスバーアレイの列を選択する列選択手段と、アドレス情報に基づき前記クロスバーアレイの行を選択する行選択手段とを含み、
前記列書込み手段は、前記列選択手段によって選択された列に書込みを行い、前記列読出し手段は、前記列選択手段によって選択された列の読出しを行い、
前記行書込み手段は、前記行選択手段によって選択された行に書込みを行い、前記行読出し手段は、前記行選択手段によって選択された行の読出しを行う、請求項1ないし4いずれか1つに記載の半導体記憶装置。
【請求項6】
前記列書込み手段は、読出しデータに基づき選択された列に書込みパルスを印加する、請求項1に記載の半導体記憶装置。
【請求項7】
前記行行書込み手段は、読出しデータに基づき選択された行に書込みパルスを印加する、請求項2に記載の半導体記憶装置。
【請求項8】
前記列選択手段は、複数の列を選択し、前記列書込み手段は、選択された複数の列に同時に書込みを行う、請求項5に記載の半導体記憶装置。
【請求項9】
前記行選択手段は、複数の行を選択し、前記行書込み手段は、選択された複数の行に同時に書込みを行う、請求項5に記載の半導体記憶装置。
【請求項10】
前記書込み手段は、前記クロスバーアレイから読み出されたアナログデータをmビットのデジタルデータに変換するAD変換手段を含み、
前記書込み手段は、前記メモリセルアレイの選択されたm個のメモリセルにmビットのデータを書込む、請求項1に記載の半導体記憶装置。
【請求項11】
前記列書込み手段は、前記メモリセルアレイから読み出されたmビットのデジタルデータをアナログデータに変換するDA変換手段を含み、
前記列書込み手段は、前記クロスバーアレイの選択された列に前記アナログデータを書込む、請求項1に記載の半導体記憶装置。
【請求項12】
前記列書込み手段、前記列読出し手段、前記書込み手段、前記列側選択手段および列選択手段は、前記クロスバーアレイの列側に配置され、
前記行書込み手段、前記行読出し手段、前記行側選択手段および行選択手段は、前記クロスバーアレイの行側に配置され、
前記クロスバーアレイが前記メモリセルアレイ上に、または前記メモリセルアレイが前記クロスバーアレイ上に積層される、請求項1ないし11いずれか1つに記載の半導体記憶装置。
【請求項13】
前記メモリセルアレイは、NOR型またはNAND型のメモリセルアレイである、請求項1ないし11いずれか1つに記載の半導体記憶装置。
【請求項14】
前記メモリセルアレイは、AI学習用データを記憶し、前記クロスバーアレイは、前記メモリセルアレイから読み出されたAI学習用データを行列演算し、行列演算したデータを前記メモリセルアレイに書込む、請求項1ないし11いずれか1つに記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クロスバーアレイとNOR型またはNAND型のメモリセルアレイとを含む半導体記憶装置に関し、特にニューロモルフィックデバイスとして利用可能な半導体記憶装置に関する。
【背景技術】
【0002】
シナプスおよびニューロンを構造的にシミュレートするAI(人工知能)ハードウエアとして可変抵抗素子を用いたクロスバーアレイが実用化されつつある(例えば、特許文献1)。図1に、クロスバーアレイの一例を示す。クロスバーアレイは、複数の行ライン1と、複数の列ライン2と、行ライン1と列ライン2との交差部に接続された可変抵抗素子3とを含んで構成される。可変抵抗素子3は、電圧または電流を加えることで異なる抵抗値(コンダクタンス)を記憶する不揮発性の記憶素子である。可変抵抗素子に所望の抵抗値を書込むことで、例えば、行ライン1に印加された入力信号が可変抵抗素子3の抵抗値によって重み付けされ、列ライン2から出力される。
【0003】
シナプスとは、神経情報を出力する側と入力される側の間に発達した情報伝達のための接触構造であり、シナプス前細胞の軸索末端がシナプス後細胞の樹状突起に接触する。シナプス前細胞とシナプス後細胞がともに高頻度で連続発火するとシナプスの伝達効率が増加するが、シナプス前細胞とシナプス後細胞の発火時間差のみによっても結合強度に変化が見られ、これをスパイクタイミング依存シナプス可塑性(STDP; Spike Timing Dependent Plasticity)という。クロスバーアレイにニューラルネットワークを適用する場合、可変抵抗素子にSTDPの電気信号を書込むようにしてもよい。例えば、ある行ラインにスパイク信号Spreを印加し、ある列ラインにスパイク信号Spostを印加し、可変抵抗素子に、シナプス前細胞とシナプス後細胞で生成されるスパイク信号Spre/Spostの差分が書込まれ、可変抵抗素子のコンダクタンス(シナプスの結合強度)が変調される(特許文献2)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第6818116号公報
【特許文献2】特許第6899024号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
クロスバーアレイを用いてニューラルネットワークを実現した場合、クロスバーアレイの可変抵抗素子の抵抗は、学習によって変調される。図2は、従来の学習機能を備えたシナプスアレイ装置の構成を示すブロック図である。シナプスアレイ装置10は、学習用データを格納するフラッシュメモリ20と、クロスバーアレイ30と、コントローラ40とを含んで構成される。コントローラ40は、フラッシュメモリ20から学習用データを読出し、読み出した学習用データをクロスバーアレイ30に書き込むことで可変抵抗素子に保持されたデータの学習を行う。また、コントローラ40は、クロスバーアレイ30から学習されたデータを読出し、当該学習されたデータをフラッシュメモリ20に書き込む。
【0006】
従来のシナプスアレイ装置10では、クロスバーアレイ30に書き込むデータをフラッシュメモリ20から読出し、あるいはクロスバーアレイ30から読み出した学習されたデータをフラッシュメモリ20に書き込むため、データ転送効率が低く、結果としてAIの学習処理に時間がかかってしまうという課題がある。
【0007】
本発明は、このような従来の課題を解決し、学習処理の能力や効率を向上させることができる半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る半導体記憶装置は、行列状に不揮発性のメモリセルが複数形成されたメモリセルアレイと、複数の行、複数の列、各行と各列との交差部に可変抵抗素子が形成されたクロスバーアレイと、前記メモリセルアレイと前記クロスバーアレイとの間に配置され、選択信号に基づき前記メモリセルアレイの選択されたビット線を前記クロスバーアレイに接続する接続手段と、少なくとも前記メモリセルアレイから読み出されたデータを前記クロスバーアレイの選択された列に書込む列書込み手段と、前記クロスバーアレイの選択された列のデータを読み出す列読出し手段と、少なくとも前記列読出し手段で読み出されたデータを前記メモリセルアレイに書込む書込み手段とを含む。
【0009】
ある態様では、半導体記憶装置はさらに、前記クロスバーアレイの選択された行のデータを読み出す行読出し手段と、少なくとも前記行読出し手段で読み出されたデータを前記クロスバーアレイの選択された行に書込む行書込み手段とを含む。ある態様では、半導体記憶装置はさらに、前記列読出し手段で読み出されたデータまたは前記行読出し手段で読み出されたデータを、前記列書込み手段または前記書込み手段に提供する列側選択手段を含む。ある態様では、半導体記憶装置はさらに、前記行読出し手段で読み出されたデータを行書込み手段または前記列側選択手段に提供する行側選択手段を含む。ある態様では、半導体記憶装置はさらに、アドレス情報に基づき前記クロスバーアレイの列を選択する列選択手段と、アドレス情報に基づき前記クロスバーアレイの行を選択する行選択手段とを含み、前記列書込み手段は、前記列選択手段によって選択された列に書込みを行い、前記列読出し手段は、前記列選択手段によって選択された列の読出しを行い、前記行書込み手段は、前記行選択手段によって選択された行に書込みを行い、前記行読出し手段は、前記行選択手段によって選択された行の読出しを行う。ある態様では、前記列書込み手段は、読出しデータに基づき選択された列に書込みパルスを印加する。ある態様では、前記行行書込み手段は、読出しデータに基づき選択された行に書込みパルスを印加する。ある態様では、前記列選択手段は、複数の列を選択し、前記列書込み手段は、選択された複数の列に同時に書込みを行う。ある態様では、前記行選択手段は、複数の行を選択し、前記行書込み手段は、選択された複数の行に同時に書込みを行う。ある態様では、前記書込み手段は、前記クロスバーアレイから読み出されたアナログデータをmビットのデジタルデータに変換するAD変換手段を含み、前記書込み手段は、前記メモリセルアレイの選択されたm個のメモリセルにmビットのデータを書込む。ある態様では、前記列書込み手段は、前記メモリセルアレイから読み出されたmビットのデジタルデータをアナログデータに変換するDA変換手段を含み、前記列書込み手段は、前記クロスバーアレイの選択された列に前記アナログデータを書込む。ある態様では、前記列書込み手段、前記列読出し手段、前記書込み手段、前記列側選択手段および列選択手段は、前記クロスバーアレイの列側に配置され、前記行書込み手段、前記行読出し手段、前記行側選択手段および行選択手段は、前記クロスバーアレイの行側に配置され、前記クロスバーアレイが前記メモリセルアレイ上に、または前記メモリセルアレイが前記クロスバーアレイ上に積層される。ある態様では、前記メモリセルアレイは、NOR型またはNAND型のメモリセルアレイである。ある態様では、前記メモリセルアレイは、AI学習用データを記憶し、前記クロスバーアレイは、前記メモリセルアレイから読み出されたAI学習用データを行列演算し、行列演算したデータを前記メモリセルアレイに書込む。
【発明の効果】
【0010】
本発明によれば、半導体記憶装置にメモリセルアレイとクロスバーアレイとを包含させることで、学習処理の能力や効率を向上させることができる。これにより、ニューロモルフィックデバイスに適した半導体記憶装置を提供することができる。
【図面の簡単な説明】
【0011】
図1】一般的なクロスバーアレイの構成例を示す図である。
図2】従来のシナプスアレイ装置の構成を示すブロック図である。
図3】本発明の実施例に係る半導体記憶装置の構成を示すブロック図
図4】本発明の実施例に係る半導体記憶装置のメモリセルアレイとクロスバーアレイとの電気的な接続関係を示す図である。
図5】本実施例の列選択/信号処理部の構成を示す図である。
図6】本実施例の行選択/信号処理部の構成を示す図である。
図7】本発明の実施例によるクロスバーアレイへの書込み例を示す図である。
図8】本発明の実施例によるクロスバーアレイへの書込み例を示す図である。
図9】本発明の実施例によるNORメモリセルアレイへの書込み例を示す図である。
図10】ニューラルネットワークを利用したオートエンコーダの一例を示す図である。
図11】本発明の第2の実施例に係る列書込み部の構成を示すブロック図である。
図12】本発明の第2の実施例に係る列書込み部の書込み例を示す図である。
【発明を実施するための形態】
【0012】
本発明に係る半導体記憶装置は、NOR型またはNAND型のフラッシュメモリと可変抵抗素子を含むクロスバーアレイとを組み合わせた不揮発性メモリに関する。ある態様では、半導体記憶装置は、フラッシュメモリチップとクロスバーアレイチップとの積層を含む。また、別な態様では、半導体記憶装置は、同一チップ上にフラッシュメモリとクロスバーアレイとを集積させる。
【0013】
本発明に係る半導体記憶装置は、学習機能を備えたAIメモリまたはニューロモルフィックデバイスとして機能することができる。フラッシュメモリチップは、学習用データを格納し、フラッシュメモリチップから読み出された学習用データがクロスバーアレイチップに書込まれる。クロスバーアレイチップは、行列演算等によって学習用データを可変抵抗素子に書込むことによって可変抵抗素子の抵抗を変調させ、つまり抵抗の学習を行う。また、クロスバーアレイチップで学習されたデータは、フラッシュメモリチップに書き戻され、フラッシュメモリチップに書き戻された学習データがAIコントローラによって使用される。
【実施例0014】
次に、本発明の実施例について図面を参照して詳細に説明する。図3は、本発明の実施例に係る半導体記憶装置100の構成を示すブロック図である。同図に示すように、半導体記憶装置100は、例えば、NOR型のメモリセルアレイ110、入出力回路150で受け取られたアドレスを保持するアドレスバッファ120、行アドレスに基づきメモリセルアレイ110のワード線を選択するXデコーダ130、列アドレスに基づきメモリセルアレイ110のビット線/ソース線を選択するYデコーダ140、外部からコマンド、データ、アドレスを受け取ったり、データを外部に出力する入出力回路150、デバイス全体の動作を制御する制御部160、メモリセルアレイ110の端部に配置されたエントリーゲート170、可変抵抗素子を用いたクロスバーアレイ200、列選択/信号処理部210、行選択/信号処理部220、バス230を含んで構成される。
【0015】
メモリセルアレイ110、アドレスバッファ120、Xデコーダ130、Yデコーダ140、入出力回路150、制御部160およびエントリーゲート170は、NOR型のフラッシュメモリチップを構成し、クロスバーアレイ200、列選択/信号処理部210および行選択/信号処理部220は、クロスバーアレイチップを構成する。本実施例では、フラッシュメモリチップ上にクロスバーアレイチップが積層される。このとき、メモリセルアレイ110上にクロスバーアレイ200が配置され、Xデコーダ130上に行選択/信号処理部220が配置され、Yデコーダ140およびエントリーゲート170上に列選択/信号処理部210が配置され、両チップ間の信号の送受は、バス230によって行われる。メモリセルアレイ110およびクロスバーアレイ200の記憶容量は特に限定されないが、例えば、メモリセルアレイ110は16MBであり、クロスバーアレイ200は1MBである。
【0016】
図4は、メモリセルアレイとクロスバーアレイとの電気的な接続関係を示す図である。メモリセルアレイ110内には、複数のメモリセルが行列状に形成される。列方向に隣接するメモリセルのドレイン領域が共通に接続され、このドレイン領域がビット線BL0、BL1、・・・、BLr、BLsに共通に接続される。また、行方向のメモリセルの各ゲートは、行方向のワード線WL0、WL1、・・・、WLnに共通に接続され、行方向のメモリセルの各ソース領域が行方向のソース線SL0、SL1、・・・、SLkに共通に接続される。
【0017】
メモリセルは、電荷を蓄積する電荷蓄積層(例えば、酸化膜-窒化膜-酸化膜(ONO))を含み、その上にポリシリコンまたは金属等の導電性のゲートを含み、ゲートはワード線に接続される。例えば、メモリセルMaの読出しが行われるとき、選択ワード線WL1に或る正の電圧が印加され、選択ビット線BL0と選択ソース線SL1との間に流れる電流または電圧が制御部160においてセンスされる。メモリセルMaへの書込み(プログラム)が行われるとき、選択ワード線WL1に或る電圧が印加され、選択ビット線BL0に書込みデータに応じた電圧が印加され、選択ビット線BL0から選択ソース線SL1に流れるホットエレクトロンが電荷蓄積層に蓄積される。但し、書込み方法は、これ以外であってもよく、FNトンネリングにより電荷を電荷蓄積層にトラップさせてもよい。メモリセルMaの消去は、選択ワード線WL1に或る電圧が印加され、例えば、ホットホールを電荷蓄積層に注入したり、電荷蓄積層に蓄積された電荷をFNトンネリングにより排出させる。なお、消去は、メモリセル単位ではなくセクタ単位で行うことも可能である。
【0018】
メモリセルアレイ110の各ビット線はエントリーゲート170に接続される。エントリーゲート170は、メモリセルアレイ110とクロスバーアレイチップの列選択/信号処理部210との境界に配置され、クロスバーアレイ200へのアクセスが行われるとき、メモリセルアレイ110の選択されたビット線BLをグローバルビット線GBLを介して列選択/信号処理部210に接続する。ここでは、エントリーゲート170は、メモリセルアレイ110の4本のビット線を1組とし、4本のビット線BLの中の1つのビット線を選択的に1つのグローバルビット線GBLに接続する。例えば、ビット線BL0、BL1、BL2、BL3は、選択トランジスタQ0、Q1、Q2、Q3を介してグ1つのグローバルビット線GBL0に接続され、選択トランジスタQ0、Q1、Q2、Q3は、制御部160からの選択信号SELまたは列アドレスから生成された選択信号SELによって選択的にオンされる。
【0019】
アドレスバッファ120は、外部から入力されたアドレスを受け取り、受け取った行アドレスおよび列アドレスをXデコーダ130およびYデコーダ140に提供する。Xデコーダ130は、行アドレスに基づきワード線を選択し、選択したワード線に動作に応じた電圧(例えば、読出し、書込み、消去など)を印加する。Yデコーダ140は、列アドレスに基づきビット線およびソース線を選択し、選択されたビット線およびソース線に動作に応じた電圧(例えば、読出し、書込み、消去など)を印加する。
【0020】
入出力回路150は、外部からコマンド、アドレス、データ等を受け取り、あるいはメモリセルアレイ110から読み出したデータを外部に出力する。入出力回路150で受け取られたコマンドやデータは、制御部160に提供される。
【0021】
制御部160は、入力されたコマンドに基づきメモリセルアレイ110の読出し、書込み、消去を制御する。さらに制御部160は、クロスバーアレイ200に学習処理を実行させるための学習コマンドに対応し、学習コマンドが入力された場合には、学習コマンドに基づきメモリセルアレイ110から読み出されたデータをクロスバーアレイ200に書き込んだり、あるいはクロスバーアレイ200で学習されたデータをメモリセルアレイ110へ書込む(プログラム)する動作を制御する。
【0022】
制御部160は、メモリセルアレイ110の選択メモリセルから読み出されたデータをセンスするためのセンスアンプSA、選択メモリセルへの書込みを行うための書込みアンプWA、種々の動作を制御するためのマイクロコントローラなどを含む。マイクロコントローラは、プログラムを格納したROM/RAMと、当該プログラムを実行するマイクロプロセッサを含み、プログラムを実行することで半導体記憶装置100の動作を制御する。
【0023】
次に、クロスバーアレイチップについて説明する。クロスバーアレイ200は、複数の行R0、R1、・・・、Rnと複数の列C0、C1、・・・、Cnとの各交差部に可変抵抗素子VRを接続し、可変抵抗素子VRは、選択された行または列に印加された電圧または電流に基づきアナログレベルの抵抗値を記憶する。可変抵抗素子は、例えば、酸化ハフニウム(HfOx)等の遷移金属酸化物から構成され、ある方向から書込みパルスが印加されると低抵抗状態に向かい、反対の方向から書込みパルスが印加されると高抵抗状態に向かう。例えば、列C0から行R0に書込みパルスを印加すると、その交差部の可変抵抗素子R0の抵抗が書込みパルス分だけ高くなる。もし、複数回の書込みパルスが印加されれば、その印加回数に応じた分だけ抵抗が高くなる。反対に、行R0から列C0に書込みパルスを印加すると、その交差部の可変抵抗素子R0の抵抗が書込みパルス分だけ低くなる。このように可変抵抗素子は、印加される書込みパルスの極性に応じて抵抗を増減させ、かつ印加されるエネルギーに応じて抵抗の大きさを変化させる。また、別な態様では、書込みパルスの印加回数に変えて、可変抵抗素子に印加する書込みパルスの波高値を変えることで、可変抵抗素子の抵抗を変化させるようにしてもよい。
【0024】
列選択/信号処理部210は、クロスバーアレイ200の列を選択し、メモリセルアレイ110の選択メモリセルから読み出した読出しデータに基づき選択された列に書込みパルスを印加したり、あるいは選択された列から読み出された学習データをメモリセルアレイ110の選択メモリセルに書き込む機能を備える。
【0025】
図5は、列選択/信号処理部210の内部構成を示す図である。列選択/信号処理部210は、エントリーゲート170を介してメモリセルアレイの選択メモリセルのデータを読み出すNOR読出し部300と、クロスバーアレイ200の列を選択する列選択部310と、選択された列に書込みパルスを印加する列書込み部320と、選択された列から出力されるデータを読み出す列読出し部330と、列読出し部330からの読出しデータまたは行読出し部430からの読出しデータの入力の選択および列書込む部320またはNOR書込み部350に出力するデータを選択するデータ選択部340と、データ選択部340から出力される読出しデータをメモリセルアレイ110の選択メモリセルに書込むNOR書込み部350とを含んで構成される。
【0026】
クロスバーアレイ200へのアクセスが行われるとき、例えば、メモリセルアレイ110の選択メモリセルから読み出された読出しデータをクロスバーアレイ200の選択された可変抵抗素子へ書込むとき、エントリーゲート170がイネーブルされ(トランジスタQ0~Q3のいずれかがオンされ)、メモリセルアレイ110の選択ビット線BLが選択グローバルビット線GBLを介して列選択/信号処理部210のNOR読出し部300に接続される。
【0027】
NOR読出し部300は、選択グローバルビット線GBLを介して選択メモリセルの読出しデータをセンスするセンスアンプを含み、センスした読出しデータを保持する。例えば、メモリセルMa、Mb、Mc、Mdが選択されるとき、エントリーゲート170は、トランジスタQ0、Q1、Q2、Q3を順次オンし、NOR読出し部300は、ビット線BL0~BL3を介して4つの選択メモリセルMa、Mb、Mc、Mdに記憶された4ビットの読出しデータを読み出す。
【0028】
列選択部310は、バス230を介して制御部160から列選択信号を受け取り、当該列選択信号に基づきクロスバーアレイ200の列を選択する。選択される列は、必ずしも1つに限らず、複数の列が同時に選択されてもよい。
【0029】
列書込み部320は、NOR読出し部300が保持する読出しデータまたはデータ選択部340から出力される読出しデータに基づき、列選択部320によって選択された列に書込みパルスを印加する書込みアンプを含む。列書込み部320によって選択された列に書込みパルスが印加されるとき、行選択/信号処理部220の行書込み部410は、選択された行にGNDを印加する。例えば、列C0が選択され、行R0が選択され、読出しデータが「0」であるとき、列書込み部320は、列C0に書込みパルスを印加し、行書込み部420は、行R0にGNDを印加する。これにより、列C0と行R0とが交差する可変抵抗素子VRに書込みパルスが印加され、その書込みパルスの分だけ抵抗が高くなる。他方、読出しデータが「1」であるとき、列書き込み部320は書込みパルスを印加せず、可変抵抗素子VRの抵抗は変化されない。また、列書込み部320の書込みアンプは、行書込み部410によって選択された行への書込みが行われるとき、選択された列にGNDを印加する。
【0030】
ある例では、NOR読出し部300がエントリーゲート170を介して選択グローバルビット線GBLから4ビットの読出しデータを順次受け取ったとき、列書込み部320は、4ビットの読出しデータ「0」の数に応じた書込みパルスを選択された列に印加する。4ビットの読出しデータが全て「0」であれば、列書込み部320は、選択された列に4回の書込みパルスを印加し、3ビットが「0」であれば、3回の書込みパルスを印加し、2ビットが「0」であれば、2回の書込みパルスを印加し、1ビットが「0」であれば、1回の書込みパルスを印加し、4ビットの読出しデータが全て「1」であれば、書込みパルスを印加しない。こうして、選択された列と選択された行との交差部の可変抵抗素子には、4ビットの読出しデータの加算結果が記憶される。
【0031】
別な態様では、列書込み部320は、書込みパルスの印加回数によって可変抵抗素子の抵抗を変化させる以外にも、例えば、DAコンバータを含み、NOR読出し部300またはデータ選択部340から出力される複数ビットのデータをアナログレベルに変換し、変換したアナログレベルの波高値を有する書込みパルスを選択された列に印加するようにしてもよい。例えば、読出しデータの4ビットであれば、DAコンバータは、16レベルの波高値の書込みパルスを生成し、これを可変抵抗素子に印加する。この場合、読出しデータが全て「0」であれば、波高値が最も高い書込みパルスが生成され、読出しデータが全て「1」であれば、波高値がゼロの書込みパルスを印加するか、あるいは書込みパルスが印加されない。
【0032】
列読出し部330は、列選択部310によって選択された列から出力される読出しデータをセンスし、センスした読出しデータを保持する。列読出し部330によって選択された列の読出しが行われるとき、行選択/信号処理部220の行読出し部420は、選択された行に読出し電圧を印加する。例えば、列C0が選択され、行R0が選択されたとき、行読出し部430は、行R0に読出し電圧を印加し、列読出し部330は、行R0と列C0が交差する可変抵抗素子を流れる読出し電圧または読出し電流をセンスする。また、行読出し部420によって選択された行の読出しが行われるとき、列読出し部330は、選択された列に読出し電圧を印加する。
【0033】
列読出し部330は、アナログレベルの読出し電圧または読出し電流をmビット(mは2以上の整数)のデジタルデータに変換するためのADコンバータを含む。例えば、列読出し部330は、読出し電流または読出し電圧を4ビットの読出しデータに変換し、可変抵抗素子の抵抗を16レベルに分解する。
【0034】
データ選択部340は、制御部160からの選択信号に基づき、列読出し部330の読出しデータまたは行選択/信号処理部220のデータ選択部430で選択された読出しデータを入力し、入力したいずれかの読出しデータを列書込み部320またはNOR書込み部350に提供する。
【0035】
図5(B)に、データ選択部340の入出力データの選択例を示す。2ビットの選択信号が「00」のとき、データ選択部340は、列読出し部330から入力した読出しデータを列書込み部320に出力し、これにより、選択された列から読み出したデータを選択された別の列に書込みすることを可能にする。選択信号が「01」のとき、データ選択部340は、列読出し部330から入力した読出しデータをNOR書込み部350に出力し、これにより、選択された列から読み出されたデータをメモリセルアレイ110の選択メモリセルに書込みすることを可能にする。選択信号が「10」のとき、データ選択部340は、行読出し部420から入力された読出しデータを列書込み部320に出力し、これにより、選択された行から読み出されたデータを選択された列に書込むことを可能にする。選択信号が「11」のとき、データ選択部340は、行読出し部420から入力された読出しデータをNOR書込み部350に出力し、これにより、選択された行から読み出されたデータをメモリセルアレイ110の選択メモリセルに書込むことを可能にする。
【0036】
NOR書込み部350は、データ選択部340から出力された読出しデータをエントリーゲート170を介してメモリセルアレイ110の選択メモリセルに書込む。例えば、4ビットの読出しデータを選択メモリセルMa、Mb、Mc、Mdに書込む場合、エントリーゲート170によってトランジスタQ0~Q3が順次オンされ、NOR書込み部350は、グローバルビット線GBL0を介してビット線BL0、BL1、BL2、BL3に読出しデータに応じた書込み電圧を順次印加する。このとき、ワード線WL1には書込み用の電圧が印加され、ソース線SL1にGNDが印加される。非選択ワード線、非選択ビット線、非選択ソース線はフローティング状態である。こうして、選択メモリセルMa、Mb、Mc、Mdには、選択された可変抵抗素子に記憶されたデータ、つまり学習によって変調されたデータが書き戻される。
【0037】
行選択/信号処理部220は、クロスバーアレイ200の行を選択し、選択した行のデータを読出したり、選択した行にデータを書込む。
【0038】
図6は、行選択/信号処理部220の内部構成を示す図である。行選択/信号処理部220は、クロスバーアレイ200の行を選択する行選択部400と、選択された行に書込みパルスを印加する行書込み部410と、選択された行のデータを読み出す行読出し部420と、行読出し部420から入力された読出しデータを行書込み部410または列選択/信号処理部210のデータ選択部340に出力するデータ選択部430とを含んで構成される。
【0039】
行選択部400は、バス230を介して制御部160から行選択信号を受け取り、当該行選択信号に基づきクロスバーアレイ200の行を選択する。選択される行は、必ずしも1つに限らず、複数の行が同時に選択されてもよい。
【0040】
行書込み部410および行読出し部420は、列選択/信号処理部210の列書込み部320および列読出し部330と同様に構成される。行書込み部410は、データ選択部430から出力された読出しデータに基づき選択された行に書込みパルスを印加する。行書込み部410により選択された行に書込みパルスが印加されるとき、列書込み部320は、選択された列にGNDを印加する。例えば、行R1が選択され、列C1が選択され、データが「0」であるとき、行書込み部410は、行C1に書込みパルスを印加し、列書込み部320は、列C1にGNDを印加する。これにより、行R1と列C1とが交差する可変抵抗素子VRに書込みパルスが印加され、書込みパルス分だけ抵抗が低くなる。他方、入力データが「1」であるとき、行書き込み部410は書込みパルスを印加せず、可変抵抗素子VRの抵抗は変化されない。
【0041】
行読出し部420は、行選択部400によって選択された行から出力される読出しデータをセンスする。行読出し部420により読出しが行われるとき、列読出し部330は、選択された列に読出し電圧を印加する。例えば、行R1が選択され、列C1が選択されたとき、列読出し部330は、列C1に読出し電圧を印加し、行読出し部420は、列C1と行R1が交差する可変抵抗素子VRを流れる読出し電圧または読出し電流をセンスする。
【0042】
行読出し部420は、アナログレベルの読出し電圧または読出し電流をmビット(mは2以上の整数)のデジタルデータに変換するためのADコンバータを含む。例えば、行読出し部420は、読出し電流または読出し電圧を4ビットの読出しデータに変換し、可変抵抗素子の抵抗を16レベルに分解する。
【0043】
データ選択部430は、制御部160からの選択信号に基づき、行読出し部420から入力される読出しデータを行書込み部410または列選択/信号処理部210のデータ選択部340に出力する。
【0044】
図6(B)に、データ選択部430の入出力データの選択例を示す。1ビットの選択信号が「0」のとき、データ選択部430は、行読出し部42から入力された読出しデータを行書込み部410に出力し、これにより、選択された行から読み出されたデータを選択された別の行に書込むことを可能にする。選択信号が「1」のとき、データ選択部430は、行読出し部420から入力された読出しデータをNOR書込み部350に出力し、これにより、選択された行から読み出されたデータを選択された列に書込むこと、あるいはメモリセルアレイ110の選択メモリセルに書込むことを可能にする。
【0045】
次に、本実施例の半導体記憶装置100の動作について説明する。
[読出し動作]
外部端子から読出しコマンドよびアドレスが入力されると、Xデコーダ130は、行アドレスに従いワード線を選択し、Yデコーダ140は、列アドレスに従いビット線/ソース線を選択する。制御部160は、読出しコマンドに応じて選択ワード線に正の電圧を印加し、選択ビット線に読出し電圧を印加し、選択ソース線にGNDを印加する。非選択ビット線はフローティング状態である。制御部160は、メモリセルアレイ110のみの動作が行われる期間中、エントリーゲート170をディスエーブルし(全てのトランジスタQ0~Q3をオフ)、メモリセルアレイ110からクロスバーアレイ200を切り離す。
【0046】
例えば、図4のメモリセルMaが選択された場合、選択ワード線WL1に正の電圧が印加され、選択ビット線BL0に読出し電圧が印加され、選択ソース線SL1にGNDが印加される。メモリセルMaは、記憶したデータに応じたオン/オフし、制御部160のセンスアンプは、ビット線BL0の電圧または電流をセンスする。
【0047】
[書込み動作]
外部端子から書込みコマンド、アドレスおよびデータが入力されると、Xデコーダ130は、行アドレスに従いワード線を選択し、Yデコーダ140は、列アドレスに従いビット線/ソース線を選択する。非選択ビット線は、フローティング状態である。制御部160は、書込みコマンドに応じて選択ワード線に書込み電圧を印加し、選択ビット線にデータに応じた書込み電圧を印加し、ソース線にGNDを印加する。
【0048】
例えば、メモリセルMaにデータ「0」を書込む場合、選択ワード線WL1に書込み電圧が印加され、選択ビット線BL0にデータ「0」に応じた書込み電圧が印加され、選択ソース線SL1にGNDが印加される。
【0049】
[消去動作]
外部端子から消去コマンドおよびアドレスが入力されると、Xデコーダ130は、行アドレスに従いワード線を選択し、Yデコーダ140は、列アドレスに従いビット線/ソース線を選択する。制御部160は、消去コマンドに応じて選択ワード線にGNDを印加し、選択ビット線をフローティング状態にし、選択ソース線に消去電圧を印加する。選択メモリセルのゲートとソース間に高電圧が印加され、選択メモリセル内の電子がソース側に抜け、データ「1」となる。なお、消去は、セクタ内の複数のメモリセルを一括して消去するようにしてもよい。
【0050】
次に、クロスバーアレイ200への書込みまたは読出し動作について説明する。
[クロスバーアレイへの書込み動作]
制御部160は、外部端子から入力されたコマンドおよびアドレスに応じてメモリセルアレイ110の選択メモリセルから読み出したデータをクロスバーアレイ200に書込む動作を行う。クロスバーアレイ200への書込みは、複数のコマンドや複数のアドレスの組合せであることができ、例えば、メモリセルアレイ110の読出しコマンドおよびアドレスを入力した後、クロスバーアレイ200の書込みコマンドおよびアドレスを入力することができる。
【0051】
例えば、図7(A)に示すように、選択ワード線WL1に接続された4つのメモリセルMa、Mb、Mc、Mdから読み出したデータをクロスバーアレイ200の列C0と行R0との交差部の可変抵抗素子VR0に書込む動作について説明する。メモリセルから読み出したデータをクロスバーアレイ200に書込む場合、制御部160は、メモリセルアレイ側のセンスアンプをディスエーブルし、その代わりに列選択/信号処理部210のNOR読出し部300にイネーブルする。
【0052】
外部からの読出しコマンドおよびアドレスに従いメモリセルMaが選択されるとき、エントリーゲート170は、選択信号SELに基づきトランジスタQ0をオンさせ(他のトランジスタはオフ)、グローバルビット線GBL0を介してビット線BL0をNOR読出し部300に接続させ、NOR読出し部300は、メモリセルMaのデータを読出す。
【0053】
次に、外部からのクロスバーアレイへの書込みコマンドおよびアドレスに従い列書込み部320は、NOR読出し部300で保持された読出しデータを受け取る。列選択部310は、入力された列アドレスに基づき列C0を選択し、行選択部400は、入力された行アドレスに基づき行R0を選択し、列書込み部320は、列C0に読出しデータに応じた書込みパルスを印加し、行書込み部320は、行R0にGNDを印加する。例えば、読出しデータが「0」であれば、列C0に書込みパルスが印加され、読出しデータが「1」であれば、列C0に書込みパルスが印加されない。
【0054】
次に、外部からの読出しコマンドおよびアドレスに従いメモリセルMbが選択されると、エントリーゲート170は、選択信号SELに基づきトランジスタQ1をオンさせ、グローバルビット線GBL0を介してビット線BL1をNOR読出し部300に接続させ、NOR読出し部300は、メモリセルMbのデータを読出す。次に、外部からのクロスバーアレイへの書込みコマンドおよびアドレスに従い、上記と同様に列書込み部320は、NOR読出し部300で読み出されたデータに基づき列C0に書込みパルスを印加する。上以後同様に、メモリセルMc、Mdのデータが読み出され、列書込み部320は、列C0に読出しデータに応じた書込みパルスを印加する。メモリセルMa、Mb、Mc、Mdの4ビットのデータが全て「0」であれば、列C0と行R0の交差部の可変抵抗素子VR0には、4回の書込みパルスが印加され、可変抵抗素子VR0には、メモリセルMa、Mb、Mc、Mdの4ビットのデータの加算結果が書込まれる。
【0055】
上記の方法は、メモリセルMa、Mb、Mc、Mdのデータを読み出す毎にコマンドおよびアドレスを入力したが、これに限らず、1回のコマンドによって同一ワード線上の複数のメモリセルをバースト読出しするようしてもよい。また、クロスバーアレイへの書込みも1回のコマンドによって行うようにしてもよく、この場合、NOR読出し部300がバースト読出しされた4ビットのデータを保持し、列書込み部320がNOR読出し部300に保持された4ビットのデータに基づく書込みパルスを印加する。また、列書込み部320は、DAコンバータによって4ビットのデータをアナログレベルの波高値の書込みパルスに変換し、1回の書込みパルスを可変抵抗素子に印加するようにしてもよい。
【0056】
また、メモリセルMa、Mb、Mc、Mdの4ビットの読出しデータを可変抵抗素子VR0に書込む例を示したが、これは一例であり、入力するアドレスに応じて任意の位置の任意の数のメモリセルから読み出された読出しデータを、任意の位置の任意の数の可変抵抗素子に書込むことが可能である。
【0057】
例えば、同一ワード線上の8つのメモリセルを選択し、選択されたメモリセルの8ビットのデータの加算結果を1つの可変抵抗素子に書込むようにしてもよい。また、図7(B)に示すように、列選択部310によって複数の列C0、C1を選択し、メモリセルMa、Mb、Mc、Mdの4ビットのデータを可変抵抗素子VR0、VR1に同時に書込むようにしてもよい。
【0058】
さらに、図8(A)に示すように、異なるワード線WL0、WL1、WL2、WL3のメモリセルMa、Mb、Mc、Mdを選択し、これらの4ビットのデータの加算結果を可変抵抗素子VR0に書込むようにしてもよい。また、図8(B)に示すように、異なるワード線WL0、WL1、WL2、WL3の同一ビット線BL0上のメモリセルMa、Mb、Mc、Mdを選択し、これらの4ビットのデータの加算結果を可変抵抗素子VR0に書込むようにしてもよい。
【0059】
また、列書込み部320は、図5(A)、(B)に示したように、データ選択部340から出力された列読出し部330からの読出しデータ、または行読出し部420からの読出しデータを選択された列に書込むことも可能である。
【0060】
[NORアレイへの書込み動作]
制御部160は、外部から入力されたコマンドおよびアドレスに応じてクロスバーアレイ200から読み出したデータをメモリセルアレイ110の選択メモリセルに書込む動作を行う。メモリセルアレイ110への書込みは、複数のコマンドや複数のアドレスの組合せであることができ、例えば、クロスバーアレイ200の読出しコマンドおよびアドレスを入力した後にメモリセルアレイ110の書込みコマンドおよびアドレスを入力することができる。
【0061】
例えば、図9(A)に示すように、列C2と行R2との交差部の可変抵抗素子VR2に接続された可変抵抗素子VR2の読出しデータを選択ワード線WL1に接続された4つのメモリセルMa、Mb、Mc、Mdに書込む例について説明する。なお、可変抵抗素子VR2のアナログデータを4ビットに変換するものとする。また、メモリセルMa、Mb、Mc、Mdは消去状態(データ「1」)にあるものとする。
【0062】
クロスバーアレイ200の読出しデータをメモリセルアレイ110に書込む場合、制御部160は、メモリセルアレイ側の書込みアンプをディスエーブルし、その代わりに列選択/信号処理部210のNOR書込み部350をイネーブルする。
【0063】
外部からの読出しコマンドおよびアドレスに従い可変抵抗素子VR2が選択されるとき、行読出し部420は、行選択部400によって選択された行R2に読出し電圧を印加し、列読出し部330は、列選択部310によって選択された列C2の読出し電圧または読出し電流を受け取り、これをADコンバータによって4ビットのデータに変換し、これを保持する。
【0064】
次に、外部からの書込みコマンドおよびアドレスに従いエントリーゲート170は、選択信号SELに基づきトランジスタQ0をオンさせ(他のトランジスタはオフ)、グローバルビット線GBL0を介してビット線BL0を選択する。選択ワード線WL1に書込み電圧が印加され、選択ソース線SL1にGNDが印加され、NOR書込み部350は、列読出し部330で保持された4ビットのデータのうちの1ビットの読出しデータを選択ビット線BL0を介してメモリセルMaに書込む。
【0065】
次に、外部からの書込みコマンドおよびアドレスに従いエントリーゲート170は、選択信号SELに基づきトランジスタQ1をオンさせ(他のトランジスタはオフ)、グローバルビット線GBLを介してビット線BL1を選択する。選択ワード線WL1に書込み電圧が印加され、選択ソース線SL1にGNDが印加され、NOR書込み部350は、列読出し部330で保持された4ビットのデータのうちの1ビットの読出しデータを選択ビット線BL1を介してメモリセルMbに書込む。上記と同様にしてメモリセルMc、Mdへの書込みが行われる。これにより、メモリセルMa、Mb、Mc、Mdには、可変抵抗素子VR2の学習されたデータが記憶される。
【0066】
また、NOR書込み部350は、図9(B)に示すように、行読出し部420によって読み出された読出しデータをメモリセルアレイ110のメモリセルMa、Mb、Mc、Mdに書込むことも可能である。この例では、メモリセルMa、Mb、Mc、Mdは、異なるワード線WL0、WL1、WL2、WL3に接続されている。
【0067】
さらに上記の例では、メモリセルMa、Mb、Mc、Mdに4ビットの読出しデータを書込むようにしたが、これは一例であり、可変抵抗素子が記憶するアナログデータをデジタルデータに変換するADコンバータの分解能(ビット数)に応じて選択するメモリセルの数を決定することができる。例えば、ADコンバータによって8ビットのデータが生成されるならば、8ビットのデータは、8つのメモリセルにそれぞれ書込まれる。また、メモリセルが多値データを記憶することができる場合には、それに応じたメモリセルの数が選択される。さらに、入力するアドレスに応じてクロスバーアレイ200の任意の位置の可変抵抗素子のデータの読出しが可能であり、かつ入力するアドレスに応じて任意の位置のメモリセルに読出しデータを書込むことが可能である。
【0068】
図10にニューラルネットワークを利用したオートエンコーダの一例を示す。オートエンコーダは、入力と出力との間に、複数のエンコーダのレイヤと複数のデコーダのレイヤとを含み、エンコーダおよびデコーダの重み付けまたは符号は学習よって調整される。クロスバーアレイ200は、入力と出力との間で、エンコーダおよびデコーダの各レイヤの処理を行う。つまり、メモリセル110からの読出しデータをi番目のレイヤで処理し、その出力信号を、次のi+1番目のレイヤに入力し、i+1番目のレイヤで処理した出力信号を次のi+2番目のレイヤに入力し、このような処理を順次繰り返す。
【0069】
また、クロスバーアレイ200で学習されたデータは、メモリセルアレイ110に書込むことで(コピーバックすることで)、メモリセルアレイ110は、学習されたデータを保持し、外部のコントローラは、学習データを用いて種々の処理(例えば、画像処理、予測処理、自然言語処理など)を実施することができる。
【0070】
このように本実施例によれば、フラッシュメモリセルアレイとクロスバーアレイとを含む半導体記憶装置を構成することで、AI学習機能を有するニューロモルフィックチップとして利用することが可能となる。また、フラッシュのメモリセルアレイに格納された学習用データをクロスバーアレイ上で演算させることで、演算処理の効率化および高速化を図ることができる。さらにクロスバーアレイの列側に列選択/信号処理部を配置し、行側に行選択/信号処理部を配置することで、信号伝達によるロスを抑制しつつクロスバーアレイによる行列演算を効率良く行うことができる。
【0071】
次に、本発明の第2の実施例について説明する。第1の実施例では、読出しデータ「0」、「1」に応じて書込みパルスを印加する例を示したが、第2の実施例では、列書込み部および行書込み部は、ニューラルネットワークのSTDPに適したスパイク信号の書込みを行う。
【0072】
図11に、第2の実施例による列書込み部の構成を示す。なお、行書込み部は、列書込み部と同様に構成されるので、ここでの説明を省略する。本実施例の列書込み部320Aは、読出しデータに基づき書込みパルスを生成する書込みパルス生成部500と、書込みパルスに基づきスパイク信号を生成するスパイク信号生成部510とを含んで構成される。
【0073】
書込みパルス生成部500は、例えば、NOR読出し部300からの読出しデータが「0」であるとき、一定のパルス幅を有する書込みパルスを生成し、これをスパイク信号生成部510に出力する。読出しデータが「1」であるとき、書込みパルスは出力されない。
【0074】
スパイク信号生成部510は、ニューロンが発生するシナプス信号を疑似的に生成する。スパイク信号生成部510は、書込みパルス生成部500からの書込みパルスに応答して電荷をキャパシタに充電する充電回路512と、キャパシタに充電された電荷を経時的にリークまたは放電させるリーク回路514と、キャパシタに充電された電荷が閾値に到達したときスパイク信号Spを出力する出力回路516と、スパイク信号Spが出力されたとき、キャパシタの電荷をリセットするリセット回路518とを含んで構成される。
【0075】
充電回路512は、書込みパルスが印加されたとき、書込みパルスのパルス幅の期間中、キャパシタに電荷を充電する。リーク回路514は、例えば、キャパシタに並列に接続された抵抗を含み、キャパシタに充電された電荷を抵抗を介して放電させる。抵抗を調整することで電荷の放電速度が変更される。充電回路512は、書込みパルスの印加に応じてキャパシタに電荷を蓄積するが、その一方で、キャパシタに充電された電荷がリーク回路514によって放電される。次の書込みパルスが印加されるまでの時間が長いと、それだけキャパシタに充電された電荷のリークも大きくなる。リーク回路514の働きは、人間の頭脳でいう忘却等に相当するものであり、STDPのスパイク信号Spの生成を可能にする。
【0076】
出力回路516は、キャパシタの電荷によって生じるキャパシタ電圧と閾値とを比較し、キャパシタ電圧が閾値を超えたとき、スパイク信号Spを出力する。スパイク信号Spは、列選択部310によって選択された列に印加される。
【0077】
図12に列書込み部320Aの書込み例を示す。ここでは、メモリセルアレイ110の列A、列Bの8ビットデータを読出し、この読出しデータをクロスバーアレイの選択された列に書込むものとする。図12(A)に示すように、NOR読出し部300は、列Aの8ビットデータを読出し、この読出しデータが列書込み部320Aに提供される。書込みパルス生成部500は、8ビットの読出しデータのうち6ビットのデータ「0」に応答して書込みパルスを生成する。つまり、6回の書込みパルスが順次スパイク信号生成部510へ出力される。充電回路512は、6回の書込みパルスに応答した電荷をキャパシタに充電し、6回目の書込みパルスでキャパシタ電圧が閾値に到達した場合、出力回路516はスパイク信号Spを出力し、これと同時にリセット回路518によってキャパシタの電荷がGNDに放電される。
【0078】
一方、NOR読出し部300は、図12(B)に示すように、列Bの8ビットデータを読出した場合、書込みパルス生成部500は、8ビットの読出しデータのうち4ビットのデータ「0」に応答して書込みパルスを生成する。充電回路512は、4回の書込みパルスに応答した電荷をキャパシタに充電するが、キャパシタ電圧が閾値に到達しないので、出力回路516からはスパイク信号Spが出力されない。スパイク信号Spが出力されないため、リセット回路518によるリセットは行われず、キャパシタには電荷そのまま保持されが、リーク回路514により経時的に電荷がリークされる。リークされる電荷が大きいと、仮に、その後に2回の書込みパルスが印加されたとしても、キャパシタ電圧は閾値に到達せず、スパイク信号Spは出力されない。
【0079】
このように本実施例によれば、STDPのスパイク信号を生成するようにしたので、シナプスの結合強度を最適化するニューロモルフィックデバイスを提供することができる。
【0080】
上記実施例では、クロスバーアレイ200の列側の処理を行う列選択/信号処理部210と行側の処理を行う行選択/信号処理部220とを設ける構成を示したが、本発明は、この構成に限定されるものではなく、クロスバーアレイの行側からの読出しや書込みを省略し、クロスバーアレイ200の列側からのみ読出しや書込みを行う構成であってもよい。この場合、列選択/信号処理部210は、メモリセルアレイ110から読み出されたデータを列側からクロスバーアレイ200に書込み、クロスバーアレイ200の列側から読み出されたデータをメモリセルアレイ110へ書込み、クロスバーアレイ200の行側は、行アドレスに基づき行を選択する。例えば、列選択/信号処理部210は、メモリセルアレイ110から読み出された複数のデータをクロスバーアレイ200の選択された可変抵抗素子に何度も繰り返し書込むことで、当該可変抵抗素子の抵抗を変化させ(つまり学習させ)、その後、当該可変抵抗素子の学習されたデータを読出し、読み出したデータをメモリセルアレイ110に書込む。
【0081】
さらに上記実施例では、NOR型のフラッシュメモリにクロスバーアレイを搭載する例を示したが、NOR型に変えてNAND型フラッシュメモリにクロスバーアレイを搭載するようにしてもよい。
【0082】
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0083】
100:半導体記憶装置
110:メモリセルアレイ
120:アドレスバッファ
130:Xデコーダ
140:Yデコーダ
150:入出力回路
160:制御部
170:エントリーゲート
200:クロスバーアレイ
210:列選択/信号処理部
220:行選択/信号処理部
230:バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
【手続補正書】
【提出日】2022-11-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
行列状に不揮発性のメモリセルが複数形成されたメモリセルアレイと、
複数の行、複数の列、各行と各列との交差部に可変抵抗素子が形成されたクロスバーアレイと、
前記メモリセルアレイと前記クロスバーアレイとの間に配置され、選択信号に基づき前記メモリセルアレイの選択されたビット線を前記クロスバーアレイに接続する接続手段と、
少なくとも前記メモリセルアレイから読み出されたデータを前記クロスバーアレイの選択された列に書込む列書込み手段と、
前記クロスバーアレイの選択された列のデータを読み出す列読出し手段と、
少なくとも前記列読出し手段で読み出されたデータを前記メモリセルアレイに書込む書込み手段と、
を含む半導体記憶装置。
【請求項2】
半導体記憶装置はさらに、前記クロスバーアレイの選択された行のデータを読み出す行読出し手段と、
少なくとも前記行読出し手段で読み出されたデータを前記クロスバーアレイの選択された行に書込む行書込み手段とを含む、請求項1に記載の半導体記憶装置。
【請求項3】
半導体記憶装置はさらに、前記列読出し手段で読み出されたデータまたは前記行読出し手段で読み出されたデータを、前記列書込み手段または前記書込み手段に提供する列側選択手段を含む、請求項に記載の半導体記憶装置。
【請求項4】
半導体記憶装置はさらに、前記行読出し手段で読み出されたデータを行書込み手段または前記列側選択手段に提供する行側選択手段を含む、請求項3に記載の半導体記憶装置。
【請求項5】
半導体記憶装置はさらに、アドレス情報に基づき前記クロスバーアレイの列を選択する列選択手段と、アドレス情報に基づき前記クロスバーアレイの行を選択する行選択手段とを含み、
前記列書込み手段は、前記列選択手段によって選択された列に書込みを行い、前記列読出し手段は、前記列選択手段によって選択された列の読出しを行い、
前記行書込み手段は、前記行選択手段によって選択された行に書込みを行い、前記行読出し手段は、前記行選択手段によって選択された行の読出しを行う、請求項2または4に記載の半導体記憶装置。
【請求項6】
前記列書込み手段は、前記メモリセルアレイから読み出された読出しデータに基づき、前記選択された列に書込みパルスを印加する、請求項1に記載の半導体記憶装置。
【請求項7】
前記行書込み手段は、前記行読出し手段で読み出された読出しデータに基づき、前記選択された行に書込みパルスを印加する、請求項2に記載の半導体記憶装置。
【請求項8】
前記列選択手段は、複数の列を選択し、前記列書込み手段は、選択された複数の列に同時に書込みを行う、請求項5に記載の半導体記憶装置。
【請求項9】
前記行選択手段は、複数の行を選択し、前記行書込み手段は、選択された複数の行に同時に書込みを行う、請求項5に記載の半導体記憶装置。
【請求項10】
前記書込み手段は、前記クロスバーアレイから読み出されたアナログデータをmビットのデジタルデータに変換するAD変換手段を含み、
前記書込み手段は、前記メモリセルアレイの選択されたm個のメモリセルにmビットのデータを書込む、請求項1に記載の半導体記憶装置。
【請求項11】
前記列書込み手段は、前記メモリセルアレイから読み出されたmビットのデジタルデータをアナログデータに変換するDA変換手段を含み、
前記列書込み手段は、前記クロスバーアレイの選択された列に前記アナログデータを書込む、請求項1に記載の半導体記憶装置。
【請求項12】
前記列書込み手段、前記列読出し手段、前記書込み手段、および列選択手段は、前記クロスバーアレイの列側に配置され、
前記行書込み手段、前記行読出し手段、および行選択手段は、前記クロスバーアレイの行側に配置され、
前記クロスバーアレイが前記メモリセルアレイ上に、または前記メモリセルアレイが前記クロスバーアレイ上に積層される、請求項1ないし11いずれか1つに記載の半導体記憶装置。
【請求項13】
前記メモリセルアレイは、NOR型またはNAND型のメモリセルアレイである、請求項1ないし11いずれか1つに記載の半導体記憶装置。
【請求項14】
前記メモリセルアレイは、AI学習用データを記憶し、前記クロスバーアレイは、前記メモリセルアレイから読み出されたAI学習用データを行列演算し、行列演算したデータを前記メモリセルアレイに書込む、請求項1ないし11いずれか1つに記載の半導体記憶装置。
【手続補正書】
【提出日】2022-12-14
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
行列状に不揮発性のメモリセルが複数形成されたメモリセルアレイと、
複数の行、複数の列、各行と各列との交差部に可変抵抗素子が形成されたクロスバーアレイと、
前記メモリセルアレイと前記クロスバーアレイとの間に配置され、選択信号に基づき前記メモリセルアレイの選択されたビット線を前記クロスバーアレイに接続する接続手段と、
少なくとも前記メモリセルアレイから読み出されたデータを前記クロスバーアレイの選択された列に書込む列書込み手段と、
前記クロスバーアレイの選択された列のデータを読み出す列読出し手段と、
少なくとも前記列読出し手段で読み出されたデータを前記メモリセルアレイに書込む書込み手段と、
を含む半導体記憶装置。
【請求項2】
半導体記憶装置はさらに、前記クロスバーアレイの選択された行のデータを読み出す行読出し手段と、
少なくとも前記行読出し手段で読み出されたデータを前記クロスバーアレイの選択された行に書込む行書込み手段とを含む、請求項1に記載の半導体記憶装置。
【請求項3】
半導体記憶装置はさらに、前記列読出し手段で読み出されたデータまたは前記行読出し手段で読み出されたデータを、前記列書込み手段または前記書込み手段に提供する列側選択手段を含む、請求項に記載の半導体記憶装置。
【請求項4】
半導体記憶装置はさらに、前記行読出し手段で読み出されたデータを行書込み手段または前記列側選択手段に提供する行側選択手段を含む、請求項3に記載の半導体記憶装置。
【請求項5】
半導体記憶装置はさらに、アドレス情報に基づき前記クロスバーアレイの列を選択する列選択手段と、アドレス情報に基づき前記クロスバーアレイの行を選択する行選択手段とを含み、
前記列書込み手段は、前記列選択手段によって選択された列に書込みを行い、前記列読出し手段は、前記列選択手段によって選択された列の読出しを行い、
前記行書込み手段は、前記行選択手段によって選択された行に書込みを行い、前記行読出し手段は、前記行選択手段によって選択された行の読出しを行う、請求項2または4に記載の半導体記憶装置。
【請求項6】
前記列書込み手段は、前記メモリセルアレイから読み出された読出しデータに基づき、前記選択された列に書込みパルスを印加する、請求項1に記載の半導体記憶装置。
【請求項7】
前記行書込み手段は、前記行読出し手段で読み出された読出しデータに基づき、前記選択された行に書込みパルスを印加する、請求項2に記載の半導体記憶装置。
【請求項8】
前記列選択手段は、複数の列を選択し、前記列書込み手段は、選択された複数の列に同時に書込みを行う、請求項5に記載の半導体記憶装置。
【請求項9】
前記行選択手段は、複数の行を選択し、前記行書込み手段は、選択された複数の行に同時に書込みを行う、請求項5に記載の半導体記憶装置。
【請求項10】
前記書込み手段は、前記クロスバーアレイから読み出されたアナログデータをmビットのデジタルデータに変換するAD変換手段を含み、
前記書込み手段は、前記メモリセルアレイの選択されたm個のメモリセルにmビットのデータを書込む、請求項1に記載の半導体記憶装置。
【請求項11】
前記列書込み手段は、前記メモリセルアレイから読み出されたmビットのデジタルデータをアナログデータに変換するDA変換手段を含み、
前記列書込み手段は、前記クロスバーアレイの選択された列に前記アナログデータを書込む、請求項1に記載の半導体記憶装置。
【請求項12】
前記列書込み手段、前記列読出し手段、前記書込み手段、および列選択手段は、前記クロスバーアレイの列側に配置され、
前記行書込み手段、前記行読出し手段、および行選択手段は、前記クロスバーアレイの行側に配置され、
前記クロスバーアレイが前記メモリセルアレイ上に、または前記メモリセルアレイが前記クロスバーアレイ上に積層される、請求項に記載の半導体記憶装置。
【請求項13】
前記メモリセルアレイは、NOR型またはNAND型のメモリセルアレイである、請求項1ないし11いずれか1つに記載の半導体記憶装置。
【請求項14】
前記メモリセルアレイは、AI学習用データを記憶し、前記クロスバーアレイは、前記メモリセルアレイから読み出されたAI学習用データを行列演算し、行列演算したデータを前記メモリセルアレイに書込む、請求項1ないし11いずれか1つに記載の半導体記憶装置。