固件升级的方法和包含硬盘的系统与流程

文档序号:18524317发布日期:2019-08-24 10:05阅读:406来源:国知局
固件升级的方法和包含硬盘的系统与流程

本发明涉及计算机技术领域,尤其涉及一种固件升级的方法和包含硬盘的系统。



背景技术:

现在的电子设备,包括电脑、服务器等,都大量的使用固态硬盘,大大的提高了这些电子设备存储数据的能力。在需要解决一些传输协议软件、硬件错误恢复机制等缺陷或者硬盘内部软件有改进的时候,就要升级硬盘控制器的固件。

现有技术在固件升级时,需要在操作系统内安装工具升级固件,利用操作系统安装固件,并且待升级固件在操作系统重新启动后生效。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

1.在固件升级的时候,需要停止或迁移待升级系统涉及的所有业务,导致运维成本高,对业务的影响大。

2.在固件升级时,需要将待升级固件暂时存储在操作系统的内存里,导致每次固件升级都要登录到待升级设备的操作系统中,不能批量升级。

3.在固件升级前,需在操作系统内安装固件升级工具,用于辅助操作系统找到需要升级的硬盘。

4.在硬盘内安装好固件后,还需要重新启动操作系统。重新启动操作系统不但会影响设备中所有业务的运行、导致业务被迫中断,也可能导致硬盘数据不完整的缺陷。



技术实现要素:

有鉴于此,本发明实施例提供一种固件升级的方法和包含硬盘的系统,能够达到不影响操作系统的正常运行、系统内的业务无需迁移或暂停、并且操作系统也无需重新启动来升级待升级固件的效果;并且无需在操作系统内存中安装固件升级的工具、无需登陆操作系统,从而避免了重启操作系统带来的业务中断。

为实现上述目的,根据本发明实施例的一个方面,提供了一种固件升级的方法,包括:

待升级系统的控制子系统将用于升级硬盘的待升级固件发送至待升级系统的硬盘子系统;

所述待升级系统的操作系统触发硬盘子系统重新启动,实现固件升级。

可选地,待升级系统的控制子系统将用于升级硬盘的待升级固件发送至待升级系统的硬盘子系统之前,还包括:

确认所述控制子系统获得所述硬盘子系统的闪存控制权。

可选地,将用于升级硬盘的待升级固件发送至待升级系统的硬盘子系统包括:将待升级固件储存在硬盘子系统内用于存放固件的闪存中。

可选地,进一步包括:

将待升级固件储存在硬盘子系统内用于存放固件的闪存中之后,使所述控制子系统释放所述闪存控制权。

可选地,还包括:将用于升级硬盘的待升级固件发送至待升级系统的硬盘子系统的同时或之前,将存储在硬盘子系统闪存的固件日志暂存在硬件子系统的缓存中。

可选地,将用于升级硬盘的待升级固件发送至待升级系统的硬盘子系统之后,将暂存在硬盘子系统的缓存内的固件日志还原到初始位置。

可选地,所述待升级系统的操作系统触发硬盘子系统重新启动,包括:

所述硬盘子系统以中断方式向所述操作系统发送通知消息;

所述待升级系统的操作系统响应于所述通知消息触发硬盘子系统重新启动。

可选地,触发硬盘子系统重新启动之前,还包括:

在所述操作系统内创建消息队列,或者加长操作系统内的消息队列;和/或,在所述操作系统内创建内存空间,或者增加操作系统内的内存空间;

其中,所述消息队列和所述内存空间用于存储待发送至所述硬盘子系统的消息。

可选地,利用tcp协议将所述待升级固件传输至所述控制子系统;和/或,所述控制子系统利用串行外设接口协议将所述待升级固件发送至所述硬盘子系统。

根据本发明实施例的再一个方面,提供一种包含硬盘的系统,包括:控制子系统、硬盘子系统和操作系统,其中,在固件升级时,

控制子系统将用于升级硬盘的待升级固件发送至硬盘子系统;

操作系统触发硬盘子系统重新启动,实现固件升级。

