Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories
Reexamination Certificate
2001-12-04
2004-08-31
Sparks, Donald (Department: 2187)
Electrical computers and digital processing systems: memory
Storage accessing and control
Hierarchical memories
C711S112000, C711S114000, C711S133000, C711S134000, C711S136000, C711S143000
Reexamination Certificate
active
06785771
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a method, system, and program for destaging data in cache.
2. Description of the Related Art
A storage subsystem, such as the International Business Machines (“IBM”) Enterprise Storage Server (“ESS”)**, will receive Input/Output (I/O) requests directed toward an attached storage system. The attached storage system may comprise an enclosure including numerous interconnected disk drives, such as a Direct Access Storage Device (DASD), Redundant Array of Independent Disks (RAID Array), Just A Bunch of Disks (JBOD), etc. If I/O requests are received at a faster rate then they can be processed, then the storage subsystem will queue the I/O requests in a system cache, which may comprise one or more gigabytes of volatile storage, e.g., Random Access Memory (RAM), Dynamic Random Access Memory (DRAM), etc. A copy of certain modified (write) data may also by placed in a non-volatile storage unit (NVS), such as a battery backed-up volatile memory, to provide additional protection of write data in the event of a failure at the storage subsystem.
**IBM and Enterprise Storage Server are trademarks of International Business Machines Crop.
An entry is included in a Least Recently Used (LRU) list for each track in cache. A track can be staged from the storage system to cache to return to a read request. Additionally, write data for a track may be stored in cache before being transferred to the attached storage system. When additional space in cache is needed to buffer additional requested read data and modified data, tracks indicated at the LRU end of the LRU list are destaged to disk. An entry is added to the most recently used (MRU) end of the LRU list for each track added to cache. Each entry in the LRU list comprises a control block that indicates the current status of a track, the location in cache, and the location in the storage system. An additional NVS LRU list is maintained for tracks in the NVS. The cache and NVS LRU lists include entries for tracks in both NVS and cache.
Notwithstanding the use of cache LRU lists to manage destaging operations, there is a need in the art for improved techniques for managing data in cache and performing the destage operation.
SUMMARY OF THE PREFERRED EMBODIMENTS
Provided is a method, system, and program for destaging data from a first computer readable medium to a second computer readable medium. A list of entries indicating data blocks in the first computer readable medium is scanned. For each entry scanned, a determination is made as to whether the data block indicated in the scanned entry satisfies a criteria. If the data block indicated in the scanned entry satisfies the criteria, then a destage operation is called to destage the data block in the scanned entry from the first computer readable medium to the second computer readable medium. If the called destage operation is not initiated, then the scanned entry is removed from the cache list. The removed scanned entry is added to one destage wait list. During one destage operation, data blocks indicated in entries in the destage wait list are destaged.
In further implementations, there are a plurality of destage wait lists, each associated with one of a plurality of criteria used to qualify data blocks for destage. In such case, a determination is made of the destage wait list associated with the criteria used to determine whether to call the destage operation for the data block. The removed scanned entry is added to the determined destage wait list.
In still further implementations, the first computer readable medium comprises a volatile memory used as a cache and the second computer readable medium comprises a non-volatile storage device. Still further, the non-volatile storage device may be configured as a Redundant Array of Independent Disks (RAID) and the criteria may specify one RAID rank in the storage device. In such case, the destage operation is called if the data block indicated in the scanned entry is stored in the specified RAID rank in the storage device.
In further RAID implementations, there are a plurality of destage wait lists, each associated with one RAID rank in the storage device. In such case, a determination is made of the destage wait list associated with the RAID rank specified in the criteria. The removed scanned entry is added to the determined destage wait list for the specified RAID rank.
The described implementations provide techniques for destaging data from a first storage to a second storage, such as from cache to disk, in a manner that uses two lists of entries to manage the destage operations.
REFERENCES:
patent: 4875155 (1989-10-01), Iskiyan et al.
patent: 5542066 (1996-07-01), Mattson et al.
patent: 5983318 (1999-11-01), Willson et al.
patent: 6145057 (2000-11-01), Arimilli et al.
patent: 6304946 (2001-10-01), Mason, Jr.
patent: 6490664 (2002-12-01), Jones et al.
Ash Kevin John
Beardsley Brent Cameron
Benhase Michael Thomas
Hyde, II Joseph Smith
Jarvis Thomas Charles
Dinh Ngoc V
International Business Machines - Corporation
Konrad Raynes & Victor LLP
Sparks Donald
Victor David W.
LandOfFree
Method, system, and program for destaging data in cache does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method, system, and program for destaging data in cache, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method, system, and program for destaging data in cache will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3355055