Port Multipliers

What are port multipliers?

Port multipliers are devices that allow a single Serial ATA port to communicate with multiple drives. The port multiplier is transparent to the drives, but the host is aware that it is communicating with multiple drives. Port multipliers typically reside on an enclosure’s backplane and support all standard SATA drives.

Typically, Serial ATA (SATA) connectivity consists of a single drive connected to a single controller port via a single cable. The maximum number of drives in an array is predicated on the controller’s port count. The SATA Port Multiplier (SATA PM) permits a change to that point-to-point relationship via port multiplication technology. Port multipliers allow easy, cost-effective storage expansion and enable the aggregation of the performance of multiple drives as well.

SATA connectivity

 

SATA PM Connectivity

Benefits of Port Multipliers

Port multipliers allow cost-effective and expanded drive scalability to storage systems both inside and outside the box. Efficient add-on desktop storage with significantly higher performance than Firewire™ and USB using external connections is assured. The number of extra drives that can be added to a conventional SATA system without port multipliers is limited to the controller’s port count; additional drives mean additional controllers, effectively increasing the cost of the system. The user pays the cost of the extra controller(s) and necessarily forfeits additional PCI slots that may otherwise be needed for other peripheral upgrades. By using port multipliers, a single host adapter occupying a single PCI slot is able to connect many more drives.

SATA PM’s simplified cabling topology, where the host is connected to more drives by fewer cables, is another plus for port multiplier connectivity. SATA’s point-to-point relationship in which each port is connected to a single drive via a single cable means overly complicated cabling for multi-drive systems. A reduced cable count contributes to tidier backplanes, simpler drive insertion and removal, improved airflow inside the box, and a more secure system.

Command-based or FIS-based Host Support

A SATA PM requires that controllers support either command-based switching or FIS (Frame Information Structure)-based switching in order to use port multiplication. Each paradigm offers unique capabilities suited for particular environments.

Command-based switching, conceptually similar to a mechanical A/B switch, limits the host to issue commands to only one drive at a time. Commands to other drives will not be issued until the command queue is completed for the prior transaction. Since command-based switching only accesses one drive at a time, it does not take advantage of the potentially higher speed host link. Therefore, command-based switching is ideal for simple drive expansion where capacity is more important than performance.

Command based switching

 

FIS–based switching offers high performance storage connections to multiple drives simultaneously. The host issues and completes commands to drives at any time. The port multiplier will direct data to any drive ready for I/O. An arbitration algorithm ensures a balanced data flow. Unlike Command-based switching, FIS-based switching allows aggregation of reads to fully use the potentially higher bandwidth of the host link and takes full advantage of the performance benefits of Native Command Queuing (NCQ) on the port multiplier, resulting in aggregated throughput of up to the total bandwidth of the host band link.

FIS based switching

Conclusion

Port multipliers are simple mechanisms that allow a single active host connection to communicate with multiple drives. They allow easy, cost-effective storage scalability both inside and outside the PC or server with standard SATA drives. Additional controllers are no longer necessarily needed to expand storage. In-box cabling is greatly simplified with fewer cables attached to more drives. Port multipliers allow significantly higher performance in external storage than either USB or Firewire™.