CN111459557B - 一种缩短服务器开机时间的方法及系统 - Google Patents

一种缩短服务器开机时间的方法及系统 Download PDF

Info

Publication number
CN111459557B
CN111459557B CN202010172341.2A CN202010172341A CN111459557B CN 111459557 B CN111459557 B CN 111459557B CN 202010172341 A CN202010172341 A CN 202010172341A CN 111459557 B CN111459557 B CN 111459557B
Authority
CN
China
Prior art keywords
memory
server
memory training
parameter
errors
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
CN202010172341.2A
Other languages
English (en)
Other versions
CN111459557A (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.)
Fiberhome Supermicro Information And Technology Co ltd
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Supermicro Information And Technology Co ltd
Fiberhome Telecommunication 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 Fiberhome Supermicro Information And Technology Co ltd, Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Supermicro Information And Technology Co ltd
Priority to CN202010172341.2A priority Critical patent/CN111459557B/zh
Publication of CN111459557A publication Critical patent/CN111459557A/zh
Application granted granted Critical
Publication of CN111459557B publication Critical patent/CN111459557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种缩短服务器开机时间的方法及系统,涉及服务器技术领域,该方法包括步骤:服务器上电后,如果服务器内存配置与前一次运行相同,且前一次运行过程中未出现不可纠正错误、以及可纠正错误的有效计数小于错误阈值,服务器获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化;否则,服务器重新进行完整内存初始化,并存储新的内存训练参数。本发明方法,在服务器下电后再次上电时,通过判断前一次上电后存储的内存训练参数是否可用,来选择性地进行完整内存初始化,不必每次上电都重新进行完整的内存训练,也不是单纯的直接进行内存训练参数回填完成初始化,极大缩短服务器开机所需时间,提高服务器的可用度。

Description

