一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种存储装置的升级方法和系统与流程

2022-02-22 08:34:26 来源:中国专利 TAG:


1.本发明涉及计算机存储器技术领域,特别是涉及一种存储装置的升级方法和系统。


背景技术:

2.存储器被广泛应用在如平板电脑、手机、电视等智能终端设备中,存储器例如为嵌入式多媒体卡(embedded multi media card,emmc)芯片。emmc芯片在正常应用过程中,可能会因为异常(bug)而进入阻塞(assert)保护状态,assert保护状态是在emmc芯片判断出现异常时,为了保护数据完整性而主动进入的封闭状态,在该状态下,一般emmc芯片不会回应指令(command,cmd)命令,对读写操作的指令均表现出没有反馈的状态。
3.正常情况下,通过ffu(field firmware update)功能的升级,可以解决大部分问题,但是对于特定的异常情况,会出现通过ffu功能也无法解决的状况出现。在这样的情况下,通常需要把这些智能终端设备返厂拆机维修,在拆机维修时,焊接工艺可能会导致主板的损坏,风险比较大,且费时费工,若直接更换emmc芯片,则费用高昂。


技术实现要素:

4.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种存储装置的升级方法和系统,通过本发明能够在存储装置出现异常情况时,避免通过拆机维修和更换存储装置的方式,以解决的存储装置异常。
5.为实现上述目的及其他相关目的,本发明提供一种存储装置的升级方法,包括:
6.获取当前所述存储装置的固件版本信息,并判断此时所述存储装置是否需要升级;
7.当所述存储装置需要升级时,向所述存储装置发送特定指令数据信息,所述特定指令数据信息包括所述存储装置升级的入口数据信息,通过所述存储装置升级的入口数据信息,使所述存储装置进入升级状态;
8.向所述存储装置发送多个检测指令,检测所述存储装置是否进入更新模式;
9.当所述存储装置进入所述更新模式后,通过所述检测指令,强制擦除所述存储装置存储的数据信息;
10.当完成所述存储装置存储的数据信息擦除后,向所述存储装置发送进入烧录状态的数据信息,通过存储装置进入烧录状态的数据信息,所述特定指令数据信息包括存储装置进入烧录状态的数据信息,通过存储装置进入烧录状态的数据信息,使所述存储装置进入烧录状态;以及
11.按照设定的烧录顺序,依次烧录所述存储装置新版本数据信息。
12.在本发明的一实施例中,当完成所述存储装置新版本数据信息写入后,向所述存储装置发送退出更新模式的数据信息,通过所述退出更新模式的数据信息,使所述存储装置退出所述更新模式。
13.在本发明的一实施例中,当所述存储装置完成升级后,通过检查寄存器存储的所述存储装置的版本号数据信息,获取当前的版本号数据信息,通过当前的版本号数据信息,判断所述存储装置是否完成升级。
14.在本发明的一实施例中,当所述存储装置进入所述更新模式后,向所述存储装置发送擦除状态的数据信息,通过所述擦除状态的数据信息,使所述存储装置进入擦除状态,以擦除所述存储装置存储的数据信息。
15.在本发明的一实施例中,所述特定指令数据信息的逻辑优先级高于其他硬件和软件的逻辑。
16.在本发明的一实施例中,在烧录的过程中,通过多次写入实现数据信息更新,且每次数据信息写入时,需写入数据信息的起始地址。
17.在本发明的一实施例中,通存储装置的升级方法还包括设置需要更新的版本号数据信息。
18.在本发明的一实施例中,所述特定指令数据信息的硬件接口的,同其他所述检测指令的硬件接口保持一致。
19.在本发明的一实施例中,当所述存储装置进入所述更新模式后,还通过所述检测指令,修改时钟速率和数据通道位宽。
20.本发明还提供一种存储装置的升级系统,所述存储装置的升级系统包括:
21.版本数据信息模块,用于获取当前所述存储装置的固件版本信息,并判断此时所述存储装置是否需要升级;
22.升级模块,用于当所述存储装置需要升级时,向所述存储装置发送特定指令数据信息,所述特定指令数据信息包括所述存储装置升级的入口数据信息,通过所述存储装置升级的入口数据信息,使所述存储装置进入升级状态;
23.更新模块,用于向所述存储装置发送多个检测指令,检测所述存储装置是否进入更新模式;
24.擦除模块,用于当所述存储装置进入所述更新模式后,通过所述检测指令,强制擦除所述存储装置存储的数据信息;
25.烧录模块,用于当完成所述存储装置存储的数据信息擦除后,向所述存储装置发送进入烧录状态的数据信息,通过存储装置进入烧录状态的数据信息,使所述存储装置进入烧录状态;以及按照设定的烧录顺序,依次烧录所述存储装置新版本数据信息。
26.如上所述,本发明的一种存储装置的升级方法和系统,通过将特定指令数据信息的逻辑优先级高于其他硬件和软的逻辑,使芯片在处于任何状态下,都可以的将其跳转到升级状态。通过修改时钟速率和数据通道位宽,提高数据信息传输效率。本发明能够在存储装置出现异常情况时,避免通过拆机维修和更换存储装置的方式,以解决的存储装置异常,能够有效降低存储装置的升级成本和升级时间,其支持不同程度的信息擦除,完全适配特殊情况下客户平台修复以及存储装置升级需求,且节约成本。
附图说明
27.图1显示为一种中央处理器和存储装置响应框图。
28.图2显示为本发明的一种存储装置的升级方法的流程框图。
29.图3显示为另一种中央处理器和存储装置响应框图。
30.图4显示为进入更新模式的流程框图。
31.图5显示为存储装置的存储空间示意图。
32.图6显示为一种存储装置的升级系统的框图。
33.图7显示为一种计算机可读存储介质的框图。
34.图8显示为一种电子设备的结构原理框图。
具体实施方式
35.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
36.需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
37.请参阅图1所示,存储装置20可通过命令解析电路21,来接收从中央处理器10发送的指令,根据所述指令,反馈给中央处理器10相应动作。在存储装置20处于正常状态下,可以响应所有emmc协议规范的指令和请求。但是存储装置20在正常应用过程中,可能会因为一些异常而进入assert保护状态,在assert保护状态下,存储装置20为了保护数据,不再响应从中央处理器10中发出的任何指令和数据请求。
38.请参阅图2和图3所示,在本发明的一实施例中,提供一种存储装置的升级方法,通过本方法能够在存储装置20出现异常情况时,避免通过拆机维修和更换存储装置的方式,以解决的存储装置异常。且与在线功能升级的方式相比,本发明支持不同程度的数据信息擦除和数据信息继承,完全适配于在特殊情况下,满足存储装置升级需求和用户的平台修复。为了实现上述目的,本发明的硬件设备例如包括中央处理器10和存储装置20,所述中央处理器10和存储装置20能够支持操作系统的运行。所述操作系统例如为安卓系统或者linux操作系统。所述存储装置的升级方法包括以下步骤:
39.s100、获取当前所述存储装置的固件版本信息,并判断此时所述存储装置是否需要升级。
40.s200、当所述存储装置需要升级时,向所述存储装置发送特定指令数据信息,所述特定指令数据信息包括所述存储装置升级的入口数据信息,通过所述存储装置升级的入口数据信息,使所述存储装置进入升级状态。
41.s300、向所述存储装置发送多个检测指令,检测所述存储装置是否进入更新模式。
42.s400、当所述存储装置进入所述更新模式后,通过所述检测指令,强制擦除所述存储装置存储的数据信息。
43.s500、当完成所述存储装置存储的数据信息擦除后,向所述存储装置发送进入烧录状态的数据信息,通过存储装置进入烧录状态的数据信息,使所述存储装置进入烧录状态。
44.s600、按照设定的烧录顺序,依次烧录所述存储装置新版本数据信息。
45.请参阅图2和图3所示,在本发明的一实施例中,在寄存器中存储着存储装置20的版本数据信息,例如包括当前存储装置20的版本号。s100中通过检查寄存器中存储的版本号,判断此时的存储装置20是否需要升级。具体的,存储装置20的版本数据信息存储在例如寄存器第254~261的地址位中。在此判断存储装置20的版本号是否为需要升级的版本号,当存储装置20当前的版本号为需要升级的版本号时,才会进入以下流程,否则,直接结束升级行为,不再对存储装置20进行升级。其中,因为在实际应用中,智能终端的存储装置20中有不同的版本数据信息,所以在本技术中可以圈定存储装置20的版本号,仅对圈定的版本号进行升级,以限定存储装置20的更新范围。例如只升级版本号为13.0的存储装置20,又或者是只升级版本号大于13.0的存储装置20等,且不限定于此。供应商通过空中下载技术将检测存储装置20版本号的数据信息推送至每一个终端设备上,若所述终端设备没有被进行的版本数据检测和判断,则就会出现错误的更新情况。
46.请参阅图2和图3所示,在本发明的一实施例中,在s200中,当确认当前的存储装置20的版本数据信息需要升级后,则通过中央处理器10向存储装置20发送特定指令,通过所述特定指令,使存储装置20进入升级状态。所述特定指令由包头和参数组成,所述包头例如为cmd60、cmd61、cmd62或cmd63,且所述特定指令的包头一旦固定,将固定不变,具体的,本技术中所述特定指令的包头例如为cmd60。因为所述特定指令的包头是固定不变,所以根据所述特定指令的参数,定义不同的功能。所述参数例如为0x01xxxxxxxx、0x02xxxxxxxx、0x03xxxxxxxx和0x04xxxxxxxx,且不限于此。其中,所述特定指令的具体的功能,通过所述参数前四位确定,例如当参数的前四位为0x01时表示升级,具体的,中央处理器10向存储装置20发送cmd60 0x01xxxxxxxx触发存储装置20,存储装置20进入升级状态。当如参数的前四位为0x02时表示擦除,具体的,中央处理器10向存储装置20发送cmd60 0x02xxxxxxxx触发存储装置20,存储装置20进入擦除状态。当如参数的前四位为0x03时表示烧录,具体的,中央处理器10向存储装置20发送cmd60 0x03xxxxxxxx触发存储装置20,存储装置20进入烧录状态。当如参数的前四位为0x04时表示退出更新,具体的,中央处理器10向存储装置20发送cmd60 0x04xxxxxxxx触发存储装置20,存储装置20退出更新。其中,所述特定指令的逻辑优先级高于其他硬件以及软件逻辑,包含assert保护逻辑,使得存储装置20可以从任何状态跳转到升级状态。在存储装置20中,设置有指令解析器21,通过指令解析器21接收中央处理器10发送的指令,并通过解析所述指令执行相应操作。其中,在指令解析电路21中,设置有多个硬件接口,所述特定指令的硬件接口,例如同其他检测指令的硬件接口相同,但在指令硬件接口内部增加一个所述特定指令的硬件信号。且指令解析器21将中央处理器10发送过来的所述特定指令设定为默认的存储装置20升级的入口。
47.请参阅图2至图4所示,在本发明的一实施例中,在s300中,通过中央处理器10向存储装置20发送多个检测指令,所述多个检测指令包括重置指令、状态指令、反馈指令、模式指令、功能指令、切换指令和数据指令。通过中央处理器10向存储装置20发送重置指令,使存储装置20状态重置,重置指令不检查存储装置20对主机发出指令的回应。再通过中央处理器10向存储装置20发送状态指令,以检测存储装置20的32位数据中的状态位是否有置1,当32位数据中其中任意一数据位中的状态位为1时,则再通过中央处理器10向存储装置20发送反馈指令,获取两个设备的逻辑关系并反馈。若当32位数据中全部数据位中的状态位
为0时,则再次再通过中央处理器10向存储装置20发送状态指令,直至检测到存储装置20的32位数据中的状态位中有置1的情况出现。最后通过中央处理器10向存储装置20发送模式指令,使存储装置20进入待机模式。当存储装置20进入待机模式后,再次通过中央处理器10向存储装置20发送切换指令,使存储装置20由待机模式转化为更新模式,在更新模式中,可以对存储装置20进行读写和数据传输,例如通过中央处理器10向存储装置20发送功能指令,修改时钟速率和数据通道位宽,进而提高数据传输的速率,加速存储装置20的写入速度进而避免因升级程序的运行时间过长而带来的不利影响。在本实施例中,所述多个检测指令例如为emmc协议规范的指令和请求,具体的,所述重置指令例如为cmd0,所述状态指令例如为cmd1、所述反馈指令例如为cmd2、所述模式指令例如为cmd3、所述功能指令例如为cmd6、所述切换指令例如为cmd7以及所述数据指令例如为cmd25。
48.请参阅图2、图4和图5所示,在本发明的一实施例中,在s400中,当存储装置20进入更新模式后,通过设置的检测指令,擦除存储装置20内存储的数据信息。具体的,例如首先发送的cmd60 0x02xxxxxxxx进入擦除状态,再通过发送数据指令并带入参数地址和数据,擦除存储装置20内存储的数据信息。所述的参数地址例如为的0x13e,通过这个参数地址,进入存储装置20全部的存储空间220,所述数据为存储空间220内不同区域的数据信息,通过设置不同数据编号,以精确擦除存储装置20内存储的数据信息,所述不同数据编号表示不同区域的数据信息。存储空间220包括第一数据信息存放区域221、第二数据信息存放区域222、第三数据信息存放区域223、第四数据信存放区域224、第五数据信息存放区域225。不同区域的数据信息用不同编号表示,第一数据信息存放区域221例如用数据编号pattern 0x01表示,第二数据信息存放区域222例如用编号数据pattern 0x02表示,第三数据信息存放区域223例如用数据编号pattern 0x03表示,第四数据信存放区域224例如用数据编号pattern 0x04表示,第五数据信息存放区域225例如用数据编号pattern 0x05表示。当数据指令带入的数据为pattern 0x01时,表示为仅仅清除固件数据信息存放区域例。当数据指令带入的数据为pattern 0x02时,表示为仅仅清除固件数据信息和数据信息表存放区域,所述数据信息表中存储的数据信息例如包括整个存储装置20的每个物理块的数据信息擦除次数、映射表、碎片数据的位置等,且不限于此。当数据指令带入的数据为pattern 0x03时,表示为仅仅清除固件数据信息和数据信息表以及寄存器数据信息存放区域。当数据指令带入的数据为pattern 0x04时,表示为仅仅清除固件相关的数据信息全部区域。当数据指令带入的数据为pattern 0x05时,表示为仅仅清除固件相关的数据信息全部区域和数据信息表以及寄存器数据信息存放区域。在进行数据信息清除时,可以根据实际情况,例如可以任意选择不同的区域范围进行的数据信息清除,例如还可以同时清除两个不同区域的数据信息、三个不同区域的数据信息、或者四个不同区域的数据信息,且不限于此。其中,在存储空间220中,第一数据信息存放区域221存储的数据容量《第二数据信息存放区域222存储的数据容量《第三数据信息存放区域223存储的数据容量《第四数据信存放区域224存储的数据容量《第五数据信息存放区域225存储的数据容量。其中,第二数据信息存放区域222存储的数据信息包括第一数据信息存放区域221存储的数据信息,第三数据信息存放区域223存储的数据信息包括第二数据信息存放区域222存储的数据信息,第四数据信存放区域224存储的数据信息包括第三数据信息存放区域223存储的数据信息,第五数据信息存放区域225存储的数据信息包括第四数据信存放区域224存储的数据信息。
49.请参阅图2和图3所示,在本发明的一实施例中,在s500和s6100中,当完成存储装置20存储的数据信息擦除后,通过中央处理器10向存储装置20发送特定指令cmd60 0x03xxxxxxxx,使存储装置20进入烧录状态,并按照硬件设定的烧录顺序,烧录新版本的存储装置20数据信息。在烧录的过程中,通过指定地址,更新特定位置的数据信息,实现动态更新存储装置20指定地址特定位置的数据信息,更新的数据信息中包括的存储装置20的最新版本号的数据信息。在进行数据信息烧录时,新版本的存储装置20数据信息的单笔数据长度和起始位置,例如通过数据指令的参数设定,通过发送数据指令并带入参数地址和数据进行数据传输,此时所述数据指令带入的数据,例如为新版版本的存储装置20数据信息,将新版版本的存储装置20数据信息提前存储至工具文件中,作为数组的存在,伴随着存储装置20的编译,一同推送至客户端,并一起被下载至客户端平台上。在进行存储装置20的数据信息传输时,当数据信息的数据量较大时,例如可以将数据信息分为多次写入实现完成数据信息更新,单次数据信息传输时,数据信息长度最大限制例如为32k,且每次数据信息写入时,需写入数据信息的起始地址并且根据上次写入的数据信息长度,确认下一笔数据信息写入的起始地址,并保证分次写入的数据信息不重复且不遗漏的写入至不同存储的区域范围内。
50.请参阅图2和图3所示,在本发明的一实施例中,所述存储装置的升级方法的步骤还包括,在完成存储装置20新版本数据信息写入后,通过中央处理器10向存储装置20发送特定指令cmd60 0x04xxxxxxxx用以退出更新模式。通过复位整个系统平台,例如关机重启,已经升级的存储装置20会在平台重启时被唤醒使用,进而实现存储装置20的升级。并且在重启时再次通过读取寄存器的数据信息,即存储装置20的版本数据信息,判断存储装置20是否完成版本升级。
51.请参阅图2和图3所示,在本发明的一实施例中,当所述存储装置20完成升级后,通过检查寄存器存储的所述存储装置20的版本号数据信息,获取当前的版本号数据信息,通过当前的版本号数据信息,判断所述存储装置20是否完成升级:当获取的版本号数据信息,与更新数据信息中的版本号数据信息一致时,则结束存储装置20的升级行为,因为升级入口的版本管控,之后将不会再进入存储装置20的升级流程,除非再进行下一次升级存储装置20。当获取的版本号数据信息,与更新数据信息中的版本号数据信息不一致时,那么重新进入s200,执行存储装置的升级方法步骤。
52.请参阅图6所示,在本发明另一实施例,本发明还提供一种存储装置的升级系统,所述存储装置的升级系统包括:版本数据信息模块31、升级模块32、更新模块33、擦除模块34和烧录模块35。版本数据信息模块31用于获取当前所述存储装置的固件版本信息,并判断此时所述存储装置是否需要升级。升级模块32用于当所述存储装置需要升级时,向所述存储装置发送特定指令数据信息,所述特定指令数据信息包括所述存储装置升级的入口数据信息,通过所述存储装置升级的入口数据信息,使所述存储装置进入升级状态。更新模块33用于向所述存储装置发送多个检测指令,检测所述存储装置是否进入更新模式。擦除模块34用于当所述存储装置进入所述更新模式后,通过所述特定指令数据信息,强制擦除所述存储装置存储的数据信息。烧录模块35用于当完成所述存储装置存储的数据信息擦除后,向所述存储装置发送所述特定指令数据信息,使所述存储装置进入烧录状态;以及按照设定的烧录顺序,依次烧录所述存储装置新版本数据信息。
53.请参阅图7所示,本发明还提出一种计算机可读存储介质40,计算机可读存储介质40存储有计算机指令41,计算机指令40用于使用存储装置的升级方法。计算机可读存储介质40可以是,电子介质、磁介质、光介质、电磁介质、红外介质或半导体系统或传播介质。计算机可读存储介质40还可以包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(ram)、只读存储器(rom)、硬磁盘和光盘。光盘可以包括光盘-只读存储器(cd-rom)、光盘-读/写(cd-rw)和dvd。
54.请参阅图8所示,本发明还提供一种电子设备,包括处理器50和存储器60,存储器60存储有程序指令,处理器50运行程序指令实现所述存储装置的升级方法。处理器50可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件;存储器60可能包含随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器60也可以为随机存取存储器(random access memory,ram)类型的内部存储器,处理器50、存储器60可以集成为一个或多个独立的电路或硬件,如:专用集成电路(application specificintegrated circuit,asic)。需要说明的是,存储器60中的计算机程序可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
55.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献