[发明专利]软件RAID请求处理方法、控制器及RAID存储系统在审
| 申请号: | 202210319903.0 | 申请日: | 2022-03-29 |
| 公开(公告)号: | CN114780025A | 公开(公告)日: | 2022-07-22 |
| 发明(设计)人: | 曹强;王书成 | 申请(专利权)人: | 华中科技大学 |
| 主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/52 |
| 代理公司: | 华中科技大学专利中心 42201 | 代理人: | 夏倩;李智 |
| 地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 软件 raid 请求 处理 方法 控制器 存储系统 | ||
本发明公开了一种软件RAID请求处理方法、控制器及RAID存储系统,属于计算机存储技术领域,包括:为每个IO线程分配对应的处理线程和写请求合并队列,并为每个条带分配独占锁类型的条带处理锁;在IO线程TIO发出写请求Rw时,将Rw发送到IO线程TIO对应的处理线程Tp,由处理线程Tp通过如下步骤处理Rw:(S1)若Rw的目标条带的处理锁当前被专用线程所占用,则转入(S2);否则,转入(S3);(S2)若专用线程对应的写请求合并队列Qd允许合并写请求,将则Rw添加到Qd的队尾,等待专用线程将Rw处理完成后返回;否则,转入步骤(S1);(S3)Tp获取目标条带的处理锁而成为专用线程,并处理Rw,处理完成后返回。本发明能够提高RAID系统的IO性能。
技术领域
本发明属于计算机存储技术领域,更具体地,涉及一种软件RAID请求处理方法、控制器及RAID存储系统。
背景技术
廉价磁盘冗余阵列(RAID)将多个物理存储器组成一个存储阵列,并虚拟为一个单存储器使用。数据通过“条带分割”机制均匀地分布在每一个存储器上。根据条带的组成和分割方法的不同,RAID可以分为多个不同的模式。例如,RAID-0模式将数据按照固定大小分割,并均匀的存储在所有存储器中。RAID-1模式将数据在两个存储器之间形成镜象。而RAID-4,RAID-5和RAID-6则在条带中引入了额外的校验数据,可以保证阵列中一个磁盘出现故障时不影响系统正常工作。这三者之间的区别在于,使用了不同的校验数据块数量和不同的校验存储位置。
随着计算机存储技术的不断发展,出现了固态硬盘(SSD)和非易失内存(NVM)等多种新型高性能存储设备。这些存储设备具有高达GB每秒的I/O带宽,比传统机械硬盘(HDD)的性能高1-2个数量级,极大地缩小了内存和存储之间的性能差距。RAID系统可以建立在多个这样的高速存储设备上,称为超快RAID,预计将进一步提高系统级的性能和可靠性。高性能、大容量的超快RAID对于具有大数据集的数据密集型应用和服务非常有吸引力,例如高性能计算,大数据分析以及云服务等。超快RAID的实现可分为软件实现方式和硬件实现方式,其中,软件RAID在主机端运行RAID控制软件,利用主机的计算和内存资源提供RAID功能。常见的软件RAID实现有LinuxMDRAID,ZFSRAID-Z,Windows磁盘管理器中的阵列组件等。软件RAID因其成本较低,兼容性强而得到较为广泛的使用。硬件RAID使用独立于主机之外的硬件板卡和控制器来提供RAID功能,常见的硬件RAID产品有LSIMegaRAID系列阵列控制卡,惠普HPH240ARRAID阵列控制卡,Adaptec ASR系列阵列控制卡等。硬件RAID方法性能稍高,但是需要额外成本,且兼容性和可扩展性差于软件RAID。
然而,目前的软件RAID设计,例如应用广泛且成熟的LinuxMDRAID系统和ZFSRAID-Z系统,均存在写性能不足的问题。
LinuxMD写请求处理架构的核心是使用一个处理线程异步地处理所有的条带写请求。具体来说,一个独立的条带处理线程与内核中的异或计算模块和设备I/O模块异步协作来处理用户请求。这种单线程处理架构适合基于慢速机械硬盘的RAID系统。然而,对于基于高速SSD或NVM的软件RAID系统来说,单个处理线程的能力是有限的。例如,实际使用时,基于高速SSD的LinuxRAID-5系统吞吐量较低,只能发挥SSD设备10%-30%的利用率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210319903.0/2.html,转载请声明来源钻瓜专利网。





