数据存取方法和数据存取装置制造方法及图纸

技术编号:11946144 阅读:131 留言:0更新日期:2015-08-26 16:30
本发明专利技术公开了一种数据存取方法和装置,所述方法应用于电子设备,所述电子设备包括存储装置,所述数据存取方法包括:获取所述存储装置中的最小存取单位的尺寸;读取要写入到所述存储装置中的第一数据;判断所述第一数据的尺寸是否等于所述最小存取单位的尺寸的整数倍;如果所述第一数据的尺寸等于所述最小存取单位的尺寸的整数倍,则将所述第一数据对齐地存储到所述整数倍的最小存取单位中;以及否则,向所述第一数据添加填充数据,使得所述第一数据的尺寸等于所述最小存取单位的尺寸的整数倍,并且将所述第一数据对齐地存储到所述整数倍的最小存取单位中。因此,在本发明专利技术中,可以实现高速的数据存取性能,充分提高了在使用存储装置时的用户体验。

【技术实现步骤摘要】

本专利技术涉及计算机
,更具体地,本专利技术涉及一种数据存取方法和数据存取装置
技术介绍
近年来,随着计算机技术的发展,例如智能手机、多媒体播放器、个人数字助理(PDA)、便携式计算机、平板式计算机、个人计算机等各种电子设备被广泛应用。在这样电子设备中,处理单元的处理能力不断增强,同时存储装置的存储容量和存储速度也得到了相应的提高。随着人们对数据存取需求的增加,诸如传统硬盘(HDD)之类的机械结构存储装置已经无法满足要求。取而代之的,提出了诸如固态硬盘(SSD)之类的数字存储装置。数字存储装置具有极高的数据存取速度,然而其存取寿命(尤其是写入次数)目前仍然受到技术限制。在传统的硬盘中,使用逻辑块寻址(LBA)模式来查找到硬盘上存储的内容。在LBA模式下,硬盘上的一个数据区域由它所在的磁头、柱面(也就是磁道)和扇区所唯一确定。然而,数字存储装置没有物理的LBA,所采用的芯片结构也不是螺旋的磁道。替代地,数字存储装置基于逻辑地址和物理地址的映射来提供访问服务,也就是说,其向外部电子设备提供逻辑地址进行访问,而在内部通过逻辑地址和物理地址的映射来实现逻辑地址和物理地址转换,然后提供物理地址内的实际数据访问服务。随着数字存储装置的大量进入市场,为了使得电子设备能够适应这些数字存储装置,各个操作系统都做了一些修改。例如,在微软公司的操作系统Windows7中就禁止了针对传统硬盘所设计的磁盘碎片整理功能。在传统硬盘的碎片整理过程中,由于Windows的逻辑地址和传统硬盘的物理地址是完全相同的,即两者都是以一个扇区(一般为512字节(B))为最小的数据存取单位,所以该功能可以容易地将碎片数据(例如,一个文件被存储在硬盘的分散空间中的各个部分)集中到连续地址,以便加快文件的读取速度。然而,对于数字存储装置而言,如上所述,Windows的逻辑地址和数字存储装置的物理地址并不一样,两者之间只是映射关系。Windows以一个扇区(一般为512B)为最小的数据存取单位;而数字存储装置以一个页(一般为4千字节(KB))为最小的数据存取单位。故此,由于在Windows中现有的磁盘碎片整理功能无法直接处理数字存储装置中的物理地址,所以该功能非但对于数字存储装置无效,反而可能由于无意义的读写操作而加快其寿命消耗。因此,需要一种新型的数据存取方法和数据存取装置来解决上述问题。
技术实现思路
为了解决上述技术问题,根据本专利技术的一个方面,提供了一种数据存取方法,所述方法应用于电子设备,所述电子设备包括存储装置,所述数据存取方法包括:获取所述存储装置中的最小存取单位的尺寸;读取要写入到所述存储装置中的第一数据;判断所述第一数据的尺寸是否等于所述最小存取单位的尺寸的整数倍;如果所述第一数据的尺寸等于所述最小存取单位的尺寸的整数倍,则将所述第一数据对齐地存储到所述整数倍的最小存取单位中;以及否则,向所述第一数据添加填充数据,使得所述第一数据的尺寸等于所述最小存取单位的尺寸的整数倍,并且将所述第一数据对齐地存储到所述整数倍的最小存取单位中。此外,根据本专利技术的另一方面,提供了一种数据存取装置,所述装置应用于电子设备,所述电子设备包括存储装置,所述数据存取装置包括:尺寸获取单元,用于获取所述存储装置中的最小存取单位的尺寸;数据读取单元,用于读取要写入到所述存储装置中的第一数据;尺寸判断单元,用于判断所述第一数据的尺寸是否等于所述最小存取单位的尺寸的整数倍;以及数据存储单元,用于如果所述第一数据的尺寸等于所述最小存取单位的尺寸的整数倍,则将所述第一数据对齐地存储到所述整数倍的最小存取单位中;以及否则,向所述第一数据添加填充数据,使得所述第一数据的尺寸等于所述最小存取单位的尺寸的整数倍,并且将所述第一数据对齐地存储到所述整数倍的最小存取单位中。与现有技术相比,采用根据本专利技术实施例的数据存取方法,可以根据最小存取单位的尺寸来将第一数据对齐地存储到存储装置中。由于第一数据被对齐地存储到存储装置中,所以在写入过程中可以保证第一数据仅仅占用最少数目的最小存取单位,从而获得最佳的写入速度。同理,当需要对第一数据进行读取时,与第一数据分散在大量的最小存取单位相比,由于第一数据仅仅占用最少数目的最小存取单位,所以可以以最快速度读出该第一数据。因此,在本专利技术中,可以实现高速的数据存取性能,充分提高了在使用存储装置时的用户体验。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1图示了根据本专利技术第一实施例的数据存取方法。图2图示了根据本专利技术第二实施例的数据存取方法。图3图示了根据本专利技术第三实施例的数据存取方法。图4图示了根据本专利技术第四实施例的数据存取方法。图5图示了根据本专利技术第一实施例的数据存取装置。图6图示了根据本专利技术第二实施例的数据存取装置。图7图示了根据本专利技术第三实施例的数据存取装置。图8图示了根据本专利技术第四实施例的数据存取装置。具体实施方式将参照附图详细描述根据本专利技术的各个实施例。这里,需要注意的是,在附图中,将相同的附图标记赋予基本上具有相同或类似结构和功能的组成部分,并且将省略关于它们的重复描述。在下文中,将在各个具体实施例中描述根据本专利技术的数据存取方法。根据本专利技术实施例的数据存取方法应用于电子设备。所述电子设备可以是诸如个人计算机、智能电视、平板电脑、移动电话、数码相机、个人数字助手、便携式计算机、智能桌面、游戏机等的电子设备。所述电子设备可以包括存储装置。在本专利技术的实施例中,该存储装置例如是数字存储装置。该数字存储装置可以采用基于NOR或NAND结构的非易失性闪存技术,其通过逻辑地址和物理地址的之间映射来向电子设备提供数据访问服务。例如,该数字存储装置可以是固态硬盘(SSD)等。一般地,所述固态硬盘可以包括多个存储块(block),并且每个存储块可以包括多个存储页(page)。对固态硬盘的读写操作以存储块中的存储页为单位进行,而对固态硬盘的擦除/编程操作以存储块为单位进行,也就是说,在固态硬盘中,page为最小的存取(读写)单位,而block本文档来自技高网
...

