首页> 中国专利> 存储器内运算器及存储器内运算方法

存储器内运算器及存储器内运算方法

摘要

本公开提供了一种存储器内运算器及其运算方法。存储器内运算器包括存储单元阵列、输入缓冲器以及感测放大器。存储单元阵列包括存储单元区块。存储单元区块对应至少一字线,存储单元区块用以储存多个权重值,存储单元区块上的多个存储单元储存对应的各权重值的多个位。输入缓冲器耦接至多条位线。输入缓冲器分别传送多个输入信号至位线。存储单元阵列使输入信号与权重值进行乘法运算以产生分别对应多个位序的多个第一运算结果。感测放大器依据第一运算结果对应的位序,使第一运算结果相加以产生第二运算结果。

著录项

  • 公开/公告号CN114816326A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 旺宏电子股份有限公司;

    申请/专利号CN202110695913.X

  • 发明设计人 林榆瑄;曾柏皓;李峯旻;李明修;

    申请日2021-06-23

  • 分类号G06F7/50(2006.01);G06F7/52(2006.01);

  • 代理机构中科专利商标代理有限责任公司 11021;

  • 代理人周天宇

  • 地址 中国台湾新竹科学工业园区力行路16号

  • 入库时间 2023-06-19 16:11:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-16

    实质审查的生效 IPC(主分类):G06F 7/50 专利申请号:202110695913X 申请日:20210623

    实质审查的生效

说明书

技术领域

本公开是有关于一种存储器内运算器,且特别是有关于一种可储存单位权重值的存储器内运算器以及存储器内运算方法。

背景技术

随着科技的进步,人工智能成为一种技术的主流,为了使类神经网络的乘加运算可以有效的被执行,提供简单且可快速执行乘加运算的硬件电路,成为电路设计者的重要课题。

因应这样的潮流,所谓的存储器内运算器被提出。其中,存储器内运算器利用存储器来做为储存权重值的媒介,并与所接收输入信号来执行乘加运算。基于存储器内的存储单元的高密度特性,可以以较小的电路面积,来完成大量的乘加运算动作。

公开内容

本公开提供一种存储器内运算器及其运算方法,可通过开启部分的字线来完成乘加运算动作。

本公开的存储器内运算器包括存储单元阵列、输入缓冲器以及感测放大器。存储单元阵列包括存储单元区块。存储单元区块对应至少一字线,存储单元区块用以储存多个权重值,存储单元区块上的多个存储单元储存对应的各权重值的多个位。输入缓冲器耦接至多条位线。输入缓冲器分别传送多个输入信号至位线。其中存储单元阵列使输入信号与权重值进行乘法运算以产生分别对应多个位序的多个第一运算结果。感测放大器依据第一运算结果对应的位序,使第一运算结果相加以产生第二运算结果。

本公开的存储器内运算方法包括:在存储单元阵列中,提供对应至少一字线的存储单元区块,使存储单元区块储存多个权重值,其中存储单元区块上的多个存储单元储存对应的各权重值的多个位;提供输入缓冲器以分别传送多个输入信号至这些位线;使输入信号与权重值在存储单元阵列中进行乘法运算以产生分别对应多个位序的多个第一运算结果;以及,依据第一运算结果对应的位序,使第一运算结果相加以产生第二运算结果。

基于上述,本公开的存储器内运算器设置存储单元区块以储存多个权重值。并通过输入缓冲器传送多个输入信号至对应的位线,以使输入信号与权重值进行乘法运算。感测放大器则用以感测乘法运算的运算结果,并使各运算结果依据对应的位序进行相加,来获得乘加运算的运算结果。

附图说明

图1为本公开一实施例的存储器内运算器的示意图。

图2为本公开另一实施例的存储器内运算器的示意图。

图3为对应本公开图2实施例的存储器内运算器的实施方式的示意图。

图4为本公开另一实施例的存储器内运算器的示意图。

图5为对应本公开图4实施例的存储器内运算器的实施方式的示意图。

图6为本公开另一实施例的存储器内运算器的示意图。

图7为对应本公开图6实施例的存储器内运算器的一实施方式的示意图。

图8为本公开另一实施例的存储器内运算器的示意图。

图9为对应本公开图8实施例的存储器内运算器的一实施方式的示意图。

图10为本公开另一实施例的存储器内运算器的示意图。

图11为对应本公开图10实施例的存储器内运算器的实施方式的示意图。

图12为本公开实施例的存储器内运算方法的流程图。

附图标记说明

100、200、300、400、500、600、700、800、900、1000、1100:存储器内运算器

110、210、310、410、510、610、710、810、910、1010、1110:存储单元阵列

120、220、320、420、520、620、720、820、920、1020、1120:感测放大器

130、230、330、530、730、930、1130:输入缓冲器

140、240、340、440、540、640、740、840、940、1040、1140:字线驱动器

A:输入信号组

A1~An:输入信号

CA1~CAm:存储单元区块

W:权重值组

W1j~Wnj:权重值

A1(0)~An(2)、A1(p-1)~An(p-1)、W1j(0)~Wnj(3)、Ai(1)、Ai(2):位

t1~tp-1:时间点

SA1~SA6、CSA1~CSA6:感测电路

321、322、521、721、921、1121:乘法器

323、522、722、922、1122:加法器

324:缓冲器

F1、F2:字段

具体实施方式

请参照图1,图1为本公开一实施例的存储器内运算器的示意图。存储器内运算器100包括存储单元阵列110、输入缓冲器130、感测放大器120以及字线驱动器140。存储单元阵列110中具有多个存储单元区块CA1~CAm。存储单元区块CA1~CAm中的每一存储单元区块对应至一条或多条字线。字线驱动器140耦接至字线,用以提供字线信号至对应的字线。

在本实施例中,存储单元区块CAj储存权重值组W,权重值组W包括多个权重值W1j~Wnj。权重值W1j~Wnj的每一权重值可具有多个位,并分别储存在存储单元区块CAj中的每一存储单元中。在此,本实施例的存储单元阵列110可以为与非式快闪存储单元阵列,其中的每一存储单元并为单阶储存存储单元(Single-Level Cell,SLC)的形式。

输入缓冲器130耦接至存储单元阵列110的多条位线。输入缓冲器130中储存输入信号组A,其中输入信号组A包括多个输入信号A1~An。在存储器内运算器100执行运算动作时,输入缓冲器130分别传送输入信号A1~An至存储单元阵列110的位线。并使输入信号A1~An的多个位,可以与存储单元区块CAj中的多个权重值W1j~Wnj进行乘法运算,并产生对应多条位线的多个第一运算结果。

在此请注意,以输入信号A1的p个位与权重值W1j的q个位(p、q皆为正整数)进行乘法运算为例,存储单元阵列110可以产生p×q个第一运算结果(每一第一运算结果为一个位)。且上述的第一运算结果依据其位的高低,具有一位序。例如,输入信号A1的最高有效位与权重值W1j的最高有效位相乘所产生的第一运算结果可具有最高的位序;输入信号A1的最低有效位与权重值W1j的最低有效位相乘所产生的第一运算结果可具有最低的位序,其余可类推得知。

感测放大器120耦接至存储单元阵列110。在存储器内运算器100执行运算动作时,感测放大器120可接收存储单元阵列110所产生的第一运算结果,并依据第一运算结果对应的位序,使第一运算结果相加以产生第二运算结果。

在动作细节上,当存储器内运算器100执行乘加运算时,字线驱动器140可启动存储单元区块CAj对应的一条或多条字线。输入缓冲器130可提供输入信号(例如输入信号A1)的多个位至位线。如此一来,存储单元区块CAj中储存的权重值W1j~Wnj的多个位可以与输入信号A1的多个位相乘,并产生多个第一运算结果。在此同时,感测放大器120可接收并感测存储单元阵列110所产生的第一运算结果。感测放大器120并依据第一运算结果对应的位序,使第一运算结果相加以产生第二运算结果。

