CN104461759B - 一种内存多位错误的处理方法及装置 - Google Patents

一种内存多位错误的处理方法及装置 Download PDF

Info

Publication number
CN104461759B
CN104461759B CN201410706744.5A CN201410706744A CN104461759B CN 104461759 B CN104461759 B CN 104461759B CN 201410706744 A CN201410706744 A CN 201410706744A CN 104461759 B CN104461759 B CN 104461759B
Authority
CN
China
Prior art keywords
physical address
source data
target process
computer system
memory
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
Application number
CN201410706744.5A
Other languages
English (en)
Other versions
CN104461759A (zh
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.)
Hangzhou Huawei Enterprises Communications Technologies Co Ltd
Original Assignee
Hangzhou Huawei Enterprises Communications Technologies 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 Hangzhou Huawei Enterprises Communications Technologies Co Ltd filed Critical Hangzhou Huawei Enterprises Communications Technologies Co Ltd
Priority to CN201410706744.5A priority Critical patent/CN104461759B/zh
Publication of CN104461759A publication Critical patent/CN104461759A/zh
Application granted granted Critical
Publication of CN104461759B publication Critical patent/CN104461759B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种内存多位错误的处理方法及装置,涉及计算机技术领域。为了解决现有技术中存在的当内存出现多bit错误时,计算机系统复位,计算机系统容错性差的问题而发明。其中,该方法包括:在计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个进程的物理地址,该文件信息用于指示进程的物理地址以及进程的源数据所在的物理地址;若进程的物理地址包括发生错误的多位中的至少一位,则将该进程确定为目标进程;获取每个目标进程所使用的源数据,该源数据为执行所述目标进程所需的初始数据;若源数据未被修改,则根据获取的源数据执行所述目标进程。本发明应用于计算机系统中内存错误处理的过程中。

Description

