一种对移动终端的存储器进行格式化的方法和装置的制造方法

文档序号:10612621阅读:466来源:国知局
一种对移动终端的存储器进行格式化的方法和装置的制造方法
【专利摘要】本发明实施例提供一种对移动终端的存储器进行格式化的方法和装置,其中所述方法包括:在检测到移动终端启动时,判断所述移动终端的存储器是否已经格式化;若判定所述移动终端的存储器还没有格式化,则对所述移动终端的存储器执行格式化操作,所述格式化操作包括:获取所述移动终端的存储器的可用存储容量值,将所述可用存储容量值替换软件代码中预设的存储容量值,其中,所述软件代码为不同存储容量大小的存储器共用的软件代码。本发明实施例可以针对不同存储容量的存储器采用一套共用的软件代码,提高了软件代码的兼容性,降低了软件代码对存储器的依赖性,以及,降低了软件代码的维护成本。
【专利说明】
一种对移动终端的存储器进行格式化的方法和装置
技术领域
[0001]本发明实施例涉及存储技术领域,尤其涉及一种对移动终端的存储器进行格式化的方法以及一种对移动终端的存储器进行格式化的装置。
【背景技术】
[0002]随着信息技术的发展,移动终端越来越普及。为了满足不同用户群体的需求,移动终端的设备厂商会生产存储容量不同的移动终端,例如,32G、64G或128G等等。
[0003]在现有技术中,针对存储器的不同存储容量大小,需要维护一套对应的软件代码,则不同的存储容量需要维护多套代码,代码维护成本高,代码管理复杂度高。

【发明内容】

