Patent ID: 6615318
Filing Date: 2003-09-02
Classification: G06F

Abstract:
A method for managing contents of a cache, comprising operations of:establishing a multiple number of cache lists for storage of cache list entries each cache list entry naming a data item in the cache; designating a sequence and direction of progression through the cache lists; initially designating one of the cache lists as a current removal list; processing the cache lists by performing one of the following: a) performing demotion operations comprising: responsive to each occurrence of a predetermined demotion-evaluation condition, selecting at least one entry from the current removal list, evaluating the selected entry, and if the selected entry satisfies predetermined demotion criteria, removing the selected entry from the current removal list and purging the cache of each data item represented by the removed entry; b) performing destaging operations comprising: responsive to each occurrence of a predetermined destaging-evaluation condition, selecting at least one entry from the current removal list, evaluating the selected entry, and if the selected entry satisfies predetermined destaging criteria, removing the selected entry from the current removal list and destaging each data item represented by the selected entry, said destaging occurring from the cache to prescribed nonvolatile storage; designating a next list in the sequence from the current removal list whenever the current removal list becomes empty; responsive to predetermined types of activity of a data item in the cache, performing operations to add a cache list entry naming the data item into one of the cache lists, the operations comprising determining a priority ranking of the data item, adding a cache list entry naming the data item said addition being made into one of the lists spaced in the sequence of progression beyond the current removal list by a number representative of the priority ranking.