可选地,控制子系统将用于升级硬盘的待升级固件发送至硬盘子系统之前,还包括:

所述控制子系统获得所述硬盘子系统的闪存控制权。

可选地,控制子系统将用于升级硬盘的待升级固件发送至硬盘子系统包括:将待升级固件储存在硬盘子系统内用于存放固件的闪存中。

可选地,所述控制子系统还用于:

控制子系统将待升级固件储存在硬盘子系统内用于存放固件的闪存中之后,控制子系统释放所述闪存控制权。

可选地,所述硬盘子系统还用于:

控制子系统将用于升级硬盘的待升级固件发送至硬盘子系统的同时或之前,硬盘子系统将存储在硬盘子系统闪存的固件日志暂存在硬件子系统的缓存中。

可选地,所述硬盘子系统还用于:控制子系统将用于升级硬盘的待升级固件发送至硬盘子系统之后,硬盘子系统将暂存在硬盘子系统的缓存内的固件日志还原到初始位置。

可选地,操作系统触发硬盘子系统重新启动,包括:

所述硬盘子系统以中断方式向所述操作系统发送通知消息;

所述操作系统响应于所述通知消息触发硬盘子系统重新启动。

可选地,触发硬盘子系统重新启动之前,操作系统还用于:

在所述操作系统内创建消息队列,或者加长操作系统内的消息队列;和/或,在所述操作系统内创建内存空间,或者增加操作系统内的内存空间;

其中,所述消息队列和所述内存空间用于存储待发送至所述硬盘子系统的消息。

可选地,利用tcp协议将所述待升级固件传输至所述控制子系统;和/或,所述控制子系统利用串行外设接口协议将所述待升级固件发送至所述硬盘子系统。

根据本发明实施例的另一个方面,提供一种固件升级的电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现任一所述的方法。

根据本发明实施例的又一个方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现任一所述的方法。

上述发明中的一个实施例具有如下优点或有益效果:

1.在固件升级的时候,将待升级固件由控制子系统转存在硬盘子系统的闪存中的技术手段,无需停止或迁移待升级系统涉及的所有业务,避免运维成本高、对业务的影响小的缺陷。

2.在固件升级时,无需将待升级固件暂时存储在操作系统的内存里,无需每次固件升级都要登录到待升级设备的操作系统中,从而达到批量升级的有益效果。

3.在固件升级前,无需在操作系统内安装固件升级工具,减少操作系统内存的占用。

4.在硬盘内安装好固件后,无需重新启动操作系统。避免了重新启动操作系统会影响设备的所有业务、导致业务被迫中断、可能导致硬盘数据不完整的缺陷。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是根据本发明实施例的固件升级的方法的主要步骤的示意图;

图2是根据本发明具体实施例的固件升级的方法的系统连接的示意图;

图3是根据本发明实施例的包含硬盘的系统的主要子系统的示意图;

图4是本发明实施例可以应用于其中的示例性系统架构图;

图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

在固件升级的过程中,现有技术的操作系统需要通过重新启动才能完成固件的升级。现有技术升级固件时会对操作系统正在进行的业务产生影响,为了解决这个缺陷,涉及本发明所提供的方法。

图1是根据本发明实施例的本发明实施例的固件升级的方法的主要步骤的示意图,如图1所示,固件升级的方法包括:

步骤s101、待升级系统的控制子系统将用于升级硬盘的待升级固件发送至待升级系统的硬盘子系统。

步骤s102、所述待升级系统的操作系统触发硬盘子系统重新启动,实现固件升级。

采用将待升级固件从控制子系统转存到硬盘子系统,从而不影响操作系统的正常运行,就可以完成固件升级。因为不影响操作系统的正常运行,系统内的业务无需迁移或暂停,并且操作系统也无需重新启动来升级待升级固件。

以上步骤,避免了现有技术因迁移或停止所有业务造成的运维成本高、对业务影响大的缺陷;并且无需在操作系统内存中安装固件升级的工具;从而避免了重启操作系统带来的业务中断。