一种缩短服务器开机时间的方法及系统
技术领域
本发明涉及服务器技术领域,具体涉及一种缩短服务器开机时间的方法及系统。
背景技术
服务器在开机启动过程中,BIOS(Basic input/output system,基本输入输出系统)程序会逐一初始化服务器各部分硬件设备,其中耗费开机时间最长的部分是内存的初始化。由于DDR(Double Data Rate,双倍数据速率)内存中的DDR3或DDR4内存走线的一驱多拓扑结构,数据线或地址线到达各内存芯片的延迟不一致,需要进行内存训练(Training),即内存控制器要对所有内存芯片逐一调整延迟参数,以满足DDR读写时序规范。该过程要对系统中所配置的内存逐一扫描,从内存控制器参数的训练值集合中找到最优值,因此,内存初始化耗费时间过长。
另外,内存的训练时间和系统内存容量成正比,随着服务器内存数量和容量的逐年提升,内存训练占用开机时间的问题日益突出,尤其是四路、八路服务器,内存初始化时间可以达到数分钟之久。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种缩短服务器开机时间的方法及系统,可选择性进行内存初始化程序,缩短服务器开机时间。
本发明第一方面提供一种缩短服务器开机时间的方法,其包括步骤:
服务器上电后,如果服务器内存配置与前一次运行相同,且前一次运行过程中未出现不可纠正错误、以及可纠正错误的有效计数小于错误阈值,上述服务器获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化;
否则,上述服务器重新进行完整内存初始化,并存储新的内存训练参数。
基于第一方面,在可能的实施例中,设立一个内存训练的标志位,上述服务器运行过程中,通过基板管理控制器BMC实时监视内存错误类型和错误计数;
当出现不可纠正错误时,内存训练的标志位置1;
当可纠正错误的有效计数大于或等于错误阈值时,内存训练的标志位置1;
当未出现不可纠正错误、且可纠正错误的有效计数小于错误阈值时,内存训练的标志位置0。
基于第一方面,在可能的实施例中,每次服务器上电后,当服务器内存配置与前一次运行相同时,先读取内存训练的标志位,如果标志位为0,说明前一次上电存储的内存训练参数可用,服务器获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化;
如果标志位为1,说明前一次上电存储的内存训练参数不可用,上述服务器重新进行完整内存初始化,并存储新的内存训练参数;
上述内存配置包括配置的内存条数量、所配置的内存条规格、各内存条所在的槽位及各槽位上内存的序列号
基于第一方面,在可能的实施例中,获取错误阈值具体包括:
获取上述可纠正错误的过滤参数、周期参数与倍数参数;
计算上述过滤参数、周期参数与倍数参数的乘积,得到上述错误阈值;
上述过滤参数为每秒允许的可纠正错误数量;上述周期参数为设定的对可纠正错误的判断周期;上述倍数参数为设定的周期内出现的可纠正错误的放大倍数。
基于第一方面,在可能的实施例中,获取可纠正错误的有效计数,具体包括:
计算上述过滤参数和周期参数的乘积,得到周期内允许的可纠正错误的周期阈值;
获取当前周期新增错误数量,减去上述周期阈值,得到当前周期的有效计数;
计算上述当前周期的有效计数与上一周期的有效计数之和,得到上述可纠正错误的有效计数。
基于第一方面,在可能的实施例中,上述服务器首次上电时,通过基本输入输出系统BIOS程序进行完整内存初始化,执行标准内存训练过程,并将得到的内存训练参数通过上述BMC存储至存储装置。
基于第一方面,在可能的实施例中,上述完整内存初始化具体包括:
对内存控制器进行初始化,并对内存控制器参数进行内存训练,找到满足训练要求的参数集;
从上述参数集中逐个扫描找到最佳相位匹配参数,作为内存训练参数;
将上述内存训练参数由SMBUS总线传递至上述BMC,并存储至存储装置。
基于第一方面,在可能的实施例中,上述内存训练参数包括地址Addr或命令Cmd信号对时钟CLK的延迟值,以及双向数据控制DQ信号对双向数据控制引脚DQS的延迟值。
本发明第二方面提供一种缩短服务器开机时间的系统,其设置于服务器,其包括:
判断模块,用于在服务器上电后,判断服务器内存配置与前一次运行是否相同、前一次运行过程中是否出现不可纠正错误、以及可纠正错误的有效计数是否小于错误阈值;
初始化模块,用于在判断模块判断服务器内存配置与前一次运行相同、未出现不可纠正错误、且可纠正错误的有效计数小于错误阈值时,获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化;还用于在判断模块判断其他情况时,重新进行完整内存初始化,得到新的内存训练参数;
存储模块,其用于存储上述新的内存训练参数。
基于第二方面,在可能的实施例中,还包括BMC模块,其用于设立一个内存训练的标志位,以及实时监视述服务器运行过程中的内存错误类型和错误计数;
当出现不可纠正错误时,上述内存训练的标志位置1;
当可纠正错误的有效计数大于或等于错误阈值时,上述内存训练的标志位置1;
当未出现不可纠正错误、且可纠正错误的有效计数小于错误阈值时,上述内存训练的标志位置0;
每次服务器上电时,上述判断模块判断服务器内存配置与前一次运行相同后,还用于读取内存训练的标志位,如果标志位为0,上述初始化模块用于获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化;
如果标志位为1,上述初始化模块用于重新进行完整内存初始化,并存储新的内存训练参数。
与现有技术相比,本发明的优点在于:
(1)本发明的缩短服务器开机时间的方法,在服务器下电后再次上电时,根据服务器当前内存配置与前一次运行是否相同、前一次运行过程中是否出现不可纠正错误、以及可纠正错误的有效计数是否超过错误阈值,判断前一次上电后存储的内存训练参数是否可用,来选择性地进行完整内存初始化,与现有的开机初始化过程相比,即不必每次上电都重新进行完整的内存训练,也不是单纯的直接进行内存训练参数回填以完成初始化,极大缩短了服务器开机所需时间,提高服务器的可用度。
(2)本发明的缩短服务器开机时间的方法,具有广泛的适用性,通过管理单元BMC实时监视服务器运行过程中内存错误类型和错误计数,对内存训练的标志位置0或1,以便于下一次上电时以此选择是否重新做内存训练,增强了服务器的可靠性和稳定性。
附图说明
图1为本发明实施例提供的缩短服务器开机时间的方法的流程图;
图2为本发明实施例提供的内存训练的标志位置0或1的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
本发明提供一种缩短服务器开机时间的方法的实施例,其包括步骤:
服务器上电后,如果服务器内存配置与前一次运行相同,且前一次运行过程中未出现不可纠正错误、以及可纠正错误的有效计数小于错误阈值,服务器获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化;
否则,该服务器重新进行完整内存初始化,并存储新的内存训练参数。
其中,上述内存配置是指服务器中配置的内存部件,具体包括配置的内存条数量、所配置的内存条规格、各内存条所在的槽位及各槽位上内存的序列号。服务器内存配置与前一次运行相同是指:服务器中配置的内存部件,跟上一次一模一样,其数量一样、配置规格相同、所安装的位置也没有发生变化。即,一旦硬件发生了变化,就需要重新初始化。
参见图1所示,本实施例的方法具体包括:
S1.服务器上电后,判断服务器内存配置与前一次运行是否相同,若是,转向S2,若否,转向S4。
S2.判断前一次运行过程中是否未出现不可纠正错误、且可纠正错误的有效计数小于错误阈值,若是,转向S3,若否,转向S4。
S3.服务器获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化,结束。
S4.该服务器重新进行完整内存初始化,并存储新的内存训练参数,结束。
本实施例的缩短服务器开机时间的方法,在服务器下电后再次上电时,根据服务器当前内存配置与前一次运行是否相同、前一次运行过程中是否出现不可纠正错误、以及可纠正错误的有效计数是否超过错误阈值,判断前一次上电后存储的内存训练参数是否可用,来选择性地进行完整内存初始化。若判断前一次上电存储的内存训练参数可用,则可直接获取该内存训练参数,并通过回填的方式,即跳过内存训练,以达到快速完成内存初始化的目的;若判断该内存训练参数不可用,则表明运行环境如温度、电压等发生了变化,可能导致内存读写错误,因此需要选择重新进行完整内存初始化,并存储新的内存训练参数。
本实施例与现有的开机初始化过程相比,即不必每次上电都重新进行完整的内存训练,也不是单纯的直接进行内存训练参数回填以完成初始化,极大缩短了服务器开机所需时间,提高服务器的可用度。
在上一个实施例的基础上,本实施例方法还包括设立一个内存训练的标志位,服务器运行过程中,通过BMC(Baseboard ManagementController,基板管理控制器)实时监视基本输入输出系统BIOS程序发送的内存错误类型和错误计数,并根据判断规则对内存训练的标志位置0或1。
上述判断规则为:当出现不可纠正错误时,内存训练的标志位置1;当可纠正错误的有效计数大于或等于错误阈值时,内存训练的标志位置1;当未出现不可纠正错误、且可纠正错误的有效计数小于错误阈值时,内存训练的标志位置0。
本实施例中,每次服务器上电后,当服务器内存配置与前一次运行相同时,先读取内存训练的标志位,如果标志位为0,说明前一次上电存储的内存训练参数可用,服务器获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化;如果标志位为1,说明前一次上电存储的内存训练参数不可用,服务器重新进行完整内存初始化,并存储新的内存训练参数。
参见下表1,上述内存错误类型包括可纠正错误和不可纠正错误。其中,上述不可纠正错误包括突发致命错误、可选择处理的不可纠正错误、不需要处理的不可纠正错误、必须处理的不可纠正错误以及巡检不可纠正错误。可纠正错误包括巡检可纠正错误、读写可纠正错误以及迁移可纠正错误。上述8种错误在X86架构服务器内存技术中,为通用分类错误,具体可参见:《
Figure BDA0002409631470000081
64and IA-32Architectures Software Developer’s Manual》。
表1
Figure BDA0002409631470000082
本实施例的方法,具有广泛的适用性,通过BMC实时监视服务器运行过程中内存错误类型和错误计数,来对内存训练的标志位置0或1,以便于下一次上电时以此选择是否重新做内存训练,增强了服务器的可靠性和稳定性。
在第二个实施例的基础上,本实施例中,获取上述错误阈值具体包括:
首先,获取告警为可纠正错误时的过滤参数、周期参数与倍数参数。然后计算上述过滤参数、周期参数与倍数参数的乘积,得到上述错误阈值,即错误阈值=过滤参数×周期参数×倍数参数。
由于内存错误产生的数量会随着运行时间累计增加,若是单纯以累计计数的方式进行计算,不考虑时间维度的因素,很容易出现误报。因为即使是在可纠正错误出现的频率很低的情况下,经过连续几个小时或更长时间累加,总计数量也会超过错误阈值。为了避免这种情况发生,需要对错误计数采用过滤的方式,即设置一个错误的过滤参数,每秒从总错误计数中减掉一个固定的数值,以避免错误数量随时间过度积累,得到有效错误计数。因此,上述过滤参数为每秒允许的可纠正错误数量。可选地,过滤参数的取值范围为1-10个/秒。
服务器在运行过程中,若内存短时间产生大量错误,可能是受外界电磁干扰,瞬时造成较多的内存报错而并非是持续性的,这类内存错误会很快被纠正,在一定时间后则不会再次产生该类错误。为了避免这类错误对计数的干扰,可对一定周期内的错误数据进行累计判断,即设置一个周期参数。上述周期参数为设定的对可纠正错误的判断周期。可选地,周期参数的取值范围为3-60秒。
本实施例中,倍数参数为设定的周期内出现的可纠正错误的放大倍数。该倍数参数代表对可纠正错误的出现频次的容忍程度,倍数参数越小,则对内存错误的敏感度越高,倍数参数越大,则对内存错误的敏感度越低。可选地,倍数参数的取值范围为10-100。
进一步地,错误阈值越小,对内存错误纠正的要求越严格。当错误阈值较小时,极容易出现可纠正错误累计超出错误阈值,变成不可纠正错误,因此对错误类型的漏报情况较少,但判断的准确性较低。
可选地,对错误判断的准确性要求不高但不可漏报的极端情况,设置过滤参数为1个/秒,周期参数为3秒,倍数参数为10,则错误阈值为30。
可选地,对错误判断的准确性要求较高但同时也考虑少漏报的实用平衡情况,设置过滤参数为1个/秒,周期参数为60秒,倍数参数为100,则错误阈值为6000。
可选地,对错误判断的准确性要求很高的极端情况,设置过滤参数为10个/秒,周期参数为60秒,倍数参数为100,则错误阈值为60000。
在上述实施例的基础上,本实施例中,获取可纠正错误的有效计数,具体包括:
首先计算上述过滤参数和周期参数的乘积,得到周期内允许的可纠正错误的周期阈值。
然后获取当前周期新增错误数量,减去上述周期阈值,得到当前周期的有效计数。
最后计算上述当前周期的有效计数与上一周期的有效计数之和,得到当前时刻的上述可纠正错误的有效计数。
即,可纠正错误的有效计数=上一周期的有效计数+当前周期新增错误数量-过滤参数×周期参数。因此,当可纠正错误的有效计数超过错误阈值时,内存训练的标志位置1。
参见图2所示,本实施例中,标志位置0或1的具体流程如下:
A1、获取可纠正错误的过滤参数、周期参数与倍数参数;
A2、然后计算上述过滤参数、周期参数与倍数参数的乘积,得到上述错误阈值;
A3、判断是否存在内存错误,若是,则转向A5,若否,则转向A4;
A4、内存训练的标志位置0,结束。
A5、判断内存错误是否为可纠正错误,若是,转向A6,若否,转向A7。
A6、判断可纠正错误的有效计数是否超过错误阈值,若是,则转向A7,若否,则转向A4;
A7、内存训练的标志位置1,结束。
在上述实施例的基础上,本实施例中,服务器首次上电时,需要通过基本输入输出系统BIOS程序进行完整内存初始化,执行标准内存训练过程,并将得到的内存训练参数通过上述BMC存储至存储装置。可选地,存储装置为串行外设接口闪存(SPI flash)。
本实施例中,上述完整内存初始化具体包括:
首先通过BIOS程序对内存控制器进行初始化,并对内存控制器参数进行内存训练,找到满足训练要求的参数集。然后从上述参数集中逐个扫描找到最佳相位匹配参数,作为内存训练参数,从而保证内存训练参数的裕量最大。
另外,完成内存训练后,BIOS程序还要将上述内存训练参数由SMBUS(SystemManagement Bus,系统管理总线)总线传递至上述BMC,并存储至SPI flash。存储至SPIflash的内存训练参数在服务器下电后不会丢失。
本实施例中,上述内存训练参数包括Addr(Address,地址)信号或Cmd(Command,命令)信号对CLK(Clock,时钟)的延迟值,以及DQ(Bi-directional Data,双向数据控制)信号对DQS(Bi-directional Data Strobe,双向数据控制引脚)的延迟值。
本发明还提供一种缩短服务器开机时间的系统的实施例,该系统设置于服务器,该具体包括判断模块、初始化模块和存储模块。
上述判断模块用于在服务器上电后,判断服务器内存配置与前一次运行是否相同、前一次运行过程中是否出现不可纠正错误、以及可纠正错误的有效计数是否小于错误阈值。
上述初始化模块用于在判断模块判断服务器内存配置与前一次运行相同、未出现不可纠正错误、且可纠正错误的有效计数小于错误阈值时,获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化;还用于在判断模块判断其他情况时,重新进行完整内存初始化,得到新的内存训练参数。
当重新进行完整内存初始化后,上述存储模块用于存储新的内存训练参数,将其本身存储的前一次上电的内存训练参数覆盖。
在上述实施例的基础上,本实施例的系统还包括BMC模块。上述BMC模块用于设立一个内存训练的标志位,以及实时监视述服务器运行过程中的内存错误类型和错误计数。
当出现不可纠正错误时,内存训练的标志位置1;当可纠正错误的有效计数大于或等于错误阈值时,内存训练的标志位置1;当未出现不可纠正错误、且可纠正错误的有效计数小于错误阈值时,内存训练的标志位置0。
每次服务器上电时,判断模块判断服务器内存配置与前一次运行相同后,还用于读取内存训练的标志位,如果标志位为0,说明前一次上电存储的内存训练参数可用,初始化模块用于获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化;如果标志位为1,说明前一次上电存储的内存训练参数不可用,初始化模块用于重新进行完整内存初始化,并存储新的内存训练参数。
本实施例的系统,适用于上述各方法,在服务器上电时,通过判断前一次上电存储的内存训练参数是否可用,来选择性地进行完整内存初始化,极大缩短了服务器开机所需时间,提高服务器的可用度。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (7)

