DEDUPLICATION AWARE SCHEDULING OF REQUESTS TO ACCESS DATA BLOCKS
First Claim
1. A storage system for accessing storage objects stored on a storage device having de-duplicated data, comprisinga de-duplication data map having information that identifies a de-duplicated data block on the storage device and identifies a location on the storage of the de-duplicated data block, andan I/O scheduler for scheduling a plurality of query requests to access data stored on the storage device, and havinga dispatch processor for comparing data blocks in one or more query requests to de-duplicated data blocks identified in the de-duplication data map and for prioritizing the order of servicing the query requests as a function of the number of sequential de-duplicated data blocks within the respective query requests.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for scheduling requests to access data may adjust the priority of such requests based on the presence of de-duplicated data blocks within the requested set of data blocks. A data de-duplication process operating on a storage device may build a de-duplication data map that stores information about the presence and location of de-duplicated data blocks on the storage drive. An I/O scheduler that manages the access requests can employ the de-duplicated data map to identify and quantify any de-duplicated data blocks within an access request. The I/O scheduler can then adjust the priority of the access request, based at least in part, on whether de-duplicated data blocks provide a large enough sequence of data blocks to reduce the likelihood that servicing the request, even if causing a head seek operation, will not reduce the overall global throughput of the storage system.
262 Citations
21 Claims
-
1. A storage system for accessing storage objects stored on a storage device having de-duplicated data, comprising
a de-duplication data map having information that identifies a de-duplicated data block on the storage device and identifies a location on the storage of the de-duplicated data block, and an I/O scheduler for scheduling a plurality of query requests to access data stored on the storage device, and having a dispatch processor for comparing data blocks in one or more query requests to de-duplicated data blocks identified in the de-duplication data map and for prioritizing the order of servicing the query requests as a function of the number of sequential de-duplicated data blocks within the respective query requests.
-
10. A method for accessing storage objects on a storage device having de-duplicated data, comprising
providing a de-duplication data map having information that identifies a de-duplicated data block and identifies a storage location of the de-duplicated data block, and scheduling a query request to read data blocks from the storage device by comparing data blocks in the query request to the de-duplicated data blocks identified in the de-duplication map and prioritizing the order of servicing the query request as a function of the number of sequential de-duplicated data blocks within the query request.
-
15. A storage system for accessing storage objects of a storage system stored on a storage device, comprising
a de-duplication processor for removing duplicate data blocks on the storage device and for generating a de-duplication data map having information that identifies a de-duplicated data block and a location of the de-duplicated data block on the storage device, and an I/O scheduler for scheduling a plurality of query requests to read data blocks from the storage device, and having a dispatch processor for analyzing the de-duplicated data blocks in a query request and for scheduling the respective query requests for dispatch as a function of the de-duplicated data blocks in the query request.
Specification