Efficiently shrinking a dynamically-sized volume

US9933945B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9933945-B1
Application numberUS-201615282221-A
CountryUS
Kind codeB1
Filing dateSep 30, 2016
Priority dateSep 30, 2016
Publication dateApr 3, 2018
Grant dateApr 3, 2018

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.

Techniques for shrinking a filesystem backed by a volume identify slices in the volume to be evacuated in order to reach a target size, identify a target endpoint in the volume, and evacuate identified slices to available locations prior to the target endpoint. The same data is typically not moved from slice to slice multiple times.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, performed by a data storage system, of shrinking a dynamically-sized volume that supports a host-accessible filesystem, the volume composed of a plurality of uniform-length extents of storage that are contiguously arranged within an address space of the volume, the volume having a length equal to a sum of lengths of the extents, the method comprising: in response to a request to shrink the host-accessible filesystem to a target size, identifying a target endpoint of the volume, the target endpoint provided at an address in the address space of the volume that aligns with a boundary between two extents; identifying a set of the extents for evacuation, the set of extents consisting of a number of extents that equals a number of extents disposed at addresses in the address space that exceed the address of the target endpoint; for each of the set of extents, copying contents of allocated blocks within that extent to available space on one or more extents not identified for evacuation and located at addresses less than the address of the target endpoint; and after copying the contents of allocated blocks from the identified extents, truncating the volume by releasing from the volume the extents disposed at addresses in the address space that exceed the address of the target endpoint. 2. The method of claim 1 wherein the set of extents identified for evacuation includes an evacuated extent occupying a range of addresses less than the address of the target endpoint, and wherein the method further comprises, prior to truncating the volume, copying contents of a particular extent located at an address range greater than the address of the target endpoint to the evacuated extent occupying the range of addresses less than the address of the target endpoint. 3. The method of claim 2 , wherein the particular extent stores metadata of the host-accessible filesystem, and wherein copying the contents of the particular extent preserves an order of the contents of the particular extent such that the contents as copied to the evacuated extent have the same order. 4. The method of claim 3 , wherein the host-accessible filesystem is built upon a sparse metavolume, the sparse metavolume having an address space, the address space of the sparse metavolume being larger than the address space of the volume, and wherein the method further comprises provisioning extents from the volume to the sparse metavolume to provide storage for supporting data and metadata of the host-accessible filesystem. 5. The method of claim 4 , wherein the data storage system maps the particular extent to a location in the sparse metavolume, and wherein the location of the particular extent within the sparse metavolume remains constant after truncating the volume. 6. The method of claim 4 wherein the data storage system realizes the volume with a volume-file, the volume-file stored as a file in a container filesystem and rendered as the volume, and wherein the volume-file is partitioned into the plurality of extents. 7. The method of claim 6 , wherein, upon truncating the volume, the method further comprises truncating the file that stores the volume-file in the container filesystem, such that the file becomes smaller. 8. The method of claim 2 wherein copying the contents of allocated blocks from each identified extent to available space on one or more extents not identified for evacuation includes modifying metadata of the host-accessible filesystem to point to locations of blocks to which the contents have been evacuated. 9. The method of claim 8 wherein, when copying the contents of the particular extent, the method further includes: mirroring a set of incoming write requests directed to the particular extent to the evacuated extent occupying the range of addresses less than the address of the target endpoint, such that data specified in the incoming write requests are written to both of these extents; and after copying the contents of the particular extent, redirecting later-arriving write requests directed to the particular extent to the previously evacuated extent. 10. The method of claim 1 wherein the method further comprises receiving the request to shrink the filesystem to the target size from a host accessing the filesystem. 11. The method of claim 1 wherein the method further comprises, in response to detecting that a current number of blocks in the volume exceeds a number of blocks allocated by the host-accessible filesystem by a pre-determined threshold: calculating the target size as a size greater than the number of allocated blocks and less than the current number of blocks in the volume; and providing the calculated target size in the request to shrink the filesystem. 12. The method of claim 1 wherein the method further comprises, after identifying the set of extents for evacuation, allocating blocks within the host-accessible filesystem only from regions that are not backed by any of the set of identified extents, thereby avoiding, until the volume has been truncated, block allocation from extents that have been identified for evacuation. 13. An apparatus comprising: persistent storage devices providing data storage; network interface circuitry configured to communicate with a host over a network; and processing circuitry coupled to memory to form a control circuit constructed and arranged to shrink a dynamically-sized volume that supports a host-accessible filesystem, the volume composed of a plurality of uniform-length extents of storage that are contiguously arranged within an address space of the volume, the volume having a length equal to a sum of lengths of the extents, the control circuit shrinking the volume by: in response to a request to shrink the host-accessible filesystem to a target size, identifying a target endpoint of the volume, the target endpoint provided at an address in the address space of the volume that aligns with a boundary between two extents; identifying a set of the extents for evacuation, the set of extents consisting of a number of extents that equals a number of extents disposed at addresses in the address space that exceed the address of the target endpoint; for each of the set of extents, copying contents of allocated blocks within that extent to available space on one or more extents not identified for evacuation and located at addresses less than the address of the target endpoint; and after copying the contents of allocated blocks from the identified extents, truncating the volume by releasing from the volume the extents disposed at addresses in the address space that exceed the address of the target endpoint. 14. A computer program product comprising a non-transitory computer-readable storage medium storing a set of instructions, which, when executed by control circuitry of a data storage system, cause the control circuitry to perform a method of shrinking a dynamically-sized volume that supports a host-accessible filesystem, the volume composed of a plurality of uniform-length extents of storage that are contiguously arranged within an address space of the volume, the volume having a length equal to a sum of lengths of the extents, the method comprising: in response to a request to shrink the host-accessible filesystem to a target size, identifying a target endpoint of the volume, the target endpoint provided at an address in the address space of the volume that aligns with a boundary between two extents; identifying a set of the extents for evacuation, the set of extents consisting of a number of extents that equals a number of extents disposed at addresses in the address space that e

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • G06F3/0608Primary

    Saving storage space on storage systems · CPC title

  • Plurality of storage devices · CPC title

  • Migration mechanisms · CPC title

  • Management of space entities, e.g. partitions, extents, pools · 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 US9933945B1 cover?
Techniques for shrinking a filesystem backed by a volume identify slices in the volume to be evacuated in order to reach a target size, identify a target endpoint in the volume, and evacuate identified slices to available locations prior to the target endpoint. The same data is typically not moved from slice to slice multiple times.
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0608. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 03 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).