以下请参照图2,图2为本公开另一实施例的存储器内运算器的示意图。存储器内运算器200包括存储单元阵列210、输入缓冲器230、感测放大器220以及字线驱动器240。存储单元阵列210中具有多个存储单元区块CAj~CAm。以存储单元区块CAj为范例,存储单元区块CAj中储存权重值W1j~Wnj,其中每一权重值W1j~Wnj可具有q个位,q为正整数。

输入缓冲器230中储存输入信号A1~An。其中输入信号A1~An的每一输入信号均具有p个位,p为正整数。在运算过程中,输入缓冲器230可分时传送输入信号A1~An的多个位分别至多条对应位线。具体来说明,输入缓冲器230可在时间点t0传送输入信号A1~An的最低有效位A1(0)~An(0)至对应位线;在时间点t1传送输入信号A1~An的第二位A1(1)~An(1)至对应位线;…;在时间点tp-1传送输入信号A1~An的最高有效位A1(p-1)~An(p-1)至对应位线。

在本实施例中,基于权重值W1j具有q个位,存储单元区块CAj中的q条对应位线的存储单元分别用以储存权重值W1j的q个位的资料。在此,对应权重值W1j的对应位线的数量等于权重值W1j的位数。此外,输入信号A1的多个位A1(0)~A1(p-1)则可分时的被传送至上述的q条对应位线。

由上述的说明可以得知,存储单元阵列210可分时的接收输入信号A1~An的多个位A1(0)~A1(p-1)、…、An(0)~An(p-1),并使输入信号A1~An与权重值W1j~Wnj进行乘法运算以产生多个第一运算结果。感测放大器220则可依据第一运算结果的位序来执行加法运算,并产生一第二运算结果。

以下请参照图3,图3为对应本公开图2实施例的存储器内运算器的实施方式的示意图。存储器内运算器300包括存储单元阵列310、感测放大器320、输入缓冲器330以及字线驱动器340。在图3中,输入信号A1~An皆具有三个位A1(0)~An(2),并被储存在输入缓冲器330中。其中,输入信号A1~An的第一位A1(0)~An(0)对应至时间点t0;输入信号A1~An的第二位A1(1)~An(1)对应至时间点t1;输入信号A1~An的第三位A1(2)~An(2)对应至时间点t2。另外,在存储单元区块CAj中,权重值W1j~Wnj的每一权重值均具有四个位W1j(0)~W1j(3)、…、Wnj(0)~Wnj(3)。因此,存储单元阵列310中,权重值W1j~Wnj的每一权重值对应至四条对应位线。并且,在输入缓冲器330中的输入信号A1~An的每一位A1(0)~An(2)也可被复制为四份,以分别被传送至对应的四条对应位线。

在本实施方式中,感测放大器320包括多个感测电路SA1~SA4以及CSA1~CSA4、多个第一乘法器321、第二乘法器322、加法器323以及缓冲器324。在本实施例中,感测电路SA1耦接至权重值W1j~Wnj的第四个位W1j(3)~Wnj(3)的对应位线;感测电路SA2耦接至权重值W1j~Wnj的第三个位W1j(2)~Wnj(2)的对应位线;感测电路SA3耦接至权重值W1j~Wnj的第二个位W1j(1)~Wnj(1)的对应位线;感测电路SA4耦接至权重值W1j~Wnj的第一个位W1j(0)~Wnj(0)的对应位线。感测电路SA1~SA4可用以感测对应位线的电流值或电流放电率。另外,感测电路CSA1~CSA4分别耦接至感测电路SA1~SA4。其中以感测电路CSA1为例,感测电路CSA1用以累加多个感测电路SA1上所感测出的对应位线的电流值或电流放电率,来感测出存储单元区块CAj所产生的第一运算结果。其中,感测电路CSA1~CSA4可以为类比的电流感测电路。

