System and method for implementing a dynamic cache for a data storage system
First Claim
1. A dynamic cache system for use with a data storage system having a data access interface and a storage device with a data path therebetween, the dynamic cache system comprising:
- a cache controller coupled to the data path between the storage device and the data access interface, the cache controller registering to be called by a filter framework in response to an I/O operation on the data path between the data access interface and the data storage device to control caching of data accessed through the I/O operation;
a storage memory accessible by the cache controller and configurable by the cache controller to be an intermediate storage for the data accessed through the I/O operation on the data path under control of the cache controller; and
a caching definition accessible by the cache controller having a predetermined criteria for prompting caching activity by the cache controller, the cache controller being responsive to the predetermined criteria to provide selective caching of the data in the storage memory such that the data associated with the I/O operation is cached or prevented from being cached based on the predetermined criteria.
1 Assignment
0 Petitions
Accused Products
Abstract
A dynamic cache system is configured to flexibly respond to changes in operating parameters of a data storage and retrieval system. A cache controller in the system implements a caching policy describing how and what data should be cached. The policy can provide different caching behavior based on exemplary parameters such as a user ID, a specified application or a given workload. The cache controller is coupled to the data path for a data storage system and can be implemented as a filter in a filter framework. The cache memory for storing cached data can be local or remote from the cache controller. The policies implemented in the cache controller permit an application to control caching of data to permit optimization of data flow for the particular application.
-
Citations
25 Claims
-
1. A dynamic cache system for use with a data storage system having a data access interface and a storage device with a data path therebetween, the dynamic cache system comprising:
-
a cache controller coupled to the data path between the storage device and the data access interface, the cache controller registering to be called by a filter framework in response to an I/O operation on the data path between the data access interface and the data storage device to control caching of data accessed through the I/O operation; a storage memory accessible by the cache controller and configurable by the cache controller to be an intermediate storage for the data accessed through the I/O operation on the data path under control of the cache controller; and a caching definition accessible by the cache controller having a predetermined criteria for prompting caching activity by the cache controller, the cache controller being responsive to the predetermined criteria to provide selective caching of the data in the storage memory such that the data associated with the I/O operation is cached or prevented from being cached based on the predetermined criteria. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for implementing a dynamic cache system for use with a data storage system having a data access interface and a storage device with a data path therebetween, the method comprising:
-
configuring a storage memory to be an intermediate storage for data accessed through an I/O operation occurring on the data path between the data access interface and the storage device; registering to be called by a filter framework in response to the I/O operation being intercepted on the data path between the data access interface and the data storage device; identifying a parameter within the I/O operation to contribute to determining a caching behavior for the data associated with the I/O operation; consulting a caching definition determining a caching action for the data to cause or prevent caching of the data based at least in part on a value of the identified parameter; and caching the data in accordance with the caching action. - View Dependent Claims (13, 14, 15, 17, 18, 19, 20, 21, 22)
-
-
16. The method according 12, further comprising:
-
implementing a file system in conjunction with the data storage system; and identifying a file based parameter within the I/O operation.
-
-
23. A data storage and retrieval system having a filter framework operable to provide filtering functions, and a dynamic cache filter being operable with the filter framework and comprising:
-
a cache controller coupled to the filter framework and operable to send and receive information to and from the filter framework, the cache controller registering to be called by the filter framework based on an I/O operation intercepted by the filter framework to control caching of data accessed through the I/O operation; a cache memory coupled to the cache controller and configured to be an intermediate storage for the data associated with the I/O under control of the cache controller; and a caching definition in the cache controller being configured to influence the cache controller to implement caching of the data in accordance with a predetermined criteria such that the data associated with the I/O operation is cached or prevented from being cached based on a parameter associated with the I/O operation in combination with the predetermined criteria. - View Dependent Claims (24, 25)
-
Specification