Brevet FR2726923A1 — publié le 19960515

GROUPE REDONDANT DE DISPOSITIFS À MÉMOIRE A SEMICONDUCTEURS La présente invention concerne des dispositifs à mémoire. Elle porte plus particulièrement sur un groupe redondant de dispositifs à mémoire à semiconducteurs. Les dispositifs à mémoire à semiconducteurs sont bien connus et comprennent des dispositifs tels que des mémoires mortes (mémoires à lecture seule, MEM, ROM) et des mémoires vives (mémoires à lecture-écriture à accès aléatoire, MEV, RAM). Ces types de dispositifs de stockage de masse (mémoires de masse à circuits intégrés) à base de semiconducteurs sont extrêmement robustes, très fiables et très efficaces par comparaison avec les dispositifs (mémoires) de stockage magnétique à entraînement mécanique. De nombreux dispositifs à semiconducteurs de ce type ne seront abordés que succinctement dans la suite de la présente description puisque chacun d'eux peut être aisément acheté dans le commerce et est bien connu. Une mémoire vive dynamique (DRAM) utilise un seul transistor pour chaque cellule de mémoire. La DRAM s'emploie habituellement comme mémoire principale d'un ordinateur, mais elle est généralement considérée comme inappropriée pour des applications en mémoire non volatile compte tenu des exigences posées par le rafraîchissement et l'alimentation électrique permanente. Une mémoire vive statique (SRAM) est fondamentalement une mémoire vive à hautes performances puisqu'elle utilise plusieurs transistors par cellule de mémoire. La SRAM présente une densité de mémorisation inférieure à une DRAM, mais elle ne requiert ni rafraîchissement ni alimentation électrique permanente pour conserver le contenu de la mémoire. Une mémoire morte reprogrammable effaçable électroniquement (EEPROM ou E2PROM) utilise deux transistors par cellule de mémoire et ne requiert pas d'alimentation électrique continue pour conserver le contenu de la mémoire. Toutefois, dans les EEPROM, le nombre d'écrasements autorisés par le dispositif est limité. Une mémoire morte reprogrammable (EPROM) utilise un seul transistor par cellule de mémoire qui peut être effacée par exposition à la lumière ultraviolette projetée à travers une fenêtre dans le dispositif. Contrairement à l'EEPROM, r'EPROM est malaisée à utiliser sur le terrain compte tenu de la nécessité de recourir à un dispositif extemrne en vue de l'effacement. Une EEPROM FLASH (qui sera par la suite désignée par le terme mémoire flash) combine la technologie EPROM et EEPROM. La mémoire flash utilise un seul transistor par cellule de mémoire, ce qui signifie que son architecture est similaire à celle d'une EPROM, et elle est effacée électroniquement, c'est-à-dire comme une EEPROM. Un type d'architecture à cellule flash est en général appelé ETOX (EEPROM à couche d'oxyde à effet tunnel). Les cellules flash sont effacées par des électrons circulant par effet tunnel, un procédé connu sous le nom d'effet tunnel de Fowler-Nordheim. La mémoire flash est non volatile (comme les dispositifs à mémoire à support magnétique), et son effacement et l'écrasement des informations contenues s'effectuent sur des secteurs de blocs compatibles du dispositif, et non pas sur des octets individuels ou d'autres segments de données, comme sur les dispositifs à mémoire à support magnétique. La mémoire flash est plus avancée que l'ETOX, avec une architecture configurée pour des applications à semiconducteurs fabriquée grâce à un processus CMOS (semiconducteur à oxydes métalliques complémentaires) à triple couche de polysilicium, qui est commercialisée par la société SunDisk Corp., Santa Clara, Califomie, sous le numéro de référence SDP5A-40. Ce dispositif CMOS à triple couche de polysilicium autorise une taille d'effacement de blocs de 512 octets compatible avec la majorité des systèmes d'exploitation à disques, comporte une protection contre les sureffacements et permet un minimum de 200 000 cycles d'effacement/écriture. De plus, l'architecture série du dispositif CMOS à triple couche de polysilicium minimise le nombre de contacts, ce qui réduit la taille des dés, et permet de réaliser un dispositif à mémoire flash compact et très dense. La mémoire flash est généralement encapsulée dans un format PCMCIA (Personal Computer Memory Card Intemrnational Association) qui peut être utilisé dans des ordinateurs portatifs et des ordinateurs de bureau ainsi que dans des archivages sur mémoires de masse amovibles. Le dispositif CMOS à triple couche de polysilicium abordé ci- dessus convient bien pour des applications PCMCIA. Actuellement, les cartes PCMCIA sont définies comme appartenant aux types 1, Il et III. Les cartes du type I comportent des programmes logiciels ou une capacité mémoire supplémentaire. Les cartes du type Il abritent typiquement des modems (par exemple, données et télécopieur) et des adaptateurs pour réseaux. Les cartes du type III sont suffisamment épaisses pour recevoir des unités de disques durs amovibles et des dispositifs de communication sans fil. Les dispositifs à mémoire flash à semiconducteurs décrits ci-dessus sont, dans les opérations de lecture et d'écriture nettement plus lents et présentent une densité de mémorisation considérablement inférieure à celle des dispositifs à mémoire à supports magnétiques à entraînement mécanique, qui sont bien connus. Toutefois, ces dispositifs à mémoire à supports magnétiques à entraînement mécanique sont nettement moins résistants et fiables que les dispositifs à mémoire à semiconducteurs. La fiabilité des dispositifs à mémoire à supports magnétiques à entraînement mécanique a été considérablement améliorée par l'introduction de la technologie RAID (acronyme anglo-saxon de "redundant array of inexpensive disks' ou groupe redondant de disques bon marché). Conformément à la technologie RAID, une variété de disques à supports magnétiques sont réunis en groupe et, grâce à une interface matérielle/logicielle, elle se présente à un système hôte comme une unique unité de disque physique logique. Un système RAID à base matérielle recourt à des circuits électroniques spécialisés pour exécuter les fonctions de traitement du système RAID. Un système RAID à base logicielle utilise du matériel et du logiciel qui localise les fonctions de traitement du système RAID sur l'unité centrale de traitement hôte. La technologie RAID s'emploie comme dispositif fiable d'archivage sur mémoire informatique de masse qui minimise les risques de pertes de données. Alors que les unités individuelles d'un système RAID sont toujours sujettes aux mêmes taux de pannes, les groupes redondants garantissent que les données demeurent disponibles même en cas de défaillance d'une des unités. Par exemple, avec cinq disques présentant 250 000 heures de temps moyen entre pannes (moyenne des temps de bon fonctionnement) installés dans un groupe RAID, le temps moyen entre l'indisponibilité des données du système RAID (c'est-à-dire deux unités tombant en panne en même temps) est en théorie de 250 000 000 000 heures, soit en d'autres termes de 29 000 000 années. La redondance est une méthode qui consiste à mémoriser (stocker) des données redondantes sur des unités installées dans le groupe de sorte que, en présence d'une panne d'une seule unité, les données du disque défaillant puissent être reconstituées en utilisant les données redondantes des autres unités en fonctionnement. Cette technique mathématique de mémorisation des données redondantes est bien connue et est dénommée parité, un procédé qui utilise typiquement une fonction OU exclusif et constitue une caractéristique importante du RAID. Un comité consultatif RAID a été créé. Sa tâche consiste à définir des configurations RAID standard sous forme de normes industrielles. À titre d'exemple, le RAID 0 possède des disques entre lesquels les données sont réparties sans contrôle de parité. La répartition sans contrôle de parité est une méthode connue de stockage rapide des blocs de données entre un certain nombre d'unités différentes. Dans le RAID O, chaque unité est lue indépendamment et il n'existe pas de redondance. En conséquence, la configuration de type RAID 0 améliore les performances de vitesse, mais elle ne relève pas le niveau de fiabilité des données par rapport à des unités individuelles. Le RAID 1 définit une configuration dans laquelle les données sont écrites sous une forme identique ou reproduites sur deux unités ou plus. Cette configuration exige de nombreuses unités et ne constitue dès lors pas une solution économique eu regard à la fiabilité des données. Le RAID 2 utilise des codes de correction des erreurs complexes écrits sur de multiples disques redondants. Le RAID 3 intègre la redondance en utilisant une seule unité de disque pour assurer la mémoire supplémentaire requise par la parité qui est partagée entre la totalité des unités. La configuration s'emploie habituellement lorsque des vitesses de transfert élevées (débits) sont requises et/ou lorsque de longs blocs de données sont utilisés. Dans la configuration RAID 3, les autres unités de disques (à savoir les unités autres que celles dédiées à la parité) fonctionnent lors de chaque transaction d'E/S (entrée/sortie) prise en charge par le groupe, ce qui équivaut à un accès parallèle. Le RAID 4 est similaire au RAID 3 en ce qu'il recourt aussi à la parité imbriquée (multiplexage) mais que, contrairement au RAID 3, il emploie une parité à blocs multiplexés (secteurs) et non une parité à bits multiplexés. En conséquence, le RAID 4 définit un groupe parallèle en utilisant la répartition par blocs et un seul disque de parité redondant. La configuration RAID 5 possède une parité partagée entre toutes les unités du groupe. Toutefois, dans la configuration RAID 5, les disques sont indépendants, ce qui signifie un accès indépendant associé à de nombreuses demandes d'E/S dans la mesure o cette configuration peut traiter plus rapidement des transactions d'E/S simultanées. La configuration RAID 5 se rencontre habituellement sur des postes de travail multiutilisateur mis en réseau. Typiquement, avec des configurations RAID 1 et supérieures, un disque peut tomber en panne, être enlevé et remplacé sans devoir interrompre le système. Ensuite, une nouvelle unité est rapidement reconstituée et rétablit ainsi le système dans sa configuration initiale. De tels types de systèmes RAID sont par exemple commercialisés par Allodyne, Freemont, Californie, et s'appellent The Allodyne Dorado High Performance Disk Array. Les réserves et carences soulignées ci-dessus à propos du type antérieur sont surmontées ou atténuées en recourant à un système de stockage des données à mémoire à semiconducteurs, ce système à mémoire à semiconducteurs étant interfacé avec un système hôte, ce système à mémoire à semiconducteurs comportant de multiples dispositifs à mémoire à semiconducteurs ainsi que des dispositifs d'interfaçage de manière à présenter la multitude de dispositifs à mémoire à semiconducteurs au système hôte comme un unique dispositif logique à mémoire à semiconducteurs. Conformément à la présente invention, l'architecture appartenant au type de la technologie RAID est exclusivement combinée avec des dispositifs à mémoire à semiconducteurs. Le groupe redondant de dispositifs à mémoire à semiconducteurs effectue des opérations de lecture et d'écriture nettement plus rapides (de l'ordre de 8 à 10 fois) et présente une densité de mémorisation considérablement accrue par rapport aux dispositifs à mémoire à semiconducteurs pris individuellement, sans oublier qu'il s'avère extrêmement plus robuste et fiable que les dispositifs à mémoire à supports magnétiques à entraînement mécanique. Le dispositif comporte de multiples cartes équipées à circuits imprimés, placées dans un boîtier, de préférence capable de tenir dans un logement (baie) pour unité informatique standard de 5 1/4 pouces ou un boîtier monté en bâti. Les cartes équipées à circuits imprimés sont raccordées électriquement à des dispositifs à mémoire à semiconducteurs, tels que des cartes PCMCIA à mémoire flash. Un circuit contrôleur du chemin des données assure l'interface entre un système hôte et les cartes à mémoire flash. Le circuit contrôleur du chemin des données comporte un circuit intégré spécifique à une application (ASIC) et une antémémoire associée destinée au contrôle du chemin des données, à la génération de parité et à la répartition des données. L'ASIC de contrôle du chemin des données est interfacé avec un microprocesseur qui gère le réglage de l'ASIC de contrôle du chemin des données, commande un contrôleur SCSI-2, commande un port d'interface ATE (appareillage de contrôle automatique) RS- 232 et consigne les erreurs et les états du système. Le transfert des données entre un ordinateur hôte et le dispositif faisant l'objet de la présente invention est conforme au protocole de la norme SCSI-2. Le logiciel d'exploitation fait l'objet d'une mémorisation redondante dans les cartes à mémoire flash et est téléchargé dans une mémoire vive de 1 Mo durant l'amorçage du système. Les microprogrammes d'amorçage résident dans une EPROM de 32 kilo-octets. La microprogrammation englobe l'initialisation du système, un autocontrôle, des sous-programmes SCSI et de gestion des données. L'autocontrôle assure une détection des pannes et des fonctions de localisation destinées aux niveaux de maintenance organisationnels et intermédiaires. Chacune des cartes PCMCIA à mémoire flash peut être encapsulée dans un boîtier métallique hermétique utilisable dans des ambiances hostiles. De plus, chacune des cartes PCMCIA à mémoire flash est organisée en secteurs et une partie de chaque élément de mémoire est configurée comme espace mémoire de réserve. Comme on le sait, chaque carte PCMCIA à mémoire flash comporte une mémoire flash, un contrôleur intelligent et un microprocesseur de gestion de la mémoire. Les algorithmes mémorisés dans le contrôleur intelligent sont mis en oeuvre par le microprocesseur de gestion de la mémoire afin d'utiliser cet espace mémoire de réserve pour assurer une intégrité fiable des données. Chacune des configurations appartenant à l'un des types de RAID précités (par exemple RAID 0 à RAID 5) peut être employée avec les dispositifs à mémoire à semiconducteurs comme celles qui sont typiquement mises en oeuvre dans les logiciels et matériels connus. De plus, tous les dispositifs électriques à mémoire convenant pour le stockage dans une mémoire de masse peuvent être configurés dans un groupe redondant tel qu'il est défini dans la présente description. Les caractéristiques et avantages de la présente invention abordés cidessus et bien d'autres encore seront appréciés et compris par ceux qui, par expérience, ont l'habitude de suivre ce type de descriptions et de dessins détaillés. Référons-nous maintenant aux dessins qui, pour les mêmes éléments, adoptent la même numérotation que dans les nombreuses FIGURES: la FIGURE 1 est une vue de face en perspective d'un dispositif qui emploie un groupe redondant de dispositifs à mémoire à semiconducteurs avec panneau avant fermé, conforme à la présente invention; la FIGURE 2 est une vue de face en perspective du dispositif de la FIGURE 1 avec le panneau avant ouvert; la FIGURE 3 est une vue arrière en perspective du dispositif de la FIGURE 1; la FIGURE 4 est une représentation schématique en perspective d'une carte équipée à circuit imprimé extraite du dispositif de la FIGURE 1; la FIGURE 5 est une représentation schématique en perspective d'une autre carte équipée à circuit imprimé extraite du dispositif de la FIGURE 1; la FIGURE 6 est un schéma fonctionnel de l'électronique du dispositif de la FIGURE 1; la FIGURE 7 est un diagramme qui illustre la configuration de la mémoire des cartes à mémoire flash présentes dans le dispositif de la FIGURE 1 réalisé selon la configuration de type RAID 3; les FIGURES 8A-S sont des schémas de principe de l'électronique du dispositif de la FIGURE 1; la FIGURE 9 est une représentation hiérarchique du logiciel utilisé par le dispositif de la FIGURE 1; la FIGURE 10 est une vue de face en perspective éclatée d'un dispositif utilisant un groupe redondant de dispositifs à mémoire à semiconducteurs correspondant à une autre exécution de la présente invention; la FIGURE 11 est une vue de face d'une autre exécution du panneau de protection avant du dispositif de la FIGURE 10; la FIGURE 12 est une vue en élévation latérale du panneau de protection avant de la FIGURE 11 et les FIGURES 13A-T sont des schémas de principe de l'électronique du dispositif de la FIGURE 10. La présente invention combine exclusivement l'architecture à technologie RAID avec des dispositifs à mémoire à semiconducteurs qui comblent les lacunes précitées de chacun d'eux. Un dispositif recourant à un groupe redondant de dispositifs à mémoire à semiconducteurs est plus spécifiquement présenté. Le groupe redondant de dispositifs à mémoire à semiconducteurs assure des opérations de lecture et d'écriture nettement plus rapides et une densité de mémorisation considérablement accrue par rapport aux dispositifs à mémoire à semiconducteurs pris individuellement et il s'avère extrêmement plus robuste et fiable que les dispositifs à mémoire à support magnétique à entraînement mécanique. En nous référant aux FIGURES 1-3, un boîtier 30 qui peut être inséré dans un logement pour unité informatique demi-hauteur standard de 5 1/4 pouces comporte un panneau de porte avant 32, pivotant parce que monté sur une paire de charnières 34. Un panneau arrière permet un accès à un connecteur 38 SCSI- 2 (Small Computer System Interface), deux connecteurs RS-232 40 et 42 et un connecteur d'alimentation 44, chacun d'eux étant fixé à un fond de panier (non illustré). De multiples cartes équipées à circuits imprimés 46, 48, 50, 52 et 54 sont placées dans le boîtier 30 et sont raccordées au fond de panier. La FIGURE 4 montre une carte équipée à circuit imprimé 46. La carte équipée à circuit imprimé 46 comporte une carte à circuit imprimé 56 sur laquelle sont montés des composants électroniques ainsi que les circuits d'interconnexion (non illustrés). Un dispositif à mémoire à semiconducteurs, dans cet exemple une carte PCMCIA à mémoire flash de 5-40 méga-octets (Mo) 58 (par exemple le numéro de référence SPD5A-40 commercialisé par SunDisk Corp., Santa Clara, Califomie) qui est raccordé électroniquement à la carte à circuit imprimé 56 par l'intermédiaire de son connecteur standard à 68 broches. La carte à mémoire flash 58 est fixée mécaniquement à la carte à circuit imprimé 56 par le dispositif à support pour carte 60 qui comporte un dispositif, c'est-à-dire un bouton 62, qui permet de détacher la carte 58 du montage 60. Le montage 60 est fixé à la carte à circuit imprimé 56 à l'aide de colliers standard 64. Un tel dispositif à étrier pour carte 60 est commercialisé par la société Hirose Electronics, sous le numéro de référence IC7-68Pd-127SF-EJR. Une multitude de DEL (diodes électroluminescentes) 66-76 sont montées sur l'extrémité visible de la carte à circuit imprimé 56 afin d'afficher l'état du système. Une DEL est dédiée à la surveillance de l'état de chaque carte à mémoire flash du système; dans le présent exemple, il existe neuf cartes à mémoire flash, et une DEL est dédiée à la surveillance de l'état général du système. La FIGURE 5 illustre la carte à circuit imprimé 48. Seule la carte à circuit imprimé 48 est décrite étant donné qu'elle est identique aux cartes à circuits imprimés 50, 52 et 54. La carte à circuit imprimé 48 comporte une carte à circuit imprimé 78 sur laquelle sont montés des composants électroniques ainsi que les circuits d'interconnexion (non illustrés). Deux dispositifs à mémoire à semiconducteurs, dans cet exemple les cartes PCMCIA à mémoire flash de 5-40 méga-octets (Mo) et 82 (par exemple le numéro de référence SPD5A-40 commercialisé par SunDisk Corp., Santa Clara, Califomie) qui sont raccordées électroniquement à la carte à circuit imprimé 78 à l'aide de leurs connecteurs standard à 68 broches. La carte à mémoire flash 80 est fixée mécaniquement à la carte à circuit imprimé 78 au moyen du dispositif à support pour carte 84 qui comporte un dispositif, à savoir un bouton 86 qui permet de détacher la carte 80 du montage 84. Le montage 84 est fixé à la carte à circuit imprimé 78 à l'aide de colliers standard 88. La carte à mémoire flash 82 est fixée mécaniquement à la carte à circuit imprimé 78 au moyen du dispositif à support pour carte 90 qui comporte un dispositif, c'est- à-dire un bouton 92 qui permet de détacher la carte 82 du montage 90. Le montage 90 est fixé à la carte à circuit imprimé 78 à l'aide de colliers standard 94. Ces dispositifs à support pour carte 84 et 90 sont commercialisés par la société Hirose Electronics, sous le numéro de référence IC7-68Pd-127SF-EJR. La FIGURE 6 illustre un schéma fonctionnel de l'électronique du groupe redondant généralement représentée en 100. Un circuit contrôleur du chemin des données 102 assure l'interface entre un système hôte et les cartes à mémoire flash 58, 80, 82, 104,106,108, 110, 112 et 114. La carte à mémoire flash 58 est placée sur la carte équipée à circuit imprimé 46. Les cartes à mémoire flash 80 et 82 sont placées sur la carte équipée à circuit imprimé 48. Les cartes à mémoire flash 104 et 106 sont placées sur la carte équipée à circuit imprimé 50. Les cartes à mémoire flash 108 et 110 sont placées sur la carte équipée à circuit imprimé 52. Les cartes à mémoire flash 112 et 114 sont placées sur la carte équipée àLcircuit imprimé 54. Le circuit contrôleur du chemin des données 102 comporte un ASIC (Application Specific Integrated Circuit, circuit intégré spécifique à une application) de contrôle du chemin des données 112 qui contrôle le chemin des données, génère la parité et répartit les données. L'ASIC de contrôle du chemin des données 112 est interfacé avec une antémémoire (mémoire cache) associée 114 par l'intermédiaire d'un bus 116. L'ASIC de contrôle du chemin des données 112 est interfacé avec un microprocesseur 118 par l'intermédiaire d'un bus 120. Le microprocesseur est cadencé à 40 MHz, gère l'initialisation de l'ASIC de contrôle du chemin des données 112, commande un contrôleur SCSI-2 122, commande un port d'interface 124 pour ATE (appareillage de contrôle automatique) RS-232 à 9 600 bauds et consigne les erreurs et les états du système. Le microprocesseur 118 est par exemple commercialisé par Intel sous le numéro de référence TS80C186XL-20. L'interface ATE est un port de communication série RS-232 traditionnel qui peut être raccordé à un terminal ASCII ou à un programme de communication en vue d'effectuer une évaluation du terminal. L'ASIC de contrôle du chemin des données 112 est interfacé avec le contrôleur SCSI-2 122 par l'intermédiaire d'un bus 124, le transfert de données entre un ordinateur hôte 125 et l'ASIC de contrôle du chemin des données 112 étant conforme au protocole de la norme SCSI-2. Le contrôleur SCSI-2 122 se charge de la gestion des données et du protocole d'interface. Les microprogrammes d'exploitation sont mémorisés de manière redondante dans les cartes à mémoire flash et sont téléchargés dans une mémoire vive 126 de 1 Mo durant l'amorçage du système. Le programme d'amorçage réside dans une EPROM 128 de 32 kilo- octets. La mémoire vive 126 foumrnit aussi une mémoire bloc-notes de processeur et permet de stocker des variables de programme. Les microprogrammes comportent l'initialisation du système, un autocontrôle, des sous-programmes SCSI et de gestion des données. L'autocontrôle assure une détection des pannes et des fonctions de localisation pour les niveaux de maintenance tant organisationnels qu'intermédiaires. L'autocontrôle est lancé par des commandes à distance et une autosurveillance des modes de fonctionnement. L'indication de l'état des pannes s'effectue à distance à l'aide de signaux indicateurs de défauts du bus SCSI. Les transferts d'accès direct à la mémoire sont supportés entre le contrôleur SCSI-2 122 et la mémoire vive 126 ainsi qu'entre la mémoire vive 126 et les cartes à mémoire flash. La communication entre I'ASIC de contrôle du chemin des données 112 et les cartes à mémoire flash s'effectue à travers un bus 130. Chacune des cartes PCMCIA à mémoire flash est de préférence encapsulée dans un boîtier métallique hermétique, tel qu'il est décrit dans la demande de brevet américain, numéro de série 08/318 507, déposé le 5 octobre 1994, et intitulé UNITE POUR CARTE HERMÉTIQUE D'ORDINATEUR PERSONNEL qui, en tant que référence, fait expressément partie intégrante de la présente description. Ces cartes hermétiques peuvent résister à des conditions ambiantes sévères, à savoir: possibilité de fonctionner dans une vaste gamme de températures, altitude, chocs, vibrations, immersion totale dans l'eau, pluie, brouillard salin, sable et poussière, fluides hydrauliques et tolérance aux parasites (interférences) électromagnétiques. De plus, chacune des cartes PCMCIA à mémoire flash est organisée en secteurs de 512 octets et une partie de l'élément de mémoire est configurée comme un espace mémoire de réserve. Chaque carte PCMCIA à mémoire flash comporte une mémoire flash 132, un contrôleur intelligent 134 et un microprocesseur de gestion de la mémoire 136, qui est connu. Les algorithmes mémorisés dans le contrôleur intelligent 134 sont mis en oeuvre par le microprocesseur de gestion de la mémoire 136 afin d'utiliser cet espace mémoire de réserve pour assurer une intégrité fiable des données. Un circuit d'alimentation 134 comporte un convertisseur de puissance, des régulateurs d'alimentation et des circuits de fonctions de validation du système de manière à fournir au système une tension de +5 V CC. Comme nous l'avons déjà dit ci-dessus, la communication est conforme à la norme SCSI-2. Selon la norme SCSI-2, les transferts d'informations sont traités par neuf signaux de commande et neuf signaux de données comportant un bus d'interface de dix-huit signaux. La communication sur le bus se déroule entre un déclencheur (initiateur) et un destinataire (cible) o le déclencheur (à savoir I'ordinateur hôte) lance une opération tandis qu'un destinataire (à savoir le groupe redondant de dispositifs à mémoire à semiconducteurs) exécute l'opération. En nous référant à la FIGURE 7, le présent exemple recourt à une configuration de type RAID 3 qui utilise neuf cartes à mémoire 58, 80, 82, 104, 106, 108, 110, 112 et 114 pour mémoriser des données en parallèle. Toutefois, on appréciera que la présente invention n'est pas un système RAID défini comme tel qui recourt à des disques magnétiques au lieu des dispositifs à mémoire à semiconducteurs préconisés par la présente invention. Les huit cartes 80, 82, 104, 106, 108, 110, 112 et 114 servent à mémoriser des données tandis que la carte 58 est destinée à mémoriser des informations de parité. Les informations de parité servent à reconstituer des données en cas de panne de l'une des cartes. Cette configuration parallèle permet d'écriresimultanément des données sur toutes les cartes ou de les lire simultanément à partir de toutes les cartes, ce qui démultiplie la vitesse de transfert des données des cartes à mémoire flash. À titre d'illustration, une seule carte PCMCIA à mémoire flash présente une vitesse de transfert des données de 0,5 méga- octets par seconde alors que le groupe de cartes PCMCIA à mémoire flash du présent exemple possède une vitesse de transfert des données de 4 méga-octets par seconde. Tandis qu'il est possible d'écrire et de lire dans des blocs individuels (typiquement 512 octets par bloc), aucun temps système supplémentaire n'est requis pour écrire ou lire sur l'intégralité de la carte, les performances optimales étant obtenues en écrivant ou en lisant un grand nombre de blocs à chaque commande. Cette configuration s'applique lorsque de gros fichiers de données sont utilisés et que des vitesses de transfert de données élevées sont exigées. On appréciera que, alors que la description de type RAID 3 est utilisée pour le groupe redondant de dispositifs à mémoire à semiconducteurs, un type quelconque de configuration RAID peut être employé avec les dispositifs à mémoire à semiconducteurs. De plus, la redondance mise en oeuvre dans la présente invention repose sur une méthode de mémorisation de données redondantes sur des cartes PCMCIA à mémoire flash au sein du groupe de sorte que, en cas de panne d'une seule carte, les données présentes sur la carte défaillante peuvent être reconstituées en utilisant les données redondantes provenant des autres cartes en fonctionnement. Cette technique mathématique de mémorisation de données redondantes est bien connue sous la dénomination de parité, qui utilise typiquement une fonction OU exclusif et constitue une caractéristique importante de la présente invention. Dans le cadre de la présente invention, les configurations suivantes sont envisagées sans devoir pour autant y être limitées. Un groupe redondant de cartes PCMCIA à mémoire flash configuré de manière à répartir les données entre les cartes ressemble à une configuration de type RAID 0. La répartition est une méthode qui consiste à mémoriser rapidement des blocs de données à mémoriser entre un certain nombre de cartes différentes. Dans ce type de configuration, chaque carte est lue indépendamment et il n'existe aucune redondance. En conséquence, cette configuration de type RAID 0 améliore les performances de vitesse, mais n'accroît pas la fiabilité des données, par rapport aux cartes individuelles. Un groupe redondant de cartes PCMCIA à mémoire flash configuré de sorte que les données soient écrites sous une forme identique ou soient doublées sur deux ou plusieurs cartes miroir correspond à la configuration de type RAID 1. Cette configuration requiert de nombreuses cartes et ne constitue donc pas une solution économique en matière de fiabilité des données. Un groupe redondant de cartes PCMCIA à mémoire flash utilisant des codes complexes de correction des erreurs écrits sur de multiples cartes redondantes équivaut à une configuration de type RAID 2. Un groupe redondant de cartes PCMCIA à mémoire flash incluant la redondance en utilisant une seule carte contenant la mémoire nécessaire pour la parité, qui est partagée entre toutes les cartes (à savoir une parité à bits multiplexés) ressemble à une configuration de type RAID 3 et fait l'objet de la présente description. En conséquence, les autres cartes (à savoir les cartes autres que la carte dédiée à la parité) agissent sur chaque transaction d'E/S (entrée/sortie) traitée par le groupe, ce qui équivaut à des accès en parallèle. Un groupe redondant de cartes PCMCIA à mémoire flash comportant un groupe parallèle qui utilise la répartition des blocs et une seule carte redondante dédiée à la parité (à savoir une parité à blocs multiplexés) ressemble à la configuration RAID 4. Un groupe redondant de cartes PCMCIA à mémoire flash dont la parité est répartie entre toutes les cartes du groupe est identique à une configuration de type RAID 5. Toutefois, dans cette configuration, les cartes sont indépendantes, plus précisément au niveau des accès, une configuration utilisée en présence de nombreuses demandes d'E/S puisqu'elle est en mesure de traiter plus rapidement des transactions simultanées d'E/S. On peut estimer que cette configuration convient bien pour une utilisation dans des postes de travail multiutilisateur mis en réseau. Dans des configurations de type RAID 1 ou supérieur, une carte peut tomber en panne, être enlevée et remplacée sans interrompre le système. Ensuite, une carte est rapidement reconstituée de manière à rétablir le système dans son état initial. Les FIGURES 8A-S présentent des schémas de principe de l'électronique du groupe redondant. Ces circuits ont été décrits ci-dessus en se référant à un schéma de principe de ces circuits (FIGURE 6). Ce schéma de principe détaillé est facile à comprendre et à apprécier par tous ceux qui disposent de compétences courantes en la matière. On appréciera aussi que ce schéma de principe ne constitue qu'un exemple et ne doit pas limiter la portée de la présente invention étant donné que ceux qui disposent de compétences courantes en la matière pourront imaginer d'autres configurations de circuits. La FIGURE 9 illustre une représentation hiérarchique du logiciel utilisé par la présente invention. Le sous-programme boot.rom, mémorisé dans I'EPROM 128, comporte: un code d'amorçage qui initialise le système, exécute des diagnostics et charge le loader2.rom; des services d'interruption du logiciel limités aux possibilités de lecture et d'écriture des cartes, des services limités UART (interface de transmission asynchrone) et des services "occupé" et de commande limités destinés au port SCSI ainsi qu'un sous-programme de mise au point (débogueur). Le sous-programme loader2.rom lit le répertoire de la carte à partir de laquelle il a été chargé, localise le Ioader3.rom, charge ce programme de chargement dans la mémoire vive 126 et lance l'exécution du loader3.rom. Ce programme de chargement comprend un bloc de paramètres de données qui sert à déterminer les données relatives aux informations de partitionnement. Le sous- programme loader3.rom détermine à partir de quelle carte il faut charger le loader4.rom. Le sous-programme loader4.rom charge le fichier loadmap. dat de la carte à partir de laquelle il a été chargé dans la plus basse zone possible de la mémoire vive disponible, puis charge en mémoire chaque programme selon la séquence spécifiée dans loadmap.dat. Une fois tous les programmes chargés, loader4.rom exécute des tâches d'arrière- plan. Ensuite, loader4.rom lance les interruptions logicielles init_1-6 telles qu'elles sont spécifiées par loadmap.dat. Après init_6, I'interruption du système principal est validée. Puis, le sous- programme idle_bit met à jour l'image de la mémoire vive de loadmap.dat. Le sous-programme arraytable.exe assure le suivi du groupe et construit les tables de définition des ensembles de groupes et contrôle que les cartes comportent bien le fichier de données arraytable.dat, lit le fichier et établit les références croisées des contenus avec toutes les autres cartes. Si aucune différence n'est décelée, la carte est ajoutée au groupe. Le systable.exe fournit une structure globale des données contenant les paramètres au niveau du système. Cette table est obtenue au moment du démarrage selon les services déterminés dans la mémoire morte et le programme de chargement. Le sous- programme systable.dat présent sur toutes les cartes assure le suivi des paramètres qui dépendent du système. Le sous-programme aio_ide.exe assure les services d'interface et d'horloge. Le sous-programme aio_supplement.exe assure les services auxiliaires (support) au moyen de commandes de prétraitement. Le sous-programme host_scsi.exe assure l'interface hôte SCSI-2. Le sous- programme scsisupplement.exe gère la zone tampon qui est divisée en pages. Le sous-programme engif.exe analyse les commandes générées et recueillies par dapcom.exe, génère des commandes fondées sur le démarrage et exécute d'autres fonctions de servitude. Le sous-programme dapos.exe assure des services tels que des transferts, des lectures/écritures de fichiers des cartes vers la mémoire, compare les fichiers, copie les fichiers, etc. Le sous-programme dap_err.exe crée une table des erreurs dans bufferimage.dat et conserve à tout moment une somme de contrôle de toutes les données. Lorsqu'une erreur de somme de contrôle est décelée en cours de fonctionnement, la copie mémoire est rafraîchie à partir de la copie de la mémoire tampon. Le sous- programme dapdiag.exe achemine les corrections et exécute le test de surveillance. Le sous-programme daplog.exe gère et consigne les commandes de mot de passe et met à jour les fichiers password.dat et d'autres fichiers. Le sous-programme dap_com.exe traite les données entrantes. Le sous-programme tuneable.exe lit le fichier tuneable.dat et effectue les ajustements nécessaires. La FIGURE 10 présente une variante d'exécution de la présente invention. Dans cette variante d'exécution, un boîtier 140 qui peut être logé dans un bâti standard, et qui est courant dans les applications militaires, comporte un panneau de protection avant 142 et un panneau de protection arrière 144. Le panneau de protection arrière 144 comprend des connecteurs de type militaire, un connecteur SCSI-2, deux connecteurs RS- 232 et un connecteur d'alimentation, chacun d'eux étant raccordé à un connecteur 146. Le connecteur 146 est raccordé à un fond de panier (non illustré) qui est raccordé à des cartes équipées à circuits imprimés 148, 150 et 152 installées dans le boîtier 140. De multiples dispositifs à mémoire à semiconducteurs, dans cet exemple des cartes PCMCIA à mémoire flash de -40 méga-octets (par exemple le numéro de référence SPD5A-40 commercialisé par SunDisk Corp., Santa Clara, Califomrnie) sont raccordés électroniquement à un fond de panier communiquant avec les cartes à circuits imprimés 148, 150 et 152 par l'intermédiaire de son connecteur standard à 68 broches. Les cartes à mémoire flash 154-161 sont fixées dans le boîtier 140 à l'aide de rainures correspondantes pratiquées dans les parois intérieures de ce boîtier. En nous référant aux FIGURES 10 et 12, le panneau de protection avant 142 comporte, en variante, une poignée 164 capable de pivoter et fixée à la position 166. Un schéma de principe électrique destiné à cette exécution est identique à celui illustré à la FIGURE 6, o l'électronique est raccordée par des circuits et est installée sur les cartes équipées à circuits imprimés 148, 150 et 152. Les FIGURES 13A-T présentent des schémas de principe de l'électronique du groupe redondant prévue pour cette exécution. Ce schéma de principe détaillé est facile à comprendre et à apprécier par les personnes qui disposent de compétences courantes en la matière. On appréciera aussi que ce schéma de principe ne constitue qu'un exemple et ne doit pas limiter la portée de la présente invention étant donné que ceux qui disposent de compétences courantes en la matière pourront imaginer d'autres configurations de circuits. En général, ce schéma de principe, FIGURES 13A-T, est identique au schéma de principe des FIGURES 8A-S hormis quelques modifications mineures imposées par la réencapsulation et la conformité avec les spécifications militaires. REVENDICATION Système à mémoire à semiconducteurs destiné à la mémorisation de données, devant être interfacé avec un système hôte (125), caractérisé par de multiples dispositifs à mémoire à semiconducteurs (58, 80, 82, 104, 106, 108, , 112, 114) et des dispositifs d'interfaçage (102, 122) qui présentent cette multitude de dispositifs à mémoire à semiconducteurs (58, 80, 82, 104, 106, 108, 110, 112, 114) au système hôte (125) comme un unique dispositif logique à mémoire à semiconducteurs.