Method to increase performance of non-contiguously written sectors
First Claim
1. A method for managing data in a cache, the method comprising:
- receiving, by the cache, a write operation, and querying by a storage subsystem whether the write operation has completed;
upon determining the write operation has completed, identifying one or more non-contiguously written sectors in a partially filled track left by the write operation;
determining a number of the non-contiguously written sectors on a track in the cache using a cache bit map that is maintained by the storage subsystem;
comparing the number of non-contiguously written sectors with a predetermined threshold number of non-contiguously written sectors;
when the number of non-contiguously written sectors on the track exceeds the predetermined threshold of non-contiguously written sectors, performing a full background stage operation to fill the one or more non-contiguously written sectors with unmodified data from a storage medium to create a full track such that the write operation triggers the full background stage operation upon determining the predetermined threshold number has been exceeded; and
destaging the full track to the storage medium;
whereinthe unmodified data from the storage medium is data missing from the full track of the data in the cache that constitutes the non-contiguously written sectors.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of managing data in a cache upon a cache write operation includes determining a number of non-contiguously written sectors on a track in the cache and comparing the number with a threshold number. If the number exceeds the threshold number, a full background stage operation is issued to fill the non-contiguously written sectors with unmodified data from a storage medium and the full track is then destaged. A corresponding system includes a cache manager module operating on the storage subsystem. Upon a determination that a cache write operation on a track has taken place, the cache manager module determines a number of non-contiguously written sectors on the track, compares the number with a predetermined threshold number, issues a background stage operation to fill the non-contiguously written sectors with unmodified data from a storage medium if the number exceeds the threshold number, and then destages the full track.
30 Citations
12 Claims
-
1. A method for managing data in a cache, the method comprising:
-
receiving, by the cache, a write operation, and querying by a storage subsystem whether the write operation has completed; upon determining the write operation has completed, identifying one or more non-contiguously written sectors in a partially filled track left by the write operation; determining a number of the non-contiguously written sectors on a track in the cache using a cache bit map that is maintained by the storage subsystem; comparing the number of non-contiguously written sectors with a predetermined threshold number of non-contiguously written sectors; when the number of non-contiguously written sectors on the track exceeds the predetermined threshold of non-contiguously written sectors, performing a full background stage operation to fill the one or more non-contiguously written sectors with unmodified data from a storage medium to create a full track such that the write operation triggers the full background stage operation upon determining the predetermined threshold number has been exceeded; and destaging the full track to the storage medium;
whereinthe unmodified data from the storage medium is data missing from the full track of the data in the cache that constitutes the non-contiguously written sectors. - View Dependent Claims (2, 3, 4)
-
-
5. A system for managing data in a cache memory storage subsystem, comprising:
a cache manager module operating on the storage subsystem, wherein the cache manager module is configured for; receiving, by the cache, a write operation, and querying by the storage subsystem whether the write operation has completed; upon determining the write operation has completed, identifying one or more non-contiguously written sectors in a partially filled track left by the write operation; determining a number of the non-contiguously written sectors on a track in the cache using a cache bit map that is maintained by a storage subsystem; comparing the number of non-contiguously written sectors with a predetermined threshold number of non-contiguously written sectors; when the number of non-contiguously written sectors on the track exceeds the predetermined threshold of non-contiguously written sectors, performing a full background stage operation to fill the one or more non-contiguously written sectors with unmodified data from a storage medium to create a full track such that the write operation triggers the full background stage operation upon determining the predetermined threshold number has been exceeded; and destaging the full track to the storage medium;
whereinthe unmodified data from the storage medium is data missing from the full track of the data in the cache that constitutes the non-contiguously written sectors. - View Dependent Claims (6, 7, 8)
-
9. A non-transitory article of manufacture including code for managing data in a cache memory storage subsystem upon a cache write operation, wherein the code, when executed by a processor, causes the processor to:
-
receive, by the cache, a write operation, and query by the storage subsystem whether the write operation has completed; upon determining the write operation has completed, identify one or more non-contiguously written sectors in a partially filled track left by the write operation; determine a number of the non-contiguously written sectors on a track in the cache using a cache bit map that is maintained by a storage subsystem; compare the number of non-contiguously written sectors with a predetermined threshold number of non-contiguously written sectors; when the number of non-contiguously written sectors on the track exceeds the predetermined threshold of non-contiguously written sectors, perform a full background stage operation to fill the one or more non-contiguously written sectors with unmodified data from a storage medium to create a full track such that the write operation triggers the full background stage operation upon determining the predetermined threshold number has been exceeded; and destage the full track to the storage medium;
whereinthe unmodified data from the storage medium is data missing from the full track of the data in the cache that constitutes the non-contiguously written sectors. - View Dependent Claims (10, 11, 12)
-
Specification