Parallel destaging with replicated cache pinning
First Claim
Patent Images
1. A method, comprising:
- identifying non-destaged first data in a write cache; and
upon detecting second data in a master read cache;
pinning the second data to the master and one or more backup read caches;
calculating, using the first data stored in the write cache and the second data stored in the master read cache, one or more parity values; and
destaging the first data and the one or more parity values;
wherein destaging the first data and the one or more parity values comprises transferring the first data from the write cache to a data storage device, and storing the one or more parity values to one or more corresponding parity storage devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, apparatus and computer program products implement embodiments of the present invention that include identifying non-destaged first data in a write cache. Upon detecting second data in a master read cache, the second data is pinned to the master and one or more backup read caches. Using the first data stored in the write cache and the second data stored in the master read cache, one or more parity values are calculated, and the first data and the one or more parity values are destaged.
81 Citations
18 Claims
-
1. A method, comprising:
-
identifying non-destaged first data in a write cache; and upon detecting second data in a master read cache; pinning the second data to the master and one or more backup read caches; calculating, using the first data stored in the write cache and the second data stored in the master read cache, one or more parity values; and destaging the first data and the one or more parity values; wherein destaging the first data and the one or more parity values comprises transferring the first data from the write cache to a data storage device, and storing the one or more parity values to one or more corresponding parity storage devices.
-
-
2. The method according to claim 1, wherein detecting the second data comprises retrieving the second data from a data storage device, and storing the retrieved second data to the master read cache.
-
3. The method according to claim 1, wherein detecting the second data comprises locating the second data in the master read cache.
-
4. The method according to claim 1, and comprising upon recovering from a storage system failure, recalculating, using the first data stored in the write cache and the second data stored in the master read cache, one or more parity values, and destaging the first data and the one or more parity values.
-
5. The method according to claim 1, and comprising identifying the second data in the write cache, calculating, using the first and the second data stored in the write cache, one or more parity values, storing the one or more parity values to the write cache, and destaging the first data, the second data and the one or more parity values.
-
6. The method according to claim 5, wherein destaging the first data, the second data and the one or more parity values comprises transferring, from the write cache, the first data to a first data storage device and the second data to a second data storage device, and storing the one or more parity values to one or more corresponding parity storage devices.
-
7. The method according to claim 5, wherein the first data, the second data and the one or more parity values are destaged in parallel.
-
8. The method according to claim 1, and comprising unpinning the second data from the master and the backup read caches upon destaging the first data and the one or more parity values.
-
9. The method according to claim 1, wherein the write cache comprises a master write cache having one or more backup write caches.
-
10. A storage system, comprising:
-
a memory configured to store data in a master read cache, a master write cache, at least one backup read cache, and at least one backup write cache; and a processor configured to identify non-destaged first data in the write cache, and upon detecting second data in a master read cache, to pin the second data to the master and one or more backup read caches, to calculate, using the first data stored in the master write cache and the second data stored in the master read cache, one or more parity values, and to destage the first data and the one or more parity values; wherein destaging the first data and the one or more parity values comprises transferring the first data from the write cache to a data storage device, and storing the one or more parity values to one or more corresponding parity storage devices.
-
-
11. The storage system according to claim 10 wherein the processor is configured to detect the second data comprises by the second data from a data storage device, and storing the retrieved second data to the master read cache.
-
12. The storage system according to claim 10, wherein the processor is configured to detect the second data by locating the second data in the master read cache.
-
13. The storage system according to claim 10, wherein upon recovering from a storage system failure, the processor is configured to recalculate, using the first data stored in the write cache and the second data stored in the master read cache, one or more parity values, and to destage the first data and the one or more parity values.
-
14. The storage system according to claim 10, wherein the processor is configured to identify the second data in the write cache, to calculate, using the first and the second data stored in the write cache, one or more parity values, to store the one or more parity values to the write cache, and to destage the first data, the second data and the one or more parity values.
-
15. The storage system according to claim 14, wherein the processor is configured to destage the first data, the second data and the one or more parity values by transferring, from the write cache, the first data to a first data storage device, the second data to a second data storage device, and storing the one or more parity values to one or more corresponding parity storage devices.
-
16. The storage system according to claim 14, wherein the processor is configured to destage, in parallel, the first data, the second data and the one or more parity values.
-
17. The storage system according to claim 10, wherein the processor is configured to unpin the second data from the master and the backup read caches upon destaging the first data and the one or more parity values.
-
18. A computer program product, the computer program product comprising:
-
a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising; computer readable program code configured to identify non-destaged first data in a write cache; and computer readable program code configured, upon detecting second data in a master read cache, to pin the second data to the master and one or more backup read caches, to calculate, using the first data stored in the write cache and the second data stored in the master read cache, one or more parity values, and to destage the first data and the one or more parity values; wherein destaging the first data and the one or more parity values comprises transferring the first data from the write cache to a data storage device, and storing the one or more parity values to one or more corresponding parity storage devices.
-
Specification