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

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

▶ 台湾積體電路製造股▲ふん▼有限公司の特許一覧

特許7561906メモリシステム及びメモリシステムの操作方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-26
(45)【発行日】2024-10-04
(54)【発明の名称】メモリシステム及びメモリシステムの操作方法
(51)【国際特許分類】
   G06F 12/00 20060101AFI20240927BHJP
   G11C 11/56 20060101ALI20240927BHJP
   G11C 11/54 20060101ALI20240927BHJP
【FI】
G06F12/00 560F
G11C11/56 100
G11C11/54
【請求項の数】 9
(21)【出願番号】P 2023038881
(22)【出願日】2023-03-13
(65)【公開番号】P2023153736
(43)【公開日】2023-10-18
【審査請求日】2023-03-13
(31)【優先権主張番号】63/362,470
(32)【優先日】2022-04-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/821,187
(32)【優先日】2022-08-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500262038
【氏名又は名称】台湾積體電路製造股▲ふん▼有限公司
【氏名又は名称原語表記】Taiwan Semiconductor Manufacturing Company,Ltd.
【住所又は居所原語表記】No.8, Li-Hsin Rd.6, Hsinchu Science Park, Hsinchu, TAIWAN
(74)【代理人】
【識別番号】100102532
【弁理士】
【氏名又は名称】好宮 幹夫
(74)【代理人】
【識別番号】100194881
【弁理士】
【氏名又は名称】小林 俊弘
(74)【代理人】
【識別番号】100215142
【弁理士】
【氏名又は名称】大塚 徹
(72)【発明者】
【氏名】柯 文昇
(72)【発明者】
【氏名】呉 秉駿
(72)【発明者】
【氏名】李 東穎
(72)【発明者】
【氏名】張 孟凡
【審査官】田名網 忠雄
(56)【参考文献】
【文献】国際公開第2019/049741(WO,A1)
【文献】再公表特許第2020/095407(JP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
G11C 11/56
G11C 11/54
(57)【特許請求の範囲】
【請求項1】
コンピューティングインメモリ操作を実行するためのメモリシステムであって、
複数のメモリセルを含むメモリアレイと、
前記メモリアレイに結合され、前記メモリセルの複数の電気的特性をプログラミングするように、書き込み操作を実行するためのプログラミング回路と、前記プログラミング回路に結合され、複数の重み値に対応する複数の重みデータを受信し、且つ前記プログラミング回路により実行される前記書き込み操作を制御することで、前記重み値のシーケンシャルな順序に従って前記メモリセルの前記電気的特性をプログラミングするための制御回路と、を含み、前記メモリアレイに結合される処理回路と、
ビット線に結合され、前記メモリセルの前記電気的特性を読み取り、複数の入力値に前記重み値を乗算した積の和に対応する第1の総和結果を生成するように、前記メモリセルで読み取り操作を実行するための読み出し回路と、
前記読み出し回路に結合され、2の補数表現により前記第1の総和結果をエンコードすることで、符号付き総和結果を生成するための変位変換器と、
を備えるメモリシステム。
【請求項2】
前記メモリセルは、前記ビット線に結合され、それぞれ複数のワード線により制御される請求項1に記載のメモリシステム。
【請求項3】
前記制御回路は、更に、
前記入力値に対応する複数の入力データを受信し、且つ
前記入力データに基づいてそれぞれ前記ワード線における複数の電圧を制御することで、前記メモリセルのそれぞれがイネーブル又はディスエーブルされるように制御するために用いられる請求項2に記載のメモリシステム。
【請求項4】
前記読み出し回路は、更に、前記第1の総和結果を生成するように、前記ビット線に結合されるイネーブルされた前記メモリセルにより生成される総電流を読み取るために用いられる請求項3に記載のメモリシステム。
【請求項5】
前記変位変換器は、
前記入力データを受信して加算し、且つ前記入力データの総和に2n-1(nは前記重みデータのビット数である)を乗算することで、第2の総和結果を生成するための加算器と、
前記第1の総和結果から前記第2の総和結果を減算することで、前記符号付き総和結果を生成するための減算器と、
を含む請求項に記載のメモリシステム。
【請求項6】
コンピューティングインメモリ操作を実行するためのメモリシステムであって、
ビット線に結合されるとともに、それぞれ、複数の重み値に対応する複数の符号付き数である複数の重みデータを記憶し、また、複数のワード線により制御される複数のメモリセルを含むメモリアレイと、
プログラミング回路に結合され、複数の入力値に対応する複数の入力データを受信し、且つ前記入力データに基づいてそれぞれ前記ワード線における複数の電圧を制御することで、前記メモリセルのそれぞれをイネーブル又はディスエーブルに制御するための制御回路と、前記ビット線に結合され、前記イネーブルされたメモリセルの複数の電気的特性を読み取り、符号無しデータに基づく第1の総和結果を生成するように、読み出し操作を実行するための読み出し回路と、前記読み出し回路に結合され、2の補数表現により前記第1の総和結果をエンコードすることで、符号付き総和結果を生成するための変位変換器と、を含み、前記メモリアレイに結合される処理回路と、
を備えるメモリシステム。
【請求項7】
前記変位変換器は、
前記入力データを受信して加算し、且つ前記入力データの総和に2n-1(nは前記重みデータのビット数である)を乗算することで、第2の総和結果を生成するための加算器と、
前記第1の総和結果から前記第2の総和結果を減算することで、前記符号付き総和結果を生成するための減算器と、
を含む請求項に記載のメモリシステム。
【請求項8】
ビット線に結合されるとともに、それぞれ、複数の重み値に対応する複数の符号付き数である複数の重みデータを記憶し、また、複数のワード線により制御される複数のメモリセルを含むメモリアレイの操作方法であって、
複数の入力データに基づいてそれぞれ前記ワード線における複数の電圧を制御することで、前記メモリセルのそれぞれをイネーブル又はディスエーブルに制御する工程と、
前記イネーブルされたメモリセルの複数の電気的特性を読み取り、符号無しデータである第1の総和結果を生成するように、読み取り操作を実行する工程と、
2の補数表現により前記第1の総和結果をエンコードすることで、符号付き総和結果を生成する工程と、
を含むメモリアレイの操作方法。
【請求項9】
2の補数表現により前記第1の総和結果をエンコードすることで、前記符号付き総和結果を生成する前記工程は、
前記入力データを受信して加算し、且つ前記入力データの総和に2n-1(nは前記重みデータのビット数である)を乗算することで、第2の総和結果を生成することと、
前記第1の総和結果から前記第2の総和結果を減算することで、前記符号付き総和結果を生成することと、
を含む請求項に記載の操作方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、メモリシステム及びメモリアレイの操作方法に関し、特にメモリアレイと処理回路を含むメモリシステム及びメモリアレイの操作方法に関する。
【背景技術】
【0002】
人工知能(artificial intelligence;AI)、深層学習(deep learning;DL)、機械学習(machine learning;ML)、強化学習等の高性能コンピューティング(high performance computing;HPC)の実施は、大量の行列乗算に係る場合が多く、その速度がメモリのアクセス速度によって制限され、これはフォン・ノイマン・ボトルネック(Von Neumann bottleneck)とも呼ばれる。この速度による制限に鑑み、コンピューティングインメモリ(computing-in-memory;CiM)アーキテクチャは、現在のコンピューティングアーキテクチャにおけるフォン・ノイマン・ボトルネックを突破する可能性があるため、注目を集めた。
【発明の概要】
【0003】
本開示の一実施例は、コンピューティングインメモリ操作を実行するためのメモリシステムであって、複数のメモリセルを含むメモリアレイと、メモリアレイに結合され、メモリセルの複数の電気的特性をプログラミングするように、書き込み操作を実行するためのプログラミング回路と、プログラミング回路に結合され、複数の重み値に対応する複数の重みデータを受信し、且つプログラミング回路により実行される書き込み操作を制御することで、重み値のシーケンシャルな順序に従ってメモリセルの電気的特性をプログラミングするための制御回路と、を含み、メモリアレイに結合される処理回路と、を備えるメモリシステムを提供する。
【0004】
本開示の別の実施例は、コンピューティングインメモリ操作を実行するためのメモリシステムであって、ビット線に結合されるとともに、それぞれ、複数の重み値に対応する複数の符号付き数である複数の重みデータを記憶し、また、複数のワード線により制御される複数のメモリセルを含むメモリアレイと、プログラミング回路に結合され、複数の入力値に対応する複数の入力データを受信し、且つ入力データに基づいてそれぞれワード線における複数の電圧を制御することで、メモリセルのそれぞれをイネーブル又はディスエーブルに制御するための制御回路と、ビット線に結合され、イネーブルされたメモリセルの複数の電気的特性を読み取り、符号無しデータに基づく第1の総和結果を生成するように、読み出し操作を実行するための読み出し回路と、読み出し回路に結合され、2の補数表現により第1の総和結果をエンコードすることで、符号付き総和結果を生成するための変位変換器と、を含み、メモリアレイに結合される処理回路と、を備えるメモリシステムを提供する。
【0005】
本開示の別の実施例は、ビット線に結合されるとともに、それぞれ、複数の重み値に対応する複数の符号付き数である複数の重みデータを記憶し、また、複数のワード線により制御される複数のメモリセルを含むメモリアレイの操作方法であって、複数の入力データに基づいてそれぞれワード線における複数の電圧を制御することで、メモリセルのそれぞれをイネーブル又はディスエーブルに制御する工程と、イネーブルされたメモリセルの複数の電気的特性を読み取り、符号無しデータである第1の総和結果を生成するように、読み取り操作を実行する工程と、2の補数表現により第1の総和結果をエンコードすることで、符号付き総和結果を生成する工程と、を含むメモリアレイの操作方法を提供する。
【図面の簡単な説明】
【0006】
本発明の態様は、添付される図面に合わせて読まれる際に、以下の詳細な記述内容から最もよく理解されるであろう。業界における標準仕様に従い、各種の特徴は縮尺通りに描かれていないことに留意されたい。実際には、明らかに説明するために、各種の特徴の寸法は任意に増減可能である。
図1】幾つかの実施例によるメモリシステムを示す模式的ブロック図である。
図2A】幾つかの実施例による、重みデータがそれぞれ符号無し数及び符号付き数である場合のマルチレベルセル(multi-level cell;MLC)におけるプログラミング操作のテーブルを示す。
図2B】幾つかの実施例による、重みデータがそれぞれ符号無し数及び符号付き数である場合のトリレベルセル(tri-level cell;TLC)におけるプログラミング操作のテーブルを示す。
図3A】幾つかの実施例による、重みデータがそれぞれ符号無し数及び符号付き数である場合にMLCで実行される読み取り操作のテーブルを示す。
図3B】幾つかの実施例による、符号付き数の重みデータが記憶されたMLCで読み取り操作を実行する場合に読み出し回路により実行されるデータ変換を示す。
図3C】幾つかの実施例による、重みデータがそれぞれ符号無し数及び符号付き数である場合にTLCで実行される読み取り操作のテーブルを示す。
図3D】幾つかの実施例による、符号付き数の重みデータが記憶されたTLCで読み取り操作を実行する場合に読み出し回路により実行されるデータ変換を示す。
図4A】幾つかの実施例によるメモリシステムを示す。
図4B】幾つかの実施例による、重みデータが符号付き数である場合に読み出し回路により実行される読み取り操作のテーブルを示す。
図5A】幾つかの実施例による操作方法を示すフローチャートである。
図5B】幾つかの実施例による別の操作方法を示すフローチャートである。
【発明を実施するための形態】
【0007】
以下の開示内容により、提案される主題を実施するための異なる特徴の多くの異なる実施例又は実例を提供する。以下、本発明を簡略化するように、コンポーネントと配置の特定の実例を記述する。勿論、これらは単に実例に過ぎず、制限しようとするものではない。例えば、以下の記述では、第1の特徴が第2の特徴の上方又はその上に形成されることは、第1の特徴と第2の特徴が直接接触するように形成される実施例を含んでもよく、別の特徴が第1の特徴と第2の特徴の間に形成されて第1の特徴と第2の特徴が直接接触しないことを可能にする実施例を含んでもよい。また、本発明の各種の実例において、数字及び/又はアルファベットを繰り返して参照してよい。この繰り返しは、簡単且つ明瞭にするためであり、且つそれ自身は、説明される各種の実施例及び/又は構成の間の関係を指示しない。
【0008】
また、記述しやすくするために、本明細書において「~下方」、「~の下」、「下部」、「~の上」、「上部」、「~上」、「~上方」等の空間相対用語及び類似するものを使用して、各図面に示される1つの素子又は特徴と別(複数)の素子又は特徴の関係を記述してよい。空間相対用語は、各図面に描かれている方向配置以外の装置の使用又は動作時の異なる方向配置を網羅することを意図する。デバイスは、他の形で方向配置されてもよく(90度回転又は他の方向配置)、且つ、本明細書において使用される空間相対記述子はそれに応じて類似するように解釈されてよい。ソース/ドレイン領域は、ソース又はドレインを指してよく、個別に又は共同して文脈によって決定される。
【0009】
図1は、幾つかの実施例によるメモリシステム1を示す模式的ブロック図である。メモリシステム1は、コンピューティングインメモリ(computing-in-memory;CiM)操作を実行するために用いることができる。メモリシステム1は、メモリアレイ10と、メモリアレイ10に結合される処理回路(コントローラとも称される)12と、を備える。処理回路12は、メモリアレイ10の操作を制御するために用いられる。処理回路12は、メモリアレイ10で書き込み操作(プログラミング操作とも称される)又は読み取り操作のうちの少なくとも1つを実行するために用いられる。幾つかの実施例において、メモリシステム1は、システムオンチップ(system on a chip;SOC)の形で単一のウェハに集積されて設けられる。幾つかの実施例において、メモリシステム1は、より大きなIC装置の一部として含まれ、IC装置は、メモリシステム以外の他の機能的回路システムを含む。幾つかの実施例において、メモリシステム1は、少なくとも1つのチップに設けられる。
【0010】
図1におけるメモリシステム1の例示的構成では、図示されていないが、メモリアレイ10は、行列に配置された複数のメモリセルを含む。メモリセルは、少なくとも1つの記憶素子を含んでよい。各記憶素子の電気的特性(例えば、抵抗又は臨界電圧又は他の適切な電気的特性)は、異なるレベルでプログラミング可能である。従って、メモリセルは、対応するレベルで記憶素子の電気的特性をプログラミングすることでデータを記憶することができる。幾つかの実施例において、メモリアレイ10におけるメモリセルのそれぞれは、マルチレベルセル(multi-level cell;MLC)、トリレベルセル(tri-level cell;TLC)、クアッドレベルセル(quadra-level cell;QLC)、又は類似するものである。幾つかの実施例において、複数のメモリセルを含むメモリシステム1は、MLC、TLC、又はQLCメモリのうちの1つとして構成され、データを記憶するために用いられる。1つ又は複数の実施例において、MLC、TLC、又はQLCメモリは、更にCiM操作を実行するために用いられる。少なくとも1つの実施例において、より大きなメモリウィンドウ(メモリからデータを読み取るための余裕)、より好ましいコンピューティング性能、又は類似するものを含むがこれらに限定されない1つ又は複数の利点を達成する可能性がある。
【0011】
メモリアレイ10は、複数のワード線、複数のソース線及び少なくとも1つのビット線を更に含む。メモリセルのそれぞれは、対応するビット線及び対応するワード線を介して処理回路12に結合される。ワード線は、そこから読み取られるアドレス、及び/又はそこに書き込まれるアドレス、又は類似するもののメモリセル、又はメモリセルにおける記憶素子のアドレスを伝送するために用いられる。ワード線は、「アドレス線」と称される場合がある。少なくとも1つのビット線及び/又はソース線は、対応するワード線におけるアドレスにより指示されるメモリセル又はメモリセルにおける記憶素子に書き込まれる、及び/又はそこから読み出されるデータ、又は類似するものを伝送するために用いられる。少なくとも1つのビット線及び/又はソース線は、「データ線」と称される場合がある。メモリアレイ10におけるワード線、ビット線、及び/又はソース線の各々の数は、各種の実施例の範疇内にある。
【0012】
異なる電気的特性値を有するようにプログラミング可能な記憶素子の実例は、抵抗ランダムアクセスメモリ(ReRAM又はRRAM)、磁気ランダムアクセスメモリ(magnetic RAM;MRAM)、相変化メモリ(phase change memory;PCM)、電荷蓄積材料又は浮遊ゲートを含むフラッシュメモリ、又は類似するものを含むが、これらに限定されない。1つ又は複数の実施例において、NORゲートとNANDゲートフラッシュメモリは、両者ともメモリセルの記憶素子を実施するために適用される。RRAM、MRAM又はPCM記憶素子は、メモリ層と直列に電気的に結合されるアクセストランジスタを含む。メモリ層は、記憶素子の2つ以上の抵抗値に対応する2つ以上の状態を有するようにプログラミング可能である。RRAM、MRAM、又はPCM記憶素子のアクセストランジスタのゲートは、記憶素子の制御端子に対応し、且つ対応するワード線に電気的に結合される。フラッシュメモリ素子は、浮遊ゲート又は電荷蓄積層を有するトランジスタを含む。浮遊ゲート又は電荷蓄積層は、記憶素子の2つ以上の抵抗値に対応する2つ以上のレベルの電荷を蓄積するようにプログラミング可能である。フラッシュメモリ素子のトランジスタのゲートは、記憶素子の制御端子に対応し、且つ対応するワード線に電気的に結合される。他のタイプ又は構成の記憶素子も各種の実施例の範疇内にある。
【0013】
処理回路12は、プログラミング回路120と、制御回路122と、読み出し回路124と、を含む。少なくとも1つの実施例において、処理回路12は、メモリシステム1の各種のコンポーネントにクロック信号を提供するための1つ又は複数のクロック生成器、外部装置とデータ交換を行うための1つ又は複数の入力/出力(input/output;I/O)回路、及び/又はメモリシステム1における各種の操作を制御するための1つ又は複数のコントローラを更に含む。
【0014】
プログラミング回路120は、メモリアレイ10の少なくとも1つのメモリセルに対して書き込み操作を実行するように、少なくとも1つのビット線及びソース線を介してメモリアレイ10のメモリセルに結合される。少なくとも1つの実施例において、処理回路12は、ワード線を介してメモリアレイ10に結合されるワード線ドライバ(「ワード線デコーダ」とも称される)を更に含む。ワード線ドライバは、選択されたメモリセルの行アドレスをデコードするために用いられ、前記メモリセルは、読み取り操作又は書き込み操作でアクセスするために選択される。少なくとも1つの実施例において、プログラミング回路120により対応するソース線における電圧を制御することで、選択されたメモリセルに対して書き込み操作を実行するため、選択されたメモリセルの電気的特性は、印加される電圧に対応するレベルに調整可能である。
【0015】
読み出し回路124は、メモリアレイ10の少なくとも1つのメモリセルに対して読み取り操作を実行するように、少なくとも1つのビット線を介してメモリアレイ10のメモリセルに結合される。少なくとも1つの実施例において、読み出し回路124は、少なくとも1つのビット線を介してメモリアレイ10に結合されるセンスアンプを更に含む。センスアンプは、読み出し操作で少なくとも1つのビット線からメモリセルの電気的特性を読み出すために用いられる。
【0016】
制御回路122は、メモリアレイ10で実行される書き込み操作及び/又は読み取り操作を制御するように、プログラミング回路120及び読み出し回路124に結合される。少なくとも1つの実施例において、制御回路122は、複数の重み値に対応する複数の重みデータを受信するとともに、メモリセルで書き込み操作を実行するようにプログラミング回路120を制御するために用いられ、それにより、メモリセルの電気的特性は、重み値の順序に従うようにプログラミング可能である。少なくとも1つの実施例において、個別のメモリセルの電気的特性は、重み値のシーケンシャルな順序に従ってプログラミングされる。各メモリセルの電気的特性は、重み値の増減に伴って持続的に増減する。制御回路122の実例は、中央処理装置(central processing unit;CPU)、メモリコントローラ、マイクロプロセッサ制御装置(microprocessor control unit;MCU)、特定用途向け集積回路(application specific integrated circuit;ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array;FPGA)の回路実装、又はハードウェア記述言語(例えば、Verilog、VHDL)からの回路実装、及び類似するものを含むが、これらに限定されない。制御回路122の他のタイプ又は構成も各種の実施例の範疇内にある。
【0017】
例えば、書き込み操作では、選択されたメモリセルには、対応するワード線を介して書き込み電圧が供給される。また、プログラミング回路120の対応するビット線、及び/又は対応するソース線を介して低電圧を選択されたメモリセルに提供する。従って、書き込み操作を実行するように、十分に大きな電圧差を選択されたメモリセルに提供する。選択されていないメモリセルに対して、高電圧を選択されていないメモリセルの対応するビット線に提供する。従って、前記選択されていないメモリセルに対して十分でない電圧を提供する。
【0018】
より特に、符号付き数と符号無し数については、重みデータの重み値に対する順序は異なる。以下の表1には、ビット順序で配置された2ビットの符号付き数及び符号無し数の重みデータと重み値の実例が示されている。例えば、重みデータのビット順序は、00、01、10、11という順序に従う重みデータの二進値の増加につれて増加する。表1に示すように、符号付き数及び符号無し数の重みデータは、ビット順序で列挙されている。符号無し数の場合、重み値は、重みデータのビット順序で単調に増加する。しかしながら、符号付き数の場合、重み値は、重みデータのビット順序の増加につれて単調に増加するか又は単調に減少することはない。符号付き数の符号ビットが変わらない場合、符号付き数の重み値は、重みデータのビット順序につれて増加する。しかしながら、符号付き数の符号ビットが変わる場合(例えば、重みデータが01から10に変わる)、符号付き数の重み値が減少するが、重みデータのビット順序が増加する。換言すれば、符号無し数の場合、重みデータのビット順序は、重み値のシーケンシャルな順序と同じであるが、符号付き数の場合、それと異なる。重みデータのビット順序と重み値のシーケンシャルな順序の間のそのような差異によって、制御回路122が符号付き数の書き込み操作を実行する時に更なる変換を必要とし、それにより、メモリセルの電気的特性は、対応する重み値のシーケンシャルな順序に従ってプログラミング可能になる。換言すれば、メモリセルの電気的特性は、重みデータのビット順序ではなく制御回路102により受信した重み値の順序に従ってプログラミングされる。この実例において、重み値がそれぞれ2の補数表現で重みデータとしてエンコードされるが、符号付き数に用いられる補数等の他の適切なエンコードメカニズムも、各種の実施例の範疇内にあることに留意されたい。
【表1】
【0019】
少なくとも1つの実施例において、処理回路12は、制御回路122に結合されるレジスタを更に含む。レジスタは、符号付き数及び符号無し数の全ての重みデータに対応するプログラミングパラメータのテーブルを記憶して記録するために用いられる。プログラミングパラメータは、例えば、対応するソース線及び/又は対応するビット線に印加される書き込み電圧であってよいが、これに制限されない。従って、制御回路122は、受信した重みデータが符号付き数であるか又は符号無し数であるかを識別し、識別結果及び受信した重みデータに基づき、記憶されたテーブルから適切なプログラミングパラメータを取得することができ、それにより、対応する重み値のシーケンシャルな順序に従って選択されたメモリセルの電気的特性をプログラミングすることができる。
【0020】
また、レジスタを含む他、処理回路12は、データ変換を行うように、制御回路122に結合される変換ロジックを含んでもよい。例えば、変換ロジックは、符号付き数の重みデータに対してデータ変換を実行するために用いることができる。重みデータが符号無し数であると判定した場合、変換ロジックは、ディスエーブルされてよく、それにより、符号無し数の重みデータを書き込み操作中にプログラミング回路120に直接提供することができる。重みデータが符号付き数であると判定した場合、変換ロジックは、重みデータを重み値に変換するようにイネーブルされてよく、それにより、プログラミング回路120は、書き込み操作中に重み値のシーケンシャルな順序に従ってメモリセルの電気的特性をプログラミングするようにイネーブルされる。
【0021】
図2Aは、幾つかの実施例による、重みデータが符号無し数及び符号付き数である場合のMLCにおけるプログラミング操作のテーブル200a、テーブル200bを示す。テーブル200aには、プログラミングされる符号無し数の重みデータ、重みデータに対応する重み値、及びセル抵抗と導電率(1/R)を含むMLCをプログラミングするための電気的特性が示されている。テーブル200aでは、重み値は、第2列においてシーケンシャルな順序で配置され、対応するプログラミングされる重みデータは、第1列にあり、対応するMLCの電気的特性は、第3列及び第4列にある。符号無し数の重み値の増加につれて、MLCのセル抵抗が減少し、導電率が増加することが分かる。また、重みデータのビット順序は、重み値のシーケンシャルな順序と一致する。
【0022】
テーブル200bには、プログラミングされる符号付き数の重みデータ、重みデータに対応する重み値、及びセル抵抗と導電率を含むMLCをプログラミングするための電気的特性が示されている。テーブル200bでは、重み値は、第2列においてシーケンシャルな順序で配置され、対応するプログラミングされる重みデータは、第1列にあり、対応するMLCの電気的特性は、第3列及び第4列にある。同様に、重み値の増加につれて、MLCのセル抵抗が減少するが、メモリセルの導電率が増加する。従って、テーブル200a及びテーブル200bでは、セル抵抗と導電率の両方を含めた電気的特性の順序は、重み値のシーケンシャルな順序に従ってプログラミングされ、符号付き数及び符号無し数でプログラミングされる場合、重み値のシーケンシャルな順序に対する電気的特性の上記のような順序は同じである。
【0023】
図2Bは、幾つかの実施例による、重みデータが符号無し数及び符号付き数である場合のTLCにおけるプログラミング操作のテーブル200c、200dを示す。テーブル200cには、プログラミングされる符号無し数の重みデータ、重みデータに対応する重み値、及びセル抵抗と導電率を含むTLCをプログラミングするための電気的特性が示されている。テーブル200cでは、重み値は、第2列においてシーケンシャルな順序で配置され、対応するプログラミングされる重みデータは、第1列にあり、対応するTLCの電気的特性は、第3列及び第4列にある。符号無し数の重み値の増加につれて、TLCのセル抵抗が減少し、導電率が増加することが分かる。また、重みデータのビット順序は、重み値のシーケンシャルな順序と一致する。
【0024】
テーブル200dには、プログラミングされる符号付き数の重みデータ、重みデータに対応する重み値、及びセル抵抗と導電率を含むTLCをプログラミングするための電気的特性が示されている。テーブル200dでは、重み値は、第2列においてシーケンシャルな順序で配置され、対応するプログラミングされる重みデータは、第1列にあり、対応するTLCの電気的特性は、第3列及び第4列にある。同様に、重み値の増加につれて、TLCのセル抵抗が減少するが、メモリセルの導電率が増加する。従って、テーブル200c、200dでは、セル抵抗と導電率の両方を含めた電気的特性の順序は、重み値のシーケンシャルな順序に従ってプログラミングされ、符号付き数及び符号無し数でプログラミングされる場合、重み値のシーケンシャルな順序に対する電気的特性の上記のような順序は同じである。
【0025】
また、符号無し数の電気的特性の場合、2ビットでも3ビットでも、セル抵抗は、重み値に反比例するが、導電率は、重み値に正比例する。より特に、プログラミングされた導電率は、重み値と線形関係にあり、更にMLCで実行されるCiM操作に寄与する。CiM操作について下記でより詳細に記述する。
【0026】
例えば、読み取り操作中に、選択されたメモリセルは、選択されたメモリセルを十分にイネーブルするように、対応するワード線を介して読み取り電圧を供給するために用いられる。また、対応するソース線を介して読み出し電流を選択されたメモリセルに提供する。従って、選択されたメモリセルは、読み取り操作を実行するようにイネーブルされ、メモリセルを流れる電流は、メモリセル内の記憶素子の電気的特性(電気的特性が重みデータに対応するレベルでプログラミングされる)により判定され、且つ対応するビット線に提供される。センスアンプは、電流を受け取り、且つ受け取った電流レベルを判定するように、それと少なくとも1つの電流臨界値を比較するために用いられる。従って、選択されたメモリセルに記憶されるデータは、センスアンプにより生成された比較結果から得られる。
【0027】
図3Aは、幾つかの実施例による、重みデータが符号無し数及び符号付き数である場合にMLCで実行される読み取り操作のテーブル300a、300bを示す。テーブル300aには、符号無し数の記憶された重みデータ、重みデータに対応する重み値、及びセル抵抗と導電率を含む読み取られるMLCの電気的特性が示されている。テーブル300aでは、重み値のシーケンシャルな順序は、重みデータのビット順序と同じであり、それにより、MLCから読み取った電気的特性(特に導電率)の順序も、重みデータのビット順序に従う。
【0028】
テーブル300bには、符号付き数の記憶された重みデータ、重みデータに対応する重み値、及びセル抵抗と導電率を含む読み取られるMLCの電気的特性が示されている。テーブル300bでは、重み値のシーケンシャルな順序は、重みデータのビット順序と異なるため、MLCから読み取った電気的特性(特に導電率)の順序は、重みデータのビット順序と一致しない。
【0029】
少なくとも1つの実施例において、読み取り操作は、読み出し回路124によりメモリセルを流れる電流レベルをセンシングすることにより実行される。重み値のシーケンシャルな順序に従う電気的特性にプログラミングする利点の1つとしては、符号無し数の重みデータが記憶されたMLCで読み取り操作を実行する場合、MLCから読み取った電気的特性(抵抗と導電率の両方を含める)の順序が重みデータのビット順序と一致するため、読み出し回路124により指定された電気的特性のシーケンシャルな順序は、容易に符号無し数の重みデータとして用いることができる。従って、符号無し数の重みデータが記憶されたMLCで読み取り操作を実行する場合、簡単なデータ変換を行う必要があるか、又はデータ変換を行う必要がない。少なくとも1つの実施例において、符号付き数の重みデータが記憶されたMLCで読み取り操作を実行する場合、センスアンプからの比較結果によりMLCの電気的特性を符号無し数として指定するため、読み出し回路124は、更なるデータ変換を行う必要がある。
【0030】
図3Bは、幾つかの実施例による、符号付き数の重みデータが記憶されたMLCで読み取り操作を実行する場合に読み出し回路124により実行されるデータ変換を示す。図3Bには、それぞれ導電率と符号無し数及び符号付き数の重み値との間の関係に対応する2本の線L1、L2が示されている。少なくとも1つの実施例において、読み出し回路124は、MLCから導電率を読み取り、且つ符号無しデータの第1の読み出しデータを生成する。第1の読み出しデータは、図3Aに示されるテーブル300bの第2列に挙げられたデータに対応し、且つ図3Bにおける線L1に示される0~3の重み値の範囲をも網羅する。第1の読み出しデータを符号無しから符号付きに変換するために、線L1を2n-1のシフト量だけ左へ線L2までシフトさせる必要があり、nは各重みデータに伴われるビット数であり、即ち、本実施例において2である。場合によって、nは、重みデータのビット数とも称される。線L1を2n-1だけ左へシフトさせる操作は、第1の読み出しデータから2n-1を減算するデータ変換に対応する。例えば、テーブル300bにおける第1行を参照し、第1の読み出しデータは11であり、データ10(二進値22-1に対応する)を減算することにより、MLCでプログラミングされる重みデータに対応する符号付き読み出しデータ01を算出する。従って、MLCから符号付き数の重みデータを読み取る読み取り操作中に、センスアンプにより生成された比較結果から値22-1を減算するデータ変換を利用して符号付き数の重みデータを得ることができる。
【0031】
図3Cは、幾つかの実施例による、重みデータがそれぞれ符号無し数及び符号付き数である場合にTLCで実行される読み取り操作のテーブル300c、300dを示す。テーブル300cには、記憶された符号無し数の重みデータ、重みデータに対応する重み値、及びセル抵抗と導電率を含むTLCをプログラミングする電気的特性が示されている。テーブル300dには、記憶された符号付き数の重みデータ、重みデータに対応する重み値、及びセル抵抗と導電率を含むTLCをプログラミングする電気的特性が示されている。以上に検討されたテーブル300a、300bと類似し、テーブル300cに示すように、重み値のシーケンシャルな順序は、重みデータのビット順序と同じであり、それにより、TLCから読み出された電気的特性(特に導電率)の順序も、重みデータのビット順序に従う。テーブル300dに示すように、重み値のシーケンシャルな順序は、重みデータのビット順序と異なるため、TLCから読み出された電気的特性(特に導電率)の順序は、重みデータのビット順序と一致しない。
【0032】
図3Dは、幾つかの実施例による、符号付き数の重みデータが記憶されたTLCで読み取り操作を実行する場合に読み出し回路124により実行されるデータ変換を示す。図3Dには、それぞれ符号無し数及び符号付き数の導電率と重み値との間の関係に対応する2本の線L3、L4が示されている。少なくとも1つの実施例において、読み出し回路124は、TLCの導電率を読み取り、且つ符号無しデータの第1の読み出しデータを生成する。第1の読み出しデータは、図3Cに示されるテーブル300dの第2列に挙げられたデータに対応し、図3Dにおける線L3に示される0~7の重み値の範囲をも網羅する。第1の読み出しデータを符号無しから符号付きに変換するために、線L3を2n-1のシフト量だけ左へ線L4までシフトさせる必要があり、nは各重みデータに伴われるビット数であり、即ち、本実施例において3である。線L3を2n-1だけ左へシフトさせる操作は、第1の読み出しデータから2n-1を減算するデータ変換に対応する。例えば、テーブル300dにおける第5行を参照し、読み出しデータは011であり、データ100(二進値23-1に対応する)を減算することにより、TLCでプログラミングされる重みデータに対応する符号付き読み出しデータ111を算出する。従って、TLCから符号付き数の重みデータを読み取る読み取り操作中に、センスアンプにより生成された比較結果から数値23-1を減算するデータ変換を利用して符号付き数の重みデータを得ることができる。
【0033】
図4Aは、幾つかの実施例によるメモリシステム4を示す。メモリシステム4は、コンピューティングインメモリ(computing-in-memory;CiM)操作を実行するために用いることができる。メモリシステム4は、メモリアレイ40と、メモリアレイ40に結合される処理回路42と、を備える。処理回路42は、メモリアレイ40の操作を制御するために用いられる。処理回路42は、メモリアレイ40に対する書き込み操作及び/又は読み取り操作のうちの少なくとも1つを実行するために用いられる。
【0034】
メモリアレイ40は、それぞれワード線WL1~WLnに結合される複数のメモリセルMC1~MCnを含む。メモリセルMC1~MCnのそれぞれは、ソース線SLに結合される一方の端子、及びビット線BLに結合される他方の端子を有し、各メモリセルの制御端子は、ワード線のうちの対応する1つにより制御される。少なくとも1つの実施例において、各メモリセルは、記憶素子及びソース線SLとビット線BLの間に直列に結合されるセレクタを含む。セレクタの制御端子は、ワード線のうちの対応する1つに結合されることで、メモリセルをワード線で提供される電圧によってイネーブル又はディスエーブルするように制御する。各メモリセルの電気的特性(例えば、抵抗又は臨界電圧又は他の適切な電気的特性)は、異なるレベルでプログラミングされる。従って、メモリセルは、対応するレベルで記憶素子の電気的特性をプログラミングすることでデータを記憶することができる。図4Aには1本のソース線及び1本のビット線のみが示されているが、メモリアレイ40におけるワード線及び/又はビット線及び/又はソース線の各種の数は、各種の実施例の範疇内にある。
【0035】
処理回路42は、プログラミング回路420と、制御回路422と、読み出し回路424と、変位変換器426と、を含む。少なくとも1つの実施例において、処理回路42は、メモリシステム4の各種のコンポーネントにクロック信号を提供するための1つ又は複数のクロック生成器、外部装置とデータ交換を行うための1つ又は複数の入力/出力(input/output;I/O)回路、及び/又はメモリシステム4の各種の操作を制御するための1つ又は複数のコントローラを更に含む。
【0036】
プログラミング回路420は、メモリアレイ40のメモリセルMC1~MCnで書き込み操作を実行するように、ビット線BL及びソース線SLを介してメモリアレイ40のメモリセルMC1~MCnに結合される。少なくとも1つの実施例において、処理回路42は、ワード線を介してメモリアレイ40に結合されるワード線ドライバ(「ワード線デコーダ」とも称される)を更に含む。ワード線ドライバは、選択されたメモリセルの行アドレスをデコードするために用いられ、メモリセルは、読み取り操作又は書き込み操作でアクセスするために選択される。また、書き込み操作の細部について、上記で図2A図2Bを参照して記述したため、ここで繰り返して説明しない。
【0037】
読み出し回路424は、メモリアレイ40の少なくとも1つのメモリセルで読み取り操作を実行するように、ビット線BLを介してメモリアレイ40のメモリセルMC1~MCnに結合される。少なくとも1つの実施例において、読み出し回路424は、ビット線を介してメモリアレイ40に結合されるセンスアンプを更に含む。センスアンプは、読み取り操作中にビット線BLからイネーブルされたメモリセルMC1~MCnの等価電気的特性のレベルを読み取るために用いられる。また、読み出し回路424は、ビット線BLから受信した等価電気的特性に線形に関連する加算総和結果SR1を生成する。
【0038】
制御回路422は、メモリアレイ40で実行される書き込み操作及び/又は読み取り操作を制御するように、プログラミング回路420及び読み出し回路424に結合される。少なくとも1つの実施例において、制御回路422は、複数の重み値に対応する複数の重みデータを受信するとともに、メモリセルで書き込み操作を実行するようにプログラミング回路420を制御するために用いられ、それにより、メモリセルの電気的特性は、重み値の順序に従うようにプログラミング可能である。少なくとも1つの実施例において、メモリセルの電気的特性は、重み値のシーケンシャルな順序に従ってプログラミングされる。制御回路422の実例は、中央処理装置(central processing unit;CPU)、メモリコントローラ、マイクロプロセッサ制御装置(microprocessor control unit;MCU)、特定用途向け集積回路(application specific integrated circuit;ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array;FPGA)の回路実装、又はハードウェア記述言語(例えば、Verilog、VHDL)からの回路実装、又は類似するものを含むが、これらに限定されない。制御回路422の他のタイプ又は構成も各種の実施例の範疇内にある。
【0039】
図4Bは、幾つかの実施例による、重みデータが符号付き数である場合に読み出し回路424により実行される読み取り操作の重み値及びメモリセルの抵抗値を示すテーブル400aを示す。この実施例において、4つのメモリセルMC1~MC4は、メモリアレイ40におけるソース線SLとビット線BLの間に平行に設けられ、全てのメモリセルMC1~MC4は、ワード線WL1~WL4によりイネーブルされるように制御される。また、メモリセルMC1~MC4のそれぞれは、2ビットの重みデータを記憶可能なMLCである。
【0040】
テーブル400aには、メモリセルMC1~MC4により記憶された重み値、メモリセルMC1~MC4のセル抵抗、及び平行に設けられたメモリセルMC1~MC4の等価抵抗Reqと導電率1/Reqが示されている。より特に、テーブル400aには、負の重み値が記憶されたメモリセルMC1~MC4で実行される読み取り操作が示されている。この実例において、各メモリセルの電気的特性は、重みデータのビット順序ではなく重み値のシーケンシャルな順序に従ってプログラミングされる。より特に、各メモリセルのセル抵抗は、重み値に反比例するようにプログラミングされるが、導電率は重み値に正比例する。従って、各メモリセルの導電率は、対応する重み値と線形関係にある。
【0041】
テーブル400aから分かるように、メモリセルMC1~MC4の総導電率1/Reqも、メモリセルMC1~MC4におけるプログラミングされた重み値の総和に比例する。換言すれば、重みデータが符号付き数である場合、各メモリセルのプログラミングされた導電率と記憶された重み値との間の線形関係も、同一のビット線のメモリセルに格納される。この線形関係によって、読み出し回路424は、ビット線BLにおける総電流から重み値の総和に線形に関連する総和結果SR1を得ることができる。従って、同一のビット線における重み値の総和は、加算前に符号付き数と符号無し数を変換する更なる回路を必要とせずに、読み出し回路424が同一のビット線におけるメモリセルの総電流を受信することで実行されて得られる。従って、読み出し回路424は、読み取り操作を実行することで同一のビット線に結合されるメモリセルに記憶された符号付き数及び/又は符号無し数の和を求めることができる。少なくとも1つの実施例において、読み出し回路424により生成された総和結果SR1は符号無しデータであるため、上記で図3A図3Dについて検討されるように、総和結果SR1は、重み値と線形関係にある。
【0042】
少なくとも1つの実施例において、積和(sum of product;SOP)結果を計算するために、メモリシステム4によりCiM操作を実行する。少なくとも1つの実施例において、制御回路422により入力データIn1~Innを受信することで、それぞれワード線WL1~WLnにおける電圧を制御し、各メモリセルMC1~MCnは、それに応じてイネーブル又はディスエーブル可能である。例えば、入力値が1である入力データを受信する時、選択されたメモリセルをイネーブルするように、アドレスデコーダにより読み取り電圧を対応するワード線に提供してよい。そうでなければ、入力値が0である入力データを受信する時、対応するメモリセルはディスエーブルされる。従って、各メモリセルは、対応する入力データに応じてイネーブル又はディスエーブルされ、且つイネーブルされたメモリセルの導電率の総和に対応する総電流をビット線BLに提供する。ビット線BLを流れる総電流は、入力データIn1~InnにそれぞれメモリセルMC1~MCnにより記憶された重みデータを乗算したSOP結果と等価である。換言すれば、入力データIn1~InnにそれぞれメモリセルMC1~MCnにより記憶された重みデータを乗算したSOP結果は、メモリセルMC1~MCnで読み取り操作を実行する時に得られ、それによってCiM操作が完了する。
【0043】
しかしながら、読み出し回路424により生成された総和結果SR1が符号無しデータであるため、メモリセルに記憶された重みデータが符号付き数である場合、更なるデータ変換を必要とする。少なくとも1つの実施例において、変位変換器426は、読み出し回路424に結合し、且つ読み出し回路424からの総和結果SR1に基づいて符号付き総和結果SSRを生成するために用いられる。具体的には、上記の図3A図3Dについての記述のように、総和結果SR1は、重み値のシーケンシャルな順序に従う符号無しデータであり、これは、符号付き重みデータのビット順序とは異なる。従って、変位変換器426は、処理回路42に設けられる。変位変換器426は、読み出し回路424に結合し、且つ2の補数表現により総和結果SR1を符号付きデータに変換することで符号付き総和結果SSRを生成するために用いられる。
【0044】
少なくとも1つの実施例において、変位変換器426は、加算器428と、減算器430と、を含む。加算器428は、入力データIn1~Innを受信するとともにその和を求め、且つ入力データIn1~Innの総和に2n-1を乗算して総和結果SR2を生成するために用いられる。減算器430は、加算器428に結合し、且つ総和結果SR1から総和結果SR2を減算して符号付き総和結果SSRを生成するために用いられる。
【0045】
具体的には、入力データIn1~Innと、メモリセルMC1~MCnにより記憶された重みデータとの間の乗算及び加算結果は、以下のように得られる。
【数1】
ただし、Ws1~Wsnは、それぞれメモリセルMC1~MCnに記憶される重みデータを表し、Wu1~Wunは、それぞれ対応するメモリセルから読み取った符号無し重みデータを表す。上記の図3A図3Dについての記述のように、各符号付き重みデータは、対応する符号無しデータから2n-1を減算したものと等価である。従って、以上の導出では、各符号付き重みデータWsnは、対応する符号無し重みデータWunから2n-1を減算したものによって置き換えられてよい。また、入力データIn1~Innにそれぞれ符号付き重みデータWs1~Wsnを乗算したSOP結果は、2つの部分の和として整理可能である。第1の部分は、入力データIn1~Innに符号無し重みデータWu1~Wunを乗算した積の和に等しく、これは、総和結果SR1に対応する。第2の部分は、入力データIn1~Innに(-2n-1)を乗算した総和に等しく、これは、総和結果SR2の負の値に対応する。その結果、入力データIn1~Innにそれぞれ符号付き重みデータWs1~Wsnを乗算したSOP結果は、上記導出に基づいて総和結果SR1から総和結果SR2を減算することで得られる。従って、加算器428及び減算器430の演算によって、重みデータが符号付き数である場合、符号付き総和結果SSRを生成することができる。幾つかの実施例において、重みデータが符号付き数である場合、変位変換器426はイネーブルされる。そうでなければ、重みデータが符号無し数である場合、変位変換器426はディスエーブルされ、総和結果SR1は、入力データと重み値のSOP結果として提供可能である。
【0046】
図5Aは、幾つかの実施例による操作方法500のフローチャートを示す。操作方法500は、図1及び図4Aに示されるメモリシステム1及び4により実施されて実行されてよい。操作方法500は、工程S50、S51を含む。
【0047】
図4Aにおけるメモリアレイ40は、NANDメモリアレイであるが、NORメモリアレイ等の他のタイプのメモリアレイにも適用される。例えば、NORメモリアレイにおけるメモリセルは、直列に結合可能であり、計算結果は、直列に結合されるメモリセルの電圧又は等価抵抗を測定することで得られる。また、図2A図2B図3A図3D図4Bにおける抵抗及び/又は導電率値は、単に例示するためのものに過ぎない。当業者は、メモリシステムが各種の設計概念とシステムの要求に適することができるように、メモリセルの電気的値を修正することができる。
【0048】
工程S50において、複数の重み値に対応する複数の重みデータを受信する。工程S51において、重み値のシーケンシャルな順序に従ってメモリセルの電気的特性をプログラミングするように、メモリセルで書き込み操作を実行する。
【0049】
より具体的には、受信した重みデータは、符号付き数又は符号無し数であってもよい。符号無し数の場合、重みデータのビット順序は、重み値のシーケンシャルな順序と同じであるが、符号付き数の場合、それと異なるため、符号付き数の書き込み操作を実行する時、メモリセルの電気的特性が対応する重み値のシーケンシャルな順序に従ってプログラミング可能になるように、制御回路122又は制御回路422により更なる変換を実行する必要がある。少なくとも1つの実施例において、プログラミング操作は、レジスタを介してプログラミングされたパラメータにアクセスすることで実行されてよく、これは、受信したデータだけでなく、重みデータが符号付きであるか否かの識別結果にも基づくことである。
【0050】
図5Bは、幾つかの実施例による別の操作方法502を示すフローチャートである。操作方法502は、工程S52~S54を含む。操作方法502は、図1及び図4Aに示されるメモリシステム1及び4により実施されて実行されてよい。操作方法502は、工程S52~S54を含む。
【0051】
工程S52において、複数の入力データに基づいてそれぞれワード線における電圧を制御することで、符号付き数が記憶された各メモリセルがイネーブル又はディスエーブルに制御される。工程S53において、イネーブルされたメモリセルの電気的特性を読み取り、符号無しデータに基づく第1の総和結果を生成するように、読み取り操作を実行する。工程S54において、2の補数表現により第1の総和結果をエンコードすることで、符号付き総和結果を生成する。
【0052】
より具体的には、各メモリセルの電気的特性は、符号付き数の重みデータを記憶するようにプログラミングされる。電気的特性は、重みデータに対応する重み値のシーケンシャルな順序に従ってプログラミングされる。より特に、電気的特性は、重み値に線形に関連するようにプログラミングされ、それにより、重み値の第1の総和結果は、工程S53でメモリセルの等価電気的特性を読み取ることで得られる。しかしながら、電気的特性が重み値と線形関係にあるため、メモリセルの電気的特性から得られた第1の総和結果は、符号無しデータに対応する。従って、工程S54において符号無しの第1の総和結果から符号付き総和結果へのデータ変換が必要とされる。
【0053】
少なくとも1つの実施例において、コンピューティングインメモリ(computing-In-memory;CiM)操作を実行するためのメモリシステムは、複数のメモリセルを含むメモリアレイと、メモリアレイに結合され、メモリセルの電気的特性をプログラミングするように、書き込み操作を実行するためのプログラミング回路と、プログラミング回路に結合され、複数の重み値に対応する複数の重みデータを受信し、且つプログラミング回路により実行される書き込み操作を制御することで、重み値のシーケンシャルな順序に従ってメモリセルの電気的特性をプログラミングするための制御回路と、を含み、メモリアレイに結合される処理回路と、を備える。
【0054】
幾つかの実施例において、重みデータは、2の補数表現によりエンコードされた複数の符号付き数である。
【0055】
幾つかの実施例において、メモリセルの電気的特性は、対応する重み値の増加につれて増加するようにプログラミングされる。
【0056】
幾つかの実施例において、メモリセルのそれぞれの電気的特性は、対応する重み値に比例するようにプログラミングされる。
【0057】
幾つかの実施例において、メモリセルは、ビット線に結合され、それぞれ複数のワード線により制御される。メモリシステムは、ビット線に結合され、メモリセルの電気的特性を読み取り、複数の入力値に重み値を乗算した積の和に対応する第1の総和結果を生成するように、メモリセルで読み取り操作を実行するための読み出し回路を更に含む。
【0058】
幾つかの実施例において、制御回路は、更に、入力値に対応する複数の入力データを受信し、且つ入力データに基づいてそれぞれワード線における複数の電圧を制御することで、メモリセルのそれぞれがイネーブル又はディスエーブルされるように制御するために用いられる。
【0059】
幾つかの実施例において、読み出し回路は、更に、第1の総和結果を生成するように、ビット線に結合されるイネーブルされたメモリセルにより生成される総電流を読み取るために用いられる。
【0060】
幾つかの実施例において、第1の総和結果は、メモリセルの等価電気的特性と線形関係にある。
【0061】
幾つかの実施例において、第1の総和結果は、符号無しデータに基づくものである。
【0062】
幾つかの実施例において、メモリシステムは、読み出し回路に結合され、2の補数表現により第1の総和結果をエンコードすることで、符号付き総和結果を生成するための変位変換器を更に含む。
【0063】
幾つかの実施例において、変位変換器は、入力データを受信して加算し、且つ入力データの総和に2n-1(nは重みデータのビット数である)を乗算することで、第2の総和結果を生成するための加算器と、第1の総和結果から第2の総和結果を減算することで、符号付き総和結果を生成するための減算器と、を含む。
【0064】
幾つかの実施例において、重みデータが複数の符号付き数である場合、変位変換器はイネーブルされる。
【0065】
少なくとも1つの実施例において、コンピューティングインメモリ(computing-In-memory;CiM)操作を実行するためのメモリシステムは、ビット線に結合されるとともに、それぞれ、複数の重み値に対応する符号付き数である複数の重みデータを記憶し、また、複数のワード線により制御される複数のメモリセルを含むメモリアレイと、メモリアレイに結合される処理回路であって、プログラミング回路に結合され、複数の入力値に対応する複数の入力データを受信し、且つ複数の入力データに基づいてそれぞれワード線における電圧を制御することで、各メモリセルをイネーブル又はディスエーブルに制御するための制御回路と、ビット線に結合され、イネーブルされたメモリセルの電気的特性を読み取り、符号無しデータに基づく第1の総和結果を生成するように、読み取り操作を実行するための読み出し回路と、読み出し回路に結合され、2の補数により第1の総和結果をエンコードすることで、符号付き総和結果を生成するための変位変換器と、を含む処理回路と、を備える。
【0066】
幾つかの実施例において、読み出し回路は、第1の総和結果を生成するように、ビット線からイネーブルされたメモリセルにより生成された総電流を読み取るために用いられる。
【0067】
幾つかの実施例において、第1の総和結果は、入力値にそれぞれ重み値を乗算した積の和に対応する。
【0068】
幾つかの実施例において、第1の総和結果は、イネーブルされたメモリセルの等価電気的特性と線形関係にある。
【0069】
幾つかの実施例において、変位変換器は、入力データを受信して加算し、且つ入力データの総和に2n-1(nは重みデータのビット数である)を乗算することで、第2の総和結果を生成するための加算器と、第1の総和結果から第2の総和結果を減算することで、符号付き総和結果を生成するための減算器と、を含む。
【0070】
少なくとも1つの実施例において、メモリアレイは、ビット線に結合されるとともに、それぞれ、複数の重み値に対応する複数の重みデータを記憶し、また、複数のワード線により制御される複数のメモリセルを含む。メモリアレイを操作するための操作方法は、複数の入力データに基づいてそれぞれワード線における電圧を制御することで、各メモリセルをイネーブル又はディスエーブルに制御する工程と、イネーブルされたメモリセルの電気的特性を読み取り、符号無しデータである第1の総和結果を生成するように、読み取り操作を実行する工程と、2の補数表現により第1の総和結果をエンコードすることで、符号付き総和結果を生成する工程と、を含む。
【0071】
幾つかの実施例において、2の補数表現により第1の総和結果をエンコードすることで、符号付き総和結果を生成する工程は、入力データを受信して加算し、且つ入力データの総和に2n-1(nは重みデータのビット数である)を乗算することで、第2の総和結果を生成することと、第1の総和結果から第2の総和結果を減算することで、符号付き総和結果を生成することと、を含む。
【0072】
幾つかの実施例において、第1の総和結果は、イネーブルされたメモリセルの等価電気的特性と線形関係にある。
【0073】
当業者が本発明の態様をよりよく理解できるように、前述した内容をもって複数の実施例の特徴を概説した。当業者であれば、本明細書において援用された実施例と同じ目的を実施するか及び/又は同じメリットを達成するための他のプロセス及び構造を設計又は修正するための基礎として本発明を容易に使用できることを理解すべきである。当業者であれば、このような等価構造は、本発明の精神及び範疇から逸脱しておらず、且つ、本発明の精神及び範疇から逸脱することなく本明細書において様々な変更、置換と代替を行えることをも認識すべきである。
【符号の説明】
【0074】
1、4 メモリシステム
10、40 メモリアレイ
12、42 処理回路
120、420 プログラミング回路
122、422 制御回路
124、424 読み出し回路
200a~200d、300a~300d、400a テーブル
426 変位変換器
428 加算器
430 減算器
500、502 操作方法
BL ビット線
L1~L4 線
MC1~MCn メモリセル
S50~S54 工程
SL ソース線
WL1~WLn ワード線
In1~Inn 入力データ
SR1、SR2 総和結果
SSR 符号付き総和結果
図1
図2A
図2B
図3A
図3B
図3C
図3D
図4A
図4B
図5A
図5B