一种控制异构混合内存系统冷重启的方法及BMC与流程

文档序号:15047146发布日期:2018-07-27 22:55阅读:309来源:国知局

本发明涉及存储技术领域,特别是涉及一种控制异构混合内存系统冷重启的方法及bmc。



背景技术:

随着存储技术的发展,一种新型存储介质nvm(non-volatilememory,非易失性存储器)逐渐被广泛应用。nvm具有按位存取能力、断电后数据不丢失、存储密度大、静态功耗低、动态功耗高及可扩展性强等优点。但是,nvm的写延迟比目前常用的dram(dynamicrandomaccessmemory,动态随机存取存储器)慢一个或几个数量级,其写入次数还受限制,所以,为了满足计算机系统的实时性需求,将dram和nvm一起连接在系统总线上组合成异构混合内存,异构混合内存具有dram和nvm二者的优点。

但是,当计算机系统需要进行冷重启(即先断电关机,再开机)时,若不将nvm中的数据进行写回保护就直接对计算板断电,将会导致该计算机系统在冷重启后无法正常使用,所以冷重启时需要考虑如何控制异构混合内存所在的计算机系统完成冷重启并实现正常使用。

因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种控制异构混合内存系统冷重启的方法及bmc,保护了计算机系统冷重启时异构混合内存中的数据,使异构混合内存所在的计算机系统可以正常使用。

为解决上述技术问题,本发明提供了一种控制异构混合内存系统冷重启的方法,应用于计算机系统中的基板管理控制器bmc,包括:

在所述计算机系统发出冷重启信号后,生成数据保护信号,以便于所述计算机系统中的非易失性存储器nvm在接收到所述数据保护信号后进行数据写回操作;

检测到所述nvm完成数据写回操作后,控制复杂可编程逻辑器件cpld对计算板进行断电操作后再进行上电操作,并在所述计算板完成上电后,引导基本输入输出系统bios进行快速通道互联qpi启动;

在所述bios完成qpi启动后控制所述计算机系统中的cpu访问所述nvm的通道连通,并控制所述计算机系统中的动态随机存取存储器dram与所述nvm之间的内存信息交互,且引导所述bios完成剩余启动流程,控制所述计算机系统完成冷重启。

优选地,在控制cpld对计算板进行断电操作之后,在控制cpld对所述计算板进行上电操作之前,该方法还包括:

在所述计算板断电后开始计时,当计时时间到达预设时间时,生成上电操作信号,以便于所述cpld在接收到所述上电操作信号后对所述计算板进行上电操作。

优选地,所述预设时间为5s。

优选地,所述控制所述计算机系统中的cpu访问所述nvm的通道连通的过程具体为:

分别配置所述计算机系统中的第一现场可编程逻辑门阵列fpga和挂载所述nvm的第二fpga;

控制所述计算机系统中的cpu与第一fpga之间的访问通道连通,并控制所述第一fpga与所述第二fpga之间的访问通道连通,以便于所述cpu依次通过所述第一fpga和所述第二fpga访问所述nvm。

优选地,所述内存信息包括内存容量及内存地址。

优选地,所述控制所述计算机系统中的动态随机存取存储器dram与所述nvm之间的内存信息交互的过程具体为:

从所述cpu中获取该计算机系统中dram的内存信息,并将所述dram的内存信息发送至所述第二fpga;

从所述第二fpga中获取所述第二fpga根据所述dram的内存信息及所述dram和所述nvm的拼接顺序相应地确定的nvm的内存信息;

将确定的nvm的内存信息发送至所述bios,完成所述dram与所述nvm之间的内存信息的交互。

优选地,所述分别配置所述计算机系统中的第一现场可编程逻辑门阵列fpga和挂载所述nvm的第二fpga的过程具体为:

根据所述计算机系统中的第一fpga和挂载所述nvm的第二fpga两个芯片的芯片说明相应地写入规定数据至两个所述芯片。

优选地,所述引导基本输入输出系统bios进行快速通道互联qpi启动的过程具体为:

引导bios进行qpi慢速启动;

在接收到所述bios在完成qpi慢速启动后生成的重启信号后引导所述bios进行qpi快速启动。

优选地,所述第一fpga具体为virtex72000t型fpga,所述第二fpga具体为virtex7690t型fpga。

为解决上述技术问题,本发明还提供了一种控制异构混合内存系统冷重启的bmc,包括:

数据保护单元,用于在计算机系统发出冷重启信号后,生成数据保护信号,以便于所述计算机系统中的nvm在接收到所述数据保护信号后进行数据写回操作;

断电上电单元,用于检测到所述nvm完成数据写回操作后,控制cpld对计算板进行断电操作后再进行上电操作,并在所述计算板完成上电后,引导bios进行qpi启动;

冷重启单元,用于在所述bios完成qpi启动后控制所述计算机系统中的cpu访问所述nvm的通道连通,并控制所述计算机系统中的dram与所述nvm之间的内存信息交互,且引导所述bios完成剩余启动流程,控制所述计算机系统完成冷重启。

本发明提供了一种控制异构混合内存系统冷重启的方法,应用于计算机系统中的基板管理控制器bmc。本申请在计算机系统发出冷重启信号后,通过计算机系统中的bmc发送数据保护信号至nvm,nvm在接收到数据保护信号后进行数据写回操作。当bmc检测到nvm完成数据写回操作后,控制cpld对计算板进行断电操作后再进行上电操作。

在计算板完成上电操作后,通过bmc引导bios进行qpi启动,qpi是计算机系统中的cpu和其他芯片之间的快速互联通道。bmc在bios完成qpi启动后控制cpu访问nvm的通道连通,并控制dram与nvm之间的内存信息交互,然后bmc引导bios完成剩余启动流程,直至计算机系统运行至开机的操作界面,完成启动流程,从而保护了计算机系统冷重启时异构混合内存中的数据,使异构混合内存所在的计算机系统可以正常使用。

本发明还提供了一种控制异构混合内存系统冷重启的bmc,与上述冷重启方法具有相同的有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种控制异构混合内存系统冷重启的方法的流程图;

图2为本发明提供的一种控制异构混合内存系统冷重启的bmc的结构示意图。

具体实施方式

本发明的核心是提供一种控制异构混合内存系统冷重启的方法及bmc,保护了计算机系统冷重启时异构混合内存中的数据,使异构混合内存所在的计算机系统可以正常使用。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明提供的一种控制异构混合内存系统冷重启的方法的流程图。

该方法应用于计算机系统中的bmc(baseboardmanagementcontroller,基板管理控制器),包括:

步骤s1:在计算机系统发出冷重启信号后,生成数据保护信号,以便于计算机系统中的非易失性存储器nvm在接收数据保护信号后进行数据写回操作;

具体地,bmc通常包含在待监控设备的主板或主电路板中,其常被应用于监控和管理服务器的运行状态,如通过带外方式进行开关机、监控服务器的传感器状态、访问bios(basicinputoutputsystem,基本输入输出系统)配置或访问操作系统控制台信息等。

在计算机系统发出冷重启信号后,为了防止该计算机系统中nvm未写回的数据丢失,本申请通过计算机系统中的bmc生成数据保护信号,并将其发送至nvm,nvm接收到数据保护信号后,进行数据写回操作。

步骤s2:检测到nvm完成数据写回操作后,控制复杂可编程逻辑器件cpld对计算板进行断电操作后再进行上电操作,并在计算板完成上电后,引导基本输入输出系统bios进行快速通道互联qpi启动;

具体地,计算机系统冷重启即计算机系统先断电关机再开机。当bmc检测到nvm完成数据写回操作后,控制cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)先对计算板进行断电操作,然后再对计算板进行上电操作,使计算机系统得以启动运行。

计算机系统在启动运行时,首先会进入bios。bios是一组固化到计算机系统内rom(readonlymemory,只读存储器)芯片上的程序,bios程序包括基本输入输出的程序、开机后自检的程序及系统自启动的程序。

所以,在计算机系统的计算板完成上电后,该计算机系统中的bmc首先引导bios进行qpi(quickpathinterconnect,快速通道互联)启动,qpi是计算机系统中各芯片(比如系统中的cpu和其他芯片)之间快速互联的架构,主要用于数据传输,而且,通过qpi完成的数据传输具有较高的数据传输速率。

步骤s3:在bios完成qpi启动后控制计算机系统中的cpu访问nvm的通道连通,并控制计算机系统中的动态随机存取存储器dram与nvm之间的内存信息交互,且引导bios完成剩余启动流程,控制计算机系统完成冷重启。

具体地,在bios完成qpi启动后,bmc控制计算机系统中的cpu访问该计算机系统中的nvm的通道连通,为cpu访问nvm打下基础。

此外,计算机系统中的内存采用连接在计算机系统总线上的dram和nvm组合而成的异构混合内存。dram与nvm组合成异构混合内存的前提是dram与nvm交互各自的内存信息。比如,若nvm的内存拼接在dram之后,在nvm得知dram的内存信息的基础上才能确定nvm在内存块中的位置。

所以,为了构建异构混合内存,bmc应控制计算机系统中的dram与nvm之间的内存信息交互,从而确定dram和nvm在内存块中的位置,实现将dram与nvm组合成异构混合内存。

然后,bmc引导bios完成剩余启动流程,剩余启动流程完成的标志是计算机系统运行至开机的操作界面,从而完成了计算机系统的启动。

本发明提供了一种控制异构混合内存系统冷重启的方法,应用于计算机系统中的基板管理控制器bmc。本申请在计算机系统发出冷重启信号后,通过计算机系统中的bmc发送数据保护信号至nvm,nvm在接收到数据保护信号后进行数据写回操作。当bmc检测到nvm完成数据写回操作后,控制cpld对计算板进行断电操作后再进行上电操作。

在计算板完成上电操作后,通过bmc引导bios进行qpi启动,qpi是计算机系统中的cpu和其他芯片之间的快速互联通道。bmc在bios完成qpi启动后控制cpu访问nvm的通道连通,并控制dram与nvm之间的内存信息交互,然后bmc引导bios完成剩余启动流程,直至计算机系统运行至开机的操作界面,完成启动流程,从而保护了计算机系统冷重启时异构混合内存中的数据,使异构混合内存所在的计算机系统可以正常使用。

在上述实施例的基础上:

作为一种优选地实施例,在控制cpld对计算板进行断电操作之后,在控制cpld对计算板进行上电操作之前,该方法还包括:

在计算板断电后开始计时,当计时时间到达预设时间时,生成上电操作信号,以便于cpld在接收到上电操作信号后对计算板进行上电操作。

需要说明的是,这里的预设是提前设置好的,只需要设置一次,除非根据实际情况修改,否则不需要重新设置。

具体地,bmc控制cpld对计算板进行断电操作和上电操作。为了防止操作过于频繁,在计算板断电后开始计时,当计时时间到达设置好的时间,bmc才生成上电操作信号,并将其发送至cpld。cpld接收到上电操作信号后对计算板进行上电操作。

作为一种优选地实施例,预设时间为5s。

进一步地,本申请中计算板的断电操作和上电操作之间的间隔时间可以为但不仅限于5s,本申请在此不做特别的限定。

作为一种优选地实施例,控制计算机系统中的cpu访问nvm的通道连通的过程具体为:

分别配置计算机系统中的第一现场可编程逻辑门阵列fpga和挂载nvm的第二fpga;

控制计算机系统中的cpu与第一fpga之间的访问通道连通,并控制第一fpga与第二fpga之间的访问通道连通,以便于cpu依次通过第一fpga和第二fpga访问nvm。

进一步地,计算机系统中包含第一fpga(field-programmablegatearray,现场可编程逻辑门阵列)和第二fpga,该计算机系统中的nvm挂载在第二fpga上。该计算机系统中的cpu要想访问nvm,需要先经过第一fpga,再经过第二fpga。所以,为了建立一条cpu访问nvm的链路,应分别配置第一fpga与第二fpga。

本申请由bmc配置计算机系统中的第一fpga,配置第一fpga的目的是连通cpu与第一fpga之间的访问通道,使得cpu能够访问到第一fpga。此外,bmc还配置计算机系统中的第二fpga,配置第二fpga的目的与配置第一fpga的目的类似,目的是连通第一fpga与第二fpga之间的访问通道,使得cpu能够通过第一fpga访问到第二fpga,进而实现cpu访问nvm。

作为一种优选地实施例,内存信息包括内存容量及内存地址。

具体地,本申请中的内存信息可以包括内存容量及内存地址,内存容量表示内存的存储能力,比如64mb内存的存储能力小于128mb内存的存储能力,越大内存容量的内存越有利于计算机系统的运行。

内存地址表示内存在内存块中的位置,内存地址一般是指内存的基地址,也即内存的首地址。所以,已知内存的内存地址和内存容量,便可以确定内存的尾地址。

当然,本申请中的内存信息还可以包括其他信息,本申请在此不做特别的限定,根据实际情况而定。

作为一种优选地实施例,控制计算机系统中的动态随机存取存储器dram与nvm之间的内存信息交互的过程具体为:

从cpu中获取该计算机系统中dram的内存信息,并将dram的内存信息发送至第二fpga;

从第二fpga中获取第二fpga根据dram的内存信息及dram和nvm的拼接顺序相应地确定的nvm的内存信息;

将确定的nvm的内存信息发送至bios,完成dram与nvm之间的内存信息的交互。

进一步地,dram就是cpu的内存,所以bmc从cpu中获取dram的内存信息,即dram的内存地址及内存容量。又由于第二fpga上挂载有nvm,所以将dram的内存地址及内存容量发送至第二fpga。第二fpga根据dram和nvm的拼接顺序及dram的内存地址和内存容量,相应地确定nvm的内存地址及内存容量。

具体地,如果nvm拼接在dram的后面,第二fpga已知dram的内存地址和内存容量,便可以确定dram的尾地址,dram的尾地址即为nvm的首地址,从而确定nvm在内存块中的位置。如果nvm拼接在dram的前面,第二fpga已知dram的首地址,dram的首地址即为nvm的尾地址,并且,第二fpga获取nvm的内存容量,从而确定nvm的首地址,即nvm的内存地址。

bmc便可以从第二fpga中相应地获取确定的nvm的内存信息,并将确定的nvm的内存信息发送至bios,从而完成dram与nvm之间的内存信息的交互。

作为一种优选地实施例,分别配置计算机系统中的第一现场可编程逻辑门阵列fpga和挂载nvm的第二fpga的过程具体为:

根据计算机系统中的第一fpga和挂载nvm的第二fpga两个芯片的芯片说明相应地写入规定数据至两个芯片。

具体地,bmc配置第一fpga和第二fpga的过程就是向寄存器写入数据的过程,写入的数据由第一fpga和第二fpga两个芯片的芯片说明决定。比如,第一fpga的芯片说明中规定,向第一fpga的0x00地址写入0x01便能连通cpu和第一fpga,则bmc配置第一fpga的过程即为向第一fpga的0x00地址写入0x01。

作为一种优选地实施例,引导基本输入输出系统bios进行快速通道互联qpi启动的过程具体为:

引导bios进行qpi慢速启动;

在接收到bios在完成qpi慢速启动后生成的重启信号后引导bios进行qpi快速启动。

进一步地,qpi是计算机系统中各芯片之间快速互联的架构,受芯片自身的限制,配置一次qpi不能使之达到较快的传输速度。所以,bmc引导bios进行qpi启动包括慢速启动和快速启动。慢速启动是指配置qpi并将其传输速度提升到慢速水平,快速启动是指在慢速启动的基础上再次配置qpi,使其传输速度提升到高速水平。

具体地,bmc引导bios进行qpi慢速启动。bios在完成qpi慢速启动后生成重启信号,并将重启信号发送至bmc。bmc在接收到重启信号后引导bios进行qpi快速启动。

作为一种优选地实施例,第一fpga具体为virtex72000t型fpga,第二fpga具体为virtex7690t型fpga。

具体地,本申请中的第一fpga的型号可以选用但不仅限于virtex72000t,第二fpga的型号可以选用但不仅限于virtex7690t。至于第一fpga和第二fpga的具体型号,本申请在此不做特别的限定。

请参照图2,图2为本发明提供的一种控制异构混合内存系统冷重启的bmc的结构示意图,该bmc包括:

数据保护单元1,用于在计算机系统发出冷重启信号后,生成数据保护信号,以便于计算机系统中的nvm在接收到数据保护信号后进行数据写回操作;

断电上电单元2,用于检测到nvm完成数据写回操作后,控制cpld对计算板进行断电操作后再进行上电操作,并在计算板完成上电后,引导bios进行qpi启动;

冷重启单元3,用于在bios完成qpi启动后控制计算机系统中的cpu访问nvm的通道连通,并控制计算机系统中的dram与nvm之间的内存信息交互,且引导bios完成剩余启动流程,控制计算机系统完成冷重启。

本申请提供的bmc的介绍请参考上述方法实施例,本申请在此不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1