Expander芯片的固件批量升级实现方法和系统与流程

文档序号:23097326发布日期:2020-11-27 12:59阅读:224来源:国知局
Expander芯片的固件批量升级实现方法和系统与流程

本发明涉及计算机信息技术领域,尤其涉及一种expander芯片的固件批量升级实现方法和系统。



背景技术:

固件是指计算机设备内部保存的设备“驱动程序”,只有通过固件,计算机设备的操作系统才能按照标准设备驱动实现动作运行。固件是担任操作系统最基础最底层工作的软件,固件的好坏也就决定着硬件设备的功能及性能。

在计算机设备的硬件设计中,很多硬件设备的逻辑功能芯片都需要通过固件来实现相关的硬件功能,例如集成南桥、基板管理控制器、复杂可编程逻辑器、电压调节器和扩展卡expander芯片等;其中,expander芯片通常出现在硬盘背板的设计中,用于扩展主板的硬盘接口,进而扩展服务器整机所支持的硬盘数量,以增大服务器的存储容量。因为固件一般存储在计算机设备的只读存储器eeprom中,因此对于上述芯片中固件的烧录,通常是在空电路板加工之前通过eeprom完成的。而expander芯片本身也需要外接eeprom,在空电路板加工前完成固件的烧录,从而通过固件来配置expander芯片内部的寄存器实现扩展硬盘的功能。

在实际应用过程中,固件代码是需要根据实际的功能需求不断升级的,而对于已经焊接到板卡上的芯片来说,将它们取下并重新进行离线烧录显然是不现实的,因此就需要通过在线刷新的方式来实现固件的升级。对于集成南桥、基板管理控制器、复杂可编程逻辑器和电压调节器芯片中固件的升级,可以通过基板管理控制器进行固件代码的在线升级,然而,对于硬盘背板上的expander芯片来说,expander芯片和基板管理控制器之间是没有通过硬件互联的。具体地,expander芯片本身不支持通过总线实现固件升级的硬件链路,并且在硬盘背板上也未涉及预留基板管理控制器。因此,现有技术中无法通过基板管理控制器实现expander芯片的在线升级,只能分别通过expander芯片的外接串口来完成expander芯片上固件的升级。

上述通过外接串口升级expander芯片固件的方式,对于单个硬盘背板是可以实现的,但是由于刷新固件需要挨个为每个expander芯片加载大量代码,耗费时间,另外每次刷新都需要分别为每个expander芯片重新搭建一次环境,所以通过每次通过串口对expander芯片进行固件升级的方式显然是十分耗费时间的,并且固件代码的升级需求在最终量产前会不断更新,而每次更新都通过串口重新对每块板卡进行固件升级显然是不现实的。综上,对于expander芯片的固件的批量升级,无论是通过串口升级固件还是将芯片取下并重新进行离线烧录,都是很不现实的。



技术实现要素:

本发明提供了expander芯片的固件批量升级实现方法和系统,旨在解决现有技术中通过外接串口方式或重新离线烧录方式,均只能实现少量expander芯片中固件升级,无法大批量升级固件的问题。

为实现上述目的,根据本发明的第一方面,本发明提供了一种expander芯片的固件批量升级实现方法,包括以下步骤:

接收外部固件分发设备发送的固件数据;

根据固件数据生成固件升级信息,并通过网络通信方式将固件升级信息分发至需要升级固件的expander芯片对应的网络接口;

将从网络接口接收到的固件升级信息转化为串口数据形式,并发送至需要升级固件的expander芯片。

优选地,在接收外部固件分发设备发送的固件数据的步骤之前,所述方法还包括:分别为每个expander芯片对应的网络接口分配唯一的ip地址;

通过网络通信方式将固件升级信息分发至需要升级固件的expander芯片对应的网络接口的步骤,包括:

获取需要升级固件的expander芯片对应网络接口的ip地址;

按照ip地址与网络接口的唯一对应关系,将固件升级信息分发至需要升级固件的expander芯片对应的网络接口。

优选地,在将固件升级信息转化为串口数据形式的步骤之后,所述方法还包括:

从固件升级信息中提取校验码,校验码用于校验固件升级信息;

将校验码与预存校验码进行匹配;

若校验码与预存校验码匹配成功,则使用固件升级信息对expander芯片进行升级;

