US2015331616A1PendingUtilityA1

Set head flag of request

Assignee: HEWLETT PACKARD DEVELOPMENT COPriority: Apr 30, 2013Filed: Jul 28, 2015Published: Nov 19, 2015
Est. expiryApr 30, 2033(~6.7 yrs left)· nominal 20-yr term from priority
G06F 3/0673G06F 3/0659G06F 3/0611G06F 3/067
45
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A request is output to a first queue of a storage device. A head flag of the request is set based on whether the request is a read type request and a comparison of a percentage of requests queued at the first queue that are read type requests to a threshold percentage. The storage device is to store the request at a head of the first queue if the head flag of the request is set.

Claims

exact text as granted — not AI-modified
1 - 15 . (canceled) 
     
     
         16 . A device, comprising:
 an interface unit to receive a plurality of requests from a host; and   a controller to output the requests to a first queue of a storage device, wherein:
 the controller is to set a head flag of the requests if the requests are read types and a percentage of requests queued at the first queue that are read types is less than a threshold percentage, 
 the storage device is to store the first request at a head of the first queue if the head flag of the first request is set, 
 the controller is to reset the head flag of the requests if the requests are not the read types or the percentage of requests queued at the first queue that are the read types is greater than or equal to the threshold percentage, and 
 the storage device is to store the first request at a position of the first queue based on optimizing a number of requests per second that are processed if the head flag of the first request is reset. 
   
     
     
         17 . The device of  claim 16 , wherein the controller limits a number of requests at the first queue with the head flag set to a specified number. 
     
     
         18 . The device of  claim 16 , further comprising:
 a counter to count a first number of read types and a second number of read type and non-read types outstanding at the first queue of the storage device, wherein
 the percentage is based on the first and second numbers, 
 the counter is to increment the first number if the controller outputs the read type request to the first queue and to increment the second number if the controller outputs at least one of the read type request and the non-read type request to the first queue, and 
 the counter is to decrement the first number if the storage device outputs a first type acknowledgment to the device to indicate that the read type request has left the first queue and to decrement the second number if the storage device outputs at least one of the first type acknowledgement and a second type acknowledgment to the device, the second type acknowledgment to indicate that the non-read type request has left the first queue. 
   
     
     
         19 . The device of  claim 16 , wherein,
 the controller is to reset the head flag of the first request if the percentage of requests queued at the first queue that are read types is greater than or equal to the threshold percentage, and   the storage device is to store the first request at a tail of the first queue if the head flag of the first request is reset.   
     
     
         20 . The device of  claim 16 , further comprising:
 a second queue to output to the storage device, wherein   the controller is to receive a second request from the host, and   the controller is to output the second request to a tail of the second queue if the second request is not a read type request and the first queue has capacity to store only one additional request.   
     
     
         21 . The device of  claim 20 , wherein,
 the controller is to reset a head flag of the second request and to output the second request to the second queue if the second request is a read type request, the percentage of requests queued at the first queue that are read types is greater than or equal to the threshold percentage and the first queue has capacity to store only one additional request and   the storage device is to store the second request at a tail of the first queue if the head flag of the second request is reset.   
     
     
         22 . The device of  claim 20 , wherein,
 the controller is to set a head flag of the second request and to output the second request to a head of the second queue if the second request is the read type request and the head of the first queue holds the first request that is the read type request,   the controller is to output the second request to the storage device after the first request is output from the head of the first queue of the storage device, if the percentage of requests queued at the first queue that are read types is less than the threshold percentage, and   the storage device is to store the second request at a head of the first queue if the head flag of the second request is set.   
     
     
         23 . The device of  claim 16 , wherein the controller is to reset the head flag of the first request, if the first request is not the read type request, and
 the storage device is to store the second request at a tail of the first queue if the head flag of the second request is reset.   
     
     
         24 . A method, comprising:
 receiving a request to access a storage device from a host;   determining if the received request is a read type request;   calculating a percentage of outstanding requests that are read types based on the determination;   comparing the calculated percentage to a threshold percentage based on the determination;   performing one of setting and resetting a head flag of the request based on the comparison; and   outputting the request to a queue of the storage device, wherein   the storage device is to store the request at a head of the queue, if the head flag is set, and   the storage device is to store the request at a position of the queue based on optimizing a number of requests per second that are processed, if the head flag is reset.   
     
     
         25 . The method of  claim 24 , wherein the comparing compares the calculated percentage to the threshold percentage if the determining determines the received request to be the read type request. 
     
     
         26 . The method of  claim 25 , wherein,
 the comparing does not compare the calculated percentage to the threshold percentage if the determining determines the received request to not be the read type request,   the head flag of the request is reset if the determining determines the received request is not the read type request, and   the storage device is to store the request at a tail of the queue if the head flag is reset.   
     
     
         27 . The method of  claim 24 , wherein,
 the head flag of the request is set if the comparison determines the calculated percentage to be less than the threshold percentage, and   the storage device is to store the request at a tail of the queue if the head flag is reset.   
     
     
         28 . The method of  claim 27 , wherein,
 the head flag of the request is reset if the comparison determines the calculated percentage to be greater than or equal to the threshold percentage, and   the storage device is to store the request at the head of the queue if the head flag is set.   
     
     
         29 . A non-transitory computer-readable storage medium storing instructions that, if executed by a processor of a device, cause the processor to:
 receive a request to access a storage device from a host;   calculate a percentage of outstanding requests that are read types at a queue of the storage device, if the received request is a read type request;   compare the calculated percentage to a threshold percentage, if the received request is the read type request; and   set a head flag of the request and output the request to the storage device, if the received request is the read type request and the calculated percentage is less than the threshold percentage, wherein   the storage device is to store the request at a head of the queue, if the head flag of the request is set.   
     
     
         30 . The non-transitory computer-readable storage medium of  claim 29 , wherein,
 the head flag of the request is reset if at least one of the request is not the read type request and the calculated percentage is greater than or equal to the threshold percentage, and   the storage device is to store the request at a tail of the queue if the head flag of the request is reset.

Join the waitlist — get patent alerts

Track US2015331616A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.