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

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

【技术领域】
[0001]本发明涉及计算机【技术领域】,尤其涉及一种内存多位错误的处理方法及装置。

【背景技术】
[0002]随着计算机技术的发展,计算机的应用越来越广泛,同时对计算机系统的容错性要求越来越高。其中,容错性是指在故障存在的情况下计算机系统不失效,仍然能够正常工作的特性。目前,计算机系统中,单个内存存在的故障主要包括单位(bit)错误和多bit错误两种。
[0003]目前,上述内存故障的处理流程如图1所示,该方法包括:
[0004]SlOl:内存控制器检测到内存故障。
[0005]S102:内存控制器上报不可屏蔽中断(Non-Maskable Interrupt,简称NMI)或者是系统管理中断(System Manager Interrupt,简称 SMI)。
[0006]S103:操作系统(Operating System,简称OS)或者基本输入输出系统(BasicInput Output System,简称B1S)接收到中断后记录发生错误的通道和地址、判断是单bit错误还是多bit错误。如果该内存故障为单bit错误,则执行步骤S1041 ;如果该内存故障为多bit错误,则执行步骤S1042。
[0007]S1041:退出中断流程。
[0008]S1042:复位计算机系统。
[0009]由于当计算机系统出现多bit错误时系统复位,因此正常运行的进程会与出现错误的进程一同被挂起,导致正常运行的进程无法执行,影响系统容错性。综上,当内存出现多bit错误时,计算机系统复位,进而计算机系统的容错性差。


【发明内容】

[0010]本发明实施例提供一种内存多位错误的处理方法及装置,为了解决现有技术中存在的当内存出现多bit错误时,计算机系统复位,计算机系统容错性差的问题。
[0011]为达到上述目的,本发明的实施例采用如下技术方案:
[0012]第一方面,本发明提供了一种内存多位错误的处理方法,该方法应用于计算机系统中,该方法包括:
[0013]在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址;
[0014]若所述进程的物理地址包括所述发生错误的多位中的至少一位,则将所述进程确定为目标进程;
[0015]获取每个所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据;
[0016]若所述源数据未被修改,则根据获取的所述源数据执行所述目标进程。
[0017]结合第一方面,在第一方面的第一种实现方式中,所述获取每个所述目标进程所使用的源数据,包括:
[0018]根据所述目标进程中包含的文件信息,查找到所述源数据所在的物理地址;
[0019]获取所述物理地址中存储的所述源数据。
[0020]结合第一方面或者第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述若所述进程的物理地址包括所述发生错误的多位中的至少一位,则将所述进程确定为目标进程之后,所述获取每个所述目标进程所使用的源数据之前,所述方法还包括:
[0021]挂起所述目标进程;
[0022]所述若所述源数据未被修改,则根据获取的所述源数据执行所述目标进程,包括:
[0023]若所述源数据未被修改,则将所述源数据保存至未发生错误的物理地址中,恢复所述目标进程,修改所述目标进程的物理地址信息,执行所述目标进程;所述物理地址信息用于指示所述源数据所在的所述物理地址。
[0024]结合第一方面的第二种实现方式,在第一方面的第三种实现方式中,
[0025]所述方法还包括:
[0026]若所述目标进程的源数据被修改,则复位计算机系统。
[0027]结合第一方面的第三种实现方式,在第一方面的第四种实现方式中,
[0028]所述内存包括操作系统OS管理区、非OS管理区以及内核代码区;
[0029]所述方法包括:
[0030]若发生错误的多位所在的区域为所述OS管理区或非OS管理区,则执行所述步骤在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址以及后续步骤;
[0031]若发生错误的多位所在的区域为所述内核代码区,且系统无法运行,则复位所述计算机系统。
[0032]第二方面,本发明还提供了一种内存多位错误的处理装置,所述装置应用于计算机系统中,所述内存包括操作系统OS管理区和非OS管理区,所述装置包括:
[0033]查找单元,用于在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址;
[0034]处理单元,用于当所述查找单元查找到的所述进程的物理地址包括所述发生错误的多位中的至少一位时,将所述进程确定为目标进程;
[0035]获取单元,用于获取每个所述处理单元确定的所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据;
[0036]执行单元,用于当所述获取单元获取的所述源数据未被修改时,根据所述源数据执行所述目标进程。
[0037]结合第二方面,在第二方面的第一种实现方式中,所述获取单元包括查找模块和获取模块,其中,
[0038]所述查找模块,用于根据所述目标进程中包含的文件信息,查找到所述源数据所在的物理地址;
[0039]所述获取模块,用于获取所述物理地址中存储的所述源数据。
[0040]结合第二方面或者第二方面的第一种实现方式,在第二方面的第二种实现方式中,
[0041]所述处理单元,还用于挂起所述目标进程;
[0042]所述执行单元,还用于当所述源数据未被修改时,将所述源数据保存至未发生错误的物理地址中,恢复所述目标进程,修改所述目标进程的物理地址信息,执行所述目标进程;所述物理地址信息用于指示所述源数据所在的所述物理地址。
[0043]结合第二方面的第二种实现方式,在第二方面的第三种实现方式中,
[0044]所述处理单元,还用于当所述目标进程的源数据被修改时,复位计算机系统。
[0045]结合第二方面的第三种实现方式,在第二方面的第四种实现方式中,
[0046]所述处理单元,还用于当发生错误的所述多位所在的区域为所述内核代码区,且系统无法运行时,复位计算机系统。
[0047]本发明实施例提供的一种内存多位错误的处理方法及装置,当发生的内存错误为多位错误时,轮询计算机系统中当前运行的每一个进程的物理地址,当进程的物理地址包含发生错误的多位中的至少一位时,获取执行该进程所需的初始数据,并且当该初始数据未被修改时,根据该初始数据执行该进程。与现有技术中,当计算机系统出现多位错误时,系统复位相比,本发明能够重新执行所有使用了发生错误的多位中的任一位,且其源数据未被修改的进程,避免系统复位,因而能够提高系统的容错性。

【专利附图】

【附图说明】
[0048]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0049]图1为现有技术中存在的内存故障的处理流程图;
[0050]图2为本发明实施例提供的一种内存多位错误的处理方法的流程图;
[0051]图3为本发明实施例提供的一种内存多位错误的处理装置的结构示意图;
[0052]图4为本发明实施例提供的又一种内存多位错误的处理装置的结构示意图;
[0053]图5为本发明实施例提供的再一种内存多位错误的处理装置的结构示意图。

【具体实施方式】
[0054]下面将结合本实施例中的附图,对本实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0055]为了解决现有技术中存在的当内存出现多bit错误时,计算机系统复位,计算机系统容错性差的问题,本实施例提供了一种内存多位错误的处理方法,该方法应用于计算机系统中,具体的说,本方法应用于计算机系统中,更具体的说,本方法主要应用在Linux系统中。
[0056]本实施例提供的处理方法如图2所示,该方法包括:
[0057]S201:在计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址。
[0058]当发生的错误为内存多位错误时,本实施例通过查询进程链表,轮询当前计算机系统中的每一个进程,根据每一个进程所包含的文件信息,查找每一个进程的物理地址。一般而言,一个进程对应有多个file成员变量,也即上文提到的文件信息,每个file又对应有多个f_mapping结构,每个f_mapping结构包含指向有该进程的物理地址的指针信息。因而该查找每一个进程的物理地址过程具体包括:查找每一个进程所包含的file成员变量,通过file成员变量中的f_mapping结构,查找每一个进程的物理地址。
[0059]S202:若所述进程的物理地址包括所述发生错误的多位中的至少一位,则将所述进程确定为目标进程。
[0060]将每一个进程的物理地址与发生错误的多位的每一位的物理地址进行比较,当某一进程的物理地址包括发生错误的多位的至少一位的物理地址时,则表明该进程所使用的内存出现了内存错误,因而将该进程确定为目标进程,该目标进程为在不复位计算机系统的前提下,可能需要重新执行的进程。
[0061]由于计算机系统中当前运行的进程既包括系统进程也包括用户进程,且当前运行的进程的数量较多,因而使用了发生错误的位的目标进程的数量可能为多个,既可能为系统进程也可能为用户进程。本实施例中下述步骤S203为获取每一个目标进程的源数据的过程。
[0062]此外,在上述比较的过程中,除了需要查找每个进程的物理地址外,还需要确定发生错误的多位的每一位的物理地址以进行比较。本实施例中可通过内存错误检查和纠正(Error Checking and Correcting,ECC)算法判断是否发生多bit错误,该技术与现有的ECC算法相同,具体实现方式可参照现有的ECC算法;此外,当检测到多bit错误时,还需要获取相应的多bit错误的物理地址,该判断并获取发生错误的多位的物理地址的过程可在检测到内存多bit错误时一并进行,该过程也可参考现有技术,本实施例中不做赘述。
[0063]S203:获取每个所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据。
[0064]由于重启某一进程的过程中,需要使用该进程对应的源数据,根据上文所述,每一个进程的文件信息除了用于指示所述进程的物理地址,还用于指示所述进程的源数据所在的物理地址。因而在上述步骤确定了目标进程之后,本步骤为根据每个进程对应的文件信息获取每个目标进程对应的源数据的过程。
[0065]具体的,该过程包括:
[0066]I)查找目标进程使用的文件列表。
[0067]2)通过文件列表查找到文件的目录项(dentry)。
[0068]3)通过dentry中的d_inode找到文件的索引节点(inode)。其中,该d_inode指向相应的inode结构,inode里面包含文件所在的物理地址。
[0069]4)通过所述inode里面的物理地址,查找到目标进程的源文件。
[0070]所查找到的目标进程的源文件即为该目标进程的源数据。
[0071]S204:若所述源数据未被修改,则根据获取的所述源数据执行所述目标进程。
[0072]在步骤S203中获取了执行目标进程所需的源数据后,本实施例便可通过执行目标进程来重启目标进程,进而避免系统复位。
[0073]在Linux系统中,由于硬盘的读写速度远远低于内存的读写速度,因而为了提高读写速度,系统把读写比较频繁的数据先放到内存中,该过程即为高速缓存的过程。Linux系统中,高速缓存的单位为页,当进程修改了高速缓存里的数据时,该页就被内核标记为脏页,内核将会在合适的时间把脏页的数据写到磁盘中去,以保持高速缓存中的数据和磁盘中的数据的一致性。
[0074]为了实现在出现内存错误时,通过重启进程而保证系统不复位,本实施例采用的方法是通过获取目标进程的源数据,进而根据该源数据执行该目标进程。因而,本方法的应用前提是,该目标进程所使用的源数据未被修改。则在获取了目标进程的源数据后,本实施例仍然需要判断该源数据是否被修改,也即发生错误的多位中,每一位所在的页是否为脏页。
[0075]本实施例中,判断发生错误的多位所在的页是否为脏页的过程如下:
[0076]通过查看发生错误的多位的每一位所在的页的标志位,当其标志位为I时,表明该页为脏页,也即源数据被修改;当其标志位为O时,表明该页为非脏页,也即源数据未被修改。
[0077]当使用发生错误内存进程的源数据未被修改时,则根据获取的所述源数据执行所述目标进程。
[0078]本发明实施例提供的一种内存多位错误的处理方法,当发生的内存错误为多位错误时,轮询计算机系统中当前运行的每一个进程的物理地址,当进程的物理地址包含发生错误的多位中的至少一位时,获取执行该进程所需的初始数据,并且当该初始数据未被修改时,根据该初始数据执行该进程。与现有技术中,当计算机系统出现多位错误时,系统复位相比,本发明能够重新执行所有使用了发生错误的多位中的任一位,且其源数据未被修改的进程,避免系统复位,因而能够提高系统的容错性。
[0079]进一步的,作为图2所示方法的补充,上述步骤S202若所述进程的物理地址包括所述发生错误的多位中的至少一位,则将所述进程确定为目标进程之后,步骤S203获取每个所述目标进程所使用的源数据之前,本方法还包括:
[0080]挂起所述目标进程。
[0081]由于目标进程的物理地址包括发生错误的位,因而该目标进程无法正常运行,进而为了节约系统资源,当确定目标进程后,需要挂起目标进程。所指的挂起进程为在资源不足的情况下,操作系统将在内存中部分进程暂时调离出内存,当条件允许的时候,会被操作系统再次调回内存,重新进入等待被执行的状态即就绪状态。
[0082]相应的,步骤S204若所述源数据未被修改,则根据获取的所述源数据执行所述目标进程,包括:
[0083]若源数据未被修改,则将源数据保存至未发生错误的物理地址中,恢复所述目标进程,修改所述目标进程的物理地址信息,执行所述目标进程。其中,所述物理地址信息用于指示所述源数据所在的所述物理地址。
[0084]如果源数据未被修改,则表明该目标进程为可以根据源数据重新执行的进程,然而由于目标进程所使用的内存为发生了多位错误的内存,因而本步骤中,需要将源数据保存至其他未出错的内存区域中,并将该目标进程的挂起状态恢复为可执行的状态;同时修改该目标进程的物理地址信息,修改后的物理地址信息中所指向的物理地址为源数据所在的最新的物理地址,即所述未出错的内存区域所对应的物理地址;然后执行该目标进程。
[0085]进一步的,所述方法还包括:
[0086]若所述目标进程的源数据被修改,则复位计算机系统。
[0087]如果查找到的目标进程的源数据被修改,则无法获取源数据,因而无法重新执行该目标进程,本实施例中仅能复位计算机系统。
[0088]如上所述,只要使用了出错地址的进程的源数据未被修改,本实施例均能实现通过重新执行进程而避免计算机系统复位的目的;然而由于内存的不同区域所起的作用或者所运行的进程不同,因而本实施例中在应用上述方法时,当出现内存多bit错误时,本实施例中首先获取发生错误的多bit的物理地址;再根据该物理地址,判断该多bit错误发生的区域,提供与所述多bit错误发生的区域相应的处理方法,具体如下:
[0089]内存为计算机系统的重要组成部分,根据内存的物理地址的使用情况可以将内存分为内核代码区、OS管理区、非OS管理区,其中,内核代码区的物理地址专门用于存放内核代码;os管理区的物理地址由内核或者用户进程使用;#os管理区的物理地址由一组特定的进程使用。此外,内存中还存在出错区域,该出错区域为内存中的虚拟区域,仅仅是一个数据结构(日志),用来记录曾经发生多bit错误的物理内存地址。
[0090]当发生错误的多bit位于所述OS管理区或者非OS管理区时,执行所述步骤在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址以及后续步骤,也即上述步骤S201以及后续步骤。
[0091]当发生错误的多位所在的区域为所述内核代码区,而内核代码区出错可能会导致无法调用错误处理程序进而导致系统无法正常运行,因而,本实施例中,若发生错误的多位所在的区域为所述内核代码区,且系统无法正常运行时,则复位计算机系统。
[0092]作为上述各图所示方法的应用以及具体实现,本实施例还提供了一种内存多位错误的处理装置,该装置应用于计算机系统中,如图3所示,该装置包括:
[0093]查找单元301,用于在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址。
[0094]处理单元302,用于当所述查找单元301查找到的所述进程的物理地址包括所述发生错误的多位中的至少一位时,将所述进程确定为目标进程。
[0095]获取单元303,用于获取每个所述处理单元302确定的所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据。
[0096]执行单元304,用于当所述获取单元303获取的所述源数据未被修改时,根据所述源数据执行所述目标进程。
[0097]进一步的,如图4所示,获取单元303包括查找模块401和获取模块402,其中
[0098]查找模块401,用于根据目标进程中包含的文件信息,查找到所述源数据所在的物理地址。
[0099]获取模块402,用于获取查找模块401查找到的物理地址中存储的源数据。
[0100]进一步的,处理单元302,还用于挂起目标进程。
[0101]执行单元304,还用于当所述源数据未被修改时,将所述源数据保存至未发生错误的物理地址中,恢复目标进程,修改目标进程的物理地址信息,执行该目标进程;该物理地址信息用于指示所述源数据所在的所述物理地址。
[0102]进一步的,所述处理单元302,还用于当所述目标进程的源数据被修改时,复位计算机系统。
[0103]进一步的,所述处理单元302,还用于当发生错误的所述多位所在的区域为所述内核代码区,且系统无法运行时,复位计算机系统。
[0104]本发明实施例提供的一种内存多位错误的处理装置,当发生的内存错误为多位错误时,轮询计算机系统中当前运行的每一个进程的物理地址,当进程的物理地址包含发生错误的多位中的至少一位时,获取执行该进程所需的初始数据,并且当该初始数据未被修改时,根据该初始数据执行该进程。与现有技术中,当计算机系统出现多位错误时,系统复位相比,本发明能够重新执行所有使用了发生错误的多位中的任一位,且其源数据未被修改的进程,避免系统复位,因而能够提高系统的容错性。
[0105]作为上述各图所示方法的应用以及具体实现,本实施例还提供了一种内存多位错误的处理装置,该装置应用于计算机系统中,如图5所示,该装置包括:
[0106]处理器501,在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址;
[0107]当所述进程的物理地址包括所述发生错误的多位中的至少一位时,将所述进程确定为目标进程;
[0108]获取每个所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据;
[0109]当所述源数据未被修改时,根据获取的所述源数据执行所述目标进程。
[0110]进一步的,所述处理器501,还用于根据所述目标进程中包含的文件信息,查找到所述源数据所在的物理地址;
[0111]获取所述物理地址中存储的所述源数据。
[0112]进一步的,所述处理器501,还用于挂起所述目标进程;
[0113]当所述源数据未被修改时,将所述源数据保存至未发生错误的物理地址中,恢复所述目标进程,修改所述目标进程的物理地址信息,执行所述目标进程;所述物理地址信息用于指示所述源数据所在的所述物理地址。
[0114]进一步的,所述处理器501,还用于当所述目标进程的源数据被修改时,复位计算机系统。
[0115]进一步的,所述处理器501,还用于当发生错误的多位所在的区域为所述内核代码区,且系统无法运行时,复位计算机系统。
[0116]本发明实施例提供的一种内存多位错误的处理装置,当发生的内存错误为多位错误时,轮询计算机系统中当前运行的每一个进程的物理地址,当进程的物理地址包含发生错误的多位中的至少一位时,获取执行该进程所需的初始数据,并且当该初始数据未被修改时,根据该初始数据执行该进程。与现有技术中,当计算机系统出现多位错误时,系统复位相比,本发明能够重新执行所有使用了发生错误的多位中的任一位,且其源数据未被修改的进程,避免系统复位,因而能够提高系统的容错性。
[0117]通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0118]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
【权利要求】
1.一种内存多位错误的处理方法,其特征在于,所述方法应用于计算机系统中,所述方法包括: 在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址; 若所述进程的物理地址包括所述发生错误的多位中的至少一位,则将所述进程确定为目标进程; 获取每个所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据; 若所述源数据未被修改,则根据获取的所述源数据执行所述目标进程。
2.根据权利要求1所述的内存多位错误的处理方法,其特征在于,所述获取每个所述目标进程所使用的源数据,包括: 根据所述目标进程中包含的文件信息,查找到所述源数据所在的物理地址; 获取所述物理地址中存储的所述源数据。
3.根据权利要求1或2所述的内存多位错误的处理方法,其特征在于,所述若所述进程的物理地址包括所述发生错误的多位中的至少一位,则将所述进程确定为目标进程之后,所述获取每个所述目标进程所使用的源数据之前,所述方法还包括: 挂起所述目标进程; 所述若所述源数据未被修改,则根据获取的所述源数据执行所述目标进程,包括: 若所述源数据未被修改,则将所述源数据保存至未发生错误的物理地址中,恢复所述目标进程,修改所述目标进程的物理地址信息,执行所述目标进程;所述物理地址信息用于指示所述源数据所在的所述物理地址。
4.根据权利要求3所述的内存多位错误的处理方法,其特征在于,所述方法还包括: 若所述目标进程的源数据被修改,则复位所述计算机系统。
5.根据权利要求4所述的内存多位错误的处理方法,其特征在于, 所述内存包括操作系统OS管理区、非OS管理区以及内核代码区; 所述方法包括: 若发生错误的多位所在的区域为所述OS管理区或非OS管理区,则执行所述步骤在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址以及后续步骤; 若发生错误的多位所在的区域为所述内核代码区,且系统无法运行,则复位所述计算机系统。
6.一种内存多位错误的处理装置,其特征在于,所述装置应用于计算机系统中,所述装置包括: 查找单元,用于在所述计算机系统当前运行的所有进程中,根据每一个进程包含的文件信息,查找每一个所述进程的物理地址,所述文件信息用于指示所述进程的物理地址以及所述进程的源数据所在的物理地址; 处理单元,用于当所述查找单元查找到的所述进程的物理地址包括所述发生错误的多位中的至少一位时,将所述进程确定为目标进程; 获取单元,用于获取每个所述处理单元确定的所述目标进程所使用的源数据,所述源数据为执行所述目标进程所需的初始数据; 执行单元,用于当所述获取单元获取的所述源数据未被修改时,根据所述源数据执行所述目标进程。
7.根据权利要求6所述的内存多位错误的处理装置,其特征在于,所述获取单元包括查找模块和获取模块,其中, 所述查找模块,用于根据所述目标进程中包含的文件信息,查找到所述源数据所在的物理地址; 所述获取模块,用于获取所述物理地址中存储的所述源数据。
8.根据权利要求6或7所述的内存多位错误的处理装置,其特征在于, 所述处理单元,还用于挂起所述目标进程; 所述执行单元,还用于当所述源数据未被修改时,将所述源数据保存至未发生错误的物理地址中,恢复所述目标进程,修改所述目标进程的物理地址信息,执行所述目标进程;所述物理地址信息用于指示所述源数据所在的所述物理地址。
9.根据权利要求8所述的内存多位错误的处理装置,其特征在于, 所述处理单元,还用于当所述目标进程的源数据被修改时,复位所述计算机系统。
10.根据权利要求9所述的内存多位错误的处理装置,其特征在于, 所述处理单元,还用于当发生错误的所述多位所在的区域为所述内核代码区,且系统无法运行时,复位所述计算机系统。
【文档编号】G06F11/07GK104461759SQ201410706744
【公开日】2015年3月25日 申请日期:2014年11月27日 优先权日:2014年11月27日
【发明者】黄钰, 肖安睿 申请人:杭州华为企业通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1