大容量存储卡的应用方法及移动终端转让专利

申请号 : CN200910176128.2

文献号 : CN101650690B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 石焱

申请人 : 中兴通讯股份有限公司

摘要 :

本发明公开了一种大容量存储卡的应用方法及移动终端,该方法包括:将存储卡划分为n个逻辑存储卡,并设置底层接口的地址映射函数,其中,M为存储卡的容量,N为移动终端支持的最大容量,地址映射函数用于实现逻辑存储卡的地址与存储卡的地址之间的转换;为n个逻辑存储卡中的每个逻辑存储卡分配独立的文件系统;根据地址映射函数和文件系统中的信息将对逻辑存储卡的操作映射为对存储卡的操作。本发明克服了系统对存储卡最大容量的限制,充分利用了存储卡的容量,提高了用户体验。

权利要求 :

1.一种大容量存储卡的应用方法,用于存储卡的容量大于移动终端支持的最大容量的情况,其特征在于,所述方法包括:将所述存储卡划分为n个逻辑存储卡,并设置底层接口的地址映射函数,其中,所述 M为所述存储卡的容量,N为所述移动终端支持的最大容量,所述地址映射函数用于实现所述逻辑存储卡的地址与所述存储卡的地址之间的转换;

为所述n个逻辑存储卡中的每个逻辑存储卡分配独立的文件系统;

根据所述地址映射函数和所述文件系统中的信息将对所述逻辑存储卡的操作映射为对所述存储卡的操作。

2.根据权利要求1所述的方法,其特征在于,所述文件系统中的信息包括:第一偏移块地址,其中,所述第一偏移块地址是以文件所在的逻辑存储卡中的首块地址为基准的偏移块地址。

3.根据权利要求2所述的方法,其特征在于,在判断所述存储卡的容量大于所述移动终端支持的最大容量时,所述方法还包括:获取所述存储卡的预定参数,并根据所述预定参数计算所述存储卡的容量,其中,所述预定参数包括:块大小BLOCK_SIZE和总块数BLOCK_NUM,所述M=BLOCK_SIZE*BLOCK_NUM。

4.根据权利要求3述的方法,其特征在于,所述逻辑存储卡的地址包括:所述逻辑存储卡的标号和所述第一偏移块地址,其中, 所述标号的取值范围是0,1,2......n-1;所述存储卡的地址包括第二偏移块地址,所述第二偏移块地址为以所述存储卡的首地址为基准的偏移块地址;所述地址映射函数为a=b+(N/BLOCK_SIZE)*x,其中,a为所述第二偏移块地址,b为所述第一偏移块地址,x为所述逻辑存储卡的标号。

5.根据权利要求1所述的方法,其特征在于,将所述存储卡划分为n个所述逻辑存储卡之后,所述方法还包括:在所述移动终端的UI界面上显示n个存储卡。

6.根据权利要求1所述的方法,其特征在于,将所述存储卡划分为n个所述逻辑存储卡之后,所述方法还包括:在所述移动终端的UI界面上显示1个存储卡,所述存储卡容量为M,并建立所述存储卡中文件与所述逻辑存储卡的标号的对应关系。

7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:为所述n个逻辑存储卡中的每个逻辑存储卡分配独立的数据结构。

8.一种移动终端,其特征在于,包括:

容量判断模块,用于判断存储卡的容量是否大于移动终端支持的最大容量,若是,则触发预设置模块;

所述预设置模块,用于将所述存储卡划分为n个逻辑存储卡,并设置底层接口的地址映射函数,其中,所述 M为所述存储卡的容量,N为所述移动终端支持的最大容量;

分配模块,用于为所述n个逻辑存储卡中的每个逻辑存储卡分配独立的文件系统; 底层接口处理模块,用于根据所述地址映射函数和所述文件系统中的信息将对所述逻辑存储卡的操作映射为对所述存储卡的操作。

9.根据权利要求8所述的移动终端,其特征在于,所述移动终端还包括:

容量获取模块,用于获取所述存储卡的预定参数,并根据所述预定参数计算所述存储卡的容量,其中,所述预定参数包括:块大小BLOCK_SIZE和总块数BLOCK_NUM,M=BLOCK_SIZE*BLOCK_NUM。

10.根据权利要求8所述的移动终端,其特征在于,所述移动终端还包括:

显示控制模块,用于确定在UI界面上显示的存储卡个数,若确定显示为1个,则触发文件映射模块;

所述文件映射模块,用于建立所述存储卡中文件与所述逻辑存储卡的标号的对应关系。

说明书 :

大容量存储卡的应用方法及移动终端

技术领域

[0001] 本发明涉及通信领域,具体而言,涉及一种大容量存储卡的应用方法及移动终端。

背景技术

[0002] 随着移动通信技术的高速发展,移动终端(例如,手机)逐渐成为人们日常工作和生活中必不可少的工具,移动终端存储卡的使用也越来越普遍,例如,可以使用移动终端存储卡保存歌曲、视频、数据等资料。
[0003] 目前,随着用户对存储卡容量的要求越来越高,市场对大容量(例如,8GB甚至16GB)的移动终端存储卡的需求非常迫切。但是移动终端受操作系统及基带处理芯片的限制,能够支持的最大容量往往非常有限,通常只支持4GB以下的移动终端存储卡,例如,高通的MSM6280平台的手机基带处理芯片只支持最大4GB的TF存储卡,而不能够支持超过
4GB的存储卡。
[0004] 现有技术中,当向移动终端中插入超过其能够支持的最大容量的存储卡时,往往不能识别,或者按其能够支持的最大容量来使用。例如,向基于高通的6280平台的手机中插入8GB的存储卡时,其只能被当成4G的存储卡来使用,这对用户来说,是一种存储空间的浪费,也给用户的使用带来了很大的不便,取而代之,用户只能携带体积更大的移动硬盘来存储这些资料。
[0005] 针对相关技术中移动终端不能够应用大容量,例如,超过4G的存储卡导致存储空间浪费以及用户使用不便的问题,目前尚未提出有效的解决方案。

发明内容

[0006] 针对移动终端不能够应用大容量,例如,超过4G的存储卡导致存储空间浪费以及用户使用不便的问题而提出本发明,为此,本发明的主要目的在于提供一种大容量存储卡的应用方法及移动终端,以解决上述问题至少之一。
[0007] 为了实现上述目的,根据本发明的一个方面,提供了一种大容量存储卡的应用方法,用于存储卡的容量大于移动终端支持的最大容量的情况,该方法包括:将存储卡划分为n个逻辑存储卡,并设置底层接口的地址映射函数,其中, M为存储卡的容量,N为移动终端支持的最大容量,地址映射函数用于实现逻辑存储卡的地址与存储卡的地址之间的转换;为n个逻辑存储卡中的每个逻辑存储卡分配独立的文件系统;根据地址映射函数和文件系统中的信息将对逻辑存储卡的操作映射为对存储卡的操作。
[0008] 优选地,文件系统中的信息包括:第一偏移块地址,其中,第一偏移块地址是以文件所在的逻辑存储卡中的首块地址为基准的偏移块地址。
[0009] 优选地,在判断存储卡的容量大于移动终端支持的最大容量时,上述方法还包括:获取存储卡的预定参数,并根据预定参数计算存储卡的容量,其中,预定参数包括:块大小BLOCK_SIZE和总块数BLOCK_NUM,M=BLOCK_SIZE*BLOCK_NUM。
[0010] 优选地,逻辑存储卡的地址包括:逻辑存储卡的标号和第一偏移块地址,其中,标号的取值范围是0,1,2......n-1;存储卡的地址包括第二偏移块地址,第二偏移块地址为以存储卡的首地址为基准的偏移块地址;地址映射函数为a=b+(N/BLOCK_SIZE)*x,其中,a为第二偏移块地址,b为第一偏移块地址,x为逻辑存储卡的标号。
[0011] 优选地,将存储卡划分为n个逻辑存储卡之后,上述方法还包括:在移动终端的UI界面上显示n个存储卡。
[0012] 优选地,将存储卡划分为n个逻辑存储卡之后,方法还包括:在移动终端的UI界面上显示1个存储卡,存储卡容量为M,并建立存储卡中文件与逻辑存储卡的标号的对应关系。
[0013] 优选地,上述方法还包括:为n个逻辑存储卡中的每个逻辑存储卡分配独立的数据结构。
[0014] 为了实现上述目的,根据本发明的另一个方面,提供了一种移动终端,该终端包括:容量判断模块,用于判断存储卡的容量是否大于移动终端支持的最大容量,若是,则触发预设置模块;预设置模块,用于将存储卡划分为n个逻辑存储卡,并设置底层接口的地址映射函数,其中, M为存储卡的容量,N为移动终端支持的最大容量;分配模块,用于为n个逻辑存储卡中的每个逻辑存储卡分配独立的文件系统;底层接口处理模块,用于根据地址映射函数和文件系统中的信息将对逻辑存储卡的操作映射对为存储卡的操作。
[0015] 优选地,上述移动终端还包括:容量获取模块,用于获取存储卡的预定参数,并根据预定参数计算存储卡的容量,其中,预定参数包括:块大小BLOCK_SIZE和总块数BLOCK_NUM,M=BLOCK_SIZE*BLOCK_NUM。
[0016] 优选地,上述移动终端还包括:显示控制模块,用于确定在UI界面上显示的存储卡个数,若确定显示为1个,则触发文件映射模块;文件映射模块,用于建立存储卡中文件与逻辑存储卡的标号的对应关系。
[0017] 通过本发明,采用将容量超过移动终端能够支持的最大容量的存储卡划分为多个逻辑存储卡,并设置底层接口的地址映射函数,为每个逻辑存储卡分配单独的文件系统,解决了移动终端不能够应用大容量,例如,超过4G的存储卡导致存储空间浪费以及用户使用不便的问题,克服了系统对存储卡最大容量的限制,充分利用了存储卡的容量,提高了用户体验。

附图说明

[0018] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019] 图1是根据本发明实施例的大容量存储卡的应用方法的流程图;
[0020] 图2是根据本发明实施例的大容量存储卡的应用方法的详细流程图;
[0021] 图3是根据本发明实施例的用户界面的操作与对应的实际存储空间的逻辑映射关系示意图;
[0022] 图4是根据本发明实施例的移动终端的结构框图;
[0023] 图5是根据本发明实施例的移动终端的详细结构框图。

具体实施方式

[0024] 功能概述
[0025] 考虑到现有技术中存在的问题,本发明实施例提供了一种大容量存储卡的应用方案,该方案的处理原则为:将存储卡划分为n个逻辑存储卡,并设置底层接口的地址映射函数;为n个逻辑存储卡中的每个逻辑存储卡分配独立的文件系统;根据地址映射函数和文件系统中的信息将对逻辑存储卡的操作映射为对存储卡的操作。该方案能够克服系统对存储卡最大容量的限制,充分利用了存储卡的容量,提高了用户体验。
[0026] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0027] 方法实施例
[0028] 根据本发明的实施例,提供了一种大容量存储卡的应用方法,用于存储卡的容量大于移动终端支持的最大容量的情况,图1是根据本发明实施例的大容量存储卡的应用方法的流程图,如图1所示,该方法包括如下的步骤S102至步骤S108:
[0029] S102,获取存储卡的预定参数,根据预定参数计算存储卡的容量,判断存储卡的容量大于移动终端支持的最大容量,其中,预定参数包括:块大小BLOCK_SIZE和总块数BLOCK_NUM,M=BLOCK_SIZE*BLOCK_NUM。
[0030] S104,将存储卡划分为n个逻辑存储卡,并设置底层接口的地址映射函数,其中,M为存储卡的容量,N为移动终端支持的最大容量,地址映射函数用于实现逻辑存储卡的地址与存储卡的地址之间的转换。
[0031] 在步骤S104中,逻辑存储卡的地址可以包括:逻辑存储卡的标号和第一偏移块地址,其中,标号的取值范围可以是0,1,2......n-1;存储卡的地址可以包括第二偏移块地址,第二偏移块地址为以存储卡的首地址为基准的偏移块地址;地址映射函数为a=b+(N/BLOCK_SIZE)*x,其中,a为第二偏移块地址,b为第一偏移块地址,x为逻辑存储卡的标号。
[0032] 而且,在存储卡划分为n个逻辑存储卡之后,可以在移动终端的UI界面上显示n个存储卡,也可以在移动终端的UI界面上显示1个存储卡,存储卡容量为M,并建立存储卡中文件与逻辑存储卡的标号的对应关系。
[0033] S106,为n个逻辑存储卡中的每个逻辑存储卡分配独立的文件系统,优选地,还可以为n个逻辑存储卡中的每个逻辑存储卡分配独立的数据结构。
[0034] S108,根据地址映射函数和文件系统中的信息将对逻辑存储卡的操作映射为对存储卡的操作,其中,文件系统中的信息包括:第一偏移块地址,第一偏移块地址是以文件所在的逻辑存储卡中的首块地址为基准的偏移块地址;且上述操作可以包括以下至少之一:读取、写入、删除。
[0035] 下面将结合实例对本发明实施例的实现过程进行详细描述。
[0036] 以下以手机为例对本发明实施例提供的大容量存储卡的应用方法进行详细介绍,图2是根据本发明实施例的大容量存储卡的应用方法的详细流程图,上述方法主要包括以下步骤:
[0037] 步骤201,当插入存储卡时,手机检测接口上的检测信号电平发生变化,手机根据该电平变化来检测设备的插入。根据存储卡的协议规范,手机发送设备类型命令,请求获取物理接口上的设备类型,以判断是存储卡还是与存储卡相同物理接口的其他设备,若是存储卡,则进入步骤203的处理,否则返回。在该实例中,存储卡应答,手机根据该应答信息识别到插入的设备是存储卡。
[0038] 以TF卡类型的存储卡插入为例,手机基带芯片通过检测信号检测到接口上有设备插入后,开始识别过程,发送CMD5命令来识别是TF卡还是与TF卡相同接口的其他设备,通过判断后,确定插入的设备是TF卡。
[0039] 步骤203,手机发送参数命令,请求读取存储卡的参数,存储卡就该请求进行应答,手机获得包括块大小BLOCK_SIZE和总的块数BLOCK_NUM等参数信息,并计算存储卡的容量,用M表示,M=BLOCK_SIZE*BLOCK_NUM。判断M是否大于系统能够支持的最大容量,如果大于最大容量,则进行步骤205的处理,否则返回。还以TF卡为例,手机判断插入设备是TF卡后,发送CMD9命令,请求得到TF卡的信息,包括卡的块大小、块总数、是否为高速卡等信息。
[0040] 步骤205,根据存储卡的容量M和手机实际支持的最大容量(用N表示),得到需要映射的存储卡的总数(用n表示), 其中, 表示大于或等于M/N的最小整数,例如,M/N=3.0,则 M/N=3.5,则
[0041] 在手机UI界面上映射出n个存储卡(每个存储卡逻辑容量为N)或1个存储卡(每个存储卡容量为M),在物理上,存储卡被划分为n个大小为N的区域,每个大小为N的区域分别映射为一个独立的逻辑单元,也称逻辑存储卡,上述n个逻辑单元或逻辑存储卡分别标号为0,1,2,......n-1。每个逻辑单元均使用独立的文件系统来分配和管理,对某个逻辑单元的读写等操作对应到物理上每个区域的操作。系统将挂载的每一个逻辑存储卡作为一个普通的文件系统,并分配单独的数据结构和单独的文件分配表,该文件分配表为文件系统的组成部分,主要用于存储该文件系统,即,该逻辑存储卡中的文件的基本信息及其地址信息,该地址信息可以包括上述第一偏移块地址,其是以文件所在的逻辑存储卡中的首块地址为基准的偏移块地址。
[0042] 具体地,在识别到存储卡后,向UI层发送卡的信息,根据容量的大小显示为多个可支持的空间,即,逻辑存储卡,或者在UI层显示为一个存储卡,其容量为存储卡的实际容量M。TF卡在逻辑上映射为n个独立的逻辑存储卡,分别标号为0、1、2、......n-1。n个逻辑存储卡作为n个普通文件系统挂载,同时分配数据结构和文件分配表,每个逻辑存储卡使用独立的文件分配表来维护。假如某TF卡的容量为8G,系统支持的最大容量为2G,以标号为1的逻辑存储卡为例,它的实际存储空间为2G-4G。对逻辑存储卡1的格式化、读写及删除操作,就是对物理空间地址为2G-4G单元的操作。对于该单元中的每个文件做出地址映射,建立文件分配表。
[0043] 步骤207,用户对逻辑存储卡的操作封装到底层为对相应物理单元的读、写及擦除(即,删除)操作。当UI需要读、写或删除文件时,传送当前文件所在的逻辑存储卡标号x和在该逻辑存储卡中的第一偏移块地址Base,则存储卡的偏移地址Addr计算式如下:
[0044] Addr=Base+(N/BLOCK_SIZE)*x
[0045] 其中N表示手机实际支持的最大容量,BLOCK_SIZE表示块大小。
[0046] 以TF卡为例,读取操作的基本实现过程如下:根据每个逻辑存储卡的文件分配表,依次读取每个逻辑存储卡的内容。根据逻辑存储卡的标号x来计算该逻辑存储卡对应在实际存储卡的block的起始地址A,A=x*N,block的大小为N,然后将这些参数组成命令包的格式,发送CMD18命令,读取存储卡的数据并存储到buffer。用户上层就可以从buffer中获得对应的内容。
[0047] 写入操作和上述读取流程基本相同,根据每个映射空间,即逻辑存储卡的标号x来计算对应在实际存储卡的block的起始地址A,A=x*N,block的大小为N,然后将这些参数组成命令包的格式,发送CMD25命令,将存储在buffer中的数据写入到实际的空间中。
[0048] 删除操作与上述读取流程相同大致相同,在此不再赘述。
[0049] 通过上述过程,能够将超过最大容量的存储卡映射为多个逻辑存储卡,通过不同的标号来寻址容量超过系统支持最大容量的存储卡。
[0050] 在用户界面显示为n个存储卡的情况下,用户界面和实际对应操作的储存空间的逻辑映射关系如图3所示,假如系统支持的最大容量为2GB,对于超过系统最大容量的存储卡,在逻辑上将其分成n个容量为2GB的空间。这样每个空间都能被系统支持(已为其分配单独文件系统),通过标号即可识别各个映射的空间。
[0051] 需要说明的是,在上述实施例中以手机为例进行了详细说明,在实际应用中,其他移动终端也可采用本发明实施例提供的方法对大容量的存储卡进行识别与应用,其原理大致相同,在此不再赘述。
[0052] 装置实施例
[0053] 根据本发明的实施例,提供了一种移动终端,图4是根据本发明实施例的移动终端的结构框图,如图4所示,该移动终端包括:
[0054] 容量判断模块42,用于判断存储卡的容量是否大于移动终端支持的最大容量,若是,则触发预设置模块44;预设置模块44,连接于容量判断模块42,用于将存储卡划分为n个逻辑存储卡,并设置底层接口的地址映射函数,其中, M为存储卡的容量,N为移动终端支持的最大容量;分配模块46,连接于预设置模块44,用于为n个逻辑存储卡中的每个逻辑存储卡分配独立的文件系统;底层接口处理模块48,连接于预设置模块44和分配模块46,用于根据地址映射函数和文件系统中的信息将对逻辑存储卡的操作映射对为存储卡的操作。
[0055] 图5是根据本发明实施例的移动终端的详细结构框图,如图5所示,在图4所示的容量判断模块42、预设置模块44、分配模块46和底层接口处理模块48的基础上,上述移动终端还包括:容量获取模块52,连接于容量判断模块42,用于获取存储卡的预定参数,并根据预定参数计算存储卡的容量,其中,预定参数包括:块大小BLOCK_SIZE和总块数BLOCK_NUM,M=BLOCK_SIZE*BLOCK_NUM;显示控制模块54,连接于预设置模块44,用于确定在UI界面上显示的存储卡个数,若确定显示为1个,则触发文件映射模块56;文件映射模块56,连接于显示控制模块54和分配模块46,用于建立存储卡中文件与逻辑存储卡的标号的对应关系。
[0056] 与现有技术相比,采用本发明实施例的方法,能够有效克服系统对存储卡最大容量的限制,大大提高了存储能力,用户可以存储更多的歌曲、图片、影视、资料等,而不用携带体积较大的移动硬盘。存储卡的体积小,携带方便,能够为用户使用手机带来更大的方便。
[0057] 需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0058] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0059] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。