数据管理方法及固态存储系统技术方案

技术编号:2912180 阅读:159 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例提供一种数据管理方法及固态存储系统,其中数据管理方法包括:判断需要缓存的数据的长度是否小于缓存Cache中页Page的长度;如果否,将所述需要缓存的数据放入所述Cache中的块Block中进行缓存;如果是,将所述需要缓存的数据放入所述Cache中的Page中进行缓存。使用本发明专利技术实施例所提供的技术方案,既可以提高IOPS,又便于数据的管理。

【技术实现步骤摘要】

本专利技术涉及存储
,特别涉及一种数据管理方法及固态存储系统
技术介绍
随着数据业务的快速增长,服务器性能的不断提高,服务器的每秒10 的输入/输出次数(Input/Output per second, IOPS)也持续增长,而传统的存 储设备具有机械转动装置,限制了 IOPS。于是基于闪存(Flash)的SSD( Solid statedisk,固态硬盘)应运而生,其存储介质多采用非易失性的Flash芯片, 其不具有机械转动装置,因而SSD具有读写性能高、抗震能力强、电源开销 小等优势。现在固态存储系统(比如固态硬盘)中的高速緩存Cache中常采用单纯 以块为单位进行数据管理或单纯以页为单位进行数据管理的方式。专利技术人在实现本专利技术的过程中,发现现有技术具有如下缺点固态存储系统中采用以块为单位进行数据管理的方式,有利于大量数据 读写性能的提高,但是如果读写少量数据,也以块为单位进行数据读写,则 限制了随机IOPS的提高;固态存储系统中采用以页为单位进行数据管理的方式,有利于随机小数 据读写性能的提高,但是由于每个页与存储介质中块Block中的页一一对应, 所以数据的逻辑地址与页的映射关系的查找等操作繁瑣,管理难度与开销很 大。
技术实现思路
本专利技术实施例提供一种数据管理方法及固态存储系统,既可以提高IOPS, 又便于存储介质中数据的管理。 有鉴于此,本专利技术实施例提供 一种数据管理方法,包括判断需要缓存的数据的长度是否小于緩存Cache中页Page的长度; 如果否,将所述需要緩存的数据放入所述Cache中的块Block中进行緩存; 如果是,将所述需要緩存的数据放入所述Cache中的Page中进行緩存。一种固态存储系统,包括存储控制器、Cache, 所述存储控制器包括第一判断单元,用于判断需要缓存的数据的长度是否小于緩存Cache中页 Page的长度;第一控制单元,用于当第一判断单元的判断结果为否时,控制将所述需 要緩存的数据放入Cache中的Block中进行緩存;第二控制单元,用于当第一判断单元的判断结果为是时,控制将所述需 要缓存的数据^^所述Cache中的Page中进行缓存;所述Cache,用于在所述存储控制器的控制下,将所述需要緩存的数据放 入所述Page中或者Block中进行缓存。本专利技术实施例中在需要缓存的数据长度小于缓存Cache中存储单元Page 的长度时,将数据放入Cache中的存储单元Page中进行缓存,在数据长度大于 緩存Cache中存储单元Page的长度时,将数据放入Cache中的Block中进行緩存, 采用块和页联合的方式管理数据,既能保证随机IOPS的提高,又能降低管理 难度。 附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图l是本专利技术实施例提供的Cache与存储介质的映射示意图2是本专利技术实施例一提供的数据写入方法流程图3是本专利技术实施例二提供的数据读出方法流程图4是本专利技术实施例三提供的固态存储系统结构图。 具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而 不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种数据管理方法,包括判断需要緩存的数据的长 度是否小于緩存Cache中页Page的长度;如果否,将所述需要缓存的数据放入 Cache中块Block进行缓存;如果是,将所述需要緩存的数据放入所述Cache中 的Page中进行緩存。本专利技术实施例中在需要缓存的数据长度小于緩存Cache中存储单元Page 的长度时,将数据放入Cache中的存储单元Page中进行緩存,在数据长度大于 缓存Cache中存储单元Page的长度时,将数据放入Cache中的Block中进行緩存, 采用块和页联合的方式管理数据,既能保证随机IOPS的提高,又能降低管理为了使本专利技术实施例更加清楚明白,如图1所示,先对本专利技术实施例用 到的Cache区的配置作详细介绍1、 将Cache中存放读写数据的区域化为两部分, 一部分为Page区,另 一部分为Block区;2、 配置Page区中的每个存储单元(一个Page)与存储介质的逻辑块一 一对应。如图1所示,可以配置Page0对应存j诸介质的LogicalNumO( LogicalNumO 为存储介质中第一个逻辑块Block的标识)。可配置Page区中的每个存储单元Page的大小与存储介质中物理块中的 Page大小相同(可以为2K或者4K),存储介质中一个物理块包括多个Page, 比如64个Page,因此可以推出Cache中的Page区的总容量为存储介质容量 的1/page数,如果一个物理块包括64个Page,则Page区的总容量为存储介 质容量的1/64。3 、配置Block区中 一个存储单元( 一个Block)的大小与存储介质中物 理块的大小相同,目前为128K或者256K或者512K。实施例一参阅图2,本专利技术实施例一提供一种数据写入方法,该方法具体包括 201、固态存储系统通过数据接口接收写lt据指令,写数据指令中携带需要写入的数据的LBA (Logic Block Adress,逻辑块地址)和需要写入的数据 的长度。202、 根据本次写数据指令需要写入的数据的LBA,判断本次需要写入 的数据与前一次写数据指令所写入的数据是否连续,如果否,执行203,如果是,步骤206。203、 判断本次需要写入的数据的长度是否小于一个Page的长度,如果 是,4丸行204,如果否,执行206。204、 根据预置的Page区中的Page与存储介质的逻辑块的对应关系,确 定本次需要写入的数据的LBA所对应的Page区中的Page,将本次需要写入 的数据放入该Page中进行缓存。其中,由于数据的LBA是属于存储介质中某个逻辑块内的具体逻辑地 址,所以根据预置的Page区中的存储单元Page与存储介质的逻辑块的对应 关系,能确定本次需要写入的数据的LBA所对应的Page区中的Page。205、 4艮据LBA地址与存4诸介质中具体物理地址的对应关系,将该Page 区中的Page中緩存的数据刷Flush到存储介质中的Page中,结束本流程。将Page区中的Page中所缓存的数据刷到存储介质中的Page的方式可以 是在系统空闲时将Page区中的Page中所緩存的数据Flush到存储介质中 的Page;或者,当新的随机数据到来,而需要緩存该数据的page中已有数 据时,假定该Page中的已有数据是需要Flush到存储介质中的对应物理块的 PagelO的,而根据LBA地址确定本次需要緩存的数据也是需要Flush到存储 介质中的对应物理块的PagelO,则直接将本次需要缓存的数据放入Page区 的Page中,覆盖原来的数据;否则,将该Page区的Page中所缓存的原数据本文档来自技高网...

【技术保护点】
一种数据管理方法,其特征在于,包括: 判断需要缓存的数据的长度是否小于缓存Cache中页Page的长度; 如果否,将所述需要缓存的数据放入所述Cache中的块Block中进行缓存; 如果是,将所述需要缓存的数据放入所述Ca che中的Page中进行缓存。

【技术特征摘要】

【专利技术属性】
技术研发人员:柯乔刘明刚
申请(专利权)人:成都市华为赛门铁克科技有限公司
类型:发明
国别省市:90[中国|成都]

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

1