Selectively reading data from cache and primary storage
First Claim
1. A method comprising:
- receiving, from a software application that is executing on a server machine, at a storage system that is distinct from the server machine, a single I/O request to retrieve items involved in an operation that targets a plurality of items that reside on a primary storage that is managed by the storage system;
wherein the primary storage is persistent storage;
wherein the single I/O request specifies storage locations, of the items involved in the operation, on the persistent storage;
wherein an intermediate cache, managed by the storage system, is logically positioned between local memory of the software application and the primary storage;
wherein the plurality of items targeted by the operation includes a first set of items and a second set of items; and
in response to the single I/O request, the storage system performing steps of;
retrieving the first set of items from the primary storage; and
retrieving the second set of items from the intermediate cache.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques are provided for using an intermediate cache to provide some of the items involved in a scan operation, while other items involved in the scan operation are provided from primary storage. Techniques are also provided for determining whether to service an I/O request for an item with a copy of the item that resides in the intermediate cache based on factors such as a) an identity of the user for whom the I/O request was submitted, b) an identity of a service that submitted the I/O request, c) an indication of a consumer group to which the I/O request maps, or d) whether the intermediate cache is overloaded. Techniques are also provided for determining whether to store items in an intermediate cache in response to the items being retrieved, based on logical characteristics associated with the requests that retrieve the items.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving, from a software application that is executing on a server machine, at a storage system that is distinct from the server machine, a single I/O request to retrieve items involved in an operation that targets a plurality of items that reside on a primary storage that is managed by the storage system; wherein the primary storage is persistent storage; wherein the single I/O request specifies storage locations, of the items involved in the operation, on the persistent storage; wherein an intermediate cache, managed by the storage system, is logically positioned between local memory of the software application and the primary storage; wherein the plurality of items targeted by the operation includes a first set of items and a second set of items; and in response to the single I/O request, the storage system performing steps of; retrieving the first set of items from the primary storage; and retrieving the second set of items from the intermediate cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause:
-
receiving, from a software application that is executing on a server machine, at a storage system that is distinct from the server machine, a single I/O request to retrieve items involved in an operation that targets a plurality of items that reside on a primary storage that is managed by the storage system; wherein the primary storage is persistent storage; wherein the single I/O request specifies storage locations, of the items involved in the operation, on the persistent storage; wherein an intermediate cache, managed by the storage system, is logically positioned between local memory of the software application and the primary storage; wherein the plurality of items targeted by the operation includes a first set of items and a second set of items; and in response to the single I/O request, the storage system performing steps of; retrieving the first set of items from the primary storage; and retrieving the second set of items from the intermediate cache. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification