×

Relocating compressed extents using file-system hole list

  • US 10,762,047 B2
  • Filed: 10/31/2018
  • Issued: 09/01/2020
  • Est. Priority Date: 10/31/2018
  • Status: Active Grant
First Claim
Patent Images

1. A method of writing data in a data storage system, the method comprising:

  • aggregating a set of data received in I/O (Input/Output) requests into a batch of data, the batch of data including multiple extents, each extent directed to a respective logical address in a file system running in the data storage system;

    compressing a current extent of the batch of data to produce a compressed extent, the current extent directed to a logical address that is already backed by a fragment in the data storage system, such that a write of the compressed extent is an overwrite; and

    performing an FS-relocate operation, the FS-relocate operation (i) accessing an FS-hole list provided for the file system to select a hole large enough to accommodate the compressed extent, each hole in the FS-hole list representing a range of storage in the file system that contains no currently-valid data, and (ii) placing the compressed extent into the selected hole found in the FS-hole list,wherein the FS-hole list contains multiple queues, each queue specifying a respective set of holes of a respective size, and wherein selecting a hole large enough to accommodate the compressed extent includes (i) selecting, based on a size of the compressed extent, the queue that specifies holes that are minimally large enough to accommodate the compressed extent, and (ii) identifying one of the holes from the selected queue as the selected hole.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×