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
- state disk
- server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 22
- 239000007787 solid Substances 0.000 claims abstract description 122
- 230000006870 function Effects 0.000 claims description 168
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000013403 standard screening design Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/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; CALCULATING OR 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
Abstract
The embodiment of the invention discloses a system for controlling data access operation. 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; the storage unloading card is connected with the NVMe-compliant solid state disk through a PCIe bus and is connected with the server through the PCIe bus; the storage unloading card executes data access operation related to the virtual function in the name space of the solid state disk when receiving the instruction sent by the server to execute the virtual function. Methods and apparatus for controlling data access operations and storage media are also disclosed. According to the scheme, the performance of the solid state disk can be fully utilized, and the operating efficiency of the server is improved.
Description
Technical Field
The present invention relates to the field of data access, and more particularly, to a method, system, apparatus, and storage medium for controlling data access operations.
Background
Historically, most solid state drives have been connected to the bus of the computer interface using interfaces such as SATA (Serial Advanced Technology Attachment), SAS (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 is designed primarily as an interface to mechanical hard disk drives and has become increasingly difficult to meet with the increasing speed of SSDs over time. With the popularity in the mass market, the data rate increase of many solid state drives has been slowed down. Unlike mechanical hard disks, some SSDs have been limited by SATA maximum throughput.
Before the advent of NVMe (Non-Volatile Memory host controller interface specification), high-end SSDs were only manufactured using the PCI Express bus, but required Non-standard specification interfaces. If a 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 does not have to use extra resources to design drivers for a particular interface.
11/2015, 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 functionality set across all NVMe devices and systems, as well as a consistent method for implementing optional functionality. Specific advantages of NVMe include: the performance is improved by multiple times; delay can be greatly reduced; NVMe can raise the maximum queue depth from 32 to 64000, and the IOPS (Input/Output Operations Per Second) capability of SSD is greatly increased. However, in the case that the current solid state disk conforming to the NVMe standard is directly connected to the CPU of the server on the motherboard, only one namespace can be created in the solid state disk, and when the solid state disk is occupied by executing one task, the solid state disk cannot execute other tasks, so that the performance of the solid state disk conforming to the NVMe standard cannot be sufficiently applied to the server, and the operating efficiency of the server needs to be improved.
Disclosure of Invention
In order to solve the technical problems, the invention provides a method, a system, a device and a storage medium for controlling data access operation, which can make full use of the performance of a solid state disk and improve the operating efficiency of a server.
To achieve the object, an embodiment of the present invention provides a system for controlling data access operation, including:
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; the storage unloading card executes data access operation related to the virtual function in the name space of the solid state disk when receiving the instruction sent by the server to execute the virtual function.
In an alternative embodiment, a first number of virtual functions are created in an operating system of a server, the first number of virtual machines are installed in the operating system of the server, each virtual function in the first number of virtual functions is correspondingly mounted to one virtual machine in the first number of virtual machines, and a second number of virtual functions in the first number of virtual functions is correspondingly bound to a namespace in a third plurality of 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 namespaces in the third plurality of solid state disks, the storage unloading card is adopted to control the solid state disk where the namespaces 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 namespaces bound with the one or more virtual functions.
In an alternative embodiment, the number of memory offload cards is greater than one;
when a first virtual function mounted on a first virtual machine in the first number of virtual machines is executed, the first storage unloading card is addressed, so that the first storage unloading card controls a namespace of the 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.
To solve the above-mentioned end problem, an embodiment of the present invention provides a method for controlling a data access operation, where the method includes:
sending, with the 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 conforms to NVMe (non-volatile memory host controller interface Specification) so as to execute data access operation related to virtual functions in a name space of the solid state disk.
In an alternative embodiment, before the step of sending, with the server, to the 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 a server;
correspondingly binding a second number of virtual functions from among the first number of virtual functions to namespaces in a third plurality of solid state disks controlled by the first storage offload card;
installing a first number of virtual machines in an operating system of a 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 method for controlling the solid state disk which is connected to the storage uninstalling card through the PCIe bus and conforms to the NVMe (non-volatile memory host controller interface Specification) so as to execute data access operation related to virtual functions in the namespace of the solid state disk comprises the following steps of:
and when executing one or more virtual functions in the second number of virtual functions bound with the namespaces in the third plurality of solid state disks, controlling the solid state disk where the namespaces bound with the one or more virtual functions are located by using the storage unloading card so as to execute data access operation related to the one or more virtual functions in the namespaces bound with the one or more virtual functions.
In an alternative embodiment, the number of memory offload cards is greater than one;
the method for controlling the solid state disk which is connected to the storage uninstalling card through the PCIe bus and conforms to the NVMe (non-volatile memory host controller interface Specification) so as to execute data access operation related to virtual functions in the namespace of the solid state disk comprises the following steps of:
when a first virtual function mounted on a first virtual machine in the first number of virtual machines is executed, the first storage unloading card is addressed, so that the first storage unloading card controls a namespace of the 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.
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;
the memory is to store computer readable instructions;
the processor is used for reading the computer readable instructions to execute the following operations:
sending, with the 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;
and controlling the 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) by adopting the storage unloading card so as to execute data access operation related to virtual functions in a namespace of the solid state disk.
In an alternative embodiment, the processor is configured to read and execute computer-readable instructions to perform the following operations:
prior to an operation of sending with the server to the storage offload card an indication to execute 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 a server;
correspondingly binding a second number of virtual functions among the first number of virtual functions to namespaces in a third plurality of solid state drives controlled by the first storage offload card;
installing a first number of virtual machines in an operating system of a 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 the solid state disk which is connected to the storage unloading card through the PCIe bus and conforms to the NVMe of the non-volatile memory host controller interface specification to execute the data access operation related to the virtual function in the name space of the solid state disk comprises the following operations:
and when executing one or more virtual functions in the second number of virtual functions bound with the namespaces in the third plurality of solid state disks, controlling the solid state disk where the namespaces bound with the one or more virtual functions are located by using the storage unloading card so as to execute data access operation related to the one or more virtual functions in the namespaces bound with the one or more virtual functions.
In an alternative embodiment, the number of memory offload cards is greater than one;
the operation of controlling, by a storage offload card, a solid state disk that conforms to the NVMe specification connected to the storage offload card through a PCIe bus to execute a data access operation related to a virtual function in a namespace of the solid state disk includes:
when a first virtual function mounted on a first virtual machine in the first number of virtual machines is executed, the first storage unloading card is addressed, so that the first storage unloading card controls a namespace of the 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.
In order to solve the above technical problem, an embodiment of the present invention provides a storage medium including a stored program, wherein the program, when executed by a processor, performs the method described in any one of the above embodiments.
Because the virtual machines are installed in the operating system of the server, the number of the virtual machines in the operating system can be controlled; therefore, the server may send instructions to the storage offload card to execute virtual functions loaded by a plurality of virtual machines installed in the operating system, and the storage offload card, upon receiving the instructions, may create namespaces respectively corresponding to each virtual function in the solid state disk for the implementation of the virtual functions, and perform data access operations in the namespaces, the data access operations performed by each namespace being with respect to the virtual function corresponding to the namespace. Through the mode, the solid state disk which accords with the NVMe specification can execute data access operation related to a plurality of virtual functions at the same time, so that the performance of the solid state disk is fully utilized, the performance requirement of the server is met, and the operating efficiency of the server is improved.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
The accompanying drawings are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the example serve to explain the principles of the invention and not to limit the invention.
FIG. 1 is a block diagram of a system for controlling data access operations according to an embodiment of the present invention;
FIG. 2 is a flow chart of a method for controlling data access operations according to an embodiment of the present invention;
FIG. 3 is a block diagram of an apparatus for controlling data access operations according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that the embodiments and features of the embodiments in the present application may be arbitrarily combined with each other without conflict.
The steps illustrated in the flow charts of the figures may be performed in a computer system such as a set of computer-executable instructions. Also, while a logical order is shown in the flow diagrams, in some cases, the steps shown or described may be performed in an order different than here.
In order to solve the above technical problem, an embodiment of the present invention provides a system for controlling data access operation, as shown in fig. 1, the system includes a server 100, a storage offload card 200, and a solid state disk 300.
Wherein the content of the first and second substances,
a virtual machine 110 is installed in the operating system of the server 100 (taking fig. 1 as an example, 2 virtual machines 110 are installed in the operating system of the server 100 in fig. 1), and a virtual function is loaded in the virtual machine 110; the server 100 may send an indication to the storage offload card 200 to perform the virtual function. The storage offload card 200 is connected to the solid state disk conforming to the NVMe specification via a PCIe (Peripheral Component Interconnect express) bus, and the storage offload card is connected to the server via a PCIe bus, which is a high-speed serial computer expansion bus standard.
When the storage offload card 200 receives an indication to perform a virtual function, the storage offload card 200 performs a data access operation associated with the virtual function in the namespace of the solid state disk.
Because the virtual machines are installed in the operating system of the server, the number of the virtual machines in the operating system can be controlled; therefore, the server may send an instruction to the storage offload card to execute a virtual function loaded by a plurality of virtual machines installed in the operating system, and the storage offload card may create, when receiving the instruction, a namespace corresponding to each virtual function in the solid state disk for implementation of the virtual function, respectively, and perform a data access operation in the namespace, the data access operation performed by each namespace being with respect to the virtual function corresponding to the namespace. Through the mode, the solid state disk which accords with the NVMe specification can execute data access operation related to a plurality of virtual functions at the same time, so that the performance of the solid state disk is fully utilized, the performance requirement of the server is met, and the operating efficiency of the server is improved.
In an alternative embodiment, a first number of virtual functions are created in the operating system of the server, the first number of virtual machines 110 are installed in the operating system of the server 100, each virtual function of the first number of virtual functions is correspondingly mounted to one virtual machine 110 of the first number of virtual machines 110, and a second number of virtual functions of the first number of virtual functions is correspondingly bound to a namespace in a third plurality of solid state drives controlled by the 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 namespaces in the third plurality of solid state disks, the storage unloading card is adopted to control the solid state disk where the namespaces 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 namespaces bound with the one or more virtual functions.
In this embodiment, "first number" may refer to a number of one, or a number greater than one.
When the "first number" is one (that is, only one virtual machine is included in the system for controlling data access operations), and only the first storage offload card is included in the system for controlling data access operations, in this case, the first storage offload card controls the third number of solid state disks, and provides a namespace for one virtual machine installed in the operating system of the server, so as to provide data access operation services for the virtual functions loaded on the virtual machine in the namespace.
When the "first number" is larger than one (that is, the system for controlling the data access operation includes a plurality of virtual machines on which virtual functions are loaded, respectively), and the system for controlling the data access operation includes only the first storage offload card, at this time, the first storage offload card controls the third number of solid state disks to provide a namespace for the first number of virtual machines installed in the operating system of the server, so as to provide data access operation services for the virtual functions loaded on the virtual machines in the namespace.
Through the above manner, the system for controlling data access operation provided by the embodiment of the present invention is applicable to a case where the system includes a plurality of virtual machines, a storage offload card, and a plurality of solid state disks, or is applicable to a case where the system includes a virtual machine, a storage offload card, and a plurality of solid state disks, so as to expand an application range of the system.
In an alternative embodiment, the number of storage offload cards 200 is greater than one;
while executing a first virtual function mounted by a first virtual machine of the first number of virtual machines 110, addressing a first storage offload card to control a namespace of the first solid state disk to execute a data access operation related to the first virtual function by the first storage offload card; 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.
Through the above embodiments, the system for controlling data access operations provided in the embodiments of the present invention may be applied to a case where the system includes a plurality of virtual machines, a plurality of storage offload cards, and a plurality of solid state disks, or to a case where the system includes one virtual machine, a plurality of storage offload cards, and a plurality of solid state disks, so as to expand an application range of the system.
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.
Step S101, sending an instruction for executing a virtual function loaded by a virtual machine installed in an operating system of a server to a storage unloading card by adopting the server; the storage unloading card is connected with the server through a high-speed serial computer expansion bus standard PCIe bus.
Step S103, the storage offload card controls the solid state disk, which is connected to the storage offload card through the PCIe bus and conforms to the NVMe specification, so as to execute data access operations related to virtual functions in a namespace of the solid state disk.
In an optional embodiment, before step S101, the method further comprises:
creating a first number of virtual functions in an operating system of a server;
correspondingly binding a second number of virtual functions from among the first number of virtual functions to namespaces in a third plurality of solid state disks controlled by the first storage offload card;
installing a first number of virtual machines in an operating system of a 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;
step S103 includes:
and when executing one or more virtual functions in the second number of virtual functions bound with the namespaces in the third plurality of solid state disks, controlling the solid state disk where the namespaces bound with the one or more virtual functions are located by using the storage unloading card so as to execute data access operation related to the one or more virtual functions in the namespaces bound with the one or more virtual functions.
In an alternative embodiment, the number of memory offload cards is greater than one;
the method for controlling the solid state disk which is connected to the storage uninstalling card through the PCIe bus and conforms to the NVMe (non-volatile memory host controller interface Specification) so as to execute data access operation related to virtual functions in the namespace of the solid state disk comprises the following steps of:
when a first virtual function mounted on a first virtual machine in the first number of virtual machines is executed, the first storage unloading card is addressed, so that the first storage unloading card controls a namespace of the 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.
In order to solve the above technical problem, an embodiment of the present invention provides an apparatus for controlling data access operation, as shown in fig. 3, the apparatus includes a memory 10 and a processor 20;
the processor 20 is configured to read the computer readable instructions to perform the following operations:
sending, with the 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;
and controlling the 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) by adopting the storage unloading card so as to execute data access operation related to virtual functions in a namespace of the solid state disk.
In an alternative embodiment, processor 20 is configured to read and execute computer readable instructions to perform the following operations:
prior to an operation of sending with the server to the storage offload card an indication to execute 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 a server;
correspondingly binding a second number of virtual functions from among the first number of virtual functions to namespaces in a third plurality of solid state disks controlled by the first storage offload card;
installing a first number of virtual machines in an operating system of a 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 the solid state disk which is connected to the storage unloading card through the PCIe bus and conforms to the NVMe of the non-volatile memory host controller interface specification to execute the data access operation related to the virtual function in the name space of the solid state disk comprises the following operations:
and when executing one or more virtual functions in the second number of virtual functions bound with the namespaces in the third plurality of solid state disks, controlling the solid state disk where the namespaces bound with the one or more virtual functions are located by using the storage unloading card so as to execute data access operation related to the one or more virtual functions in the namespaces bound with the one or more virtual functions.
In an alternative embodiment, the number of memory offload cards is greater than one;
the operation of controlling, by a storage offload card, a solid state disk that conforms to the NVMe specification connected to the storage offload card through a PCIe bus to execute a data access operation related to a virtual function in a namespace of the solid state disk includes:
when a first virtual function mounted on a first virtual machine in the first number of virtual machines is executed, the first storage unloading card is addressed, so that the first storage unloading card controls a namespace of the 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.
In order to solve the technical problem, an embodiment of the present invention provides a storage medium including a stored program, wherein the program, when executed by a processor, performs the method described in any one of the above embodiments of the present invention.
Although the embodiments of the present invention have been described above, the above description is only for the purpose of understanding the present invention, and is not intended to limit the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
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.
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 (6)
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 |
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 |
CN114691037A (en) * | 2022-03-18 | 2022-07-01 | 阿里巴巴(中国)有限公司 | System and method for managing unloading card name space and processing input/output request |
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 | |
CN113377283B (en) | Memory system with partitioned namespaces and method of operation thereof | |
US10866912B2 (en) | Integrated heterogeneous solid state storage drive | |
AU2007248886B2 (en) | Converting machines to virtual machines | |
EP3493067B1 (en) | Extended utilization area for a memory device | |
US20080005462A1 (en) | Method of configuring non-volatile memory for a hybrid disk drive | |
US20120110259A1 (en) | Tiered data storage system with data management and method of operation thereof | |
US20160253093A1 (en) | A new USB protocol based computer acceleration device using multi I/O channel SLC NAND and DRAM cache | |
US8296521B2 (en) | Method of configuring non-volatile memory for a hybrid disk drive | |
US8392670B2 (en) | Performance management of access to flash memory in a storage device | |
US20150006795A1 (en) | Memory controller for providing a plurality of defined areas of a mass storage medium as independent mass memories to a master operating system core for exclusive provision to virtual machines | |
US20180107499A1 (en) | Active drive | |
CN107526616B (en) | Method and device for writing and reading data of BMC by host | |
US20130046921A1 (en) | Method of configuring non-volatile memory for a hybrid disk drive | |
US20080301381A1 (en) | Device and method for controlling commands used for flash memory | |
US8713278B2 (en) | System and method for stranded file opens during disk compression utility requests | |
US8661237B2 (en) | System and method for booting a plurality of servers from a shared boot image stored on a USB boot image sharer | |
CN101645048B (en) | Method for realizing computer virtualized evidence obtaining | |
CN111176566B (en) | eMMC read-write control method supporting queue command and storage medium | |
CN111399771B (en) | Protocol configuration method, device and equipment of MCS storage system | |
US20210240605A1 (en) | Storage system with file priority mechanism and method of operation thereof | |
US6697866B1 (en) | Access control method for data stored in fixed-block length format in computer configurations utilizing variable length data format interfaces | |
CN103942007A (en) | RAID controller and command processing method thereof | |
TW201443647A (en) | Tiered data storage system with data management and method of operation thereof | |
US8667188B2 (en) | Communication between a computer and a data storage device |
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 |