CN111651269A - Method, device and computer readable storage medium for realizing equipment virtualization - Google Patents

Method, device and computer readable storage medium for realizing equipment virtualization Download PDF

Info

Publication number
CN111651269A
CN111651269A CN202010419033.5A CN202010419033A CN111651269A CN 111651269 A CN111651269 A CN 111651269A CN 202010419033 A CN202010419033 A CN 202010419033A CN 111651269 A CN111651269 A CN 111651269A
Authority
CN
China
Prior art keywords
namespace
nvme
virtualization
enumerating
namespaces
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010419033.5A
Other languages
Chinese (zh)
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.)
Rongming Microelectronics (Jinan) Co.,Ltd.
Original Assignee
Qingdao Rongming Semiconductor 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 Qingdao Rongming Semiconductor Co ltd filed Critical Qingdao Rongming Semiconductor Co ltd
Priority to CN202010419033.5A priority Critical patent/CN111651269A/en
Publication of CN111651269A publication Critical patent/CN111651269A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

The invention discloses a method and a device for realizing equipment virtualization and a computer readable storage medium. The method for realizing the virtualization of the equipment comprises the following steps: based on a non-volatile memory host controller interface specification NVMe storage protocol, enumerating each NVMe device on a host machine into a plurality of namespace namespaces; enumerating each namespace as a virtual device. By adopting the invention, different namespaces on the same NVMe device are enumerated into different virtual devices by utilizing the concept of the namespaces specified in the standard NVMe storage protocol, the different virtual devices are naturally isolated by the specification of the NVMe protocol, and meanwhile, because the NVMe protocol is the standard storage protocol, all virtualization schemes are naturally supported, so that the scheme can be ensured to be adaptive to different virtualization scenes.

Description

