Virtual disk storage techniques

US12182425B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12182425-B2
Application numberUS-202318126656-A
CountryUS
Kind codeB2
Filing dateMar 27, 2023
Priority dateMar 11, 2011
Publication dateDec 31, 2024
Grant dateDec 31, 2024

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.

This document describes techniques for storing virtual disk payload data. In an exemplary configuration, each virtual disk extent can be associated with state information that indicates whether the virtual disk extent is described by a virtual disk file. Under certain conditions the space used to describe a virtual disk extent can be reclaimed and state information can be used to determine how read and/or write operations directed to the virtual disk extent are handled. In addition to the foregoing, other techniques are described in the claims, figures, and detailed description of this document.

First claim

Opening claim text (preview).

What is claimed: 1. A method for managing a virtual disk of a virtual machine, the method comprising: receiving a request for data of the virtual disk; identifying, based on state information associated with the virtual disk: a first virtual disk extent corresponding to the request for data, wherein the first virtual disk extent is stored in a child virtual disk file; and a second virtual disk extent corresponding to the request for data, wherein the second virtual disk extent is stored in a parent virtual disk file of the child virtual disk file, and state information of the child virtual disk file indicates a transparent state for the second virtual disk extent, thereby indicating the parent virtual disk file stores the second virtual disk extent; and providing, in response to the request for data, data from the first virtual disk extent of the child virtual disk file and data from the second virtual disk extent of the parent virtual disk file. 2. The method of claim 1 , further comprising; send a request to a file system controlling the child virtual disk file to issue at least one command selected from a group of commands including a trim command, an unmap command, a write same of zero command, and an offload write of a zero token command. 3. The method of claim 1 , wherein the parent virtual disk file is a first parent virtual disk file and the method further comprises: determining a portion of the virtual disk that corresponds to a portion of a third virtual disk extent stored in a second parent virtual disk file; and providing, in response to the request for data, data from the second parent virtual disk file. 4. The method of claim 1 , further comprising: dissociating a virtual disk extent of the child virtual disk file; and modifying state information associated with the dissociated virtual disk extent to indicate that the dissociated virtual disk extent has no associated space in the child virtual disk file in response to a trim request that covers the dissociated virtual disk extent. 5. The method of claim 1 , further comprising: receiving a request to write data to a third virtual disk extent of the virtual disk; zeroing an unused section of the child virtual disk file; and allocating the unused section of the child virtual disk file to describe the third virtual disk extent. 6. The method of claim 1 , further comprising; receiving a request to write to a third virtual disk extent of the virtual disk; and allocating an unused section of the child virtual disk file to describe the third virtual disk extent without modifying contents of an unused section of the child virtual disk file based on state information indicating that a file system is securing access to the third virtual disk extent. 7. The method of claim 1 , further comprising: receiving a request to write to a third virtual disk extent of the virtual disk; overwriting an unused section of the child virtual disk file with a non-information-disclosing bit pattern based on state information indicating that a file system is not securing access to the third virtual disk extent; and allocating the overwritten section of the child virtual disk file to describe the third virtual disk extent. 8. A method for managing a virtual disk of a virtual machine, the method comprising: receiving, from a guest operating system of the virtual machine, a signal indicating that a portion of a virtual disk extent of a virtual disk is no longer in use, wherein the virtual disk is stored in a group of virtual disk files comprising a child virtual disk file and a parent virtual disk file; identifying a portion of a virtual disk file of the group of virtual disk files that describes the portion of the virtual disk extent; and sending a request to trim the identified portion of the virtual disk file to a file system that stores the virtual disk file. 9. The method of claim 8 , further comprising: sending, based on state information indicating that the virtual disk extent was zeroed, a token representing zeros to a requestor in response to receipt of an offload read request associated with the virtual disk extent. 10. The method of claim 8 , further comprising: selecting a sub-group from the group of virtual disk files; and generating information that identifies sectors of the sub-group that include data and sectors of the sub-group that are transparent. 11. The method of claim 8 , further comprising: dissociating the virtual disk extent from the virtual disk file; and modifying state information associated with the virtual disk extent to indicate that the virtual disk extent has been zeroed. 12. The method of claim 8 , further comprising: dissociating the virtual disk extent from the virtual disk file; and modifying state information associated with the virtual disk extent to indicate that the virtual disk extent is free space. 13. The method of claim 8 , further comprising: dissociating the extent from the virtual disk file; and modifying state information associated with the virtual disk extent to indicate that the virtual disk extent includes a non-information-disclosing bit pattern. 14. A system, comprising: at least one processor; and memory storing instructions that, when executed by the at least one processor, cause the system to perform a set of operations, the set of operations comprising: receiving a request for data of the virtual disk; identifying, based on state information associated with the virtual disk: a first virtual disk extent corresponding to the request for data, wherein the first virtual disk extent is stored in a child virtual disk file; and a second virtual disk extent corresponding to the request for data, wherein the second virtual disk extent is stored in a parent virtual disk file of the child virtual disk file, and state information of the child virtual disk file indicates a transparent state for the second virtual disk extent, thereby indicating the parent virtual disk file stores the second virtual disk extent; and providing, in response to the request for data, data from the first virtual disk extent of the child virtual disk file and data from the second virtual disk extent of the parent virtual disk file. 15. The system of claim 14 , wherein the set of operations further comprises: send a request to a file system controlling the child virtual disk file to issue at least one command selected from a group of commands including a trim command, an unmap command, a write same of zero command, and an offload write of a zero token command. 16. The system of claim 14 , wherein the parent virtual disk file is a first parent virtual disk file and the set of operations further comprises: determining a portion of the virtual disk that corresponds to a portion of a third virtual disk extent stored in a second parent virtual disk file; and providing, in response to the request for data, data from the second parent virtual disk file. 17. The system of claim 14 , wherein the set of operations further comprises: dissociating a virtual disk extent of the child virtual disk file; and modifying state information associated with the dissociated virtual disk extent to indicate that the dissociated virtual disk extent has no associated space in the child virtual disk file in response to a trim request that covers the dissociated virtual disk extent. 18. The system of claim 14 , wherein the set of operations further comprises: receiving a request to write data to a third virtual disk extent of the virtual disk; zeroing an unus

Assignees

Inventors

Classifications

  • Single storage device · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • Management of files · CPC title

  • Reducing size or complexity of storage systems · CPC title

  • Hypervisor-specific management and integration aspects · 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 US12182425B2 cover?
This document describes techniques for storing virtual disk payload data. In an exemplary configuration, each virtual disk extent can be associated with state information that indicates whether the virtual disk extent is described by a virtual disk file. Under certain conditions the space used to describe a virtual disk extent can be reclaimed and state information can be used to determine how …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 31 2024 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).