System for Maintaining Dirty Cache Coherency Across Reboot of a Node
First Claim
Patent Images
1. A data storage system comprising:
- a first node comprising a dirty data cache;
a second node comprising a dirty data cache; and
a data storage element in data communication with the first node and the second node,wherein;
the first node and the second node are configured to redundantly cache data from one or more write operations;
the second node is configured to;
identify a failure of the first node;
stop caching new write operations;
begin flushing all new write operations to the data storage element;
determine if a new write operation renders dirty data in the second node dirty data cache obsolete;
record metadata pertaining to obsolete dirty data;
identify that the first node is restored; and
send the metadata to the first node; and
the first node is configured to;
receive metadata from the second node; and
remove data identified by the metadata from the first node dirty data cache.
6 Assignments
0 Petitions
Accused Products
Abstract
Nodes in a data storage system having redundant write caches identify when one node fails. A remaining active node stops caching new write operations, and begins flushing cached dirty data. Metadata pertaining to each piece of data flushed from the cache is recorded. Metadata pertaining to new write operations are also recorded a corresponding data flushed immediately when the new write operation involves data in the dirty data cache. When the failed node is restored, the restored node removes all data identified by the metadata from a write cache. Removing such data synchronizes the write cache with all remaining nodes without costly copying operations.
-
Citations
20 Claims
-
1. A data storage system comprising:
-
a first node comprising a dirty data cache; a second node comprising a dirty data cache; and a data storage element in data communication with the first node and the second node, wherein; the first node and the second node are configured to redundantly cache data from one or more write operations; the second node is configured to; identify a failure of the first node; stop caching new write operations; begin flushing all new write operations to the data storage element; determine if a new write operation renders dirty data in the second node dirty data cache obsolete; record metadata pertaining to obsolete dirty data; identify that the first node is restored; and send the metadata to the first node; and the first node is configured to; receive metadata from the second node; and remove data identified by the metadata from the first node dirty data cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A node in a data storage system comprising:
-
a controller; memory connected to the controller, at least partially configured as a dirty data cache; and computer executable program code configured to execute on the controller, wherein the computer executable program code is configured to; identify a failure of a redundant controller; stop caching new write operations; flush all new write operations to a data storage element; determine if a new write operation renders dirty data in the dirty data cache obsolete; record metadata pertaining to obsolete dirty data; identify that the redundant controller is restored; and send the metadata to the redundant controller. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method for synchronizing multiple write caches comprising:
-
identifying a failure of a redundant node; stopping caching new write operations; flushing all new write operations to a data storage element; determining if a new write operation renders dirty data obsolete; recording metadata pertaining to obsolete dirty data; identifying that the redundant node is restored; and sending the metadata to the redundant node. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification