本发明涉及计算机通讯,更为具体地,涉及一种cpu跳跃异常内存条进行内存条读取的开机方法、系统。
背景技术:
1、在当今数字化社会服务器无处不在,作为服务器的核心心脏,cpu稳定支持os开机并持久运行是各个数字化企业都应该注意的事情,作为intel第四代服务器cpu:sapphirerapids的cpu平台却有着一个致命错误,如在开机前将一根无法读取spd的ddr5内存条插在memory controller(内存控制器)的第一个槽位(并不局限于内存控制器的第一个槽位,此处只是为了更好举例说明),在再无法读取spd的ddr5内存条后面同memory controller(内存控制器)的位置插入一条能正常初始化并开机的ddr5内存条,这样bios在 pei memory初始化阶段对无法读取spd ddr5内存条后面同处于一个memory controller(内存控制器)下的ddr5内存条初始化时,将会必然出现内存条初始化失败的情况。
2、因此,亟需能够修复sapphire rapids的cpu平台上所遇到的开机启动bios无法读取内存条spd后,在不拔条的情况下对异常内存条进行屏蔽并使cpu正确识别到后面同memory controller(内存控制器)下所插入的ddr5内存条的一种cpu跳跃异常内存条进行内存条读取的开机方法。
技术实现思路
1、鉴于上述问题,本发明的目的是提供一种cpu跳跃异常内存条进行内存条读取的开机方法,以解决sapphire rapids的cpu平台在开机前将一根无法读取spd的ddr5内存条插在memory controller(内存控制器)的第一个槽位(并不局限于内存控制器的第一个槽位,此处只是为了更好举例说明),在再无法读取spd的ddr5内存条后面同memorycontroller(内存控制器)的位置插入一条能正常初始化并开机的ddr5内存条,这样bios在pei memory初始化阶段对无法读取spd ddr5内存条后面同处于一个memory controller(内存控制器)下的ddr5内存条初始化时,将会必然出现内存条初始化失败的情况的技术问题。
2、本发明提供的一种cpu跳跃异常内存条进行内存条读取的开机方法,其中,包括:
3、对cpu平台进行上电,所述cpu平台中的基板控制器上电工作;
4、通过预设的插入状态检测单元对上电工作的基板控制器进行插入状态检测,当有内存条插入,所述插入状态检测单元显示插入电平;
5、若显示插入电平,打开所述基板控制器上所插入的插入内存条的数据通道,使所述基板控制器获取所述插入内存条进行信息读取以尝试获取spd信息;其中,若无法获取所述插入内存条的spd信息,则判定所述插入内存为异常内存条,通过预设的负载开关关闭所述异常内存条的电源,并依次对所述基板控制器上插设的下一个插入内存条进行信息读取;若成功读取所述插入内存条的spd信息,则依次对所述基板控制器上插设的下一个插入内存条进行信息读取;
6、当对所述基板控制器上的所有插入内存条均进行过信息读取后,下发命令至所述cpu平台的cpu板,以完成开机。
7、优选地,所述插入状态检测单元的检测引脚插入在所述基板控制器的gpio上。
8、优选地,所述插入电平为gpio接地;
9、当有内存条插入时,所述插入状态检测单元所连接的gpio接地;
10、当内存条断开时,所述插入状态检测单元所连接的gpio呈现3.3v电平。
11、优选地,在所述插入内存条上设置有两组电源输入,一组是用于为内存条上的pmic芯片供电的供电电压,一组为用于作为所述pmic芯片内部的电压调节器的dcdc输入电压的内部电压。
12、优选地,所述通过预设的负载开关关闭所述异常内存条的电源,包括:
13、通过预设的负载开关关闭所述供电电压;其中,所述负载开关的使能管脚连接在所述基板控制器的gpio上,以使所述基板控制器控制所述负载开关。
14、优选地,所述供电电压为3.3v,所述内部电压为12v。
15、优选地,所述cpu平台为intel第四代服务器sapphire rapids的cpu平台。
16、优选地,所述内存条为同处于一个内存控制器的ddr5内存条。
17、本发明还提供一种cpu跳跃异常内存条进行内存条读取的开机系统,其中,实现如前所述的cpu跳跃异常内存条进行内存条读取的开机方法,包括cpu平台、集成在所述cpu平台上的基板控制器、与所述基板控制器通信连接的插入状态检测单元,以及寄生在所述基板控制器上的读取程序和执行程序;其中,
18、所述插入状态检测单元用于对上电工作的基板控制器进行插入状态检测,当有内存条插入,所述插入状态检测单元显示插入电平;
19、所述读取程序用于进行在显示插入电平时,打开所述基板控制器上所插入的插入内存条的数据通道,使所述基板控制器获取所述插入内存条进行信息读取以尝试获取spd信息;其中,若无法获取所述插入内存条的spd信息,则判定所述插入内存为异常内存条,通过预设的负载开关关闭所述异常内存条的电源,并依次对所述基板控制器上插设的下一个插入内存条进行信息读取;若成功读取所述插入内存条的spd信息,则依次对所述基板控制器上插设的下一个插入内存条进行信息读取;
20、所述执行程序用于当对所述基板控制器上的所有插入内存条均进行过信息读取,则下发命令至所述cpu平台的cpu板,以完成开机。
21、优选地,所述负载开关的使能管脚连接在所述基板控制器的gpio上。
22、从上面的技术方案可知,本发明提供的cpu跳跃异常内存条进行内存条读取的开机方法、系统,通过预设的插入状态检测单元对上电工作的cpu平台中的基板控制器进行插入状态检测,当有内存条插入,所述插入状态检测单元显示插入电平;若显示插入电平,则打开基板控制器上所插入的插入内存条的数据通道,使基板控制器获取所述插入内存条进行信息读取以尝试获取spd信息;其中,若无法获取所述插入内存条的spd信息,则判定插入内存为异常内存条,通过预设的负载开关关闭所述异常内存条的电源,并依次对基板控制器上插设的下一个插入内存条进行信息读取;若成功读取所述插入内存条的spd信息,则依次对所述基板控制器上插设的下一个插入内存条进行信息读取,当对基板控制器上的所有插入内存条均进行过信息读取,则下发命令至cpu平台的cpu板,以完成开机,从而即使前边存在异常的内存条,也能够在不拔掉异常内存条的情况下通过为异常内存条断电的形式,跨过异常内存条,顺利读取后边的正常内存条,完成所有正常内存条的初始化,进而正常开机。
1.一种cpu跳跃异常内存条进行内存条读取的开机方法,其特征在于,包括:
2.如权利要求1所述的cpu跳跃异常内存条进行内存条读取的开机方法,其特征在于,
3.如权利要求2所述的cpu跳跃异常内存条进行内存条读取的开机方法,其特征在于,所述插入电平为gpio接地;
4.如权利要求1所述的cpu跳跃异常内存条进行内存条读取的开机方法,其特征在于,在所述插入内存条上设置有两组电源输入,一组是用于为内存条上的pmic芯片供电的供电电压,一组为用于作为所述pmic芯片内部的电压调节器的dcdc输入电压的内部电压。
5.如权利要求4所述的cpu跳跃异常内存条进行内存条读取的开机方法,其特征在于,所述通过预设的负载开关关闭所述异常内存条的电源,包括:
6.如权利要求5所述的cpu跳跃异常内存条进行内存条读取的开机方法,其特征在于,
7.如权利要求6所述的cpu跳跃异常内存条进行内存条读取的开机方法,其特征在于,
8.如权利要求7所述的cpu跳跃异常内存条进行内存条读取的开机方法,其特征在于,
9.一种cpu跳跃异常内存条进行内存条读取的开机系统,其特征在于,实现如权利要求1-8任一所述的cpu跳跃异常内存条进行内存条读取的开机方法,其中,包括cpu平台、集成在所述cpu平台上的基板控制器、与所述基板控制器通信连接的插入状态检测单元,以及寄生在所述基板控制器上的读取程序和执行程序;其中,
10.如权利要求9所述的cpu跳跃异常内存条进行内存条读取的开机系统,其特征在于,