MULTI-LEVEL SNAPSHOT CACHING
First Claim
1. A non-transitory computer readable medium comprising instructions that are executed in a computer system to carry out a method for processing a read request to a storage device, said method comprising:
- intercepting a read request that includes a logical block address (LBA) of the storage device by an IO filter driver;
retrieving a disk identifier (ID) associated with the LBA from a metadata file associated with the storage device;
sending the LBA and the disk ID to a daemon configured to read and write to a cache;
if the daemon returns cached data associated with the LBA and the disk ID, returning the cached data in response to the read request; and
if the daemon does not return cached data associated with the LBA and the disk ID, transmitting the read request to the storage device.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for processing a read request comprises intercepting a read request that includes a logical block address (LBA) of the storage device by an IO filter driver and retrieving a disk identifier (ID) associated with the LBA from a metadata file associated with the storage device. The method further comprises sending the LBA and the disk ID to a daemon configured to read and write to a cache. If the daemon returns cached data associated with the LBA and the disk ID, the method returns the cached data in response to the read request. If the daemon does not return cached data associated with the LBA and the disk ID, the method transmits the read request to the storage device.
-
Citations
18 Claims
-
1. A non-transitory computer readable medium comprising instructions that are executed in a computer system to carry out a method for processing a read request to a storage device, said method comprising:
-
intercepting a read request that includes a logical block address (LBA) of the storage device by an IO filter driver; retrieving a disk identifier (ID) associated with the LBA from a metadata file associated with the storage device; sending the LBA and the disk ID to a daemon configured to read and write to a cache; if the daemon returns cached data associated with the LBA and the disk ID, returning the cached data in response to the read request; and if the daemon does not return cached data associated with the LBA and the disk ID, transmitting the read request to the storage device. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for processing a read request, comprising:
-
intercepting a read request that includes a logical block address (LBA) of the storage device by an IO filter driver; retrieving a disk identifier (ID) associated with the LBA from a metadata file associated with the storage device; sending the LBA and the disk ID to a daemon configured to read and write to a cache; if the daemon returns cached data associated with the LBA and the disk ID, returning the cached data in response to the read request; and if the daemon does not return cached data associated with the LBA and the disk ID, transmitting the read request to the storage device. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. An apparatus, comprising:
-
a processing unit; and a memory coupled to the processing unit, the memory storing instructions which, when executed by the processing unit, cause the processing unit to; intercept a read request that includes a logical block address (LBA) of the storage device by an IO filter driver; retrieve a disk identifier (ID) associated with the LBA from a metadata file associated with the storage device; send the LBA and the disk ID to a daemon configured to read and write to a cache; if the daemon returns cached data associated with the LBA and the disk ID, return the cached data in response to the read request; and if the daemon does not return cached data associated with the LBA and the disk ID, transmit the read request to the storage device. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification