Enforcing quality of service in a storage network
First Claim
1. A method for use in a storage network, the storage network including at least one initiator, at least one storage device, and a storage switch having a linecard connected to the at least one initiator and the at least one storage device for communication with the at least one initiator and the at least one storage device, the method comprising:
- providing, by the linecard of the storage switch, quality of service to the at least one initiator for accessing the at least one storage device in the storage network, wherein providing quality of service includes guaranteeing a minimum bandwidth to the at least one initiator to access the storage device by estimating an actual bandwidth utilized by the initiator, where the actual bandwidth is estimated by a number of requests per second times an average size of requests from the at least one initiator, and wherein a request includes the packets sent back and forth between the at least one initiator and the at least one storage device necessary to complete the request.
10 Assignments
0 Petitions
Accused Products
Abstract
A system in accordance with an embodiment of the invention provides Quality of Service (QoS) for Storage Access. Such QoS is partially enabled in one embodiment by the automatic pooling of storage devices and provisioning virtual targets from those pools. QoS is enforced in one embodiment by keeping the bandwidth for each connection within a specified range, and particularly, by controlling the number of allowed concurrent requests from an initiator. Load balancing is also provided in one embodiment, improving response times for requests, further easing the ability to provide QoS.
105 Citations
37 Claims
-
1. A method for use in a storage network, the storage network including at least one initiator, at least one storage device, and a storage switch having a linecard connected to the at least one initiator and the at least one storage device for communication with the at least one initiator and the at least one storage device, the method comprising:
providing, by the linecard of the storage switch, quality of service to the at least one initiator for accessing the at least one storage device in the storage network, wherein providing quality of service includes guaranteeing a minimum bandwidth to the at least one initiator to access the storage device by estimating an actual bandwidth utilized by the initiator, where the actual bandwidth is estimated by a number of requests per second times an average size of requests from the at least one initiator, and wherein a request includes the packets sent back and forth between the at least one initiator and the at least one storage device necessary to complete the request. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A method for use in a storage network, the storage network including at least one initiator, at least one storage device, and at least one storage switch having a linecard, wherein the at least one initiator and the at least one storage device are both in communication with the linecard of the storage switch, the method comprising:
-
guaranteeing, by the linecard of the storage switch, a minimum bandwidth to the at least one initiator to access the at least one storage device in the storage network; and estimating, by the linecard of the storage switch, an actual bandwidth utilized by the at least one initiator, where the actual bandwidth is estimated by a number of requests per second times an average size of requests from the at least one initiator, and wherein a request includes the packets sent back and forth between the at least one initiator and the at least one storage device necessary to complete the request. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A method for use in a storage network, the storage network including a plurality of initiators, a plurality of targets, and a storage switch having a linecard for communicating with the at least one initiator and the at least one storage device, the method comprising:
-
guaranteeing, by the linecard of the storage switch, a respective minimum bandwidth for each of a plurality of connections, wherein each respective connection is a connection from a respective initiator to a respective target via the storage switch in the storage network; monitoring, by the linecard of the storage switch, an actual bandwidth utilized by each initiator, where the actual bandwidth is estimated by a number of requests per second from the initiator times an average size of the requests from the initiator, where a request includes the packets sent back and forth between an initiator and a target necessary to complete the request; and determining if the actual bandwidth used by one initiator is excessive, and, if excessive, adjusting, by the linecard of the storage switch, a number of allowed concurrent requests for at least one initiator. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A method for use in a storage network, the storage network including at least one initiator, at least one storage device, and a storage switch having a linecard, wherein the at least one initiator and the at least one storage device are both in communication with the linecard of the storage switch, the method comprising:
-
providing a connection from the at least one initiator to the at least one storage device via the linecard of the storage switch in the storage network; and adjusting, by the linecard of the storage switch, the number of requests allowed the at least one initiator to keep the bandwidth utilized by the at least one initiator within a specified range, wherein the bandwidth is estimated by a number of requests per second from the at least one initiator times an average size of the requests from the at least one initiator, and wherein a request includes the packets sent back and forth between the at least one initiator and the at least one storage device necessary to complete the request. - View Dependent Claims (21)
-
-
22. A switch for use in a storage network, the switch having a linecard comprising:
-
a port to be coupled to an external device, wherein the external device includes at least one initiator and a storage device; and a bandwidth controller, the bandwidth controller including a processor, a traffic manager, and a buffer, for controlling bandwidth through the port by controlling a number of requests per second times an average size of the requests so as to keep the bandwidth utilized by the at least one initiator within a specified range, where a request includes the packets sent back and forth between the at least one initiator and the storage device necessary to complete the request. - View Dependent Claims (23, 24)
-
-
25. A switch having a linecard, the linecard including:
-
a storage processor, including a request controller that estimates bandwidth by a number of requests per second times an average size of the requests, and wherein the request controller is designed to adjust the number of requests allowed to an initiator to keep the bandwidth utilized by the initiator within a specified range, where a request includes the packets sent back and forth between an initiator and a target necessary to complete the request; a traffic manager in communication with the storage processor; a buffer in communication with the traffic manager; wherein if a specified threshold in the buffer is reached, the traffic manager is designed to activate the request controller to control the bandwidth.
-
-
26. A storage switch for use in a storage network, the storage switch having a linecard comprising:
-
a first port to be coupled to at least one initiator; a second port to be coupled to at least one storage device; and means for providing quality of service for a connection from the at least one initiator to the at least one storage device in the storage network, comprising; means for guaranteeing a minimum bandwidth to at least one initiator to access a storage device; and means for estimating an actual bandwidth utilized by the at least one initiator, where the actual bandwidth is estimated by the number of requests per second times the average size of the requests from the at least one initiator, and where a request includes the packets sent back and forth between the at least one initiator and the storage device necessary to complete the request. - View Dependent Claims (27, 28, 29)
-
-
30. A storage network, including:
-
an initiator; a storage device; a switch having a linecard in communication with the initiator and the storage device; wherein the linecard of the switch includes a traffic manager in communication with a buffer; wherein when the buffer includes a number of packets from the initiator that exceeds a specified threshold, then the switch is designed to notify the initiator to reduce a number of concurrent requests, and where a request includes the packets sent back and forth between the an initiator and a target necessary to complete the request.
-
-
31. A machine readable media which has instructions stored thereon, which when executed on a linecard of a storage switch in a storage network including an initiator and a storage device in communication with the linecard of the storage switch causes the linecard of the storage switch to perform the following steps:
-
guaranteeing a minimum bandwidth to the initiator to access the storage device in the storage network; and estimating an actual bandwidth utilized by the initiator, where the actual bandwidth is estimated by a number of requests per second times an average size of requests from the initiator, where a request includes the packets sent back and forth between the initiator and the storage device necessary to complete the request. - View Dependent Claims (32, 33, 34, 35, 36, 37)
-
Specification