A HBA (host bus adapter) is an integrated circuit adapter or circuit board that is designed to provide physical connectivity between a computer host and storage devices or a network. In addition to the physical connection, an HBA also provides input/output (I/O) processing and alleviates the host computer microprocessor from having to conduct data retrieval and storage tasks. As a result, the device improves computer processor performance. An HBA and the various subcomponents associated with the device(s) are sometimes referred to as disk channels.
What do Host Bus Adapters Do?The primary purpose of a host bus adapter (HBA) is to connect a computer host to storage and network devices. Other terms that are used to refer to an HBA are host controllers or host adapters with the name typically tied to the devices being connected as well as the I/O functionality provided by the adapter. Some of the most common components the computer hardware devices are used to connect are eSATA, Fiber Channel, and SCSI devices. Additionally, the computer hardware component that connects IDE, FireWire, USB, Ethernet, and other sub-systems are commonly labeled as HBAs or host adapters. By taking care of the communications to and from these devices, the adapter is able to free resources on the computer’s microprocessor and improve overall computing performance. When an adapter is used to connect a computer to a network, the labels of converged network adapter or NIC card (network interface controller) are used for the adapter depending on the type of physical connection between the device(s) and the computer.
What is a SCSI Host Bus Adapter?
SCSI host adapters are used to connect the computer to SCSI devices and allow the computing device to boot from the SCSI hardware. The adapter also provides the ability for the end user to configure the device through the use of a device driver that is linked to the operating system of the computer. In parallel SCSI subsystems, every device assigned to the adapter will have unique IDs assigned. The host adapter itself will be assigned the SCSI ID 7 which will rank the adapter as having the highest priority on the SCSI bus. As the SCSI ID numerically descends, the priority of the component will also decrease. 16 bit buses are slightly different in that ID 8 has the lowest priority vice ID 1 to ensure they maintain backwards compatibility with a SCSI narrow or 8 bit bus. Modern computers are able to have more than one host bus adapter installed which significantly increases the total number of SCSI devices that can be made available to the end user. In all cases, the SCSI host adapter will normally assume the role of SCSI initiator and provide commands to the other devices connected to the card.
Who are the Major SCSI Adapter Manufacturers?
Some of the primary SCSI host bus adapter manufacturers on the market today are ATTO Technology, HP, Adaptec, LSI, Adaptec, ATTO, and Promise Technology. ATTO, Adaptec, and LSI offer specialized PCle SCSI host adapters that are able to be installed on Intel PCs, Apple Mac computers, and other lower profile motherboards that do have SCSI support based on the computer already having SATA or SAS connectivity installed on the computer.
Major SCSI adapter manufacturers are HP, ATTO Technology, Promise Technology, Adaptec, and LSI Corporation. LSI, Adaptec, and ATTO offer PCIe SCSI adapters which fit in Apple Mac, on Intel PCs, and low-profile motherboards which lack SCSI support due to the inclusion of SAS and/or SATA connectivity.
What Does a Host Controller Interface Do?
An HCI (host controller interface) is designed to function as an interface at the register-level of a computer. It allows a host controller for either FireWire or USB hardware to establish communications with the installed host controller driver located in installed software on the computer. On operating systems sold today, the driver software will typically be embedded within the OS; however, it may also be installed through the traditional application installation process when installing a new interface or microcontroller.
Host Bus Adapters and FireWire
An Open Host Controller Interface (OHCI) is commonly used to support a FireWire card on a computer. When the FireWire card supports OHCI, that means that the card is designed to support standard interfaces with the computer and the card will be able to be accessed by the installed OHCI FireWire drivers found on all major commercial operating systems sold today. This lets the computer acknowledge and access the FireWire cable and connected device without having to install software drivers that are specific to the FireWire card.
OHCI Standard for USB
OHCI works similarly for USB cards as it does for FireWire. Unfortunately, the standard only supports the USB 1.1 standard at the time of this writing (bot full and lower speeds of the standard). As a result, the register interface for the standard is significant different. There is additional programming logic located in the controller for USB which makes the access of the USB card more efficient. If there is not an Intel or VIA chipset installed on a computer and it includes USB 1.1 support, the device will likely employ OHCI for accessing the USB card and information.
What is the Universal Host Controller Interface?
UHCI (Universal Host Controller Interface) was created by the Intel Corp. for USB 1.0 supporting both low and full speeds over the connection. Since the majority of computers sold on the market today include either Via or Intel computer chip sets, UHCI is found on more computers than OHCI for USB is. As a result, a number of USB venders are shifting to only providing UHCI functionality as a cost savings measure.
What is EHCI (Enhanced Host Controller Interface)?
EHCI (Enhanced Host Controller Interface) is the higher-speed controller standard that was designed for USB 2.0. Based on the lessons learned from having two competing standards with proprietary information included in one, industry insisted on having a single, open standard for USB 2.0 adapters. This allows manufacturers to reduce the overall complexity and cost for the hardware allowing companies to either decrease prices, increase profits, or both. To help prevent including proprietary information or features within the standard, the Intel Corporation hosted the EHCI conformance testing efforts.
Prior to development of EHCI, a Windows computer would have two controllers for high-speed ports. One controller would be assigned to handle high speed devices while the other would handle low and full-speed ones. The OHCI driver would cover the low and full speed functionality for USB ports of PCI expansion cards that had NEC controller chipsets (not in all cases). The UHCI driver would then provide the low and full speed functionality making use of an Intel controller chipset located on the computer’s motherboard. With EHCI, the need for multiple interfaces is eliminated. More recently, all of the ports on a computer will be routed through a RMH (rematching hub) and EHCI is used to indirectly provide low and full speed functionality.
What is XHCI (Extensible Host Controller Interface)?
The most recent host bus controller standard to be published is the XHCI (extensible host controller interface). The latest standard provides a significant speed improvement, increased power efficiency, and better virtualization when compared to previous interfaces. XHCI is designed to replace EHCI, OHCI, and UHCI while also supporting all defined USB device speeds (USB 1.1. low and full speed, USB 2.0 low, full, and high speed, and USB 3.0).
Fibre Channel Interface Cards
A fibre channel interface card is also referred to as a host bus adapter. These devices are used for a variety of systems to include computer architectures, buses (both PCI and the now obsolete SBus), and open systems. For this type of HBA, there will be a unique WWN (World Wide Name) assigned to the card that is similar to the numbering functionality provided by an Ethernet MAC addresses in that the card makes use of an OUI that is assigned by the IEEE. The WWN assigned to a fibre channel interface card; however, is longer than a MAC address and each HBA includes two of these identifiers. The first is a nodal WWN (or WWNN), that is shared by all of the ports located on the adapter. The second is the WPPN (or port WWN) that is unique to each port on the device. At the time of this writing the speeds available on HBAs included: 20Gbit/second, 10Gbit/second, 16Gbit/second, 8Gbit/second, 4GBit/second, 2GBit/second, and 1GBit/second.
The predominant Fibre Channel HBA manufacturing companies at the time of this writing are Emulex and QLogic. Despite these vendors have a significant market share, other companies which produce this type of HBA include ATTO, Agilent, LSI Corporation, and Brocade.
How Does a Fibre Channel Interface Card Work?
Fibre Channels (FCs) are high speed networking technology that is used to connect a computer to data storage equipment. The channels typically have transfer rates that approach two, four, eight, and 16 gigabit per second rates. The T11 Technical Committee of the International Committee for Information Technology Standards (INCITS) is responsible under the ANSI (American National Standards Institute) for publishing the FC standard and developing succeeding versions.
Originally, the fibre channel was only used in supercomputers which had a need to have access to extremely large data stores at high speeds. Today; however, fibre channels have become a common connection type for enterprise storage services that are running storage area networks (SANs). Although the standard uses the name “fiber”, it is now capable of running on electrical interfaces in addition to fiber cables.
History of Fibre Channel Host Bus Adapters
Development of the fibre channel standard started in 1988 and later received approval from ANSI in 1994 and became an international standard. It was created in order to simplify the HIPPI system then in use for providing higher speed access to information. The HIPPI standard made use of 50 pair cable which had large connectors and also limits on the overall cable length. Once the fibre channel standard started to make inroads on the mass storage market, the primary competitor to industry making the shift to FC was the proprietary IBM SSA (Serial Storage Architecture) interface. The market ultimately went with fibre channel technology which was mostly focused on increasing distances of cabling that is supported and on decreasing complexity of connections.
As the fibre standard and implementations by manufacturer’s matured, additional goals were added to include providing higher transfer speeds, increased capacity for total number of connected devices, and being able to connect to SCSI disk storage. Support for a variety of protocols was also added to the standard to include FICON, SCSI, IP, and ATM.
When fiber channel host bus adapters were first deployed, they only supported the user of fiber cabling. Despite the fact that copper cable support was added early in the life of the FC standard, the development committee decided to keep the original name, but actually uses the British spelling of fibre for the standard with the American spelling being reserved for the actual cabling.
What are the Fibre Channel Topologies?
There are three major Fibre Channel topologies defined in the standard. These topologies define how a number of ports are connected together. A port in the FC standard is considered to be any “thing” or “entity” which is capable of actively communicating over the network. This entity does not have to be a hardware port. It can be implemented in other devices such as an HBA located on a server, a FC switch, or disk storage.
The Point-to-point (FC-P2P) topology is defined as two devices that are directly connected to each other. This is the most basic FC topology and has limited connectivity when compared to the other two topologies included in the standard.
The arbitrated loop (FC-AL) topology has all of the connected devices located in a ring or a loop. The concept is very similar to a token ring network. When a device is removed from the loop, all of the communication activity on the loop will be interrupted until restored. A significant disadvantage to this topology is that if one of the devices fails, a break will occur in the ring. Fibre channel hubs are typically deployed to help connect multiple devices as a result which allow failed ports to be bypassed. Only one set or pair of ports are able to communicate at the same time on a loop.
The switched fabric (FC-SW) topology has all of the connected devices (or loops of devices) connected to a FC switch. This concept is similar to Ethernet networking implementations. Advantages of the switched fabric topology include the ability to manage the overall state of the topology and optimize the interconnections of the network, communications between two ports only travel through the switches and are not sent to other device ports, multiple pairs of ports are able to communicate at the same time, and the failure of a port is isolated and will not impact the ability of other ports to operate.