Guest ordering of host file system writes

US10423532B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10423532-B2
Application numberUS-201715830492-A
CountryUS
Kind codeB2
Filing dateDec 4, 2017
Priority dateJul 22, 2016
Publication dateSep 24, 2019
Grant dateSep 24, 2019

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.

Systems and methods for data storage management technology that enables a guest module of a virtual machine to indicate an order in which a host module should write data from physical memory to a secondary storage. An example method may comprise: identifying, by a processing device executing a host module, a plurality of modifications to direct access excited (DAX) memory made by a plurality of direct access operations executed by a guest module of a virtual machine; determining, by the host module, an order of the plurality of modifications to DAX memory; receiving, by the host module, a synchronization request from the guest module; and responsive to the synchronization request, copying, by the host module, data from the DAX memory to a secondary storage in view of the order of the plurality of modifications.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: identifying, by a processing device executing a host kernel, a plurality of modifications to direct access excited (DAX) memory made by a plurality of direct access operations, wherein the direct access operations are executed by a guest operating system and bypass the host kernel; receiving, by the host kernel, information from the guest operating system indicating an order of the plurality of modifications made to the DAX memory; receiving, by the host kernel, a synchronization request from the guest operating system; and responsive to the synchronization request, copying, by the host kernel, data from the DAX memory to a secondary storage in view of the order of the plurality of modifications. 2. The method of claim 1 , wherein the guest operating system comprises a guest kernel executing on a virtual machine and the host kernel comprises a hypervisor managing the virtual machine. 3. The method of claim 2 , wherein the plurality of direct access operations enable the guest operating system to bypass the hypervisor and execute a load instruction of the DAX memory. 4. The method of claim 1 , wherein the DAX memory comprises non-volatile memory, and wherein a user space process running on the guest operating system is to bypass a kernel of the guest operating system and to modify the non-volatile memory. 5. The method of claim 1 , wherein the host kernel is to refrain from performing the copying of the DAX memory to the secondary storage until receiving the synchronization request from the guest operating system. 6. The method of claim 1 , wherein the host kernel supports multiple guest operating systems that perform modifications to a file system residing in the DAX memory, wherein the modifications are stored in a shared page cache provided by the host kernel without being stored in a page cache of any of the guest operating systems. 7. The method of claim 1 , further comprising: monitoring, by the host kernel, a quantity of unsynchronized DAX memory, wherein the unsynchronized DAX memory comprises data that is modified by the guest operating system and is not synchronized with the secondary storage; and permitting the guest operating system to continue modifying the DAX memory when the quantity is within a threshold quantity. 8. The method of claim 7 , further comprising: in response to the quantity of unsynchronized DAX memory exceeding a threshold, notifying the guest operating system that additional modifications to the DAX memory are restricted. 9. The method of claim 7 , wherein the threshold quantity is in view of a quantity of dirty memory pages associated with a particular guest operating system or all guest operating systems hosted by the host kernel. 10. The method of claim 1 , wherein the order of the plurality of modifications indicates an order with respect to the synchronization request and identifies one or more of the plurality of modifications that occurred prior to the synchronization request being issued. 11. The method of claim 10 , wherein the order of the plurality of modifications further indicates an order between one or more of the plurality of modifications that occurred prior to the synchronization request being issued. 12. The method of claim 1 , wherein receiving the information comprises receiving, from the guest operating system, a data structure comprising the information indicating the order. 13. The method of claim 12 , wherein the data structure specifies a memory barrier that permits a first modification that occurred before the memory barrier to be synchronized to secondary storage and limits a second modification that occurred after the memory barrier from being synchronized to the secondary storage. 14. The method of claim 1 , wherein the order of the plurality of modifications to DAX memory is used to generate a snapshot of the memory occupied by the guest operating system. 15. A system comprising: a memory; and a processing device operatively coupled to the memory, the processing device to: identify, using a host kernel, a plurality of modifications to persistent memory made by a plurality of direct access operations, wherein the direct access operations are executed by a guest operating system and bypass a kernel of the host kernel; receive, using the host kernel, information from the guest operating system indicating an order of the plurality of modifications made to the persistent memory; receive, using the host kernel, a synchronization request from the guest operating system; and responsive to the synchronization request, copy, by the host kernel, data from the persistent memory to a secondary storage in view of the order of the plurality of modifications. 16. The system of claim 15 , wherein the guest operating system comprises a guest kernel executing on a virtual machine and the host kernel comprises a hypervisor managing the virtual machine. 17. The system of claim 16 , wherein the plurality of direct access operations enable the guest operating system to bypass the hypervisor and execute a load instruction of the persistent memory. 18. A non-transitory machine-readable storage medium storing instructions that cause a processing device to: identify, by a host kernel, a plurality of modifications to physical memory made by a plurality of direct access operations, wherein the direct access operations are executed by a guest operating system and bypass the host kernel; receive, by the host kernel, information of the guest operating system that indicates an order of the plurality of modifications made to the physical memory; receive, by the host kernel, a synchronization request from the guest operating system; and responsive to the synchronization request, copy, by the host kernel, data from the physical memory to a secondary storage in view of the order of the plurality of modifications. 19. The non-transitory machine-readable storage medium of claim 18 , wherein the physical memory comprises persistent memory. 20. The non-transitory machine-readable storage medium of claim 19 , wherein the physical memory further comprises direct access excited (DAX) memory.

Assignees

Inventors

Classifications

  • Virtualized environment, e.g. logically partitioned system · CPC title

  • In host system · CPC title

  • with main memory updating (G06F12/0806 takes precedence) · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Reliability improvement, data loss prevention, degraded operation etc · 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 US10423532B2 cover?
Systems and methods for data storage management technology that enables a guest module of a virtual machine to indicate an order in which a host module should write data from physical memory to a secondary storage. An example method may comprise: identifying, by a processing device executing a host module, a plurality of modifications to direct access excited (DAX) memory made by a plurality of…
Who is the assignee on this patent?
Red Hat Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0868. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 24 2019 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).