CN114417373A - 一种NVMe-oF用户态客户端的数据访问方法和装置 - Google Patents
一种NVMe-oF用户态客户端的数据访问方法和装置 Download PDFInfo
- Publication number
- CN114417373A CN114417373A CN202111627192.5A CN202111627192A CN114417373A CN 114417373 A CN114417373 A CN 114417373A CN 202111627192 A CN202111627192 A CN 202111627192A CN 114417373 A CN114417373 A CN 114417373A
- Authority
- CN
- China
- Prior art keywords
- nvme
- server
- queue
- data access
- vhost
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000012545 processing Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 description 42
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000013508 migration Methods 0.000 description 5
- 230000005012 migration Effects 0.000 description 5
- 238000003032 molecular docking Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请的实施例提供一种NVMe‑oF用户态客户端的数据访问方法和装置,方法包括:接收虚拟主机vhost设备发送的数据访问请求消息;解析数据访问请求消息,得到第一服务端标识和访问操作指令;基于第一服务端标识选择第一环形队列,通过第一环形队列,将访问操作指令写入第一NVMe‑oF服务端的控制指令区域;其中,第一环形队列为vhost设备与第一NVMe‑oF服务端之间的队列。
Description
技术领域
本申请涉及但不限于计算机技术领域,尤其涉及一种NVMe-oF用户态客 户端的数据访问方法和装置。
背景技术
virtio是目前被广泛接受的输入/输出(Input/Output,I/O)虚拟化的抽象设 备接口,通过对虚拟队列(virtqueue)以及虚拟环形队列(vring)的定义实现了 对不同虚拟化外设部件互连标准(Peripheral Component Interconnect,PCI)设备 的支持。virtio旁路(offload)到主机(host)叫做虚拟主机(virtual host,vhost), 可以在内核态实现。在内核态的实现主要在Linux的内核(kernel)实现。
存储性能开发套件(Storage performance development kit,SPDK)的vhostuser方案是目前最新的演进方案,通过用户态的轮询模式驱动(polling mode driver)可以实现全用户态、端到端的I/O栈,在虚拟化中虚拟机退出(VM_EXIT) 是比较大的开销,vhost user方案可以消除来访者(Guest)I/O提交时的VM_EXIT 开销,并且通过用户态的I/O轮询(polling)实现减少中央处理器(central processing unit,CPU)上下文切换,然而,在后端存储的实现上,Guest I/O提 交时,需要通过内核,有数据拷贝、上下文切换等开销,从而开销很大。
发明内容
本申请实施例期望提供一种NVMe-oF用户态客户端的数据访问方法和装 置。
本申请的技术方案是这样实现的:
第一方面,本申请实施例提供的一种NVMe-oF用户态客户端的数据访问 方法,所述方法包括:
接收虚拟主机vhost设备发送的数据访问请求消息;
解析所述数据访问请求消息,得到第一服务端标识和访问操作指令;
基于所述第一服务端标识选择第一环形队列,通过第一环形队列,将所述 访问操作指令写入第一NVMe-oF服务端的控制指令区域;其中,所述第一环形 队列为所述vhost设备与第一NVMe-oF服务端之间的队列。
第二方面,本申请实施例提供的一种NVMe-oF用户态客户端的数据访问 装置,所述NVMe-oF用户态客户端的数据访问装置包括:
接收模块,用于接收虚拟主机vhost设备发送的数据访问请求消息;
处理模块,用于解析所述数据访问请求消息,得到第一服务端标识和访问 操作指令;
所述处理模块,还用于基于所述第一服务端标识选择第一环形队列;
所述处理模块,用于通过第一环形队列,将所述访问操作指令写入所述第 一NVMe-oF服务端的控制指令区域;其中,所述第一环形队列为所述vhost设 备与第一NVMe-oF服务端之间的队列。
第三方面,本申请实施例提供的一种数据访问设备,所述数据访问设备包 括:处理器、存储器和通信总线;
通信总线用于实现处理器和存储器之间的通信连接。
处理器用于执行存储器中存储的NVMe-oF用户态客户端的数据访问程序, 以实现第一方面的步骤。
第四方面,本申请实施例提供的一种存储有可执行指令的计算机可读存储 介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个 程序可被一个或者多个处理器执行,以实现如上述的NVMe-oF用户态客户端 的数据访问方法的步骤。
本申请实施例提供一种NVMe-oF用户态客户端的数据访问方法和装置, 该数据访问方法包括:接收虚拟主机vhost设备发送的数据访问请求消息;解析 数据访问请求消息,得到第一服务端标识和访问操作指令;基于第一服务端标 识选择第一环形队列,通过第一环形队列,将访问操作指令写入第一NVMe-oF 服务端的控制指令区域;其中,第一环形队列为vhost设备与第一NVMe-oF服 务端之间的队列;也就是说,本申请提供了的数据访问方法不仅兼容标准存储 设备即远程访问的存储节点如NVMe-oF服务端,同时在能够提供多路复用高 可用功能前提下,应用纯用户态NVMe-oF客户端和环形队列对接技术、采用纯 用户态、CPU卸载的方式提供vhost后端设备、提供更低的开销和延迟。
附图说明
图1为本申请的实施例提供的NVMe-oF用户态客户端的数据访问方法的 一个可选的流程示意图;
图2为相关技术与本申请的数据访问的架构对比的示意图;
图3为本申请的实施例提供的NVMe-oF用户态客户端的数据访问方法的 一个可选的流程示意图;
图4为本申请的实施例提供的数据访问装置的架构的示意图;
图5为本申请的实施例提供的NVMe-oF用户态客户端的数据访问装置的 结构示意图;
图6为本申请的实施例提供的数据访问设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施 例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所 描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请 中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有 其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是 用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有” 以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单 元的过程、方法、方法、产品或设备没有限定于已列出的步骤或单元,而是可 选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产 品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特 性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语 并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实 施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与 其它实施例相结合。
本申请的实施例提供一种NVMe-oF用户态客户端的数据访问方法,该 NVMe-oF用户态客户端的数据访问方法应用于数据访问设备,参照图1所示, 该方法包括以下步骤:
步骤101、接收虚拟主机vhost设备发送的数据访问请求消息。
本申请实施例提供的数据访问设备可以实施为笔记本电脑,平板电脑,台 式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理, 专用消息设备,便携式游戏设备),智能机器人等任意具有屏幕显示功能的终端, 也可以实施为服务器。
非易失性内存主机控制器接口规范(Non-Volatile Memory Express,NVMe) 是一种高性能、高度可扩展的存储协议,用于连接主机和内存子系统。随着非 易失性内存主机控制器接口规范的架构之上(NVMe over Fabric,NVMe-oF)协 议在存储行业的不断推广,数据访问过程中的大开销也越来越受到重视。目前, 在NVMe-oF的存储系统中,通过主机NVMe限定名(NVMe Qualified Name, nqn)和NVM子系统(subsystem)nqn之间的映射来控制主机对各命名空间 (namespace)的访问权限。
本申请一些实施例中,部署在宿主机侧的管控虚拟机通过前后端驱动vhost 方式与用户虚拟机通信,可采用如下方式实现:将前端驱动部署在用户虚拟机 侧,将后端驱动部署在管控虚拟机侧。具体实施时,前端驱动可由客户机如用 户虚拟机实现,后端驱动可由虚拟操作系统模拟器(Quick EMUlator,QEMU) QEMU、内核vhost、或用户态的vhost user实现。
本申请实施例中,NVMe-oF用户态客户端通过NVMe-oF协议与外部设备 通信,获取虚拟主机vhost设备发送的数据访问请求消息;解析数据访问请求消 息,得到第一服务端标识和访问操作指令,基于第一服务端标识选择第一环形 队列,通过第一环形队列,将访问操作指令写入第一NVMe-oF服务端的控制指 令区域。
NVMe接口是NVMe-oF用户态客户端中用于插接NVMe硬盘的接口,其 通过高速串行计算机扩展总线标准(Peripheral Component Interconnect express, PCIe)总线与NVMe-oF服务端连接。
NVMe-oF服务端的NVMe硬盘是指符合NVMe标准的存储介质。可选地, NVMe硬盘包括NVMe固态硬盘(Solid State Disk,SSD)。
步骤102、解析数据访问请求消息,得到第一服务端标识和访问操作指令。
本申请实施例中,数据访问请求消息中携带有命名空间如第一服务端标识。 命名空间用于标示出访问操作指令的目标存储介质。访问操作指令为NVMe协 议的指令。
在一些实施例总,在外部设备需要将数据存储至NVMe-oF用户态客户端 连接的NVMe-oF服务端的存储介质中,或者外部设备访问NVMe-oF用户态客 户端连接的NVMe-oF服务端的存储介质中读取数据时,生成数据访问请求消 息,并在数据访问请求消息中添加目标存储介质对应的命名空间如服务端标识, 可以通过NVMeoF协议在高速光纤网络将数据访问请求消息发送至NVMe-oF 用户态客户端。
步骤103、基于第一服务端标识选择第一环形队列,通过第一环形队列,将 访问操作指令写入第一NVMe-oF服务端的控制指令区域。
其中,第一环形队列为vhost设备与第一NVMe-oF服务端之间的队列。
本申请实施例提供一种NVMe-oF用户态客户端的数据访问方法,该数据 访问方法包括:接收虚拟主机vhost设备发送的数据访问请求消息;解析数据访 问请求消息,得到第一服务端标识和访问操作指令;基于第一服务端标识选择 第一环形队列,通过第一环形队列,将访问操作指令写入第一NVMe-oF服务端 的控制指令区域;其中,第一环形队列为vhost设备与第一NVMe-oF服务端之 间的队列;也就是说,本申请提供了的数据访问方法不仅兼容标准存储设备即 远程访问的存储节点如NVMe-oF服务端,同时在能够提供多路复用高可用功 能前提下,应用纯用户态NVMe-oF客户端和环形队列对接技术、采用纯用户 态、CPU卸载的方式提供vhost后端设备、提供更低的开销和延迟。
在一种可实现的场景下,结合图2所示,相关技术与本申请的数据访问的 架构对比示意图,本申请提供的实现上述数据访问方法的用户态的数据访问装 置,不仅兼容标准存储设备即远程访问的存储节点如NVMe-oF服务端如图2中 的NVMe-oF1服务端和NVMe-oF2服务端,同时在能够提供多路复用高可用功 能前提下,应用纯用户态NVMe-oF客户端和环形队列对接技术、采用纯用户 态、CPU卸载的方式提供vhost后端设备、提供更低的开销和延迟。
本申请的实施例提供一种NVMe-oF用户态客户端的数据访问方法,该 NVMe-oF用户态客户端的数据访问方法应用于数据访问设备,参照图3所示, 该方法包括以下步骤:
步骤301、接收虚拟主机vhost设备发送的数据访问请求消息。
步骤302、解析数据访问请求消息,得到第一服务端标识和访问操作指令。
步骤303、获取第一队列连接信息,基于第一队列连接信息将vhost设备的 数据流环形队列,与第一NVMe-oF服务端的环形队列连接,建立第一环形队 列。
步骤304、基于第一服务端标识选择第一环形队列,通过第一环形队列,将 访问操作指令写入第一NVMe-oF服务端的控制指令区域。
其中,第一环形队列为vhost设备与第一NVMe-oF服务端之间的队列。
本申请其他实施例中,在步骤304基于第一服务端标识选择第一环形队列 之后,还可以执行如下步骤:
首先、在第一NVMe-oF服务端不可访问的场景下,切换到NVMe-oF的用 户态客户端连接的第二NVMe-oF服务端。
其次、通过第二环形队列,将访问操作指令写入第二NVMe-oF服务端的控 制指令区域。
其中,第二环形队列为vhost设备与第二NVMe-oF服务端之间的队列。
也就是说,本申请实施例中,在第一NVMe-oF服务端不可访问的场景下, 可以快速切换到NVMe-oF的用户态客户端连接的第二NVMe-oF服务端,实现 在虚拟机热迁移快的同时,兼容标准的存储设备。如此,在边缘计算场景中, 用两台提供标准NVMe-oF协议的存储,即可实现虚拟机的热迁移和高可用。此 外,上述热迁移的方案,具备更高的可扩展性,迁移速度更快,无需存储节点 本身的机制(选主、仲裁等)。
这里,在上述通过第二环形队列,将访问操作指令写入第二NVMe-oF服务 端的控制指令区域之前,还可以获取第二队列连接信息,基于第二队列连接信 息将vhost设备的数据流环形队列,与第二NVMe-oF服务端的环形队列连接, 建立第二环形队列。
本申请其他实施例中,第一NVMe-oF服务端不可访问的场景,包括如下至 少之一:
NVMe-oF的用户态客户端与第一NVMe-oF服务端之间的网络连接断开;
第一NVMe-oF服务端宕机;
NVMe-oF的用户态客户端与第一NVMe-oF服务端之间的输入/输出通讯 超时;
接收到从第一NVMe-oF服务端切换至第二NVMe-oF服务端的指令。
本申请其他实施例中,上述场景中,接收到从第一NVMe-oF服务端切换至 第二NVMe-oF服务端的指令,包括:接收到NVMe-oF用户态客户端的上层管 理系统发送的指令;或者,接收到用户在NVMe-oF的用户态客户端中输入的指 令。
本申请其他实施例中,数据访问设备还可以管理多个NVMe-oF服务端的 服务端标识和队列连接信息,生成管理列表;其中,管理列表包括第一NVMe- oF服务端对应的第一服务端标识和第一队列连接信息,以及第二NVMe-oF服 务端对应的第二服务端标识和第二队列连接信息。
本申请其他实施例中,上述在第一NVMe-oF服务端不可访问的场景下,切 换到NVMe-oF的用户态客户端连接的第二NVMe-oF服务端,包括:
在第一NVMe-oF服务端不可访问的场景下,从管理列表中选取第二服务 端标识;
基于第二服务端标识,将NVMe-oF的用户态客户端的连接对象从第一 NVMe-oF服务端切换至第二NVMe-oF服务端。
由上述内容可知,本申请的数据访问设备,通过NVMe-oF用户态客户端连 接远程的NVMe-oF服务端(NVMe-oF Target),以及创建本地的vhost user后 端设备,所用后端设备包括vhost-blk设备,vhost-scsi设备,vhost-NVMe设备。 实现vhost设备的远程访问,当一个存储节点例如第一NVMe-oF服务端不能访 问时,可以切换到其他的存储节点例如第二NVMe-oF服务端。其中,vhost-blk 设备指的是vhost设备使用block协议,vhost-scsi设备指的是vhost设备使用小 型计算机接口(Small Computer System Interface,scsi)协议,vhost-NVMe设备 指的是vhost设备使用NVMe协议。
本申请其他实施例中,步骤101接收虚拟主机vhost设备发送的数据访问 请求消息之后,还可以执行如下步骤:若接收的数据访问请求消息为使用vhost- 块block协议的消息,或者,为使用vhost-scsi协议的消息,将数据访问请求消 息转换为使用NVMe协议的消息。
本申请其他实施例中,数据访问设备还可以对vhost设备使用宿主机资源 进行管理;其中,宿主机资源包括如下至少之一:存储资源、计算资源、网络 资源。
在一些实施例中,宿主机,是指计算节点的主机。在宿主机上可运行多个 vhost,vhost可弹性使用宿主机资源。宿主机资源,可包括计算资源、存储资源、 网络资源等。
结合图2和图4对本申请的数据访问的架构中的数据访问装置的架构作出 进一步的说明,参见图4所示,在宿主机侧包括:虚拟机监视器如KVM、QEMU 等,虚拟机监视器用于管控虚拟机与用户虚拟机的虚拟化模拟,如设备模拟,CPU模拟、内存模拟等。
部署在宿主机侧的管控虚拟机可通过前后端驱动vhost方式与用户虚拟机 通信;部署在宿主机侧的管控虚拟机可使用定制硬件资源通过直通vifo方式与 上述虚拟机监视器如KVM、QEMU通信。vhost是virtio的一种后端实现方案, virtio是一种半虚拟化的实现方案,需要虚拟机端和宿主机端都提供驱动才能完 成通信,通常virtio宿主机端的驱动是实现在用户空间的QEMU中,而vhost 是实现在内核中,是内核的一个模块vhost_net.ko。具体实施时,部署在宿主机 侧的管控虚拟机也可通过virtio方式与用户虚拟机通信。
进一步的,将数据访问装置实现数据访问方法的步骤对应到各功能模块, 描述如下:NVMe-oF用户态客户端,根据需要连接远程NVMe-oF target,并在 本模块抽象成块设备,提供块设备相关接口。协议转换模块,协议转换模块在 于以下几种情况:将vhost-block协议与NVMe协议之间相互转换;将vhost-scsi 协议与NVMe协议的相互转换,vhost-NVMe与NVMe协议的连接。Vhost主 控模块,用户创建vhost虚拟设备,该设备提供给QEMU虚拟机。连接模块, 该模块用于接收vhost模块的控制指令,将vhost数据流的环形队列,与NVMe- oF传输(transport)的环形队列连接,从而实现零数据拷贝。当接收到vhost读 写请求时,将相应的控制指令写入到NVMe-oF transport的控制指令区域,控制 指令包括读写等,以及数据缓冲区的虚拟地址。NVMe-oF target管理模块,该 模块用于管理用户输入的多个NVMe-oF target nqn以及连接信息,持久化于本 地或者网络中。当故障切换模块进行切换时,从管理列表中新选取另外一个 NVMe-oF target,建立连接,并重新对接环形队列。故障切换模块,当当前NVMe- oF target不可访问时,切换到另外一个NVMe-oF target,并完成与新的NVMe- oF target进行连接操作。不可用包括检测到与NVMe-oF target网络连接断开、 服务器宕机或者I/O通讯超时,也包括用户手动或者通过上层管理系统切换, 比如热迁移时。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明, 可以参照其它实施例中的描述,此处不再赘述。
本申请的实施例提供一种NVMe-oF用户态客户端的数据访问装置,该 NVMe-oF用户态客户端的数据访问装置可以应用于图1对应的实施例提供的 一种NVMe-oF用户态客户端的数据访问方法中,参照图5所示,该NVMe-oF 用户态客户端的数据访问装置5包括:
接收模块501,用于接收虚拟主机vhost设备发送的数据访问请求消息;
处理模块502,用于解析数据访问请求消息,得到第一服务端标识和访问 操作指令;基于第一服务端标识选择第一环形队列;通过第一环形队列,将访 问操作指令写入第一NVMe-oF服务端的控制指令区域;其中,第一环形队列为 vhost设备与第一NVMe-oF服务端之间的队列。
在本申请的其他实施例中,处理模块502,用于获取第一队列连接信息,基 于第一队列连接信息将vhost设备的数据流环形队列,与第一NVMe-oF服务端 的环形队列连接,建立第一环形队列。
在本申请的其他实施例中,处理模块502,用于在第一NVMe-oF服务端不 可访问的场景下,切换到NVMe-oF的用户态客户端连接的第二NVMe-oF服务 端;通过第二环形队列,将访问操作指令写入第二NVMe-oF服务端的控制指令 区域;其中,第二环形队列为vhost设备与第二NVMe-oF服务端之间的队列。
在本申请的其他实施例中,第一NVMe-oF服务端不可访问的场景,包括如 下至少之一:NVMe-oF的用户态客户端与第一NVMe-oF服务端之间的网络连 接断开;第一NVMe-oF服务端宕机;NVMe-oF的用户态客户端与第一NVMe- oF服务端之间的输入/输出通讯超时;接收到从第一NVMe-oF服务端切换至第 二NVMe-oF服务端的指令。
在本申请的其他实施例中,接收模块501,用于接收到NVMe-oF用户态客 户端的上层管理系统发送的指令;或者,接收到用户在NVMe-oF的用户态客户 端中输入的指令。
在本申请的其他实施例中,处理模块502,用于管理多个NVMe-oF服务端 的服务端标识和队列连接信息,生成管理列表;其中,管理列表包括第一NVMe- oF服务端对应的第一服务端标识和第一队列连接信息,以及第二NVMe-oF服 务端对应的第二服务端标识和第二队列连接信息。
在本申请的其他实施例中,处理模块502,用于在第一NVMe-oF服务端不 可访问的场景下,从管理列表中选取第二服务端标识;基于第二服务端标识, 将NVMe-oF的用户态客户端的连接对象从第一NVMe-oF服务端切换至第二 NVMe-oF服务端。
在本申请的其他实施例中,处理模块502,用于若接收的数据访问请求消 息为使用vhost-块block协议的消息,或者,为使用vhost-小型计算机接口scsi 协议的消息,将数据访问请求消息转换为使用NVMe协议的消息。
在本申请的其他实施例中,处理模块502,用于对vhost设备使用宿主机资 源进行管理;其中,宿主机资源包括如下至少之一:存储资源、计算资源、网 络资源。
本申请实施例提供一种NVMe-oF用户态客户端的数据访问装置,通过接 收虚拟主机vhost设备发送的数据访问请求消息;解析数据访问请求消息,得到 第一服务端标识和访问操作指令;基于第一服务端标识选择第一环形队列,通 过第一环形队列,将访问操作指令写入第一NVMe-oF服务端的控制指令区域; 其中,第一环形队列为vhost设备与第一NVMe-oF服务端之间的队列;也就是 说,本申请提供了的数据访问方法不仅兼容标准存储设备即远程访问的存储节 点如NVMe-oF服务端,同时在能够提供多路复用高可用功能前提下,应用纯用 户态NVMe-oF客户端和环形队列对接技术、采用纯用户态、CPU卸载的方式 提供vhost后端设备、提供更低的开销和延迟。
需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参 照图1对应的实施例提供的NVMe-oF用户态客户端的数据访问方法中的实现 过程,此处不再赘述。
本申请的实施例提供一种数据访问设备,该数据访问设备可以应用于图1 对应的实施例提供的一种NVMe-oF用户态客户端的数据访问方法中,参照图6 所示,该数据访问设备6(图6中的数据访问设备6与图5中的NVMe-oF用户 态客户端的数据访问装置5对应)包括:处理器601、存储器602和通信总线 603,其中:
通信总线603用于实现处理器601和存储器602之间的通信连接。
处理器601用于执行存储器602中存储的NVMe-oF用户态客户端的数据 访问程序,以实现以下步骤:
接收虚拟主机vhost设备发送的数据访问请求消息;
解析数据访问请求消息,得到第一服务端标识和访问操作指令;
基于第一服务端标识选择第一环形队列,通过第一环形队列,将访问操作 指令写入第一NVMe-oF服务端的控制指令区域;其中,第一环形队列为vhost 设备与第一NVMe-oF服务端之间的队列。
在本申请的其他实施例中,处理器601用于执行存储器602中存储的 NVMe-oF用户态客户端的数据访问程序,以实现以下步骤:
获取第一队列连接信息,基于第一队列连接信息将vhost设备的数据流环 形队列,与第一NVMe-oF服务端的环形队列连接,建立第一环形队列。
在本申请的其他实施例中,处理器601用于执行存储器602中存储的 NVMe-oF用户态客户端的数据访问程序,以实现以下步骤:
在第一NVMe-oF服务端不可访问的场景下,切换到NVMe-oF的用户态客 户端连接的第二NVMe-oF服务端;
通过第二环形队列,将访问操作指令写入第二NVMe-oF服务端的控制指 令区域;其中,第二环形队列为vhost设备与第二NVMe-oF服务端之间的队列。
在本申请的其他实施例中,第一NVMe-oF服务端不可访问的场景,包括如 下至少之一:NVMe-oF的用户态客户端与第一NVMe-oF服务端之间的网络连 接断开;第一NVMe-oF服务端宕机;NVMe-oF的用户态客户端与第一NVMe- oF服务端之间的输入/输出通讯超时;接收到从第一NVMe-oF服务端切换至第 二NVMe-oF服务端的指令。
在本申请的其他实施例中,处理器601用于执行存储器602中存储的 NVMe-oF用户态客户端的数据访问程序,以实现以下步骤:接收到NVMe-oF 用户态客户端的上层管理系统发送的指令;或者,接收到用户在NVMe-oF的用 户态客户端中输入的指令。
在本申请的其他实施例中,处理器601用于执行存储器602中存储的 NVMe-oF用户态客户端的数据访问程序,以实现以下步骤:
管理多个NVMe-oF服务端的服务端标识和队列连接信息,生成管理列表; 其中,管理列表包括第一NVMe-oF服务端对应的第一服务端标识和第一队列 连接信息,以及第二NVMe-oF服务端对应的第二服务端标识和第二队列连接 信息。
在本申请的其他实施例中,处理器601用于执行存储器602中存储的 NVMe-oF用户态客户端的数据访问程序,以实现以下步骤:
在第一NVMe-oF服务端不可访问的场景下,从管理列表中选取第二服务 端标识;
基于第二服务端标识,将NVMe-oF的用户态客户端的连接对象从第一 NVMe-oF服务端切换至第二NVMe-oF服务端。
在本申请的其他实施例中,处理器601用于执行存储器602中存储的 NVMe-oF用户态客户端的数据访问程序,以实现以下步骤:
若接收的数据访问请求消息为使用vhost-块block协议的消息,或者,为使 用vhost-小型计算机接口scsi协议的消息,将数据访问请求消息转换为使用 NVMe协议的消息。
在本申请的其他实施例中,处理器601用于执行存储器602中存储的 NVMe-oF用户态客户端的数据访问程序,以实现以下步骤:
对vhost设备使用宿主机资源进行管理;其中,宿主机资源包括如下至少之 一:存储资源、计算资源、网络资源。
本申请实施例所提供的方法可以直接体现为由处理器601执行的软件模块 组合,软件模块可以位于存储介质中,存储介质位于存储器602,处理器601读 取存储器602中软件模块包括的可执行指令,结合必要的硬件完成本申请实施 例提供的方法。
作为示例,处理器可以是一种集成电路芯片,具有信号的处理能力,例如 通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编 程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理 器可以是微处理器或者任何常规的处理器等。
存储器可以是可移除的,不可移除的或其组合。示例性地硬件设备包括固 态存储器,硬盘驱动器,光盘驱动器等。存储器可选地包括在物理位置上远离 处理器的一个或多个存储设备。存储器包括易失性存储器或非易失性存储器, 也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器 (Read Only Memory,ROM),易失性存储器可以是随机存取存储器(Random Access Memory,RAM)。本申请实施例描述的存储器旨在包括任意适合类型的 存储器。在一些实施例中,存储器能够存储数据以支持各种操作,这些数据的 示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
本申请实施例提供一种数据访问设备,通过接收虚拟主机vhost设备发送 的数据访问请求消息;解析数据访问请求消息,得到第一服务端标识和访问操 作指令;基于第一服务端标识选择第一环形队列,通过第一环形队列,将访问 操作指令写入第一NVMe-oF服务端的控制指令区域;其中,第一环形队列为 vhost设备与第一NVMe-oF服务端之间的队列;也就是说,本申请提供了的数 据访问方法不仅兼容标准存储设备即远程访问的存储节点如NVMe-oF服务端, 同时在能够提供多路复用高可用功能前提下,应用纯用户态NVMe-oF客户端 和环形队列对接技术、采用纯用户态、CPU卸载的方式提供vhost后端设备、 提供更低的开销和延迟。
需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参 照图1对应的实施例提供的NVMe-oF用户态客户端的数据访问方法中的实现 过程,此处不再赘述。
本申请的实施例提供一种计算机可读存储介质,该存储介质存储有一个或 者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如下 步骤:
接收虚拟主机vhost设备发送的数据访问请求消息;
解析数据访问请求消息,得到第一服务端标识和访问操作指令;
基于第一服务端标识选择第一环形队列,通过第一环形队列,将访问操作 指令写入第一NVMe-oF服务端的控制指令区域;其中,第一环形队列为vhost 设备与第一NVMe-oF服务端之间的队列。
在本申请的其他实施例中,该一个或者多个程序可被一个或者多个处理器 执行,还可以实现以下步骤:
获取第一队列连接信息,基于第一队列连接信息将vhost设备的数据流环 形队列,与第一NVMe-oF服务端的环形队列连接,建立第一环形队列。
在本申请的其他实施例中,该一个或者多个程序可被一个或者多个处理器 执行,还可以实现以下步骤:
在第一NVMe-oF服务端不可访问的场景下,切换到NVMe-oF的用户态客 户端连接的第二NVMe-oF服务端;
通过第二环形队列,将访问操作指令写入第二NVMe-oF服务端的控制指 令区域;其中,第二环形队列为vhost设备与第二NVMe-oF服务端之间的队列。
在本申请的其他实施例中,第一NVMe-oF服务端不可访问的场景,包括如 下至少之一:NVMe-oF的用户态客户端与第一NVMe-oF服务端之间的网络连 接断开;第一NVMe-oF服务端宕机;NVMe-oF的用户态客户端与第一NVMe- oF服务端之间的输入/输出通讯超时;接收到从第一NVMe-oF服务端切换至第 二NVMe-oF服务端的指令。
在本申请的其他实施例中,该一个或者多个程序可被一个或者多个处理器 执行,还可以实现以下步骤:接收到NVMe-oF用户态客户端的上层管理系统发 送的指令;或者,接收到用户在NVMe-oF的用户态客户端中输入的指令。
在本申请的其他实施例中,该一个或者多个程序可被一个或者多个处理器 执行,还可以实现以下步骤:
管理多个NVMe-oF服务端的服务端标识和队列连接信息,生成管理列表; 其中,管理列表包括第一NVMe-oF服务端对应的第一服务端标识和第一队列 连接信息,以及第二NVMe-oF服务端对应的第二服务端标识和第二队列连接 信息。
在本申请的其他实施例中,该一个或者多个程序可被一个或者多个处理器 执行,还可以实现以下步骤:
在第一NVMe-oF服务端不可访问的场景下,从管理列表中选取第二服务 端标识;
基于第二服务端标识,将NVMe-oF的用户态客户端的连接对象从第一 NVMe-oF服务端切换至第二NVMe-oF服务端。
在本申请的其他实施例中,该一个或者多个程序可被一个或者多个处理器 执行,还可以实现以下步骤:
若接收的数据访问请求消息为使用vhost-块block协议的消息,或者,为使 用vhost-小型计算机接口scsi协议的消息,将数据访问请求消息转换为使用 NVMe协议的消息。
在本申请的其他实施例中,该一个或者多个程序可被一个或者多个处理器 执行,还可以实现以下步骤:对vhost设备使用宿主机资源进行管理;其中,宿 主机资源包括如下至少之一:存储资源、计算资源、网络资源。
需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参 照图1对应的实施例提供的NVMe-oF用户态客户端的数据访问方法中的实现 过程,此处不再赘述。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施 例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质 和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
上述计算机存储介质/存储器可以是只读存储器(Read Only Memory,ROM)、 可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程 只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除 可编程只读存储器(Electrically Erasable Programmable Read-Only Memory, EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory, FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述 存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“本申请 实施例”或“前述实施例”或“一些实施例”或“一些实施方式”意味着与实 施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此, 在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“本申请 实施例”或“前述实施例”或“一些实施例”或“一些实施方式”未必一定指 相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合 在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序 号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻 辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例 序号仅仅为了描述,不代表实施例的优劣。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可 以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单 元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如: 多个单元或组件可以结合,或可以集成到另一个方法,或一些特征可以忽略, 或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、 或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是 电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为 单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可 以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来 实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中, 也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一 个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软 件功能单元的形式实现。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以 任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以 任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况 下可以任意组合,得到新的方法实施例或设备实施例。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可 以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储 介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介 质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光 盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立 的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样 的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可 以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包 括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络 设备等)执行本申请各个实施例方法的全部或部分。而前述的存储介质包括: 移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
值得注意的是,本申请实施例中的附图只是为了说明各个器件在终端设备 上的示意位置,并不代表在终端设备中的真实位置,各器件或各个区域的真实 位置可根据实际情况(例如,终端设备的结构)作出相应改变或偏移,并且, 图中的终端设备中不同部分的比例并不代表真实的比例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化 或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所 述权利要求的保护范围为准。
Claims (10)
1.一种NVMe-oF用户态客户端的数据访问方法,所述方法包括:
接收虚拟主机vhost设备发送的数据访问请求消息;
解析所述数据访问请求消息,得到第一服务端标识和访问操作指令;
基于所述第一服务端标识选择第一环形队列,通过第一环形队列,将所述访问操作指令写入第一NVMe-oF服务端的控制指令区域;其中,所述第一环形队列为所述vhost设备与第一NVMe-oF服务端之间的队列。
2.根据权利要求1所述的方法,所述基于所述第一服务端标识选择第一环形队列之前,所述方法包括:
获取第一队列连接信息,基于所述第一队列连接信息将所述vhost设备的数据流环形队列,与所述第一NVMe-oF服务端的环形队列连接,建立所述第一环形队列。
3.根据权利要求1所述的方法,所述基于所述第一服务端标识选择第一环形队列之后,所述方法包括:
在所述第一NVMe-oF服务端不可访问的场景下,切换到所述NVMe-oF的用户态客户端连接的第二NVMe-oF服务端;
通过第二环形队列,将所述访问操作指令写入所述第二NVMe-oF服务端的控制指令区域;其中,所述第二环形队列为所述vhost设备与第二NVMe-oF服务端之间的队列。
4.根据权利要求3所述的方法,所述第一NVMe-oF服务端不可访问的场景,包括如下至少之一:
所述NVMe-oF的用户态客户端与所述第一NVMe-oF服务端之间的网络连接断开;
所述第一NVMe-oF服务端宕机;
所述NVMe-oF的用户态客户端与所述第一NVMe-oF服务端之间的输入/输出通讯超时;
接收到从所述第一NVMe-oF服务端切换至所述第二NVMe-oF服务端的指令。
5.根据权利要求4所述的方法,所述接收到从所述第一NVMe-oF服务端切换至所述第二NVMe-oF服务端的指令,包括:
接收到所述NVMe-oF用户态客户端的上层管理系统发送的所述指令;或者,
接收到用户在所述NVMe-oF的用户态客户端中输入的所述指令。
6.根据权利要求3所述的方法,所述方法还包括:
管理多个NVMe-oF服务端的服务端标识和队列连接信息,生成管理列表;其中,所述管理列表包括所述第一NVMe-oF服务端对应的第一服务端标识和第一队列连接信息,以及所述第二NVMe-oF服务端对应的第二服务端标识和第二队列连接信息。
7.根据权利要求6所述的方法,所述在所述第一NVMe-oF服务端不可访问的场景下,切换到所述NVMe-oF的用户态客户端连接的第二NVMe-oF服务端,包括:
在所述第一NVMe-oF服务端不可访问的场景下,从所述管理列表中选取所述第二服务端标识;
基于所述第二服务端标识,将所述NVMe-oF的用户态客户端的连接对象从所述第一NVMe-oF服务端切换至所述第二NVMe-oF服务端。
8.根据权利要求1所述的方法,所述接收虚拟主机vhost设备发送的数据访问请求消息之后,所述方法包括:
若接收的所述数据访问请求消息为使用vhost-块block协议的消息,或者,为使用vhost-小型计算机接口scsi协议的消息,将所述数据访问请求消息转换为使用NVMe协议的消息。
9.根据权利要求1所述的方法,还包括:
对所述vhost设备使用宿主机资源进行管理;其中,所述宿主机资源包括如下至少之一:存储资源、计算资源、网络资源。
10.一种NVMe-oF用户态客户端的数据访问装置,所述装置包括:
接收模块,用于接收虚拟主机vhost设备发送的数据访问请求消息;
处理模块,用于解析所述数据访问请求消息,得到第一服务端标识和访问操作指令;
所述处理模块,还用于基于所述第一服务端标识选择第一环形队列;
所述处理模块,用于通过第一环形队列,将所述访问操作指令写入所述第一NVMe-oF服务端的控制指令区域;其中,所述第一环形队列为所述vhost设备与第一NVMe-oF服务端之间的队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111627192.5A CN114417373A (zh) | 2021-12-28 | 2021-12-28 | 一种NVMe-oF用户态客户端的数据访问方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111627192.5A CN114417373A (zh) | 2021-12-28 | 2021-12-28 | 一种NVMe-oF用户态客户端的数据访问方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114417373A true CN114417373A (zh) | 2022-04-29 |
Family
ID=81269988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111627192.5A Pending CN114417373A (zh) | 2021-12-28 | 2021-12-28 | 一种NVMe-oF用户态客户端的数据访问方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114417373A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996200A (zh) * | 2022-05-26 | 2022-09-02 | 中国联合网络通信集团有限公司 | 基于rdma的数据传输方法、装置、设备及存储介质 |
CN115543474A (zh) * | 2022-08-30 | 2022-12-30 | 中科驭数(北京)科技有限公司 | NVMe-oF半卸载处理方法及装置、硬件加速设备 |
CN115840620A (zh) * | 2023-02-27 | 2023-03-24 | 珠海星云智联科技有限公司 | 一种数据通路构建方法、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201349A (zh) * | 2015-12-31 | 2016-12-07 | 华为技术有限公司 | 一种在物理主机中处理读/写请求的方法和装置 |
CN111133416A (zh) * | 2017-09-26 | 2020-05-08 | 英特尔公司 | 处理来自虚拟机命令的方法和装置 |
-
2021
- 2021-12-28 CN CN202111627192.5A patent/CN114417373A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201349A (zh) * | 2015-12-31 | 2016-12-07 | 华为技术有限公司 | 一种在物理主机中处理读/写请求的方法和装置 |
CN111133416A (zh) * | 2017-09-26 | 2020-05-08 | 英特尔公司 | 处理来自虚拟机命令的方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996200A (zh) * | 2022-05-26 | 2022-09-02 | 中国联合网络通信集团有限公司 | 基于rdma的数据传输方法、装置、设备及存储介质 |
CN114996200B (zh) * | 2022-05-26 | 2024-05-07 | 中国联合网络通信集团有限公司 | 基于rdma的数据传输方法、装置、设备及存储介质 |
CN115543474A (zh) * | 2022-08-30 | 2022-12-30 | 中科驭数(北京)科技有限公司 | NVMe-oF半卸载处理方法及装置、硬件加速设备 |
CN115543474B (zh) * | 2022-08-30 | 2023-10-20 | 中科驭数(北京)科技有限公司 | NVMe-oF半卸载处理方法及装置、硬件加速设备 |
CN115840620A (zh) * | 2023-02-27 | 2023-03-24 | 珠海星云智联科技有限公司 | 一种数据通路构建方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107209681B (zh) | 一种存储设备访问方法、装置和系统 | |
US9798682B2 (en) | Completion notification for a storage device | |
RU2532708C2 (ru) | Способ и устройство для осуществления операции ввода/вывода в среде виртуализации | |
US9141571B2 (en) | PCI express switch with logical device capability | |
CN114417373A (zh) | 一种NVMe-oF用户态客户端的数据访问方法和装置 | |
KR101807310B1 (ko) | 호스트 usb 어댑터 가상화 | |
US8645594B2 (en) | Driver-assisted base address register mapping | |
TW201117100A (en) | Management apparatuses and related switching methods for a running virtual machine | |
US9495172B2 (en) | Method of controlling computer system and computer system | |
WO2012145024A1 (en) | Combined virtual graphics device | |
US11188369B2 (en) | Interrupt virtualization | |
CN104598170B (zh) | 确定读写路径的方法和装置 | |
US20200133723A1 (en) | Micro kernel scheduling method and apparatus | |
US9424205B2 (en) | System and method for SATA virtualization and domain protection | |
CN116774933A (zh) | 存储设备的虚拟化处理方法、桥接设备、系统及介质 | |
US9557980B2 (en) | Seamless application integration apparatus and method | |
CN114691300A (zh) | 一种虚拟机实例的热迁移方法 | |
CN113037795A (zh) | 瘦终端系统及其处理方法 | |
US20140351833A1 (en) | Multi-computing environment operating on a single native operating system | |
CN109656675B (zh) | 总线设备、计算机设备及实现物理主机云存储的方法 | |
US20200264893A1 (en) | System and method of initiating multiple adaptors in parallel | |
CN112015352B (zh) | 存储块设备识别装置、系统和存储块设备读写方法 | |
CN107818061B (zh) | 关联外围设备的数据总线和管理总线 | |
US12118363B2 (en) | Coordinated boot synchronization and startup of information handling system subsystems | |
US11513983B2 (en) | Interrupt migration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |