Patent ID: 9424314
Filing Date: 2016-08-23
CPC Classification: G06F

Claim Text:
1. A method of joining read requests comprising: receiving a first read request for a prefetch of a data block at an I/O layer, the I/O layer managing obtaining the data block from one or more storage devices by maintaining an I/O queue, the I/O queue comprising a plurality of read requests ordered based on when the I/O layer receives each of the plurality of read requests in a first-in-first-out manner and a priority tag associated with each of the plurality of read requests, wherein the priority tag comprises only a high priority indication or a low priority indication, the first read request comprising a first priority tag corresponding to the low priority indication and the prefetch; receiving a second read request for immediate use for the data block at the I/O layer, the second read request comprising a second priority tag corresponding to the high priority indication and the immediate use of the data block, wherein the first priority tag is a lower priority than the second priority tag; at the I/O layer, joining the first request for the data block with the second request for the data block by increasing the first priority tag of the first read request to match the second priority tag of the second read request; dynamically adjusting the I/O queue to move the joined first read request and second read request for the data block to the front of the I/O queue according to the second priority tag of the second read request; and returning the data block to a cache, the cache only receiving one data block in response to the first and second request.