A Common Interface For Host Bus Adapters.
Fibre Channel enabled Storage Area Networks allow multiple servers to access multiple storage devices for increased scalability, availability, and performance. Within the Fibre Channel SAN (often called a fabric), devices such as host bus adapters, switches, hubs, bridges, and routers have physical (hardware) connections as well as logical (software) associations with each other.
For example, Server A in Figure 1 has a physical connection to all Storage devices in the Fibre Channel SAN. However, only RAID 1 may be visible to the operating system due to a logical association established at the operating system, SAN management application, or device level (a process known as soft zoning). For added security, zoning can also be done at the physical level where data flow is restricted to certain ports on a switch (hard zoning).
Fibre Channel SANs can scale from two servers attached to a single storage device in a department, to workgroups attached through fabric, on up to enterprise level SANs connected over a wide-area network (WAN) through a router. SAN management can be quite complex given the number of devices in the fabric and management hierarchy (system, storage, device-level). For example, in Fig 1, a management application on Server E may be required to provide fault, configuration, change, asset, performance, cluster, and security management capabilities across multiple operating systems. Providing a common and consistent view of managed resources is one of the challenges facing SAN management software vendors.
Within the fabric there are translation devices that connect Fibre Channel SANs to the outside world. Examples of translation devices include: a bridge for legacy SCSI storage devices, a router for telecom networks (ATM, SONET), and a host bus adapter (HBA) for the internal server bus architecture (PCI, SBus). The primary way servers communicate with devices in. the fabric is through the HBA.
Host Bus Adapters
Fibre Channel is an industry standard multi-layer architecture designed to transport data at gigabit speeds. The National Committee for Information Technology Standards (NCITS) T11.3 Task Group governs Fibre Channel standards for transport, fabric, and upper-layer protocol (ULP) mapping. HBAs provide the physical (hardware) interface between the internal server bus and the external Fibre Channel SAN. HBAs also provide a logical (software) interface to the operating system (OS). Fibre Channel HBAs conform to the ANSI T11X3 five-layer model (See Table).
The FC-0 layer includes the optical (laser) or copper connection to the SAN. The FC-l layer includes data encoding or decoding. The FC-2 layer assembles or segments frames, defines class of service, credits, and link services for fabric and port login. Most HBA vendors combine the FC0-2 functions into a single ASIC for higher reliability and lower cost. The FC-3 is the common services layer used to transport fabric discovery and management information as well as data-specific information such as RAID level, encryption, compression, etc. The FC4 layer provides for ULP mapping, such as small computer system interface (SCSI), Internet protocol (IP), and virtual interface (VI). For example, a SCSI device driver must map Fibre Channel storage devices to SCSI bus/target/LUNs required by the OS.
Management applications must identify all devices in the Fibre Channel SAN. In a fabric topology, each device (including the HBA) is called a node. Each node has a fixed 64-bit worldwide name (WWN) assigned by the manufacturer and registered with the IEEE to ensure it is globally unique. A node can have multiple ports, each with a unique 64-bit port name and 24-bit port ID. For example, a dual-port HBA has a single worldwide name (WWN) and two worldwide port IDs used for frame routing. When a port logs into the fabric, it registers various attributes that are stored in the fabric (usually within a switch). SAN management applications can then discover the fabric topology and port attributes using an HBA application-programming interface (API). HBA vendors have unique hardware (ASIC) and software (drivers); so independent software vendors (ISVs) are forced to support multiple APIs, which increases development time. The solution is a common HBA API.
Common HBA API
As Fibre Channel SANs grow in complexity there is a need for a common management method to access information from HBA vendors. The SNIA Fibre Channel working group (SNIA-FCWG) has proposed a common HBA API that allows ISVs to access information that is platform independent, vendor independent, and interoperable. The common HBA API enables ISVs to enhance the use and management of Fibre Channel SANs using a standardized interface while delivering greater functionality to end users. Reducing the ISV development cycle will also accelerate the adoption of Fibre Channel SANs and drive future applications.
The common HBA API is a low-level standard API written in 'C' language for accessing information in a FC SAN via the HBA. There are three layers in the common HBA API architecture (Figure 2).
The SAN management application links in the common HBA API library for a specific operating system (OS). The common HBA API library provides an interface between the SAN management application provided by the ISV and multiple HBA vendor-specific libraries. The vendor-specific libraries are where information on devices (nodes and ports) in the SAN fabric can be queried. Specific information on each port including level of management, topology support, FC-4 layer protocol mapping and statistics are also available to ISVs for their SAN management applications to query.
The following information is available via the common HBA API (version 1.0).
Vendor, serial number, model, model description, node WWN, node symbolic name, h/w version, BIOS & f/w version, driver version, driver name, vendor-specific ID, number of ports.
Node WWN, port WWN, port symbolic name, port Fcld, type (p-to-p, loop, fabric), state, class of service, FC4 (ULP) support/active types, port support/active speed, max frame size, OS device name, number of discovered ports, fabric name.
Seconds since statistics reset, TxFrames, RxFrames, TxWords, RxWords, LIPcount, NOSCount, ErrorFrames, DumpedFrames, LinkFailureCount, LossofSyncCount, LossOfSignalCount, PrimitiveSeqProtocolErrCount, InvalidTxWordCount, and InvalidCRCCount.
Port FCP Attributes
Node WWN, port WWN, Fcld, FcpLun, OSDeviceName, ScsiBusNumber, ScsiTargetNumber, ScsiOSLun, FCP Binding Type.
FC-3 Management Attributes
WWN, unittype, Portld, NumberOfAttachedNodes, IPVersion, UDPPort, IPAddress, TopologyDiscoveryFlags, TimeStamp, EventCode.
The ability to discover, monitor, and control the fabric from a management application that provides a common and consistent view of the Fibre Channel SAN will significantly reduce the total cost of ownership for IT professionals. Work is underway in the SNIA working groups to define standards to integrate SAN management applications with enterprise-level management applications using modeling schema such as the common information model (CIM). CIM is a data model that provides a conceptual view of real-world managed entities (e.g. storage, networks, systems) and the users, organizations, and applications that interact with these entities.
Fibre Channel SANs provide a number of benefits including increased scalability, availability, and performance. Early SAN deployments were simple arbitrated loops. Today's Fibre Channel SANs frequently employ fabrics that allow multiple servers to access multiple storage devices over a local and wide area network. As Fibre Channel SANs increase in complexity, management applications are required to discover, monitor, and efficiently control resources. The common HBA API provides independent software vendors (ISVs) a standard method of accessing information on devices (nodes and ports) in the FC SAN fabric via the host bus adapter (HBA).
Additional information can be found on the following web sites:
Storage Networking Industry Association (SNIA) www.snia.org Fibre Channel Industry Association (FCIA) www.fibrechannel.org
Mark Woithe is the strategic marketing manager at JNI Corp. (San Diego, CA).