Method, apparatus, and system for accessing storage device

US10713074B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10713074-B2
Application numberUS-201715666306-A
CountryUS
Kind codeB2
Filing dateAug 1, 2017
Priority dateOct 21, 2015
Publication dateJul 14, 2020
Grant dateJul 14, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method, an apparatus, and a system for accessing a storage device. The method includes: acquiring, by an I/O adapter, an access request from a virtual machine, where the access request carries virtual address information of a to-be-accessed storage area; generating an access instruction according to the access request, where the access instruction carries the virtual address information and an identifier of a virtual channel of the virtual machine, where the virtual channel corresponds to the virtual machine on a one-to-one basis and is used to connect the corresponding virtual machine to a storage device target, and the storage device target is configured to manage access to the storage device; and sending the access instruction to the storage device target.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for accessing a storage device in a computer system having a virtual machine and an I/O adapter, wherein the method comprises: acquiring, by the I/O adapter, an access request from the virtual machine, wherein the access request carries virtual address information of a to-be-accessed physical storage area of the storage device; generating, by the I/O adapter, an access instruction according to the access request, wherein the access instruction carries the virtual address information of the to-be-accessed physical storage area and an identifier of a virtual channel configured between the I/O adapter and the storage device, wherein the virtual channel corresponds to the virtual machine on a one-to-one basis such that the virtual channel provides the virtual machine with a uniquely identifiable transmission channel between the virtual machine, the I/O adapter, and a storage device target, wherein the storage device target is configured to manage access to the storage device; and sending, by the I/O adapter, the access instruction to the storage device target to facilitate the storage device target uniquely determining a physical address of the to-be-accessed physical storage area according to the virtual address information of the to-be-accessed physical storage area and the identifier of the virtual channel that are carried in the access instruction. 2. The method according to claim 1 , wherein before generating the access instruction, the method further comprises: querying, by the I/O adapter, a preset first correspondence according to an identifier of the virtual machine to determine the identifier of the virtual channel, wherein the preset first correspondence comprises a correspondence between an identifier of each virtual machine of a plurality of virtual machines and an identifier of each virtual channel of a plurality of virtual channels. 3. The method according to claim 2 , wherein the method further comprises: maintaining, by the I/O adapter, the one-to-one basis between the virtual channel and the virtual machine by storing an entry comprising the identifier of the virtual channel and the identifier of the virtual machine, and wherein querying the preset first correspondence to determine the identifier of the virtual channel is based on the stored entry indicating the one-to-one basis between the virtual channel and the virtual machine. 4. The method according to claim 1 , wherein a plurality of cache queues are configured in the I/O adapter, each cache queue of the plurality of cache queues corresponds to a respective virtual channel of a respective virtual machine based on the one-to-one basis; and wherein after acquiring the access request, the method further comprises: writing, by the I/O adapter, the access request of the virtual machine in a first cache queue of the plurality of cache queues corresponding to the virtual channel of the virtual machine. 5. The method according to claim 1 , wherein if the I/O adapter acquires access requests from at least two virtual machines, an access instruction corresponding to a high-priority virtual machine is generated before an access instruction corresponding to a low-priority virtual machine. 6. The method according to claim 1 , wherein the method further comprises: receiving, by the I/O adapter, a first doorbell notification from the virtual machine indicating arrival of the access request from the virtual machine in an I/O shared ring that is shared between the virtual machine and the I/O adapter, and wherein acquiring the access request is in response to receiving the first doorbell notification and from the virtual machine via the I/O shared ring. 7. The method according to claim 1 , wherein the method further comprises: in response to determining the virtual machine has been created, creating the one-to-one basis between the virtual channel and the virtual machine; and storing an entry indicating the one-to-one basis between the virtual channel and the virtual machine in memory of the I/O adapter. 8. The method of according to claim 7 , wherein the method further comprises: dynamically adjusting the entry indicating the one-to-one basis between the virtual channel and the virtual machine by associating the virtual machine with a different virtual channel. 9. The method of claim 7 , wherein the method further comprises: in response to determining the virtual machine has been deleted, deleting the entry indicating the one-to-one basis between the virtual channel and the virtual machine. 10. A method for accessing a storage device, comprising: acquiring, by a storage device target, an access instruction from an I/O adapter, wherein the access instruction carries virtual address information of a to-be-accessed physical storage area of the storage device and an identifier of a virtual channel configured between the I/O adapter and the storage device, wherein the virtual channel corresponds to the virtual machine on a one-to-one basis such that the virtual channel provides the virtual machine with a uniquely identifiable transmission channel between the virtual machine, the I/O adapter, and the storage device target; uniquely determining, by the storage device target, a physical address of the to-be-accessed physical storage area according to the virtual address information of the to-be-accessed physical storage area and the identifier of the virtual channel that are carried in the access instruction; and performing, by the storage device target, an operation on the to-be-accessed physical storage area according to the access instruction and the physical address of the to-be-accessed physical storage area; wherein the virtual channel is one of a plurality of virtual channels, wherein each virtual channel is associated with a plurality of virtual addresses, wherein the virtual addresses for the virtual channel associated with the virtual machine overlap with the virtual addresses of a second virtual channel associated with another virtual machine such that a respective virtual address of the virtual channel is the same as a respective virtual address of the second virtual channel, and wherein each virtual channel-virtual address pair corresponds to a different, unique physical address. 11. The method according to claim 10 , wherein uniquely determining the physical address of the to-be-accessed physical storage area comprises: querying, by the storage device target, a preset second correspondence according to the virtual address information of the to-be-accessed physical storage area and the identifier of the virtual channel that are carried in the access instruction to uniquely determine the physical address of the to-be-accessed physical storage area, wherein the preset second correspondence comprises a correspondence between an identifier of each virtual channel of a plurality of virtual channels and a respective physical address of a physical storage area allocated to each virtual channel. 12. The method according to claim 10 , wherein a plurality of cache queues are configured in the storage device target, each cache queue of the plurality of cache queues corresponds to a respective virtual channel of a respective virtual machine based on the one-to-one basis; and wherein after acquiring the access instruction, the method further comprises: writing, by the storage device target, the access instruction in a second cache queue of the plurality of cache queues corresponding to the virtual channel of the virtual machine. 13. The method according to claim 10 , wherein if the storage device target acquires access instructions from at least two virtual machin

Assignees

Inventors

Classifications

  • I/O management, e.g. providing access to device drivers or storage · CPC title

  • Memory management, e.g. access or allocation · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • for multiple virtual address spaces, e.g. segmentation (G06F12/1036 takes precedence) · CPC title

  • using page tables, e.g. page table structures · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10713074B2 cover?
A method, an apparatus, and a system for accessing a storage device. The method includes: acquiring, by an I/O adapter, an access request from a virtual machine, where the access request carries virtual address information of a to-be-accessed storage area; generating an access instruction according to the access request, where the access instruction carries the virtual address information and a…
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 14 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).