若校验码与预存校验码匹配不成功,则终止使用固件升级信息对expander芯片进行升级,并通过网络接口反馈升级异常信息。

优选地,上述根据固件数据生成固件升级信息,并通过网络通信方式将固件升级信息分发至需要升级固件的expander芯片对应的网络接口的步骤,包括:

通过专用网络接口将固件数据上传至以太网交换芯片;

以太网交换芯片根据固件数据生成固件升级信息,并通过phy芯片发送至需要升级固件的expander芯片对应的网络接口。

优选地,在将固件升级信息发送至需要升级固件的expander芯片的步骤之后,该expander芯片的固件批量升级实现方法还包括:

从expander芯片提取固件升级信息并至对应的备用存储器;

当expander芯片中的固件升级信息损坏时,从备用存储器中将固件升级信息传递回expander芯片的寄存器中。

根据本发明的第二方面,本发明提供了一种expander芯片的固件批量升级实现系统,包括:

网络通信模块,以及多个分别与expander芯片对应相连的固件升级模块;其中,

网络通信模块与多个固件升级模块相连,用于根据外部固件分发设备发送的固件数据生成固件升级信息,并通过网络通信方式将固件升级信息分发至需要升级固件的expander芯片对应的固件升级模块;

固件升级模块,用于将固件升级信息转化为串口数据形式,并发送至对应的expander芯片。

优选地,所述网络通信模块包括:

phy芯片以及与phy芯片相连的多个通信模块网络接口;

固件升级模块包括与多个分别与通信模块网络接口一一对应的升级模块网络接口;

其中,phy用于分别为通信模块网络接口和升级模块网络接口分配唯一的ip地址。

优选地,所述网络通信模块还包括:

以太网交换芯片和专用网络接口;其中,

专用网络接口连接外部分发设备,用于将固件数据上传至以太网交换芯片;

以太网交换芯片与phy芯片电连接,用于根据固件数据生成固件升级信息,并通过phy芯片发送至需要升级固件的expander芯片对应的网络接口。

优选地,所述网络通信模块还包括:与以太网交换芯片电连接的数据处理芯片,用于通过以太网交换芯片向每个expander芯片对应的固件升级模块发送校验码;

固件升级模块包括:与数据处理芯片电连接的复杂可编程逻辑器;

复杂可编程逻辑器用于提取校验码,并与预存校验码进行匹配;

若校验码与预存校验码匹配成功,则控制固件升级模块使用固件升级信息对expander芯片进行升级;

若校验码与预存校验码匹配不成功,则控制固件升级模块终止使用固件升级信息对expander芯片进行升级,并向数据处理芯片反馈升级异常信息。

优选地,所述固件升级模块还包括:

与expander芯片电连接的备用存储器,用于从expander芯片中提取固件升级信息;

备用存储器,还用于当expander芯片中的固件升级信息损坏时,向expander芯片传回固件升级信息。

本申请技术方案提供的expander芯片的固件批量升级实现方案,通过接收外部固件分发设备(如pc发送的固件数据),该固件数据是expander芯片需要升级所需的固件数据;然后根据该固件数据生成固件升级信息,该固件升级信息用于更新expander芯片中的固件,并且通过网络通信方式将固件升级信息对应需要升级固件的expander芯片的网络接口,因为本申请是通过网络通信方式分发固件升级信息的,因此本申请能够通过网络通信方式向大批量的expander芯片对应的网络接口分发该固件升级信息,从而解决了现有技术中只能通过单一的串口方式或离线烧录方式升级expander芯片中固件导致费时费力,无法满足大批量升级固件需求的问题,并且因为expander芯片只能通过外接串口通信数据,因此本申请中在将固件升级信息分发下去后,还将从网络接口接收到的固件升级信息转化为串口数据形式,这样就能够将该信息传递至expander芯片,方便expander芯片解析该固件升级信息,从而能够实现expander芯片中固件的大批量升级。

附图说明

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

图1是本发明实施例提供的第一种expander芯片的固件批量升级实现方法的流程示意图;

图2是本发明实施例提供的第二种expander芯片的固件批量升级实现方法的流程示意图;

图3是本发明实施例提供的第三种expander芯片的固件批量升级实现方法的流程示意图;

图4是本发明实施例提供的第四种expander芯片的固件批量升级实现方法的流程示意图;

图5是本发明实施例提供的第五种expander芯片的固件批量升级实现方法的流程示意图;

