一种数据缓存的方法、系统、设备和存储介质技术方案

技术编号:36407802 阅读:15 留言:0更新日期:2023-01-18 10:16
本发明专利技术提供一种数据缓存的方法、系统、设备和存储介质,方法包括:在RAID管理芯片上设置片上缓存;从主机DDR中将新的数据读取到所述片上缓存中,并根据当前RAID组的类型和所述新的数据计算得到新的校验数据;以及将所述新的数据发送到RAID组对应的数据硬盘中,并将所述新的校验数据发送到RAID组对应的校验硬盘中。本发明专利技术通过引入片上缓存,解耦了RAID数据处理过程中对传统片外DDR有限带宽的依赖,最大化释放了RAID处理芯片的IO性能,匹配了PCIe接口性能代际倍增的增长节奏。接口性能代际倍增的增长节奏。接口性能代际倍增的增长节奏。

【技术实现步骤摘要】
一种数据缓存的方法、系统、设备和存储介质


[0001]本专利技术涉及硬件领域,更具体地,特别是指一种数据缓存的方法、系统、设备和存储介质。

技术介绍

[0002]RAID(Redundant Arrays of Independent Disks,独立冗余磁盘阵列)组一般由n个数据盘和m个校验盘组成。依据不同的组织方式和算法,RAID可以分类成不同的RAID级别,常见的有RAID0(n=k,m=0),RAID1(n=1,m=1),RAID10(n=k,m=k),RAID5(n=k,m=1),RAID6(n=k,m=2)等,其中k为正整数。在RAID组响应上位机的写IO请求的过程中,硬RAID处理模块会先将数据从上位机内存搬移到本地的存储空间,并依据RAID级别和其在RAID条带中的位置,读取对应硬盘上的数据到本地存储后,再调用硬RAID计算加速引擎计算出新的校验数据,并将新数据和校验数据落盘。这个过程中,上位机的一次写IO会放大成RAID处理模块对相关硬盘的多次读/写IO,这种现象被称为“写放大”。
[0003]在“写放大”的过程中,潜在的一个性能瓶颈点是本地存储的带宽。以RAID5的4KB修改写为例,一次写IO会造成9次对本地存储的读/写访问,消耗掉36KB的存储带宽。通常本地存储通过片外DDR(Double Data Rate,双倍速率同步动态随机存储器)实现,以128位的双通道DDR4

3200为例,其理论带宽为51GB/s,按DDR4利用率60%估算,其实际带宽仅为30GB/s左右,从而得到其可以提供给上位机的RAID5 4KB随机写的IOPS(Input / Output Operations Per Second,每秒IO操作数)为833K。而RAID模块同上位机之间的数据链路一般为PCIe链路,以PCIe Gen5 X16的链路为例,其单向链路带宽为64GB/s,在RAID5 4KB随机写场景下,其链路占用率仅为5%左右。同时,如果组成RAID的硬盘是NVMe(NVM Express,非易失性内存主机控制器接口规范) SSD(Solid State Drive,固态硬盘),其IO性能释放也极大地受限于片外DDR的带宽上限。综上,当前在面向NVMe SSD的硬RAID的解决方案主要受限于传统片外DDR的带宽上限限制。

技术实现思路

[0004]有鉴于此,本专利技术实施例的目的在于提出一种数据缓存的方法、系统、计算机设备及计算机可读存储介质,本专利技术面向NVMe SSD进行RAID加速计算场景,通过位于RAID加速管理芯片内的MB级别片上缓存进行数据缓存,并提供关键性能场景所需的高存储带宽;面向NVMe SSD组RAID场景,RAID卡不在需要片外的DDR进行数据缓存;针对高存储带宽需求,引入多片OCB(On Chip Buffer,片上缓存)的设计,降低工程实现难度,并通过多个并联通道来实现整体性能的达成。
[0005]基于上述目的,本专利技术实施例的一方面提供了一种数据缓存的方法,包括如下步骤:在RAID管理芯片上设置片上缓存;从主机DDR中将新的数据读取到所述片上缓存中,并根据当前RAID组的类型和所述新的数据计算得到新的校验数据;以及将所述新的数据发送到RAID组对应的数据硬盘中,并将所述新的校验数据发送到RAID组对应的校验硬盘中。
[0006]在一些实施方式中,所述根据当前RAID组的类型和所述新的数据计算得到新的校验数据包括:响应于RAID组为第一类型,根据所述新的数据的大小确定计算所述新的校验数据的方式;以及响应于RAID组为第二类型,根据所述新的数据、所述新的数据对应的原始数据、第一原始校验数据和第二原始校验数据计算得到所述新的校验数据。
[0007]在一些实施方式中,所述根据所述新的数据的大小确定计算所述新的校验数据的方式包括:响应于所述新的数据不超过第一阈值,根据所述新的数据、所述新的数据对应的原始数据以及原始校验数据计算得到所述新的校验数据;以及响应于所述新的数据超过第一阈值,根据所述新的数据计算得到所述新的校验数据。
[0008]在一些实施方式中,所述根据所述新的数据、所述新的数据对应的原始数据以及原始校验数据计算得到所述新的校验数据包括:从第一数据硬盘上读取所述新的数据对应的原始数据到所述片上缓存中,并从第一校验硬盘上读取所述原始校验数据到所述片上缓存中。
[0009]在一些实施方式中,所述方法还包括:将所述新的数据写入所述片上缓存的第一空间,将所述新的数据对应的原始数据写入所述片上缓存的第二空间,将所述原始校验数据写入所述片上缓存的第三空间,并将所述新的校验数据写入所述片上缓存的第四空间。
[0010]在一些实施方式中,所述将所述新的数据发送到RAID组对应的数据硬盘中,并将所述新的校验数据发送到RAID组对应的校验硬盘中包括:将所述新的数据发送到所述第一数据硬盘中,并将所述新的校验数据发送到所述第一校验硬盘中。
[0011]在一些实施方式中,所述方法还包括:并发执行从主机DDR读取所述新的数据、从所述第一数据硬盘上读取所述新的数据对应的原始数据以及从所述第一校验硬盘上读取所述原始校验数据。
[0012]在一些实施方式中,所述方法还包括:并发执行将所述新的数据落盘到所述第一数据硬盘中以及将所述新的校验数据落盘到所述第一校验硬盘中。
[0013]在一些实施方式中,所述方法还包括:将所述新的数据写入所述片上缓存的第一空间,将所述新的校验数据写入所述片上缓存的第四空间。
[0014]在一些实施方式中,所述将所述新的数据发送到RAID组对应的数据硬盘中,并将所述新的校验数据发送到RAID组对应的校验硬盘中包括:将所述新的数据平均分成多个部分,将每个部分传输到每个对应的数据硬盘,并将所述新的校验数据传输到对应的校验硬盘。
[0015]在一些实施方式中,所述方法还包括:并发执行将所述新的数据的每个部分传输到每个对应的数据硬盘。
[0016]在一些实施方式中,所述根据所述新的数据、所述新的数据对应的原始数据、第一原始校验数据和第二原始校验数据计算得到所述新的校验数据包括:根据所述新的数据、所述新的数据对应的原始数据、第一原始校验数据和第二原始校验数据计算得到新的第一校验数据和第二校验数据。
[0017]在一些实施方式中,所述方法还包括:从第二数据硬盘上读取所述新的数据对应的原始数据到所述片上缓存中,从第二校验硬盘上读取所述第一原始校验数据到所述片上缓存中,并从第三校验硬盘上读取所述第二原始校验数据到所述片上缓存中。
[0018]在一些实施方式中,所述方法还包括:将所述新的数据写入所述片上缓存的第一
空间,将所述新的数据对应的原始数据写入所述片上缓存的第二空间,将所述第一原始校验数据写入所述片上缓存的第三空间,将所述第二原始校验数据写入所述片上缓存的第四空间,将所述新的第一校验数据写入所述片上缓存的第五空间,并将所述新的第二校验数据写入所述片上缓存的第六空间。
[001本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据缓存的方法,其特征在于,包括如下步骤:在RAID管理芯片上设置片上缓存;从主机DDR中将新的数据读取到所述片上缓存中,并根据当前RAID组的类型和所述新的数据计算得到新的校验数据;以及将所述新的数据发送到RAID组对应的数据硬盘中,并将所述新的校验数据发送到RAID组对应的校验硬盘中。2.根据权利要求1所述的方法,其特征在于,所述根据当前RAID组的类型和所述新的数据计算得到新的校验数据包括:响应于RAID组为第一类型,根据所述新的数据的大小确定计算所述新的校验数据的方式;以及响应于RAID组为第二类型,根据所述新的数据、所述新的数据对应的原始数据、第一原始校验数据和第二原始校验数据计算得到所述新的校验数据。3.根据权利要求2所述的方法,其特征在于,所述根据所述新的数据的大小确定计算所述新的校验数据的方式包括:响应于所述新的数据不超过第一阈值,根据所述新的数据、所述新的数据对应的原始数据以及原始校验数据计算得到所述新的校验数据;以及响应于所述新的数据超过第一阈值,根据所述新的数据计算得到所述新的校验数据。4.根据权利要求3所述的方法,其特征在于,所述根据所述新的数据、所述新的数据对应的原始数据以及原始校验数据计算得到所述新的校验数据包括:从第一数据硬盘上读取所述新的数据对应的原始数据到所述片上缓存中,并从第一校验硬盘上读取所述原始校验数据到所述片上缓存中。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:将所述新的数据写入所述片上缓存的第一空间,将所述新的数据对应的原始数据写入所述片上缓存的第二空间,将所述原始校验数据写入所述片上缓存的第三空间,并将所述新的校验数据写入所述片上缓存的第四空间。6.根据权利要求5所述的方法,其特征在于,所述将所述新的数据发送到RAID组对应的数据硬盘中,并将所述新的校验数据发送到RAID组对应的校验硬盘中包括:将所述新的数据发送到所述第一数据硬盘中,并将所述新的校验数据发送到所述第一校验硬盘中。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:并发执行从主机DDR读取所述新的数据、从所述第一数据硬盘上读取所述新的数据对应的原始数据以及从所述第一校验硬盘上读取所述原始校验数据。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:并发执行将所述新的数据落盘到所述第一数据硬盘中以及将所述新的校验数据落盘到所述第一校验硬盘中。9.根据权利要求3所述的方法,其特征在于,所述方法还包括:将所述新的数据写入所述片上缓存的第一空间,将所述新的校验数据写入所述片上缓存的第四空间。10.根据权利要求9所述的方法,其特征在于,所述将所述新的数据发送到RAID组对应
的数据硬盘中,并将所述新的校验数据发送到RAID组对应的校验硬盘中包括:将所述新的数据平均分成多个部分,将每个部分传输到每个对应的数据硬盘,并将所述新的校验数据传输到对应的校验硬盘。11.根据权利要求10所述的方法,其特...

【专利技术属性】
技术研发人员:王江孙华锦李树青王凛李幸远
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1