FR2640409A1 - Process for storing data in an electronic memory, corresponding interface module for electronic memory and corresponding memory device - Google Patents
Process for storing data in an electronic memory, corresponding interface module for electronic memory and corresponding memory device Download PDFInfo
- Publication number
- FR2640409A1 FR2640409A1 FR8816152A FR8816152A FR2640409A1 FR 2640409 A1 FR2640409 A1 FR 2640409A1 FR 8816152 A FR8816152 A FR 8816152A FR 8816152 A FR8816152 A FR 8816152A FR 2640409 A1 FR2640409 A1 FR 2640409A1
- Authority
- FR
- France
- Prior art keywords
- group
- cells
- memory
- data
- interface module
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/83—Masking faults in memories by using spares or by reconfiguring using programmable devices with reduced power consumption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/83—Masking faults in memories by using spares or by reconfiguring using programmable devices with reduced power consumption
- G11C29/832—Masking faults in memories by using spares or by reconfiguring using programmable devices with reduced power consumption with disconnection of faulty elements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Procédé de stockage de données dans une mémoire électronique, module interface pour mémoire électronique et dispositif de mémoire correspondants
L'invention concerne le stockage de données dans une mémoire électronique qui peut être logée notamment dans un engin ou satellite spatial.Method for storing data in an electronic memory, interface module for electronic memory and corresponding memory device
The invention relates to the storage of data in an electronic memory which can be housed in particular in a spacecraft or satellite.
Des difficultés particulières se présentent lorsqu'on souhaite faire un stockage de données dans une mémoire électronique logée par exemple dans un satellite en orbite autour de la terre. L'homme de l'art sait en effet que des rayonnements ionisants cosmiques sont susceptibles de perturber la structure des zones mémoire réalisées en technologie à diffusion ionique, par exemple en technologie CMOS.Particular difficulties arise when it is desired to store data in an electronic memory housed for example in a satellite orbiting the earth. Those skilled in the art in fact know that cosmic ionizing radiation is capable of disturbing the structure of the memory areas produced in ion diffusion technology, for example in CMOS technology.
Des courts-circuits peuvent se produire au repos dans ces zones mémoire, sous la forme d'un effet dit thyristor appelé encore "latch up" par l'homme de l'art, entraînant une consommation excessive desdites zones mémoire susceptible de les détruire.Short circuits can occur at rest in these memory areas, in the form of a so-called thyristor effect also called "latch up" by those skilled in the art, resulting in excessive consumption of said memory areas capable of destroying them.
Il est possible d'utiliser des mémoires électroniques résistant aux rayonnements ionisants, par exemple les mémoires à bulles magnétiques. Néanmoins, de telles mémoires électroniques ne sont pas satisfaisantes parce qu'elles consomment énormément et sont trop coûteuses.Electronic memories resistant to ionizing radiation can be used, for example magnetic bubble memories. However, such electronic memories are not satisfactory because they consume a lot and are too expensive.
L'invention a pour but d'apporter une solution à ce problème.The invention aims to provide a solution to this problem.
A cet effet, elle vise tout d'abord à éviter qu'un court-circuit provoqué par un événement anormal externe tel qu'une ionisation due à des rayonnements ionisants, rende inutilisable une partie d'une mémoire réalisée en technologie à diffusion ionique.To this end, it aims firstly to prevent a short circuit caused by an abnormal external event such as ionization due to ionizing radiation, rendering unusable part of a memory produced in ion diffusion technology.
Ensuite, elle vise à détecter dans le contenu des données stockées dans la mémoire, les erreurs causées par des évènements anormaux internes ou externes à la mémoire.Then, it aims to detect in the content of the data stored in the memory, the errors caused by abnormal events internal or external to the memory.
Enfin, elle vise à corriger les erreurs ainsi détectées.Finally, it aims to correct the errors thus detected.
Tout d'abord, l'invention a pour objet un procédé de stockage de données.First, the invention relates to a data storage method.
Selon une définition générale de l'invention, le procédé comprend les étapes suivantes - a) prévoir une mémoire électronique dont les cellules sont adressables par groupes ou colonnes - b) subdiviser la mémoire en blocs ou lignes de cellules, chaque bloc comprenant des cellules utiles et au moins une cellule auxiliaire, ces cellules appartenant à des groupes tous différents - c) à chaque demande de stockage de données en mémoire
. cl) écrire celle-ci dans des cellules d'un même bloc,
. c2) parcourir les groupes contenant ces cellules utiles,
c3) écrire à chaque fois dans la cellule auxiliaire
de ce bloc un code de détection d'erreur relatif
à toutes les cellules utiles de ce bloc - d) surveiller la consommation au repos de chaque groupe de ladite mémoire, et en cas de consommation excessive d'un groupe
dl) lire l'ensemble des blocs contenant une cellule
de ce groupe,
. d2) retrouver la donnée située à chaque intersection
d'un groupe et d'un bloc, à l'aide dudit code
détecteur d'erreur, et
. d3) réécrire l'ensemble de données ainsi déterminées,
dans un autre groupe de cellules de la mémoire.According to a general definition of the invention, the method comprises the following steps - a) providing an electronic memory whose cells are addressable by groups or columns - b) subdividing the memory into blocks or rows of cells, each block comprising useful cells and at least one auxiliary cell, these cells belonging to all different groups - c) on each request to store data in memory
. cl) write it in cells of the same block,
. c2) browse the groups containing these useful cells,
c3) write each time in the auxiliary cell
of this block a relative error detection code
to all the useful cells of this block - d) monitoring the consumption at rest of each group of said memory, and in case of excessive consumption of a group
dl) read all the blocks containing a cell
of this group,
. d2) find the data located at each intersection
a group and a block, using said code
error detector, and
. d3) rewrite the dataset thus determined,
in another group of memory cells.
Selon un autre aspect de l'invention, en cas de consommation excessive d'un groupe, l'étape d) du procédé selon l'invention comprend l'interruption de l'alimentation de ce groupe.According to another aspect of the invention, in the event of excessive consumption of a group, step d) of the method according to the invention comprises the interruption of the supply of this group.
Le code détecteur d'erreur de l'étape c3) suffit pour certaines applications. Il est cependant préférable qu'à l'étape c3) dudit procédé on utilise un code du type correcteur d'erreur, ce qui nécessite plusieurs cellules auxiliaires.The error detection code in step c3) is sufficient for certain applications. It is however preferable that in step c3) of said method, a code of the error correcting type is used, which requires several auxiliary cells.
Dès lors que les erreurs peuvent être corrigées à l'aide de ce code, le procédé selon l'invention comprend l'étape supplémentaire suivante e) A chaque demande de lecture de données en mémoire dans un groupe de celle-ci
el) lire l'ensemble des blocs contenant une cellule
de ce groupe ; et
e2) corriger l'ensemble des données présentant une
erreur à l'aide du code correcteur d'erreur, et
réécrire cet ensemble dans ledit groupe de cellules
de la mémoire (dans la mesure où ce groupe n'a
pas été inhibé en vertu de l'étape d).As soon as the errors can be corrected using this code, the method according to the invention comprises the following additional step e) On each request to read data from memory in a group thereof
el) read all the blocks containing a cell
of this group; and
e2) correct all data presenting a
error using the error correction code, and
rewrite this set in said cell group
memory (since this group has
not been inhibited under step d).
L'invention a également pour objet un module interface pour mémoire électronique comprenant des moyens tampon de données, d'adresses et de signaux de commande permettant l'accès à un groupe ou colonne de cellules de la mémoire. The invention also relates to an interface module for electronic memory comprising means for buffering data, addresses and control signals allowing access to a group or column of memory cells.
Selon une définition générale de l'invention, le module interface comporte des moyens propres à détecter sélectivement une consommation excessive de ce groupe, en l'absence de demande d'accès audit groupe, ainsi qu'à interrompre l'alimentation de ce groupe si la condition de détection est vérifiée.According to a general definition of the invention, the interface module includes means capable of selectively detecting excessive consumption of this group, in the absence of a request to access said group, as well as of interrupting the supply of this group if the detection condition is checked.
Selon une caractéristique importante de l'invention, les moyens propres à détecter sélectivement une consommation excessive d'un groupe de cellules comprennent un organe différenciateur possédant une première entrée reliée à un potentiel de référence, une seconde entrée reliée au potentiel d'alimentation de ce groupe et une sortie propre à délivrer un signal représentatif de la différence entre ces deux potentiels, et un organe de commande possédant une première entrée reliée à la sortie de l'organe différenciateur, une seconde entrée recevant au moins un signal représentatif d'une différence du potentiel prédéterminée, et une sortie propre à délivrer un signal de détection représentatif d'une consommation excessive du groupe en réponse à une différence de potentiel mesurée par l'organe différenciateur supérieure à la différence de potentiel prédéterminée.According to an important characteristic of the invention, the means capable of selectively detecting excessive consumption of a group of cells include a differentiating organ having a first input connected to a reference potential, a second input connected to the supply potential of this group and an output suitable for delivering a signal representative of the difference between these two potentials, and a control member having a first input connected to the output of the differentiator, a second input receiving at least one signal representative of a difference of the predetermined potential, and an output capable of delivering a detection signal representative of excessive consumption of the group in response to a potential difference measured by the differentiating member greater than the predetermined potential difference.
Selon une autre caractéristique importante du module interface selon l'invention, les moyens propres à interrompre l'alimentation d'un groupe de cellules comprennent au moins un transistor dont la grille reçoit le signal de détection délivré par l'organe de commande, dont le drain est relié au potentiel de l'alimentation générale de la mémoire et dont la source est reliée au potentiel d'alimentation dudit groupe, le signal de détection appliqué à la grille du transistor étant susceptible d'établir un circuit ouvert entre le drain et la source du transistor, en vue de couper l'alimentation du groupe de cellules. According to another important characteristic of the interface module according to the invention, the means suitable for interrupting the supply of a group of cells comprise at least one transistor, the gate of which receives the detection signal delivered by the control member, the drain is connected to the potential of the general supply of the memory and the source of which is connected to the supply potential of said group, the detection signal applied to the gate of the transistor being capable of establishing an open circuit between the drain and the source of the transistor, in order to cut the supply of power to the group of cells.
Avantageusement, les moyens tampon, de données, bidirectionnels, possèdent de premières entrées/sorties reliées en commun à un bus de données propre à convoyer les données vers ledit module interface, de secondes entrées/sorties reliées en commun à un bus de données propre à convoyer les données vers les groupes de la mémoire, une ligne de sélection de la direction, une ligne d'isolation desdits moyens tampon et une ligne de validation des secondes entrées/sorties.Advantageously, the bidirectional data buffer means have first inputs / outputs connected in common to a data bus capable of conveying the data to said interface module, second inputs / outputs connected in common to a data bus specific to convey the data to the memory groups, a direction selection line, an isolation line for said buffer means and a validation line for second inputs / outputs.
Selon un autre aspect de l'invention, les moyens tampons d'adresse et de signaux de commande possèdent une première porte OU dont la première entrée est reliée à la ligne d'adressage de bloc desdites cellules, dont la seconde entrée est reliée à la ligne d'adressage de groupe desdites cellules et dont la sortie est reliée à la ligne d'adressage desdites cellules, et une seconde porte OU dont la première entrée est reliée à la ligne de commande écriture/lecture du bus de données, dont la seconde entrée est à la masse et dont la sortie est reliée à la ligne de commande écriture/lecture desdites cellules.According to another aspect of the invention, the address buffer and control signal means have a first OR gate, the first input of which is connected to the block addressing line of said cells, the second input of which is connected to the group addressing line of said cells and the output of which is connected to the addressing line of said cells, and a second OR gate the first input of which is connected to the write / read command line of the data bus, the second of which input is grounded and whose output is connected to the write / read command line of said cells.
Avantageusement, le module interface comprend en outre une ligne de remise sous tension propre à remettre sous alimentation un groupe coupé de l'alimentation générale. Advantageously, the interface module further comprises a power-up line capable of restoring power to a group cut off from the general power supply.
L'invention a enfin pour objet un dispositif de mémoire électronique comprenant une mémoire dont les cellules sont adressables par groupe, cette mémoire étant subdivisée en blocs de cellules, dont chacun comprend des cellules utiles et au moins une cellule auxiliaire, ces cellules appartenant à des groupes tous différents.The invention finally relates to an electronic memory device comprising a memory whose cells are addressable by group, this memory being subdivided into blocks of cells, each of which comprises useful cells and at least one auxiliary cell, these cells belonging to all different groups.
Selon une définition générale du dispositif de mémoire électronique selon l'invention, il est prévu au moins un module interface selon l'invention pour chaque groupe de cellules et un contrôleur de communication propre, à chaque demande d'accès audit groupe, à écrire des données dans les cellules utiles d'un même bloc, parcourir les groupes contenant ces cellules utiles, écrire à chaque fois dans la cellule auxiliaire de ce bloc un code de détection d'erreur relatif à toutes les cellules utiles de ce bloc, ledit contrôleur de communication en réponse à une détection d'une consommation excessive au repos du groupe de cellules par ledit module interface selon l'invention, étant susceptible de lire l'ensemble des blocs contenant une cellule de ce groupe, de retrouver la donnée située à chaque intersection de ce groupe et d'un bloc, à l'aide dudit code détecteur d'erreur et de réécrire l'ensemble des données ainsi déterminées, dans un autre groupe de cellules de la mémoire.According to a general definition of the electronic memory device according to the invention, at least one interface module according to the invention is provided for each group of cells and a communication controller capable, at each access request to said group, of writing data in the useful cells of the same block, browse the groups containing these useful cells, write each time in the auxiliary cell of this block an error detection code relating to all the useful cells of this block, said controller communication in response to a detection of excessive consumption at rest of the group of cells by said interface module according to the invention, being capable of reading all the blocks containing a cell of this group, of finding the data located at each intersection of this group and of a block, using said error detecting code and to rewrite all the data thus determined, in another group of cellul are from memory.
Avantageusement, en cas de consommation excessive du groupe, le module interface procède à l'interruption de l'alimentation de ce groupe.Advantageously, in the event of excessive consumption of the group, the interface module proceeds to interrupt the supply to this group.
Selon une autre caractéristique importante du dispositif de mémoire selon l'invention, le contrôleur de communication est susceptible d'écrire dans les cellules auxiliaires, un code propre à corriger les erreurs, ce qui permet au contrôleur de communication, à chaque demande de lecture de données en mémoire dans un groupe de celle-ci, de lire l'ensemble des blocs contenant une cellule de ce groupe, de corriger l'ensemble des données présentant une erreur à l'aide du code correcteur d'erreur et de réécrire cet ensemble dans ledit groupe de cellules de la mémoire.According to another important characteristic of the memory device according to the invention, the communication controller is capable of writing in the auxiliary cells, a code suitable for correcting errors, which allows the communication controller, on each read request to data in memory in a group of this one, to read all the blocks containing a cell of this group, to correct all the data presenting an error using the error correcting code and to rewrite this set in said group of memory cells.
En pratique, les données étant constituées de mots de plusieurs bits, chaque bit de données est stocké dans une cellule utile.In practice, the data being made up of words of several bits, each bit of data is stored in a useful cell.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels - la figure I représente une vue schématique d'une mémoire électronique de type connu ; - la figure 2 représente une vue schématique plus détaillée d'une mémoire électronique dans laquelle le stockage des données s'effectue via un contrôleur de communication ; - la figure 3 représente une vue schématique d'un module interface dans lequel les bus de données convoyent des données sur 18 bits, selon l'invention ; et - la figure 4 représente une vue schématique d'un module interface dans lequel les données sont convoyées par deux bus de 9 bits, selon l'invention.Other characteristics and advantages of the invention will appear on examining the detailed description below, and the appended drawings, in which - FIG. I represents a schematic view of an electronic memory of known type; - Figure 2 shows a more detailed schematic view of an electronic memory in which the data is stored via a communication controller; - Figure 3 shows a schematic view of an interface module in which the data buses convey data on 18 bits, according to the invention; and - Figure 4 shows a schematic view of an interface module in which the data is conveyed by two 9-bit buses, according to the invention.
Les dessins annexés comportent de nombreux éléments de caractère certain qu'ils peuvent seuls apporter. Ils font donc partie intégrante de la description, pour servir à faire comprendre l'invention, aussi bien qu'à la définir.The appended drawings contain numerous elements of a certain nature which they alone can provide. They therefore form an integral part of the description, to serve to explain the invention, as well as to define it.
Sur la figure 1, on a représenté une mémoire électronique de type connu portant la référence 2. Cette mémoire électronique est constituée de cellules 4 rangées sous forme matricielle et situées au croisement de groupes ou colonnes d'adressage C11C2,... ,C8 et de blocs ou lignes d'adressage Rl,R2,R3,R4. Chaque cellule 4 est propre à contenir un mot d'au moins un bit. Ces cellules 4 peuvent se subdiviser en des cellules utiles propres à contenir des données et des cellules auxiliaires propres à contenir des codes que l'on décrira plus en détail ci-après.FIG. 1 shows an electronic memory of known type bearing the reference 2. This electronic memory consists of cells 4 arranged in matrix form and located at the intersection of groups or addressing columns C11C2, ..., C8 and blocks or address lines Rl, R2, R3, R4. Each cell 4 is able to contain a word of at least one bit. These cells 4 can be subdivided into useful cells suitable for containing data and auxiliary cells suitable for containing codes which will be described in more detail below.
On a représenté ici une page mémoire de 32 cellules réparties en 8 groupes et 4 blocs. Bien entendu, une mémoire électronique peut être constituée de plusieurs pages contenant ixj cellules réparties en i colonnes et j lignes.Here we have shown a memory page of 32 cells divided into 8 groups and 4 blocks. Of course, an electronic memory can consist of several pages containing ixj cells distributed in i columns and j rows.
Chaque page mémoire possède un bus BP propre à convoyer les données destinées à être stockées dans ladite page.Each memory page has a BP bus suitable for conveying the data intended to be stored in said page.
Chaque colonne possède un bus, référencé BDC1 pour la colonne Cl, propre à convoyer les données destinées à être stockées dans la cellule de ladite colonne et un bus adresse, référencé BAC1 pour la colonne Cl, propre à convoyer les adresses desdites données.Each column has a bus, referenced BDC1 for column Cl, suitable for conveying the data intended to be stored in the cell of said column and an address bus, referenced BAC1 for column Cl, suitable for conveying the addresses of said data.
Sur la figure 2, on a représenté une mémoire électronique 2 possédant 16 pages mémoire P référencées individuellement en P1 à P16.In FIG. 2, an electronic memory 2 is shown having 16 memory pages P individually referenced in P1 to P16.
Un contrôleur de communication 6 reçoit les données destinées à être stockées dans la mémoire via un bus MB, par exemple un bus de type MULTIBUS (marque déposée).A communication controller 6 receives the data intended to be stored in the memory via an MB bus, for example a bus of the MULTIBUS type (registered trademark).
Le contrôleur de communication 6 convoie les données vers les pages de mémoire à l'aide des lignes de données bidirectionnelles D, des lignes d'adresses A, des lignes de commande R/W et des lignes de sélection de pages SP, de colonnes SC et des lignes SL.The communication controller 6 conveys the data to the memory pages using bidirectional data lines D, address lines A, command lines R / W and page selection lines SP, columns SC and SL lines.
Dans l'exemple décrit en référence à la figure 2, les données sont constituées de mots de 16 bits, les adresses sont écrites sur 15 bits, la mémoire est répartie sur 16 pages contenant chacune des cellules adressables sur 8 colonnes et 4 lignes.In the example described with reference to FIG. 2, the data consists of 16-bit words, the addresses are written on 15 bits, the memory is distributed over 16 pages each containing addressable cells on 8 columns and 4 lines.
La mémoire électronique 2 est par exemple une mémoire statique à faible consommation au repos réalisée en technologie CMOS.The electronic memory 2 is for example a static memory with low consumption at rest produced in CMOS technology.
Selon une caractéristique importante de l'invention, au moins un module interface est prévu pour chaque colonne en vue d'éviter qu'un court-circuit provoqué par un évènement anormal dans ladite colonne rende celle-ci inutilisable. Par exemple, le court-circuit peut être provoqué par des rayonnements ionisants dans le cas où la mémoire est logée dans un engin spatial en orbite autour de la terre.According to an important characteristic of the invention, at least one interface module is provided for each column in order to avoid that a short circuit caused by an abnormal event in said column renders the latter unusable. For example, the short circuit can be caused by ionizing radiation in the case where the memory is housed in a spacecraft orbiting the earth.
Sur la figure 3, on a représenté une vue schématique d'un tel module interface.In Figure 3, there is shown a schematic view of such an interface module.
Le module interface est subdivisé en trois parties - une première partie fl assurant un fonction permettant d'éviter qu'un court-circuit dans une colonne entraîne une consommation excessive de celle-ci susceptible de détruire ladite colonne (effet "latch up") ; - une seconde partie f2 assurant une fonction interface entre le contrôleur de communication et les cellules d'une colonne de la mémoire ; et - une troisième partie f3 assurant une fonction interface entre le contrôleur de communication et les lignes de commande de stockage dans les cellules de ladite colonne.The interface module is subdivided into three parts - a first part fl ensuring a function making it possible to prevent a short circuit in a column leading to an excessive consumption of this likely to destroy said column ("latch up" effect); - a second part f2 providing an interface function between the communication controller and the cells of a column of the memory; and a third part f3 providing an interface function between the communication controller and the storage control lines in the cells of said column.
Les éléments essentiels constitutifs de la partie fl assurent un écran entre l'alimentation générale de la mémoire de potentiel VDD et l'alimentation d'une colonne de potentiel VRAM. The essential elements constituting the part fl provide a screen between the general supply of the potential memory VDD and the supply of a potential column VRAM.
Selon une caractéristique importante de l'invention, les éléments de la partie fl ont pour objet de détecter sélectivement une consommation excessive d'un groupe associé audit module, en l'absence de demande d'accès audit groupe et d'interrompre l'alimentation de ce groupe si la condition de détection est vérifiée.According to an important characteristic of the invention, the elements of the part f1 are intended to selectively detect excessive consumption of a group associated with said module, in the absence of a request for access to said group and to interrupt the supply of this group if the detection condition is verified.
D'une façon générale, la partie fl comprend des moyens de détection de consommation excessive OD,OC et des moyens d'interruption de l'alimentation OI. In general, the part fl comprises means for detecting excessive consumption OD, OC and means for interrupting the supply OI.
Les moyens de détection comprennent un organe différenciateur OD possédant une entrée 10 recevant un potentiel de référence VREF, une entrée 12 reliée au potentiel d'alimentation de la colonne VRAM.The detection means comprise a differentiator OD having an input 10 receiving a reference potential VREF, an input 12 connected to the supply potential of the column VRAM.
L'organe différenciateur OD mesure la différence de potentiel entre ces deux entrées et délivre à sa sortie 14 un signal représentatif de cette différence de potentiel.The differentiating member OD measures the potential difference between these two inputs and delivers at its output 14 a signal representative of this potential difference.
Un organe de commande OC reçoit à son entrée 16, le signal délivré par la sortie 14 de l'organe différenciateur.A control member OC receives at its input 16, the signal delivered by the output 14 of the differentiator.
A son entrée 18, l'organe de commande reçoit au moins un signal de sélection SS représentatif d'une différence de potentiel prédéterminée. La sortie 20 de l'organe de commande délivre un signal de détection représentatif d'une consommation excessive du groupe en réponse à une différence de potentiel mesurée par l'organe différenciateur supérieure à la différence de potentiel prédéterminée.At its input 18, the control unit receives at least one selection signal SS representative of a predetermined potential difference. The output 20 of the control member delivers a detection signal representative of excessive consumption of the group in response to a potential difference measured by the differentiator greater than the predetermined potential difference.
L'organe différenciateur OD est par exemple un amplificateur différentiel dont l'entrée non inverseuse est reliée au potentiel VREF et dont l'entrée inverseuse est reliée au potentiel d'alimentation VRAM.The differentiator OD is for example a differential amplifier whose non-inverting input is connected to the potential VREF and whose inverting input is connected to the supply potential VRAM.
Les moyens d'interruption OI comprennent au moins un transistor T1 dont la grille G1 reçoit le signal de détection délivré par la sortie 20 de ltorgane de commande, dont le drain D1 est relié au potentiel d'alimentation de la colonne VRAM et dont la source S1 est reliée au potentiel d'alimentation générale de la mémoire VDD. Lorsque le signal de détection délivré par l'organe de commande
OC est à l'état actif, un circuit ouvert est établi entre le drain et la source du transistor Tl, ce qui entraîne la coupure de l'alimentation du groupe de cellules.The interruption means OI comprise at least one transistor T1, the gate G1 of which receives the detection signal delivered by the output 20 of the control unit, the drain D1 of which is connected to the supply potential of the column VRAM and the source of which S1 is linked to the general supply potential of the VDD memory. When the detection signal delivered by the control unit
OC is in the active state, an open circuit is established between the drain and the source of the transistor Tl, which leads to the interruption of the supply of the group of cells.
Une information de coupure d'alimentation du groupe est obtenue à la sortie 22 de l'organe différenciateur OD.Group power cut information is obtained at output 22 of the differentiator OD.
Les moyens d'interruption Ol peuvent comprendre une pluralité de transistors montés en parallèle entre le potentiel de l'alimentation de la colonne VRAM et l'alimentation générale de la mémoire VDD, en vue de réduire la résistance série du transistor T1 et permettre ainsi une détection de consommation plus fine.The interruption means Ol can comprise a plurality of transistors mounted in parallel between the potential of the power supply of the column VRAM and the general power supply of the memory VDD, in order to reduce the series resistance of the transistor T1 and thus allow a finer consumption detection.
En pratique, huit transistors T1 à T8 sont montés en parallèles, à chacun desquels il peut être associé une différence de potentiel prédéterminée. Par exemple, le transistor T1 sera actif pour une différence de potentiel correspondant à une consommation de l'ordre de 10 mA, tandis que le transistor T8 sera actif pour une différence de potentiel entre VDD et VRAM correspondant à une consommation de l'ordre de 80 mA.In practice, eight transistors T1 to T8 are mounted in parallel, to each of which there may be associated a predetermined potential difference. For example, the transistor T1 will be active for a potential difference corresponding to a consumption of the order of 10 mA, while the transistor T8 will be active for a potential difference between VDD and VRAM corresponding to a consumption of the order of 80 mA.
Ce sont les signaux de commande SS qui déterminent les tensions de déclenchement des transistors T1 à T8 Par exemple, les signaux de commande SS peuvent être écrits sur un mot de 3 bits permettant de programmer 8 pas de 10 à 80 mA pour les huit transistors T1 à T8.SS control signals determine the tripping voltages of transistors T1 to T8 For example, SS control signals can be written on a 3-bit word allowing 8 steps from 10 to 80 mA to be programmed for the eight T1 transistors to T8.
En pratique, les transistors sont réalisés dans une technologie insensible aux rayonnements ionisants. Par exemple, ils sont réalisés en technologie silicium sur saphir (CMOS/ sous). In practice, the transistors are produced in a technology insensitive to ionizing radiation. For example, they are made using silicon on sapphire technology (CMOS / sub).
Il est prévu une ligne de remise sous tension du groupe de cellules après interruption. Cette ligne RST commande, via une porte ET 24 et une porte OU 26, la grille 28 d'un transistor 30 dont le drain 32 est relié au potentiel d'alimentation de la colone VRAM et dont la source 34 est reliée au potentiel d'alimentation générale de la mémoire VDD. Plus précisément, le rétablissement de l'alimentation du groupe s'effectue via la porte ET 24 dont la première entrée 36 est reliée à l'entrée 42 de l'organe différenciateur OD, dont la seconde entrée 38 est reliée à une ligne SEL de validation des entrées/sorties des cellules de la colonne et une sortie 40, et via la porte OU 26 dont la première entrée 43 est reliée à la sortie 40 de la porte ET 24 et- dont la seconde entrée 44 est reliée à la ligne de remise sous tension
RST.C'est la sortie 46 de la porte OU qui est reliée à la grille 28 du transistor 30.A cell group re-energization line is provided after interruption. This RST line controls, via an AND gate 24 and an OR gate 26, the gate 28 of a transistor 30 whose drain 32 is connected to the supply potential of the VRAM colone and whose source 34 is connected to the potential of general supply of VDD memory. More precisely, the power supply to the group is restored via the AND gate 24, the first input 36 of which is connected to the input 42 of the differentiator OD, the second input of which 38 is connected to a line SEL of validation of the inputs / outputs of the column cells and an output 40, and via the OR gate 26, the first input 43 of which is connected to the output 40 of the AND gate 24 and - the second input 44 of which is connected to the line of power up
RST. It is the output 46 of the OR gate which is connected to the gate 28 of the transistor 30.
Le transistor 30 qui rétablit l'alimentation du groupe de cellules est par exemple réalisé en technologie CMOS/
SOS. Il doit être propre à supporter le potentiel VRAM.The transistor 30 which restores the power supply to the group of cells is for example produced in CMOS technology /
SOS. It must be able to support the VRAM potential.
La partie f2 du module interface selon l'invention comprend des moyens tampon assurant l'interface entre le bus de données provenant du contrôleur de communication et le bus de données destiné aux cellules du groupe.The part f2 of the interface module according to the invention comprises buffer means ensuring the interface between the data bus coming from the communication controller and the data bus intended for the cells of the group.
Le bus de données référencé B (17:0) convoye les données provenant du contrôleur de communication. Par exemple, les données sont écrites sur des mots de 18 bits. Un interrupteur I est inséré entre le bus de données provenant du contrôleur de communication et le bus de données A (17:0) destiné aux cellules de la mémoire. L'ouverture et la fermeture de l'interrupteur I sont commandées par une ligne d'isolation de bus VISON. Le bus de données
A (17:0) pour la mémoire étant commun à toutes les colonnes de ladite mémoire, l'interrupteur a pour objet d'empêcher qu'une panne sur un module tampon associé à une colonne provoque une perturbation sur toutes les colonnes. Ainsi, l'interrupteur I isole ledit module des autres modules en cas de panne du premier.The data bus referenced B (17: 0) conveys the data coming from the communication controller. For example, data is written to 18-bit words. A switch I is inserted between the data bus coming from the communication controller and the data bus A (17: 0) intended for the memory cells. The opening and closing of switch I is controlled by a VISON bus isolation line. The data bus
A (17: 0) for the memory being common to all the columns of said memory, the purpose of the switch is to prevent a failure on a buffer module associated with a column causing a disturbance on all the columns. Thus, the switch I isolates said module from the other modules in the event of failure of the first.
Une ligne DB sélectionne la direction du module tampon bidirectionnel entre le contrôleur et la mémoire, via deux amplificateurs 60 et 70 montés tête-bêche et commandés par une porte OU 54, la première entrée 50 de la porte 54 reçoit la ligne de sélection SEL validant les sorties du module tampon A (17:0), la seconde entrée de la porte 54 reçoit une ligne de redondance de bus et la sortie 56 de ladite porte 54 commande la validation des amplificateurs opérationnels 60 et 70.A line DB selects the direction of the bidirectional buffer module between the controller and the memory, via two amplifiers 60 and 70 mounted head to tail and controlled by an OR gate 54, the first input 50 of gate 54 receives the SEL selection line validating the outputs of buffer module A (17: 0), the second input of gate 54 receives a bus redundancy line and the output 56 of said gate 54 commands the validation of the operational amplifiers 60 and 70.
Un amplificateur opérationnel 80, validé par le potentiel d'alimentation de la colonne permet d'éviter des courts-circuits électriques provoqués par l'arrivée des données dans les cellules d'une colonne non alimentée. An operational amplifier 80, validated by the power supply potential of the column makes it possible to avoid electrical short-circuits caused by the arrival of data in the cells of a non-supplied column.
La partie f3 comprend des moyens d'adressage des cellules utiles et auxiliaires permettant l'adressage desdites cellules par le contrôleur de communication. Les moyens d'adressage comprennent une première porte OU 100 dont la première entrée 102 est reliée à la ligne d'adressage de ligne des cellules, dont la seconde entrée 104 est reliée à la ligne d'adressage de groupe des cellules, et dont la sortie 106 est reliée à la ligne d'adressage desdites cellules via un amplificateur opérationnel 108 commandé par le potentiel d'alimentation de la colonne
VRAM. Part f3 comprises means for addressing the useful and auxiliary cells allowing the addressing of said cells by the communication controller. The addressing means comprise a first OR gate 100, the first input 102 of which is connected to the row line addressing line of the cells, the second input 104 of which is connected to the group addressing line of the cells, and of which the output 106 is connected to the addressing line of said cells via an operational amplifier 108 controlled by the supply potential of the column
VRAM.
Les moyens d'adressage comprennent également une seconde porte OU 110 dont la première entrée 112 est reliée à la ligne d'adressage de page mémoire, dont la seconde entrée 114 est à la masse et dont la sortie 116 est reliée à la ligne d'adressage de page via un amplificateur opérationnel 118 commandé par le potentiel d'alimentation
VRAM.The addressing means also include a second OR gate 110 whose first input 112 is connected to the memory page address line, whose second input 114 is grounded and whose output 116 is connected to the line of page addressing via an operational amplifier 118 controlled by the supply potential
VRAM.
Les moyens d'adressage comprennent enfin une troisième porte OU 120 dont la première entrée 122 est reliée à la ligne de commande écriture/lecture des données, dont la seconde entrée 124 est reliée à la masse et dont la sortie 126 est reliée à la ligne de commande écriture/lecture des données dans la cellule, via un amplificateur opérationnel 128 commandé par le potentiel d'alimentation de la colonne VRAM.The addressing means finally comprise a third OR gate 120, the first input 122 of which is connected to the data write / read command line, the second input of which is linked to ground and the output of which is connected to the line. for writing / reading data in the cell, via an operational amplifier 128 controlled by the supply potential of the VRAM column.
Sur la figure 4, on a représenté une vue schématique de la partie f2 d'un module interface dans lequel les bus de données B et A de la figure 3 sont subdivisés en deux bus de données de 9 bits B (17:9) et B (8:0) pour le premier et en deux bus de données de 9 bits A (17:9) et A (8:0) pour le second. Dans ce cas, la partie interruption I de la figure 3 est commune aux deux parties B (17:9) et
B (8:0) du bus de données B, tandis que l'aiguillage DB des données soit vers le contrôleur de communication, soit vers la mémoire est doublé en DB1 et DB2 par rapport aux moyens d'aiguillage DB décrits en référence à la figure 3. De façon similaire, la ligne SEL de la figure 3 est doublée en deux lignes SEL1 et SEL2 affectées respectivement à la validation des sorties du module tampon A (17:9) et A (8:0).Corolairement, la porte OU 54 de la figure 3 est doublée en deux portes 54-1 et 54-2 dont les sorties 56-1 et 56-2 valident respectivement des amplificateurs opérationnels 60-1, 70-1 et 60-2, 70-2. Des moyens tampons MT1 à MT4 associés respectivement aux bus B (17:9), A (8:0) complètent la partie f2.FIG. 4 shows a schematic view of part f2 of an interface module in which the data buses B and A of FIG. 3 are subdivided into two 9-bit data buses B (17: 9) and B (8: 0) for the first and in two 9-bit data buses A (17: 9) and A (8: 0) for the second. In this case, the interruption part I of FIG. 3 is common to the two parts B (17: 9) and
B (8: 0) of the data bus B, while the data routing DB either to the communication controller or to the memory is doubled in DB1 and DB2 compared to the routing means DB described with reference to the figure 3. Similarly, the line SEL of figure 3 is doubled in two lines SEL1 and SEL2 assigned respectively to the validation of the outputs of the buffer module A (17: 9) and A (8: 0). OR 54 of FIG. 3 is doubled into two gates 54-1 and 54-2 whose outputs 56-1 and 56-2 respectively validate operational amplifiers 60-1, 70-1 and 60-2, 70-2. Buffer means MT1 to MT4 associated respectively with buses B (17: 9), A (8: 0) complete the part f2.
Le module interface décrit en référence aux figures 2, 3 et 4 permet ainsi d'éviter qu'un court-circuit se produisant au niveau d'une colonne de cellules de mémoire au repos produise une consommation excessive de ladite colonne pouvant entraîner sa destruction totale. Ceci est un premier but de l'invention.The interface module described with reference to FIGS. 2, 3 and 4 thus makes it possible to prevent a short-circuit occurring at the level of a column of memory cells at rest from producing excessive consumption of said column which could lead to its total destruction. . This is a first object of the invention.
Un second but de l'invention est de pouvoir récupérer le contenu des cellules d'une colonne ayant subi un dégât provoqué par un évènement anormal interne ou externe à la mémoire.A second object of the invention is to be able to recover the content of the cells of a column having suffered damage caused by an abnormal event internal or external to the memory.
Pour obtenir ce résultat, l'invention propose également un procédé de stockage de données comprenant les étapes suivantes a) prévoir une mémoire électronique dont les cellules sont adressables par groupe ou colonne b) subdiviser la mémoire en bloc ou ligne de cellules, chaque bloc comprenant des cellules utiles et au moins une cellule auxiliaire, ces cellules appartenant à des groupes tous différents c) à chaque demande de stockage des données en mémoire
cl) écrire celles-ci dans des cellules utiles d'un
même bloc,
c2) parcourir les groupes contenant ces cellules utiles,
c3) écrire à chaque fois dans la cellule auxiliaire
de ce bloc un code de détection d'erreur relatif
à toutes les cellules utiles de ce bloc d) surveiller la consommation au repos de chaque groupe de ladite mémoire, et en cas de consommation excessive d'un groupe
dl) lire l'ensemble des blocs contenant une cellule
de ce groupe
d2) retrouver la donnée située à chaque intersection
d'un groupe et d'un bloc, à l'aide dudit code
détecteur d'erreur ; et
d3) réécrire l'ensemble des données ainsi déterminées,
dans un autre groupe de cellules de la mémoire.To obtain this result, the invention also proposes a data storage method comprising the following steps a) providing an electronic memory whose cells are addressable by group or column b) subdividing the memory into a block or row of cells, each block comprising useful cells and at least one auxiliary cell, these cells belonging to all different groups c) on each request to store data in memory
cl) write these in useful cells of a
same block,
c2) browse the groups containing these useful cells,
c3) write each time in the auxiliary cell
of this block a relative error detection code
to all the useful cells of this block d) monitoring the consumption at rest of each group of said memory, and in the event of excessive consumption of a group
dl) read all the blocks containing a cell
from this group
d2) find the data located at each intersection
a group and a block, using said code
error detector; and
d3) rewrite all the data thus determined,
in another group of memory cells.
D'une façon générale, la mémoire électronique mettant en oeuvre le procédé selon l'invention possède les particularités suivantes - la mémoire comprend des cellules adressables par groupe ou colonne - la mémoire est subdivisée en bloc ou ligne de cellules ; - chaque bloc comprend des cellules utiles et au moins une cellule auxiliaire ; et - les cellules de chaque bloc appartiennent à des groupes tous différents.In general, the electronic memory implementing the method according to the invention has the following special features - the memory comprises cells addressable by group or column - the memory is subdivided into blocks or rows of cells; each block includes useful cells and at least one auxiliary cell; and - the cells of each block belong to all different groups.
La mémoire électronique mettant en oeuvre un tel procédé est par exemple celle décrite en référence aux figures 1 et 2. D'autres mémoires peuvent mettre en oeuvre un tel procédé. The electronic memory implementing such a method is for example that described with reference to Figures 1 and 2. Other memories can implement such a method.
En vue de réécrire le contenu des cellules appartenant à une colonne ayant manifestée une consommation excessive et dont l'alimentation a été coupée par le module interface selon l'invention ; il est prévu que le stockage de données en mémoire s'effectue dans les conditions suivantes - écriture des données dans les cellules utiles d'un même bloc - parcours des groupes contenant ces cellules utiles et - écriture à chaque fois dans la cellule auxiliaire de ce bloc, un code de détection d'erreur relatif à toutes les cellules utiles de ce bloc.In order to rewrite the content of the cells belonging to a column having manifested an excessive consumption and whose power supply was cut by the interface module according to the invention; it is planned that the storage of data in memory takes place under the following conditions - writing of the data in the useful cells of the same block - browsing of the groups containing these useful cells and - writing each time in the auxiliary cell of this block, an error detection code relating to all the useful cells of this block.
Ces conditions de stockage de données peuvent être mises en oeuvre par le dispositif constitué du contrôleur de communication, le module interface et la mémoire décrits en référence aux figures 1, 2, 3 et 4.These data storage conditions can be implemented by the device consisting of the communication controller, the interface module and the memory described with reference to FIGS. 1, 2, 3 and 4.
D'autres dispositifs peuvent également mettre en oeuvre ces conditions.Other devices can also implement these conditions.
On rappellera que le contrôleur de communication décrit en référence à la figure 2 peut assurer le transfert des données de l'extérieur vers la mémoire électronique par le système d'accès direct à la mémoire appelé encore DMA.It will be recalled that the communication controller described with reference to FIG. 2 can transfer data from the outside to the electronic memory by the direct memory access system also called DMA.
Il peut aussi assurer l'adressage sélectif des cellules utiles dans lequel seront stockées les données. Enfin, il permet de ranger dans une cellule auxiliaire d'un même bloc un code détecteur d'erreur relatif à toutes les données stockées dans les cellules utiles dudit bloc.It can also ensure the selective addressing of the useful cells in which the data will be stored. Finally, it makes it possible to store in an auxiliary cell of the same block an error detecting code relating to all the data stored in the useful cells of said block.
Il est prévu ensuite de surveiller la consommation au repos de chaque groupe de ladite mémoire, et en cas de consommation excessive d'un groupe, on procède aux étapes suivantes : dl) lire l'ensemble des blocs contenant une cellule de ce groupe d2) retrouver la donnée située à chaque intersection d'un groupe et d'un bloc, à l'aide dudit code détecteur d'erreur, et d3) réécrire l'ensemble de données ainsi déterminées dans un autre groupe de cellules de la mémoire.It is then planned to monitor the consumption at rest of each group of said memory, and in the event of excessive consumption of a group, the following steps are carried out: dl) read all the blocks containing a cell of this group d2) find the data located at each intersection of a group and a block, using said error detecting code, and d3) rewrite the set of data thus determined in another group of memory cells.
La surveillance de la consommation au repos de chaque groupe de la mémoire peut être assurée par le module interface décrit en référence aux figures 3 et 4. D'autres moyens de surveillance peuvent, bien entendu, assurer cette fonction.Monitoring the consumption at rest of each group of the memory can be ensured by the interface module described with reference to FIGS. 3 and 4. Other monitoring means can, of course, provide this function.
Les étapes dl, d2 et d3 peuvent être assurées par le contrôleur de communication décrit en référence à la figure 2. Steps dl, d2 and d3 can be performed by the communication controller described with reference to FIG. 2.
D'autres moyens de contrôle de communication peuvent assurer cette fonction.Other communication control means can provide this function.
Le procédé de stockage de données, selon l'invention, permet de réécrire dans un autre groupe de cellules, les données écrites dans les cellules d'une colonne ayant manifesté une consommation excessive détectée par le module interface décrit en référence aux figures 3 et 4.The data storage method according to the invention makes it possible to rewrite in another group of cells, the data written in the cells of a column having manifested an excessive consumption detected by the interface module described with reference to FIGS. 3 and 4 .
En vue d'arrêter la consommation d'une colonne consommant de façon excessive, l'étape d) du procédé selon l'invention comprend aussi l'interruption de l'alimentation de cette colonne. Cette interruption peut être assurée par le module interface de l'invention. D'autres moyens d'interruption peuvent assurer cette fonction.In order to stop the consumption of a column consuming excessively, step d) of the method according to the invention also comprises the interruption of the supply of this column. This interruption can be ensured by the interface module of the invention. Other means of interruption can provide this function.
L'homme de l'art connaît d'une façon générale des codes de détection d'erreur relatifs à des données écrites dans des cellules utiles. Selon une caractéristique importante de l'invention, le code détecteur d'erreur est ici rangé dans une cellule auxiliaire d'un bloc de cellules, ce qui permet, puisque le code détecteur d'erreur est relatif à toutes les cellules utiles de ce bloc et que les cellules appartiennent à des groupes tous différents, de retrouver la donnée située a chaque intersection d'un groupe et dudit bloc à l'aide de ce code détecteur d'erreur.Those skilled in the art generally know error detection codes relating to data written in useful cells. According to an important characteristic of the invention, the error detector code is here stored in an auxiliary cell of a block of cells, which makes it possible, since the error detector code relates to all the useful cells of this block and that the cells belong to all different groups, to find the data located at each intersection of a group and of said block using this error detecting code.
Un autre but de l'invention est de permettre de corriger les erreurs pouvant apparaître à la suite d'une consommation excessive d'une colonne ou bien à l'occasion d'un changement d'état de la donnée écrite dans une cellule située au croisement d'un groupe et d'un bloc provoqué par un évènement anormal externe ou interne à la mémoire.Another object of the invention is to make it possible to correct the errors which may appear as a result of excessive consumption of a column or else on the occasion of a change of state of the data written in a cell located at the crossing of a group and a block caused by an abnormal event external or internal to the memory.
Pour corriger de telles erreurs, l'étape c3) du procédé selon l'invention comprend l'écriture dans les cellules auxiliaires d'un code propre à corriger les erreurs.To correct such errors, step c3) of the method according to the invention comprises writing in the auxiliary cells a code suitable for correcting the errors.
Ainsi, en vue de corriger les erreurs pouvant se produire dans les cellules utiles, le procédé selon l'invention comprend l'étape supplémentaire suivante e) à chaque demande de lecture de données en mémoire dans
un groupe de celle-ci :
el) lire l'ensemble des blocs contenant une cellule
de ce groupe ; et
e2) corriger 11 ensemble des données présentant une er
reur à l'aide du code correcteur d'erreur, réécri
re cet ensemble dans ledit groupe de cellules de
la mémoire.Thus, in order to correct the errors which may occur in the useful cells, the method according to the invention comprises the following additional step e) on each request to read data from memory in
a group of it:
el) read all the blocks containing a cell
of this group; and
e2) correct 11 data sets presenting an er
error using error correction code, rewritten
re this set in said group of cells of
Memory.
Selon l'invention, le procédé de stockage de données consiste à stocker les données colonne après colonne jusqu'à remplir chaque ligne. Ainsi, la première donnée est stockée dans la première colonne Cl, la seconde donnée est stockée dans la seconde colonne C2, et ainsi de suite jusqu'à remplir chaque ligne. Ensuite, un code détecteur et/ou correcteur d'erreur est rangé dans une cellule auxiliaire de chaque ligne. Ce code est relatif à toutes les données de chaque ligne et ces données appartiennent à des colonnes toutes différentes.According to the invention, the data storage method consists in storing the data column after column until filling each row. Thus, the first datum is stored in the first column C1, the second datum is stored in the second column C2, and so on until each row is filled. Then, an error detector and / or corrector code is stored in an auxiliary cell of each line. This code relates to all the data in each row and this data belongs to very different columns.
Dans le cas d'une mémoire constituée de 128 colonnes par ligne, on peut par exemple stocker 120 données respectivement dans les 120 premières colonnes tandis que dans les 8 dernières colonnes on peut stocker par exemple 7 codes détecteurs et/ou correcteurs d'erreur relatifs aux 120 données suivis d'un code de parité pour éviter les doubles erreurs.In the case of a memory made up of 128 columns per line, one can for example store 120 data respectively in the first 120 columns while in the last 8 columns one can store for example 7 detector codes and / or relative error correctors to the 120 data followed by a parity code to avoid double errors.
Il est prévu un décalage d'une colonne quand on passe à la ligne suivante.There is an offset of one column when moving to the next line.
Dans le cas de données de 16 bits, on peut utiliser comme code détecteur et/ou correcteur d'erreur, le code dit
Hamming.In the case of 16-bit data, the code known as the detector code and / or error corrector
Hamming.
Par exemple, pour stocker 120 données de 16 bits chacune référencées individuellement en (D 0:15, D 0:14,
D 0:0) à (D 120:15, D 120:14, ..., D 120:0), le contrôleur de communication effectue des calculs en parallèle sur les bits de données de même poids, on obtient ainsi 8 informations ou codes sur les données (7 codes de Hamming + 1 code de parité) référencées individuellement en (R 0:15,
R 0:14, ..., R 0:0) à (R 7:15, R 7:14, ..., R 7:0).For example, to store 120 data of 16 bits each referenced individually in (D 0:15, D 0:14,
D 0: 0) to (D 120: 15, D 120: 14, ..., D 120: 0), the communication controller performs calculations in parallel on the data bits of the same weight, thus obtaining 8 pieces of information or codes on the data (7 Hamming codes + 1 parity code) individually referenced in (R 0:15,
R 0:14, ..., R 0: 0) to (R 7:15, R 7:14, ..., R 7: 0).
Enfin, le contrôleur de communication stocke les 120 données
D dans les 120 premières colonnes tandis que les 8 informations R sont stockées dans les 8 dernières colonnes.Finally, the communication controller stores the 120 data
D in the first 120 columns while the 8 R information is stored in the last 8 columns.
La détection des cellules défectueuses s'effectue ainsi par ces informations en code de détection d'erreur. L'homme de l'art comprendra qu'on peut utiliser d'autre code de détection d'erreur que le code de Hamming.The detection of defective cells is thus carried out by this information in error detection code. Those skilled in the art will understand that it is possible to use an error detection code other than the Hamming code.
Le mode de fonctionnement du dispositif selon l'invention est le suivant. C'est le contrôleur de communication qui gère le stockage des données dans la mémoire. C'est lui aussi qui pilote le sens du transfert (mémoire vers l'extérieur ou inversement) et l'autorisation de prise de main sur le bus de données via le module interface.The operating mode of the device according to the invention is as follows. It is the communication controller which manages the storage of data in the memory. It is also he who controls the direction of transfer (memory to the outside or vice versa) and the authorization to take control of the data bus via the interface module.
La mémoire quant à elle effectue une requête via le module interface sur ledit bus et attend qu'il soit libre. Lorsque le bus est libéré par le contrôleur de communication, la mémoire prend le bus, génère l'adresse du sous-ensemble externe qui est l'interlocuteur de l'échange de données, et envoie les commandes de lecture ou d'écriture. The memory makes a request via the interface module on said bus and waits for it to be free. When the bus is released by the communication controller, the memory takes the bus, generates the address of the external sub-assembly which is the interlocutor of the data exchange, and sends the read or write commands.
En mode écriture mémoire, les codes de détection et/ou de correction d'erreur sont rangés dans les cellules auxiliaires de chaque ligne.In memory write mode, the error detection and / or correction codes are stored in the auxiliary cells of each line.
En variante, entre la fin d'écriture des données dans la mémoire et le transfert de ces données vers l'extérieur, il est possible d'effectuer un accès direct à la mémoire (mode DMA) permettant d'interrompre le contrôleur de communication en vue de vérifier le contenu des codes de détection et/ou correction d'erreur et de déclencher automatiquement le processus de correction des erreurs en cas de détection d'erreur. As a variant, between the end of writing of the data in the memory and the transfer of this data to the outside, it is possible to perform direct access to the memory (DMA mode) making it possible to interrupt the communication controller in to verify the content of error detection and / or correction codes and to automatically trigger the error correction process in the event of error detection.
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8816152A FR2640409B1 (en) | 1988-12-08 | 1988-12-08 | METHOD FOR STORING DATA IN AN ELECTRONIC MEMORY, INTERFACE MODULE FOR ELECTRONIC MEMORY AND CORRESPONDING MEMORY DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8816152A FR2640409B1 (en) | 1988-12-08 | 1988-12-08 | METHOD FOR STORING DATA IN AN ELECTRONIC MEMORY, INTERFACE MODULE FOR ELECTRONIC MEMORY AND CORRESPONDING MEMORY DEVICE |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2640409A1 true FR2640409A1 (en) | 1990-06-15 |
FR2640409B1 FR2640409B1 (en) | 1992-10-16 |
Family
ID=9372724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8816152A Expired - Lifetime FR2640409B1 (en) | 1988-12-08 | 1988-12-08 | METHOD FOR STORING DATA IN AN ELECTRONIC MEMORY, INTERFACE MODULE FOR ELECTRONIC MEMORY AND CORRESPONDING MEMORY DEVICE |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2640409B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2379880A1 (en) * | 1977-02-08 | 1978-09-01 | Singer Co | Memory protection system preventing data loss - has shunt switch protecting non-addressed memory elements during access radiation pulse |
EP0077204A2 (en) * | 1981-10-13 | 1983-04-20 | Unisys Corporation | Error-correcting memory with low storage overhead and fast correction mechanism |
EP0202873A2 (en) * | 1985-05-16 | 1986-11-26 | Fujitsu Limited | Semiconductor memory device |
JPS6246500A (en) * | 1985-08-23 | 1987-02-28 | Toshiba Corp | Semiconductor memory device |
JPS62234300A (en) * | 1986-04-04 | 1987-10-14 | Nec Corp | Semiconductor memory device |
-
1988
- 1988-12-08 FR FR8816152A patent/FR2640409B1/en not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2379880A1 (en) * | 1977-02-08 | 1978-09-01 | Singer Co | Memory protection system preventing data loss - has shunt switch protecting non-addressed memory elements during access radiation pulse |
EP0077204A2 (en) * | 1981-10-13 | 1983-04-20 | Unisys Corporation | Error-correcting memory with low storage overhead and fast correction mechanism |
EP0202873A2 (en) * | 1985-05-16 | 1986-11-26 | Fujitsu Limited | Semiconductor memory device |
JPS6246500A (en) * | 1985-08-23 | 1987-02-28 | Toshiba Corp | Semiconductor memory device |
JPS62234300A (en) * | 1986-04-04 | 1987-10-14 | Nec Corp | Semiconductor memory device |
Non-Patent Citations (3)
Title |
---|
ELECTRONICS & COMMUNICATIONS IN JAPAN, vol. 68, no. 4, partie 2: electronics, juillet-août 1985, pages 19-26, Scripta Technica, Inc., New York, US; J. YAMADA et al.: "Built-in ECC techniques for LSI memories" * |
PATENT ABSTRACTS OF JAPAN, vol. 11, no. 233 (P-600)[2680], 30 juillet 1987; & JP-A-62 46 500 (TOSHIBA CORP.) 28-02-1987 * |
PATENT ABSTRACTS OF JAPAN, vol. 12, no. 102 (P-684)[2949], 5 avril 1988; & JP-A-62 234 300 (NEC CORP.) 14-10-1987 * |
Also Published As
Publication number | Publication date |
---|---|
FR2640409B1 (en) | 1992-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2716566A1 (en) | Circuit for selecting redundant memory elements and "Flash Eeprom" memory comprising said circuit. | |
EP1434237A1 (en) | Non-volatile SRAM memory cell | |
FR2502377A1 (en) | SEMICONDUCTOR MEMORY HAVING ERROR BIT CORRECTION FUNCTION | |
EP0268513B1 (en) | Device for bus control consisting of several isolatable segments | |
EP3496101A1 (en) | Sram memory with quick deletion | |
FR2650694A1 (en) | LIVING MEMORY FOR DATA PROCESSING MACHINE | |
EP0675503B1 (en) | Integrated memory with circuit to maintain column voltage | |
FR2736175A1 (en) | CIRCUIT FOR REPAIRING BREAKDOWN MEMORY CELLS IN A SEMICONDUCTOR MEMORY | |
FR2982406A1 (en) | SECURE MEMORY THAT PREVENTS DEGRADATION OF DATA | |
EP0543698B1 (en) | Device for employment of fault information in a single/multi-computer aircraft system | |
FR2771839A1 (en) | Non volatile programmable memory architecture | |
FR2640409A1 (en) | Process for storing data in an electronic memory, corresponding interface module for electronic memory and corresponding memory device | |
FR3044817A1 (en) | METHOD FOR MANAGING A BIT LINE THAT IS DEFECTIVE OF THE MEMORY PLAN OF A NON-VOLATILE MEMORY AND CORRESPONDING MEMORY DEVICE | |
WO2004021361A2 (en) | Eeprom comprising a non-volatile register which is integrated into the memory area thereof | |
EP1168179B1 (en) | Dynamic memory with spare cells | |
EP0432004B1 (en) | Redundancy circuit with the memorization of the position of the output | |
EP1006532A1 (en) | Secure EEPROM with UV erasure detection means | |
EP1158408B1 (en) | EEPROM memory comprising an error correction system | |
FR2888660A1 (en) | Column redundancy enabling system for e.g. integrated circuit memory, has controller with signal generating unit for generating signal that is conveyed to read-out circuits of memory in order to enable column redundancy unit | |
FR2810150A1 (en) | DYNAMIC RANDOM MEMORY DEVICE AND METHOD FOR CONTROLLING ACCESS TO READ SUCH A MEMORY | |
EP1168359A1 (en) | Read access control method for a dynamique memory and corresponding memory | |
FR2801410A1 (en) | DYNAMIC RAM MEMORY DEVICE AND READING METHOD THEREOF | |
EP0996064B1 (en) | One-time programmable memory cell | |
FR2648266A1 (en) | Process making it possible to write data when testing a memory device, and memory device test circuit | |
EP4345820A1 (en) | Non-destructive reading circuit for ferroelectric memories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
CD | Change of name or company name | ||
ST | Notification of lapse |