Method, device and computer readable storage medium for realizing equipment virtualization
Technical Field
The present invention relates to the field of computers, and in particular, to a method and an apparatus for implementing device virtualization, and a computer-readable storage medium.
Background
The virtualization technology is a resource management technology, and particularly relates to a product which virtualizes hardware resources and realizes the characteristics of isolation, expandability, safety, full utilization of resources and the like.
In the virtualization technology, the physical host is generally called a Hypervisor (host). A virtual host running on top of a physical host is called a virtual machine or container. Multiple virtual machines or containers may run on one host. Different virtual machines or containers need to be completely isolated and do not influence each other. The user accesses the virtual device constructed by the software through the virtual machine or container. The virtual device constructed by the virtualization software needs to communicate with the actual physical device through a certain interface. How to implement mapping between physical devices and virtual devices is the core of technology. How to realize that one physical device corresponds to a plurality of virtual devices is important, and resources of the same physical device can be shared among the plurality of virtual devices.
Disclosure of Invention
The embodiment of the invention provides a method and a device for realizing device virtualization and a computer readable storage medium, which are used for realizing that one physical device corresponds to a plurality of virtual devices, and the plurality of virtual devices can share the resource of the same physical device.
The method for realizing the device virtualization according to the embodiment of the invention comprises the following steps:
based on a non-volatile memory host controller interface specification NVMe storage protocol, enumerating each NVMe device on a host machine into a plurality of namespace namespaces;
enumerating each namespace into one virtual device.
According to some embodiments of the present invention, enumerating each NVMe device on a host computer as multiple namespaces includes:
maintaining a namespace linked list and a namespace ID table for each NVMe device, wherein each namespace in the namespace linked list has a position in the namespace ID table;
when the position bit is set as a first numerical value, the namespace corresponding to the position bit is to be distributed;
when the position bit is set to be a second numerical value, the namespace corresponding to the position bit is distributed;
the second value is different from the first value.
According to some embodiments of the invention, the host has a plurality of the NVMe devices.
The device for realizing the virtualization of the equipment according to the embodiment of the invention comprises:
the NVMe driver is used for enumerating each NVMe device on the host machine into a plurality of namespaces based on a nonvolatile memory host machine controller interface specification NVMe storage protocol;
and the vfio device is used for enumerating each namespace into one virtual device.
According to some embodiments of the invention, the NVMe drive is to:
maintaining a namespace linked list and a namespace ID table for each NVMe device, wherein each namespace in the namespace linked list has a position in the namespace ID table;
when the position bit is set as a first numerical value, the namespace corresponding to the position bit is to be distributed;
when the position bit is set to be a second numerical value, the namespace corresponding to the position bit is distributed;
the second value is different from the first value.
According to some embodiments of the invention, the host has a plurality of the NVMe devices.
The device for realizing the virtualization of the equipment according to the embodiment of the invention comprises: a memory, a processor and a computer program stored on the memory and executable on the processor, the computer program, when executed by the processor, implementing the steps of the method of implementing device virtualization as described above.
According to the computer readable storage medium of the embodiment of the present invention, the computer readable storage medium stores thereon an implementation program of information transfer, which when executed by a processor implements the steps of the method of implementing device virtualization as described above.
By adopting the embodiment of the invention, different namespaces on the same NVMe device are enumerated into different virtual devices by utilizing the concept of the namespaces specified in the standard NVMe storage protocol, the different virtual devices are naturally isolated according to the specification of the NVMe protocol, and meanwhile, all virtualization schemes are naturally supported due to the fact that the NVMe protocol is the standard storage protocol, so that the scheme can be ensured to be adaptive to different virtualization scenes.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. In the drawings:
FIG. 1 is a flow chart of a method for implementing device virtualization according to an embodiment of the present invention;
FIG. 2 is a schematic structural diagram of an apparatus for implementing device virtualization according to an embodiment of the present invention;
FIG. 3 is a schematic structural diagram of an apparatus for implementing device virtualization according to an embodiment of the present invention;
FIG. 4 is a diagram illustrating a method for implementing device virtualization in a host applying an embodiment of the present invention;
FIG. 5 is a schematic diagram of allocating namespace in an embodiment of the present invention;
fig. 6 is a schematic view of an IO transceiving flow performed by the method for implementing device virtualization according to the embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention can be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
The virtualization technology is a resource management technology, and particularly relates to a product which virtualizes hardware resources and realizes the characteristics of isolation, expandability, safety, full utilization of resources and the like.
In the virtualization technology, the physical host is generally called a Hypervisor (host). A virtual host running on top of a physical host is called a virtual machine or container. Multiple virtual machines or containers may run on one host. Different virtual machines or containers need to be completely isolated and do not influence each other. The user accesses the virtual device constructed by the software through the virtual machine or container. The virtual device constructed by the virtualization software needs to communicate with the actual physical device through a certain interface. How to implement mapping between physical devices and virtual devices is the core of technology. How to realize that one physical device corresponds to a plurality of virtual devices is important, and resources of the same physical device can be shared among the plurality of virtual devices.
In the related art, the interaction between the virtualization software and the actual physical device includes the following ways:
in the first approach, physical devices are passed through directly to virtual machines or containers. The interactive mode is simple to realize, but each physical device is intelligently corresponding to one virtual device, and the utilization rate of virtualization is not high.
The second method utilizes SR-IOV (single root input/output virtualization) technology specified by PCI Express protocol. The SR-IOV technology may define a device having SR-IOV functions as a type of peripheral physical function module (PF) and enable it to directly interact with a host hypervisor system. The PF is used primarily to tell the hypervisor in the server whether the state of the physical PCI device operation is available. SR-IOV at the operating system level, now can create more than one virtual function device VFs under all the peripheral physical devices PF. VFs can share the physical resources of the peripheral device (like a network card port or network card cache space) and associate with the virtual machine system on the SR-IOV server. The SR-IOV can allow one physical PCIe device to virtualize itself as multiple virtual PCIe devices. However, SR-IOV needs PCIe card (NIC), mainboard, BIOS and host to support SR-IOV, so the application range is limited, and the requirement on hardware is high.
In a third approach, virtual devices are implemented using drivers on the host. The method has wide application range and flexible customization and can fully play the role of virtualization. However, because of different virtualization schemes and different host environments, the problem often encountered by such schemes is that they cannot adapt to various virtualization schemes.
Based on this, the embodiments of the present invention provide a method, an apparatus, and a computer-readable storage medium for implementing device virtualization, which can adapt to different virtualization scenarios.
As shown in fig. 1, a method for implementing device virtualization according to an embodiment of the present invention includes:
s1, enumerating each NVMe device on a host machine into a plurality of namespaces based on a NVMe storage protocol specified by a controller interface of the non-volatile memory host machine;
and S2, enumerating each namespace into a virtual device.
By adopting the embodiment of the invention, different namespaces on the same NVMe device are enumerated into different virtual devices by utilizing the concept of the namespaces specified in the standard NVMe storage protocol, the different virtual devices are naturally isolated according to the specification of the NVMe protocol, and meanwhile, all virtualization schemes are naturally supported due to the fact that the NVMe protocol is the standard storage protocol, so that the scheme can be ensured to be adaptive to different virtualization scenes.
On the basis of the above-described embodiment, various modified embodiments are further proposed, and it is to be noted herein that, in order to make the description brief, only the differences from the above-described embodiment are described in the various modified embodiments.
According to some embodiments of the present invention, enumerating each NVMe device on a host computer as multiple namespaces includes:
maintaining a namespace linked list and a namespace ID table for each NVMe device, wherein each namespace in the namespace linked list has a position in the namespace ID table;
when the position bit is set as a first numerical value, the namespace corresponding to the position bit is to be distributed;
when the position bit is set to be a second numerical value, the namespace corresponding to the position bit is distributed;
the second value is different from the first value.
According to some embodiments of the invention, a host may have multiple NVMe devices. Each NVMe device can act as a virtual machine. The NVMe equipment is completely isolated and does not influence each other.
The method for implementing device virtualization according to an embodiment of the present invention is described in detail in a specific embodiment with reference to fig. 4-6. It is to be understood that the following description is illustrative only and is not intended to be in any way limiting. All similar structures and similar variations thereof adopted by the invention are intended to fall within the scope of the invention.
As shown in fig. 4, the method for implementing device virtualization according to the embodiment of the present invention enumerates a plurality of namespaces by using a standard NVMe drive on a host. And enumerating each namespace into a virtual device by utilizing the vfio device of the Linux operating system. The command queues of different virtual devices are mapped to the same command queue of the standard NVMe device, and different virtual devices are identified through different namespace identifiers. In fig. 4, virtual machine 1 and virtual machine 2 each represent an NVMe device. The host machine drive is an NVMe drive.
Specifically, as shown in fig. 5, the procedure for allocating namespace is as follows:
the NVMe driver maintains a namespace linked list (such as NS0, NS1, NSn in fig. 5) and a namespace ID table for each NVMe device. Each IDtable represents a namespace, the position bit corresponding to the IDtable is 0 to indicate that the namespace is to be distributed, and the position bit corresponding to the IDtable is 1 to indicate that the namespace is distributed. After one namespace is allocated, the position bit corresponding to the IDtable is released and then cleared by 0.
As shown in fig. 6, after the method for implementing device virtualization according to the embodiment of the present invention is adopted, the IO transceiving process is as follows:
(1) the virtual machine initiates an IO request.
An NVMe IO request (namely, a VFIO request) sent by the Guest terminal through the VFIO device is an NVMe command driven by the Guest terminal NVMe.
And the Host end NVMe driver is responsible for analyzing the Guest IO command and regenerating the Host end NVMe command.
The Physical Page linked List (PRPlist) in the Guest IO command stores the data address of the IO command, which represents the Physical address of the Guest end (i.e. Guest address) and needs to be converted into the Physical address of the Host end. The address translation relationship is stored in an address mapping table of the vfio device, and the address mapping table maintains the mapping relationship between the physical address of the Guest end and the physical address of the Host end.
And the Host end NVMe drives one side to convert the PRPlist of the Guest IO command to the physical address of the Host end, and then Host end DMA mapping is carried out on the physical address of the Host end to obtain a corresponding DMA address to be filled in the PRP list of the Host IO command. And after the data volume specified by the IO command is converted, updating the PRP list of the Host IO command.
Next, an IOD (I/O Descriptor) data structure is allocated that stores the Host IO command PRPlist, the submissionqueue and command ID of the Guest command, and the namespace of the currently requested IO.
And then the Host end NVMe drives a command ID allocated to the sub-transmission request to fill in an IO command, the finally formed IO command is copied to the sub-transmission request, and then a tail register of the sub-transmission request is written to initiate an IO request to the NVMe device.
(2) And the Host end reports IO completion.
When the Host end receives the NVMe device interrupt, the NVMe driver polls whether the Completion queue (Completion queue) generating the interrupt has a new Completion queue entry. If the NVMe driver finds the associated IOD according to the command ID of the Completion request entry, obtains the sub permission Queue and the commandiD of Guest from the IOD, updates the Completion request entry and the Completion request head of Guest, and sends a signal to initiate interruption to Guest.
It should be noted that the above-mentioned embodiments are only preferred embodiments of the present invention, and are not intended to limit the present invention, and those skilled in the art can make various modifications and changes. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
As shown in fig. 2, an apparatus 1 for implementing device virtualization according to an embodiment of the present invention includes:
the NVMe driver 10 is configured to enumerate, based on a nonvolatile memory host controller interface specification NVMe storage protocol, each NVMe device on a host computer as a plurality of namespace namespaces;
and the vfio device 20 is used for enumerating each namespace into a virtual device.
By adopting the embodiment of the invention, different namespaces on the same NVMe device are enumerated into different virtual devices by utilizing the concept of the namespaces specified in the standard NVMe storage protocol, the different virtual devices are naturally isolated according to the specification of the NVMe protocol, and meanwhile, all virtualization schemes are naturally supported due to the fact that the NVMe protocol is the standard storage protocol, so that the scheme can be ensured to be adaptive to different virtualization scenes.
On the basis of the above-described embodiment, various modified embodiments are further proposed, and it is to be noted herein that, in order to make the description brief, only the differences from the above-described embodiment are described in the various modified embodiments.
According to some embodiments of the invention, the NVMe drive 10 is configured to:
maintaining a namespace linked list and a namespace ID table for each NVMe device, wherein each namespace in the namespace linked list has a position in the namespace ID table;
when the position bit is set as a first numerical value, the namespace corresponding to the position bit is to be distributed;
when the position bit is set to be a second numerical value, the namespace corresponding to the position bit is distributed;
the second value is different from the first value.
According to some embodiments of the invention, the host has a plurality of NVMe devices.
As shown in fig. 3, an apparatus 1000 for implementing device virtualization according to an embodiment of the present invention includes: a memory 1010, a processor 1020 and a computer program stored on the memory 1010 and executable on the processor 1020, the computer program realizing the following method steps when executed by the processor 1020:
s1, enumerating each NVMe device on a host machine into a plurality of namespaces based on a NVMe storage protocol specified by a controller interface of the non-volatile memory host machine;
and S2, enumerating each namespace into a virtual device.
By adopting the embodiment of the invention, different namespaces on the same NVMe device are enumerated into different virtual devices by utilizing the concept of the namespaces specified in the standard NVMe storage protocol, the different virtual devices are naturally isolated according to the specification of the NVMe protocol, and meanwhile, all virtualization schemes are naturally supported due to the fact that the NVMe protocol is the standard storage protocol, so that the scheme can be ensured to be adaptive to different virtualization scenes.
On the basis of the above-described embodiment, various modified embodiments are further proposed, and it is to be noted herein that, in order to make the description brief, only the differences from the above-described embodiment are described in the various modified embodiments.
According to some embodiments of the present invention, enumerating each NVMe device on a host computer as multiple namespaces includes:
maintaining a namespace linked list and a namespace ID table for each NVMe device, wherein each namespace in the namespace linked list has a position in the namespace ID table;
when the position bit is set as a first numerical value, the namespace corresponding to the position bit is to be distributed;
when the position bit is set to be a second numerical value, the namespace corresponding to the position bit is distributed;
the second value is different from the first value.
According to the computer readable storage medium of the embodiment of the present invention, the computer readable storage medium stores thereon an implementation program of information transmission, which when executed by a processor implements the following method steps:
s1, enumerating each NVMe device on a host machine into a plurality of namespaces based on a NVMe storage protocol specified by a controller interface of the non-volatile memory host machine;
and S2, enumerating each namespace into a virtual device.
By adopting the embodiment of the invention, different namespaces on the same NVMe device are enumerated into different virtual devices by utilizing the concept of the namespaces specified in the standard NVMe storage protocol, the different virtual devices are naturally isolated according to the specification of the NVMe protocol, and meanwhile, all virtualization schemes are naturally supported due to the fact that the NVMe protocol is the standard storage protocol, so that the scheme can be ensured to be adaptive to different virtualization scenes.
On the basis of the above-described embodiment, various modified embodiments are further proposed, and it is to be noted herein that, in order to make the description brief, only the differences from the above-described embodiment are described in the various modified embodiments.
According to some embodiments of the present invention, enumerating each NVMe device on a host computer as multiple namespaces includes:
maintaining a namespace linked list and a namespace ID table for each NVMe device, wherein each namespace in the namespace linked list has a position in the namespace ID table;
when the position bit is set as a first numerical value, the namespace corresponding to the position bit is to be distributed;
when the position bit is set to be a second numerical value, the namespace corresponding to the position bit is distributed;
the second value is different from the first value.
The computer-readable storage medium of this embodiment includes, but is not limited to: ROM, RAM, magnetic or optical disks, and the like.
It will be apparent to those skilled in the art that the modules or steps of the present invention described above may be implemented by a general purpose computing device, they may be centralized on a single computing device or distributed across a network of multiple computing devices, and alternatively, they may be implemented by program code executable by a computing device, such that they may be stored in a storage device and executed by a computing device, and in some cases, the steps shown or described may be performed in an order different than that described herein, or they may be separately fabricated into individual integrated circuit modules, or multiple ones of them may be fabricated into a single integrated circuit module. Thus, the present invention is not limited to any specific combination of hardware and software.
It should be noted that, in the description of the present specification, in the following description, suffixes such as "module", "component", or "unit" used to represent elements are used only for facilitating the description of the present invention, and have no specific meaning in itself. Thus, "module", "component" or "unit" may be used mixedly. English letters do not distinguish between upper and lower cases. Furthermore, references to the description of the terms "one embodiment," "some embodiments," "illustrative embodiments," "examples," "specific examples," or "some examples," or the like, mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Although some embodiments described herein include some features included in other embodiments instead of others, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. The particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. For example, in the claims, any of the claimed embodiments may be used in any combination.
While embodiments of the invention have been shown and described, it will be understood by those of ordinary skill in the art that: various changes, modifications, substitutions and alterations can be made to the embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.

Claims (8)

1. A method for implementing device virtualization, comprising:
based on a non-volatile memory host controller interface specification NVMe storage protocol, enumerating each NVMe device on a host machine into a plurality of namespace namespaces;
enumerating each namespace into one virtual device.
2. The method of claim 1, wherein enumerating each NVMe device on a host machine with a plurality of namespaces comprises:
maintaining a namespace linked list and a namespace ID table for each NVMe device, wherein each namespace in the namespace linked list has a position in the namespace ID table;
when the position bit is set as a first numerical value, the namespace corresponding to the position bit is to be distributed;
when the position bit is set to be a second numerical value, the namespace corresponding to the position bit is distributed;
the second value is different from the first value.
3. The method of claim 1, wherein the host machine has a plurality of the NVMe devices.
4. An apparatus for implementing device virtualization, comprising:
the NVMe driver is used for enumerating each NVMe device on the host machine into a plurality of namespaces based on a nonvolatile memory host machine controller interface specification NVMe storage protocol;
and the vfio device is used for enumerating each namespace into one virtual device.
5. The apparatus of claim 4, wherein the NVMe drive is to:
maintaining a namespace linked list and a namespace ID table for each NVMe device, wherein each namespace in the namespace linked list has a position in the namespace ID table;
when the position bit is set as a first numerical value, the namespace corresponding to the position bit is to be distributed;
when the position bit is set to be a second numerical value, the namespace corresponding to the position bit is distributed;
the second value is different from the first value.
6. The apparatus of claim 1, wherein the host machine has a plurality of the NVMe devices.
7. An apparatus for implementing device virtualization, comprising: memory, processor and computer program stored on the memory and executable on the processor, which computer program, when executed by the processor, carries out the steps of the method of implementing device virtualization according to any one of claims 1 to 3.
8. A computer-readable storage medium, on which an information transfer implementing program is stored, which, when being executed by a processor, implements the steps of the method of implementing device virtualization according to any one of claims 1 to 3.
CN202010419033.5A 2020-05-18 2020-05-18 Method, device and computer readable storage medium for realizing equipment virtualization Pending CN111651269A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010419033.5A CN111651269A (en) 2020-05-18 2020-05-18 Method, device and computer readable storage medium for realizing equipment virtualization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010419033.5A CN111651269A (en) 2020-05-18 2020-05-18 Method, device and computer readable storage medium for realizing equipment virtualization

