Host Controller Tutorial

A host controller acts as a bridge to allow connection between a host system and external or internal computer peripherals. Host controllers are generally depicted as add-in cards which attach to a system through the PCI, PCI-X, or PCI-Express slots built into a motherboard, but can also be found in external form factors such as PCMCIA, Cardbus, or ExpressCard for mounting inside notebook computers.

Interfaces commonly found on host controllers can include (but are not limited to): eSATA, SATA, USB, Multilane, Firewire, SCSI, Ethernet, IDE, or SAS.

Host controllers can be used to implement desktop or notebook computers with additional interface ports when the amount currently on the system are not sufficient in quantity to meet the user's requirements. Rather than upgrading to an entirely new motherboard or laptop to satisfy those needs, the cost effective alternative would be to install the appropriate host controllers with as many additional ports as desired.

The image on the left shows a motherboard with only two USB ports built in to the motherboard. A USB host controller can be used to connect more USB devices to the motherboard simultaneously..

Another function of host controllers is to upgrade systems with new technology or interfaces which are not present on the motherboard ports. For example, a large majority of motherboards now have Serial ATA(SATA) ports built in, replacing the IDE channels for connecting hard drives and other storage devices. Older SATA ports may not support the latest features such as hot swap capability, SATA 3Gbps specification, or SATA optical drive support. Our Addonics SATA controllers are a great way to provide the hot swap capability on systems which have no such features, and have also been thoroughly tested for compatibility with SATA optical drives.

Desktop Host Controllers
When considering the purchase of a host controller, it is essential to first analyze your motherboard and determine what type of BUS slots you have available for installing a host controller. The type of BUS slot can be differentiated by physical differences in length and the location of the notches, which are meant to prevent the insertion of an controller card into an incorrect type of slot. Addonics host controllers can be categorized into three types: PCI, PCI-X, or PCI-Express controllers.
  Maximum Throughput
PCI 32-bit 33MHz : 1.5Gbps (up to 150MB/s)
PCI-X : 3Gbps (up to 300MB/s)
PCI-E 1x : 2.5Gbps (up to 250MB/s)
PCI-E 4x : 8Gbps (up to 1GB/s)
PCI-E 8x : 16Gbps (up to 2GB/s)
PCI-E 16x : 32Gbps (up to 4GB/s)


Some examples of host controllers with different BUS slots:

PCI bus slots are presently the most commonly seen slots found on motherboards, but are steadily being replaced by PCI-Express 1x slots due to the increased maximum data throughput and lower power requirements. Most PCI controllers are upwards compatible with PCI-X, but with no increase in performance. PCI 32-bit at 33MHz has a maximum transfer rate of 133MB/s.
The 64-bit PCI-X bus slot has double the maximum throughput of PCI, at a maximum speed of 3Gbps. Most PCI-X cards are backwards compatible with PCI bus slots, but area directly behind a PCI slot must have available space to accommodate the extended length of PCI-X cards. PCI-X 64-bit at 133MHz has a maximum transfer rate of 1.06GB/s.
PCI-Express 1x lane
PCI-Express 1x slots are steadily replacing PCI as the default motherboard bus slot for add-in cards. Each PCI-E lane can carry up to 2.5Gbps in each direction. PCI-Express controllers can be installed into any slot which is of the same length or longer PCI-Express slot. PCI-Express controllers cannot be installed into any slot which is shorter than itself due to physical differences in the slot connector.
PCI-Express 8x lane
PCI-Express 8x slots are designed to accommodate high-end controller cards, with it's throughput of 2GB/s in each direction. Host controllers such as the Addonics 4 Port eSATA RAID5/JBOD PCI-E 8x Controller (ADSA3GPX8-4E) and the 4 Port eSATA PCI-E 8x Controller for Mac Pro (ADSA3GPX8-4EM) utilize the 8 lanes to achieve data transfer speeds much higher than controllers on the standard PCI-E 1 lane slot. 8 lane controllers can be inserted in the 16x slot (typically reserved for graphics cards), but not into slots with fewer lanes.

Notebook Host Adapters
Host Adapters for notebook computers are designed in the following technologies: PC Card(PCMCIA), Cardbus, ExpressCard 34/54. PCMCIA or Cardbus slots are the current standard for removable notebook peripherals, but it is estimated that they will be replaced by the new ExpressCard 34/54 form factor.

Some examples of host adapters with different card slots:

Cardbus has been the standard card slot for notebook computers since 1997. Cardbus is based off the 33MHz 32-bit PCI bus, with speeds of up to 133MB/s. 16-bit PCMCIA devices are physically and mechanically supported in 32-bit Cardbus slots, but Cardbus devices are not compatible with PCMCIA slots.
Expresscard 34/54
The latest PC and Mac notebooks come with ExpressCard 34/54 card slots. Besides a substantial increase in maximum bandwidth, the ExpressCard standard also consumes less power in comparison to the PCMCIA/Cardbus form factor. ExpressCard has a direct connection to the system bus through PCI-Express 1x, with a maximum throughput of 250MB/s in each direction. Cardbus devices cannot be inserted in ExpressCard 34/54 slots, and likewise.