CN103605591A - 一种终端***内存初始化的控制方法及装置 - Google Patents

一种终端***内存初始化的控制方法及装置 Download PDF

Info

Publication number
CN103605591A
CN103605591A CN201310616938.1A CN201310616938A CN103605591A CN 103605591 A CN103605591 A CN 103605591A CN 201310616938 A CN201310616938 A CN 201310616938A CN 103605591 A CN103605591 A CN 103605591A
Authority
CN
China
Prior art keywords
operation system
described terminal
internal memory
memory
zone bit
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
CN201310616938.1A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310616938.1A priority Critical patent/CN103605591A/zh
Publication of CN103605591A publication Critical patent/CN103605591A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例公开了一种终端***内存初始化的控制方法,包括:当终端的业务***上电时,从所述终端的嵌入式***中获取所述终端的业务***的内存自检的标志位;所述终端判断所述标志位是否为第一标志位或者第二标志位;若所述标志位为第一标志位,所述终端进行业务***的内存自检,并将内存自检结果发送至所述终端的嵌入式***存储;若所述标志位为第二标志位,所述终端从所述终端的嵌入式***中获取预存的所述终端的业务***的内存自检结果。本发明实施例还公开了一种终端。采用本发明,具有可缩短终端***内存初始化的时间,提高终端***的可用度的优点。

Description

一种终端***内存初始化的控制方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种终端***内存初始化的控制方法及装置。
背景技术
当前计算机***的内存初始化过程分为内存识别、内存Training(训练)、内存自检三个阶段,其中,内存Training和内存自检所占时间最长;此外,随着计算机***内存密度和容量的逐年增加,***内存Training和内存自检占用时间长的问题也日益凸显。***内存初始化时间长使得计算机***整体上电自检(Power On Self Test,POST)的时间变成,延长了***的故障恢复时间,从而降低了***可用度。
现有计算机***中处理器主要是以串行的方式存在(如图1),若***中存在N个处理器,每个处理器初始化需要的时间为T,则整个***内存初始化的时间则需要N*T,***的处理器越多,***内存初始化的时间则越长。为了加快***内存初始化过程,现有技术中主要通过将多处理器并行进行内存初始化的方式来加快***内存初始化的速度(如图2),若***中存储N个处理器,每个处理器初始化需要的时间为T,则整个***内存初始化的时间也为T,缩短内存初始化的时间。现有技术通过多处理器并行进行初始化的方法来缩短***初始化的时间,但单个处理器的初始化时间依然不变,随着单个处理器挂载的内存容量的增大,单个处理器内存初始化的时间也延长了,如此使得整个***的内存初始化时间也延长了。现有技术无法解决单个处理器内存初始化的时间,无法缩短***POST时间,若单个处理器内存初始化时间变长,则整个***内存初始化的时间也变长,***的故障恢复时间也延长,***的用户体验和可用度低。
发明内存
本发明实施例提供一种终端***内存初始化的控制方法及装置,可选择性地进行内存自检,缩短了***内存初始化的时间,缩短***上电自检的时间,提高***的可用度。
本发明实施例第一方面提供了一种终端***内存初始化的控制方法,其可包括:
当终端的业务***上电时,从所述终端的嵌入式***中获取所述终端的业务***的内存自检的标志位;
所述终端判断所述标志位是否为第一标志位或者第二标志位,所述第一标志位代表所述终端的业务***的内存状态变化超过预设的变化阈值,所述第二标志位代表所述终端的业务***的内存状态变化未超过预设的变化阈值;
若所述标志位为第一标志位,所述终端进行业务***的内存自检,并将内存自检结果发送至所述终端的嵌入式***存储;
若所述标志位为第二标志位,所述终端从所述终端的嵌入式***中获取预存的所述终端的业务***的内存自检结果。
结合第一方面,在第一种可能的实现方式中,所述终端的业务***上电为所述终端的业务***除第一次上电之外的任意一次上电。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述从所述终端的嵌入式***中获取所述终端的业务***的内存自检的标志位之前,包括:
当所述终端的业务***第一次上电时,所述终端对业务***内存进行内存自检,所述内存自检还包括内存训练;
所述终端将所述业务***的内存自检结果发送至所述终端的嵌入式***中存储。
本发明实施例第二方面还提供了一种终端***内存初始化的控制方法,其可包括:
终端接收所述终端的业务***发送的内存自检结果,并从所述终端的存储设备中获取内存状态数据;
所述终端根据获取到的所述终端的业务***的内存状态数据,和检测到的所述终端的业务***的内存状态变化数据,判断所述终端的业务***的内存状态变化是否超过预设的变化阈值;
若所述终端的业务***的内存状态变化超过预设的变化阈值,则将所述终端的业务***的内存自检的标志位设置为第一标志位;
若所述终端的业务***的内存状态变化未超过预设的变化阈值,则将所述终端的业务***的内存自检的标志位设置为第二标志位。
结合第二方面,在第一种可能的实现方式中,所述终端接收到的所述终端的业务***发送的内存自检结果包括:所述终端的业务***内存训练的结果和所述终端的业务***内存自检的结果。
结合第二方面或者第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述从所述终端的存储设备中获取内存状态数据,包括:
通过第一通道从所述终端的业务***上报的所述终端的存储设备的状态信息中获取所述终端的业务***的内存状态数据,所述内存状态数据存储于所述终端的存储设备;
其中,所述第一通道为所述终端的业务***与所述终端的嵌入式***的通信通道;
所述内存状态数据包括:所述终端的存储设备的串行在位检测SPD信息、所述终端的存储设备的内存配置信息中至少一种。
结合第二方面或第二方面第一种可能的实现方式,在第三种可能的实现方式中,所述从所述终端的存储设备中获取内存状态数据,包括:
通过第二通道从所述终端的存储设备中读取所述终端的业务***的内存状态数据;
其中,所述第二通道为所述终端的存储设备与所述终端的嵌入式***的通信通道;
所述内存状态数据包括:所述终端的存储设备的SPD信息、所述终端的存储设备的内存配置信息中至少一种。
结合第二方面第二种可能的实现方式或者第二方面第三种可能的实现方式,在第四种可能的实现方式中,所述终端的业务***的内存状态变化数据包括:所述终端的业务***的内存错误检测和纠正ECC数据、所述终端的业务***的内存环境温度变化数据、所述终端的业务***的内存电压变化数据中至少一种。
结合第二方面第四种可能的实现方式,在第五种可能的实现方式中,所述终端根据获取到的所述终端的业务***的内存状态数据,和检测到的所述终端的业务***的内存状态变化数据,判断所述终端的业务***的内存状态变化是否超过预设的变化阈值,包括:
所述终端根据所述终端的业务***的内存SPD信息或者内存配置信息判断所述终端的业务***的内存SPD或者内存配置变化是否超过预设的变化阈值;
所述终端根据所述终端的业务***的内存ECC数据、或者所述终端的业务***的内存环境温度变化数据、或者所述终端的业务***的内存电压变化数据判断所述终端的业务***的内存状态变化是否超过预设的变化阈值;
若所述终端的业务***的内存SPD或者内存配置变化超过预设的变化阈值,或者所述终端的业务***的内存ECC数据、所述终端的业务***的内存环境温度变化数据、所述终端的业务***的内存电压变化中任一项超过预设的变化阈值,则判定所述终端的业务***的内存状态变化超过预设的变化阈值。
本发明实施例第三方面提供了一种终端,其可包括:
获取模块,用于在终端的业务***上电时,从所述终端的嵌入式***中获取所述终端的业务***的内存自检的标志位;
判断模块,用于判断所述获取模块获取的标志位是否为第一标志位或者第二标志位,所述第一标志位代表所述终端的业务***的内存状态变化超过预设的变化阈值,所述第二标志位代表所述终端的业务***的内存状态变化未超过预设的变化阈值;
自检模块,用于在所述获取模块获取的标志位为第一标志位时,进行业务***的内存自检;
发送模块,用于将所述自检模块的内存自检结果发送至所述终端的嵌入式***存储;
所述获取模块,用于在所述获取模块获取的标志位为第二标志位,从所述终端的嵌入式***中获取预存的所述终端的业务***的内存自检结果。
结合第三方面,在第一种可能的实现方式中,所述终端的业务***上电为所述终端的业务***除第一次上电之外的任意一次上电。
结合第三方面第一种可能的实现方式,在第二种可能的实现方式中,所述自检模块,还用于在所述终端的业务***第一次上电时,对所述终端的业务***进行内存自检,所述内存自检还包括内存训练;
所述发送模块,还用于将所述终端的业务***的内存自检结果发送至所述终端的嵌入式***中存储。
本发明实施例第四方面提供了一种终端,其可包括:
获取模块,用于接收终端的业务***发送的内存自检结果,并从所述终端的存储设备中获取内存状态数据;
检测模块,用于检测所述终端的业务***的内存状态变化;
判断模块,用于根据所述获取模块获取的所述终端的业务***的内存状态数据,和所述检测模块检测到的所述终端的业务***的内存状态变化数据,判断所述终端的业务***的内存状态变化是否超过预设的变化阈值;
设置模块,用于在所述终端的业务***的内存状态变化超过预设的变化阈值时,将所述终端的业务***的内存自检的标志位设置为第一标志位,在所述终端的业务***的内存变化未超过预设的变化阈值时,将所述终端的业务***的内存自检的标志位设置为第二标志位。
结合第四方面,在第一种可能的实现方式中,所述获取模块获取到的所述终端的业务***发送的内存自检结果包括:所述终端的业务***内存训练的结果和所述终端的业务***内存自检的结果。
结合第四方面或者第四方面第一种可能的实现方式,在第二种可能的实现方式中,所述获取模块,具体用于:
通过第一通道从所述终端的业务***上报的所述终端的存储设备的状态信息中获取所述终端的业务***的内存状态数据,所述内存状态数据存储于所述终端的存储设备;
其中,所述第一通道为所述终端的业务***与所述终端的嵌入式***的通信通道;
所述内存状态数据包括:所述终端的存储设备的SPD信息、所述终端的存储设备的内存配置信息中至少一种。
结合第四方面或者第四方面第一种可能的实现方式,在第三种可能的实现方式中,所述获取模块,具体用于:
通过第二通道从所述终端的存储设备中读取所述终端的业务***的内存状态数据;
其中,所述第二通道为所述终端的存储设备与所述终端的嵌入式***的通信通道;
所述内存状态数据包括:所述终端的存储设备的SPD信息、所述终端的存储设备的内存配置信息中至少一种。
结合第四方面第二种可能的实现方式或第四方面第三种可能的实现方式,在第四种可能的实现方式中,所述获取模块获取到的所述终端的业务***的内存状态变化数据包括:所述终端的业务***的内存错误检测和纠正ECC数据、内存环境温度变化数据、内存电压变化数据中至少一种。
结合第四方面第四种可能的实现方式,在第五种可能的实现方式中,所述判断模块,包括:
第一判断单元,用于根据所述获取模块获取到的所述终端的业务***的内存SPD信息或者内存配置信息判断所述终端的业务***的内存SPD或者内存配置变化是否超过预设的变化阈值;
第二判断单元,用于根据所述获取模块获取到的所述终端的业务***的内存ECC数据、或者所述终端的业务***的内存环境温度变化数据、或者所述终端的业务***的内存电压变化数据判断所述终端的业务***的内存状态变化是否超过预设的变化阈值;
第三判断单元,用于在所述第一判断单元判断结果为是时,或者,所述第二判断单元判断结果为是时,判定所述终端的业务***的内存状态变化超过预设的变化阈值。
本发明实施例第五方面提供了一种终端***内存初始化的控制***,其可包括:本发明实施例第三方面提供的终端和本发明实施例第四方面提供的终端。
本发明实施例中所描述的方法可在终端的业务***上电时根据终端的嵌入式***中存储的业务***的内存自检的标志位判断是否进行业务***内存自检,可在业务***初始化时选择性地进行业务***内存自检,缩短了***内存初始化的时间,缩短***上电自检的手机,提高***的可用度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中终端***内存初始化的一结构示意图;
图2是现有技术中终端***内存初始化的另一结构示意图;
图3是本发明实施例提供的终端***内存初始化的控制方法的第一实施例流程示意图;
图4是本发明实施例提供的终端的第一实施例结构示意图;
图5是本发明实施例提供的终端***内存初始化的控制方法的第二实施例流程示意图;
图6是本发明实施例提供的终端的第二实施例结构示意图;
图7是本发明实施例提供的终端的判断模块的结构示意图;
图8是本发明实施例提供的终端***内存初始化的控制方法的第三实施例流程示意图
图9是本发明实施例提供的终端的第三实施例结构示意图;
图10是本发明实施例提供的终端***内存初始化的控制方法的交互示意图;
图11是本发明实施例提供的终端***内存初始化的控制***的实施例结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
具体实现中,本实施例中所描述的终端具体可为X86架构的计算机。当前X86架构的计算机***通常包括中央处理器(Central Processing Unit,CPU)、桥片、通用内存等,计算机***上电后可通过桥片加载基本输入输出***(BasicInput Output System,BIOS),然后进行自检,其中,自检过程包括CPU自身初始化、CPU间互联总线的初始化和检测、内存信息读取、内存Training、内存自检以及***组件互联表达(Peripheral Component Interconnect Express,PCIE)设备扫描等,其中,计算机***的整个内存初始化可分为内存识别、内存Training和内存自检三个阶段。具体的,上述计算机***初始化过程中内存Training和内存自检两个阶段所占用时间较长,内存Training和内存自检可占用***内存初始化的一半以上的时间,故此,若计算机***的内存Training和内存自检时间变长,计算机***整体的上电自检的时间则增长,进而延长了计算机***的故障恢复时间,降低了***可用度,只有缩短***内存Training和内存自检的时间才能缩短计算机***内存初始化的时长,提高***的可用度。
参见图3,是本发明实施例提供的终端***内存初始化的控制方法的第一实施例流程示意图。本实施例中所描述的终端***内存初始化的控制方法,包括步骤:
S101,终端的业务***上电。
具体实现中,本实施例中所描述的终端具体可为具有X86架构的计算机,本发明实施例中所描述的业务***即为X86架构的计算机的带内***,主要用于运行业务操作***和业务软件。在一些可行的实施方式中,上述计算机的业务***上电为计算机的业务***重启,或者下电后再上电,即计算机的业务***除第一次上电之外的任意一次上电,其中,计算机的业务***第一次上电可包括:计算机的业务***第一次上电(比如计算机第一次连接电源),或者计算机的业务***更换硬件设备后第一次上电。
S102,所述终端从所述终端的嵌入式***中获取所述终端的业务***的内存自检的标志位。
在一些可行的实施方式中,计算机的业务***第一次上电时可进行一次完整的内存自检,包括内存Training和内存自检,并将***内存自检的结果发送至计算机的嵌入式***中存储。具体实现中,上述计算机的嵌入式***具体可为在计算机的业务***中增加的一个实时嵌入式***,也可称为计算机的带外***,该嵌入式***可在X86架构计算机本身出现宕机等异常情况时,对计算机的业务***进行控制,可增强计算机的业务***的可管理性,提高计算机业务***的可用度。
在一些可行的实施方式中,计算机的业务***第一次上电时进行完整的内存自检之后,则可将内存自检的结果发送至计算机的嵌入式***,计算机的嵌入式***接收到业务***发送的内存自检结果之后,当计算机的业务***下电后再上电时,计算机的嵌入式***则可根据计算机业务***的内存自检结果设定相应的业务***内存自检的标志位。具体的,计算机的业务***上电自检时可自行上报业务***的存储设备的状态信息给嵌入式***,计算机的嵌入式***接收到业务***上报的信息之后则可从中获取计算机***的内存状态数据,例如,嵌入式***可根据业务***上报的数据获取业务***的双列直插式存储模块(Dual Inline Memory Modules,DIMM)的串行在位检测(Serial PresenceDetect,SPD)信息,嵌入式***还可根据业务***上报的数据获取业务***的DIMM槽及内存DIMM的序列号、内存数量、内存容量、内存生产厂家等内存配置信息。具体实现中,计算机的嵌入式***还可在业务***运行的过程中实时监测业务***的内存错误检查和纠正(Error Correcting Code,ECC)情况、业务***环境温度、业务***内存电压等信息的变化。嵌入式***通过业务***上报的业务***的数据获取到业务***的内存DIMM的SPD信息和内存配置信息之后,则可结合实时监测到的业务***的内存ECC数据、业务***的内存环境温度变化数据、业务***内存电压变化数据等信息判断业务***的内存配置或者业务***的运行环境、内存电压的变化幅度是否超过了预设的变化阈值(包括内存配置是否发生变化,或者内存配置、内存运行环境的变化幅度是否超过预设的幅度阈值),进而可根据判断的结果设定业务***是否需要进行内存Training和内存自检的标志位。具体的,当嵌入式***判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度超过预设的变化阈值时,则可判断得知业务***可能更换了硬件、或者运行的环境温度变化过大、或者运行的电压异常等,业务***需要重新进行一个完整的内存Training和内存自检,此时嵌入式***则可将业务***的内存自检的标志位设定为第一标志位;当嵌入式***判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度还未超过预设的变化阈值时,则可判断得知业务***可能没有更换硬件,或者运行的环境温度、或者运行的电压变化幅度处于合理范围内等,业务***无需重新进行完整的内存Training和内存自检,可直接跳过内存Training和内存自检,此时嵌入式***则可将业务***的内存自检的标志位设定为第二标志位,其中,上述第一标志位代表计算机的业务***的内存变化超过预设的变化阈值,上述第二标志位代表计算机的业务***的内存变化未超过预设的变化阈值。
在一些可行的实施方式中,业务***上电并进行POST阶段中的内存识别之后,则可通过第一通道从计算机的嵌入式***中读取业务***的内存自检的标志位,即业务***是否需要进行Training和内存自检的标志位,进而可根据从嵌入式***中读取的标志位判断是否进行内存Training和内存自检,其中,上述第一通道具体可为计算机的业务***和嵌入式***的通信通道。
S103,所述终端的业务***判断所述标志位是否为第一标志位或者第二标志位,若所述标志位为第一标志位,则执行步骤S104,若所述标志位为第二标志位,则执行步骤S105。
S104,所述终端进行业务***的内存自检,并将内存自检结果发送至所述终端的嵌入式***存储。
S105,所述终端从所述终端的嵌入式***中获取预存的所述终端的业务***的内存自检结果。
在一些可行的实施方式中,计算机从嵌入式***中读取计算机的业务***内存Training和内存自检的标志位之后,若判断得知获取到的标志位为第一标志位,则可判断得知业务***的内存ECC可能出现异常情况,或者业务***的内存配置变化了,计算机在业务***初始化时进行POST阶段的内存识别之后还需要重新进行业务***的内存Training和内存自检,并将内存自检结果发生至计算机的嵌入式***中存储,更新嵌入式***中存储的内存自检结果,以供业务***重启或者下一次上电时判断是否需要重新进行内存Training和内存自检参考。此外,计算机从嵌入式***中读取计算机的业务***内存Training和内存自检的标志位之后,若判断得知获取到的标志位为第二标志位,则可判断得知业务***的内存ECC正常,业务***的内存配置没有变化或者变化幅度未超过变化阈值,计算机业务***进行POST阶段中的内存识别之后则可直接从嵌入式***中获取预先存储的业务***上一次进行完整的内存Training和内存自检时保存的自检结果,进而可跳过内存Training和内存自检,完成内存初始化。例如,若本次上电是业务***第二次上电,计算机根据从计算机的嵌入式***中获取到的标志位判断得知上述标志位为第二标志位时,则可直接从嵌入式***中获取业务***第一次上电时进行内存Training和内存自检时保存的自检结果,跳过本次上电的内存Training和内存自检,缩短计算机的业务***的POST时间;若本次上电是业务***的第三次上电,并且业务***第二次上电时进行了完整的内存Training和内存自检并将自检结果保存在嵌入式***中,计算机根据从计算机的嵌入式***中获取到的标志位判断得知上述标志位为第二标志位时,则可直接从嵌入式***中获取业务***第二次上电时进行内存Training和内存自检时保存的自检结果;若本次上电是业务***的第三次上电,并且业务***第二次上电时无需进行完整的内存Training和内存自检,计算机根据从计算机的嵌入式***中获取到的标志位判断得知上述标志位为第二标志位时,则可直接从嵌入式***中获取业务***第一次上电时进行内存Training和内存自检时保存的自检结果;即若本次上电是业务***的第N次上电,则可直接从嵌入式***中获取业务***在本次上电之前更新的内存自检结果,进而可跳过本次上电的内存Training和内存自检,完成内存初始化,缩短业务***POST时间,缩短业务***的故障恢复时间,提高业务***可用度。
在本发明实施例中,计算机的业务***上电时可根据计算机的嵌入式***中存储的业务***的内存自检的标志位判断是否需要进行内存Training和内存自检,若业务***从嵌入式***中获取到的标志位为第一标识位,则需进行业务***内存Training和内存自检,并将自检结果更新至嵌入式***中,若业务***从嵌入式***中获取的标志位为第二标志位,则可直接从嵌入式***中获取内存Training和内存自检的结果,直接跳过业务***POST阶段的内存Training和内存自检过程,完成业务***内存初始化。在本发明实施例中业务***POST阶段可选择性的进行内存Training和内存自检,可缩短***内存初始化的时间和***故障恢复的时间,提高了***的可用度,增强了***的用户体验效果。
参见图4,是本发明实施例提供的终端的第一实施例结构示意图。本实施例中所描述的终端,包括:
获取模块10,用于在终端的业务***上电时,从所述终端的嵌入式***中获取所述终端的业务***的内存自检的标志位。
判断模块20,用于判断所述获取模块获取的标志位是否为第一标志位或者第二标志位,所述第一标志位代表所述终端的业务***的内存状态变化超过预设的变化阈值,所述第二标志位代表所述终端的业务***的内存状态变化未超过预设的变化阈值。
自检模块30,用于在所述获取模块获取的标志位为第一标志位时,进行业务***的内存自检。
发送模块40,用于将所述自检模块的内存自检结果发送至所述终端的嵌入式***存储。
所述获取模块10,用于在所述获取模块获取的标志位为第二标志位,从所述终端的嵌入式***中获取预存的所述终端的业务***的内存自检结果。
具体实现中,本实施例中所描述的终端可为具有X86架构的计算机,本实施例中所描述的终端中包括一个业务***和一个实时增加的嵌入式***,其中,上述业务***即为X86架构的计算机的带内***,主要用于运行业务操作***和业务软件。下面将以本实施例中所描述的计算机的业务***的角度来具体描述本实施例中所描述的终端。
在一些可行的实施方式中,获取模块10可在计算机的业务***上电时,从上述计算机的嵌入式***中获取上述计算机的业务***的内存自检的标志位,具体实现中,上述计算机的业务***上电为计算机的业务***重启,或者下电后上电,即计算机的业务***除第一次上电之外的任意一次上电,其中,计算机的业务***第一次上电可包括:计算机的业务***第一次上电(比如计算机第一次连接电源),或者计算机的业务***更换硬件设备后第一次上电。
在一些可行的实施方式中,上述自检模块30,还用于在所述终端的业务***第一次上电时,对所述终端的业务***进行内存自检,所述内存自检还包括内存训练;
上述发送模块40,还用于将所述终端的业务***的内存自检结果发送至所述终端的嵌入式***中存储。
在一些可行的实施方式中,上述自检模块30可在计算机的业务***第一次上电时进行一次完整的内存自检,包括内存Training和内存自检,并通过发送模块40将***内存自检的结果发送至计算机的嵌入式***中存储。具体实现中,上述计算机的嵌入式***具体可为在计算机的业务***中增加的一个实时嵌入式***,该嵌入式***可在X86架构计算机本身出现宕机等异常情况时,对计算机的业务***进行控制,可增强计算机的业务***的可管理性,提高计算机业务***的可用度。
在一些可行的实施方式中,自检模块30在计算机的业务***第一次上电时进行完整的内存自检之后,发送模块40则可将计算机的业务***的内存自检的结果发送至计算机的嵌入式***,计算机的嵌入式***接收到业务***的内存自检结果之后则可根据计算机***的内存自检结果设定相应的内存自检的标志位。具体的,计算机的业务***上电自检时可自行上报业务***的存储设备的状态信息给嵌入式***,嵌入式***接收到业务***上报的信息之后则可从中获取计算机***的内存状态数据,例如,嵌入式***可根据业务***上报的数据获取业务***的DIMM的SPD信息,嵌入式***还可根据业务***上报的数据获取业务***的DIMM槽及内存DIMM的序列号、内存数量、内存容量、内存生产厂家等内存配置信息。具体实现中,嵌入式***还可在业务***运行的过程中实时监测业务***的内存ECC情况、业务***环境温度、业务***内存电压等信息的变化。嵌入式***通过业务***上报的业务***的数据获取到业务***的内存DIMM的SPD信息和内存配置信息之后,则可结合其实时监测到的业务***的内存ECC数据、业务***的内存环境温度变化数据、业务***内存电压变化数据等信息判断业务***的内存配置或者业务***的运行环境、内存电压的变化幅度是否超过了预设的变化阈值(包括内存配置是否发生变化,或者内存配置、内存运行环境的变化幅度是否超过预设的幅度阈值),进而可根据判断的结果设定业务***是否需要进行内存Training和内存自检的标志位。具体的,当嵌入式***判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度超过预设的变化阈值时,则可判断得知业务***可能更换了硬件、或者运行的环境温度变化过大、或者运行的电压异常等,业务***需要重新进行一个完整的内存Training和内存自检,此时嵌入式***则可将业务***的内存自检的标志位设定为第一标志位;当嵌入式***判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度还未超过预设的变化阈值时,则可判断得知业务***可能没有更换硬件,或者运行的环境温度、或者运行的电压变化幅度处于合理范围内等,业务***无需重新进行完整的内存Training和内存自检,可直接跳过内存Training和内存自检,此时嵌入式***则可将业务***的内存自检的标志位设定为第二标志位,其中,上述第一标志位代表计算机的业务***的内存变化超过预设的变化阈值,上述第二标志位代表计算机的业务***的内存变化未超过预设的变化阈值。
在一些可行的实施方式中,计算机的业务***上电并进行POST阶段中的内存识别之后,获取模块10则可通过第一通道从计算机的嵌入式***中读取业务***的内存自检的标志位,即业务***是否需要进行Training和内存自检的标志位,判断模块20则可根据获取模块10从嵌入式***中读取的标志位判断是否进行内存Training和内存自检,其中,上述第一通道具体可为计算机的业务***和嵌入式***的通信通道。
在一些可行的实施方式中,获取模块10从计算机的嵌入式***中读取内存Training和内存自检的标志位之后,判断模块20则可根据获取模块10获取到的标志位判断是否为第一标志位或者第二标志位。若判断模块20判断得知获取模块10获取到的标志位为第一标志位,则可判断得知业务***的内存ECC可能出现异常情况,或者业务***的内存配置变化了,此时计算机进行了业务***POST阶段的内存识别之后还需要通过自检模块30进行内存Training和内存自检,并通过发送模块40将内存自检结果发生至嵌入式***中存储,更新嵌入式***中存储的内存自检结果,以供业务***重启或者下一次上电时判断是否需要重新进行内存Training和内存自检参考。此外,获取模块10从嵌入式***中读取内存Training和内存自检的标志位之后,若判断模块20判断得知获取模块10获取到的标志位为第二标志位,则可判断得知业务***的内存ECC正常,业务***的内存配置没有变化或者变化幅度未超过变化阈值,计算机进行业务***POST阶段中的内存识别之后则可通过获取模块10直接从嵌入式***中获取预先存储的业务***上一次进行完整的内存Training和内存自检时保存的自检结果,进而可跳过内存Training和内存自检,完成内存初始化。例如,若本次上电是计算机的业务***第二次上电,判断模块20判断得知获取模块获取到的标志位为第二标志位时,则可通过获取模块10直接从嵌入式***中获取业务***第一次上电时进行内存Training和内存自检时保存的自检结果,进而可跳过本次上电的内存Training和内存自检,缩短计算机的业务***的POST时间;若本次上电是计算机***的业务***的第三次上电,并且业务***第二次上电时进行了完整的内存Training和内存自检并将自检结果保存在嵌入式***中,判断模块20判断得知获取模块获取到的标志位为第二标志位时,则可通过获取模块10直接从嵌入式***中获取业务***第二次上电时进行内存Training和内存自检时保存的自检结果;若本次上电是计算机的业务***的第三次上电,并且业务***第二次上电时无需进行完整的内存Training和内存自检,判断模块20判断得知获取模块获取到的标志位为第二标志位时,则可通过获取模块10直接从嵌入式***中获取业务***第一次上电时进行内存Training和内存自检时保存的自检结果;即若本次上电是计算机的业务***的第N次上电,判断模块20判断得知获取模块获取到的标志位为第二标志位时,则可通过获取模块10直接从嵌入式***中获取业务***在本次上电之前更新的内存自检结果,进而可跳过本次上电的内存Training和内存自检,完成内存初始化,缩短业务***POST时间,缩短业务***的故障恢复时间,提高业务***可用度。
本发明实施例中所描述的计算机在计算机的业务***上电时可根据计算机的嵌入式***中存储的业务***的内存自检的标志位判断是否需要进行内存Training和内存自检,若业务***从嵌入式***中获取到的标志位为第一标识位,业务***则需进行内存Training和内存自检,并将自检结果更新至嵌入式***中,若业务***从嵌入式***中获取的标志位为第二标志位,业务***则可直接从嵌入式***中获取内存Training和内存自检的结果,直接跳过业务***POST阶段的内存Training和内存自检过程,完成业务***内存初始化。在本发明实施例中业务***POST阶段可选择性的进行内存Training和内存自检,可缩短***内存初始化的时间和***故障恢复的时间,提高了计算机***的可用度,增强了计算机***的用户体验效果。
参见图5,是本发明实施例提供的终端***内存初始化的控制方法的第二实施例流程示意图。本实施例中所描述的终端***内存初始化的控制方法,包括步骤:
S201,终端接收所述终端的业务***发送的内存自检结果,并从所述终端的存储设备中获取内存状态数据。
在一些可行的实施方式中,本实施例中所描述的终端具体可为X86架构计算机,上述计算机中包括一个业务***和一个嵌入式***,即本实施例中所描述的嵌入式***。本实施例中所描述的计算机的嵌入式***是在计算机的业务***中增加的一个实时嵌入式***,上述嵌入式***可在计算机的业务***出现宕机等异常情况时,对计算机的业务***进行控制,可增强X86架构计算机的可管理性,提高计算机业务***的可用度。
在一些可行的实施方式中,计算机的业务***第一次上电时可进行一次完整的内存Training和内存自检,并将内存Training和内存自检的内存自检结果发送至计算机的嵌入式***存储;此外,在计算机的使用过程中,当计算机的业务***重新进行内存Training和内存自检时,也可将内存自检结果发送至计算机的嵌入式***中存储,以更新上一次存储的内存自检结果。具体实现中,上述计算机的业务***第一次上电可包括:计算机的业务***第一次上电(比如计算机第一次连接电源),或者计算机的业务***更换硬件设备后第一次上电。
在一些可行的实施方式中,计算机接收到的计算机的业务***发送的内存自检结果可包括:计算机的业务***内存Training的结果和业务***内存自检的结果。具体实现中,计算机接收到计算机的业务***发送的业务***内存自检结果之后,还可通过第一通道从计算机的业务***上报的计算机的存储设备的状态信息中获取计算机的业务***的内存状态数据,其中,上述计算机的业务***的内存状态数据可包括计算机的DIMM的SPD信息、计算机的DIMM槽和内存的序列号、内存数量、内存容量、内存生产厂家等内存配置信息,上述各项信息可存储于计算机的存储设备(例如计算机的DIMM)中。具体实现中,上述第一通道具体可为计算机的业务***与计算机的嵌入式***的通信通道。
S202,终端检测所述终端的业务***的内存状态变化数据。
S203,终端判断所述终端的业务***的内存状态变化是否超过预设的变化阈值,若判断结果为是,则执行步骤S204,若判断结果为否,则执行步骤S205。
S204,将所述终端的业务***的内存自检的标志位设置为第一标志位。
S205,将所述终端的业务***的内存自检的标志位设置为第二标志位。
在一些可行的实施方式中,计算机的业务***进行完整的内存自检(包括内存识别、内存Training和内存自检)之后,则可将内存自检的结果发送至计算机的嵌入式***,计算机的嵌入式***接收到业务***的内存自检结果之后则可根据计算机的业务***的内存自检结果设定相应的业务***内存自检的标志位。具体的,计算机的业务***上电自检时可自行上报业务***的存储设备的状态信息给嵌入式***,计算机的嵌入式***可通过第一通道获取业务***上报的内存状态数据。计算机接收到业务***上报的信息之后则可从中获取计算机***的内存状态数据,例如,计算机可根据业务***上报的数据获取业务***的DIMM的SPD信息,还可根据业务***上报的数据获取业务***的DIMM槽及内存DIMM的序列号、内存数量、内存容量、内存生产厂家等内存配置信息。具体实现中,计算机的嵌入式***还可在业务***运行的过程中实时监测业务***的内存ECC情况、业务***环境温度、业务***内存电压等信息的变化。嵌入式***通过业务***上报的业务***的数据获取到业务***的内存DIMM的SPD信息和内存配置信息之后,则可结合实时监测到的业务***的内存ECC数据、业务***的内存环境温度变化数据、业务***内存电压变化数据等信息判断业务***的内存配置或者业务***的运行环境、内存电压等内存信息的变化幅度是否超过了预设的变化阈值(包括内存配置是否发生变化、或者内存配置、内存运行环境的变化幅度是否超过预设的幅度阈值),进而可根据判断的结果设定业务***是否需要进行内存Training和内存自检的标志位。具体的,计算机的嵌入式***可根据计算机的业务***上报的DIMM的SPD信息或者DIMM槽及内存的序列号等内存配置信息,判断计算机的业务***的内存SPD或者内存配置的变化是否超过预设的变化阈值;此外,计算机的嵌入式***还可根据实时检测到的计算机的业务***的内存ECC数据、或者业务***的内存环境温度变化数据、或者业务***的内存电压变化数据判断计算机的业务***的内存变化是否超过预设的变化阈值;若计算机的业务***的内存SPD或者内存配置信息的变化超过预设的变化阈值,或者计算机的业务***的内存ECC、环境温度变化、电压变化中任意一项超过预设的变化阈值,则可判断得知计算机的业务***的内存状态变化超过预设的变化阈值,业务***POST是需进行完整的内存自检。
在一些可行的实施方式中,当计算机判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度超过预设的变化阈值时,则可判断得知业务***可能更换了硬件、或者运行的环境温度变化过大、或者运行的电压异常等,计算机的业务***需要重新进行一个完整的内存Training和内存自检,此时则可将业务***的内存自检的标志位设定为第一标志位;当计算机判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度还未超过预设的变化阈值时,则可判断得知业务***可能没有更换硬件,或者运行的环境温度、或者运行的电压变化幅度处于合理范围内等,业务***无需重新进行完整的内存Training和内存自检,可直接跳过内存Training和内存自检,此时则可将业务***的内存自检的标志位设定为第二标志位,其中,上述第一标志位代表计算机的业务***的内存变化超过预设的变化阈值,上述第二标志位代表计算机的业务***的内存变化未超过预设的变化阈值。
在一些可行的实施方式中,计算机设定好业务***的内存自检的标志位之后,计算机的业务***上电时则可通过第一通道从计算机的嵌入式***中读取上述标志位,并根据获取到的标志位判断是否需进行内存Training和内存自检。当计算机的业务***从计算机的嵌入式***中读取的标志位为第一标志位时,业务***POST时则需要进行内存Training和内存自检;当计算机从计算机的嵌入式***中读取的标志位为第二标志位时,业务***POST时则可直接从嵌入式***中读取业务***上一次进行内存Training和内存自检的内存自检结果,无需重新进行内存Training和内存自检,可缩短业务***POST的时间,提高业务***的可用度。
在本发明实施例中,计算机可根据业务***发送的业务***内存自检结果,和嵌入式***实时检测到的业务***的内存状态变化数据来判断业务***的内存变化是否超过预设的变化阈值,并根据判断结果设置业务***的内存自检的标志位,计算机可根据计算机的嵌入式***中存储的标志位判断是否需要进行内存Training和内存自检,即业务***POST阶段可根据嵌入式***设定的标志位选择性的进行内存Training和内存自检,可缩短***内存初始化的时间和***故障恢复的时间,提高了计算机***的可用度,增强了计算机***的用户体验效果。
参见图6,是本发明实施例提供的终端的第二实施例结构示意图。本实施例中所描述的终端,包括:
获取模块50,用于接收终端的业务***发送的内存自检结果,并从所述终端的存储设备中获取内存状态数据。
检测模块70,用于检测所述终端的业务***的内存状态变化。
判断模块80,用于根据所述获取模块获取的所述终端的业务***的内存状态数据,和所述检测模块检测到的所述终端的业务***的内存状态变化数据,判断所述终端的业务***的内存状态变化是否超过预设的变化阈值。
设置模块90,用于在所述终端的业务***的内存状态变化超过预设的变化阈值时,将所述终端的业务***的内存自检的标志位设置为第一标志位,在所述终端的业务***的内存变化未超过预设的变化阈值时,将所述终端的业务***的内存自检的标志位设置为第二标志位。
在一些可行的实施方式中,本实施例中所描述的终端具体可为X86架构计算机,上述计算机中包括一个业务***和一个嵌入式***,本实施例将以计算机的嵌入式***的角度对本发明实施例中所描述的终端进行具体说明。
本实施例中所描述的计算机的嵌入式***是在计算机的业务***中增加的一个实时嵌入式***,上述嵌入式***可在计算机的业务***出现宕机等异常情况时,对计算机的业务***进行控制,可增强X86架构计算机的可管理性,提高计算机业务***的可用度。
在一些可行的实施方式中,计算机的业务***第一次上电时可进行一次完整的内存Training和内存自检,并将内存Training和内存自检的内存自检结果发送至计算机的嵌入式***存储;此外,在计算机的业务***的使用过程中,当计算机的业务***重新进行内存Training和内存自检时,也可将内存自检结果发送至计算机的嵌入式***中存储,以更新上一次存储的内存自检结果。具体实现中,上述计算机的业务***第一次上电可包括:计算机的业务***第一次上电(比如计算机第一次连接电源),或者计算机的业务***更换硬件设备后第一次上电。
在一些可行的实施方式中,上述获取模块50,具体用于:
通过第一通道从所述终端的业务***上报的所述终端的存储设备的状态信息中获取所述终端的业务***的内存状态数据,所述内存状态数据存储于所述终端的存储设备;
其中,所述第一通道为所述终端的业务***与所述终端的嵌入式***的通信通道;
所述内存状态数据包括:所述终端的存储设备的SPD信息、所述终端的存储设备的内存配置信息中至少一种。
在一些可行的实施方式中,获取模块50可通过第一通道接收计算机的业务***发送的***内存自检结果,其中,获取模块50接收到的计算机的业务***发送的内存自检结果可包括:计算机的业务***内存Training的结果和业务***内存自检的结果。具体实现中,获取模块50接收到计算机的业务***发送的业务***内存自检结果之后,还可通过第一通道从计算机的业务***上报的计算机的存储设备的状态信息中获取计算机的业务***的内存状态数据,其中,上述计算机的业务***的内存状态数据可包括计算机的DIMM的SPD信息、计算机的DIMM槽和内存的序列号、内存数量、内存容量、内存生产厂家等内存配置信息,上述各项信息可存储于计算机的存储设备(例如计算机的DIMM)中。具体实现中,上述第一通道具体可为计算机的业务***与计算机的嵌入式***的通信通道。
在一些可行的实施方式中,上述判断模块80(如图7),包括:
第一判断单元81,用于根据所述获取模块获取到的所述终端的业务***的内存SPD信息或者内存配置信息判断所述终端的业务***的内存SPD或者内存配置变化是否超过预设的变化阈值;
第二判断单元82,用于根据所述获取模块获取到的所述终端的业务***的内存ECC数据、或者所述终端的业务***的内存环境温度变化数据、或者所述终端的业务***的内存电压变化数据判断所述终端的业务***的内存状态变化是否超过预设的变化阈值;
第三判断单元83,用于在所述第一判断单元判断结果为是时,或者,所述第二判断单元判断结果为是时,判定所述终端的业务***的内存状态变化超过预设的变化阈值。
在一些可行的实施方式中,计算机的业务***进行完整的内存自检(包括内存识别、内存Training和内存自检)之后,则可将内存自检的结果发送至计算机的嵌入式***,计算机的嵌入式***接收到业务***发送的内存自检结果之后则可根据计算机***的内存自检结果设定相应的业务***内存自检的标志位。具体的,计算机的业务***上电自检时可自行上报业务***的存储设备的状态信息给计算机的嵌入式***,计算机的嵌入式***可通过第一通道获取业务***上报的内存状态数据。计算机的获取模块50接收到业务***上报的信息之后则可从中获取计算机***的内存状态数据,例如,获取模块50可根据业务***上报的数据获取业务***的DIMM的SPD信息,获取模块50还可根据业务***上报的数据获取业务***的DIMM槽及内存DIMM的序列号、内存数量、内存容量、内存生产厂家等内存配置信息。具体实现中,计算机还可在业务***运行的过程中通过检测模块70实时监测业务***的内存ECC情况、业务***环境温度、业务***内存电压等。获取模块50通过业务***上报的业务***的数据获取到业务***的内存DIMM的SPD信息、内存数量、内存容量、内存型号、内存生产厂家之后,判断模块80则可根据获取模块50获取到的业务***的内存状态数据,结合检测模块70实时监测到的业务***的内存ECC数据、业务***的内存环境温度变化数据、业务***内存电压变化数据等信息判断业务***的内存配置或者业务***的运行环境、内存电压等内存信息的变化幅度是否超过了预设的变化阈值(包括内存配置是否发生变化,或者内存配置、内存运行环境的变化幅度是否超过预设的幅度阈值),进而可通过设置模块90根据判断模块80判断的结果设定业务***是否需要进行内存Training和内存自检的标志位。具体的,判断模块80的第一判断单元81可根据获取模块50获取到的计算机的业务***上报的DIMM的SPD信息或者DIMM槽及内存的序列号等内存配置信息,判断计算机的业务***的内存SPD或者内存配置的变化是否超过预设的变化阈值;此外,判断模块80的第二判断单元82还可检测模块70实时检测到的计算机的业务***的内存ECC数据、或者业务***的内存环境温度变化数据、或者业务***的内存电压变化数据判断计算机的业务***的内存变化是否超过预设的变化阈值;若第一判断单元81判断得知计算机的业务***的内存SPD或者内存配置信息的变化超过预设的变化阈值,或者第二判断单元82判断得知计算机的业务***的内存ECC、环境温度变化、电压变化中任意一项超过预设的变化阈值,第三判断单元83则可判断得知计算机的业务***的内存状态变化超过预设的变化阈值,业务***POST是时需进行完整的内存Training和内存自检。
在一些可行的实施方式中,当判断模块80判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度超过预设的变化阈值时,则可判断得知业务***可能更换了硬件、或者运行的环境温度变化过大、或者运行的电压异常等,计算机的业务***需要重新进行一个完整的内存Training和内存自检,此时嵌入式***则可通过设置模块90将业务***的内存自检的标志位设定为第一标志位;当判断模块80判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度还未超过预设的变化阈值时,则可判断得知业务***可能没有更换硬件,或者运行的环境温度、或者运行的电压变化幅度处于合理范围内等,业务***无需重新进行完整的内存Training和内存自检,可直接跳过内存Training和内存自检,此时嵌入式***则可通过设置模块90将业务***的内存自检的标志位设定为第二标志位,其中,上述第一标志位代表计算机的业务***的内存变化超过预设的变化阈值,上述第二标志位代表计算机的业务***的内存变化未超过预设的变化阈值。
在一些可行的实施方式中,设置模块90设定好业务***的内存自检的标志位之后,计算机的业务***上电时则可通过第一通道从计算机的嵌入式***中读取上述标志位,并根据获取到的标志位判断是否需进行内存Training和内存自检。当计算机的业务***从计算机的嵌入式***中读取的标志位为第一标志位时,业务***POST时则需要进行内存Training和内存自检;当计算机的业务***从计算机的嵌入式***中读取的标志位为第二标志位时,业务***POST时则可直接从嵌入式***中读取业务***上一次进行内存Training和内存自检的内存自检结果,无需重新进行内存Training和内存自检,可缩短业务***POST的时间,提高业务***的可用度。
本发明实施例中所描述的计算机可根据计算机的业务***发送的业务***内存自检结果,和嵌入式***实时检测到的业务***的内存状态变化数据来判断业务***的内存变化是否超过预设的变化阈值,并根据判断结果设置业务***的内存自检的标志位,业务***可根据嵌入式***设定的标志位判断是否需要进行内存Training和内存自检,即业务***POST阶段可根据嵌入式***设定的标志位选择性的进行内存Training和内存自检,可缩短***内存初始化的时间和***故障恢复的时间,提高了计算机***的可用度,增强了计算机***的用户体验效果。
参见图8,是本发明实施例提供的终端***内存初始化的控制方法的第三实施例流程示意图。本实施例中所描述的终端***内存初始化的控制方法,包括步骤:
S301,终端接收所述终端的业务***发送的内存自检结果。
S302,终端通过第二通道从所述终端的存储设备中读取所述终端的业务***的内存状态数据。
在一些可行的实施方式中,本实施例中所描述的终端具体可为X86架构计算机,上述计算机中包括一个业务***和一个嵌入式***,本实施例中将以计算机的嵌入式***的角度对本实施例中所描述的方法进行具体说明。
本实施例中所描述的计算机的嵌入式***是在计算机的业务***中增加的一个实时嵌入式***,上述嵌入式***可在计算机的业务***出现宕机等异常情况时,对计算机的业务***进行控制,可增强X86架构计算机的可管理性,提高计算机业务***的可用度。
在一些可行的实施方式中,计算机的业务***第一次上电时可进行一次完整的内存Training和内存自检,并将内存Training和内存自检的内存自检结果发送至计算机的嵌入式***存储;此外,在计算机的使用过程中,当计算机的业务***重新进行内存Training和内存自检时,也可将内存自检结果发送至计算机的嵌入式***中存储,以更新上一次存储的内存自检结果。具体实现中,上述计算机的业务***第一次上电可包括:计算机的业务***第一次上电(比如计算机第一次连接电源),或者计算机的业务***更换硬件设备后第一次上电。
在一些可行的实施方式中,计算机接收到的计算机的业务***发送的内存自检结果可包括:计算机的业务***内存Training的结果和业务***内存自检的结果。具体实现中,计算机接收到计算机的业务***发送的业务***内存自检结果之后,还可通过第二通道从计算机的业务***上报的计算机的存储设备的状态信息中读取计算机的业务***的内存状态数据,其中,上述计算机的业务***的内存状态数据可包括计算机的DIMM的SPD信息、计算机的DIMM槽和内存的序列号、内存数量、内存容量、内存生产厂家等内存配置信息,上述各项信息可存储于计算机的存储设备(例如计算机的DIMM)中。具体实现中,上述第二通道具体可为计算机的存储设备与计算机的嵌入式***的通信通道,即计算机的嵌入式***可直接通过与计算机的存储设备的通信通道从计算机的存储设备中读取存储设备的SPD信息、存储设备的内存配置信息等,无需通过计算机的业务***上报数据获取。
S303,所述终端检测所述终端的业务***的内存状态变化数据。
S304,所述终端根据获取到的所述终端的业务***的内存状态数据,和检测到的所述终端的业务***的内存状态变化数据,判断所述终端的业务***的内存状态变化是否超过预设的变化阈值,若判断结果为是,则执行步骤S305,若判断结果为否,则执行步骤S306。
S305,将所述终端的业务***的内存自检的标志位设置为第一标志位。
S306,将所述终端的业务***的内存自检的标志位设置为第二标志位。
在一些可行的实施方式中,计算机的业务***进行完整的内存自检(包括内存识别、内存Training和内存自检)之后,则可将内存自检的结果发送至计算机的嵌入式***,计算机的嵌入式***接收到业务***发送的内存自检结果之后则可根据计算机***的内存自检结果设定相应的内存自检标志位。具体的,计算机的业务***上电自检时可自行上报业务***的存储设备的状态信息给计算机的嵌入式***,计算机的嵌入式***可通过第一通道获取业务***上报的内存状态数据,其中,上述第一通道为计算机的业务***与嵌入式***的通信通道。计算机的嵌入式***接收到业务***上报的信息之后则可通过上述第二通道获取计算机***的内存状态数据,例如,计算机的嵌入式***可通过第二通道从业务***上报的数据获取业务***的DIMM的SPD信息,还可通过第二通道从计算机的内存DIMM中获取业务***的DIMM槽及内存DIMM的序列号、内存数量、内存容量、内存生产厂家等内存配置信息。具体实现中,计算机的嵌入式***还可在业务***运行的过程中实时监测业务***的内存ECC情况、业务***环境温度、业务***内存电压等信息的变化。计算机的嵌入式***通过第二通道获取到业务***的内存DIMM的SPD信息和内存配置信息之后,则可结合其实时监测到的业务***的内存ECC数据、业务***的内存环境温度变化数据、业务***内存电压变化数据等信息判断业务***的内存配置或者业务***的运行环境、内存电压等内存信息的变化幅度是否超过了预设的变化阈值(包括内存配置是否发生变化,或者内存配置、内存运行环境的变化幅度是否超过预设的幅度阈值),进而可根据判断的结果设定业务***是否需要进行内存Training和内存自检的标志位。具体的,计算机的嵌入式***可根据计算机的业务***上报的DIMM的SPD信息或者DIMM槽及内存的序列号等内存配置信息,判断计算机的业务***的内存SPD或者内存配置的变化是否超过预设的变化阈值;此外,计算机的嵌入式***还可根据实时检测到的计算机的业务***的内存ECC数据、或者业务***的内存环境温度变化数据、或者业务***的内存电压变化数据判断计算机的业务***的内存变化是否超过预设的变化阈值;若计算机的业务***的内存SPD或者内存配置信息的变化超过预设的变化阈值,或者计算机的业务***的内存ECC、环境温度变化、电压变化中任意一项超过预设的变化阈值,则可判断得知计算机的业务***的内存状态变化超过预设的变化阈值,业务***POST时需进行完整的内存Training和内存自检。
在一些可行的实施方式中,当计算机的嵌入式***判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度超过预设的变化阈值时,则可判断得知业务***可能更换了硬件、或者运行的环境温度变化过大、或者运行的电压异常等,计算机的业务***需要重新进行一个完整的内存Training和内存自检,此时则可将业务***的内存自检的标志位设定为第一标志位;当计算机的嵌入式***判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度还未超过预设的变化阈值时,则可判断得知业务***可能没有更换硬件,或者运行的环境温度、或者运行的电压变化幅度处于合理范围内等,业务***无需重新进行完整的内存Training和内存自检,可直接跳过内存Training和内存自检,此时则可将业务***的内存自检的标志位设定为第二标志位,其中,上述第一标志位代表计算机的业务***的内存变化超过预设的变化阈值,上述第二标志位代表计算机的业务***的内存变化未超过预设的变化阈值。
在一些可行的实施方式中,计算机设定好业务***的内存自检的标志位之后,计算机的业务***上电时则可通过第一通道从计算机的嵌入式***中读取上述标志位,并根据获取到的标志位判断是否需进行内存Training和内存自检。当计算机的业务***从计算机的嵌入式***中读取的标志位为第一标志位时,业务***POST时则需要进行内存Training和内存自检;当计算机的业务***从计算机的嵌入式***中读取的标志位为第二标志位时,业务***POST时则可直接从嵌入式***中读取业务***上一次进行内存Training和内存自检的内存自检结果,无需重新进行内存Training和内存自检,可缩短业务***POST的时间,提高业务***的可用度。
在本发明实施例中,计算机可从第一通道获取业务***发送的业务***内存自检结果,还可从第二通道获取计算机的内存状态数据,进而可结合嵌入式***实时检测到的业务***的内存状态变化数据来判断业务***的内存变化是否超过预设的变化阈值,并根据判断结果设置业务***的内存自检的标志位,计算机的业务***可根据嵌入式***设定的标志位判断是否需要进行内存Training和内存自检,即业务***POST阶段可根据嵌入式***设定的标志位选择性的进行内存Training和内存自检,可缩短***内存初始化的时间和***故障恢复的时间,提高了计算机***的可用度,增强了计算机***的用户体验效果。
参见图9,是本发明实施例提供的终端的第三实施例结构示意图。本实施例中所描述的终端,包括:
获取模块60,用于接收终端的业务***发送的内存自检结果,并从所述终端的存储设备中获取内存状态数据。
检测模块70,用于检测所述终端的业务***的内存状态变化。
判断模块80,用于根据所述获取模块获取的所述终端的业务***的内存状态数据,和所述检测模块检测到的所述终端的业务***的内存状态变化数据,判断所述终端的业务***的内存状态变化是否超过预设的变化阈值。
设置模块90,用于在所述终端的业务***的内存状态变化超过预设的变化阈值时,将所述终端的业务***的内存自检的标志位设置为第一标志位,在所述终端的业务***的内存变化未超过预设的变化阈值时,将所述终端的业务***的内存自检的标志位设置为第二标志位。
在一些可行的实施方式中,本实施例中所描述的终端具体可为X86架构计算机,上述计算机中包括一个业务***和一个嵌入式***,本实施例将以计算机的嵌入式***的角度对本发明实施例中所描述的终端进行具体说明。
本实施例中所描述的计算机的嵌入式***是在计算机的业务***中增加的一个实时嵌入式***,上述嵌入式***可在计算机的业务***出现宕机等异常情况时,可对计算机的业务***进行控制,可增强X86架构计算机的可管理性,提高计算机业务***的可用度。
在一些可行的实施方式中,计算机的业务***第一次上电时可进行一次完整的内存Training和内存自检,并将内存Training和内存自检的内存自检结果发送至计算机的嵌入式***存储;此外,在计算机的业务***的使用过程中,当计算机的业务***重新进行内存Training和内存自检时,也可将内存自检结果发送至计算机的嵌入式***中存储,以更新上一次存储的内存自检结果。具体实现中,上述计算机的业务***第一次上电可包括:计算机的业务***第一次上电(比如计算机第一次连接电源),或者计算机的业务***更换硬件设备后第一次上电。
在一些可行的实施方式中,上述获取模块60,具体用于:
通过第二通道从所述终端的存储设备中读取所述终端的业务***的内存状态数据;
其中,所述第二通道为所述终端的存储设备与所述终端的嵌入式***的通信通道;
所述内存状态数据包括:所述终端的存储设备的SPD信息、所述终端的存储设备的内存配置信息中至少一种。
在一些可行的实施方式中,获取模块60可通过第一通道接收计算机的业务***发送的***内存自检结果,其中,获取模块60接收到的计算机的业务***发送的内存自检结果可包括:计算机的业务***内存Training的结果和业务***内存自检的结果。具体实现中,获取模块60接收到计算机的业务***发送的业务***内存自检结果之后,还可通过第二通道从计算机的业务***上报的计算机的存储设备的状态信息中读取计算机的业务***的内存状态数据,其中,上述计算机的业务***的内存状态数据可包括计算机的DIMM的SPD信息、计算机的DIMM槽和内存的序列号、内存数量、内存容量、内存生产厂家等内存配置信息,上述各项信息可存储于计算机的存储设备(例如计算机的DIMM)中。具体实现中,上述第二通道具体可为计算机的业务***与计算机的嵌入式***的通信通道,即获取模块60可直接通过与计算机的存储设备的通信通道从计算机的存储设备中读取存储设备的SPD信息、存储设备的内存配置信息等,无需通过计算机的业务***上报数据获取。
在一些可行的实施方式中,上述判断模块80(如图7),包括:
第一判断单元81,用于根据所述获取模块获取到的所述终端的业务***的内存SPD信息或者内存配置信息判断所述终端的业务***的内存SPD或者内存配置变化是否超过预设的变化阈值;
第二判断单元82,用于根据所述获取模块获取到的所述终端的业务***的内存ECC数据、或者所述终端的业务***的内存环境温度变化数据、或者所述终端的业务***的内存电压变化数据判断所述终端的业务***的内存状态变化是否超过预设的变化阈值;
第三判断单元83,用于在所述第一判断单元判断结果为是时,或者,所述第二判断单元判断结果为是时,判定所述终端的业务***的内存状态变化超过预设的变化阈值。
在一些可行的实施方式中,计算机的业务***进行完整的内存自检(包括内存识别、内存Training和内存自检)之后,则可将内存自检的结果发送至计算机的嵌入式***,计算机的嵌入式***接收到业务***发送的内存自检结果之后则可根据计算机***的内存自检结果设定相应的内存自检标志位。具体的,计算机的业务***上电自检时可自行上报业务***的存储设备的状态信息给嵌入式***,计算机的嵌入式***可通过第一通道获取业务***上报的内存状态数据,其中,上述第一通道为计算机的业务***与嵌入式***的通信通道。计算机的获取模块60接收到业务***上报的信息之后,获取模块60则可通过上述第二通道获取计算机***的内存状态数据,例如,获取模块60可通过第二通道从业务***上报的数据获取业务***的DIMM的SPD信息,获取模块60还可通过第二通道从计算机的内存DIMM中获取业务***的DIMM槽及内存DIMM的序列号、内存数量、内存容量、内存生产厂家等内存配置信息。具体实现中,计算机还可在业务***运行的过程中通过检测模块70实时监测业务***的内存ECC情况、业务***环境温度、业务***内存电压等信息的变化。获取模块60通过上述第二通道获取到业务***的内存DIMM的SPD信息和内存配置信息之后,判断模块80则可根据获取模块60获取到的业务***的内存状态数据,结合检测模块70实时监测到的业务***的内存ECC数据、业务***的内存环境温度变化数据、业务***内存电压变化数据等信息判断业务***的内存配置或者业务***的运行环境、内存电压等内存信息的变化幅度是否超过了预设的变化阈值(包括内存配置是否发生变化,或者内存配置、内存运行环境的变化幅度是否超过预设的幅度阈值),进而可通过设置模块90根据判断模块80判断的结果设定业务***是否需要进行内存Training和内存自检的标志位。具体的,判断模块80的第一判断单元81可根据获取模块60获取到的计算机的业务***上报的DIMM的SPD信息或者DIMM槽及内存的序列号等内存配置信息,判断计算机的业务***的内存SPD或者内存配置的变化是否超过预设的变化阈值;此外,判断模块80的第二判断单元82还可检测模块70实时检测到的计算机的业务***的内存ECC数据、或者业务***的内存环境温度变化数据、或者业务***的内存电压变化数据判断计算机的业务***的内存变化是否超过预设的变化阈值;若第一判断单元81判断得知计算机的业务***的内存SPD或者内存配置信息的变化超过预设的变化阈值,或者第二判断单元82判断得知计算机的业务***的内存ECC、环境温度变化、电压变化中任意一项超过预设的变化阈值,第三判断单元83则可判断得知计算机的业务***的内存状态变化超过预设的变化阈值,业务***POST是时需进行完整的内存Training和内存自检。
在一些可行的实施方式中,当判断模块80判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度超过预设的变化阈值时,则可判断得知业务***可能更换了硬件、或者运行的环境温度变化过大、或者运行的电压异常等,计算机的业务***需要重新进行一个完整的内存Training和内存自检,此时则可通过设置模块90将业务***的内存自检的标志位设定为第一标志位;当判断模块80判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度还未超过预设的变化阈值时,则可判断得知业务***可能没有更换硬件,或者运行的环境温度、或者运行的电压变化幅度处于合理范围内等,业务***无需重新进行完整的内存Training和内存自检,可直接跳过内存Training和内存自检,此时则可通过设置模块90将业务***的内存自检的标志位设定为第二标志位,其中,上述第一标志位代表计算机的业务***的内存变化超过预设的变化阈值,上述第二标志位代表计算机的业务***的内存变化未超过预设的变化阈值。
在一些可行的实施方式中,设置模块90设定好业务***的内存自检的标志位之后,计算机的业务***上电时则可通过第一通道从计算机的嵌入式***中读取上述标志位,并根据获取到的标志位判断是否需进行内存Training和内存自检。当计算机的业务***从计算机的嵌入式***中读取的标志位为第一标志位时,业务***POST时则需要进行内存Training和内存自检;当计算机的业务***从计算机的嵌入式***中读取的标志位为第二标志位时,业务***POST时则可直接从嵌入式***中读取业务***上一次进行内存Training和内存自检的内存自检结果,无需重新进行内存Training和内存自检,可缩短业务***POST的时间,提高业务***的可用度。
本发明实施例中所描述的计算机可通过第一通道获取计算机的业务***发送的业务***内存自检结果,还可从第二通道获取计算机的内存状态数据,进而可结合嵌入式***实时检测到的业务***的内存状态变化数据来判断业务***的内存变化是否超过预设的变化阈值,并根据判断结果设置业务***的内存自检的标志位,业务***可根据嵌入式***设定的标志位判断是否需要进行内存Training和内存自检,即业务***POST阶段可根据嵌入式***设定的标志位选择性的进行内存Training和内存自检,可缩短***内存初始化的时间和***故障恢复的时间,提高了计算机***的可用度,增强了计算机的***的用户体验效果。
参见图10,是本发明实施例提供的终端***内存初始化的控制方法的交互示意图。
S401,终端的业务***第一次上电,所述终端的业务***进行完整的内存自检,包括内存Training和内存自检。
S402,所述终端的业务***将其内存自检的结果发送至所述终端的嵌入式***存储。
具体实现中,本实施例中所描述的终端可为具有X86架构的计算机,本实施例中所描述的终端包括一个业务***和一个嵌入式***,其中,上述业务***即为X86架构的计算机的带内***,主要用于运行业务操作***和业务软件;上述计算机的嵌入式***具体可为在计算机的业务***中增加的一个实时嵌入式***,该嵌入式***可在X86架构计算机本身出现宕机等异常情况时,对计算机的业务***进行控制,可增强计算机的业务***的可管理性,提高计算机业务***的可用度。
在一些可行的实施方式中,计算机的业务***第一次上电可包括:计算机的业务***第一次上电(比如计算机第一次连接电源),或者计算机的业务***更换硬件设备后第一次上电。计算机的业务***第一次上电时可进行一次完整的内存自检,包括内存Training和内存自检,并将***内存自检的结果发送至计算机的嵌入式***中存储
S403,所述终端的业务***下电后再上电,所述终端的嵌入式***从所述终端的业务***中读取所述终端的内存状态数据。
S404,所述终端的嵌入式***根据获取到的所述终端的内存状态数据,结合检测到的所述终端的内存状态变化数据,设定所述终端的业务***内存自检的标志位。
在一些可行的实施方式中,计算机的业务***进行完整的内存自检(包括内存识别、内存Training和内存自检)之后,则可将内存自检的结果发送至计算机的嵌入式***,计算机的嵌入式***接收到业务***发送的内存自检结果之后则可根据计算机***的内存自检结果设定相应的内存自检的标志位。具体的,计算机的业务***下电后再上电时,计算机的嵌入式***可从业务***上报的数据中获取内存状态信息,或者直接通过计算机的存储设备获取内存状态信息。嵌入式***接收到业务***上报的信息之后则可从中获取计算机***的内存状态数据,例如,嵌入式***可根据业务***上报的数据获取业务***的DIMM的SPD信息,嵌入式***还可根据业务***上报的数据获取业务***的DIMM槽及内存DIMM的序列号、内存数量、内存容量、内存生产厂家等内存配置信息。具体实现中,嵌入式***还可在业务***运行的过程中实时监测业务***的内存ECC情况、业务***环境温度、业务***内存电压等信息的变化。嵌入式***通过业务***上报的业务***的数据获取到业务***的内存DIMM的SPD信息和内存配置信息,或者直接从计算机的DIMM中读取内存DIMM的SPD信息和内存配置信息之后,则可结合实时监测到的业务***的内存ECC数据、业务***的内存环境温度变化数据、业务***内存电压变化数据等信息判断业务***的内存配置或者业务***的运行环境、内存电压等内存信息的变化幅度是否超过了预设的变化阈值(包括内存配置是否发生变化,或者内存配置、内存运行环境的变化幅度是否超过预设的幅度阈值等),进而可根据判断的结果设定业务***是否需要进行内存Training和内存自检的标志位。具体的,计算机的嵌入式***可根据计算机的业务***上报的DIMM的SPD信息或者DIMM槽及内存的序列号等内存配置信息,判断计算机的业务***的内存SPD或者内存配置的变化是否超过预设的变化阈值;此外,计算机的嵌入式***还可根据实时检测到的计算机的业务***的内存ECC数据、或者业务***的内存环境温度变化数据、或者业务***的内存电压变化数据判断计算机的业务***的内存变化是否超过预设的变化阈值;若计算机的业务***的内存SPD或者内存配置信息的变化超过预设的变化阈值,或者计算机的业务***的内存ECC、环境温度变化、电压变化中任意一项超过预设的变化阈值,则可判断得知计算机的业务***的内存状态变化超过预设的变化阈值,业务***POST是需进行完整的内存自检。
在一些可行的实施方式中,当计算机的嵌入式***判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度超过预设的变化阈值时,则可判断得知业务***可能更换了硬件、或者运行的环境温度变化过大、或者运行的电压异常等,计算机的业务***需要重新进行一个完整的内存Training和内存自检,此时嵌入式***则可将业务***的内存自检的标志位设定为第一标志位;当嵌入式***判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度还未超过预设的变化阈值时,则可判断得知业务***可能没有更换硬件,或者运行的环境温度、或者运行的电压变化幅度处于合理范围内等,业务***无需重新进行完整的内存Training和内存自检,可直接跳过内存Training和内存自检,此时嵌入式***则可将业务***的内存自检的标志位设定为第二标志位,其中,上述第一标志位代表计算机的业务***的内存变化超过预设的变化阈值,上述第二标志位代表计算机的业务***的内存变化未超过预设的变化阈值。
S405,所述终端的业务***从所述终端的嵌入式***中获取业务***内存自检的标志位.
S406,若所述标志位为第一标志位,所述终端的业务***进行业务***的内存自检。
S407,若所述标志位为第二标志位,所述终端的业务***从所述终端的嵌入式***中获取预存的所述终端的业务***的内存自检结果。
在一些可行的实施方式中,计算机的嵌入式***设定好业务***的内存自检的标志位之后,计算机的业务***上电时则可通过第一通道从计算机的嵌入式***中读取上述标志位,并根据获取到的标志位判断是否需进行内存Training和内存自检。具体实现中,业务***从嵌入式***中读取内存Training和内存自检的标志位之后,若判断得知获取到的标志位为第一标志位,则可判断得知业务***的内存ECC可能出现异常情况,或者业务***的内存配置变化了,业务***进行了POST阶段的内存识别之后还需要重新进行内存Training和内存自检,并将内存自检结果发生至嵌入式***,更新嵌入式***中存储的内存自检结果,以供业务***重启或者下一次上电时判断是否需要重新进行内存Training和内存自检参考。此外,业务***从嵌入式***中读取内存Training和内存自检的标志位之后,若判断得知获取到的标志位为第二标志位,则可判断得知业务***的内存ECC正常,业务***的内存配置没有变化或者变化幅度未超过变化阈值,业务***进行POST阶段中的内存识别之后则可直接从嵌入式***中获取预先存储的业务***上一次进行完整的内存Training和内存自检时保存的自检结果,进而可跳过内存Training和内存自检,完成内存初始化。例如,若本次上电是业务***第二次上电,计算机的业务***根据从计算机的嵌入式***中获取到的标志位判断得知上述标志位为第二标志位时,则可直接从嵌入式***中获取业务***第一次上电时进行内存Training和内存自检时保存的自检结果,跳过本次上电的内存Training和内存自检,缩短计算机的业务***的POST时间;若本次上电是业务***的第三次上电,并且业务***第二次上电时进行了完整的内存Training和内存自检并将自检结果保存在嵌入式***中,计算机的业务***根据从计算机的嵌入式***中获取到的标志位判断得知上述标志位为第二标志位时,则可直接从嵌入式***中获取业务***第二次上电时进行内存Training和内存自检时保存的自检结果;若本次上电是业务***的第三次上电,并且业务***第二次上电时无需进行完整的内存Training和内存自检,计算机的业务***根据从计算机的嵌入式***中获取到的标志位判断得知上述标志位为第二标志位时,则可直接从嵌入式***中获取业务***第一次上电时进行内存Training和内存自检时保存的自检结果;即若本次上电是业务***的第N次上电,则可直接从嵌入式***中获取业务***在本次上电之前更新的内存自检结果,进而可跳过本次上电的内存Training和内存自检,完成内存初始化,缩短业务***POST时间,缩短业务***的故障恢复时间,提高业务***可用度。
在本发明实施例中,计算机的业务***上电时可根据计算机的嵌入式***中存储的业务***的内存自检的标志位判断是否需要进行内存Training和内存自检,若业务***从嵌入式***中获取到的标志位为第一标识位,业务***则需进行内存Training和内存自检,并将自检结果更新至嵌入式***中,若业务***从嵌入式***中获取的标志位为第二标志位,业务***则可直接从嵌入式***中获取内存Training和内存自检的结果,直接跳过业务***POST阶段的内存Training和内存自检过程,完成业务***内存初始化。在本发明实施例中业务***POST阶段可选择性的进行内存Training和内存自检,可缩短***内存初始化的时间和***故障恢复的时间,提高了***的可用度,增强了***的用户体验效果。
参见图11,是本发明实施例提供的终端***内存初始化的控制***的实施例结构示意图。本实施例中所描述的控制***,包括:第一终端100和第二终端200。
具体实现中,本实施例中所描述的第一终端100和第二终端200均可为X86架构的计算机,具体的,本实施例中所描述的第一终端100具体可为本发明实例提供的终端的第一实施例中所描述的终端,即计算机的业务***端(下面将以计算机的业务***为第一终端100对本实施例中所描述的***进行具体说明),本实施例中所描述的第二终端200具体可为本发明实施例提供的终端的第二实施例和第三实施例中所描述的终端,即计算机的嵌入式***端(下面将以计算机的嵌入式***为第二终端200对本实施例中所描述的***进行具体说明)。
在一些可行的实施方式中,计算机的业务***可在计算机的业务***第一次上电时进行一次完整的内存自检,包括内存Training和内存自检,并将***内存自检的结果发送至计算机的嵌入式***中存储。计算机的业务***第一次上电可包括:计算机的业务***第一次上电(比如计算机第一次连接电源),或者计算机的业务***更换硬件设备后第一次上电。
在一些可行的实施方式中,计算机的业务***进行完整的内存自检(包括内存识别、内存Training和内存自检)之后,则可将内存自检的结果发送至计算机的嵌入式***,计算机的嵌入式***接收到业务***发送的内存自检结果之后则可根据计算机***的内存自检结果设定相应的内存自检的标志位。具体的,计算机的业务***下电后再上电时可自行上报业务***的存储设备的状态信息给嵌入式***,具体的嵌入式***可通过第一通道获取业务***上报的内存状态数据。嵌入式***接收到业务***上报的信息之后则可从中获取计算机***的内存状态数据,例如,嵌入式***可根据业务***上报的数据获取业务***的DIMM的SPD信息,还可根据业务***上报的数据获取业务***的DIMM槽及内存DIMM的序列号、内存数量、内存容量、内存生产厂家等内存配置信息。此外,嵌入式***也可通过第二通道直接从计算机的存储设备中获取内存DIMM的SPD信息,内存DIMM槽及内存DIMM的序列号等内存配置信息。具体实现中,计算机的嵌入式***还可在业务***运行的过程中实时监测业务***的内存ECC情况、业务***环境温度、业务***内存电压等信息的变化。嵌入式***通过业务***上报的业务***的数据获取到业务***的内存DIMM的SPD信息和内存配置信息之后,则可结合实时监测到的业务***的内存ECC数据、业务***的内存环境温度变化数据、业务***内存电压变化数据等信息判断业务***的内存配置或者业务***的运行环境、内存电压等内存信息的变化幅度是否超过了预设的变化阈值(包括内存配置是否发生变化,或者内存配置、内存运行环境的变化幅度是否超过预设的幅度阈值),进而可根据判断的结果设定业务***是否需要进行内存Training和内存自检的标志位。具体的,计算机的嵌入式***可根据计算机的业务***的DIMM的SPD信息或者DIMM槽及内存的序列号等内存配置信息,判断计算机的业务***的内存SPD或者内存配置的变化是否超过预设的变化阈值;此外,计算机的嵌入式***还可根据实时检测到的计算机的业务***的内存ECC数据、或者业务***的内存环境温度变化数据、或者业务***的内存电压变化数据判断计算机的业务***的内存变化是否超过预设的变化阈值;若计算机的业务***的内存SPD或者内存配置信息的变化超过预设的变化阈值,或者计算机的业务***的内存ECC、环境温度变化、电压变化中任意一项超过预设的变化阈值,则可判断得知计算机的业务***的内存状态变化超过预设的变化阈值,业务***POST是时需进行完整的内存Training和内存自检。
在一些可行的实施方式中,当计算机的嵌入式***判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度超过预设的变化阈值时,则可判断得知业务***可能更换了硬件、或者运行的环境温度变化过大、或者运行的电压异常等,计算机的业务***需要重新进行一个完整的内存Training和内存自检,此时嵌入式***则可将业务***的内存自检的标志位设定为第一标志位;当嵌入式***判断得知业务***的内存配置,或者业务***运行的内存环境温度、电压等信息的变化幅度还未超过预设的变化阈值时,则可判断得知业务***可能没有更换硬件,或者运行的环境温度、或者运行的电压变化幅度处于合理范围内等,业务***无需重新进行完整的内存Training和内存自检,可直接跳过内存Training和内存自检,此时嵌入式***则可将业务***的内存自检的标志位设定为第二标志位,其中,上述第一标志位代表计算机的业务***的内存变化超过预设的变化阈值,上述第二标志位代表计算机的业务***的内存变化未超过预设的变化阈值。
在一些可行的实施方式中,计算机的业务***上电并进行POST阶段中的内存识别之后,则可通过第一通道从计算机的嵌入式***中读取业务***的内存自检的标志位,即业务***是否需要进行Training和内存自检的标志位,并根据读取到的标志位判断是否进行内存Training和内存自检。
在一些可行的实施方式中,计算机的业务***从计算机的嵌入式***中读取内存Training和内存自检的标志位之后,则可根据获取到的标志位判断是否为第一标志位或者第二标志位。若判断得知获取到的标志位为第一标志位,则可判断得知业务***的内存ECC可能出现异常情况,或者业务***的内存配置变化了,此时业务***进行了POST阶段的内存识别之后还需要通过自检模块30进行内存Training和内存自检,并将内存自检结果发生至嵌入式***,更新嵌入式***中存储的内存自检结果,以供业务***重启或者下一次上电时判断是否需要重新进行内存Training和内存自检参考。此外,计算机的业务***从嵌入式***中读取内存Training和内存自检的标志位之后,若判断得知获取到的标志位为第二标志位,则可判断得知业务***的内存ECC正常,业务***的内存配置没有变化或者变化幅度未超过变化阈值,业务***进行POST阶段中的内存识别之后则可直接从嵌入式***中获取预先存储的业务***上一次进行完整的内存Training和内存自检时保存的自检结果,进而可跳过内存Training和内存自检,完成内存初始化。例如,若本次上电是计算机的业务***第二次上电,计算机的业务***判断得知获取到的标志位为第二标志位时,则可直接从嵌入式***中获取业务***第一次上电时进行内存Training和内存自检时保存的自检结果,进而可跳过本次上电的内存Training和内存自检,缩短计算机的业务***的POST时间;若本次上电是计算机***的业务***的第三次上电,并且业务***第二次上电时进行了完整的内存Training和内存自检并将自检结果保存在嵌入式***中,则计算机的业务***判断得知获取到的标志位为第二标志位时,则可直接从嵌入式***中获取业务***第二次上电时进行内存Training和内存自检时保存的自检结果;若本次上电是计算机的业务***的第三次上电,并且业务***第二次上电时无需进行完整的内存Training和内存自检,则计算机的业务***判断得知获取到的标志位为第二标志位时,则可直接从嵌入式***中获取业务***第一次上电时进行内存Training和内存自检时保存的自检结果;即若本次上电是计算机的业务***的第N次上电,并且判断得知获取到的标志位为第二标志位时,则可直接从嵌入式***中获取业务***在本次上电之前更新的内存自检结果,进而可跳过本次上电的内存Training和内存自检,完成内存初始化,缩短业务***POST时间,缩短业务***的故障恢复时间,提高业务***可用度。
在本发明实施例中,计算机的嵌入式***可根据计算机的业务***发送的业务***内存自检结果,和嵌入式***实时检测到的业务***的内存状态变化数据来判断业务***的内存变化是否超过预设的变化阈值,并根据判断结果设置业务***的内存自检的标志位,业务***可根据嵌入式***设定的标志位判断是否需要进行内存Training和内存自检,即业务***POST阶段可根据嵌入式***设定的标志位选择性的进行内存Training和内存自检,可缩短***内存初始化的时间和***故障恢复的时间,提高了计算机的***的可用度,增强了计算机的***的用户体验效果
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (19)

