Method and system for caching data in a storage system
First Claim
1. A method for caching data, comprising the steps of:
- receiving data to modify a track in a first storage device;
storing a copy of the modified data in a cache;
indicating in a second storage device the tracks for which there is modified data in cache; and
processing the second storage device and data therein during data recovery operations to determine the tracks for which there was modified data in cache; and
marking the determined tracks as failed to prevent data at the determined tracks in the first storage device from being returned in response to a read request until the failure is resolved.
0 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a system and method for caching data. A processor receives data from a host to modify a track in a first storage device. The processor stores a copy of the modified data in a cache and indicates in a second storage device the tracks for which there is modified data in cache. During data recovery operations, the processor processes the second storage device and data therein to determine the tracks for which there was modified data in cache. The processor then marks the determined tracks as failed to prevent data at the determined tracks in the first storage device from being returned in response to a read request until the failure is resolved. In further embodiments, in response to detecting a partial failure within the storage system, the processor would scan the cache to determine tracks for which there is modified data stored in the cache. The processor then stores in the second storage device information indicating the tracks having modified data in cache and schedules the destaging of the modified data from the cache to the first storage device. The processor is further capable of receiving and processing read/write requests directed to the first storage device before all the modified data is destaged from cache.
-
Citations
34 Claims
-
1. A method for caching data, comprising the steps of:
-
receiving data to modify a track in a first storage device;
storing a copy of the modified data in a cache;
indicating in a second storage device the tracks for which there is modified data in cache; and
processing the second storage device and data therein during data recovery operations to determine the tracks for which there was modified data in cache; and
marking the determined tracks as failed to prevent data at the determined tracks in the first storage device from being returned in response to a read request until the failure is resolved. - View Dependent Claims (2, 3)
-
-
4. A method for handling a partial failure in a storage system, wherein the storage system processes read/write operations directed to data tracks stored in a first storage device, comprising the steps of:
-
detecting a partial failure within the storage system;
scanning a cache to determine tracks for which there is modified data stored in the cache after detecting the partial failure;
storing in a second storage device information indicating the tracks having modified data in cache;
scheduling the destaging of the modified data from the cache to the first storage device; and
receiving and processing read/write requests directed to the first storage device before all modified data is destaged from cache. - View Dependent Claims (5, 6, 7)
-
-
8. A system for caching data received from a host system, wherein the storage system is capable of processing read/write operations from a host system and reading and writing to a first storage device including data tracks, comprising:
-
a processor;
a cache in communication with the processor;
a second storage device for backing-up data stored in the cache;
control logic executed by the processor, comprising;
(i) means for receiving data to modify a track in the first storage device;
(ii) means for indicating in the second storage device the tracks for which there is modified data in cache; and
(iii) means for processing the second storage device and data therein during data recovery operations to determine the tracks for which there was modified data in cache; and
(iv) means for marking the determined tracks as failed to prevent data at the determined tracks in the first storage device from being returned in response to a read request until the failure is resolved. - View Dependent Claims (9, 10)
-
-
11. A system for handling a partial failure, wherein the storage controller is capable of processing read/write operations from a host system and reading and writing to a first storage device including data tracks, comprising:
-
a processor;
a cache in communication with the processor;
a second storage device for backing-up data stored in the cache;
control logic executed by the processor, comprising;
(i) means for detecting a partial failure within the storage controller;
(ii) means for scanning the cache to determine tracks for which there is modified data stored in the cache after detecting the partial failure;
(iii) means for storing in the second storage device information indicating tracks having modified data in cache;
(iv) means for scheduling the destaging of the modified data from the cache to the first storage device; and
(v) means for receiving and processing read/write requests directed to the first storage device before all modified data is destaged from cache. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A storage system for caching data received from a host system, wherein the storage system is capable of processing read/write operations from a host system, comprising:
-
a processor;
a cache in communication with the processor;
a first storage device storing data tracks, wherein the processor is capable of reading and writing to data tracks in the first storage device;
a second storage device for backing-up data stored in the cache;
control logic executed by the processor, comprising;
(i) means for receiving data to modify a track in the first storage device;
(ii) means for indicating in the second storage device the tracks for which there is modified data in cache; and
(iii) means for processing the second storage device and data therein during data recovery operations to determine the tracks for which there was modified data in cache; and
(iv) means for marking the determined tracks as failed to prevent data at the determined tracks in the first storage device from being returned in response to a read request until the failure is resolved. - View Dependent Claims (20)
-
-
21. A storage system for handling a partial failure, wherein the storage controller is capable of processing read/write operations from a host system, comprising:
-
a processor;
a cache in communication with the processor;
a first storage device storing data tracks, wherein the processor is capable of reading and writing to data tracks in the first storage device;
a second storage device for backing-up data stored in the cache;
control logic executed by the processor, comprising;
(i) means for detecting a partial failure within the storage controller;
(ii) means for scanning the cache to determine tracks for which there is modified data stored in the cache after detecting the partial failure;
(iii) means for storing in the second storage device information indicating tracks having modified data in cache;
(iv) means for scheduling the destaging of the modified data from the cache to the first storage device; and
(v) means for receiving and processing read/write requests directed to the first storage device before all modified data is destaged from cache. - View Dependent Claims (22, 23)
-
-
24. A data processing system for caching data, comprising:
-
a processor;
a host system, wherein the processor is capable of processing read/write operations from the host system;
a cache in communication with the processor;
a first storage device storing data tracks, wherein the processor is capable of reading and writing to data tracks in the first storage device;
a second storage device for backing-up data stored in the cache;
control logic executed by the processor, comprising;
(i) means for receiving data to modify a track in the first storage device;
(ii) means for indicating in the second storage device the tracks for which there is modified data in cache; and
(iii) means for processing the second storage device and data therein during data recovery operations to determine the tracks for which there was modified data in cache; and
(iv) means for marking the determined tracks as failed to prevent data at the determined tracks in the first storage device from being returned in response to a read request until the failure is resolved. - View Dependent Claims (25)
-
-
26. A data processing system for handling a partial failure, comprising:
-
a processor;
a host system, wherein the processor is capable of processing read/write operations from the host system;
a cache in communication with the processor;
a first storage device storing data tracks, wherein the processor is capable of reading and writing to data tracks in the first storage device;
a second storage device for backing-up data stored in the cache;
control logic executed by the processor, comprising;
(i) means for detecting a partial failure within the storage controller;
(ii) means for scanning the cache to determine tracks for which there is modified data stored in the cache after detecting the partial failure;
(iii) means for storing in the second storage device information indicating tracks having modified data in cache;
(iv) means for scheduling the destaging of the modified data from the cache to the first storage device; and
(v) means for receiving and processing read/write requests directed to the first storage device before all modified data is destaged from cache. - View Dependent Claims (27, 28)
-
-
29. An article of manufacture for use in programming a processor to cache data, wherein the processor is capable of receiving read/write requests from a host system to a first storage device, and wherein the processor is capable of writing data to the first storage device, a cache, and a second storage device, the article of manufacture comprising a computer usable medium including at least one computer program embedded therein that is capable of causing the processor to perform the steps of:
-
receiving data to modify a track in a first storage device;
storing a copy of the modified data in a cache;
indicating in a second storage device tracks for which there is modified data in cache;
processing the second storage device and data therein during data recovery operations to determine the tracks for which there was modified data in cache; and
marking the determined tracks as failed to prevent data at the determined tracks in the first storage device from being returned in response to a read request until the failure is resolved. - View Dependent Claims (30, 31)
-
-
32. An article of manufacture for use in programming a processor to handle a partial failure in a storage system, wherein the processor is capable of receiving read/write requests from a host system to a first storage device, and wherein the processor is capable of writing data to the first storage device, a cache, and a second storage device, the article of manufacture comprising a computer usable medium including at least one computer program embedded therein that is capable of causing the processor to perform the steps of:
-
detecting a partial failure within the storage system;
scanning a cache to determine tracks for which there is modified data stored in the cache after detecting the partial failure;
storing in a second storage device information indicating the tracks having modified data in cache;
scheduling the destaging of the modified data from the cache to the first storage device; and
receiving and processing read/write requests directed to the first storage device before all the modified data is destaged from cache. - View Dependent Claims (33, 34)
-
Specification