计算器件、存储器控制器和执行存储器中计算的方法与流程



1.本技术的实施例涉及计算器件、存储器控制器和执行存储器中计算的方法。


背景技术:



2.本公开一般涉及在数据处理(诸如乘法累加操作)中使用的存储器阵列。存储器中计算(或存储器内计算)系统将信息储存在计算机的随机存取存储器(ram)中并在存储器单元级别执行计算,而不是在用于每个计算步骤的ram和数据储存单元之间移动大量数据。存储器中计算技术允许实时分析数据,因为储存在ram中的数据可以快速存取,这使得能够在机器学习应用中更快地做出报告和决策。


技术实现要素:



3.根据本技术的实施例的一个方面,提供了一种执行存储器中计算的方法,包括:将数据储存在存储器阵列的多个存储器单元中,数据包括用于计算的多个权重;确定是否接收到用于改变多个权重中的至少一个的更新命令;响应于接收到更新命令,对存储器阵列执行写入操作以更新改变的权重;以及禁用对存储器阵列的写入操作,直到接收到下一个更新命令以改变多个权重中的至少一个。
4.根据本技术的实施例的另一个方面,提供了一种计算器件,包括:存储器阵列,被配置为储存数据,数据包括用于计算的多个权重,存储器阵列包括分组在存储器单元的行和列中的多个存储器单元;以及存储器控制器,耦接到存储器阵列并且被配置为控制存储器单元。其中,存储器控制器被配置为:响应于更新命令,对存储器阵列执行写入操作以更新至少一个正在改变的权重;和禁用对存储器阵列的写入操作,直到收到下一个更新命令。
5.根据本技术的实施例的一个方面,提供了一种存储器控制器,包括:命令生成电路,被配置为当用于存储器中计算的多个权重中的一个被不同的权重替换时输出更新命令;以及控制电路,耦接到命令生成电路,并且被配置为禁用对用于储存多个权重的存储器阵列的写入操作直到接收到更新命令。
附图说明
6.当结合附图进行阅读取时,从以下详细描述可最佳理解本发明的各个方面。应该强调,根据工业中的标准实践,各个部件未按比例绘制并且仅用于说明的目的。实际上,为了清楚的讨论,各个部件的尺寸可以任意地增大或减小。
7.图1是根据本公开的一些实施例的示例性存储器器件的代表性部分的示意图。
8.图2是根据本公开的一些实施例的示例性存储器中计算(cim)器件的代表性部分的示意图。
9.图3是根据本公开的一些实施例的示例性存储器单元的示意图。
10.图4是图示根据本公开的一些实施例的图2的cim器件中的存储器操作的示例性图。
11.图5是图示根据本公开的一些实施例的图2的cim器件中的存储器操作的另一示例性图。
12.图6是根据本公开的一些实施例的执行存储器中计算的方法的示例性流程图。
13.图7是根据本公开的一些实施例的执行图6的方法中的写入操作的操作的示例性流程图。
具体实施方式
14.以下公开内容提供了许多用于实现本发明的不同特征不同的实施例或实例。下面描述了组件和布置的具体实施例或实例以简化本发明。当然,这些仅是实例而不旨在限制。例如,在以下描述中,在第二部件上方或者上形成第一部件可以包括第一部件和第二部件直接接触形成的实施例,并且也可以包括在第一部件和第二部件之间可以形成额外的部件,从而使得第一部件和第二部件可以不直接接触的实施例。此外,本发明可以在各个示例中重复参考数字和/或字母。该重复是为了简单和清楚的目的,并且其本身不指示讨论的各个实施例和/或配置之间的关系。
15.本说明书中使用的术语通常具有其在本领域中和在使用每个术语的特定上下文中的普通含义。本说明书中示例的使用(包括本文讨论的任何术语的示例)仅是说明性的,并且绝不限制本公开或任何示例性术语的范围和含义。同样,本公开不限于本说明书中给出的各种实施例。
16.尽管在本文中可以使用术语“第一”、“第二”等来描述各种元件,但是这些元件不应受到这些术语的限制。这些术语用于区分一个元件和另一个元件。例如,可以将第一元件称为第二元件,并且类似地,可以将第二元件称为第一元件,而不脱离实施例的范围。如本文所用,术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。
17.此外,为了便于描述,本文中可以使用诸如“在

