[发明专利]在空中固件更新期间的容错变量区域重新铺设有效
申请号: | 201780039666.X | 申请日: | 2017-06-23 |
公开(公告)号: | CN109416658B | 公开(公告)日: | 2022-01-07 |
发明(设计)人: | T·安娜普雷迪;B·麦赫达勒;A·M·马胡德;A·贾斯汀 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F8/65;G06F21/57 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华;辛鸣 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 空中 更新 期间 容错 变量 区域 重新 铺设 | ||
1.一种用于更新设备上的固件的方法,包括:
在所述设备上暴露安全非易失性存储器存储库,所述存储器存储库包括主区域和备用区域,所述主区域和所述备用区域中的每个区域包括被配置为存储事务记录的工作存储库和被配置为存储变量记录的变量存储库;
复制所述主区域中的变量记录并且将所述变量记录写入所述备用区域;
擦除所述主区域内的所述工作存储库中的内容;
擦除所述主区域中的变量记录;
从在所述设备处被接收的固件更新有效载荷复制变量记录,并且将复制的所述变量记录写入所述主区域中;以及
擦除所述备用区域中的变量记录。
2.根据权利要求1所述的方法,其中所述变量记录表示UEFI(统一可扩展固件接口)变量。
3.根据权利要求1所述的方法,其中所述存储器存储库是以下之一:SPI(串行外围接口)、闪存或eMMC(嵌入式多媒体卡)存储器。
4.根据权利要求1所述的方法,其中写入步骤中的每个写入步骤包括使用如由TianoCore.org指定的所述事务记录的容错写入(FTW)协议。
5.根据权利要求1所述的方法,还包括:如果故障在所述工作存储库中的内容的所述擦除期间发生,则从所述备用区域复制变量记录,将复制的所述变量记录从所述备用区域写入所述主区域中,并且在后续设备引导之后重新启动所述固件更新。
6.根据权利要求5所述的方法,还包括:如果故障在所述主区域中的所述变量记录的所述擦除期间发生,则中止所述固件更新,并且在后续设备引导之后重新启动所述固件更新。
7.根据权利要求6所述的方法,还包括:如果故障在所述变量记录从所述固件更新有效载荷的所述复制期间或者在复制的所述变量记录向所述主区域的所述写入期间发生,则中止所述固件更新,并且在后续设备引导之后重新启动所述固件更新。
8.根据权利要求7所述的方法,还包括:如果故障在所述变量记录从所述固件更新有效载荷的所述复制之后或者在复制的所述变量记录向所述主区域的所述写入之后发生,则初始化所述主区域中的所述工作存储库并且恢复正常设备操作。
9.根据权利要求8所述的方法,还包括:如果故障在所述备用区域中的所述变量记录的所述擦除期间发生,则初始化所述主区域中的所述工作存储库并且恢复正常设备操作。
10.根据权利要求9所述的方法,其中所述固件更新是在空中固件更新中被执行的最后的步骤。
11.一种用于更新固件的设备,包括:
一个或多个处理器;
网络接口;以及
存储计算机可读指令的一个或多个基于硬件的存储器设备,所述计算机可读指令在由所述一个或多个处理器执行时,使得所述设备:
通过所述网络接口接收固件变量的固件更新有效载荷作为空中固件(FOTA)更新过程的一部分,
使用非易失性存储器设备的安全备用区域来创建被包含在所述非易失性存储器设备的安全主区域中的固件变量的备份,
将所述固件变量从所述有效载荷写入所述主区域中,
如果故障在所述FOTA更新过程中发生,则使用所述固件变量的所述备份将所述设备设置为已知良好引导状态,以及
如果来自所述有效载荷的所述固件变量被成功地写入所述主区域,则擦除所述备份。
12.根据权利要求11所述的设备,还包括:在故障的情况中,使得所述设备在所述设备的后续引导之后重新启动所述FOTA更新过程。
13.根据权利要求11所述的设备,其中所述固件变量使用容错写入(FTW)过程而被写入,所述容错写入过程使用被存储在工作存储库中的事务记录,所述工作存储库被实现在所述非易失性存储器设备中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780039666.X/1.html,转载请声明来源钻瓜专利网。