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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI 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总线连接服务器;存储卸载卡在接收由服务器发送的执行虚拟功能的指示的时候,在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作。还公开了控制数据存取操作的方法和装置以及存储介质。上述方案能够充分利用固态硬盘的性能,提升服务器的运行效率。
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.
Description
技术领域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
其中,in,
在服务器100的操作系统中安装有虚拟机110(以图1为例,图1中服务器100的操作系统中安装了2个虚拟机110),虚拟机110加载了虚拟功能;服务器100可以向存储卸载卡200发送执行虚拟功能的指示。存储卸载卡200通过PCIe(Peripheral ComponentInterconnect express,高速串行计算机扩展总线标准)总线连接符合NVMe规范的固态硬盘,存储卸载卡与服务器通过高速串行计算机扩展总线标准PCIe总线连接。A
当存储卸载卡200接收执行虚拟功能的指示的时候,存储卸载卡200在固态硬盘的命名空间中执行与虚拟功能相关的数据存取操作。When the
由于服务器的操作系统中安装了虚拟机,因此可以控制在操作系统中的虚拟机的数量;因此,服务器可以向存储卸载卡发送执行在操作系统中所安装的多个虚拟机所加载的虚拟功能的指令,存储卸载卡在接收到指令的时候,可以为了虚拟功能的实现而在固态硬盘中创建分别与每个虚拟功能对应的命名空间,并且在命名空间中执行数据存取操作,每个命名空间所执行的数据存取操作是关于与该命名空间对应的虚拟功能的。通过上述方式,可以使符合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
存储卸载卡在执行与第三多个固态硬盘中的命名空间绑定的第二数量的虚拟功能之中的一个或多个虚拟功能的时候,采用存储卸载卡控制一个或多个虚拟功能绑定的命名空间所在的固态硬盘,以在一个或多个虚拟功能绑定的命名空间中执行与一个或多个虚拟功能相关的数据存取操作。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
在执行第一数量的虚拟机110中的第一虚拟机所挂载的第一虚拟功能的时候,寻址到第一存储卸载卡,以由第一存储卸载卡控制第一固态硬盘的命名空间执行与第一虚拟功能相关的数据存取操作;其中,第一虚拟功能所绑定的命名空间在第一固态硬盘中,第一存储卸载卡通过PCIe总线连接并且控制固态硬盘的数据存取操作。When the first virtual function mounted on the first virtual machine in the first number of
通过上述实施例,本发明实施例提供的控制数据存取操作的系统可以适用于该系统包括多个虚拟机、多个存储卸载卡以及多个固态硬盘的情况,或者适用于该系统包括一个虚拟机、多个存储卸载卡以及多个固态硬盘的情况,从而扩展了该系统的适用范围。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
存储器10用于存储计算机可读指令;
处理器20用于读取计算机可读指令,以执行如下操作:The
采用服务器向存储卸载卡发送执行在服务器的操作系统中安装的虚拟机加载的虚拟功能的指示;其中,存储卸载卡与服务器通过高速串行计算机扩展总线标准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
在采用服务器向存储卸载卡发送执行在服务器的操作系统中安装的虚拟机加载的虚拟功能的指示的操作之前,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)
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)
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)
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)
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 |
-
2020
- 2020-01-03 CN CN202010006788.2A patent/CN111198663B/en active Active
Patent Citations (2)
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 |