在本实施例中,多个感测电路SA1耦接至相同的第四位序的对应位线;多个感测电路SA2耦接至相同的第三位序的对应位线;多个感测电路SA3耦接至相同的第二位序的对应位线;多个感测电路SA4则耦接至相同的第一位序的对应位线。

第一乘法器321分别耦接至感测电路CSA1~CSA4,并使感测电路CSA1的输出乘以2的3次方;使感测电路CSA2的输出乘以2的2次方;以及使感测电路CSA3的输出乘以2的1次方。第一乘法器321用以产生多个第一信号。第二乘法器322耦接第一乘法器。第二乘法器322使上述的第一信号与2的y次方相乘以产生多个第二信号,其中y依据各输入信号A1~An的各位A1(0)~An(2)传送的时间顺序来决定,y为大于或等于0的整数。细节上来说明,在时间点t0时,y=0;在时间点t1时,y=1;在时间点t2时,y=2。第二乘法器322用以产生多个第二信号。

加法器323耦接至第二乘法器322,并用以使多个第二信号相加来产生第二运算结果。在此,第二运算结果也就是存储器内运算器300的乘加运算结果。

附带一提的,缓冲器324可耦接至加法器323,并可作为暂存第二运算结果的媒介。

以下请参照图4,图4为本公开另一实施例的存储器内运算器的示意图。存储器内运算器400包括存储单元阵列410、感测放大器420以及字线驱动器440。存储单元阵列410中具有多个存储单元区块CAj~CAm。以存储单元区块CAj为范例,存储单元区块CAj中储存权重值W1j~Wnj,其中每一权重值W1j~Wnj可具有多个位。

在本实施例中,输入信号A1~An由输入缓冲器(未示出)所提供,输入信号A1~An皆可具有多个位。其中,输入缓冲器使各个输入信号A1~An的多个位并列的传送至多条对应位线。以各个输入信号A1~An均具有三个位为范例,本实施例的输入缓冲器使输入信号A1(0)、A1(1)、A1(2)同时被传送至对应权重值W1j的多条对应位线,并同时使输入信号An(0)、An(1)、An(2)同时被传送至对应权重值Wnj的多条对应位线。

相较于图2的实施例,本实施例不利用分时传送输入信号的多个位至对应位线的方式,而是通过并列的传送输入信号的多个位至多条对应位线,可有效节省运算时间。而在此实施例中,权重值W1j~Wnj的多个位可被复制为多份的复制权重值,并使多份的复制权重值写入至存储单元区块CAj。其中,在本实施例中,权重值W1j~Wnj可分别复制成三份的复制权重值。

以下可参照图5,图5为对应本公开图4实施例的存储器内运算器的实施方式的示意图。存储器内运算器500包括存储单元阵列510、感测放大器520、输入缓冲器530以及字线驱动器540。在本实施方式中,输入缓冲器530可使输入信号A1、A2的多个位A1(2)~A1(0)、A2(2)并列的被传送至多条对应位线。

存储单元阵列510中的存储单元区块CAj用以储存权重值W1j~W2j的多个位W1j(0)~W1j(3)、…、W2j(0)~W2j(3)。在本实施方式中,以输入信号A1为例,对应于输入信号A1的多个位A1(2)~A1(0),权重值W1j可以复制为三份(对应具有三个位的输入信号A1),并被储存在存储单元区块CAj中。

在本实施方式中,输入信号A1~A2的所有位A1(2)~A1(0)、A2(2)可以一次性的被输入至存储单元区块CAj中以执行乘法运算。

另外,感测放大器520包括多个感测电路SA1~SA6、CSA1~CSA6、乘法器521以及加法器522。感测电路SA1~SA6分别耦接至不同位序的对应位线,并用以感测对应位线的电流值或电流放电率。感测电路CSA1~CSA6分别耦接至感测电路SA1~SA6。其中以感测电路CSA1为例,感测电路CSA1用以累加多个感测电路SA1上所感测出的对应位线的电流值或电流放电率,来感测出存储单元区块CAj所产生的第一运算结果。其中,感测电路CSA1~CSA6可以为类比的电流感测电路。

乘法器521分别耦接至感测电路CSA1~CSA5的输出端。并使感测电路CSA1的输出乘以2的5次方;使感测电路CSA2的输出乘以2的4次方;使感测电路CSA3的输出乘以2的3次方;使感测电路CSA4的输出乘以2的2次方;并使感测电路CSA5的输出乘以2的1次方。乘法器521用以产生多个第一信号。

加法器522则耦接第一乘法器521。加法器522使第一乘法器521所产生的第一信号相加以产生第二运算结果。

以下请参照图6,图6为本公开另一实施例的存储器内运算器的示意图。存储器内运算器600包括存储单元阵列610、感测放大器620以及字线驱动器640。存储单元阵列610中具有多个存储单元区块CAj~CAm。与图4实施例不相同的,在本实施例中,存储单元区块CAj所储存的权重值W1j~Wnj是依据权重值W1j~Wnj的每一位的位序来进行排列的。在细节上,以权重值W1j为例,被复制的相同权重值W1j具有多个权重值W1j位W1j(0)~W1j(3)。多个权重值W1j位W1j(0)被储存在相邻的多条第一对应位线;多个权重值W1j位W1j(1)被储存在相邻的多条第二对应位线;多个权重值W1j位W1j(2)被储存在相邻的多条第三对应位线;多个权重值W1j位W1j(3)则被储存在相邻的多条第四对应位线。

在实施细节上,可参照图7为的对应本公开图6实施例的存储器内运算器的一实施方式的示意图。存储器内运算器700包括存储单元阵列710、感测放大器720、输入缓冲器730以及字线驱动器740。存储单元阵列710中具有存储单元区块CAj。存储单元区块CAj中,相邻的对应位线的存储单元用以储存相同位序的权重值W1j的多个位。在本实施例中,多条位线BL3上的存储单元均储存权重值W1j的位W1j(3);多条位线BL2上的存储单元均储存权重值W1j的位W1j(2);多条位线BL1上的存储单元均储存权重值W1j的位W1j(1);多条位线BL0上的存储单元均储存权重值W1j的位W1j(0)。

输入缓冲器730则提供输入信号A1~A2至存储单元区块CAj。在细节上,以输入信号A1为范例,输入缓冲器730可储存复制为多份的输入信号A1,并依据每一份的输入信号A1的位高低顺序,将输入信号A1的多个位A1(3)~A1(0)提供至对应位线BL3;将输入信号A1的多个位A1(3)~A1(0)提供至对应位线BL2;将输入信号A1的多个位A1(3)~A1(0)提供至对应位线BL1;将输入信号A1的多个位A1(3)~A1(0)提供至对应位线BL0。

感测放大器720包括感测电路SA1~SA6、CSA1~CSA6、乘法器721以及加法器722。感测电路SA1~SA6用以感测对应位线的电流值或电流放电率。在本实施例中,感测电路SA1~SA6的输出端分别耦接至感测电路CSA1~CSA6。感测电路CSA1~CSA6用以分别累加多个感测电路SA1~SA6上所感测出的对应位线的电流值或电流放电率,来感测出存储单元区块CAj所产生的第一运算结果。其中,感测电路CSA1~CSA6可以为类比的电流感测电路。

乘法器721耦接至感测电路CSA1~CSA5的输出端,并使感测电路CSA1的输出乘以2的5次方;使感测电路CSA2的输出乘以2的4次方;使感测电路CSA3的输出乘以2的3次方;使感测电路CSA4的输出乘以2的2次方;使感测电路CSA5的输出乘以2的1次方。乘法器721用以产生多个第一信号。加法器722耦接乘法器721,并用以使多个第一信号相加来产生第二运算结果。在此,第二运算结果也就是存储器内运算器700的乘加运算结果。

