专利名称:计算机及其内存运行错误时的重启方法
技术领域:
本发明涉及一种计算机及其内存运行错误时的重启方法。
背景技术:
在高阶的服务器中,都会有多信道的内存供CPU访问。然而,对于集成北桥功能的 CPU(即该CPU将内存控制与连接的功能从北桥移到了 CPU内部)在运行的过程中,若其中的某一个内存运行错误,CPU就会被挂住,从而导致整个系统瘫痪。在系统重启时,因该内存运行错误的存在,CPU不会使用其它信道上的内存,从而导致系统开不了机,造成整个系统因为内存的运行错误而停止工作。大型服务器长时间不开机将会带来灾难性的后果,如造成大量数据的丢失或者长时间不能提供应有的服务等
发明内容
鉴于以上内容,有必要提供一种计算机,可以在CPU上设置一个内存控制器,使 CPU在运行时不再访问运行错误的内存,从而避免计算机因内存运行错误而无法重启。鉴于以上内容,还有必要提供一种计算机内存运行错误时的重启方法,可以在CPU 上设置一个内存控制器,使CPU在运行时不再访问运行错误的内存,从而避免计算机因内存运行错误而无法重启。一种计算机,该计算机包括CPU,该CPU包括内存控制器,该内存控制器用于控制每个内存的运行,并记录每个内存在运行时的状态信息;BMC,用于创建一个读取函数,该读取函数用于读取CPU内部的内存控制器上所记录的运行错误的内存的状态信息,将所读取的运行错误的内存的状态信息保存到BMC内部的存储介质中;BIOS,用于当有内存运行错误需要重启计算机时,读取BMC内部的存储介质上所存储的运行错误的内存的状态信息, 以确定运行错误的内存,并设置CPU内部的内存控制器访问内存的控制指令,使CPU在运行时不再访问该运行错误的内存。一种计算机内存运行错误时的重启方法,该方法包括步骤BMC创建一个读取函数,该读取函数用于读取CPU内部的内存控制器上所记录的运行错误的内存的状态信息; BMC将所读取的运行错误的内存的状态信息保存到BMC内部的存储介质中;当有内存运行错误需要重启计算机时,BIOS读取BMC内部的存储介质上所存储的运行错误的内存的状态信息,以确定运行错误的内存;BIOS根据所确定的运行错误的内存,设置CPU内部的内存控制器访问内存的控制指令,使CPU在运行时不再访问该运行错误的内存。相较于现有技术,所述的计算机及其内存运行错误时的重启方法,可以在CPU上设置一个内存控制器,使CPU在运行时不再访问运行错误的内存,从而避免计算机因内存运行错误而无法重启。
图1是本发明计算机内存运行错误时的重启方法较佳实施例的硬件架构图。
图2是图1中所示计算机的内部结构图。图3是本发明计算机内存运行错误时的重启方法较佳实施例的流程图。主要元件符号说明
权利要求
1.一种计算机,其特征在于,该计算机包括CPU,该CPU包括内存控制器,该内存控制器用于控制每个内存的运行,并记录每个内存在运行时的状态信息;BMC,用于创建一个读取函数,该读取函数用于读取CPU内部的内存控制器上所记录的运行错误的内存的状态信息,将所读取的运行错误的内存的状态信息保存到BMC内部的存储介质中;及BIOS,用于当有内存运行错误需要重启计算机时,读取BMC内部的存储介质上所存储的运行错误的内存的状态信息,以确定运行错误的内存,并设置CPU内部的内存控制器访问内存的控制指令,使CPU在运行时不再访问该运行错误的内存。
2.如权利要求1所述的计算机,其特征在于,所述计算机为个人计算机或者服务器。
3.如权利要求1所述的计算机,其特征在于,所述的BMC的存储介质为EEPR0M。
4.如权利要求1所述的计算机,其特征在于,内存在运行时的状态信息包括内存的编号、内存的运行速度、内存颗粒数据深度和数据宽度、内存所在的插槽以及内存有运行错误时,该内存的编号、该内存产生错误的类型、该内存产生错误的日期。
5.一种计算机内存运行错误时的重启方法,其特征在于,该方法包括步骤BMC创建一个读取函数,该读取函数用于读取CPU内部的内存控制器上所记录的运行错误的内存的状态信息;BMC将所读取的运行错误的内存的状态信息保存到BMC内部的存储介质中;当有内存运行错误需要重启计算机时,BIOS读取BMC内部的存储介质上所存储的运行错误的内存的状态信息,以确定运行错误的内存;及BIOS根据所确定的运行错误的内存,设置CPU内部的内存控制器访问内存的控制指令,使CPU在运行时不再访问该运行错误的内存。
6.如权利要求5所述的一种计算机内存运行错误时的重启方法,其特征在于,所述计算机为个人计算机或者服务器。
7.如权利要求5所述的一种计算机内存运行错误时的重启方法,其特征在于,所述的 BMC的存储介质为EEPR0M。
8.如权利要求5所述的一种计算机内存运行错误时的重启方法,其特征在于,内存在运行时的状态信息包括内存的编号、内存的运行速度、内存颗粒数据深度和数据宽度、内存所在的插槽以及内存发生运行错误时,该内存的编号、该内存产生错误的类型、该内存产生错误的日期。
全文摘要
一种计算机内存运行错误时的重启方法,该方法包括步骤BMC创建一个读取函数,该读取函数用于读取CPU内部的内存控制器上所记录的运行错误的内存的状态信息;BMC将所读取的运行错误的内存的状态信息保存到BMC内部的存储介质中;当有内存运行错误需要重启计算机时,BIOS读取BMC内部的存储介质上所存储的运行错误的内存的状态信息,以确定运行错误的内存;BIOS根据所确定的运行错误的内存,设置CPU内部的内存控制器访问内存的控制指令,使CPU在运行时不再访问该运行错误的内存。利用本发明可以避免计算机内存有运行错误时而无法重启。
文档编号G06F11/00GK102385533SQ20101026671
公开日2012年3月21日 申请日期2010年8月30日 优先权日2010年8月30日
发明者张玉岗 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司