Combining xcopy's, unmaps, and writes in a single flush
AssigneeDell Products L.P.
InventorsVamsi K. Vankamamidi, Socheavy Heng, Nimrod Shani
Life of this patent
Estimating the term…
Abstract
A technique for managing a log in a storage system includes adding descriptors to the log, the descriptors indicating changes in user data that affects metadata, and creating a working set of descriptors that includes both per-block descriptors for specifying per-block changes and per-extent descriptors for specifying per-extent changes, where an extent includes a range of contiguous blocks. The technique further includes flushing the working set in a single flush cycle, including flushing the per-block descriptors together with the per-extent descriptors.
Claims20
A method of managing a log, comprising:
- adding log descriptors to the log, the log descriptors including a first plurality of descriptors that specify changes in respective, individual blocks and a second plurality of descriptors that specify changes in respective extents, each extent including multiple blocks having contiguous LBAs (logical block addresses);
- creating a working set of descriptors that includes both a first set of descriptors selected from the first plurality of descriptors and a second set of descriptors selected from the second plurality of descriptors;
- and
- flushing, in a single flush cycle, the working set to persistent structures to implement the changes specified by the first set of descriptors and the second set of descriptors.
A computerized apparatus, comprising control circuitry that includes a set of processors coupled to memory, the control circuitry constructed and arranged to:
- add log descriptors to a log, the log descriptors including a first plurality of descriptors that specify changes in respective, individual blocks and a second plurality of descriptors that specify changes in respective extents, each extent including multiple blocks having contiguous LBAs (logical block addresses);
- create a working set of descriptors that includes both a first set of descriptors selected from the first plurality of descriptors and a second set of descriptors selected from the second plurality of descriptors;
- and
- flush, in a single flush cycle, the working set to persistent structures to implement the changes specified by the first set of descriptors and the second set of descriptors.
A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a computerized apparatus, cause the computerized apparatus to perform a method of managing a log, the method comprising:
- adding log descriptors to the log, the log descriptors including a first plurality of descriptors that specify changes in respective, individual blocks and a second plurality of descriptors that specify changes in respective extents, each extent including multiple blocks having contiguous LBAs (logical block addresses);
- creating a working set of descriptors that includes both a first set of descriptors selected from the first plurality of descriptors and a second set of descriptors selected from the second plurality of descriptors;
- and
- flushing, in a single flush cycle, the working set to persistent structures to implement the changes specified by the first set of descriptors and the second set of descriptors.
Dependencies are inferred from the claim text.