一种内存多位错误的处理方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种内存多位错误的处理方法及装置。
背景技术
随着计算机技术的发展,计算机的应用越来越广泛,同时对计算机系统的容错性要求越来越高。其中,容错性是指在故障存在的情况下计算机系统不失效,仍然能够正常工作的特性。目前,计算机系统中,单个内存存在的故障主要包括单位(bit)错误和多bit错误两种。
目前,上述内存故障的处理流程如图1所示,该方法包括:
S101:内存控制器检测到内存故障。
S102:内存控制器上报不可屏蔽中断(Non-Maskable Interrupt,简称NMI)或者是系统管理中断(System Manager Interrupt,简称SMI)。
S103:操作系统(Operating System,简称OS)或者基本输入输出系统(BasicInput Output System,简称BIOS)接收到中断后记录发生错误的通道和地址、判断是单bit错误还是多bit错误。如果该内存故障为单bit错误,则执行步骤S1041;如果该内存故障为多bit错误,则执行步骤S1042。
S1041:退出中断流程。
S1042:复位计算机系统。
由于当计算机系统出现多bit错误时系统复位,因此正常运行的进程会与出现错误的进程一同被挂起,导致正常运行的进程无法执行,影响系统容错性。综上,当内存出现多bit错误时,计算机系统复位,进而计算机系统的容错性差。
发明内容
本发明实施例提供一种内存多位错误的处理方法及装置,为了解决现有技术中存在的当内存出现多bit错误时,计算机系统复位,计算机系统容错性差的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明提供了一种内存多位错误的处理方法,该方法应用于计算机系统中,该方法包括:
在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址;
若所述进程的物理地址包括所述发生错误的多位中的至少一位,则将所述进程确定为目标进程;
获取每个所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据;
若所述源数据未被修改,则根据获取的所述源数据执行所述目标进程。
结合第一方面,在第一方面的第一种实现方式中,所述获取每个所述目标进程所使用的源数据,包括:
根据所述目标进程中包含的文件信息,查找到所述源数据所在的物理地址;
获取所述物理地址中存储的所述源数据。
结合第一方面或者第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述若所述进程的物理地址包括所述发生错误的多位中的至少一位,则将所述进程确定为目标进程之后,所述获取每个所述目标进程所使用的源数据之前,所述方法还包括:
挂起所述目标进程;
所述若所述源数据未被修改,则根据获取的所述源数据执行所述目标进程,包括:
若所述源数据未被修改,则将所述源数据保存至未发生错误的物理地址中,恢复所述目标进程,修改所述目标进程的物理地址信息,执行所述目标进程;所述物理地址信息用于指示所述源数据所在的所述物理地址。
结合第一方面的第二种实现方式,在第一方面的第三种实现方式中,
所述方法还包括:
若所述目标进程的源数据被修改,则复位计算机系统。
结合第一方面的第三种实现方式,在第一方面的第四种实现方式中,
所述内存包括操作系统OS管理区、非OS管理区以及内核代码区;
所述方法包括:
若发生错误的多位所在的区域为所述OS管理区或非OS管理区,则执行所述步骤在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址以及后续步骤;
若发生错误的多位所在的区域为所述内核代码区,且系统无法运行,则复位所述计算机系统。
第二方面,本发明还提供了一种内存多位错误的处理装置,所述装置应用于计算机系统中,所述内存包括操作系统OS管理区和非OS管理区,所述装置包括:
查找单元,用于在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址;
处理单元,用于当所述查找单元查找到的所述进程的物理地址包括所述发生错误的多位中的至少一位时,将所述进程确定为目标进程;
获取单元,用于获取每个所述处理单元确定的所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据;
执行单元,用于当所述获取单元获取的所述源数据未被修改时,根据所述源数据执行所述目标进程。
结合第二方面,在第二方面的第一种实现方式中,所述获取单元包括查找模块和获取模块,其中,
所述查找模块,用于根据所述目标进程中包含的文件信息,查找到所述源数据所在的物理地址;
所述获取模块,用于获取所述物理地址中存储的所述源数据。
结合第二方面或者第二方面的第一种实现方式,在第二方面的第二种实现方式中,
所述处理单元,还用于挂起所述目标进程;
所述执行单元,还用于当所述源数据未被修改时,将所述源数据保存至未发生错误的物理地址中,恢复所述目标进程,修改所述目标进程的物理地址信息,执行所述目标进程;所述物理地址信息用于指示所述源数据所在的所述物理地址。
结合第二方面的第二种实现方式,在第二方面的第三种实现方式中,
所述处理单元,还用于当所述目标进程的源数据被修改时,复位计算机系统。
结合第二方面的第三种实现方式,在第二方面的第四种实现方式中,
所述处理单元,还用于当发生错误的所述多位所在的区域为所述内核代码区,且系统无法运行时,复位计算机系统。
本发明实施例提供的一种内存多位错误的处理方法及装置,当发生的内存错误为多位错误时,轮询计算机系统中当前运行的每一个进程的物理地址,当进程的物理地址包含发生错误的多位中的至少一位时,获取执行该进程所需的初始数据,并且当该初始数据未被修改时,根据该初始数据执行该进程。与现有技术中,当计算机系统出现多位错误时,系统复位相比,本发明能够重新执行所有使用了发生错误的多位中的任一位,且其源数据未被修改的进程,避免系统复位,因而能够提高系统的容错性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中存在的内存故障的处理流程图;
图2为本发明实施例提供的一种内存多位错误的处理方法的流程图;
图3为本发明实施例提供的一种内存多位错误的处理装置的结构示意图;
图4为本发明实施例提供的又一种内存多位错误的处理装置的结构示意图;
图5为本发明实施例提供的再一种内存多位错误的处理装置的结构示意图。
具体实施方式
下面将结合本实施例中的附图,对本实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中存在的当内存出现多bit错误时,计算机系统复位,计算机系统容错性差的问题,本实施例提供了一种内存多位错误的处理方法,该方法应用于计算机系统中,具体的说,本方法应用于计算机系统中,更具体的说,本方法主要应用在Linux系统中。
本实施例提供的处理方法如图2所示,该方法包括:
S201:在计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址。
当发生的错误为内存多位错误时,本实施例通过查询进程链表,轮询当前计算机系统中的每一个进程,根据每一个进程所包含的文件信息,查找每一个进程的物理地址。一般而言,一个进程对应有多个file成员变量,也即上文提到的文件信息,每个file又对应有多个f_mapping结构,每个f_mapping结构包含指向有该进程的物理地址的指针信息。因而该查找每一个进程的物理地址过程具体包括:查找每一个进程所包含的file成员变量,通过file成员变量中的f_mapping结构,查找每一个进程的物理地址。
S202:若所述进程的物理地址包括所述发生错误的多位中的至少一位,则将所述进程确定为目标进程。
将每一个进程的物理地址与发生错误的多位的每一位的物理地址进行比较,当某一进程的物理地址包括发生错误的多位的至少一位的物理地址时,则表明该进程所使用的内存出现了内存错误,因而将该进程确定为目标进程,该目标进程为在不复位计算机系统的前提下,可能需要重新执行的进程。
由于计算机系统中当前运行的进程既包括系统进程也包括用户进程,且当前运行的进程的数量较多,因而使用了发生错误的位的目标进程的数量可能为多个,既可能为系统进程也可能为用户进程。本实施例中下述步骤S203为获取每一个目标进程的源数据的过程。
此外,在上述比较的过程中,除了需要查找每个进程的物理地址外,还需要确定发生错误的多位的每一位的物理地址以进行比较。本实施例中可通过内存错误检查和纠正(Error Checking and Correcting,ECC)算法判断是否发生多bit错误,该技术与现有的ECC算法相同,具体实现方式可参照现有的ECC算法;此外,当检测到多bit错误时,还需要获取相应的多bit错误的物理地址,该判断并获取发生错误的多位的物理地址的过程可在检测到内存多bit错误时一并进行,该过程也可参考现有技术,本实施例中不做赘述。
S203:获取每个所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据。
由于重启某一进程的过程中,需要使用该进程对应的源数据,根据上文所述,每一个进程的文件信息除了用于指示所述进程的物理地址,还用于指示所述进程的源数据所在的物理地址。因而在上述步骤确定了目标进程之后,本步骤为根据每个进程对应的文件信息获取每个目标进程对应的源数据的过程。
具体的,该过程包括:
1)查找目标进程使用的文件列表。
2)通过文件列表查找到文件的目录项(dentry)。
3)通过dentry中的d_inode找到文件的索引节点(inode)。其中,该d_inode指向相应的inode结构,inode里面包含文件所在的物理地址。
4)通过所述inode里面的物理地址,查找到目标进程的源文件。
所查找到的目标进程的源文件即为该目标进程的源数据。
S204:若所述源数据未被修改,则根据获取的所述源数据执行所述目标进程。
在步骤S203中获取了执行目标进程所需的源数据后,本实施例便可通过执行目标进程来重启目标进程,进而避免系统复位。
在Linux系统中,由于硬盘的读写速度远远低于内存的读写速度,因而为了提高读写速度,系统把读写比较频繁的数据先放到内存中,该过程即为高速缓存的过程。Linux系统中,高速缓存的单位为页,当进程修改了高速缓存里的数据时,该页就被内核标记为脏页,内核将会在合适的时间把脏页的数据写到磁盘中去,以保持高速缓存中的数据和磁盘中的数据的一致性。
为了实现在出现内存错误时,通过重启进程而保证系统不复位,本实施例采用的方法是通过获取目标进程的源数据,进而根据该源数据执行该目标进程。因而,本方法的应用前提是,该目标进程所使用的源数据未被修改。则在获取了目标进程的源数据后,本实施例仍然需要判断该源数据是否被修改,也即发生错误的多位中,每一位所在的页是否为脏页。
本实施例中,判断发生错误的多位所在的页是否为脏页的过程如下:
通过查看发生错误的多位的每一位所在的页的标志位,当其标志位为1时,表明该页为脏页,也即源数据被修改;当其标志位为0时,表明该页为非脏页,也即源数据未被修改。
当使用发生错误内存进程的源数据未被修改时,则根据获取的所述源数据执行所述目标进程。
本发明实施例提供的一种内存多位错误的处理方法,当发生的内存错误为多位错误时,轮询计算机系统中当前运行的每一个进程的物理地址,当进程的物理地址包含发生错误的多位中的至少一位时,获取执行该进程所需的初始数据,并且当该初始数据未被修改时,根据该初始数据执行该进程。与现有技术中,当计算机系统出现多位错误时,系统复位相比,本发明能够重新执行所有使用了发生错误的多位中的任一位,且其源数据未被修改的进程,避免系统复位,因而能够提高系统的容错性。
进一步的,作为图2所示方法的补充,上述步骤S202若所述进程的物理地址包括所述发生错误的多位中的至少一位,则将所述进程确定为目标进程之后,步骤S203获取每个所述目标进程所使用的源数据之前,本方法还包括:
挂起所述目标进程。
由于目标进程的物理地址包括发生错误的位,因而该目标进程无法正常运行,进而为了节约系统资源,当确定目标进程后,需要挂起目标进程。所指的挂起进程为在资源不足的情况下,操作系统将在内存中部分进程暂时调离出内存,当条件允许的时候,会被操作系统再次调回内存,重新进入等待被执行的状态即就绪状态。
相应的,步骤S204若所述源数据未被修改,则根据获取的所述源数据执行所述目标进程,包括:
若源数据未被修改,则将源数据保存至未发生错误的物理地址中,恢复所述目标进程,修改所述目标进程的物理地址信息,执行所述目标进程。其中,所述物理地址信息用于指示所述源数据所在的所述物理地址。
如果源数据未被修改,则表明该目标进程为可以根据源数据重新执行的进程,然而由于目标进程所使用的内存为发生了多位错误的内存,因而本步骤中,需要将源数据保存至其他未出错的内存区域中,并将该目标进程的挂起状态恢复为可执行的状态;同时修改该目标进程的物理地址信息,修改后的物理地址信息中所指向的物理地址为源数据所在的最新的物理地址,即所述未出错的内存区域所对应的物理地址;然后执行该目标进程。
进一步的,所述方法还包括:
若所述目标进程的源数据被修改,则复位计算机系统。
如果查找到的目标进程的源数据被修改,则无法获取源数据,因而无法重新执行该目标进程,本实施例中仅能复位计算机系统。
如上所述,只要使用了出错地址的进程的源数据未被修改,本实施例均能实现通过重新执行进程而避免计算机系统复位的目的;然而由于内存的不同区域所起的作用或者所运行的进程不同,因而本实施例中在应用上述方法时,当出现内存多bit错误时,本实施例中首先获取发生错误的多bit的物理地址;再根据该物理地址,判断该多bit错误发生的区域,提供与所述多bit错误发生的区域相应的处理方法,具体如下:
内存为计算机系统的重要组成部分,根据内存的物理地址的使用情况可以将内存分为内核代码区、OS管理区、非OS管理区,其中,内核代码区的物理地址专门用于存放内核代码;OS管理区的物理地址由内核或者用户进程使用;非OS管理区的物理地址由一组特定的进程使用。此外,内存中还存在出错区域,该出错区域为内存中的虚拟区域,仅仅是一个数据结构(日志),用来记录曾经发生多bit错误的物理内存地址。
当发生错误的多bit位于所述OS管理区或者非OS管理区时,执行所述步骤在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址以及后续步骤,也即上述步骤S201以及后续步骤。
当发生错误的多位所在的区域为所述内核代码区,而内核代码区出错可能会导致无法调用错误处理程序进而导致系统无法正常运行,因而,本实施例中,若发生错误的多位所在的区域为所述内核代码区,且系统无法正常运行时,则复位计算机系统。
作为上述各图所示方法的应用以及具体实现,本实施例还提供了一种内存多位错误的处理装置,该装置应用于计算机系统中,如图3所示,该装置包括:
查找单元301,用于在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址。
处理单元302,用于当所述查找单元301查找到的所述进程的物理地址包括所述发生错误的多位中的至少一位时,将所述进程确定为目标进程。
获取单元303,用于获取每个所述处理单元302确定的所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据。
执行单元304,用于当所述获取单元303获取的所述源数据未被修改时,根据所述源数据执行所述目标进程。
进一步的,如图4所示,获取单元303包括查找模块401和获取模块402,其中
查找模块401,用于根据目标进程中包含的文件信息,查找到所述源数据所在的物理地址。
获取模块402,用于获取查找模块401查找到的物理地址中存储的源数据。
进一步的,处理单元302,还用于挂起目标进程。
执行单元304,还用于当所述源数据未被修改时,将所述源数据保存至未发生错误的物理地址中,恢复目标进程,修改目标进程的物理地址信息,执行该目标进程;该物理地址信息用于指示所述源数据所在的所述物理地址。
进一步的,所述处理单元302,还用于当所述目标进程的源数据被修改时,复位计算机系统。
进一步的,所述处理单元302,还用于当发生错误的所述多位所在的区域为所述内核代码区,且系统无法运行时,复位计算机系统。
本发明实施例提供的一种内存多位错误的处理装置,当发生的内存错误为多位错误时,轮询计算机系统中当前运行的每一个进程的物理地址,当进程的物理地址包含发生错误的多位中的至少一位时,获取执行该进程所需的初始数据,并且当该初始数据未被修改时,根据该初始数据执行该进程。与现有技术中,当计算机系统出现多位错误时,系统复位相比,本发明能够重新执行所有使用了发生错误的多位中的任一位,且其源数据未被修改的进程,避免系统复位,因而能够提高系统的容错性。
作为上述各图所示方法的应用以及具体实现,本实施例还提供了一种内存多位错误的处理装置,该装置应用于计算机系统中,如图5所示,该装置包括:
处理器501,在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址;
当所述进程的物理地址包括所述发生错误的多位中的至少一位时,将所述进程确定为目标进程;
获取每个所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据;
当所述源数据未被修改时,根据获取的所述源数据执行所述目标进程。
进一步的,所述处理器501,还用于根据所述目标进程中包含的文件信息,查找到所述源数据所在的物理地址;
获取所述物理地址中存储的所述源数据。
进一步的,所述处理器501,还用于挂起所述目标进程;
当所述源数据未被修改时,将所述源数据保存至未发生错误的物理地址中,恢复所述目标进程,修改所述目标进程的物理地址信息,执行所述目标进程;所述物理地址信息用于指示所述源数据所在的所述物理地址。
进一步的,所述处理器501,还用于当所述目标进程的源数据被修改时,复位计算机系统。
进一步的,所述处理器501,还用于当发生错误的多位所在的区域为所述内核代码区,且系统无法运行时,复位计算机系统。
本发明实施例提供的一种内存多位错误的处理装置,当发生的内存错误为多位错误时,轮询计算机系统中当前运行的每一个进程的物理地址,当进程的物理地址包含发生错误的多位中的至少一位时,获取执行该进程所需的初始数据,并且当该初始数据未被修改时,根据该初始数据执行该进程。与现有技术中,当计算机系统出现多位错误时,系统复位相比,本发明能够重新执行所有使用了发生错误的多位中的任一位,且其源数据未被修改的进程,避免系统复位,因而能够提高系统的容错性。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (8)

