Memory swapper for virtualized environments
US-10379751-B2 · Aug 13, 2019 · US
US10628087B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10628087-B2 |
| Application number | US-201916290352-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 1, 2019 |
| Priority date | Jun 27, 2014 |
| Publication date | Apr 21, 2020 |
| Grant date | Apr 21, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method, system and computer program product for providing a guest with access to a virtual storage on a physical storage using a peripheral component interface hub. In one embodiment, the method comprises the guest sending to the peripheral component interface hub a request to access the physical storage, the request including physical addresses of the physical storage, and the peripheral component interface hub sending specified information about the request to a hypervisor. This method further comprises the hypervisor determining whether to grant or to reject the request; and when the hypervisor grants the request, the hypervisor sending a configuration command to the peripheral component interface hub. This command includes a mapping of addresses from the physical storage to addresses from the virtual storage. In an embodiment, the peripheral component interface hub uses this mapping to replace the addresses in the request with translated virtual addresses.
Opening claim text (preview).
The invention claimed is: 1. A method of providing a guest with access to a virtual storage on a physical storage using a peripheral component interface hub and a hypervisor, the peripheral component interface hub including multiple ports to storage controllers, the method comprising: at an initial boot of the guest, the guest sending to the peripheral component interface hub a request to access the physical storage, the request including guest parameters, an authentication key, and physical addresses of the physical storage; triggering a first interrupt to the hypervisor; the peripheral component interface hub sending specified information about the request to the hypervisor; the hypervisor determining whether to grant or to reject the request from the guest; when the hypervisor grants the request, the hypervisor sending to the peripheral component interface hub a configuration command including a mapping of addresses from the physical storage to addresses from the virtual storage; the peripheral component interface hub caching the mapping of addresses from the physical storage to addresses from the virtual storage, and storing the authentication key on the storage controllers; for subsequent boots of the guest, the guest sending the authentication key to the peripheral component interface hub; the peripheral component interface hub presenting a second interrupt to the hypervisor and a request for mapping; the hypervisor responding to the second interrupt with means to set-up the mapping in the peripheral component interface hub; and the peripheral component interface hub implementing the mapping of virtual storage blocks to physical storage blocks of the storage controllers to provide the guest with memory accesses to the physical storage blocks of the storage controllers. 2. The method according to claim 1 , wherein the peripheral component interface hub further includes a plurality of virtual functions, and the method further comprises: assigning the guest one of the virtual functions; and wherein: the guest sending to the peripheral component interface hub a request to access the physical storage includes the guest sending said request over the assigned virtual function to the peripheral component interface hub. 3. The method according to claim 2 , wherein the triggering a first interrupt to the hypervisor includes the assigned virtual function triggering the first interrupt to the hypervisor. 4. The method according to claim 1 , wherein the peripheral component interface hub further includes a physical function connecting the peripheral component interface hub with the hypervisor, and wherein: the peripheral component interface hub sending specified information about the request to the hypervisor includes the peripheral component interface hub sending said specified information over the physical function to the hypervisor. 5. The method according to claim 1 , wherein the peripheral component interface hub implementing the mapping of virtual storage blocks to physical storage blocks of the storage controllers to provide the guest with memory accesses to the physical storage blocks of the storage controllers includes the peripheral component interface hub implementing the mapping of virtual storage blocks to physical storage blocks of the storage controllers to provide the guest with the memory accesses to the physical storage blocks of the storage controllers while enforcing a specified quality of service. 6. The method according to claim 5 , wherein the peripheral component interface hub implementing the mapping of virtual storage blocks to physical storage blocks of the storage controllers to provide the guest with memory accesses to the physical storage blocks of the storage controllers further includes the peripheral component interface hub implementing the mapping of virtual storage blocks to physical storage blocks of the storage controllers to provide the guest with direct memory accesses to the physical storage blocks of the storage controllers. 7. The method according to claim 1 , wherein the peripheral component interface hub includes an authentication unit, and the guest sending to the peripheral component interface hub a request to access the physical storage includes the guest sending the authentication key of said request to the authentication unit of the peripheral component interface hub. 8. The method according to claim 1 , further comprising multiple guests accessing the virtual storage over the authentication key. 9. The method according to claim 1 , further comprising the hypervisor accessing the virtual storage over the authentication key. 10. The method according to claim 1 , wherein: the guest sending the authentication key to the peripheral component interface hub includes the guest sending the authentication key to the peripheral component interface hub with a further request to access the storage controllers, said further request including physical addresses of the storage controllers; and the method further comprises: the peripheral component interface hub using said mapping to replace the physical addresses in the further request with translated virtual addresses; the peripheral component interface hub forwarding the further request from the guest, with the translated virtual addresses, to the storage controllers; and the storage controller using said translated virtual addresses to access the virtual storage to respond to the further request from the guest. 11. A system for providing a guest with access to a virtual storage on a physical storage, the system comprising: a peripheral component interface hub for receiving from the guest, at an initial boot of the guest, a request to access the physical storage, the request including guest parameters, an authentication key, and physical addresses of the physical storage; and a hypervisor for receiving, during the initial boot of the guest, a first interrupt from the peripheral component interface hub receiving information about the initial request from the peripheral component interface hub, for determining, during the initial boot of the guest, whether to grant or to reject the initial request from the guest; and when the hypervisor grants the request, for sending to the peripheral component interface hub a configuration command including a mapping of addresses from the physical storage to addresses from the virtual storage; and wherein the peripheral component interface hub caches the mapping for mapping of addresses from the physical storage to addresses from the virtual storage, and stores the authentication key on the storage controllers; and wherein: for subsequent boots of the guest, the peripheral component interface hub receives from the guest the authentication key, the peripheral component interface hub presents a second interrupt to the hypervisor and a request for mapping, the hypervisor responds to the second interrupt with means to set-up the mapping in the peripheral component interface hub; and the peripheral component interface hub implements the mapping of virtual storage blocks to physical storage blocks of the storage controllers to provide the guest with memory accesses to the physical storage blocks of the storage controllers. 12. The system according to claim 11 , wherein: the peripheral component interface hub further includes a plurality of virtual functions; one of the virtual functions is assigned to the guest; and the peripheral component interface hub receives the a request from the guest, at the initial boot of the guest, to access the physical storage over the assigned virtual function. 13. The system according to claim 12 ,
in relation to access · CPC title
Permissions · CPC title
by facilitating the interaction with a user or administrator · CPC title
Hypervisor-specific management and integration aspects · CPC title
I/O management, e.g. providing access to device drivers or storage · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.