Apparatus, system, and method for caching data
First Claim
1. A method for caching data, the method comprising:
- detecting an input/output (“
I/O”
) request for a storage device being cached by solid-state storage media of a cache;
referencing a single mapping structure to determine that the cache comprises data of the I/O request, the single mapping structure mapping each logical block address of the storage device directly to a logical block address of the cache, the single mapping structure comprising a fully associative relationship between logical block addresses of the storage device and physical storage addresses on the solid-state storage media; and
satisfying the I/O request using the cache in response to determining that the cache comprises at least one data block of the I/O request.
9 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for caching data. A storage request module detects an input/output (“I/O”) request for a storage device cached by solid-state storage media of a cache. A direct mapping module references a single mapping structure to determine that the cache comprises data of the I/O request. The single mapping structure maps each logical block address of the storage device directly to a logical block address of the cache. The single mapping structure maintains a fully associative relationship between logical block addresses of the storage device and physical storage addresses on the solid-state storage media. A cache fulfillment module satisfies the I/O request using the cache in response to the direct mapping module determining that the cache comprises at least one data block of the I/O request.
421 Citations
20 Claims
-
1. A method for caching data, the method comprising:
-
detecting an input/output (“
I/O”
) request for a storage device being cached by solid-state storage media of a cache;referencing a single mapping structure to determine that the cache comprises data of the I/O request, the single mapping structure mapping each logical block address of the storage device directly to a logical block address of the cache, the single mapping structure comprising a fully associative relationship between logical block addresses of the storage device and physical storage addresses on the solid-state storage media; and satisfying the I/O request using the cache in response to determining that the cache comprises at least one data block of the I/O request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An apparatus for caching data, the apparatus comprising:
-
a storage request module that detects an input/output (“
I/O”
) request for a storage device cached by solid-state storage media of a cache;a direct mapping module that references a single mapping structure using an address of the I/O request to determine that the cache comprises data of the I/O request, the address of the I/O request directly identifying both an entry in the single mapping structure and a logical block address of the storage device, the single mapping structure maintaining a fully associative relationship between logical block addresses of the storage device and physical storage addresses on the solid-state storage media; and a cache fulfillment module that satisfies the I/O request using the cache in response to determining that the cache comprises at least one data block of the I/O request;
wherein the storage request module, the direct mapping module, and the cache fulfillment module comprise one or more of logic hardware and executable code, the executable code stored on a non-transitory computer storage medium of the apparatus. - View Dependent Claims (17, 18)
-
-
19. A system for caching data, the system comprising:
-
a processor; a storage controller for a nonvolatile solid-state storage cache, the cache in communication with the processor over one or more communications buses; a cache controller in communication with the storage controller, the cache controller comprising, a storage request module that detects an input/output (“
I/O”
) request for a storage device cached by solid-state storage media of a cache;a direct mapping module that references a single mapping structure using an address of the I/O request to determine that the cache comprises data of the I/O request, the address of the I/O request directly identifying both an entry in the single mapping structure and a logical block address of the storage device, the single mapping structure maintaining a fully associative relationship between logical block addresses of the storage device and physical storage addresses on the solid-state storage media; and a cache fulfillment module that satisfies the I/O request using the cache in response to determining that the cache comprises at least one data block of the I/O request. - View Dependent Claims (20)
-
Specification