FR2481487A1 - Systeme de traitement de l'information utilisant des techniques de regeneration et de detection et correction d'erreurs - Google Patents

Systeme de traitement de l'information utilisant des techniques de regeneration et de detection et correction d'erreurs Download PDF

Info

Publication number
FR2481487A1
FR2481487A1 FR8108215A FR8108215A FR2481487A1 FR 2481487 A1 FR2481487 A1 FR 2481487A1 FR 8108215 A FR8108215 A FR 8108215A FR 8108215 A FR8108215 A FR 8108215A FR 2481487 A1 FR2481487 A1 FR 2481487A1
Authority
FR
France
Prior art keywords
word
memory
module
regeneration
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8108215A
Other languages
English (en)
Other versions
FR2481487B1 (fr
Inventor
Michael L Ziegler
Michael B Druke
John R Van Roekel
Ward Ii Baxter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
Data General Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Data General Corp filed Critical Data General Corp
Publication of FR2481487A1 publication Critical patent/FR2481487A1/fr
Application granted granted Critical
Publication of FR2481487B1 publication Critical patent/FR2481487B1/fr
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

L'INVENTION CONCERNE UN SYSTEME DE TRAITEMENT DE L'INFORMATION DANS LEQUEL LES BITS DE CHAQUE MOT MEMORISE DANS UNE MEMOIRE SONT REGENERES PERIODIQUEMENT. DANS LE MEME TEMPS QUE L'OPERATION DE REGENERATION, EXECUTEE PAR DES ELEMENTS 1, 2, 3, 4, 6, EST REALISEE SUR CHACUN DES MOTS, UNE OPERATION DE DETECTION D'ERREUR, EFFECTUEE PAR DES ELEMENTS 20, 21, EST EGALEMENT REALISEE ET, SI UNE ERREUR EST DETECTEE DANS UN MOT EN COURS DE REGENERATION, ELLE EST CORRIGEE PAR UN ELEMENT 24 ET ELLE EST RECRITE DANS LA MEMOIRE 10. AINSI, LES ERREURS SONT DETECTEES EN CONTINU ET ELLES SONT CORRIGEES EN UN TEMPS NE DEPASSANT PAS CELUI DEMANDE POUR L'OPERATION DE REGENERATION. DOMAINE D'APPLICATION: REGENERATION DES MEMOIRES DE SYSTEMES DE TRAITEMENT DE L'INFORMATION.

Description

l 2481487 L'invention concerne des techniques de correction d'erreurs
destinées à des mémoires d'un système de traitement de l'information, et plus particulièrement des techniques de correction d'erreurs convenant à un ensemble de mémoires à accès direct dynamiques dans lequel une détection d'erreurs est réalisée sous la forme d'une partie d'une opération de régénération, les données corrigées n'étant
récrites dans la mémoire qu'à la suite d'une telle détection.
Dans des systèmes antérieurs, des ensembles de mémoires dynamiques à accès direct présentent une possibilité de correction d'erreurs ainsi qu'une possibilité de régénération périodique des bits d'information mémorisés dans l'ensemble ou réseau. Chaque position de bit sur la puce mémorise une information numérique sous la forme d'un "un" ou d'un "zéro" représenté par la présence ou l'absence d'une certaine charge emmagasinée sur l'élément capacitif formant un bit. Etant donné qu'une charge présente tend à se perdre au bout d'un certain temps, il est nécessaire d'extraire périodiquement l'information mémorisée à chaque position de bit d'une rangée d'une puce et de récrire cette information dans chaque bit de la rangée afin de ramener la charge à sa valeur initiale. Cette opération, appelée "opération de régénération", est déclenchée assez fréquemment pour que la charge correspondant à "zéro" ou à "un" soit maintenues à chaque position de bit, à une valeur proche des niveaux de changement auxquels le bit a été chargé lors de la mise en
mémoire initiale de la valeur "un" ou "zéro".
Le processus de régénération est mis en oeuvre-
sur une rangée d'une puce par la transmission à cette puce d'une adresse de rangée et d'un signal d'échantillonnage de l'adresse de rangée. Le signal d'échantillonnage provoque l'extraction, par des amplificateurs reliés 'à chaque colonne, de l'information binaire mémorisée dans chaque position de colonne le long de la rangée désignée. Les amplificateurs de colonne récrivent dans des bits de la rangée désignée correspondante l'information binaire, constituée d'un "un" ou d'un "zéro", telle que mémorisée initialement dans cette
rangée, à chaque colonne.
Toutes les rangées de la puce sont régénérées séquentiellement de la même manière par l'incrémentation d'une unité de l'adresse de rangée après chaque opération de régénération. Après que la dernière rangée a été régénérée, l'adresse de rangée est ramenée à la première rangée de la
puce et le processus de régénération des rangées se poursuit.
Comme indiqué précédemment, l'intervalle de temps entre des opérations successives de régénération dépend du nombre total de rangée de la puce et de la vitesse à laquelle la charge
mémorisée se perd.
Dans l'art antérieur, si une erreur existait, malgré la régénération, dans un mot placé en mémoire, la présence de cette erreur n'était pas déterminée avant la demande de ce mot particulier par un demandeur, par exemple une unité centrale de traitement ou un dispositif d'entrée/sortie. Des erreurs apparaissant dans des positions de bits d'un mot semblent être dues à des particules alpha contenues dans l'atmosphère ou dans la matière constitutive
de l'ensemble de mémoires à accès direct, ou encore, peut-
être, dans la matière constitutive de composants de circuits auxiliaires. On ne se rend compte de la présence d'une erreur dans un mot qu'au moment o ce mot est extrait de la mémoire conformément à une demande formulée par le demandeur. Si une telle erreur existait dans un mot mémorisé, elle devrait être corrigée avant que ce mot soit transmis au demandeur et le mot corrigé devrait également être transmis au circuit "d'écriture" en mémoire afin que le mot corrigé soit récrit dans la même position. La présence d'une erreur dans le mot est normalement déterminée au moyen de bits supplémentaires de vérification placés en mémoire et associés à chaque mot, bits à partir desquels une erreur affectant l'un quelconque des bits d'un mot peut être déterminée. Le système antérieur
présente plusieurs inconvénients.
L'un de ces inconvénients est que le demandeur peut ne pas faire appel à un mot situé dans une position particulière de la mémoire pendant une longue période de temps, cette période pouvant être suffisante pour qu'une erreur apparaisse dans plus d'un bit du mot choisi. Par conséquent, il est possible qu'un mot en mémoire ne soit pas
appelé avant la fin d'un laps de temps pouvant atteindre peut-
être une heure, ce qui crée un risque inutilement important d'erreur incorrigible de bit double dans cette position de mot avant qu'une correction puisse être tentée. Les techniques typiques de correction d'erreurs ont pour caractéristique de pouvoir corriger des erreurs portant sur un seul bit, mais si des erreurs portant sur plusieurs bits apparaissent dans le mot avant la correction du premier bit, le circuit de correction d'erreurs détecte la présence des erreurs sur plusieurs bits, mais est incapable de les corriger et le système de traitement de l'information risque
de mal fonctionner.
Un autre inconvénient résulte de la demande fréquente d'extraction d'un mot d'une mémoire alors que ce mot peut présenter une erreur "dure", c'est-à-dire une erreur ne pouvant être corrigée en mémoire par nouvelle écriture du mot corrigé par l'intermédiaire du circuit de correction d'erreur. Une erreur dure peut résulter d'un défaut de fonctionnement d'un composant de circuit ou, peut-être, d'un bit défectueux en mémoire (par exemple un état "bloqué à zéro" ou "bloqué à un" d'un bit de mémoire) . Dans ce cas, si un mot présentant une erreur dure est demandé fréquemment, le circuit de correction d'erreur tente d'effectuer une correction en mémoire à chaque fois que l'on accède au mot et il ne parvient pas à effectuer cette correction de manière satisfaisante. En conséquence, si une erreur dure apparaît dans un mot fréquemment demandé, le fonctionnement de la machine se ralentit considérablement en raison du temps
nécessaire à chaque tentative de correction d'erreurs.
Selon l'invention, chaque mot de la mémoire est lu et des erreurs portant sur un seul bit sont corrigées dans tous les mots, si cela est nécessaire, à une fréquence
suffisante pour que la probabilité statistique de l'appari-
tion de plus d'une erreur dans un mot quelconque dans l'intervalle de temps compris entre des lectures successives et des corrections d'erreurs successives, tende à être négligeable. Ainsi, la position d'un mot dans lequel une erreur risque d'apparaître tend à être aléatoire, avec seulement une très faible probabilité d'apparition d'erreurs sur deux bits de tout mot quelconque dans l'intervalle de temps compris entre une lecture du mot et une correction d'une erreur située dans le mot, si cela est nécessaire, et la lecture et la correction suivantes de l'erreur de ce mot, si nécessaire. Le processus de lecture et de correction d'erreurs, parfois désigné ci-après "opération d'inspection" se produit, selon l'invention, à un intervalle de temps prédéterminé qui dépend de la période de régénération et du nombre de mots contenus dans la mémoire. La fréquence d'apparition d'erreurs de bits dans la mémoire est telle que la probabilité d'une erreur incorrigible portant sur deux bits (ou sur un plus grand nombre de bits) dans tout mot,
entre deux inspections de ce mot, est négligeable.
L'intervalle de temps prédéterminé établit une limite pour le
laps de temps passé à essayer de corriger une erreur dure.
Dans la forme particulière et préférée de réalisation décrite ci-après, l'intervalle séparant deux inspections d'un mot quelconque en mémoire est de deux secondes. Cependant, des périodes de temps sensiblement plus longues peuvent convenir, comme cela peut être le cas avec une mémoire plus grande, avec seulement une probabilité légèrement plus forte d'apparition d'une erreur portant sur
deux bits ou sur un plus grand nombre de bits.
Ainsi, conformément à l'invention, la correction d'un mot en mémoire présentant une erreur portant sur un seul bit n'est réalisée que lorsque le mot a été extrait périodiquement et qu'une erreur a été détectée (opération d'inspection) à un intervalle de temps ayant été précédemment considéré comme le temps nécessaire à la régénération des mots de la mémoire. Par conséquent, comme mentionné précédemment, une limite est imposée au temps perdu en essayant de corriger une erreur présente dans un mot de la mémoire, même s'il s'agit d'une erreur dure, portant sur un seul bit et qui est incorrigible. Dans le système selon l'invention, lorsqu'un demandeur demande un mot de la mémoire, ce mot fait l'objet d'une vérification destinée à déterminer s'il contient une erreur ou non et il est corrigé,
si cela est nécessaire, avant d'être transmis au demandeur.
Cependant, aucune tentative de correction de l'erreur de ce mot de la mémoire n'est effectuée à ce moment. Comme indiqué précédemment, l'erreur présente dans ce mot est détectée par la suite, au moment o il est extrait sélectivement de la mémoire, pendantD la durée d'inspection de ce mot de la mémoire. Au cours de l'opération de régénération, les mots contenus dans la mémoire sont extraits sélectivement et séquentiellement et la détection d'erreurs dans ces mots ou inspection s'effectue pratiquement en même temps qu'une régénération des bits placés dans la même rangée que les mots inspectés. Toutes les erreurs portant sur un seul bit sont alors corrigées de sorte que l'on obtient une correction périodique des erreurs de tous les mots placés dans la mémoire. L'invention a donc pour caractéristique une recherche continue (et une détection) des erreurs d'un seul bit dans la mémoire pendant l'opération de régénération, et cette opération de détection ne demande pas à la machine un temps de fonctionnement s'ajoutant à celui déjà nécessaire pour l'opération de régénération de l'ensemble de mémoires dynamiques à accès direct. Une correction d'erreurs, si elle
est nécessaire, a donc lieu à une fréquence fixe qui établit.
ainsi une limite pour le processus de correction d'erreurs,
comme indiqué précédemment.
Une mémoire comprenant des blocs de mémoires dynamiques à accès direct est commandée par un 'contrôleur de bloc" qui applique périodiquement et séquentiellement un signal de régénération à chaque rangée correspondante de puces de mémoires dynamiques à accès direct constituant la mémoire globale. Pendant le laps de temps au cours duquel le signal de régénération est appliqué à la mémoire, le contrôleur de--bloc applique également un signal de lecture à un seul mot de la mémoire globale. Ce mot est extrait par le signal de lecture et y est corrigé si cela est nécessaire. Le mot corrigé est récrit dans la même position à l'intérieur de la mémoire pendant la période de temps au cours de laquelle le contrôleur de bloc continue de s'adresser au mot ayant été extrait. D'une manière plus spécifique, dans une forme particulière de réalisation comportant des puces de mémoires dynamiques à accès direct à 16K, utilisées typiquement dans la mémoire selon l'invention, chaque bit doit être régénéré toutes les deux millisecondes (ms) conformément aux spécifications typiques de la puce de mémoires à accès direct. Les puces de mémoires à accès direct comportent des bits disposés de manière à former 128 rangées et 128 colonnes. Etant donné que l'élément de mémorisation de chaque bit de la puce à mémoires à accès direct est constitué essentiellement d'un condensateur à durée d'emmagasinage ou de stockage limitée, la charge emmagasinée pour chaque bit doit être rétablie (régénérée) périodiquement dans chaque position de bit, à une fréquence suffisante pour être maintenue afin de conserver l'état "un" ou "zéro" mémorisé dans chaque position de bit sous la forme d'une charge accumulée. Pour rétablir la charge
dés bits d'une mémoire à accès direct, un signal d'échantil-
lonnage d'adresse de rangée (RAS) est appliqué simultanément à tous les bits d'une rangée désignée de toutes les puces de la mémoire. L'adresse de rangée du signal RAS est incrémentée pour la rangée suivante et un signal RAS est répété toutes les 15 microsecondes (lis). Etant donné que chaque puce de mémoires à accès direct.comporte 128 rangées, chaque rangée (et chaque bit de la puce) est régénérée toutes les 1920
microsecondes, soit environ7toutes les deux millisecondes.
Après le début, mais avant la fin de l'assertion du signal RAS, un signal d'échantillonnage d'adresse de colonne (CAS) est appliqué à une seule colonne de toutes les puces formant un plan de mémoire. Les signaux RAS et CAS se chevauchent et leurs assertions provoquent l'extraction du bit mémorisé dans la position correspondant aux adresses de rangée et de colonne des signaux d'échantillonnage appliqués
à chaque puce du plan de mémoire. Ce dernier comporte typi-
quement trente-neuf puces, des positions de bits correspon-
dants de 32 puces constituant les bits d'un mot et les positions de bits correspondants de 7 puces constituant les bits de vérification utilisés conjointement avec les 32 bits
pour une correction d'erreur de l'un quelconque des 39 bits.
Ainsi, chaque mot de la mémoire est constitué de bits corres-
pondants de chacune des 39 puces, et l'application de signaux RAS et CAS se chevauchant à chaque puce provoque l'extraction
d'un mot à l'adresse choisie de colonne et de rangée.
L'invention sera décrite plus en détail en regard des dessins annexés à titre d'exemples nullement limitatifs et sur lesquels: - la figure 1 est un schéma fonctionnel d'une forme de réalisation de l'invention; - les figures 2 et 3 sont des schémas fonctionnels d'une partie d'une seconde forme de réalisation de l'invention; et - la figure 4 est un schéma fonctionnel d'une autre partie de la seconde forme de réalisation de
l'invention.
La figure 1 est un schéma fonctionnel d'une forme de réalisation de l'invention, ce schéma montrant le fonctionnement de cette forme de réalisation. Un ensemble 10 de mémoires dynamiques à accès direct comprend des puces classiques de mémoires à accès direct, généralement désignées "MOSTEK", à savoir des puces du types "MK 4116". Chaque puce constitue une mémoire dynamique à accès direct de 16 384 par 1 bit, ayant 128 rangées et 128 colonnes de bits. A titre illustratif de l'invention4 on considère que deux modules, à savoir un module 0 et un module 1, constituent l'ensemble 10 de mémoires dynamiques à accès direct. Chaque module comporte 39 puces de mémoires dynamiques à accès direct, disposées de manière que des positions de bits correspondantes des puces présentent 32 bits constituant les bits d'un mot et 7 bits constituant les bits de vérification (bits C). L'ensemble 10 de mémoires dynamiques à accès direct comporte une entrée d'adresse constituée par un multiplexeur deux par un (MUX) 1 dont une première entrée d'adresse provient d'un demandeur pouvant être une unité centrale de traitement ou un dispositif d'entrée/sortie. L'autre entrée d'adresse du multiplexeur 1 est constituée par un compteur 2 d'adresse de régénération. Un signal de commande, à savoir le signal de
sélection de régénération (REF SEL), est appliqué au multi-
plexeur 1 afin de déterminer laquelle des deux adresses est
présentée à l'ensemble 10 de mémoires dynamiques.
Le signal numérique d'adresse appliqué par une ligne 9 à l'ensemble 10 de mémoires dynamiques comprend une adresse de rangée constituée par les sept chiffres de poids faible du signal numérique, une adresse de colonne constituée par les sept chiffres suivants de poids faible du signal numérique, la position numérique de poids fort du signal d'adresse étant utilisée pour sélectionner le module de l'ensemble 10 de mémoires dynamiques, dans ce cas le module 0 ou le module 1. Dans d'autres formes de réalisation de
l'invention, il est possible d'utiliser plus de deux modules.
Par exemple, si huit modules sont utilisés dans l'ensemble 10 de mémoires, il faut trois bits de poids fort du signal
d'adresse pour la sélection de l'un des huit modules.
Une unité 3 de commande de synchronisation de mémoire produit des signaux qui commandent l'accès à l'ensemble 10 de mémoires dynamiques à accès direct par le demandeur 100, ainsi que par un circuit 11 d'inspection et par un circuit 12 de correction d'erreur. Parmi les signaux
de commande produits par l'unité 3 de commande de synchroni-
sation de mémoire, on trouve le signal de sélection de régé-
nération (REF SEL) qui, comme indiqué précédemment, commande le multiplexeur 1 afin de déterminer si l'adresse appliquée à l'ensemble 10 de mémoires dynamiques est l'adresse émise par le demandeur 100 ou bien est l'adresse émise par le circuit 11 d'inspection. D'autres signaux de commande sont produits conformément à la fonction à exécuter dans l'ensemble 10 de mémoires dynamiques à accès direct. Par exemple, l'unité 3 de commande de synchronisation de mémoire produit également un signal d'échantillonnage d'adresse de rangée (RAS), un signal d'échantillonnage d'adresse de colonne (CAS), un signal de régénération (REFR) et un signal de validation d'écriture (WE). De plus, l'unité- 3 de commande de synchronisation de mémoire applique au circuit logique 12 de correction d'erreur
un signal de validation SV qui est transmis plus particuliè-
rement à un registre 5 de réécriture faisant partie du circuit logique 12, et il transmet également au demandeur 100 un signal d'occupation SO. Un signal de lecture/écriture (R/W) et un signal de demande REQ sont transmis à l'unité de commande de synchronisation de mémoire par le demandeur 1000 L'unité 3 de commande de synchronisation de mémoire est actionnée soit par le signal de demande REQ provenant du demandeur, soit par un signal d'entrée 41 provenant d'un rythmeur 4 de régénération. Le rythmeur 4 de régénération établit un intervalle d'horloge (dans une forme particulière de réalisation de l'invention, une impulsion d'horloge peut être produite toutes les 15 microsecondes)> Le signal de sortie du rythmeur 4 se comporte comme un signal à impulsions destiné à la fois à déclencher l'unité 3 de commande de synchronisation de mémoire et à incrémenter le
compteur 2 d'adresse de régénération.
Le multiplexeur précédent 1 le compteur 2
d'adresse de régénération et l'unité 3 de commande de syn-
chronisation de mémoire, ainsi que le rythmeur 4 de régénéra-
tion, consituent les éléments principaux du circuit ll d'inspection. Une autre partie de cette forme de réalisation de l'invention est constituée par le circuit 12 de correction d'erreur. Lorsque le multiplexeur 1 reçoit une adresse du demandeur 100 par l'intermédiaire de la ligne 13, le demandeur 100 transmet également un signal de demande à l'unité 3 de commande de synchronisation de mémoire, ainsi qu'un signal appliqué à la ligne 15 de lecture/écriture et indiquant, par exemple, que le demandeur souhaite procéder à une opération d'écriture en mémoire. Le demandeur applique également un mot de données à 32 bits au circuit logique 12 de correction d'erreur par l'intermédiaire d'une ligne omnibus 16 de données. Les 32 bits d'information de mot appliqués par le demandeur à la ligne omnibus 16 de données sont transmis directement à l'entrée de données de l'ensemble de mémoires dynamiques à accès direct. La ligne omnibus 16 de données est également reliée à un générateur 17 de bits de vérification (bits C) pour que ce générateur produise 7 bits "C" joints au mot de données et mémorisés à la même adresse que le mot de données dans l'ensemble 10 de mémoires. Un mot de données à 32 bits, avec correction d'une seule erreur et détection d'une erreur double, exige 32 bits de données et,7 bits C. Si l'on suppose, par contre, que le demandeur a demandé l'extraction d'un mot de données de la mémoire 10 au moyen d'un signal de lecture R appliqué à la ligne 15, des données de sortie apparaissent sur une ligne omnibus 18 sous la forme de 32 bits de données de mots et sur une ligne omnibus 19 sous la forme de 7 bits de vérification. Les données présentes sur les lignes omnibus 18 et 19 sont appliquées à un générateur 20 de bits de syndrome (bits S) qui produit un signal de sortie à 7 bits pouvant présenter 32 profils binaires possibles différents afin d'indiquer une erreur particulière portant sur un seul bit dans le mot de données. Sept autres profils binaires sont produits par le générateur 20 pour indiquer une erreur de bit de vérification particulier, alors que d'autres profils binaires indiquent la présence d'erreurs portant sur plusieurs bits. Un seul profil
binaire indique l'absence d'erreur.
Les 7 bits présents sur la ligne omnibus 21 sont appliqués à un décodeur 22 de bits S qui, lui-même, transmet, à sa ligne omnibus 23 de sortie, une indication désignant celui des 39 bits de mémoire présentant une erreur. La ligne omnibus 23 de sortie peut prendre la forme de 32 lignes capables chacune d'inverser un bit. La sortie 23 du décodeur 22 de bits S et les 32 bits du mot présents sur la ligne omnibus 18 sont appliqués aux entrées d'un circuit logique 24 de correction qui, dans une forme de réalisation simple, peut être constitué de portes OU exclusif. La ligne omnibus 23 de décodage provenant du décodeur 22 indique celui, le cas échéant, des bits de mots qui présente une erreur, le circuit logique 24 de correction corrigeant cette erreur et appliquant à sa sortie, sur une ligne omnibus 25 de données, le mot de données de 32 bits, corrigé et transmis au demandeur 100. Le dispositif de détection et de correction d'erreurs est classique et bien connu de l'homme de l'art. Le brevet des Etats-Unis d'Amérique NI 4 005 405 décrit un dispositif classique de ce type, et il décrit également en
détail les composants du circuit 12 de correction d'erreur.
On a supposé que, lors d'une demande d'extraction de la mémoire 10 formulée par le demandeur 100, une erreur portant sur un seul bit a été corrigée par le circuit 12. Il convient cependant de noter que, lors de l'extraction de données par la ligne omnibus 25 vers le demandeur 100, aucune réécriture en mémoire n'est réalisée au moyen de la ligne omnibus 16 par l'intermédiaire du registre 5 de réécriture qui est sous la commande du signal de validation SV présent
sur une ligne 200 provenant de l'unité 3 de commande synchro-
nisation de mémoire. Par conséquent, lorsqu'un mot est extrait par le demandeur 100, il est corrigé si cela est nécessaire et il est transmis au demandeur sans que du, temps soit passé à récrire les données corrigées dans la mémoire,
comme c'est le cas dans les systèmes de l'art antérieur.
Le fonctionnement du circuit 11 d'inspection peut être plus facilement compris si l'on considère d'abord la partie de ce circuit 11 correspondant au circuit classique de régénération. Le rythmeur 4 de régénération produit un train d'impulsions dont l'intervalle, compris entre les impulsions, est déterminé par le nombre de rangées de chaque puce de circuits de mémoire à accès direct et par le temps
recommandé par le fabricant entre les applications d'impul-
sions de régénération à toute rangée donnée de la puce, comme indiqué précédemment. Comme décrit plus haut, pour une puce de mémoire à accès direct du type "4116", chaque rangée doit être régénérée toutes les deux millisecondes environ, cet intervalle de temps, lorsqu'il est divisé par les 128 rangées de la puce, donnant une période de 15 microsecondes pour les impulsions produites par le rythmeur 4. Par conséquent, le rythmeur 4 transmet toutes les 15 microsecondes une impulsion au compteur 2 d'adresse de régénération afin de l'incrémenter d'une unité, et il applique également à l'unité 3 de commande de synchronisation de mémoire un signal qui indique qu'un cycle de régénération doit être produit par l'unité de
synchronisation de mémoire à la prochaine occasion.
L'unité 3 de commande de synchronisation de mémoire, si elle n'est pas déjà occupée par une demande formulée par le demandeur 100, transmet, en réponse à une impulsion provenant du rythmeur 4, un signal de sortie de sélection de régénération (REF SEL) au multiplexeur 1 et elle transmet également un signal d'occupation SO par la ligne 51 au demandeur 100 afin d'indiquer à ce dernier qu'une certaine temporisation se produira avant que les données provenant du demandeur soient traitées, c'est-à-dire que leur accès soit possible lors d'une-opération de lecture, ou bien qu'elles soient acceptées lors d'une opération d'écriture. Si, comme dans l'art antérieur, seule une régénération doit être effectuée, le compteur 2 d'adresse de régénération ne demande que le nombre de bits nécessaires pour produire le nombre biliaire correspondant au nombre maximal de rangées des puces de mémoires à accès direct. Dans le cas considéré, étant donné que chaque puce comporte 128 rangées, le compteur d'adresse de régénération ne demande que 7 bits si seule une
opération de régénération doit être effectuée.
Cependant, dans le système selon l'invention, il est nécessaire de transmettre également une information d'adresse de colonne à l'ensemble de mémoires. Par conséquent, le compteur 2 d'adresse de régénération produit 7 bits supplémentaires de poids fort, utilisés pour établir l'adresse de colonne, et un bit supplémentaire pour faire la distinction entre les modules. Ainsi, l'adresse utilisée dans l'opération exécutée par le circuit 11 d'inspection est une adresse complète, tout comme l'adresse provenant du demandeur est une adresse complète (adresse de rangée et de colonne plus information de sélection de module), car l'adresse
complète est nécessaire pour la sélection d'un mot particu-
lier dans l'ensemble de mémoires dynamiques à accès direct.
Dans l'ensemble de mémoires de la figure 1, par exemple, l'adresse complète exige 7 bits supplémentaires pour l'adresse de colonne et un seul bit supplémentaire de poids fort qui désigne soit le module 0, soit le module 1 comme étant le module sélectionné pour faire l'objet d'une
opération d'inspection ou de lecture.
Ainsi, dans le système perfectionné selon
l'invention, à chaque fois que l'unité 3 de commande de syn-
chronisation de mémoire demande un cycle de régénération, une adresse complète est transmise à l'ensemble de mémoires dynamiques à accès direct, plutôt qu'une simple adresse de rangée, comme c'est le cas dans l'art antérieur. L'opération d'inspection a pour but de régénérer simultanément les rangées correspondantes de toutes les puces de mémoire à accès direct de chaque module de l'ensemble de mémoires, mais avec l'extraction d'un seul mot des rangées régénérées de
tous les modules.
Apres le comptage des 128 rangées des puces, le compteur 2 d'adresse répète le processus de rangée en rangée, mais pour une colonne de position différente, l'adresse de colonne étant incrémentée d'une unité lorsque les 128 rangées des puces ont été adressées. Le changement de module se produit également lorsque le bit d'identification de module est incrémenté d'une unité par le compteur 2 d'adresse de régénération. Aprèsl'incrémentation de l'adresse de module d'une unité, les positions des mots dans le second module sont extraites alors que les rangées de toutes les puces des deux modules sont régénérées successivement, conformément
aux adresses de rangées, comme décrit précédemment.
L'adresse complète provenant du compteur 2 d'adresse de régénération est transmise au multiplexeur 1. Si l'unité 3 de commande de synchronisation de mémoire est dans le cycle de régénération, elle transmet au multiplexeur 1 un signal de sélection de régénération (REF SEL) de manière que l'adresse de sortie, présente sur la ligne 9 de sortie du multiplexeur 1, soit l'adresse complète du compteur 2 d'adresse de régénération. Le bit de poids fort de l'adresse de régénération présente sur la ligne 9 est appliqué au circuit logique 6 de sélection de module. Ce circuit logique 6 de sélection est représenté comme recevant trois signaux d'entrée, à savoir des signaux RAS, CAS et WE produits par l'unité 3 de commande de synchronisation de mémoire, en plus d'un signal de régénération REFR produit également par
l'unité de commande de synchronisation de mémoire.
Les rangées correspondantes des puces de mémoire à accès direct des deux modules 0 et 1 demandent qu'il leur soit appliqué un signal capable de les régénérer. Il est également souhaité qu'une colonne de toutes les puces de mémoire à accès direct de l'un des module 0 et 1 reçoive des signaux provoquant l'extraction de l'ensemble des mémoires du mot placé dans la position choisie de rangée et de colonne afin que ce mot soit transmis au circuit 12 de correction d'erreur dans lequel la présence ou l'absence d'une erreur dans le mot de cette position particulière peut être déterminée. Si une erreur est détectée, le décodeur 22 de bits S du circuit 12 de correction d'erreur transmet un signal d'erreur par une ligne 27 à l'unité 3 de commande de synchronisation de mémoire. La présence du signal d'erreur a pour effet sur l'unité de commande de synchronisation de mémoire de produire sur la ligne 200 un signal de validation SV qui agit sur le registre 5 de réécriture afin qu'il place le mot corrigé sur la ligne omnibus et qu'il produise les signaux appropriés RAS et CAS pour récrire le mot corrigé dans la même position de mémoire que celle sur laquelle l'opération d'inspection a porté. Dans un système à câblage important, dans lequel un cycle du demandeur peut être en cours au moment o le décodeur de bits S détecte une erreur dans le mot inspecté, la commande de synchronisation de mémoire attend la fin de l'exécution de la demande formulée par le demandeur, puis elle répète l'opération d'inspection à l'adresse inspectée précédemment et bloque toute autre demande formulée par le demandeur 100 jusqu'à ce que le mot de l'adresse inspectée ait été lu, corrigé si cela est
nécessaire, et récrit dans la même position de la mémoire.
Comme indiqué précédemment, il est souhaitable que des rangées correspondantes de toutes les puces de tous les modules de l'ensemble 10 de mémoires dynamiques à accès direct soient régénérées en même temps. Comme montré sur le schéma fonctionnel de la figure 1, ce résultat est obtenu par l'application, à chacune des puces des deux modules de l'ensemble 10, au cours d'une opération de régénération, de la partie d'adresse de rangée de régénération de l'adresse complète appliquée à la ligne 9 par le multiplexeur 1. Le signal de régénération REFR est produit en même temps que
l'adresse des puces afin de permettre au signal d'échantil-
248 1 487
lonnage d'adresse de rangée RAS, appliqué à l'entrée du circuit logique 6 de sélection de module, d'être transmis à
toutes les puces de chaque module de l'ensemble 10. L'appli-
cation du signal RAS à chacune des puces des deux modules provoque la régénération des bits contenus dans la rangée adressée de chacune des puces en régénérant la valeur "1" ou la valeur lio' de chaque bit, mémorisée initialement dans la position de chaque bit. Ainsi, le même signal d'adresse et le même signal RAS sont appliqués à tous les modules au cours d'une opération de régénération, mais seul le module sélectionné reçoit les signaux de commande 'CAS et WE, de sorte que seul ce module peut faire l'objet d'une opération d'écriture ou de lecture. Au cours d'opérations normales de lecture ou d'écriture, alors que la -même adresse est appliquée à tous les modules, les signaux RAS, CAS et WE sont
appliqués au module sélectionné.
L'adresse d'une colonne à régénérer est également appliquée à l'ensemble 10 de mémoires dynamiques à accès direct, mais le circuit logique 6 de sélection de module permet au signal d'échantillonnage d'adresse de colonne ClAS de n'être appliqué qu'au module ayant une adresse
correspondant à la partie de module de l'adresse de régénéra-
tion présente sur la ligne 9 (pour tout accès à la mémoire, le signal CAS n'est transmis qu'à un module). Etant donné que la formé de réalisation montrée sur la figure 1 ne comporte que deux modules, à savoir le module 0 et le module 1, le bit de sélection de module est un "1" ou un "0". Le signal d'échantillonnage d'adresse de colonne (CAS) provoque l'extraction, par l'intermédiaire du mot à 39 bits mémorisé à l'adresse de rangée et de colonne du module adressé, des 32 bits de données présents sur la ligne 18 et des 7 bits C présents sur la ligne 19 pour la détection d'une erreur du mot de données et la correction, si cela est nécessaire,
comme indiqué précédemment.
En ce qui concerne l'unité 3 de commande de synchronisation de mémoire, il apparaît qu'un signal d'occupation SO présent sur la ligne 51 est appliqué au demandeur 100 afin de retarder une demande de lecture ou
248 1 487
d'écriture formulée par ce demandeur jusqu'à l'achèvement du cycle de régénération. D'une manière analogue, si une demande de lecture ou d'écriture a été transmise par la ligne 14 du demandeur 100 à l'unité 3 de commande de synchronisation de mémoire, le cycle de régénération est retardé jusqu'à la fin de la demande de lecture ou d'écriture émise sur la ligne 15
par le demandeur.
Dans le cas o une extraction provoque, lors du cycle d'inspection, la sortie d'un mot du module choisi, et dans le cas o une erreur d'un bit a été déterminée dans ce mot, un signal d'erreur SER, transmis par une ligne 27 à l'unité 3 de commande de synchronisation de mémoire, agit sur cette unité 3 afin qu'elle produise la combinaison de signaux appropriée pour récrire la donnée corrigée dans la mémoire (opération de réécriture). Ces signaux comprennent les signaux RAS, CAS et REF SEL (pour sélectionner l'adresse du module à régénérer, un signal de validation d'écriture (WE) et un signal de validation SV transmis au registre 5 de réécriture. Le signal REF SEL provoque l'application de la
même adresse de rangée et de colonne à régénérer aux puces.
Le signal de validation du registre de réécriture provoque l'application des données corrigées sur la ligne omnibus 16 et le signal de validation d'écriture (WE) provoque l'écriture des données dans la position adressée, si cela est nécessaire, plutôt que l'écriture, comme c'est le cas lors d'une opération d'accès à une régénération. On a supposé que l'adresse du mot extrait n'est pas modifiée au moment o le mot corrigé est récrit, de sorte que le signal REF SEL
sélectionne la même adresse de rangée et de colonne.
Le signal de validation d'écriture (WE) est le même signal WE que celui produit au cours d'une opération normale à la suite d'un ordre d'écriture provenant du demandeur 100, le signal WE étant produit en même temps que l'adresse de rangée, de colonne et de module établie par le demandeur, et en même temps que les signaux RAS, CAS et
MOD SEL, qui provoquent tous l'écriture d'une nouvelle infor-
mation dans la position de mémoire spécifiée par l'adresse de rangée, de colonne et de module émise par le demandeur. En l'absence d'un signal WE, ces signaux ne provoquent qu'une
extraction du mot à l'adresse sélectionnée.
La description précédente de l'invention a porté
sur les opérations principales réalisées lors, d'une correction d'erreur par la technique d'inspection. Dans des systèmes o les informations sont transmises par câblages entre les mémoires, la réalisation devient beaucoup plus complexe, mais le fonctionnement de base du système, décrit ci-dessus, reste pratiquement inchangé. Dans un système câblé, les circuits logiques de régénération restent très identiques à ceux décrits précédemment, sauf que les adresses du demandeur et les adresses d'inspection sont transmises à un bloc de mots de chaque module, plutôt qu à un seul mot d'un module. Chaque bloc comprend quatre mots qui, dans la forme particulière de réalisation de l'invention, sont extraits séquentiellement à raison d'un mot toutes les nanosecondes. De plus, le circuit de correction d'erreur est très analogue à celui décrit précédemment pour un seul mot, sauf qu'il doit être légèrement modifié afin de pouvoir traiter les quatre mots successifs du bloc passant en groupe par l'unité de correction d'erreur, car les mots sont écris dans l'ensemble 10 de mémoires dynamiques à accès direct et extraits de cet ensemble 10 sous la forme de blocs plutôt que
sous la forme de mots uniques.
Les schémas fonctionnels des figures 2 et 3 représentent un contrôleur 300 de bloc qui commande le transfert de blocs de mots entre un demandeur et un ensemble de mémoires, ainsi que l'opération d'inspection. Les mots d'adresses et de données provenant d'un demandeur 100 sont appliqués au contrôleur 300 de bloc par la même ligne omnibus 116. Le mot de données présent sur une ligne 115 est présenté à un multiplexeur 50 de mémorisation 2:1 dont la sortie est
reliée à un générateur 17 de bits de vérification (bits C).
Le signal de sortie du multiplexeur 50 constitue également un signal d'entrée pour un registre 110 d'entrée de données d'écriture à 32 bits dont le signal de sortie est appliqué à une ligne omnibus de sortie de données d'écriture et à une ligne 109 d'entrée de données de l'ensemble 10 à mémoires dynamiques à accès direct, comme montré sur la figure 4. Le signal de sortie 108, sous la forme de bits WD 32-38, du générateur 17 de bits C est transmis par l'intermédiaire d'un registre 111 à 7 bits à une ligne 112 de sortie qui aboutit à la ligne commune d'entrée de données de l'ensemble 10 de
mémoires dynamiques à accès direct, montré sur la figure 4.
L'information de lecture (RD 0-38) est renvoyée de la mémoire et appliquée à un générateur 20 de bits S dont le signal de sortie à 7 bits est appliqué par une ligne 23 à une première entrée d'un registre 203 de mémorisation à 39 bits et constitue un signal d'erreur SER appliqué à l'unité logique 3
de synchronisation et de commande si une erreur existe.
L'autre entrée du registre 203 est constituée par les 32 bits.
(RD 0-31) provenant de la mémoire. Le signal de sortie à 39 bits du registre 203 est appliqué au circuit logique 24 de correction qui comprend une unité logique de décalage de bits S. Le circuit logique 24 de correction est déclenché par le signal de correction COR de manière à produire un mot corrigé sur sa ligne 25 de sortie si l'état de ce signal de correction est tel qu'il indique qu'une erreur était présente dans le mot lu initialement. En l'absence d'une erreur, un signal COR est appliqué à une porte 40 afin que le mot extrait de la mémoire soit transmis directement à la ligne 25
de sortie.
La canalisation des quatre mots d'un bloc provenant de la mémoire engendre la nécessité de faire appel
- au registre 203 lorsqu'une correction est nécessaire.
Lorsqu'une correction est demandée, le signal COR est absent et la porte 40 à collecteur ouvert n'est pas en fonction, tandis que l'insertion des signaux de correction provoque la mise en oeuvre du circuit 24 de correction. La porte 40 et la sortie du circuit 24 de correction sont des dispositifs de commande à collecteur ouvert, de sorte que leurs signaux de sortie peuvent être appliqués directement à la ligne 25 de sortie. Pour récrire la donnée corrigée, le circuit 24 de correction est également relié par une entrée 113 au multiplexeur 50 de mémorisation 2:1 qui exécute également la
fonction du registre 5 de réécriture montré sur la figure 1.
Le multiplexeur 50 peut ainsi sélectionner soit la donnée d'écriture provenant du demandeur par la ligne 115, soit la donnée corrigée provenant de la mémoire par la ligne li3 et devant être appliquée au générateur 17 de bits C, puis renvoyée de ce dernier dans la mémoire. Le registre 110 à 32 bits destiné à la donnée d'écriture-et le registre 111 à 7 bits destiné à la donnée de bits C assurent la mémorisation momentanée pour une synchronisation convenable de la
réécriture de cette donnée en mémoire.
Les schémas fonctionnels des figures 2 et 3 montrent que le demandeur 100 applique à une ligne 116, en multiplexage dans le temps, à la fois l'information d'adresse et la donnée à introduire dans la mémoire. L'information d'adresse est dirigée par une branche 116' de la ligne 116 vers un registre 59 d'adresse. Ce registre 59 comprend en fait un registre 51 d'adresse de rangée, un registre 52 d'adresse de colonne et un registre 53 de sélection de module. Un multiplexeur 54 4:1 est utilisé pour effectuer une sélection entre les adresses de rangée et de colonne du
demandeur, appliquées par le registre 59 d'adresse respecti-
vement sur les lignes 51' et 52', et entre les adresses de rangée et de colonne à régénérer, appliquées par le compteur 2 d'adresse de régénération sur les lignes 202' et 201', 2.5 respectivement. Le signal de commande de régénération et de réécriture (REFR + WB) sélectionne, comme source pour les adresses de rangée et de colonne, soit le compteur 2 d'adresse de régénération, soit le registre 59 d'adresse du demandeur. L'application du signal RAS au multiplexeur 54 provoque la transmission séquentielle, au registre 56 d'adresse, avant leur application à la mémoire 10, d'abord de l'adresse de la rangée sélectionnée, puis de l'adresse de la colonne sélectionnée. L'adressage séquentiel est nécessaire, car chaque puce de la mémoire ne comporte que 7 lignes d'adresses pour spécifier les adresses des rangées et des colonnes. La puce présente la possibilité de séparer les adresses des rangées et des colonnes en se basant sur les positions dans le temps des signaux RAS et CAS. La figure 1 ne montre pas le multiplexage des adresses de rangées et de colonnes pour plus de clarté, mais ces adresses pleuvent
également être multiplexées dans le temps de la même manière.
D'une manière identique, le signal de commande de régénération et de réécriture est appliqué à un multiplexeur 58 de sélection de module qui choisit entre l'adresse du module du registre 59 d'adresse du demandeur et l'adresse du module du compteur 2 d'adresse de régénération. Trois bits d'adresse, apparaissant à la sortie du multiplexeur 58 de sélection de module, sont utilisés pour sélectionner l'un des huit modules d'un ensemble 10 de mémoires qui peut être utilisé, par exemple, dans une forme préférée de réalisation de l'invention, comme montré sur la figure 4. Les trois bits sont transmis à un registre 61 de sélection de module dans lequel ils sont mémorisés pour être convenablement synchronisés avant d'être appliqués au circuit 15 de sélection de module montré sur la figure 4, ce circuit sélectionnant l'un des huit modules afin qu'il puisse être actionné par d'autres signaux de commande pour permettre l'exécution d'opérations de lecture ou d'écriture dans ce module. La figure 3 montre en détail le compteur 2 d'adresse de régénération qui comprend, en fait, le compteur 201 d'adresse de rangée à régénérer, le compteur 202 d'adresse de colonne à régénérer et le compteur 203 de module à régénérer. Le signal de sortie de report (CY) du compteur 201 d'adresse de rangée à régénérer actionne le compteur 202 d'adresse de colonne à régénérer dont le signal de sortie de report (CY) actionne lui- même le compteur 203 de module à
régénérer.
Comme indiqué précédemment, le rythmeur 4 de régénération détermine les intervalles auxquels l'ensemble de mémoires dynamiques à accès direct est régénéré et inspecté. Le signal de sortie du rythmeur 4 constitue un signal d'entrée pour unité logique 3 de synchronisation et de commande qui produit alors un signal incrémentant le compteur
2 d'adresse de régénération. L'unité logique 3 de synchroni-
sation et de commande produit également plusieurs signaux
248 1487
transmis chacun par leur propre ligne à un registre 60 de commande. Ces signaux sont le signal d'échantillonnage d'adresse de rangée (RAS), le siqnal d'échantillonnage d'adresse de colonne (CAS), un signal de chargement (LD IN), un signal de déchargement (LD OUT) et un signal de régénéra- tion (REFR), chacun de ces signaux de sortie du registre 60 étant transmis par sa propre ligne comme signal de commande à l'ensemble 10 de mémoires dynamiques à accès direct, montré
sur la figure 4.
Le signal d'interface du demandeur, qui débute une demande d'accès transmise du demandeur au contrôleur de bloc, est le signal de départ BC ST qui est appliqué à l'unité logique 3 de synchronisation et de commande. Il apparaît que ce circuit logique 3 est actionné soit par un signal provenant du rythmeur 4 de régénération, soit par le
signal BC ST provenant du demandeur.
Les signaux de liaison avec le demandeur, circulant du contrôleur de bloc vers le demandeur, sont le signal d'occupation du contrôleur de bloc (BC BU)g le signal d'erreur du contrôleur-de bloc (BC ER) et le signal de retour de donnée au contrôleur (BC DAB). Le signal BC DAB indique au demandeur que la donnée demandée est prête et qu'elle va être transmise à ce demandeur0 Le signal d'erreur BC ER indique au demandeur qu2une temporisation égale à un cycle va se produire avant la transmission du mot suivant de la donnée demandée, en raison du délai nécessaire à l'opération de correction, et le signal d'occupation BC BU indique que le contrôleur de bloc ne peut accepter des données provenant du demandeur, soit parce qu'il exécute un cycle de régénération, soit parce qu'il est occupé par suite du début d'une demande précédente. Lorsque, au cours de l'opération d'inspection, un mot présentant une erreur est détecté, le circuit est conçu pour introduire un léger retard nécessaire pour la transmission de l'information dans le système, afin que l'unité 3 de commande de synchronisation produise les signaux de commande nécessaires pour effectuer une opération complète de lecture et de modification d'écriture, dans la position du mot pour lequel on vient de déterminer une erreur. Au cours du cycle de lecture et de modification d'écriture, le mot venant d'être lu et dans lequel une erreur a été trouvée au cours du cycle d'inspection est de nouveau lu, corrigé si cela est nécessaire, puis renvoyé immédiatement en mémoire. Lorsqu'un mot est extrait de la mémoire et introduit dans le contrôleur de bloc à la suite d'une demande formulée par le demandeur 100, et lorsqu'une erreur est détectée, le mot est corrigé dans le circuit de correction d'erreur du contrôleur de bloc, mais il n'est pas récrit en mémoire. Lorsque ce même mot est extrait au coUrs du cycle d'inspection, il est de nouveau vérifié et, si une erreur est
détectée, le mot corrigé est récrit en mémoire.
Le dispositif de mémorisation ayant la configu-
ration montrée sur les figures 2 à 4 peut être mis en oeuvre essentiellement comme un système câblé, c'est-à-dire un système dans lequel un certain nombre d'accès, à divers stades d'achèvement progressent un à un. Le système permet également un accès par blocs, c'est-à-dire qu'il est possible d'accéder à un bloc d'au moins deux mots consécutifs, par exemple quatre mots dans la forme de réalisation décrite, de manière que l'instant de la vérification réelle et de la correction d'erreur du dernier mot d'un bloc précède
nettement la demande d'accès suivante.
L'opération de régénération est également conçue pour se produire de "a même maniàre canalisée que l'o1 ration d'accès afin d'assurer un recouvrement raisonnable de cette opération de régénération. Au moment o une erreur a été détectée dans un mot particulier, ce dernier n'est plus impliqué dans l'opération d'accès. Etant donné que les puces de mémoires sont elles-mêmes impliquées dans une opération suivante d'accès, l'opération initiale d'accès ne peut être achevée avec la donnée corrigée. Par conséquent, un "indicateur" est positionné pour indiquer qu'une erreur a été détectée et qu'elle doit être corrigée dans la mémoire. Par la suite (en général quelques microsecondes plus tard), le mot est de nouveau lu, car la donnée demandant une correction peut avoir été modifiée entre temps et la donnée corrigée est
produite et récrite en une opération. Ainsi, toute modifica-
tion apportée à la donnée mémorisée dans cette position de mot, entre l'instant de la détection initiale d'une erreur et l'instant auquel cette erreur peut être corrigée, n'engendre pas une autre erreur. Dans une forme particulière de réalisation, par exemple, un laps de temps de 15 microsecondes s'écoule entre
les signaux de régénération REFR, chaque cycle de régénéra-
tion demandant 550 nanosecondes comme dans une opération
normale d'accès. Si une erreur est détectée pendant l'opéra-
tion d'inspection, on accède de nouveau au mot pendant les microsecondes comprises entre les signaux de régénération et l'erreur est corrigée à ce moment. Le compteur 2 d'adresse de régénération de la figure 1 (ou compteur 201 de la figure 3) contient l'adresse qui indique le bloc de mots à inspecter et, si une erreur est trouvée, elle est corrigée quelques microsecondes plus tard. Le compteur 2 (ou compteur 201) n'est mis à jour qu'immédiatement avant le cycle suivant de régénération. Par conséquent, l'adresse correcte est présente au moment o l'on accède de nouveau au mot corrigé pour procéder à la correction, et au moment o ce mot est
récrit dans la mémoire.
L'opération d'inspection consiste en fait à extraire un mot situé dans une position à laquelle on accède
séquentiellement et périodiquement. Un signal de régénéra-
tion (REFR) -(présent à la porte 46 montrée sur la figure 4), est prioritaire par rapport au signal de comparaison de modules de manière que, même lorsqu'un seul module est lu, tous les modules soient sollicités pour exécuter la partie
d'un cycle de lecture nécessaire à une opération de régénéra-
tion. Ainsi, l'opération d'inspection effectue une opération
de régénération par-dessus une opération normale de lecture.
Etant donné que l'opération décrite en regard des figures 2 à 4 est une lecture de bloc (c'est-à-dire une opération dans laquelle quatre mots consécutifs sont lus), un mot est extrait de chaque plan d'un module à des intervalles de nanosecondes par mot. Une opération d'inspection consiste en fait en une lecture d'un mot situé dans une position déterminée de chaque plan, à intervalles de nanosecondes. Par conséquent, plutôt que de sélectionner un seul module et de lire uniquement ce module comme c'est le cas dans une lecture classique, au cours de l'opération d'inspection, un module est sélectionné et lu; une partie de l'opération de lecture (ne comprenant pas l'extraction réelle des données) est également effectuée sur les puces de tous les autres modules, car le signal de régénération est destiné
à effectuer une régénération sur toutes les rangées corres-
pondant à la rangée particulière faisant l'objet d'une
lecture dans le module soumis à l'inspection.
Comme représenté sur la figure 4, chaque module comporte quatre plans " à 3 disposés de manière que les entrées et les sorties des plans g et 2 soient liées et que les entrées et les sorties des plans 1 et 3 soient également liées, comme représenté. Des signaux de commande présents sur la ligne 13 sont également appliqués à chaque plan, comme montré. Ces signaux de commande sont appliqués aux plans 14 en séquence, un signal d'horloge de 110 nanosecondes étant appliqué à chaque registre 12 par une ligne 121' pour le signal de commande RAS, et de la même manière aux autres registres (non représentés) pour les autres signaux d'adresse et de commande. Les signaux de commande et l'adresse transmis au plan O sont ensuite appliqués à un deuxième registre 12' pour le signal de commande RAS, et un second registre analogue pour chacun des autres signaux d'adresse et de commande (pour le plan 1), 110 nanosecondes plus tard, et
ainsi de suite pour chacun des quatre plans.
Le signal 102 de sélection de module provenant du contrôleur 300 de bloc, comme montré sur la figure 3, indique le module auquel on souhaite accéder. Le signal de sélection de module est convenablement Déclenché avec des signaux de commande provenant du contrôleur de bloc -(par exemple les signaux RAS, CAS, LD IN, LD OUT). Le signal de régénération REFR est également déclenché avec le signal de commande RAS provenant du contrôleur de bloc, afin que seul le signal RAS
soit transmis à tous les modules lorsqu'un signal de régéné-
ration (REFR) est confirmé. La confirmation du signal REFR produit une action prioritaire sur la comparaison de sélection de module, de manière à produire un signal RAS, mais non un signal CAS, pour effectuer l'opération de régénération (cette seule opération de régénération n'entraînant pas la transmission de toutes données). Les données peuvent être extraites du module sur la ligne 11 par l'intermédiaire du registre multiplexeur 20 vers l'élément 21 de commande qui est validé par un signal de commande provenant du contrôleur 22 de déchargement, ce contrôleur étant lui-même commandé par le circuit de comparaison de modules. Ainsi, il ne sort aucune donnée RD -38 d'un module qui n'est pas lu, mais qui fait seulement l'objet d'une régénération. Tout module faisant l'objet d'une lecture n'est gêné en aucune manière par le fait que l'opération de régénération a sollicité les autres modules à des fins de régénération. La ligne d'arrivée des données extraites au contrôleur de blocs (RD O-38) est connectée à la ligne de
sortie des données extraites du module de mémoires. L'opéra-
tion de régénération est essentiellement identique à une opération de lecture normale, sauf que le signal de commande de régénération REFR est confirmé avec le signal de sélection de mode MOD SEL. Dans un premier intervalle de temps de l'opération de régénération, les signaux de commande appliqués comprennent les signaux RAS et MOD SEL, alors que la ligne 103 d'adresse reçoit l'adresse de la rangée. Au cours de l'intervalle de temps-suivant, d'autres signaux de commande (CAS, LD OUT) sont appliqués, tous ces signaux étant
appliqués à des lignes indépendantes.
Comme mentionné précédemment, la synchronisation est conçue de manière que les signaux de commande soient appliqués séquentielleient à chacun des plans 9-1 d'un module, c'est-à-dire que, lorsque les signaux de commandesont appliqués au plan 1 pendant la période de temps initiale, les signaux de commande de la période de temps suivante sont appliqués au plan " et ainsi de suite. Enfin, étant donné que l'on accède aux plans l'un après l'autre, les données provenant de chacun des plans sont renvoyées dans des
intervalles de 110 nanosecondes.
La figure 4 représente une séquence ou une cascade de registres 12 qui transmettent le signal RAS aux plans 0-3 d'un module en séquences séparées de nanosecondes. Bien que non représenté sur la figure 1, comme mentionné précédemment, un montage analogue en cascade de registres est également nécessaire pour chacun des signaux de commande CAS, LD IN, LD OUT, ainsi que les adresses de rangée et de colonne établies pour chaque module, ces registres étant utilisés pour la transmission séquentielle des signaux vers chacun des plans. Le circuit 15 de sélection de module est associé à chaque module, un signal différent d'identification de module MOD ID "-2 étant prévu pour chaque
circuit 15 de sélection de module.
Le signal de déchargement est utilisé pour l'extraction de données de la mémoire et pour la commande du multiplexeur/registre 20 et de l'élément 21 de commande qui place les données de sortie sur la ligne commune 104 dé données. L'élément 21 de commande est tel que, lorsqu'il- ne place pas de données sur la ligne commune 104, il présente une impédance élevée de manière que tout autre élément de commande d'un module différent, validé par le signal de
déchargement provenant de l'unité 22 de commande de déchar-
gement, puisse commander la ligne omnibus 104.
Le signal de chargement est utilisé dans le circuit d'interface pour valider les registres produisant des données d'entrée sur la ligne 109 (ce blocage n'étant pas montré en détail sur la figure 4). Une caractéristique encore plus importante est que le signal de chargement est utilisé pour produire le signal de validation d'écriture WE qui transfère les données dans le registre de blocage avec les
mémoires à accès direct.
La forme de réalisation décrite précédemment en regard des figures 2 à 4 peut être utilisée, par exemple, dans un système tel que ceux décrits dans les demandes de brevet des Etats-Unis d'Amérique, déposées le 25 avril 1980 sous les N0 143 561; 143 681; 143 981; 143 974;
143 651 143 710 et 143 982.

Claims (6)

REVENDICATIONS
1. Système de traitement de l'information comprenant une mémoire (10) dans laquelle des mots binaires, constitués chacun de plusieurs bits, sont mémorisés, ce système étant caractérisé en ce qu'il comporte des moyens de
régénération (1, 2, 3, 4, 6) destinés à régénérer périodique-
ment les bits de chaque mot mémorisé, à des intervalles de temps choisis de régénération, des moyens (20, 21) de détection d'erreurs destinés à détecter une erreur pouvant être présente dans au moins un bit de chaque mot mémorisé, la détection de cette erreur étant effectuée sensiblement en même temps que la régénération dudit mot mémorisé, des moyens (24) de correction d'erreurs qui, en réponse à la détection d'erreurs dans un mot mémorisé, corrigent lesdites erreurs lorsque ces dernières ont été détectées au cours de ladite opération de régénération, et des moyens (5, 17) destinés à
récrire les mots corrigés dans la mémoire.
2. Système de traitement de l'information selon la revendication 1, caractérisé en ce que les moyens de détection d'erreurs sont en outre capables de détecter une erreur dans au moins un bit d'un mot mémorisé, sensiblement en même temps que l'accès à un mot mémorisé est demandé par un demandeur (160), lesdits moyens de correction d'erreurs étant en outre capables de corriger une erreur présente dans un mot mémorisé auquel un accès a été ainsi demandé, un élément (25) transmettant ledit mot corrigé au demandeur, le mot non corrigé restant dans la mémoire jusqu'à ce qu'il soit
corrigé au cours d'une opération suivante de régénération.
3. Système de traitement de l'information selon
l'une des revendications 1 et 2, dans lequel la mémoire
comprend plusieurs modules (10', 10") à l'intérieur desquels les mots sont mémorisés, les bits des mots étant disposés en rangées et colonnes pouvant être sélectionnées dans chaque module de mémoire, le système étant en outre caractérisé par le fait que les moyens de régénération comprennent des éléments (53, 58) de sélection de module destinés à produire, au cours d'une opération de régénération, un signal de sélection de module (MOD SEL) destiné à sélectionner un
248 1487
module de mémoire spécifié dans lequel un mot doit être régénéré, un élément (51) de sélection de rangée destiné à produire, pendant une opération de régénération, un signal de sélection de rangée transmis à tous les modules de mémoires et identifiant une rangée particulière dans chacun de ces modules, et un élément (52) de sélection de colonne destiné à produire, au cours d'une opération de régénération, un signal de sélection d'adresse de colonne transmis uniquement audit module spécifié et choisi pour l'opération de régénération, ce signal identifiant une colonne particulière dans ledit
module sélectionné.
4. Système de traitement de l'information selon la revendication 3, caractérisé en ce que l'élément de sélection de colonne transmet ledit signal de sélection d'adresse de colonne uniquement au module spécifié par ledit signal de sélection de module lorsqu'un demandeur (100) demande qu'un mot soit extrait de ladite mémoire ou écrit dans cette mémoire, l'élément de sélection de rangée transmettant ledit signal de sélection d'adresse de rangée uniquement-au module spécifié par le signal de sélection de module lorsqu'un demandeur demande qu'un mot soit extrait de
ladite mémoire ou écrit dans cette mémoire.
5. Système de traitement de l'information selon la revendication 4, caractérisé en ce qu'il comporte un élément destiné à transmettre un signal de validation d'écriture (WE) uniquement au module spécifié par le signal de sélection de module lorsqu'un mot corrigé est récrit dans ladite mémoire au cours d'une opération de régénération, ou bien lorsqu'un demandeur (100) demande qu'un mot soit écrit
dans la mémoire.
6. Système de traitement de l'information selon la revendication 5, caractérisé en ce que chaque module de mémoire comprend un élément destiné à produire un signal d'occupation lorsqu'une opération de régénération se déroule sur des mots mémorisés dans ledit module, afin d'empêcher un demandeur d'accéder à ce module au cours de ladite opération
de régénération.
FR8108215A 1980-04-25 1981-04-24 Systeme de traitement de l'information utilisant des techniques de regeneration et de detection et correction d'erreurs Expired FR2481487B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/143,675 US4380812A (en) 1980-04-25 1980-04-25 Refresh and error detection and correction technique for a data processing system

Publications (2)

Publication Number Publication Date
FR2481487A1 true FR2481487A1 (fr) 1981-10-30
FR2481487B1 FR2481487B1 (fr) 1987-06-12

Family

ID=22505098

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8108215A Expired FR2481487B1 (fr) 1980-04-25 1981-04-24 Systeme de traitement de l'information utilisant des techniques de regeneration et de detection et correction d'erreurs

Country Status (9)

Country Link
US (1) US4380812A (fr)
JP (1) JPS56169300A (fr)
AU (1) AU544356B2 (fr)
CA (1) CA1165451A (fr)
DE (1) DE3115541A1 (fr)
FR (1) FR2481487B1 (fr)
GB (1) GB2075730B (fr)
NL (1) NL8102030A (fr)
SE (1) SE449141B (fr)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4493081A (en) * 1981-06-26 1985-01-08 Computer Automation, Inc. Dynamic memory with error correction on refresh
JPS59117800A (ja) * 1982-12-25 1984-07-07 Fujitsu Ltd バツフア・ストレ−ジの1ビツトエラ−処理方式
US4532628A (en) * 1983-02-28 1985-07-30 The Perkin-Elmer Corporation System for periodically reading all memory locations to detect errors
JPS59165300A (ja) * 1983-03-10 1984-09-18 Fujitsu Ltd メモリ障害訂正方式
US4535455A (en) * 1983-03-11 1985-08-13 At&T Bell Laboratories Correction and monitoring of transient errors in a memory system
US4542454A (en) * 1983-03-30 1985-09-17 Advanced Micro Devices, Inc. Apparatus for controlling access to a memory
JPS60229592A (ja) * 1984-04-27 1985-11-14 Mitsubishi Electric Corp 符号化伝送方式文字放送受信装置
EP0162936B1 (fr) * 1984-05-26 1988-08-10 HONEYWELL BULL ITALIA S.p.A. Correction d'érreur simple pour système à mémoire
CA1234222A (fr) * 1984-09-26 1988-03-15 Akira Matsushita Methode et dispositif de correction d'erreurs
US4899275A (en) * 1985-02-22 1990-02-06 Intergraph Corporation Cache-MMU system
JPS61214298A (ja) * 1985-03-20 1986-09-24 Toshiba Corp 誤り訂正機能を備えた半導体記憶装置
CA1240066A (fr) * 1985-08-15 1988-08-02 John R. Ramsay Circuit de regeneration et de controle de parite pour memoire dynamique
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
JPH01171199A (ja) * 1987-12-25 1989-07-06 Mitsubishi Electric Corp 半導体メモリ
EP0424301A3 (en) * 1989-10-18 1992-09-16 International Business Machines Corporation Overlapped data scrubbing with data refreshing
GB2239539B (en) * 1989-11-18 1994-05-18 Active Book Co Ltd Method of refreshing memory devices
US5127014A (en) * 1990-02-13 1992-06-30 Hewlett-Packard Company Dram on-chip error correction/detection
JP3146075B2 (ja) * 1992-10-14 2001-03-12 三菱電機株式会社 多重化メモリ装置
EP0600137A1 (fr) * 1992-11-30 1994-06-08 International Business Machines Corporation Procédé et dispositif pour la correction d'erreurs dans une mémoire
JPH10177800A (ja) * 1996-10-21 1998-06-30 Texas Instr Inc <Ti> エラー訂正ダイナミック・メモリ及びそのエラー訂正方法
JP3177207B2 (ja) * 1998-01-27 2001-06-18 インターナショナル・ビジネス・マシーンズ・コーポレ−ション リフレッシュ間隔制御装置及び方法、並びにコンピュータ
US6701480B1 (en) * 2000-03-08 2004-03-02 Rockwell Automation Technologies, Inc. System and method for providing error check and correction in memory systems
US20020199153A1 (en) * 2001-06-22 2002-12-26 Fall Thomas G. Sampling method for use with bursty communication channels
US20030046630A1 (en) * 2001-09-05 2003-03-06 Mark Hilbert Memory using error-correcting codes to correct stored data in background
US7051264B2 (en) * 2001-11-14 2006-05-23 Monolithic System Technology, Inc. Error correcting memory and method of operating same
US7320100B2 (en) 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US7099221B2 (en) * 2004-05-06 2006-08-29 Micron Technology, Inc. Memory controller method and system compensating for memory cell data losses
US7116602B2 (en) * 2004-07-15 2006-10-03 Micron Technology, Inc. Method and system for controlling refresh to avoid memory cell data losses
US7392456B2 (en) * 2004-11-23 2008-06-24 Mosys, Inc. Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory
US7894289B2 (en) * 2006-10-11 2011-02-22 Micron Technology, Inc. Memory system and method using partial ECC to achieve low power refresh and fast access to data
US7900120B2 (en) 2006-10-18 2011-03-01 Micron Technology, Inc. Memory system and method using ECC with flag bit to identify modified data
US8245087B2 (en) * 2007-03-26 2012-08-14 Cray Inc. Multi-bit memory error management
KR20150018091A (ko) * 2013-08-09 2015-02-23 에스케이하이닉스 주식회사 오류 검출 회로 및 이를 이용한 데이터 처리 장치
WO2015152857A1 (fr) * 2014-03-29 2015-10-08 Empire Technology Development Llc Dimensionnement de cache dram dynamique à faible consommation d'énergie
US9990293B2 (en) 2014-08-12 2018-06-05 Empire Technology Development Llc Energy-efficient dynamic dram cache sizing via selective refresh of a cache in a dram
US9823964B2 (en) 2015-12-08 2017-11-21 Nvidia Corporation Method for memory scrub of DRAM with internal error correcting code (ECC) bits during either memory activate and/or precharge operation
US10049006B2 (en) 2015-12-08 2018-08-14 Nvidia Corporation Controller-based memory scrub for DRAMs with internal error-correcting code (ECC) bits contemporaneously during auto refresh or by using masked write commands
US9880900B2 (en) 2015-12-08 2018-01-30 Nvidia Corporation Method for scrubbing and correcting DRAM memory data with internal error-correcting code (ECC) bits contemporaneously during self-refresh state
US9934841B1 (en) 2016-10-21 2018-04-03 Altera Corporation Systems and methods for refreshing data in memory circuits
CN113223603B (zh) * 2021-05-31 2022-12-06 西安紫光国芯半导体有限公司 存储器刷新控制方法、装置、控制电路及存储器件

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2331122A1 (fr) * 1975-11-04 1977-06-03 Siemens Ag Procede pour accroitre la fiabilite de sous-ensembles integres de memoires et pour ameliorer le rendement de leur fabrication
US4183096A (en) * 1978-05-25 1980-01-08 Bell Telephone Laboratories, Incorporated Self checking dynamic memory system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2247835C3 (de) * 1972-09-29 1978-10-05 Siemens Ag, 1000 Berlin Und 8000 Muenchen Verfahren zum Regenerieren der Speicherinhalte von MOS-Speichern und MOS-Speicher zur Durchführung dieses Verfahrens
US4005405A (en) * 1975-05-07 1977-01-25 Data General Corporation Error detection and correction in data processing systems
JPS5381036A (en) * 1976-12-27 1978-07-18 Hitachi Ltd Error correction-detection system
US4216541A (en) * 1978-10-05 1980-08-05 Intel Magnetics Inc. Error repairing method and apparatus for bubble memories
US4251863A (en) * 1979-03-15 1981-02-17 Sperry Corporation Apparatus for correction of memory errors
US4255808A (en) * 1979-04-19 1981-03-10 Sperry Corporation Hard or soft cell failure differentiator
US4319356A (en) * 1979-12-19 1982-03-09 Ncr Corporation Self-correcting memory system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2331122A1 (fr) * 1975-11-04 1977-06-03 Siemens Ag Procede pour accroitre la fiabilite de sous-ensembles integres de memoires et pour ameliorer le rendement de leur fabrication
US4183096A (en) * 1978-05-25 1980-01-08 Bell Telephone Laboratories, Incorporated Self checking dynamic memory system

Also Published As

Publication number Publication date
NL8102030A (nl) 1981-11-16
JPH0118459B2 (fr) 1989-04-05
SE8102507L (sv) 1981-10-26
SE449141B (sv) 1987-04-06
GB2075730B (en) 1984-09-19
AU6760081A (en) 1981-10-29
DE3115541C2 (fr) 1990-05-17
AU544356B2 (en) 1985-05-23
DE3115541A1 (de) 1982-03-25
JPS56169300A (en) 1981-12-25
CA1165451A (fr) 1984-04-10
US4380812A (en) 1983-04-19
FR2481487B1 (fr) 1987-06-12
GB2075730A (en) 1981-11-18

Similar Documents

Publication Publication Date Title
FR2481487A1 (fr) Systeme de traitement de l&#39;information utilisant des techniques de regeneration et de detection et correction d&#39;erreurs
FR2827684A1 (fr) Controleur de memoire presentant une capacite d&#39;ecriture 1x/mx
FR2538976A1 (fr) Systeme de commutation de paquets synchrones de longueur fixe
EP0121030A1 (fr) Dispositif d&#39;arbitrage pour l&#39;attribution d&#39;une ressource commune à une unité sélectionnée d&#39;un système de traitement de données
EP3259674B1 (fr) Circuit dram muni d&#39;un processeur integre
EP0063972A1 (fr) Procédé et dispositif d&#39;allocation d&#39;une ressource dans un système comportant des unités de traitement de données autonomes
FR2486290A1 (fr) Dispositif de transmission rapide de donnees comportant un circuit de commande a acces direct a la memoire
WO2003038620A2 (fr) Procede de memorisation de donnees avec correction d&#39;erreur
FR2473753A1 (fr) Dispositif pour fournir des groupes de donnees corriges a un circuit de destination
FR2632092A1 (fr) Circuit de conditionnement d&#39;ecriture d&#39;antememoire retarde pour un systeme de microcalculateur a bus double comprenant une unite 80386 et une unite 82385
FR2840445A1 (fr) Circuit memoire comportant un code correcteur d&#39;erreur
FR2849228A1 (fr) Dispositif de transfert de donnees entre deux sous-systemes asynchrones disposant d&#39;une memoire tampon
FR2536884A1 (fr) Reseau de transfert de donnees entre plusieurs processeurs et une memoire
EP1081597A1 (fr) Dispositif à plusieurs processeurs ayant une interface pour une mémoire collective
EP1772808B1 (fr) Dispositif et procédé de lecture d&#39;informations dans un ensemble de composants électroniques reliés à un bus de communication, appliqué à la lecture d&#39;une matrice de pixels
EP0052863B1 (fr) Dispositif d&#39;adressage d&#39;un ensemble d&#39;enregistreurs d&#39;un central de commutation
EP0635786B1 (fr) Dispositif de stockage de données
EP0344052B1 (fr) Mémoire modulaire
FR2497596A1 (fr) Machine informatique comportant une antememoire
FR2801388A1 (fr) Procede de commande de memoire dram rapide et controleur adapte
FR2825167A1 (fr) Procede et systeme d&#39;acces a une memoire commune
FR2577331A1 (fr) Appareil et procede pour eviter les defauts dans les memoires a semi-conducteurs
FR2635607A1 (fr) Procede interne de programmation de controle automatique et de redondance pour circuits a memoires et dispositif pour l&#39;application du procede
FR2808903A1 (fr) Systeme d&#39;acces memoire
EP0962855B1 (fr) Accès rapide aux circuits tampons

Legal Events

Date Code Title Description
ST Notification of lapse