Storage block deallocation in virtual environments

US9841985B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9841985-B2
Application numberUS-201113084915-A
CountryUS
Kind codeB2
Filing dateApr 12, 2011
Priority dateApr 12, 2011
Publication dateDec 12, 2017
Grant dateDec 12, 2017

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 system and method deallocates data blocks in virtual environments with high efficiency. A computer system hosting a virtual machine includes an I/O device driver in the guest operating system of the virtual machine. The I/O device driver intercepts an operation performed by the guest operating system that causes a data block to be deallocated in the virtual machine. The I/O device driver informs a hypervisor of the computer system that the data block is to be deallocated. The hypervisor then instructs the data storage to deallocate the data block for reuse.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: intercepting, by a processing device executing an input/output (I/O) device driver of a guest operating system of a virtual machine hosted by a computer system, a file deletion operation performed by the guest operating system, wherein the file deletion operation causes a data block to be deallocated in the virtual machine; sending, by the processing device executing the I/O device driver in response to the intercepting, information to a hypervisor of the computer system, the information identifying the file deletion operation and comprising a logical address of the data block to be deallocated, wherein a logical block associated with the data block is deallocated, without erasing content of the data block; storing, by a buffer associated with a backend driver of the hypervisor, the information identifying the logical address of the data block to be deallocated; and performing, by the backend device driver of the hypervisor, at least one of instructing a data storage that stores the data block to deallocate the data block for reuse or tracking the data block for reuse. 2. The method of claim 1 , further comprising communicating from the guest operating system to the hypervisor using paravirtualization. 3. The method of claim 1 , further comprising sending a command comprising a number of data blocks to be deallocated to the hypervisor. 4. The method of claim 1 , further comprising sending a command to unmap a physical block in the data storage, the physical block currently being mapped to the data block. 5. The method of claim 1 , further comprising sending a write_same command with an unmap bit set to the hypervisor. 6. The method of claim 1 , further comprising communicating from the guest operating system to the hypervisor through a VIRTIO API. 7. A system comprising: data storage to store a data block; and a processing device operatively coupled to the data storage to host a virtual machine, wherein a guest operating system of the virtual machine comprises an input/output (I/O) device driver executable by the processing device to: intercept a file deletion operation performed by the guest operating system, wherein the file deletion operation causes a data block to be deallocated in the virtual machine; send, in response to the file deletion operation being intercepted, information to a hypervisor of the computer system, the information identifying the file deletion operation and comprising a logical address of the data block is to be deallocated, wherein a logical block associated with the data block is deallocated, without erasing content of the data block; store, by a buffer associated with a backend driver of the hypervisor, the information identifying the logical address of the data block to be deallocated; and perform, by the backend device driver of the hypervisor, at least one of instructing the data storage that stores the data block to deallocate the data block for reuse or tracking the data block for reuse. 8. The system of claim 7 , the processing device to receive additional information about the data block from the I/O device driver. 9. The system of claim 8 , wherein the additional information comprises at least one of a command or a number of data blocks to be deallocated. 10. The system of claim 8 , wherein the additional information further comprises: a command to unmap a physical block in the data storage, wherein the physical block is currently mapped to the data block. 11. A non-transitory computer readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to: intercept, by the processing device executing an input/output (I/O) device driver of a guest operating system of a virtual machine hosted by a computer system, a file deletion operation performed by the guest operating system, wherein the file deletion operation causes a data block to be deallocated in the virtual machine; send, in response to the file deletion operation being intercepted by the I/O device driver, information to a hypervisor of the computer system, the information identifying the file deletion operation and comprising a logical address of the data block to be deallocated, wherein a logical block associated with the data block is deallocated, without erasing content of the data block; store, by a buffer associated with a backend driver of the hypervisor, the information identifying the logical address of the data block to be deallocated; and perform, by the backend device driver of the hypervisor, at least one of instructing a physical data storage that stores the data block to deallocate the data block for reuse or tracking the data block for reuse. 12. The non-transitory computer readable storage medium of claim 11 , the guest operating system and the hypervisor to communicate using paravirtualization. 13. The non-transitory computer readable storage medium of claim 11 , the processing device to send a number of data blocks to be deallocated to the hypervisor. 14. The non-transitory computer readable storage medium of claim 11 , the processing device to send a command to unmap a physical block in the data storage, the physical block currently being mapped to the data block.

Assignees

Inventors

Classifications

  • Garbage collection, i.e. reclamation of unreferenced memory · CPC title

  • I/O management, e.g. providing access to device drivers or storage · 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 US9841985B2 cover?
A system and method deallocates data blocks in virtual environments with high efficiency. A computer system hosting a virtual machine includes an I/O device driver in the guest operating system of the virtual machine. The I/O device driver intercepts an operation performed by the guest operating system that causes a data block to be deallocated in the virtual machine. The I/O device driver info…
Who is the assignee on this patent?
Baron Ayal, Red Hat Israel 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 Dec 12 2017 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).