An I/O controller having separate command and data paths, thereby
eliminating the bandwidth used by the commands and thus increasing
bandwidth available to the data buses. Additionally, the I/O controller
uses multiple dedicated data paths, for example, dedicated distributed
buses, and provides increased speed due to improved hardware integration.
The I/O controller employs distributed processing methods that decouple
the external microprocessor from much of the decision-making, thereby
providing improved operating efficiency and thus more useable bandwidth
at any given clock frequency. Accordingly, the I/O controller is capable
of maximizing I/O operations (IOPS) on all I/O ports by functioning at
the rate of I/O connections to hosts and storage elements without
becoming a bottleneck.