WO2007128683A1 - Procede et dispositif de securisation de la memoire d'un calculateur a l'encontre des erreurs dues aux radiations - Google Patents
Procede et dispositif de securisation de la memoire d'un calculateur a l'encontre des erreurs dues aux radiations Download PDFInfo
- Publication number
- WO2007128683A1 WO2007128683A1 PCT/EP2007/053976 EP2007053976W WO2007128683A1 WO 2007128683 A1 WO2007128683 A1 WO 2007128683A1 EP 2007053976 W EP2007053976 W EP 2007053976W WO 2007128683 A1 WO2007128683 A1 WO 2007128683A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bridge
- processor
- random access
- access memory
- interface device
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
Definitions
- the invention relates to the hardening of computers subjected to particle bombardment, such as, for example, computers that are on board satellites or aircraft crossing at high altitudes, exposed to a neutron flux coming mainly from the interaction of cosmic rays and solar winds with the outermost layers of the Earth's atmosphere.
- the electronic equipment of satellites that cross at very high altitudes and aircraft that can be brought on long haul flights to cross long periods at low latitudes and at high altitudes must therefore be provided to withstand the stresses of particle bombardment. of cosmic origin. This is not the case for commercially produced mass-produced electronic equipment that is developed without taking into account the constraints associated with the bombardment of particles of cosmic origin because they have been developed to satisfy the widest possible markets located in temperate regions. tropical, at medium or low altitude.
- the computers use one or more electronic components called “processors or central unit” exchanging information by physical links called “system bus” or “internal bus” with electronic components of the RAM type and by other physical links called “extension bus” or “input / output bus” with peripheral equipment
- the auxiliary functions for controlling the exchange of data between the central unit and the central RAM as well as between central unit and peripheral equipment are called “bridge” functions.
- Bridge "bridge” functions are often assigned with other auxiliary functions to specialized electronic components called “North bridge or memory controller”, “South bridge or input / output controller” , which are designed to efficiently interconnect a CPU with RAMs and peripheral equipment by pulling the best benefit of the CPU cache architecture and sequential access modes to the memory to maximize the bandwidth.
- Some electronic processor components directly integrate the "bridge" functions by providing several bus interface and a memory controller interfacing directly with a bank of RAM components.
- the most recent built-in bridge or processor-type electronic components with built-in bridge functions also incorporate Hamming error-correcting codes for information exchanged with RAM electronic components, which can be used to correct any failure. simple (inverting a bit) and detecting any failure affecting 2 bits but which can be faulted by the multiple MEU errors generally affecting any number of bits within the same RAM component, for which only Reed-Solomon error correcting codes are effective.
- the aim of the invention is to solve these problems by proposing a hardware interface device independent of the processor-bridge pair and to increase the error-correcting capability of a "bridge" function implemented in a commercial component.
- the subject of the invention is a method for securing the memory of a computer comprising a processor-bridge pair, the bridge providing auxiliary functions for controlling the exchange of data between the processor and a random memory incorporating an error correction code.
- Hamming type of information exchanged This method is remarkable in that it consists in interposing between the processor-bridge pair and the random access memory, an interface device performing a transcoding in both directions between the Hamming error correction code incorporated in the information. exchanged by the auxiliary data exchange control functions of the processor-bridge pair and a Reed-Solomon error correction code adapted to the architecture of the RAM.
- the processor-bridge pairs and the RAM interface device operate according to distinct and synchronous clock cycles, the clock period of the RAM-interface device pair being shorter than that of the processor-bridge pair. and in an entire report, and the bridge being parameterizable in latency cycle.
- the interface device and the random access memory operate at a nominal clock frequency that is a multiple of that of the bridge, in a ratio of 2 or 3.
- the interface device corrects in the random access memory the data errors identified by the Reed-Solomon error correction code.
- the interface device transposes a Reed-Solomon error correction code value characteristic of an error presence in the coded data into a characteristic Hamming-type error detection code value. a presence of detectable and correctable error in the coded data, in order to react the processor-bridge pair.
- the subject of the invention is also a device for securing the memory of a computer comprising a processor-bridge pair with data exchange control functions between the processor and a random access memory incorporating Hamming type error correction codes.
- FIG. 1 represents a layout diagram of a device according to the invention between a processor-bridge pair and a random access memory of a computer
- FIGS. 2, 3 and 4 are time diagrams illustrating several modes. possible operation of the device according to the invention shown in FIG.
- FIG. 1 shows a processor 1 bridge pair 2 exchanging data with a random access memory consisting of a parallel bank of six SDRAM-type electronic components.
- a transcoder interface device 4 directly supplying the clock signal of the processor 1 pair bridge 2 and indirectly, the clock signal of the RAM components 31 to 36 and the transcoder interface device 4 via a PLL phase-locked oscillator 6 operating as a frequency multiplier.
- Processor 1 has a parallel 64-bit bus that bridge 2 expands to a parallel 72-bit bus with 8 parallel bits additional 8-bit EDC error detection code Hamming type.
- the transcoder interface device 4 implements a 32-bit Reed-Solomon EDC error detection code adapted to a RAM architecture consisting of six electronic components of the SDRAM type 31 to 36 with an individual width. 16-bit parallel data with a total parallel 96-bit bus width: 64 bits for the data and the remainder for the Reed-Solomon 32-bit EDC error detection code.
- a parallel architecture Hamming encoder-decoder a Reed-Solomon encoder-decoder with parallel architecture and in pipeline such as, for example, that described in US Pat. US 5,754,563 and makes it possible to correct all the multiple errors concentrated in the same component of the random access memory.
- FIG. 2 is a time diagram giving an operating chronogram with respect to the clock signals p of the bridge 2 and t of the transcoder interface device 4 and of the random access memory 31 to 36, for a bridge 2 configured with a parameter of latency of 3 clock cycles, a memory configured with a latency parameter of 2 clock cycles, a clock signal frequency ratio between bridge 2 and RAM 2 and a pipeline depth equal to 4.
- a read or write command transmitted by the bridge 2 during a period a of its clock signal p is transmitted by the transcoder interface device 4 to the random access memory 31 to 36 during the second part. a2 of this period a. It is executed by the random access memory 32 to 36, as regards the first 16 bits D1 of the data at the end b2 of the second cycle of the clock signal p. These first 16 bits D1 are then processed by the transcoder interface device 4 which uses the four pipeline stages and makes them accessible for the bridge 2 at the end of the fourth cycle of the signal. clock p.
- the bridge 2 has at its disposal a complete data D1, D2, D3, D4, seven cycles of clock signal p after it has made the request.
- FIG. 3 is a variant of the operating timing diagram of FIG. 2 established, as previously, for a bridge 2 configured with a latency parameter of 3 clock cycles, a memory configured with a latency parameter of 2 clock cycles but with a frequency ratio of clock signals between the bridge 2 and the random access memory equal to 3 instead of 2 and with a pipeline depth equal to 8 instead of 4.
- the bridge 2 still has at its disposal a data complete D1, D2, D3, D4, seven cycles of clock signal p after he has made the request because the doubling of the number of stages of the pipeline is compensated exactly by the increase of the frequency ratio of the signals d 'clock.
- the difference here comes from the fact that it becomes possible to insert a correction cycle of a piece of data in the random access memory 31 to 36 in a perfectly transparent manner for the bridge 2 and the processor 1 without the transcoder 4 interface device. have to conduct this correction cycle in the background of a reading cycle.
- FIG. 4 illustrates the timing associated with such a solution for a clock signal frequency ratio of 2.
- the disadvantage of not correcting the errors at the source is that in this case such errors can in the long run accumulate and defeat the detection and correction capability.
- the detection and error correction mechanisms specific to the bridge 2 or bridge-processor set 1, 2 will be implemented causing a correction write cycle which will be taken into account by the transcoder like a classic writing cycle.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
L'invention est relative au durcissement d'un calculateur à base de composants du commerce pour qu'il résiste au bombardement de particules d'origine cosmique rencontrés en haute altitude et près des pôles. Elle concerne plus particulièrement un calculateur comportant un couple processeur-pont (1, 2), le pont (2) assurant des fonctions auxiliaires de contrôle des échanges de données entre le processeur(1) et une mémoire vive (31 à 36) incorporant un code correcteur d'erreurs de type Hamming aux informations échangées et consiste à intercaler entre le couple processeur- pont (1, 2) et la mémoire vive (31 à 36), un dispositif d'interface (4) réalisant un transcodage dans les deux sens entre le code de correction d'erreurs de type Hamming incorporé dans les informations échangées par les fonctions auxiliaires de contrôle des échanges de données du couple processeur-pont (1, 2) et un code de correction d'erreurs de type Reed-Solomon adapté à l'architecture de la mémoire vive.
Description
PROCEDE ET DISPOSITIF DE SECURISATION DE LA MEMOIRE D1UN CALCULATEUR A L1ENCONTRE DES ERREURS DUES AUX
RADIATIONS
L'invention concerne le durcissement des calculateurs soumis à un bombardement de particules, tels que par exemple, les calculateurs qui sont embarqués à bord de satellites ou d'aéronefs croisant à des altitudes élevées, exposés à un flux de neutrons issus principalement de l'interaction des rayons cosmiques et des vents solaires avec les couches les plus externes de l'atmosphère terrestre.
Les effets de concentration dû aux lignes du champ magnétique terrestre et d'atténuation dû à l'atmosphère terrestre, font que les conséquences du bombardement de particules d'origine cosmique sur les équipements électroniques sont marginales au niveau de la mer dans les régions tropicales ou tempérées où se concentre la majeure partie de la population du globe. Ce n'est plus le cas aux faibles latitudes aux voisinages des pôles ou dans les hautes altitudes où la densité de neutrons est environ 1000 fois plus élevée.
Les équipements électroniques des satellites qui croisent en très haute altitude et des aéronefs qui peuvent être amenés lors de vols longs courrier à croiser de longues périodes à de faibles latitudes et à des altitudes élevées doivent donc être prévus pour résister aux contraintes liées au bombardement de particules d'origine cosmique. Ce n'est pas le cas des équipements électroniques du commerce produits en très grande série qui sont élaborés sans tenir compte des contraintes liées au bombardement de particules d'origine cosmique car développés pour satisfaire les marchés les plus larges possibles situés dans les régions tempérées et tropicales, à moyenne ou faible altitude.
Dans le contexte aéronautique, c'est-à-dire avec une intensité de bombardement neutronique 1000 fois plus élevée qu'au niveau de la mer aux moyennes latitudes, les composants électroniques du commerce, de type mémoire vive RAM (Random Access Memory) notamment, sont réputés pouvoir présenter des défaillances de type simple événement SEU (acronyme de l'expression anglo-saxonne :"Single Event Upset") consistant en l'inversion du contenu d'un bit isolé, avec une probabilité d'environ 10~8
par bit et par heure. Un tel chiffre est inacceptable pour des calculateurs remplissant des fonctions critiques et faisant appel à des mémoires à plusieurs millions de bits car le temps moyen entre deux défaillances, de l'ordre que de quelques dizaines d'heures, est incompatible avec les objectifs de sécurité recherchés. Certaines publications récentes décrivent également la possibilité d'erreurs multiples M. E. U (acronyme de l'expression anglo- saxonne :"Multiple Event Upset") consistant dans les inversions des contenus de plusieurs bites sur un même composant mémoire avec des probabilités environ 100 fois moindres. Pour pallier ce genre de défaillances des composants électroniques du commerce de type mémoire ainsi que d'ailleurs des erreurs dues aux bruits de transmission, il est connu de rendre le stockage et la transmission d'informations tolérant aux erreurs par l'emploi de codes correcteurs d'erreur de type "Hamming" ou "Reed-Solomon" qui ajoutent une certaine redondance aux informations stockées ou transmises. Les codes correcteurs d'erreur de type Reed-Solomon qui sont plus redondants que les codes correcteurs d'erreur de type Hamming, sont particulièrement adaptés à la protection vis-à-vis des événements M. E. U. dans la mesure où ils permettent de corriger des erreurs consécutives et donc des erreurs multiples situées dans un même composant mémoire.
Les calculateurs font appel à un ou plusieurs composants électroniques dits "processeurs ou unité centrale" échangeant des informations par des liaisons physiques dites "bus système" ou "bus interne" avec des composants électroniques de type mémoire vive et par d'autres liaisons physiques dites "bus d'extension" ou bus d'entrée/sortie" avec des équipements périphériques. Les fonctions auxiliaires de contrôle des échanges de données entre unité centrale et mémoire vive centrale ainsi qu'entre unité centrale et équipements périphériques sont dites fonctions "pont" ou "bridge" en anglo-saxon. Les fonctions auxiliaires "pont" sont souvent confiées avec d'autres fonctions auxiliaires à des composants électroniques spécialisés dits "pont Nord ou contrôleur de mémoire ", "pont Sud ou contrôleur d'entrée- sortie", qui sont conçus pour permettre d'interconnecter efficacement une unité centrale avec des mémoires vives et des équipements périphériques en tirant le meilleur profit de l'architecture de cache de l'unité centrale et des
modes d'accès séquentiels à la mémoire permettant de maximiser la bande passante.
Certains composants électroniques processeurs intègrent directement les fonctions "pont" en proposant plusieurs interface bus et un contrôleur mémoire s'interfaçant directement avec une banque de composants de mémoire vive.
Les composants électroniques de type "pont" ou de type processeur avec fonctions "pont" intégrées les plus récents incorporent également des codes correcteurs d'erreurs de type Hamming aux informations échangées avec des composants électroniques de type mémoire vive, qui permettent de corriger toute panne simple (inversion d'un bit) et de détecter toute défaillance affectant 2 bits mais qui peuvent être pris en défaut par les erreurs multiples MEU affectant généralement un nombre quelconque de bits à l'intérieur d'un même composant de mémoire vive, pour lesquels seuls les codes correcteurs d'erreur de type Reed-Solomon sont efficaces.
Pour des applications embarquées critiques, il est bien sûr possible de développer un composant électronique "pont" spécifique disposant de codes correcteurs d'erreur de type Reed-Solomon. Cette approche se heurte toutefois aux désavantages suivants :
- Le marché d'un tel composant électronique spécifique à fonction "pont" se limitant aux domaines aéronautique et satellitaire ne peut générer les quantités susceptibles de permettre l'amortissement de son développement qui restera par ailleurs coûteux et incertain tout en produisant un résultat en deçà des performances accessibles par un produit du commerce bénéficiant des technologies les plus récentes. En résumé ce développement sera coûteux et donnera naissance à un produit onéreux dont la durée de vie en production restera faible
- De par sa spécificité, le composant ainsi développé ne pourra pas tirer profit de l'évolution de logiciels du commerce qui s'appuieront préférentiellement sur des composants électroniques visant un marché global.
L'invention vise à résoudre ces problèmes en proposant un dispositif matériel d'interface indépendant du couple processeur-pont et
permettant d'accroître la capacité de correction d'erreur d'une fonction "pont" implémentée dans un composant du commerce.
Elle a également pour but un dispositif peu complexe réalisable dans un circuit de logique programmable de complexité moyenne faisant appel à des technologies performantes et faible coût.
L'invention a pour objet un procédé de sécurisation de la mémoire d'un calculateur comportant un couple processeur-pont, le pont assurant des fonctions auxiliaires de contrôle des échanges de données entre le processeur et une mémoire vive incorporant un code correcteur d'erreurs de type Hamming aux informations échangées. Ce procédé est remarquable en ce qu'il consiste à intercaler entre le couple processeur-pont et la mémoire vive, un dispositif d'interface réalisant un transcodage dans les deux sens entre le code de correction d'erreurs de type Hamming incorporé dans les informations échangées par les fonctions auxiliaires de contrôle des échanges de données du couple processeur-pont et un code de correction d'erreurs de type Reed-Solomon adapté à l'architecture de la mémoire vive.
Avantageusement, les couples processeur-pont et dispositif d'interface-mémoire vive fonctionnent selon des cycles d'horloges distincts et synchrones, la période d'horloge du couple dispositif d'interface-mémoire vive étant plus courte que celle du couple processeur-pont et dans un rapport entier, et le pont étant paramétrable en cycle de latence.
Avantageusement, le dispositif d'interface et la mémoire vive fonctionnent à une fréquence d'horloge nominale multiple de celle du pont, dans un rapport 2 ou 3.
Avantageusement, le dispositif d'interface corrige dans la mémoire vive les erreurs de données identifiées par le code de correction d'erreur de type Reed-Solomon.
Avantageusement, le dispositif d'interface transpose une valeur de code de correction d'erreur de type Reed-Solomon caractéristique d'une présence d'erreur dans la donnée codée en une valeur de code de détection d'erreur de type Hamming caractéristique d'une présence d'erreur détectable et corrigeable dans la donnée codée, cela afin de faire réagir le couple processeur-pont.
L'invention a également pour objet un dispositif de sécurisation de la mémoire d'un calculateur comportant un couple processeur-pont avec des fonctions de contrôle des échanges de données entre le processeur et une mémoire vive incorporant des codes correcteurs d'erreurs de type Hamming aux informations échangées, remarquable en ce qu'il comporte intercalé entre le couple processeur-pont et la mémoire vive, un dispositif d'interface réalisé sous la forme d'un réseau logique programmable, assurant un transcodage dans les deux sens entre le code de correction d'erreurs de type Hamming incorporé dans les informations échangées par les fonctions auxiliaires de contrôle des échanges de données du couple processeur-pont et un code de correction d'erreurs de type Reed-Solomon adapté à l'architecture de la mémoire vive.
D'autres caractéristiques et avantages de l'invention ressortiront de la description ci-après d'un mode de réalisation donné à titre d'exemple. Cette description sera faite en regard du dessin dans lequel :
- une figure 1 représente un schéma d'implantation d'un dispositif selon l'invention entre un couple processeur-pont et une mémoire vive d'un calculateur, et - des figures 2, 3 et 4 sont des diagrammes de temps illustrant plusieurs modes de fonctionnement possible du dispositif selon l'invention montré à la figure 1 .
On distingue sur la figure 1 , un couple processeur 1 pont 2 échangeant des données avec une mémoire vive constituée d'un banc parallèle de six composants électroniques de type mémoire vive SDRAM
(acronyme de l'expression anglo-saxonne :"Static Random Access Memory")
31 à 36 par l'intermédiaire d'un dispositif d'interface transcodeur 4, ainsi qu'un oscillateur local 5 fournissant directement le signal d'horloge du couple processeur 1 pont 2 et indirectement, le signal d'horloge des composants de mémoire vive 31 à 36 et du dispositif d'interface transcodeur 4 par l'intermédiaire d'un oscillateur à verrouillage de phase PLL 6 fonctionnant en multiplieur de fréquence.
Le processeur 1 possède un bus de 64 bits parallèles que le pont 2 étend vers un bus de 72 bits parallèles en lui adjoignant 8 bits parallèles
supplémentaires réservés à code de détection d'erreur EDC de 8 bits de type Hamming.
Le dispositif d'interface transcodeur 4 implémente quant à lui un code de détection d'erreur EDC de type Reed-Solomon de 32 bits, adapté à une architecture de mémoire vive constituée de six composants électroniques de type SDRAM 31 à 36 à largeur individuelle de donnée de 16 bits parallèles et présentant au total une largeur de bus de 96 bits parallèles : 64 bits pour les données et le reste pour le code de détection d'erreur EDC de 32 bits de type Reed-Solomon. Réalisé sous la forme d'un réseau logique programmable, il associe un codeur-décodeur de Hamming à architecture parallèle, à un codeur-décodeur de Reed-Solomon à architecture parallèle et en pipeline tel que, par exemple, celui décrit dans le brevet américain US 5,754,563 et permet de corriger toutes les erreurs multiples concentrées dans un même composant de la mémoire vive. D'autres architectures que celle représentée peuvent être envisagées pour la génération des différentes horloges. Il peut en particulier s'avérer judicieux de mettre à profit les oscillateurs à verrouillage de phase PLL éventuellement présents dans le circuit programmable choisi pour implémenter le dispositif d'interface transcodeur 4 pour générer l'ensemble des horloges.
La figure 2 est un diagramme de temps donnant un chronogramme de fonctionnement relativement aux signaux d'horloge p du pont 2 et t du dispositif d'interface transcodeur 4 et de la mémoire vive 31 à 36, pour un pont 2 configuré avec un paramètre de latence de 3 cycles d'horloge, une mémoire configurée avec un paramètre de latence de 2 cycles d'horloge, un rapport de fréquence de signaux d'horloge entre le pont 2 et la mémoire vive égal à 2 et une profondeur de pipeline égale à 4.
Un ordre de lecture ou d'écriture transmis par le pont 2 au cours d'une période a de son signal d'horloge p est transmis par le dispositif d'interface transcodeur 4 à la mémoire vive 31 à 36 au cours de la deuxième partie a2 de cette période a. Il est exécuté par la mémoire vive 32 à 36, pour ce qui concerne des 16 premiers bits D1 de la donnée en fin b2 du deuxième cycle du signal d'horloge p. Ces 16 premiers bits D1 sont alors traités par le dispositif d'interface transcodeur 4 qui utilise les quatre étages de pipeline et les rend accessibles pour le pont 2 en fin d2 du quatrième cycle du signal
d'horloge p. Le pont 2 a à sa disposition une donnée complète D1 , D2, D3, D4, sept cycles de signal d'horloge p après qu'il en ait fait la demande. On note qu'en cas d'erreur, il est possible d'insérer un cycle de correction d'une donnée dans la mémoire vive 31 à 36 de façon parfaitement transparente pour le pont 2 et le processeur 1 pour autant que le dispositif d'interface transcodeur 4 puisse mener ce cycle de correction en arrière plan du cycle de lecture.
La figure 3 est une variante du chronogramme de fonctionnement de la figure 2 établie, comme précédemment, pour un pont 2 configuré avec un paramètre de latence de 3 cycles d'horloge, une mémoire configurée avec un paramètre de latence de 2 cycles d'horloge mais avec un rapport de fréquence de signaux d'horloge entre le pont 2 et la mémoire vive égal à 3 au lieu de 2 et avec une profondeur de pipeline égale à 8 au lieu de 4. Le pont 2 a encore à sa disposition une donnée complète D1 , D2, D3, D4, sept cycles de signal d'horloge p après qu'il en ait fait la demande car le doublement du nombre d'étages du pipeline est compensé exactement par l'augmentation du rapport de fréquence des signaux d'horloge. La différence vient ici du fait qu'il devient possible d'insérer un cycle de correction d'une donnée dans la mémoire vive 31 à 36 de façon parfaitement transparente pour le pont 2 et le processeur 1 sans que le dispositif d'interface transcodeur 4 ait à mener ce cycle de correction en arrière plan d'un cycle de lecture.
Il peut être intéressant d'utiliser des composants électroniques mémoire 31 à 36 de largeur 8 bits parallèles et de profondeur double accèdes en deux cycles ce qui présente l'avantage de diminuer de moitié la largeur du bus de données sur le composant du dispositif d'interface transcodeur 4. Dans ce cas, un étage de pipeline devra être utilisé pour la concaténation des deux demi data.
La figure 4 illustre le cadencement associé à une telle solution pour un rapport de fréquence de signal d'horloge de 2. Dans ce cas, il n'est plus possible de procéder dans la mémoire vive 31 à 36, à une correction d'erreur transparente pour le pont 2 et le processeur 1. L'inconvénient de ne pas corriger les erreurs à la source est que dans ce cas de telles erreurs peuvent à la longue s'accumuler et mettre en défaut la capacité de détection et de correction. Il est toutefois possible de forcer le pont 2 et/ou le processeur 1 à effectuer un cycle de correction en lui transmettant une data
dans laquelle on aura sciemment inséré une erreur simple détectable et corrigeable par le code de Hamming. En effet dans ce cas, les mécanismes de détection et correction d'erreur propres au pont 2 ou à l'ensemble pont- processeur 1 , 2 seront mis en œuvre provoquant un cycle d'écriture de correction qui sera pris en compte par le transcodeur comme un cycle d'écriture classique.
Claims
1. Procédé de sécurisation de la mémoire d'un calculateur comportant un couple processeur-pont (1 , 2), le pont (2) assurant des fonctions auxiliaires de contrôle des échanges de données entre le processeur(1 ) et une mémoire vive (31 à 36) incorporant un code correcteur d'erreurs de type Hamming aux informations échangées, caractérisé en ce qu'il consiste à intercaler entre le couple processeur-pont (1 , 2) et la mémoire vive (31 à 36), un dispositif d'interface (4) réalisant un transcodage dans les deux sens entre le code de correction d'erreurs de type Hamming incorporé dans les informations échangées par les fonctions auxiliaires de contrôle des échanges de données du couple processeur-pont (1 , 2) et un code de correction d'erreurs de type Reed-Solomon adapté à l'architecture de la mémoire vive.
2. Procédé selon la revendication 1 , caractérisé en ce que les couples processeur-pont (1 , 2) et dispositif d'interface-mémoire vive (4, 31 à 36) fonctionnent selon des cycles d'horloges distincts et synchrones, la période d'horloge du couple dispositif d'interface-mémoire vive (4, 31 à 36) étant plus courte que celle du couple processeur-pont (1 , 2) et dans un rapport entier, et le pont (2) étant paramétrable en cycle de latence.
3. Procédé selon la revendication 2, caractérisé en ce que le dispositif d'interface (4) et la mémoire vive (31 à 36) fonctionnent à une fréquence d'horloge nominale double de celle du pont (2).
4. Procédé selon la revendication 2, caractérisé en ce que le dispositif d'interface (4) et la mémoire vive (31 à 36) fonctionnent à une fréquence d'horloge nominale triple de celle du pont (2).
5. Procédé selon la revendication 1 , caractérisé en ce que le dispositif d'interface (4) corrige dans la mémoire vive(31 à 36) les erreurs de données identifiées par le code de correction d'erreur de type Reed- Solomon.
6. Procédé selon la revendication 1 , caractérisé en ce que le dispositif d'interface (4) transpose une valeur de code de correction d'erreur de type Reed-Solomon caractéristique d'une présence d'erreur dans la donnée codée en une valeur de code de détection d'erreur de type Hamming caractéristique d'une présence d'erreur détectable et corrigeable dans la donnée codée, cela afin de faire réagir le couple processeur-pont.
7 Dispositif de mise en œuvre du procédé selon la revendication 1 , caractérisé en ce qu'il comporte intercalé entre le couple processeur-pont (1 , 2) et la mémoire vive (31 à 36), un dispositif d'interface (4) assurant le transcodage, réalisé sous la forme d'un réseau logique programmable.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/299,331 US8151169B2 (en) | 2006-05-05 | 2007-04-24 | Method and device for securing the memory of a computer against errors due to radiation |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0604052 | 2006-05-05 | ||
| FR0604052A FR2900749B1 (fr) | 2006-05-05 | 2006-05-05 | Procede et dispositif de securisation de la memoire d'un calculateur a l'encontre des erreurs dues aux radiations |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2007128683A1 true WO2007128683A1 (fr) | 2007-11-15 |
Family
ID=37667454
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2007/053976 Ceased WO2007128683A1 (fr) | 2006-05-05 | 2007-04-24 | Procede et dispositif de securisation de la memoire d'un calculateur a l'encontre des erreurs dues aux radiations |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8151169B2 (fr) |
| FR (1) | FR2900749B1 (fr) |
| WO (1) | WO2007128683A1 (fr) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9173997B2 (en) | 2007-10-02 | 2015-11-03 | Medimop Medical Projects Ltd. | External drug pump |
| FR2933829B1 (fr) * | 2008-07-08 | 2015-08-07 | Thales Sa | Dispositif et procede de detection de l'origine numerique d'un signal analogique |
| FR2933803B1 (fr) * | 2008-07-08 | 2010-09-24 | Thales Sa | Dispositif et procede de sauvegarde de donnees sur des supports de memoire non volatile, de type flash nand, destines a des calculateurs embarques |
| US8539403B2 (en) * | 2011-07-03 | 2013-09-17 | International Business Machines Corporation | Reducing observability of memory elements in circuits |
| US10576207B2 (en) | 2015-10-09 | 2020-03-03 | West Pharma. Services IL, Ltd. | Angled syringe patch injector |
| JP7044708B2 (ja) | 2015-10-09 | 2022-03-30 | ウェスト ファーマ サービシーズ イスラエル リミテッド | カスタマイズシリンジの充填方法 |
| CN109219456B (zh) | 2016-01-21 | 2020-05-15 | 西医药服务以色列有限公司 | 自动注射器中的力牵制 |
| WO2017127215A1 (fr) | 2016-01-21 | 2017-07-27 | Medimop Medical Projects Ltd. | Mécanisme d'introduction et de rétraction d'aiguille |
| CN113041432B (zh) | 2016-01-21 | 2023-04-07 | 西医药服务以色列有限公司 | 包括视觉指示物的药剂输送装置 |
| US11389597B2 (en) | 2016-03-16 | 2022-07-19 | West Pharma. Services IL, Ltd. | Staged telescopic screw assembly having different visual indicators |
| US11338090B2 (en) | 2016-08-01 | 2022-05-24 | West Pharma. Services IL, Ltd. | Anti-rotation cartridge pin |
| US11730892B2 (en) | 2016-08-01 | 2023-08-22 | West Pharma. Services IL, Ltd. | Partial door closure prevention spring |
| EP3630226B1 (fr) | 2017-05-30 | 2025-10-22 | West Pharma. Services Il, Ltd. | Train d'entraînement modulaire pour injecteur pouvant être porté |
| US20240273021A1 (en) * | 2023-02-14 | 2024-08-15 | Microsoft Technology Licensing, Llc | Cache memory supporting data operations with parametrized latency and throughput |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0176218A2 (fr) * | 1984-08-20 | 1986-04-02 | Nec Corporation | Système de correction d'erreurs |
| EP0191410A2 (fr) * | 1985-02-08 | 1986-08-20 | Hitachi, Ltd. | Méthode pour la transmission de données numériques |
| US5357527A (en) * | 1992-12-31 | 1994-10-18 | Trimble Navigation Limited | Validation of RAM-resident software programs |
| US20050172207A1 (en) * | 2004-01-30 | 2005-08-04 | Radke William H. | Error detection and correction scheme for a memory device |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5754563A (en) * | 1995-09-11 | 1998-05-19 | Ecc Technologies, Inc. | Byte-parallel system for implementing reed-solomon error-correcting codes |
| FR2777717B1 (fr) * | 1998-04-17 | 2002-12-06 | Sextant Avionique | Circuit pour l'acquisition de signaux analogiques binaires |
| US7050586B1 (en) * | 2000-06-19 | 2006-05-23 | Intertrust Technologies Corporation | Systems and methods for retrofitting electronic appliances to accept different content formats |
| US7751477B2 (en) * | 2003-02-13 | 2010-07-06 | Broadcom Corporation | Communications signal transcoder |
| US7987514B2 (en) * | 2006-04-04 | 2011-07-26 | Intertrust Technologies Corp. | Systems and methods for retrofitting electronic appliances to accept different content formats |
-
2006
- 2006-05-05 FR FR0604052A patent/FR2900749B1/fr not_active Expired - Fee Related
-
2007
- 2007-04-24 US US12/299,331 patent/US8151169B2/en not_active Expired - Fee Related
- 2007-04-24 WO PCT/EP2007/053976 patent/WO2007128683A1/fr not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0176218A2 (fr) * | 1984-08-20 | 1986-04-02 | Nec Corporation | Système de correction d'erreurs |
| EP0191410A2 (fr) * | 1985-02-08 | 1986-08-20 | Hitachi, Ltd. | Méthode pour la transmission de données numériques |
| US5357527A (en) * | 1992-12-31 | 1994-10-18 | Trimble Navigation Limited | Validation of RAM-resident software programs |
| US20050172207A1 (en) * | 2004-01-30 | 2005-08-04 | Radke William H. | Error detection and correction scheme for a memory device |
Also Published As
| Publication number | Publication date |
|---|---|
| US8151169B2 (en) | 2012-04-03 |
| FR2900749B1 (fr) | 2008-07-25 |
| FR2900749A1 (fr) | 2007-11-09 |
| US20090204870A1 (en) | 2009-08-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2007128683A1 (fr) | Procede et dispositif de securisation de la memoire d'un calculateur a l'encontre des erreurs dues aux radiations | |
| US8010875B2 (en) | Error correcting code with chip kill capability and power saving enhancement | |
| US20160055059A1 (en) | Memory devices and modules | |
| US9912355B2 (en) | Distributed concatenated error correction | |
| Cha et al. | Efficient implementation of single error correction and double error detection code with check bit precomputation for memories | |
| CN101615147A (zh) | 皮卫星基于fpga的存储模块的容错方法 | |
| WO2009083431A1 (fr) | Systeme securise de transmission de donnees | |
| EP1573541A2 (fr) | Procede de memorisation de donnees avec correction d'erreur | |
| CN118113210A (zh) | 存储器控制器和包括存储器控制器的存储器系统 | |
| CN101937375B (zh) | 皮卫星中央处理器的代码、数据实时纠检错方法及装置 | |
| Kim et al. | A comparison of reliability and resource utilization of radiation fault tolerance mechanisms in spaceborne electronic systems | |
| FR3038188A1 (fr) | Systeme de verification de l’integrite d’une communication entre deux circuits | |
| Tam | Single error correction and double error detection | |
| EP2865100B1 (fr) | Dispositif de correction de deux erreurs avec un code de distance de hamming trois ou quatre | |
| US10579470B1 (en) | Address failure detection for memory devices having inline storage configurations | |
| Luan et al. | Simplified fault‐tolerant FIR filter architecture based on redundant residue number system | |
| JP2007179450A (ja) | 半導体集積回路 | |
| Bentoutou | A real time low complexity codec for use in low Earth orbit small satellite missions | |
| Maestro et al. | Fault tolerant single error correction encoders | |
| EP2786497B1 (fr) | Procede de maximisation de la capacité de correction d'un code correcteur d'erreurs mettant en oeuvre des syndromes supplémentaires | |
| US8190972B2 (en) | Error checking and correction overlap ranges | |
| Reviriego et al. | Unequal error protection codes derived from SEC‐DED codes | |
| FR2799018A1 (fr) | Systeme informatique securise | |
| Amrutha Shree et al. | Design of error correction engine based on flexible unequal error control code (FUEC) for flash memory faults in space applications | |
| Gorantla et al. | Interleaved Counter Matrix Code in SRAM Memories for Continuous Adjacent Multiple Bit Upset Correction |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 07728432 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 12299331 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 07728432 Country of ref document: EP Kind code of ref document: A1 |