[发明专利]一种固态盘阵列的数据布局方法在审
申请号: | 201510540940.4 | 申请日: | 2015-08-28 |
公开(公告)号: | CN105045540A | 公开(公告)日: | 2015-11-11 |
发明(设计)人: | 吴素贞;毛波;杨伟健;陈骁;林燕萍 | 申请(专利权)人: | 厦门大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 厦门南强之路专利事务所(普通合伙) 35200 | 代理人: | 马应森 |
地址: | 361005 *** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 固态 阵列 数据 布局 方法 | ||
技术领域
本发明涉及计算机存储领域,尤其是涉及一种固态盘阵列的数据布局方法。
背景技术
磁盘是目前主流的存储介质,广泛应用于个人电脑、互联网和企业级数据存储等领域,但是由于其机械特性的限制,读写性能无法进一步获得更高的提升,基于磁盘的存储设备逐步成为存储系统的性能瓶颈。近年来,固态盘由于其读写性能高、能耗低、防震性好以及日渐低廉的价格等优点,逐渐成为磁盘的有力替代品。与磁盘相比,基于闪存的固态盘没有机械部件(如磁头、转轴等),其内部由半导体器件组成,因此固态盘对外服务时无需寻道时间等由机械运动引发的延时,固态盘的性能相对于磁盘有极大的提升,具体表现为高随机读写性能、高可靠性和高能效。但是由于固态盘内部闪存芯片的特性,固态盘也存在着局限性,在写入数据时,若原数据页中存在着有效数据,无法在原位置中覆盖写入新数据。固态盘采取的是异地更新的策略,即首先将原数据置为无效,把待更新的数据写入其它空闲页中;当固态盘中无效页越来越多、空闲页数量低于系统所设置阈值时,会触发垃圾回收操作,将待擦除块中的有效数据拷贝到空闲页后擦除该闪存块,从而释放更多的空间来保存新的数据。然而,闪存芯片的擦除次数是有限的,影响了固态盘的使用寿命与可靠性,在企业级服务器的应用场景下将威胁到存储系统的可靠性。
在企业级服务器的应用场景下,磁盘阵列技术被广泛用于提升磁盘存储系统的性能和可靠性。相应地,将磁盘阵列技术应用于固态盘,可以构建大容量、高性能、高可靠的固态盘存储系统。在固态盘阵列中,数据分布在不同固态盘上,实现了同步化的存取操作,增加了读写操作的并行性,提高了固态盘存储系统的性能;另外,由于固态盘阵列引入了数据冗余,也提高了固态盘存储系统的可靠性。而固态盘阵列的分块大小作为固态盘阵列性能的重要影响因素之一,决定着固态盘阵列中数据的分割粒度。目前,关于固态盘阵列中最优分块大小的研究尚处于探索阶段,如果直接采用基于磁盘阵列的最优分块大小,由于没有考虑到固态盘与磁盘内部结构的差异,固态盘阵列的性能将受到限制。
FarzanehRajaeiSalmasi,HosseinAsadi,andMajidGhasemiGol.ImpactofStripeUnitSizeonPerformanceandEnduranceofSSD-BasedRAIDArrays.ScientiaIranica,TransactionsD,2013.20(6):1978-1998.
发明内容
本发明的目的在于提供可综合固态盘阵列的不同分块大小在读写操作和请求大小上的优势,以发挥固态盘阵列最优性能的一种固态盘阵列的数据布局方法。
本发明包括以下步骤:
(1)初始化步骤,具体过程如下:
(1.1)主控模块打开已有的固态盘阵列或创建新的固态盘阵列,判断该固态盘阵列是否为新创建的固态盘阵列,若是,则转过程(1.2),否则转过程(1.3);
(1.2)主控模块根据用户指令,将新创建的固态盘阵列划分为3个分区,容量比例设置为2∶1∶1,分区号分别设置为0、1和2,按照4KB、8KB和32KB的分块大小对这3个分区重新进行固态盘阵列的条带化并新建数据映射表,转步骤(2);
(1.3)主控模块读取保存在固态盘阵列的成员固态盘超级块中的数据映射表和分区信息,转步骤(2);
(2)请求处理步骤,具体过程如下:
(2.1)请求处理模块判断固态盘阵列的请求等待队列中是否有请求,若有,则获取一个请求并转过程(2.2),否则转过程(2.3);
(2.2)请求处理模块获取该请求的偏移量、请求大小和请求类型,转步骤(3);
(2.3)记录超时时间,若超时时间低于系统设置的阈值(如10s)时,则转过程(2.1),否则说明此时系统处于空闲状态,转步骤(5);
(3)数据映射步骤,具体过程如下:
(3.1)数据映射模块判断该请求是否是读请求,若是,则转过程(3.5),否则转过程(3.2);
(3.2)数据映射模块根据请求的偏移量及请求大小,判断该请求的数据块是否在当前数据映射表中,若是,则转过程(3.4),否则,从分区大小为4KB的分区中获取一个内部块偏移,转过程(3.3);
(3.3)数据映射模块向数据映射表中写入新数据项,数据项中分区号置为0、时间戳设置为当前系统时间、计数器初始化为0;判断请求大小,若请求大小大于16KB,则将该数据项放入待维护队列;操作类型设置为“写入”,转步骤(4);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门大学,未经厦门大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510540940.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置