CN107608914B - 一种多路存储设备的访问方法、装置及移动终端 - Google Patents
一种多路存储设备的访问方法、装置及移动终端 Download PDFInfo
- Publication number
- CN107608914B CN107608914B CN201710912128.9A CN201710912128A CN107608914B CN 107608914 B CN107608914 B CN 107608914B CN 201710912128 A CN201710912128 A CN 201710912128A CN 107608914 B CN107608914 B CN 107608914B
- Authority
- CN
- China
- Prior art keywords
- storage
- storage device
- path
- mapping
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000013507 mapping Methods 0.000 claims description 106
- 238000005192 partition Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- 102000003712 Complement factor B Human genes 0.000 description 1
- 108090000056 Complement factor B Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种多路存储设备的访问方法。该方法包括:接收访问请求,该访问请求用于访问虚拟存储资源;将访问请求拆分成多个子请求,该多个子请求中的每个子请求用于访问多路存储设备中的一路存储设备;并且,根据上述多个子请求并行访问所述多路存储设备。显然,相比串行方式访问多路存储设备每个独立分区的访问形式,利用该方法实现对多路存储设备的并行访问,提高了存储空间利用率,优化了多路存储设备的数据读写性能,从而有效发挥多路存储设备在移动终端上的硬件资源的价值。
Description
技术领域
本申请涉及数据存储技术领域,特别涉及一种多路存储设备的访问方法、装置及移动终端。
背景技术
目前,大部分移动终端为了设备的多样性,往往配置有多路存储设备访问接口,但由于多路存储设备访问接口规则不同并在物理上和逻辑上均是独立部署的,因此,移动终端将这些多路存储设备接口所支持的存储设备均作为独立分区使用,在数据读写时,以串行方式依次访问这多路存储设备。这种访问方式并不能提高存储空间利用率,也无法提高数据读写性能,从而极大地浪费了这多路存储设备在移动终端上的硬件资源。
发明内容
为解决上述技术问题,本申请实施例提供了一种多路存储设备的访问方法、装置及移动终端,用以极大发挥多路存储设备在移动终端上的硬件资源的效用,提高多路存储设备的空间利用率。
在本申请第一方面提供了一种多路存储设备的访问方法,包括:
接收访问请求,所述访问请求用于访问虚拟存储资源;所述虚拟存储资源是根据多路存储设备的物理存储资源映射生成的;
将所述访问请求拆分成多个子请求,所述多个子请求中的每个子请求用于访问所述多路存储设备中的一路存储设备;
根据所述多个子请求并行访问所述多路存储设备。
具体地,该方法还包括:
创建虚拟存储设备;
将所述多路存储设备的物理存储资源映射到所述虚拟存储设备上;
根据被映射的物理存储资源生成虚拟存储资源。
可选地,将所述多路存储设备的物理存储资源映射到所述虚拟存储设备上,包括:
按照预设的映射因子,将所述多路存储设备的物理存储资源映射到所述虚拟存储设备上,所述预设的映射因子是根据所述多路存储设备的访问性能或存储空间占用情况,确定的所述多路存储设备的物理存储资源的使用比率。
可选地,所述根据所映射的物理存储资源生成虚拟存储资源,包括:
按照预设的映射因子,将所述多路存储设备的物理存储资源并行映射到虚拟存储资源的第一区域中。
可选地,在完成映射之后,所述方法还包括:
若所述多路存储设备具有剩余的物理存储资源时,将所述剩余的物理存储资源线性映射到虚拟存储资源的第二区域中,所述第二区域与所述第一区域在逻辑上是连续的。
可选地,所述将所述访问请求拆分成多个子请求,包括:
按照预设的映射因子将所述访问请求拆分成多个子请求。
具体地,通过以下方式设置所述映射因子:
计算所述多路存储设备中每路存储设备的读速率之间的比例,将所述比例作为映射因子;或者,
计算所述多路存储设备中每路存储设备的写速率之间的比例,将所述比例作为映射因子;或者,
计算所述多路存储设备中每路存储设备的存储资源值之间的比例,将所述比例作为映射因子。
可选地,当所述访问请求为用于读数据的访问请求时,所述方法还包括:
将从所述多路存储设备中并行访问得到多路数据进行合并,并向请求方反馈合并后的数据。
可选地,当所述访问请求为用于写数据的访问请求时,在根据所述多个子请求并行访问所述多路存储设备之后,所述方法还包括:
将待写入数据分割并行写入所述多路存储设备。
在本申请第二方面提供了一种多路存储设备的访问装置,包括:
接收模块,用于接收访问请求,所述访问请求用于访问虚拟存储资源;所述虚拟存储资源是根据多路存储设备的物理存储资源映射生成的;
拆分模块,用于将所述访问请求拆分成多个子请求,所述多个子请求中的每个子请求用于访问所述多路存储设备中的一路存储设备;
访问模块,用于根据所述多个子请求并行访问所述多路存储设备。。
可选地,该装置还包括:
创建模块,用于创建虚拟存储设备;
映射模块,用于将所述多路存储设备的物理存储资源映射到所述虚拟存储设备上;
生成模块,用于根据被映射的物理存储资源生成虚拟存储资源。
可选地,所述映射模块,具体用于:
按照预设的映射因子,将所述多路存储设备的物理存储资源映射到所述虚拟存储设备上,所述预设的映射因子是根据所述多路存储设备的访问性能或存储空间占用情况,确定的所述多路存储设备的物理存储资源的使用比率。
可选地,所述生成模块,包括:
第一生成子模块,用于按照预设的映射因子,将所述多路存储设备的物理存储资源并行映射到虚拟存储资源的第一区域中。
可选地,所述生成模块,还包括:
第二生成子模块,用于若所述多路存储设备具有剩余的物理存储资源时,将所述剩余的物理存储资源线性映射到虚拟存储资源的第二区域中,所述第二区域与所述第一区域在逻辑上是连续的。
可选地,所述拆分模块,具体用于:
按照预设的映射因子将所述访问请求拆分成多个子请求。
可选地,当所述访问请求为用于读数据的访问请求时,所述装置还包括:
合并模块,用于将从所述多路存储设备中并行访问得到多路数据进行合并,并向请求方反馈合并后的数据。
可选地,当所述访问请求为用于写数据的访问请求时,所述装置还包括:
分割模块,用于将待写入数据分割并行写入所述多路存储设备。
在本申请第三方面提供了一种移动终端,包括:
多路存储设备和上述多路存储设备的访问装置。
与现有技术相比,本申请实施例具有以下优点:
本申请实施例提供的方法,将多路存储设备的物理存储资源映射成虚拟存储资源,通过对虚拟存储资源统一管理,以实现对多路存储设备的物理存储资源的并行访问。首先,接收访问请求,该访问请求用于访问虚拟存储资源;接着,将访问请求拆分成多个子请求,该多个子请求中的每个子请求用于访问多路存储设备中的一路存储设备;并且,根据上述多个子请求并行访问所述多路存储设备。可见,相比串行方式访问多路存储设备每个独立分区的访问形式,该方法实现了多路存储设备的并行访问,提高了存储空间利用率,也优化了多路存储设备的数据读写性能,从而有效发挥多路存储设备在移动终端上的硬件资源的价值。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种多路存储设备的访问方法的流程图;
图2是本申请实施例提供的移动终端处理访问请求的逻辑结构图;
图3是本申请实施例提供的一种生成虚拟存储资源的流程图;
图4a是本申请实施例提供的虚拟存储资源的示例图;
图4b是本申请实施例提供的并行访问存储设备的数据存储示例图;
图5是本申请实施例提供的一种多路存储设备的访问装置的结构图;
图6是本申请实施例提供的一种移动终端的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的研究背景进行简单说明。
移动终端一般都包含多路存储设备,即,多个存储设备,其中每路存储设备都是用于储存信息的一个独立设备。存储设备包括内存储器和外存储器,内存储包括RAM如内存条、ROM如随机存储器,外存储器如软盘、硬盘、光盘、U盘、移动硬盘,等等。以手机为例进行说明。对于一个手机来说,其上的存储设备包括:手机自带的内部存储设备,该内部存储设备集成在手机内部,与手机的机体是不可分离的;手机自带的一个外存储设备和手机自带的扩展存储设备接口(如SD卡槽),该扩展存储设备接口支持一个单独的SD卡,映射到手机的操作系统上,供系统使用。
多路存储设备为移动终端提供了更多的存储空间,可以存储更多的数据资源,但是多路存储设备之间在物理和逻辑上往往都是独立的,这就限定了多路存储设备只能单独分区供移动终端的操作系统使用,只是在表面上提高了移动终端的整体存储空间,但存储空间利用率得不到应有的提升,并且IO读写性能也没有得到提升,这样一来,极大地浪费了多路存储设备在移动终端上的硬件资源和空间。
举例说明,对于某个手机,其自身的内部存储空间为2GB,用户配置的扩展SD卡的存储空间为1GB,对于用户而言,该手机的总体存储空间应该为3GB。但是,由于内部存储空间和SD卡存储空间为独立的分区,在读取和写入数据时,采用串行的访问方式依次访问这两个存储设备。
若用户想要在该手机上存入一个大小为2.5GB的文件,首先,操作系统会将该待存储文件的占用存储空间大小与手机内部存储空间中的可用存储空间大小进行比较,发现2.5GB>2GB,说明手机内部存储空间太小,容纳不下2.5GB的待存储文件;然后,操作系统继续将该待存储文件的占用存储空间大小与手机SD卡存储空间中的可用存储空间大小进行比较,发现2.5GB>1GB,说明手机SD卡存储空间太小,容纳不下2.5GB的待存储文件;此时,操作系统在手机界面上显示“存储空间不足”的提示,以此示意用户待存储文件在该手机上存储不成功。
但实际上,该用户的手机上的两路存储设备可用的整体存储空间为3GB,是大于待存储文件需要占用空间大小2.5GB的,那么,就是由于两路存储设备相互独立,并且通过串行的方式被访问,导致该手机存储空间的利用率不能得到提升,浪费了存储设备的硬件资源。
基于此,本申请实施例提出了一种多路存储设备的访问方法、装置及移动终端,通过将多路存储设备的物理存储资源映射成虚拟存储资源,通过这种映射方式统一管理上述多路存储设备的物理存储资源,当有访问请求时,将访问请求拆分为多个子请求,每个子请求用于访问多路存储设备中的一路存储设备,控制多个子请求并行访问多路存储设备,从而提高存储空间利用率和数据读写性能,有效发挥多路存储设备在移动终端上的硬件资源的价值。
下面对本申请实施例提供的一种多路存储设备的访问方法进行具体介绍。
参见图1,为本申请实施例提供的一种多路存储设备的访问方法的流程图,如图1所示,该方法包括:
步骤101,接收访问请求,所述访问请求用于访问虚拟存储资源;所述虚拟存储资源是根据多路存储设备的物理存储资源映射生成的。
在移动终端中配置有多路存储设备,每一路存储设备都是独立的,具有各自的访问路径。移动终端处理访问请求时,一般由操作系统将数据直接发送给块存储设备驱动,再从块存储设备驱动传递到具体的物理存储设备驱动,最后访问该物理存储设备驱动对应的存储设备。
在本申请实施例中,基于操作系统处理访问请求的基本逻辑,建立了虚拟存储设备,即虚拟映射点,将多路存储设备的物理存储资源映射成虚拟资源,统一映射到虚拟存储设备上进行统一管理。则在本申请实施例中移动终端处理访问请求的逻辑结构如图2所示,为了提高移动终端的空间利用率等存储性能,在上述访问移动终端的过程中,在接收到访问请求后,根据虚拟存储资源与多路存储设备的物理存储资源的映射关系,对访问请求进行处理,再下发给对应的块驱动设备,由块驱动设备驱动对应的存储设备,以实现并行访问。
在本申请实施例中,对如何映射生成虚拟存储资源,还给出了可选的实现方式,参见图3,图3示出了虚拟存储资源的生成方法,如图3所示,该方法包括:
步骤301,创建虚拟存储设备。
在移动终端的操作系统上,创建一个虚拟映射点,记为虚拟存储设备。该虚拟存储设备是一个虚拟映射点,并不是实际的物理存储单元,通过该虚拟映射点统一管理所有多路存储设备实际的物理存储资源,以控制对于多路存储设备的并行访问。
步骤302,将多路存储设备的物理存储资源映射到虚拟存储设备上。
在创建了虚拟存储设备之后,将多路存储设备的物理存储资源映射到该虚拟映射点上。
本申请实施例对如何实现步骤302还提供了一种可选的实现方式,包括:
按照预设的映射因子,将多路存储设备的物理存储资源映射到虚拟存储设备上,所述预设的映射因子是根据所述多路存储设备的访问性能或存储空间占用情况,确定的所述多路存储设备的物理存储资源的使用比率。
对于多路存储设备中的每一路存储设备,都有能够表征各自存储能力的信息,主要体现存储能力的信息有:存储设备的读能力、写能力或者存储能力。具体地,读能力、写能力体现该存储设备的读、写数据的速率;存储能力体现该存储设备的可用空间大小。
根据上述表征存储设备存储能力的信息:读能力、写能力或存储能力,确定该多路存储设备的物理存储资源的使用比例,并且将确定的使用比例作为预设的映射因子,为存储设备的物理存储资源映射到虚拟存储设备上提供了依据。
本申请实施例对如何设置映射因子,还提供了几种可选的实现方式,包括:
计算多路存储设备中每路存储设备的读速率之间的比例,将比例作为映射因子;或者,
计算多路存储设备中每路存储设备的写速率之间的比例,将比例作为映射因子;或者,
计算多路存储设备中每路存储设备的存储资源值之间的比例,将比例作为映射因子。
其中,若以读数据的性能作为优先考虑的条件,则要计算多路存储设备的读速率之间的比例,将此比例作为映射因子。例如,对于移动终端,有两路存储设备,分别为:闪存A和SD卡B,其中,A读数据的速率为207MB/s,B读数据的速率为110MB/s,此时,如果以读数据的性能作为优先考虑的条件,则映射因子为a=207:110≈2:1。需要注意的是,虽然映射因子是一个比例关系,并没有数据单位限定,但是,由于存储设备物理结构的关系,一般在存储设备上读数据或者写数据时,均涉及允许操作的最小物理单元,该最小物理单元是以物理扇区的大小为基准例如512字节,物理扇区的大小也可以根据需求划分,但其必须是2的n次幂。
以写数据的性能作为优先考虑的条件、以存储资源值作为有效考虑的条件,计算映射因子的方式,与上述以读数据的性能作为优先考虑的条件计算映射因子的方式类似,这里不再赘述。
步骤303,根据所映射的物理存储资源生成虚拟存储资源。
本申请实施例对步骤303如何生成虚拟存储资源,提供了一种可选的实现方式,包括:
按照预设的映射因子,将多路存储设备的物理存储资源并行映射到虚拟存储资源的第一区域中。即,虚拟存储资源采用区域化方式管理,至少应该包括第一区域。
对于多路存储设备,根据步骤302中的描述可知,预设的映射因子是多路存储中每路存储设备某一方面存储能力的比例关系,设置多路存储设备的预设的映射因子后,可以按照其比例关系将多路存储设备的物理存储资源并行映射到虚拟存储资源的第一区域中,其中,第一区域采用的是并行访问的方式。
在完成第一区域的映射之后,一般会出现多路存储设备中的某一路或者某几路存储设备的物理存储资源没有完全映射到第一区域中,即物理存储资源有所剩余,此时,将剩余的物理存储资源视为第二区域。在具体实现时,需要对第二区域进行物理存储资源空间大小的判断,当第二区域的空间大小小于预设的阈值时,直接将第二区域的空间视为作废的存储区域,或者认为第二区域不存在;当第二区域的空间大小不小于预设的阈值时,第二区域是可以被利用的区域。
可选地,在完成映射之后,所述方法还包括:
若所述多路存储设备具有剩余的物理存储资源时,将所述剩余的物理存储资源线性映射到虚拟存储资源的第二区域中,所述第二区域与所述第一区域在逻辑上是连续的。
若第二区域所对应的物理存储设备大于两个以上,则此区域仍然可按照划分第一区域的规则划分为一个并行访问的区域,以此类推直到最后所剩余的区域对应的物理设备小于或等于一为止,此处为区域N。
由于第N个区域是将最后一个存储设备剩余的物理存储资源线性映射到虚拟存储资源的第N个区域中,该第N区域采用的是串行访问的方式,且与之前的第N-1个区域虽然在逻辑上是连续的,但是访问的方式却因为映射方式的不同而完全不相同。
对于移动终端的操作系统而言,该系统在使用多路存储设备时,先要创建一个虚拟存储设备,将该虚拟存储设备所管理的资源称为虚拟存储资源;在创建好虚拟存储设备后,对系统的多路存储设备上的存储资源执行挂载(mount)命令,将上述多路存储设备的物理存储资源映射到系统的虚拟存储设备上;根据被挂载的存储资源生成对应的虚拟存储资源。这样,将多路存储设备各自独立的存储资源映射成虚拟存储资源后,在不改变多路存储设备的物理关联的基础上,实现逻辑上的合并,使得移动设备支持对多路存储设备的并行访问,之后,通过访问虚拟存储资源就实现对多路存储设备的物理存储资源的访问。
举例说明,对于手机X,包含三个存储设备A、B、C,假设A的物理存储资源为6.5GB、4GB、2.5GB,以存储资源值作为有效考虑的条件,计算映射因子为b=6.5GB:4GB:2.5GB≈3:2:1,此时,按照映射因子b,将存储设备A、B、C的物理存储资源映射到虚拟存储设备上,并将A、B、C的物理存储资源并行映射到虚拟存储资源的第一区域中,则此时虚拟存储资源的第一区域对应的存储资源为:A+B+C=6GB+4GB+2GB=12GB;那么,A、C各剩余0.5GB的存储资源,将其线性的映射到虚拟存储资源的第二区域上,当然也可仍然以b=1:1的方式将A和C剩余的空间以并行的方式映射到第二区域上。
通过以上描述和举例,可知多路存储设备在虚拟存储设备上映射生成的虚拟存储资源的过程,对于移动终端上接收到访问请求后,由虚拟存储设备处理该访问请求,无需单独关注物理层的多路存储设备的情况。
经过步骤101接收访问请求后,执行步骤102。
步骤102,将所述访问请求拆分成多个子请求,所述多个子请求中的每个子请求用于访问所述多路存储设备中的一路存储设备。
在具体实现时,虚拟存储设备根据多路存储设备的物理存储资源与虚拟存储资源之间的映射关系,将访问请求拆分为多个子请求。
一种可选的实现方式,步骤102可以包括:
按照预设的映射因子将所述访问请求拆分成多个子请求。
举例说明,仍然以上述对于手机X的说明为例,当用户有4.5GB大小的文件要存储在手机中时,在存储过程中会通过M个写入数据的访问请求来实现存储,利用本申请实施例的方法,对每个访问请求均作如下处理:
手机接收到第一个写600MB数据的访问请求,由于手机X有三个存储设备A、B、C,根据虚拟存储资源与三个存储设备的物理存储资源的映射关系,将该访问请求拆分为3个子请求,分别记为子请求1、2、3;根据预设的存储资源值对应的映射因子b=3:2:1,若子请求1用于访问存储设备A,则子请求1所要访问的物理存储资源为:600MB÷(3+2+1)×3=300MB,同理,子请求2用于访问存储设备B,则子请求2所访问的物理存储资源为:200MB;子请求3用于访问存储设备C,则子请求3所访问的物理存储资源为:100MB。以此类推,处理M个写入数据的访问请求,当M个写入数据的访问请求都处理完毕时,4.5GB的数据已写入在手机中,具体的,这4.5GB的数据占用的存储设备A的物理存储资源为:4.5GB÷(3+2+1)×3=2.25GB,占用的存储设备B的物理存储资源为:1.5GB;占用的存储设备C的物理存储资源为:0.75GB。
以上是把存储资源值为优先考虑的因素,按照存储资源值对应的映射因子,计算拆分的每个子请求对应的物理存储资源;同理,也可以以写速率或者读速率作为优先考虑的因素,按照写速率或者读速率对应的映射因子,计算拆分的每个子请求对应的物理存储资源,这里不再赘述。
步骤103,根据所述多个子请求并行访问所述多路存储设备。
在移动设备接收到访问请求时,无需关注移动设备内的多路存储设备的物理部署情况,而是通过访问虚拟存储资源来控制对多路存储设备的并行访问,由虚拟存储设备通过将访问请求拆分成多个子请求地方式,实现对多个存储设备的并行访问,从而最大限度的利用多路存储设备的访问能力、控件存储能力,有效发挥多路存储设备在移动终端上的硬件资源的价值。
在实际应用中,访问请求可以分为写数据的访问请问和读数据的访问请求,以写数据的访问请求为例,当利用子请求并行访问多路存储设备时,在上述方法的基础上,还可以包括以下可选的步骤:
可选地,当所述访问请求为用于写数据的访问请求时,在根据所述多个子请求并行访问所述多路存储设备之后,该方法还包括:
将待写入数据分割并行写入所述多路存储设备。
下面以手机X为例进行本申请实施例的整体方案说明,具体参见图4a和4b所示。
对于手机X,包含存储设备A、B、C,物理存储资源分别为:6.5GB、4GB、2.5GB,按照存储资源值对应的映射因子b(3:2:1),根据三路存储设备的物理存储资源映射生成的虚拟存储资源的第一区域A+B+C=6GB+4GB+2GB=12GB;那么,第二区域即为A、C各自剩余的0.5GB物理存储资源线性映射而成,具体虚拟存储资源的示例图如图4a所示。
现在有一个写数据的访问请求,其中要求写入数据的大小为9GB,显然,9GB小于第一区域的存储资源12GB,所以不需要访问第二区域。在存储过程中会通过K个写数据的访问请求来实现存储,利用本申请实施例的方法,对每个访问请求均作如下处理:
由于手机X有三个存储设备A、B、C,将这三个存储设备的物理存储资源映射成虚拟存储资源,当接收到一个写数据的访问请求时,均把一个访问请求拆分为3个子请求:子请求1,子请求2,子请求3;再利用这三个子请求并行访问三个存储设备。当K个写数据的访问请求都处理完毕时,即,9GB的数据被存储在存储设备中,具体的,占用在存储设备A的物理存储资源为:9GB÷(3+2+1)×3=4.5GB,同理,占用存储设备B的物理存储资源为:3GB,占用存储设备C的物理存储资源为:1.5GB。
下面从虚拟存储资源和物理存储资源的角度对数据的存储情况进行解释说明。
假设基础的物理存储资源单位为:x=0.1GB,则虚拟存储资源的第一区域中需要划分90个x大小的数据空间:x1~x90。
第一访问请求被拆分成三个子请求,并行访问三个存储设备A、B、C,进行数据写入,如在存储设备A中存入x1、x2、x3,在存储设备B中存入x4、x5,在存储设备C中存入x6;再接着处理下一个访问请求,同样,被拆分成三个字请求,并行访问三个存储设备A、B、C,进行数据写入,继续在存储设备A中存入x7、x8、x9,在存储设备B中存入x10、x11,在存储设备C中存入x12;以此类推,直到在存储设备A中存入x85、x86、x87,在存储设备B中存入x88、x89,在存储设备C中存入x90。完成这9GB数据的存储时,存储设备A中存放的是数据x1、x2、x3、x7、x8、x9……x85、x86、x87,存储设备B中存放的数据是x4、x5、x10、x11……x88、x89,存储设备C中存放的数据是x6、x12……x90。具体的并行访问存储设备的数据存储示例图如图4b所示。
可选地,当访问请求为用于读数据的访问请求时,该方法还包括:
步骤104,将从多路存储设备中并行访问得到多路数据进行合并,并向请求方反馈合并后的数据。
以手机X在上一例中的描述为基础进行举例说明。
在写入数据访问请求之后,若移动设备接收到读数据的访问请求,则操作系统通过文件系统将该访问请求发送至虚拟存储设备,该虚拟存储设备接收到一个读数据的访问请求,读上述写入的9GB数据。
具体读数据的过程如下:首先,依据预设的存储资源值对应的映射因子b,对读9GB数据的L个访问请求都进行拆分,拆分后为3个子请求,分别用于从存储设备A、B、C中并行地读取相应的数据,如在存储设备A中读取前三个数据大小为x的数据:x1、x2、x3,从存储设备B中读取两个数据大小为x的数据:x4、x5,从存储设备C中读取数据大小为x的数据:x6;以此类推,直到在从存储设备A中读取:x85、x86、x87,从存储设备B中读取x88、x89,从存储设备C中读取x90。此时,将从存储设备A、B、C中读取的数据进行合并,得到数据:x1~x90,并将其反馈给请求读取该数据的请求方。
通过以上对于本申请实施例提供方法的举例和描述可知,该方法将多路存储设备的物理存储资源映射成虚拟存储资源,通过对虚拟存储资源统一管理,以实现对多路存储设备的物理存储资源的并行访问。首先,接收访问请求,该访问请求用于访问虚拟存储资源;接着,将访问请求拆分成多个子请求,该多个子请求中的每个子请求用于访问多路存储设备中的一路存储设备;并且,根据上述多个子请求并行访问所述多路存储设备。可见,相比串行方式访问多路存储设备每个独立分区的访问形式,该方法实现了多路存储设备的并行访问,提高了存储空间利用率,也优化了多路存储设备的数据读写性能,从而有效发挥多路存储设备在移动终端上的硬件资源的价值。
上文描述本申请提供的方法实施例的技术方案,下面对本申请提供的多路存储设备的访问装置进行解释说明。
参见图5,图5为本申请实施例提供的多路存储设备的访问装置的结构图,如图5所示,该装置包括:
接收模块501,用于接收访问请求,所述访问请求用于访问虚拟存储资源;所述虚拟存储资源是根据多路存储设备的物理存储资源映射生成的;
拆分模块502,用于将所述访问请求拆分成多个子请求,所述多个子请求中的每个子请求用于访问所述多路存储设备中的一路存储设备;
访问模块503,用于根据所述多个子请求并行访问所述多路存储设备。
可选地,该装置还包括:
创建模块,用于创建虚拟存储设备;
挂载模块,用于将所述多路存储设备的物理存储资源映射到所述虚拟存储设备上;
生成模块,用于根据所映射的物理存储资源生成虚拟存储资源。
可选地,所述映射模块,具体用于:
按照预设的映射因子,将所述多路存储设备的物理存储资源映射到所述虚拟存储设备上,所述预设的映射因子是根据所述多路存储设备的访问性能或存储空间占用情况,确定的所述多路存储设备的物理存储资源的使用比率。
可选地,所述生成模块,包括:
第一生成子模块,用于按照预设的映射因子,将所述多路存储设备的物理存储资源并行映射到虚拟存储资源的第一区域中。
可选地,所述生成模块,还包括:
第二生成子模块,用于在所述第一生成子模块完成映射后,在所述多路存储设备具有剩余的物理存储资源时,将所述剩余的物理存储资源线性映射到虚拟存储资源的第二区域中,所述第二区域与所述第一区域在逻辑上是连续的。
可选地,拆分模块502,包括:
按照预设的映射因子将所述访问请求拆分成多个子请求。
可选地,当所述访问请求为用于读数据的访问请求时,该装置还包括:
合并模块504,用于将从所述多路存储设备中并行访问得到多路数据进行合并,并向请求方反馈合并后的数据。
可选地,当所述访问请求为用于写数据的访问请求时,在访问模块之后,所述装置还包括:
分割模块505,用于将待写入数据分割并行写入所述多路存储设备。
以上是对本申请实施例提供的多路存储设备的访问装置的过程介绍,具体实现方式可以参见上文图1所示方法实施例中的描述,这里不再赘述。
通过本申请实施例提供的装置可知,相比串行方式访问多路存储设备每个独立分区的访问形式,该装置利用虚拟存储资源,实现了多路存储设备的并行访问,提高了存储空间利用率,也优化了多路存储设备的数据读写性能,从而有效发挥多路存储设备在移动终端上的硬件资源的价值。
上文描述本申请提供的方法以及装置实施例的技术方案,下面对本申请提供的一种移动终端进行解释说明。
参见图6,图6为本申请实施例提供的一种移动终端的结构图,如图6所示,该移动终端包括:
多路存储设备,该多路存储设备包括至少两路存储设备,如图6中示出的第一路存储设备601、第N路存储设备602,N为大于或者等于2的整数。
多路存储设备的访问装置603,该多路存储设备的访问装置603的结构和功能可参见上述图5所示装置的结构和功能,此处不再赘述。
以上是对本申请实施例提供的移动终端的介绍,具体实现方式可以参见上文图1所示方法实施例中的描述,这里不再赘述。
通过本申请实施例提供的移动终端可知,相比串行方式访问多路存储设备每个独立分区的访问形式,该移动终端能够实现对多路存储设备的并行访问,提高了存储空间利用率,也优化了多路存储设备的数据读写性能,从而有效发挥多路存储设备在移动终端上的硬件资源的价值。
为了叙述的简便,本说明书的上述方法、装置实施例以及实施例的各种变形方式重点说明的都是与其他实施例或变形方式的不同之处,各个情形之间相同相似的部分可互相参见。尤其,对于装置实施例的几个改进方式而言,由于其基本相似于前述的方法实施例,所以描述得比较简单,相关之处可参见方法实施例的部分说明。以上所描述的装置实施例的各单元可以是或者也可以不是物理上分开的,既可以位于一个地方,或者也可以分布到多个网络环境下。在实际应用过程中,可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的,本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种多路存储设备的访问方法,其特征在于,包括:
接收访问请求,所述访问请求用于访问虚拟存储资源;所述虚拟存储资源是根据多路存储设备的物理存储资源映射生成的;
将所述访问请求拆分成多个子请求,所述多个子请求中的每个子请求用于访问所述多路存储设备中的一路存储设备;
根据所述多个子请求并行访问所述多路存储设备;
所述方法还包括:
创建虚拟存储设备;
将所述多路存储设备的物理存储资源映射到所述虚拟存储设备上;
根据所映射的物理存储资源生成虚拟存储资源;
所述将所述多路存储设备的物理存储资源映射到所述虚拟存储设备上,包括:
按照预设的映射因子,将所述多路存储设备的物理存储资源映射到所述虚拟存储设备上,所述预设的映射因子是根据所述多路存储设备的访问性能或存储空间占用情况,确定的所述多路存储设备的物理存储资源的使用比率,所述多路存储设备包括所述访问性能或所述存储空间占用情况存在不同的存储设备;
所述根据所映射的物理存储资源生成虚拟存储资源,包括:
按照预设的映射因子,将所述多路存储设备的物理存储资源并行映射到虚拟存储资源的第一区域中;
在完成映射之后,所述方法还包括:
若所述多路存储设备具有剩余的物理存储资源时,将所述剩余的物理存储资源线性映射到虚拟存储资源的第二区域中,所述第二区域与所述第一区域在逻辑上是连续的。
2.根据权利要求1所述方法,其特征在于,所述将所述访问请求拆分成多个子请求,包括:
按照预设的映射因子将所述访问请求拆分成多个子请求。
3.根据权利要求2所述方法,其特征在于,通过以下方式设置所述映射因子:
计算所述多路存储设备中每路存储设备的读速率之间的比例,将所述比例作为映射因子;或者,
计算所述多路存储设备中每路存储设备的写速率之间的比例,将所述比例作为映射因子;或者,
计算所述多路存储设备中每路存储设备的存储资源值之间的比例,将所述比例作为映射因子。
4.根据权利要求1所述方法,其特征在于,当所述访问请求为用于读数据的访问请求时,所述方法还包括:
将从所述多路存储设备中并行访问得到多路数据进行合并,并向请求方反馈合并后的数据。
5.根据权利要求1所述方法,其特征在于,当所述访问请求为用于写数据的访问请求时,在根据所述多个子请求并行访问所述多路存储设备之后,所述方法还包括:
将待写入数据分割并行写入所述多路存储设备。
6.一种多路存储设备的访问装置,其特征在于,包括:
接收模块,用于接收访问请求,所述访问请求用于访问虚拟存储资源;所述虚拟存储资源是根据多路存储设备的物理存储资源映射生成的;
拆分模块,用于将所述访问请求拆分成多个子请求,所述多个子请求中的每个子请求用于访问所述多路存储设备中的一路存储设备;
访问模块,用于根据所述多个子请求并行访问所述多路存储设备;所述装置还包括:
创建模块,用于创建虚拟存储设备;
映射模块,用于将所述多路存储设备的物理存储资源映射到所述虚拟存储设备上;
生成模块,用于根据所映射的物理存储资源生成虚拟存储资源;所述映射模块,具体用于:按照预设的映射因子,将所述多路存储设备的物理存储资源映射到所述虚拟存储设备上,所述预设的映射因子是根据所述多路存储设备的访问性能或存储空间占用情况,确定的所述多路存储设备的物理存储资源的使用比率,所述多路存储设备包括所述访问性能或所述存储空间占用情况存在不同的存储设备;
所述生成模块,包括:
第一生成子模块,用于按照预设的映射因子,将所述多路存储设备的物理存储资源并行映射到虚拟存储资源的第一区域中;
第二生成子模块,用于在所述第一生成子模块完成映射后,在所述多路存储设备具有剩余的物理存储资源时,将所述剩余的物理存储资源线性映射到虚拟存储资源的第二区域中,所述第二区域与所述第一区域在逻辑上是连续的。
7.根据权利要求6所述装置,其特征在于,所述拆分模块,具体用于:
按照预设的映射因子将所述访问请求拆分成多个子请求。
8.根据权利要求6所述装置,其特征在于,当所述访问请求为用于读数据的访问请求时,所述装置还包括:
合并模块,用于将从所述多路存储设备中并行访问得到多路数据进行合并,并向请求方反馈合并后的数据。
9.根据权利要求6所述装置,其特征在于,当所述访问请求为用于写数据的访问请求时,所述装置还包括:
分割模块,用于对待写入数据进行分割并行写入所述多路存储设备。
10.一种移动终端,其特征在于,包括:
多路存储设备和上述权利要求6-9任意一项所述装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710912128.9A CN107608914B (zh) | 2017-09-29 | 2017-09-29 | 一种多路存储设备的访问方法、装置及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710912128.9A CN107608914B (zh) | 2017-09-29 | 2017-09-29 | 一种多路存储设备的访问方法、装置及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107608914A CN107608914A (zh) | 2018-01-19 |
CN107608914B true CN107608914B (zh) | 2020-09-29 |
Family
ID=61067407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710912128.9A Active CN107608914B (zh) | 2017-09-29 | 2017-09-29 | 一种多路存储设备的访问方法、装置及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107608914B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108986253B (zh) * | 2018-06-29 | 2022-08-30 | 百度在线网络技术(北京)有限公司 | 用于多线程并行处理的存储数据方法和装置 |
CN117472792A (zh) * | 2022-07-20 | 2024-01-30 | 摩尔线程智能科技(北京)有限责任公司 | 用于管理存储空间的装置及方法、计算设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090240876A1 (en) * | 2008-03-24 | 2009-09-24 | Hitachi, Ltd. | Information processing apparatus, information processing method and storage system |
CN101657802A (zh) * | 2006-12-06 | 2010-02-24 | 弗森多系统公司(dba弗森-艾奥) | 用于远程直接存储器存取固态存储设备的装置、系统及方法 |
CN105808157A (zh) * | 2014-12-31 | 2016-07-27 | 中兴通讯股份有限公司 | 存储架构的创建方法、存储访问方法和存储系统 |
-
2017
- 2017-09-29 CN CN201710912128.9A patent/CN107608914B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101657802A (zh) * | 2006-12-06 | 2010-02-24 | 弗森多系统公司(dba弗森-艾奥) | 用于远程直接存储器存取固态存储设备的装置、系统及方法 |
US20090240876A1 (en) * | 2008-03-24 | 2009-09-24 | Hitachi, Ltd. | Information processing apparatus, information processing method and storage system |
CN105808157A (zh) * | 2014-12-31 | 2016-07-27 | 中兴通讯股份有限公司 | 存储架构的创建方法、存储访问方法和存储系统 |
Non-Patent Citations (1)
Title |
---|
详述虚拟存储技术;邓永红;《有线电视技术》;20041130;第1-7页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107608914A (zh) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230315290A1 (en) | Namespaces allocation in non-volatile memory devices | |
US10782882B1 (en) | Data fingerprint distribution on a data storage system | |
US10528464B2 (en) | Memory system and control method | |
US11789614B2 (en) | Performance allocation among users for accessing non-volatile memory devices | |
CN105830059B (zh) | 文件访问方法、装置及存储设备 | |
CN102255962B (zh) | 一种分布式存储方法、装置和系统 | |
US11847098B2 (en) | Metadata control in a load-balanced distributed storage system | |
CN105335219A (zh) | 一种基于分布式的任务调度方法及系统 | |
US11635901B2 (en) | Data storage device, and non-volatile memory control method | |
TWI710899B (zh) | 計算系統以及其操作方法 | |
EP2946303B1 (en) | Systems and methods for accessing memory | |
CN106055495B (zh) | 用于控制半导体装置的方法 | |
US11520715B2 (en) | Dynamic allocation of storage resources based on connection type | |
CN107608914B (zh) | 一种多路存储设备的访问方法、装置及移动终端 | |
WO2022125254A1 (en) | Paging in thin-provisioned disaggregated memory | |
US9069471B2 (en) | Passing hint of page allocation of thin provisioning with multiple virtual volumes fit to parallel data access | |
CN114816216A (zh) | 一种容量调整的方法以及相关装置 | |
US11960735B2 (en) | Memory channel controller operation based on data types | |
US20220391091A1 (en) | Management of Namespace Block Boundary Alignment in Non-Volatile Memory Devices | |
CN111949721A (zh) | 实现Web数据库快速访问的方法、系统和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190117 Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing. Applicant after: BEIJING ZIJIE TIAODONG NETWORK TECHNOLOGY CO., LTD. Address before: 100081 01-A041, 3rd floor, 55 Suzhou Street, Haidian District, Beijing Applicant before: Hammer technology (Beijing) Limited by Share Ltd |
|
GR01 | Patent grant | ||
GR01 | Patent grant |