The present invention provides a method and apparatus for cooperative
distributed task management in a storage subsystem with multiple
controllers using cache locking. The present invention distributes a task
across a set of controllers acting in a cooperative rather than a
master/slave nature to perform discrete components of the subject task on
an as-available basis. This minimizes the amount of time required to
perform incidental data manipulation tasks, thus reducing the duration of
instances of degraded system performance.