对闪存进行分区以及实现具有映像升级能力的灵活引导制造技术

技术编号:23865486 阅读:51 留言:0更新日期:2020-04-18 16:39
各个方面包括用于在计算设备上实现大小减小的固件存储格式的方法。各个方面可以包括:将第一固件描述表存储到闪存的第一扇区,其中,第一固件描述表可以定义固件的第一实例,包括描述第一多个固件映像;将第一多个固件映像存储到第一多个连续扇区;将第二固件描述表存储到第二扇区,其中,第二固件描述表可以定义固件的第二实例,包括描述第二多个固件映像,第二多个固件映像具有第三多个固件映像;将第三多个固件映像存储到第二多个连续扇区;以及使用第二固件描述表来引导计算设备。

Partition flash memory and realize flexible boot with image upgrade capability

【技术实现步骤摘要】
【国外来华专利技术】对闪存进行分区以及实现具有映像升级能力的灵活引导
技术介绍
许多移动/汽车/服务器/计算机市场芯片都采用基于全球唯一标识符(GUID)分区表(GPT)规范或等效专有格式的存储格式。通过采用这种存储格式使用的存储空间通常很高,并且没有针对非常低的存储密度的市场进行优化。由于功率、密度和成本约束,一些芯片(例如,主要用于物联网(IoT)市场空间的芯片)具有非常有限的闪存存储密度和能力。大多数IoT芯片的特征是空中更新固件映像(OTA更新)的可能性以及使闪存存储格式和闪存存储处理策略认识到这一要求。
技术实现思路
各个公开的各方面可以包括用于在计算设备上实现大小减小的固件存储格式的装置和方法。各个方面可以包括:将第一固件描述表存储到闪存的第一扇区,其中,所述第一固件描述表可以包括第一多个数据字段,所述第一多个数据字段被配置为定义固件的第一实例,包括描述第一多个固件映像;将所述第一多个固件映像存储到所述闪存的第一多个连续扇区;将第二固件描述表存储到所述闪存的与所述第一扇区连续的第二扇区,其中,所述第二固件描述表可以包括第二多个数据字段,所述第二多个数据字段被配置为定义所述固件的第二实例,包括描述第二多个固件映像,所述第二多个固件映像包括第三多个固件映像;将所述第三多个固件映像存储到所述闪存的与第一多个连续扇区连续的第二多个连续扇区;以及通过执行所述第二多个固件映像,使用所述第二固件描述表来引导所述计算设备。一些方面还可以包括:所述第二多个固件映像还包括所述第一多个固件映像中的至少一个固件映像。在一些方面中,描述第一多个固件映像可以包括:识别所述闪存中的存储所述第一多个固件映像的位置,所述位置包括所述闪存的第一逻辑分区,并且描述第二多个固件映像可以包括:识别所述闪存中的存储所述第一多个固件映像中的所述至少一个固件映像和所述第三多个固件映像的位置,所述位置包括所述闪存的第二逻辑分区,所述第二逻辑分区与所述第一逻辑分区在所述闪存中的存储所述第一多个固件映像中的所述至少一个固件映像的第一位置处重叠。一些方面还可以包括:响应于接收到所述第二固件描述表,重置所述计算设备。一些方面还可以包括:确定使用所述第二固件描述表来引导所述计算设备是否成功。在一些方面中,所述第一多个数据字段可以包括当前分区等级数据和有效状态数据,并且所述第二多个数据字段可以包括试验分区等级数据和所述有效状态数据。一些方面还可以包括:响应于确定使用所述第二固件描述表来引导所述计算设备成功,将所述试验分区等级数据设置为所述当前分区等级数据,并且将所述第一多个数据字段的所述有效状态数据设置为无效状态数据;以及响应于确定使用所述第二固件描述表来引导所述计算设备不成功,将所述第二多个数据字段的所述有效状态数据设置为无效状态数据。一些方面还可以包括:响应于确定使用所述第二固件描述表来引导所述计算设备不成功,设置强制固件描述表指示符;重置所述计算设备;以及使用强制固件描述表来引导所述计算设备。在一些方面中,所述第一多个数据字段可以包括当前分区等级数据和第一版本数据,并且所述第二多个数据字段可以包括所述当前分区等级数据和第二版本数据,所述第二版本数据被配置为:指示所述固件的所述第二实例是所述固件的、比所述固件的第一实例新的实例。一些方面还可以包括:响应于确定使用所述第二固件描述表来引导所述计算设备不成功,将强制固件描述表设置为包括所述第一版本数据的第一固件描述表;重置所述计算设备;以及使用所述强制固件描述表来引导所述计算设备。各个方面包括具有闪存和处理器的计算设备,所述处理器被配置为执行以上概述的方法中的任何方法的操作。各个方面包括具有用于执行以上概述的方法中的任何方法的功能的单元的计算设备。各个方面包括处理器可读存储介质,在其上存储有处理器可执行指令,处理器可执行指令被配置为使得处理器执行以上概述的方法中的任何方法的操作。附图说明并入本文并构成本说明书的一部分的附图示出了各个方面中的示例方面,并且与上文给出的总体描述和下文给出的详细描述一起用于说明权利要求书的特征。图1是示出适于实现各个方面的计算设备的组件框图。图2是示出适于实现各个方面的计算设备的组件的组件框图。图3A-3C是示出适于实现各个方面的示例大小减小的固件存储格式的表格。图4是示出适于实现各个方面的闪存中的示例大小减小的固件存储格式的框图。图5是示出适于实现各个方面的闪存中的示例大小减小的固件存储格式的框图。图6是示出适合根据一个方面的用于加载和更新大小减小的固件存储格式的方法的过程流图。图7是示出适合根据一个方面的用于加载和更新大小减小的固件存储格式的方法的过程流图。图8是示出适合根据一个方面的用于加载并且切换到特定大小减小的固件存储格式版本的方法的过程流图。图9是示出适合根据一个方面的用于加载并且恢复到先前大小减小的固件存储格式版本的方法的过程流图。图10是示出适于与各个方面一起使用的示例移动计算设备的组件框图。图11是示出适于与各个方面一起使用的示例移动计算设备的组件框图。图12是示出适于与各个方面一起使用的示例服务器的组件框图。具体实施方式将参照附图对各个方面进行详细描述。只要可能的话,遍及附图将使用相同的附图标记来指代相同或相似的部分。对特定示例和实现方式的引用是出于说明性目的,并不旨在限制权利要求书的范围。各个方面可以包括用于实现大小减小的固件存储格式以及针对固件存储格式的更新和错误管理的方法和实现这种方法的计算设备。各个方面的装置和方法可以包括固件存储格式,该固件存储格式可以包括固件描述表,该固件描述表被配置为描述固件的版本并且以如下的方式来标识与固件版本相关联的固件映像:针对不同的固件版本对闪存进行逻辑分区,其中重叠的分区用于在固件版本之间是共同的映像。各个方面的装置和方法可以包括针对各种固件版本的更新管理,该更新管理可以测试并且将固件的新版本设置为当前版本或无效版本。各个方面的装置和方法可以包括针对各种固件版本的错误管理,该错误管理可以识别固件的当前版本的错误并且切换到固件的先前版本。术语“计算设备”和“移动计算设备”在本文中可互换用于指代以下各项中的任何一项或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机,平板型计算机、可转换笔记本电脑/平板电脑(2合1计算机)、智能本、超级本、上网本、掌上电脑、无线电子邮件接收器、启用多媒体互联网的蜂窝电话、移动游戏控制台、无线游戏控制器以及包括内存和可编程处理器的类似的个人电子设备。术语“计算设备”和“移动计算设备”还可以指代物联网(IoT)设备,包括有线和/或无线可连接电器以及电器的外围设备、装饰设备、安全设备,环境调节器设备、生理传感器设备、音频/视频设备、玩具、爱好和/或工作设备、IoT设备集线器等。术语“计算设备”和“移动计算设备”还可以指代个人和大众运输工具的组件。术语“计算设备”还可以指代固定计算设备,包括个人计算机、台式计算机、本文档来自技高网...

