Method, system, and program for managing meta data in a storage system and rebuilding lost meta data in cache
First Claim
1. A method for processing modified meta data for data recovery operations, wherein the meta data provides information on customer data maintained in a storage device, comprising the steps of:
- determining whether meta data tracks maintained in a cache were modified;
indicating in a non-volatile memory that the determined meta data tracks were modified on a list of modified meta data tracks;
initiating a data recovery operation in response to a system failure;
processing the indication of modified metadata tracks in the list of modified meat data tracks in the non-volatile memory to generate a rebuild list indicating meta data tracks to rebuild during the data recovery operation;
processing the rebuild list to determine meta data tracks to rebuild;
rebuilding the meta data tracks indicated on the rebuild list; and
storing the rebuilt meta data tracks in the cache.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a method, system, and article of manufacture for processing modified meta data for data recovery operations. The meta data provides information on user data maintained in a storage device. The system determines whether meta data tracks maintained in a cache were modified and indicates in a non-volatile memory that the determined meta data tracks were modified. Data recovery operations may be initiated as a result of a system failure, such as a warmstart or coldstart recovery. During such data recovery operations, the system processes the non-volatile memory and the indications of modified meta data tracks therein to rebuild lost meta data tracks in the cache.
140 Citations
23 Claims
-
1. A method for processing modified meta data for data recovery operations, wherein the meta data provides information on customer data maintained in a storage device, comprising the steps of:
-
determining whether meta data tracks maintained in a cache were modified;
indicating in a non-volatile memory that the determined meta data tracks were modified on a list of modified meta data tracks;
initiating a data recovery operation in response to a system failure;
processing the indication of modified metadata tracks in the list of modified meat data tracks in the non-volatile memory to generate a rebuild list indicating meta data tracks to rebuild during the data recovery operation;
processing the rebuild list to determine meta data tracks to rebuild;
rebuilding the meta data tracks indicated on the rebuild list; and
storing the rebuilt meta data tracks in the cache. - View Dependent Claims (2, 3, 4, 5)
processing the cache to locate meta data tracks;
determining whether the located meta data tracks in the cache are valid;
discarding the invalid meta data tracks from the cache; and
saving the valid meta data tracks in the cache.
-
-
4. The method of claim 1, wherein all meta data tracks indicated on the list of modified meta data tracks are indicated on the rebuild list.
-
5. The method of claims 1, wherein the step of rebuilding the meta data tracks indicated on the rebuild list comprises:
-
accessing the customer data tracks associated with the meta data track;
staging the accessed customer data tracks into cache; and
processing the customer data tracks staged into the cache to rebuild the meta data track.
-
-
6. A method for processing modified meta data for data recovery operations, wherein the meta data provides information on customer data maintained in a storage device, comprising the steps of:
-
determining whether meta data tracks maintained in a cache were modified;
indicating in a non-volatile memory that the determined meta data tracks were modified by indicating the modified meta data track on a list of modified meta data tracks;
initiating a data recovery operation in response to a system failure by;
(i) processing the cache to locate meta data tracks;
(ii) determining whether the located meta data tracks in the cache are valid;
(iii) discarding invalid meta data tracks from the cache; and
(iv) saving the valid meta data tracks in the cache;
processing the non-volatile memory and the indications of modified meta data tracks therein to rebuild lost meta data tracks in cache during the data recovery operation by;
(i) processing the list of modified meta data tracks to generate a rebuild list indicating meta data tracks to rebuild by determining whether the meta data track is in cache before indicating the meta data track on the rebuild list, wherein the meta data track is indicated on the rebuild list after determining that the meta data track is not in the cache;
(ii) processing the rebuild list to determine meta data tracks to rebuild;
(iii) rebuilding the meta data tracks indicated on the rebuild list; and
(iv) storing the rebuilt meta data tracks in the cache.
-
-
7. A system for processing modified meta data for data recovery operations, comprising:
-
a cache;
a non-volatile memory, a storage device, wherein the meta data provides information on user data maintained in the storage device;
a control unit in communication with the cache, the non-volatile memory, and the storage device; and
control logic implemented within the control unit, comprising;
(i) means for determining whether meta data tracks maintained in the cache were modified;
(ii) means for indicating in the non-volatile memory the determined meta data tracks that were modified on a list of modified meta data tracks;
(iii) means for initiating a data recovery operation in response to a system failure;
(iv) means for processing the indication of modified metadata tracks in the list of modified meta data tracks in the non-volatile memory to generate a rebuild list indicating meta data tracks to rebuild during the data recovery operation;
(v) means for processing the rebuild list to determine meta data tracks to rebuild;
(vi) means for rebuilding the meta data tracks indicated on the rebuild list; and
(vii) means for storing the rebuilt meta data tracks in the cache. - View Dependent Claims (8)
means for processing the cache to locate meta data tacks;
means for determining whether the located meta data tracks in the cache are valid;
means for discarding the invalid meta data tracks from the cache; and
means for saving the valid meta data tracks in the cache.
-
-
9. A data processing system for managing meta data, comprising:
-
a client computer;
a non-volatile storage;
a cache;
a storage device, wherein the meta data provides information on user data maintained in a storage device;
a control unit in communication with the cache, the non-volatile storage, the storage device, and the client computer; and
control logic implemented within the control unit, comprising;
(i) means for determining whether meta data tracks maintained in the cache were modified in response to data updates to user data from the client computer;
(ii) means for indicating in the non-volatile memory the determined meta data tracks that were modified on a list of modified meta data tracks;
(iii) means for initiating a data recovery operation in response to a system failure;
(iv) means for processing the indication of modified metadata tracks in the list of modified meta data tracks in the non-volatile memory to generate a rebuild list indicating meta data tracks to rebuild during the data recovery operation;
(v) means for processing the rebuild list to determine meta data tracks to rebuild;
(vi) means for rebuilding the meta data tracks indicated on the rebuild list; and
(vii) means for storing the rebuilt meta data tracks in the cache. - View Dependent Claims (10)
means for processing the cache to locate meta data tracks;
means for determining whether the located meta data tracks in the cache are valid;
means for discarding the invalid meta data tracks from the cache; and
means for saving the valid meta data tracks in the cache.
-
-
11. A system for processing modified meta data for data recovery operations, wherein the meta data provides information on customer data maintained in a storage device, comprising:
-
a cache;
a non-volatile memory;
a control unit in communication with the cache and the non-volatile memory; and
control logic implemented within the control unit, comprising;
(i) means for determining whether meta data tracks maintained in the cache were modified;
(ii) means for indicating in the non-volatile memory the determined meta data tracks that were modified on a list of modified meta data tracks in the non-volatile memory;
(iii) means for initiating a data recovery operation in response to a system failure;
(iv) means for processing the indication of the modified metadata tracks in the list in the non-volatile memory to generate a rebuild list indicating meta data tracks to rebuild during the data recovery operation;
(v) means for rebuilding the meta data tracks indicated on the rebuild list; and
(vi) means for storing the rebuilt meta data tracks in the cache. - View Dependent Claims (12, 13, 14, 15)
means for processing the cache to locate meta data tracks;
means for determining whether the located meta data tracks in the cache are valid;
means for discarding the invalid meta data tracks from the cache; and
means for saving the valid meta data tracks in the cache.
-
-
14. The system of claim 11, wherein all meta data tracks indicated on the list of modified meta data tracks are indicated on the rebuild list.
-
15. The system of claim 11, wherein the means for rebuilding the meta data tracks indicated on the rebuild list comprises:
-
means for accessing the customer data tracks associated with the meta data track;
means for staging the accessed customer data tracks into cache; and
means for processing the customer data tracks staged into the cache to rebuild the meta data track.
-
-
16. A system for processing modified meta data for data recovery operations, wherein the meta data provides information on customer data maintained in a storage device, comprising:
-
a cache;
a non-volatile memory;
a control unit in communication with the cache and the non-volatile memory;
control logic implemented within the control unit, comprising;
(i) means for determining whether meta data tracks maintained in the cache were modified;
(ii) means for indicating in the non-volatile memory the determined meta data tracks that were modified;
(iii) means for initiating a data recovery operation in response to a system failure by;
(a) processing the cache to locate meta data tracks;
(b) determining whether the located meta data tacks in the cache are valid;
(c) discarding the invalid meta data tracks from the cache; and
(d) saving the valid meta data tracks in the cache;
(iv) means for processing the non-volatile memory and the indications of modified meta data tracks therein to rebuild lost meta data tracks in the cache during the data recovery operation by;
(a) indicating the modified meta data tracks on a list of modified meta data tracks;
(b) processing the list of modified meta data tracks to generate a rebuild list indicating meta data tracks to rebuild by determining whether the meta data track is in cache before indicating the meta data track on the rebuild list, wherein the meta data track is indicated on the rebuild list after determining that the meta data track is not in the cache;
(c) processing the rebuild list to determine meta data tracks to rebuild;
(d) rebuilding the meta data tracks indicated on the rebuild list; and
(e) storing the rebuilt meta data tracks in the cache.
-
-
17. A system for processing modified meta data for data recovery operations, comprising:
-
a cache;
a non-volatile memory;
a storage device, wherein the meta data provides information on customer data maintained in the storage device, a control unit in communication with the cache, the non-volatile memory, and the storage device; and
control logic implemented within the control unit, comprising;
(i) means for determining whether meta data tracks maintained in the cache were modified;
(ii) means for indicating in the non-volatile memory the determined meta data tracks that were modified;
(iii) means for initiating a data recovery operation in response to a system failure by;
(a) processing the cache to locate meta data tracks;
(b) determining whether the located meta data tracks in the cache are valid;
(c) discarding the invalid meta data tracks from the cache; and
(d) saving the valid meta data tracks in the cache. (iv) means for processing the non-volatile memory and the indications of modified meta data tracks therein to rebuild lost meta data tracks in the cache during the data recovery operation by;
(a) indicating the modified meta data tracks on a list of modified meta data tracks;
(b) processing the list of modified meta data tracks to generate a rebuild list indicating meta data tracks to rebuild by determining whether the meta data track is in cache before indicating the meta data track on the rebuild list, wherein the meta data track is indicated on the rebuild list after determining that the meta data track is not in the cache;
(c) processing the rebuild list to determine meta data tracks to rebuild;
(d) rebuilding the meta data tracks indicated on the rebuild list; and
(e) storing the rebuilt meta data tracks in the cache.
-
-
18. A data processing system for managing meta data;
- comprising;
a client computer;
a non-volatile storage;
a cache;
a storage device, wherein the meta data provides information on user data maintained in the storage device, a control unit in communication with the cache, the non-volatile storage, the storage device, and the client computer, and control logic implemented within the control unit, comprising;
(i) means for determining whether meta data tracks maintained in the cache were modified in response to data updates to user data from the client computer;
(ii) means for indicating in the non-volatile memory the determined meta data tracks that were modified;
(iii) means for initiating a data recovery operation in response to a system failure by;
(a) processing the cache to locate meta data tracks;
(b) determining whether the located meta data tracks in the cache are valid;
(c) discarding the invalid meta data tracks from the cache; and
(d) saving the valid meta data tracks in the cache;
(iv) means for processing the non-volatile memory and the indications of modified meta data tracks therein to rebuild lost meta data tracks in the cache during the data recovery operation by;
(a) indicating the modified meta data tracks on a list of modified meta data tracks;
(b) processing the list of modified meta data tracks to generate a rebuild list indicating meta data tracks to rebuild by determining whether the meta data track is in cache before indicating the meta data track on the rebuild list, wherein the meta data track is indicated on the rebuild list after determining that the meta data track is not in the cache;
(c) processing the rebuild list to determine meta data tracks to rebuild;
(d) rebuilding the meta data tracks indicated on the rebuild list; and
(e) storing the rebuilt meta data tracks in the cache.
- comprising;
-
19. An article of manufacture for use in programming a control unit to manage meta data, wherein the control unit is in communication with a process, the article of manufacture comprising a computer usable medium including at least one computer program embedded therein that is capable of causing the control unit to perform:
-
determining whether meta data tracks maintained in a cache were modified;
indicating in a non-volatile memory that the determined meta data tracks were modified on a list of modified meta data tracks;
initiating a data recovery operation in response to a system failure;
processing the indication of modified metadata tracks in the list of modified meta data tracks in the nonvolatile memory to generate a rebuild list indicating meta data tracks to rebuild during the data recovery operation;
processing the rebuild list to determine meta data tracks to rebuild;
rebuilding the meta data tracks indicated on the rebuild list; and
storing the rebuilt meta data tracks in the cache. - View Dependent Claims (20)
processing the cache to locate meta data tracks;
determining whether the located meta data tracks in the cache are valid;
discarding the invalid meta data tracks from the cache; and
saving the valid meta data tracks in the cache.
-
-
21. An article of manufacture for use in programming a control unit to manage meta data, wherein the control unit is in communication with a process, the article of manufacture comprising a computer usable medium including at least one computer program embedded therein that is capable of causing the control unit to perform the steps of:
-
determining whether meta data tracks maintained in a cache were modified;
indicating in a non-volatile memory that the determined meta data tracks were modified by indicating the modified meta data track on a list of modified meta data tracks;
initiating a data recovery operation in response to a system failure by;
(i) processing the cache to locate meta data tracks;
(ii) determining whether the located meta data tacks in the cache are valid;
(iii) discarding the invalid meta data from the cache; and
(iv) saving the valid meta data tracks in the cache;
processing the non-volatile memory and the indications of modified meta data tracks therein to rebuild lost meta data tacks in cache during the data recovery operation by;
(i) indicating the modified meta data tracks on a list of modified meta data tracks;
(ii) processing the list of modified meta data tracks to generate a rebuild list indicating meta data tracks to rebuild by determining whether the meta data track is in cache before indicating the meta data track on the rebuild list, wherein the meta data track is indicated on the rebuild list after determining that the meta data tack is not in the cache;
(iii) processing the rebuild list to determine meta data tracks to rebuild;
(iv) rebuilding the meta data as indicated on the rebuild list; and
(v) storing the rebuilt meta data tracks in the cache. - View Dependent Claims (22, 23)
accessing the customer data tracks associated with the meta data track;
staging the accessed customer data tracks into cache; and
processing the customer data tracks staged into the cache to rebuild the meta data track.
-
Specification