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.
Point-to-Point
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.
Arbitrated Loop
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.
Switched Fabric
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.