[0004]本发明实施例提供一种对移动终端的存储器进行格式化的方法和装置,用以解决现有技术中存储器的不同的存储容量需要维护多套代码,代码维护成本高,代码管理复杂度高的问题。
[0005]本发明实施例提供一种对移动终端的存储器进行格式化的方法,所述方法包括:
[0006]在检测到移动终端启动时,判断所述移动终端的存储器是否已经格式化;
[0007]若判定所述移动终端的存储器还没有格式化,则对所述移动终端的存储器执行格式化操作,所述格式化操作包括:获取所述移动终端的存储器的可用存储容量值,将所述可用存储容量值替换软件代码中预设的存储容量值,其中,所述软件代码为不同存储容量大小的存储器共用的软件代码。
[0008]本发明实施例还提供一种对移动终端的存储器进行格式化的装置,所述装置包括:
[0009]格式化判断模块,用于在检测到移动终端启动时,判断所述移动终端的存储器是否已经格式化;
[0010]格式化模块,用于在判定所述移动终端的存储器还没有格式化时,对所述移动终端的存储器执行格式化操作,所述格式化操作包括:获取所述移动终端的存储器的可用存储容量值,将所述可用存储容量值替换软件代码中预设的存储容量值,其中,所述软件代码为不同存储容量大小的存储器共用的软件代码。
[0011]在本发明实施例中,在移动终端启动时,首先判断移动终端的存储器是否已经格式化,若该存储器没有格式化,则对存储器执行获取所述移动终端的存储器的可用存储容量值,将所述可用存储容量值替换软件代码中预设的存储容量值等格式化操作,本发明实施例针对不同存储容量的存储器采用一套共用的软件代码,提高了软件代码的兼容性,降低了软件代码对存储器的依赖性,以及,降低了软件代码的维护成本。
【附图说明】
[0012]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0013]图1为本发明实施例的一种对移动终端的存储器进行格式化的方法实施例一的步骤流程图;
[0014]图2为本发明实施例的一种对移动终端的存储器进行格式化的方法实施例二的步骤流程图;
[0015]图3为本发明实施例的一种对移动终端的存储器进行格式化的装置实施例一的结构框图。
【具体实施方式】
[0016]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0017]参考图1,示出了本发明实施例的一种对移动终端的存储器进行格式化的方法实施例一的步骤流程图,具体可以包括如下步骤:
[0018]步骤101,在检测到移动终端启动时,判断所述移动终端的存储器是否已经格式化;
[0019]步骤102,若判定所述移动终端的存储器还没有格式化,则对所述移动终端的存储器执行格式化操作,所述格式化操作包括:获取所述移动终端的存储器的可用存储容量值,将所述可用存储容量值替换软件代码中预设的存储容量值,其中,所述软件代码为不同存储容量大小的存储器共用的软件代码。
[0020]在本发明实施例中,在移动终端启动时,首先判断移动终端的存储器是否已经格式化,若该存储器没有格式化,则对存储器执行获取所述移动终端的存储器的可用存储容量值,将所述可用存储容量值替换软件代码中预设的存储容量值等格式化操作,本发明实施例针对不同存储容量的存储器采用一套共用的软件代码,提高了软件代码的兼容性,降低了软件代码对存储器的依赖性,以及,降低了软件代码的维护成本。
[0021]参考图2,示出了本发明实施例的一种对移动终端的存储器进行格式化的方法实施例二的步骤流程图。
[0022]在本发明实施例中,可以应用于包含存储器的移动终端中,该存储器优选可以为eMMC( (Embedded MultiMediaCard, MMC协会所订立的内嵌式存储器标准规格)存储器,eMMC存储器的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得移动终端厂商能够专注于产品开发的其它部分,并缩短向市场推出产品的时间。
[0023]通常,从厂家出来的eMMC可以至少可以包括如下部分:
[0024]Boot分区:即启动分区,可以包括第一Boot分区Boot I和第二 Boot分区Boot 2。这两个分区是由厂家在生产过程中配置好,可以用来存储启动图像boot image、default配置参数等等。
[0025]RPMB (Replay Protected Memory Block,回放保护内存块):存在目的是用来给系统存放一些特殊的、需要进行访问授权的数据。
[0026]User Data Area:用户分区,用户可以进行读写存储的区域,通常其大小为整块EMMC表示大小的93%左右,即4GB的eMMC UDA的区域只有4GB*93% = 3809MB。
[0027]本发明实施例针对eMMC不同的存储容量大小提出了一种兼容性的解决方案,可以包括如下步骤:
[0028]步骤201,在检测到移动终端启动时,采用预设的引导加载程序Bootloader读取Boot分区中预设的第一格式化参数的值;
[0029]应用于本发明实施例,可以在eMMC的Boot分区中预先设置第一格式化参数(作为一种示例,该第一格式化参数可以定义为erase_data参数),该第一格式化参数可以为一个全局变量,用于作为移动终端第一次开机启动时对内存格式化的标识。
[0030]在实际中,第一格式化参数可以为布尔bool类型的参数,可取值为true(或yes,即第一预设阈值)和false (或no,即第二预设阈值),在本发明实施例中,可以将第一格式化参数的值默认为第一预设阈值。
[0031]当移动终端上电启动后,可以首先从Boot分区中读取第一格式化参数的值。在具体实现中,移动终端可以采用引导加载程序Bootloader来从Boot分区中读取第一格式化参数的值,其中,Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的格式化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。
[0032]步骤202,判断所述第一格式化参数的值为第一预设阈值还是第二预设阈值;若所述第一格式化参数的值为第一预设阈值,则执行步骤203 ;若所述第一格式化参数的值为第二预设阈值,则执行步骤204 ;
[0033]例如,bootloader从 Boot 分区读取 erase_data 的取值,若 erase_data = yes,则执行步骤203 ;如果erase_data = no,则执行步骤204。
[0034]步骤203,判定所述移动终端没有格式化,以及,将所述第一格式化参数的值更改为第二预设阈值,并设定所述Boot分区中预设的第二格式化参数的值为第三预设阈值;
[0035]具体来说,若第一格式化参数的值为第一预设阈值,例如,当erase_data = yes时,则可以判定该移动终端没有格式化,此时,可以将第一格式化参数的值更改为第二预设阈值,例如,设置eraSe_data = no,则移动终端下次开机启动时可以读取到该第一格式化参数的值为第二预设阈值。
[0036]应用于本发明实施例,在Boot分区中还定义有第二格式化参数(作为一种示例,该第二格式化参数可以定义为cmdline.android, x.erase_userdata参数),用于作为移动终端的操作系统进入内核层后对内存格式化的标识。当判定移动终端还没有格式化时,可以进一步读取第二格式化参数,并将第二格式化参数的值配置为第三预设阈值,例如,设定为 cmdline.android, x.erase_userdata = yes。
[0037]步骤204,判定所述移动终端已经格式化,并设定预设的第二格式化参数的值为第四预设阈值;
[0038]若第一格式化参数的值为第二预设阈值,例如,当erase_data = no时,则可以判定该移动终端已经格式化,此时,可以将第二格式化参数的值配
[0039]步骤205,当进入操作系统的内核层时,读取所述第二格式化参数的值;
[0040]当bootloader运行完毕以后,可以进入移动终端的操作系统内核层kernel,在操作系统内核层中,可以通过读取第二格式化参数的值来判断该移动终端的存储器是否已经格式化。
[0041]步骤206,若所述第二格式化参数的值为第三预设阈值,则对Data分区执行格式化操作。
[0042]当进入内核层kernel以后,如果读取的第二格式化参数的值为第三预设阈值,例如,cmdline.android, x.erase_userdata = yes,则在内核层中可以判定该移动终端还没有执行格式化操作,此时可以在内核层中对移动终端执行格式化操作,具体可以为,对eMMC的Data分区执行格式化操作,其中,格式化(format)操作是指对磁盘(本发明实施例可以为eMMC)或磁盘中的分区(partit1n)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。
[0043]在一种实施方式中,该格式化操作具体可以包括:获取所述移动终端的存储器的可用存储容量值,并将所述可用存储容量值替换软件代码中预设的存储容量值。
[0044]具体而言,本发明实施例能够为多种不同存储容量大小的存储器设置一套共用的软件代码,以实现软件代码的兼容性,为了实现共用性,该共用的软件代码中可以设置有预设的存储容量值,例如,1G0当运行该共用的软件代码,读取到该预设的存储容量值时,可以进一步获取移动终端的存储器的可用存储容量值,并将该可用存储容量值替换共用软件代码中预设的存储容量值,以使得在移动终端中显示该存储器的可用存储容量值。
[0045]在本发明实施例的一种优选实施例中,上述获取所述移动终端的存储器的可用存储容量值,可以采用如下方式:
[0046]获取所述移动终端的存储器的实际存储容量值;计算所述移动终端的存储器的已用存储容量值;计算所述实际存储容量值与所述已用存储容量值的差值,得到所述存储器的可用存储容量值。
[0047]例如,第一存储器的实际容量大小为32G,移动终端中安装的应用程序所占的已用存储容量值为4G,则该第一存储器的可用存储容量值为28G。若共用的软件代码中预设的存储容量值为10G,则可以将28G替换该软件代码中的10G,使得移动终端显示的可用存储容量值为28G,以完成移动终端的内存格式化。
[0048]又如,第二存储器的实际容量大小为16G,移动终端中安装的应用程序所占的已用存储容量值为2G,则该存储器的可用存储容量值为14G。若共用的软件代码中预设的存储容量值为10G,则可以将14G替换该软件代码中的10G,使得移动终端显示的可用存储容量值为14G,以完成移动终端的内存格式化。
[0049]另一方面,若第二格式化参数的值为第四预设阈值,例如,cmdline.android,x.erase_userdata = no,则在内核层中可以判定该移动终端已经执行格式化操作,此时可以结束流程。
[0050]在本发明实施例中,不同存储容量值的eMMC能够共用一套通用的软件代码,将获取到的eMMC的可用存储容量值替换共用软件代码中预设的存储容量值,以实现软件代码的兼容性,避免维护多套代码的麻烦,使软件代码不用考虑更多硬件的变动,降低软件代码对硬件的依赖性,省去了在代码运行前需用编译开关来控制代码的编译复杂性。
[0051]参考图3,示出了本发明实施例的一种对移动终端的存储器进行格式化的装置实施例的结构框图,具体可以包括如下模块:
[0052]格式化判断模块301,用于在检测到移动终端启动时,判断所述移动终端的存储器是否已经格式化;
[0053]格式化模块302,用于在判定所述移动终端的存储器还没有格式化时,对所述移动终端的存储器执行格式化操作,所述格式化操作包括:获取所述移动终端的存储器的可用存储容量值,将所述可用存储容量值替换软件代码中预设的存储容量值。
[0054]在本发明实施例的一种优选实施例中,所述存储器包括启动分区Boot分区,所述格式化判断模块301可以包括如下子模块:
[0055]第一格式化参数读取子模块,用于在检测到移动终端启动时,采用预设的引导加载程序Bootloader读取所述Boot分区中预设的第一格式化参数的值;
[0056]判断子模块,用于判断所述第一格式化参数的值为第一预设阈值还是第二预设阈值;
[0057]第一判定子模块,用于在所述第一格式化参数的值为第一预设阈值时,判定所述移动终端的存储器没有格式化;
[0058]第二判定子模块,用于在所述第一格式化参数的值为第二预设阈值时,判定所述移动终端的存储器已经格式化。
[0059]在本发明实施例的一种优选实施例中,所述装置还可以包括如下模块:
[0060]第一参数设定模块,用于在判定所述移动终端的存储器没有格式化时,将所述第一格式化参数的值更改为第二预设阈值,并设定所述Boot分区中预设的第二格式化参数的值为第三预设阈值;
[0061]第二参数设定模块,用于在判定所述移动终端的存储器已经格式化时,设定所述第二格式化参数的值为第四预设阈值。
[0062]在本发明实施例的一种优选实施例中,所述存储器还包括用户分区Data分区,所述格式化模块302可以包括如下子模块:
[0063]第二格式化参数读取子模块,用于在进入操作系统的内核层时,读取所述第二格式化参数的值;
[0064]分区格式化子模块,用于在所述第二格式化参数的值为第三预设阈值时,对所述Data分区执行格式化操作。
[0065]在本发明实施例的一种优选实施例中,所述获取所述移动终端的存储器的可用存储容量值,采用如下方式:
[0066]获取所述移动终端的存储器的实际存储容量值;
[0067]计算所述移动终端的存储器的已用存储容量值;
[0068]计算所述实际存储容量值与所述已用存储容量值的差值,得到所述存储器的可用存储容量值。
[0069]对于图3的装置实施例而言,由于其与上述方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0070]以上所描述的客户端或服务器实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0071]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0072]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种对移动终端的存储器进行格式化的方法,其特征在于,所述方法包括: 在检测到移动终端启动时,判断所述移动终端的存储器是否已经格式化; 若判定所述移动终端的存储器还没有格式化,则对所述移动终端的存储器执行格式化操作,所述格式化操作包括:获取所述移动终端的存储器的可用存储容量值,将所述可用存储容量值替换软件代码中预设的存储容量值,其中,所述软件代码为不同存储容量大小的存储器共用的软件代码。2.根据权利要求1所述的方法,其特征在于,所述存储器包括启动分区Boot分区,所述在检测到移动终端启动时,判断所述移动终端的存储器是否已经格式化的步骤包括: 在检测到移动终端启动时,采用预设的引导加载程序Bootloader读取所述Boot分区中预设的第一格式化参数的值; 判断所述第一格式化参数的值为第一预设阈值还是第二预设阈值; 若所述第一格式化参数的值为第一预设阈值,则判定所述移动终端的存储器没有格式化; 若所述第一格式化参数的值为第二预设阈值,则判定所述移动终端的存储器已经格式化。3.根据权利要求2所述的方法,其特征在于,在所述若所述移动终端的存储器还没有格式化,则对所述移动终端的存储器执行格式化操作的步骤之前,还包括: 若判定所述移动终端的存储器没有格式化,则将所述第一格式化参数的值更改为第二预设阈值,并设定所述Boot分区中预设的第二格式化参数的值为第三预设阈值; 若判定所述移动终端的存储器已经格式化,则设定所述第二格式化参数的值为第四预设阈值。4.根据权利要求3所述的方法,其特征在于,所述存储器还包括用户分区Data分区,所述若所述移动终端的存储器还没有格式化,则对所述移动终端的存储器执行格式化操作的步骤包括: 当进入操作系统的内核层时,读取所述第二格式化参数的值; 若所述第二格式化参数的值为第三预设阈值,则对所述Data分区执行格式化操作。5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取所述移动终端的存储器的可用存储容量值,采用如下方式: 获取所述移动终端的存储器的实际存储容量值; 计算所述移动终端的存储器的已用存储容量值; 计算所述实际存储容量值与所述已用存储容量值的差值,得到所述存储器的可用存储容量值。6.一种对移动终端的存储器进行格式化的装置,其特征在于,所述装置包括: 格式化判断模块,用于在检测到移动终端启动时,判断所述移动终端的存储器是否已经格式化; 格式化模块,用于在判定所述移动终端的存储器还没有格式化时,对所述移动终端的存储器执行格式化操作,所述格式化操作包括:获取所述移动终端的存储器的可用存储容量值,将所述可用存储容量值替换软件代码中预设的存储容量值,其中,所述软件代码为不同存储容量大小的存储器共用的软件代码。7.根据权利要求6所述的装置,其特征在于,所述存储器包括启动分区Boot分区,所述格式化判断模块包括: 第一格式化参数读取子模块,用于在检测到移动终端启动时,采用预设的引导加载程序Bootloader读取所述Boot分区中预设的第一格式化参数的值; 判断子模块,用于判断所述第一格式化参数的值为第一预设阈值还是第二预设阈值; 第一判定子模块,用于在所述第一格式化参数的值为第一预设阈值时,判定所述移动终端的存储器没有格式化; 第二判定子模块,用于在所述第一格式化参数的值为第二预设阈值时,判定所述移动终端的存储器已经格式化。8.根据权利要求7所述的装置,其特征在于,还包括: 第一参数设定模块,用于在判定所述移动终端的存储器没有格式化时,将所述第一格式化参数的值更改为第二预设阈值,并设定所述Boot分区中预设的第二格式化参数的值为第三预设阈值; 第二参数设定模块,用于在判定所述移动终端的存储器已经格式化时,设定所述第二格式化参数的值为第四预设阈值。9.根据权利要求8所述的装置,其特征在于,所述存储器还包括用户分区Data分区,所述格式化模块包括: 第二格式化参数读取子模块,用于在进入操作系统的内核层时,读取所述第二格式化参数的值; 分区格式化子模块,用于在所述第二格式化参数的值为第三预设阈值时,对所述Data分区执行格式化操作。10.根据权利要求6-9任一项所述的装置,其特征在于,所述获取所述移动终端的存储器的可用存储容量值,采用如下方式: 获取所述移动终端的存储器的实际存储容量值; 计算所述移动终端的存储器的已用存储容量值; 计算所述实际存储容量值与所述已用存储容量值的差值,得到所述存储器的可用存储容量值。
【文档编号】G06F9/445GK105975291SQ201510756772
【公开日】2016年9月28日
【申请日】2015年11月6日
【发明人】于燕
【申请人】乐视移动智能信息技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1