Management system for a hierarchical data cache employing preemptive cache track demotion and restaging to adapt to access patterns
First Claim
1. In a data storage system for storing a plurality of addressed data ordered as a sequence of data blocks, said system including a host computer channel coupled to a Storage Controller (SC) having a controller cache memory (CCM) for storing a plurality of said data blocks ordered according to a CCM Least Recently Used (LRU) priority list, wherein said SC is coupled to one or more Cached Storage Drawers (CSDs) each having a plurality of Direct Access Storage Devices (DASDs) coupled to at least one drawer cache memory (DCM) for storing a plurality of said data blocks ordered according to a DCM LRU priority list, a method for transferring addressed data between host computer channel and said plurality of DASDs responsive to an addressed data request from said host computer channel, said method comprising the steps of:
- (a) responsive to a read request, transferring said addressed data to the host as a CCM read hit from said CCM if stored therein, otherwise staging to said CCM as a CCM read miss a data block containing said addressed data from the corresponding said DCM and transferring said data block to the host if stored therein, otherwise staging said data block to said corresponding DCM as a DCM read miss from the corresponding said plurality of DASDs and providing said data block to said CCM and then to the host, wherein said data block staging is sequential or nonsequential according to the data addresses contained therein;
(b) responsive to the nonsequential staging of a data block from a DCM to said CCM as a CCM nonsequential read miss, demoting in said DCM said data block to the lowest priority in the corresponding said DCM LRU list;
(c) responsive to the sequential staging of a first data block from a DCM to said CCM as a CCM sequential read miss, demoting in said DCM a second data block sequentially preceding said first data block to the lowest priority in the corresponding said DCM LRU list;
(d) responsive to a write request addressing data contained in a data block stored in said CCM that was staged to said CCM as a CCM nonsequential read miss, restaging to the corresponding said DCM said data block from the corresponding said plurality of DASDs if said data block is not already stored in said corresponding DCM; and
(e) responsive to a demotion in CCM LRU priority of a data block that was previously demoted in the corresponding said DCM to the lowest DCM LRU priority after staging to said CCM as a CCM nonsequential read miss, restaging to said corresponding DCM said demoted data block from said plurality of DASDs.
0 Assignments
0 Petitions
Accused Products
Abstract
An adaptive hierarchical cache management system for improving effective cache hit ratios by eliminating unnecessary duplicate cache entries in two coupled cache memories. When a cached Storage Controller (SC) is coupled to a Cached Storage Drawer (CSD), the hierarchical coupling of the SC cache memory and CSD cache memory unnecessarily duplicates cache entries during normal operation. A Conditional Purge procedure purges duplicate lines from the CSD cache subject to a DASD activity threshold. A Prenotify Intent parameter allows the SC to request restaging of the purged cache entry preparatory to fast write or LRU demotion in the SC cache. The new procedures substantially and transparently improve the combined caching efficiency without significant new hardware or software overhead.
-
Citations
17 Claims
-
1. In a data storage system for storing a plurality of addressed data ordered as a sequence of data blocks, said system including a host computer channel coupled to a Storage Controller (SC) having a controller cache memory (CCM) for storing a plurality of said data blocks ordered according to a CCM Least Recently Used (LRU) priority list, wherein said SC is coupled to one or more Cached Storage Drawers (CSDs) each having a plurality of Direct Access Storage Devices (DASDs) coupled to at least one drawer cache memory (DCM) for storing a plurality of said data blocks ordered according to a DCM LRU priority list, a method for transferring addressed data between host computer channel and said plurality of DASDs responsive to an addressed data request from said host computer channel, said method comprising the steps of:
-
(a) responsive to a read request, transferring said addressed data to the host as a CCM read hit from said CCM if stored therein, otherwise staging to said CCM as a CCM read miss a data block containing said addressed data from the corresponding said DCM and transferring said data block to the host if stored therein, otherwise staging said data block to said corresponding DCM as a DCM read miss from the corresponding said plurality of DASDs and providing said data block to said CCM and then to the host, wherein said data block staging is sequential or nonsequential according to the data addresses contained therein; (b) responsive to the nonsequential staging of a data block from a DCM to said CCM as a CCM nonsequential read miss, demoting in said DCM said data block to the lowest priority in the corresponding said DCM LRU list; (c) responsive to the sequential staging of a first data block from a DCM to said CCM as a CCM sequential read miss, demoting in said DCM a second data block sequentially preceding said first data block to the lowest priority in the corresponding said DCM LRU list; (d) responsive to a write request addressing data contained in a data block stored in said CCM that was staged to said CCM as a CCM nonsequential read miss, restaging to the corresponding said DCM said data block from the corresponding said plurality of DASDs if said data block is not already stored in said corresponding DCM; and (e) responsive to a demotion in CCM LRU priority of a data block that was previously demoted in the corresponding said DCM to the lowest DCM LRU priority after staging to said CCM as a CCM nonsequential read miss, restaging to said corresponding DCM said demoted data block from said plurality of DASDs. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A data storage system comprising:
-
data storage means; a host computer channel for receiving requests each specifying addressed data; a Storage Controller (SC) coupled to said host computer channel for controlling data transfers between said host computer channel and said data storage means; a controller cache memory (CCM) in said SC for storing a plurality of data blocks ordered according to a CCM Least Recently Used (LRU) priority list; at least one Cached Storage Drawer (CSD) in said data storage means coupled to said SC for storing data; a plurality of Direct Access Storage Devices (DASDs) in said CSD for storing data; a Drawer Cache Memory (DCM) in said CSD coupled to said plurality of DASDs for storing a plurality of data blocks ordered according to a DCM LRU priority list; second staging means coupled to said DCM and said plurality of DASDs in said CSD for transferring a data block containing said addressed data to said DCM from said plurality of DASDs responsive to a DCM read miss; first staging means coupled to said CCM in said SC and to said DCM in said CSD for transferring a data block containing said addressed data to said CCM from said DCM responsive to CCM read misses and DCM read misses; and purging means coupled to said DCM in said CSD for demoting to lowest DCM LRU list priority a data block that is staged to said CCM responsive to a CCM nonsequential read miss. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
Specification