1.一种缩短服务器开机时间的方法,其特征在于,其包括步骤:
服务器上电后,如果服务器内存配置与前一次运行相同,且前一次运行过程中未出现不可纠正错误、以及可纠正错误的有效计数小于错误阈值,所述服务器获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化;
否则,所述服务器重新进行完整内存初始化,并存储新的内存训练参数;
设立一个内存训练的标志位,所述服务器运行过程中,通过基板管理控制器BMC实时监视内存错误类型和错误计数;
当出现不可纠正错误时,内存训练的标志位置1;
当可纠正错误的有效计数大于或等于错误阈值时,内存训练的标志位置1;
当未出现不可纠正错误、且可纠正错误的有效计数小于错误阈值时,内存训练的标志位置0;
获取错误阈值具体包括:
获取所述可纠正错误的过滤参数、周期参数与倍数参数;
计算所述过滤参数、周期参数与倍数参数的乘积,得到所述错误阈值;
所述过滤参数为每秒允许的可纠正错误数量;所述周期参数为设定的对可纠正错误的判断周期;所述倍数参数为设定的周期内出现的可纠正错误的放大倍数;
获取可纠正错误的有效计数,具体包括:
计算所述过滤参数和周期参数的乘积,得到周期内允许的可纠正错误的周期阈值;
获取当前周期新增错误数量,减去所述周期阈值,得到当前周期的有效计数;
计算所述当前周期的有效计数与上一周期的有效计数之和,得到所述可纠正错误的有效计数。
2.如权利要求1所述的缩短服务器开机时间的方法,其特征在于:每次服务器上电后,当服务器内存配置与前一次运行相同时,先读取内存训练的标志位,如果标志位为0,说明前一次上电存储的内存训练参数可用,服务器获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化;
如果标志位为1,说明前一次上电存储的内存训练参数不可用,所述服务器重新进行完整内存初始化,并存储新的内存训练参数;
所述内存配置包括配置的内存条数量、所配置的内存条规格、各内存条所在的槽位及各槽位上内存的序列号。
3.如权利要求1所述的缩短服务器开机时间的方法,其特征在于:所述服务器首次上电时,通过基本输入输出系统BIOS程序进行完整内存初始化,执行标准内存训练过程,并将得到的内存训练参数通过所述BMC存储至存储装置。
4.如权利要求1所述的缩短服务器开机时间的方法,其特征在于,所述完整内存初始化具体包括:
对内存控制器进行初始化,并对内存控制器参数进行内存训练,找到满足训练要求的参数集;
从所述参数集中逐个扫描找到最佳相位匹配参数,作为内存训练参数;
将所述内存训练参数由SMBUS总线传递至所述BMC,并存储至存储装置。
5.如权利要求4所述的缩短服务器开机时间的方法,其特征在于:所述内存训练参数包括地址Addr或命令Cmd信号对时钟CLK的延迟值,以及双向数据控制DQ信号对双向数据控制引脚DQS的延迟值。
6.一种采用如权利要求1-5所述的缩短服务器开机时间的方法的缩短服务器开机时间的系统,其设置于服务器,其特征在于,其包括:
判断模块,用于在服务器上电后,判断服务器内存配置与前一次运行是否相同、前一次运行过程中是否出现不可纠正错误、以及可纠正错误的有效计数是否小于错误阈值;
初始化模块,用于在判断模块判断服务器内存配置与前一次运行相同、未出现不可纠正错误、且可纠正错误的有效计数小于错误阈值时,获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化;还用于在判断模块判断其他情况时,重新进行完整内存初始化,得到新的内存训练参数;
存储模块,其用于存储所述新的内存训练参数;
所述系统还包括BMC模块,其用于设立一个内存训练的标志位,以及实时监视述服务器运行过程中的内存错误类型和错误计数;
当出现不可纠正错误时,所述内存训练的标志位置1;
当可纠正错误的有效计数大于或等于错误阈值时,所述内存训练的标志位置1;
当未出现不可纠正错误、且可纠正错误的有效计数小于错误阈值时,所述内存训练的标志位置0。
7.如权利要求6所述的缩短服务器开机时间的系统,其特征在于:
每次服务器上电时,所述判断模块判断服务器内存配置与前一次运行相同后,还用于读取内存训练的标志位,如果标志位为0,所述初始化模块用于获取前一次上电存储的内存训练参数,并通过回填的方式快速完成内存初始化;
如果标志位为1,所述初始化模块用于重新进行完整内存初始化,并存储新的内存训练参数。
CN202010172341.2A 2020-03-12 2020-03-12 一种缩短服务器开机时间的方法及系统 Active CN111459557B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010172341.2A CN111459557B (zh) 2020-03-12 2020-03-12 一种缩短服务器开机时间的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010172341.2A CN111459557B (zh) 2020-03-12 2020-03-12 一种缩短服务器开机时间的方法及系统

