JP7279293B2 - メモリデバイスおよびその動作方法 - Google Patents
メモリデバイスおよびその動作方法 Download PDFInfo
- Publication number
- JP7279293B2 JP7279293B2 JP2021136884A JP2021136884A JP7279293B2 JP 7279293 B2 JP7279293 B2 JP 7279293B2 JP 2021136884 A JP2021136884 A JP 2021136884A JP 2021136884 A JP2021136884 A JP 2021136884A JP 7279293 B2 JP7279293 B2 JP 7279293B2
- Authority
- JP
- Japan
- Prior art keywords
- multiplication
- bit
- grouping
- input data
- memory device
- 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
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/40—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
- G06F7/44—Multiplying; Dividing
- G06F7/443—Multiplying; Dividing by successive additions or subtractions
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/487—Multiplying; Dividing
- G06F7/4876—Multiplying
-
- 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/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/607—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
- G11C7/065—Differential amplifiers of latching type
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
- G11C7/067—Single-ended amplifiers
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4818—Threshold devices
- G06F2207/4824—Neural networks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/06—Sense amplifier related aspects
- G11C2207/063—Current sense amplifiers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Nonlinear Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Neurology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Electromagnetism (AREA)
- Logic Circuits (AREA)
- Complex Calculations (AREA)
Description
Claims (16)
- 複数の重みを記憶するための複数のメモリセルを有するメモリアレイと、
前記メモリアレイに結合され、複数の入力データおよび前記複数の重みに対してビット単位の乗算を行って、複数の乗算結果を生成する乗算回路と、
前記乗算回路に結合され、前記複数の乗算結果に対してビット単位の計数を行って、MAC(積和)演算結果を生成する計数ユニットと
を備え、
前記複数の入力データのそれぞれの、または前記複数の重みのそれぞれの複数のビットは複数のビットベクトルに分割され、
前記複数のビットベクトルの各ビットは、2進法形式から単進符号に変換され、
前記単進符号で表された前記複数のビットベクトルの前記各ビットは、複数回複製されてunFDP(展開ドット積)形式となり、
前記乗算回路は、前記unFDP形式で表された前記複数の入力データおよび前記複数の重みに対して乗算演算を行って、前記複数の乗算結果を生成する、メモリデバイス。 - 前記乗算回路は、複数のシングルビット乗算ユニットを有し、
前記複数のシングルビット乗算ユニットのそれぞれは、
前記メモリアレイに結合された入力ラッチと、
前記入力ラッチに結合されたセンシングアンプと、
前記センシングアンプに結合された出力ラッチと、
前記出力ラッチに結合された共通データラッチと
を含み、
前記共通データラッチは、前記複数の入力データを前記入力ラッチに送信する、
請求項1に記載のメモリデバイス。 - 前記複数のシングルビット乗算ユニットは、前記複数の乗算結果を生成し前記計数ユニットに送信する、請求項2に記載のメモリデバイス。
- 前記乗算回路および前記計数ユニットに結合され、前記乗算回路からの前記複数の乗算結果に対してグルーピング演算を行って複数のグルーピング結果を生成し、前記複数のグルーピング結果を前記計数ユニットに送信するグルーピング回路をさらに備え、前記複数のシングルビット乗算ユニットは、前記複数の乗算結果を生成し前記グルーピング回路に送信し、前記グルーピング演算が多数決関数技法である、請求項2または3に記載のメモリデバイス。
- 前記乗算回路および前記計数ユニットに結合され、前記複数の入力データを受信し前記メモリデバイスにより生成された前記MAC演算結果を出力する入出力回路をさらに備える、請求項1から4のいずれか一項に記載のメモリデバイス。
- 前記グルーピング回路は、前記複数の乗算結果に対してグルーピング演算を行って、前記複数のグルーピング結果を生成する複数のグルーピングユニットを有する、請求項4に記載のメモリデバイス。
- 前記メモリアレイおよび前記乗算回路はアナログであり、前記グルーピング回路および前記計数ユニットはデジタルである、請求項4または6に記載のメモリデバイス。
- 複数の前記入力ラッチのそれぞれは、第1のラッチおよびビット線スイッチを含み、前記第1のラッチは、前記共通データラッチからの前記複数の入力データを受信し、前記ビット線スイッチは、前記複数のメモリセルと前記センシングアンプとの間に結合され、前記ビット線スイッチは、前記複数のメモリセル内に記憶された前記複数の重みを前記センシングアンプに伝えるか否かを制御するように前記第1のラッチに記憶された前記複数の入力データにより制御され、前記センシングアンプは、前記ビット線スイッチからの出力を検知することにより前記複数の乗算結果を生成する、請求項2に記載のメモリデバイス。
- 前記入力ラッチのそれぞれは、第2のラッチおよび論理ゲートを含み、前記第2のラッチは、前記共通データラッチからの前記複数の入力データを受信し、前記センシングアンプは、前記複数のメモリセルに記憶された前記複数の重みを検知し、前記論理ゲートは、前記第2のラッチから送信された前記複数の入力データと前記複数のメモリセルに記憶された前記複数の重みとに基づいて、前記センシングアンプを介して前記複数の乗算結果を生成する、請求項2に記載のメモリデバイス。
- 前記複数の乗算結果に対してグルーピング演算を行う際に、前記グルーピング回路は、前記複数の乗算結果に対してそれぞれのグルーピング演算を行って、前記複数のグルーピング結果を生成する、請求項6に記載のメモリデバイス。
- ビット単位の計数において、前記複数のグルーピング結果はそれぞれ異なる累積重みが割り当てられ、MAC演算結果を生成する、請求項10に記載のメモリデバイス。
- 前記グルーピング回路は、複数の多数決ユニットを有する多数決回路である、請求項4に記載のメモリデバイス。
- メモリデバイスの動作方法であって、
前記メモリデバイスのメモリアレイの複数のメモリセルに、複数の重みを記憶する段階と、
複数の入力データおよび前記複数の重みに対してビット単位の乗算を行って、複数の乗算結果を生成する段階と、
前記複数の乗算結果に対してビット単位の計数を行って、MAC(積和)演算結果を生成する段階と
を備え、
前記複数の入力データのそれぞれの、または前記複数の重みのそれぞれの複数のビットは、複数のビットベクトルに分割され、
前記複数のビットベクトルの各ビットは、2進法形式から単進符号に変換され、
前記単進符号で表された前記複数のビットベクトルの前記各ビットは、複数回複製されてunFDP(展開ドット積)形式となり、
前記unFDP形式で表された前記複数の入力データおよび前記複数の重みに対して乗算演算を行って、前記複数の乗算結果を生成する、メモリデバイスの動作方法。 - 前記複数の乗算結果に対してグルーピング演算を行って、複数のグルーピング結果を生成する段階をさらに備え、前記グルーピング演算が多数決関数技法である、請求項13に記載のメモリデバイスの動作方法。
- ビット単位の計数において、前記複数のグルーピング結果はそれぞれ異なる累積重みが割り当てられ、前記MAC演算結果を生成する、請求項14に記載のメモリデバイスの動作方法。
- 前記複数の乗算結果に対してグルーピング演算を行う段階は、前記複数の乗算結果に対して多数決演算を行うことにより実施される、請求項14または15に記載のメモリデバイスの動作方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063075307P | 2020-09-08 | 2020-09-08 | |
US63/075,307 | 2020-09-08 | ||
US17/365,034 | 2021-07-01 | ||
US17/365,034 US11809838B2 (en) | 2020-09-08 | 2021-07-01 | Memory device and operation method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022045333A JP2022045333A (ja) | 2022-03-18 |
JP7279293B2 true JP7279293B2 (ja) | 2023-05-23 |
Family
ID=80462316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021136884A Active JP7279293B2 (ja) | 2020-09-08 | 2021-08-25 | メモリデバイスおよびその動作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11809838B2 (ja) |
JP (1) | JP7279293B2 (ja) |
KR (1) | KR102603795B1 (ja) |
CN (1) | CN114153419A (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019139300A (ja) | 2018-02-06 | 2019-08-22 | 国立大学法人北海道大学 | ニューラル電子回路 |
US20200034686A1 (en) | 2018-07-24 | 2020-01-30 | Sandisk Technologies Llc | Differential non-volatile memory cell for artificial neural network |
WO2020046495A1 (en) | 2018-08-27 | 2020-03-05 | Silicon Storage Technology, Inc. | Temperature and leakage compensation for memory cells in an analog neural memory system used in a deep learning neural network |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102703432B1 (ko) | 2018-12-31 | 2024-09-06 | 삼성전자주식회사 | 메모리 장치를 이용한 계산 방법 및 이를 수행하는 메모리 장치 |
CN112151095A (zh) | 2019-06-26 | 2020-12-29 | 北京知存科技有限公司 | 存算一体芯片、存储单元阵列结构 |
US11573792B2 (en) * | 2019-09-03 | 2023-02-07 | Samsung Electronics Co., Ltd. | Method and computing device with a multiplier-accumulator circuit |
US11347477B2 (en) | 2019-09-27 | 2022-05-31 | Intel Corporation | Compute in/near memory (CIM) circuit architecture for unified matrix-matrix and matrix-vector computations |
US10915298B1 (en) * | 2019-10-08 | 2021-02-09 | Ali Tasdighi Far | Current mode multiply-accumulate for compute in memory binarized neural networks |
US20210311703A1 (en) * | 2020-04-07 | 2021-10-07 | Samsung Electronics Co., Ltd. | Neural network device for neural network operation, operating method of the neural network device, and application processor including the same |
KR20210144417A (ko) * | 2020-05-22 | 2021-11-30 | 삼성전자주식회사 | 인-메모리 프로세싱을 수행하는 장치 및 이를 포함하는 컴퓨팅 장치 |
-
2021
- 2021-07-01 US US17/365,034 patent/US11809838B2/en active Active
- 2021-07-13 CN CN202110792246.7A patent/CN114153419A/zh active Pending
- 2021-08-25 JP JP2021136884A patent/JP7279293B2/ja active Active
- 2021-09-01 KR KR1020210116468A patent/KR102603795B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019139300A (ja) | 2018-02-06 | 2019-08-22 | 国立大学法人北海道大学 | ニューラル電子回路 |
US20200034686A1 (en) | 2018-07-24 | 2020-01-30 | Sandisk Technologies Llc | Differential non-volatile memory cell for artificial neural network |
CN110782026A (zh) | 2018-07-24 | 2020-02-11 | 闪迪技术有限公司 | Nand存储器阵列中的二值神经网络的实现 |
WO2020046495A1 (en) | 2018-08-27 | 2020-03-05 | Silicon Storage Technology, Inc. | Temperature and leakage compensation for memory cells in an analog neural memory system used in a deep learning neural network |
JP2021536623A (ja) | 2018-08-27 | 2021-12-27 | シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. | 深層学習ニューラルネットワークで使用されるアナログニューラルメモリシステムのメモリセルに対する温度補償及び漏れ補償 |
Also Published As
Publication number | Publication date |
---|---|
CN114153419A (zh) | 2022-03-08 |
KR20220033020A (ko) | 2022-03-15 |
US20220075599A1 (en) | 2022-03-10 |
JP2022045333A (ja) | 2022-03-18 |
KR102603795B1 (ko) | 2023-11-17 |
US11809838B2 (en) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Parallelizing SRAM arrays with customized bit-cell for binary neural networks | |
Sun et al. | Fully parallel RRAM synaptic array for implementing binary neural network with (+ 1,− 1) weights and (+ 1, 0) neurons | |
US11663471B2 (en) | Compute-in-memory deep neural network inference engine using low-rank approximation technique | |
US20230005529A1 (en) | Neuromorphic device and electronic device including the same | |
JP7255068B2 (ja) | メモリデバイス及びその動作方法 | |
US12079733B2 (en) | Multi-precision digital compute-in-memory deep neural network engine for flexible and energy efficient inferencing | |
CN110889080B (zh) | 乘积累加运算装置、乘积累加运算方法和系统 | |
US11556311B2 (en) | Reconfigurable input precision in-memory computing | |
JP7279293B2 (ja) | メモリデバイスおよびその動作方法 | |
Mao et al. | A versatile ReRAM-based accelerator for convolutional neural networks | |
Cheng et al. | A large-scale in-memory computing for deep neural network with trained quantization | |
TWI777645B (zh) | 記憶體裝置及其操作方法 | |
Sabri et al. | Redy: A novel reram-centric dynamic quantization approach for energy-efficient cnn inference | |
JP7206531B2 (ja) | メモリデバイスおよびその動作方法 | |
TWI783573B (zh) | 記憶體裝置及其操作方法 | |
TWI806641B (zh) | 記憶體裝置及其操作方法 | |
CN111126580B (zh) | 采用Booth编码的多精度权重系数神经网络加速芯片运算装置 | |
CN113343585B (zh) | 一种用于矩阵乘法运算的权位分立存算阵列设计方法 | |
US20220334800A1 (en) | Exact stochastic computing multiplication in memory | |
Le et al. | CIMulator: a comprehensive simulation platform for computing-in-memory circuit macros with low bit-width and real memory materials | |
US20230161556A1 (en) | Memory device and operation method thereof | |
Mondal et al. | Current comparator-based reconfigurable adder and multiplier on hybrid memristive crossbar | |
Cheng et al. | A Low-Power High-Throughput In-Memory CMOS-ReRAM Accelerator for Large-Scale Deep Residual Neural Networks | |
Zhao et al. | Light-CIM: A Lightweight ADC/DAC-Fewer RRAM CIM DNN Accelerator With Fully-Analog Tiles and Non-Ideality-Aware Algorithm for Consumer Electronics | |
Jain | In-Memory Computing with Cmos and Emerging Memory Technologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210825 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220920 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221213 |
|
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: 20230411 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230420 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7279293 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |