CN116386687B - 一种平衡电压降影响的存储器阵列 - Google Patents
一种平衡电压降影响的存储器阵列 Download PDFInfo
- Publication number
- CN116386687B CN116386687B CN202310364014.0A CN202310364014A CN116386687B CN 116386687 B CN116386687 B CN 116386687B CN 202310364014 A CN202310364014 A CN 202310364014A CN 116386687 B CN116386687 B CN 116386687B
- Authority
- CN
- China
- Prior art keywords
- sub
- blocks
- numbered
- memory
- memory array
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/16—Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters
-
- 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
- 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
- G11C7/1012—Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Static Random-Access Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
Abstract
本发明提供了一种平衡电压降影响的存储器阵列,包括一个m行的存储器阵列,分为a个“子块”,每个“子块”内有行的存储单元;编号为{1,3,5,…,a‑1}的子块定义为“奇数子块”,编号为{2,4,6,…,a}的子块定义为“偶数子块”;“奇数子块”中的存储单元从上到下编号为1、2、3、…、“偶数子块”中的存储单元从上到下编号为…、3、2、1;选取所有“奇数子块”和“偶数子块”中编号相同的存储单元组成存储器阵列的子阵列,依次开启子阵列进行计算,每个“子阵列”中所有行器件连到底部模数转换器的总电阻和相等;有效平衡存储器阵列每次计算中的电压降影响,降低存储器阵列向量矩阵乘法计算的偏差。
Description
技术领域
本发明属于半导体(Semiconductor)和CMOS超大规模集成电路(Ultra LargeScale Integration,ULSI)中的存储器与存内计算(Compute-In-Memory,CIM)技术领域,具体涉及一种进行向量矩阵乘法计算(Vector Matrix Multiplication,VMM)的存储器阵列结构。
背景技术
随着人工智能与深度学习技术的发展,人工神经网络在自然语言处理、图像识别、自动驾驶、图神经网络等领域得到了广泛的应用。然而逐渐增大的网络规模导致数据在内存与传统计算设备如CPU与GPU间的搬运消耗了大量的能量,这被称为冯诺依曼瓶颈。在人工神经网络算法中占据最主要部分的计算为向量矩阵乘法计算。基于存储器阵列的存内计算,把权重存储在存储器单元中,并在阵列中进行模拟向量矩阵乘法计算,避免了数据在内存与计算单元间的频繁搬运,被认为是一种有希望解决冯诺依曼瓶颈的途径。
图1为使用存储器阵列进行向量矩阵乘法计算的示意图。存储单元可以是SRAM、DRAM等易失型存储器,也可以是FLASH、RRAM、PCRAM、MRAM等非易失型存储器。向量矩阵乘法计算的权重被存储在存储单元中,输入通过数模转换器(DAC)或缓冲器(Buffer)把数字信号转换成模拟电压,计算结果表示为位线(BL)上的电压或电流。计算结果需要由模数转换器(ADC)把模拟电压或电流转换成数字量输出。
由于位线上存在电流,电流导致位线上电压降会影响计算结果准确性。因此为限制位线电流大小,通常不会同时打开整个阵列进行计算,而只打开一部分行组成子阵列。传统的子阵列划分方法如图2所示,以一个总行数为128行的阵列,并每次开启其中的32行进行计算为例。在此种情况下完成一个阵列计算共需计算4次。第一次计算开启1~32行,第二次计算开启33~64行,第三次计算开启65~96行,第四次计算开启97~128行。计算单元离底部数模转换器越远,导线电阻越大,受导线电压降影响越大。因此在此种划分下,第一次开启的1~32行距离底部的模数转换器最远,受电压降影响最大,而第四次开启的97~128行距离底部的模数转换器最近,受电压降影响最小。这种受电压降影响不平衡的阵列划分方法,会对最终的向量矩阵乘法计算结果造成额外的偏差。
发明内容
针对以上现有技术中存在的问题,本发明提出了一种存储器阵列可以有效平衡每次计算中的电压降影响,从而降低由于不平衡电压降引起的存储器阵列向量矩阵乘法计算结果的偏差。
本发明的技术方案如下:
一种平衡电压降影响的存储器阵列,其特征在于:包括一个m行的存储器阵列,该阵列分为a个“子块”,每个“子块”内有行的存储单元,m是a的倍数,m、a都为偶数;所述“子块”从上到下分别顺序编号为1~a,将编号为{1,3,5,……,a-1}的子块定义为“奇数子块”,编号为{2,4,6,……,a}的子块定义为“偶数子块”;所述“奇数子块”中的存储单元从上到下分别编号为/>所述“偶数子块”中的存储单元从上到下分别编号为/>分别选取所有“奇数子块”和“偶数子块”中编号相同的存储单元组成存储器阵列的子阵列,向量矩阵乘法计算的时候,依次开启子阵列进行计算。
进一步地,存储器可以是SRAM、DRAM等易失型存储器,也可以是FLASH、RRAM、PCRAM、MRAM等非易失型存储器。
进一步,增加多个互补多路选择器;每个互补多路选择器包括一个多路选择器与一个翻转多路选择器;多路选择器连接“奇数子块”的存储单元,翻转的多路选择器连接“偶数子块”的存储单元。
本发明的技术效果如下:
本发明存储器阵列进行向量矩阵乘法计算时,每次选取时,分别从“奇数子块”和“偶数子块”中选取存储单元编号相同的行,第1次计算,选取所有“奇数子块”与“偶数子块”中编号为1的行组成“子阵列1”,第2次计算,选取所有“奇数子块”与“偶数子块”中编号为2的行组成“子阵列2”,按此规则,共选(m/a)次,最终把m行实际阵列分为(m/a)个不相交的“子阵列”,这(m/a)个“子阵列”中,满足所有行的在实际总阵列中的编号之和相等,即每个“子阵列”中所有行器件连到底部模数转换器的总电阻和相等;有效平衡存储器阵列每次计算中的电压降影响,降低由于不平衡电压降引起的存储器阵列向量矩阵乘法计算结果的偏差。
附图说明
图1为基于存储器阵列进行矩阵乘法的示意图;
图2为传统的子阵列划分方法;
图3为本发明具体实施例中的子阵列划分示意图;
图4为本发明具体实施例中的互补多路选择器电路结构;
图5为本发明具体实施例中的互补多路选择器与阵列的结构示意图。
具体实施方式
下面结合附图,通过具体实施例,进一步清楚、完整地阐述本发明。
参考图3,以一个总大小为128行的阵列,并每次开启其中的32行进行计算为例。在此种情况下完成一个阵列计算共需计算4次。把总的128行阵列分为32个“子块”,把“子块”分为“偶数子块”与“奇数子块”,从上到下分别编号为1~32,编号为{1,3,5,……,31}的为“奇数子块”,编号为{2,4,6,……,32}的为“偶数子块”。每个“奇数子块”与“偶数子块”中都包含实际4行存储单元。对“奇数子块”,把存储单元从上到下分别编号为1、2、3、4。对“偶数子块”,把存储单元从上到下分别编号为4、3、2、1。在第1次计算,选取所有“奇数子块”与“偶数子块”中编号为1的行组成“子阵列1”。在“子阵列1”中的行在实际总阵列中的编号为{1,8,9,16,……,128}。与此相似,在第2次计算,选取所有“奇数子块”与“偶数子块”中编号为2的行组成“子阵列2”。在第3次计算,选取所有“奇数子块”与“偶数子块”中编号为3的行组成“子阵列3”。在第4次计算,选取所有“奇数子块”与“偶数子块”中编号为4的行组成“子阵列4”。用此方法选出的四个“子阵列”(子阵列1~4)中,满足所有行的在实际总阵列中的编号之和相等。
参考图4互补多路选择器电路结构,多路选择器在N条控制线的控制下,从编号为1~2N的输出口中选择一条与输入口a相连;翻转的多路选择器在N条控制线的控制下,从编号为2N+1~2N+1的输出口中选择一条与输入口b相连;在控制线控制多路选择器选择第X条输出线与输入a相连时,在翻转的多路选择器中选择第(2N+1-X+1)条输出线与输入b相连,X范围为1~2N。
参考图5,图中以一个总大小为128行的阵列,并每次开启其中的32行进行计算为例。共需要使用16个互补多路选择器,每个互补多路选择器可以使用相同的N条控制线。以图中的情况为例,N=2。在控制线在输入为“00”,“01”,“10”,“11”时,分别选出四个子阵列进行四次计算。
从图5中可看出,对其中任意一个互补多路选择器来说,每次所选取的两行的行号之和相等。这里以第1个互补多路选择器为例。第一次选取的行是第1和第8行。第二次选取的行是第2和第7行。第三次选取的行是第3和第6行。第四次选取的行是第4和第5行。每个互补多路选择器中每次选取的两行的行号和相等,代表每次选取的两行器件连到底部模数转换器的电阻和相等。因此,所有互补多路选择器中每次选取的行的总行号和相等,代表每次选取的所有行器件连到底部模数转换器的总电阻和相等。
最后,需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (4)
1.一种平衡电压降影响的存储器阵列,其特征在于,包括一个m行的存储器阵列,该阵列分为a个“子块”,每个“子块”内有行的存储单元,m是a的倍数;所述“子块”从上到下分别顺序编号为1~a,将编号为{1,3,5,……,a-1}的子块定义为“奇数子块”,编号为{2,4,6,……,a}的子块定义为“偶数子块”;所述“奇数子块”中的存储单元从上到下分别编号为所述“偶数子块”中的存储单元从上到下分别编号为分别选取所有“奇数子块”和“偶数子块”中编号相同的存储单元组成存储器阵列的子阵列,向量矩阵乘法计算的时候,依次开启子阵列进行计算。
2.如权利要求1所述的平衡电压降影响的存储器阵列,其特征在于,存储器是SRAM、DRAM易失型存储器或FLASH、RRAM、PCRAM、MRAM非易失型存储器。
3.如权利要求1所述的平衡电压降影响的存储器阵列,其特征在于,增加多个互补多路选择器;每个互补多路选择器包括一个多路选择器与一个翻转多路选择器;多路选择器连接“奇数子块”的存储单元,翻转的多路选择器连接“偶数子块”的存储单元。
4.如权利要求3所述的平衡电压降影响的存储器阵列,其特征在于,互补多路选择器的输入与数模转换器或缓冲器的输出连接。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310364014.0A CN116386687B (zh) | 2023-04-07 | 2023-04-07 | 一种平衡电压降影响的存储器阵列 |
| US18/629,556 US20240339138A1 (en) | 2023-04-07 | 2024-04-08 | Compute-in-memory circuit and control method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310364014.0A CN116386687B (zh) | 2023-04-07 | 2023-04-07 | 一种平衡电压降影响的存储器阵列 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN116386687A CN116386687A (zh) | 2023-07-04 |
| CN116386687B true CN116386687B (zh) | 2024-03-19 |
Family
ID=86978370
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310364014.0A Active CN116386687B (zh) | 2023-04-07 | 2023-04-07 | 一种平衡电压降影响的存储器阵列 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20240339138A1 (zh) |
| CN (1) | CN116386687B (zh) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1144385A (zh) * | 1994-09-22 | 1997-03-05 | 株式会社东芝 | 动态存储器 |
| CN114242151A (zh) * | 2020-09-09 | 2022-03-25 | 力晶积成电子制造股份有限公司 | 具有测试功能的存储器及其测试方法 |
| CN114388021A (zh) * | 2020-10-02 | 2022-04-22 | 桑迪士克科技有限责任公司 | 利用外部磁场进行编程辅助的超低功率推理引擎 |
| CN115148234A (zh) * | 2021-05-21 | 2022-10-04 | 台湾积体电路制造股份有限公司 | 存储器中计算(cim)存储阵列 |
| CN115831170A (zh) * | 2022-11-09 | 2023-03-21 | 北京大学 | 一种高灵活性存储计算阵列 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006127460A (ja) * | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
| JP5113845B2 (ja) * | 2007-08-10 | 2013-01-09 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
| US9430735B1 (en) * | 2012-02-23 | 2016-08-30 | Micron Technology, Inc. | Neural network in a memory device |
| US10311126B2 (en) * | 2016-08-12 | 2019-06-04 | International Business Machines Corporation | Memory device for matrix-vector multiplications |
| US12307354B2 (en) * | 2021-06-09 | 2025-05-20 | SanDisk Technologies, Inc. | Compute in memory three-dimensional non-volatile nor memory for neural networks |
| US11935586B2 (en) * | 2022-02-11 | 2024-03-19 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory device and method for computing-in-memory (CIM) |
-
2023
- 2023-04-07 CN CN202310364014.0A patent/CN116386687B/zh active Active
-
2024
- 2024-04-08 US US18/629,556 patent/US20240339138A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1144385A (zh) * | 1994-09-22 | 1997-03-05 | 株式会社东芝 | 动态存储器 |
| CN114242151A (zh) * | 2020-09-09 | 2022-03-25 | 力晶积成电子制造股份有限公司 | 具有测试功能的存储器及其测试方法 |
| CN114388021A (zh) * | 2020-10-02 | 2022-04-22 | 桑迪士克科技有限责任公司 | 利用外部磁场进行编程辅助的超低功率推理引擎 |
| CN115148234A (zh) * | 2021-05-21 | 2022-10-04 | 台湾积体电路制造股份有限公司 | 存储器中计算(cim)存储阵列 |
| CN115831170A (zh) * | 2022-11-09 | 2023-03-21 | 北京大学 | 一种高灵活性存储计算阵列 |
Non-Patent Citations (1)
| Title |
|---|
| 神经形态器件研究进展与未来趋势;王洋昊等;科学通报;20191226;第65卷(第10期);904-915 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20240339138A1 (en) | 2024-10-10 |
| CN116386687A (zh) | 2023-07-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102752652B1 (ko) | 메모리내 승산 누적 연산들을 위한 nand 블록 아키텍처 | |
| US11501141B2 (en) | Shifting architecture for data reuse in a neural network | |
| CN111095300B (zh) | 使用半导体存储元件的神经网络运算电路 | |
| CN114298296B (zh) | 基于存算一体阵列的卷积神经网络处理方法和装置 | |
| US11568200B2 (en) | Accelerating sparse matrix multiplication in storage class memory-based convolutional neural network inference | |
| US20180373902A1 (en) | Analog sub-matrix computing from input matrixes | |
| US10783963B1 (en) | In-memory computation device with inter-page and intra-page data circuits | |
| US11663471B2 (en) | Compute-in-memory deep neural network inference engine using low-rank approximation technique | |
| EP4022426A1 (en) | Refactoring mac operations | |
| TWI761860B (zh) | 記憶體設備及使用記憶體之方法 | |
| US20220366211A1 (en) | Dropout in neutral networks using threshold switching selectors in non-volatile memories | |
| Kosta et al. | HyperX: A hybrid RRAM-SRAM partitioned system for error recovery in memristive Xbars | |
| CN116386687B (zh) | 一种平衡电压降影响的存储器阵列 | |
| US12293804B2 (en) | Convolution operation accelerator and convolution operation method | |
| CN114168903A (zh) | 一种基于ReRAM Crossbar的矩阵乘法计算设备和匹配的方法 | |
| CN111105022A (zh) | 模拟计算的方法 | |
| CN119204122B (zh) | 基于闪存的存算方法及人工智能集成存储器 | |
| CN119512500B (zh) | 一种支持多模卷积的存算一体加速电路、芯片及设备 | |
| TW202533224A (zh) | 用於記憶體內運算陣列中之列或行備援性的系統及方法 | |
| CN117236391A (zh) | 利用mram实现基于随机计算的贝叶斯神经网络存算一体方法 | |
| CN119252308A (zh) | 针对矩阵向量乘法使用多支柱存储器单元的存储器装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |