Virtual container storage interface controller
US-12175078-B2 · Dec 24, 2024 · US
US2016335023A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016335023-A1 |
| Application number | US-201615221797-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jul 28, 2016 |
| Priority date | Mar 11, 2011 |
| Publication date | Nov 17, 2016 |
| Grant date | — |
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.
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.
Opening claim text (preview).
What is claimed: 1 . A computer-readable storage medium including instructions that upon execution by a processor cause the processor to: instantiate a virtual disk including a virtual disk extent, the virtual disk extent being dissociated from a virtual disk file; allocate, based on state information associated with the virtual disk, a section of the virtual disk file to describe the virtual disk extent without overwriting a preexisting bit pattern within the section of the virtual disk file; and modify the state information associated with the virtual disk extent to indicate that the virtual disk extent is described by the virtual disk file. 2 . The computer-readable storage medium of claim 1 , further comprising instructions that upon execution cause the processor to: respond to an offset query command with information that identifies sectors of the virtual disk that are non-zero, sectors of the virtual disk that are in a non-transparent state, sectors of the virtual disk that are in a mapped state, and/or sectors of the virtual disk that are in an initialized state. 3 . The computer-readable storage medium of claim 1 , further comprising instructions that upon execution cause the processor to: send a request to a file system controlling the 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. 4 . The computer-readable storage medium of claim 1 , further comprising instructions that upon execution cause the processor to: determine a portion of the virtual disk file that corresponds to a portion of a second virtual disk extent in response to receipt of a request to trim a portion of the second virtual disk extent; and send a trim command for the determined portion of the virtual disk file to a file system configured to store the virtual disk file on a storage device. 5 . The computer-readable storage medium of claim 1 , further comprising instructions that upon execution cause the processor to: dissociate the virtual disk extent from the section of the virtual disk file and modify the state information associated with the virtual disk extent to indicate that the virtual disk extent has no associated space in the virtual disk file in response to receipt of a request to trim a range of sectors that covers the virtual disk extent. 6 . The computer-readable storage medium of claim 5 , further comprising instructions that upon execution cause the processor to: receive a request to write data to the virtual disk extent; zero an unused section of the virtual disk file based on the state information associated with the virtual disk extent, the state information indicating that the virtual disk extent was zeroed; and allocate the unused section of the virtual disk file to describe the virtual disk extent. 7 . The computer-readable storage medium of claim 5 , further comprising instructions that upon execution cause the processor to: receive a request to write to the virtual disk extent; and allocate an unused section of the virtual disk file to describe the virtual disk extent without modifying contents of the unused section of the virtual disk file based on the state information associated with the virtual disk extent, the state information indicating that the file system is securing access to the virtual disk extent. 8 . The computer-readable storage medium of claim 5 , further comprising instructions that upon execution cause the processor to: receive a request to write to the virtual disk extent; overwrite an unused section of the virtual disk file with a non-information-disclosing bit pattern based on the state information associated with the virtual disk extent, the state information indicating that the file system is not securing access to the virtual disk extent; and allocate the overwritten section of the virtual disk file to describe the virtual disk extent. 9 . The computer-readable storage medium of claim 5 , further comprising instructions that upon execution cause the processor to: send, 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 . A computer system, comprising: a processor; a memory coupled to the processor when the processor and the memory are powered, the memory including instructions that upon execution by the processor cause the computer system to: receive a signal indicating that a portion of a virtual disk extent is no longer in use, the virtual disk extent being part of a virtual disk, the virtual disk being stored in a virtual disk file; identify a portion of the virtual disk file that describes the portion of the virtual disk extent; and send a request to trim the identified portion of the virtual disk file to a file system configured to store the virtual disk file on a storage device. 11 . The computer system of claim 10 , the memory further comprising instructions that upon execution cause the computer system to: send, 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. 12 . The computer system of claim 10 , the virtual disk file being a member of a group of virtual disk files that together form a virtual disk that includes the virtual disk extent and the memory further comprising instructions that upon execution cause the computer system to: select a sub-group from the group of virtual disk files; and generate information that identifies sectors of the sub-group that include data and sectors of the sub-group that are transparent. 13 . The computer system of claim 10 , the memory further comprising instructions that upon execution cause the computer system to: dissociate the virtual disk extent from the virtual disk file and modify state information associated with the virtual disk extent to indicate that the virtual disk extent has been zeroed in response to determining that the virtual disk extent was zeroed. 14 . The computer system of claim 10 , the memory further comprising instructions that upon execution cause the computer system to: dissociate the virtual disk extent from the virtual disk file and modify state information associated with the virtual disk extent to indicate that the virtual disk extent is free space in response to a determination that the virtual disk extent is considered free space by a file system. 15 . The computer system of claim 10 , the memory further comprising instructions that upon execution cause the computer system to: dissociate the extent from the virtual disk file and modify state information associated with the virtual disk extent to indicate that the virtual disk extent includes a non-information-disclosing bit pattern in response to a determination that the virtual disk extent was trimmed. 16 . The computer system of claim 10 , the memory further comprising instructions that upon execution cause the computer system to: send a request to issue a trim command to a file system controlling the virtual disk. 17 . A computer implemented method for storing data for a virtual machine, comprising: executing a guest operating system including a file system within a virtual machine; exposing a virtual storage device to the guest operating system, the virtual storage device includ
Improving I/O performance · CPC title
Management of files · CPC title
Hypervisor-specific management and integration aspects · CPC title
I/O management, e.g. providing access to device drivers or storage · CPC title
at device level, e.g. emulation of a storage device or system · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.