Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories
Reexamination Certificate
2000-10-20
2004-04-27
Kim, Hong (Department: 2186)
Electrical computers and digital processing systems: memory
Storage accessing and control
Hierarchical memories
C711S113000, C711S213000, C707S793000, C712S207000, C712S237000, C712S240000
Reexamination Certificate
active
06728840
ABSTRACT:
FIELD OF THE INVENTION
The present invention generally relates to systems for managing data storage, and more particularly, to systems and techniques which provide host computer system control over data that is cached within data storage systems.
BACKGROUND OF THE INVENTION
The rapid growth of information service and data processing industries has resulted in a need for data storage systems to efficiently manage and store large amounts of data. Typically, a data storage system that serves this need includes a plurality of high-capacity high-performance disk drives along with some processing circuitry that can store data to and retrieve data from the disk drives. To achieve high-performance when either storing or retrieving data on behalf of computer systems coupled to the data storage system, some data storage systems include an internal cache memory system that serves as an electronic buffer for data being transferred into (i.e. written) or out of (i.e., read from) the disk drives that operate within the data storage system. Since disk drives are highly mechanical in nature, they provide relatively slow access to data as compared to a cache memory system which is fully electronic. As such, a data storage system can use an internal cache memory system as a high-speed storage area for data which host computer systems access.
Certain conventional data storage systems are equipped with logic or processing circuitry which attempts to efficiently utilize an internal cache memory system. Efficient use of a cache memory system is generally preferable because a typical cache memory system is limited in size and is often shared for use by all host computer systems that request access to data within the data storage system. For example, if two host computer systems are coupled to the data storage system and are attempting to concurrently read respective streams of data from the data storage system, the data storage system may use the cache to buffer portions of each stream of data. One conventional attempt to optimally utilize an internal cache memory system in this manner is called “predictive caching.”
Predictive caching can detect a sequence of sequential or related access requests to sequentially locate data locations within the data storage system. Upon detecting such a sequence, a predictive caching process in the data storage system can read ahead from a current physical storage location (e.g., from a most recent read operation) and can fill up a portion of the cache memory system with data that the predictive caching process “predicts” will be needed by future read requests. In this manner, predictive caching attempts to use data access pattern recognition techniques such as detecting multiple sequential reads from successively incremental physical disk locations to predict what data will be requested in the future. Based on this prediction, the predictive caching process can then access and cache data before the data storage system actually receives access requests for data.
As a more specific use of predictive caching, consider a scenario in which a host computer system is performing a sequential file access operation, such as might occur during a backup operation of a large file stored within the data storage system onto a tape. The sequential file access operation operates by reading the entire contents of the file byte by byte from physical data storage locations, starting at the beginning of the file and continuing to the end of the file. Without predictive caching, the data storage system handles each read operation within the sequential file access operation as a separate and relatively slow access to data within the disk drives in the data storage system. However, a data storage system that uses predictive caching can detect the sequential pattern of data accesses and can read ahead from the current location in the sequence to place data into the cache memory system. Then, for subsequent read operations that occur during the sequential file access operation, the data storage system can attempt to service those read operations using data from the cache memory system instead of having to service each read operation using disk drive processing circuitry. By detecting access to sequential locations in the disk drives and reading data into the cache memory system before that data is requested, and by servicing future data access requests from the cache using that data, performance of the data storage system using predictive caching is somewhat increased.
Other conventional cache control technologies exist as well. For instance, some data storage systems, such as certain data storage systems of the Symmetrix line manufactured by EMC corporation of Hopkinton, Mass., include a cache control software interface which allows an application on a host computer system to externally control caching of data within the internal cache of the data storage system. For example, an application that routinely uses a specific file can include embedded calls to functions within the cache control software interface which can instruct the data storage system to permanently cache the file within its internal cache memory system. As the application executes on the host computer system and requests access to the file from the data storage system, the data storage system can provide such access from its internal cache memory system instead of having to service such access requests via access to the disk drives in the data storage system.
SUMMARY OF THE INVENTION
There are a variety of shortcomings related to the aforementioned conventional techniques of caching data within a data storage system. For example, conventional predictive caching techniques rely on the ability to detect a pattern or sequence of sequential physical access requests to data storage locations within disk drives in the data storage system. It is not until a predictive caching process detects such a pattern or sequence that caching of data can occur. This results in the data storage system having to process a number of data access requests without caching prior to the predictive caching process detecting the sequence of sequential access request. In other words, predictive caching cannot begin to operate until the predictive caching process in the data storage system recognizes a data access pattern. Accordingly, predictive caching does not achieve a performance gain for data access requests which occur during the period of detection of a data access patterns.
Predictive caching also suffers in part from a problem related to caching unnecessary data. Once a predictive caching process within the data storage system detects a sequential access pattern to data, the predictive caching process caches a certain amount of data in the internal cache memory system within the data storage system. However, since the predictive caching process is unaware of precisely how much data is required to be cached, the predictive caching process may unknowingly cache more data than is actually required. This results in an inefficient use of the cache memory system which is an expensive resource within the data storage system.
Predictive caching may cache unnecessary data in a variety of circumstances. By way of example, consider a scenario in which a sequential file access operation is nearing completion of access to the file. During the sequential access operation, a conventional predictive caching process periodically caches large blocks of data into the internal cache memory system in the data storage system in an attempt to anticipate future read requests for such data. However, when the sequential access operation has completed reading the last portion of data for the file being accessed, the sequential access operation will no longer issue read requests for further data in the cache. However, since the predictive caching algorithm is unaware of the precise use of the data which is cached, the predictive caching algorithm, during its most recent predictive caching operation, may have cached significantly more data from physical disk locations t
Epstein Edith L.
Ludlum Stephen A.
Shatil Arod
Chapin & Huang LLC
Chapin, Esq. Barry W.
EMC Corporation
Kim Hong
LandOfFree
Methods and apparatus for providing host controlled caching... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Methods and apparatus for providing host controlled caching..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Methods and apparatus for providing host controlled caching... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3264434