下方”、“在

下面”、“下部”、“在

上面”、“上部”等的间隔关系术语,以描述如图中所示的一个元件或部件与另一元件或部件的关系。除了图中所示的方位外,间隔关系术语旨在包括器件在使用或操作工艺中的不同方位。装置可以以其它方式定位(旋转90度或在其它方位),并且在本文中使用的间隔关系描述符可以同样地作相应地解释。
18.在本文中,术语“耦接”也可以称为“电耦接”,并且术语“连接”可以称为“电连接”。“耦接”和“连接”也可以用来表示两个或多个元件相互协作或交互。
19.将针对特定上下文中的实施例,即存储器中计算(“cim”)应用来描述本公开的各种实施例。cim应用的示例是乘法累加(“mac”)操作。在mac操作中,输入数组(例如,行)中的数字乘以或“加权”数字(例如,权重)的另一数组(例如,列)中的对应元素,并且由累加器将乘积相加(累加)在一起以计算输出总和。此操作在数学上类似于两个向量的点乘积(即,标量乘积)。在点乘积操作中,两个向量的点乘积定义为分量对的乘积的和,其中两个向量的分量成对相互相乘。
20.在某些人工智能(ai)系统中,诸如人工神经网络,可以通过多列权重对数字数组进行加权。通过每列加权产生对应的输出和。因此,人工智能系统可以由数字输入数组乘以多列矩阵中的权重来产生和输出数组。换句话说,ai系统基于权重的集合将输入映射到输出。在诸如多位卷积神经网络(“cnn”)操作的各种其他应用中,采用了类似的操作。当ai系
统训练神经网络时,神经网络可能会使用各种算法来更新mac操作中使用的这些权重以到权重的合适集合,使得神经网络能够正确分类数据。在这些cim应用中,更新权重所需的功耗可能很大,并且mac操作的效率是一个问题。通过降低sram操作更新权重的功耗,可以相应地改进cim应用中mac操作的效率。
21.图1是根据本公开的一些实施例的示例性存储器器件100的代表性部分的示意图。如图1所示,存储器器件100包括存储器阵列110和存储器控制器120,存储器控制器120被配置为对存储器阵列110执行读取操作或写入操作。
22.存储器阵列110包括排列成m行和n列的存储器单元112,其中m是对应于行数的整数并且n是对应于列数的整数。例如,存储器阵列110可以是256
×
256存储器单元(112)的阵列,即,存储器单元112排列成256行
×
256列,但本公开不限于此。在各种实施例中,m和n可以是任何整数,诸如16、32、64、128等。此外,存储器阵列110也可以使用不同类型的阵列来实施,包括各种尺寸的二维和三维阵列。
23.在一些实施例中,存储器单元112可以是单端口(sp)静态随机存取存储器(sram)单元,但本公开不限于此。在一些实施例中,存储器单元112可以是双端口(dp)sram单元。存储器阵列110可以包括单个写入端口或读取端口,或者多于一个写入端口或读取端口。
24.继续图1的实施例,m个写入字线(wwl)wwl[0]-wwl[m-1]承载信号以激活存储器阵列110中对应的存储器单元112的行。例如,写入字线wwl[0]电连接到形成存储器阵列110的行0的存储器单元112的wwl端子。类似地,写入字线wwl[1]电连接到形成存储器阵列110的行1的存储器单元112的wwl端子,写入字线wwl[m-1]电连接到形成存储器阵列110的行m-1的存储器单元112的wwl端子。
[0025]
n个写入位线(wbl)wbl[0]-wbl[n-1]和n个写入反位线wblb[0]-wblb[n-1]承载用于储存在所选存储器单元112中的数据信号。例如,写入位线wbl[0]和写入反位线wblb[0]分别电连接到形成列0的存储器单元112的对应wbl和wblb端子。类似地,写入位线wbl[1]和写入反位线wblb[1]分别电连接到形成存储器阵列110的列1的存储器单元112的对应wbl和wblb端子,并且写入位线wbl[n-1]和写入反位线wblb[n-1]分别电连接到形成存储器阵列110的列n-1的存储器单元112的对应wbl和wblb端子。注意,在本公开的各种实施例的上下文中使用的术语“反”表示逻辑反转的信号。例如,列j中的存储器单元112相关联的写入反位线wblb[j]承载的信号与由列j中的存储器单元112相关联的写入位线wbl[j]所承载的信号逻辑反转。
[0026]
在存储器操作期间,存储器控制器120电连接到与存储器单元112中的一个对应的写入字线wwl[0]-wwl[m-1]、写入位线wbl[0]-wbl[n-1]和写入反位线wblb[0]-wblb[n-1]中的一些,并被配置为相应地设置电压值以读取或写入数据到相应的存储器单元112中。
[0027]
在各种实施例中,cim器件可以利用图1的存储器器件100来实施。例如,用于乘法累加操作的权重可以储存在存储器阵列110的存储器单元112中。存储器器件100可以是静态随机存取存储器(“sram”)器件,但本公开不是仅限于此。在sram器件中,当通过来自一个或多个字线(“wl”)的使能信号来激活sram单元中的一个或多个存取晶体管时,可以经由一个或多个位线(“bl”)将数据写入每个sram单元以及从每个sram单元读取数据。基于sram的cim设计接通与sram单元的列相关联的多个字线,以对公共位线(诸如读取位线(“rbl”))放电,以实施1-位mac操作。
[0028]
图2是根据本公开的一些实施例的示例性cim器件200的部分的示意图。如图2所示,cim器件200包括存储器阵列110,存储器阵列110具有排列成行和列的存储器组220。每个存储器组220包括储存权重的对应存储器单元112、第一开关器件222、具有电容(ccell)的电容器224和第二开关器件226。每行中的存储器组220电连接到由存储控制器120控制的对应的写入字线(“wwl”)、对应的输入线(“in”)和对应的评估控制线(“eval”)。每列中的存储器组220电连接到也由存储器控制器120控制的对应的写入位线(“wbl”)、对应的写入反位线(“wblb”)和对应的读取位线(“rbl”)。
[0029]
下面以与对应的行i和对应的列j相关联的存储器单元(例如图2中的存储器组220[i,j])为例来描述存储器组220的结构和电路及相对于对应信号线的操作。如图2所示,对于存储器组220[i,j],存储器单元112连接到与行i相关联的写入字线wwl[i]和与列j相关联的写入位线wbl[j]和写入反位线wblb[j]。当被写入字线wwl[i]上的信号激活时,存储器单元112被配置为根据写入位线wbl[j]和写入反位线wblb[j]的值来输入指示权重(“w”)(0或1)的二进制信号,并相应地储存权重。
[0030]
第一开关器件222连接到存储器单元112和用于接收输入信号的相关联的输入线in[i]。第一开关器件222由输入线in[i]上的输入信号控制,并相应选择性地被接通或关断以接收来自存储器单元112的权重。例如,当输入线in[i]上的输入信号为逻辑高(“1”)时,第一开关器件222接通,当输入线in[i]上的输入信号为逻辑低(“0”)时,第一开关器件222关断。当第一开关器件222接通时,储存在存储器单元112中的权重可以被传递到节点228。电容器224连接在第一开关器件222和参考电压(例如,地电压)之间。电容器224所储存的电压指示输入线in[i]上的输入信号与对应存储器单元112中的权重的乘积。第二开关器件226连接到相关联的读取位线rbl[j]和对应评估控制线eval[i]并由评估控制线eval[i]上的信号控制。第二开关器件226选择性地互连对应的读取位线rbl[j]和节点228,在节点228处第一开关器件222和电容器224彼此连接。
[0031]
因此,在节点228上感测的电压值,在本文中也称为单元电压vcell,由第一开关器件222的状态和储存在存储器单元112中的权重确定。第一开关器件222继而由从输入线in[i]接收的输入信号确定。当输入线in[i]上的输入信号为逻辑高(“1”)时,第一开关器件222接通并将储存在存储器单元112中的权重传递给节点228。当输入线in[i]上的输入信号为逻辑低(“0”)时,第一开关器件222关断,并且“0”被输出到节点228,而与储存在存储器单元112中的权重无关。因此,输出到节点228的是输入信号和储存在存储器单元112中的权重的乘积。第一开关器件222的输出可以由下表1给出:
[0032]
表1
[0033]
输入权重输出000010100111
[0034]
在一些实施例中,在执行上述乘法操作之前,每个存储器组220的节点228处的电压vcell通过预放电电容器224来复位。例如,电容器224的放电可以是通过以下方式来实现:关断第一开关器件222和接通第二开关器件226,使用输入线in[i]和评估控制线eval
[i]上的对应信号,并将读取位线rbl[j]驱动到0。因此,在每个存储器组220中,放电电流可以流过第二开关器件226以将节点228处的电压vcell复位为0。
[0035]
接下来,在复位之后,在每个存储器组220中的第二开关器件226关断的情况下,执行上述乘法运算。因此,每个存储器组220的节点228处的电压vcell指示(例如,成比例于)输入线in[i]上的输入信号和储存在对应存储器单元112中的权重的乘积。
[0036]
接下来,可以获得读取位线rbl[j]上的电压vrbl。电压vrbl成比例于与读取位线rbl[j]相关联的对应列j中的所有存储器组220的乘积值(in
×
w)的和。对于乘积值的和的计算,存储器控制器120可以将读取位线rbl[j]预放电至0伏,然后通过使用评估控制线eval[i]、eval[i+1]

,上的相应信号接通所有存储器组220的第二开关器件226,以允许列j中的各个存储器组220的电容224向读取位线rbl[j]放电。因此,读取位线rbl[j]上的电压vrbl随着列j中的存储器组220的电容器224放电而上升。因为在列j的各个存储器组220中的电容器224彼此并联并且与耦接在读取位线rbl[j]和参考电压(例如,地)之间的电容器230并联,所以电荷现在在所有电容器224之间共享。因此,读取位线rbl[j]上的电压vrbl由等式(1)给出:
[0037][0038]
在等式(1)中,n是相同读取位线rbl[j]上的存储器组220的数量,m是在电荷共享之前指示逻辑高的节点228的数量,ccell是每个电容器224的电容值,crbl是耦接到读取位线rbl[j]的电容230的电容值,vdd是电源电压。因此,读取位线rbl[j]上的电压vrbl表示输入信号与共享相同读取位线rbl[j]的存储器组220中的权重(in
×
w)的各个乘积的和。
[0039]
当使用乘法累加系统作为模型应用于ai应用时,cim器件200可以经由输入线in[i]向当前模型提供一组输入数据(例如,数字)。通过将每个输入与储存在存储器阵列110中的对应权重相乘并将乘积累加在一起以获得输出数据,来处理输入数据。然后将输出数据与目标输出电压或期望输出电压进行比较。如果输出数据与期望值不够接近,则调整模型并重复该过程,直到输出数据与期望值足够接近。例如,如图2所示,cim器件200可以包括排列成行和列的元件的二维阵列,每个元件储存权重,并且能够接收输入并生成输出,输出为输入和储存的权重的算术乘积。模型系统可以将每个输入提供给元件的行,并将元件的每列的输出加在一起。
[0040]
图3是根据本公开的一些实施例的示例性存储器单元300的示意图。在一些实施例中,存储器单元300是六晶体管(6t)单端口(sp)sram存储器单元,存储器单元300可用于实施图1或图2所示的存储器单元112。在一些其他实施例中,存储器单元300采用除了六个之外的多个晶体管。例如,在一些其他实施例中,图1的存储器件中的存储器单元可以通过8t sram位单元、10t sram位单元或任何其他类型的存储器单元来实现。图3中示出了6t sram单元300是示例性的并且用于解释存储器单元的特征,但并不意味着限制本公开的实施例。
[0041]
如图3所示,存储器单元300包括交叉耦接的反相器对310,以及存取晶体管320和330(也称为传输门或传输晶体管)。交叉耦接的反相器对310包括两个p型金属氧化物半导体(pmos)晶体管312、314和两个n型金属氧化物半导体(nmos)晶体管316、318。pmos晶体管312、314的源极端子电连接到电源电压(vdd)端子。pmos晶体管312、314的漏极端子分别在对应的节点qb和q处电连接到n型金属氧化物半导体(nmos)晶体管316、318的漏极端子。
nmos晶体管316、318的源极端子电连接到参考节点。如图3所示,在一些实施例中,参考节点基本上等于逻辑低信号。例如,参考节点可以基本上等于地电压(vss)。pmos晶体管312的栅极端子电连接到nmos晶体管316的栅极端子以及nmos晶体管318和pmos晶体管314的相应源极/漏极端子。类似地,pmos晶体管314的栅极端子电连接到nmos晶体管318的栅极端子以及nmos晶体管316和pmos晶体管312的相应源极/漏极端子。
[0042]
pmos晶体管312和314可以称为上拉晶体管,并且nmos晶体管316和318可以称为下拉晶体管。具体地,pmos晶体管312和314被配置为将电压电位拉向电源电压vdd。nmos晶体管316和318被配置为将电压电位拉向参考节点(例如,地电压vss)。
[0043]
存取晶体管320被配置为选择性地将交叉耦接的反相器310连接到写入位线wbl。存取晶体管330被配置为选择性地将交叉耦接的反相器310连接到写入反位线wblb。存取晶体管320和存取晶体管330均被配置为基于写入字线wwl上的信号而被激活。如图3所示,在一些实施例中,存取晶体管320和存取晶体管330可以是栅极端子与写入字线wwl电连接的nmos晶体管,但本公开不限于此。在其他实施例中,存取晶体管320和存取晶体管330可以由pmos晶体管来实施。
[0044]
对于图3中的存储器单元300具有用于存取晶体管320和330的nmos晶体管,存储器单元300通过存取晶体管320或存取晶体管330的栅极端子处的逻辑高信号连接到写入位线wbl或写入反位线wblb。相反,如果存储器单元300替代地包括用于存取晶体管320和330的pmos晶体管,则存储器单元300通过存取晶体管320或存取晶体管330的栅极端子处的逻辑低信号连接到写入位线wbl或写入反位线wblb。
[0045]
在各种实施例中,存储器单元300可以具有任何合适的物理结构。例如但不限于,存储器单元300中的晶体管312、314、316、318、320和330可以包括三维栅极结构,诸如鳍式场效应晶体管(finfet)。
[0046]
图4是图示根据本公开的一些实施例的图2的cim器件200中的存储器操作的示例性图。在图4的实施例中,存储器阵列110中的sram存储器单元112被配置为储存要在cim应用中使用的权重。存储器控制器120控制sram存储器单元112,执行写入操作以更新储存在一个或多个所选存储器单元112中的权重。
[0047]
如图4所示,在一些实施例中,cim器件200还包括命令生成电路410。命令生成电路410确定权重是否改变,并且响应于权重改变,提供与权重改变相关联的更新命令uc1。另一方面,当权重保持未改变时,命令生成电路410不提供更新命令uc1。换言之,命令生成电路410被配置为仅当储存的权重中的一个被不同的权重替换时才输出更新命令uc1。
[0048]
在图4的实施例中,命令生成电路410电性耦接到存储器控制器120,但本发明不以此为限。在一些其他实施例中,命令生成电路410可以设置于并整合于存储器控制器120中。当权重改变时,存储器控制器120接收更新命令uc1以启动更新。因此,响应于接收更新命令uc1,存储控制器120对存储器阵列110执行写入操作以更新储存在对应存储器单元112中的对应权重。当执行写入操作时,为了将数据写入到存储器阵列110的行i和列j中的目标存储器单元112中,在写入周期开始之前的预充电阶段期间,存储控制器120首先将与列j相关联的写入位线wbl[j]和写入反位线wblb[j]预充电到高电压(例如,电源电压vdd)。然后,随着写入周期开始,存储器控制器120将要写入的值施加到写入位线wbl[j],并将逻辑反转的值施加到写入反位线wblb[j]。
sn的写入操作。因此,当更新储存在区段s1的存储器单元112中的权重时,存储控制器120可以通过防止剩余区段s2-sn中的不必要的充电电流来降低整体功耗,以改进mac操作的效率。
[0056]
图6是根据本公开的一些实施例的用于执行存储器中计算的方法600的示例性流程图。应当理解,可以在图6中描绘的方法600之前、期间和/或之后执行附加操作,并且其他一些操作在此仅作简要描述。方法600可以针对图1-图5的实施例中图示的存储器器件100和cim器件200执行,但本公开不限于此。
[0057]
在操作610中,存储器控制器(例如,图1中的存储器控制器120)将数据储存在存储器阵列(例如,图1中的存储器阵列110)中。在一些实施例中,储存在存储器阵列中的数据可以包括用于计算(例如在ai系统中)的多个权重。
[0058]
在操作620中,存储器控制器确定是否接收到与正在改变的至少一个权重相关联的更新命令(例如,图4中的更新命令uc1)。在一些实施例中,在权重中的一个被不同的权重替换时,存储器器件100或cim器件200中的命令生成电路(例如,图4中的命令生成电路410)输出更新命令。
[0059]
当存储器控制器接收更新命令时(操作620-是),则在操作630中,存储器控制器响应于接收到更新命令对存储器阵列执行写入操作以更新权重。在一些实施例中,存储器阵列被划分为多个区段(例如,图5中的区段s1-sn),并且在操作630中,响应于在当前周期中接收到与要写入的一个目标区段(例如,区段s1)相关联的更新命令,存储器控制器对目标区段执行写入操作,并且单独地禁用对与目标区段分离的剩余区段(例如,图5中的区段s2-sn)的写入操作。此外,在接下来的周期中,响应于接收到与要写入的另一目标区段(例如,图5中的区段s2)相关联的更新命令,存储器控制器对目标区段执行写入操作并且单独地禁用对与目标段分离的剩余区段(例如,图5中的区段s1和s3-sn)的写入操作。
[0060]
图7是根据本公开的一些实施例的用于执行写入操作的操作630的示例性流程图。如图7所示,在一些实施例中,操作630包括操作632、634、636和638。在操作632中,存储器控制器将与用于储存更新的权重的存储器单元中的一个相关联的对应位线(例如,图4中的写入位线wbl[j])和对应互补位线(例如,图4中的写入反位线wblb[j])预充电到高电压(例如,电源电压vdd)。在操作634中,基于与更新命令相关联的更新的权重,存储器控制器将对应位线设置为第一逻辑值(例如,当写入数据1时为逻辑1或者当写入数据0时为逻辑0)。在操作636中,基于更新的权重,存储器控制器将对应互补位线设置为与第一逻辑值互补的第二逻辑值(例如,当写入数据1时为逻辑0或者当写入数据0时为逻辑1)。在操作638中,存储器控制器将与用于储存更新的权重的存储器单元相关联的对应字线(例如,图4中的写入字线wwl[i])设置为逻辑1。
[0061]
再次参考图6,如果存储器控制器没有接收到更新命令(操作620-否),则在操作640中,存储器控制器禁用对存储器阵列的写入操作,直到接收到与正在改变的权重相关联的下一个更新命令。例如,存储器控制器可以绕过图7中的一个或多个操作632、634、636和638以禁用写入操作。具体地,存储器控制器可以禁用包括在操作638中的操作,并将与具有未改变的权重的存储器单元相关联的对应字线设置为逻辑零或浮置状态。在一些实施例中,在操作640中,存储器控制器禁用预充电与储存未改变的权重的存储器单元相关联的对应位线和对应互补位线(例如,操作632中描述的操作),并且禁用设置对应位线和设置对应
互补位线(例如,包括在操作634和636中的操作)。因此,对应位线和对应互补位线保持在它们的先前状态。
[0062]
在一些实施例中,在操作650中,存储器控制器禁用对储存用于计算的权重的存储器单元的读取操作,而无论是否接收到更新命令。换言之,存储器控制器不对存储器阵列中储存权重的存储器单元执行随机存取。即,存储器控制器在“只写入”模式下操作且将写入位线和写入反位线保持在它们的先前状态,并且在当前写入操作完成之后不将写入位线和写入反位线充电回高电压(vdd)。
[0063]
通过上述操作,可以实现一种用于执行存储器中计算的方法,以通过禁用预充电操作直到收到下一个命令来减少更新储存在存储器中且用于mac操作的权重所需的功耗。因此,以上方法可以改进mac操作的效率,并且降低人工智能系统中各种cim应用所需的整体功耗。应当理解,尽管结合sram单元描述了上述电路架构和方法,但本文描述的方法可以应用于使用其他类型的存储器单元的cim器件。
[0064]
在一些实施例中,公开了一种用于执行存储器中计算的方法。该方法包括:将数据储存在存储器阵列的多个存储器单元中,数据包括用于计算的多个权重;确定是否接收到更新命令以改变多个权重中的至少一个;响应于接收到更新命令,对存储器阵列执行写入操作以更新改变的权重;以及,禁用对存储器阵列的写入操作,直到接收到下一个更新命令以改变多个权重中的至少一个。
[0065]
在一些实施例中,上述方法还包括:禁用对储存用于计算的多个权重的存储器单元的读取操作。
[0066]
在一些实施例中,执行写入操作包括:将与用于储存更新的权重的存储器单元中的一个相关联的位线和互补位线预充电到电源电压;基于与更新命令相关联的更新的权重将位线设置为第一逻辑值;基于更新的权重将互补位线设置为与第一逻辑值互补的第二逻辑值;以及,将与存储器阵列的存储器单元中的一个相关联的字线设置为逻辑一。
[0067]
在一些实施例中,禁用写入操作包括:禁用预充电与具有未改变的权重的存储器单元中的一个相关联的位线和互补位线;和禁用设置位线和设置互补位线。
[0068]
在一些实施例中,禁用写入操作包括将与具有未改变的权重的存储器单元中的一个相关联的字线设置为逻辑零。
[0069]
在一些实施例中,禁用写入操作包括将与具有未改变的权重的存储器单元中的一个相关联的字线设置为浮置状态。
[0070]
在一些实施例中,上述方法还包括:响应于接收到与存储器阵列中的第一区段相关联的更新命令,对第一区段执行写入操作并且单独地禁用对与存储器阵列中的第一区段分离的第二区段的写入操作。
[0071]
在一些实施例中,公开了一种计算器件。该计算器件包括存储器阵列,其被配置储存数据,数据包括用于计算的多个权重,该存储器阵列包括分组在存储器单元的行和列中的多个存储器单元,以及耦接到存储器阵列并且被配置为控制存储器单元的存储器控制器。存储器控制器被配置为:响应于更新命令,对存储器阵列执行写入操作以更新至少一个正在改变的权重,以及禁用对存储器阵列的写入操作,直到接收到下一个更新命令。
[0072]
在一些实施例中,存储器控制器被配置为禁用对储存用于计算的多个权重的存储器单元的读取操作。
[0073]
在一些实施例中,存储器控制器被配置为通过以下方式执行写入操作:预充电与用于储存更新的权重的存储器单元中的一个相关联的存储器阵列的位线和互补位线;基于与更新命令相关联的更新的权重将位线设置为第一逻辑值;基于更新的权重将互补位线设置为与第一逻辑值互补的第二逻辑值;和将与存储器单元中的一个相关联的字线设置为逻辑一。
[0074]
在一些实施例中,存储器控制器被配置为通过以下方式禁用写入操作:禁用预充电与具有未改变的权重的存储器单元中的一个相关联的位线和互补位线;和禁用设置位线和设置互补位线。
[0075]
在一些实施例中,存储器控制器被配置为通过将与具有未改变的权重的存储器单元中的一个相关联的字线设置为逻辑零来禁用写入操作。
[0076]
在一些实施例中,存储器控制器被配置为通过将与具有未改变的权重的存储器单元中的一个相关联的字线设置为浮置状态来禁用写入操作。
[0077]
在一些实施例中,存储器控制器被配置为响应于与存储器阵列中的第一区段相关联的更新命令,对第一区段执行写入操作并且单独地禁用对与存储器阵列中的第一区段分离的第二区段的写入操作。
[0078]
在一些实施例中,上述计算器件还包括命令生成电路,命令生成电路被配置为当多个权重中的一个被不同的权重替换时输出更新命令。
[0079]
在一些实施例中,命令生成电路耦接到存储器控制器。
[0080]
在一些实施例中,存储器控制器包括命令生成电路。
[0081]
在一些实施例中,公开了一种存储器控制器。存储器控制器包括命令生成电路,其被配置为当用于存储器中计算的多个权重中的一个被不同的权重替换时输出更新命令,以及控制电路,控制电路耦接到命令生成电路,并且被配置为禁用对用于储存多个权重的存储器阵列的写入操作直到接收到更新命令。
[0082]
在一些实施例中,控制电路还被配置为响应于更新命令执行写入操作以更新存储器阵列中的多个权重中的一个。
[0083]
在一些实施例中,控制电路被配置为通过以下方式禁用写入操作:禁用预充电与具有未改变的权重的存储器单元中的一个相关联的位线和互补位线;和禁用设置位线和设置互补位线。
[0084]
上述概述了几个实施例的特征,以便本领域技术人员可以更好地理解本公开的各个方面。本领域技术人员应当理解,他们可以容易地使用本公开作为设计或修改用于实现本文所介绍的实施例的相同目的和/或实现其相同优点的其它过程和结构的基础。本领域技术人员还应当认识到,此类等效结构不背离本发明的精神和范围,并且它们可以在不背离本发明的精神和范围的情况下在本发明中进行各种改变、替换以及改变。

