A method for monitoring and dynamically controlling a reconfigurable data storage system having a plurality of storage system controllers, each of said storage system controllers selectively operable at any given moment in time, as one of a channel adapter and a storage adapter, comprising the steps of:
- establishing a first quantity of said storage system controllers as channel adapters, for transmitting and receiving at least data and commands to one or more host computers over one or more date channels;
- establishing a second quantity of said system controllers, said second quantity of system controllers not part of said first quantity of system controllers, as storage device adapters, for controlling data transfer between at least one semiconductor memory, the first quantity of channel adapters, and a plurality of data storage devices;
- monitoring the performance of the data storage system;
- and
- reconfiguring at least one of said system controllers thereby changing at least one of said first quantity of channel adapters and said second quantity of storage device adapters from a channel adapter to a storage device adapter, or from a storage device adapter to a channel adapter.