可选地,在步骤s102,待升级系统的控制子系统将用于升级硬盘的待升级固件发送至待升级系统的硬盘子系统之前,还包括:

确认所述控制子系统获得所述硬盘子系统的闪存控制权。

待升级子系统的控制子系统与硬盘子系统对固件的闪存控制权的转移,方便待升级固件传输到硬盘子系统的闪存中,从而在硬盘子系统内升级。由于控制子系统与硬盘子系统在电路结构上是连通的,则可以将硬盘子系统内存放固件的闪存控制权转移给控制子系统,即可达到固件的闪存控制权转移目的。其中,闪存控制权的转移包括:控制子系统向硬盘子系统发出闪存控制权的请求,硬盘子系统在收到控制子系统发出的请求后将闪存控制权转移给控制子系统。这一步产生了无需经过操作系统即可将待升级的固件存放到硬盘子系统的闪存中,也无需登录操作系统进行升级的有益效果。

可选地,将用于升级硬盘的待升级固件发送至待升级系统的硬盘子系统包括:将待升级固件储存在硬盘子系统内用于存放固件的闪存中。

将待升级固件存储在硬盘子系统的闪存中,可以达到方便操纵硬盘子系统控制器就可以升级闪存中的固件的有益效果。在升级时,无需再次调用其他子系统,无需登录操作系统,也无需安装升级固件的工具,从而提高固件升级的效率,减少资源的占用。

可选地,将待升级固件储存在硬盘子系统内用于存放固件的闪存中之后,使所述控制子系统释放所述闪存控制权。

利用获取固件的闪存控制权,控制硬盘子系统将闪存的固件写入。在写入结束后,控制子系统完成了对闪存的写入步骤,后续升级步骤可以利用硬盘子系统控制下完成,并且固件升级不会影响除硬盘子系统外其他子系统,则可以在完成待升级固件写入后,控制子系统释放闪存控制权。

可选地,将用于升级硬盘的待升级固件发送至待升级系统的硬盘子系统的同时或之前,将存储在硬盘子系统闪存的固件日志暂存在硬件子系统的缓存中。

由于硬盘子系统在接收控制子系统发送的待升级固件时,不能同时保持固件日志也在写入状态,并且待升级系统在写入待升级固件的同时仍在工作,则固件日志可以在写入。可以将固件日志转移到硬盘子系统的缓存中暂存,以防止固件日志丢失。

可选地,将用于升级硬盘的待升级固件发送至待升级系统的硬盘子系统之后,将暂存在硬盘子系统的缓存内的固件日志还原到初始位置。

在硬盘子系统完成写入待升级固件时,其闪存的写入固件日志功能也同时恢复。在完成写入待升级固件后,可将固件日志还原到初始位置。由此产生了保留固件日志完整,且不影响系统内其他子系统正常运行的有益效果。

可选地,所述待升级系统的操作系统触发硬盘子系统重新启动,包括:

利用所述硬盘子系统以中断方式向所述操作系统发送通知消息;

所述待升级系统的操作系统响应于所述通知消息触发硬盘子系统重新启动。

由于本方法升级固件仅在硬盘子系统内的控制器上,则在重新启动硬盘子系统的控制器升级的过程中不能使用硬盘子系统,可以通知待升级的操作系统暂时停止使用硬盘子系统,然后触发重新启动,从而达到防止数据丢失的有益效果。

以中断的形式通知待升级系统中的操作系统,可以避免操作系统的驱动程序重新启动。选用中断这一方式,避免了操作系统不停扫描硬盘造成操作系统资源的浪费,从而达到减少操作系统资源的占用的有益效果。

可选地,触发硬盘子系统重新启动之前,还包括:

在所述操作系统内创建消息队列,或者加长操作系统内的消息队列;和/或,在所述操作系统内创建内存空间,或者增加操作系统内的内存空间;

其中,所述消息队列和所述内存空间用于存储待发送至所述硬盘子系统的消息。