1.一种内存多位错误的处理方法,其特征在于,所述方法应用于计算机系统中,所述方法包括:
在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址;
若所述进程的物理地址包括发生错误的多位中的至少一位,则将所述进程确定为目标进程;
挂起所述目标进程;
获取每个所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据;
若所述源数据未被修改,则根据获取的所述源数据执行所述目标进程,具体包括:若所述源数据未被修改,则将所述源数据保存至未发生错误的物理地址中,恢复所述目标进程,修改所述目标进程的物理地址信息,执行所述目标进程;所述物理地址信息用于指示所述源数据所在的所述物理地址。
2.根据权利要求1所述的内存多位错误的处理方法,其特征在于,所述获取每个所述目标进程所使用的源数据,包括:
根据所述目标进程中包含的文件信息,查找到所述源数据所在的物理地址;
获取所述物理地址中存储的所述源数据。
3.根据权利要求1所述的内存多位错误的处理方法,其特征在于,所述方法还包括:
若所述目标进程的源数据被修改,则复位所述计算机系统。
4.根据权利要求3所述的内存多位错误的处理方法,其特征在于,
所述内存包括操作系统OS管理区、非OS管理区以及内核代码区;
所述方法包括:
若发生错误的多位所在的区域为所述OS管理区或非OS管理区,则执行所述步骤在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址以及后续步骤;
若发生错误的多位所在的区域为所述内核代码区,且系统无法运行,则复位所述计算机系统。
5.一种内存多位错误的处理装置,其特征在于,所述装置应用于计算机系统中,所述装置包括:
查找单元,用于在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址;
处理单元,用于当所述查找单元查找到的所述进程的物理地址包括发生错误的多位中的至少一位时,将所述进程确定为目标进程;所述处理单元,还用于挂起所述目标进程;
获取单元,用于获取每个所述处理单元确定的所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据;
执行单元,用于当所述获取单元获取的所述源数据未被修改时,根据所述源数据执行所述目标进程,具体包括:
当所述源数据未被修改时,将所述源数据保存至未发生错误的物理地址中,恢复所述目标进程,修改所述目标进程的物理地址信息,执行所述目标进程;所述物理地址信息用于指示所述源数据所在的所述物理地址。
6.根据权利要求5所述的内存多位错误的处理装置,其特征在于,所述获取单元包括查找模块和获取模块,其中,
所述查找模块,用于根据所述目标进程中包含的文件信息,查找到所述源数据所在的物理地址;
所述获取模块,用于获取所述物理地址中存储的所述源数据。
7.根据权利要求5所述的内存多位错误的处理装置,其特征在于,
所述处理单元,还用于当所述目标进程的源数据被修改时,复位所述计算机系统。
8.根据权利要求7所述的内存多位错误的处理装置,其特征在于,
所述处理单元,还用于当发生错误的所述多位所在的区域为内核代码区,且系统无法运行时,复位所述计算机系统。
CN201410706744.5A 2014-11-27 2014-11-27 一种内存多位错误的处理方法及装置 Active CN104461759B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410706744.5A CN104461759B (zh) 2014-11-27 2014-11-27 一种内存多位错误的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410706744.5A CN104461759B (zh) 2014-11-27 2014-11-27 一种内存多位错误的处理方法及装置