技术特征:


1.一种执行存储器中计算的方法,包括:将数据储存在存储器阵列的多个存储器单元中,所述数据包括用于计算的多个权重;确定是否接收到更新命令以改变所述多个权重中的至少一个;响应于接收到所述更新命令,对所述存储器阵列执行写入操作以更新改变的所述权重;以及禁用对所述存储器阵列的所述写入操作,直到接收到下一个更新命令以改变所述多个权重中的至少一个。2.根据权利要求1所述的方法,还包括:禁用对储存用于计算的所述多个权重的所述存储器单元的读取操作。3.根据权利要求1所述的方法,其中,执行所述写入操作包括:将与用于储存更新的所述权重的所述存储器单元中的一个相关联的位线和互补位线预充电到电源电压;基于与所述更新命令相关联的更新的权重将所述位线设置为第一逻辑值;基于更新的所述权重将所述互补位线设置为与所述第一逻辑值互补的第二逻辑值;和将与所述存储器阵列的所述存储器单元中的所述一个相关联的字线设置为逻辑一。4.根据权利要求1所述的方法,其中,禁用所述写入操作包括:禁用预充电与具有未改变的权重的所述存储器单元中的一个相关联的位线和互补位线;和禁用设置所述位线和设置所述互补位线。5.根据权利要求1所述的方法,其中,禁用所述写入操作包括将与具有未改变的权重的所述存储器单元中的一个相关联的字线设置为逻辑零。6.根据权利要求1所述的方法,其中,禁用所述写入操作包括将与具有未改变的权重的所述存储器单元中的一个相关联的字线设置为浮置状态。7.根据权利要求1所述的方法,还包括:响应于接收到与所述存储器阵列中的第一区段相关联的更新命令,对所述第一区段执行所述写入操作并且单独地禁用对与所述存储器阵列中的所述第一区段分离的第二区段的写入操作。8.一种计算器件,包括:存储器阵列,被配置为储存数据,所述数据包括用于计算的多个权重,所述存储器阵列包括分组在存储器单元的行和列中的多个存储器单元;以及存储器控制器,耦接到所述存储器阵列并且被配置为控制所述存储器单元,其中,所述存储器控制器被配置为:响应于更新命令,对所述存储器阵列执行写入操作以更新至少一个正在改变的权重;和禁用对所述存储器阵列的所述写入操作,直到接收到下一个更新命令。9.根据权利要求8所述的计算器件,其中,所述存储器控制器被配置为禁用对储存用于计算的所述多个权重的所述存储器单元的读取操作。10.一种存储器控制器,包括:命令生成电路,被配置为当用于存储器中计算的多个权重中的一个被不同的权重替换
时输出更新命令;以及控制电路,耦接到所述命令生成电路,并且被配置为禁用对用于储存所述多个权重的存储器阵列的写入操作,直到接收到所述更新命令。

技术总结


本申请的实施例提供了计算器件、存储器控制器和执行存储器中计算的方法。执行存储器中计算的方法包括:将数据储存在存储器阵列的存储器单元中,该数据包括用于计算的权重;确定是否接收到更新命令以改变至少一个权重;响应于接收到更新命令,对存储器阵列执行写入操作以更新至少一个权重;并且禁用对存储器阵列的写入操作,直到接收到下一个更新命令以改变至少一个权重。少一个权重。少一个权重。


技术研发人员:

池育德 李嘉富

受保护的技术使用者:

台湾积体电路制造股份有限公司

技术研发日:

2022.07.28

技术公布日:

2022/12/1

本文发布于:2024-09-25 11:15:04,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/30193.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:存储器   权重   操作   阵列
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议