Brevet FR2322427A1 — publié le 19770325

L'invention concerne un procédé permettant l'utilisation de sous ensembles de mémoire à semi-conducteurs aptes à avoir un fonctionnement partiel, dans un module de mémoire de travail constitué par un grand nombre de blocs travaillant au-nlve u des bytes et qui coopère avec un dispositif de cor rection d'erreurs et dans lequel les blocs sont réunis en secteurs dont chacun englobe la largeur complète de données d'un accès de mémoire (par exemple 8 bytes) et peut être sélectionné par l'intermédiaire de signaux d'adresses et de signaux de "validation de micro-composant". Urr pourcentage important de sous-ensembles de mémoire fabriqués est actuellement jeté au rebut par les constructeurs de semi-conducteurs car seuls des sous-ensembles aptes à avoir un fonctionnement total sont ven dables. Il existait une possibilité d'utiliser des sous-ensembles aptes à avoir un fonctionnement partiel dans des systèmes de mémoire, le prix de re vient pour un type déterminé de sous-ensembles ainsi que les couts de fa brication pour un système de mémoire pourraient être abaissés de façon dé terminante, tout en permettant une amélioration considérable du rendement de fabrication. Chaque module de mémoire est constitué en général par un ensemble de blocs plats de mémoire travaillant au niveau des bytes. Ces blocs plats de mémoire sont réunis pour former un certain nombre de secteurs. Chaque secteur contient la largeur complète de données d'un accès de mémoire, de par exemple 8 bytes. La sélection d'un secteur pour chaque opération indi viduelle de mémoire s'effectue par l'intermédiaire d'adresses et de signaux de "validation de micro-ecmposant". La fiabilité de mémoires à semi-conducteurs de grande capacité est déjà améliorée aujourd'hui de façon importante par des circuits de cor rection d'erreurs. Des réseaux de correction connus corrigent des erreurs de 1 byte et déterminent des erreurs doubles et une grande partie d'erreurs multiples. Si l'on équipait de tels systèmes de mémoire avec des sous-ensem bles aptes à avoir un fonctionnement partiel, un ensemble d'erreurs doubles et d'erreurs multiples, identifiées, compliquerait de façon estraordi7qnire le trafic des données, dénué d'erreurs, dès le début du premier branchement. La présente invention a pour but d'indiquer un procédé et un dispositif per mettant l'utilisation de sous-ensembles de mémoire à semi-conducteurs, aptes à avoir un fonctionnement partiel, dans des modules de mémoire de travail du type indiqué plus haut. Pour résoudre ce problème, l'invention part du fait fait qu'un trafic de données dénué d'erreurs ou caractérisé uniquement par des erreurs individuelles pouvant être corrigées est encore possible lorsque llassociation à câblage fixe de différents blocs travaillant au niveau des bytes est remplacée par une réunion souple, pouvant titre choisie librement en princope, de groupes de bytes individuels et propose par conséquent que les différents blocs travaillant au niveau des bytes soient réunis-en secteurs, d'une façon souple et pouvant être choisie librement, en fonction de la répartition des erreurs doubles ou multiples apparaissant dans les sous-ensembles de mémoire à semi-conducteurs, de telle manière qu'ensuite, soit absolument aucune erreur, soit seulement encore des erreurs simples pouvant être corrigées sont déterminées par le dispositif de correction d'erreurs. De cette façon il est possible de réaliser, grâce à une reconfiguration interne, une adaptation au profil d'erreur changeant dans le module de mémoire. Â l'aide de ce procédé, chaque module peut prendre une configuration suivant un nouvel état de fonctionnement approprié après chaque interruption de fonctionnement ou bien après chaque erreur double ou multiple apparue. L'adresse de sélection appliquée de l'extérieur au module n'est plus, de cette façon, identique au mot de mémoire effectif d'une information dans le module.La sélection par exemple d'unités à 8 bytes individuels (par exemple sous la forme de blocs ou éléments plats) par- mi le nombre total des unités disponibles (par exemple 32) s'effectue gracie à une sélection s'effectuant au niveau des unités (par exemple 8 parmi 32). On peut obtenir de différentes façons le code de commande pour ces sélections on teste par exemple un module nouvellement raccordé ou bien un module caractérisé par l'apparition d'une erreur double ou d'une erreur multiple, au moyen de l'un des processeurs, qui sont en trafic avec lui, et lton détermine à l'aide de ce dernier une configuration en réunissant toutes les unités de bytes disponibles, d'une façon optimisée pour le cas d'erreur particulier , en secteurs. Le code de commande est transmis par l'intermédiaire du point d'intersection de mémoire, dans un registre de reconfiguration, dans le module de mémoire et y est maintenu. La traduction de l'adresse s'effectue dans le module de mémoire. le code de commande peut être également transmis de façon analogue par un microprocesseur localisé dans la commande du système de mémoire. Une forme de réalisation particulièrement avantageuse d'un dispositif pour la mise en oeuvre du procédé conforme à l'invention est obtenue dans le cas de l'utilisation de ce qu'on appelle des sous-ensembles PROM (mémoires fixes programmables) dans le module de mémoire lui-même, notamment grâce au fait que le registre de reconfiguration est constitué par un compteur de configurations et par une série de sous-ensembles PROM, que le compteur de configurations est avancé d'un pas pour chacune des erreurs doubles ou multiples déterminées par le dispositif de correction d'erreurs et produit à ses sorties une autre combinaison de code , que les sous-ensembles PROM sont reliés aux sorties du compteur de configurations et,en étant commandé par la combinaison de code de sortie du compteur de configurations fournissent à leurs sorties des combinaisons de code de demande qu1ils réalisent par l'intermédiaire de circuits portes commandés par les signaux de cadence, la réunion, dépendante du profil d'erreurs, des sous-ensembles de mémoire à semi-conducteurs en secteurs. Â titre d'exemple on a décrit ci-dessous et illustré schématiquement aux dessins annexés un mode d'exécution du procédé conforme à l'invention et un dispositif conforme à l'invention pour la mise en oeuvre dudit procédé. Des explications ci-après sont données en référence à un exemple d'un module de mémoire à deux M bytes, qui peut être constitué à partir de sous-ensembles de mémoire connus en soi tel que par exemple l'untel 2107 P, dont chacun mémorise 16384 x 1 bits. On suppose que les sous-ensembles de mémoire du module de mémoire sont disposés, comme cela est indiqué dans la partie supérieure de la figure 1, sur des blocs de mémoire suivant 36 sous-ensembles de mémoire , organisés en 4 x 16384 mots de 9 bits. On suppose que l'ensemble du module de mémoire est formé, comme ceci est indiqué dans la partie inférieure de la figure 1, par au total 32 blocs de mémoire de ce type, parmi lesquels respectivement 8 blocs constituent un secteur possédant une largeur de voie de données de 8 bytes. Par conséquent 4 secteurs sont présents dans le module de mémoire supposé. Habituellement les blocs de mémoire, par exemple au nombre de 8, constituant un secteur, sont reliés entre eux de façon fixe. Lorsqu'alors, lors de l'appel de données à partir d'un tel secteur, le dispositif associé d'identification d'erreurs détermine des erreurs doubles ou multiples, le mode de fonctionnement correct du module de mémoire ne peut être assuré que grâce au fait que les blocs de mémoire contenant les erreurs ou tout au moins les sous-ensembles de mémoire effectués sont changés. On devrait comprendre aisément que ceci représente une dépense élevée en matériel et en travail. Ici l'invention prévoit et propose de réunir,d'une façon souple et pouvant être choisie librement, en secteurs les différents blocs de mémoire, travaillant au niveau des bytes, en fonction de la répartition des erreurs doubles ou multiples apparaissant dans les sous-ensembles à semi-conducteurs, de telle manière qu'ensuite absolument aucune erreur ou bien seulement encore des erreurs simples ou pouvant être corrigées sont déterminées par le dispositif de correction d'erreurs.Une telle réunion souple et pouvant ê- tre choisie librement de blocs de mémoire en secteurs est représentée dans la partie inférieure de la figure 1 par la liaison variable de blocs de mémoire, désignée une fois en tant que configuration 1 et représentée par une ligne continue, et désignée par ailleurs en tant que configuration 2 et représentée par des lignes formées de traits. La sélection des différents blocs de mémoire s'effectue par l'intermédiaire d'un réseau de sélection 8 parmi 32. La transmission#directe des signaux de sélection est commandée par l'adresse délivrée et par un registre de reconfiguration, dont la figure 2 donne un exemple. Le registre de reconfiguration est constitué par un compteur de configuratiors Z et par une série de sous-ensembles de mémoire PRON , PRON 1 à PROM 8.Dans les sous-ensembles PROM, on peut mémoriser par exemple 256 différentes combinaisons différentes du module plat à 8 bytes, en commandant les entrées des sous-ensembles PROM PROM 1 à PROM 8 en parallèle d'une part par les sorties du compteur de configurations Z et d'autre part par 2 positions S1 et S2 de l'adresse, lesdits sous-ensembles délivrant au total à leurs 32 sorties respectivement 4 combinaisons à 8 bytes, nécessaires pour la réunion des blocs de mémoire en secteurs. Ces combinaisons sont envoyées à l'aide des portes G1 à G32 et de ce qu'on appelle le signal OS de sélection de microcomposant aux 32 blocs de mémoire du module de mémoire. lors de la mise en fonctionnement d'une mémoire dans un système, on effectue tout d'abord un cycle de contrôle du module de mémoire. Les données inscrites sont alors lues et il est établi dans le dispositif de correction d'erreurs si une erreur double ou multiple apparait. S'il se présente un signal correspondant du dispositif de correction d'erreurs, le compteur de configuratiors Z reçoit une impulsion de comptage de la part du dispositif de correction d'erreurs. Le compteur de configuratiox Z est avancé d'une position avec cette impulsion de comptage.Mais la combinaison de code présente à ces sorties i à 6 se modifie avec cette avancement et également, avec cette combinaison de code modifiée présente simultanément dans les conducteurs d'entrée des sous-ensembles PROM PROM 1 à PROM 8, les combinaisons de blocs plats à 8 bytes délivrées aux sorties des sous-ensembles PROM varient également, c'est-à-dire qu'à chaque apparition d'une impulsion de comptage à l'entrée du compteur de configuratioa Z, une nouvelle associa tion des blocs de mémoire, interne à la mémoire, en secteurs est établie. Cette procédure se répète toujours de la même façon jusqu'à ce qu'une identification d'erreur double par le dispositif de correction d'erreurs ne se produise plus. S'il ne se présente plus d'erreurs de bits individuels, ni également de défaillances de lignes ou de colonnes complètes de sous-ensembles de mémoire ou de sous-ensembles complets de mémoire , la probabilité est grande que des erreurs doubles ou des erreurs multiples soient déterminées par zones lors d'opérations de lecture et que le procédé décrit ne suffise pas pour réaliser la reconfiguration du module de mémoire. Cependant, la mémoire peut être amenée à nouveau, également dans un tel cas, dans un état prêt pour le fonctionnement par suite de l'utilisation seulement encore partielle, telle que par exemple aux 3/4 ou 1/2 ou 1/4 de la capacité du module de mémoire pour la reconfiguration. Mais la disponibilité d'une telle place partielle importante du module de mémoire reste conservée.De même un tel ordonnancement des unités de bytes se produit de la méme façon que décrit plus haut, notamment grâce au fait qu'une partie de la capacité des sous-ensembles PROM est réservée pour la reconfiguration de zones partielles, par commande au moyen des positions d'adresses de poids plus élevés, tel que par exemple les positions 51 et S2 indiquées dans l'exemple de la figure 1. Le procédé conforme à l'invention et le dispositif pour la mise en oeuvre de ce dernier non seulement sont appropriés pour permettre l1utilisa- tion de sous-ensembles de mémoire à semi-conducteurs, aptes à avoir un fonctionnement partiel, dans un système de mémoire , mais offrent également des avantages pour leur utilisation dans des mémoires qui ne sont équipées que de sous-ensembles aptes à avoir un fonctionnement complet. Grâce à l'utilisation du procédé conforme à l'invention, on peut arriver en effet à ce que la disponibilité de la mémoire soit assurée avec une étendue nettement plus importante que ceci ne serait possible uniquement à l'aide d'un dispositif de correction d'erreurs. REVE#i I CATI O#S 1. Procédé pour l'utilisation de sous-ensembles de mémoire à semiconducteurs aptes à avoir un fonctionnement partiel, dans un module de mémoire de travail constitué par un grand nombre de blocs travåillant au niveau des bytes et qui coopère avec un dispositif de correction d'erreurs et dans lequel les blocs sont réunis en secteurs dont chacun englobe la largeur complète de données d'un accès de mémoire (par exemple 8 bytes) et peut être sélectionné par l'intermédiaire de signaux d'adresses et de signaux de "validation de micrO-composant", caractérisé par le fait que les différents blocs travaillant au niveau des bytes sont réunis de façon souple et pouvant être choisie librement en secteurs, en fonction de la répartition des erreurs doubles ou multiples apparaissant dans les sous-ensembles de mémoire à semi-conducteurs, de telle manière qu'ensuite absolument aucune erreur ou bien seules encore des erreurs simples ou pouvant être corrigées sont déterminées par le dispositif de correction d'erreurs. 2. Dispositif pour la mise en oeuvre du procédé suivant la revendication 1, caractérisé par le fait qu'il comporte un registre de reconfiguration situé dans le module de mémoire et dans lequel le code de commande pour la réunion des différents blocs est mémorisé. 3. Dispositif suivant la revendication 2, caractérisé par le fait que le registre de reconfiguration est constitué par un compteur de configurations (z) et par une série de sous-ensembles de mémoires fixes programmables (PROM 1 .... 8), que le compteur de configurations (z) est avancé d'un pas à chacune des erreurs doubles ou multiples déterminée par le dispositif de correction d'erreurs et produit alors une autre combinaison de code à ces sorties (1....6) , que les sous-ensembles PROM sont reliés aux sorties du compteur de configurations et, en étant commandés par la combinaison de code de sortie du compteur de configuratiors fournissent à leurs sorties des combinaisons de codes de commande qui provoquent, par l'in termédiaire de circuits de portes ( & ... ...G32), commandés par des signaux de cadence, la réunion, dépendante du profil d'erreurs, des blocs de mémoire à semi-conducteurs en secteurs.