Publications (2)

Publication Number Publication Date
CN104461759A CN104461759A (zh) 2015-03-25
CN104461759B true CN104461759B (zh) 2018-05-11

Family

ID=52907856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410706744.5A Active CN104461759B (zh) 2014-11-27 2014-11-27 一种内存多位错误的处理方法及装置

Country Status (1)

Country Link
CN (1) CN104461759B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445720A (zh) * 2016-10-11 2017-02-22 郑州云海信息技术有限公司 一种内存错误恢复方法和装置
CN107220181B (zh) * 2017-06-16 2020-01-14 瑞斯康达科技发展股份有限公司 一种异常进程定位方法、装置及系统
CN109614344A (zh) * 2018-12-12 2019-04-12 浪潮(北京)电子信息产业有限公司 一种缓存空间回收方法、装置、设备以及存储系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102356384A (zh) * 2011-08-23 2012-02-15 华为技术有限公司 一种检测数据可靠性的方法和装置
CN102411519A (zh) * 2011-09-08 2012-04-11 曙光信息产业股份有限公司 进程的恢复方法和装置
CN103631721A (zh) * 2012-08-23 2014-03-12 华为技术有限公司 一种隔离内存中坏块的方法及系统
WO2014051550A1 (en) * 2012-09-25 2014-04-03 Hewlett-Packard Development Company, L.P. Notification of address range including non-correctable error

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201222254A (en) * 2010-11-26 2012-06-01 Inventec Corp Method for protecting data in damaged memory cells by dynamically switching memory mode

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102356384A (zh) * 2011-08-23 2012-02-15 华为技术有限公司 一种检测数据可靠性的方法和装置
CN102411519A (zh) * 2011-09-08 2012-04-11 曙光信息产业股份有限公司 进程的恢复方法和装置
CN103631721A (zh) * 2012-08-23 2014-03-12 华为技术有限公司 一种隔离内存中坏块的方法及系统
WO2014051550A1 (en) * 2012-09-25 2014-04-03 Hewlett-Packard Development Company, L.P. Notification of address range including non-correctable error

