CN113419899A - 错误恢复方法及装置、处理器 - Google Patents

错误恢复方法及装置、处理器 Download PDF

Info

Publication number
CN113419899A
CN113419899A CN202110625444.4A CN202110625444A CN113419899A CN 113419899 A CN113419899 A CN 113419899A CN 202110625444 A CN202110625444 A CN 202110625444A CN 113419899 A CN113419899 A CN 113419899A
Authority
CN
China
Prior art keywords
important
data
bits
error recovery
error
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
CN202110625444.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.)
Shanghai Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information Technology Co 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 Shanghai Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Priority to CN202110625444.4A priority Critical patent/CN113419899A/zh
Publication of CN113419899A publication Critical patent/CN113419899A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Detection And Correction Of Errors (AREA)
  • Retry When Errors Occur (AREA)

Abstract

一种错误恢复方法及装置、处理器,错误恢复方法包括将发生错误的数据划分为M个重要等级的重要数据和非重要数据;以及对重要数据进行错误恢复,若无法恢复时对重要数据和非重要数据进行错误恢复,其中M为正整数。

Description

错误恢复方法及装置、处理器
技术领域
本发明涉及数据处理领域,更具体地涉及一种错误恢复方法及装置、处理器。
背景技术
神经网络(neural network)和神经网络处理器已经获得了非常成功的应用。但是神经网络应用参数数量和计算量都非常巨大,因此对存储单元和计算单元的安全性和可靠性提出了很高的要求。
错误恢复机制,在系统出错时,可以帮助其从错误状态中恢复过来。但是传统的错误恢复机制恢复周期数多,代价高,极大影响系统的吞吐率,并不适合高吞吐率的神经网络处理器。因此如何结合神经网络的容错特性进行错误恢复成为一个亟待解决的问题。。
发明内容
鉴于现有方案存在的问题,为了克服上述现有技术方案的不足,本发明提出了一种错误恢复方法及装置、处理器。
根据本发明的一个方面,提供了一种错误恢复方法,包括:
将发生错误的数据划分为M个重要等级的重要数据和非重要数据;以及对重要数据进行错误恢复,若无法恢复时对重要数据和非重要数据进行错误恢复,其中M为正整数。
在一些实施例中,将每一个重要等级的重要数据划分为重要比特位和非重要比特位,所述对重要数据进行错误恢复包括:对重要比特位进行错误恢复,若无法恢复时,对重要数据的重要比特位和非重要比特位为进行错误恢复。
在一些实施例中,在将发生错误的数据划分为M个重要等级的重要数据和非重要数据包括:监测处理器中各模块内的工作时序,若发现错误则生成错误信号;及根据错误信号,定位处理器内发生错误的模块、流水线位置以及错误类型。
在一些实施例中,所述将发生错误的数据划分为重要数据和非重要数据包括根据数据的大小、数据绝对值的大小、数据的类型、数据的读操作频率及数据的写操作频率中的至少一个来进行划分。
在一些实施例中,将每一个重要等级的重要数据划分为重要比特位和非重要比特位包括:对第i重要等级的重要数据提取重要比特位,若该重要数据具有Xi个比特位,Yi个比特位指定为重要比特位,则该重要数据具有Xi-Yi个非重要比特位,其中i=1,2……,M,Xi,Yi为正整数,0<Yi≤Xi。
在一些实施例中,所述Yi个比特位包括连续比特位或非连续比特位。
在一些实施例中,所述数据包括神经网络参数,所述错误恢复方法用于神经网络处理器。
根据本发明的另一个方面,提供一种错误恢复装置,包括:重要等级划分单元,将发生错误的数据划分为M个重要等级的重要数据和非重要数据;以及错误恢复控制单元,对重要数据进行错误恢复,若无法恢复时对重要数据和非重要数据进行错误恢复,其中M为正整数。
在一些实施例中,重要等级划分单元还包括重要比特位划分单元,用于将每一个重要等级的重要数据划分为重要比特位和非重要比特位,所述错误恢复控制单元对重要数据进行错误恢复包括对重要比特位进行错误恢复,若无法恢复时,对重要数据的重要比特位和非重要比特位为进行错误恢复。
在一些实施例中,错误恢复装置包括:错误监测单元,监测处理器中各模块内的工作时序,若发现错误则生成错误信号;以及错误定位单元,根据错误信号,定位处理器内发生错误的模块、流水线位置以及错误类型。
在一些实施例中,重要等级划分单元将发生错误的数据划分为重要数据和非重要数据包括根据数据的大小、数据绝对值的大小、数据的类型、数据的读操作频率及数据的写操作频率中的至少一个来进行划分。
在一些实施例中,重要等级划分单元将每一个重要等级的重要数据划分为重要比特位和非重要比特位包括:对第i重要等级的重要数据提取重要比特位,若该重要数据具有Xi个比特位,Yi个比特位指定为重要比特位,则该重要数据具有Xi-Yi个非重要比特位,其中i=1,2……,M,Xi,Yi为正整数,0<Yi≤Xi。
在一些实施例中,所述Yi个比特位包括连续比特位或非连续比特位。
在一些实施例中,所述数据包括神经网络参数,所述错误恢复装置用于神经网络处理器。
根据本发明的又一个方面,提供一种处理器,包括:预处理模块、DMA、存储单元、输入缓存单元、指令控制单元及运算单元中的至少一个,以及至少一个任一前述的错误恢复装置。
在一些实施例中,所述错误恢复装置与所述预处理模块、DMA、存储单元、输入缓存单元、指令控制单元及运算单元中的至少一个相连接,用于对所述预处理模块、DMA、存储单元、输入缓存单元、指令控制单元及运算单元中的至少一个的错误进行错误恢复。
在一些实施例中,所述错误恢复装置为多个,与所述预处理模块、DMA、存储单元、输入缓存单元、指令控制单元及运算单元中一一对应连接,每个错误恢复装置对与其连接的所述预处理模块、DMA、存储单元、输入缓存单元、指令控制单元及运算单元中的错误进行错误恢复。
在一些实施例中,错误恢复装置内嵌在所述预处理模块、DMA、存储单元、输入缓存单元、指令控制单元及运算单元中的至少一个中。
在一些实施例中,对于运算单元的错误进行错误恢复包括重新执行参数的运算。
在一些实施例中,所述处理器包括神经网络处理器,所述存储单元用于存储神经网络的神经元、权值和/或指令;所述指令控制单元,用于接收所述指令,经过译码后生成控制信息控制运算单元;所述运算单元用于接收权值和神经元,完成神经网络训练运算并将输出神经元重新传输给存储单元。
从上述技术方案可以看出,本发明具有至少以下有益效果:
区分发生错误数据的重要等级及设定各重要等级中的重要比特位,优先恢复重要比特位、不能恢复时其次在恢复重要数据,不能恢复时再次恢复所有数据,应用于神经网络处理器时恢复周期短、功耗收益良好,适用于吞吐率高的神经网络处理器;
神经网络处理器的存储单元、指令控制单元及运算单元分别对应一错误恢复装置,使得错误恢复周期进一步缩短。
附图说明
图1为本发明一实施例中错误恢复方法的流程图;
图2为本发明另一实施例数据冗余装置的结构框图;
图3为本发明再一实施例处理器的结构框图;
图4为本发明又一实施例处理器的结构框图。
具体实施方式
本发明某些实施例于后方将参照所附附图做更全面性地描述,其中一些但并非全部的实施例将被示出。实际上,本发明的各种实施例可以许多不同形式实现,而不应被解释为限于此数所阐述的实施例;相对地,提供这些实施例使得本发明满足适用的法律要求。
在本说明书中,下述用于描述本发明原理的各种实施例只是说明,不应该以任何方式解释为限制发明的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同物限定的本发明的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应认为仅仅是示例性的。因此,本领域普通技术人员应认识到,在不悖离本发明的范围和精神的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见,省略了公知功能和结构的描述。此外,贯穿附图,相同附图标记用于相似功能和操作。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明实施例提供了一种错误恢复方法,区分发生错误数据的重要等级及设定各重要等级中的重要比特位,优先恢复重要比特位、不能恢复时其次在恢复重要数据,不能恢复时再次恢复所有数据,应用于神经网络处理器时恢复周期短、功耗收益良好,适用于吞吐率高的神经网络处理器。
具体的,图1示出了错误恢复方法的流程图,如附图1所示,错误恢复方法包括以下具体步骤:
步骤S101:监测处理器中各模块内的工作时序,若发现错误则生成错误信号;
步骤S102:根据错误信号,定位处理器内发生错误的模块、流水线位置以及错误类型;所述错误包括但不仅限于:不可纠正错误、可纠正错误、非致命性错误、致命性错误和其他类型的错误。不可纠正错误包括但不仅限于硬件接口的功能的错误情况。可纠正错误包括但不仅限于硬件能恢复而没有任何信息损失的错误情况。致命性错误包括但不仅限于致使硬件不可靠的不可纠正错误情况。非致命性错误包括但不仅限于致使特定任务不可靠但是硬件是功能完善的不可纠正错误。
步骤S103:将发生错误的数据划分为M个重要等级的重要数据和非重要数据;
重要数据和非重要数据的划分以及重要数据的重要等级的划分可以根据参数的大小,参数绝对值的大小,参数的类型(整形,浮点型),参数的读操作频率,参数写操作频率等因素中的至少一个来进行。
步骤S104:将每一个重要等级的重要数据划分为重要比特位和非重要比特位;
具体地,数据中的比特位分为重要比特位和非重要比特位。对第i重要等级的重要数据提取重要比特位,若该重要数据具有Xi个比特位,Yi个比特位指定为重要比特位,则该重要数据具有Xi-Yi个非重要比特位,其中i=1,2……,M,Xi,Yi为正整数,0<Yi≤Xi,Y个重要比特位的位置可以是连续的,也可以是不连续的。
步骤S105:对错误数据进行错误恢复。
具体地,优先对各重要等级数据的重要比特位进行错误恢复,若无法恢复时,其次,对各重要等级的重要数据的重要比特位和非重要比特位为进行错误恢复,若依然无法恢复,则对错误数据中的重要数据和非重要数据均进行错误恢复。
上述步骤并非均是必须的,在一些实施例中,可以仅将数据划分为重要数据和非重要数据,而不用区分重要数据中的重要比特位和非重要比特位,此时在进行错误恢复时,优先对重要数据进行错误恢复,若无法恢复,则对错误数据中的重要数据和非重要数据均进行错误恢复。
上述实施例中数据包括神经网络参数,神经网络参数包括神经网络的神经元和权值,还包括神经网络的拓扑结构,还可以包括指令,错误恢复方法可以用于神经网络处理器。
本发明另一实施例提供一种错误恢复装置,图2为本发明另一实施例错误恢复装置的结构框图,如图2所示,错误恢复装置100包括监测单元10、错误定位单元20、重要等级划分单元30以及错误恢复控制单元40。
监测单元10监测处理器中各模块内的工作时序,当发现错误时生成错误信号。错误定位单元20接收监测单元10生成的错误信号,根据错误信号,定位处理器内发生错误的模块、流水线位置以及错误类型。
所述错误包括但不仅限于:不可纠正错误、可纠正错误、非致命性错误、致命性错误和其他类型的错误。不可纠正错误包括但不仅限于硬件接口的功能的错误情况。可纠正错误包括但不仅限于硬件能恢复而没有任何信息损失的错误情况。致命性错误包括但不仅限于致使硬件不可靠的不可纠正错误情况。非致命性错误包括但不仅限于致使特定任务不可靠但是硬件是功能完善的不可纠正错误。
重要等级划分单元30将发生错误的数据划分为M个重要等级的重要数据和非重要数据,重要数据和非重要数据的划分以及重要数据的重要等级的划分可以根据参数的大小,参数绝对值的大小,参数的类型(整形,浮点型),参数的读操作频率,参数写操作频率等因素中的至少一个来进行。
重要等级划分单元30还可以包括重要比特位划分单元31,重要比特位划分单元31将每一个重要等级的重要数据划分为重要比特位和非重要比特位,具体地,数据中的比特位分为重要比特位和非重要比特位。对第i重要等级的重要数据提取重要比特位,若该重要数据具有Xi个比特位,Yi个比特位指定为重要比特位,则该重要数据具有Xi-Yi个非重要比特位,其中i=1,2……,M,Xi,Yi为正整数,0<Yi≤Xi,Y个重要比特位的位置可以是连续的,也可以是不连续的。
错误恢复控制单元40对错误数据进行错误恢复。
具体地,错误恢复控制单元40优先对各重要等级数据的重要比特位进行错误恢复,若无法恢复时,其次,对各重要等级的重要数据的重要比特位和非重要比特位为进行错误恢复,若依然无法恢复,则对错误数据中的重要数据和非重要数据均进行错误恢复。
上述步骤并非均是必须的,在一些实施例中,重要等级划分单元30不包括重要比特位划分单元31,仅将数据划分为重要数据和非重要数据,而不用区分重要数据中的重要比特位和非重要比特位,此时在错误恢复控制单元40进行错误恢复时,优先对重要数据进行错误恢复,若无法恢复,则对错误数据中的重要数据和非重要数据均进行错误恢复。
上述实施例中数据包括神经网络参数,神经网络参数包括神经网络的神经元和权值,还包括神经网络的拓扑结构,还可以包括指令,错误恢复方法可以用于神经网络处理器。
本发明再一实施例提供一种处理器,包括:存储单元、指令控制单元及运算单元中的至少一个,以及至少一个上述的错误恢复装置100。
处理器可以是神经网络处理器1000,图3示出了再一实施例中神经网络处理器的结构框图,如图3所示,神经网络处理器1000包括存储单元200、指令控制单元300以及运算单元400。
存储单元200接收外界的输入数据,存储神经网络的神经元、权值和/或指令,并将指令发送给指令控制单元300,将神经元和权值发送给运算单元400。
指令控制单元300,接收存储单元200发送的指令,经过译码后生成控制信息控制运算单元400。
运算单元400,用于接收存储单元200发送的权值和神经元,完成神经网络训练运算并将输出神经元重新传输给存储单元200存储。
如图3所示,神经网络处理器1000还包括与存储单元200、指令控制单元300以及运算单元400分别相对应的错误恢复装置100,错误恢复装置100分别内嵌至其对应的中,分别用于对存储单元200、指令控制单元300以及运算单元400进行错误恢复。
在一些实施例中,与存储单元200、指令控制单元300以及运算单元400相对应的错误恢复装置100可以分别与存储单元200、指令控制单元300以及运算单元400相连接,并不必须采用内嵌方式。
在一些实施例中,神经网络处理器1000可以仅包括一个错误恢复装置100,与存储单元200、指令控制单元300以及运算单元400均连接,用于对存储单元200、指令控制单元300以及运算单元400进行错误恢复。
针对图3示出的神经网络处理器100,数据包括神经网络参数,神经网络参数包括神经网络的神经元和权值,还包括神经网络的拓扑结构,还可以包括指令。
恢复存储单元200错误时,优选对重要参数中的重要比特位进行错误恢复,若无法恢复错误时,次选的,对包括重要参数进行错误恢复,若依然无法恢复错误时,对所有参数进行错误恢复。
神经网络参数中的重要参数和重要比特位可采用以纠错编码方式进行冗余存储。纠错编码包括但不仅限于循环冗余校验(Cyclic Redundancy Check,CRC),错误检查和纠正(Error Correcting Code,ECC)。
ECC校验可纠正1bit的错误,多于一个bit的错误时无法恢复。
CRC校验包括CRC12,其中CRC12校验检错能力为:第一种,若出现错误的比特数为奇数,则可以纠正第二种,若出现错误比特数小于等于5个,则可以纠正第三种,若单个突发出错长度小于等于12,则可以纠正第四种,若两个突发差错长度小于等于2,则可以纠正。当错误超过上述四种情况时,则无法恢复错误。
神经网络参数中的重要参数和重要比特位可以进行副本备份,副本冗余可以在同一块存储介质备份冗余,也可以在不同存储介质备份冗余。数据可以同时备份N份,其中N是大于0的正整数。
当使用纠错编码方式无法恢复错误时,可以采用备份的数据进行错误恢复。
当物理地址错误发生频率超过阈值T时,则将该物理地址设定为无效物理地址,释放无效物理地址,并且杀死无效物理地址对应的指令。
恢复指令控制单元错误时,重新译码并执行发生错误的指令。
恢复运算单元错误时,优选的,保留不重要参数的运算结果和不重要比特位的运算结果,重新执行重要参数中重要比特位的运算;当优选的方法无法恢复错误时,次选的,保留不重要参数的运算结果,重新执行重要参数的运算,当次选的方法依然无法恢复错误时,则重新执行所有参数的运算。
图4示出了本发明又一实施例处理器的结构框图,在本实施例中,处理器2000处理包括全部上一实施例中的各单元结构。其整体上划分为预处理模块2001和神经网络运算模块2002。
预处理模块2001对原始输入数据进行预处理,包括切分、高斯滤波、二值化、正则化、归一化等等,并将处理后的数据输入值神经网络运算模块2002。
神经网络运算模块2002进行神经网络运算,输出最终的运输结果。
神经网络运算模块2002包括与上一实施例相同的存储单元200、控制单元300及运算单元400。
存储单元200主要用来存储神经网络的神经元,权值以及指令。其中存放权值时只存放非零权值以及非零权值的位置信息,存放量化的非零权值时只存放非零权值密码本和非零权值字典。控制单元300接收存储单元200发送的指令,经过译码后生成控制信息控制运算单元400。运算单元400,根据存储单元22中存储的指令对所述数据执行相应运算。
神经网络运算模块2002还包括直接数据存取单元(DMAdirect memory access)500、输入缓存单元600、查找表700、选数单元800以及输出神经元缓存900。
DMA500用于在所述存储单元200、输入缓存单元600和输出神经元缓存900中进行数据或者指令读写。
输入缓存单元600包括指令缓存601、非零权值密码本缓存602、非零权值字典缓存603、非零权值位置缓存604、输入神经元缓存605。
指令缓存601,用于存储专用指令;
非零权值密码本缓存602,用于缓存非零权值密码本;
非零权值字典缓存603,用于缓存非零权值权值字典;
非零权值位置缓存604,用于缓存非零权值位置数据;非零权值位置缓存将输入数据中每个连接权值一一对应到相应的输入神经元。
一种情形下非零权值位置缓存一一对应的方法为采用1表示有连接,0表示无连接,每组输出与所有输入的连接状态组成一个0和1的字符串来表示该输出的连接关系。另一种情形下非零权值位置缓存一一对应的方法为采用1表示有连接,0表示无连接,每组输入与所有输出的连接状态组成一个0和1的字符串来表示该输入的连接关系。另一种情形下非零权值位置缓存一一对应的方法为将一组输出第一个连接所在的输入神经元位置距离第一个输入神经元的距离、所述输出第二组输入神经元距离上一个输入神经元的距离,所述输出第三组输入神经元距离上一个输入神经元的距离,……,依次类推,直到穷举所述输出的所有输入,来表示所述输出的连接关系。
输入神经元缓存605,用于缓存输入到粗粒度选数单元的输入神经元。
查找表单元700用于解析量化后的神经网络的权值,其接收权值字典和权值密码本,经过查找操作获得权值,对于没量化的权值直接通过旁路传输给运算单元。
选数单元800用于接收输入神经元和非零权值位置信息,选择出需要进行计算的神经元。选数单元,用于接收输入神经元和非零权值位置信息,选出非零权值对应的神经元。也就是说:对于每个输出神经元数据,选数单元去除掉与该输出神经元数据没有对应的非零权值数据的输入神经元数据。错误恢复装置可以内嵌于预处理模块2001,存储单元200,控制单元300,运算单元400、DMA500,输入缓存单元600、查找表单元700、选数单元800中的至少一个中进行错误恢复。
前面的附图中所描绘的进程或方法可通过包括硬件(例如,电路、专用逻辑等)、固件、软件(例如,被承载在非瞬态计算机可读介质上的软件),或两者的组合的处理逻辑来执行。虽然上文按照某些顺序操作描述了进程或方法,但是,应该理解,所描述的某些操作能以不同顺序来执行。此外,可并行地而非顺序地执行一些操作。
需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属技术领域中普通技术人员所知的形式,并未进行详细说明。此外,上述对各元件和方法的定义并不仅限于实施例中提到的各种具体结构、形状或方式,本领域普通技术人员可对其进行简单地更改或替换。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (18)