Publications (1)

Publication Number Publication Date
CN111651269A true CN111651269A (en) 2020-09-11

Family

ID=72346675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010419033.5A Pending CN111651269A (en) 2020-05-18 2020-05-18 Method, device and computer readable storage medium for realizing equipment virtualization

Country Status (1)

Country Link
CN (1) CN111651269A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486632A (en) * 2020-12-07 2021-03-12 中国船舶重工集团公司第七一六研究所 User-state virtual device driving framework facing k8s
CN114201268A (en) * 2022-02-17 2022-03-18 苏州浪潮智能科技有限公司 Data processing method, device and equipment and readable storage medium
WO2024055571A1 (en) * 2022-09-16 2024-03-21 山东云海国创云计算装备产业创新中心有限公司 Namespace setting method and apparatus, and readable storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461958A (en) * 2014-10-31 2015-03-25 杭州华为数字技术有限公司 Storage resource access method supporting SR-IOV, storage controller and storage equipment
US20150319237A1 (en) * 2014-05-02 2015-11-05 Cavium, Inc. Systems and methods for enabling access to extensible storage devices over a network as local storage via nvme controller
US20180188985A1 (en) * 2016-12-29 2018-07-05 Intel Corporation Persistent storage device with a virtual function controller
CN109496296A (en) * 2016-07-26 2019-03-19 微软技术许可有限责任公司 Remote metering system is set to be shown as local hardware in virtualized environment
CN109871250A (en) * 2019-01-16 2019-06-11 山东超越数控电子股份有限公司 Desktop delivery method, device, terminal and storage medium based on physical display card
CN110275774A (en) * 2018-03-13 2019-09-24 三星电子株式会社 The mechanism of physical storage device resource is dynamically distributed in virtualized environment
CN110825670A (en) * 2018-08-08 2020-02-21 马维尔国际贸易有限公司 Managed exchange between a host and a Solid State Drive (SSD) based on NVMe protocol
CN110830392A (en) * 2018-08-07 2020-02-21 马维尔国际贸易有限公司 Enabling virtual functions on a storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150319237A1 (en) * 2014-05-02 2015-11-05 Cavium, Inc. Systems and methods for enabling access to extensible storage devices over a network as local storage via nvme controller
CN104461958A (en) * 2014-10-31 2015-03-25 杭州华为数字技术有限公司 Storage resource access method supporting SR-IOV, storage controller and storage equipment
CN109496296A (en) * 2016-07-26 2019-03-19 微软技术许可有限责任公司 Remote metering system is set to be shown as local hardware in virtualized environment
US20180188985A1 (en) * 2016-12-29 2018-07-05 Intel Corporation Persistent storage device with a virtual function controller
CN110275774A (en) * 2018-03-13 2019-09-24 三星电子株式会社 The mechanism of physical storage device resource is dynamically distributed in virtualized environment
CN110830392A (en) * 2018-08-07 2020-02-21 马维尔国际贸易有限公司 Enabling virtual functions on a storage medium
CN110825670A (en) * 2018-08-08 2020-02-21 马维尔国际贸易有限公司 Managed exchange between a host and a Solid State Drive (SSD) based on NVMe protocol
CN109871250A (en) * 2019-01-16 2019-06-11 山东超越数控电子股份有限公司 Desktop delivery method, device, terminal and storage medium based on physical display card

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486632A (en) * 2020-12-07 2021-03-12 中国船舶重工集团公司第七一六研究所 User-state virtual device driving framework facing k8s
CN114201268A (en) * 2022-02-17 2022-03-18 苏州浪潮智能科技有限公司 Data processing method, device and equipment and readable storage medium
WO2024055571A1 (en) * 2022-09-16 2024-03-21 山东云海国创云计算装备产业创新中心有限公司 Namespace setting method and apparatus, and readable storage medium

