[发明专利]提高在位固件更新稳健性的方法及装置有效
申请号: | 201780094454.1 | 申请日: | 2017-08-30 |
公开(公告)号: | CN111052075B | 公开(公告)日: | 2021-10-01 |
发明(设计)人: | 克里斯托弗·凯万·洛伊 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F11/14 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提高 在位 更新 稳健 方法 装置 | ||
一种用于更新由设备使用具有多个页面的存储器存储的镜像的镜像更新装置,用于:构建替换镜像部分;根据预定义的覆盖类型,识别对页面进行将所述替换镜像部分写入所述存储器的覆盖类型;记录所述识别的覆盖类型的所述替换镜像部分已为该页面构建。
本发明涉及使用补丁更新软件的技术。
通过向具有原始代码的设备发送替换代码,可以远程更新软件。然后,所述接收设备使用替换代码覆盖其旧代码的副本。软件更新通常会很大,因此最好在传输所述替换代码之前对其进行压缩,以便更有效地使用可用带宽。在传输之前压缩所述替换代码通常会使传输的数据量减少约50%。
一种可以比单用压缩技术更能减少通过空口传输的数据量是BSDiff。这种技术认识到,所述替换代码中有许多通常与所述旧代码相同。因此,这种技术不是传输整个镜像,而是通过空口生成补丁文件,对所述替换代码和所述旧代码之间的差异进行编码。这种技术可以比单用压缩更有效地使用可用带宽。与未压缩的替换代码相比,BSDiff可以将传输的数据量减少多达90%。设备通过将所述补丁中指定的差异应用于其存储的所述代码版本来构建替换镜像,从而逐步构建其自己的所述替换代码副本。这种方法不适合使用小型闪存的受限设备,因为它要求所述设备存储其正在构建的新镜像,同时仍存储原始软件镜像。
另一种方法是设备通过逐步覆盖所述存储的所述代码版本来构建所述替换镜像。在此方法中,所述补丁或Diff镜像指定替换镜像与不断变化的所述存储镜像版本之间的差异,以模拟将所述原始镜像逐步转换为最终将在所述设备中发生的所述替换镜像。这种方法有益于存储器受限的设备,因为所述设备存储所述原始镜像的逐步更新版本,而不是所述原始镜像的未修订版本和所述替换镜像的“正在进行”版本。但是,如果在所述镜像更新过程中断电,则此方法可能会出现问题。在部分更新的镜像从其原始形式变为新形式的过程中,如果所述设备发生中断,所述设备将如何从所述镜像中恢复尚不清楚。
本发明的一个目的在于提供应用补丁文件的技术。
上述及其它目的通过独立权利要求的特征来实现。根据从属权利要求、说明书以及附图,进一步的实现方式是显而易见的。
根据第一方面,提供了一种用于更新由设备使用具有多个页面的存储器存储的镜像的镜像更新装置,用于:构建替换镜像部分;根据预定义的覆盖类型,识别对页面进行将所述替换镜像部分写入所述存储器的覆盖类型;记录所述识别的覆盖类型的所述替换镜像部分已为该页面构建。这可以允许所述装置保持跟踪更新过程中已完成哪些操作。
所述镜像更新装置可用于记录所述替换镜像部分已在写入所述存储器时构建。
所述镜像更新装置可用于:使所述替换镜像部分存储在非易失性存储器中;记录所述替换镜像部分已在存储在非易失性存储器中后构建。将所述替换镜像部分存储在非易失性存储器中可确保在断电时保留所述替换镜像部分。
所述替换镜像部分可构建在第一缓存器中,并且所述镜像更新装置可用于记录所述替换镜像部分已在写入第二缓存器时构建。所述第一缓存器可以是易失性存储器。所述第二缓存器可以是非易失性存储器。将所述替换镜像部分写入非易失性缓存器可以允许在断电时保留所述镜像部分。
所述镜像更新装置可用于:通过应用补丁更新所述镜像;对所述页面中的任一页面进行应用所述补丁的覆盖的最大数量;为每个页面分配等于所述最大数量的记录数量。覆盖的所述最大数量可以不超过三个。这可以对存储所述源镜像的所述存储器减少闪存损耗,因为每个页面的写入次数很少。
所述镜像更新装置可用于:对于每个页面,为每个预定义覆盖类型保留两个子记录;当该页面的替换镜像部分和该覆盖类型从所述第一缓存器写入所述第二缓存器时,设置所述第一子记录;当该页面的替换镜像部分和该覆盖类型从所述第二缓存器写入存储所述镜像的所述存储器时,设置所述第二子记录。这可以允许所述装置记录哪些更新操作已完成。
所述镜像更新装置可用于在更新所述镜像之前设置所有记录,以指示替换镜像部分尚未构建。这可以允许所述装置检测更新是否正在进行中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780094454.1/2.html,转载请声明来源钻瓜专利网。