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

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

Info

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

Links

Images

Classifications

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

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

Method, system, apparatus and storage medium for controlling data access operation
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;
memory 10 is used to store computer readable instructions;
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.
CN202010006788.2A 2020-01-03 2020-01-03 Method, system, apparatus and storage medium for controlling data access operation Active CN111198663B (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

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

Family

ID=70746668

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN111198663B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11733920B2 (en) * 2020-09-10 2023-08-22 Western Digital Technologies, Inc. NVMe simple copy command support using dummy virtual function
CN112202855A (en) * 2020-09-18 2021-01-08 北京金山云网络技术有限公司 Communication device for storing bare metal server and elastic block, intelligent network card and system
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)

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

Family Cites Families (1)

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

Patent Citations (2)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN111198663B (en) Method, system, apparatus and storage medium for controlling data access operation
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