CN109947443B - 用于nvdimm的spd固件更新的方法和系统 - Google Patents

用于nvdimm的spd固件更新的方法和系统 Download PDF

Info

Publication number
CN109947443B
CN109947443B CN201910082086.XA CN201910082086A CN109947443B CN 109947443 B CN109947443 B CN 109947443B CN 201910082086 A CN201910082086 A CN 201910082086A CN 109947443 B CN109947443 B CN 109947443B
Authority
CN
China
Prior art keywords
spd
firmware
module
update
firmware update
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
CN201910082086.XA
Other languages
English (en)
Other versions
CN109947443A (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.)
Xian Unilc Semiconductors Co Ltd
Original Assignee
Xian Unilc Semiconductors 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 Xian Unilc Semiconductors Co Ltd filed Critical Xian Unilc Semiconductors Co Ltd
Priority to CN201910082086.XA priority Critical patent/CN109947443B/zh
Publication of CN109947443A publication Critical patent/CN109947443A/zh
Application granted granted Critical
Publication of CN109947443B publication Critical patent/CN109947443B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供用于NVDIMM的SPD固件更新的方法和系统。所述NVDIMM包括NVDIMM控制器,所述方法包括:位于服务器上的SPD固件更新控制模块向NVDIMM控制器中的SPD固件更新模块发送SPD内容更新文件;以及所述SPD固件更新模块将接收到的SPD内容更新文件写入SPD。所述系统包括:SPD固件更新控制模块,位于服务器上,被配置成发送SPD内容更新文件;以及SPD固件更新模块,位于所述NVDIMM控制器中,被配置成将从所述SPD固件更新控制模块接收的SPD内容更新文件写入SPD。

Description

用于NVDIMM的SPD固件更新的方法和系统
技术领域
本发明涉及内存领域,具体地涉及用于NVDIMM的SPD固件更新的方法和系统。
背景技术
SPD(SERIAL PRESENCE DETECT)是内存模组存在的串行检测。服务器通过IIC串行接口对内存插槽中模组的EEPROM进行信息检查。一般情况下,SPD中的信息是出厂时由内存模组厂家在特定的机台上烧录的。
NVDIMM是一种非易失的内存,在服务器(包括主板、CPU等)异常掉电时,NVDIMM控制器会将内存中的数据备份到NAND闪存(NAND Flash),之后在服务器重新上电时,NAND闪存中备份的数据会被恢复到内存。为了支持这一功能,JEDEC组织制定了NVDIMM内存条的接口规范,在普通DIMM条基础上增加了12V、SAVE_n、EVENT_n信号。此外,为了使得服务器和NVDIMM之间能够通过DIMM条上已有的IIC通道进行通信,在普通DIMM条上增加了一个控制器(即NVDIMM控制器),该控制器需要通过IIC通道和服务器进行通信,该控制器一般由微控制器单元(MCU)或者现场可编程阵列(FPGA)来实现。
图1示出了服务器和NVDIMM之间的通信。如图1示出的,服务器与微控制器单元(MCU)之间具有四个接口信号:
其中SAVE为服务器发给NVDIMM的中断信号;
EVENT为NVDIMM给服务器的上报信号;
scl为IIC总线的时钟信号;
sda为IIC总线的数据信号。
服务器识别DIMM条是通过获取DIMM条上SPD中的固件信息来进行的。这些SPD信息需要根据内存参数设置和PCB走线进行相应的调整,在调试过程中需要进行频繁的更新。
此外,NVDIMM上表贴内存颗粒需要根据内存参数配置规范和主板的PCB特性设计专用的SPD参数,否则可能由于参数设置不合理导致主板无法启动,在这一过程中需要多次改变SPD配置参数才能使NVDIMM达到可靠稳定的运行状态。因此,如何简单有效地对NVDIMM内存的SPD内容进行更新是一个需要解决的技术问题。
现有技术中存在两种更新SPD的方式。一种是传统的通过特定机台的方式进行烧录。这种方式必须把内存条从主板上拔下来,插到特定的机台上烧录,更新完成后再插回到服务器中。如果烧录次数比较多的话,需要来回重复这个操作。
另一种方式是在主板管理控制器(BMC)的支持下进行SPD更新。这种方式需要所使用的服务器的主板支持BMC功能,且要有相应的一套工具的支持。
申请号为201710999852.X的中国专利申请《一种更新内存SPD固件的方法》主要使用主板BMC,通过BMC的Web服务器提供的文件上传功能将SPD固件上传到BMC,由BMC通过IIC总线将固件写入到SPD中。然而这种方案对主机的主板有特殊要求,即必须支持BMC功能。对于那些不支持BMC的主板,则没有办法进行SPD更新,不具有普遍适用性。
因此,现有技术中至少存在下面两个缺点:1.需要特定的机台,无法进行在线更新;2.需要主板支持BMC,不具有普遍性。
发明内容
为解决现有技术中的问题,本发明提供了一种基于NVDIMM的在线更新SPD固件的方法。通过这种方式,可以在NVDIMM内存条中在线更新SPD,而不需要机台和主板BMC的支持。
根据本发明的第一方面,提供一种用于NVDIMM的SPD固件更新的方法,所述NVDIMM包括NVDIMM控制器,其特征在于,所述方法包括:
位于服务器上的SPD固件更新控制模块向NVDIMM控制器中的SPD固件更新模块发送SPD内容更新文件;以及
所述SPD固件更新模块将接收到的SPD内容更新文件写入SPD。
根据本发明的第一方面的一个优选实施方案,在所述SPD固件更新控制模块向所述SPD固件更新模块发送SPD内容更新文件之前,所述SPD固件更新控制模块向所述SPD固件更新模块发送需要更新SPD固件的指令。
根据本发明的第一方面的一个优选实施方案,所述SPD固件更新模块在接收到需要更新SPD固件的指令后判断是否成功获取SPD控制权。
根据本发明的第一方面的一个优选实施方案,当所述SPD固件更新模块判断成功获取SPD控制权时,所述SPD固件更新模块向所述SPD固件更新控制模块发送能够进行SPD固件更新的确认。
根据本发明的第一方面的一个优选实施方案,所述SPD固件更新控制模块通过一次或多次的数据传输将整个SPD内容更新文件发送至所述SPD固件更新模块,相应地,所述SPD固件更新模块通过一次或多次的写入将整个SPD内容更新文件写入SPD。
根据本发明的第一方面的一个优选实施方案,所述SPD固件更新模块对每次写入SPD中的SPD内容更新文件进行校验,并在校验该次写入的SPD内容更新文件不正确时重新写入。
根据本发明的第一方面的一个优选实施方案,所述SPD固件更新模块在判断已接收到完整的SPD内容更新文件之后释放SPD控制权。
根据本发明的第二方面,提供一种用于NVDIMM的SPD固件更新的系统,所述NVDIMM包括NVDIMM控制器,其特征在于,所述系统包括:
SPD固件更新控制模块,位于服务器上,被配置成发送SPD内容更新文件;以及
SPD固件更新模块,位于所述NVDIMM控制器中,被配置成将从所述SPD固件更新控制模块接收的SPD内容更新文件写入SPD。
根据本发明的第二方面的一个优选实施方案,所述SPD固件更新控制模块还被配置成在向所述SPD固件更新模块发送SPD内容更新文件之前向所述SPD固件更新模块发送需要更新SPD固件的指令。
根据本发明的第二方面的一个优选实施方案,所述SPD固件更新模块包括通讯处理模块,该通讯处理模块被配置成从所述SPD固件更新控制模块接收SPD内容更新文件和需要更新SPD固件的指令。
根据本发明的第二方面的一个优选实施方案,所述SPD固件更新模块还包括固件写入模块,该固件写入模块被配置成在所述通讯处理模块接收到需要更新SPD固件的指令之后判断是否成功获取SPD控制权。
根据本发明的第二方面的一个优选实施方案,所述通讯处理模块还被配置成在所述固件写入模块判断成功获取SPD控制权之后向所述SPD固件更新控制模块发送能够进行SPD固件更新的确认。
根据本发明的第二方面的一个优选实施方案,所述SPD固件更新控制模块还被配置成通过一次或多次的数据传输将整个SPD内容更新文件发送至所述通讯处理模块,并且所述固件写入模块还被配置成相应地通过一次或多次的写入将整个SPD内容更新文件写入SPD。
根据本发明的第二方面的一个优选实施方案,所述SPD固件更新模块还包括回读确认模块,该回读确认模块被配置成对每次写入SPD中的SPD内容更新文件进行校验,并且所述固件写入模块还被配置成在所述回读确认模块校验该次写入的SPD内容更新文件不正确时重新写入。
根据本发明的第二方面的一个优选实施方案,所述固件写入模块还被配置成在所述通讯处理模块判断已接收到完整的SPD内容更新文件之后释放SPD控制权。
根据本发明的第三方面,提供一种用于NVDIMM的SPD固件更新的方法,所述NVDIMM包括NVDIMM控制器,其特征在于,所述方法包括:
位于服务器上的SPD固件更新控制模块向NVDIMM控制器中的SPD固件更新模块发送SPD内容更新文件;
所述SPD固件更新模块中的通讯处理模块接收所述SPD内容更新文件,并将该SPD内容更新文件发送至所述SPD固件更新模块中的固件写入模块;
所述固件写入模块将接收到的SPD内容更新文件写入SPD,
其中所述方法还包括通过所述SPD固件更新模块中的固件更新状态机控制所述通讯处理模块和所述固件写入模块。
根据本发明的第三方面的一个优选实施方案,还包括:
在所述SPD固件更新控制模块向所述SPD固件更新模块发送SPD内容更新文件之前,所述SPD固件更新控制模块向所述通讯处理模块发出更新SPD固件的指令。
根据本发明的第三方面的一个优选实施方案,还包括:
所述通讯处理模块接收更新SPD固件的指令,并通知所述固件更新状态机需要进行SPD固件更新;
所述固件更新状态机通知所述固件写入模块需要进行SPD固件更新;
所述固件写入模块在接收到所述固件更新状态机的通知后判断是否成功获取SPD控制权,如果未成功获取SPD控制权,则等待,直至成功获取SPD控制权,并通知所述固件更新状态机已成功获取SPD控制权;以及
所述固件更新状态机通知所述通讯处理模块已经成功获得SPD控制权。
根据本发明的第三方面的一个优选实施方案,还包括:
所述通讯处理模块向所述SPD固件更新控制模块发送能够进行SPD固件更新的确认,然后所述SPD固件更新控制模块向所述SPD固件更新模块发送SPD内容更新文件。
根据本发明的第三方面的一个优选实施方案,所述SPD固件更新控制模块通过一次或多次的数据传输将整个SPD内容更新文件发送至所述通讯处理模块,相应地,所述固件写入模块通过一次或多次的写入将整个SPD内容更新文件写入SPD。
根据本发明的第三方面的一个优选实施方案,所述SPD固件更新控制模块的回读确认模块校验所述固件写入模块每次写入SPD中的SPD内容更新文件,并将校验结果发送至所述固件更新状态机。
根据本发明的第三方面的一个优选实施方案,当所述回读确认模块校验写入的SPD内容更新文件不正确时,所述固件更新状态机通知所述固件写入模块重新写入。
根据本发明的第三方面的一个优选实施方案,所述固件更新状态机在所述回读确认模块校验正确之后判断是否已经将完整的SPD内容更新文件写入SPD。
根据本发明的第三方面的一个优选实施方案,在所述固件更新状态机判断已经将完整的SPD内容更新文件写入SPD之后,所述固件更新状态机通知所述固件写入模块释放SPD控制权。
根据本发明的第四方面,提供一种用于NVDIMM的SPD固件更新的系统,所述NVDIMM包括NVDIMM控制器,其特征在于,所述系统包括:
SPD固件更新控制模块,位于服务器上,被配置成发送SPD内容更新文件;以及
SPD固件更新模块,位于所述NVDIMM控制器中,所述SPD固件更新模块包括:
通讯处理模块,被配置成接收从所述SPD固件更新控制模块发送的所述SPD内容更新文件,并发送所述SPD内容更新文件;
固件写入模块,被配置成接收从所述通讯处理模块发送的所述SPD内容更新文件,并将所述SPD内容更新文件写入SPD;以及
固件更新状态机,被配置成控制所述通讯处理模块和所述固件写入模块。
根据本发明的第四方面的一个优选实施方案,所述SPD固件更新控制模块还被配置成在发送SPD内容更新文件之前发送需要更新SPD固件的指令。
根据本发明的第四方面的一个优选实施方案,所述通讯处理模块还被配置成接收所述更新SPD固件的指令,并被配置成通知所述固件更新状态机需要进行SPD固件更新;
所述固件更新状态机还被配置成通知所述固件写入模块需要进行SPD固件更新;
所述固件写入模块还被配置成在接收到所述固件更新状态机的通知后判断是否成功获取SPD控制权,并在成功获取SPD控制权后通知所述固件更新状态机已成功获取SPD控制权;以及
所述固件更新状态机还被配置成通知所述通讯处理模块已经成功获得SPD控制权。
根据本发明的第四方面的一个优选实施方案,所述通讯处理模块还被配置成在所述固件更新状态机通知已经成功获得SPD控制权之后向所述SPD固件更新控制模块发送能够进行SPD固件更新的确认。
根据本发明的第四方面的一个优选实施方案,所述SPD固件更新控制模块还被配置成通过一次或多次的数据传输将整个SPD内容更新文件发送至所述通讯处理模块,并且所述固件写入模块还被配置成相应地通过一次或多次的写入将整个SPD内容更新文件写入SPD。
根据本发明的第四方面的一个优选实施方案,所述SPD固件更新控制模块还包括回读确认模块,该回读确认模块被配置成对每次写入SPD中的SPD内容更新文件进行校验并将校验结果发送至所述固件更新状态机。
根据本发明的第四方面的一个优选实施方案,所述固件更新状态机还被配置成在所述回读确认模块校验写入的SPD内容更新文件不正确时通知所述固件写入模块重新写入。
根据本发明的第四方面的一个优选实施方案,所述固件更新状态机还被配置成在所述回读确认模块校验正确之后判断是否已经将完整的SPD内容更新文件写入SPD。
根据本发明的第四方面的一个优选实施方案,所述固件更新状态机还被配置成在所述固件更新状态机判断已经将完整的SPD内容更新文件写入SPD之后通知所述固件写入模块释放SPD控制权。
附图说明
通过下文结合附图的详细说明,将更好地理解本发明。应理解,这些附图仅出于示例目的,且未必按比例绘制。在附图中:
图1示出了服务器和NVDIMM之间的通信示意图。
图2示出了根据本发明一个实施方案的服务器和NVDIMM的结构示意图。
图3示出了根据本发明一个实施方案的SPD固件更新控制模块和SPD固件更新模块的结构示意图。
图4是根据图3所示实施方案的SPD固件更新控制模块和SPD固件更新模块的工作流程图。
图5示出了根据本发明另一个实施方案的SPD固件更新控制模块和SPD固件更新模块的结构示意图。
图6是根据图5所示实施方案的SPD固件更新控制模块和SPD固件更新模块的工作流程图。
具体实施方式
现将详细地对本发明的优选实施例进行参考,所述实施例的实例在附图中说明。在可能的情况下,将在整个图式中使用相同参考标号来指代相同或相似部分。还应理解,附图中说明且在以下说明书中所描述的特定方法和装置仅仅是所附权利要求书中限定的发明性概念的示例性实施例。
图2示出了根据本发明一个实施方案的服务器的结构示意图。与现有技术类似,服务器10中包括主板11,NVDIMM110插入主板11的插槽中。不同于现有技术的是,本发明在服务器中还设置有SPD固件更新控制模块,并且在NVDIMM控制器中设置SPD固件更新模块。与现有技术不同的是,本发明通过设置SPD固件更新控制模块和SPD固件更新模块,创新性地使得能够在NVDIMM正常工作时对SPD固件进行更新,从而无需将NVDIMM从主板上拔出。
图3示出了根据本发明一个实施方案的SPD固件更新控制模块111a和SPD固件更新模块110a的结构示意图。SPD固件更新控制模块111a用于控制NVDIMM中的SPD固件的更新。SPD固件更新模块110a包括通讯处理模块1101a、固件写入模块1102a和回读确认模块1103a。
图4是根据图3所示实施方案的SPD固件更新控制模块111a和SPD固件更新模块110a的工作流程图。
当NVDIMM被插入主板的插槽且系统启动后,各种配置完成,NVDIMM正常运行。在NVDIMM正常运行过程中,SPD固件更新控制模块111a检测SPD固件的状态,当发现有新的SPD内容更新文件时,在步骤S100中,SPD固件更新控制模块111a向通讯处理模块1101a发出需要更新SPD固件的指令。
在步骤S101中,通讯处理模块1101a接收需要更新SPD固件的指令,并通知固件写入模块1102a需要进行SPD固件更新。
在步骤S102中,固件写入模块1102a判断是否成功获取SPD控制权,如果未成功获取SPD控制权,则等待,直至成功获取SPD控制权,并通知通讯处理模块1101a已成功获取SPD控制权。
在该实施方案中,判断是否成功获取SPD控制权指的是固件写入模块1102a是否被允许使用IIC总线。NVDIMM控制器和SPD之间的数据传输是通过IIC总线进行的。当固件写入模块1102a未成功获得SPD控制权,即未被允许使用IIC总线时,固件写入模块1102a会等待一段时间,直到IIC总线空闲,即成功获取SPD控制权。
在步骤S103中,通讯处理模块1101a向SPD固件更新控制模块111a发送能够进行SPD固件更新的确认。
在步骤S104中,SPD固件更新控制模块111a将SPD内容更新文件发送至通讯处理模块1101a。
在步骤S105中,通讯处理模块1101a接收SPD内容更新文件并将其发送至固件写入模块1102a。
应理解,SPD固件更新控制模块111a和SPD固件更新模块110a通过IIC总线进行传输。由于IIC总线上单次传输的数据量有限,因此在一次数据传输后可能不能完成整个SPD内容更新文件的传输。因此在步骤S104和S105中,SPD固件更新控制模块111a发送的文件以及通讯处理模块1101a接收和发送的文件可能不是完整的SPD内容更新文件,而是其一部分。
在步骤S106中,固件写入模块1102a将接收到的SPD内容更新文件写入SPD中。
在步骤S107中,回读确认模块1103a从SPD中读出固件写入模块1102a刚刚在步骤S106中写入的SPD内容更新文件,并对其进行校验。当回读确认模块1103a判断写入的SPD内容更新文件不正确时,则过程回到S106,固件写入模块1102a将重新写入上一次写入的数据。当回读确认模块1103a判断该次写入的SPD内容更新文件正确时,执行步骤S108。
在步骤S108中,通讯处理模块1101a判断是否接收到完整的SPD内容更新文件。如果判断未接收到完整的SPD内容更新文件,则重复执行步骤S104,否则执行步骤S109。
判断已接收的SPD内容更新文件是否完整可以通过如下步骤来执行。例如,SPD固件更新控制模块111a在发送SPD固件更新文件的同时会发送关于该SPD文件的大小的信息,该信息会在首次传输SPD固件更新文件时发送至通讯处理模块1101a,从而通讯处理模块1101a能够知道总共需要接收多少长度的数据。通讯处理模块1101a可以判断每次传输的数据长度,从而判断在本次传输接收后是否接收到完整的文件。替代地,还可以在每次传输数据的同时将关于该次传输的数据的长度发送至通讯处理模块1101a,以便通讯处理模块1101a判断是否已经成功接收到SPD内容更新文件。
应理解,还可以通过其他方式来判断已接收的SPD内容更新文件是否完整。
在步骤S109中,固件写入模块1102a释放SPD控制权。
应理解,关于图4描述的工作流程仅是示意性的。在本发明的范围内,省去和/或添加某个/某些步骤和/或改变步骤顺序都是可行的。
图5示出了SPD固件更新控制模块111b和SPD固件更新模块110b的结构示意图。SPD固件更新控制模块111b用于控制NVDIMM中的SPD固件的更新。SPD固件更新模块110b包括通讯处理模块1101b、固件写入模块1102b、回读确认模块1103b和固件更新状态机1104b。与图3不同的是,图5示出的SPD固件更新模块110b还包括固件更新状态机1104b。固件更新状态机1104b作为总控模块,控制着通讯处理模块、固件写入模块和回读确认模块的协调工作。
图6是根据图5所示实施方案的SPD固件更新控制模块和SPD固件更新模块的工作流程图。
类似地,当NVDIMM被插入主板的插槽且系统启动后,各种配置完成,NVDIMM正常运行。在NVDIMM正常运行过程中,SPD固件更新控制模块111b检测SPD固件的状态,当发现有新的SPD内容更新文件时,在步骤S200中,SPD固件更新控制模块111b向通讯处理模块1101b发出需要更新SPD固件的指令。
在步骤S201中,通讯处理模块1101b接收需要更新SPD固件的指令,并通知固件更新状态机1104b需要进行SPD固件更新。
在步骤S202中,固件更新状态机1104b通知固件写入模块1102b需要进行SPD固件更新。
在步骤S203中,固件写入模块1102b在接收到所述固件更新状态机的通知后判断是否成功获取SPD控制权,如果未成功获取SPD控制权,则等待,直至成功获取SPD控制权,并通知固件更新状态机1104b已成功获取SPD控制权。
在该实施方案中,判断是否成功获取SPD控制权指的是固件写入模块1102b是否被允许使用IIC总线。NVDIMM控制器和SPD之间的数据传输是通过IIC总线进行的。当固件写入模块1102b未成功获得SPD控制权,即未被允许使用IIC总线时,固件写入模块1102b会等待一段时间,直到IIC总线空闲,即成功获取SPD控制权。
在步骤S204中,固件更新状态机1104b通知通讯处理模块1101b已经成功获得SPD控制权。
在步骤S205中,通讯处理模块1101b向SPD固件更新控制模块111b发送能够进行SPD固件更新的确认。
在步骤S206中,SPD固件更新控制模块111b将SPD内容更新文件发送至通讯处理模块1101b。
在步骤S207中,通讯处理模块1101b接收SPD内容更新文件并将其发送至固件写入模块1102b。
应理解,SPD固件更新控制模块111b和SPD固件更新模块110b通过IIC总线进行传输。由于IIC总线上单次传输的数据量有限,因此在一次数据传输后可能不能完成整个SPD内容更新文件的传输。因此在步骤S206和S207中,SPD固件更新控制模块111b发送的文件以及通讯处理模块1101b接收和发送的文件可能不是完整的SPD内容更新文件,而是其一部分。
在步骤S208中,固件写入模块1102b将接收到的SPD内容更新文件写入SPD中。
在步骤S209中,回读确认模块1103b从SPD中读取固件写入模块1102b在步骤S208中刚刚写入的SPD内容并对其进行校验,并将校验结果发送至固件更新状态机1104b。
在步骤S210中,当回读确认模块1103b判断写入的SPD内容更新文件不正确时,则固件更新状态机1104b通知固件写入模块1102b重新写入上一次写入的数据,过程回到S208。当回读确认模块1103b判断写入的SPD内容更新文件正确时,进行步骤S211。。
在步骤S211中,固件更新状态机1104b判断是否已经将完整的SPD内容更新文件写入SPD。若尚未将完整的SPD内容更新文件写入SPD,则重复执行S206,否则执行S212。
固件更新状态机1104b判断是否已经将完整的SPD内容更新文件写入SPD与通讯处理模块1101a判断是否成功接收到SPD内容更新文件的方式类似。固件写入模块1102b会在首次写入时将SPD文件大小传递给固件更新状态机1104b,并在每次传输时将本次传输的长度传递给固件更新状态机1104b,固件更新状态机1104b由此判断是否已经将完整的SPD内容更新文件写入SPD。应理解,还可以通过其他合适的方式判断是否已经将完整的SPD内容更新文件写入SPD。
在步骤S212中,固件更新状态机1104b通知固件写入模块1102b释放控制权。
在S213中,固件写入模块1102b释放SPD控制权。
应理解,关于图6描述的工作流程仅是示意性的。在本发明的范围内,省去和/或添加某个/某些步骤和/或改变步骤顺序都是可行的。

Claims (21)

1.一种用于NVDIMM的SPD固件更新的方法,所述NVDIMM包括NVDIMM控制器,所述NVDIMM被插入主板的插槽中,所述主板被包括在服务器中,其特征在于,所述方法包括:
位于所述服务器上的SPD固件更新控制模块向NVDIMM控制器中的SPD固件更新模块发送SPD内容更新文件;以及
所述SPD固件更新模块将接收到的SPD内容更新文件写入SPD;
其中,所述SPD固件更新控制模块通过一次或多次的数据传输将整个SPD内容更新文件发送至所述SPD固件更新模块,相应地,所述SPD固件更新模块通过一次或多次的写入将整个SPD内容更新文件写入SPD;其中,所述SPD固件更新模块对每次写入SPD中的SPD内容更新文件进行校验,并在校验该次写入的SPD内容更新文件不正确时重新写入。
2.根据权利要求1所述的方法,其特征在于,在所述SPD固件更新控制模块向所述SPD固件更新模块发送SPD内容更新文件之前,所述SPD固件更新控制模块向所述SPD固件更新模块发送需要更新SPD固件的指令。
3.根据权利要求2所述的方法,其特征在于,所述SPD固件更新模块在接收到需要更新SPD固件的指令后判断是否成功获取SPD控制权。
4.根据权利要求3所述的方法,其特征在于,当所述SPD固件更新模块判断成功获取SPD控制权时,所述SPD固件更新模块向所述SPD固件更新控制模块发送能够进行SPD固件更新的确认。
5.根据权利要求1所述的方法,其特征在于,所述SPD固件更新模块在判断已接收到完整的SPD内容更新文件之后释放SPD控制权。
6.一种用于NVDIMM的SPD固件更新的系统,所述NVDIMM包括NVDIMM控制器,所述NVDIMM被插入主板的插槽中,所述主板被包括在服务器中,其特征在于,所述系统包括:
SPD固件更新控制模块,位于所述服务器上,被配置成发送SPD内容更新文件;以及
SPD固件更新模块,位于所述NVDIMM控制器中,被配置成将从所述SPD固件更新控制模块接收的SPD内容更新文件写入SPD;所述SPD固件更新控制模块还被配置成在向所述SPD固件更新模块发送SPD内容更新文件之前向所述SPD固件更新模块发送需要更新SPD固件的指令;所述SPD固件更新模块包括通讯处理模块,该通讯处理模块被配置成从所述SPD固件更新控制模块接收SPD内容更新文件和需要更新SPD固件的指令;
其中,所述SPD固件更新控制模块还被配置成通过一次或多次的数据传输将整个SPD内容更新文件发送至所述通讯处理模块,并且固件写入模块还被配置成相应地通过一次或多次的写入将整个SPD内容更新文件写入SPD;其中,所述SPD固件更新模块还包括回读确认模块,该回读确认模块被配置成对每次写入SPD中的SPD内容更新文件进行校验,并且所述固件写入模块还被配置成在所述回读确认模块校验该次写入的SPD内容更新文件不正确时重新写入。
7.根据权利要求6所述的系统,其特征在于,所述SPD固件更新模块还包括固件写入模块,该固件写入模块被配置成在所述通讯处理模块接收到需要更新SPD固件的指令之后判断是否成功获取SPD控制权。
8.根据权利要求7所述的系统,其特征在于,所述通讯处理模块还被配置成在所述固件写入模块判断成功获取SPD控制权之后向所述SPD固件更新控制模块发送能够进行SPD固件更新的确认。
9.根据权利要求6所述的系统,其特征在于,所述固件写入模块还被配置成在所述通讯处理模块判断已接收到完整的SPD内容更新文件之后释放SPD控制权。
10.一种用于NVDIMM的SPD固件更新的方法,所述NVDIMM包括NVDIMM控制器,所述NVDIMM被插入主板的插槽中,所述主板被包括在服务器中,其特征在于,所述方法包括:
位于所述服务器上的SPD固件更新控制模块向NVDIMM控制器中的SPD固件更新模块发送SPD内容更新文件;
所述SPD固件更新模块中的通讯处理模块接收所述SPD内容更新文件,并将该SPD内容更新文件发送至所述SPD固件更新模块中的固件写入模块;
所述固件写入模块将接收到的SPD内容更新文件写入SPD,
其中所述方法还包括通过所述SPD固件更新模块中的固件更新状态机控制所述通讯处理模块和所述固件写入模块;
其中,所述SPD固件更新控制模块通过一次或多次的数据传输将整个SPD内容更新文件发送至所述通讯处理模块,相应地,所述固件写入模块通过一次或多次的写入将整个SPD内容更新文件写入SPD;其中,所述SPD固件更新控制模块的回读确认模块校验所述固件写入模块每次写入SPD中的SPD内容更新文件,并将校验结果发送至所述固件更新状态机;其中,当所述回读确认模块校验写入的SPD内容更新文件不正确时,所述固件更新状态机通知所述固件写入模块重新写入。
11.根据权利要求10所述的方法,其特征在于,还包括:
在所述SPD固件更新控制模块向所述SPD固件更新模块发送SPD内容更新文件之前,所述SPD固件更新控制模块向所述通讯处理模块发出更新SPD固件的指令。
12.根据权利要求11所述的方法,其特征在于,还包括:
所述通讯处理模块接收更新SPD固件的指令,并通知所述固件更新状态机需要进行SPD固件更新;
所述固件更新状态机通知所述固件写入模块需要进行SPD固件更新;
所述固件写入模块在接收到所述固件更新状态机的通知后判断是否成功获取SPD控制权,如果未成功获取SPD控制权,则等待,直至成功获取SPD控制权,并通知所述固件更新状态机已成功获取SPD控制权;以及
所述固件更新状态机通知所述通讯处理模块已经成功获得SPD控制权。
13.根据权利要求12所述的方法,其特征在于,还包括:
所述通讯处理模块向所述SPD固件更新控制模块发送能够进行SPD固件更新的确认,然后所述SPD固件更新控制模块向所述SPD固件更新模块发送SPD内容更新文件。
14.根据权利要求10所述的方法,其特征在于,所述固件更新状态机在所述回读确认模块校验正确之后判断是否已经将完整的SPD内容更新文件写入SPD。
15.根据权利要求14所述的方法,其特征在于,在所述固件更新状态机判断已经将完整的SPD内容更新文件写入SPD之后,所述固件更新状态机通知所述固件写入模块释放SPD控制权。
16.一种用于NVDIMM的SPD固件更新的系统,所述NVDIMM包括NVDIMM控制器,所述NVDIMM被插入主板的插槽中,所述主板被包括在服务器中,其特征在于,所述系统包括:
SPD固件更新控制模块,位于所述服务器上,被配置成发送SPD内容更新文件;以及
SPD固件更新模块,位于所述NVDIMM控制器中,所述SPD固件更新模块包括:
通讯处理模块,被配置成接收从所述SPD固件更新控制模块发送的所述SPD内容更新文件,并发送所述SPD内容更新文件;
固件写入模块,被配置成接收从所述通讯处理模块发送的所述SPD内容更新文件,并将所述SPD内容更新文件写入SPD;以及
固件更新状态机,被配置成控制所述通讯处理模块和所述固件写入模块;
其中,所述SPD固件更新控制模块还被配置成通过一次或多次的数据传输将整个SPD内容更新文件发送至所述通讯处理模块,并且所述固件写入模块还被配置成相应地通过一次或多次的写入将整个SPD内容更新文件写入SPD;其中,所述SPD固件更新控制模块还包括回读确认模块,该回读确认模块被配置成对每次写入SPD中的SPD内容更新文件进行校验并将校验结果发送至所述固件更新状态机;其中,所述固件更新状态机还被配置成在所述回读确认模块校验写入的SPD内容更新文件不正确时通知所述固件写入模块重新写入。
17.根据权利要求16所述的系统,其特征在于,所述SPD固件更新控制模块还被配置成在发送SPD内容更新文件之前发送需要更新SPD固件的指令。
18.根据权利要求17所述的系统,其特征在于,所述通讯处理模块还被配置成接收所述更新SPD固件的指令,并被配置成通知所述固件更新状态机需要进行SPD固件更新;
所述固件更新状态机还被配置成通知所述固件写入模块需要进行SPD固件更新;
所述固件写入模块还被配置成在接收到所述固件更新状态机的通知后判断是否成功获取SPD控制权,并在成功获取SPD控制权后通知所述固件更新状态机已成功获取SPD控制权;以及
所述固件更新状态机还被配置成通知所述通讯处理模块已经成功获得SPD控制权。
19.根据权利要求18所述的系统,其特征在于,所述通讯处理模块还被配置成在所述固件更新状态机通知已经成功获得SPD控制权之后向所述SPD固件更新控制模块发送能够进行SPD固件更新的确认。
20.根据权利要求16所述的系统,其特征在于,所述固件更新状态机还被配置成在所述回读确认模块校验正确之后判断是否已经将完整的SPD内容更新文件写入SPD。
21.根据权利要求20所述的系统,其特征在于,所述固件更新状态机还被配置成在所述固件更新状态机判断已经将完整的SPD内容更新文件写入SPD之后通知所述固件写入模块释放SPD控制权。
CN201910082086.XA 2019-01-28 2019-01-28 用于nvdimm的spd固件更新的方法和系统 Active CN109947443B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910082086.XA CN109947443B (zh) 2019-01-28 2019-01-28 用于nvdimm的spd固件更新的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910082086.XA CN109947443B (zh) 2019-01-28 2019-01-28 用于nvdimm的spd固件更新的方法和系统

