Rapid recovery from loss of storage device cache
First Claim
Patent Images
1. A method, comprising steps of:
- a storage device detecting a failure of a storage device cache that said storage device uses to cache data stored in a primary storage of said storage device;
in response to detecting a failure;
said storage device making a determination of a set of data blocks in primary storage that are stale;
based on the determination of the set of data blocks in primary storage that are stale, said storage device generating a re-silvering list that identifies data blocks in said primary storage to re-synchronize; and
based on the re-silvering list, performing re-silvering of the storage device, wherein re-silvering comprises re-synchronizing data blocks identified by the re-silvering list by at least overwriting a subset of said data blocks with up-to-date versions of said subset of said data blocks from another storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
Dirty data in a storage device is made current through rapid re-silvering, which uses a mirrored and up-to-date version of the dirty data from another storage device to recover the data. Because under rapid re-silvering cache metadata in volatile memory survives the failure of the cache, the cache metadata is used to determine which subset of data from the other storage device needs to be copied to the storage device being re-silvered. During re-silvering, cache metadata is used to determine which I/O requests from clients are requests for data that is not stale.
43 Citations
20 Claims
-
1. A method, comprising steps of:
-
a storage device detecting a failure of a storage device cache that said storage device uses to cache data stored in a primary storage of said storage device; in response to detecting a failure; said storage device making a determination of a set of data blocks in primary storage that are stale; based on the determination of the set of data blocks in primary storage that are stale, said storage device generating a re-silvering list that identifies data blocks in said primary storage to re-synchronize; and based on the re-silvering list, performing re-silvering of the storage device, wherein re-silvering comprises re-synchronizing data blocks identified by the re-silvering list by at least overwriting a subset of said data blocks with up-to-date versions of said subset of said data blocks from another storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable non-transitory storage medium that stores instructions which, when executed by one or more processors, cause the one of more processors to perform:
-
a storage device detecting a failure of a storage device cache that said storage device uses to cache data stored in a primary storage of said storage device; in response to detecting a failure; said storage device making a determination of a set of data blocks in primary storage that are stale; based on the determination of the set of data blocks in primary storage that are stale, said storage device generating a re-silvering list that identifies data blocks in said primary storage to re-synchronize; and based on the re-silvering list, performing re-silvering of the storage device, wherein re-silvering comprises re-synchronizing data blocks identified by the re-silvering list by at least overwriting a subset of said data blocks with up-to-date versions of said subset of said data blocks from another storage device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification