远程直接存储器访问制造技术

技术编号:16934754 阅读:32 留言:0更新日期:2018-01-03 05:08
本文所公开的示例涉及使用存储空间的乐观分配的存储设备。在示例系统中,多个存储驱动器通过存储网络耦合到存储控制器和RNIC(远程直接存储器访问(RDMA)网络接口卡(NIC))。RNIC包括布局模板选择器和多个模板。布局模板选择器至少部分地基于从主机接收的逻辑块地址(LBA)来选择布局模板。布局模板标识与由LBA表示的数据的部分相关联的多个存储驱动器中的每一个。控制器包括用于为由LBA表示的数据确定新布局模板的虚拟化计算模块以及所述新布局模板。

Remote direct memory access

The examples disclosed in this article relate to the optimistic allocation of storage devices using storage space. In the example system, multiple storage drivers are coupled to the storage controller and RNIC (remote direct memory access (RDMA) network interface card (NIC)) through storage network. RNIC includes the layout template selector and multiple templates. The layout template selector is at least partly based on the logical block address (LBA) received from the host to select the layout template. The layout template identifies each of the multiple storage drives associated with the part of the data expressed by the LBA. The controller includes a virtualized calculation module for determining the new layout template and the new layout template for data expressed by the LBA.

【技术实现步骤摘要】
【国外来华专利技术】远程直接存储器访问
技术介绍
数据存储要求和速度要求两者都在不断增加。因此,已经将可以增加数据访问速度的新的存储技术投入使用。这些存储技术通常基于固态驱动器(SSD)形式的非易失性存储器(NVM)。SSD可以通过被称为织物(fabric)的连接技术而彼此互连并与例如服务器系统的主机互连。附图说明在以下详细描述中并参照附图描述某些示例性实施例,其中:图1是使用固态驱动器的示例计算系统的框图;图2是将来自服务器的数据直接存储到固态驱动器阵列的远程直接存储器访问使能的网络接口卡(RNIC)的示意性示例;图3是使用乐观存储分配将来自服务器的数据直接存储到固态驱动器阵列的RNIC的示意性示例;图4A是使用SSD的示例乐观存储设备的框图;图4B是使用SSD的示例乐观存储设备的框图;图5A和图5B是用于数据的乐观存储的示例方法的过程流程图;图5C是用于数据的乐观存储的示例方法的过程流程图;图6是用于从乐观SSD存储设备读取的示例方法600的过程流程图;图7A是具有鲁棒冗余性的示例乐观存储设备的框图;图7B是具有鲁棒冗余性的示例乐观存储设备的框图;图8A和图8B是用于具有鲁棒冗余性的数据的乐观存储的示例方法的过程流程图;图8C是用于具有鲁棒冗余性的数据的乐观存储的示例方法的过程流程图;图9是用于从多态SSD恢复数据的示例方法900的过程流程图;图10A是具有动态布局的示例乐观存储设备的框图;图10B是具有动态布局的示例乐观存储设备的框图;图11A和图11B是用于利用动态布局对数据进行乐观存储的示例方法的过程流程图;图11C是用于利用动态布局对数据进行乐观存储的示例方法的过程流程图;图12是包括处理器通过总线可访问的代码的示例非易失性计算机可读介质的框图;图13是包括处理器通过总线可访问的代码的示例非易失性计算机可读介质的框图;和图14是包括处理器通过总线可访问的代码的示例非易失性计算机可读介质的框图。具体实施方式图1是使用固态驱动器102的示例计算系统100的框图。对于高性能计算应用而言,固态驱动器(SSD)102已经变得更为常见。SSD使用非易失性存储器(NVM)作为诸如闪存、非易失性RAM(NVRAM)、电池备份动态RAM等等之类的记忆装置104,以存储数据并在缺乏电力时保留数据。记忆装置104用于数据缓冲器、日志文件、高速缓存和本文所述的其他存储。因此,可以保护这些存储中的数据免受电源故障和可能导致数据丢失的其他故障。随着SSD技术已经前进,用于诸如串行AT附接(SATA)、串行附接SCSI(SAS)和光纤信道之类的硬盘驱动器的接口技术已经成为对诸如数据传输速率、延迟和软件开销之类的SSD性能的限制因素。因此,使用诸如PCIe和以太网之类的其他接口技术开发了新的接口协议。例如,已经公布NVMexpress(NVMe)协议,用于通过外围部件互连Express(PCIe)总线或网络106访问SSD102。此外,已经公布了NVMoverfabric(NVMf)协议,用于使用远程直接存储器访问(RDMA)在以太网108上传播NVMe协议。利用用于访问连接到PCIe总线106或以太网108的SSD102的高速协议的可用性,使用经由PCIe总线106互连的远程直接存储器访问使能的网络接口卡(RNIC)112和多个SSD102来构建简单的全闪速存储设备110变得可行。迄今为止,这样的子系统已经在很大程度上取决于例如在存储控制器116或维护单元中的用于命令处理的CPU114。存储控制器116可以是例如网络环境中的刀片服务器、个人计算机、工作站等。CPU114可以包括诸如单核处理器、双核处理器、多核处理器、多个处理器、计算群集、云服务器等之类的任何处理资源。CPU114可以通过总线耦合到记忆装置118,其中总线可以是在存储控制器116的各个部件之间传送数据的通信系统。在示例中,总线可以包括外围部件互连(PCI)总线、行业标准架构(ISA)总线、PCIExpress(PCIe)总线,诸如Intel®直接介质接口(DMI)系统之类的高性能链路等。记忆装置118可以包括随机存取存储器(RAM),例如静态RAM(SRAM)、动态RAM(DRAM)、零电容器RAM、嵌入式DRAM(eDRAM)、扩展数据输出RAM(EDORAM)、双数据速率RAM(DDRRAM)、电阻RAM(RRAM)和参数RAM(PRAM);只读存储器(ROM),例如掩码ROM、可编程ROM(PROM)、可擦除可编程ROM(EPROM)和电可擦除可编程ROM(EEPROM);闪存;或任何其他合适的存储器系统。此外,记忆装置118可以包括较长期的记忆装置,例如非易失性记忆装置,诸如固态驱动器、硬盘驱动器、带驱动器、光驱动器、闪速驱动器、驱动器阵列或其任何组合。在一些示例中,记忆装置118可以包括诸如非易失性RAM(NVRAM)、电池备份DRAM等的非易失性存储器设备。在一个示例中,SSD102可以在刀片上连同存储控制器116被插入到机架中以形成存储设备110。在另一个示例中,存储设备110可以包括安装在PCIe卡上的SSD模块,所述PCIe卡被插入到存储控制器116的主板上的槽中。已经提出了改进或优化以允许数据直接从RNIC112流向PCIe连接的SSD102而不访问由CPU114控制的存储器(记忆装置)118。然而,对于除了最简单的存储设备110之外的所有,该技术可能产生需要在CPU114上运行来处理命令的软件的虚拟化功能的问题。虽然本文所描述的示例涉及固态驱动器,但是可以理解,可以使用其他配置。例如,可以使用通过PCIe总线106通信的硬盘驱动器的组或阵列代替SSD来形成存储设备。概述如这里所述的示例中详细讨论的,RNIC112和SSD102已​​经添加了功能,以使数据、命令和响应能够直接在RNIC112和SSD102之间流动,而软件密集型虚拟化功能与例如存储控制器116中的CPU114保持在一起。CPU114保持控制数据布局、地址转换、奇偶一致性(parityconsistency)和故障恢复。这有助于使能无法被CPU120适应的复杂的虚拟化与加速的正常处理的组合,诸如驻留在RNIC112上的专用集成电路(ASIC)。此外,SSD102和RNIC112之间的直接数据传送可以通过避免针对在主机122中的RNIC124和例如只是一堆盘(JBOD)的阵列126之间直接流动的数据的存储器跳跃来提高性能。CPU114可以保持掌管所有虚拟化功能,即使大多数正常操作在涉及它之前就已完成。为了促进直接通信,在一个示例中,RNIC112在记忆装置128中包括布局模板的集合和布局选择器,如关于图4进一步讨论的那样。布局选择器根据来自主机122的事务中所提供的逻辑块地址(LBA)来选择布局模板。例如,选择器可以计算主机LBA的按字段(field-wise)散列以获得与布局模板对应的数字。每个布局模板列出SSD102的集合并且指示当选择该布局时,针对LBA的每个部分的数据的哪个部分去往SSD102中的每个。每个SSD也可以具有角色,诸如奇偶性对数据(如本文所使用的主对从)。这可以逐个布局模板而变化,某些SSD用作针对某些LBA的奇偶性或主盘,而用作针对其他LBA的数据或从盘。当本文档来自技高网...
远程直接存储器访问

【技术保护点】
一种系统,包括:多个存储驱动器,其通过存储网络耦合到存储控制器和RNIC(远程直接存储器访问(RDMA)网络接口卡(NIC));所述RNIC,其包括布局模板选择器和多个模板,其中:所述布局模板选择器至少部分地基于从主机接收的逻辑块地址(LBA)从多个模板选择布局模板;和所述布局模板标识与由所述LBA表示的数据的部分相关联的多个存储驱动器中的每个;和控制器,其中所述控制器包括:虚拟化计算模块,其用于确定由所述LBA表示的数据的新布局模板;和所述新布局模板。

【技术特征摘要】
【国外来华专利技术】1.一种系统,包括:多个存储驱动器,其通过存储网络耦合到存储控制器和RNIC(远程直接存储器访问(RDMA)网络接口卡(NIC));所述RNIC,其包括布局模板选择器和多个模板,其中:所述布局模板选择器至少部分地基于从主机接收的逻辑块地址(LBA)从多个模板选择布局模板;和所述布局模板标识与由所述LBA表示的数据的部分相关联的多个存储驱动器中的每个;和控制器,其中所述控制器包括:虚拟化计算模块,其用于确定由所述LBA表示的数据的新布局模板;和所述新布局模板。2.根据权利要求1所述的系统,其中,所述虚拟化计算模块将数据从与旧布局模板相关联的存储驱动器移动到与所述新布局模板相关联的存储驱动器。3.根据权利要求1所述的系统,其中,与旧布局模板相关联的驱动器包括用于与所述新布局模板相关联的驱动器的非易失性镜像高速缓存。4.根据权利要求1所述的系统,其中,所述虚拟化计算模块用于计算与所述新布局模板相关联的数据的物理地址。5.根据权利要求1所述的系统,其中,所述虚拟化计算模块将用所述新布局模板替换所述RNIC中的旧布局模板。6.一种方法,包括:将在RNIC(远程直接存储器访问(RDMA)网络接口卡(NIC))中使用旧布局模板存储的数据视为非易失性镜像高速缓存;和经由存储控制器中的虚拟化计算模块,将使用所述旧布局模板存储的数据复制到新布局模板中的镜像位置。7.根据权利要求6所述的方法,包括:确定用于事务的当前布局模板是否与针对数据的期望布局匹配;并且,如果不匹配,则将所述当前布局模板标识为所述旧布局模板;和创建所述新布局模板。8.根据权利要求6所述的方法,...

【专利技术属性】
技术研发人员:DL沃伊格特
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:美国,US

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

1