Publications (2)

Publication Number Publication Date
CN109947443A CN109947443A (zh) 2019-06-28
CN109947443B true CN109947443B (zh) 2024-01-19

Family

ID=67006619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910082086.XA Active CN109947443B (zh) 2019-01-28 2019-01-28 用于nvdimm的spd固件更新的方法和系统

Country Status (1)

Country Link
CN (1) CN109947443B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092642A (zh) * 2011-11-07 2013-05-08 Ls产电株式会社 用于更新电能计量装置的固件的设备、系统和方法
CN103793238A (zh) * 2012-10-31 2014-05-14 英业达科技有限公司 机柜与其同时更新多个基本输入输出系统的方法
CN104182256A (zh) * 2014-08-21 2014-12-03 四川九成信息技术有限公司 一种嵌入式设备程序更新方法
CN104679530A (zh) * 2013-11-26 2015-06-03 英业达科技有限公司 服务器系统与固件更新方法
CN105354156A (zh) * 2015-12-10 2016-02-24 浪潮电子信息产业股份有限公司 一种支持nvdimm的主板设计方法
CN107562494A (zh) * 2017-10-24 2018-01-09 济南浪潮高新科技投资发展有限公司 一种更新内存spd固件的方法
CN107632846A (zh) * 2017-09-25 2018-01-26 华为技术有限公司 固件升级方法及装置、机框管理模块
CN108549544A (zh) * 2018-04-25 2018-09-18 济南浪潮高新科技投资发展有限公司 一种集中更新内存spd固件的方法及装置
CN108563459A (zh) * 2018-02-05 2018-09-21 宁波海迈克动力科技有限公司 一种电动叉车电机驱动器固件更新系统以及方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092642A (zh) * 2011-11-07 2013-05-08 Ls产电株式会社 用于更新电能计量装置的固件的设备、系统和方法
CN103793238A (zh) * 2012-10-31 2014-05-14 英业达科技有限公司 机柜与其同时更新多个基本输入输出系统的方法
CN104679530A (zh) * 2013-11-26 2015-06-03 英业达科技有限公司 服务器系统与固件更新方法
CN104182256A (zh) * 2014-08-21 2014-12-03 四川九成信息技术有限公司 一种嵌入式设备程序更新方法
CN105354156A (zh) * 2015-12-10 2016-02-24 浪潮电子信息产业股份有限公司 一种支持nvdimm的主板设计方法
CN107632846A (zh) * 2017-09-25 2018-01-26 华为技术有限公司 固件升级方法及装置、机框管理模块
CN107562494A (zh) * 2017-10-24 2018-01-09 济南浪潮高新科技投资发展有限公司 一种更新内存spd固件的方法
CN108563459A (zh) * 2018-02-05 2018-09-21 宁波海迈克动力科技有限公司 一种电动叉车电机驱动器固件更新系统以及方法
CN108549544A (zh) * 2018-04-25 2018-09-18 济南浪潮高新科技投资发展有限公司 一种集中更新内存spd固件的方法及装置

