Brevet FR2659460A1 — publié le 19910913

SOUS-SYSTEME PERIPHERIQUE DE MEMOIRE DE NASSE La présente invention concerne un sous-système périphérique de mémoire de masse Elle a trait plus particulièrement à l'architecture matérielle et micrologicielle de celui-ci et est applicable à tous les types de système informatique. On sait qu'un système informatique est constitué d'au moins une unité centrale, qu'on appelle encore hôte central, formée d'au moins un processeur central et une mémoire principale à laquelle ce processeur est relié, d'une pluralité d'organes périphériques, et d'au moins un processeur d'entrée/sortie assurant le contrôle de l'échange des données entre la mémoire principale et les différents organes périphériques. Des unités de contrôle de périphériques, encore appelées contrôleurs, sont associées aux différents organes périphériques et assurent le transfert physique des données entre l'hôte central et les périphériques associés à ces différents contrôleurs. Généralement, dans un même lieu géographique, tous les éléments constitutifs fonctionnels d'un système informatique sont reliés à un même bus de type parallèle qui assure le transport des données entre les différentes cartes portant ces éléments et l'alimentation électrique de celle-ci. Un bus plus particulièrement utilisé dans la pratique courante est le bus appelé Multibus II (marque déposée par la Société Intel) Son architecture est structurée autour d'un bus principal de type parallèle normalisé selon la norme IEEE 1296 (Institute of Electrical and Electronic Engineers). Parmi les organes périphériques les plus utilisés, on relève les mémoires de masse telles que les mémoires à disques magnétiques rotatifs, ou encore les mémoires à disques optiques Elles sont très largement utilisées car elles permettent d'emmagasiner de très grandes quantités d'informations et d'y accéder relativement rapidement Leur temps d'accès moyen est de l'ordre de 20 à 25 millisecondes. Les capacités des mémoires à disques du marché les plus performantes dépassent le gigaoctet. Parmi les mémoires de masse, on développe actuellement des mémoires dites électroniques, ou encore disque électronique (solid state disc, en anglais) utilisant des mémoires semi- conducteur Leur temps d'accès est largement inférieur à la milliseconde (c'est-à-dire quelques dizaines de fois inférieur au temps d'accès des mémoires à disques rotatifs les plus performantes) et elles ne comportent pas de partie rotative Toutefois, le coût de capacité mémoire unitaire de celles-ci reste élevé, de l'ordre d'une vingtaine de fois supérieur à celui des mémoires à disques magnétiques. Cependant, le coût de la capacité mémoire unitaire des mémoires électroniques diminue beaucoup plus rapidement que celui des mémoires à disques magnétiques rotatifs et on peut penser que ce coût sera équivalent d'ici quelques années On peut donc estimer utile d'utiliser à la fois des mémoires à disques magnétiques rotatifs et des disques électroniques, en tant qu'organes périphériques d'un système informatique. La structure des systèmes informatiques est de plus en plus complexe et implique toujours plus d'éléments Par ailleurs, le volume des données à traiter par un tel système est très important et nécessite l'utilisation d'un nombre toujours plus grand de mémoires de masse o doivent être stockées ces données avant d'être traitées par les processeurs centraux du système Il en résulte que la gestion d'un tel système dans son ensemble par l'unité centrale de celui-ci est extrêmement complexe. Il est donc souhaitable de décentraliser la gestion de l'ensemble des éléments constituant un système informatique au niveau de plusieurs soussystèmes gérant chacun une partie des éléments du système, et en particulier les organes périphériques. C'est précisément l'objet de la présente invention de constituer un sous-système périphérique de mémoire de masse gérant, en lieu et place de l'unité centrale, non seulement le transfert des données de l'unité centrale vers les mémoires de masse, mais aussi l'écriture et la lecture des informations à l'intérieur de celles-ci. Un tel sous-système doit avoir la meilleure disponibilité possible et permettre d'obtenir de bonnes performances. Par ailleurs, l'accès aux données doit être totalement sécurisé, c'est-àdire que l'on doit pouvoir accéder à tout moment, à n'importe laquelle des données contenues dans les mémoires de masse gérées par le sous- système, quelles que soient les circonstances, que ce soit pour une panne, partielle ou totale, ou encore pour des raisons d'entretien et de maintenance, de tout ou partie des éléments du système. En d'autres termes, l'hâte central doit avoir accès à n'importe laquelle des données contenues dans la mémoire de masse gérée par le sous-système, sans avoir à se préoccuper de la manière dont le sous-système la gère réellement, quels que soient les incidents de fonctionnement qui pourraient affecter ce dernier ou cette dernière Ceci définit pour l'hâte ce qu'on appelle la disponibilité des données. A cet effet, le sous-système périphérique pour mémoire de masse selon l'invention est construit selon une architecture matérielle modulaire bâtie autour de deux bus parallèles de type Multibus II, dont le nombre d'éléments matériels (cartes logiques) de type différent est extrêmement réduit Les éléments matériels présentent entre eux des parties identiques, l'architecture micrologicielle implémentée sur ces différents éléments matériels étant également de type modulaire et comprenant une pluralité de sous-ensembles fonctionnels s'implémentant chacun sur un élément matériel déterminé, les sous-ensembles de l'architecture micrologicielle étant formés de modules micrologiciels dont une partie est identique d'un sous-ensemble à l'autre. Selon l'invention, le sous-système périphérique de mémoire de masse appartenant à un système informatique comportant au moins un hôte central, comprenant deux unités de contrôle d'au moins une mémoire de masse, à alimentations électriques indépendantes et possédant chacune une pluralité d'éléments structurels (matériel + micrologiciel) connectés à un premier et/ou à un second bus de type parallèle, est caractérisé en ce que, il comprend une architecture micrologicielle exécutant les commmandes de l'hôte et prévenant celui-ci des changements d'état de la mémoire de masse, formée d'une pluralité de sous-ensembles fonctionnels dont chacun est spécifique à chaque élément structurel de chaque unité de contrôle et implémenté dans la structure matérielle de celui- ci. D'autres caractéristiques et avantages de la présente invention apparaîtront dans la description suivante donnée à titre d'exemple non limitatif et en se référant aux dessins annexés. Sur ces dessins La figure 1 montre un premier exemple de réalisation de l'architecture matérielle du sous-système périphérique selon l'invention, dans sa forme la plus simple, La figure 2 montre un second exemple de réalisation de l'architecture matérielle du sous-système périphérique selon l'invention, selon l'une de ses formes les plus complexes, La figure 3 montre, plus en détail, la structure matérielle des adaptateurs hôte et adaptateurs mémoire, La figure 4 montre, plus en détail, la structure matérielle du processeur central, de la mémoire cache, et d'une unité à disque électronique de l'une des deux unités de contrôle du sous- système périphérique selon l'invention, La figure 5 montre, comment sont implantés les différents sous-ensembles fonctionnels de l'architecture micrologicielle, sur chacun des éléments matériels constituant une unité de contrôle du sous-système périphérique selon l'invention, La figure 6 montre comment sont respectivement composés les sous-ensembles fonctionnels de l'architecture micrologicielle spécifiques aux adaptateurs hôte et adaptateurs mémoire, La figure 7, composée des figures 7 a et 7 b, montre l'organigramme du dialogue entre l'adaptateur hôte et l'adaptateur mémoire à disques, d'une part et entre ces derniers et la mémoire cache d'autre part, qui permet la mise en oeuvre des opérations de lecture d'un bloc de données à la fois dans la mémoire cache et dans l'une des mémoires à disques de la mémoire de masse, La figure 8, composée des figures 8 a et 8 b, montre l'organigramme du dialogue entre l'adaptateur hôte et l'adaptateur mémoire de masse, d'une part et entre ces derniers et la mémoire cache d'autre part, qui permet la mise en oeuvre des opérations d'écriture à la fois dans la mémoire cache et dans la mémoire à disques de la mémoire de masse. On considère tout d'abord la figure 1 qui montre un premier exemple de réalisation PS 51 du sous-système périphérique de mémoire de masse selon l'invention. Le sous-système PSS, appartient à un système informatique plus vaste comprenant par exemple deux hôtes centraux Hi et Hz. Le sous-système PPS, comprend, de préférence, deux unités de contrôle identique, à savoir, UC occupant la partie gauche de la figure 1 et UC 2 occupant la partie droite. L'architecture matérielle du sous-système PS Si est construite autour de deux bus identiques, parallèles l'un à l'autre, de préférence de type Multibus Il, désignés par Bl et B 2, ceux- ci présentant une zone centrale o ils sont totalement en regard l'un de l'autre, et deux zones latérales o ils ne sont pas en regard l'un de l'autre. Les deux unités de contrôle UC 1 et UC 2 sont strictement identiques et symétriques l'une de l'autre par rapport à un plan de symétrie PS. La première unité de contrôle UC, est alimentée en énergie électrique par une première alimentation ALI Mi et est connectée à une première alimentation en énergie électrique de secours, formée d'une batterie, à savoir BAT,. De même, la seconde unité de contrôle U Cz est alimentée par une seconde alimentation indépendante de la première, à savoir, ALI Mz, et connectée à une seconde alimentation de secours BAT 2. La première unité de contrôle UC 1 comprend les éléments structurels suivants, un élément structurel étant défini comme la combinaison d'une structure matérielle et du sous- ensemble micrologiciel implémenté sur cette structure un premier processeur central PRI, une unité à disques électroniques D Ei, un adaptateur hôte H Ai, un adaptateur mémoire de masse (celle-ci est formée d'une batterie BMD, de 6 mémoires à disques Di à D 6) à savoir DA,, cet adaptateur étant appelé, ici, pour simplifier, adaptateur disque, la mémoire à disques de sauvegarde MSDî, la mémoire cache C Ai. De même, la seconde unité de contrôle UC 2 comprend le second processeur central PR 2, la seconde unité à disques électroniques DE 2, l'adaptateur hôte HA 2, le second adaptateur disque DA 2, la seconde mémoire à disques de sauvegarde MSD 2, et la seconde mémoire cache CA 2. Le premier et le second adaptateur disque D Ai et DA 2 sont reliés par l'intermédiaire respectivement des liaisons CS, et C Sa à une batterie de mémoires à disques BM Di, dont seulement 6 sont représentées à la figure 2, à savoir les mémoires à disques Di à D 6 Ils peuvent également être connectés par l'intermédiaire des liaisons C 52 et C 54 à une seconde batterie de mémoires à disques, à savoir BMD 2, non représentée pour simplifier à la figure 2. Les liaisons C 51 à C 54 sont de type IPI-2 normalisées par l'ANSI (American National Standard Institute) et également par l'ISO (International Standard Organization). Le premier adaptateur hôte H Ai est relié par l'intermédiaire d'un premier canal de liaison CE, à un premier hôte Hi et par un second canal de liaison CE 2 à un second hôte H 2. De même, le second adaptateur hôte HA 2 est relié par l'intermédiaire d'un premier canal de liaison CE 3 au second hôte H 2 et par l'intermédiaire d'un second canal de liaison CE 4 au premier hôte Hi. Dans ce cas, les premiers canaux de liaison CEî et CE 3 des premier et second adaptateurs hôte H Ai et HA 2 sont prioritaires par rapport aux second canaux de liaison CE 2 et CE 4. Les quatre canaux de liaison CE 1 à CE 4 sont de type IPI-3 normalisé par l'ANSI (et également par l'ISO). Tous les éléments structurels constitutifs de la première unité de contrôle à savoir P Ri, D Ei, HA 1, DA 1, MSD 1, C Ai sont identiques, tant du point de vue matériel que micrologiciel, aux éléments correspondants de la seconde unité de contrôle U Cz, à savoir, PR 2, DE 2, HA 2, DA 2, MSD 2, C Az et symétriques de ces derniers, par rapport au plan PS. Les six éléments constitutifs DE, D Ez, P Ri, PR 2, CAI, C Az sont connectés simultanément aux deux bus Bi et Bz dans la partie centrale de ceux-ci o ils sont en regard l'un de l'autre. Les éléments constitutifs H Ai et D Ai de la première unité de contrôle U Ci sont connectés au premier bus Bl alors que les éléments correspondants HA 2 et DA 2 de la seconde unité de contrôle U Cz le sont au second bus B 2. La première mémoire à disques de sauvegarde MSD 1 est reliée d'une part au premier processeur central P Ri et d'autre part à la seconde unité à disques électroniques DE 2, par la liaison Li, de type SCSI. De même, la seconde mémoire à disques de sauvegarde MS Dz est connectée à la fois au second processeur central P Rz et à la première unité à disques électroniques DE, par la liaison L 2 de type SCSI Ainsi, les deux mémoires à disques de l 1 sauvegarde MSD, et MS Dz sont accessibles à la fois par la première et la seconde unité de contrôle U Ci et UC 2. Les deux mémoires à disques de sauvegarde sont alimentées en tension électrique par un circuit OU dont deux entrées sont reliées respectivement aux alimentations ALI Mi et ALI Mz (non représenté pour simplifier à la figure 1. Le second exemple de réalisation du sous-système périphérique de mémoire de masse selon l'invention, à savoir PS 52 montré à la figure 2 est une version élargie et plus puissante du premier exemple PS Si montrée à la figure 1 Elle est supposée être construite également autour des deux bus Bl et B 2 Il comprend également deux unités de contrôle identiques U Ci et UC 2 Chacune de celles-ci comprend les éléments P Ri, D Ei, C Ai, MSD 1, DA 1, H Ai (unité U Cl) et PR 2, DE 2, CA 2, MSD 2, DA 2, H Az (UC 2), qui ont exactement la même dénomination que les éléments correspondants de la figure 1 et dont le rôle et la fonction sont strictement identiques La batterie de mémoires à disques BM Di, composée des 6 mémoires à disques D 1 à D 6 est connectée aux deux adaptateurs disque D Ai et D Az, de la même façon qu'à la figure 1. La première unité de contrôle UC 1 comprend, en outre, l'adaptateur hôte HA 3 et les 3 adaptateurs disque DA 3, DA 5, DA 7. De même, la seconde unité de contrôle UC 2 comprend en outre, l'adaptateur hôte HA 4 et les 3 adaptateurs disque DA 4, DA 6, DA 8. Les adaptateurs hôte H Ai, HA 3, les 4 adaptateurs disque D Ai, DA 3, DA 5, DA 7 sont connectés au bus B 2, alors que les adaptateurs hôte HA 2, HA 4 et les adaptateurs disque DA 2, DA 4, DA 6, DA 8, le sont au bus Bi. Il est clair que les autres éléments déjà mentionnés, à savoir les processeurs centraux P Ri, PR 2, les mémoires cache C Ai, CA 2, les unités à disques électroniques D Ei, DE 2, sont connectés simultanément aux deux bus Bl et Bz. Les deux adaptateurs disque DA 3 et DA 4 sont connectés à la batterie de mémoires à disques BMD 2 formée par exemple de 6 mémoires à disques Dii à D 16. De même, les adaptateurs disque DA 5 et DA 6, d'une part, DA 7 et D As d'autre part sont respectivement connectés aux batteries de mémoires à disques BMD 3 et BMD 4 formées respectivement par exemple des 6 mémoires à disques Dzi à D 26 et Dai à D 36, non représentées pour simplifier la figure 2 Dans le cas o le nombre des mémoires à disques connectées aux adaptateurs disque est suffisamment important, les unités de contrôle U Ci et UC 2 peuvent comprendre en outre des mémoires à disques de sauvegarde supplémentaires, par exemple, MSD 3 et MSD 4, connectées respectivement d'une part au premier processeur central P Ri et à la seconde unité à disques électroniques DE 2, et d'autre part au second processeur central PR 2 et à la première unité à disques électroniques D Ej. Il est clair que le sous-système périphérique selon l'invention peut comporter d'autres adaptateurs hôte et d'autres adaptateurs disque que ceux montrés à la figure 2, ces adaptateurs disque supplémentaires étant connectés soit à d'autres batteries de mémoires à disques magnétiques soit par exemple à des batteries de mémoires à disques optiques ou encore des dérouleurs de bandes ou encore des mémoires à disques magnétooptiques En d'autres termes, le sous-système périphérique de mémoire de masse selon l'invention peut comporter un grand nombre de configurations possibles et gérer des mémoires de masse d'une capacité mémoire considérable. On voit que chacune des mémoires à disques du sous-système selon l'invention est à double accès (soit par l'intermédiaire des adaptateurs hôte et disque de U Ci, soit de UC 2) Par ailleurs, le fait que chacune des unités U Ci et UC 2 est identique et reliée aux deux bus Bl et B 2 les rend interchangeables Il en résulte que si l'un des éléments structurels de U Ci est indisponible (ceci étant dû par exemple à une défectuosité totale ou partielle, à la maintenance, à un remplacement), c'est l'élément correspondant de UC 2 qui le remplace De même, si l'une des unités UC 1 ou UC 2 est indisponible (alimentation coupée, opération de maintenance) c'est l'autre unité qui prend le relais On voit que la structure du sous-système périphérique selon l'invention (matérielle + micrologicielle), à double multibus II, et parfaitement redondante, assure la sécurisation totale des données, et la disponibilité de celles-ci pour l'hôte central Hi. La structure matérielle plus détaillée des adaptateurs hôte tels que HA, et des adaptateurs disque tels que DA, apparaît à la figure 3 Il est clair que la structure matérielle des adaptateurs H Az à HA 4 et DA 2 à DAB est respectivement tout-à- fait identique à la structure correspondante décrite ci- dessous, pour HA, et D Ai. L'adaptateur hôte H Ai comprend: une interface de liaison IH, avec les hôtes centraux Hi et H 2 par l'intermédiaire des canaux de liaison C Ej et C Ez, cette interface de liaison étant définie par la norme IPI-3 précitée. La mémoire tampon hôte, appelée pour simplifier tampon hôte MTHî, dont la capacité est dans un exemple de réalisation préféré de l'ordre de 512 à 768 kilooctets, le microprocesseur contrôlant le fonctionnement de l'adaptateur hôte, à savoir MPHî, par exemple un microprocesseur référencé 29 000 de la Société AMD, de type RISC, la mémoire de type RAM, à savoir RAH, associée au microprocesseur MPHî, se composant par exemple d'une mémoire de type RAM destinée à recevoir les différentes instructions des modules micrologiciels implémentés dans l'adaptateur hôte H Ai, et une mémoire de type RAM pour les données Les deux mémoires de type RAM destinées respectivement aux instructions et aux données ont par exemple chacune une capacité de 256 kilooctets, le microcontrôleur assurant l'interconnexion de l'adaptateur hôte avec les autres éléments des unités de contrôle par l'intermédiaire du bus Bi, à savoir MC Hi, l'interface de connexion IB Hi avec le bus Multibus II, Bi, définie par la norme IEEE 1296 précitée, qui est par exemple constituée par un coprocesseur de type VL 82 c 389 (fabriqué par la Société INTEL) communiquant par mode message avec les autres éléments constitutifs du sous-système périphérique (PSSI, PS 52) selon l'invention. Tous les éléments constitutifs de l'adaptateur hôte précédemment cités communiquent entre eux par le bus interne B Iu du microprocesseur MPH. La structure matérielle de l'adaptateur disque D Ai est similaire à la structure matérielle de l'adaptateur hôte H Ai. Ainsi, l'adaptateur D Ai comprend une interface de connexion IBDî avec le bus Bl définie par la norme IEEE 1296 précitée, une mémoire tampon MTDî pour les données destinées à être écrites dans les mémoires à disques Di à D 6 ou provenant de la lecture des données inscrites dans celles-ci, appelée plus simplement tampon disque, le microprocesseur de commande de l'adaptateur disque, à savoir MPDî, le microcontrôleur d'interconnexion MC Di, la mémoire de type RAM, à savoir RAD, associée au microprocesseur MP Di, et enfin l'interface ID 1 de liaison avec les batteries de mémoires à disques BMDI par l'intermédiaire des canaux de liaison C Si et C Sz (cette interface est définie par la norme IPI-2 précitée). La structure matérielle des adaptateur hôte et adaptateur disque H Ai et DAI se compose d'une carte-mère et d'une carte- fille. Ainsi, l'adaptateur hôte H Ai comprend la carte-mère CMH et la carte-fille CF Hi, alors que l'adaptateur disque D Ai comprend la carte-mère CM Di et la carte-fille CF Di. La carte-mère CM Hi comprend les éléments MT Hi, MP Hi, RA Hi, MCHî, IB Hi précités, alors que la carte-mère CMDM comprend les éléments MCDI, MTDI, RADI, MP Dj et IB Di. La carte-fille CFHî comprend l'interface I Hi alors que la carte-fille CFD, comprend l'interface ID 1. On voit que les deux cartes-mères CMHî et CM Di sont strictement identiques et que par suite, les adaptateurs hôte et disque HA 1 et DA ne diffèrent matériellement que par leurs cartes-filles CFH 1 et CFDî Les cartes-mères CMHî et CMD, sont dites de type monomultibus II, en ce sens qu'elles peuvent être connectées à un seul bus de type Multibus II tel que Bi. La structure matérielle des différents éléments structurels P Ri, C Ai, DE, de l'unité de contrôle UC apparaît à la figure 4. Chacun de ces éléments PR,, CA,, DE, est formé d'une carte- mère, à savoir respectivement CMP 1, CMCî, CMD, et pour C Ai et DE 1 d'au moins une carte-fille à savoir respectivement, CM Ct et CMD 1. Les différentes cartes-mères CM Pi, CM Ci et CMDî ont une structure matérielle identique. Ainsi, la carte-mère CM Pl comprend les composants matériels 1 à 8 tous connectés au bus interne 5, la carte-mère CMC 1 comprend les composants matériels 11 à 18 tous connectés au bus interne 15, alors que la cartemère CMDî comprend les composants matériels 21 à 28 tous connectés au bus interne 25. Les composants matériels 1 à 8, Il à 18, 21 à 28 sont respectivement et dans l'ordre indiqué ci-dessus identiques entre eux Ainsi, les éléments 1, 11, 21 sont identiques, les éléments 2, 12, 22 sont identiques, etc Il suffit donc de décrire quels sont les composants matériels 1 à 8 pour connaître les composants matériels 11 à 18 et 21 à 28. Les composants 1 et 2 sont des interfaces de communication avec les bus Bl et B 2, du même type que les interfaces IB Hi et IBD, précédemment décrites. Les deux composants 3 et 4 sont des microcontrôleurs d'interconnexion avec les autres éléments constitutifs du sous-système périphérique par l'intermédiaire des bus Bl et B 2 Ce sont des composants constitués par exemple par des microcontrôleurs de type INTEL 80 c 32, du même type que les microcontrôleurs MC Hi et MC Di précédemment décrits. Le composant 6 est le microprocesseur de commande de l'ensemble des composants constituant le processeur central P Ri Il est constitué par un microprocesseur AMD 2900 de type RISC et est par conséquent identique aux microprocesseurs MPH 1 et MP Di décrits ci-dessus. Le composant 7 est une mémoire tampon dont la capacité est comprise entre 512 et 768 kilooctets (identique à MTD 1 et MT Hi) alors que le composant 8 est une mémoire de type RAM, identique aux mémoires de même type décrites ci-dessus en relation avec la figure 3, à savoir RA Hi et RA Di Le composant 8 est donc formé par une mémoire de type RAM contenant les instructions des différents modules micrologiciels que comporte le processeur central P Ri, et une mémoire de type RAM pour les données qui sont traitées par le microprocesseur 6. Les cartes-mères CMPî, CMC 1, CMD, sont des cartes-mères de type bi-Multibus II. La carte-mère CM Pl du processeur central P Ri comporte également le composant matériel 9 qui est une interface avec la liaison Li qui relie le processeur central d'une part et DE 2 d'autre part à la mémoire à disques de sauvegarde MS Di. L'interface 9 est donc de type IPI-2, normalisée. De même, la carte-mère CM Di de l'unité à disques électroniques comporte le composant 29, interface avec la liaison L 2 reliant PR 2 et D Ei à MSD 2. La carte-fille CF Di de l'unité à disques électroniques DE, constitue le plan mémoire de cette unité et comporte par exemple, une pluralité de colonnes de mémoires RAM par exemple les colonnes 1 RI,, l Rj,, l Rn. Les informations (données et adresses o sont localisées ces données à l'intérieur des mémoires RAM du plan mémoire CMDI) provenant de ou allant vers ce plan mémoire CF Dj sont transportées par un bus BD Ai, qui se subdivise en un nombre suffisant de branches pour alimenter l'ensemble des colonnes de mémoires RAM de ce plan mémoire (dans le cas o l'unité à disques électroniques comprendrait un second plan mémoire, celui-ci serait constitué par une seconde carte-fille CFD 2 reliée à la première carte-fille CF Di par un bus de même type que BD Ai). La carte-fille CF Ci de la mémoire cache CA, est identique à la carte-fille CFDî. Cette carte-fille CFC, constitue le plan mémoire de la mémoire cache C Ai et est formée d'une pluralité de colonnes parallèles de type RAM, à savoir 2 Ri,, 2 Rj, 2 R, l'ensemble de ces colonnes étant relié à la mémoire tampon 17 de la carte-mère CMCI par l'intermédaire du bus (données + adresses) BDA 2. On peut donc constater que, d'une façon générale l'architecture matérielle du sous-système périphérique selon l'invention est construite autour de deux types de cartes- mères seulement, l'une pour les adaptateurs hôte et disque, l'autre pour les processeurs centraux, mémoires cache, et unités de disques électroniques A chacun de ces deux types de cartes-mères sont associées une ou plusieurs cartes-filles de type différent selon la fonction assurée par chacun de ces éléments. Il est clair que cette structure extrêmement simple, jointe au fait que l'ensemble des éléments connectés à l'un et/ou l'autre bus de type Multibus II sont disposés à l'intérieur d'un même panier porte-cartes, est extrêmement économique. Par ailleurs, en fabrication, son montage est extrêmement rapide. On considère la figure 5. L'architecture micrologicielle AML du sous-système périphérique selon l'invention comprend 5 grands sous- ensembles micrologiciels, à savoir les sous-ensembles P, H, D, C, S, respectivement implémentés sur les structures matérielles de PRI, H Ai (HA 2 à HA 4), D Ai (DA 2 à D Ae>, C Ai (CA 2), D Ei (DE 2) Chaque sousensemble est composé d'un certain nombre de modules ayant chacun une fonction particulière Certains modules sont identiques d'un sous-ensemble à l'autre. Les modules d'un même sous-ensemble communiquent entre eux soit par l'intermédiaire de zones de mémoires communes disposées dans les mémoires de type RAM, telles que RA Hi, RA Di, 8, 18, 28, ou par appel direct entre eux. Les modules appartenant à des sous-ensembles différents communiquent entre eux par l'intermédiaire de messages Multibus II, ainsi qu'il est défini par les normes IEEE définissant le Multibus Il, ces messages étant des messages sollicités pour les données et des messages non sollicités pour les requêtes, les réponses et les notifications. En dehors des 5 sous-ensembles micrologiciels montrés à la figure 5, existe un autre sous-ensemble, commun à toutes les structures matérielles, et relatif aux microcontrôleurs contenus dans chacune de celles-ci, c'est-à-dire les microcontrôleurs MC Hi, MCDî, 3, 4, 13, 14, 23, 24 Ce sous- ensemble micrologiciel est désigné par MIC Il comprend les modules suivants: Le module mi chargé d'initialiser l'ensemble des composants matériels de chacun des éléments structurels H Ai à HA 4, D Ai à DA 8, P Ri, PR 2, CAI, CA 2, DEî, DE 2 Cette initialisation a trait plus particulièrement à différents tests de ces composants matériels lors de la mise sous tension des deux unités de contrôle UCI et UC 2 Ces tests sont plus connus dans la pratique courante sous leur sigle anglo-saxon, à savoir BIST et BOOT. Le module m 2 d'interconnexion, encore appelé, dans la terminologie anglosaxonne, "interconnect space", qui est relatif à l'interconnexion des différentes structures matérielles, lors de la mise sous tension des deux unités de contrôle, et qui lui, est défini dans la norme IEEE 1296 précitée relative au Multibus II. Le module m 3 de gestion de la liaison filaire de type R 5232 normalisée, liaison qui relie chacune des unités de contrôle aux deux alimentations ALI Mi et ALIM 2 (liaisons non représentées pour simplifier les figures 1 à 3). Le sous-ensemble H comprend les modules suivants Le module Mo concerne le système d'exploitation de l'adaptateur hôte (operating system, dans la terminologie anglo-saxonne) Ainsi qu'on le verra ci-dessous, ce module Mo est commun aux sous-ensembles P H, D, C, S Ce module organise le travail de liaison entre les différents modules qui composent le sous-ensemble dont il fait partie, ici H, en assurant le passage de l'un à l'autre. Le module Mi de gestion des transferts d'informations (données, adresses) commun aux sous ensembles P H D, C, S Il assure le transfert des informations de l'élément matériel o il est implémenté, ici H aux autres par l'intermédiaire de l'un ou l'autre des bus de type Multibus II (Bi, B 2). Le module M 2 de gestion de l'interface hôte IHL de l'adaptateur hôte H Ai Il est clair que ce module est commun à tous les adaptateurs hôtes H Ai à HA 8. Le module Ma de gestion de la pile de commandes que contient la mémoire RAM instruction de la mémoire RA Hi Il est commun aux autres sousensembles H, D, S. Le module M 4 d'exécution des commandes adressées aux unités de contrôle U Ci et UC 2, par l'hôte Hi. Le module M 5 de réception des commandes provenant de l'hôte central Hi destinée aux mémoires à disques de la batterie BM Di, par exemple, et d'aiguillage de ces commandes vers l'adaptateur disque D Ai. Un module M 6 de reprise et de traitement d'erreurs lorsqu'une erreur est détectée dans l'un ou l'autre des composants matériels de l'adaptateur hôte Ce module est commun aux sous-ensembles H D et S. Le module M 7 de surveillance et d'administration qui effectue par exemple des statistiques, assure la liaison avec le module m 2 (voir plus haut), le sauvetage du contexte, par exemple en cas de coupure d'alimentation de l'unité de contrôle à laquelle appartient l'adaptateur hôte, l'initialisation de table, etc Ce module est commun aux sous-ensembles H D, S. Le module de gestion de la mémoire tampon hôte MTHî, à savoir M 1 o. Le sous-ensemble D implémenté dans l'adaptateur hôte DAI comprend les modules suivants: Le module Mo défini plus haut, Le module Mi de gestion des transferts Multibus II, défini également plus haut, Le module M 3 de gestion de la pile de commande défini plus haut, Le module de gestion du tampon mémoire MT Di, à savoir Mio, (voir plus haut), Le module M 6 de reprise et de traitement d'erreurs, déjà défini plus haut, Le module M 7 de surveillance et d'administration, défini plus haut, Le module d'interprétation des commandes de l'hôte central envers l'une ou l'autre des mémoires à disques de la batterie BM Di, à savoir Mg. Le sous-ensemble micrologiciel S des unités à disques électroniques D Ei et DE 2 est strictement identique au sous- ensemble micrologiciel D. Le sous-ensemble micrologiciel C des mémoires cache C Ai, CA 2 comprend les modules suivants: Le module Mo (voir plus haut), Le module de gestion des transferts d'information sur l'un ou l'autre des Multibus II, à savoir Mi (voir plus haut), Le module de gestion des tables que comportent les mémoires cache C Ai, C Az, à savoir M^i. Le sous-ensemble micrologiciel P implémenté dans chacun des deux processeurs centraux P Ri et P Rz comprend les modules suivants: Le module Mo relatif aux systèmes d'exploitation (operating system), (voir plus haut). Le module Mi de gestion des transferts Multibus II, (voir plus haut). Le module d'initialisation de l'unité de contrôle correspondante, à savoir M 1 z (unité de contrôle UCI, U Cz). Le module M 13 de communication entre les deux unités de contr 1 ôle, chargé en particulier d'établir les échanges d'informations entre ces deux unités de contrôle, lorsque l'un des éléments structurels de l'une se trouve indisponible, l'élément structurel correspondant de l'autre étant alors chargé d'effectuer les opérations effectuées normalement par l'élément indisponible. Un module Ml 4 de gestion de l'alimentation ALIM 1, (ALIM 2), et d'un panneau de maintenance destiné à tout opérateur humain chargé de la maintenance du sous-système périphérique selon l'invention. Un module M 16 de sauvetage du contexte de l'ensemble de l'unité de contrôle correspondante, en cas de coupure de tension. Un module Ml? de reprise des opérations soit d'écriture soit de lecture dans l'unité à disques électroniques DE 1, DE 2, après qu'ait eu lieu une coupure de tension accompagnée du sauvetage de contexte correspondant par le module M 1 6 précité. Le module M 18 de gestion de l'interface entre la mémoire à disques de sauvegarde MS Di (MSD 2) et le processeur central qui lui est associé, à savoir P Ri. La manière dont opère chacun des sous-ensembles micrologiciels définis cidessus, ainsi que la façon dont chacun des modules qui les compose agit en liaison avec les autres, sera mieux comprise au regard de la description qui suit, en liaison notamment avec les figures 7 a, 7 b, 8 a, 8 b relatives aux opérations de lecture et d'écriture à l'intérieur des batteries de mémoires à disques BM Di et des mémoires cache CA,, CA 2. On commence tout d'abord par définir les grandes lignes du rôle du sous-ensemble P du processeur central PR 1 (PR 2). Les deux processeurs centraux P Ri et PR 2 sont les maîtres d'oeuvre, respectivement, des différents éléments matériels appartenant à chacune des unités de contrôle UCI et UC 2 Ils chargent les programmes de mise en oeuvre des différents éléments HA, à HA 8, D Ai à D Ae, D Ei, DE 2, C Ai, CA 2 à l'intérieur de ceux-ci afin qu'ils puissent remplir les fonctions qui leur sont dévolues Ces programmes de mise en oeuvre correspondent, bien entendu, aux sous-ensembles fonctionnels, H D, C, S décrits cidessus Les processeurs PR, et PR 2 vont chercher ces programmes qui sont stockés, par exemple, dans les mémoires à disques rotatifs de sauvegarde MSD, et MSD 2 Dans ce cas, ces dernières ont donc une double fonction, à savoir, d'une part la sauvegarde des informations non encore stockées et en attente d'être écrites dans les mémoires à disques rotatifs des batteries BMD 1, BM Dz, etc, en cas d'indisponibilité des adaptateurs D Ai, DA 2, etc et d'autre part le stockage des programmes de mise en oeuvre précités Cependant, ces derniers pourraient être stockés dans une mémoire à disques spéciale, dite mémoire à disques système reliée aussi bien au processeur P Ri qu'au processeur PR 2 On supposera dans la suite du texte que les mémoires à disques rotatifs de sauvegarde MSDî et MSD 2 jouent également le rôle de mémoires à disques système. L'initialisation du sous-système périphérique de mémoire de masse selon l'invention se déroule de la manière suivante chaque unité de contrôle UC 1 (UC 2) se charge et se configure de façon autonome à la mise sous tension Le chargement (c'est-à-dire l'implémentation des différents sousensembles micrologiciels dans chacune des structures matérielles des éléments structurels constituant l'unité de contrôle) s'opère à partir d'un fichier de la mémoire à disques de sauvegarde (puisque celle-ci joue le rôle de mémoire à disques système). L'initialisation consiste à exécuter successivement les opérations suivantes: Pour chacune des structures matérielles, le microcontrôleur (MCHî, MCDî, 3, 4, 13, 14, 23, 24) exécute les instructions du module mi et initialise les composants matériels de celles-ci. Pendant ce temps, la structure matérielle de P Ri se charge à partir de la mémoire à disques MSDî, alors que les autres structures matérielles des autres éléments structurels attendent d'être chargées par leur propre sous-ensemble micrologiciel Autrement dit, le processeur central PRI est chargé, dans sa mémoire RAM 8, par les modules Mo, MI, M 12, Mi 3, Mi 4, Mi 5, M 16 et M 17. Ensuite, le processeur PRI envoie un code de chargement à chacune des autres structures matérielles constituant l'unité de contrôle UC 1 Il leur envoie ensuite les sous-ensembles micrologiciels qui leur correspondent, (qu'il a été chercher dans la mémoire à disques de sauvegarde MSD, et qu'il a stocké par exemple dans sa mémoire tampon 7), par l'intermédiaire de l'un ou l'autre des deux bus de type Multibus II. Chacun des éléments (DEî, C Ai, H Ai, D Ai>, initialise ses composants matériels en exécutant chacun des modules mo, mi, m 2, m 3 grâce aux microcontrôleurs qu'il comporte Il se charge ensuite des différents modules constituant le sous- ensemble micrologiciel qu'il met en oeuvre. Si, pour une raison quelconque, la mémoire à disques de sauvegarde dans sa fonction de mémoire à disques système n'est pas accessible par le processeur central P Ri, ce dernier est chargé par le processeur central PR 2 de l'autre unité de contrôle UC 2 Une fois chargé P Ri va chercher le fichier de chargement des sous-ensembles micrologiciels des éléments structurels de l'unité de contrôle UC 1 dans l'autre mémoire à disques MSD 2 agissant en tant que mémoire a disques système de U Cz. Dès que chacune des structures matérielles d'une unité de contrôle est chargée par l'ensemble des modules qui constituent le sous-ensemble micrologiciel qui lui correspond, l'élément structurel ainsi formé peut exécuter les fonctions qui lui sont dévolues. Pour mieux illustrer la manière dont opère un sous-ensemble micrologiciel, on se réfère tout d'abord aux figures 7 a et 7 b qui montrent la manière dont les opérations de lecture d'informations à l'intérieur des mémoires à disques d'une batterie, par exemple, BM Dt, sont effectuées par chacun des modules micrologiciels constituant les sous-ensembles H, D et C qui sont chargés dans HAî, D Ai et C At. On se réfère également à la figure 6 qui montre comment les modules des sous-ensembles logiciels implémentés dans H Ai et D Ai agissent les uns par rapport aux autres, et quelles sont les différentes opérations effectuées par chacun de ces modules lors de la lecture d'un bloc de données aussi bien dans l'une des mémoires à disques de la batterie BMDî (BMD 2 etc) que dans la mémoire cache C Ai (CA 2). Avant de décrire les différentes opérations qui s'enchaînent lors de la lecture d'un bloc de données dans l'une des mémoires à disques Dl à D 6 de BMD et dans la mémoire cache C Ai, il importe de rappeler comment sont écrites les informations dans une mémoire à disques et quel est le rôle d'une mémoire cache. Pour écrire un bloc de données sur un disque magnétique d'une mémoire à disques, on découpe celui-ci en secteurs ayant tous la même longueur Ceci est d'usage courant dans les mémoires à disques dites à format fixe Les différents secteurs contiennent le même nombre d 'octets (par exemple 512) Dans tout secteur, on écrit successivement un préambule, un bloc de données, et un postambule Le préambule contient des informations de localisation physique du secteur sur la piste du disque magnétique o il se trouve, le postambule des informations de vérification de l'intégrité des données pour vérifier si tous les octets enregistrés dans ce secteur sont corrects Cette organisation d'écriture des informations par secteurs, et la répartition de celle-ci à l'intérieur des secteurs est parfaitement connue et utilisée couramment dans les mémoires à disques conventionnelles Dans le sous-système périphérique selon l'invention, cette organisation d'écriture est également utilisée dans les unités à disques électroniques D Ei et DE 2. On s'aperçoit que, au cours des opérations relatives à une mémoire à disques, on effectue souvent la lecture d'un même bloc de données En d'autres termes, la probabilité d'accès aux mêmes blocs de données au cours du temps est très élevée. Par ailleurs, en cas de lecture séquentielle de plusieurs blocs de données, la probabilité pour que, une fois lu un premier bloc de données déterminé, on lise toujours les mêmes blocs de données à la suite de ce même bloc déterminé, est également élevée. En raison de ce qui vient d'être écrit ci-dessus, on utilise des mémoires cache qui contiennent précisément les données dont la probabilité d'être lues très souvent est élevée Ces données seront donc lues directement dans la mémoire cache sans qu'il y ait besoin d'aller les chercher dans la mémoire à disques correspondante. Elles seront donc lues avec le temps d'accès propre à la mémoire cache qui est très sensiblement inférieur au temps d'accès des mémoires à disques magnétiques (de l'ordre du dixième de milliseconde contre quelques dizaines de millisecondes). A l'intérieur d'une mémoire cache CA, , les informations sont écrites, dans les colonnes de mémoires RAM 2 M,,, 2 Mj, 2 Mn de la carte-fille CFC 1 sous forme de blocs que l'on désignera sous le nom de blocs cache Chacun de ceux-ci comprend, de la même façon que tout secteur d'une mémoire à disques, un préambule, suivi par des données dont on dit habituellement qu'il s'agit d'un champ de données, ce dernier étant lui-même suivi d'un postambule Les rôles respectifs des préambule et postambule est identique à celui des préambule et postambule des secteurs de données enregistrées dans les mémoires à disques magnétiques. Un champ de données d'un seul bloc cache correspond à l'ensemble des données enregistrées dans N (nombre entier) secteurs d'un disque magnétique d'une mémoire à disques appartenant à l'une des batteries BM Di, BMD 2, etc La correspondance entre chaque bloc cache et les différents secteurs correspondants d'un disque magnétique donné appartenant à une mémoire à disques donnée est indiquée dans une table Elle occupe par exemple des espaces mémoire de la mémoire RAM 18 appartenant à la carte-mère CM Ci. On considère désormais les figures 7 a et 7 b qui montrent le dialogue entre l'adaptateur hôte HA, et l'adaptateur disque DA, d'une part, entre ce dernier et la mémoire cache d'autre part et enfin entre cette dernière et l'adaptateur hôte H Ai, lors de la lecture d'un bloc de données dans l'une quelconque des mémoires à disques de la batterie BMDî, une partie de ces données étant ou non lues dans la mémoire cache C Ai. Les opérations de lecture sont les suivantes: 1/ L'adaptateur hôte HA, reçoit une requête de lecture de la part de l'hôte H 1, par exemple, sous forme d'un message de commandes CMD qui est envoyé dans une pile de commandes située par exemple dans la mémoire RAH 1 i Cette opération est effectuée successivement par les modules M 2 et Ma. 2/ A l'intérieur du message de commande CMD, le module M 5 décode l'adresse de la mémoire à disques dans laquelle doit être lu le bloc de données Cette mémoire à disques est appelée pour simplifier ressource. 3/ Dès que le module M 5 a décodé l'adresse de la ressource, il constitue un message de commandes désigné par MSG CMD. 4/ Ce message MSG CMD, qui est en fait un message de type Multibus II est envoyé par l'intermédiaire du bus Bl à l'adaptateur disque D Ai, sous la conduite du module Mi. 5/ Il est décodé par le microprocesseur MP Di sous la conduite du module Mg. 6/ Ce dernier en vérifie la validité. 7/ Le module Mg effectue la réservation de la ressource o l'hôte Hi désire lire le bloc de données en question Une fois la ressource réservée, on passe à l'opération 100. * 100 sous la conduite du module Mi, l'adaptateur disque envoie une commande d'interrogation CI au processeur 16 de la mémoire cache C Ai Cette commande a pour but de savoir si le bloc de données se trouve mémorisé dans les mémoires RAM de la carte-fille CF Ci. 101: le module de gestion de la table de la mémoire cache, à savoir Mii, effectue dans la table de la mémoire cache une recherche pour savoir si le bloc de données en question s'y trouve. A) On suppose tout d'abord que la réponse est positive. Un dialogue s'établit alors entre la mémoire cache C Ai et l'adaptateur hôte H Ai Ce dialogue comporte les opérations suivantes 102 A à 111. 102 A: le module Mi de la mémoire cache CA, envoie à l'adaptateur hôte une demande de réservation de pages de la mémoire tampon MTHî. 103 le module de gestion M 6 de l'adaptateur hôte alloue alors des pages de la mémoire tampon MT Hi pour y mémoriser temporairement le bloc de données qui sera lu dans la mémoire cache C Ai Dès que la page de mémoire tampon est allouée, on passe à l'opération 104. 104 l'adaptateur hôte envoie, sous la conduite du module Mi un message à la mémoire cache via le bus Bi, indiquant que des pages de sa mémoire tampon MT Hi sont accordées. le bloc de données lu dans la mémoire cache est transféré, sous la conduite du module Mi des mémoires cache et de l'adaptateur hôte dans la mémoire tampon MT Hi 106 dès que l'ensemble des données du bloc est mémorisé dans la mémoire tampon MTH 1, l'adaptateur hôte notifie à l'hôte Hi qu'il va transférer à ce dernier, le bloc de données en question Cette notification est effectuée sous la conduite du module Mz. 107 dès que l'hôte Hi a accepté le transfert, ce dernier est effectué par l'adaptateur hôte, sous la conduite du module M 2. 108 pendant qu'ont lieu les opérations 106 et 107, la mémoire cache envoie un signal HIT à l'adaptateur disque D Ai indiquant à ce dernier que le bloc de données en question a été transféré de la mémoire cache à l'adaptateur hôte H Ai Ce message HIT est acheminé de la mémoire cache C Ai à l'adaptateur disque D Ai par le module Mi de la mémoire cache. 109 dès que l'adaptateur disque a reçu le message HIT, il constitue un message de réponse MSG REP, sous la conduite du module Mg. l'adaptateur disque envoie alors le message de réponse MSG REP à l'adaptateur hôte HA 1, sous la conduite du module Mi des adaptateur disque et adaptateur hôte. 111 dès que l'adaptateur hôte a reçu le message de réponse MSG REP, il envoie, sous la conduite de son module M 2, un signal dit émission de terminaison indiquant à l'hôte Hi que l'opération de lecture du bloc de données dans le cache C Ai est terminée. B) La réponse est négative. On procède suite à l'opération 101 (voir plus haut), à l'opération 102 B. 102 B la mémoire cache C Ai, par l'intermédiaire de son module Mi, envoie à l'adaptateur disque DA, un message, via le bus Bi, indiquant que le bloc de données ne s'y trouve pas A la suite de la réception de ce message par D Ai, on passe à l'opération suivante 8. 8/ L'adaptateur D Ai alloue une ou plusieurs pages de sa mémoire tampon MT Di pour y recevoir le bloc de données qui sera lu dans la ressource (opération effectuée par le module Mio) On passe à l'opération suivante. 9/ Sous la conduite du module M 8, s'effectue la lecture du bloc de données dans la ressource. / Dès que la lecture est terminée, le bloc de données étant momentanément mémorisé dans les pages allouées de la mémoire tampon MTDî, l'adaptateur D Ai envoie à HAî, sous la conduite du module Mi une demande d'allocation de pages de sa mémoire tampon MTHî. 11/ En réponse à cette demande, H Ai alloue des pages de sa mémoire tampon MTH, en vue de réceptionner le bloc de données en question. 12/ HA, envoie à D Ai un message, via le bus Bi, signifiant que une ou plusieurs pages de MT Hi sont accordées (module Mi de H Ai et D Ai). 13/ D Ai organise alors, en réponse à ce dernier message, le transfert des informations lues dans la ressource vers H Ai, sous la conduite des modules Mi de ces deux adaptateurs. 14/A: L'adaptateur hôte, sous la conduite du module M 2, notifie alors à l'hôte Hi, le transfert immédiat du bloc de données qui a été lu dans la ressource et qui est temporairement stocké dans la mémoire tampon MTHî. 14/B: Pendant que se déroule l'opération 14/A, l'adaptateur disque constitue un message réponse MSG REP Celui-ci est envoyé (opération 15/B), sous la conduite des modules Mi des adaptateur disque et des adaptateur hôte, à HA, Dès réception de ce message réponse, ce dernier effectue l'opération 15/A. /A: Il transfère alors le bloc de données vers l'hôte Hi, sous la conduite du module M 2 Pendant ce temps, DA, effectue les opérations 15/B et 16/B /B: L'adaptateur disque, par l'intermédiaire du module Me, libère la ressource puis, sous la conduite du module Mîo, la mémoire tampon MT Di (opération 16/B). 16/A: Dès que l'adaptateur hôte a terminé le transfert des données vers l'hôte Hi, il émet vers celui-ci un signal d'émission de terminaison, indiquant que l'ensemble des opérations de lecture du bloc des données dans la ressource, est terminé (module M 2). 17/A: L'adaptateur hôte libère MTHî alors sous la conduite de son module Mio. On se reporte désormais aux figures 8 A et 8 B qui montrent l'ensemble des opérations effectuées pour écrire un bloc de données, soit dans la mémoire cache C Ai, soit dans l'une des mémoires à disques d'une batterie telle que BMDî, BMD 2, etc L'ensemble des opérations 1 à 8, qui concerne le dialogue entre H Ai et D Ai, est strictement identique à l'ensemble des opérations 1 à 8 qui a déjà été décrit, en relation avec les figures 7 A et 7 B pour la lecture d'un bloc de données dans une ressource ou dans la mémoire cache C Ai On passe donc à l'opération suivante 20: / L'adaptateur disque D Ai envoie un message, via le bus Bi, à l'adaptateur hôte H Ai, pour lui demander le transfert du bloc de données à écrire Cette opération a lieu sous la conduite des deux modules Mi des deux adaptateurs. 21/ L'adaptateur hôte alloue alors une ou plusieurs pages de la mémoire tampon hôte MTHî, en vue d'y recevoir le bloc de données (module Mio). 22/ HA, notifie alors à l'hôte central Hi que celui-ci doit transférer le bloc de données à écrire (module M 2). 23/ L'hôte central transfère alors le bloc de données à écrire sous la conduite du module M 2, ce dernier étant alors mémorisé temporairement dans les pages du tampon hôte allouées lors de l'opération 21. 24/ HA, envoie alors à D Ai un message demandant à celui-ci d'allouer une ou plusieurs pages de son tampon mémoire MTDî, en vue d'y recevoir ultérieurement le bloc de données à écrire (modules Mi des deux adaptateurs). / En réponse à ce message, D Ai envoie un message indiquant à HA, que une ou plusieurs pages de MT Di sont accordées (modules Mi). 26/ H Ai transfère alors le bloc de données à écrire, vers D Ai qui mémorise temporairement celle-ci dans les pages de MTD, allouées précédemment. 27/ Dès réception du bloc de données à écrire dans MTDî, D Ai constitue un message de réponse MSG REP, (module Mg) Il l'envoie sous la conduite des modules Mi à H Ai (opération 28). 29/ Lorsque H Ai reçoit le message MSG REP, il envoie vers l'hôte un signal d'émission de terminaison, sous la conduite du module Mz Pour l'hôte Hi, ce message signifie que l'opération d'écriture du bloc de données est terminée, alors qu'en réalité elle n'a pas encore eu lieu, tant dans la ressource réservée que dans la mémoire cache C Ai. On passe ensuite à l'opération 30. / Sous la conduite du module M 8, l'adaptateur D Ai organise l'écriture du bloc de données dans la ressource considérée Parallèlement à cette écriture, l'adaptateur disque envoie, sous la conduite de son module Mi, un signal de commandes CIW, via l'un ou l'autre des deux bus Bi, B 2, à la mémoire cache C Ai Ce signal a pour objet de demander à cette dernière si le bloc de données à écrire peut être écrit dans la mémoire CF Ci de celle-ci L'envoi du signal de commandes CIW fait l'objet de l'opération 128. 129 En réponse à 128, la mémoire cache, sous la conduite du module Mii envoie alors à l'adaptateur disque un signal HIT ou RIT-signifiant dans le premier cas que le bloc de données est à écrire dans la mémoire cache, et dans le second, qu'il ne l'est pas (opération 130 A dans le premier cas, 130 B dans le second) Il est évident que dans le second cas, en réponse à l'opération B,l'adaptateur disque ignore désormais la mémoire cache CA, Dans le premier cas ( 130 A), on passe à l'opération 131. 131 L'adaptateur disque envoie à la mémoire cache un message demandant la réservation d'une ou plusieurs pages de la mémoire tampon cache, à savoir 17, en vue d'y stocker temporairement le bloc de données à écrire, avant son inscription dans la mémoire CFC, Cette opération a lieu sous la conduite des modules Mi de D Ai et C Ai. 132 Sous la conduite du module Mi de C Ai, cette dernière signifie à DA,, que une ou plusieurs pages du tampon 17 sont allouées en vue d'y mémoriser temporairement le bloc de données à écrire. 133 En réponse à 132, D Ai transfère le bloc de données à écrire dans la mémoire tampon 17 de C Ai. 134: Dès que le bloc de données a été transféré dans 17, il est ensuite transféré, sous la conduite de Mii, dans la mémoire CF Ct. L'ensemble des opérations 128 A à 134 s'effectue en parallèle avec l'opération 30 (voir plus haut). Après cette opération 30, on passe à l'opération 31. 31/ Le module M 8 libère la ressource, une fois que l'ensemble des données du bloc à écrire y est inscrite. 32/ Une fois la ressource libérée, le module Mîo libère les pages de la mémoire tampon MT Di qui avaient été allouées. 33/ L'opération 32 étant terminée, DAI, sous la conduite du module Mienvoie un message à l'adaptateur hôte afin que ce dernier libère sa mémoire tampon hôte MTHî, ce qu'il effectue par l'opération 34. Si l'adaptateur hôte H Ai se trouve indisponible, il est remplacé par l'adaptateur correspondant de UC 2, à savoir HA 2. De même, alors DA 2 remplace D Ai Le dialogue s'établit alors entre HA 2, DA 2 et C Ai, via B 2. Si l'unité U Ci est indisponible dans son ensemble, les données contenues dans C Ai, également inscrite dans CA 2, sont directement lues dans dans cette dernière, le dialogue ayant donc lieu entre HA 2, DA 2 et CAR On voit, là encore, tout l'avantage que procure le double accès aux mémoires cache CA, et CA 2, et la redondance des informations inscrites aussi bien dans CA, et CA 2. On constate, à l'examen des figures 6, 7, 8, qu'un certain nombre de modules effectue, que ce soit dans les adaptateurs hôte, disque, ou dans la mémoire cache, un grand nombre d'opérations, identiques d'un élément matériel à l'autre Il en est ainsi par exemple des modules M 2 et Mio On notera également l'importance des modules M 2, Mg et Mg. Il convient de noter que l'ensemble des opérations de lecture et d'écriture d'un bloc de données déterminé est effectué de la même manière s'agissant des deux unités à disques électroniques DE, et D Ez Le bloc des données à écrire est divisé, de la même façon que dans les mémoires à disques rotatifs en secteurs contenant le même nombre d'octets, l'ensemble des informations d'un secteur étant inscrit dans des emplacements mémoire dont les adresses se suivent, par exemple d'une unité Dans une forme de réalisation préférée de l'invention, les données sont écrites sous un format de 39 bits soit 32 bits utiles répartis en quatre octets ajoutés à sept bits de correction d'erreur dits ECC (error corrector code), ce mode de correction d'erreur étant conventionnellement utilisé dans les mémoires RAM dynamiques. Pour utiliser aussi bien le procédé de lecture que le procédé d'écriture tel que décrit aux figures 7 et 8, dans un disque électronique tel que D Ei ou DE 2, il suffit de remplacer dans toutes les explications qui ont été données plus haut, l'adaptateur disque D Ai par la carte mère CMD 1, le microprocesseur 26 jouant le même rôle que le microprocesseur MPD 1, la mémoire tampon 27 jouant le même rôle que le tampon mémoire MTD, de l'adaptateur disque Une fois que les données sont écrites dans la mémoire CF Di, il y a mise à jour, en temps masqué, de la mémoire à disques de sauvegarde MS Di, celle-ci recevant le même bloc de données que celui qui a été écrit dans la mémoire CF Di, ces données provenant du tampon hôte MTHI. Revendications: 1 Sous-système périphérique de mémoire de masse (PSSI, PS 52) appartenant à un système informatique comportant au moins un hôte central (H,, Hz H 3, H 4) comprenant deux unités de contrôle (U Ci, UC 2) d'au moins une mémoire de masse (BMDI, BMD 2,), à alimentations électriques indépendantes (ALI Mi, ALI Mz, BA Ti, BAT 2) et possédant chacune une pluralité d'éléments structurels (matériel + micrologiciel) (P Ri PR 2, DE 1 DE 2, C Ai CA 2, H Ai HA 2, D Ai DA 2) connectés à un premier et/ou à un second bus de type parallèle (Bi, Bz 2), caractérisé en ce que il comprend une architecture micrologicielle (AML) exécutant les commandes de l'hôte et prévenant celui-ci des changements d'état de la mémoire de masse, formée d'une pluralité de sous-ensembles micrologiciels fonctionnels (B, H, D, C, S) dont chacun est spécifique à chaque élément structurel de chaque unité de contrô 181 e et implémenté dans la structure matérielle de celui- ci. 2 Sous-système selon la revendication 1 caractérisé en ce que l'hôte (Hi, Hz 2, H 3, H 4) étant relié à au moins un des deux bus (B 1 i) par au moins un premier adaptateur hôte (HA 1 à HA 8) appartenant à la première unité de contrôle, la mémoire de masse (BMD 1, BM Dz) étant reliée à chacun de deux bus par au moins un premier et un second adaptateur mémoire de masse appartenant à la première et la deuxième unité de contrôle (DA, à DA 8), les adaptateurs hôte et mémoire ont en partie une structure matérielle identique, les autres éléments structurels de chacune des unités de contrôle ayant de leur côté en partie une structure matérielle identique. 3 Sous-système selon l'une des revendications 1 ou 2, caractérisé en ce que chaque sous-ensemble fonctionnel comprend un ensemble de modules (MI à MI^, m O à ma) correspondant chacun à une fonction particulière, certains modules étant identiques d'un sous-ensemble à l'autre. 4 Sous-système selon l'une des revendications 1, 2, 3, caractérisé en ce que les éléments structurels de chaque unité de contrôle (U Ci, UC 2) sont, outre un adaptateur hôte (HA,) et un adaptateur disque (D Ai), un processeur central (P Ri PR 2), une unité à disques électroniques (D Ei D Ez) et une mémoire cache (CA, CA 2), les processeurs centraux, unités à disques électroniques et mémoire-cache de chaque unité de contrôle (U Ci UC 2) étant respectivement identiques entre eux, chacun des éléments structurels d'une unité étant identique à l'élément correspondant de l'autre, Sous-système selon la revendication 4, caractérisé en ce que l'adaptateur hôte et l'adaptateur mémoire de masse comprennent chacun une carte-mère (CM Hi, CMDî) associée à une cartefille (CFHî CFD,), les cartes-mères identiques matériellement entre elles comprenant les composants suivants: une mémoire tampon (MTH,, MT Di) recevant les blocs de données devant être écrits ou lus dans la mémoire de masse, un microprocesseur de contrôle de fonctionnement de l'adaptateur auquel il appartient (MPH,, MP Di), une mémoire de type RAM (RAH 1, RA Di) recevant les différentes instructions des modules micrologiciels du sous-ensemble fonctionnel spécifique de l'adaptateur correspondant d'une part, et d'autre part, des données, un microprocesseur (MCH 1, MCDî) d'interconnexion de l'adaptateur correspondant avec les autres éléments structurels des unités de contrôle, une interface de connexion avec au moins l'un des deux bus, ces composants étant reliés au bus interne du microprocesseur de contrôle (B Ii, BI 2). 6 Sous-système selon la revendication 5, caractérisé en ce que la cartefille (CFHî) de l'adaptateur hôte comprend une interface de connexion (I Hi) avec l'hôte central et en ce que la carte-fille de l'adaptateur mémoire de masse (CFDî) comprend une interface de liaison (ID,) avec la mémoire de masse (BM Di). 7 Sous-système selon la revendication 4, caractérisé en ce que le processeur central (P Ri PR 2), l'unité à disques électroniques (DE,, DE 2) et la mémoire-cache comprennent chacun au moins une carte-mère reliée ou non à une carte- fille, les cartes-mères identiques matériellement entre elles comprenant les composants matériels suivants: deux interfaces de communication ( 1-2, 11-12, 21-22) avec les deux bus (Bi, B 2), deux microcontrôleurs d'interconnexion ( 3-4, 13-14, 23-24) avec les autres éléments structurels constitutifs du sous- système par l'intermédiaire des deux bus Bl et B 2, un microprocesseur ( 6, 16, 26) de commande de l'élément structurel correspondant, une mémoire tampon ( 7, 17, 27), une mémoire de type RAM ( 8, 18, 28) contenant les différents modules micrologiciels du sous-ensemble spécifique de l'élément structurel correspondant et les données traitées par son microprocesseur de commande, ces différents composants étant reliés au même bus interne de ce même microprocesseur de commande ( 5, 15, 25). 8 Sous-système selon la revendication 6 caractérisé en ce que le sousensemble fonctionnel H spécifique de l'adaptateur hâte (HA,) comprend les différents modules suivants: le module Mo concernant le système d'exploitation de l'adaptateur hôte (H Ai) organisant le travail de liaison entre les différents modules composant le sous-ensemble H, le module Mi de gestion des transferts des informations selon l'adaptateur hôte et les autres éléments structurels par l'intermédiaire du bus, de type parallèle auquel l'adaptateur est relié (Bi, B 2), le module M 2 de gestion de l'interface hôte (I Hi), le module M 3 de gestion de la pile de commandes contenue dans la mémoire de type RAM (RA Hi) de l'adaptateur hôte (HA,), le module M 4 d'exécution des commandes adressées aux unités de contrôle UCî et U Cz par l'hôte Hi, le module M 5 de réception des commandes provenant de l'hôte central (Hi) destinée à la mémoire de masse (BMDî) et d'aiguillage de ces commandes vers l'adaptateur mémoire de masse (D Ai), le module M 6 de reprise et de traitement d'erreurs lorsqu'une erreur est détectée dans l'un ou l'autre des composants matériels de l'adaptateur hôte (H Ai), le module de gestion de la mémoire tampon (MTHî) de l'adaptateur hôte (HA 1). 9 Sous-système selon la revendication 8 caractérisé en ce que le sousensemble fonctionnel D spécifique de l'adaptateur mémoire de masse (D Ai) comprend les différents modules: Mo, Mi, M 3, M 6, Mîo identiques à ceux de l'adaptateur hôte, et le module Mg d'interprétation des commandes de l'hôte central envers la mémoire de masse (BM Di). 10 Sous-système suivant la revendication 8, caractérisé en ce que le sousensemble des unités à disques électroniques comprend les modules: Mo, Mi, M 3, M 6, Mio identiques à ceux de 1 'adaptateur hôte (H Ai) et, le module Mg d'interprétation des commandes de l'hôte central envers l'unité à disques électroniques correspondante. 11 Sous-système suivant la revendication 8 caractérisé en ce que le sous-ensemble C des mémoirecaches (C Ai, CA 2) comprend les modules Mo, Mi et le module Mil de gestion des tables des mémoire-caches (C Ai, CA 2). 12 Sous-système suivant la revendication 8 caractérisé en ce que le sousensemble fonctionnel P des processeurs centraux (PR,, P Rz) comprend, outre les modules Mo et Mi: le module Mi d'initialisation des unités de contrôle correspondantes (U Ci, U Cz), le module Mis de communication entre les deux unités de contrôle chargé en particulier d'établir les échanges d'informations entre des unités lorsque l'un des éléments structurels composant l'une d'elles est indisponible, le module M 14 de gestion de l'alimentation (ALI Mi, ALI Mz) de l'unité de contrôle commandée par le processeur central correspondant, le module M 16 de sauvetage du contexte de l'unité de contrôle commandée par le processeur central correspondant, en cas de coupure de tension d'alimentation, le module M 17 de reprise des opérations soit d'écriture soit de lecture dans l'unité à disques électroniques correspondante après qu'ait eu lieu une coupure de tension accompagnée du sauvetage du contexte mis en oeuvre par le module Mi 6. le module Mi 8 de gestion de l'interface entre la mémoire à disques de sauvegarde (MSD,) et le processeur central associé (PR,).