一种修复eMMC文件的方法及终端的制作方法

文档序号:9349826阅读:1345来源:国知局
一种修复eMMC文件的方法及终端的制作方法
【技术领域】
[0001]本发明涉及存储领域的文件监测与修复技术,具体而言涉及一种修复eMMC (Embedded Multi Media Card,嵌入式多媒体卡)文件的方法以及使用该方法的终端。
【背景技术】
[0002]eMMC集成有MMC(Multi Media Card,多媒体卡)接口、快闪存储器以及主控制器。当前,越来越多的终端采用eMMC作为存储单元,终端的操作系统,特别是安卓系统在开机阶段大量、频繁的从eMMC中读取数据,这些数据包括可执行程序、库文件和资源配置文件等,导致eMMC中存储的文件被损坏的概率大大增加,一旦eMMC中存储的文件被损坏,极易造成移动终端无法开机、操作系统异常。

【发明内容】

[0003]有鉴于此,本发明实施例提供一种修复eMMC文件的方法及终端,以修复eMMC中由于频繁读取而被损坏的系统文件。
[0004]本发明实施例提供的一种修复终端的嵌入式多媒体卡eMMC文件的方法,包括:预先获取eMMC文件的校验码,并对eMMC文件进行备份以得到对应的备份文件;在终端的本次开机的前期阶段,计算当前eMMC文件的校验码,并与预先获取的eMMC文件的校验码进行比较;在判定计算得到的eMMC文件的校验码和预先获取的eMMC文件的校验码不相同时,终端启用备份文件以替换eMMC文件。
[0005]其中,采用摘要算法MD5预先获取eMMC文件的校验码。
[0006]其中,终端的eMMC的快闪存储器包括第一存储区域和第二存储区域,备份文件存储于第一存储区域,第二存储区域用于存储终端的操作系统升级时所下载的系统文件。
[0007]其中,终端启用备份文件以替换eMMC文件之后,还包括:根据替换的时间、备份文件的校验码、计算得到的eMMC文件的校验码、备份文件以及本次开机的前期阶段的eMMC文件,形成修复日志并存储。
[0008]其中,在将计算得到的eMMC文件的校验码和预先获取的eMMC文件的校验码进行比较之前,所述方法还包括:判断备份文件是否有效;在判定备份文件有效时,将计算得到的eMMC文件的校验码和预先获取的eMMC文件的校验码进行比较。
[0009]本发明实施例提供的一种终端,包括:计算模块,用于预先获取终端的eMMC文件的校验码;备份存储模块,用于备份eMMC文件以得到对应的备份文件;在终端的本次开机的前期阶段,计算模块进一步用于计算当前eMMC文件的校验码;处理模块,用于将计算得到的eMMC文件的校验码与预先获取的eMMC文件的校验码进行比较;在处理模块判定计算得到的eMMC文件的校验码和预先获取的eMMC文件的校验码不相同时,处理模块启用备份文件以替换eMMC文件。
[0010]其中,计算模块采用摘要算法MD5预先获取eMMC文件的校验码。
[0011]其中,终端的eMMC的快闪存储器包括备份存储模块和另一存储模块,备份文件存储于备份存储模块,另一存储模块用于存储终端的操作系统升级时所下载的系统文件。
[0012]其中,在启用备份文件以替换本次开机的前期阶段的eMMC文件之后,处理模块进一步用于根据替换的时间、备份文件的校验码、计算得到的eMMC文件的校验码、备份文件以及本次开机的前期阶段的eMMC文件,形成修复日志并存储。
[0013]其中,在将计算得到的eMMC文件的校验码和预先获取的eMMC文件的校验码进行比较之前,处理模块进一步用于判断备份文件是否有效,并在判定备份文件有效时,将计算得到的eMMC文件的校验码和预先获取的eMMC文件的校验码进行比较。
[0014]本发明实施例的修复eMMC文件的方法及终端,预先对eMMC文件进行备份,并在终端的开机阶段,将当前计算得到的eMMC文件的校验码与预先获取的eMMC文件的校验码进行比较,若两者不相同,表示eMMC文件已发生损坏,则终端启用备份文件以替换发生损坏的eMMC文件,从而修复eMMC中由于频繁读取而被损坏的eMMC文件,有利于终端的正常开机,避免操作系统的异常。
【附图说明】
[0015]图1是本发明的修复eMMC文件的方法一实施例的流程示意图;
[0016]图2是本发明的终端一实施例的原理框图。
【具体实施方式】
[0017]下面将结合本发明实施例中的附图,对本发明所提供的示例性的实施例的技术方案进行清楚、完整地描述。
[0018]图1是本发明的修复eMMC文件的方法一实施例的流程示意图。应该理解到,本实施例各步骤的执行主体可以为CPU (Central Processing Unit,中央处理器)、驱动器、eMMC底层驱动程序或者具有上述任一的终端,且不局限于此,为便于说明及理解,本实施例及全文均以终端为执行主体为例进行描述。如图1所示,所述方法包括:
[0019]步骤Sll:预先获取eMMC文件的校验码,并对eMMC文件进行备份以得到对应的备份文件。
[0020]eMMC中存储有终端开机所需的数据,例如可执行文件、库文件和配置资源等系统文件,终端在上电开机时需要读取这些数据到诸如SDRAM(Synchronous Dynamic RandomAccess Memory,同步动态随机存储器)、DDR(Double Date Rate Synchronous DynamicRandom Access Memory,双倍速率同步动态随机存储器)等类型的内存中,具体地,终端发送预读取数据的起始地址到eMMC的DMA (Direct Memory Access,直接内存访问)控制器,该预读取数据的起始地址即开机所需的数据的地址,该数据的地址是开机所需数据或者开机所需部分数据在eMMC存储颗粒中的地址,终端从内存中加载这些数据并完成开机。
[0021]基于上述开机过程,本实施例可以对eMMC中存储的全部eMMC文件进行获取校验码,也可以仅获取部分eMMC文件的校验码。
[0022]本实施例优选采用MD5 (Message-Digest Algorithm5,消息摘要算法第五版)标准算法预先获取eMMC文件的校验码,其中所述校验码可以为eMMC文件所包含的全部数据的MD5值,也可以为eMMC文件与其MD5值合成的一个包文件。
[0023]鉴于对eMMC文件进行备份的目的是为了在后续开机过程中eMMC文件发生损坏时进行替换修复,本实施例也可以对eMMC中存储的全部eMMC文件进行备份,也可以仅备份部分eMMC文件,所述部分eMMC文件由用户自定义或终端根据其在开机过程中的作用按照重要程序由高到低的登记顺序进行预置。
[0024]所述备份文件存储于eMMC的快闪存储器中,具体地,eMMC的快闪存储器包括第一存储区域和第二存储区域,第一存储区域定义为system分区以存储备份文件,第二存储区域存储终端的操作系统升级时所下载的系统文件以供系统升级所用。在实际的开机应用场景过程中,第二存储区域的内存较大且第一存储区域的内存较小,例如为40MB(兆字节),故本实施例可以定义开机时访问最频繁的一个或多个eMMC文件进行备份。其中,备份的方法本实施例不予以限制。
[0025]步骤S12:在终端的本次开机的前期阶段,计算当前eMMC文件的校验码。
[0026]终端对已进行备份的eMMC文件进行计算校验码,但终端仍对开机所需的其他eMMC文件进行读取只是不计算校验码。其中,可以采用MD5标准算法计算得到当前eMMC文件的校验码,也可以采用与预先获取eMMC文件的校验码的算法得到当前eMMC文件的校验码。
[0027]步骤S13:将计算得到的当前eMMC文件的校验码与预先获取的eMMC文件的校验码进行比较,并判断两者是否相同。
[0028]若两者相同,表示已进行备份的eMMC文件并未损坏,则执行步骤S15 ;若两者不相同,表示已进行备份的eMMC文件已经发生损坏,则执行步骤S14。
[0029]步骤S14:终端启用备份文件以替换eMMC文件,保证本次开机正常进行。
当前第1页1 2 
网友询问留言 已有1条留言
  • 189048... 来自[中国移动] 2020年03月16日 12:13
    看不到第二页吗
    0
1