[go: up one dir, main page]

CN111198663B - Method, system, apparatus and storage medium for controlling data access operation - Google Patents

Method, system, apparatus and storage medium for controlling data access operation Download PDF

Info

Publication number
CN111198663B
CN111198663B CN202010006788.2A CN202010006788A CN111198663B CN 111198663 B CN111198663 B CN 111198663B CN 202010006788 A CN202010006788 A CN 202010006788A CN 111198663 B CN111198663 B CN 111198663B
Authority
CN
China
Prior art keywords
virtual
solid state
storage
server
data access
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.)
Active
Application number
CN202010006788.2A
Other languages
Chinese (zh)
Other versions
CN111198663A (en
Inventor
杨永峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010006788.2A priority Critical patent/CN111198663B/en
Publication of CN111198663A publication Critical patent/CN111198663A/en
Application granted granted Critical
Publication of CN111198663B publication Critical patent/CN111198663B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了控制数据存取操作的系统。该系统包括一种服务器,服务器的操作系统中安装有虚拟机,虚拟机加载了虚拟功能;固态硬盘;以及存储卸载卡,通过PCIe总线连接符合NVMe的固态硬盘,并且通过PCIe总线连接服务器;存储卸载卡在接收由服务器发送的执行虚拟功能的指示的时候,在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作。还公开了控制数据存取操作的方法和装置以及存储介质。上述方案能够充分利用固态硬盘的性能,提升服务器的运行效率。

Figure 202010006788

The embodiment of the present invention discloses a system for controlling data access operation. The system includes a server, a virtual machine is installed in the operating system of the server, and the virtual machine is loaded with virtual functions; a solid state drive; When receiving the instruction to execute the virtual function sent by the server, the offload card executes the data access operation related to the virtual function in the namespace of the solid state disk. Methods and apparatuses and storage media for controlling data access operations are also disclosed. The above solution can make full use of the performance of the solid-state hard disk and improve the operating efficiency of the server.

Figure 202010006788

Description

控制数据存取操作的方法、系统、装置以及存储介质Method, system, apparatus, and storage medium for controlling data access operations

技术领域technical field

本发明涉及数据存取领域,尤指一种控制数据存取操作的方法、系统、装置以及存储介质。The present invention relates to the field of data access, and in particular, to a method, system, device and storage medium for controlling data access operations.

背景技术Background technique

历史上,大多数固态硬盘使用如SATA(Serial Advanced TechnologyAttachment,串行高级技术附件)、SAS(Serial Attached SCSI,串行连接SCSI)或光纤通道等接口与计算机接口的总线连接。随着固态硬盘在大众市场上的流行,SATA已成为个人电脑中连接SSD的最典型方式;但是,SATA的设计主要是作为机械硬盘驱动器的接口,并随着时间的推移越来越难满足速度日益提高的SSD。随着在大众市场的流行,许多固态硬盘的数据速率提升已经放缓。不同于机械硬盘,部分SSD已受到SATA最大吞吐量的限制。Historically, most solid-state drives were connected to the bus of the computer interface using interfaces such as SATA (Serial Advanced Technology Attachment), SAS (Serial Attached SCSI, Serial Attached SCSI) or Fibre Channel. With the popularity of solid-state drives in the mass market, SATA has become the most typical way to connect SSDs in personal computers; however, SATA was designed primarily as an interface to mechanical hard drives, and over time has become increasingly difficult to keep up with speeds The ever-increasing SSD. Data rate increases have slowed for many solid-state drives as they become popular in the mass market. Unlike mechanical hard drives, some SSDs are already limited by the maximum throughput of SATA.

在NVMe(Non-Volatile Memory express,非易失性内存主机控制器接口规范)出现之前,高端SSD只得以采用PCI Express总线制造,但需使用非标准规范的接口。若使用标准化的SSD接口,操作系统只需要一个驱动程序就能使用匹配规范的所有SSD。这也意味着每个SSD制造商不必用额外的资源来设计特定接口的驱动程序。Before the advent of NVMe (Non-Volatile Memory express, the non-volatile memory host controller interface specification), high-end SSDs could only be manufactured using the PCI Express bus, but with a non-standard interface. If the standardized SSD interface is used, the operating system only needs one driver to use all SSDs that match the specification. This also means that each SSD manufacturer doesn't have to devote additional resources to designing drivers for specific interfaces.

2015年11月,发布了NVM Express管理接口规范(NVMe-MI),为NVMe组件和系统提供带外管理。NVMe-MI提供了跨所有NVMe设备和系统的通用基线管理功能集,以及用于实现可选功能的一致方法。NVMe具体优势包括:性能有数倍的提升;可大幅降低延迟;NVMe可以把最大队列深度从32提升到64000,SSD的IOPS(Input/Output Operations Per Second,每秒进行读写操作的次数)能力也会得到大幅提升。然而,当前符合NVMe标准的固态硬盘在主板直连服务器的CPU的情况下,只能在固态硬盘中创建一个命名空间,当固态硬盘因为执行一个任务而受到占用的时候,固态硬盘不能执行其他任务,造成符合NVMe规范的固态硬盘的性能不能充分应用于服务器,服务器的运行效率有待提高。In November 2015, the NVM Express Management Interface Specification (NVMe-MI) was released to provide out-of-band management for NVMe components and systems. NVMe-MI provides a common baseline management feature set across all NVMe devices and systems, as well as a consistent method for implementing optional features. The specific advantages of NVMe include: performance has been improved several times; latency can be greatly reduced; NVMe can increase the maximum queue depth from 32 to 64,000, and SSD's IOPS (Input/Output Operations Per Second, the number of read and write operations per second) capability. will also be greatly improved. However, the current NVMe-compliant SSDs can only create a namespace in the SSD when the motherboard is directly connected to the server's CPU. When the SSD is occupied by performing one task, the SSD cannot perform other tasks. , resulting in that the performance of the solid-state drive that conforms to the NVMe specification cannot be fully applied to the server, and the operating efficiency of the server needs to be improved.

发明内容SUMMARY OF THE INVENTION

为了解决上述技术问题,本发明提供了控制数据存取操作的方法、系统、装置以及存储介质,能够充分利用固态硬盘的性能,提升服务器的运行效率。In order to solve the above technical problems, the present invention provides a method, system, device and storage medium for controlling data access operations, which can make full use of the performance of the solid state hard disk and improve the operating efficiency of the server.

为了达到本发明目的,本发明实施例提供了一种控制数据存取操作的系统,该系统包括:In order to achieve the purpose of the present invention, an embodiment of the present invention provides a system for controlling data access operations, the system comprising:

服务器,服务器的操作系统中安装有虚拟机,虚拟机加载了虚拟功能;Server, a virtual machine is installed in the operating system of the server, and the virtual machine is loaded with virtual functions;

固态硬盘;以及solid state drives; and

存储卸载卡,通过高速串行计算机扩展总线标准PCIe总线连接符合非易失性内存主机控制器接口规范NVMe的固态硬盘,并且通过高速串行计算机扩展总线标准PCIe总线连接服务器;存储卸载卡在接收由服务器发送的执行虚拟功能的指示的时候,在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作。The storage offload card is connected to the solid state drive conforming to the non-volatile memory host controller interface specification NVMe through the high-speed serial computer expansion bus standard PCIe bus, and is connected to the server through the high-speed serial computer expansion bus standard PCIe bus; the storage offload card is received When the instruction to execute the virtual function is sent by the server, the data access operation related to the virtual function is performed in the namespace of the SSD.

在一个可选的实施例中,服务器的操作系统中创建第一数量的虚拟功能,在服务器的操作系统中安装第一数量的虚拟机,第一数量的虚拟功能之中的每个虚拟功能对应地挂载到第一数量的虚拟机之中的一个虚拟机,第一数量的虚拟功能之中的第二数量的虚拟功能对应地绑定到由第一存储卸载卡控制的第三多个固态硬盘中的命名空间;In an optional embodiment, a first number of virtual functions are created in the operating system of the server, a first number of virtual machines are installed in the operating system of the server, and each virtual function in the first number of virtual functions corresponds to is mounted to one virtual machine among the first number of virtual machines, and a second number of virtual functions among the first number of virtual functions are correspondingly bound to a third plurality of solid-states controlled by the first storage offload card the namespace in the hard disk;

存储卸载卡在执行与第三多个固态硬盘中的命名空间绑定的第二数量的虚拟功能之中的一个或多个虚拟功能的时候,采用存储卸载卡控制一个或多个虚拟功能绑定的命名空间所在的固态硬盘,以在一个或多个虚拟功能绑定的命名空间中执行与一个或多个虚拟功能相关的数据存取操作。When the storage offload card executes one or more virtual functions among the second number of virtual functions bound to the namespaces in the third plurality of solid-state drives, the storage offload card is used to control the binding of one or more virtual functions The SSD where the namespace is located to perform data access operations related to one or more virtual functions in the namespaces bound to one or more virtual functions.

在一个可选的实施例中,存储卸载卡的数量大于一;In an optional embodiment, the number of storage offload cards is greater than one;

在执行第一数量的虚拟机中的第一虚拟机所挂载的第一虚拟功能的时候,寻址到第一存储卸载卡,以由第一存储卸载卡控制第一固态硬盘的命名空间执行与第一虚拟功能相关的数据存取操作;其中,第一虚拟功能所绑定的命名空间在第一固态硬盘中,第一存储卸载卡通过PCIe总线连接并且控制固态硬盘的数据存取操作。When executing the first virtual function mounted on the first virtual machine in the first number of virtual machines, the first storage offload card is addressed, so that the first storage offload card controls the namespace execution of the first solid state drive A data access operation related to the first virtual function; wherein, the namespace bound to the first virtual function is in the first solid state drive, and the first storage offload card is connected through the PCIe bus and controls the data access operation of the solid state drive.

为了解决上述结束问题,本发明实施例提供了一种控制数据存取操作的方法,该方法包括:In order to solve the above-mentioned end problem, an embodiment of the present invention provides a method for controlling a data access operation, the method comprising:

采用服务器向存储卸载卡发送执行在服务器的操作系统中安装的虚拟机加载的虚拟功能的指示;其中,存储卸载卡与服务器通过高速串行计算机扩展总线标准PCIe总线连接;Adopt the server to send the instruction of executing the virtual function loaded by the virtual machine installed in the operating system of the server to the storage unloading card; wherein, the storage unloading card is connected with the server through the high-speed serial computer expansion bus standard PCIe bus;

存储卸载卡控制通过PCIe总线连接到存储卸载卡的符合非易失性内存主机控制器接口规范NVMe的固态硬盘,以在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作。The storage offload card controls the non-volatile memory host controller interface specification NVMe-compliant solid state drive connected to the storage offload card through the PCIe bus to perform data access operations related to virtual functions in the namespace of the solid state drive.

在一个可选的实施例中,在采用服务器向存储卸载卡发送执行在服务器的操作系统中安装的虚拟机加载的虚拟功能的指示的步骤之前,该方法还包括:In an optional embodiment, before the step of using the server to send an instruction to execute the virtual function loaded by the virtual machine installed in the operating system of the server to the storage offload card, the method further includes:

在服务器的操作系统中创建第一数量的虚拟功能;creating a first number of virtual functions in the operating system of the server;

将第一数量的虚拟功能之中的第二数量的虚拟功能对应地绑定到由第一存储卸载卡控制的第三多个固态硬盘中的命名空间;correspondingly binding a second number of virtual functions among the first number of virtual functions to namespaces in the third plurality of solid-state drives controlled by the first storage offload card;

在服务器的操作系统中安装第一数量的虚拟机,并且将第一数量的虚拟功能之中的每个虚拟功能对应地挂载到第一数量的虚拟机之中的一个虚拟机;installing a first number of virtual machines in the operating system of the server, and correspondingly mounting each virtual function among the first number of virtual functions to one virtual machine among the first number of virtual machines;

存储卸载卡控制通过PCIe总线连接到存储卸载卡的符合非易失性内存主机控制器接口规范NVMe的固态硬盘,以在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作的步骤包括:The storage offload card controls the non-volatile memory host controller interface specification NVMe compliant solid state drive connected to the storage offload card through the PCIe bus to perform data access operations related to virtual functions in the namespace of the solid state drive. The steps include: :

在执行与第三多个固态硬盘中的命名空间绑定的第二数量的虚拟功能之中的一个或多个虚拟功能的时候,采用存储卸载卡控制一个或多个虚拟功能绑定的命名空间所在的固态硬盘,以在一个或多个虚拟功能绑定的命名空间中执行与一个或多个虚拟功能相关的数据存取操作。When executing one or more virtual functions among the second number of virtual functions bound to the namespaces in the third plurality of solid-state drives, the storage offload card is used to control the namespaces bound to the one or more virtual functions In order to perform data access operations related to one or more virtual functions in the namespace bound by one or more virtual functions.

在一个可选的实施例中,存储卸载卡的数量大于一;In an optional embodiment, the number of storage offload cards is greater than one;

存储卸载卡控制通过PCIe总线连接到存储卸载卡的符合非易失性内存主机控制器接口规范NVMe的固态硬盘,以在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作的步骤包括:The storage offload card controls the non-volatile memory host controller interface specification NVMe compliant solid state drive connected to the storage offload card through the PCIe bus to perform data access operations related to virtual functions in the namespace of the solid state drive. The steps include: :

在执行第一数量的虚拟机中的第一虚拟机所挂载的第一虚拟功能的时候,寻址到第一存储卸载卡,以由第一存储卸载卡控制第一固态硬盘的命名空间执行与第一虚拟功能相关的数据存取操作;其中,第一虚拟功能所绑定的命名空间在第一固态硬盘中,第一存储卸载卡通过PCIe总线连接并且控制固态硬盘的数据存取操作。When executing the first virtual function mounted on the first virtual machine in the first number of virtual machines, the first storage offload card is addressed, so that the first storage offload card controls the namespace execution of the first solid state drive A data access operation related to the first virtual function; wherein, the namespace bound to the first virtual function is in the first solid state drive, and the first storage offload card is connected through the PCIe bus and controls the data access operation of the solid state drive.

为了解决上述技术问题,本发明实施例提供了一种控制数据存取操作的装置,该装置包括存储器和处理器;In order to solve the above technical problem, an embodiment of the present invention provides an apparatus for controlling a data access operation, the apparatus including a memory and a processor;

存储器用于存储计算机可读指令;memory for storing computer-readable instructions;

处理器用于读取计算机可读指令,以执行如下操作:The processor is used to read computer readable instructions to perform the following operations:

采用服务器向存储卸载卡发送执行在服务器的操作系统中安装的虚拟机加载的虚拟功能的指示;其中,存储卸载卡与服务器通过高速串行计算机扩展总线标准PCIe总线连接;Adopt the server to send the instruction of executing the virtual function loaded by the virtual machine installed in the operating system of the server to the storage unloading card; wherein, the storage unloading card is connected with the server through the high-speed serial computer expansion bus standard PCIe bus;

采用存储卸载卡控制通过PCIe总线连接到存储卸载卡的符合非易失性内存主机控制器接口规范NVMe的固态硬盘,以在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作。The storage offload card is used to control the NVMe-compliant solid state drive connected to the storage offload card through the PCIe bus, so as to perform data access operations related to virtual functions in the namespace of the solid state drive.

在一个可选的实施例中,处理器用于读取执行计算机可读指令,以执行如下操作:In an optional embodiment, the processor is configured to read and execute computer-readable instructions to perform the following operations:

在采用服务器向存储卸载卡发送执行在服务器的操作系统中安装的虚拟机加载的虚拟功能的指示的操作之前,Before adopting the operation of sending the server to the storage offload card an instruction to execute the virtual function loaded by the virtual machine installed in the operating system of the server,

在服务器的操作系统中创建第一数量的虚拟功能;creating a first number of virtual functions in the operating system of the server;

将第一数量的虚拟功能之中的第二数量的虚拟功能对应地绑定到由第一存储卸载卡控制的第三多个固态硬盘中的命名空间;correspondingly binding a second number of virtual functions among the first number of virtual functions to namespaces in the third plurality of solid-state drives controlled by the first storage offload card;

在服务器的操作系统中安装第一数量的虚拟机,并且将第一数量的虚拟功能之中的每个虚拟功能对应地挂载到第一数量的虚拟机之中的一个虚拟机;installing a first number of virtual machines in the operating system of the server, and correspondingly mounting each virtual function among the first number of virtual functions to one virtual machine among the first number of virtual machines;

存储卸载卡控制通过PCIe总线连接到存储卸载卡的符合非易失性内存主机控制器接口规范NVMe的固态硬盘,以在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作的操作包括:The storage offload card controls a non-volatile memory host controller interface specification NVMe compliant solid-state drive connected to the storage offload card through the PCIe bus to perform virtual function-related data access operations in the SSD's namespace. Operations include: :

在执行与第三多个固态硬盘中的命名空间绑定的第二数量的虚拟功能之中的一个或多个虚拟功能的时候,采用存储卸载卡控制一个或多个虚拟功能绑定的命名空间所在的固态硬盘,以在一个或多个虚拟功能绑定的命名空间中执行与一个或多个虚拟功能相关的数据存取操作。When executing one or more virtual functions among the second number of virtual functions bound to the namespaces in the third plurality of solid-state drives, the storage offload card is used to control the namespaces bound to the one or more virtual functions In order to perform data access operations related to one or more virtual functions in the namespace bound by one or more virtual functions.

在一个可选的实施例中,存储卸载卡的数量大于一;In an optional embodiment, the number of storage offload cards is greater than one;

采用存储卸载卡控制通过PCIe总线连接到存储卸载卡的符合非易失性内存主机控制器接口规范NVMe的固态硬盘,以在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作的操作包括:Use the storage offload card to control the non-volatile memory host controller interface specification NVMe-compliant solid-state drive connected to the storage offload card through the PCIe bus to perform virtual function-related data access operations in the SSD's namespace include:

在执行第一数量的虚拟机中的第一虚拟机所挂载的第一虚拟功能的时候,寻址到第一存储卸载卡,以由第一存储卸载卡控制第一固态硬盘的命名空间执行与第一虚拟功能相关的数据存取操作;其中,第一虚拟功能所绑定的命名空间在第一固态硬盘中,第一存储卸载卡通过PCIe总线连接并且控制固态硬盘的数据存取操作。When executing the first virtual function mounted on the first virtual machine in the first number of virtual machines, the first storage offload card is addressed, so that the first storage offload card controls the namespace execution of the first solid state drive A data access operation related to the first virtual function; wherein, the namespace bound to the first virtual function is in the first solid state drive, and the first storage offload card is connected through the PCIe bus and controls the data access operation of the solid state drive.

为了解决上述技术问题,本发明实施例提供功率一种存储介质,该存储介质包括存储的程序,其中,程序被处理器运行时执行上述任意一个实施例描述的方法。In order to solve the above technical problem, an embodiment of the present invention provides a storage medium, the storage medium includes a stored program, wherein the program is executed by a processor to execute the method described in any one of the foregoing embodiments.

由于服务器的操作系统中安装了虚拟机,因此可以控制在操作系统中的虚拟机的数量;因此,服务器可以向存储卸载卡发送执行在操作系统中所安装的多个虚拟机所加载的虚拟功能的指令,存储卸载卡在接收到指令的时候,可以为了虚拟功能的实现而在固态硬盘中创建分别与每个虚拟功能对应的命名空间,并且在命名空间中执行数据存取操作,每个命名空间所执行的数据存取操作是关于与该命名空间对应的虚拟功能的。通过上述方式,可以使符合NVMe规范的固态硬盘同时执行关于多个虚拟功能的数据存取操作,因此充分利用了固态硬盘的性能,满足服务器的性能需求,提高服务器的运行效率。Since virtual machines are installed in the operating system of the server, the number of virtual machines in the operating system can be controlled; therefore, the server can send to the storage offload card to execute virtual functions loaded by a plurality of virtual machines installed in the operating system When receiving the instruction, the storage offload card can create a namespace corresponding to each virtual function in the SSD for the realization of the virtual function, and perform data access operations in the namespace. The data access operations performed by the space are related to the virtual functions corresponding to the namespace. In the above manner, the solid-state drive that conforms to the NVMe specification can perform data access operations related to multiple virtual functions at the same time, thus making full use of the performance of the solid-state drive, meeting the performance requirements of the server, and improving the operating efficiency of the server.

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。Other features and advantages of the present invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention may be realized and attained by the structure particularly pointed out in the description, claims and drawings.

附图说明Description of drawings

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。The accompanying drawings are used to provide a further understanding of the technical solutions of the present invention, and constitute a part of the specification. They are used to explain the technical solutions of the present invention together with the embodiments of the present application, and do not limit the technical solutions of the present invention.

图1为本发明实施例提供的控制数据存取操作的系统的框图;1 is a block diagram of a system for controlling a data access operation provided by an embodiment of the present invention;

图2为本发明实施例提供的控制数据存取操作的方法的流程图;2 is a flowchart of a method for controlling a data access operation provided by an embodiment of the present invention;

图3为本发明实施例提供的控制数据存取操作的装置的框图。FIG. 3 is a block diagram of an apparatus for controlling a data access operation according to an embodiment of the present invention.

具体实施方式Detailed ways

为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。In order to make the objectives, technical solutions and advantages of the present application clearer, the embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that, the embodiments in the present application and the features in the embodiments may be arbitrarily combined with each other if there is no conflict.

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。The steps shown in the flowcharts of the figures may be performed in a computer system, such as a set of computer-executable instructions. Also, although a logical order is shown in the flowcharts, in some cases the steps shown or described may be performed in an order different from that herein.

为了解决上述技术问题,本发明实施例提供了一种控制数据存取操作的系统,如图1所示,该系统包括服务器100、存储卸载卡200和固态硬盘300。In order to solve the above technical problems, an embodiment of the present invention provides a system for controlling data access operations. As shown in FIG. 1 , the system includes a server 100 , a storage offload card 200 and a solid state disk 300 .

其中,in,

在服务器100的操作系统中安装有虚拟机110(以图1为例,图1中服务器100的操作系统中安装了2个虚拟机110),虚拟机110加载了虚拟功能;服务器100可以向存储卸载卡200发送执行虚拟功能的指示。存储卸载卡200通过PCIe(Peripheral ComponentInterconnect express,高速串行计算机扩展总线标准)总线连接符合NVMe规范的固态硬盘,存储卸载卡与服务器通过高速串行计算机扩展总线标准PCIe总线连接。A virtual machine 110 is installed in the operating system of the server 100 (taking FIG. 1 as an example, two virtual machines 110 are installed in the operating system of the server 100 in FIG. 1 ), and the virtual machines 110 are loaded with virtual functions; The offload card 200 sends an instruction to execute the virtual function. The storage offload card 200 is connected to a solid state drive conforming to the NVMe specification through a PCIe (Peripheral Component Interconnect express, high-speed serial computer expansion bus standard) bus, and the storage offload card and the server are connected through a high-speed serial computer expansion bus standard PCIe bus.

当存储卸载卡200接收执行虚拟功能的指示的时候,存储卸载卡200在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作。When the storage offload card 200 receives the instruction to execute the virtual function, the storage offload card 200 performs a data access operation related to the virtual function in the namespace of the solid state disk.

由于服务器的操作系统中安装了虚拟机,因此可以控制在操作系统中的虚拟机的数量;因此,服务器可以向存储卸载卡发送执行在操作系统中所安装的多个虚拟机所加载的虚拟功能的指令,存储卸载卡在接收到指令的时候,可以为了虚拟功能的实现而在固态硬盘中创建分别与每个虚拟功能对应的命名空间,并且在命名空间中执行数据存取操作,每个命名空间所执行的数据存取操作是关于与该命名空间对应的虚拟功能的。通过上述方式,可以使符合NVMe规范的固态硬盘同时执行关于多个虚拟功能的数据存取操作,因此充分利用了固态硬盘的性能,满足服务器的性能需求,提高服务器的运行效率。Since virtual machines are installed in the operating system of the server, the number of virtual machines in the operating system can be controlled; therefore, the server can send to the storage offload card to execute virtual functions loaded by a plurality of virtual machines installed in the operating system When receiving the instruction, the storage offload card can create a namespace corresponding to each virtual function in the SSD for the realization of the virtual function, and perform data access operations in the namespace. The data access operations performed by the space are related to the virtual functions corresponding to the namespace. In the above manner, the solid-state drive that conforms to the NVMe specification can perform data access operations related to multiple virtual functions at the same time, thus making full use of the performance of the solid-state drive, meeting the performance requirements of the server, and improving the operating efficiency of the server.

在一个可选的实施例中,服务器的操作系统中创建第一数量的虚拟功能,在服务器100的操作系统中安装第一数量的虚拟机110,第一数量的虚拟功能之中的每个虚拟功能对应地挂载到第一数量的虚拟机110之中的一个虚拟机110,第一数量的虚拟功能之中的第二数量的虚拟功能对应地绑定到由第一存储卸载卡控制的第三多个固态硬盘中的命名空间;In an optional embodiment, a first number of virtual functions are created in the operating system of the server, a first number of virtual machines 110 are installed in the operating system of the server 100, and each virtual function in the first number of virtual functions is installed The functions are correspondingly mounted to one virtual machine 110 among the first number of virtual machines 110, and the second number of virtual functions among the first number of virtual functions are correspondingly bound to the first number of virtual functions controlled by the first storage offload card. namespaces in more than three SSDs;

存储卸载卡在执行与第三多个固态硬盘中的命名空间绑定的第二数量的虚拟功能之中的一个或多个虚拟功能的时候,采用存储卸载卡控制一个或多个虚拟功能绑定的命名空间所在的固态硬盘,以在一个或多个虚拟功能绑定的命名空间中执行与一个或多个虚拟功能相关的数据存取操作。When the storage offload card executes one or more virtual functions among the second number of virtual functions bound to the namespaces in the third plurality of solid-state drives, the storage offload card is used to control the binding of one or more virtual functions The SSD where the namespace is located to perform data access operations related to one or more virtual functions in the namespaces bound to one or more virtual functions.

在这个实施例中,“第一数量”可以指数量为一,或者数量比一更大。In this embodiment, the "first number" may refer to a number of one, or a number greater than one.

当“第一数量”为一(即,控制数据存取操作的系统中仅包括一个虚拟机),并且控制数据存取操作的系统中仅包括第一存储卸载卡的时候,此时,是第一存储卸载卡控制第三多个数量的固态硬盘,为服务器的操作系统中安装的一个虚拟机提供命名空间,以在命名空间中为虚拟机上加载的虚拟功能提供数据存取操作服务。When the "first number" is one (that is, the system for controlling data access operation includes only one virtual machine), and the system for controlling data access operation includes only the first storage offload card, at this time, it is the first storage offload card. A storage offloading card controls a third plurality of solid-state drives, provides a namespace for a virtual machine installed in the operating system of the server, and provides data access operation services for virtual functions loaded on the virtual machine in the namespace.

当“第一数量”比一更大的时候(即,控制数据存取操作的系统中包括多个虚拟机,多个虚拟机上分别加载了虚拟功能),并且控制数据存取操作的系统中仅包括第一存储卸载卡的时候,此时,第一存储卸载卡控制第三多个数量的固态硬盘,为服务器的操作系统中安装的第一数量的虚拟机提供命名空间,以在命名空间中为虚拟机上加载的虚拟功能提供数据存取操作服务。When the "first number" is greater than one (that is, the system controlling data access operations includes multiple virtual machines, and virtual functions are loaded on the multiple virtual machines), and the system controlling data access operations When only the first storage offload card is included, at this time, the first storage offload card controls a third number of solid-state hard disks, and provides a namespace for the first number of virtual machines installed in the operating system of the server, so as to be in the namespace. Provides data access operation services for virtual functions loaded on virtual machines.

通过上述方式,本发明实施例提供的控制数据存取操作的系统可以适用于该系统包括多个虚拟机、一个存储卸载卡以及多个固态硬盘的情况,或者适用于该系统包括一个虚拟机、一个存储卸载卡以及多个固态硬盘的情况,从而扩展了该系统的适用范围。In the above manner, the system for controlling data access operations provided by the embodiments of the present invention may be applicable to a situation where the system includes multiple virtual machines, a storage offload card, and multiple solid-state hard disks, or the system includes a virtual machine, One storage offload card and multiple solid state drives, thus extending the system's applicability.

在一个可选的实施例中,存储卸载卡200的数量大于一;In an optional embodiment, the number of storage offload cards 200 is greater than one;

在执行第一数量的虚拟机110中的第一虚拟机所挂载的第一虚拟功能的时候,寻址到第一存储卸载卡,以由第一存储卸载卡控制第一固态硬盘的命名空间执行与第一虚拟功能相关的数据存取操作;其中,第一虚拟功能所绑定的命名空间在第一固态硬盘中,第一存储卸载卡通过PCIe总线连接并且控制固态硬盘的数据存取操作。When the first virtual function mounted on the first virtual machine in the first number of virtual machines 110 is executed, the first storage offload card is addressed, so that the first storage offload card controls the namespace of the first solid state drive Execute a data access operation related to the first virtual function; wherein, the namespace bound to the first virtual function is in the first solid state drive, and the first storage offload card is connected through the PCIe bus and controls the data access operation of the solid state drive .

通过上述实施例,本发明实施例提供的控制数据存取操作的系统可以适用于该系统包括多个虚拟机、多个存储卸载卡以及多个固态硬盘的情况,或者适用于该系统包括一个虚拟机、多个存储卸载卡以及多个固态硬盘的情况,从而扩展了该系统的适用范围。Through the foregoing embodiments, the system for controlling data access operations provided by the embodiments of the present invention may be applicable to the case where the system includes multiple virtual machines, multiple storage offload cards, and multiple solid-state hard disks, or the system includes a virtual machine PCs, multiple storage offload cards, and multiple solid-state drives, thus expanding the scope of application of the system.

为了解决上述技术问题,本发明实施例提供了一种控制数据存取操作的方法,如图2所示,该方法包括步骤S101-步骤S103。In order to solve the above technical problem, an embodiment of the present invention provides a method for controlling a data access operation. As shown in FIG. 2 , the method includes steps S101 to S103.

步骤S101,采用服务器向存储卸载卡发送执行在服务器的操作系统中安装的虚拟机加载的虚拟功能的指示;其中,存储卸载卡与服务器通过高速串行计算机扩展总线标准PCIe总线连接。Step S101, the server is used to send an instruction to execute the virtual function loaded by the virtual machine installed in the operating system of the server to the storage offload card; wherein the storage offload card is connected to the server through a high-speed serial computer expansion bus standard PCIe bus.

步骤S103,存储卸载卡控制通过PCIe总线连接到存储卸载卡的符合非易失性内存主机控制器接口规范NVMe的固态硬盘,以在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作。Step S103, the storage offload card controls the solid state drive that is connected to the storage offload card through the PCIe bus and conforms to the non-volatile memory host controller interface specification NVMe, so as to perform data access operations related to virtual functions in the namespace of the solid state drive .

在一个可选的实施例中,在步骤S101之前,该方法还包括:In an optional embodiment, before step S101, the method further includes:

在服务器的操作系统中创建第一数量的虚拟功能;creating a first number of virtual functions in the operating system of the server;

将第一数量的虚拟功能之中的第二数量的虚拟功能对应地绑定到由第一存储卸载卡控制的第三多个固态硬盘中的命名空间;correspondingly binding a second number of virtual functions among the first number of virtual functions to namespaces in the third plurality of solid-state drives controlled by the first storage offload card;

在服务器的操作系统中安装第一数量的虚拟机,并且将第一数量的虚拟功能之中的每个虚拟功能对应地挂载到第一数量的虚拟机之中的一个虚拟机;installing a first number of virtual machines in the operating system of the server, and correspondingly mounting each virtual function among the first number of virtual functions to one virtual machine among the first number of virtual machines;

步骤S103包括:Step S103 includes:

在执行与第三多个固态硬盘中的命名空间绑定的第二数量的虚拟功能之中的一个或多个虚拟功能的时候,采用存储卸载卡控制一个或多个虚拟功能绑定的命名空间所在的固态硬盘,以在一个或多个虚拟功能绑定的命名空间中执行与一个或多个虚拟功能相关的数据存取操作。When executing one or more virtual functions among the second number of virtual functions bound to the namespaces in the third plurality of solid-state drives, the storage offload card is used to control the namespaces bound to the one or more virtual functions In order to perform data access operations related to one or more virtual functions in the namespace bound by one or more virtual functions.

在一个可选的实施例中,存储卸载卡的数量大于一;In an optional embodiment, the number of storage offload cards is greater than one;

存储卸载卡控制通过PCIe总线连接到存储卸载卡的符合非易失性内存主机控制器接口规范NVMe的固态硬盘,以在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作的步骤包括:The storage offload card controls the non-volatile memory host controller interface specification NVMe compliant solid state drive connected to the storage offload card through the PCIe bus to perform data access operations related to virtual functions in the namespace of the solid state drive. The steps include: :

在执行第一数量的虚拟机中的第一虚拟机所挂载的第一虚拟功能的时候,寻址到第一存储卸载卡,以由第一存储卸载卡控制第一固态硬盘的命名空间执行与第一虚拟功能相关的数据存取操作;其中,第一虚拟功能所绑定的命名空间在第一固态硬盘中,第一存储卸载卡通过PCIe总线连接并且控制固态硬盘的数据存取操作。When executing the first virtual function mounted on the first virtual machine in the first number of virtual machines, the first storage offload card is addressed, so that the first storage offload card controls the namespace execution of the first solid state drive A data access operation related to the first virtual function; wherein, the namespace bound to the first virtual function is in the first solid state drive, and the first storage offload card is connected through the PCIe bus and controls the data access operation of the solid state drive.

为了解决上述技术问题,本发明实施例提供了一种控制数据存取操作的装置,如图3所示,该装置包括存储器10和处理器20;In order to solve the above technical problems, an embodiment of the present invention provides an apparatus for controlling data access operations. As shown in FIG. 3 , the apparatus includes a memory 10 and a processor 20;

存储器10用于存储计算机可读指令;memory 10 for storing computer readable instructions;

处理器20用于读取计算机可读指令,以执行如下操作:The processor 20 is adapted to read computer readable instructions to perform the following operations:

采用服务器向存储卸载卡发送执行在服务器的操作系统中安装的虚拟机加载的虚拟功能的指示;其中,存储卸载卡与服务器通过高速串行计算机扩展总线标准PCIe总线连接;Adopt the server to send the instruction of executing the virtual function loaded by the virtual machine installed in the operating system of the server to the storage unloading card; wherein, the storage unloading card is connected with the server through the high-speed serial computer expansion bus standard PCIe bus;

采用存储卸载卡控制通过PCIe总线连接到存储卸载卡的符合非易失性内存主机控制器接口规范NVMe的固态硬盘,以在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作。The storage offload card is used to control the NVMe-compliant solid state drive connected to the storage offload card through the PCIe bus, so as to perform data access operations related to virtual functions in the namespace of the solid state drive.

在一个可选的实施例中,处理器20用于读取执行计算机可读指令,以执行如下操作:In an optional embodiment, the processor 20 is configured to read and execute computer-readable instructions to perform the following operations:

在采用服务器向存储卸载卡发送执行在服务器的操作系统中安装的虚拟机加载的虚拟功能的指示的操作之前,Before adopting the operation of sending the server to the storage offload card an instruction to execute the virtual function loaded by the virtual machine installed in the operating system of the server,

在服务器的操作系统中创建第一数量的虚拟功能;creating a first number of virtual functions in the operating system of the server;

将第一数量的虚拟功能之中的第二数量的虚拟功能对应地绑定到由第一存储卸载卡控制的第三多个固态硬盘中的命名空间;correspondingly binding a second number of virtual functions among the first number of virtual functions to namespaces in the third plurality of solid-state drives controlled by the first storage offload card;

在服务器的操作系统中安装第一数量的虚拟机,并且将第一数量的虚拟功能之中的每个虚拟功能对应地挂载到第一数量的虚拟机之中的一个虚拟机;installing a first number of virtual machines in the operating system of the server, and correspondingly mounting each virtual function among the first number of virtual functions to one virtual machine among the first number of virtual machines;

存储卸载卡控制通过PCIe总线连接到存储卸载卡的符合非易失性内存主机控制器接口规范NVMe的固态硬盘,以在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作的操作包括:The storage offload card controls a non-volatile memory host controller interface specification NVMe compliant solid-state drive connected to the storage offload card through the PCIe bus to perform virtual function-related data access operations in the SSD's namespace. Operations include: :

在执行与第三多个固态硬盘中的命名空间绑定的第二数量的虚拟功能之中的一个或多个虚拟功能的时候,采用存储卸载卡控制一个或多个虚拟功能绑定的命名空间所在的固态硬盘,以在一个或多个虚拟功能绑定的命名空间中执行与一个或多个虚拟功能相关的数据存取操作。When executing one or more virtual functions among the second number of virtual functions bound to the namespaces in the third plurality of solid-state drives, the storage offload card is used to control the namespaces bound to the one or more virtual functions In order to perform data access operations related to one or more virtual functions in the namespace bound by one or more virtual functions.

在一个可选的实施例中,存储卸载卡的数量大于一;In an optional embodiment, the number of storage offload cards is greater than one;

采用存储卸载卡控制通过PCIe总线连接到存储卸载卡的符合非易失性内存主机控制器接口规范NVMe的固态硬盘,以在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作的操作包括:Use the storage offload card to control the non-volatile memory host controller interface specification NVMe-compliant solid-state drive connected to the storage offload card through the PCIe bus to perform virtual function-related data access operations in the SSD's namespace include:

在执行第一数量的虚拟机中的第一虚拟机所挂载的第一虚拟功能的时候,寻址到第一存储卸载卡,以由第一存储卸载卡控制第一固态硬盘的命名空间执行与第一虚拟功能相关的数据存取操作;其中,第一虚拟功能所绑定的命名空间在第一固态硬盘中,第一存储卸载卡通过PCIe总线连接并且控制固态硬盘的数据存取操作。When executing the first virtual function mounted on the first virtual machine in the first number of virtual machines, the first storage offload card is addressed, so that the first storage offload card controls the namespace execution of the first solid state drive A data access operation related to the first virtual function; wherein, the namespace bound to the first virtual function is in the first solid state drive, and the first storage offload card is connected through the PCIe bus and controls the data access operation of the solid state drive.

为了解决上述技术问题,本发明实施例提供了一种存储介质,该存储介质包括存储的程序,其中,该程序被处理器运行时执行上述发明实施例中任一项描述的方法。In order to solve the above technical problem, an embodiment of the present invention provides a storage medium, where the storage medium includes a stored program, wherein the program is executed by a processor to execute the method described in any one of the above embodiments of the present invention.

虽然本发明所揭露的实施方式如上,但上述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。Although the embodiments disclosed in the present invention are as above, the above content is only an embodiment adopted to facilitate understanding of the present invention, and is not intended to limit the present invention. Any person skilled in the art to which the present invention belongs, without departing from the spirit and scope disclosed by the present invention, can make any modifications and changes in the form and details of the implementation, but the scope of the patent protection of the present invention still needs to be The scope defined by the appended claims shall prevail.

Claims (7)

1. A system for controlling data access operations, comprising:
the system comprises a server, wherein a virtual machine is installed in an operating system of the server, and the virtual machine is loaded with a virtual function;
a solid state disk; and
the storage unloading card is connected with the solid state disk which accords with the NVMe (nonvolatile memory host controller interface specification) through a PCIe (peripheral component interconnect express) bus of a high-speed serial computer expansion bus standard and is connected with the server through the PCIe bus of the high-speed serial computer expansion bus standard; when the storage unloading card receives the instruction sent by the server to execute the virtual function, executing data access operation related to the virtual function in the name space of the solid state disk; wherein the number of the storage uninstalling cards is more than one;
when a first virtual function mounted by a first virtual machine in a first number of virtual machines is executed, a first storage unloading card is addressed, so that the first storage unloading card controls a namespace of a first solid state disk to execute data access operation related to the first virtual function; the name space bound by the first virtual function is in the first solid state disk, and the first storage unloading card is connected through a PCIe bus and controls data access operation of the solid state disk.
2. The system of claim 1, wherein a first number of virtual functions are created in the operating system of the server, a first number of virtual machines are installed in the operating system of the server, each virtual function among the first number of virtual functions is correspondingly mounted to one virtual machine among the first number of virtual machines, a second number of virtual functions among the first number of virtual functions is correspondingly bound to a namespace in a third plurality of the solid state disks controlled by a first storage offload card;
and when the storage unloading card executes one or more virtual functions in the second number of virtual functions bound with the name spaces in the third plurality of solid state disks, the storage unloading card is adopted to control the solid state disk where the name spaces bound with the one or more virtual functions are located so as to execute data access operation related to the one or more virtual functions in the name spaces bound with the one or more virtual functions.
3. A method of controlling data access operations, comprising:
sending, with a server, an indication to a storage offload card to execute a virtual function loaded by a virtual machine installed in an operating system of the server; the storage unloading card is connected with the server through a high-speed serial computer expansion bus standard PCIe bus;
the storage unloading card controls a solid state disk which is connected to the storage unloading card through a PCIe bus and accords with a non-volatile memory host controller interface specification (NVMe), so that data access operation related to the virtual function is executed in a name space of the solid state disk; wherein the number of the storage uninstalling cards is more than one;
the storage unloading card controls a solid state disk which is connected to the storage unloading card through a PCIe bus and conforms to the NVMe (non-volatile memory host controller interface Specification), so that the step of executing data access operation related to the virtual function in a namespace of the solid state disk comprises the following steps:
when a first virtual function mounted by a first virtual machine in a first number of virtual machines is executed, a first storage unloading card is addressed, so that the first storage unloading card controls a namespace of a first solid state disk to execute data access operation related to the first virtual function; the name space bound by the first virtual function is in the first solid state disk, and the first storage unloading card is connected through a PCIe bus and controls data access operation of the solid state disk.
4. The method of claim 3, wherein prior to the step of sending, with the server, to a storage offload card, an indication to perform a virtual function loaded by a virtual machine installed in an operating system of the server, the method further comprises:
creating a first number of virtual functions in an operating system of the server;
correspondingly binding a second number of virtual functions in the first number of virtual functions to namespaces in a third plurality of solid state disks controlled by a first storage offload card;
installing a first number of virtual machines in an operating system of the server and correspondingly mounting each virtual function among the first number of virtual functions to one virtual machine among the first number of virtual machines;
the storage unloading card controls a solid state disk which is connected to the storage unloading card through a PCIe bus and conforms to the NVMe (non-volatile memory host controller interface Specification), so that the step of executing data access operation related to the virtual function in a namespace of the solid state disk comprises the following steps:
when one or more virtual functions in the second number of virtual functions bound to the name space in the third plurality of solid state disks are executed, the storage uninstall card is adopted to control the solid state disk where the name space bound by the one or more virtual functions is located, so as to execute data access operation related to the one or more virtual functions in the name space bound by the one or more virtual functions.
5. An apparatus for controlling data access operations, comprising a memory and a processor;
the memory is to store computer readable instructions;
the processor is configured to read the computer readable instructions to perform the following operations:
sending, with a server, to a storage offload card, an indication to perform a virtual function loaded by a virtual machine installed in an operating system of the server; the storage unloading card is connected with the server through a high-speed serial computer expansion bus standard PCIe bus;
the storage unloading card is adopted to control a solid state disk which is connected to the storage unloading card through a PCIe bus and accords with the NVMe (non-volatile memory host controller interface specification) so as to execute data access operation related to the virtual function in a name space of the solid state disk; wherein the number of the storage uninstalling cards is more than one;
the operation of controlling, by using the storage offload card, the solid state disk which is connected to the storage offload card through a PCIe bus and conforms to the NVMe specification, so as to execute the data access operation related to the virtual function in the namespace of the solid state disk includes:
when a first virtual function mounted by a first virtual machine in a first number of virtual machines is executed, a first storage unloading card is addressed, so that the first storage unloading card controls a namespace of a first solid state disk to execute data access operation related to the first virtual function; the name space bound by the first virtual function is in the first solid state disk, and the first storage unloading card is connected through a PCIe bus and controls data access operation of the solid state disk.
6. The apparatus of claim 5, wherein the processor is configured to read and execute the computer-readable instructions to:
prior to the operation of the adoption server sending an indication to a storage offload card to perform a virtual function loaded by a virtual machine installed in an operating system of the server,
creating a first number of virtual functions in an operating system of the server;
correspondingly binding a second number of virtual functions in the first number of virtual functions to namespaces in a third plurality of solid state disks controlled by a first storage offload card;
installing a first number of virtual machines in an operating system of the server and correspondingly mounting each virtual function among the first number of virtual functions to one virtual machine among the first number of virtual machines;
the operation that the storage unloading card controls a solid state disk which is connected to the storage unloading card through a PCIe bus and conforms to the NVMe (non-volatile memory host controller interface Specification), so that data access operation related to the virtual function is executed in a namespace of the solid state disk comprises the following operations:
when one or more virtual functions in the second number of virtual functions bound to the name space in the third plurality of solid state disks are executed, the storage uninstall card is adopted to control the solid state disk where the name space bound by the one or more virtual functions is located, so as to execute data access operation related to the one or more virtual functions in the name space bound by the one or more virtual functions.
7. A storage medium, comprising a stored program, wherein the program, when executed by a processor, performs the method of any of claims 3-4.
CN202010006788.2A 2020-01-03 2020-01-03 Method, system, apparatus and storage medium for controlling data access operation Active CN111198663B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010006788.2A CN111198663B (en) 2020-01-03 2020-01-03 Method, system, apparatus and storage medium for controlling data access operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010006788.2A CN111198663B (en) 2020-01-03 2020-01-03 Method, system, apparatus and storage medium for controlling data access operation

Publications (2)

Publication Number Publication Date
CN111198663A CN111198663A (en) 2020-05-26
CN111198663B true CN111198663B (en) 2022-09-20

Family

ID=70746668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010006788.2A Active CN111198663B (en) 2020-01-03 2020-01-03 Method, system, apparatus and storage medium for controlling data access operation

Country Status (1)

Country Link
CN (1) CN111198663B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11733920B2 (en) * 2020-09-10 2023-08-22 Western Digital Technologies, Inc. NVMe simple copy command support using dummy virtual function
CN112202855A (en) * 2020-09-18 2021-01-08 北京金山云网络技术有限公司 Communication device for storing bare metal server and elastic block, intelligent network card and system
CN114528032B (en) * 2020-10-30 2024-11-22 华为云计算技术有限公司 A server system and a data processing method
CN112506822B (en) * 2020-12-04 2023-06-02 四川效率源信息安全技术股份有限公司 Method for mounting hard disk by PCIE card
CN114691286A (en) * 2020-12-29 2022-07-01 华为云计算技术有限公司 Server system, virtual machine creation method and device
CN114691037B (en) * 2022-03-18 2025-03-07 阿里巴巴(中国)有限公司 Uninstall card namespace management, input and output request processing system and method
CN114780207B (en) * 2022-04-29 2024-10-18 苏州浪潮智能科技有限公司 Automatic testing method, device and system for loads of multiple virtual machines of solid state disk
CN115421854A (en) * 2022-08-24 2022-12-02 阿里巴巴(中国)有限公司 Storage system, method and hardware unloading card

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064632A (en) * 2012-12-04 2013-04-24 记忆科技(深圳)有限公司 Solid state disk and virtualization method and virtualization system thereof
CN106610789A (en) * 2015-10-26 2017-05-03 华为技术有限公司 Data processing method, device and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9501245B2 (en) * 2014-05-02 2016-11-22 Cavium, Inc. Systems and methods for NVMe controller virtualization to support multiple virtual machines running on a host

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064632A (en) * 2012-12-04 2013-04-24 记忆科技(深圳)有限公司 Solid state disk and virtualization method and virtualization system thereof
CN106610789A (en) * 2015-10-26 2017-05-03 华为技术有限公司 Data processing method, device and system

Also Published As

Publication number Publication date
CN111198663A (en) 2020-05-26

Similar Documents

Publication Publication Date Title
CN111198663B (en) Method, system, apparatus and storage medium for controlling data access operation
US10866912B2 (en) Integrated heterogeneous solid state storage drive
US8380922B1 (en) Data storage device comprising host interface state machine blocking on target logical block address
KR102744550B1 (en) Data storage device and operating method thereof
US8185759B1 (en) Methods and systems for interfacing bus powered devices with host devices providing limited power levels
CN107256363B (en) A high-speed encryption and decryption device composed of an array of encryption and decryption modules
US20060218324A1 (en) Systems and methods for flexible data transfers in SDIO and/or MMC
CN101681253B (en) Secure and scalable solid state disk system
CN101663654A (en) Hints model for optimization of storage devices connected to a host and write optimization scheme for storage devices
CN101311911A (en) Staging memory system and data migration method thereof
US10042585B2 (en) Pervasive drive operating statistics on SAS drives
US10664193B2 (en) Storage system for improved efficiency of parity generation and minimized processor load
US20160139995A1 (en) Information processing apparatus, memory dump method, and storage medium
CN107203480B (en) Data prefetching method and device
US20080301381A1 (en) Device and method for controlling commands used for flash memory
WO2025195083A1 (en) Information providing method and apparatus applied to server of edge computing cluster
CN118312102A (en) IO request processing method, device, storage device and storage medium
CN111399771A (en) A kind of protocol configuration method, device and equipment of MCS storage system
US8667188B2 (en) Communication between a computer and a data storage device
US12379863B2 (en) Optimized file storage strategy for increasing usability of key files
US20230134506A1 (en) System and method for managing vm images for high-performance virtual desktop services
US20250238136A1 (en) Methods for reducing boot time of storage devices
CN100370406C (en) Serial ATA interface system with fast data access function and method thereof
KR20170127691A (en) Storage device and method of operating the same
JP4800701B2 (en) Computer system

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province

Patentee after: Suzhou Yuannao Intelligent Technology Co.,Ltd.

Country or region after: China

Address before: Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province

Patentee before: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Country or region before: China