Preserving cache data against cluster reboot
First Claim
1. A method for safeguarding data in a multi-cluster storage server, comprising:
- maintaining respective data structures that describe data stored in respective caches of the clusters;
wherein for each cluster, the data is provided in a plurality of track images of the respective cache, and the respective data structures include track control blocks that describe the data in the track images; and
following a failure of one of the clusters, using the track control blocks of the surviving cluster to rebuild the data structures for the respective cache.
2 Assignments
0 Petitions
Accused Products
Abstract
A dual cluster storage server maintains track control blocks (TCBs) in a data structure to describe the data stored in cache in corresponding track images or segments. Following a cluster failure and reboot, the surviving cluster uses the TCBs to rebuild data structures such as a scatter table, which is a hash table that identifies a location of a track image, and a least recently used (LRU)/most recently used (MRU) list for the track images. This allows the cache data to be recovered. The TCBs describe whether the data in the track images is modified and valid, and describe forward and backward pointers for the data in the LRU/MRU lists. A separate non-volatile memory that is updated as the track images are updated is used to verify the integrity of the TCBs.
-
Citations
29 Claims
-
1. A method for safeguarding data in a multi-cluster storage server, comprising:
-
maintaining respective data structures that describe data stored in respective caches of the clusters;
wherein for each cluster, the data is provided in a plurality of track images of the respective cache, and the respective data structures include track control blocks that describe the data in the track images; and
following a failure of one of the clusters, using the track control blocks of the surviving cluster to rebuild the data structures for the respective cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer system for safeguarding data in a multi-cluster storage server, comprising:
-
memory in which respective data structures that describe data stored in respective caches of the clusters is maintained;
wherein for each cluster, the data is provided in a plurality of track images of the respective cache, and the respective data structures include track control blocks that describe the data in the track images; and
a processor for using the track control blocks of the surviving cluster to rebuild the data structures for the respective cache, following a failure of one of the clusters. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer program product for safeguarding data in a multi-cluster storage server, comprising:
-
computer code devices configured to cause a computer to;
(a) maintain respective data structures that describe data stored in respective caches of the clusters;
wherein for each cluster, the data is provided in a plurality of track images of the respective cache, and the respective data structures include track control blocks that describe the data in the track images; and
(b) following a failure of one of the clusters, use the track control blocks of the surviving cluster to rebuild the data structures for the respective cache. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A method for safeguarding data in a multi-cluster storage server, comprising:
-
maintaining respective data structures that describe data stored in respective caches of the clusters;
wherein for each cluster, the data is provided in a plurality of track images of the respective cache, and the respective data structures include track control blocks that describe the data in the track images;
following a failure of one of the clusters, using the track control blocks of the surviving cluster to rebuild the data structures for the respective cache;
wherein;
the data structures for the respective cache that are rebuilt include;
(a) a least recently used (LRU)/most recently used (MRU) list indicating a probability of a read access by a host of the data provided in the plurality of track images of the respective cache; and
(b) a scatter table that outputs information identifying locations of the track images in the respective cache.
-
-
25. A computer system for safeguarding data in a multi-cluster storage server, comprising:
-
memory in which respective data structures that describe data stored in respective caches of the clusters is maintained;
wherein for each cluster, the data is provided in a plurality of track images of the respective cache, and the respective data structures include track control blocks that describe the data in the track images; and
a processor for using the track control blocks of the surviving cluster to rebuild the data structures for the respective cache, following a failure of one of the clusters;
wherein;
the data structures for the respective cache that are rebuilt include;
(a) a least recently used (LRU)/most recently used (MRU) list indicating a probability of a read access by a host of the data provided in the plurality of track images of the respective cache; and
(b) a scatter table that outputs information identifying locations of the track images in the respective cache.
-
-
26. A computer program product for safeguarding data in a multi-cluster storage server, comprising:
-
computer code devices configured to cause a computer to;
(a) maintain respective data structures that describe data stored in respective caches of the clusters;
wherein for each cluster, the data is provided in a plurality of track images of the respective cache, and the respective data structures include track control blocks that describe the data in the track images; and
(b) following a failure of one of the clusters, use the track control blocks of the surviving cluster to rebuild the data structures for the respective cache;
wherein;
the data structures for the respective cache that are rebuilt include;
(i) a least recently used (LRU)/most recently used (MRU) list indicating a probability of a read access by a host of the data provided in the plurality of track images of the respective cache; and
(ii) a scatter table that outputs information identifying locations of the track images in the respective cache.
-
-
27. A method for safeguarding data in a multi-cluster storage server, comprising:
-
maintaining respective data structures that describe data stored in respective caches of the clusters;
wherein for each cluster, the data is provided in a plurality of track images of the respective cache, and the respective data structures include track control blocks that describe the data in the track images;
maintaining a non-volatile memory with information identifying track images containing modified data, and maintaining information in the track control blocks indicating whether the track images contain modified data;
following a failure of one of the clusters, using the track control blocks of the surviving cluster to rebuild the data structures for the respective cache; and
verifying an integrity of the track control blocks of the surviving cluster before using them to rebuild the data structures for the respective cache by determining whether the information maintained in the non-volatile memory corresponds with the information maintained in the track control blocks.
-
-
28. A computer system for safeguarding data in a multi-cluster storage server, comprising:
-
memory in which respective data structures that describe data stored in respective caches of the clusters is maintained;
wherein for each cluster, the data is provided in a plurality of track images of the respective cache, and the respective data structures include track control blocks that describe the data in the track images;
a non-volatile memory maintained with information identifying track images containing modified data, and maintaining information in the track control blocks indicating whether the track images contain modified data; and
a processor for using the track control blocks of the surviving cluster to rebuild the data structures for the respective cache, following a failure of one of the clusters;
wherein the processor verifies an integrity of the track control blocks of the surviving cluster before using them to rebuild the data structures for the respective cache by determining whether the information maintained in the non-volatile memory corresponds with the information maintained in the track control blocks.
-
-
29. A computer program product for safeguarding data in a multi-cluster storage server, comprising:
-
computer code devices configured to cause a computer to;
(a) maintain respective data structures that describe data stored in respective caches of the clusters;
wherein for each cluster, the data is provided in a plurality of track images of the respective cache, and the respective data structures include track control blocks that describe the data in the track images;
(b) maintain a non-volatile memory with information identifying track images containing modified data, and maintain information in the track control blocks indicating whether the track images contain modified data;
(c) following a failure of one of the clusters, use the track control blocks of the surviving cluster to rebuild the data structures for the respective cache; and
(d) verify an integrity of the track control blocks of the surviving cluster before using them to rebuild the data structures for the respective cache by determining whether the information maintained in the non-volatile memory corresponds with the information maintained in the track control blocks.
-
Specification