Intermediary Entities
HBA Card, Storage I/O Module, and Storage Controller are intermediary entities, which means they can be a higher-order entity type or a member entity type.
For example, an HBA Card can be an entity with one or more HBA Port members, and the HBA Card can be a member of the Host entity type. There are advantages to employing intermediary entities in your environments.
In addition to the fact that the intermediary entities can be used to model more complex storage environments, using the full hierarchy of storage-related entities allows you to perform actions such as the following examples:
Create a report, Top N IOPS by Storage Controllers, filtered to Storage Array, that shows the distribution of a workload across Storage I/O Modules
Create a report, Top N IOPS by Storage Ports, filtered by Storage I/O Module, that answers the question: Are you multi-pathing your traffic over the available ports correctly?
Compare the workload and response characteristics of two controllers.
For some storage environments, such as those with active/non-active storage arrays in which the distribution of traffic between Storage Processor/Controller A and B has to be carefully managed, it would be helpful to map the Storage Ports into Storage Controllers (A or B) and then put the Storage Controllers into a Storage Array (skipping the use of Storage I/O Module).
Modeling port groups.
For some storage environments, modeling the port groups or front-end directors (FEDs) as Storage Controllers can be useful. For VSP, it could be the port group (1a,2a,1e,2e).
The key to using intermediary entities is to view the entity hierarchy as logical units of organization, rather than strictly by their literal interpretation. Starting with a problem statement (i.e., what do you need to see?), model the environment to provide the most efficient solution to the problem.
Make sure that each entity only gets introduced once into the hierarchy. Each foundational entity (HBA Port, Storage Port, Source IP Address, etc.) should only be included in a higher-order entity once. For example, do not add a Storage Port to both a Storage I/O Module and a Storage Controller, and then add those entities to a Storage Array.