图6是本发明实施例提供的第一种expander芯片的固件批量升级实现系统的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要技术问题如下:

对于服务器系统,想要单独升级硬盘背板上expander芯片的固件代码,通过基板控制器在线升级的方式是无法实现的。而现有技术中想要完成对expander芯片固件升级,通过串口刷新虽然可行,但这只适用于小批量的升级,一旦在背板数量比较多的情况下,或者需要升级的固件代码量比较大,那么通过串口依次对每一块硬盘背板上expander芯片进行固件升级的方式显然是十分耗费时间的,并且固件代码的升级需求在最终量产之前会不断更新,而每次都通过串口重新对每块板卡进行固件升级显示是不太现实的。另外,通过返厂重新进行离线烧录的方法更是不太合理的。因此,需要设计一种能够批量升级硬盘背板expander芯片固件代码的方法,保证硬盘背板固件升级能够批量进行,从而极大地节省了固件升级所消耗的时间。

为了解决上述问题,本发明提供了expander芯片的固件批量升级实现方案,能够通过网络通信方式批量向expander芯片对应的网络接口发送固件升级信息,并且为了适应expander芯片对固件数据的处理和接收形式,本申请实施例将该以太网数据形式的固件升级信息先转换为串口数据形式,再发送至需要升级固件的expander芯片;因为本申请实施例中固件升级信息是通过网络通信方式发送的,所以能够大批量地发送至expander芯片,达到批量升级expander芯片中固件的目的。

为实现上述目的,参见图1,图1是本发明实施例提供的一种expander芯片的固件批量升级实现方法的流程示意图。如图1所示,该expander芯片的固件批量升级实现方法包括以下步骤:

s110:接收外部固件分发设备发送的固件数据。固件分发设备如:个人电脑pc、台式机、笔记本电脑等均可以作为固件分发设备。固件数据用于升级各个expander芯片中的固件。

s120:根据固件数据生成固件升级信息,并通过网络通信方式将固件升级信息分发至需要升级固件的expander芯片对应的网络接口。本申请实施例中的固件升级信息是根据固件数据生成的,包括固件代码以及其他数据(如验证数据)等。

因为现有技术中每个expander芯片都对应外接一个串口,只能通过该外接串口完成expander芯片上的固件升级,但是通过外接串口升级expander芯片固件的方法中,若大批量升级固件,则需要通过每个串口依次刷新expander芯片中的固件,因此此种方式费时费力。本申请实施例中,通过网络通信方式,能够分别为多个需要升级固件的expander芯片的网络接口发送固件升级信息,这样所有需要升级固件的expander芯片都能够同时获取到固件升级信息,从而实现大批量expander芯片的固件升级。

s130:将从网络接口接收到的固件升级信息转化为串口数据形式,并发送至需要升级固件的expander芯片。

因为expander芯片无法直接处理以太网数据形式的固件升级信息,并且每个expander芯片连接有串口,所以本申请实施例中,在将固件升级信息发送给expander芯片之前将该固件升级信息转化为串口数据形式,能够便于每个expander芯片能够接收和处理该固件升级信息。

综上,本申请技术方案提供的expander芯片的固件批量升级实现方法,通过接收外部固件分发设备,如pc发送的固件数据,该固件数据是expander芯片需要升级所需的固件数据;根据该固件数据生成固件升级信息,该固件升级信息用于更新expander芯片中的固件,并且通过网络通信方式将固件升级信息对应需要升级固件的expander芯片的网络接口。因为本申请是通过网络通信方式分发固件升级信息,即通过路由的方式与各个expander芯片信息交互的,因此本申请能够通过网络通信方式向大批量的expander芯片对应的网络接口分发该固件升级信息。通过上述方案能够解决现有技术中只能通过单一的串口方式或离线烧录方式升级expander芯片中固件导致费时费力,无法满足大批量升级固件需求的问题,并且因为expander芯片只能通过外接串口通信数据,因此本申请中在将固件升级信息分发下去后,还将从网络接口接收到的固件升级信息转化为串口数据形式,这样就能够将该信息传递至expander芯片,方便expander芯片解析该固件升级信息,从而能够实现expander芯片中固件的大批量升级。

因为expander芯片具有多个,为了区分不同的expander芯片,有针对性地将固件升级信息发送给每个expander芯片,需要确定每个expander芯片的位置,因此首先需要为expander芯片设计静态的ip地址。

因此,如图2所示,在上述步骤s110:接收外部固件分发设备发送的固件数据之前,本申请实施例提供的expander芯片的固件批量升级实现方法除了上述步骤外还包括:

s210:分别为每个expander芯片对应的网络接口分配唯一的ip地址。

具体通过以太网交换芯片完成本地网络ip地址的分配,并且因为每块expander芯片设计在硬盘背板上,因此以太网交换芯片还能够分别为各个硬盘背板分配对应的ip地址。通过为连接在硬盘背板和网络通信模块上的成对的网络接口分配ip地址,就能够确定每个expander芯片的编号,从而实现将固件升级信息分别发送给对应expander芯片的目的。

上述步骤s120:通过网络通信方式将固件升级信息分发至需要升级固件的expander芯片对应的网络接口,包括:

s220:获取需要升级固件的expander芯片对应网络接口的ip地址。

通过获取需要升级固件的expander芯片对应网络接口的ip地址,能够确定需要升级固件的expander芯片的位置,该获取ip地址的方式可以通过接收expander芯片的请求信息获得,或者从上述接收到的固件数据中获取。

s230:按照ip地址与网络接口的唯一对应关系,将固件升级信息分发至需要升级固件的expander芯片对应的网络接口。

其中,上述ip地址可通过手动方式进行分配,将ip地址与expander芯片的网络接口一一对应,具体可将外部固件分配设备配置ip地址为192.168.0.1,再按物理接口的顺序,以192.168.0.2起始依次对以太网交换芯片扩展的网络接口分别手动配置ip地址,从而在发送固件代码时不会出现地址冲突。

本申请实施例提供的技术方案中,通过该获取需要升级固件的expander芯片对应网络接口的ip地址,因为本设备通过网络接口与expander芯片相连,因此可以建立ip地址与网络接口的唯一对应关系,从而能够通过该ip地址将固件升级信息发送给expander芯片的网络接口。

另外,为了避免固件升级信息错配,保证固件代码升级的安全性和完整性,验证固件升级信息是否发送至对应的expander芯片中,还需要在批量升级固件的过程中对固件升级信息进行校验,以防止出现代码丢失或被恶意损坏的风险。为了实现该功能,具体如图3所示,在原步骤s130:将固件升级信息转化为串口数据形式的步骤之后,本实施例提供的固件批量升级实现方法除了上述步骤外还包括:

s310:从固件升级信息中提取校验码,校验码用于校验固件升级信息。

该校验码可以为循环冗余校验位crc校验码,该crc校验码能够与固件升级信息一起集成到数据包中,通过网络接口发送至expander芯片所在的硬盘背板上。

s320:将校验码与预存校验码进行匹配,判断是否匹配成功。本申请实施例中可在每块硬盘背板上设置可编程逻辑器cpld芯片,在该cpld芯片内部预存正确的crc校验码,从而完成串口数据的协议解析,当校验码与预存校验码匹配成功时,即可使用固件升级信息对expander芯片进行升级。

s330:若校验码与预存校验码匹配成功,则使用固件升级信息对expander芯片进行升级。当校验码与预存校验码匹配成功还能够通过匹配成功指示灯指示固件升级成功。

s340:若校验码与预存校验码匹配不成功,则终止使用固件升级信息对expander芯片进行升级,并通过网络接口反馈升级异常信息。另外若校验码与预存校验码匹配不成功,则说明可能将固件升级信息发送至错误的expander芯片,此时通过网络接口反馈升级异常信息后,还能够通过故障指示灯进行显示,从而提示固件刷新异常。

本申请实施例提供的技术方案中,通过设置校验码对固件升级信息进行校验,能够验证固件升级信息的完整性和安全性,校验成功时才能够使用固件升级信息对expander芯片进行升级;当校验失败时,则终止升级,并反馈升级异常信息,从而在批量升级expander芯片所存储固件的过程中避免出现代码丢失和被恶意损坏的风险。

另外,如图4所示,图1所示的步骤s120:根据固件数据生成固件升级信息,并通过网络通信方式将固件升级信息分发至需要升级固件的expander芯片对应的网络接口的步骤,包括:

s410:通过专用网络接口将固件数据上传至以太网交换芯片。该专用网络接口是连接外部固件分发设备的,通过该专用网络接口能够获取固件数据,从而交由以太网交换芯片进行数据的处理,转化为固件升级信息并分发至各个expander芯片。

s420:以太网交换芯片根据固件数据生成固件升级信息,并通过phy芯片发送至需要升级固件的expander芯片对应的网络接口。

本申请实施例提供的技术方案中,以太网交换芯片能够实现本地网络之间的数据交互。以太网交换芯片和物理层phy芯片之间通过管理数据输入输出mdio接口完成各个expander芯片之间的互联,从而为下游的网络通信设备提供物理层网络接口,因为下游连接的硬盘背板通过物理层网络接口将数据传输到数据链路层能够完成数据交互,因此在网络层能够完成数据包的收发通信。

另外,expander芯片中内置有寄存器,用于存储固件。在expander芯片突然掉电的情况下,寄存器中的固件升级信息容易损坏。为了避免这种情况,如图5所示,本申请实施例在上述步骤s130:将固件升级信息发送至需要升级固件的expander芯片的步骤之后,该expander芯片的固件批量升级实现方法还包括:

s510:从expander芯片提取固件升级信息并至对应的备用存储器。通过设置备用寄存器,如带电可擦可编程只读存储器eeprom,能够将expander芯片接收到的固件升级信息存储至该备用存储器中,从而对固件升级信息进行备份。

s520:当expander芯片中的固件升级信息损坏时,从备用存储器中将固件升级信息传递回expander芯片的寄存器中。

本申请实施例提供的技术方案中,将配置的固件升级信息加载到eeprom芯片中进行保存,保证在expander芯片掉电后固件升级信息不会丢失;当硬盘背板再次工作时,硬板背板会以当前的固件版本配置expander芯片内部的寄存器,不需要再次通过网络接口获取固件升级信息。

另外,为了实现上述方法,本申请下述各实施例还提供了expander芯片的固件批量升级系统,通过下述固件批量升级系统能够实现上述方法的功能,因为具体操作步骤上述方法已经提及,因此重复部分不再赘述。

参见图6,图6为本申请实施例提供的一种expander芯片的固件批量升级系统的结构示意图。如图6所示,该expander芯片的固件批量升级系统包括:

网络通信模块100,以及多个分别与expander芯片对应相连的固件升级模块200;其中,

网络通信模块100与多个固件升级模块200相连,用于根据外部固件分发设备300发送的固件数据生成固件升级信息,并通过网络通信方式将固件升级信息分发至需要升级固件的expander芯片400对应的固件升级模块200;如图6所示,该网络通信模块100包括多个通信模块网络接口104,即图中的第一网口,通过该第一网口104与各个硬盘背板上的第二网口201的互联,即可达到网络通信方式发送固件升级信息的目的。

固件升级模块200,用于将固件升级信息转化为串口数据形式,并发送至对应的expander芯片400。对于各个expander芯片400所在的硬盘背板500,首先通过网络接口接收固件升级信息(包括固件数据代码),由于收发数据是通过网络完成传递的,而expander芯片400本身只接收串口协议数据来配置内部寄存器,所以需要通过固件升级模块200中的协议转换器202将以太网数据转换为串口数据,即将tcp/ip协议数据转换为通用异步收发传输uart接口数据,进而完成expander芯片内部的寄存器配置。

综上,本申请技术方案提供的expander芯片的固件批量升级实现系统,通过网络通信模块100接收外部固件分发设备300,如pc发送的固件数据,该固件数据是expander芯片400需要升级所需的固件数据;根据该固件数据生成固件升级信息,该固件升级信息用于更新expander芯片400中的固件,并且通过网络通信方式将固件升级信息对应需要升级固件的expander芯片400的网络接口。因为本申请是通过网络通信方式分发固件升级信息,即通过路由的方式与各个expander芯片400信息交互的,因此本申请能够通过网络通信方式向大批量的expander芯片400对应的网络接口201分发该固件升级信息。通过上述方案能够解决现有技术中只能通过单一的串口方式或离线烧录方式升级expander芯片中固件导致费时费力,无法满足大批量升级固件需求的问题,并且因为expander芯片只能通过外接串口通信数据,因此本申请中在将固件升级信息分发下去后,还将从网络接口接收到的固件升级信息转化为串口数据形式,这样就能够将该信息传递至expander芯片400,方便expander芯片400解析该固件升级信息,从而能够实现expander芯片400中固件的大批量升级。

其中,为了实现对不同expander芯片400的区分,以针对性地大批量升级各个expander芯片400,如图6所示,本申请实施例中,固件升级模块包括与多个分别与通信模块网络接口104(即图中的第一网口)一一对应的升级模块网络接口201(即图中的第二网口)。

其中,phy芯片103用于分别为通信模块网络接口104(即图6中第一网口104)和升级模块网络接口201(即图中固件升级模块200中的第二网口201)分配唯一的ip地址。

本申请实施例提供的技术方案中,phy芯片103以及与phy芯片103相连的多个通信模块网络接口104。物理层phy芯片103与多个网络接口相连,能够为下游的网络通信设备提供物理层网络接口,下游连接的设备通过物理层网络接口能够将数据传输到数据链路层,从而完成数据交互,进而在网络层完成数据包的收发通信。

另外,如图6所示,本申请实施例提供的网络通信模块100还包括:

以太网交换芯片102和专用网络接口105;其中,

专用网络接口105连接外部分发设备300,用于将固件数据上传至以太网交换芯片102;

以太网交换芯片102与phy芯片103电连接,用于根据固件数据生成固件升级信息,并通过phy芯片103发送至需要升级固件的expander芯片400对应的网络接口。

另外,为了保证固件代码升级的安全性和完整性,需要在批量升级过程中增加校验功能,以防止出现代码丢失或被恶意损坏的风险。为实现上述目的,如图6所示,该网络通信模块100还包括:与以太网交换芯片102电连接的数据处理芯片101,用于通过以太网交换芯片102向每个expander芯片400对应的固件升级模块200发送校验码;

固件升级模块200包括:与数据处理芯片101电连接的复杂可编程逻辑器cpld203;

复杂可编程逻辑器203用于提取校验码,并与预存校验码进行匹配;

若校验码与预存校验码匹配成功,则控制固件升级模块200使用固件升级信息对expander芯片400进行升级;

若校验码与预存校验码匹配不成功,则控制固件升级模块200终止使用固件升级信息对expander芯片400进行升级,并向数据处理芯片101反馈升级异常信息。

具体地,从外部固件分发设备300发送的固件代码数据通过以太网通信的方式传送到硬盘背板500上,再通过协议转换器202成串口通信数据,在固件代码数据发送前,通过数据处理芯片101,即arm芯片,将定义好的crc校验码集成到数据包中,并将校验码发送给cpld203,在cpld203芯片内部也需要预存正确的crc检测码,并完成串口数据的协议解析,当数据发送到expander芯片400时,同步会传递给cpld203,此时cpld203会对比crc校验码和预存的检验码,如果比对成功,则cpld203驱动硬盘背板500上的指示灯led205显示绿色,代码固件升级完成;而一旦校验失败,cpld驱动硬盘背板上的指示灯led205显示红色,以此来提醒固件刷新异常。与此同时,当出现代码校验失败的情况时,cpld203可以通过通用异步收发传输uart总线将数据反馈给网络通信模块100的数据处理芯片101,在数据处理芯片101内部可以解析出crc校验码的类型,从而判断出固件升级失败的原因,再通过本地网络通信的方式通知到外部固件分发设备300中,此时先根据ip地址判断出升级失败的硬盘背板500的位置,可以选择重新发送固件代码,如果还是校验失败,可以更换硬盘背板,并对出现异常的硬盘背板进行故障分析。

另外,因为固件升级信息是存储在expander芯片400的寄存器中的,为了避免expander芯片400中寄存器因掉电等原因导致固件升级信息损坏,如图6所示,上述固件升级模块200还包括:

与expander芯片400电连接的备用存储器eeprom205,用于从expander芯片400中提取固件升级信息;

备用存储器eeprom205,还用于当expander芯片400中的固件升级信息损坏时,向expander芯片400传回固件升级信息。

本申请实施例提供的技术方案中,将配置数据加载到备用存储器eeprom205中进行保存,能够保证在掉电后固件升级信息(包括固件代码数据)不会丢失,当expander芯片400所在的硬盘背板500再次工作时,备用存储器eeprom205会以当前的固件版本重新配置expander芯片400内部的寄存器,进而不需要再次从外部通过网络通信方式获取固件升级信息。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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