Also Published As

Publication number Publication date
CN104461759A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
US10693961B2 (en) Data driven backup policy for data-centers and applications
EP3652640B1 (en) Method for dirty-page tracking and full memory mirroring redundancy in a fault-tolerant server
US9747207B2 (en) Crash-proof cache data protection method and system
US8732411B1 (en) Data de-duplication for information storage systems
US7895477B2 (en) Resilience to memory errors with firmware assistance
US20180107605A1 (en) Computing apparatus and method with persistent memory
US9146818B2 (en) Memory degeneracy method and information processing device
US8799595B1 (en) Eliminating duplicate data in storage systems with boot consolidation
CN106919477B (zh) 一种虚拟磁盘的解析方法及系统
CN102356384A (zh) 一种检测数据可靠性的方法和装置
US12013758B2 (en) Methods and systems for power failure resistance for a distributed storage system
US9063854B1 (en) Systems and methods for cluster raid data consistency
CN104461759B (zh) 一种内存多位错误的处理方法及装置
CN109753378A (zh) 一种内存故障的隔离方法、装置、系统及可读存储介质
US7953914B2 (en) Clearing interrupts raised while performing operating system critical tasks
US10262023B1 (en) Managing data inconsistencies in file systems
CN101901174A (zh) 基于代码段多副本对比机制提高程序可靠性方法
US7673082B2 (en) Method and system to determine device criticality for hot-plugging in computer configurations
US11086649B2 (en) Minimizing downtime of highly available virtual machines
US10599530B2 (en) Method and apparatus for recovering in-memory data processing system
US8195981B2 (en) Memory metadata used to handle memory errors without process termination
US8255642B2 (en) Automatic detection of stress condition
CN115858211A (zh) 机器检查错误的处理方法及装置
US9268644B1 (en) Systems and methods for raid acceleration
WO2014024279A1 (ja) メモリ障害リカバリ装置、方法、及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant