This invention describes structure and method for an efficient architecture
allowing n-controllers to work together to improve system performance and
fault tolerance, when n is greater than two. This invention provides a new
type of RAID architecture using operational primitives in a message
passing multi-controller environment to solve the problems presented in
having multiple controllers distribute a non-uniform workload. This
architecture allows for expansion of the I/O processing capability limited
only by the efficiency of the underlying message transport method. In
simple terms, the inventive technique breaks input/output (I/O) operations
into a set of simple methods which can then be passed around as tokens, or
pieces of work to be executed by whichever controller has the least amount
of work to perform. (I/O operations include all operations needed to
perform the tasks of a RAID controller. These include host read/write
commands, rebuilds, data migration, etc.) The workload distribution adapts
to the available and types of processing resources available in the
system. The advantage of this type of architecture is that additional
processing resources can be added to the system to address specific areas
which need higher throughput without the need to rethink the software
architecture.
Cette invention décrit la structure et la méthode pour une architecture efficace permettant à des n-contrôleurs de travailler ensemble pour améliorer l'exécution de système et la tolérance de fautes, quand n est deux plus grands que. Cette invention fournit un nouveau type d'architecture d'INCURSION en utilisant les primitifs opérationnels dans un message passant l'environnement de multi-contrôleur pour résoudre les problèmes présentés en ayant les contrôleurs multiples distribuent une charge de travail non-uniforme. Cette architecture tient compte de l'expansion des possibilités de traitement d'I/O limitées seulement par l'efficacité de la méthode fondamentale de transport de message. En termes simples, la technique inventive casse des opérations de l'entrée-sortie (I/O) en ensemble de méthodes simples qui peuvent alors être passées autour comme marque, ou de morceaux de travail à exécuter par n'importe quel contrôleur a la moindre quantité de travail à exécuter. (les opérations d'I/O incluent toutes les opérations requises pour exécuter charge d'un contrôleur d'INCURSION. Celles-ci incluent des commandes lecture/écriture de centre serveur, des reconstructions, le transfert de données, etc...) La distribution de charge de travail s'adapte au disponible et aux types de ressources de traitement disponibles dans le système. L'avantage de ce type d'architecture est celui des ressources de traitement qu'additionnelles peuvent être ajoutées au système pour adresser les secteurs spécifiques qui ont besoin d'une sortie plus élevée sans nécessité de repenser l'architecture de logiciel.