当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于事务的多协议支持制造技术

技术编号:26790757 阅读:22 留言:0更新日期:2020-12-22 17:05
本文中描述的示例涉及执行轮询器以轮询在多个传输层协议上来自连接的所接收到的通信,以根据多个传输层协议中的一个传输层协议识别所接收到的通信,并且根据多个传输层协议中的不同的一个传输层协议识别第二所接收到的通信。响应于多个传输层协议中的一个传输层协议的失败或者使用多个传输层协议中的一个传输层协议的慢传输速率,发生对多个传输层协议中的不同的一个传输层协议的改变。在一些示例中,轮询器在用户空间中被执行,并且所接收到的通信和第二所接收到的通信的传输层协议处理发生在内核空间中。

【技术实现步骤摘要】
用于事务的多协议支持相关申请本申请要求保护2019年6月20日提交的序列号为62/864252的美国临时专利申请的优先权日期的权益,其全部公开通过引用并入本文中。
技术介绍
存在各种存储协议,其使得能够使用网络或构造来访问存储装置。例如,构造上NVMe(NVMe-oF)规范被设计成使得能够访问远程NVMe兼容固态驱动器(SSD)。例如,NVMe-oF至少在NVM高速基础规范修订版1.4(2019)中被描述。NVMe-oF兼容装置向可通过网络或构造访问的远程系统提供高性能NVMe存储驱动器。附图说明图1描绘兼容NVMe-oF和因特网小型计算机系统接口(iSCSI)协议的系统的示例。图2描绘其中主机可以使用连接与一个或多个存储装置通信的系统的示例。图3描绘具有在NVMe兼容SSD中启用的TCP和RDMA传输的NVMe-oF服务设计的示例。图4A描绘用于与NVMe-oF服务经由不同传输的连接提供可靠性的示例节点。图4B描绘图4A的系统的示例操作。图5示出传输层处理的图。图6A描绘用于配置目标存储节点以使用一个或多个传输类型进行通信的示例过程。图6B描绘可以由节点用于与另一个节点或主机装置进行通信的示例过程。图7描绘系统。图8描绘环境。图9描绘网络接口。具体实施方式高速非易失性存储器(NVMe)规范描述了用于通过高速外围组件互连(PCIe)端口访问数据存储系统的系统。NVMe被描述于例如NVMExpressTM基础规范修订版1.3c(2018)以及其前驱、后继和专有变体,其整体通过引用被并入。NVMe允许主机装置将存储区指定为单独名称空间(namespace)。名称空间可以是非易失性存储器中的可寻址域,所述非易失性存储器具有已被格式化用于块访问的所选数量的存储块。名称空间可以包括固态驱动器(SSD)中的介质的可寻址部分,或者跨越多个SSD或其它数据存储装置的多装置存储器空间。名称空间ID可以是相关联的名称空间的唯一标识符。主机装置可以通过指定NSID、控制器ID和一个或多个块的相关联的逻辑地址(例如,逻辑块地址(LBA))来访问特定的非易失性存储器。分布式块存储系统通过呈现存储在跨远程存储装置的大的池(pool)潜在地分散(scatter)的段(segment)中的逻辑块装置,向应用提供块装置功能性。为了使用这些逻辑块装置,应用确定要访问的所有段的位置。计算平台可以使用构造或网络来访问存储装置。用于使用构造或网络访问存储的示例方案包括NVMe-oF或者构造或网络规范上的其它专有存储。图1描绘兼容NVMe-oF和因特网小型计算机系统接口(iSCSI)协议的系统的示例。随着NVMe兼容固态驱动器(SSD)的出现,用于允许远程主机装置访问SSD的现有iSCSI协议的再使用可以涉及协议转换100(例如,NVMe到SCSI到iSCSI以及iSCSI到SCSI到NVMe)。NVMe-oF协议可以通过为NVMe事务提供各种传输层来缓解这种问题,所述NVMe事务诸如远程直接存储器访问(RDMA)、光纤通道(FC)以及最近的传输控制协议(TCP)。在2018年,为NVMe-oF发布了涉及TCP传输(例如,TP-8000NVMe-oFTMTCP传输结合)的规范。T-8000的目的是用于再使用现有的联网设施,因为传统的网络接口控制器(NIC)和交换机可能不支持远程直接存储器访问(RDMA)相关的协议。利用TCP传输支持,再使用现有的网络设施可以发生,从而缓和从iSCSI到NVMe-oF的转换。因此,存在由NVMe-oF定义并支持的若干众所周知的传输层协议(例如RDMA、FC和TCP)。开发者可以根据本说明书使用一个或多个不同传输来实现NVMe-oF目标或启动器(initiator),用于向远程主机(启动器)呈现NVMe子系统。通常,可以经由不同传输提供单个NVMe-oF服务以避免使NVMe-oF服务禁用的单个传输协议层失败。换句话说,通过经由不同传输提供单个NVMe-oF服务可以改进服务可靠性,因为如果一个传输不起作用,则可以通过另一个传输提供NVMe-oF服务。然而,不同构造传输提供不同的性能。例如,RDMA传输可以提供比TCP传输快得多的传输速度。而存储事务经受服务级别协议(SLA)并且将在规定的时间量内完成。由内核提供用于管理传输的选择的一些技术方案。例如,Linux操作系统内核可以提供LinuxI/O目标(LIO)服务,以经由不同传输导出(export)NVMe-oF服务。当前,Linux内核模式支持通过NVMe-oF的RDMA和TCP。例如,如果利用nvmet_rdma和nvmet_tcp启用内核,则RDMA传输和TCP传输两者都可用于NVMe-oF服务。基于内核的技术方案经由多个传输提供可靠的服务可能是具有挑战性的。如果传输依赖于内核模块并且内核崩溃(crash),则即使服务被部署在虚拟机中,服务恢复中也可能存在延迟。此外,如果内核中的TCP或RDMA传输实现不稳定,则内核可能发生故障(malfunction)并且可能影响整个操作系统(OS)。在目标装置处,NVMe-oF命令的执行可以包括:1.接收从基于传输层的请求提取的NVMe-oF命令。传输层可以是开放系统互连(OSI)通信模型的第4层。传输层可用于确保消息跨网络的可靠到达,并且提供错误检查机制和数据流控制。2.解析命令。如果命令是NVMe命令,则将命令发送到底层NVMe驱动程序(driver),分配共享数据缓冲器(如果命令使用缓冲器的话),并且将命令发送到提交队列(SQ)。可选地,可以增加当前队列深度(QD)以便管理所有空闲的NVMe命令槽。3.完成NVMe命令(例如,在目标介质处执行写入或读取),并且在完成队列(CQ)中提供NVMe响应(例如,RSP,16字节)。系统可以将NVMe响应映射到NVMe命令。如果读取相关的数据,则将数据放入与NVMe命令相关联的分配的共享缓冲器中。4.NVMe响应和数据(用于读取)可以根据传输层响应定义来封装,并且发送到主机(启动器)。图2描绘其中主机可以使用连接与一个或多个存储装置通信的系统的示例。主机或启动器200可以与一个或多个目标子系统204-0至204-a通信,其中a是大于或等于2的整数。例如,主机或启动器200可以执行具有操作系统和应用的虚拟机或容器。NVMe-oF主机或启动器200可以发现NVMe-oF存储事务使用一个或多个传输协议是可用的。可以至少为了连接可靠性或用于减少与远程存储或存储器装置或池的存储事务的等待时间而提供传输协议选择或切换。例如,根据其自身应用的策略,如果与NVMe子系统的连接被破坏或太慢(例如,不可接受的等待时间),则主机或启动器200将利用其自身配置的顺序经由另一个传输层与目标连接。例如,RDMA可以是默认协议,随后是FC和TCP,尽管可以使用传输层选择的另一个顺序。NVMe子系统在NVMe规范中定义。NVMe子系统可以在本文档来自技高网...

【技术保护点】
1.一种非暂时性计算机可读介质,包括存储在其上的指令,所述指令如果由一个或多个处理器执行,则使得所述一个或多个处理器:/n执行轮询器以:/n轮询在多个传输层协议上来自连接的所接收到的通信,以根据所述多个传输层协议中的一个传输层协议识别所接收到的通信,并且根据所述多个传输层协议中的不同的一个传输层协议识别第二所接收到的通信。/n

【技术特征摘要】
20190620 US 62/864252;20200323 US 16/8274601.一种非暂时性计算机可读介质,包括存储在其上的指令,所述指令如果由一个或多个处理器执行,则使得所述一个或多个处理器:
执行轮询器以:
轮询在多个传输层协议上来自连接的所接收到的通信,以根据所述多个传输层协议中的一个传输层协议识别所接收到的通信,并且根据所述多个传输层协议中的不同的一个传输层协议识别第二所接收到的通信。


2.根据权利要求1所述的计算机可读介质,其中所接收到的通信包括构造上高速非易失性存储器(NVMe-oF)兼容命令。


3.根据权利要求1所述的计算机可读介质,其中响应于所述多个传输层协议中的所述一个传输层协议的失败或者使用所述多个传输层协议中的所述一个传输层协议的慢传输速率,发生对所述多个传输层协议中的所述不同的一个传输层协议的改变。


4.根据权利要求1所述的计算机可读介质,其中所述轮询器在用户空间中被执行并且包括存储在其上的指令,所述指令如果由一个或多个处理器执行,则使得所述一个或多个处理器执行内核空间中的所接收到的通信和第二所接收到的通信的传输层协议处理。


5.根据权利要求1所述的计算机可读介质,包括存储在其上的指令,所述指令如果由一个或多个处理器执行,则使得所述一个或多个处理器:
配置由所述轮询器应用的服务质量,以轮询从所述多个传输层协议之中所接收到的通信。


6.根据权利要求1所述的计算机可读介质,包括存储在其上的指令,所述指令如果由一个或多个处理器执行,则使得所述一个或多个处理器:
执行所述轮询器以针对所执行的命令从存储装置轮询完成指示,其中所述轮询器将基于所配置的服务质量来轮询完成指示。


7.根据权利要求1所述的计算机可读介质,其中所述传输层协议包括以下中的一个或多个:远程直接存储器存取(RDMA)、传输控制协议(TCP)、光纤通道(FC)、InfiniBand、用户数据协议(UDP)、或快速UDP因特网连接(QUIC)。


8.根据权利要求1所述的计算机可读介质,包括存储在其上的指令,所述指令如果由一个或多个处理器执行,则使得所述一个或多个处理器:
对应用于之前第一传输层协议的第二传输层协议应用限制。


9.根据权利要求1所述的计算机可读介质,包括存储在其上的指令,所述指令如果由一个或多个处理器执行,则使得所述一个或多个处理器:
从存储装置接收响应,以及
使用所述多个传输层协议中的一个传输层协议来生成具有对启动器的所述响应的分组。


10.一种用于使用至少两个不同传输层协议中的一个或多个来提供构造上高速非易失性存储器(NVMe-oF)兼容服务的方法,所述方法包括:
执行轮询器以从多个不同传输层协议之中...

【专利技术属性】
技术研发人员:杨子夜刘长鹏曹刚万群
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1