一种存储装置的固件升级装置及其升级方法与流程

文档序号:32849636发布日期:2023-01-06 22:53阅读:25来源:国知局
一种存储装置的固件升级装置及其升级方法与流程

1.本发明涉及存储芯片技术领域,特别是涉及一种存储装置的固件升级装置及其升级方法。


背景技术:

2.存储装置内的固件能够运行相应的驱动程序,存储装置在使用过程中会因固件的算法或应用场景的差异,造成存储装置产生故障,无法使用,因此需要对固件进行升级。当固件由于内部数据丢失时,导致存储装置无法与主机进行通信,此时主机无法直接对存储装置的固件进行升级,进而影响存储装置的使用。


技术实现要素:

3.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种存储装置的固件升级装置,能够在存储装置的固件存在问题的情况下,对存储装置的固件进行升级。
4.为实现上述目的及其他相关目的,本发明提供一种存储装置的固件升级装置,包括:网络单元,用于获取待更新信息;微控制单元,与所述网络单元通信连接,用于暂存所述待更新信息;以及接口单元,与所述微控制单元通信连接,并与主机的通信接口通信连接;其中,所述微控制单元通过所述接口单元将所述待更新信息传输到所述存储装置内,以对所述存储装置的固件进行更新。
5.在本发明一实施例中,所述待更新信息包括待更新的操作系统信息与待更新的固件信息。
6.在本发明一实施例中,所述微控制单元与所述存储装置之间通过标准存储器通信协议进行通信。
7.本发明还提供一种存储装置的固件升级方法,包括:获取待更新信息;将所述待更新信息通过网络单元传输至微控制单元中,并暂存于所述微控制单元内;以及所述微控制单元将所述待更新信息通过接口单元传输到存储装置内,以对所述存储装置的固件进行更新。
8.在本发明一实施例中,在所述获取待更新信息的步骤后,还包括步骤:根据所述存储装置的固件情况,对所述存储装置的工作模式进行切换。
9.在本发明一实施例中,所述根据所述存储装置的固件情况,对所述存储装置的工作模式进行切换的步骤包括:判断所述存储装置的操作系统和/或固件中的数据是否报错;当所述存储装置的操作系统与固件中的数据未报错时,所述存储装置处于正常模
式;当所述存储装置的操作系统和/或固件中的数据报错时,将所述存储装置从正常模式切换到调试模式。
10.在本发明一实施例中,在所述根据所述存储装置的固件情况,对所述存储装置的工作模式进行切换的步骤后,还包括步骤:当所述存储装置处于正常模式时,将所述待更新信息通过主机传输至所述存储装置中,以对所述存储装置的固件进行更新。
11.在本发明一实施例中,所述当所述存储装置处于正常模式时,将所述待更新信息通过主机传输至所述存储装置中,以对所述存储装置的固件进行更新的步骤包括:将所述待更新信息通过主机传输至所述存储装置中;将所述待更新信息的版本号与所述存储装置的固件版本号进行比较,判断所述待更新信息的版本号是否正确;若所述待更新信息的版本号正确,则根据所述待更新信息对所述存储装置的固件进行升级;若所述待更新信息的版本号不正确,则所述存储装置向所述主机发送版本错误指令。
12.在本发明一实施例中,所述所述微控制单元将所述待更新信息通过接口单元传输到存储装置内,以对所述存储装置的固件进行更新的步骤包括:所述微控制单元通过标准存储器通信协议将所述待更新信息传输到所述接口单元;所述接口单元将所述待更新信息传输到所述存储装置;通过所述待更新信息对所述存储装置的固件进行更新。
13.在本发明一实施例中,所述通过所述待更新信息对所述存储装置的固件进行更新的步骤包括:将所述待更新信息的版本号与所述存储装置的固件版本号进行比较,判断所述待更新信息的版本号是否正确;若所述待更新信息的版本号不正确,则所述存储装置向所述微控制单元发送版本错误指令;若所述待更新信息的版本号正确,则根据所述待更新信息对所述存储装置的固件进行升级;将所述存储装置从调试模式切换到正常模式。
14.如上所述,本发明提供一种存储装置的固件升级装置,在存储装置的固件存在丢失、损坏情况下,存储装置无法与主机进行通信时,能够对存储装置的固件进行更新,以使存储装置能够恢复正常工作。
附图说明
15.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1显示为本发明的一种存储装置的固件升级装置中存储装置的结构示意图。
17.图2显示为本发明的一种存储装置的固件升级装置中升级装置与存储装置通信的结构示意图。
18.图3显示为本发明的一种存储装置的固件升级方法的流程图。
19.图4显示为图3中步骤s20的流程图。
20.图5显示为图3中步骤s30的流程图。
21.图6显示为图3中步骤s50的流程图。
22.图7显示为图6中步骤s53的流程图。
23.元件标号说明:100、升级装置;110、微控制单元;120、网络单元;130、接口单元;200、存储装置;210、操作系统;220、固件;230、通信接口;300、处理器;400、动态随机存取内存。
具体实施方式
24.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
25.请参阅图1及图2所示,本发明提供了一种存储装置的固件升级装置,可以应用在存储装置200中,对存储装置200内的系统进行升级。存储装置200中可设有运行系统(operating system image,简称os image),运行系统包含系统运行所需的驱动器。os image包括操作系统210与固件(firmware,简称fw)220。操作系统210可以包括引导加载程序bootloader、重新启动程序uboot、操作系统程序内核linux kernel、安卓操作系统android、用户数据user data等数据,bootloader、uboot、linux kernel、android以及user data中任意部分的数据存在丢失,都有可能导致存储装置200的操作系统210无法使用。固件220是负责存储装置200与主机沟通应答的固件部分,固件220中数据存在损坏或丢失,可能会造成存储装置200无法应答主机的读写操作。因此,当存储装置200的固件报错时,即存储装置200的操作系统210或固件220受损后,需要对操作系统210或固件220进行升级。
26.请参阅图2所示,在本发明的一个实施例中,存储装置200可以包括正常模式(normal mode)与调试模式(debug mode)。在存储装置200的固件未报错时,即存储装置200处于正常模式下,主机的处理器(central process unit,cpu)300可提取暂处于动态随机存取内存(dynamic random access memory,dram)400中的待更新信息,并通过接口传输到存储装置200内,以对存储装置200的固件进行更新。在存储装置200的操作系统210或固件220报错时,即存储装置200处于调试模式下,可以通过升级装置100对存储装置200的操作系统210或固件220进行更新。升级装置100可以包括微控制单元110、网络单元120以及接口单元130,微控制单元110、网络单元120以及接口单元130可以集成于一块单独的电路板上。
27.请参阅图2所示,在本发明的一个实施例中,微控制单元110可以为微型中央处理器mcu,微型中央处理器mcu是把中央处理器(central process unit,cpu)的频率与规格做
适当缩减,并将内存(memory)、计数器(timer)、usb、a/d转换、uart、plc、dma等周边接口,甚至lcd驱动电路都整合在单一芯片上,形成的芯片。微控制单元110可以与网络单元120通信连接,可通过网络单元120接收待更新信息,待更新信息可以包括待更新的操作系统信息与待更新的固件信息。待更新的操作系统信息可以对存储装置200的操作系统210进行更新,待更新的固件信息可以对存储装置200的固件220进行更新。可将待更新的操作系统信息与固件信息暂存于微控制单元110内。微控制单元110可以与接口单元130通信连接,可通过接口单元130将暂存于微控制单元110内的待更新的操作系统信息与固件信息传输到存储装置200内,并对存储装置200的操作系统210与固件220进行更新。
28.请参阅图2所示,在本发明的一个实施例中,网络单元120可以为无线网络wifi模块,无线网络wifi模块可以通过云端或者服务器服务端将待更新的操作系统信息与固件信息接收下来,并发送到微控制单元110内。无线网络wifi模块是将串口或ttl电平转为符合wifi无线网络通信标准的嵌入式模块,无线网络wifi模块内置无线网络协议ieee802.11b.g.n协议栈以及tcp/ip协议栈。微控制单元110可通过无线网络wifi模块连入云端或者服务器服务端。
29.请参阅图2所示,在本发明的一个实施例中,接口单元130可以为emmc调试端口(debug port),emmc调试端口是指特定于进程的软件或特定于应用程序的软件构造用作通信端点,其由因特网协议套件的传输层协议使用,例如用户图协议(udp)和传输控制协议(tcp),一个特定的网络端口由它的编号(通常称为端口号)、与该端口相关联的ip地址以及用于通信的传输协议类型来标识。接口单元130可以与主机上的通信接口230进行通信连接,通信接口230可以与存储装置200通信连接,进而接口单元130可以与存储装置200进行通信。微控制单元110可以将暂存的待更新的操作系统信息与固件信息通过标准emmc通信协议传输到存储装置200内,以对存储装置200的固件进行更新。接口单元130与主机上的通信接口230是可拆卸连接的。当需要使用升级装置100时,可将升级装置100上的接口单元130与主机上的通信接口230连接,以使升级装置100能够对存储装置200的固件进行升级。当存储装置200的固件升级完成后,可将升级装置100从主机上的通信接口230上分离,此时存储装置200可正常使用。
30.请参阅图3所示,本发明还提供了一种存储装置的固件升级方法,升级方法可以应用在升级装置100中,当存储装置200的固件需要升级时,可以通过升级方法对存储装置200的固件进行升级,升级方法可以包括如下步骤:步骤s10、获取待更新信息;步骤s20、根据存储装置的固件情况,对存储装置的工作模式进行切换,其中,工作模式包括正常模式与调试模式;步骤s30、当存储装置处于正常模式时,将待更新信息通过主机的处理器传输至存储装置中,以对存储装置的固件进行更新;步骤s40、当存储装置处于调试模式时,将待更新信息通过网络单元传输至微控制单元中,并暂存于微控制单元内;步骤s50、微控制单元将待更新信息通过接口单元传输到存储装置内,以对存储装置的固件进行更新。
31.在本发明的一个实施例中,当执行步骤s10时,即获取待更新信息。具体的,待更新
信息可以包括待更新的操作系统信息与待更新的固件信息。待更新的操作系统信息可以对存储装置200的操作系统210进行更新,待更新的固件信息可以对存储装置200的固件220进行更新。当需要对存储装置200进行更新时,可能会存在存储装置200的操作系统210需要更新的情况,也可能会存在存储装置200的固件220需要更新的情况,还可能会存在存储装置200的操作系统210与固件220都需要更新的情况。因此可根据存储装置200的固件情况,进而获取相应的待更新信息,待更新信息内可能仅包括待更新的操作系统信息,也可能仅包括待更新的固件信息,还可能同时包括待更新的操作系统信息与待更新的固件信息。
32.请参阅图4所示,在本发明的一个实施例中,当执行步骤s20时,即根据存储装置的固件情况,对存储装置的工作模式进行切换。具体的,步骤s20可包括如下步骤:步骤s21、判断存储装置的操作系统和/或固件中的数据是否报错;步骤s22、当存储装置的操作系统与固件中的数据未报错时,存储装置处于正常模式;步骤s23、当存储装置的操作系统和/或固件中的数据报错时,将存储装置从正常模式切换到调试模式。
33.在本发明的一个实施例中,当执行步骤s21、步骤s22及步骤s23时,具体的,当需要对存储装置200的固件进行更新时,需要判断存储装置200能否正常工作,进而可根据存储装置200的工作情况,选择不同的更新方式对存储装置200的固件进行更新。当存储装置200能够正常工作时,即存储装置200处于正常模式,此时存储装置200可以与主机的处理器300进行通信。可通过主机的处理器300将待更新信息传输到存储装置200内,以更新存储装置200的固件,此时存储装置200处于正常模式。当存储装置200无法正常工作时,即存储装置200的操作系统和/或固件中的数据报错时,此时存储装置200无法与主机的处理器300进行通信,主机的处理器300无法直接对存储装置200的固件进行升级。此时需要对存储装置200的工作模式进行切换,将存储装置200从正常模式切换到调试模式。在调试模式下,可以通过升级装置100将待更新信息传输到存储装置200内,以更新存储装置200的固件。
34.请参阅图5所示,在本发明的一个实施例中,当执行步骤s30时,即当存储装置处于正常模式时,将待更新信息通过主机的处理器传输至存储装置中,以对存储装置的固件进行更新。具体的,步骤s30可包括如下步骤:步骤s31、将待更新信息通过主机的处理器传输至存储装置中;步骤s32、将待更新信息的版本号与存储装置的固件版本号进行比较,判断待更新信息的版本号是否正确;步骤s33、若待更新信息的版本号正确,则根据待更新信息对存储装置的固件进行升级;步骤s34、若待更新信息的版本号不正确,则存储装置向主机的处理器发送版本错误指令。
35.在本发明的一个实施例中,当执行步骤s31、步骤s32、步骤s33及步骤s34时,具体的,当存储装置200处于正常模式时,此时存储装置200与主机的处理器300可正常通信,主机的处理器300可将待更新信息传输到存储装置200内,以对存储装置200的固件进行更新。在对存储装置200进行更新时,为了防止更新后的存储装置200的固件版本出现偏差,因此需要对待更新信息的版本号进行判断,将待更新信息的版本号与存储装置200的固件版本
号进行比较,判断待更新信息的版本号是否正确。版本号是版本的标识号,每一个操作系统都有一个版本号,版本号能使用户了解所使用的操作系统是否为最新的版本以及它所提供的功能与设施。
36.在本发明的一个实施例中,当需要判断待更新信息的版本号是否正确时,需要将待更新信息的版本号与存储装置200的固件版本号进行对比。例如,存储装置200的操作系统210的版本号为1.1.1.2,待更新信息中待更新的操作系统信息的版本号为1.1.1.3,相对于存储装置200的操作系统210的版本而言,待更新的操作系统信息的版本较高,因此待更新信息中待更新的操作系统信息的版本号可以判断为正确。若待更新信息中待更新的操作系统信息的版本号为1.1.1.0、或者为1.1.1.1、或者为1.1.1.2,则相对于存储装置200的操作系统210的版本而言,待更新的操作系统信息的版本较低或相同,因此待更新信息中待更新的操作系统信息的版本号可以判断为不正确。
37.在本发明的一个实施例中,又例如,也可将待更新信息中待更新的固件信息的版本号与存储装置200的固件220的版本号进行对比。例如,存储装置200的固件220的版本号为2.1.1.2,待更新信息中待更新的固件信息的版本号为2.1.1.3,相对于存储装置200的固件220的版本而言,待更新信息中待更新的固件信息的版本较高,因此待更新信息中待更新的固件信息的版本号可以判断为正确。若待更新信息中待更新的固件信息的版本号为2.1.1.0、或者为2.1.1.1、或者为2.1.1.2,则相对于存储装置200的固件220的版本而言,待更新信息中待更新的固件信息的版本较低或相同,因此待更新信息中待更新的固件信息的版本号可以判断为不正确。
38.在本发明的一个实施例中,当待更新信息中仅存在待更新的操作系统信息时,可将待更新的操作系统信息的版本号与存储装置200的操作系统210的版本号进行对比。当待更新的操作系统信息的版本号正确时,可对存储装置200的操作系统210进行更新。当待更新的操作系统信息的版本号不正确时,此时存储装置200可以向主机的处理器发送版本错误指令,以表示主机的处理器发送的待更新的操作系统信息的版本过低,需要重新下载。
39.在本发明的一个实施例中,当待更新信息中仅存在待更新的固件信息时,可将待更新的固件信息的版本号与存储装置200的固件220的版本号进行对比。当待更新的固件信息的版本号正确时,可对存储装置200的固件220进行更新,当待更新的固件信息的版本号不正确时,此时存储装置200可以向主机的处理器300发送版本错误指令,以表示主机的处理器300发送的待更新的固件信息的版本过低,需要重新下载。
40.在本发明的一个实施例中,当待更新信息中同时存在待更新的操作系统信息与待更新的固件信息时,需要将待更新的操作系统信息的版本号与存储装置200的操作系统210的版本号进行对比,将待更新的固件信息的版本号与存储装置200的固件220的版本号进行对比。当待更新的操作系统信息的版本号不正确时或者待更新的固件信息的版本号不正确时,此时存储装置200可以向主机的处理器300发送版本错误指令,以表示主机的处理器300发送的待更新的操作系统信息或待更新的固件信息的版本过低,需要重新下载。只有当待更新的操作系统信息的版本号与待更新的固件信息的版本号同时正确时,此时可通过待更新信息对存储装置200的固件进行更新。
41.在本发明的一个实施例中,当执行步骤s40时,即当存储装置处于调试模式时,将待更新信息通过网络单元传输至微控制单元中,并暂存于微控制单元内。具体的,当存储装
置200的固件存在丢失、损坏的情况,此时需要将存储装置200从正常模式切换到调试模式。可通过人工手动切换开关,使存储装置200进入调试模式。也可通过主机的处理器300控制存储装置200进入调试模式。此时存储装置200可以与升级装置100进行通信,微控制单元110可通过网络单元120对待更新信息进行下载,并暂存于微控制单元110内。
42.请参阅图6所示,在本发明的一个实施例中,当执行步骤s50时,即微控制单元将待更新信息通过接口单元传输到存储装置内,以对存储装置的固件进行更新。具体的,步骤s50可包括如下步骤:步骤s51、微控制单元通过标准emmc通信协议将待更新信息传输到接口单元;步骤s52、接口单元将待更新信息传输到存储装置;步骤s53、通过待更新信息对存储装置的固件进行更新。
43.在本发明的一个实施例中,当执行步骤s51、步骤s52及步骤s53时,具体的,当将待更新信息暂存于微控制单元110内后,此时由于微控制单元110是通过接口单元130与存储装置200进行通信的,因此微控制单元110可通过标准存储器emmc通信协议将待更新信息传输到接口单元130内,接口单元130将待更新信息传输到存储装置200中,进而通过待更新信息对存储装置200的固件进行更新。
44.请参阅图7所示,在本发明的一个实施例中,当执行步骤s53时,即通过待更新信息对存储装置的固件进行更新。具体的,步骤s53可包括如下步骤:步骤s531、将待更新信息的版本号与存储装置的固件版本号进行比较,判断待更新信息的版本号是否正确;步骤s532、若待更新信息的版本号不正确,则存储装置向微控制单元发送版本错误指令;步骤s533、若待更新信息的版本号正确,则根据待更新信息对存储装置的固件进行升级;步骤s534、将存储装置从调试模式切换到正常模式。
45.在本发明的一个实施例中,当执行步骤s531、步骤s532、步骤s533及步骤s534时,具体的,当将待更新信息传输到存储装置200内后,需要将待更新信息的版本号与存储装置200的固件版本号进行对比。例如,将操作系统信息和/或固件信息的版本号与存储装置200的操作系统和/或固件的版本号进行对比。当待更新的操作系统信息的版本号不正确时或者待更新的固件信息的版本号不正确时,此时存储装置200可以向升级装置100的微控制单元110发送版本错误指令,以表示微控制单元110发送的待更新的操作系统信息或待更新的固件信息的版本过低,需要重新下载。只有当待更新的操作系统信息的版本号与待更新的固件信息的版本号同时正确时,此时可通过待更新信息对存储装置200的固件进行更新。更新完成后,可将存储装置200从调试模式切换到正常模式。
46.可见,在上述方案中,针对在存储装置的固件升级过程,当存储装置处于正常模式时,可通过主机直接对存储装置的固件进行升级。当存储装置处于调试模式时,存储装置的操作系统或固件无法运行,主机无法与存储装置进行通信,此时可通过升级装置对存储装置的固件进行升级,以使存储装置能够恢复正常工作。同时,由于设置了升级装置,无需对存储装置进行拆卸检修,进而保证了存储装置内部结构的完整性,不会对存储装置的内部结构产生破坏。
47.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
48.在本说明书的描述中,参考术语“本实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
49.以上公开的本发明实施例只是用于帮助阐述本发明。实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1