Storage system using fast storage and log-structured storage
AssigneeHewlett-Packard Development Company, L.P.
InventorsMustafa Uysal, Arif Merchant, Guillermo A. Alvarez
Life of this patent
Estimating the term…
Abstract
A computer storage system includes a controller and a storage device array. The storage device array includes a first sub-array and a fast storage device sub-array. The first sub-array includes one or more log-structured storage devices storing data. The fast storage device sub-array includes one or more fast storage devices storing a copy of the data stored in the first sub-array.
Claims32
A computer storage system comprising
- a controller configured to perform data operations on a storage device array;
- a cache;
- and
- the storage device array comprises a first sub-array and a fast storage sub-array storing data redundant to data stored in the first sub-array, wherein the first sub-array includes at least one log-structured storage device and the fast storage sub-array includes at least one fast storage device;
- wherein data is operable to be written from the cache to the first sub-array and the fast storage sub-array.
A computer storage apparatus comprising:
- a controller means for performing data operations in a storage array means for storing data;
- a cache means for caching data;
- and
- the storage array means comprises a first sub-array means for storing data using a log-structured algorithm and a fast storage sub-array means for storing data redundant to data stored in the first sub-array means, wherein the fast storage sub-array means includes one or more fast storage devices,
- wherein data is operable to be written from the cache means to the first sub-array means and the fast storage sub-array means.
A method of recovering from a failed device in a storage system having at least one log-structured storage device and at least one fast storage device storing data redundant to data stored in the at least one log-structured storage device, the method comprising steps of:
- determining whether the at least one log-structured storage device failed;
- reading data from the at least one fast storage device in response to the at least one log-structured storage device being failed, the read data including data redundant to the data stored on the at least one failed log-structured storage device;
- and
- writing the redundant data to a log-structured storage device that is operative in the storage system.
In a computer storage system including at least one log-structured storage device and at least one fast storage device storing data redundant to data stored in the at least one log-structured storage device, wherein the at least one log-structured storage device is divided into extents for storing data, a method for cleaning an extent comprises steps of:
- identifying valid data in an extent being cleaned in the log-structured storage device;
- retrieving a copy of the valid data from the at least one fast storage device;
- and
- appending the copy of the valid data to a current extent in the at least one log-structured storage devices,
- wherein the current extent comprises one or more of a current extent in the at least one log-structured storage device, a clean extent nearest to the previous current extent, and an extent with a greatest number of invalid blocks at the time the previous current extent became full.
A method of performing data operations in a storage system comprising at least one log-structured storage device and at least one fast storage device, the method comprising steps of:
- receiving a request to perform a data operation;
- determining whether the request provokes a write operation on the storage system;
- in response to the request provoking a write operation, writing data to the at least one log-structured storage device and writing redundant data to at least one fast storage device;
- determining whether the request provokes a read operation on the storage system;
- determining whether the at least one fast storage device is busy in response to the request provoking a read operation;
- reading data from the at least one fast storage device in response to the at least one fast storage device not being busy;
- and
- reading data from any one of the at least one log-structured storage device and the at least one fast storage device in response to the at least one fast storage device being busy.
Dependencies are inferred from the claim text.