【技术保护点】
1.一种用于在计算设备上实现大小减小的固件存储格式的方法,包括:/n将第一固件描述表存储到闪存的第一扇区,其中,所述第一固件描述表包括第一多个数据字段,所述第一多个数据字段被配置为定义固件的第一实例,包括描述第一多个固件映像;/n将所述第一多个固件映像存储到所述闪存的第一多个连续扇区;/n将第二固件描述表存储到所述闪存的与所述第一扇区连续的第二扇区,其中,所述第二固件描述表包括第二多个数据字段,所述第二多个数据字段被配置为定义所述固件的第二实例,包括描述第二多个固件映像,所述第二多个固件映像包括第三多个固件映像;/n将所述第三多个固件映像存储到所述闪存的与所述第一多个连续扇区连续的第二多个连续扇区;以及/n通过执行所述第二多个固件映像,使用所述第二固件描述表来引导所述计算设备。/n

【技术特征摘要】
【国外来华专利技术】20170804 US 15/669,2571.一种用于在计算设备上实现大小减小的固件存储格式的方法,包括:
将第一固件描述表存储到闪存的第一扇区,其中,所述第一固件描述表包括第一多个数据字段,所述第一多个数据字段被配置为定义固件的第一实例,包括描述第一多个固件映像;
将所述第一多个固件映像存储到所述闪存的第一多个连续扇区;
将第二固件描述表存储到所述闪存的与所述第一扇区连续的第二扇区,其中,所述第二固件描述表包括第二多个数据字段,所述第二多个数据字段被配置为定义所述固件的第二实例,包括描述第二多个固件映像,所述第二多个固件映像包括第三多个固件映像;
将所述第三多个固件映像存储到所述闪存的与所述第一多个连续扇区连续的第二多个连续扇区;以及
通过执行所述第二多个固件映像,使用所述第二固件描述表来引导所述计算设备。