接着请参照图8,图8为本公开另一实施例的存储器内运算器的示意图。存储器内运算器800包括存储单元阵列810、感测放大器820以及字线驱动器840。存储单元阵列810中具有存储单元区块CAj~CAm。以存储单元区块CAj为例,存储单元区块CAj以及输入缓冲器(未示出)可依据乘法运算时所产生的第一运算结果的位序,来设定权重值的多个位Wij(0)~Wij(3)以及与输入信号的多个位Ai(0)~Ai(2)间的对应排列关系。在细节上,输入信号的位Ai(2)与权重值的位Wij(3)相乘,可产生第一运算结果的最高有效位,因此相对应被设定在25的字段中。输入信号的位Ai(1)与权重值的位Wij(3)相乘,以及输入信号的位Ai(2)与权重值的位Wij(2)相乘,均可产生第一运算结果的第二高位,因此相对应被设定在24的字段中。而输入信号的位Ai(0)与权重值的位Wij(0)相乘,则可产生第一运算结果的最低有效位,因此相对应被设定在20的字段中。其余字段(24~21)的设定方式可依上述原则进行类推。

以下参照图9,图9为对应本公开图8实施例的存储器内运算器的一实施方式的示意图。存储器内运算器900包括存储单元阵列910、感测放大器920、输入缓冲器930以及字线驱动器940。存储单元阵列910中具有存储单元区块CAj,其中在第一个字段F1中,存储单元区块CAj储存权重值的最高有效位Wij(3)。相对应的,输入缓冲器930在第一个字段F1中则提供输入信号的最高有效位Ai(2)。在第二个字段F2中,存储单元区块CAj储存权重值的最高有效位Wij(3)以及第二高位Wij(2)。相对应的,输入缓冲器930在第二个字段F2中则提供输入信号的位Ai(1)以及Ai(2)。其中,输入信号的位Ai(1)以及Ai(2)分别对应权重值的位Wij(3)以及Wij(2)。

在第一字段F1中,输入信号的位Ai(2)与权重值的位Wij(3)的乘法结果,可产生第一运算结果的最高有效位。在第二字段F2中,输入信号的位Ai(1)与权重值的位Wij(3)的乘法结果以及输入信号的位Ai(2)与权重值的位Wij(2)的乘法结果,则可产生第一运算结果的第二高有效位,其余字段则可以此类推。

感测放大器920包括感测电路SA1~SA3、CSA1~CSA6、乘法器921以及加法器922。感测电路SA1均设置在第一字段F1中,感测电路SA2均设置在第二字段F2中,其余可以此类推。感测电路SA1~SA3用以感测对应位线的电流值或电流放电率。感测电路CSA1~CSA6用以分别累加多个感测电路SA1~SA3上所感测出的对应位线的电流值或电流放电率,来感测出存储单元区块CAj所产生的第一运算结果。乘法器921耦接至感测电路CSA1~CSA5的输出端,并使感测电路CSA1的输出乘以2的5次方;使感测电路CSA2的输出乘以2的4次方;使感测电路CSA3的输出乘以2的3次方;使感测电路CSA4的输出乘以2的2次方;使感测电路CSA5的输出乘以2的1次方。乘法器921用以产生多个第一信号。加法器922耦接乘法器921,并用以使多个第一信号相加来产生第二运算结果。在此,第二运算结果也就是存储器内运算器900的乘加运算结果。

请参照图10,图10为本公开另一实施例的存储器内运算器的示意图。存储器内运算器1000包括存储单元阵列1010、感测放大器1020以及字线驱动器1040。存储单元阵列1010中具有存储单元区块CAj~CAm。以存储单元区块CAj为例,存储单元区块CAj具有多个存储列以分别对应多条字线。字线驱动器1040可依序启动这些字线。存储单元区块CAj用以储存权重值的多个位,权重值的多个位的排列方式可在下述的实施方式中具体说明。

输入缓冲器(未示出)用以提供输入信号A1~An的多个位至存储单元区块CAj的多条对应位线。存储单元区块CAj则可依据依序被开启的位线,来使权重值的多个位与输入信号A1~An的多个位进行乘法运算,并产生第一运算结果。

感测放大器1020用以感测第一运算结果,并使第一运算结果依据位序来执行加法运算,可产生第二运算结果。

