法律状态公告日
法律状态信息
法律状态
2022-07-15
未缴年费专利权终止 IPC(主分类):G06F 3/06 专利号:ZL2010102379368 申请日:20100727 授权公告日:20111207
专利权的终止
2011-12-07
授权
授权
2011-01-19
实质审查的生效 IPC(主分类):G06F3/06 申请日:20100727
实质审查的生效
2010-12-08
公开
公开
技术领域
本发明涉及数据信息处理,特别涉及一种基于固态硬盘和磁性硬盘的混合存储系统及存储方法。
背景技术
随着闪存技术的迅速发展,固态硬盘已经逐渐进入市场,成为可能取代传统磁性硬盘的新一代永久性存储设备。从性能上来看,固态硬盘由于是电学设备,不存在寻道时间,从而可以提供相比传统磁盘高几十至几百倍的随机访问性能。固态硬盘的另一个重要特性是读写不对称性,相比读而言,固态硬盘的写操作代价要昂贵的多,这不仅仅体现在性能上,也体现在写次数过多会使闪存芯片报废,缩短固态硬盘的寿命上。
同时注意到,尽管制造工艺进步迅速,但短期内固态硬盘在容量和价格上仍然无法和传统磁盘竞争,在海量数据存储处理领域,用固态硬盘完全取代磁盘仍然有很大的难度。因此,比较合理的解决方案是构建一种固态硬盘和磁性硬盘的混合存储系统,将大部分数据存放在磁盘上而将少量热点数据存放在固态硬盘上,从而提高系统的总体性能,缩短查询的平均响应时间。
然而,简单将固态硬盘和磁性硬盘部署在计算机上,使之对应用可见的解决方案难以满足变化多端的实际应用。这是由于:1)现代的数据库软件对数据的分布粒度较大,往往以一张表或者一个分区为单位。而在实际应用中,并不是一张表的所有行或者列都具有相同的访问频度。2)应用的逻辑特征并不是固定的,随着不断的更新,热点数据可能变得不再热点,而某些新的数据可能会成为热点数据。由于固态硬盘的容量较小且价格昂贵,因此如何尽可地能将访问最频繁的数据动态部署到固态硬盘上,是提升系统性能的关键问题。
发明内容
本发明目的在于提供一种固态硬盘和磁性硬盘的混合存储系统,以及在该系统上根据应用运行情况动态调整页面物理分布的方法。
为达到上述目的,本发明采用的技术方案如下:
一、一种基于固态硬盘和磁性硬盘的混合存储系统:
包括一块或多块固态硬盘组成的固态硬盘阵列、一块或多块磁性硬盘组成的磁性硬盘阵列和一块存储控制器;固态硬盘阵列与磁性硬盘阵列通过存储控制器与计算机系统总线相连;所述混合存储系统对操作系统展现为一个逻辑设备,其容量为所述两个阵列容量之和;对混合存储系统的访问通过对逻辑页面的取址来进行,逻辑页面的大小在系统初始化时被确定为单个512字节的扇区的整数倍。
所述的固态硬盘阵列与磁性硬盘阵列,根据需要自由定制成为从RAID0到RAID6的冗余阵列类型,从而自身保证数据容错能力和读取性能。
二、一种基于固态硬盘和磁性硬盘的混合存储方法:
在存储控制器中维护从逻辑页面到物理页面的映射表,将单个逻辑页面映射到固态硬盘或磁性硬盘的物理页面上;逻辑页面的访问请求通过映射表被转化为对物理页面的访问请求;
存储控制器为每个逻辑页面记录一个特征状态,每当逻辑页面被访问时,存储控制器根据当前访问请求的访问模式对页面的特征状态进行修正,并根据统计信息将随机访问较多的页面转移到固态硬盘阵列上,将顺序访问较多的页面转移到磁性硬盘阵列上,以提高系统的响应效率。
所述访问模式包括四种:顺序读、顺序写、随机读和随机写,页面的特征状态由四种访问模式之和决定,页面的特征状态代表了该页面存放在固态硬盘上相比存放在磁性硬盘上能带来的性能提升。
所述统计信息被维护在存储控制器中,并根据统计信息动态地修正两个阈值,分别代表磁性硬盘和固态硬盘的存储特征阈值,在系统运行过程中,当某一页面的特征状态超过固态硬盘的存储特征阈值时,该页面被替换到固态硬盘中,存储控制器更新映射表中此页面的映射信息。
所述四种访问模式的值根据存储系统所配备的固态硬盘阵列和磁性硬盘阵列的性能特点、价格和容量三个因素确定。
本发明解决了在固态硬盘和磁性硬盘的混合系统中优化数据分布,以适应复杂应用的问题,具有以下有益效果:
1)混合存储系统采用容量较大,价格较便宜的磁性硬盘来存储大部分数据,同时采用随机访问性能优异的固态硬盘来存储热点访问数据,从而尽可能地发挥固态硬盘的性能优势,在较低成本的前提下,提高海量规模数据查询的性能。
2)混合存储系统采用了以页面为调度单位的自优化方法,从而避免了由管理员手动分布数据所难以避免的粒度过大、难以调节等困难。存储系统对外表现为一块逻辑设备,简化了数据库的设计,减轻了系统设计者与管理员的负担。
3)系统在运行过程中动态调节自身的统计信息、各页面的特征状态,并动态优化页面的物理分布,以提高系统的访问性能。可以满足各种类型的应用需求,并在应用发生变化时自动进行适应。
附图说明
图1是系统整体框架图。
图2是存储控制器结构示意图。
图3是系统存储访问流程图。
具体实施方式
下面结合附图对本发明作进一步详细的描述:
如图1所示,本发明给出混合存储系统的整体框架图。包括一块或多块固态硬盘组成的固态硬盘阵列、一块或多块磁性硬盘组成的磁性硬盘阵列和一块存储控制器;固态硬盘阵列与磁性硬盘阵列通过存储控制器与计算机系统总线相连;所述混合存储系统对操作系统展现为一个逻辑设备,其容量为所述两个阵列容量之和;对混合存储系统的访问通过对逻辑页面的取址来进行,逻辑页面的大小在系统初始化时被确定为单个512字节的扇区的整数倍,一般在2KB到32KB之间。
所述的固态硬盘阵列与磁性硬盘阵列,根据需要自由定制成为从RAID0到RAID6的冗余阵列类型,从而自身保证数据容错能力和读取性能。
如图2所示,该图是本发明存储系统中最关键的存储控制器结构示意图。存储控制器中的核心模块是一张页面映射表,维护了从逻辑页面到物理页面的映射关系。还包括逻辑页面的哈希索引,以及整个系统的统计信息。
映射表在物理上按照固态硬盘和磁性硬盘连续组织,而表中的每个单元格中记录了当前本物理位置上的逻辑页面号。
逻辑页面的哈希索引用于加速从逻辑页面到物理页面的查找。每个哈希入口代表哈希函数的一个值,属于这个哈希值的逻辑页面所在的单元格用单向链表被串在一起。
系统的统计信息主要包括逻辑页面特征状态的直方图。为节约存储空间,直方图只统计特征状态最高的一定数目的页面,这个数目由固态硬盘的容量所决定。假设固态硬盘有N个物理页面,则直方图统计的逻辑页面数目的值为2×N,直方图中的页面被分成多个等宽组。
系统的统计信息还包括:系统的固态硬盘特征阈值和磁性硬盘特征阈值。其中,磁性硬盘特征阈值为直方图的特征状态下界,而固态硬盘特征阈值为直方图特征状态最前k×N的一个值,这里的k为从0到1之间的特征加权系数,在系统初始化时被定制。当一个逻辑页面的特征状态上升到磁性硬盘阈值以上时,需要将它加入直方图中;当一个逻辑页面的特征状态上升到固态硬盘特征阈值之上时,它必须被存放到固态硬盘上。两个阈值之间有一定大小的差值,起到缓冲的作用。
如图3所示,该图是本发明提出的基于上述混合存储系统的自优化存储方法,包括以下步骤:
301当页面访问请求到达时,首先根据逻辑页面号进行哈希计算,从相应的索引入口进行查找,定位到该页面的物理位置,根据访问请求读取/写入该页面内容。
302根据访问模式修正页面特征状态。访问模式分为4种,详细描述如下:
顺序读:当前所读取的逻辑页面紧跟上次读取的逻辑页面;
顺序写:当前所写入的逻辑页面紧跟上次写入的逻辑页面;
随机读:当前所读取的逻辑页面不紧跟上次读取的逻辑页面;
随机写:当前所写入的逻辑页面不紧跟上次写入的逻辑页面。
页面的特征状态是页面访问模式之和。
每个访问模式的值为该模式的磁性硬盘代价与该模式的固态硬盘代价之差。
上述代价由各自访问相应存储的平均响应时间、存储容量和存储价格三个方面考虑,代价与访问该存储的平均响应时间成正比,与存储容量成反比,与存储价格成正比。对不同的固态硬盘产品而言,代价计算的结果可能相差较大,但固态硬盘的共同特点是随机读写比磁性硬盘快的多,而顺序读写对磁性硬盘的优势很小甚至没有。对某些昂贵的固态硬盘,还需要考虑写操作对固态硬盘寿命的影响。可以看出,访问模式的值反映了以该模式访问固态硬盘对磁性硬盘的优势。
随着系统的长时间运行,页面的特征状态反映出了该页面适合存储于何种介质中,通过维护统计信息来进行判断。
303判断是否需要更新统计信息直方图。当页面的特征状态的变动跨越了直方图里的组边界或者跨越了磁性硬盘的特征阈值时:
304更新本页面在直方图中的信息。
305判断是否需要调整页面的存储位置。只有当页面的原有特征状态小于系统的固态硬盘特征阈值,而当前的特征状态大于系统的固态硬盘特征阈值时,才认为需要将该页面转移到固态硬盘中。
306将该页面转移到固态硬盘中,根据直方图信息,替代掉一个原有的特征状态较小的页面。更新映射表中的信息,保持索引信息的一致性。
307更新系统的阈值。为了减少更新的开销,当直方图更新累积一定次数后,才进行阈值的更新。
机译: 固态固态硬盘存储系统中自调节用电量和功耗的固态硬盘方法和装置
机译: NVMe SSD固态硬盘ID方法,用于处理非挥发性内存表达中的命令ID冲突场景基于NVMe的固态硬盘SSD控制器
机译: 基于固态硬盘写续航力的固态硬盘分配