在通知操作系统硬盘子系统的控制器要重新启动后,触发硬盘子系统重新启动之前,可以利用操作系统创建消息队列或加长消息队列、创建内存空间或加大内存空间的方式,用于在硬盘子系统的控制器重新启动的时间内保存要写入硬盘的数据。鉴于固件升级的速度快,采用所述步骤就可以达到避免数据丢失的有益效果。

可选地,利用tcp协议将所述待升级固件传输至所述控制子系统;和/或,所述控制子系统利用串行外设接口协议将所述待升级固件发送至所述硬盘子系统。

将待升级固件由外部设备传输到待升级系统的过程中,可以选用tcp协议(transmissioncontrolprotocol,传输控制协议)将固件传送到控制器,不但保证待升级固件的可靠性,还可以用于多个待升级系统通同时升级,从而达到远程批量升级的有益效果。

采用待升级系统内,设置控制子系统与硬盘子系统的连接关系是运用串行外设接口(serialperipheralinterface,简称spi)协议,能够达到高速传输的效果。并且spi协议又是硬盘子系统所支持的协议,所以无需另设接口,选用硬盘子系统自身的spi接口(使用spi协议的接口)即可完成数据的传输。spi协议支持向多个硬件系统同时传输固件的功能,从而达到待升级系统内部批量升级多个硬件子系统的有益效果。

图2是根据本发明具体实施例的固件升级的方法的系统连接的示意图。

待升级系统包括控制子系统,诸如但不限于,基板管理控制器系统(bmc系统)。在控制子系统内,包括中央处理器(cpu),以及受cpu控制的内存、与外界的接口和与待升级系统中其他子系统的连接接口。在控制子系统内与待升级系统中硬盘子系统的连接接口可为spi接口,该接口由spi控制器控制。外部设备将待升级固件发送至待升级系统中的控制子系统后,再由控制子系统控制并转发给硬盘子系统。

外部设备通过待升级系统内控制子系统的与外界的接口,诸如网口,与待升级系统相连。当外部设备与多个待升级系统相连的时候,可以同时为多个待升级系统升级硬盘固件。在待升级的每个硬盘子系统中有一个spi连接接口与控制子系统的spi接口相连。从而达到批量升级每一待升级系统内所有硬盘子系统的有益效果。可选地,在控制子系统与硬盘子系统之间可以添加spimux(spi多路复用器)子系统用于选通不同的电路。

硬盘子系统是指固态硬盘所在的系统,其中包含至少一个固态硬盘(ssd)。可以选用spi协议,将硬盘子系统与每个固态硬盘相连,分别传输硬盘固件。每一个固态硬盘(ssd)可以包括:ssd控制器、缓存、ssd存储单元和spi开关。其中,ssd控制器控制负责控制固态硬盘,包括诸如但不限于:读取、存储。ssd存储单元构成硬盘的闪存也是固件的存储位置。ssd控制器控制spi开关接收或发出信息。

其中,操作系统包括中央处理器(cpu)和内存。可以另设总线连接操作系统的cpu和硬盘子系统的ssd控制器,达到传输、控制的目的。其中,操作系统cpu与硬盘子系统之间的总线,包括诸如:pci-e总线(peripheralcomponentinterconnectexpress总线)、sas总线(serialattachedscsi总线,传统scsi硬盘的串行版本总线)或sata总线(serialadvancedtechnologyattachment总线)。

进一步可以领会到,升级硬件固件不是直接通过操作系统升级的,而是利用其他子系统为固态硬盘ssd升级的。因此,在升级的过程中操作系统无需重新启动来更新待升级固件。

以业务无感知的远程批量升级nvme硬盘(使用non-volatilememoryexpress协议的硬盘)固件升级的方案为例,结合图2,进一步说明本发明固件升级的具体实施方式。

在业务无感知的远程批量升级nvme硬盘固件升级的方案中:控制子系统选用bmc系统,bmc系统内的cpu可选为arm-mcu(arm公司的微处理器);硬盘子系统中的硬盘选用遵循nvme协议的固态硬盘,故其固态硬盘与操作系统之间的连接总线标准为pci-e。

