用于RAID存储装置的直接存储器访问数据路径制造方法及图纸

技术编号:37700811 阅读:17 留言:0更新日期:2023-06-01 23:44
用于RAID存储装置的直接存储器访问数据路径。公开了一种用于RAID存储装置的直接存储器访问数据路径,包括:在独立磁盘冗余阵列(RAID)控制器处接收对写入将在多个存储设备之间分布的数据的请求;至少部分基于与所述请求相关联的数据计算奇偶校验信息;使得奇偶校验信息存储在所述多个存储设备的第一子集上;以及使得与所述请求相关联的数据存储在所述多个存储设备的第二子集上,其中所述多个存储设备被配置为直接从远离RAID控制器的存储器获得与所述请求相关联的数据,并且其中与所述请求相关联的数据不通过RAID控制器。请求相关联的数据不通过RAID控制器。请求相关联的数据不通过RAID控制器。

【技术实现步骤摘要】
用于RAID存储装置的直接存储器访问数据路径

技术介绍

[0001]独立磁盘冗余阵列(RAID)存储装置跨一组磁盘驱动器存储数据,以改进数据冗余和性能。然而,用于实现RAID算法的一些常规技术导致低效率。在其中使用硬件RAID控制器实现RAID算法的第一示例中(例如,实现RAID算法可能涉及基于将写入存储磁盘驱动器的数据计算校验和),硬件RAID控制器成为瓶颈,尤其是在处理写入操作时,因为RAID控制器需要获得将写入的数据,基于将写入的数据生成校验和,并使将写入的数据连同校验和一起存储在RAID组的磁盘驱动器处。在其中主机(例如,CPU)使用软件实现RAID算法的第二示例中,CPU的大量计算资源可以致力于实现与RAID算法相关联的任务,从而限制了可以用于实现在CPU处接收的许多其他类型的请求的CPU资源量。照此,合期望的是以更高效的方式实现用于磁盘驱动器RAID组的RAID技术。
附图说明
[0002]在以下详细描述和附图中公开了本专利技术的各种实施例。
[0003]图1是示出用于为RAID存储装置实现直接存储器存取(DMA)数据路径的系统实施例的图解。
[0004]图2是示出用于为主机的RAID存储装置实现直接存储器存取(DMA)数据路径的系统实施例的图解,所述主机远离RAID存储设备集。
[0005]图3是示出用于处理对多个存储设备的写入请求的过程实施例的流程图。
[0006]图4是示出用于处理对多个存储设备的写入请求的过程示例的流程图。
[0007]图5A和图5B示出跨存储设备的RAID组之上完成从主机接收的写入请求的示例过程。
[0008]图6A至图6D示出在RAID控制器中涉及的命令队列的示例,该命令队列促进在不使用奇偶校验信息的RAID模式下,写入请求不被内联到写入数据路径。
[0009]图7是示出用于处理对多个存储设备的读取请求的过程实施例的流程图。
[0010]图8示出跨存储设备的RAID组之上完成从主机接收的读取请求的示例过程。
[0011]图9是示出用于处理对多个存储设备的读取请求的过程示例的流程图,并且其中所述读取请求从远离所述多个存储设备的主机接收。
[0012]图10示出了跨存储设备的RAID组之上完成从远程主机接收的读取请求的示例过程。
具体实施方式
[0013]本专利技术可以以多种方式实现,包括作为过程;装置;系统;物质的组成;体现在计算机可读存储介质上的计算机程序产品;和/或处理器,诸如被配置为执行存储在耦合到处理器的存储器上和/或由耦合到处理器的存储器提供的指令的处理器。在本说明书中,这些实现或者本专利技术可以采取的任何其他形式可以被称为技术。一般而言,在本专利技术的范围内,所公开的过程的步骤次序可以变更。除非另有说明,否则被描述为被配置为执行任务的诸如
处理器或存储器的部件可以被实现为被临时配置为在给定时间执行任务的通用部件,或者被制造成执行该任务的特定部件。如本文使用的,术语“处理器”指代被配置为处理诸如计算机程序指令的数据的一个或多个设备、电路和/或处理核心。
[0014]下面提供了本专利技术的一个或多个实施例的详细描述,连同图示本专利技术原理的附图。结合这样的实施例描述了本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅由权利要求书限定,并且本专利技术包含许多替代、修改和等同物。为了提供对本专利技术的透彻理解,在以下描述中阐述了许多具体细节。这些细节是出于示例的目的而提供的,并且本专利技术可以在没有这些具体细节中的一些或全部的情况下根据权利要求来实践。出于清楚的目的,没有详细描述与本专利技术相关的
中已知的技术材料,以免不必要地模糊本专利技术。
[0015]本文描述了为RAID存储装置实现直接存储器访问(DMA)数据路径的实施例。在RAID控制器处接收对写入将在多个存储设备之间分布的数据的请求。在各种实施例中,从主机(例如,中央处理单元(CPU))接收请求。在各种实施例中,RAID控制器使用图形处理单元(GPU)来实现。在各种实施例中,多个存储设备包括存储设备的RAID组。在各种实施例中,每个存储设备是使用非易失性快速存储器(NVMe)通信传输协议来与其他部件通信的固态驱动器(SSD)。在各种实施例中,每个SSD通过外围部件互连快速(PCIe)总线与其他部件通信。在各种实施例中,响应于接收到对将数据写入RAID存储设备组的请求,RAID控制器被配置为使用直接存储器存取(DMA)从与主机相关联的存储器(该存储器有时被称为“主机存储器”)读取被请求写入的数据。在各种实施例中,“直接存储器访问”指代独立于主机访问主机存储器的部件。例如,RAID控制器可以通过直接从主机存储器读取来从主机存储器获得将写入的数据,而无需等待CPU取回该数据并将其发送到RAID控制器。然后,RAID控制器被配置为使用配置的RAID模式基于将写入的数据来计算奇偶校验信息(例如,不同的RAID模式可以不同地使用将写入的数据来计算奇偶校验信息,并且一些RAID模式可以根本不计算/存储奇偶校验信息)。RAID控制器被配置为使得奇偶校验信息被存储在多个存储设备的第一子集上(基于正在实现的特定RAID模式)。RAID控制器还被配置为使得将写入的数据被存储在多个存储设备的第二子集上(基于正在实现的特定RAID模式)。RAID控制器经由写入命令使得存储设备从远离RAID控制器的存储器获得将写入的数据。在各种实施例中,RAID控制器使得存储设备使用DMA直接从主机存储器读取将写入的数据,并且然后将读取的将写入的数据本地写入多个存储设备的第二子集,其中第二子集是基于正在实现的特定RAID模式选择的。因为RAID组的存储设备被指令直接从主机存储器读取将写入的数据和/或奇偶校验信息,所以将写入的数据不通过RAID控制器,并且因此在RAID组的存储设备处完成写入请求时,RAID控制器从充当将写入的数据或奇偶校验信息的源移除。在其中RAID控制器被配置为实现不需要计算奇偶校验信息的RAID模式(例如,RAID 0、1或10)的其他示例中,RAID控制器被完全从写入数据路径中移除,并且因此避免了充当瓶颈的可能性,如将在下面进一步详细描述。
[0016]图1是示出用于为RAID存储装置实现直接存储器存取(DMA)数据路径的系统实施例的图解。CPU 102被配置为在主机(例如,计算机)处执行一个或多个应用程序。CPU 102耦合到主机存储器104,主机存储器104是可由CPU 102本地访问的主存储器,并且被配置为存储将由CPU 102执行的指令。在各种实施例中,主机存储器104包括随机存取存储器(RAM)。CPU 102被配置为向RAID控制器108发送请求,以至少跨存储设备110、112、114和116之上读
取和写入数据,其中至少一些存储设备可以与RAID组相关联。在各种实施例中,存储设备110、112、114和116中的每一个都是具有非易失性快速存储器(NVMe)接口的固态驱动器(SSD)。RAID控制器108包括硬件部件,该硬件部件被配置为对跨RAID组之上存储的数据实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种系统,包括:多个存储设备;和独立磁盘冗余阵列(RAID)控制器,被配置为:接收对写入将在多个存储设备之间分布的数据的请求;至少部分基于与所述请求相关联的数据计算奇偶校验信息;使得奇偶校验信息存储在所述多个存储设备的第一子集上;和使得与所述请求相关联的数据存储在所述多个存储设备的第二子集上,其中所述多个存储设备被配置为直接从远离RAID控制器的存储器获得与所述请求相关联的数据,并且其中与所述请求相关联的数据不通过RAID控制器。2.根据权利要求1所述的系统,其中,所述RAID控制器使用图形处理单元(GPU)来实现。3.根据权利要求1所述的系统,其中,使得奇偶校验信息存储在所述多个存储设备的第一子集上包括RAID控制器进一步被配置为:对远离RAID控制器的存储器执行直接存储器访问(DMA)写入操作,以将奇偶校验信息写入远离RAID控制器的存储器;和向所述多个存储设备的第一子集发送写入命令,以使得所述多个存储设备的第一子集:对远离RAID控制器的存储器执行DMA读取操作,以读取奇偶校验信息;和将奇偶校验信息本地写入所述多个存储设备的第一子集。4.根据权利要求1所述的系统,其中,所述请求从与主机相关联的中央处理单元(CPU)接收,并且其中远离RAID控制器的存储器是与CPU相关联的主机存储器。5.根据权利要求1所述的系统,其中,使得与所述请求相关联的数据存储在所述多个存储设备的第二子集上包括RAID控制器进一步被配置为:向所述多个存储设备的第二子集发送写入命令,以使得所述多个存储设备的第二子集:对远离RAID控制器的存储器执行DMA读取操作,以读取与所述请求相关联的数据;和将与所述请求相关联的数据本地写入所述多个存储设备的第二子集。6.根据权利要求1所述的系统,其中,所述多个存储设备和RAID控制器包括总线的端点。7.根据权利要求1所述的系统,其中,所述RAID控制器被配置为进一步基于配置的RAID模式来计算奇偶校验信息。8.根据权利要求1所述的系统,其中,所述RAID控制器被配置为将与使得奇偶校验信息被存储在所述多个存储设备的第一子集上相关联的写入命令存储在与所述多个存储设备的第一子集相关联的一个或多个命令队列中。9.根据权利要求1所述的系统,其中,所述RAID控制器被配置为将与使得同所述请求相关联的数据被存储在所述多个存储设备的第二子集上相关联写入命令存储在与所述多个存储设备的第二子集相关联的一个或多个命令队列中。10.根据权利要求1所述的系统,其中,所述请求包括第一请求,并且其中所述RAID控制器被进一步配置为:接收对从所述多个存储设备读取与第一请求相关联的数据的第二请求;和
使得所述多个存储设备的第二子集:从所述多个存储设备的第二子集本地读取与第一请求相关联的数据;和将与第一请求相关联的数据直接写入远离RAID控制器的存储器。11.根据权利要求10所述的系统,其中,使得所述多个存储设备的第二子集将数据直接写入远离RAID控制器的存储器包括向所述多个存储设备的第二子集发送读取命令。12.根据权利要求10所述的系统,其中,使得所述多个存储设备的第二子集将与第一请求相关联的数据直接写入远离RAID控制器的存储器...

【专利技术属性】
技术研发人员:GF
申请(专利权)人:图睿科技有限公司
类型:发明
国别省市:

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

1