发明内容
本发明实施例提供一种固件加载方法、系统和装置,以加快存储设备固件的加载速度,缩短加载存储设备固件的过程。
为达到上述目的,本发明实施例一方面提供一种固件加载方法,包括:
通过数据传输接口接收主机发送的存储设备的初始化固件,将所述初始化固件通过预先加载的第一固件加载到所述存储设备上;
通过数据传输接口接收主机发送的存储设备运行时的固件和数据,并通过加载的初始化固件,以及预先加载的第二固件将所述存储设备运行时的固件和数据加载到所述存储设备。
另一方面,本发明实施例还提供一种固件加载系统,包括主机、数据传输接口、加载模块和存储设备,
所述主机,用于发送所述存储设备的固件,所述存储设备的固件包括所述存储设备的初始化固件和所述存储设备运行时的固件和数据;
所述数据传输接口,用于接收所述主机发送的所述存储设备的初始化固件和所述存储设备运行时的固件和数据;
所述加载模块,用于将所述数据传输接口接收的所述存储设备的初始化固件通过预先加载的第一固件加载到所述存储设备上,通过加载的初始化固件,以及预先加载的第二固件将所述数据传输接口接收的存储设备运行时的固件和数据加载到所述存储设备。
再一方面,本发明实施例还提供一种桥接器,包括:
数据传输接口,用于接收主机发送的存储设备的初始化固件和存储设备运行时的固件和数据;
第一加载模块,用于将所述数据传输接口接收的初始化固件通过预先加载的第一固件加载到所述存储设备上;
第二加载模块,用于通过所述第一加载模块加载的初始化固件,以及预先加载的第二固件将所述数据传输接口接收的存储设备运行时的固件和数据加载到所述存储设备。
与现有技术相比,本发明实施例具有以下优点:通过本发明实施例,桥接器通过数据传输接口接收主机发送的存储设备的初始化固件,将初始化固件通过预先加载的第一固件加载到存储设备上,通过数据传输接口接收主机发送的存储设备运行时的固件和数据,将存储设备运行时的固件和数据通过加载的初始化固件,以及预先加载的第二固件加载到存储设备。本发明实施例在主机和存储设备之间使用桥接器作为加载存储设备固件的数据传输通道,主机通过数据传输接口将存储设备固件传输至桥接器,加快了加载存储设备固件的速度,缩短了存储设备固件的加载过程。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种固件加载方法、系统和装置,在主机和存储设备之间,使用桥接器作为存储设备的固件加载装置,将主机发送的存储设备固件和数据传输到存储设备。
如图1所示,为本发明实施例提供的一种固件加载系统的结构图,包括主机11、数据传输接口12、加载模块13和存储设备14,主机11运行固件加载程序,通过数据传输接口12对加载模块13分别加载第一固件和第二固件。第一固件,用于实现加载模块13通过标准串行接口与存储设备14通信,第二固件,用于实现加载模块13通过硬盘接口与存储设备14通信。
其中,
主机11,用于发送存储设备14的固件,该存储设备14的固件包括存储设备14的初始化固件和存储设备13运行时的固件和数据;
数据传输接口12,用于接收主机11发送的存储设备14的初始化固件和存储设备14运行时的固件和数据;
加载模块13,用于将数据传输接口12接收的存储设备14的初始化固件通过预先加载的第一固件加载到存储设备14上,通过加载的初始化固件,以及预先加载的第二固件,将数据传输接口12接收的存储设备14运行时的固件和数据加载到存储设备14。第一固件实现了加载模块13通过标准串行接口与存储设备通信,因此在加载初始化固件时,加载模块13可以通过标准串行接口将存储设备14的初始化固件加载到存储设备14。在存储设备14加载了初始化固件之后,存储设备14可以支持硬盘接口协议,而第二固件实现了加载模块13通过硬盘接口与存储设备14通信,因此加载模块13可以通过硬盘接口将存储设备14运行时的固件和数据加载到存储设备14。
所述通过加载的初始化固件,以及预先加载的第二固件,将数据传输接口12接收的存储设备14运行时的固件和数据加载到存储设备14包括:加载模块13通过硬盘接口将存储设备14运行时的固件和数据发送至存储设备14,通过加载的初始化固件将存储设备14运行时的固件和数据加载到存储设备14的存储介质的保留区中,当然本发明实施例并不局限于此,也可以将存储设备14运行时的固件和数据加载到存储介质的其他区中,但本发明实施例以将存储设备14运行时的固件和数据加载到存储设备14的存储介质的保留区为例进行说明。
其中,数据传输接口12和加载模块13可以集成在桥接器15上实现。
上述固件加载系统,在主机11和存储设备14之间使用桥接器15作为加载存储设备固件的数据传输通道,主机11通过数据传输接口12将存储设备固件传输至桥接器15,加快了加载存储设备固件的速度,缩短了存储设备固件的加载过程。
如图2所示,为本发明实施例提供的一种桥接器的结构图,包括:
数据传输接口21,用于接收主机11发送的存储设备14的初始化固件和存储设备14运行时的固件和数据。
第一加载模块22,用于将数据传输接口21接收的初始化固件通过预先加载的第一固件加载到存储设备14上。
第二加载模块23,用于通过第一加载模块22加载的初始化固件,以及预先加载的第二固件,将数据传输接口21接收的存储设备14运行时的固件和数据加载到存储设备14。
所述通过第一加载模块22加载的初始化固件,以及预先加载的第二固件,将数据传输接口21接收的存储设备14运行时的固件和数据加载到存储设备14可以包括:
将存储设备14运行时的固件和数据发送至存储设备14,由第一加载模块22加载的初始化固件,将存储设备14运行时的固件和数据加载到存储设备14的存储介质中。
该桥接器15还可以包括硬盘接口24,所述硬盘接口24连接第一加载模块22和存储设备14,或者连接第二加载模块23和存储设备14。第一加载模块22具体用于通过硬盘接口24将存储设备14的初始化固件加载到存储设备14。第一固件将硬盘接口24模拟为标准串行接口,因此在加载初始化固件时,第一加载模块22可以通过硬盘接口24模拟的标准串行接口将存储设备14的初始化固件加载到存储设备14的控制模块,该控制模块为存储设备14中具有控制功能的模块,例如:存储设备14的控制芯片。
在存储设备14加载了初始化固件之后,存储设备14可以支持硬盘接口协议,而第二固件实现了桥接器15通过硬盘接口24与存储设备14通信,因此第二加载模块23可以通过硬盘接口24将存储设备14运行时的固件和数据发送至存储设备14,再由存储设备14加载的初始化固件,将存储设备14运行时的固件和数据加载到存储设备14的存储介质中。
其中,上述第一加载模块22和第二加载模块23可以集成在桥接器控制模块25上实现,该桥接器控制模块25为桥接器15中具有控制功能的模块,例如:桥接器控制芯片。本发明实施例中,主机11运行固件加载程序,通过数据传输接口21对桥接器控制模块25预先加载第一固件和第二固件。
其中,数据传输接口21可以为USB(Universal Serial Bus,通用串行总线)接口,但本发明实施例并不局限于此,该数据传输接口21也可以为其他任何传输速率高、易扩展的数据传输接口。
本发明实施例在主机11和存储设备14之间使用桥接器15作为加载存储设备固件的数据传输通道,主机11通过数据传输接口21将存储设备固件传输至桥接器15,加快了加载存储设备固件的速度,缩短了存储设备固件的加载过程。
如图3所示,为本发明实施例固件加载方法的流程图,包括:
步骤S301,通过数据传输接口21接收主机11发送的存储设备14的初始化固件,将该初始化固件通过预先加载的第一固件加载到存储设备14上。
本发明实施例中,主机11运行固件加载程序,通过数据传输接口21对桥接器控制模块25分别加载第一固件和第二固件,该桥接器控制模块25为桥接器15中具有控制功能的模块,例如:桥接器控制芯片。
第一固件将硬盘接口24模拟为标准串行接口,因此在加载初始化固件时,桥接器15可以通过模拟的标准串行接口将存储设备14的初始化固件加载到存储设备14。
步骤S302,通过数据传输接口21接收主机11发送的存储设备14运行时的固件和数据,并通过加载的初始化固件,以及预先加载的第二固件,将存储设备14运行时的固件和数据加载到存储设备14。
在存储设备14加载了初始化固件之后,存储设备14可以支持硬盘接口协议,第二固件实现了桥接器15通过硬盘接口与存储设备14通信,因此桥接器15可以通过硬盘接口24将存储设备14运行时的固件和数据发送至存储设备14,由存储设备14加载的初始化固件,将存储设备14运行时的固件和数据加载到存储设备14的存储介质中。
具体地,桥接器15通过数据传输接口21接收主机11发送的存储设备14的初始化固件,并通过硬盘接口24将存储设备14的初始化固件加载到存储设备14的控制模块,该控制模块为存储设备14中具有控制功能的模块,例如:存储设备14的控制芯片。这时,第一固件将硬盘接口24模拟为标准串行接口,第一加载模块22可以采用ISP(Inside System Program,在系统编程)的方式将接收的存储设备14的初始化固件,通过硬盘接口模拟的标准串行接口加载到存储设备14的控制模块,但是本发明并不局限于此,第一加载模块22还可以采用其他的方式将存储设备14的初始化固件加载到存储设备14,例如:根据Xmodem协议将存储设备14的初始化固件加载到存储设备14。
桥接器15通过数据传输接口21接收主机11发送的存储设备14运行时的固件和数据,在存储设备14加载了初始化固件之后,存储设备14可以支持硬盘接口协议,第二固件实现了桥接器15通过硬盘接口与存储设备14通信,因此桥接器15可以通过硬盘接口24将存储设备14运行时的固件和数据加载到存储设备14。具体地,桥接器15通过硬盘接口24将存储设备14运行时的固件和数据发送至存储设备14。再由存储设备14的控制模块上加载的初始化固件,将存储设备14运行时的固件和数据加载到存储设备14的存储介质中。存储设备14可以将存储设备14运行时的固件和数据加载到存储设备14的存储介质的保留区中,当然本发明实施例并不局限于此,也可以将存储设备14运行时的固件和数据加载到存储介质的其他区中,但本发明实施例以将存储设备14运行时的固件和数据加载到存储设备14的存储介质的保留区为例进行说明。
上述数据传输接口21具体可以为USB接口,但本发明实施例并不局限于此,该数据传输接口21也可以为其他任何传输速率高、易扩展的数据传输接口。
在本发明实施例中,主机11可以通过USB集线器连接多个桥接器15,并通过多个桥接器15连接多个存储设备14,将多个存储设备14的固件并行加载到多个存储设备。一台主机11通过USB集线器可以连接127个桥接器15,从而一台主机11可以同时对127个存储设备14并行加载固件,如图4所示。
本发明实施例中的桥接器控制模块25可以支持USB接口,由于USB1.0/1.1的最大传输速率为12Mbps,USB 2.0的最大传输速率可达480Mbps,USB3.0的最大传输速率可达5Gbps,因此采用支持USB接口的桥接器控制模块25可以加快加载存储设备固件的速度。并且进一步地,通过USB集线器进行扩展连接,一台主机11可以连接127个桥接器15,即一台主机11可以同时对127个存储设备14并行加载固件,提高了存储设备固件的加载效率。
本发明实施例通过桥接器15的硬盘接口24所模拟的标准串行接口将存储设备14的初始化固件发送给存储设备14,除存储设备14的初始化固件之外,存储设备14运行时的固件和数据均是通过硬盘接口24直接发送给存储设备14。本发明实施例以数据传输接口21为USB接口为例进行说明,加载存储设备固件的示意图如图5所示,该加载过程的流程示意图如图6所示,具体包括:
步骤S601,主机11运行固件加载程序,通过数据传输接口21将第一固件加载到桥接器控制模块25上,该桥接器控制模块25为桥接器15中具有控制功能的模块,例如:桥接器控制芯片。
步骤S602,桥接器15通过第一固件将存储设备14的初始化固件加载到存储设备14的控制模块上,该控制模块为存储设备14中具有控制功能的模块,例如:存储设备14的控制芯片。
步骤S603,主机11运行固件加载程序,通过数据传输接口21将第二固件加载到桥接器控制模块25上。
步骤S604,桥接器15通过加载的初始化固件,以及第二固件将存储设备14运行时的固件和数据加载到存储设备14。具体可以包括:桥接器15通过第二固件将存储设备14运行时的固件和数据发送至存储设备14,由存储设备14的控制模块中加载的初始化固件,将存储设备14运行时的固件和数据加载到存储设备14的存储介质中。具体地,存储设备14的初始化固件,将存储设备14运行时的固件和数据固化在存储设备14的存储介质的保留区中。
上述固件加载方法,在主机11和存储设备14之间使用桥接器15作为加载存储设备固件的数据传输通道,主机11通过数据传输接口21将存储设备固件传输至桥接器15,加快了加载存储设备固件的速度,缩短了存储设备固件的加载过程。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。