接着请参照图11,图11为对应本公开图10实施例的存储器内运算器的实施方式的示意图。存储器内运算器1100包括存储单元阵列1110、感测放大器1120、输入缓冲器1130以及字线驱动器1140。存储单元阵列1110中具有存储单元区块CAj。存储单元区块CAj对应字线WL1~WL6。存储单元区块CAj可区分为多个字段F1~Fn,每一字段储存权重值W1j~Wnj的多个位W1j(0)~W1j(3)、…、Wnj(0)~Wnj(3)。而多个字段F1~Fn分别对应接收输入信号A1~An的多个位A1(2)~A1(0)、…、An(2)~An(0)。

举例来说明,在字段F1中,对应字线WL1的存储列中,存储单元区块CAj储存权重值的一个位W1j(0);对应字线WL2的存储列中,存储单元区块CAj则依序储存权重值的两个位W1j(1)、W1j(0);对应字线WL3的存储列中,存储单元区块CAj则依序储存权重值的两个位W1j(2)、W1j(1)、W1j(0);对应字线WL4的存储列中,存储单元区块CAj则依序储存权重值的两个位W1j(3)、W1j(2)、W1j(1);对应字线WL5的存储列中,存储单元区块CAj则依序储存权重值的两个位W1j(3)、W1j(2);对应字线WL6的存储列中,存储单元区块CAj则储存权重值的两个位W1j(3)。在存储单元区块CAj中,未储存权重值的存储单元则储存0。

由上述的说明可以得知,在相同的字段F1~Fn中,存储单元区块CAj在每一字线WL1~WL6上,可储存一个或一个以上的权重值的位W1j(3)~W1j(0)。而权重值的位W1j(3)~W1j(0)的排列方式,则与对应的输入信号(以输入信号A1为例)的位A1(2)~A1(0)相乘后所产生的运算结果的位序相关联。

感测放大器1120包括感测电路SA1以及CSA1。感测电路SA1用以感测对应位线的电流值或电流放电率。感测电路CSA1用以累加多个感测电路SA1上所感测出的对应位线的电流值或电流放电率,来感测出存储单元区块CAj所产生的第一运算结果。

在此请注意,由于字线WL1~WL6是分时被启动的,且基于本实施例的权重值的特殊排列方式,在相同的时间点上,所有感测电路SA1所感测出的对应位线的电流值或电流放电率皆对应相同位序。

乘法器1121可依据字线WL1~WL6的开启顺序,使感测电路CSA1的输出与2的幂次方y相乘,以获得多个第一信号。其中,在本实施方式中,当字线WL1~WL6依序被开启时,y可以依序等于0~5。

加法器1122耦接乘法器1121,并用以使多个第一信号相加来产生第二运算结果。在此,第二运算结果也就是存储器内运算器1100的乘加运算结果。

请参照图12,图12为本公开实施例的存储器内运算方法的流程图。其中,在步骤S1210中,在存储单元阵列中,提供对应至少一字线的存储单元区块,使存储单元区块储存多个权重值,其中存储单元区块上的多个存储单元储存对应的各权重值的多个位。在步骤S1220中,提供输入缓冲器以分别传送多个输入信号至这些位线。在步骤S1230中,使输入信号与权重值在存储单元阵列中进行乘法运算以产生分别对应多个位序的多个第一运算结果。以及,在步骤S1240中,依据第一运算结果对应的位序,使第一运算结果相加以产生第二运算结果。

关于上述步骤的实施细节,在前述的实施例中已有详细的说明,在此恕不多赘述。

综上所述,本公开的存储器内运算器通过使存储单元区块中所储存的权重值的多个位与输入信号的多个位之间,利用分时和/或空间配置上的对应关系,可以达到权重值的多个位与输入信号的多个位之间以两两相乘的方式进行运算。如此一来,存储器内运算器的硬件结构可以被简单化。并使利用单阶储存存储单元形式的与非式快闪存储器,可以用以实施本公开的存储器内运算器。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号