外部设备利用tcp协议将待升级固件传输到bmc系统中,并将待升级固件保存在bmc系统的内存中。bmc系统的arm-mcu控制spi控制器,并由nvme硬盘子系统的spi开关向nvme硬盘子系统索要固件的闪存控制权。bmc系统得到固件的闪存控制权后,将待升级固件发送到nvme硬盘子系统中的每一个硬盘的闪存中。优选地,在写入待升级固件的同时,将固件日志写入到nvme硬盘的缓存中。在完成写入待升级固件后,nvme硬盘子系统收回固件的闪存控制权,并且将固件日志还原到初始位置。优选地,随后向操作系统以中断的方式发送通知,以通知nvme硬盘将要重新启动用以安装待升级固件。操作系统收到通知后,在所述操作系统内创建消息队列,或者加长操作系统内的消息队列;和/或,在所述操作系统内创建内存空间,或者增加操作系统的内存空间。在nvme硬盘控制器重新启动完成后,待升级固件便生效,即可以接受数据的传入到硬盘中。

进一步可以领会到,若采用遵循其他协议的硬盘,诸如但不限于sata或sasssd,则硬盘与操作系统之间的连接总线为sata或者sas总线。

图3是根据本发明实施例的包含硬盘的系统的主要子系统的示意图,包含硬盘的系统300,包括:控制子系统301、硬盘子系统302和操作系统303,其中,在固件升级时,

控制子系统301将用于升级硬盘的待升级固件发送至硬盘子系统302;

操作系统触发硬盘子系统302重新启动,实现固件升级。

控制子系统301将待升级固件发送至硬盘子系统302,既可以升级硬盘子系统中多个硬盘的固件,又避免了运用操作系统303升级需要重新启动待升级设备的缺陷。进而达到了批量升级系统内固件的有益效果。

操作系统303的控制,硬盘子系统仅在其内部升级,升级时不涉及其他子系统,可以达到快速实现固件升级,在短时间内完成固件升级并且不影响待升级系统其他部分的正常运行的有益效果。

可选地,控制子系统301将用于升级硬盘的待升级固件发送至硬盘子系统302之前,还包括:

所述控制子系统301获得所述硬盘子系统302的闪存控制权。

将固件的闪存控制权为控制子系统所拥有,可以方便后续控制子系统将待升级固件直接传输到存放固件的闪存中。

可选地,控制子系统301将用于升级硬盘的待升级固件发送至硬盘子系统302包括:将待升级固件储存在硬盘子系统302内用于存放固件的闪存中。

将待升级固件存放在硬盘子系统内用于存放固件的闪存中,可以方便在升级过程中直接利用闪存中待升级固件进行固件升级。

可选地,控制子系统还用于:

控制子系统301将待升级固件储存在硬盘子系统内用于存放固件的闪存中之后,控制子系统释放所述闪存控制权。

在完成固件转移后,控制子系统后续不会对存放固件的闪存有任何控制。若要升级硬盘子系统闪存内的待升级固件,可以由硬盘子系统内的控制器完成。优选地,在待升级固件已经存在硬盘子系统中之后,固件的闪存控制权被控制子系统释放。

可选地,硬盘子系统还用于:控制子系统301将用于升级硬盘的待升级固件发送至硬盘子系统302的同时或之前,硬盘子系统302将存储在硬盘子系统302闪存的固件日志暂存在硬件子系统302的缓存中。

由于硬盘子系统302在写入待升级固件的时候不能同时记录固件日志,可以利用将固件日志的存放位置转移的方法,在待升级固件写之前或同时将固件日志暂存在硬盘子系统的缓存中。

可选地,硬盘子系统还用于:控制子系统301将用于升级硬盘的待升级固件发送至硬盘子系统302之后,硬盘子系统302将暂存在硬盘子系统301的缓存内的固件日志还原到初始位置。

