Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

A computer system with mechanisms for exclusive caching that avoids the accumulation of duplicate copies of information in host and storage system caches. A computer system according to these exclusive caching techniques includes a host system having a host cache and a storage system having a storage system cache and functionality for performing demote operations to coordinate the placement of information in the host cache to the storage system caches.

InventorsJohn Wilkes, Theodore M. Wong
Original AssigneeHewlett-Packard Development Company, L.P.
Primary Examiner: Mano Padmanabhan
Secondary Examiner: Midys Inoa
Current U.S. Classification711/133; 711/122; 711/141; 711/E12.019; 711/E12.043
International Classification: G06F/1208

View patent at USPTO
Search USPTO Assignment Database

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US4603380Jul 1, 1983Jul 29, 1986International Business Machines CorporationDASD cache block staging
US5283884Dec 30, 1991Feb 1, 1994International Business Machines CorporationCKD channel with predictive track table
US5353428May 20, 1993Oct 4, 1994Hitachi, Ltd.Information processing apparatus in which a cache memory can be operated in both store-in and store-through modes
US5542066Dec 23, 1993Jul 30, 1996International Business Machines CorporationDestaging modified data blocks from cache memory
US5600817Jan 11, 1995Feb 4, 1997International Business Machines CorporationAsynchronous read-ahead disk caching using multiple disk I/O processes adn dynamically variable prefetch length
US5606688Aug 31, 1994Feb 25, 1997International Business Machines CorporationMethod and apparatus for dynamic cache memory allocation via single-reference residency times
US5933853Jul 25, 1997Aug 3, 1999Kabushiki Kaisha ToshibaRemovable storage-medium assembled-type large-capacity information storage apparatus and information processing method
US6243795Aug 4, 1998Jun 5, 2001The Board of Governors for Higher Education, State of Rhode Island and Providence PlantationsRedundant, asymmetrically parallel disk cache for a data storage system
US6253290Feb 10, 1999Jun 26, 2001Mitsubishi Denki Kabushiki KaishaMultiprocessor system capable of circumventing write monitoring of cache memories
US6324632Dec 30, 1998Nov 27, 2001STMicroelectronics LimitedProcessing a data stream

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US7577795Jan 25, 2006Aug 18, 2009International Business Machines CorporationDisowning cache entries on aging out of the entry
US7685367Mar 8, 2006Mar 23, 2010Microsoft CorporationMulti-cache cooperation for response output caching
US7761664Apr 13, 2007Jul 20, 2010International Business Machines CorporationSystems and methods for multi-level exclusive caching using hints
US7814272Nov 4, 2005Oct 12, 2010Data Robotics, Inc.Dynamically upgradeable fault-tolerant storage system permitting variously sized storage devices and method
US7814273Nov 4, 2005Oct 12, 2010Data Robotics, Inc.Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method
US7818531Nov 4, 2005Oct 19, 2010Data Robotics, Inc.Storage system condition indicator and method
US7873782May 3, 2007Jan 18, 2011Data Robotics, Inc.Filesystem-aware block storage system, apparatus, and method
US8131945May 5, 2009Mar 6, 2012International Business Machines CorporationDisowning cache entries on aging out of the entry

Claims

1. A method for exclusive caching between a storage system cache of a storage system and a host cache of a host system, comprising the steps of:

providing the host system with access to the information by reading the information from the storage system cache and then storing the information in the host cache and evicting the information from the storage system cache such that the information does not occupy space in both the host and storage system caches;

demoting the information from the host cache to the storage system cache if the information is clean when evicted from the host cache such that the information does not occupy space in both the host and storage system caches.

2. The method of claim 1, wherein the step of demoting comprises the step of transferring the information to the storage system cache in a demoted data block.

3. The method of claim 1, wherein the step of demoting comprises the step of storing the information in any free area of the storage system cache.

4. The method of claim 1, wherein the step of demoting cache comprises the step of storing the information in a predetermined sub-area of the storage system cache.

5. The method of claim 1, wherein the step of demoting includes the step of evicting a data block from the storage system cache.

6. The method of claim 5, wherein the step of evicting includes the step of selecting the data block for eviction from the storage system cache from among a set of unshared data blocks in the storage system cache.

7. The method of claim 5, wherein the step of evicting includes the step of selecting the data block for eviction from the storage system cache using a shared status of the data block as a factor in a replacement policy.

8. A computer system, comprising:

storage system having a storage media and a storage system cache;

host system having a host cache;

means for exclusively caching a set of information obtained from the storage media such that the information is stored either in the host cache or the storage system cache but not both caches at the same time wherein the means for exclusively caching includes means for reading the information from the storage system cache and then storing the information in the host cache and evicting the information from the storage system cache and means for demoting the information from the host cache to the storage system cache if the information is clean when evicted from the host cache.

9. The computer system of claim 8, wherein the means for demoting comprises means for transferring the information to the storage system cache in a demoted data block via a communication path between the host system and the storage system.

10. The computer system of claim 8, wherein the means for demoting comprises means for storing the information in any free area of the storage system cache.

11. The computer system of claim 8, wherein the means for demoting comprises means for storing the information in a predetermined sub-area of the storage system cache.

12. The computer system of claim 8, wherein the means for demoting includes means for evicting a data block from the storage system cache.

13. The computer system of claim 12, wherein the means for evicting includes means for selecting the data block for eviction from the storage system cache from among a set of unshared data blocks in the storage system cache.

14. The computer system of claim 12, wherein the means for evicting means for selecting a data block for eviction from the storage system cache using a shared status of the data block as a factor in a replacement policy.

15. The computer system of claim 8, wherein the storage system cache includes a sub-area for exclusive caching and a sub-area holding other cached information.

16. The computer system of claim 15, wherein the other cached information is obtained by performing read-ahead operations from the storage media.

17. The computer system of claim 8, further comprising means for transferring the information evicted from the host cache to the storage system in a write operation if the information is dirty.

18. The computer system of claim 8, wherein the host cache is a RAM cache.

19. The computer system of claim 8, wherein the host cache is a disk cache.