A host bus adapter (HBA) is a circuit board and/or integrated circuit adapter that provides input/output (I/O) processing and physical connectivity between a server and a storage device. Because the HBA relieves the host microprocessor of both data storage and retrieval tasks, it can improve the server's performance time. An HBA and its associated disk subsystems are sometimes referred to as a disk channel.
The differences between a NIC and an HBA
Host Bus Adapters (HBAs) differ from network interface cards (NICs) in a fundamental way. A NIC relies heavily on the server CPU for protocol processing, including such functions as maintaining packet sequence order, segmentation and re-assembly, error detection and correction, and flow control. Functions actually performed by a NIC are limited to low level duties such as framing packets and controlling the flow of data to the link layer. As a result, I/O requests that rely on a NIC for execution put a considerable compute burden on the host server CPU and severely impact overall system performance. A NIC can utilize 80% or more of a server CPU to deliver 50-80MB/s on a Gigabit Ethernet link. This method of using an expensive server to perform I/O processing adds considerable real cost to what may appear to be an inexpensive network interface card.
By contrast, an HBA manages the entire I/O transaction with little or no involvement of the server CPU. The HBA receives an I/O request from the operating system and completely handles such activities as segmentation and re-assembly, flow control, error detection and correction, as well as the SCSI command processing. By off-loading the server CPU, HBAs can provide throughput at nearly link speed with typically less than 10% server CPU utilization.
In simple terms, HBAs provide I/O processing and the physical connection between servers and storage. Host bus adapters provide critical server CPU off-load, freeing servers to perform application processing. As the only part of a storage area network that resides in a server, HBAs also provide the physical link between the SAN and the OS and application software. In this role the HBA enables a range of high-availability and storage management capabilities, including load balancing, fail-over, SAN administration, and storage management.
Why does server CPU off-load matter?
The need for CPU off-load is becoming increasingly important because of the wide adoption of storage area networking, and the emergence of processing intensive protocols such as iSCSI.
Host bus adapters differ from network interface cards (NICs) in a fundamental way. A NIC relies heavily on the server CPU for protocol processing. Historically, I/O data rates increased at approximately the rate of Moore’s law, which allowed servers to maintain I/O processing performance from one product generation to the next. Networking technologies, however, have historically increased data rates in 10x increments. The adoption of storage networking has driven increases in storage I/O data rates closer to those of traditional networking technologies, with increases of 4x to 10x. This trend shows no signs of slowing down as iSCSI and Fibre Channel prepare to support up to 10Gb/s data rates in the future.
The accelerating I/O data rates creates an “I/O processing gap” in which the compute power needed to fill a fast pipe is growing faster than the CPU power available in the server. Without sufficient processing power, a high-speed storage network will be under-utilized. An HBA is needed to fill the I/O processing gap and provide the performance and efficiency that storage networking promises.
Host Bus Adapter architecture
HBA architectures vary, but the most capable products have an on-board processor, a protocol controller ASIC, buffer memory to maintain data flow, and specialized hardware to provide superior performance in complex storage area networks.
HBAs also provide a critical interface between the SAN and the server. With on-board intelligence providing the ability to analyze each frame of data that passes through it, as well as awareness of each SAN device and the server OS, the HBA provides a critical control point for management applications. Using industry standard Application Programming Interfaces (APIs), HBAs can provide management applications with access to information about the SAN, and the ability to manage storage devices and the storage network itself.
Summary
HBAs provide critical server CPU off-load that enables high-performance storage networking. By completely managing I/O processing, HBAs free the server’s CPU to process application and database activities. HBAs also play a key role in enabling the management of storage networks.
*http://www.emulex.com
The differences between a NIC and an HBA
Host Bus Adapters (HBAs) differ from network interface cards (NICs) in a fundamental way. A NIC relies heavily on the server CPU for protocol processing, including such functions as maintaining packet sequence order, segmentation and re-assembly, error detection and correction, and flow control. Functions actually performed by a NIC are limited to low level duties such as framing packets and controlling the flow of data to the link layer. As a result, I/O requests that rely on a NIC for execution put a considerable compute burden on the host server CPU and severely impact overall system performance. A NIC can utilize 80% or more of a server CPU to deliver 50-80MB/s on a Gigabit Ethernet link. This method of using an expensive server to perform I/O processing adds considerable real cost to what may appear to be an inexpensive network interface card.
By contrast, an HBA manages the entire I/O transaction with little or no involvement of the server CPU. The HBA receives an I/O request from the operating system and completely handles such activities as segmentation and re-assembly, flow control, error detection and correction, as well as the SCSI command processing. By off-loading the server CPU, HBAs can provide throughput at nearly link speed with typically less than 10% server CPU utilization.
In simple terms, HBAs provide I/O processing and the physical connection between servers and storage. Host bus adapters provide critical server CPU off-load, freeing servers to perform application processing. As the only part of a storage area network that resides in a server, HBAs also provide the physical link between the SAN and the OS and application software. In this role the HBA enables a range of high-availability and storage management capabilities, including load balancing, fail-over, SAN administration, and storage management.
Why does server CPU off-load matter?
The need for CPU off-load is becoming increasingly important because of the wide adoption of storage area networking, and the emergence of processing intensive protocols such as iSCSI.
Host bus adapters differ from network interface cards (NICs) in a fundamental way. A NIC relies heavily on the server CPU for protocol processing. Historically, I/O data rates increased at approximately the rate of Moore’s law, which allowed servers to maintain I/O processing performance from one product generation to the next. Networking technologies, however, have historically increased data rates in 10x increments. The adoption of storage networking has driven increases in storage I/O data rates closer to those of traditional networking technologies, with increases of 4x to 10x. This trend shows no signs of slowing down as iSCSI and Fibre Channel prepare to support up to 10Gb/s data rates in the future.
The accelerating I/O data rates creates an “I/O processing gap” in which the compute power needed to fill a fast pipe is growing faster than the CPU power available in the server. Without sufficient processing power, a high-speed storage network will be under-utilized. An HBA is needed to fill the I/O processing gap and provide the performance and efficiency that storage networking promises.
Host Bus Adapter architecture
HBA architectures vary, but the most capable products have an on-board processor, a protocol controller ASIC, buffer memory to maintain data flow, and specialized hardware to provide superior performance in complex storage area networks.
HBAs also provide a critical interface between the SAN and the server. With on-board intelligence providing the ability to analyze each frame of data that passes through it, as well as awareness of each SAN device and the server OS, the HBA provides a critical control point for management applications. Using industry standard Application Programming Interfaces (APIs), HBAs can provide management applications with access to information about the SAN, and the ability to manage storage devices and the storage network itself.
Summary
HBAs provide critical server CPU off-load that enables high-performance storage networking. By completely managing I/O processing, HBAs free the server’s CPU to process application and database activities. HBAs also play a key role in enabling the management of storage networks.
*http://www.emulex.com