Persistent storage device management
AssigneeDaedalus Cloud LLC
InventorsStuart John INGLIS, Sheridan John LAMBERT, Timothy Kelly DAWSON, Xavier Aldren SIMMONS, Alexander Kingsley ST. JOHN
Life of this patent
Estimating the term…
Abstract
A method includes receiving a request to write data at a virtual location, writing the data to a physical location on a persistent storage device, and recording a mapping from the virtual location to the physical location. The physical location corresponds to a next free block in a sequence of blocks on the persistent storage device.
Claims20
A method comprising:
- receiving a first request to write first data at a first virtual location;
- writing the first data to a first physical location on a persistent storage system;
- recording a first mapping from the first virtual location to the first physical location;
- receiving a second request to write second data at the first virtual location;
- writing the second data to a second physical location on the persistent storage system indicated by a head pointer, the second physical location being different from the first physical location, wherein each block on the persistent storage system is written to once, before any block of the persistent storage system is written to a second time;
- and
- replacing the first mapping with a second mapping from the first virtual location to the second physical location.
A method comprising writing a plurality of stripes i=0 . . . N to a plurality of drives 0 M−1, wherein each stripe i includes a plurality of data blocks and at least one parity block, and wherein a starting data block of stripe i is written to drive i modulo M.
A method comprising:
- writing a plurality of stripes i=0 . . . N to a plurality of drives 0 . . . M−1, wherein each stripe includes a plurality of data blocks and at least one parity block, and wherein a starting data block of stripe i is written to drive i modulo M;
- marking one or more data blocks in the plurality of stripes as dirty, wherein a tail counter identifies a first physical location on a first one of the drives that stores an oldest non-dirty data block, and wherein a head counter identifies a second physical location on a second one of the drives with a next free block;
- identifying, on the first drive, a first data block stored at the first physical location indicated by the tail pointer;
- storing, on the second drive, the first data block at the second physical location indicated by the head pointer;
- and
- marking the first physical location on the first drive storing the first data block as dirty.
Dependencies are inferred from the claim text.