在完成转移待升级固件后,硬盘子系统302有固件日志仍在写入,则可以将固件日志转移回原来的位置。缓存中的数据在掉电之后无法保存,为了保证固件日志的完整性,可以将固件日志转移回到硬盘子系统302的闪存中。

可选地,操作系统触发硬盘子系统302重新启动,包括:

所述硬盘子系统302以中断方式向所述操作系统303发送通知消息;

所述操作系统303响应于所述通知消息触发硬盘子系统302重新启动。

固件升级仅由硬盘子系统的控制器重新启动完成,操作系统303不会因固件升级而重新启动,从而达到克服影响操作系统303停止运行的有益效果。利用中断的方式通知待升级系统的操作系统,可以避免操作系统不停扫描硬件子系统,从而达到减少操作系统资源占用的有益效果。

可选地,触发硬盘子系统重新启动之前,操作系统303还用于:

在所述操作系统303内创建消息队列,或者加长操作系统内的消息队列;和/或,在所述操作系统303内创建内存空间,或者增加操作系统内的内存空间;

其中,所述消息队列和所述内存空间用于存储待发送至所述硬盘子系统的消息。

在硬盘子系统302内的控制器重新启动时,会停止硬盘的写入功能,数据无法利用操作系统303存储在硬盘中。由于本发明采用的固件升级的方法升级速度快、用时少,则在升级固件时,可以通过加长操作系统303内用于写入使用的消息队列和/或加大操作系统内用于写入使用的内存空间,从而达到了固件升级期间数据的完整的有益效果。

可选地,利用tcp协议将所述待升级固件传输至所述控制子系统301;和/或,所述控制子系统301利用串行外设接口协议将所述待升级固件发送至所述硬盘子系统302。

可以利用tcp协议(传输控制协议)将固件发送到控制器,不但保证待升级固件的可靠性,还可以用于多个待升级系统同时升级,进而达到远程批量固件升级的有益效果。

控制子系统与硬盘子系统是一对多的主从关系,其中,控制子系统为主从关系中的主设备,硬盘子系统为主从关系中的从设备。可以利用串行外设接口协议(spi协议)满足一个控制子系统向多个硬盘子系统传输固件的通信方式。由于每个硬盘上都设置有spi接口,且硬盘适用于spi协议,则利用串行外设接口协议(spi协议)连接控制子系统与硬盘子系统是较为优选的方案。

图4示出了可以应用本发明实施例的固件升级方法或固件升级装置的示例性系统架构400。

如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。

终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。

需要说明的是,本发明实施例所提供的固件升级方法一般由服务器405执行,相应地,固件升级装置一般设置于服务器405中。

应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

下面参考图5,其示出了适于用来实现本发明实施例的终端设备的计算机系统500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,计算机系统500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有系统500操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(cpu)501执行时,执行本发明的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送模块、获取模块、确定模块和第一处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,发送模块还可以被描述为“向所连接的服务端发送数据获取请求的模块”。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:待升级系统的控制子系统将用于升级硬盘的待升级固件发送至待升级系统的硬盘子系统;所述待升级系统的操作系统触发硬盘子系统重新启动,实现固件升级。

根据本发明实施例的技术方案,克服了现有技术需要通过操作系统升级的技术问题,进而达到无需影响待升级系统工作,使得运维成本降低,减小对业务的影响的技术效果。

采用tcp传输协议将待升级固件传送至待升级设备,可以克服无法批量升级的缺陷,进而达到了批量传送待升级固件的有益效果。

因为采用从控制子系统发送固件至硬盘子系统,且传输协议为spi协议的技术手段,所以克服了现有技术需要通过操作系统升级、无法批量升级的缺陷,从而达到免除在操作系统内安装工具,并且升级速度快的技术效果。

本发明实施例的技术方案,可采用待升级固件在硬盘子系统内升级,且调整操作系统内用于写入使用的消息队列和内存空间的技术手段,所以克服了现有技术会影响设备内所有业务的运行、导致业务被迫中断、可能导致硬盘数据不完整的缺陷,进而达到了待升级系统无需暂停或转移业务的有益效果。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

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