A data storage system for transferring data between a host computer/server and
a bank of disk drives through a system interface. The interface includes: a global
memory; a plurality of front-end directors coupled between the global memory and
the host computer/server; and, a plurality of back-end directors coupled between
the global memory and the bank of disk drives. Each one of the first directors
and each one of the second directors has a data pipe. Each one of such front-end
directors passes front-end data between the global memory and the host computer
through the data pipe therein and each one of the second directors passing back-end
data between the global memory and the bank of disk drives through the data pipe
therein. Each one of the first and second directors includes a data pipe controller,
responsive to data fed to the data pipe, for performing a selected one of a plurality
of functions on the data passing through the data pipe to obtain data from the
global memory or to read such data into the global memory. The function is determined
by descriptors associated with the data fed to the data pipe therein. A plurality
of different, independently operable state machines is provided. Each one of the
state machines is adapted to produce control signals for a corresponding one to
the functions. A switching section is coupled to the global memory for passing
data therethrough between the global memory and the data pipe in accordance with
the control signals produced by the state machines.