File system reorganization in the presence of inline compression

US11526469B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11526469-B1
Application numberUS-201715664245-A
CountryUS
Kind codeB1
Filing dateJul 31, 2017
Priority dateJul 31, 2017
Publication dateDec 13, 2022
Grant dateDec 13, 2022

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 method for file system reorganization in the presence of inline compression includes obtaining a virtual block pointer for an original compressed segment to be reorganized, the original compressed segment comprising compressed allocation units of data stored in a storage system, wherein the virtual block pointer comprises an extent list identifying the compressed allocation units in the original compressed segment and a pointer to where the original compressed segment is stored; copying only the referenced compressed allocation units in the original compressed segment to a new compressed segment in a substantially contiguous manner; updating the extent list to identify the referenced compressed allocation units in the new compressed segment, and the pointer to where the new compressed segment is stored; and freeing the original compressed segment.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: obtaining a virtual block pointer that points to an original compressed segment to be reorganized, said original compressed segment comprising a plurality of compressed allocation units of data stored in a storage system using inline data compression, wherein the virtual block pointer comprises (i) an extent list identifying said plurality of compressed allocation units in said original compressed segment and (ii) a file system block number pointing to where the original compressed segment is stored in said storage system, wherein the plurality of compressed allocation units comprises at least one referenced compressed allocation unit associated with a weight indicating that the referenced compressed allocation unit is referenced by at least one file in a file system and at least one unreferenced compressed allocation unit associated with another weight indicating that the unreferenced compressed allocation unit is not referenced by a file in the file system; copying only said referenced compressed allocation units in said original compressed segment to a new compressed segment in a substantially contiguous manner; updating (i) said extent list to identify said referenced compressed allocation units in said new compressed segment, and (ii) said file system block number to point to where the new compressed segment is stored in said storage system; and freeing said original compressed segment. 2. The method of claim 1 , wherein said virtual block pointer is locked prior to said copying step and is unlocked following a substantial completion of said updating step. 3. The method of claim 1 , wherein said step of copying said referenced compressed allocation units to said new compressed segment further comprises copying said referenced compressed allocation units to a buffer and writing said buffer to said new compressed segment. 4. The method of claim 1 , further comprising the step of allocating space for said new compressed segment based on a size of said original compressed segment and a total size of said unreferenced allocation units in said original compressed segment. 5. The method of claim 1 , further comprising the step of recording said updated extent list and said updated file system block number in a transaction log. 6. The method of claim 1 , wherein said step of copying said referenced compressed allocation units to said new compressed segment is only performed when free space is available for relocation of one or more allocation units. 7. The method of claim 1 , further comprising the step of performing a compaction process within said original compressed segment to obtain a compacted original compressed segment, when free space is not available for relocation of one or more allocation units. 8. The method of claim 7 , wherein said compaction process comprises moving only said referenced compressed allocation units within said original compressed segment to obtain said compacted original compressed segment comprising a substantially contiguous set of referenced compressed allocation units. 9. The method of claim 8 , further comprising the steps of (i) updating said extent list to remove said unreferenced compressed allocation units from said original compressed segment; (ii) freeing a tail portion of said original compressed segment; and (iii) recording said compacted original compressed segment and said updated extent list in a transaction log. 10. The method of claim 1 , wherein said virtual block pointer is a metadata structure located in said file system that is placed between block pointers of leaf indirect blocks and respective data blocks of said file system to provide data block virtualization. 11. A computer program product, comprising a non-transitory machine-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by at least one processing device perform the following steps: obtaining a virtual block pointer that points to an original compressed segment to be reorganized, said original compressed segment comprising a plurality of compressed allocation units of data stored in a storage system using inline data compression, wherein the virtual block pointer comprises (i) an extent list identifying said plurality of compressed allocation units in said original compressed segment and (ii) a file system block number pointing to where the original compressed segment is stored in said storage system, wherein the plurality of compressed allocation units comprises at least one referenced compressed allocation unit associated with a weight indicating that the referenced compressed allocation unit is referenced by at least one file in a file system and at least one unreferenced compressed allocation unit associated with another weight indicating that the unreferenced compressed allocation unit is not referenced by a file in the file system; copying only said referenced compressed allocation units in said original compressed segment to a new compressed segment in a substantially contiguous manner; updating (i) said extent list to identify said referenced compressed allocation units in said new compressed segment, and (ii) said file system block number to point to where the new compressed segment is stored in said storage system; and freeing said original compressed segment. 12. The computer program product of claim 11 , further comprising the step of recording said updated extent list and said updated file system block number in a transaction log. 13. The computer program product of claim 11 , further comprising the step of performing a compaction process within said original compressed segment to obtain a compacted original compressed segment, when free space is not available for relocation of one or more allocation units. 14. The computer program product of claim 13 , wherein said compaction process comprises: moving only said referenced compressed allocation units within said original compressed segment to obtain said compacted original compressed segment comprising a substantially contiguous set of referenced compressed allocation units; updating said extent list to remove said unreferenced compressed allocation units from said original compressed segment; freeing a tail portion of said original compressed segment; and recording said compacted original compressed segment and said updated extent list in a transaction log. 15. A system, comprising: a memory; and at least one processing device, coupled to the memory, operative to implement the following steps: obtaining a virtual block pointer that points to an original compressed segment to be reorganized, said original compressed segment comprising a plurality of compressed allocation units of data stored in a storage system using inline data compression, wherein the virtual block pointer comprises (i) an extent list identifying said plurality of compressed allocation units in said original compressed segment and (ii) a file system block number pointing to where the original compressed segment is stored in said storage system, wherein the plurality of compressed allocation units comprises at least one referenced compressed allocation unit associated with a weight indicating that the referenced compressed allocation unit is referenced by at least one file in a file system and at least one unreferenced compressed allocation unit associated with another weight indicating that the unreferenced compressed allocation unit is not referenced by a file in the file system; copying only said referenced compressed allocation units in

Assignees

Inventors

Classifications

  • Transactional file systems · CPC title

  • Details of free space management performed by the file system (saving storage space on storage systems G06F3/0608; management of blocks in storage devices G06F3/064) · CPC title

  • File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06) · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • Management of blocks · 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 US11526469B1 cover?
A method for file system reorganization in the presence of inline compression includes obtaining a virtual block pointer for an original compressed segment to be reorganized, the original compressed segment comprising compressed allocation units of data stored in a storage system, wherein the virtual block pointer comprises an extent list identifying the compressed allocation units in the origi…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/1727. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 13 2022 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).