Concurrent update of data in cache with destage to disk
AssigneeInternational Business Machines Corporation
InventorsKevin J. Ash, Lokesh M. Gupta, Kenneth W. Todd, Boyan Zhao
Life of this patent
Estimating the term…
Abstract
Mechanisms for concurrent update of data in cache with destage of data from the cache to disk by a processor device. A second copy of the data is established in the cache and on a cache directory. A first copy of the data and the second copy of the data are adjacently ordered in the cache directory. One of the first and second copies is held for an update operation so as to include a latest data modification, while the remaining copy concurrently is used for a destage operation to disk.
Claims12
A method for concurrent update of data in cache with destage of data from the cache to disk by a processor device, comprising:
- establishing a second copy of the data in the cache and on a cache directory, a first copy of the data and the second copy adjacently ordered in the cache directory, wherein one of the first and second copies is held for an update operation so as to include a latest data modification, while the remaining copy concurrently is used for a destage operation to disk;
- determining, at a track access event, by the cache, if the second copy of the data need be created;
- if the destage operation is to be performed while a track of the data is held for update by an additional operation, performing at least one of:
- creating the second copy of the data,
- positioning the second copy of the data adjacently following the first copy of the data in a chain of the cache directory, and
- using the second copy of the data for the destage operation;
- and
- if the update operation is to be performed while a track of the data is being destaged to the disk, performing at least one of:
- creating the second copy of the data,
- positioning the second copy of the data adjacently previous to the first copy of the data in the cache directory chain, and
- using the second copy of the data for the update operation.
A system for concurrent update of data in cache with destage of data from the cache to disk, comprising:
- a processor device, wherein the processor device establishes a second copy of the data in the cache and on a cache directory, a first copy of the data and the second copy adjacently ordered in the cache directory, wherein one of the first and second copies is held for an update operation so as to include a latest data modification, while the remaining copy concurrently is used for a destage operation to disk;
- determines, at a track access event, by the cache, if the second copy of the data need be created;
- if the destage operation is to be performed while a track of the data is held for update by an additional operation, performs at least one of:
- creating the second copy of the data,
- positioning the second copy of the data adjacently following the first copy of the data in a chain of the cache directory, and
- using the second copy of the data for the destage operation;
- and
- if the update operation is to be performed while a track of the data is being destaged to the disk, performs at least one of:
- creating the second copy of the data,
- positioning the second copy of the data adjacently previous to the first copy of the data in the cache directory chain, and
- using the second copy of the data for the update operation.
A computer program product for concurrent update of data in cache with destage of data from the cache to disk by a processor device, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:
- a first executable portion that establishes a second copy of the data in the cache and on a cache directory, a first copy of the data and the second copy adjacently ordered in the cache directory, wherein one of the first and second copies is held for an update operation so as to include a latest data modification, while the remaining copy concurrently is used for a destage operation to disk;
- a second executable portion that determines, at a track access event, by the cache, if the second copy of the data need be created;
- and
- a third executable portion that, if the destage operation is to be performed while a track of the data is held for update by an additional operation, performs at least one of:
- creating the second copy of the data,
- positioning the second copy of the data adjacently following the first copy of the data in a chain of the cache directory, and
- using the second copy of the data for the destage operation;
- and
- if the update operation is to be performed while a track of the data is being destaged to the disk, performs at least one of:
- creating the second copy of the data,
- positioning the second copy of the data adjacently previous to the first copy of the data in the cache directory chain, and
- using the second copy of the data for the update operation.
Dependencies are inferred from the claim text.