【技术保护点】
一种数据存取方法,所述方法应用于电子设备,所述电子设备包括存储装置,其特征在于,所述数据存取方法包括:获取所述存储装置中的最小存取单位的尺寸;读取要写入到所述存储装置中的第一数据;判断所述第一数据的尺寸是否等于所述最小存取单位的尺寸的整数倍;如果所述第一数据的尺寸等于所述最小存取单位的尺寸的整数倍,则将所述第一数据对齐地存储到所述整数倍的最小存取单位中;以及否则,向所述第一数据添加填充数据,使得所述第一数据的尺寸等于所述最小存取单位的尺寸的整数倍,并且将所述第一数据对齐地存储到所述整数倍的最小存取单位中。

【技术特征摘要】
1.一种数据存取方法,所述方法应用于电子设备,所述电子设备包括存
储装置,其特征在于,所述数据存取方法包括:
获取所述存储装置中的最小存取单位的尺寸;
读取要写入到所述存储装置中的第一数据;
判断所述第一数据的尺寸是否等于所述最小存取单位的尺寸的整数倍;
如果所述第一数据的尺寸等于所述最小存取单位的尺寸的整数倍,则将
所述第一数据对齐地存储到所述整数倍的最小存取单位中;以及
否则,向所述第一数据添加填充数据,使得所述第一数据的尺寸等于所
述最小存取单位的尺寸的整数倍,并且将所述第一数据对齐地存储到所述整
数倍的最小存取单位中。
2.根据权利要求1的方法,其特征在于,所述将所述第一数据对齐地存
储到所述整数倍的最小存取单位中的步骤包括:
确定用于开始存储所述第一数据的第一起始地址;
判断所述第一起始地址是否是一个最小存取单位的起始地址;
如果是,则从所述第一起始地址开始将所述第一数据对齐地存储到所述
整数倍的最小存取单位中;以及
否则,对所述第一起始地址进行偏移,使得所述第一起始地址成为一个
最小存取单位的起始地址,并且从所述第一起始地址开始将所述第一数据对
齐地存储到所述整数倍的最小存取单位中。
3.根据权利要求1的方法,其特征在于,所述方法还包括:
判断在第一最小擦除单位中是否存在空闲的最小存取单位,一个最小擦
除单位包括多个最小存取单位;
如果在第一最小擦除单位中存在空闲的最小存取单位,则将在所述第一
最小擦除单位中的最小存取单位中存储的第二数据复制到其他最小擦除单位
中的空闲的最小存取单位中;以及
对所述第一最小擦除单位进行擦除。
4.根据权利要求3的方法,其特征在于,在所述将在所述第一最小擦除
单位中的最小存取单位中存储的第二数据复制到其他最小擦除单位中的空闲
的最小存取单位中的步骤之前,所述方法还包括:
判断在所述第一最小擦除单位中所述第二数据是否已经对齐地存储到相
应的最小存取单位中;
如果是,则将在所述第一最小擦除单位中的最小存取单位中存储的第二
数据复制到其他最小擦除单位中的空闲的最小存取单位中;以及
否则,则将所述第二数据作为所述第一数据进行读取,以重新写入到所
述存储装置中。
5.根据权利要求3的方法,其特征在于,所述将在所述第一最小擦除单
位中的最小存取单位中存储的第二数据复制到其他最小擦除单位中的空闲的
最小存取单位中的步骤包括:
判断在所述第一最小擦除单位中存储有所述第二数据的最小存取单位的
数目是否小于空闲的最小存取单位的数目;以及
如果是,则将在所述第一最小擦除单位中的最小存取单位中存储的第二
数据复制到其他最小擦除单位中的空闲的最小存取单位中。
6.根据权利要求1的方法,其特征在于,在所述判断所述第一数据的尺
寸是否等于所述最小存取单位的尺寸的整数倍的步骤之前,所述方法还包括:
判断所述第一数据的类型是否满足预定条件;
如果是,则判断所述第一数据的尺寸是否等于所述最小存取单位的尺寸
的整数倍;以及
否则,将所述第一数据直接地存储到一个或多个最小存取单位中。
7.根据权利要求6的方法,其特征在于,所述将所述第一数据直接地存
储到一个或多个最小存取单位中的步骤包括:
读取要写入到所述存储装置中的其他数据,直到所述第一数据的尺寸和
所述其他数据的尺寸之和等于所述最小存取单位的尺寸的整数倍为止;以及
将所述第一数据和所述其他数据直接地存储到一个或多个最小存取单位
中。
8.根据权利要求1的方法,其特征在于,所述获取所述存储装置中的最
小存取单位的尺寸的步骤包括:
向所述存储装置传送用于获取所述存储装置中的最小存取单位的尺寸的
请求;以及
从所述存储装置接收用于反馈所述存储装置中的最小存取单位的尺寸的
响应。
9.根据权利要求1的方法,其特征在于,所述方法还包括:
向所述存储装置传送用于获取第一文件存储信息的请求,所述第一文件
存储信息指示出所述第一文件的碎片数据在所述存储装置上的分布;
从所述存储装置接收用于反馈所述第一文件存储信息的响应;
根据所述第一文件存储信息来判断所述第一文件的碎片数据是否已经对
齐地存储到所述整数倍的最小存取单位中;以及
如果所述第一文件的碎片数据没有对齐地存储到所述整数倍的最小存取
单位中,则将所述第一文件的未对齐的碎片数据作为所述第一数据进行读取,
以重新写入到所述存储装置中。
10.根据权利要求1的方法,其特征在于,所述将所述第一数据对齐地
存储到所述整数倍的最小存取单位中的步骤包括:
获取所述存储装置中的并行通道的第一数目;以及
开启第一数目的写入线程,以便并行地将所述第一数据对齐地存储到所
述整数倍的最小存取单位中。
11.一种数据存取装置,所述装置应用于电子设备,所述电子设备包括
存储装置,其特征在于,所述数据存取装置包括:
尺寸获取单元,用于获取所述存储装置中的最小存取单位的尺寸;
数据读取单元,用于读取要写入...

【专利技术属性】
技术研发人员:郭琦陆见微孙清涛
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1