CN113094644A - 用于处理数据集的系统 - Google Patents

用于处理数据集的系统 Download PDF

Info

Publication number
CN113094644A
CN113094644A CN202011518293.4A CN202011518293A CN113094644A CN 113094644 A CN113094644 A CN 113094644A CN 202011518293 A CN202011518293 A CN 202011518293A CN 113094644 A CN113094644 A CN 113094644A
Authority
CN
China
Prior art keywords
memory cells
matrix
input
row
output
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.)
Pending
Application number
CN202011518293.4A
Other languages
English (en)
Inventor
吕士濂
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.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC Ltd
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 Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Publication of CN113094644A publication Critical patent/CN113094644A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2253Address circuits or decoders
    • G11C11/2255Bit-line or column circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/223Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements using MOS with ferroelectric gate insulating film
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2273Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2275Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2297Power supply circuits
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Computing Systems (AREA)
  • Semiconductor Memories (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

一种用于如转置矩阵的处理数据阵列的系统,包含各自具有输入端、输出端以及控制端的如铁电场效应晶体管的存储单元的二维阵列。系统还包含输入接口,输入接口调适成向存储单元的所选列的输入端供应指示如矩阵的行的数据阵列的子集的信号,且输出控制信号。系统更包含输出接口,输出接口调适成从存储单元的所选行的输出端接收存储在存储阵列中的数据。一种如转置矩阵的处理数据阵列的方法包含逐列地将数据阵列的子集写入到存储阵列,以及逐行地从存储单元读取。

Description

用于处理数据集的系统
技术领域
本发明的实施例大体上涉及用于实施矩阵运算(如转置)的电子器件和方法。更具体来说,本发明的实施例涉及用于有效执行这类矩阵运算的存储阵列和相关联的方法。
背景技术
计算机实施的矩阵运算(如转置)在许多应用中使用,包含机器学习(例如梯度下降)、图像处理、信号调制/解调、统计编程以及社交网络(关系)分析。这类矩阵运算的有效实施用以加速这些应用中的许多。因此,正在努力改进用于矩阵运算的器件和方法。
发明内容
本发明实施例提供一种用于处理数据集的系统,所述数据集表示具有一或多个一维数据阵列的输入数据阵列,所述一或多个一维数据阵列各自具有元素的集合,所述系统包括:存储阵列,具有逻辑上布置成行和列的多个存储单元,所述多个存储单元中的每一个具有输入端、输出端以及控制端;多个输入线,各自连接到所述存储单元的相应行的所述输入端;多个输出线,各自连接到所述存储单元的相应列的所述输出端;多个选择线,各自连接到所述存储单元的相应行的所述控制端;以及输入接口,连接到所述多个输入线,且调适成向相应输入线供应所述一或多个一维数据阵列中的一个的所述元素。
本发明实施例提供一种用于表示输入数据阵列的系统,所述输入数据阵列具有一或多个一维数据阵列,所述一或多个一维数据阵列各自具有多位元素的集合,所述系统包括:多个单位处理系统,各自包括:存储阵列,具有逻辑上布置成行和列的多个存储单元,所述多个存储单元中的每一个具有输入端、输出端以及控制端;多个输入线,各自连接到所述存储单元的相应行的所述输入端;多个输出线,各自连接到所述存储单元的相应列的所述输出端;以及多个选择线,各自连接到所述存储单元的相应行的所述控制端;输入接口,连接到每一单位处理系统的所述多个输入线,且调适成向相应输入线供应所述一或多个一维数据阵列中的一个的所述多位元素;输出/输入接口,连接到每一单位处理系统的所述多个输出线,且调适成从所述输出线接收存储在所述存储单元的相应列中的所述多位元素;以及选择信号接口,连接到每一单位处理系统的所述多个选择线,且调适成向所述选择线供应选择信号;其中所述输出/输入接口和所述选择信号接口调适成选择所述多个存储单元的列,以使所述多个存储单元的所述列能够存储由所述输入接口供应的所述多位元素;其中所述输入接口和所述选择信号接口调适成选择所述多个存储单元的行,以使所述多个存储单元的所述行能够将存储在所述多个存储单元的所述行中的所述多位元素输出到所述输出/输入接口。
本发明实施例提供一种实施矩阵运算的方法,所述方法包括:将输入信号的多个集合依序施加到具有存储单元的多个列和行的存储阵列的字线,每一集合指示矩阵的元素的值的相应列或行,所述存储单元的每一行与所述字线中的相应一个相关联;在所述存储阵列的每一列中的所述存储单元中存储数据集,所述数据集对应于施加到所述字线的所述输入信号的所述多个集合中的相应一个;以及从所述存储阵列、所述存储阵列的逐行读取写入到所述存储单元的所述元素。
附图说明
当结合随附图式阅读时,从以下详细描述最好地理解本发明实施例的各方面。应注意,根据业界中的标准惯例,各种特征未按比例绘制。实际上,出于论述清晰起见,可任意增大或减小各种特征的尺寸。
图1为示出根据一些实施例的用于实施矩阵运算的系统的实例的示意图。
图2示出根据一些实施例的在矩阵转置运算中写入图1中所示出的系统中的存储单元的二维阵列中的存储单元的列。
图3A示出根据一些实施例的在写入存储单元的二维阵列中的存储单元的列之后,在矩阵转置运算中从图1中所示出的系统中的存储单元的行中读取。
图3B示出根据一些实施例的在存储单元阵列中使用的FeFET存储单元在给定漏极-源极电压(VDS)下随栅极-源极电压(VGS)变化的漏极电流(ID)。
图3C示出根据一些实施例的在存储单元阵列中使用的FeFET存储单元的在比图3B中的漏极-源极电压更高的漏极-源极电压(VDS)下随栅极-源极电压(VGS)变化的漏极电流(ID)。
图4示出根据一些实施例的用于实施多位矩阵运算的系统的实例。
图5概述根据一些实施例的用于矩阵运算的过程。
图6示出根据一些实施例的矩阵元素的两阶段写入。
图7示出根据一些实施例的其中矩阵的转置由子矩阵的转置来实现的矩阵运算的过程。
具体实施方式
以下公开内容提供用于实施所提供主题的不同特征的许多不同实施例或实例。下文描述组件和布置的具体实例以简化本发明实施例。当然,这些组件和布置仅为实例且并不意图为限制性的。举例来说,在以下描述中,第一特征在第二特征上方或第二特征上的形成可包含第一特征与第二特征直接接触地形成的实施例,且还可包含额外特征可在第一特征与第二特征之间形成从而使得第一特征与第二特征可以不直接接触的实施例。另外,本发明可在各种实例中重复附图标记和/或字母。这种重复是出于简化和清楚的目的,且本身并不指示所论述的各种实施例和/或配置之间的关系。
本发明实施例涉及使用存储阵列处理多维(例如二维(two-dimensional;2D))数据结构。处理多维数据结构的实例为矩阵转置,其中交换矩阵的行和列。也就是说,矩阵A的转置AT的元素的索引与矩阵A的元素的索引相反:[AT]ij=[A]ji。发现矩阵转置在许多应用中使用。这类应用的实例包含机器学习(例如梯度下降算法)、图像处理、信号调制/解调、统计编程以及社交网络分析中的关系分析。
举例来说,在机器学习中,神经网络频繁地处理不同大小的权重和输入,其中维度(列和/或行的数目)不容易满足矩阵乘法的要求。矩阵转置提供一种“旋转”矩阵中的一个的方式,使得运算遵守乘法要求且因此可继续。作为机器学习中的另一实例,后向循环(或后向传播)用于通过查看预测结果与实际结果之间的差异来调整权重。单层上的后向循环还涉及权重矩阵的转置上的向量矩阵乘法:z=WTδ,其中W为权重矩阵,长度M的向量δ表示由输出神经元所计算的误差,且使用神经元非线性的导数进一步处理长度N的向量z且接着向下传递到先前的层。最后,在更新循环中,通过执行在前向循环和后向循环中使用的且通常表达为W←W+η(δxT)的两个向量的外积来更新权重矩阵W,其中x为输入向量,且η为全局学习率。
作为矩阵转置的应用的其它实例,图像处理通常需要转置极大的数据矩阵以重新定向数据以供显示,以提高计算效率或以库函数可使用的形式重新布置数据。在信号处理(如调制和解调)中,快速傅立叶变换(Fast Fourier Transform;FFT)为数学、数值、科学、工程以及技术应用中最重要的算法中的一个。FFT算法的一些应用包含通信、时间序列和波形分析以及卷积、求解线性微分方程、粒子模拟、泊松方程(Poisson's equation)求解器以及数字信号处理。此外,FFT广泛用于大规模的并行模拟,如等离子模拟、天气预报以及动态流体,其中需要有效的并行FFT计算。矩阵转置广泛用于快速傅立叶变换(例如,一维(one-dimensional;1D)FFT、二维(2D)FFT以及三维(three-dimensional;3D)FFT)的实施。
矩阵运算的计算机实施通常为计算密集的。矩阵为(2D)数据结构,然而物理存储器通常设计为线性(1D)结构。存储在1D结构中的矩阵数据以行索引(行优先顺序)或列索引(列优先顺序)布置。在行索引存储方案中,矩阵的行以线性阵列依序存储在存储器中;在列索引存储方案中,矩阵的列以线性阵列依序存储在存储器中。为了使用传统的方法执行维度N的矩阵的转置,矩阵的每一元素都需要读取N次;否则将需要较大的临时存储器(寄存器)来用于保存矩阵且利用索引进行选择。
举例来说,将4×4阵列(矩阵A)以行索引顺序存储在存储器(16元素的M向量)中,如:A[0,0]在M[0]中;A[0,1]在M[1]中;A[0,2]在M[2]中;A[0,3]在M[3]中;A[1,0]在M[4]中;A[1,1]在M[5]中;A[1,2]在M[6]中;A[1,3]在M[7]中;A[2,0]在M[8]中;A[2,1]在M[9]中;A[2,2]在M[10]中;A[2,3]在M[11]中;A[3,0]在M[12]中;A[3,1]在M[13]中;A[3,2]在M[14]中以及A[3,3]在M[15]中。为了利用传统的方法转置A,首先,读取M的所有元素,即,M[0]到M[15]。接着,索引M向量中的元素,使得每四个元素将被连续存储。最后,用元素M'[0]=M[0]、M'[1]=M[4]、M'[2]=M[8]、M'[3]=M[12]、M'[4]=M[1]、M'[5]=M[5]…M'[i+4j]=M[4*i+j],…,M'[15]=M[15]写入新的16元素的向量M',其中对于每一j,i从0到3,且j从0到3。新向量M'表示转置的矩阵AT,且将需要与存储原始矩阵A的存储器的量相同的额外存储器的量来存储。替代地,可通过重新布置向量M的元素来“就地”转置矩阵A,而无需大量额外的存储器,其代价为重复地从存储器中读取每一元素且将每一元素写入存储器。
本发明中所公开的某些实施例实现了矩阵的转置,而不需要任何或大量的额外存储器或读取/写入操作来重新布置存储在存储器中的矩阵元素。
根据一些实施例,提供可成列写入且成行读取(或反之亦然)的存储阵列,且所述存储阵列用于执行矩阵转置。根据一些实施例,铁电晶体管存储器的特定电路结构可用于转置2D阵列的要求。铁电晶体管存储器(与铁电电容器存储器相对)可以数据以列形式写入且以行形式读取(或反之亦然)的方式设计。铁电存储器电路设计有位线(bit-line;BL)、字线(word-line;WL)以及选择线(select-line;SL)。通过以特定方式设置BL、WL以及SL,可以列形式写入且以行形式读取。
铁电晶体管存储器(Ferroelectric transistor memory;FeRAM)是支持电路设计的非易失性存储器,所述电路设计允许以列形式写入数据且以行形式读取数据。这类电路架构可用于有效地转置矩阵。可采用多个FeRAM阵列以允许在一个方向上存储数据且在另一方向上从所述阵列读取数据。这种方法通过写入和读取来自动地转置矩阵。无需额外的索引或重新排序。
更具体来说,在一些实施例中,BL和SL与在不同方向上布置的存储单元相关联。举例来说,每一BL连接到存储单元的相应列,而每一SL连接到存储单元的相应行。如以下针对实例系统更详细地描述,这类配置使矩阵元素能够施加到WL且逐列地存储在如由BL所选择的存储单元中,且从如由SL所选定的存储单元中逐行地读取。存储单元的列和行到WL、BL以及SL的连接以及由这类连接所促进的写入/读取方案与常规的存储阵列的所述连接和方案形成对照。对于常规的存储阵列,BL和SL与在相同方向上布置的存储单元相关联,例如,BL和SL两者都连接到相同的存储单元的相应列。WL通常用于使所选行能够被写入;且从所选行中读取写入的数据。然而,对于本文中所公开的某些实施例,WL供应待写入到由BL和SL上的信号的组合所选择的列的输入数据;随后,在BL上从由SL和WL的组合所选择的每一行读取数据。由于矩阵元素以列的形式写入到二维存储阵列但以行的形式读取,因此读取的矩阵已从写入的矩阵逐列逐行地旋转。因此,矩阵的转置是通过以适当的顺序进行的写入和读取操作本身来完成的,而无需任何额外的数据处理。
在一些实施例中,一种用于处理数据集的系统包含具有逻辑上(且在一些实施例中也物理上)布置成行和列的存储单元的存储阵列,所述数据集表示具有一或多个一维数据阵列的输入数据阵列,所述一维数据阵列各自具有元素的集合。每一存储单元可为非易失性存储单元,如铁电随机存取存储器(ferroelectric random-access memory;FeRAM)单元,如铁电场效应晶体管(ferroelectric field-effect transistor;FeFET),且具有输入端、输出端以及控制端。系统更包含输入线,各自连接到存储单元的行的输入端。系统更包含输出线,各自连接到存储单元的列的输出端。系统更包含选择线,各自连接到存储单元的行的控制端。系统更包含输入接口,所述输入接口连接到输入线,且调适成向相应输入线供应一维数据阵列中的一个的元素,且向输入线供应输出控制信号。系统更包含输出接口,所述输出接口连接到输出线,且调适成从输出线接收存储在存储单元的相应列中的元素,且向输出线供应输入控制信号。存储单元中的每一个调适成在给定连接到存储单元的输出线和选择线的状态的某一组合的情况下存储由输入接口向相应输入线所供应的元素;存储单元中的每一个进一步调适成在给定连接到存储单元的输入线和选择线的状态的某一组合的情况下将存储的元素输出到相应输出线。
在某些实施例中,输入接口可调适成向输入线供应控制信号,使得输入线充当传统的字线,且输出接口可调适成既接收存储在存储单元中的数据又将数据输出到存储单元,使得输入线充当传统的位线。因此,系统可配置成既作为传统的存储器系统又作为用于矩阵处理(如矩阵转置)的系统来服务。
在某些实施例中,一种用于转置具有布置成行和列的元素的矩阵的系统包含具有逻辑上(且在一些实施例中也物理上)布置成行和列的存储单元的存储阵列。每一存储单元包含FeFET,所述FeFET具有栅极、源极和漏极以及将一侧的栅极与另一侧的源极和漏极分隔开的铁电栅极绝缘层。系统更包含字线,各自连接到存储单元的行的栅极。系统更包含位线,各自连接到存储单元的列的源极(或漏极)。系统更包含选择线,各自连接到存储单元的行的漏极(或源极)。系统更包含输入接口,所述输入接口连接到字线,且调适成向相应字线供应矩阵的行(或列)的元素以将元素存储在存储单元的列中,且向字线供应输出控制信号。系统更包含输出接口,所述输出接口连接到位线,且调适成从位线接收存储单元的行的元素,且向输出线供应输入控制信号。
在一些实施例中,一种转置具有布置成行和列的元素的矩阵的方法包含将元素的行中的每一个写入到布置成行和列的一组存储单元中的存储单元的相应列。方法更包含从存储单元的行中的每一个读取。这类方法可用于矩阵的行索引存储。替代地,一种转置具有布置成行和列的元素的矩阵的方法包含将元素的列中的每一个写入到布置成行和列的一组存储单元中的存储单元的相应列。方法更包含从存储单元的行中的每一个读取。这类方法可用于矩阵的列索引存储。
作为特定实例,在图1中示出一种用于转置维度高达4×4的矩阵的系统(100)。在此实例中,系统包含存储阵列(110),所述存储阵列(110)包含以行(120i)和列(120j)物理地布置且可访问的存储器元件(120i,j,其中i=0、1、2或3,且j=0、1、2或3)。在一些实施例中,每一存储单元(120i,j)为非易失性存储单元,如铁电随机存取存储器(FeRAM)单元。在图1中所绘示的特定实施例中,存储单元为铁电场效应晶体管(FeFET)。每一FeFET具有作为输入端的栅极(122)、作为输出端的漏极(124)以及作为控制端的源极(126)。在此实例中,在每一FeFET中将栅极(122)与漏极(124)和源极(126)分隔开的栅极绝缘层(128)由铁电材料制成。合适的铁电材料的实例包含氧化铪和氧化铪锆,但也可用其它铁电材料。
此实例中的系统(100)更包含字线(WL)(130)的集合,每一(WLi)连接到存储单元的相应行(120i)的栅极(122)。此实例中的系统(100)还包含位线(BL)(140)的集合,每一(BLi)连接到存储单元的相应列(120j)的漏极(124)。此实例中的系统(100)更包含选择线(SL)(150)的集合,每一(SLi)连接到存储单元的相应行(120i)的源极(126)。
此实例中的系统(100)更包含输入/输出(I/O)接口(160),所述输入/输出(I/O)接口包含输入接口(162)和输出/输入接口(164)。在一些实施例中,输入接口(162)可包含驱动器(未绘示),且调适成针对行索引矩阵存储逐行地或针对列索引矩阵存储逐列地向相应WL(130)供应矩阵的元素。在一些实施例中,输出/输入接口(164)可包含感测放大器(未绘示),且调适成从BL(140)接收存储在所选存储器元件(120i,j)中的元素。输出/输入接口(164)可更包含驱动器(未绘示),所述驱动器用于将电压施加到相应BL以选择存储单元的相应列以用于写入存储单元的列。此实例中的系统(100)更包含选择信号接口(170),所述选择信号接口(170)可包含驱动器(未绘示)且调适成向SL供应选择信号。如下文更详细地描述,输入接口(162)还调适成向WL(130)供应输出控制信号;在一些实施例中,输出控制信号和选择信号确定存储单元的行,矩阵元素从所述存储单元的行经由BL(140)被读取到输出接口(164)。输出接口(164)还调适成向BL(140)供应输入控制信号;在一些实施例中,输入控制信号和选择信号确定存储单元的列,矩阵元素从输入/输出接口(160)经由WL(130)写入到所述存储单元的列。
在一些实施例中,输出接口(164)进一步配置为输入/输出(I/O)接口,所述输入/输出(I/O)接口调适成向BL(140)供应数据且从BL(140)接收数据。输入接口(162)进一步调适成向WL供应启用信号以启用存储单元的相应行(120i)的读取和写入操作。在这类实施例中,存储阵列(110)可用于矩阵运算(来自WL的输入;输出到BL)以及常规的数据存储(在由WL启用时通过BL的I/O)。
现参考图2和图3A到图3C描述根据一些实施例的系统(100)在转置矩阵中的实例操作。在所绘示的实例中,在写入操作中,二进制信号(如“1,1,0,1”)的输入阵列施加到WL且写入到由BL(例如BL2)为该列所选列(例如列-2)。可对写入到其它所选列的其它输入阵列重复写入过程。在读取操作中,用于行(例如行-1)的SL(例如SL1)用于选择待从中读取的相应行,且所选行中的存储的数据经由BL传输。如图2中所绘示,在写入操作中,所有SL通过选择信号接口(170)设置成接地(0伏特)。通过输出接口(164)将所选待写入的存储单元(120i,j)的列的BL设置成电压VDS(例如1.0伏特或另一合适的电压);剩余的BL设置成0伏特。在图2中所示出的实例中,选择第三列(j=2)。WL利用电压Sin脉冲,电压Sin指示待转置的矩阵的对应行(用于行索引存储)或列(用于列索引存储)中的数目。在此实例中,二进制“1”由正电压脉冲表示,且二进制“0”由负电压脉冲表示。电压脉冲的幅值|VGS|大于开关电压。在一些实施例中,使用满足0.2V<|VGS|<0.3V的电压,但也可使用其它幅值。因此,在图2中所绘示的实例中,具有元素1、1、0和1的矩阵的第三行或列写入到存储单元(120i,2)的第三列。在依次选择存储单元的每一列(j=0、1、2和3)的情况下,矩阵的每一行或每一列写入到相应列,其中“1”存储为低源极-漏极电阻,且“0”为高源极-漏极电阻。
为了从存储阵列(110)读取元素,将所有WL设置成0伏特;所有BL设置成读取电压VREAD;且所有SL初始设置成VREAD。此后,将待读取的存储单元的行(在此实例中为第二行(i=1))的SL设置成0伏特。每一SL的输出信号Sout,j指示存储在所选行中的相应存储单元中的元素:存储的“1”由BL中的高放电电流表示,且“0”由低放电电流表示。在依次选择存储单元的每一行(i=0、1、2和3)的情况下,读取矩阵的每一列(用于行索引存储)或每一行(用于列索引存储)。
在一些实施例中,至少部分地选择VREAD以优化读取裕量,即,增强存储在给定存储单元中的“0”与“1”之间的区别。如图3B和图3C中的不同漏极-源极电压(VDS)的漏极电流(ID)相较于栅极-源极电压(VGS)的绘图所绘示,“存储器窗口”(memory window;MW),即FeFET的磁滞曲线的宽度取决于所施加的VDS:较高的VDS导致较小的MW。在图3B中的实例中,对于VDS=0.1伏特,MW=0.6伏特;在图3C中的实例中,对于VDS=1.0伏特,MW=0.4伏特。因此,举例来说,如果使用VREAD<0.2伏特,那么VDS<0.2伏特且VGS<0.2伏特。这确保了如果在写入循环中使用高达1.0伏特的VDS,那么读取循环中的VGS不会超过FeFET的开关电压。这确保了所读取的存储单元的存储器状态不会改变。
总而言之,如图4中所概述,一种用于处理(如转置矩阵)数据集的方法(400),所述数据集表示具有一或多个一维数据阵列(如矩阵的行或列)的输入数据阵列(如矩阵),所述一维数据阵列各自具有使用在行和列中可访问的存储单元阵列的元素的集合(如矩阵的行或列中的元素),所述方法包含:(a)将输入信号的集合施加到布置成行和列的存储单元的二维阵列的相应字线(410);(b)使存储单元的列能够存储对应于所施加的相应输入信号的二进制数据的集合(420);(c)重复步骤(a)和步骤(b),每次施加输入信号的不同集合且在存储单元的不同列中存储对应于所施加的输入信号的二进制数据的集合(430);以及(d)逐行地从存储阵列读取写入到存储阵列的列的二进制数据(440)。
在一些实施例中,如图5中所示出,图1中所绘示的多个存储阵列(110)可一起用于处理具有多位元素的矩阵。在图5中所绘示的实例中,系统(500)包含九个4×4存储单元阵列(110)、九个相应集合WL(130)和九个相应集合BL(140),以及SL的相应集合和相应的I/O接口(图5中未绘示)。九位元素的矩阵可由具有九个一位元素的矩阵表示,九个矩阵中的每一个都保持相同位值的位(例如,位值25的所有元素在一个矩阵中,且位值28的所有元素在另一矩阵中)。使用相应存储单元阵列(110)转置一位矩阵中的每一个。因此,所得输出(140)为转置矩阵的多位元素。
在一些实施例中,可使用与上述实例中所描述的不同的WL、BL以及SL的偏置的其它组合来完成写入操作。举例来说,可通过WL、BL以及SL的偏置的组合来完成写入值,使得栅极到源极电压(VGS)具有大于阈值电平的绝对值,如1.0伏特,即,|VGS|≥1.0伏特。举例来说,如图6中的简化图所示出,可通过将待写入的列的BL和SL偏置在0.5伏特处且将WL偏置在-0.5伏特处来完成写入“0”;可通过将待写入的列的BL和SL偏置在-0.5伏特处且将WL偏置在0.5伏特处来完成写入“1”。此外,在一些实施例中,如在图6中所示出的实例中,每一列可在两个阶段中写入,其中所有“0”在一个阶段中写入,且所有“1”在另一阶段中写入。在图6中绘示的实例中,首先写入“0”,但也可使用相反顺序。
在一些实施例中,可通过将矩阵划分为子矩阵且对如上文所描述的每一子矩阵执行如转置的矩阵运算来进行矩阵运算。举例来说,如图7中所示出,待转置的矩阵M可划分为多个子矩阵mi,i=1、2、3...。在图7中所绘示的特定实例中,6×6矩阵M划分为四个3×3子矩阵,子矩阵m1、子矩阵m2、子矩阵m3以及子矩阵m4。每一子矩阵mi可使用如上文所描述的3×3FeFET阵列转置为子矩阵mi T。所得矩阵MT由转置的子矩阵mi T构成,i=1、2、3、4。
在一个实施例中,一种用于处理数据集的系统,所述数据集表示具有一或多个一维数据阵列的输入数据阵列,所述一或多个一维数据阵列各自具有元素的集合,所述系统包括:存储阵列,具有逻辑上布置成行和列的多个存储单元,所述多个存储单元中的每一个具有输入端、输出端以及控制端;多个输入线,各自连接到所述存储单元的相应行的所述输入端;多个输出线,各自连接到所述存储单元的相应列的所述输出端;多个选择线,各自连接到所述存储单元的相应行的所述控制端;以及输入接口,连接到所述多个输入线,且调适成向相应输入线供应所述一或多个一维数据阵列中的一个的所述元素。
在相关实施例中,所述的系统更包括:输出/输入接口,连接到所述多个输出线,且调适成从所述输出线接收存储在所述存储单元的相应列中的所述元素;以及选择信号接口,连接到所述多个选择线,且调适成向所述选择线供应选择信号,其中所述输出/输入接口和所述选择信号接口调适成选择所述多个存储单元的列,以使所述多个存储单元的所述列能够存储由所述输入接口供应的所述元素,其中所述输入接口和所述选择信号接口调适成选择所述多个存储单元的行,以使所述多个存储单元的所述行能够将存储在所述多个存储单元的所述行中的所述元素输出到所述输出/输入接口。
在相关实施例中,所述多个存储单元中的每一个包括铁电随机存取存储器单元。
在相关实施例中,所述多个存储单元中的每一个包括具有栅极、漏极以及源极的铁电场效应晶体管,所述栅极连接到与所述铁电场效应晶体管所属的所述行相关联的所述输入线,所述漏极连接到与所述铁电场效应晶体管所属的所述列相关联的所述输出线,且所述源极连接到与所述铁电场效应晶体管所属的所述行相关联的所述选择线。
在相关实施例中,所述输入接口进一步调适成向所述输入线供应输出控制信号,所述多个存储单元中的每一个调适成被启用或停用,以取决于施加到所述存储单元的所述输出控制信号和选择信号的组合而将存储在所述存储单元中的所述元素输出到相应输出线。
在相关实施例中,所述输出/输入接口进一步调适成向所述输出线供应输入控制信号,所述多个存储单元中的每一个调适成被启用或停用,以取决于施加到所述存储单元的所述输入控制信号和所述选择信号的组合而通过所述相应输入线存储由所述输入接口供应的所述元素。
在相关实施例中,所述输入接口调适成向所述相应输入线供应矩阵的行的所述元素。
在相关实施例中,所述选择信号接口调适成向所有选择线供应第一电平的电压,且所述输出/输入接口调适成向所述多个输出线中的一个供应第二电平的电压且向剩余的输出线供应所述第一电平的电压,其中在所述第一电平的电压施加到所述控制端且所述第二电平的电压施加到所述输出端时,所述存储阵列中的存储器元件调适成能够存储由所述输入接口通过所述相应输入线供应的所述元素,其中在所述第一电平的电压施加到所述控制端和所述输出端两者时,所述存储阵列中的所述存储器元件调适成不能够存储由所述输入接口通过所述相应输入线供应的所述元素。
在相关实施例中,所述输入接口调适成向所有输入线供应所述第一电平的电压,且所述选择信号接口调适成向所述多个选择线中的一个供应所述第一电平的电压且向剩余的选择线供应所述第二电平的电压,其中在所述第一电平的电压施加到所述输入端和所述控制端两者时,所述存储阵列中的所述存储器元件调适成能够通过相应输出线将存储在相应存储器元件中的所述元素输出到所述输出/输入接口,其中在所述第一电平的电压施加到所述输入端且所述第二电平的电压施加到所述控制端时,所述存储阵列中的所述存储器元件调适成不能够通过所述相应输出线将存储在所述相应存储器元件中的所述元素输出到所述输出/输入接口。
在相关实施例中,所述铁电场效应晶体管具有作为所述输入端的栅极、作为所述输出端的漏极以及作为所述控制端的源极,且所述铁电场效应晶体管具有正开关电压和负开关电压,且调适成在栅极-源极电压超过所述正开关电压时接通,且在所述栅极-源极电压降到低于所述正开关电压时断开,其中所述输入接口调适成向所述多个输入线中的每一个供应正电压和负电压,所述正电压大于所述正开关电压且所述负电压小于所述负开关电压。
在相关实施例中,所述输入接口进一步调适成向所述多个输入线中的每一个供应与所述正电压和所述负电压不同的参考电压。
在另一实施例中,一种用于表示输入数据阵列的系统,所述输入数据阵列具有一或多个一维数据阵列,所述一或多个一维数据阵列各自具有多位元素的集合,所述系统包括:多个单位处理系统,各自包括:存储阵列,具有逻辑上布置成行和列的多个存储单元,所述多个存储单元中的每一个具有输入端、输出端以及控制端;多个输入线,各自连接到所述存储单元的相应行的所述输入端;多个输出线,各自连接到所述存储单元的相应列的所述输出端;以及多个选择线,各自连接到所述存储单元的相应行的所述控制端;输入接口,连接到每一单位处理系统的所述多个输入线,且调适成向相应输入线供应所述一或多个一维数据阵列中的一个的所述多位元素;输出/输入接口,连接到每一单位处理系统的所述多个输出线,且调适成从所述输出线接收存储在所述存储单元的相应列中的所述多位元素;以及选择信号接口,连接到每一单位处理系统的所述多个选择线,且调适成向所述选择线供应选择信号;其中所述输出/输入接口和所述选择信号接口调适成选择所述多个存储单元的列,以使所述多个存储单元的所述列能够存储由所述输入接口供应的所述多位元素;其中所述输入接口和所述选择信号接口调适成选择所述多个存储单元的行,以使所述多个存储单元的所述行能够将存储在所述多个存储单元的所述行中的所述多位元素输出到所述输出/输入接口。
在相关实施例中,所述多个单位处理系统中的每一个中的所述多个存储单元中的每一个包括铁电场效应晶体管。
在相关实施例中,所述多位元素中的每一个的每一位具有位值,其中所述输入接口调适成向所述多个单位处理系统中的相应一个的所述输入线供应来自多个所述多位元素的具有相同位值的所述位。
在相关实施例中,所述输出/输入接口调适成通过对来自所述单位处理系统的输出进行分组来形成多位元素的输出阵列。
又,在另一实施例中,一种实施矩阵运算的方法,所述方法包括:将输入信号的多个集合依序施加到具有存储单元的多个列和行的存储阵列的字线,每一集合指示矩阵的元素的值的相应列或行,所述存储单元的每一行与所述字线中的相应一个相关联;在所述存储阵列的每一列中的所述存储单元中存储数据集,所述数据集对应于施加到所述字线的所述输入信号的所述多个集合中的相应一个;以及从所述存储阵列、所述存储阵列的逐行读取写入到所述存储单元的所述元素。
在相关实施例中,所述存储单元中的每一个包括具有栅极、源极以及漏极的铁电场效应晶体管,其中在每一列的所述存储单元中存储包括经由所述字线将所述输入信号的相应集合施加到所述列中的所述铁电场效应晶体管的所述栅极,且其中从所述存储阵列的每一行读取包括从相应行的所述漏极接收写入到所述存储单元的所述元素。
在相关实施例中,在每一列的所述存储单元中存储更包括将第一电平的电压施加到所述铁电场效应晶体管的所有源极,将第二电平的电压施加到所述列中的所述铁电场效应晶体管的所述漏极,以及将所述第一电平的电压施加到所述存储阵列的剩余列。
在相关实施例中,读取来自每一行的所述元素更包括将第一电平的电压施加到所述铁电场效应晶体管的所有栅极,将所述第一电平的电压施加到所述行中的所述铁电场效应晶体管的所述漏极,以及将第二电平的电压施加到所述存储阵列的剩余行。
在相关实施例中,所述的方法更包括:将输入信号的多个集合依序施加到具有存储单元的多个列和行的第二存储阵列的字线,每一集合指示第二矩阵的元素的值的相应列或行,所述存储单元的每一行与所述字线中的相应一个相关联;在所述第二存储阵列的每一列中的所述存储单元中存储数据集,所述数据集对应于施加到所述字线的所述输入信号的所述多个集合中的相应一个;以及形成多位元素的矩阵,所述多位元素中的每一个是从两个矩阵读取的相应元素的组合。
前文概述若干实施例的特征,使得本领域的技术人员可更好地理解本发明实施例的各方面。本领域的技术人员应了解,其可易于使用本发明实施例作为用于设计或修改用于进行本文中所引入的实施例的相同目的和/或达成相同优点的其它工艺和结构的基础。本领域的技术人员还应认识到,这类等效构造并不脱离本发明实施例的精神和范围,且本领域的技术人员可在不脱离本发明实施例的精神和范围的情况下在本文中作出各种改变、替代以及更改。

Claims (1)

1.一种用于处理数据集的系统,所述数据集表示具有一或多个一维数据阵列的输入数据阵列,所述一或多个一维数据阵列各自具有元素的集合,所述系统包括:
存储阵列,具有逻辑上布置成行和列的多个存储单元,所述多个存储单元中的每一个具有输入端、输出端以及控制端;
多个输入线,各自连接到所述存储单元的相应行的所述输入端;
多个输出线,各自连接到所述存储单元的相应列的所述输出端;
多个选择线,各自连接到所述存储单元的相应行的所述控制端;以及
输入接口,连接到所述多个输入线,且调适成向相应输入线供应所述一或多个一维数据阵列中的一个的所述元素。
CN202011518293.4A 2019-12-23 2020-12-21 用于处理数据集的系统 Pending CN113094644A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962952774P 2019-12-23 2019-12-23
US62/952,774 2019-12-23
US17/085,361 2020-10-30
US17/085,361 US11264073B2 (en) 2019-12-23 2020-10-30 Device and method for performing matrix operation

Publications (1)

Publication Number Publication Date
CN113094644A true CN113094644A (zh) 2021-07-09

Family

ID=76438689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011518293.4A Pending CN113094644A (zh) 2019-12-23 2020-12-21 用于处理数据集的系统

Country Status (3)

Country Link
US (2) US11264073B2 (zh)
CN (1) CN113094644A (zh)
TW (1) TW202232344A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI814618B (zh) * 2022-10-20 2023-09-01 創鑫智慧股份有限公司 矩陣運算裝置及其操作方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081449A (en) * 1987-05-12 2000-06-27 Altera Corporation High-density nonvolatile memory cell
US5909387A (en) * 1997-06-02 1999-06-01 Invox Technology Memory architecture for recording of multiple messages
US6067244A (en) * 1997-10-14 2000-05-23 Yale University Ferroelectric dynamic random access memory
DE19913571C2 (de) * 1999-03-25 2002-11-07 Infineon Technologies Ag Integrierter Speicher mit Speicherzellen, die je einen ferroelektrischen Speichertransistor aufweisen
US6411542B1 (en) * 1999-12-15 2002-06-25 Electronics And Telecommunications Research Institute Ferroelectric memory device having ferroelectric memory transistors connected to separate well lines
JP4161951B2 (ja) * 2004-09-16 2008-10-08 セイコーエプソン株式会社 強誘電体メモリ装置
JP4171923B2 (ja) * 2006-04-18 2008-10-29 セイコーエプソン株式会社 強誘電体メモリ
IT1403803B1 (it) * 2011-02-01 2013-10-31 St Microelectronics Srl Supporto di memorizzazione provvisto di elementi di memoria di materiale ferroelettrico e relativo metodo di programmazione
US10127964B2 (en) * 2014-07-03 2018-11-13 Yale University Circuitry for ferroelectric FET-based dynamic random access memory and non-volatile memory
US11133047B2 (en) * 2019-06-24 2021-09-28 Micron Technology, Inc. Digit line management for a ferroelectric memory array

Also Published As

Publication number Publication date
US11264073B2 (en) 2022-03-01
TW202232344A (zh) 2022-08-16
US20220301613A1 (en) 2022-09-22
US20210193208A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
CN109214510B (zh) 神经形态多位式数字权重单元
CN110825345B (zh) 使用非易失性存储器单元的乘法
US11568223B2 (en) Neural network circuit
US20210043253A1 (en) Memory computation circuit and method
EP3268969B1 (en) Resistive memory arrays for performing multiply-accumulate operations
Chen et al. Multiply accumulate operations in memristor crossbar arrays for analog computing
CN110729011B (zh) 用于类神经网路的存储器内运算装置
US20180301189A1 (en) Crossbar arrays for calculating matrix multiplication
US10055383B1 (en) Matrix circuits
WO2016068920A1 (en) Memristive dot product engine for vector processing
CN110569962A (zh) 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法
Agarwal et al. Compensating for parasitic voltage drops in resistive memory arrays
CN111062463A (zh) 运用交叉开关矩阵实施多层神经网络
US20220301613A1 (en) Device and method for performing matrix operation
US11309026B2 (en) Convolution operation method based on NOR flash array
CN111898329A (zh) 基于铁电晶体管FeFET的卷积计算方法
WO2016018386A1 (en) Encoding data within a crossbar memory array
CN115424645A (zh) 计算器件、存储器控制器和执行存储器中计算的方法
CN111859261B (zh) 计算电路及其操作方法
CN115148234A (zh) 存储器中计算(cim)存储阵列
CN114171087A (zh) 忆阻器阵列结构及其操作方法、神经网络稀疏化装置
KR20220008743A (ko) 메모리 내의 컴퓨팅 회로 및 방법
Agarwal et al. The energy scaling advantages of RRAM crossbars
US20200133994A1 (en) Partition matrices into sub-matrices that include nonzero elements
US20230161557A1 (en) Compute-in-memory devices and methods of operating the same

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210709

WD01 Invention patent application deemed withdrawn after publication