【技术实现步骤摘要】
【国外来华专利技术】对闪存进行分区以及实现具有映像升级能力的灵活引导
技术介绍
许多移动/汽车/服务器/计算机市场芯片都采用基于全球唯一标识符(GUID)分区表(GPT)规范或等效专有格式的存储格式。通过采用这种存储格式使用的存储空间通常很高,并且没有针对非常低的存储密度的市场进行优化。由于功率、密度和成本约束,一些芯片(例如,主要用于物联网(IoT)市场空间的芯片)具有非常有限的闪存存储密度和能力。大多数IoT芯片的特征是空中更新固件映像(OTA更新)的可能性以及使闪存存储格式和闪存存储处理策略认识到这一要求。
技术实现思路
各个公开的各方面可以包括用于在计算设备上实现大小减小的固件存储格式的装置和方法。各个方面可以包括:将第一固件描述表存储到闪存的第一扇区,其中,所述第一固件描述表可以包括第一多个数据字段,所述第一多个数据字段被配置为定义固件的第一实例,包括描述第一多个固件映像;将所述第一多个固件映像存储到所述闪存的第一多个连续扇区;将第二固件描述表存储到所述闪存的与所述第一扇区连续的第二扇区,其中,所述第二固件描述表可以包括第二多个数据字段,所述第二多个数据字段被配置为定义所述固件的第二实例,包括描述第二多个固件映像,所述第二多个固件映像包括第三多个固件映像;将所述第三多个固件映像存储到所述闪存的与第一多个连续扇区连续的第二多个连续扇区;以及通过执行所述第二多个固件映像,使用所述第二固件描述表来引导所述计算设备。一些方面还可以包括:所述第二多个固件映像还包括所述第一多个固件映像中的至少一个固件映像。在一些方面中,描述第一多个 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。