Also Published As

Publication number Publication date
CN109947443A (zh) 2019-06-28

Similar Documents

Publication Publication Date Title
US8634099B2 (en) Configuration data management system, printer, and electronic device control method
US20080046780A1 (en) Nonvolatile memory
WO2020062887A1 (zh) 基于闪存微控制器的固件升级方法和系统及闪存微控制器
CN104965725B (zh) 一种基于sd卡的嵌入式设备全自动固件烧写方法
CN107980119B (zh) 一种服务器管理方法和服务器
CN105760191A (zh) 嵌入式系统设备程序烧写量产方法
US8423729B2 (en) Part information restoration method, part information management method and electronic apparatus
JP2018116648A (ja) 情報処理装置、その制御方法、及びプログラム
US20240286521A1 (en) CHARGING SOCKET, CHARGING SOCKET UPGRADING METHOD AND APPARATUS, DEVICE, AND STORAGE MEDIUM (Amended)
CN112015447B (zh) 电子设备的系统更新方法及装置、电子设备及存储介质
CN109947443B (zh) 用于nvdimm的spd固件更新的方法和系统
JP3376306B2 (ja) データ処理装置、そのデータ処理方法
CN109375953B (zh) 一种操作系统启动方法及装置
CN116302687A (zh) 通信恢复方法、装置、系统及可读存储介质
JPH1049478A (ja) コンピュータシステム用の識別インタフェース
CN114461286A (zh) 一种服务器启动方法、装置及可读存储介质
CN113377425A (zh) Bmc固件生成方法和装置、bmc启动方法和装置及存储介质
CN114527994A (zh) 固件的烧写方法、系统、车辆控制系统
CN113051576A (zh) 控制方法和电子设备
JP2006018594A (ja) 情報処理装置
JP6701440B2 (ja) リモートコントローラ、遠隔制御方法、及び、プログラム
CN118409775B (zh) 固件升级系统、方法、服务器设备、程序产品及存储介质
CN114371960A (zh) 嵌入式设备的参数管理方法以及系统
CN116302844B (zh) 硬盘信息的采集方法、装置、计算机设备及存储介质
CN112735501B (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