2.根据权利要求1所述的方法,其中,所述第二多个固件映像还包括所述第一多个固件映像中的至少一个固件映像。


3.根据权利要求2所述的方法,其中:
描述第一多个固件映像包括:识别所述闪存中的存储所述第一多个固件映像的位置,所述位置包括所述闪存的第一逻辑分区;以及
描述第二多个固件映像包括:识别所述闪存中的存储所述第一多个固件映像中的所述至少一个固件映像和所述第三多个固件映像的位置,该位置包括所述闪存的第二逻辑分区,所述第二逻辑分区与所述第一逻辑分区在所述闪存中的存储所述第一多个固件映像中的所述至少一个固件映像的第一位置处重叠。


4.根据权利要求1所述的方法,还包括:响应于接收到所述第二固件描述表,重置所述计算设备。


5.根据权利要求1所述的方法,还包括:确定使用所述第二固件描述表来引导所述计算设备是否成功。


6.根据权利要求5所述的方法,其中:
所述第一多个数据字段包括当前分区等级数据和有效状态数据;以及
所述第二多个数据字段包括试验分区等级数据和所述有效状态数据;
所述方法还包括:
响应于确定使用所述第二固件描述表来引导所述计算设备成功:
将所述试验分区等级数据设置为所述当前分区等级数据;以及
将所述第一多个数据字段的所述有效状态数据设置为无效状态数据;以及
响应于确定使用所述第二固件描述表来引导所述计算设备不成功,将所述第二多个数据字段的所述有效状态数据设置为无效状态数据。


7.根据权利要求5所述的方法,还包括:
响应于确定使用所述第二固件描述表来引导所述计算设备不成功,设置强制固件描述表指示符;
重置所述计算设备;以及
使用强制固件描述表来引导所述计算设备。


8.根据权利要求5所述的方法,其中:
所述第一多个数据字段包括当前分区等级数据和第一版本数据;以及
所述第二多个数据字段包括所述当前分区等级数据和第二版本数据,所述第二版本数据被配置为指示所述固件的所述第二实例是所述固件的比所述固件的所述第一实例新的实例,
所述方法还包括:
响应于确定使用所述第二固件描述表来引导所述计算设备不成功,将强制固件描述表设置为包括所述第一版本数据的所述第一固件描述表;
重置所述计算设备;以及
使用所述强制固件描述表来引导所述计算设备。


