数据处理电路及故障减轻方法技术

技术编号:35336121 阅读:19 留言:0更新日期:2022-10-26 11:56
本发明专利技术实施例提供一种数据处理电路和故障减轻方法。在方法中,分割序列数据成为多个子序列。将子序列中的第一子序列自存储器存取出来进行乘积累加运算,以获得第一运算结果。将子序列中的第二子序列在存储器内进行乘积累加运算,以获得第二运算结果。组合第一运算结果和第二运算结果。第一运算结果和第二运算结果的组合结果相关于序列数据经乘积累加运算的结果。藉此,降低错误率,进而减轻故障。进而减轻故障。进而减轻故障。

【技术实现步骤摘要】
数据处理电路及故障减轻方法


[0001]本专利技术涉及一种数据处理机制,尤其是,还涉及一种数据处理电路及故障减轻方法。

技术介绍

[0002]神经网络(Neural Network)是人工智能(Artificial Intelligence,AI)中的一个重要主题,并是通过仿真人类脑细胞的运作来进行决策。值得注意的是,人类脑细胞中存在着许多神经元(Neuron),而这些神经元会通过突触(Synapse)来互相连结。其中,各神经元可经由突触接收讯号,且这讯号经转化后的输出会再传导到另一个神经元。各神经元的转化能力不同,且人类通过前述讯号传递与转化的运作,可形成思考与判断的能力。神经网络即是依据前述运作方式来得到对应能力。
[0003]神经网络经常被应用在图像辨识、语音识别或数据分析中。而在各神经元的运作中,输入分量与对应突触的权重相乘(可能加上偏置)后将经非线性函数(例如,激励(activation)函数)运算而输出,从而撷取特征。无可避免地,用于存储输入值、权重值和函数参数的存储器可能因良率不佳而造成部分存储区块故障/损坏(例如,硬性错误(hard error)),或是存储器内运算(Computing in Memory,CIM)的其他因素(例如,不稳定的细胞电阻(cell resistance)、操作单元(Operation Unit,OU)大小或非理想电流感测)可能造成输出错误,进而影响存储数据的完成性或正确性。虽然存储器内运算架构能改善处理效率和功耗,但却可能伴随着一定的错误率。

技术实现思路
<br/>[0004]本专利技术实施例是针对一种数据处理电路及故障减轻方法,将冯诺伊曼(Von Neumann)架构与存储器内运算架构结合,以改善全存储器内运算的错误率。
[0005]根据本专利技术的实施例,故障减轻方法包括(但不仅限于)下列步骤:分割序列数据成为多个子序列。将子序列中的第一子序列自存储器存取出来进行乘积累加运算(Multiply Accumulate,MAC),以获得第一运算结果。将子序列中的第二子序列在存储器内进行乘积累加运算,以获得第二运算结果。组合第一运算结果及第二运算结果。第一运算结果和第二运算结果的组合结果相关于序列数据经乘积累加运算的结果。
[0006]根据本专利技术的实施例,数据处理电路包括(但不仅限于)存储器、运算器和控制器。存储器用于存储序列资料。控制器耦接存储器,并用以分割序列数据成为多个子序列。运算器耦接存储器和控制器。控制器自存储器存取子序列中的第一子序列出来,且运算器对第一子序列进行乘积累加运算,以获得第一运算结果。在存储器内对子序列中的第二子序列进行乘积累加运算,以获得第二运算结果。运算器或存储器组合第一运算结果及第二运算结果。第一运算结果和第二运算结果的组合结果相关于序列数据直接经乘积累加运算的结果。
[0007]基于上述,本专利技术实施例的数据处理电路和故障减轻方法,藉由存储器外的运算
器对序列数据中的部分子序列进行乘积累加运算,以改进全存储器内运算的错误率。
附图说明
[0008]包含附图以便进一步理解本专利技术,且附图并入本说明书中并构成本说明书的一部分。附图说明本专利技术的实施例,并与描述一起用于解释本专利技术的原理。
[0009]图1是依据本专利技术一实施例的数据处理电路的组件方块图;
[0010]图2A是依据本专利技术一实施例的冯诺伊曼(Von Neumann)架构的示意图;
[0011]图2B是依据本专利技术一实施例的存储器内运算架构的示意图;
[0012]图3是依据本专利技术一实施例的故障减轻方法的流程图;
[0013]图4A是依据本专利技术一实施例的4位
×
4位的乘积累加运算(Multiply Accumulate,MAC)的示意图;
[0014]图4B是依据本专利技术一实施例的2位
×
2位的次运算的示意图;
[0015]图5是依据本专利技术一实施例的管线阶段(pipeline stage)的示意图;
[0016]图6是依据本专利技术一实施例的值分布的示意图。
[0017]附图标号说明
[0018]100:数据处理电路;
[0019]110:存储器;
[0020]130:运算器;
[0021]150:控制器;
[0022]170:高速缓存;
[0023]201、205:数据流;
[0024]203:总线连接;
[0025]S310~S370:步骤;
[0026]a0~a3、b0~b3:值;
[0027]S
a
、S
b
:符号;
[0028]ss1:第一子序列;
[0029]ss2:第二子序列;
[0030]ss3:第三子序列;
[0031]ss4:第四子序列。
具体实施方式
[0032]现将详细地参考本专利技术的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在图式和描述中用来表示相同或相似部分。
[0033]图1是依据本专利技术一实施例的数据处理电路100的组件方块图。请参照图1,数据处理电路100包括(但不仅限于)存储器110、运算器130和控制器150。
[0034]存储器110可以是静态或动态随机存取存储器(Random Access Memory,RAM)、只读存储器(Read

Only Memory,ROM)、快闪存储器(Flash Memory)、寄存器(Register)、组合逻辑电路(Combinational Circuit)或上述组件的组合。
[0035]在一实施例中,存储器110用于存储序列资料。序列数据可以是图像、语音或其他
应用领域的数据、特征提取相关的乘积累加运算(Multiply Accumulate,MAC)所用的权重、和/或激励(activation)运算所用的值。在一实施例中,应用者可依据实际需求而决定存储器110所存储数据的类型。
[0036]在一实施例中,存储器110可以是非挥发性(nonvolatile)存储器,例如是相变半导体(Phase Change Memory,PCM)、可变电阻式存储器(Resistive RAM,ReRAM)或磁阻式随机存取存储器(Magnetoresistive Random Access Memory,MRAM),并可作为神经网络加速器。存储器110的细胞(cell)可执行诸如AND、OR、XOR等运算。即,实现存储器内运算。以ReRAM为例,存储器细胞的位线(bit line,BL)与来源线(source line,SL)间的跨压作为输入值(例如,特征值),权重则以纵向的方式存储于存储器细胞中。细胞的电流总和可累积于电容,再将数个电容上的电压转换成数字讯号并加以运算即为乘积累加运算的结果。
[0037]运算器130可以是执行算数、逻辑运算操作的电路,亦可能是由一个或更本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种故障减轻方法,其特征在于,包括:分割序列数据成为多个子序列;将所述子序列中的第一子序列自存储器存取出来进行乘积累加运算,以获得第一运算结果;将所述子序列中的第二子序列在所述存储器內进行所述乘积累加运算,以获得第二运算结果;以及组合所述第一运算结果及所述第二运算结果,其中所述第一运算结果和所述第二运算结果的组合结果相关于所述序列数据直接经所述乘积累加运算的结果。2.根据权利要求1所述的故障减轻方法,其特征在于,分割所述序列数据成为所述子序列的步骤包括:依据所述乘积累加运算的分解关系将所述序列数据分割成高字节和低字节,其中所述分解关系相关于将所述乘积累加运算分成多个次运算,所述高字节和所述低字节的位数的总和等于所述序列数据,所述第一子序列为所述高字节,且所述第二序列为所述低字节。3.根据权利要求2所述的故障减轻方法,其特征在于,所述高字节和所述低字节的位数比例相关于所述序列数据所应用的神经网络。4.根据权利要求1所述的故障减轻方法,其特征在于,所述第一子序列和所述第二子序列的所述乘积累加运算执行在单一管线阶段。5.一种数据处理电路,其特征在于,包括:存储器,用于存储序列资料;控制器,...

【专利技术属性】
技术研发人员:刘恕民郭仁和唐文力吴凯强
申请(专利权)人:台湾发展软体科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1