Publications (2)

Publication Number Publication Date
CN111459557A CN111459557A (zh) 2020-07-28
CN111459557B true CN111459557B (zh) 2023-04-07

Family

ID=71683254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010172341.2A Active CN111459557B (zh) 2020-03-12 2020-03-12 一种缩短服务器开机时间的方法及系统

Country Status (1)

Country Link
CN (1) CN111459557B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022032508A1 (en) * 2020-08-12 2022-02-17 Intel Corporation Offloading processor memory training to on-die controller module
CN112596963B (zh) * 2020-12-14 2024-05-03 成都海光集成电路设计有限公司 一种快速内存训练的方法及系统
CN113064639B (zh) * 2021-03-08 2022-09-20 山东英信计算机技术有限公司 一种减少服务器开机时间的方法、系统及介质
CN113835932A (zh) * 2021-11-25 2021-12-24 四川华鲲振宇智能科技有限责任公司 一种内存信号协商训练智能判断方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0398697A2 (en) * 1989-05-17 1990-11-22 International Business Machines Corporation Interprocessor communication
US7386767B1 (en) * 2004-10-05 2008-06-10 Altera Corporation Programmable bit error rate monitor for serial interface
CN101217060A (zh) * 2007-01-02 2008-07-09 国际商业机器公司 用于识别故障存储器元件的系统和方法
CN105589762A (zh) * 2014-08-19 2016-05-18 三星电子株式会社 存储器装置、存储器模块和用于纠错的方法
CN107547266A (zh) * 2017-07-31 2018-01-05 腾讯科技(深圳)有限公司 在线量异常点的检测方法和装置、计算机设备和存储介质
CN109328340A (zh) * 2017-09-30 2019-02-12 华为技术有限公司 内存故障的检测方法、装置和服务器
CN110781053A (zh) * 2019-09-29 2020-02-11 苏州浪潮智能科技有限公司 一种检测内存降级错误的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124329B2 (en) * 2003-09-26 2006-10-17 International Business Machines Corporation Implementing memory failure analysis in a data processing system
CN102298545B (zh) * 2011-08-23 2014-03-19 晨星软件研发(深圳)有限公司 一种系统启动引导处理方法及装置
CN103605591A (zh) * 2013-11-27 2014-02-26 华为技术有限公司 一种终端系统内存初始化的控制方法及装置
CN105117301B (zh) * 2015-08-14 2018-08-14 杭州华为数字技术有限公司 一种内存预警的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0398697A2 (en) * 1989-05-17 1990-11-22 International Business Machines Corporation Interprocessor communication
US7386767B1 (en) * 2004-10-05 2008-06-10 Altera Corporation Programmable bit error rate monitor for serial interface
CN101217060A (zh) * 2007-01-02 2008-07-09 国际商业机器公司 用于识别故障存储器元件的系统和方法
CN105589762A (zh) * 2014-08-19 2016-05-18 三星电子株式会社 存储器装置、存储器模块和用于纠错的方法
CN107547266A (zh) * 2017-07-31 2018-01-05 腾讯科技(深圳)有限公司 在线量异常点的检测方法和装置、计算机设备和存储介质
CN109328340A (zh) * 2017-09-30 2019-02-12 华为技术有限公司 内存故障的检测方法、装置和服务器
CN110781053A (zh) * 2019-09-29 2020-02-11 苏州浪潮智能科技有限公司 一种检测内存降级错误的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴洋.基于布尔可满足性的电路设计错误诊断.中国优秀博士论文 信息科技.2007,全文. *

Also Published As

Publication number Publication date
CN111459557A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN111459557B (zh) 一种缩短服务器开机时间的方法及系统
US7822965B2 (en) BIOS file switching method and controller device thereof
EP3132449B1 (en) Method, apparatus and system for handling data error events with memory controller
US8020053B2 (en) On-line memory testing
US9372759B2 (en) Computing system with adaptive back-up mechanism and method of operation thereof
US11977744B2 (en) Memory anomaly processing method and system, electronic device, and storage medium
US20080126776A1 (en) Electronic apparatus
US9910775B2 (en) Computing system with adaptive back-up mechanism and method of operation thereof
JP6326745B2 (ja) バッテリ制御装置、バッテリ充電容量診断方法およびバッテリ充電容量診断プログラム
KR101141487B1 (ko) 집적 메모리 제어기의 결함 메모리 디바이스들과의 투과성 동작 인에이블링
US11513933B2 (en) Apparatus with temperature mitigation mechanism and methods for operating the same
US10831657B2 (en) Debug data recovery after PLI event
US6985826B2 (en) System and method for testing a component in a computer system using voltage margining
TWI473103B (zh) 快閃記憶體儲存裝置及其不良儲存區域的判定方法
US7447943B2 (en) Handling memory errors in response to adding new memory to a system
US20170103797A1 (en) Calibration method and device for dynamic random access memory
JP2005149501A (ja) Dmaを使用して拡張カードでメモリをテストするためのシステムおよび方法
CN114115714B (zh) 混合存储器模块中的热事件预测
US7487399B2 (en) System and method for testing a component in a computer system using frequency margining
US20090240901A1 (en) Information processing apparatus, storage control device and control method
US20040153783A1 (en) Circuit for detecting abnormal operation of memory and integrated circuit and method for detectiing abnormal operation
CN117349057A (zh) 管理纠正的错误的电子设备和电子设备的操作方法
CN118152176A (zh) 微控制器、控制系统及控制方法

Legal Events

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