1.一种错误恢复方法,其中,包括:
将发生错误的数据划分为M个重要等级的重要数据和非重要数据;以及
对重要数据进行错误恢复,若无法恢复时对重要数据和非重要数据进行错误恢复,其中M为正整数,
所述将发生错误的数据划分为重要数据和非重要数据包括根据数据的大小、数据绝对值的大小、数据的类型、数据的读操作频率及数据的写操作频率中的至少一个来进行划分。
2.根据权利要求1所述的错误恢复方法,其中,将每一个重要等级的重要数据划分为重要比特位和非重要比特位,所述对重要数据进行错误恢复包括:对重要比特位进行错误恢复,若无法恢复时,对重要数据的重要比特位和非重要比特位为进行错误恢复。
3.根据权利要求1或2所述的错误恢复方法,其中,在将发生错误的数据划分为M个重要等级的重要数据和非重要数据包括:
监测处理器中各模块内的工作时序,若发现错误则生成错误信号;及
根据错误信号,定位处理器内发生错误的模块、流水线位置以及错误类型。
4.根据权利要求2所述的错误恢复方法,其中,将每一个重要等级的重要数据划分为重要比特位和非重要比特位包括:
对第i重要等级的重要数据提取重要比特位,若该重要数据具有Xi个比特位,Yi个比特位指定为重要比特位,则该重要数据具有Xi-Yi个非重要比特位,其中i=1,2……,M,Xi,Yi为正整数,0<Yi≤Xi。
5.根据权利要求4所述的错误恢复方法,其中,所述Yi个比特位包括连续比特位或非连续比特位。
6.根据权利要求1或2所述的错误恢复方法,其中,所述数据包括神经网络参数,所述错误恢复方法用于神经网络处理器。
7.一种错误恢复装置,其中,包括:
重要等级划分单元,将发生错误的数据划分为M个重要等级的重要数据和非重要数据;以及
错误恢复控制单元,对重要数据进行错误恢复,若无法恢复时对重要数据和非重要数据进行错误恢复,其中M为正整数,
其中,重要等级划分单元将发生错误的数据划分为重要数据和非重要数据包括根据数据的大小、数据绝对值的大小、数据的类型、数据的读操作频率及数据的写操作频率中的至少一个来进行划分。
8.根据权利要求7所述的错误恢复装置,其中,重要等级划分单元还包括重要比特位划分单元,用于将每一个重要等级的重要数据划分为重要比特位和非重要比特位,所述错误恢复控制单元对重要数据进行错误恢复包括对重要比特位进行错误恢复,若无法恢复时,对重要数据的重要比特位和非重要比特位为进行错误恢复。
9.根据权利要求7或8所述的错误恢复装置,其中,还包括:
错误监测单元,监测处理器中各模块内的工作时序,若发现错误则生成错误信号;以及
错误定位单元,根据错误信号,定位处理器内发生错误的模块、流水线位置以及错误类型。
10.根据权利要求8所述的错误恢复装置,其中,重要等级划分单元将每一个重要等级的重要数据划分为重要比特位和非重要比特位包括:
对第i重要等级的重要数据提取重要比特位,若该重要数据具有Xi个比特位,Yi个比特位指定为重要比特位,则该重要数据具有Xi-Yi个非重要比特位,其中i=1,2……,M,Xi,Yi为正整数,0<Yi≤Xi。
11.根据权利要求10所述的错误恢复装置,其中,所述Yi个比特位包括连续比特位或非连续比特位。
12.根据权利要求10所述的错误恢复装置,其中,所述数据包括神经网络参数,所述错误恢复装置用于神经网络处理器。
13.一种处理器,其中,包括:
预处理模块、DMA、存储单元、输入缓存单元、指令控制单元及运算单元中的至少一个,以及
至少一个权利要求7-12中任一所述的错误恢复装置。
14.根据权利要求13所述的处理器,其中所述错误恢复装置与所述预处理模块、DMA、存储单元、输入缓存单元、指令控制单元及运算单元中的至少一个相连接,用于对所述预处理模块、DMA、存储单元、输入缓存单元、指令控制单元及运算单元中的至少一个的错误进行错误恢复。
15.根据权利要求13所述的处理器,其中,所述错误恢复装置为多个,与所述预处理模块、DMA、存储单元、输入缓存单元、指令控制单元及运算单元中一一对应连接,每个错误恢复装置对与其连接的所述预处理模块、DMA、存储单元、输入缓存单元、指令控制单元及运算单元中的错误进行错误恢复。
16.根据权利要求13所述的处理器,其中,错误恢复装置内嵌在所述预处理模块、DMA、存储单元、输入缓存单元、指令控制单元及运算单元中的至少一个中。
17.根据权利要求13所述的处理器,其中,对于运算单元的错误进行错误恢复包括重新执行参数的运算。
18.根据权利要求13所述的处理器,其中,所述处理器包括神经网络处理器,所述存储单元用于存储神经网络的神经元、权值和/或指令;所述指令控制单元,用于接收所述指令,经过译码后生成控制信息控制运算单元;所述运算单元用于接收权值和神经元,完成神经网络训练运算并将输出神经元重新传输给存储单元。
CN202110625444.4A 2017-08-07 2017-08-07 错误恢复方法及装置、处理器 Pending CN113419899A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110625444.4A CN113419899A (zh) 2017-08-07 2017-08-07 错误恢复方法及装置、处理器

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710668375.9A CN109388519B (zh) 2017-08-07 2017-08-07 错误恢复方法及装置、处理器
CN202110625444.4A CN113419899A (zh) 2017-08-07 2017-08-07 错误恢复方法及装置、处理器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710668375.9A Division CN109388519B (zh) 2017-08-07 2017-08-07 错误恢复方法及装置、处理器

Publications (1)

Publication Number Publication Date
CN113419899A true CN113419899A (zh) 2021-09-21

Family

ID=65413441

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110625444.4A Pending CN113419899A (zh) 2017-08-07 2017-08-07 错误恢复方法及装置、处理器
CN201710668375.9A Active CN109388519B (zh) 2017-08-07 2017-08-07 错误恢复方法及装置、处理器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710668375.9A Active CN109388519B (zh) 2017-08-07 2017-08-07 错误恢复方法及装置、处理器

Country Status (1)

Country Link
CN (2) CN113419899A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489852A (zh) * 2019-08-14 2019-11-22 北京天泽智云科技有限公司 提高风电系统数据质量的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2129028B1 (en) * 2008-05-06 2012-10-17 Alcatel Lucent Recovery of transmission errorrs
JP5161696B2 (ja) * 2008-08-07 2013-03-13 株式会社日立製作所 仮想計算機システムおよび仮想計算機システムにおけるエラー回復方法ならびに仮想計算機制御プログラム
CN101547144B (zh) * 2008-12-29 2011-11-23 华为技术有限公司 一种提高数据传输质量的方法和装置
CN106648968A (zh) * 2016-10-19 2017-05-10 盛科网络(苏州)有限公司 一种芯片出现ecc无法纠错时的数据恢复的方法和装置
CN107025148B (zh) * 2016-10-19 2020-08-25 阿里巴巴集团控股有限公司 一种海量数据的处理方法和装置

Also Published As

Publication number Publication date
CN109388519A (zh) 2019-02-26
CN109388519B (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
CN111553473B (zh) 数据冗余方法及执行数据冗余方法的神经网络处理器
US9619324B2 (en) Error correction in non—volatile memory
CN101937724B (zh) 用于执行拷贝回存操作的方法以及闪存存储设备
US9411683B2 (en) Error correction in memory
CN112860475B (zh) 基于rs纠删码的校验块恢复方法、装置、系统及介质
US20140089561A1 (en) Techniques Associated with Protecting System Critical Data Written to Non-Volatile Memory
US8566672B2 (en) Selective checkbit modification for error correction
US10848184B2 (en) Method for controlling storage device with aid of error correction and associated apparatus
CN112000512B (zh) 一种数据修复方法及相关装置
CN109388519B (zh) 错误恢复方法及装置、处理器
JP6799262B2 (ja) 演算処理装置及び演算処理装置の制御方法
CN109785895B (zh) 纠正NAND Flash中多比特错误的ECC装置和方法
CN101634938A (zh) 固态硬盘的数据迁移方法、数据迁移装置及固态硬盘
US10505672B2 (en) FEC decoding apparatus and method
CN105320575A (zh) 一种双模冗余流水线的自校验及恢复装置与方法
CN210110352U (zh) 纠正NAND Flash中多比特错误的ECC装置
KR20170064978A (ko) Raid 메모리의 여러 ecc 블록들 내의 데이터를 정정하기 위한 장치 및 방법
CN105023616A (zh) 一种基于汉明码存取数据的方法及集成随机存取存储器
US20140006880A1 (en) Apparatus and control method
CN109254867B (zh) 数据冗余方法及装置
CN102684841A (zh) 一种编码计算单元及解码数据校验方法
WO2020199490A1 (zh) 一种双模式检错内存及双模式检错方法
US10379952B2 (en) Data recovery and regeneration using parity code
US11551774B2 (en) Memory system and method of controlling non-volatile memory
WO2012119447A1 (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