9.一种计算设备,包括:
闪存;以及
处理器,其被配置为执行包括以下各项的操作:
将第一固件描述表存储到所述闪存的第一扇区,其中,所述第一固件描述表包括第一多个数据字段,所述第一多个数据字段被配置为定义固件的第一实例,包括描述第一多个固件映像;
将所述第一多个固件映像存储到所述闪存的第一多个连续扇区;
将第二固件描述表存储到所述闪存的与所述第一扇区连续的第二扇区,其中,所述第二固件描述表包括第二多个数据字段,所述第二多个数据字段被配置为定义所述固件的第二实例,包括描述第二多个固件映像,所述第二多个固件映像包括第三多个固件映像;
将所述第三多个固件映像存储到所述闪存的与所述第一多个连续扇区连续的第二多个连续扇区;以及
通过执行所述第二多个固件映像,使用所述第二固件描述表来引导所述计算设备。


10.根据权利要求9所述的计算设备,其中,所述第二多个固件映像还包括所述第一多个固件映像中的至少一个固件映像。


11.根据权利要求10所述的计算设备,其中,所述处理器被配置为执行操作,使得:
描述第一多个固件映像包括:识别所述闪存中的存储所述第一多个固件映像的位置,所述位置包括所述闪存的第一逻辑分区;以及
描述第二多个固件映像包括:识别所述闪存中的存储所述第一多个固件映像中的所述至少一个固件映像和所述第三多个固件映像的位置,该位置包括所述闪存的第二逻辑分区,所述第二逻辑分区与所述第一逻辑分区在所述闪存中的存储所述第一多个固件映像中的所述至少一个固件映像的第一位置处重叠。


12.根据权利要求9所述的计算设备,其中,所述处理器被配置为执行还包括以下的操作:响应于接收到所述第二固件描述表,重置所述计算设备。


13.根据权利要求9所述的计算设备,其中,所述处理器被配置为执行还包括以下的操作:确定使用所述第二固件描述表来引导所述计算设备是否成功。


14.根据权利要求13所述的计算设备,其中:
所述处理器被配置为执行操作,使得:
所述第一多个数据字段包括当前分区等级数据和有效状态数据;以及
所述第二多个数据字段包括试验分区等级数据和所述有效状态数据;以及
所述处理器被配置为执行还包括以下的操作:
响应于确定使用所述第二固件描述表来引导所述计算设备成功:
将所述试验分区等级数据设置为所述当前分区等级数据;以及
将所述第一多个数据字段的所述有效状态数据设置为无效状态数据;以及
响应于确定使用所述第二固件描述表来引导所述计算设备不成功,将所述第二多个数据字段的所述有效状态数据设置为无效状态数据。


15.根据权利要求13所述的计算设备,其中,所述处理器被配置为执行还包括以下的操作:
响应于确定使用所述第二固件描述表来引导所述计算设备不成功,设置强制固件描述表指示符;
重置所述计算设备;以及
使用强制固件描述表来引导所述计算设备。


16.根据权利要求13所述的计算设备,其中:
所述处理器被配置为执行操作,使得:
所述第一多个数据字段包括当前分区等级数据和第一版本数据;以及
所述第二多个数据字段包括所述当前分区等级数据和第二版本数据,所述第二版本数据被配置为指示所述固件的所述第二实例是所述固件的比所述固件的所述第一实例新的实例;以及
所述处理器被配置为执行还包括以下的操作:
响应于确定使用所述第二固件描述表来引导所述计算设备不成功,将强制固件描述表设置为包括所述第一版本数据的所述第一固件描述表;
重置所述计算设备;以及
使用所述强制固件描述表来引导所述计算设备。


17.一种计算设备,包括:
用于将第一固件描述表存储到闪存的第一扇区的单元,其中,所述第一固件描述表包括第一多个数据字段,所述第一多个数据字段被配置为定义固件的第一实例,包括描述第一多个固件映像;
用于将所述第一多个固件映像存储到所...

【专利技术属性】
技术研发人员:E·皮尔武D·帕克阿里B·巴布L·维德拉D·阿德瓦尼
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术