Port provisioning based on initiator usage
First Claim
Patent Images
1. A computer-implemented method for provisioning ports within a data storage system, the method comprising:
- generating a map of engine identifiers to a set of storage port structures associated with each engine and a map of director identifiers to a set of storage port structures associated to each director, based on the data storage system and connectivity of a host to a network coupled to the data storage system;
filtering one or more available ports on the data storage system to determine candidate ports based on at least their hardware redundancy group information, the data storage system comprising a plurality of engines, a plurality of directors, and one or more data storage volumes, wherein the filtering includes;
determining if the engines have a previously allocated port residing thereon based on the engine identifier map;
removing ports from the candidate ports that reside on engines having one or more previously allocated ports unless the engines have a previously allocated port residing thereon,determining if the directors have a previously allocated port residing thereon based on the director identifier map;
and removing ports from the candidate ports that reside on directors having one or more previously allocated ports unless the directors have a previously allocated port residing thereon; and
allocating one or more ports to one of the data storage volumes from the candidate ports based on a usage metric to enable a balanced port allocation and communication from the host, using the one or more allocated ports, to the data storage volume through one or more storage components.
10 Assignments
0 Petitions
Accused Products
Abstract
In one aspect, a method includes filtering one or more available ports on a data storage system to determine candidate ports based on at least their hardware redundancy information. The data storage system includes one or more data storage volumes. The method also includes allocating one or more ports to the data storage volume from the candidate ports based on a usage metric to enable communication from a host, using the one or more allocated ports, to the data storage volume through the one or more storage components.
-
Citations
20 Claims
-
1. A computer-implemented method for provisioning ports within a data storage system, the method comprising:
-
generating a map of engine identifiers to a set of storage port structures associated with each engine and a map of director identifiers to a set of storage port structures associated to each director, based on the data storage system and connectivity of a host to a network coupled to the data storage system; filtering one or more available ports on the data storage system to determine candidate ports based on at least their hardware redundancy group information, the data storage system comprising a plurality of engines, a plurality of directors, and one or more data storage volumes, wherein the filtering includes; determining if the engines have a previously allocated port residing thereon based on the engine identifier map; removing ports from the candidate ports that reside on engines having one or more previously allocated ports unless the engines have a previously allocated port residing thereon, determining if the directors have a previously allocated port residing thereon based on the director identifier map; and removing ports from the candidate ports that reside on directors having one or more previously allocated ports unless the directors have a previously allocated port residing thereon; and allocating one or more ports to one of the data storage volumes from the candidate ports based on a usage metric to enable a balanced port allocation and communication from the host, using the one or more allocated ports, to the data storage volume through one or more storage components. - View Dependent Claims (2, 3, 4, 5, 6, 20)
-
-
7. An apparatus, comprising:
electronic hardware circuitry configured to; generate a map of engine identifiers to a set of storage port structures associated with each engine and a map of director identifiers to a set of storage port structures associated to each director, based on the data storage system and connectivity of a host to a network coupled to the data storage system; filter one or more available ports on the data storage system to determine candidate ports based on at least their hardware redundancy croup information, the data storage system comprising a plurality of engines, a plurality of directors, and one or more data storage volumes, wherein the filtering removes ports from the candidate list that reside on engines having one or more previously allocated ports if any one of the engines does not have a previously allocated port residing thereon based on the engine identifier map, wherein the filtering further removes ports from the candidate ports that reside on directors having one or more previously allocated ports if any one of the directors does not have a previously allocated port residing thereon based on the director identifier map; and allocate one or more ports to one of the data storage volumes from the candidate ports based on a usage metric to enable a balanced port allocation and communication from the host, using the one or more allocated ports, to the data storage volume through one or more storage components. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
14. An article comprising:
-
a non-transitory computer-readable medium that stores computer-executable instructions, the instructions causing a machine to; generate a map of engine identifiers to a set of storage port structures associated with each engine and a map of director identifiers to a set of storage port structures associated to each director, based on the data storage system and connectivity of a host to a network coupled to the data storage system; filter one or more available ports on the data storage system to determine candidate ports based on at least their hardware redundancy group information, the data storage system comprising a plurality of engines, a plurality of directors, and one or more data storage volumes, wherein the filtering removes ports from the candidate ports that reside on engines having one or more previously allocated ports if any one of the engines does not have a previously allocated port residing thereon based upon the engine identifier map, wherein the filtering further removes ports from the candidate list that reside on directors having one or more previously allocated ports if any one of the directors does not have a previously allocated port residing thereon based upon the director identifier map; and allocate one or more ports to the one of the data storage volumes from the candidate ports based on a usage metric to enable a balanced port allocation and communication from the host, using the one or more allocated ports, to the data storage volume through one or more storage components. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification