Method and system for I/O scheduler activations
First Claim
Patent Images
1. A method for storing data, comprising:
- receiving a request to store data in a storage pool;
queuing the request in an Input/Output (I/O) queue;
issuing the request from the I/O queue;
receiving a completion interrupt associated with the request from the storage pool;
determining a number of subsequent requests to issue to the storage pool upon receipt of the completion interrupt, wherein determining the number of subsequent requests to issue to the storage pool comprises determining whether a pending queue has less than maximum pending requests;
issuing no subsequent requests to the storage pool if the pending queue does not have less than maximum pending requests; and
issuing the number of subsequent requests to the storage pool if there are requests in the I/O queue and the pending queue has less than maximum pending requests, wherein the number of requests issued to the storage pool does not result in the pending queue exceeding maximum pending requests.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for storing data, that includes receiving a request to store data in a storage pool, queuing the request in an Input/Output (I/O) queue, and issuing the request from the I/O queue upon receipt of a completion interrupt from the storage pool.
-
Citations
20 Claims
-
1. A method for storing data, comprising:
-
receiving a request to store data in a storage pool; queuing the request in an Input/Output (I/O) queue; issuing the request from the I/O queue; receiving a completion interrupt associated with the request from the storage pool; determining a number of subsequent requests to issue to the storage pool upon receipt of the completion interrupt, wherein determining the number of subsequent requests to issue to the storage pool comprises determining whether a pending queue has less than maximum pending requests; issuing no subsequent requests to the storage pool if the pending queue does not have less than maximum pending requests; and issuing the number of subsequent requests to the storage pool if there are requests in the I/O queue and the pending queue has less than maximum pending requests, wherein the number of requests issued to the storage pool does not result in the pending queue exceeding maximum pending requests. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for storing data, comprising:
-
a storage pool configured to store data and issue a completion interrupt when a request to store data is processed by the storage pool; an I/O queue configured to store the request; and an I/O scheduler configured to; issue the request from the I/O queue to the storage pool, receive the completion interrupt from the storage pool, determine a number of subsequent requests to issue to the storage pool upon receipt of the completion interrupt, wherein determining the number of subsequent requests comprises determining whether a pending queue has less than maximum pending requests, issue no subsequent requests to the storage pool if the pending queue does not have less than maximum pending requests, and issue the number of subsequent requests to the storage pool if there are requests in the I/O queue and the pending queue has less than maximum pending requests, wherein the number of subsequent requests issued to the storage pool does not result in the pending queue exceeding maximum pending requests. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer readable medium comprising software instructions for enabling a computer system under the control of a processor, to:
-
receive a request to store data in a storage pool; queue the request in an Input/Output (I/O) queue; issue the request from the I/O queue; receive a completion interrupt associated with the request from the storage pool; determine a number of subsequent requests to issue to the storage pool upon receipt of the completion interrupt, wherein software instructions for enabling the computer system to determine the number of subsequent requests comprises software instructions for enabling the computer system to determine whether a pending queue has less than maximum pending requests; issue no subsequent requests to the storage pool if the pending queue does not have less than maximum pending requests; and issue the number of subsequent requests to the storage pool if there are requests in the I/O queue and the pending queue has less than maximum pending requests, wherein the number of subsequent requests issued to the storage pool does not result in the pending queue exceeding maximum pending requests. - View Dependent Claims (16, 17)
-
-
18. A plurality of nodes, comprising:
-
a storage pool configured to store data and issue a completion interrupt when a request to store data is processed by the storage pool; an I/O queue configured to store the request; and an I/O scheduler configured to; issue the request from the I/O queue to the storage pool, receive the completion interrupt from the storage pool, determine a number of subsequent requests to issue to the storage pool upon receipt of the completion interrupt, wherein determining the number of requests comprises determining whether a pending queue has less than maximum pending requests, issue no subsequent requests to the storage pool if the pending queue does not have less than maximum pending requests, and issue the number of subsequent requests to the storage pool if there are requests in the I/O queue and the pending queue has less than maximum pending requests, wherein the number of subsequent requests issued to the storage pool does not result in the pending queue exceeding maximum pending requests, wherein the storage pool is located on at least one of the plurality of nodes, wherein the I/O queue is located on at least one of the plurality of nodes and wherein the I/O scheduler is located at least one of the plurality of nodes. - View Dependent Claims (19, 20)
-
Specification