Similar Documents

Publication Publication Date Title
US20200278880A1 (en) Method, apparatus, and system for accessing storage device
CN103282881B (en) Smart machine is directly shared by virtualization
US20210294759A1 (en) Mechanism to dynamically allocate physical storage device resources in virtualized environments
AU2009357325B2 (en) Method and apparatus for handling an I/O operation in a virtualization environment
US9448728B2 (en) Consistent unmapping of application data in presence of concurrent, unquiesced writers and readers
KR102047558B1 (en) Virtual disk storage techniques
CN106796529B (en) Method for using PCIe device resources by using commodity type PCI switch using unmodified PCIe device driver on CPU in PCIe fabric
US20210224210A1 (en) Information processing method, physical machine, and pcie device
CN111651269A (en) Method, device and computer readable storage medium for realizing equipment virtualization
US9495172B2 (en) Method of controlling computer system and computer system
CN103034524A (en) Paravirtualized virtual GPU
US8930568B1 (en) Method and apparatus for enabling access to storage
US11188365B2 (en) Memory overcommit by speculative fault
KR101716715B1 (en) Method and apparatus for handling network I/O apparatus virtualization
CN115202827A (en) Method for processing virtualized interrupt, interrupt controller, electronic device and chip
US11435958B2 (en) Shared memory mechanism to support fast transport of SQ/CQ pair communication between SSD device driver in virtualization environment and physical SSD
CN113312155B (en) Virtual machine creation method, device, equipment, system and computer program product
CN114397999A (en) Communication method, device and equipment based on nonvolatile memory interface-remote processing message transmission
KR20220061983A (en) Provides interrupts from the I/O memory management unit to the guest operating system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211213

Address after: 250100 room 2-302-131, building 7, North District, Shandong design creative industrial park, No. 868, Tangye West Road, Jinan area, free trade pilot zone, Jinan, Shandong Province

Applicant after: Rongming Microelectronics (Jinan) Co.,Ltd.

Address before: 266100 blue Silicon Valley entrepreneurship center, No. 1, Keji Road, Jimo District, Qingdao, Shandong

Applicant before: QINGDAO RONGMING SEMICONDUCTOR Co.,Ltd.