一种基于SSDRAID-5系统高效写的缓存方法

文档序号:37505015发布日期:2024-04-01 14:12阅读:10来源:国知局
一种基于SSD RAID-5系统高效写的缓存方法

本发明涉及计算机网络与计算机存储,具体地说,涉及一种基于ssdraid-5系统高效写的缓存方法。


背景技术:

1、在这个数据爆炸式增长的时代,数据的存储和处理尤为重要。raid技术将多个独立的硬盘驱动器(hdd)组合在了一起,可以发挥数据冗余、性能提升和容错能力等优势。这也使得raid技术获得很多数据中心的青睐并被广泛使用。基于奇偶校验的raid系统是通过进行计算每个数据块的奇偶校验位作为其他数据块所对应位置数据的异或(xor)操作的结果。基于奇偶校验的raid可以提供容错能力,传统raid-5和raid-6可以分别容忍1-2个硬盘驱动器发生故障,当硬盘驱动器发生故障时,数据也可以恢复。当一个硬盘发生故障时,raid控制器可以使用奇偶校验位的数据和其他数据来重建丢失的数据。

2、随着ssd的价格降低以及比hdd更好的性能等优势。ssd越来越受到大众的喜欢,而ssd也理所应当地被应用在raid系统上。ssd以闪存芯片作为存储介质,但是由于闪存芯片的特性导致ssd raid并不能充分发挥最大性能优势。闪存因为异地写操作,会伴随着gc操作(垃圾回收),gc操作同时会影响闪存的寿命(闪存通过擦除操作进行gc操作,每个闪存芯片的擦除次数有限)。

3、将ssd应用于raid-5系统上会带来一些问题,第一,小写问题,每次更新一个数据块,也需要更新其对应的奇偶校验位,而ssd raid-5系统中每个奇偶校验位对应多个数据块,也被称为同一条带,并且频繁的小写问题所带来的奇偶校验位所在的闪存进行的擦除操作也会影响闪存寿命;第二,磨损均衡问题,由于频繁的读改写和重构写,奇偶校验位所在的闪存芯片擦除的次数远远大于其他数据块所在的闪存芯片,这导致磨损不均衡,奇偶校验位所在的闪存芯片会更快的消耗尽寿命;第三,gc操作所带来的性能下降问题,由于小写问题的不均衡写入,导致不同闪存芯片进行gc操作的时间不同。在gc操作的时候,读写操作均不可进行,这会导致读写性能的下降。


技术实现思路

1、本发明的内容是提供一种基于ssd raid-5系统高效写的缓存方法,其能够将数据主要以全条带的方式写入到阵列里,使得奇偶校验位数据块以最高效率的方式更新,并且通过数据主要以全条带方式写入方式来同时触发多个ssd的gc操作从而减小整体阵列gc的总时延,以及使得阵列里数据写入的频率均衡。

2、根据本发明的一种基于ssd raid-5系统高效写的缓存方法,其包括以下步骤:

3、(1)当写请求到达的时候,缓存设备cache先缓存写请求的数据,并且去识别数据的大小;

4、(2)当写请求的写入大小属于读改写的标准,则直接将读改写所更新的数据缓存在cache中,并且不进行更新奇偶校验位的操作;

5、(3)当写请求的写入大小属于重构写的标准,则对重构写所更新的数据缓存在cache中,并且进行计算奇偶校验位,将其也缓存在cache中,此时奇偶校验位和所更新的数据不写入到阵列中;

6、(4)当写请求的写入大小属于全条带写的标准,则此时将整个条带的数据进行计算奇偶校验位,并且将整个条带的数据包括奇偶校验位一同写入到阵列中;

7、(5)当写入阵列完成时,将cache中条带的数据置为无效,之后淘汰删除为cache腾出更多空间。

8、作为优选,在cache中缓存读改写或重构写的数据后续有与之相关的在逻辑地址上属于同一条带的写请求到达时,根据和已经在cache缓存的数据对比,如果新的请求构成读改写的标准,则将新的数据缓存在cache中而不写入到阵列,同时也不进行奇偶校验位计算,并且把旧的数据置为无效;如果新的请求构成重构写的标准,则将重构写的新数据缓存在cache中,之后进行计算奇偶校验位也缓存在cache中,将之前的旧数据置为无效;如果新的请求构成全条带写标准,则将整个条带的数据及更新的奇偶校验位写入到阵列中,并把cache的相关旧数据置为无效。

9、作为优选,当cache的容量达到一定阈值时,此时后续写入的数据对于cache没有能够形成全条带的写入,为了保证cache的容量不会超出阈值,维护一张位图表,用来记录缓存在cache中的数据,然后通过lru算法对位图表进行分析,将一些缓存在cache中重构写数据以及相关的奇偶校验位更新到阵列中,保证cache的容量空间不会超出阈值。

10、作为优选,位图表中记录相应阵列的逻辑位置,用0和1表示逻辑位置的数据是否缓存在cache中,如果数据缓存在cache中相应的对应逻辑位置为1,当数据写入到阵列式,将数据的置为0;lru算法最先找到缓存在cache中与阵列所对应的每个逻辑条带包含1最多的重构写,并将重构写的数据及其奇偶校验位写入到阵列。

11、本发明具有如下有益效果:

12、1)优化了基于ssd raid-5系统的小写问题:同样是奇偶校验位的更新,读改写和重构写所触发奇偶校验更新时所需的数据量要小于全条带的更新的数据量,全条带更新时,整个条带的数据都更新,写效率是这三种写方式中最好的。本缓存方法主要以全条带的写入方式写入数据,使得写入效率达到更好。

13、2)使得磨损更均衡:由于读改写和重构写的频率次数不同,导致各个盘的写入次数不均衡,尤其是读改写和重构写都会触发奇偶校验的更新,这使得奇偶校验盘的更新次数较其他数据盘更多,使得奇偶校验盘的寿命要小于其他数据盘以及磨损擦除力度大于其他数据盘。本缓存方法的全条带数据写入,使得每个盘的写入次数均衡,并且奇偶校验更新的频率要小于读改写,重构写所触发的更新频率,也提高了传统ssd raid-5中校验盘的寿命。

14、3)减少了gc操作的时延:gc操作的时延比读写操作的时延高,并且在进行gc操作时,读写操作均不可进行,由于在进行写入操作时,发现写入的盘内的目标块已写满,则会触发gc操作。读改写或者重构写只能触发所写入数据的盘进行垃圾回收,此时当后续新的读写操作来临时,可能还会触发其他盘的gc操作,在之前的写操作所触发的gc操作没结束前而导致整体的时延增长。本缓存方法的全条带写入可以同时触发需要进行gc操作的盘,使得新的请求到达时,等待时延减少。



技术特征:

1.一种基于ssd raid-5系统高效写的缓存方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种基于ssd raid-5系统高效写的缓存方法,其特征在于:在cache中缓存读改写或重构写的数据后续有与之相关的在逻辑地址上属于同一条带的写请求到达时,根据和已经在cache缓存的数据对比,如果新的请求构成读改写的标准,则将新的数据缓存在cache中而不写入到阵列,同时也不进行奇偶校验位计算,并且把旧的数据置为无效;如果新的请求构成重构写的标准,则将重构写的新数据缓存在cache中,之后进行计算奇偶校验位也缓存在cache中,将之前的旧数据置为无效;如果新的请求构成全条带写标准,则将整个条带的数据及更新的奇偶校验位写入到阵列中,并把cache的相关旧数据置为无效。

3.根据权利要求2所述的一种基于ssd raid-5系统高效写的缓存方法,其特征在于:当cache的容量达到一定阈值时,此时后续写入的数据对于cache没有能够形成全条带的写入,为了保证cache的容量不会超出阈值,维护一张位图表,用来记录缓存在cache中的数据,然后通过lru算法对位图表进行分析,将一些缓存在cache中重构写数据以及相关的奇偶校验位更新到阵列中,保证cache的容量空间不会超出阈值。

4.根据权利要求3所述的一种基于ssd raid-5系统高效写的缓存方法,其特征在于:位图表中记录相应阵列的逻辑位置,用0和1表示逻辑位置的数据是否缓存在cache中,如果数据缓存在cache中相应的对应逻辑位置为1,当数据写入到阵列式,将数据的置为0;lru算法最先找到缓存在cache中与阵列所对应的每个逻辑条带包含1最多的重构写,并将重构写的数据及其奇偶校验位写入到阵列。


技术总结
本发明涉及计算机网络与计算机存储技术领域,提供一种基于SSD RAID‑5系统高效写的缓存方法,包括:1)写请求到达,Cache缓存写请求的数据,并且去识别数据的大小;2)若写请求的写入大小属于读改写,则将读改写所更新的数据先缓存在Cache中,不进行更新奇偶校验位;3)当写请求的写入大小属于重构写,则对重构写所更新的数据缓存在Cache中,进行计算奇偶校验位,并将奇偶校验位缓存在Cache中;4)当写请求的写入大小属于全条带写,则将整个条带的数据进行计算奇偶校验位,并将整个条带的数据包括奇偶校验位写入到阵列;5)写入阵列完成。本发明优化了小写问题,使得磨损更均衡,减少了GC操作的时延。

技术研发人员:谢平,张程,李培轩,卢劲伉
受保护的技术使用者:青海师范大学
技术研发日:
技术公布日:2024/3/31
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1