Managing global caches in data storage systems
AssigneeEMC IP Holding Company LLC
InventorsPhilippe Armangau, Christopher Seibel
Life of this patent
Estimating the term…
Abstract
A method is used in managing global caches in data storage systems. A cache entry of a global cache of a data storage system is accessed upon receiving a request to perform an I/O operation on a storage object. The cache entry is associated with the storage object. Accessing the cache entry includes holding a reference to the cache entry. A determination is made as to whether the I/O operation is associated with a sequential access. Based on the determination, releasing the reference to the cache entry is delayed.
Claims20
A method for use in managing global caches in data storage systems, the method comprising:
- accessing a cache entry of a global cache of a data storage system upon receiving a request to perform an I/O operation on a storage object, wherein the cache entry is associated with the storage object, wherein accessing the cache entry includes acquiring a lock, holding a reference to the cache entry, releasing the lock, and providing the cache entry to a client, wherein the global cache includes a set of buffer cache objects managed by a set of buffer cache descriptors, wherein the storage object includes a file of a file system, wherein the cache entry includes information regarding metadata of the file system;
- determining whether the I/O operation is associated with a sequential access indicating a high probability of the cache entry being accessed at least two times in a time period;
- and
- based on the determination, delaying releasing the reference to the cache entry by the client for the time period, wherein delaying releasing the reference to the cache entry includes delaying adding information regarding the cache entry to a reusable list of cache entries configured to provide the cache entries for reuse by the data storage system, wherein the client accesses the cache entry during the time period without removing the cache entry from the reusable list and without acquiring and releasing the lock.
A system for use in managing global caches in data storage systems, the system comprising a processor configured to:
- access a cache entry of a global cache of a data storage system upon receiving a request to perform an I/O operation on a storage object, wherein the cache entry is associated with the storage object, wherein accessing the cache entry includes acquiring a lock, holding a reference to the cache entry, releasing the lock, and providing the cache entry to a client, wherein the global cache includes a set of buffer cache objects managed by a set of buffer cache descriptors, wherein the storage object includes a file of a file system, wherein the cache entry includes information regarding metadata of the file system;
- determine whether the I/O operation is associated with a sequential access indicating a high probability of the cache entry being accessed at least two times in a time period;
- and
- delay, based on the determination, releasing the reference to the cache entry by the client for the time period, wherein delaying releasing the reference to the cache entry includes delaying adding information regarding the cache entry to a reusable list of cache entries configured to provide the cache entries for reuse by the data storage system, wherein the client accesses the cache entry during the time period without removing the cache entry from the reusable list and without acquiring and releasing the lock.
Dependencies are inferred from the claim text.