1.一种终端***内存初始化的控制方法,其特征在于,包括:
当终端的业务***上电时,从所述终端的嵌入式***中获取所述终端的业务***的内存自检的标志位;
所述终端判断所述标志位是否为第一标志位或者第二标志位,所述第一标志位代表所述终端的业务***的内存状态变化超过预设的变化阈值,所述第二标志位代表所述终端的业务***的内存状态变化未超过预设的变化阈值;
若所述标志位为第一标志位,所述终端进行业务***的内存自检,并将内存自检结果发送至所述终端的嵌入式***存储;
若所述标志位为第二标志位,所述终端从所述终端的嵌入式***中获取预存的所述终端的业务***的内存自检结果。
2.如权利要求1所述的方法,其特征在于,所述终端的业务***上电为所述终端的业务***除第一次上电之外的任意一次上电。
3.如权利要求2所述的方法,其特征在于,所述从所述终端的嵌入式***中获取所述终端的业务***的内存自检的标志位之前,包括:
当所述终端的业务***第一次上电时,所述终端对业务***内存进行内存自检,所述内存自检还包括内存训练;
所述终端将所述业务***的内存自检结果发送至所述终端的嵌入式***中存储。
4.一种终端***内存初始化的控制方法,其特征在于,包括:
终端接收所述终端的业务***发送的内存自检结果,并从所述终端的存储设备中获取内存状态数据;
所述终端根据获取到的所述终端的业务***的内存状态数据,和检测到的所述终端的业务***的内存状态变化数据,判断所述终端的业务***的内存状态变化是否超过预设的变化阈值;
若所述终端的业务***的内存状态变化超过预设的变化阈值,则将所述终端的业务***的内存自检的标志位设置为第一标志位;
若所述终端的业务***的内存状态变化未超过预设的变化阈值,则将所述终端的业务***的内存自检的标志位设置为第二标志位。
5.如权利要求4所述的方法,其特征在于,所述终端接收到的所述终端的业务***发送的内存自检结果包括:所述终端的业务***内存训练的结果和所述终端的业务***内存自检的结果。
6.如权利要求4或5所述的方法,其特征在于,所述从所述终端的存储设备中获取内存状态数据,包括:
通过第一通道从所述终端的业务***上报的所述终端的存储设备的状态信息中获取所述终端的业务***的内存状态数据,所述内存状态数据存储于所述终端的存储设备;
其中,所述第一通道为所述终端的业务***与所述终端的嵌入式***的通信通道;
所述内存状态数据包括:所述终端的存储设备的串行在位检测SPD信息、所述终端的存储设备的内存配置信息中至少一种。
7.如权利要求4或5所述的方法,其特征在于,所述从所述终端的存储设备中获取内存状态数据,包括:
通过第二通道从所述终端的存储设备中读取所述终端的业务***的内存状态数据;
其中,所述第二通道为所述终端的存储设备与所述终端的嵌入式***的通信通道;
所述内存状态数据包括:所述终端的存储设备的SPD信息、所述终端的存储设备的内存配置信息中至少一种。
8.如权利要求6或7所述的方法,其特征在于,所述终端的业务***的内存状态变化数据包括:所述终端的业务***的内存错误检测和纠正ECC数据、所述终端的业务***的内存环境温度变化数据、所述终端的业务***的内存电压变化数据中至少一种。
9.如权利要求8所述的方法,其特征在于,所述终端根据获取到的所述终端的业务***的内存状态数据,和检测到的所述终端的业务***的内存状态变化数据,判断所述终端的业务***的内存状态变化是否超过预设的变化阈值,包括:
所述终端根据所述终端的业务***的内存SPD信息或者内存配置信息判断所述终端的业务***的内存SPD或者内存配置变化是否超过预设的变化阈值;
所述终端根据所述终端的业务***的内存ECC数据、或者所述终端的业务***的内存环境温度变化数据、或者所述终端的业务***的内存电压变化数据判断所述终端的业务***的内存状态变化是否超过预设的变化阈值;
若所述终端的业务***的内存SPD或者内存配置变化超过预设的变化阈值,或者所述终端的业务***的内存ECC数据、所述终端的业务***的内存环境温度变化数据、所述终端的业务***的内存电压变化中任一项超过预设的变化阈值,则判定所述终端的业务***的内存状态变化超过预设的变化阈值。
10.一种终端,其特征在于,包括:
获取模块,用于在终端的业务***上电时,从所述终端的嵌入式***中获取所述终端的业务***的内存自检的标志位;
判断模块,用于判断所述获取模块获取的标志位是否为第一标志位或者第二标志位,所述第一标志位代表所述终端的业务***的内存状态变化超过预设的变化阈值,所述第二标志位代表所述终端的业务***的内存状态变化未超过预设的变化阈值;
自检模块,用于在所述获取模块获取的标志位为第一标志位时,进行业务***的内存自检;
发送模块,用于将所述自检模块的内存自检结果发送至所述终端的嵌入式***存储;
所述获取模块,用于在所述获取模块获取的标志位为第二标志位,从所述终端的嵌入式***中获取预存的所述终端的业务***的内存自检结果。
11.如权利要求10所述的终端,其特征在于,所述终端的业务***上电为所述终端的业务***除第一次上电之外的任意一次上电。
12.如权利要求11所述的操终端,其特征在于,
所述自检模块,还用于在所述终端的业务***第一次上电时,对所述终端的业务***进行内存自检,所述内存自检还包括内存训练;
所述发送模块,还用于将所述终端的业务***的内存自检结果发送至所述终端的嵌入式***中存储。
13.一种终端,其特征在于,包括:
获取模块,用于接收终端的业务***发送的内存自检结果,并从所述终端的存储设备中获取内存状态数据;
检测模块,用于检测所述终端的业务***的内存状态变化;
判断模块,用于根据所述获取模块获取的所述终端的业务***的内存状态数据,和所述检测模块检测到的所述终端的业务***的内存状态变化数据,判断所述终端的业务***的内存状态变化是否超过预设的变化阈值;
设置模块,用于在所述终端的业务***的内存状态变化超过预设的变化阈值时,将所述终端的业务***的内存自检的标志位设置为第一标志位,在所述终端的业务***的内存变化未超过预设的变化阈值时,将所述终端的业务***的内存自检的标志位设置为第二标志位。
14.如权利要求13所述的终端,其特征在于,所述获取模块获取到的所述终端的业务***发送的内存自检结果包括:所述终端的业务***内存训练的结果和所述终端的业务***内存自检的结果。
15.如权利要求13或14所述的终端,其特征在于,所述获取模块,具体用于:
通过第一通道从所述终端的业务***上报的所述终端的存储设备的状态信息中获取所述终端的业务***的内存状态数据,所述内存状态数据存储于所述终端的存储设备;
其中,所述第一通道为所述终端的业务***与所述终端的嵌入式***的通信通道;
所述内存状态数据包括:所述终端的存储设备的SPD信息、所述终端的存储设备的内存配置信息中至少一种。
16.如权利要求13或14所述的终端,其特征在于,所述获取模块,具体用于:
通过第二通道从所述终端的存储设备中读取所述终端的业务***的内存状态数据;
其中,所述第二通道为所述终端的存储设备与所述终端的嵌入式***的通信通道;
所述内存状态数据包括:所述终端的存储设备的SPD信息、所述终端的存储设备的内存配置信息中至少一种。
17.如权利要求15或16所述的终端,其特征在于,所述获取模块获取到的所述终端的业务***的内存状态变化数据包括:所述终端的业务***的内存错误检测和纠正ECC数据、所述终端的业务***的内存环境温度变化数据、所述终端的业务***的内存电压变化数据中至少一种。
18.如权利要求17所述的终端,其特征在于,所述判断模块,包括:
第一判断单元,用于根据所述获取模块获取到的所述终端的业务***的内存SPD信息或者内存配置信息判断所述终端的业务***的内存SPD或者内存配置变化是否超过预设的变化阈值;
第二判断单元,用于根据所述获取模块获取到的所述终端的业务***的内存ECC数据、或者所述终端的业务***的内存环境温度变化数据、或者所述终端的业务***的内存电压变化数据判断所述终端的业务***的内存状态变化是否超过预设的变化阈值;
第三判断单元,用于在所述第一判断单元判断结果为是时,或者,所述第二判断单元判断结果为是时,判定所述终端的业务***的内存状态变化超过预设的变化阈值。
19.一种终端***内存初始化的控制***,其特征在于,包括:如权利要求10-12所描述的终端,和如权利要求13-18所描述的终端。
CN201310616938.1A 2013-11-27 2013-11-27 一种终端***内存初始化的控制方法及装置 Pending CN103605591A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310616938.1A CN103605591A (zh) 2013-11-27 2013-11-27 一种终端***内存初始化的控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310616938.1A CN103605591A (zh) 2013-11-27 2013-11-27 一种终端***内存初始化的控制方法及装置

Publications (1)

Publication Number Publication Date
CN103605591A true CN103605591A (zh) 2014-02-26

Family

ID=50123820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310616938.1A Pending CN103605591A (zh) 2013-11-27 2013-11-27 一种终端***内存初始化的控制方法及装置

Country Status (1)

Country Link
CN (1) CN103605591A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016074127A1 (zh) * 2014-11-10 2016-05-19 华为技术有限公司 计算机设备及计算机设备内存启动的方法
CN105842559A (zh) * 2016-03-23 2016-08-10 广东欧珀移动通信有限公司 测试结果写入方法、装置及测试***和移动终端
CN108279937A (zh) * 2018-01-23 2018-07-13 广东欧珀移动通信有限公司 参数的调用方法、装置、存储介质及电子设备
CN109660398A (zh) * 2018-12-21 2019-04-19 深圳创维数字技术有限公司 路由器***修复方法、终端及存储介质
CN110941454A (zh) * 2019-11-08 2020-03-31 山东超越数控电子股份有限公司 一种实现内存自适应的方法及***
CN111459557A (zh) * 2020-03-12 2020-07-28 烽火通信科技股份有限公司 一种缩短服务器开机时间的方法及***
CN111504427A (zh) * 2020-05-27 2020-08-07 岳海民 一种燃气表检表方法及应用该检表方法的燃气表
CN112612608A (zh) * 2020-12-16 2021-04-06 海光信息技术股份有限公司 一种内存训练的方法及***
CN117389657A (zh) * 2023-12-12 2024-01-12 荣耀终端有限公司 电子设备开机方法、电子设备和存储介质
CN117970226A (zh) * 2024-04-02 2024-05-03 青岛高科通信股份有限公司 一种智能电表抄读检测方法、介质及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098158A (en) * 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
CN1545654A (zh) * 2001-08-22 2004-11-10 () 计算机快速启动方法
CN1900908A (zh) * 2005-07-21 2007-01-24 鸿富锦精密工业(深圳)有限公司 计算机快速启动***及方法
CN102508761A (zh) * 2011-11-17 2012-06-20 宇龙计算机通信科技(深圳)有限公司 终端电量的管理方法和终端
CN103077102A (zh) * 2011-10-25 2013-05-01 鸿富锦精密工业(深圳)有限公司 计算机开机侦测***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098158A (en) * 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
CN1545654A (zh) * 2001-08-22 2004-11-10 () 计算机快速启动方法
CN1900908A (zh) * 2005-07-21 2007-01-24 鸿富锦精密工业(深圳)有限公司 计算机快速启动***及方法
CN103077102A (zh) * 2011-10-25 2013-05-01 鸿富锦精密工业(深圳)有限公司 计算机开机侦测***
CN102508761A (zh) * 2011-11-17 2012-06-20 宇龙计算机通信科技(深圳)有限公司 终端电量的管理方法和终端

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10481916B2 (en) 2014-11-10 2019-11-19 Huawei Technologies Co., Ltd. Computer device and memory startup method of computer device
WO2016074127A1 (zh) * 2014-11-10 2016-05-19 华为技术有限公司 计算机设备及计算机设备内存启动的方法
CN105842559A (zh) * 2016-03-23 2016-08-10 广东欧珀移动通信有限公司 测试结果写入方法、装置及测试***和移动终端
CN105842559B (zh) * 2016-03-23 2018-11-20 广东欧珀移动通信有限公司 测试结果写入方法、装置及测试***和移动终端
CN108279937B (zh) * 2018-01-23 2022-03-25 Oppo广东移动通信有限公司 参数的调用方法、装置、存储介质及电子设备
CN108279937A (zh) * 2018-01-23 2018-07-13 广东欧珀移动通信有限公司 参数的调用方法、装置、存储介质及电子设备
CN109660398A (zh) * 2018-12-21 2019-04-19 深圳创维数字技术有限公司 路由器***修复方法、终端及存储介质
CN110941454A (zh) * 2019-11-08 2020-03-31 山东超越数控电子股份有限公司 一种实现内存自适应的方法及***
CN111459557A (zh) * 2020-03-12 2020-07-28 烽火通信科技股份有限公司 一种缩短服务器开机时间的方法及***
CN111504427A (zh) * 2020-05-27 2020-08-07 岳海民 一种燃气表检表方法及应用该检表方法的燃气表
CN111504427B (zh) * 2020-05-27 2021-10-22 岳海民 一种燃气表检表方法及应用该检表方法的燃气表
CN112612608A (zh) * 2020-12-16 2021-04-06 海光信息技术股份有限公司 一种内存训练的方法及***
CN112612608B (zh) * 2020-12-16 2022-07-29 海光信息技术股份有限公司 一种内存训练的方法及***
CN117389657A (zh) * 2023-12-12 2024-01-12 荣耀终端有限公司 电子设备开机方法、电子设备和存储介质
CN117389657B (zh) * 2023-12-12 2024-05-10 荣耀终端有限公司 电子设备开机方法、电子设备和存储介质
CN117970226A (zh) * 2024-04-02 2024-05-03 青岛高科通信股份有限公司 一种智能电表抄读检测方法、介质及***

Similar Documents

Publication Publication Date Title
CN103605591A (zh) 一种终端***内存初始化的控制方法及装置
US8346977B2 (en) Device address assignment in a bus cascade system
US8806285B2 (en) Dynamically allocatable memory error mitigation
CN103218275B (zh) 数据错误修复方法、装置和设备
CN103366831A (zh) 存储器的检测方法
CN103744824A (zh) 一种出厂测试方法和测试***
CN103247345A (zh) 快闪存储器及快闪存储器失效存储单元检测方法
US11221933B2 (en) Holdup self-tests for power loss operations on memory systems
CN104914815A (zh) 处理器监控方法、装置及***
CN110632498A (zh) 测试方法和***
CN107831885A (zh) Doze模式切换方法、装置、移动终端及可读存储介质
CN114203253A (zh) 芯片的存储器故障修复装置和芯片
CN113608684B (zh) 内存信息获取方法、装置、***、电子设备及存储介质
CN103208314A (zh) 嵌入式***的内存测试方法及嵌入式***
CN108364670B (zh) 读写压力测试方法、装置、设备及存储介质
CN113851180A (zh) 检测ssd备电可靠性的***、测试治具及ssd
US9727240B2 (en) Data erasable method of memory in smart card and smart card thereof
CN112866061A (zh) 一种板载网口的ncsi测试方法、装置、设备及介质
CN104134464A (zh) 地址线测试***及方法
CN112905375A (zh) 双芯智能电表管理单元的自恢复方法、装置和计算机设备
CN106909489B (zh) 一种测试EventLog状态的方法及装置
CN216749321U (zh) 坏点自检测装置及芯片
CN115658373B (zh) 基于服务器的内存处理方法和装置、处理器及电子设备
CN111429962A (zh) 存储器定期进行bist测试的方法、装置、计算机设备及存储介质
CN114237376B (zh) 一种显示面板的电源管理集成芯片的控制方法和***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140226