CN103514058B - 一种数据失效的处理方法、设备及系统 - Google Patents
一种数据失效的处理方法、设备及系统 Download PDFInfo
- Publication number
- CN103514058B CN103514058B CN201210222813.6A CN201210222813A CN103514058B CN 103514058 B CN103514058 B CN 103514058B CN 201210222813 A CN201210222813 A CN 201210222813A CN 103514058 B CN103514058 B CN 103514058B
- Authority
- CN
- China
- Prior art keywords
- data
- read
- storing device
- retention value
- strategy
- 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.)
- Active
Links
Landscapes
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明实施例公开了一种数据失效的处理方法及设备、系统。本发明涉及计算机领域,根据预设的数据失效标识可以判断数据失效,并根据失效数据的类型及影响程度,采用相应不同的处理方法,提高了设备或系统的可靠性。本发明实施例提供的方法包括:向存储设备发送读请求,所述读请求包含待读取数据的地址信息,以使得所述存储设备根据所述待读取数据的地址信息查找所述待读取数据;接收所述存储设备因所述待读取数据失效而发送的保留值;若判断所述存储设备发送的保留值满足预设的数据失效条件,则根据预设的失效数据处理策略对所述存储设备发送的保留值作出相应的处理。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种数据失效的处理方法、设备及系统。
背景技术
CPU是计算机的核心部件,它控制整个计算机的运行并进行运算。CPU通过读取存放在存储器中的指令和数据进行工作,所以存储器对于CPU的正常运行起着非常重要的作用。
但是,由于各种原因可能会导致存储器的部分数据出现失效,存储器数据失效指的是,本来期望存储器某一个bit读出的值是0(或者1),但是实际读出来的结果是1(或者0)。现有技术中,存储器在数据失效后一般把错误的数据发送给CPU,同时发送一个异常给CPU;CPU通常可采用两种方式来处理数据异常:1、CPU把失效数据当正常数据处理,不作任何处理;2、通过CPU复位来恢复数据。
发明人发现现有技术至少存在如下的问题:
CPU不能对失效数据进行识别,所以不能根据数据的类型和重要性选择处理的方式,例如在失效的数据是非常重要的数据的情况下,例如银行、股票等相关的数据,如果把失效数据当正常数据处理,可能造成严重的错误;在失效的数据是非重要的数据的情况下,例如网上订票等相关数据,如果通过复位的方法来恢复错误,则不能及时响应用户的请求,影响CPU的可靠性;而且随着存储器容量的增加,以及工艺的改进,存储器数据失效的概率越来越高,这样导致CPU复位的概率也相应越来越高,严重影响CPU的可靠性。
发明内容
本发明的实施例提供一种数据失效的处理方法、设备及系统,根据预设的数据失效标识可以判断数据失效,并根据失效数据的类型及影响程度,采用相应不同的处理方法,提高了设备或系统的可靠性。
为达到上述目的,本发明实施例采用的技术方案为,
一方面,本发明实施例提供一种数据失效的处理方法,包括:
向存储设备发送读请求,所述读请求包含待读取数据的地址信息,以使得所述存储设备根据所述待读取数据的地址信息查找所述待读取数据;
接收所述存储设备因所述待读取数据失效而发送的保留值;
若判断所述存储设备发送的保留值满足预设的数据失效条件,则根据预设的失效数据处理策略对所述存储设备发送的保留值作出相应的处理。
本发明实施例提供的另一种数据失效的处理方法,包括:
接收处理器发送的读请求,所述读请求包含待读取数据的地址信息;
根据所述待读取数据的地址信息查找所述待读取数据;
若判断所述待读取数据失效,则将所述待读取数据修改为保留值并发送给所述处理器,以使得所述处理器在判断所述保留值满足预设的数据失效条件后,根据预设的失效数据处理策略对所述保留值作出相应的处理。
另一方面,本发明实施例提供一种处理器,包括:
发送单元,用于向存储设备发送读请求,所述读请求包含待读取数据的地址信息,以使得所述存储设备根据所述待读取数据的地址信息查找所述待读取数据;
第一接收单元,用于接收所述存储设备因所述待读取数据失效而发送的保留值;
处理单元,用于若判断所述存储设备发送的保留值满足预设的数据失效条件,则根据预设的失效数据处理策略对所述存储设备发送的保留值作出相应的处理。
本发明另一实施例提供一种存储设备,包括:
接收单元,用于接收处理器发送读请求,所述读请求包含待读取数据的地址信息;
查找单元,用于根据所述待读取数据的地址信息查找所述待读取数据;
判断单元,用于判断所述待读取数据是否失效;
修改单元,用于在所述判断单元判断所述待读取数据失效后,将所述待读取数据修改为保留值;
第一发送单元,用于将所述修改单元修改的保留值发送给所述处理器,以使得所述处理器在判断所述存储设备发送的保留值满足预设的数据失效条件后,根据预设的失效数据处理策略对所述保留值作出相应的处理。
再一方面,本发明实施例提供一种数据异常处理系统,包括:
处理器,用于向存储设备发送读请求,所述读请求包含待读取数据的地址信息;接收所述存储设备因所述待读取数据失效而发送的保留值;在判断所述存储设备发送的保留值满足预设的数据失效条件后,根据预设的失效数据处理策略对所述存储设备发送的保留值作出相应的处理;
存储设备,用于接收处理器发送的读请求,所述读请求包含待读取数据的地址信息;根据所述待读取数据的地址信息查找所述待读取数据;在判断所述待读取数据失效后,将所述待读取数据修改为保留值并发送给所述处理器。
本发明的实施例提供的数据失效的处理方法及设备、系统,根据预设的数据失效条件可判断存储设备发送的数据是否失效,若失效则可根据预设的失效数据处理策略对存储设备发送的数据作出相应的处理,克服了现有技术CPU不能对失效数据进行识别,从而不能根据数据的类型和重要性选择处理的方式的缺陷,提高了设备或系统的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据失效的处理方法流程图;
图2为本发明实施例提供的另一种数据失效的处理方法流程图;
图3为本发明实施例提供的另一种数据失效的处理方法流程图;
图4为本发明实施例提供的另一种数据失效的处理方法流程图;
图5为本发明实施例提供的另一种数据失效的处理方法流程图;
图6为本发明实施例提供的另一种数据失效的处理方法流程图;
图7为本发明实施例提供的一种处理器的装置结构图;
图8为本发明实施例提供的另一种处理器的装置结构图;
图9为本发明实施例提供的一种存储设备的装置结构图;
图10为本发明实施例提供的另一种存储设备的装置结构图;
图11为本发明实施例提供的一种数据异常处理的系统图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据失效的处理方法,参见图1,包括,
101:向存储设备发送读请求,所述读请求包含待读取数据的地址信息,以使得所述存储设备根据所述待读取数据的地址信息查找所述待读取数据;
102:接收所述存储设备因所述待读取数据失效而发送的保留值;
103:若判断所述存储设备发送的保留值满足预设的数据失效条件,则根据预设的失效数据处理策略对所述存储设备发送的保留值作出相应的处理。
示例性的,所述判断存储设备发送的数据的内容满足预设的数据失效条件,可以包括:
判断所述存储设备发送的保留值是否与预设的数据标识匹配,若匹配,则判断所述存储设备发送的保留值满足预设的数据失效条件。
示例性的,所述预设的数据标识可以由与所述待读取数据相同字节个数的标识符组成;
或者,所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成;
相应的,
当所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成时,所述存储设备发送的保留值与预设的数据标识匹配指所述存储设备发送的保留值与所述预设的数据的标识符一一对应相同;
当所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成时,所述存储设备发送的保留值与预设的数据标识匹配指所述存储设备发送的保留值与所述预设的数据的比特数相同,且最高位的比特与所述预设数据的预设标识符相同。
示例性的,所述预设的失效数据处理策略可以包含下述策略:
第一策略:若所述待读取数据对失效不敏感,则将所述存储设备发送的数据当做正常的数据处理;
第二策略:若所述待读取数据可以丢弃,则丢弃所述存储设备发送的数据;
第三策略:若所述待读取数据存在备份数据,则利用备份数据替换所述存储设备发送的数据;
第四策略:若所述待读取数据通过复位进程可恢复,则利用复位进程来恢复所述存储设备发送的数据;
第五策略:若所述待读取数据只能通过复位设备才可恢复,则通过复位设备来恢复所述存储设备发送的数据。
所述根据预设的失效数据处理策略对所述存储设备发送的数据作出相应的处理包括:优选使用所述第一策略处理所述存储设备发送的数据;若所述第一策略不适用,则优选使用所述第二策略处理所述存储设备发送的数据;若所述第二策略不适用,则优选使用所述第三策略处理所述存储设备发送的数据;若所述第三策略不适用,则使用所述第四策略处理所述存储设备发送的数据;若所述第四策略不适用,则使用所述第五策略处理所述存储设备发送的数据。
本发明的实施例提供的数据失效的处理方法,根据预设的数据失效条件可判断存储设备发送的数据是否失效,若失效则可根据预设的失效数据处理策略对存储设备发送的数据作出相应的处理,克服了现有技术CPU不能对失效数据进行识别,从而不能根据数据的类型和重要性选择处理的方式的缺陷,提高了设备和系统的可靠性。
本发明另一实施例提供的数据失效的处理方法,参见图2,包括:
201:接收处理器发送的读请求,所述读请求包含待读取数据的地址信息;
202:根据所述待读取数据的地址信息查找所述待读取数据;
203:若判断所述待读取数据失效,则将所述待读取数据修改为保留值并发送给所述处理器,以使得所述处理器在判断所述保留值满足预设的数据失效条件后,根据预设的失效数据处理策略对所述保留值作出相应的处理。
示例性的,所述满足所述处理器内预设的数据失效条件指:
与所述处理器内预设的数据标识匹配,
所述预设的数据标识可以由与所述待读取数据相同字节个数的标识符组成;
或者,所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成。
相应的,
当所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成时,若判断所述待读取数据失效,所述存储设备将所述待读取数据修改为与所述预设的数据的标识符一一对应相同的保留值;
当所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成时,若判断所述待读取数据失效,所述存储设备将所述待读取数据修改为与所述预设的数据的比特数相同,最高位的比特与所述预设数据的预设标识符相同的保留值。
本发明的实施例提供的数据失效的处理方法,在存储设备判断待读取数据失效时,则将待读取数据修改为保留值并发送给处理器,使得处理器可根据预设的失效数据处理策略对存储设备发送的数据作出相应的处理,克服了现有技术处理器不能对失效数据进行识别,从而不能根据数据的类型和重要性选择处理的方式的缺陷,提高了设备和系统的可靠性。
本发明另一实施例详细说明数据失效的处理方法,在本实施例中,存储设备包括内存控制器及内存,参见图3,该方法包括:
301:CPU向内存控制器发送读请求;
示例性的,处理器可以为中央处理器(CentralProcessingUnit,简称CPU),数字信号处理器(DigitalSignalProcessor,简称DSP),专用集成电路(Application-SpecificIntegratedCircuit,简称ASIC),现场可编程门阵列(FieldProgrammableGateArray,简称FPGA)控制器等各种能够解释程序指令以及处理软件程序中的数据的电子设备。本实施例以CPU为例进行说明。
当CPU载入一个应用程序时,例如文字处理或者页面编辑,需要读取数据,CPU将读请求发送至内存控制器,读请求中包含待读取数据的地址信息。
302:内存控制器将读请求发送至内存;
示例性的,内存控制器是内存与CPU之间交换数据的重要组成部分。内存控制器收到CPU发送的读请求后,将读请求发送至内存。
303:内存根据所述待读取数据的地址信息查找所述待读取数据的储存单元,所述储存单元包含所述待读取数据和校验值;
示例性的,内存收到内存控制器发送的读请求后,根据该读请求中的地址信息查找待读取数据的存储单元,存储单元中还包含校验值,校验值用于检测存储单元内的数据有没有发生失效。例如校验算法可以选择奇偶校验方法(Parity)和错误检测和纠正(ErrorCheckingandCorrecting,简称ECC)。其中,Parity通过在原来数据位的基础上增加一个数据位来检查当前8位数据的正确性,比如一个字节中存储了某一数值(1、0、1、0、1、0、1、1),把这每一位相加起来(1+0+1+0+1+0+1+1=5)。若其结果是奇数,对于偶校验,校验位就定义为1,反之则为0;对于奇校验,则相反。如果采用Parity算法,只能够检测存储单元失效,不能够纠正失效的bit。
ECC也是在原来的数据位上外加校验位来实现的。不同的是两者增加的方法不一样,如果数据位是8位,则需要增加5位来进行ECC错误检查和纠正,数据位每增加一倍,ECC只增加一位检验位,也就是说当数据位为16位时ECC位为6位,32位时ECC位为7位,数据位为64位时ECC位为8位,依此类推,数据位每增加一倍,ECC位只增加一位。如果采用ECC,当数据或者检验值出现1个bit错误,能够检测和纠正失效的bit;当数据或者校验值出现多个bit错误,能够检测出存储单元失效,但是不能够纠正失效的bit。
当然,也可以选择其它校验方法来判断数据是否出现失效,本实施例对此不进行限制,只要逻辑上能够实现判断数据是否失效即可。
304:内存将待读取数据和校验值发送给内存控制器;
示例性的,内存将查询到的待读取数据和校验值发送给给内存控制器,以使得内存控制器根据上述校验方法对待读取数据进行校验。
305:内存控制器根据校验值对待读取数据进行校验;
示例性的,内存控制器利用上述校验方法根据校验值对待读取数据进行校验。
306:若内存控制器根据校验结果判断待读取数据失效,则将待读取数据修改为保留值;
示例性的,若内存控制器的校验结果为该存储单元失效,则内存控制器将待读取数据修改为保留值,其中,保留值可以在内存控制器中预设。
示例性的,可以有两种方式设置保留值,一种方式为,保留值的字节数与待读取数据的字节数相同,但是保留值的具体形式可以有多种,在此处不作限制,只要能够和原来的待读取数据有明显的区分标识,并且与CPU中的预设数据标识一致即可。例如,内存控制器可预设大小为一个字节变量的保留值为0xFF,大小为两个字节变量的保留值为0xFFFF,大小为四个字节变量的保留值为0xFFFFFFFF,依次类推,相应的,CPU中也预设大小为一个字节变量的数据标识为0xFF,大小为两个字节变量的数据标识为0xFFFF,大小为四个字节变量的数据标识为0xFFFFFFFF,依次类推;其中,字母F可以用其它任何字母代替,也可以选择不同的字母组合,例如,内存控制器可预设大小为一个字节变量的保留值为0xAB,大小为两个字节变量的保留值为0xABCD,大小为四个字节变量的保留值为0xABCDEFGH,等等,相应的,CPU中也预设大小为一个字节变量的数据标识为0xAB,大小为两个字节变量的数据标识为0xABCD,大小为四个字节变量的数据标识为0xABCDEFGH,等等,只要保持相同字节大小的内存控制器中的保留值与CPU中预设的数据标识相同即可。
另一种方式为,保留值比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成,相应的,CPU中预设的数据标识也比待读取数据多一个比特,且最高位的比特由预设的标识符组成。可以在待读取数据的最高位再增加一个bit来实现,比如在4个字节的数据再增加一个bit表示数据是否失效。那么保留值可以是0x100000000~0x1FFFFFFFF之间的任意一个数据。
307:内存控制器将保留值发送给CPU;
示例性的,内存控制器将保留值发送给CPU,例如,保留值为0xFFFF,则将保留值0xFFFF发送给CPU,再例如,保留值为0x1FFFFFFFF,则将保留值0x1FFFFFFFF发送给CPU。
308:CPU将保留值与预设的数据标识匹配;
示例性的,CPU预设的两个字节大小的数据标识为0xFFFF,则CPU接收到的保留值0xFFFF与预设的数据标识匹配,CPU的应用程序能够判断待读取的数据失效。
再例如,CPU预设的4个字节大小的数据标识为0x100000000~0x1FFFFFFFF之间的任意一个数据,则CPU接收到的保留值为0x1FFFFFFFF时,与预设的数据标识匹配,CPU的应用程序能够判断待读取的数据失效。
309:CPU根据失效数据处理策略对内存控制器发送的保留值作出相应的处理。
示例性的,CPU的应用程序判断待读取的数据失效后,根据失效数据处理策略对内存控制器发送的保留值作出相应的处理。
示例性的,失效数据处理策略可以包括:
第一策略:若所述待读取数据对失效不敏感,则将所述存储设备发送的数据当做正常的数据处理;
第二策略:若所述待读取数据可以丢弃,则丢弃所述存储设备发送的数据;
第三策略:若所述待读取数据存在备份数据,则利用备份数据替换所述存储设备发送的数据;
第四策略:若所述待读取数据通过复位进程可恢复,则利用复位进程来恢复所述存储设备发送的数据;
第五策略:若所述待读取数据只能通过复位设备才可恢复,则通过复位设备来恢复所述存储设备发送的数据。
示例性的,上述四种策略的选择使用的优先性不同,优选的,上述四种策略的优先性从高到低依次为第一策略、第二策略、第三策略、第四策略、第五策略;即,优选使用所述第一策略处理所述存储设备发送的数据;若所述第一策略不适用,则优选使用所述第二策略处理所述存储设备发送的数据;若所述第二策略不适用,则优选使用所述第三策略处理所述存储设备发送的数据;若所述第三策略不适用,则使用所述第四策略处理所述存储设备发送的数据;若所述第四策略不适用,则使用所述第五策略处理所述存储设备发送的数据。
例如,CPU中读取该数据的应用程序为影音播放程序,则待读取数据即为影音中的一个语音帧或者图像帧,这一类的数据对于失效不敏感,不影响应用程序的正常运行,所以,CPU的应用程序高速缓冲存储器发送的保留值当做正常的数据处理;
当CPU中读取该数据的应用程序对于数据失效比较敏感时,则不能利用第一策略进行处理,CPU优选第二策略,即检查所述待读取数据是否可以丢弃,若可以丢弃,则丢弃所述存储设备发送的数据;
当所述待读取数据不可以丢弃,则不能利用第二策略进行处理,CPU优选第三策略,即检查该待读取数据是否存在备份数据,若存在备份数据,则CPU获取备份数据替换高速缓冲存储器发送的保留值;其中,备份数据存储的位置进行限制,只要CPU能够获取到即可;
当CPU中读取该数据的应用程序对于数据失效比较敏感,且数据不可丢弃,且不存在CPU可以获取的备份数据时,第一策略、第二策略、第三策略均不适用,则CPU优选第四策略,例如,待读取数据是应用程序的进程内部不能够恢复的数据,例如进程内部的指针,则利用复位进程来恢复待读取数据;
当上述四种策略均不能适用时,例如待读取数据是内处理器的关键指针,则CPU采用第五种策略进行处理,即通过复位CPU来恢复待读取数据。
优选的,当内存控制器的校验结果为失效,内存控制器发送一个异常命令,该异常命令记录失效数据的地址,内存控制器将该异常命令发送给高速缓冲存储器,高速缓冲存储器再将该异常命令发送给CPU,CPU可以将异常存储在寄存器中,然后对异常记录的失效的待读取数据的地址进行统计,当失效的待读取数据的地址大于预设阈值时,在运行过程中或者CPU重启时将该地址进行隔离。
本发明的实施例提供的数据失效的处理方法,根据预设的数据失效条件可判断存储设备发送的数据是否失效,若失效则可根据预设的失效数据处理策略对存储设备发送的数据作出相应的处理,克服了现有技术CPU不能对失效数据进行识别,从而不能根据数据的类型和重要性选择处理的方式的缺陷,提高了设备和系统的可靠性。
本发明另一实施例原理与上述实施例相同,不同的是存储设备包含高速缓冲存储器,内存控制器和内存,内存控制器判断待读取数据失效后,不将待读取修改为保留值,而是将错误的待读取数据和校验失效的标识发送给高速缓冲存储器,由高速缓冲存储器将待读取的数据修改为保留值然后发送给CPU,CPU对保留值的处理方法相同,参见图4,具体包括:
401:CPU向高速缓冲存储器发送读请求,
示例性的,高速缓冲存储器是存在于内存与CPU之间的一级存储器,容量比较小但速度比内存高得多,接近于CPU的速度。
当CPU载入一个应用程序时,例如文字处理或者页面编辑,需要读取数据,CPU将读请求发送至高速缓冲存储器,读请求中包含待读取数据的地址信息。
402:高速缓冲存储器检测到待读取数据没有命中,
示例性的,高速缓冲存储器接收到CPU发送的读请求时,根据待读取数据的地址信息检测待读取数据在高速缓冲存储器中有无命中,若根据待读取数据的地址信息检测到待读取数据的存储单元已在高速缓冲存储器中,称为命中;反之,则为没有命中。
403:将读请求发送至内存控制器;
示例性的,当待读取数据没有命中时,高速缓冲存储器将CPU发送的读请求发送给内存控制器。
404:内存控制器将读请求发送至内存;
405:内存根据所述待读取数据的地址信息查找所述待读取数据的储存单元,所述储存单元包含所述待读取数据和校验值;
406:内存将待读取数据和校验值发送给内存控制器;
407:内存控制器根据校验值对待读取数据进行校验;
408:若内存控制器根据校验结果判断待读取数据失效,则将待读取数据和校验失效的标识发送给高速缓冲存储器;
示例性的,若内存控制器根据校验结果判断待读取数据失效,不对数据作出处理,将待读取数据和校验失效的标识发送给高速缓冲存储器,
另外,内存控制器和高速缓冲存储器之间以高速缓存线(cacheline)为单位进行数据传递。
409:高速缓冲存储器将待读取数据修改为保留值;
示例性的,高速缓冲存储器根据校验失效的标识,将待读取数据修改为保留值,其中,保留值的设置方法和修改方法同上述实施例,此处不再赘述。
410:高速缓冲存储器将保留值发送给CPU;
411:CPU将保留值与预设的数据标识匹配,
412:CPU根据失效数据处理策略对高速缓冲存储器发送的保留值作出相应的处理。
优选的,当内存控制器的校验结果为失效,内存控制器将待读取数据和校验失效的标识发送给高速缓冲存储器后,高速缓冲存储器发送一个异常命令,该异常命令记录失效的待读取数据的地址,并将该异常命令发送给CPU,CPU可以将异常存储在寄存器中,然后对异常记录的失效的待读取数据的地址进行统计,当失效数据的地址大于预设阈值时,在运行过程中或者CPU重启时将该地址进行隔离。
另外,在本实施例的一种可替代的方式为,在步骤408和409中,若内存控制器根据校验结果判断待读取数据失效,则把整个校验出错的数据单元都改成与保留值相同的形式然后发送给高速缓冲存储器,由高速缓冲存储器将其中待读取数据所对应的保留值发送给CPU。另外,由于内存控制器和高速缓冲存储器之间以高速缓存线(cacheline)为单位进行数据传递,但是内存控制器从内存接收的数据单元不一定为cacheline的大小,比如如果cacheline大小是64字节,数据单元的大小为可以32字节,内存控制器可以分成两个32字节进行校验,如果其中一个32字节校验出错,只需要将校验出错的32个字节修改成与保留值相同的形式然后发送给高速缓冲存储器,由高速缓冲存储器将其中待读取数据所对应的保留值发送给CPU。
本发明的实施例提供的数据失效的处理方法,根据预设的数据失效条件可判断存储设备发送的数据是否失效,若失效则可根据预设的失效数据处理策略对存储设备发送的数据作出相应的处理,克服了现有技术CPU不能对失效数据进行识别,从而不能根据数据的类型和重要性选择处理的方式的缺陷,提高了设备和系统的可靠性。
本发明另一实施例原理与上述实施例相同,不同的待读取数据在高速缓冲存储器中命中,由高速缓冲存储器直接对待读取数据进行失效校验,并在校验结果为失效时将待读取数据修改为保留值,然后将保留值发送给CPU,CPU对保留值的处理方法相同,参见图5,具体包括:
501:CPU向高速缓冲存储器发送读请求;
502:高速缓冲存储器检测到待读取数据命中;
503:高速缓冲存储器根据校验值对待读取数据进行校验;
504:若高速缓冲存储器根据校验结果判断待读取数据失效,则将待读取数据修改为保留值;
505:高速缓冲存储器将保留值发送给CPU;
506:CPU将保留值与预设的数据标识匹配;
507:CPU根据失效数据处理策略对高速缓冲存储器发送的保留值作出相应的处理。
优选的,当高速缓冲存储器的校验结果为失效时,高速缓冲存储器触发一个异常命令,该异常命令记录失效的待读取数据的地址,并将该异常命令发送给CPU,CPU可以将异常存储在寄存器中,然后对异常记录的失效的待读取数据的地址进行统计,当失效数据的地址大于预设阈值时,在运行过程中或者CPU重启时将该地址进行隔离。
本发明的实施例提供的数据失效的处理方法,根据预设的数据失效条件可判断存储设备发送的数据是否失效,若失效则可根据预设的失效数据处理策略对存储设备发送的数据作出相应的处理,克服了现有技术CPU不能对失效数据进行识别,从而不能根据数据的类型和重要性选择处理的方式的缺陷,提高了设备和系统的可靠性。
本发明另一实施例原理与上述实施例相同,不同的是存储设备包含外设控制器和外部存储器,数据的校验由外部存储器完成,若外部存储器判断待读取数据失效,则将待读取数据和校验失效标识发送给外设控制器,外设控制器将待读取数据修改为保留值后发送给CPU,参见图6,具体包括:
601:CPU向外设控制器发送读请求;
602:外设控制器将读请求发送至外部存储器;
示例性的,外部存储器可以包括移动硬盘,软盘、硬盘、光盘、U盘等。
603:外部存储器根据待读取数据的地址信息查找待读取数据的储存单元,储存单元包含所述待读取数据和校验值;;
604:外部存储器根据校验值对待读取数据进行校验;
605:若外部存储器根据校验结果判断待读取数据失效,则将待读取数据和校验失效标识发送给外设控制器;
606:外设控制器将待读取数据修改为保留值;
607:外设控制器将保留值发送给CPU;
608:CPU将保留值与预设的数据标识匹配;
609:CPU根据失效数据处理策略对高速缓冲存储器发送的保留值作出相应的处理。
本发明的实施例提供的数据失效的处理方法,根据预设的数据失效条件可判断存储设备发送的数据是否失效,若失效则可根据预设的失效数据处理策略对存储设备发送的数据作出相应的处理,克服了现有技术CPU不能对失效数据进行识别,从而不能根据数据的类型和重要性选择处理的方式的缺陷,提高了设备和系统的可靠性。
本发明另一实施例提供了一种处理器70,该处理器70用于实现图1所示的方法,示例性的,处理器70可以为中央处理器(CentralProcessingUnit,简称CPU),数字信号处理器(DigitalSignalProcessor,简称DSP),专用集成电路(Application-SpecificIntegratedCircuit,简称ASIC),现场可编程门阵列(FieldProgrammableGateArray,简称FPGA)控制器等各种能够解释程序指令以及处理软件程序中的数据的电子设备。
参见图7,该处理器70包括:
发送单元701,用于向存储设备发送读请求,所述读请求包含待读取数据的地址信息,以使得所述存储设备根据所述待读取数据的地址信息查找所述待读取数据;
示例性的,当处理器70载入一个应用程序时,例如文字处理或者页面编辑,需要读取数据,处理器70将读请求发送至存储设备,读请求中包含待读取数据的地址信息。
第一接收单元702,用于接收所述存储设备因所述待读取数据失效而发送的保留值;
示例性的,存储设备收到处理器70发送的读请求后,根据该读请求中的地址信息查找待读取数据的存储单元,存储单元中还包含校验值,校验值用于检测存储单元内的数据有没有发生失效。例如校验算法可以选择奇偶校验方法(Parity)和错误检测和纠正(ErrorCheckingandCorrecting,简称ECC)。其中,Parity通过在原来数据位的基础上增加一个数据位来检查当前8位数据的正确性,比如一个字节中存储了某一数值(1、0、1、0、1、0、1、1),把这每一位相加起来(1+0+1+0+1+0+1+1=5)。若其结果是奇数,对于偶校验,校验位就定义为1,反之则为0;对于奇校验,则相反。如果采用Parity算法,只能够检测存储单元失效,不能够纠正失效的bit。
ECC也是在原来的数据位上外加校验位来实现的。不同的是两者增加的方法不一样,如果数据位是8位,则需要增加5位来进行ECC错误检查和纠正,数据位每增加一倍,ECC只增加一位检验位,也就是说当数据位为16位时ECC位为6位,32位时ECC位为7位,数据位为64位时ECC位为8位,依此类推,数据位每增加一倍,ECC位只增加一位。如果采用ECC,当数据或者检验值出现1个bit错误,能够检测和纠正失效的bit;当数据或者校验值出现多个bit错误,能够检测出存储单元失效,但是不能够纠正失效的bit。
当然,也可以选择其它校验方法来判断数据是否出现失效,本实施例对此不进行限制,只要逻辑上能够实现判断数据是否失效即可。
存储设备利用上述校验方法根据校验值对待读取数据进行校验。
示例性的,若存储设备的校验结果为该存储单元失效,则存储设备将待读取数据修改为保留值,其中,保留值可以在存储设备中预设,保留值的字节数与待读取数据的字节数相同,但是保留值的具体形式可以有多种,在此处不作限制,只要能够和原来的待读取数据有明显的区分标识。
存储设备将修改后的保留值发送给处理器70。
处理单元703,用于若判断所述存储设备发送的保留值满足预设的数据失效条件,则根据预设的失效数据处理策略对所述存储设备发送的保留值作出相应的处理。
示例性的,若存储设备发送的保留值与预设的数据标识匹配,则认为存储设备发送的保留值满足预设的数据失效条件。
数据标识可以在处理器70中预设,数据标识可以有两种设置方式。
其中一种方式为,数据标识的字节数与待读取数据的字节数相同,但是具体形式可以有多种,在此处不作限制,只要和存储设备的保留值保持一致,能够判断待读取数据有无失效即可。例如,存储设备可预设大小为一个字节变量的保留值为0xFF,大小为两个字节变量的保留值为0xFFFF,大小为四个字节变量的保留值为0xFFFFFFFF,依次类推,相应的,处理器70中也预设大小为一个字节变量的数据标识为0xFF,大小为两个字节变量的数据标识为0xFFFF,大小为四个字节变量的数据标识为0xFFFFFFFF,依次类推;其中,字母F可以用其它任何字母代替,也可以选择不同的字母组合,例如,存储设备可预设大小为一个字节变量的保留值为0xAB,大小为两个字节变量的保留值为0xABCD,大小为四个字节变量的保留值为0xABCDEFGH,等等,相应的,处理器70中也预设大小为一个字节变量的数据标识为0xAB,大小为两个字节变量的数据标识为0xABCD,大小为四个字节变量的数据标识为0xABCDEFGH,等等。例如,处理器70预设的两个字节大小的数据标识为0xFFFF,当处理器70接收到的保留值为0xFFFF,与预设的数据标识匹配,处理器70判断待读取的数据失效。
另一种方式为,数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成,相应的,存储设备中预设的保留值也比待读取数据多一个比特,且最高位的比特由预设的标识符组成。可以在待读取数据的最高位再增加一个bit来实现,比如在4个字节的数据再增加一个bit表示数据是否失效。那么保留值可以是0x100000000~0x1FFFFFFFF之间的任意一个数据。例如,处理器70预设的4个字节大小的数据标识为0x100000000~0x1FFFFFFFF之间的任意一个数据,当处理器70接收到的保留值为0x1FFFFFFFF时,与预设的数据标识匹配,处理器70判断待读取的数据失效。
处理器70通过保留值和预设的数据标识匹配判断保留值失效后,处理单元703根据失效数据处理策略对保留值做出相应的处理。
示例性的,失效数据处理策略可以包括:
第一策略:若所述待读取数据对失效不敏感,则将所述存储设备发送的数据当做正常的数据处理;
第二策略:若所述待读取数据可以丢弃,则丢弃所述存储设备发送的数据;
第三策略:若所述待读取数据存在备份数据,则利用备份数据替换所述存储设备发送的数据;
第四策略:若所述待读取数据通过复位进程可恢复,则利用复位进程来恢复所述存储设备发送的数据;
第五策略:若所述待读取数据只能通过复位设备才可恢复,则通过复位设备来恢复所述存储设备发送的数据。
优选的,上述策略具有不同的优先使用权,例如:处理单元703优选使用所述第一策略处理所述存储设备发送的数据;若所述第一策略不适用,则优选使用所述第二策略处理所述存储设备发送的数据;若所述第二策略不适用,则优选使用所述第三策略处理所述存储设备发送的数据;若所述第三策略不适用,则使用所述第四策略处理所述存储设备发送的数据;若所述第四策略不适用,则使用所述第五策略处理所述存储设备发送的数据。
例如,处理器70中读取该数据的应用程序为影音播放程序,则待读取数据即为影音中的一个语音帧或者图像帧,这一类的数据对于失效不敏感,不影响应用程序的正常运行,所以,处理单元703将保留值当做正常的数据处理;
当处理器70中读取该数据的应用程序对于数据失效比较敏感时,则不能利用第一策略进行处理,处理单元703优选第二策略,即检查所述待读取数据是否可以丢弃,若可以丢弃,则丢弃所述存储设备发送的数据;
当所述待读取数据不可以丢弃,则不能利用第二策略进行处理,CPU优选第三策略,即检查该待读取数据是否存在备份数据,若存在备份数据,则处理单元703获取备份数据替换保留值;其中,备份数据存储的位置进行限制,只要处理器70能够获取到即可;
当处理器70中读取该数据的应用程序对于数据失效比较敏感,且不存在处理器70可以获取的备份数据时,第一策略、第二策略、第三策略均不适用,则处理单元703优选第四策略,例如,待读取数据是应用程序的进程内部不能够恢复的数据,例如进程内部的指针,处理单元703利用复位进程来恢复待读取数据;
当上述四种策略均不能适用时,例如待读取数据是内处理器的关键指针,则处理单元703采用第五种策略进行处理,即通过复位处理器70来恢复待读取数据。
进一步的,参见图8,该处理器70还包括:
判断单元704,用于判断所述存储设备发送的保留值是否与预设的数据标识匹配,若匹配,则判断所述存储设备发送的保留值满足预设的数据失效条件;
第二接收单元705,用于接收存储设备因待读取数据失效而发送的异常命令,所述异常命令包括失效的待读取数据的地址信息;
统计隔离单元706,用于对失效的所述待读取数据的地址进行统计,并将失效次数超过预设阈值的地址隔离。
示例性的,当存储设备的校验结果为失效,存储设备发送一个异常命令,该异常命令记录失效的待读取数据的地址,存储设备将该异常命令发送给处理器70,处理器70可以将异常存储,然后对异常记录的失效的待读取数据的地址进行统计,当失效的待读取数据的地址大于预设阈值时,在运行过程中或者重启时将该地址进行隔离。
本发明的实施例提供的处理器,根据预设的数据失效条件可判断存储设备发送的数据是否失效,若失效则可根据预设的失效数据处理策略对存储设备发送的数据作出相应的处理,克服了现有技术不能对失效数据进行识别,从而不能根据数据的类型和重要性选择处理的方式的缺陷,提高了设备的可靠性。
本发明另一实施例提供一种存储设备90,用于实现图2所示的方法,参见图9,该存储设备90包括:
接收单元901,用于接收处理器发送读请求,所述读请求包含待读取数据的地址信息;
查找单元902,用于根据所述待读取数据的地址信息查找所述待读取数据;
判断单元903,用于判断所述待读取数据是否失效;
修改单元904,用于在所述判断单元903判断所述待读取数据失效后,将所述待读取数据修改为保留值;
第一发送单元905,用于将所述修改单元904修改的保留值发送给所述处理器,以使得所述处理器在判断所述存储设备发送的保留值满足预设的数据失效条件后,根据预设的失效数据处理策略对所述保留值作出相应的处理。
示例性的,保留值满足所述处理器内预设的数据失效条件指:
保留值与所述处理器内预设的数据标识匹配,所述预设的数据标识包含与所述待读取数据相同数目的字节。
进一步的,所述存储设备90还包括:
第二发送单元906,用于在所述判断单元903判断所述待读取数据失效后,向所述处理器发送一个异常命令,所述异常命令包括失效的待读取数据的地址信息,以使得所述处理器对所述失效的待读取数据的地址进行统计,并将失效次数超过预设阈值的地址隔离。
示例性的,本发明实施例提供的存储设备可以包括,内存控制器及内存,可以用于执行图3所示方法实施例中存储设备的动作,例如:接收单元901可以配置在内存控制器上,查找单元902可以配置在内存上,判断单元903,修改单元904以及第一发送单元905可以配置在内存控制器上。
示例性的,本发明实施例提供的存储设备可以包括,高速缓存控制器,内存控制器及内存,可以用于执行图4所示方法实施例中存储设备的动作,例如:接收单元901可以配置在高速缓存控制器上,查找单元902可以配置在内存上,判断单元903可以配置在内存控制器上,修改单元904可以配置在高速缓存控制器上,第一发送单元905可以配置在高速缓存控制器上;还可以执行图5所示的方法实施例中存储设备的动作,例如:接收单元901、查找单元902、判断单元903、修改单元904和第一发送单元905都可以配置在高速缓存控制器上。
示例性的,本发明实施例提供的存储设备可以包括,外设控制器及外部存储器,可以用于执行图6所示方法实施例中存储设备的动作,例如:接收单元901可以配置在外设控制器上,查找单元902可以配置在外部存储器上,判断单元903可以配置在外部存储器上,修改单元904可以配置在外设控制器上,第一发送单元905可以配置在外设控制器上。
本发明的实施例提供的存储设备90,在存储设备90判断待读取数据失效时,则将待读取数据修改为保留值并发送给处理器,使得处理器可根据预设的失效数据处理策略对存储设备发送的保留值作出相应的处理,克服了现有技术处理器不能对失效数据进行识别,从而不能根据数据的类型和重要性选择处理的方式的缺陷,提高了设备的可靠性。
本发明另一实施例提供了一种数据异常处理系统,包括:
处理器70,用于向存储设备90发送读请求,所述读请求包含待读取数据的地址信息;接收所述存储设备因所述待读取数据失效而发送的保留值;在判断所述存储设备发送的保留值满足预设的数据失效条件后,根据预设的失效数据处理策略对所述存储设备发送的保留值作出相应的处理;
示例性的,所述保留值满足所述处理器内预设的数据失效条件指:
所述保留值与所述处理器内预设的数据标识匹配;
示例性的,所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成;
或者,所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成;
相应的,
当所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成时,所述存储设备发送的保留值与预设的数据标识匹配指所述存储设备发送的保留值与所述预设的数据的标识符一一对应相同;
当所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成时,所述存储设备发送的保留值与预设的数据标识匹配指所述存储设备发送的保留值与所述预设的数据的比特数相同,且最高位的比特与所述预设数据的预设标识符相同。
示例性的,所述预设的失效数据处理策略包含下述策略:
第一策略:若所述待读取数据对失效不敏感,则将所述存储设备发送的数据当做正常的数据处理;
第二策略:若所述待读取数据可以丢弃,则丢弃所述存储设备发送的数据;
第三策略:若所述待读取数据存在备份数据,则利用备份数据替换所述存储设备发送的数据;
第四策略:若所述待读取数据通过复位进程可恢复,则利用复位进程来恢复所述存储设备发送的数据;
第五策略:若所述待读取数据只能通过复位设备才可恢复,则通过复位设备来恢复所述存储设备发送的数据。
存储设备90,用于接收处理器70发送的读请求,所述读请求包含待读取数据的地址信息;根据所述待读取数据的地址信息查找所述待读取数据;在判断所述待读取数据失效后,将所述待读取数据修改为保留值并发送给所述处理器。
本发明的实施例提供的数据失效的处理系统,根据预设的数据失效条件可判断存储设备发送的数据是否失效,若失效则可根据预设的失效数据处理策略对存储设备发送的数据作出相应的处理,克服了现有技术处理器不能对失效数据进行识别,从而不能根据数据的类型和重要性选择处理的方式的缺陷,提高了系统的可靠性。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (26)
1.一种数据失效的处理方法,其特征在于,包括:
向存储设备发送读请求,所述读请求包含待读取数据的地址信息,以使得所述存储设备根据所述待读取数据的地址信息查找所述待读取数据;
接收所述存储设备因所述待读取数据失效而发送的保留值;
若判断所述存储设备发送的保留值满足预设的数据失效条件,则根据预设的失效数据处理策略对所述存储设备发送的保留值作出相应的处理。
2.根据权利要求1所述的数据失效的处理方法,其特征在于,所述判断存储设备发送的保留值满足预设的数据失效条件,包括:
判断所述存储设备发送的保留值是否与预设的数据标识匹配,若匹配,则判断所述存储设备发送的保留值满足预设的数据失效条件。
3.根据权利要求2所述的数据失效的处理方法,其特征在于,所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成;
或者,所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成。
4.根据权利要求3所述的数据失效的处理方法,其特征在于,
当所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成时,所述存储设备发送的保留值与预设的数据标识匹配指所述存储设备发送的保留值与所述预设的数据的标识符一一对应相同;
当所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成时,所述存储设备发送的保留值与预设的数据标识匹配指所述存储设备发送的保留值与所述预设的数据的比特数相同,且最高位的比特与所述预设数据的预设标识符相同。
5.根据权利要求1-4任一项所述的数据失效的处理方法,其特征在于,所述预设的失效数据处理策略包含下述策略:
第一策略:若所述待读取数据对失效不敏感,则将所述存储设备发送的数据当做正常的数据处理;
第二策略:若所述待读取数据可以丢弃,则丢弃所述存储设备发送的数据;
第三策略:若所述待读取数据存在备份数据,则利用备份数据替换所述存储设备发送的数据;
第四策略:若所述待读取数据通过复位进程可恢复,则利用复位进程来恢复所述存储设备发送的数据;
第五策略:若所述待读取数据只能通过复位设备才可恢复,则通过复位设备来恢复所述存储设备发送的数据。
6.根据权利要求5所述的数据失效的处理方法,其特征在于,所述根据预设的失效数据处理策略对所述存储设备发送的数据作出相应的处理包括:优选使用所述第一策略处理所述存储设备发送的数据;若所述第一策略不适用,则优选使用所述第二策略处理所述存储设备发送的数据;若所述第二策略不适用,则优选使用所述第三策略处理所述存储设备发送的数据;若所述第三策略不适用,则使用所述第四策略处理所述存储设备发送的数据;若所述第四策略不适用,则使用所述第五策略处理所述存储设备发送的数据。
7.根据权利要求1所述的数据失效的处理方法,其特征在于,所述方法还包括:
接收所述存储设备因所述待读取数据失效而发送的异常命令,所述异常命令包括失效的所述待读取数据的地址信息;
对失效的所述待读取数据的地址进行统计,并将失效次数超过预设阈值的地址隔离。
8.一种数据失效的处理方法,其特征在于,包括:
接收处理器发送的读请求,所述读请求包含待读取数据的地址信息;
根据所述待读取数据的地址信息查找所述待读取数据;
若判断所述待读取数据失效,则将所述待读取数据修改为保留值并发送给所述处理器,以使得所述处理器在判断所述保留值满足预设的数据失效条件后,根据预设的失效数据处理策略对所述保留值作出相应的处理。
9.根据权利要求8所述的数据失效的处理方法,其特征在于,所述满足所述处理器内预设的数据失效条件指:
与所述处理器内预设的数据标识匹配,所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成;
或者,所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成。
10.根据权利要求9所述的数据失效的处理方法,其特征在于,
若判断所述待读取数据失效,则将所述待读取数据修改为保留值包括:
当所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成时,若判断所述待读取数据失效,存储设备将所述待读取数据修改为与所述预设的数据的标识符一一对应相同的保留值;
当所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成时,若判断所述待读取数据失效,存储设备将所述待读取数据修改为与所述预设的数据的比特数相同,最高位的比特与所述预设数据的预设标识符相同的保留值。
11.根据权利要求8-10任一项所述的数据失效的处理方法,其特征在于,所述方法还包括:
若判断所述待读取数据失效,则向所述处理器发送一个异常命令,所述异常命令包括失效的所述待读取数据的地址信息,以使得所述处理器对失效的所述待读取数据的地址进行统计,并将失效次数超过预设阈值的地址隔离。
12.一种处理器,其特征在于,包括:
发送单元,用于向存储设备发送读请求,所述读请求包含待读取数据的地址信息,以使得所述存储设备根据所述待读取数据的地址信息查找所述待读取数据;
第一接收单元,用于接收所述存储设备因所述待读取数据失效而发送的保留值;
处理单元,用于若判断所述存储设备发送的保留值满足预设的数据失效条件,则根据预设的失效数据处理策略对所述存储设备发送的保留值作出相应的处理。
13.根据权利要求12所述的处理器,其特征在于,还包括:
判断单元,用于判断所述存储设备发送的保留值是否与预设的数据标识匹配,若匹配,则判断所述存储设备发送的保留值满足预设的数据失效条件。
14.根据权利要求13所述的处理器,其特征在于,所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成;
或者,所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成。
15.根据权利要求14所述的处理器,其特征在于,所述判断单元还用于:
当所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成时,若确定所述存储设备发送的保留值与所述预设的数据的标识符一一对应相同,则判断所述存储设备发送的保留值与预设的数据标识匹配;
当所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成时,若确定所述存储设备发送的保留值与所述预设的数据的比特数相同,且最高位的比特与所述预设数据的预设标识符相同,则判断所述存储设备发送的保留值与预设的数据标识匹配。
16.根据权利要求12-14任一项所述的处理器,其特征在于,所述预设的失效数据处理策略包含下述策略:
第一策略:若所述待读取数据对失效不敏感,则将所述存储设备发送的数据当做正常的数据处理;
第二策略:若所述待读取数据可以丢弃,则丢弃所述存储设备发送的数据;
第三策略:若所述待读取数据存在备份数据,则利用备份数据替换所述存储设备发送的数据;
第四策略:若所述待读取数据通过复位进程可恢复,则利用复位进程来恢复所述存储设备发送的数据;
第五策略:若所述待读取数据只能通过复位设备才可恢复,则通过复位设备来恢复所述存储设备发送的数据。
17.根据权利要求16所述的处理器,其特征在于,所述处理单元还用于:优选使用所述第一策略处理所述存储设备发送的数据;若所述第一策略不适用,则优选使用所述第二策略处理所述存储设备发送的数据;若所述第二策略不适用,则优选使用所述第三策略处理所述存储设备发送的数据;若所述第三策略不适用,则使用所述第四策略处理所述存储设备发送的数据;若所述第四策略不适用,则使用所述第五策略处理所述存储设备发送的数据。
18.根据权利要求12所述的处理器,其特征在于,所述处理器还包括:
第二接收单元,用于接收所述存储设备因所述待读取数据失效而发送的异常命令,所述异常命令包括失效的所述待读取数据的地址信息;
统计隔离单元,用于对失效的所述待读取数据的地址进行统计,并将失效次数超过预设阈值的地址隔离。
19.一种存储设备,其特征在于,包括:
接收单元,用于接收处理器发送读请求,所述读请求包含待读取数据的地址信息;
查找单元,用于根据所述待读取数据的地址信息查找所述待读取数据;
判断单元,用于判断所述待读取数据是否失效;
修改单元,用于在所述判断单元判断所述待读取数据失效后,将所述待读取数据修改为保留值;
第一发送单元,用于将所述修改单元修改的保留值发送给所述处理器,以使得所述处理器在判断所述存储设备发送的保留值满足预设的数据失效条件后,根据预设的失效数据处理策略对所述保留值作出相应的处理。
20.根据权利要求19所述的存储设备,其特征在于,所述满足所述处理器内预设的数据失效条件指:
与所述处理器内预设的数据标识匹配,所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成;
或者,所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成。
21.根据权利要求20所述的存储设备,其特征在于,所述修改单元还用于:
当所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成时,在所述判断单元判断所述待读取数据失效后,将所述待读取数据修改为与所述预设的数据的标识符一一对应相同的保留值;
当所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成时,在所述判断单元判断所述待读取数据失效后,将所述待读取数据修改为与所述预设的数据的比特数相同,最高位的比特与所述预设数据的预设标识符相同的保留值。
22.根据权利要求19-21任一项所述的存储设备,其特征在于,所述设备还包括:
第二发送单元,用于在所述判断单元判断所述待读取数据失效后,向所述处理器发送一个异常命令,所述异常命令包括失效的所述待读取数据的地址信息,以使得所述处理器对失效的所述待读取数据的地址进行统计,并将失效次数超过预设阈值的地址隔离。
23.一种数据异常处理系统,包括:
处理器,用于向存储设备发送读请求,所述读请求包含待读取数据的地址信息;接收所述存储设备因所述待读取数据失效而发送的保留值;在判断所述存储设备发送的保留值满足预设的数据失效条件后,根据预设的失效数据处理策略对所述存储设备发送的保留值作出相应的处理;
存储设备,用于接收处理器发送的读请求,所述读请求包含待读取数据的地址信息;根据所述待读取数据的地址信息查找所述待读取数据;在判断所述待读取数据失效后,将所述待读取数据修改为保留值并发送给所述处理器。
24.根据权利要求23所述的数据异常处理系统,其特征在于,所述保留值满足所述处理器内预设的数据失效条件指:
所述保留值与所述处理器内预设的数据标识匹配。
25.根据权利要求23或24所述的数据异常处理系统,其特征在于,
所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成;
或者,所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成;
相应的,
当所述预设的数据标识由与所述待读取数据相同字节个数的标识符组成时,所述存储设备发送的保留值与预设的数据标识匹配指所述存储设备发送的保留值与所述预设的数据的标识符一一对应相同;
当所述预设的数据标识比所述待读取数据多一个比特,且最高位的比特由预设的标识符组成时,所述存储设备发送的保留值与预设的数据标识匹配指所述存储设备发送的保留值与所述预设的数据的比特数相同,且最高位的比特与所述预设数据的预设标识符相同。
26.根据权利要求23或24所述的数据异常处理系统,其特征在于,所述预设的失效数据处理策略包含下述策略:
第一策略:若所述待读取数据对失效不敏感,则将所述存储设备发送的数据当做正常的数据处理;
第二策略:若所述待读取数据可以丢弃,则丢弃所述存储设备发送的数据;
第三策略:若所述待读取数据存在备份数据,则利用备份数据替换所述存储设备发送的数据;
第四策略:若所述待读取数据通过复位进程可恢复,则利用复位进程来恢复所述存储设备发送的数据;
第五策略:若所述待读取数据只能通过复位设备才可恢复,则通过复位设备来恢复所述存储设备发送的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210222813.6A CN103514058B (zh) | 2012-06-29 | 2012-06-29 | 一种数据失效的处理方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210222813.6A CN103514058B (zh) | 2012-06-29 | 2012-06-29 | 一种数据失效的处理方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103514058A CN103514058A (zh) | 2014-01-15 |
CN103514058B true CN103514058B (zh) | 2016-06-15 |
Family
ID=49896827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210222813.6A Active CN103514058B (zh) | 2012-06-29 | 2012-06-29 | 一种数据失效的处理方法、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514058B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7240178B2 (en) * | 2001-07-25 | 2007-07-03 | Sony Corporation | Non-volatile memory and non-volatile memory data rewriting method |
CN101154171A (zh) * | 2006-09-29 | 2008-04-02 | 富士通株式会社 | 错误处理方法和信息处理装置 |
CN101253485A (zh) * | 2005-08-30 | 2008-08-27 | 罗伯特·博世有限公司 | 存储装置及其运行方法 |
CN101866698A (zh) * | 2009-04-15 | 2010-10-20 | 通用汽车环球科技运作公司 | 使用纠错编码电路的安全闪存 |
-
2012
- 2012-06-29 CN CN201210222813.6A patent/CN103514058B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7240178B2 (en) * | 2001-07-25 | 2007-07-03 | Sony Corporation | Non-volatile memory and non-volatile memory data rewriting method |
CN101253485A (zh) * | 2005-08-30 | 2008-08-27 | 罗伯特·博世有限公司 | 存储装置及其运行方法 |
CN101154171A (zh) * | 2006-09-29 | 2008-04-02 | 富士通株式会社 | 错误处理方法和信息处理装置 |
CN101866698A (zh) * | 2009-04-15 | 2010-10-20 | 通用汽车环球科技运作公司 | 使用纠错编码电路的安全闪存 |
Also Published As
Publication number | Publication date |
---|---|
CN103514058A (zh) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10019312B2 (en) | Error monitoring of a memory device containing embedded error correction | |
US9015558B2 (en) | Systems and methods for error detection and correction in a memory module which includes a memory buffer | |
US8627169B2 (en) | Method and apparatus for dynamically configurable multi level error correction | |
US8812931B2 (en) | Memory system with ECC-unit and further processing arrangement | |
US9430324B2 (en) | Memory repair method and apparatus based on error code tracking | |
US8429468B2 (en) | System and method to correct data errors using a stored count of bit values | |
US8327224B2 (en) | Data recovery in a solid state storage system | |
AU693056B2 (en) | A faulty tolerant queue system | |
US8381072B2 (en) | Cache memory, computer system and memory access method | |
US20160239663A1 (en) | Detecting a cryogenic attack on a memory device with embedded error correction | |
CN101681281A (zh) | 检测出现的坏块 | |
CN101359513A (zh) | 地址译码器故障的检测 | |
CN102339647B (zh) | 一种检错/纠错校验模块的检测方法及装置 | |
WO2012039983A1 (en) | Memory device with ecc history table | |
US10564866B2 (en) | Bank-level fault management in a memory system | |
CN109785893B (zh) | 用于验证存储器适当操作的错误纠正码校验位的冗余存储 | |
US8413018B2 (en) | Separate memories and address busses to store data and signature | |
US20110041030A1 (en) | Storage of data and signature formed from data and address in a memory | |
US20140281681A1 (en) | Error correction for memory systems | |
KR101512927B1 (ko) | 비휘발성 메모리의 페이지 관리 방법 및 장치 | |
CN103514058B (zh) | 一种数据失效的处理方法、设备及系统 | |
CN109710445B (zh) | 内存校正方法和电子设备 | |
US11108412B2 (en) | Memory systems and methods of correcting errors in the memory systems | |
US20070116044A1 (en) | Capture buffer, a network analyser, a network analyser card and a method of capturing network data | |
TW200539607A (en) | System and method for data redundancy checking and correcting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |