WO2003014931A2 - Ensemble de circuits electroniques comportant au moins une memoire avec des moyens de correction d'erreur - Google Patents
Ensemble de circuits electroniques comportant au moins une memoire avec des moyens de correction d'erreur Download PDFInfo
- Publication number
- WO2003014931A2 WO2003014931A2 PCT/FR2002/002785 FR0202785W WO03014931A2 WO 2003014931 A2 WO2003014931 A2 WO 2003014931A2 FR 0202785 W FR0202785 W FR 0202785W WO 03014931 A2 WO03014931 A2 WO 03014931A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- input
- flip
- circuit
- output
- memory
- Prior art date
Links
Classifications
-
- 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
- G06F11/1048—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 using arrangements adapted for a specific error detection or correction feature
-
- 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
- G06F11/1048—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 using arrangements adapted for a specific error detection or correction feature
- G06F11/1052—Bypassing or disabling error detection or correction
Definitions
- Set of electronic circuits comprising at least one memory with error correction means
- the invention relates to a set of electronic circuits comprising at least one memory and means for detecting and correcting an error in the data supplied by the memory during a read operation, the output of the memory being connected in parallel to an input.
- an error detection circuit at an input of an error correction circuit and at the input of a first stage, the error detection circuit controlling the transmission of the corrected data to the first stage after detection of an error.
- the memories of the electronic circuits are subjected to various types of disturbances, like the bombardments of particles, in particular of ionizing particles and neutrons.
- an ionizing particle can, via the drain of a blocked transistor, cause an electric pulse modifying the state of a memory cell.
- This type of error can affect the reliability of the electronic circuit assemblies comprising such memories, more particularly in the field of nanotechnologies in which the voltage levels and the capacitance values of the nodes are increasingly low.
- the use of so-called hardened radiation-insensitive memory cells has been proposed to overcome this problem.
- Another proposed solution consists in associating with the useful data stored in a memory error control codes, which can be either error detection codes, or error correction codes such as the error code.
- One of the main drawbacks of the known error correction means is to reduce the operating speed of the electronic circuit assemblies comprising a memory with error correction means due to the time required to correct an error after a read operation and / or the determination of an error control code before a write operation.
- the object of the invention is to overcome these drawbacks and to allow the improvement of the operating speed of a set of circuits.
- electronic devices comprising at least one memory with error correction means.
- the decontamination means preferably comprise means for allowing, when an error has been detected, to keep the assembly in the state while the correction of the data is carried out by the circuit. correction and means for then transmitting the corrected data to the first stage while maintaining in the state the circuits not likely to have been contaminated.
- the assembly can include means for replacing, in the memory, the erroneous data by corrected data supplied by the error correction means when an error has been detected.
- the set of circuits comprising first flip-flops liable to be affected by the error, second flip-flops not liable to be affected by the error and supplying data which can be used by a first flip-flop located downstream
- the decontamination means comprise, for each second flip-flop, a multiplexer comprising an input connected directly to the output of the second associated flip-flop and an input connected to said output via a buffer register , of the first in, first out type.
- the set of circuits comprising third flip-flops belonging to a most distant reachable source assembly, the decontamination means preferably comprise, for each third flip-flop, a multiplexer comprising an input connected directly to the output of the third associated flip-flop and a input connected to said output via a buffer register, of the first in, first out type.
- Each buffer register preferably includes a predetermined number of cells depending on the distance separating the corresponding flip-flop from the memory and flip-flops belonging to a most distant reachable set.
- the invention also relates to means for accelerating the operation of the assembly when writing to the memory.
- the assembly comprises a first code generation circuit having an input connected to the input of the memory and an output connected to the input of a code memory providing a first code
- the error detection and correction means comprising a second code generation circuit, having an input connected to the output of the memory and supplying a second code, and means for comparing the first and second codes supplied by the code memory and by the second code generation circuit.
- FIG. 1 illustrates a set of circuits according to the prior art.
- FIG. 2 represents a flow diagram making it possible to accelerate the operation of a control circuit according to the prior art.
- FIG. 3 illustrates a first type of circuit assembly in which the invention can be used.
- FIG. 4 represents a particular embodiment of the invention for a set of circuits of the type shown in FIG. 3.
- FIG. 5 represents a flow diagram illustrating the operation of a set of circuits according to FIG. 4.
- FIG. 6 illustrates a second type of circuit assembly in which the invention can be used.
- FIG. 7 represents a particular embodiment of the invention for a set of circuits of the type shown in FIG. 6.
- FIG. 8 illustrates a third type of circuit assembly in which the invention can be used.
- FIG. 9 represents a particular embodiment of the invention for a set of circuits of the type shown in FIG. 8.
- Figures 10 and 11 show assemblies with multiple channels between certain components.
- FIG. 12 illustrates a set of multi-channel circuits in which the invention can be used.
- FIG. 13 represents a particular embodiment of the invention for a set of circuits of the type represented in FIG. 12.
- FIG. 14 illustrates in more detail the output signals of the control circuit of the circuit assembly according to FIG. 13
- FIGS. 15 and 16 represent two variants of connection of the circuits associated with the memory of the assembly according to FIG. 13.
- FIG. 17 illustrates an assembly comprising a stage situated upstream from the memory.
- FIG. 18 illustrates means making it possible to accelerate the operation of an assembly according to FIG. 17 when writing to the memory.
- the data supplied by a memory 1 and intended to be used by electronic circuits, for example by a microprocessor, can be controlled by a control circuit 2, before being transmitted to a logic circuit 3 a first stage of data processing.
- Systematic correction of data by the control circuit 2 systematically slows the transmission of data in the user circuit.
- a control circuit 2 The operation of a control circuit 2 according to the prior art can, in particular, be improved in the manner illustrated diagrammatically by the flow diagram of FIG. 2.
- a first step F1 the control circuit 2 checks, by means of d a control code associated with the data supplied by the memory 1, if the data received is correct. If an error is detected (No output from F1), the control circuit then proceeds, in a step F2, to correct the data.
- the correction step F2 which is short-circuited if no error is detected, is therefore only carried out when necessary and the speed is thus significantly improved.
- detecting an error by means of a control code such as the Hamming code, intended to be used for data correction takes some time.
- the additional use of an error detection circuit makes it possible to further improve the operating speed of the assembly.
- two different codes are associated with the data in the memory.
- the error detection step F1 is carried out by an error detection circuit of the control circuit 2 using a first code, for example a parity code, while the step F2, which is only rarely necessary , is carried out by a correction circuit of the control circuit, using a second code, for example the Hamming code, requiring more time but making it possible to correct the data.
- the information leaving the memory during a read operation is transmitted without delay to the first processing stage and, in parallel, to an error detection circuit as well as to an error correction circuit. If there is no error in the data read, the assembly operates correctly, at full speed. If an error is detected by the error detection circuit, then the corrected data is sent to the first data processing stage under the control of the error detection circuit. However, if the operating speed is high, the erroneous data have already been transmitted downstream, contaminating, in a way, part of the whole. It is then necessary to provide means for decontaminating the circuits likely to have been contaminated by an error before its detection.
- the decontamination means must essentially make it possible, when an error has been detected, to maintain the assembly in the state while the correction of the data is carried out by the correction circuit, then to transmit the corrected data to the first stage, while keeping the circuits in a state not likely to have been contaminated.
- the transmission of data as a whole is carried out under the control of a clock, each clock cycle, or a predetermined number of clock cycles, causing the transmission of data between two successive components of the together.
- the means of decontamination depend on the type of assembly in which the memory is used.
- FIG. 3 schematically illustrates a first type of assembly in which the invention can be implemented.
- the memory 1 is connected in series to a plurality of successive stages, only two of which are shown in FIG. 3.
- Each stage consists of a rocker 4 (4a for the first stage, 4b for the second stage ...) , which can be preceded by a logic circuit 3 (3a for the first stage, 3b for the second stage ).
- the data read from memory 1 are first processed in logic circuit 3a of the first stage.
- the processed data are then stored in the flip-flop 4a of the first stage before being processed in the logic circuit 3b of the second stage.
- the flip-flop 4b of the second stage stores the data processed by the logic circuit 3b before their transmission to a next stage.
- FIG. 4 A particular embodiment of the invention in an assembly of this type is represented in FIG. 4.
- the output of the memory 1 is connected in parallel to an input of an error detection circuit 5, at the input of an error correction circuit 6 and a first input of a first multiplexing circuit 7.
- a second input of the first multiplexing circuit 7 is connected to the output of the correction circuit 6, while its output is connected to the input of the first stage, i.e. to the input of the logic circuit
- the output of the detection circuit 5 is connected to a control input of the first multiplexing circuit 7 and to a holding input of each of the flip-flops (4b %) of the subsequent stages, i.e. stages d 'order greater than 1.
- the first multiplexing circuit 7 transmits (step F4) the data read from the memory 1 to the logic circuit 3a of the first stage. Simultaneously, the detection circuit 5 examines the data to detect a possible error (step F5) and the correction circuit proceeds to correct the data (step F4)
- step F5 the latter then controls (step F7) the blocking of the flip-flops (4b ...) of the stages of order greater than 1 and (step F8) the transmission of the corrected data to the logic circuit 3a.
- the transmission of the corrected data is carried out via the first multiplexing circuit 7 which then receives on its control input a signal causing the transmission of the signals applied to its second input by the error correction circuit 6. If necessary, the transmission of the data corrected by the multiplexer takes into account that the duration of the error correction can be greater than the duration of the error detection by the detection circuit 5. If the error correction circuit is too slow to supply the corrected data after a clock cycle, the flip-flop blocking must be maintained for the time necessary.
- the entire system includes correct data and the flip-flops of the stages of order greater than 1 are then released (step F9) before the resumption of a new cycle starting with the transmission and analysis of the following data (return to the input of steps F4, F5 and F6).
- the operation of the assembly according to FIG. 4 is based on the assumption that when the detection circuit 5 detects an error and blocks the subsequent stages, only the first stage has been contaminated, the data then in the subsequent stages corresponding to correct data.
- FIG. 6 schematically illustrates a second type of assembly in which the invention can be implemented.
- This assembly is distinguished from the assembly of FIG. 3 by the fact that the logic circuit 3a of the first stage comprises a second input intended to receive additional data D and supplies as output data which are simultaneously a function of the data applied to its first and second inputs, that is to say data supplied by the memory 1 and additional data D.
- FIG. 7 A particular mode of implementation of the invention in an assembly of this type is represented in FIG. 7. It comprises the same elements as in FIG. 4. However, the combination of the additional data D and the data in coming from memory 1 in logic circuit 3a makes it necessary to restore the data present at the two inputs of logic circuit 3a when an error has been detected by detection circuit 5 in the data coming from memory.
- the assembly according to FIG. 7 therefore further comprises a second multiplexing circuit 8, which comprises a first input intended to receive the additional data D and a second input connected to the first input via an additional flip-flop 9.
- the additional data D are thus applied, after a predetermined delay, to the second input of the second multiplexing circuit 8.
- the second input of the logic circuit 3a is connected to the output of the second multiplexing circuit 8.
- this includes a control input connected to the output of the detection circuit 5.
- the additional data D applied to the first input of the second multiplexing circuit 8 is transmitted by the latter to the second input of the logic circuit 3a.
- the detection circuit 5 causes, as in the assembly according to FIG. 4, the blocking of the flip-flops (4b ...) of higher order at 1 and the transmission of the corrected data applied to the second input of the first multiplexing circuit 7 by the error correction circuit 6.
- the additional flip-flop 9 causes the transmission of the additional delayed signals applied to the second input of the second multiplexing circuit by the additional flip-flop 9.
- the logic circuit 3a of the first stage thus simultaneously receives the data, coming from the memory, corrected by the correction circuit 6 and the associated delayed additional data.
- FIG. 8 schematically illustrates a third type of assembly in which the invention can be implemented. This assembly differs from the assembly of FIG. 6 by the fact that the data coming from the memory 1 and the additional data D are applied successively to the input of the logic circuit 3a of the first stage, by means of a multiplexing circuit 10, under the control of a first control signal C applied to a first control input of the multiplexing circuit 10.
- the data transmitted by the logic circuit 3a to the flip-flop 4a are a predetermined function of the data applied successively on its input by the multiplexing circuit 10.
- FIG. 9 A particular embodiment of the invention in an assembly of this type is shown in FIG. 9. It has the same elements as in FIG. 4. However, the first multiplexing circuit 7 in FIG. 4 is replaced by a multiplexing circuit 11 which has a third input, to which the additional data D is applied, and three control inputs. A first control input receives the first control signal C, while a second control input is connected directly to the output of the error detection circuit 5 which supplies it with a second control signal.
- the flip-flop holding input (4b ...) of stages of order greater than 1 and the third control input of the multiplexing circuit 1 1 are connected to the output of a logic gate 12, of type ET in the illustrated embodiment, having a first input connected to the output of the detection circuit 5 and a second input receiving the first control signal C.
- the output of the logic gate 12 provides the third control input of the multiplexing circuit 11 with a third control signal.
- an additional rocker 13 interposed between the output of the logic gate 12 and the third control input of the multiplexing circuit 11, supplies the latter with a third control signal.
- a logic gate 27, of the OR type in the embodiment shown has an input connected to the output of the logic gate 12 and an input connected to the output of the flip-flop 13.
- the flip-flop holding input (4b, ...) of stages of order greater than 1 is then connected to the output of logic gate 27.
- the multiplexing circuit 11 transmits to the logic circuit 3a the additional data D applied to its third input when the first control signal C has a first predetermined value (0 in the example shown) and the data, read in the memory, applied to its first input, when the first control signal C takes a second predetermined value (1 in the example shown).
- the second control signal of value 0, representative of correct read data, also forces the output of logic gate 12 to 0.
- the flip-flop 13 and the gate 27 are provided.
- the additional flip-flop 13 supplies the multiplexing circuit 11 with a third control signal of value 1, causing the transmission to the logic circuit 3a of the corrected data applied to its second input.
- the flip-flops (4b, etc.) of stages of order greater than 1 will be blocked longer and several flip-flops 13 will be used to delay the output of the logic gate 12 for the time necessary.
- control signal is adapted accordingly and can take various values Ci each corresponding to the transmission of one of the additional data Di.
- the output of the correction circuit 6 is connected to the input of the memory and an input for writing the memory is connected to the output of the circuit of detection 5, so as to cause the corrected data to be written into the memory after detection of an error.
- the data having been corrected in the memory at the first detection of an error this will save the time necessary for its correction, downstream, during a subsequent reading.
- the risk of combination with an additional error occurring later likely to exceed the correction capacities of the correction circuit, cannot be excluded.
- B1 will be considered as a predecessor of B2, B2 as a successor of B1.
- the distance d (B1-B2), in the propagation path considered, between the predecessor Bl and the successor B2 is then equal to r + 1.
- dmin (B1-B2) the minimum of all the distances of the different paths
- dmax (B1-B2) their maximum.
- a part of a multi-channel assembly comprising a loop is shown in FIG. 11.
- a logic circuit 3q the output of which is connected to the inputs of a flip-flop 4q and of a flip-flop 4i, has two inputs connected respectively to the exit from flip-flop 4i and exit from flip-flop 4j.
- the output of flip-flop 4q is connected to the input of a logic circuit 3r, the output of which is connected to the input of a flip-flop 4r.
- the distance between flip-flop 4j and flip-flop 4i can take an infinity of values greater than or equal to 1:
- the value 3 for the channel comprising successively the flip-flop 4j, the logic circuit 3q, the flip-flop 4i, the logic circuit 3q and the flip-flop 4i and again the logic circuit 3q and the flip-flop 4i,
- the distance between the flip-flop 4i and itself can take the value 0, the value 1 (channel 4i, 3q, 4i), the value 2 (channel 4i, 3q, 4i, 3q, 4i), the value 3 (channel 4i, 3q, 4i, 3q, 4i, 3q, 4i) or any higher value.
- the distance between scale 4i and scale 4r can take any value greater than or equal to 2 (track 4i, 3q, 4q, 3r, 4r; track 4i, 3q, 4i, 3q, 4q, 3r, 4r; track 4i, 3q , 4i, 3q, 4i, 3q, 4q, 3r, 4r; etc.).
- the set of flip-flops Ba capable of being reached by an error originating from memory 1, that is to say the minimum distance from memory is less than or equal to k (dmin ⁇ k).
- - A1 or set that cannot be reached all of the flip-flops that cannot be reached in k clock cycles by an error from memory 1, that is to say the minimum distance from memory is greater than k (dmin> k) or which are not connected downstream of memory 1.
- the set of flip-flops Bs belonging to the set A1 or to the set Amax, which are arranged upstream of a rocker Ba of the set A from which they are separated by a distance dmin
- - S1 or sufficient source set the set of flip-flops of set S which are sufficient to correct the data in the set of circuits.
- There are several sufficient source sets. - S2 or nearest source assembly, the set of flip-flops of set S which are arranged immediately upstream of a flip-flop Ba of set A, that is to say separated from the latter by a distance dmin 1.
- S2 is a particular sufficient source set S1. Api the set of Bapl flip-flops, of set A, excluding Amax, having several inputs connected to different Bapl-1 flip-flops, constituting immediate predecessors and themselves separated from memory 1 by distances dmin ( Bapl-1) different scales.
- all the BapI-1 flip-flops of set A excluding Amax, arranged upstream of a Bapl flip-flop and whose distance dmin (memory-flip-flop Bapl-1) to the memory is greater than the minimum value of the distances dmin (memory-latch Bapl-1) associated with the corresponding latch Bapl.
- the memory 1 is connected in series to a logic circuit 3e, a flip-flop 4e, a logic circuit 3f, a flip-flop 4f, a logic circuit 3g and a flip-flop 4g.
- the logic circuit 3e comprises an additional input connected to the output of a flip-flop 4h and the logic circuit 3f an additional input connected to the output of a flip-flop 41.
- the output of flip-flop 4f is also connected to a first input of a 3m logic circuit having a second input connected to the output of a 4n flip-flop and an output connected to the input of a 4m flip-flop.
- the output of flip-flop 4e is also connected to a first input of a logic circuit 3o having a second input connected to the output of a flip-flop 4p and an output connected to both the input of a flip-flop 4o and to the entrance to the scale 4p.
- the output of flip-flop 4o is connected in series with a logic circuit 3s and a flip-flop 4s.
- the flip-flops 4e, 4f, 4g, 4m, 4o, 4p, and 4s belong to the set A, while the flip-flops 4h, 41 and 4n belong to the source set S and, more particularly to the set S2.
- the scales 4m, 4g and 4s belong to both the Api set and the Amax set and the switches 4p to the AS assembly.
- the flip-flops are identified by Ba, Bamax, Bas or Bs depending on whether they belong to set A only, to set Amax, to set AS or to set S. They are moreover, except for the scales of the Amax assembly, identified by a figure representative of the minimum distance (dmin) min which separates them from the scales
- Figure 13 completes the circuitry of Figure 12 with the elements to perform, in 3 clock cycles.
- a multiplexing circuit 14 comprises a first input connected to the output of the memory 1, a second input connected to the output of the correction circuit 6, and an output connected to the input of the logic circuit 3e initially connected to the memory. It also includes a third input connected to the memory output via a buffer register 15, with two cells, of the first in, first out type, designated by the usual abbreviation FIFO ("first in, first out "). Such a register introduces a delay depending on the number of F cells which constitute it and saves the last two values presented at its entry.
- the output of the flip-flop 4h is connected directly to a first input of a multiplexing circuit 16 and, via a FIFO register 17 to 3 stages, to a second input of the multiplexing circuit 16, the output of which is connected to the additional input of the logic circuit 3e.
- the output of flip-flop 4p is connected directly to a first input of a multiplexing circuit 18 and, via a 2-stage FIFO register 19, to a second input of the multiplexing circuit 18, whose output is connected to the second input of the logic circuit 3o.
- the output of flip-flop 41 is directly connected to a first input of a multiplexing circuit 20 and, via a 2-stage FIFO register 21, to a second input of the multiplexing circuit 20, the output of which is connected to the additional input of logic circuit 3f.
- the output of flip-flop 4n is directly connected to a first input of a multiplexing circuit 22 and, via a FIFO register 23 with a single stage, to a second input of the multiplexing circuit 22, the output of which is connected to the second input of the 3m logic circuit.
- the number of cells in a FIFO register is less than or equal to k, that is to say to 3, in the particular embodiment shown.
- the cells of each FIFO register are designated by F0, F1, F2 Fk-1, starting with the output cell of the register.
- the detection circuit 5 controls the multiplexers and the FIFO registers, as well as the blocking and unblocking of the flip-flops, via a control circuit 24, of so as to correct all the data likely to have been affected by the error.
- the output signals of the control circuit 24 are illustrated in more detail in FIG. 14:
- - Chold signals are applied to all the flip-flops not belonging to the set, that is to say, in FIG. 13, to the flip-flops 4h, 41 and 4n and to all the flip-flops, not shown, which belong to the set A1.
- - Cm signals are applied to the control input of the multiplexers.
- a FIFO register and a multiplexer are associated with the output of each flip-flop of the set S1 chosen, the multiplexer having an input connected directly to the output of the flip-flop considered and an input connected to this output via the FIFO register.
- ni k + 1-dmin ( memory-Ba)
- a first activation cycle for reading this FIFO register is the cycle corresponding to the value dmin (memory-Ba).
- the last read activation cycle of this FIFO register is the cycle k of the decontamination process.
- dmin memory-Ba
- n 1 k + 1 -dmin (memory-Ba) min
- the activation in reading of this FIFO register then begins at the cycle dmin (memory-Ba) min and ends at the cycle k of the decontamination process.
- the output data of the FIFO register are transmitted to the output of the associated multiplexer.
- a FIFO register and a multiplexer are also associated with each Bas flip-flop of the set As to provide the data necessary for decontamination.
- the principle is analogous to that used for the scales of the S2 assembly.
- the transmission of the content of this FIFO register must be interrupted before the end of the decontamination process to avoid providing contaminated data because the state of the Low flip-flop, belonging to set A, is contaminated during normal operation of all.
- n2 k + 1 -dmin (memory-Bpl)
- the FIFO register considered is activated in read mode from the dmin cycle (memory-Bpl).
- a FIFO register of size k activate it from the first cycle of the decontamination process.
- the last activation cycle of the FIFO register is the dmin cycle (memory-Low). During these cycles, the output data from the FIFO register are transmitted to the output of the associated multiplexer.
- the output data of the Low flip-flop are transmitted to the output of the associated multiplexer.
- dmin memory-Bpl
- dmin values memory-Bpl
- the activation of the FIFO register then begins at the dmin cycle (memory-Bpl) min of the decontamination process and ends at the dmin cycle (memory-Low).
- the associated multiplexer transmits at its output the output of the FIFO register during these cycles and the output of the flip-flop Low after the dmin cycle (memory-Low).
- the duration of the decontamination process is k cycles.
- the flip-flops of the set A1 are then blocked during these k cycles and, possibly, during the cycles necessary for the correction of the data read in the memory by the correction circuit.
- a FIFO register and a multiplexer are also associated with the memory.
- the size of this FIFO register is k-1.
- its first read activation cycle is cycle 2 of the decontamination phase and its last read activation cycle is the cycle k of this phase.
- a single multiplexer 14 can be used to select the output of the FIFO register 15 associated with the memory 1 and the output of the correction circuit 6.
- the multiplexer 15 connects to its output its input connected to the memory output 1.
- the first cycle of the decontamination phase it connects to its output its input connected to the circuit output correction 6 and, during the following k-1 cycles of the decontamination phase, it connects to its output its input connected to the output of the FIFO register 15.
- This particular embodiment has the drawback of saving in the FIFO register 15 an erroneous datum which would be read in the memory in the k ⁇ 1 cycles following the reading of the first erroneous datum.
- FIG. 15 illustrates an alternative embodiment enabling this problem to be avoided.
- the FIFO register 15 of FIG. 13 is replaced by a FIFO register 26 whose input is connected to the output of the correction circuit 6.
- the correction circuit 6 supplies both the corrected erroneous data and the correct, unchanged data, in from memory.
- the crossing time of the correction circuit is identical for all the data, corrected or correct, coming from memory 1. If this time exceeds one clock cycle, then the correction circuit will be designed so as to provide its output one data per clock cycle, each of these data being delayed by a number x of clock cycles corresponding to the time of crossing of the correction circuit.
- the decontamination phase will start.
- the necessary data from the memory are then all in the FIFO register 26 and they are all correct.
- the FIFO register 26 is activated for reading during the k cycles of the decontamination phase. During these cycles, the multiplexer 14 connects to its output its input connected to the output of the FIFO register 26. In normal operation, the multiplexer 14 connects to its output its input connected to the output of memory 1.
- Figure 16 illustrates another variant.
- a FIFO register 25 is then connected between the output of memory 1 and the input of the correction circuit 6.
- the data, correct or erroneous are saved in the FIFO register 25 as and when 'they are read from memory.
- the k data necessary for decontamination are saved in the FIFO register 25. Some of them may be erroneous. From this moment, one begins to activate the register 25 in reading.
- the correction circuit 6 provides the first datum, which is always correct, x cycles later.
- the decontamination phase during k cycles, then begins, the multiplexer selecting its input connected to the output of the correction circuit which supplies data, corrected if necessary, during each cycle.
- the decontamination phase then begins in cycle x.
- control code associated with the data supplied by the memory 1 and allowing the detection and possibly the correction of an error at the output of the memory 1 is calculated and stored in the memory during a phase of writing the data to the memory. This calculation introduces an additional delay which can have an impact on the operating cycle of the assembly. It is possible to eliminate this impact using the techniques described below.
- a memory stage which may include a logic circuit 28 upstream of the memory 1, is preceded by a stage providing it with the data.
- This conventionally comprises at least one logic circuit 29, the output of which is connected to the input of a flip-flop 30 (or of a stage of flip-flops), itself connected to the input of logic circuit 28 of the 'memory stage.
- the code generation circuit can be inserted in the memory stage , without reducing the operating speed of the assembly.
- the sum of the delay Dp of the stage preceding the memory 1, of the delay Dm of the memory stage and of the delay Dg of the code generation circuit is less than two periods Dh of the clock of the set, we can on the one hand consider case where the memory stage does not include a logic circuit 28 and on the other hand the case where the memory stage comprises a logic circuit 28.
- the code generation circuit is divided into two parts, a first part having a first delay D1 and a second part having a second delay D2, such as D1 + Dp ⁇ Dh and D2 + Dm ⁇ Dh.
- the first part of the code generation circuit is then inserted in the stage preceding the memory and the second part of the code generation circuit is inserted in the memory stage.
- the first part of the block is then inserted in the stage preceding the memory and the second part of the block is inserted in the memory stage.
- the data can be written immediately to memory 1, but the code must be generated before being written to memory.
- This delay will be less than Dg if Dm is less than Dh.
- an additional delay equal to Dg + Dm-Dh is obtained.
- the data is read and a code is generated from the read data, then compared bit by bit in a logic circuit of OR type exclusive to the code previously stored in the memory, way to generate a syndrome.
- An additional delay, corresponding to the delay Dg of the code generation circuit therefore exists in the path taken by the data read.
- the delays Dg of the two code generation circuits (in writing and in reading) being identical, the additional delay, introduced in the channel followed by the code in writing is less than or equal to the delay introduced in the channel taken by the data in reading .
- the data to be written to memory 1 is applied in parallel to an input of memory 1 and to the input of a first code generation circuit 32, the output of which is connected to the input of the code memory 31.
- the output of the memory 1 is connected, on the one hand, directly to the blocks of the system arranged downstream so as to provide them with the “read data” and, on the other hand, to the input of a second code generation circuit 33.
- the output of the second code generation circuit 33 providing a
- Code generated in memory reading phase is connected to a first input of a syndrome generation circuit 34 and to a first input of an error detection circuit 35 providing an error detection signal to the system.
- the output of code memory 31, providing a "code lu ”, is connected to a second input of the syndrome generation circuit 34 and to a second input of the error detection circuit 35.
- the output of the syndrome generation circuit 34 is connected to an input of a logic circuit 36 , of the exclusive OR type, comprising another input connected directly to the output of memory 1 and supplying the system with the
- the code generation circuits 33, syndrome generation 34, and the logic circuit 36 make up the correction circuit 6 (FIGS. 4, 7, 9, 13, 15 and 16).
- a clock signal H being applied to a clock input of memory 1
- a clock signal H + Dc that is to say delayed by From by relative to the clock signal H
- Dc is applied to a clock input of the code memory 31.
- Dc ⁇ Dg + Dm-Dh, but less than Dg, so as not to introduce, into the path taken by the code in writing, with a delay greater than the additional delay of the channel taken by the code in reading.
- the data is immediately written into memory 1, at an instant t0.
- the data are maintained by a flip-flop on the inputs of the first code generation circuit 32.
- the code is ready, at the latest at an instant tO + Dg, it is written in the code memory 31.
- the data read at an instant t1 can be sent directly to the following blocks of the system, as described above, the downstream stages being decontaminated later in the event of propagation of an error.
- the “data read” are simultaneously applied to the input of the second code generation circuit 33, which generates the “generated code” at an instant t1 + Dg.
- the "code read” is ready at the latest when the "generated code” is ready and the two codes can be used immediately by the circuits of detection of error 35 and generation of syndrome 34, so as to detect a possible error and / or generate a syndrome.
- the instants t0 and t1 can be identical to the instants t0 and t1 of writing and reading of a memory 1 not using error control codes.
- the embodiment of FIG. 18 does not in fact add, for the majority of the clock cycles, any delay due to the generation of codes, the detection of an error and the correction of an error, the data. being immediately written to memory 1 and the data read from memory 1 being immediately supplied to the rest of the system. Waiting cycles are not introduced into the system until after the rare cycles during which erroneous data are read from memory 1.
- the write and read operations of the code memory 31 are performed with the same delay De with respect to the write and read operations of the data memory 1.
- the write and read cycles of the code memory 31 thus have the same duration as the write and read cycles of the data memory 1.
- the memories 1 and 31 are synchronous memories, controlled by clock signals shifted by De, which makes it possible to derive the clock signals from the code memory 31 of the signals clock H of memory 1.
- code memory 31 is smaller than data memory 1, so code memory 31 can be faster than data memory 1. It is therefore not essential to introduce a delay equal to t1-t0 between the read and write operations of the code memory.
- the write operation in the code memory 31 is carried out at the instant t0 + Dc, that is to say delayed by De with respect to the write operation in the data memory 1.
- the code memory being faster, the operation of reading the code memory 31 does not need to be carried out at time t1 + Dc, that is to say that it does not does not have to be delayed by De with respect to the read operation of the data memory 1.
- the code memory 31 is fast enough than the data memory, the read operation of the code memory can be performed at the same time as the read operation of the data memory
- De is less than a clock period Dh.
- Dh a clock period
- De can be greater than Dh.
- the code generation takes a number r of clock cycles greater than 1, whether in writing or in reading.
- each operation of the code memory is performed r cycles after the corresponding operation of the data memory.
- This solution also enables data memory operations to be carried out without delay. If this principle is used for the error detection code, a greater number of clock cycles is necessary to detect an error after reading an erroneous data item.
- the decontamination circuit can only be activated after a higher number of clock cycles, necessary for the correction of the data read.
- all the flip-flops with which buffer registers are associated receive inputs at each clock cycle.
- certain flip-flops can be controlled by a signal (“hait”) which blocks the flip-flop when it is active. The rocker therefore maintains its state of the previous cycle when the “hate” signal is active.
- the clock of a flip-flop is derived from the system clock by means of a logic circuit, for example of an OR gate, which receives as input the signal of the system clock and one or more logic signals and generates as output the clock ("gated dock") of the scale.
- a logic circuit for example of an OR gate, which receives as input the signal of the system clock and one or more logic signals and generates as output the clock ("gated dock") of the scale.
- these logic signals condition the clock of the rocker which will be blocked during the cycles where these logic signals take certain values. The result is that the rocker maintains its state of the preceding cycle with each cycle during which its clock is blocked.
- the logic signals which control a rocker or which condition a clock signal are generated by certain blocks of the system. Then, in the initial architecture of the system, that is to say before the introduction of the decontamination circuits, the control signals of a flip-flop and the signals which condition its clock are considered as inputs of the flip-flop, of the same way as the signals which carry the data in writing in the rocker.
- the construction of the decontamination circuits will take these signals into account and add the necessary circuits (as described previously) to generate the same values on these signals during the decontamination phase as in normal operation.
- the buffer registers (or FIFOs), in the description above, they are activated in writing at each cycle of normal operation and in reading during predetermined cycles of the decontamination phase. But this does not take into account the case of control signals of the flip-flop associated with FIFO nor the case of the conditioning signals of the clock of this flip-flop. These signals can block the flip-flop during certain cycles of the operating phase and the FIFO must generate on its output during decontamination the same values as generates its associated flip-flop in normal operation. To do this, one of the following techniques can be used:
- the conditioning signals of the clock of the associated flip-flop are ignored and the system clock (ie without conditioning) is sent to the FIFO during the operating phase and during the decontamination phase.
- the control flip-flop control signals are also ignored, that is to say, these signals are not used in FIFO control, neither in normal operation nor during decontamination.
- the FIFO is always in writing during normal operation and in reading during the predetermined cycles of the decontamination phase, as described above.
- the rocker is blocked during a cycle of normal operation (by the “hate” signal or by its clock) it retains its previous value. This value is supplied to the FIFO during the two cycles and is stored in consecutive stages of the FIFO, which will supply it on its output during consecutive cycles of decontamination.
- the FIFO will provide during decontamination the same values as those provided by the associated flip-flop during normal operation.
- the control signal of the “hait” type of the flip-flop is used to block the FIFO at the same time as the associated flip-flop, and the same clock is used for the FIFO as for the associated flip-flop (ie ie "hate” type if applicable).
- the signal “hates” to control the associated flip-flop and the conditioning signals of the clock of this flip-flop take the same values during decontamination as in normal operation, we will also use during decontamination the same signal "Hates" and the same clock signal for FIFO.
- This FIFO to save these signals during normal operation and supply them to the system during the decontamination phase, using a multiplexer, as described above for other signals from the system.
- This FIFO will have the same number of stages and will be active during the same cycles of normal operation and decontamination as the FIFO for which the “hate” signal and the clock conditioning signals are intended.
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
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02794620A EP1428121A2 (fr) | 2001-08-10 | 2002-08-02 | Ensemble de circuits electroniques comportant au moins une memoire avec des moyens de correction d'erreur |
US10/485,662 US7493549B2 (en) | 2001-08-10 | 2002-08-02 | Electronic circuits assembly comprising at least one memory with error correcting means |
AU2002355473A AU2002355473A1 (en) | 2001-08-10 | 2002-08-02 | Electronic circuit assembly comprising at least a storage unit with error correcting means |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0110735A FR2828566B1 (fr) | 2001-08-10 | 2001-08-10 | Ensemble de circuits electroniques comportant au moins une memoire avec des moyens de correction d'erreur |
FR01/10735 | 2001-08-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2003014931A2 true WO2003014931A2 (fr) | 2003-02-20 |
WO2003014931A3 WO2003014931A3 (fr) | 2004-04-08 |
Family
ID=8866476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2002/002785 WO2003014931A2 (fr) | 2001-08-10 | 2002-08-02 | Ensemble de circuits electroniques comportant au moins une memoire avec des moyens de correction d'erreur |
Country Status (5)
Country | Link |
---|---|
US (1) | US7493549B2 (fr) |
EP (1) | EP1428121A2 (fr) |
AU (1) | AU2002355473A1 (fr) |
FR (1) | FR2828566B1 (fr) |
WO (1) | WO2003014931A2 (fr) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW591393B (en) * | 2003-01-22 | 2004-06-11 | Fujitsu Ltd | Memory controller |
US7426672B2 (en) * | 2005-04-28 | 2008-09-16 | International Business Machines Corporation | Method for implementing processor bus speculative data completion |
JP4793741B2 (ja) * | 2009-07-24 | 2011-10-12 | エヌイーシーコンピュータテクノ株式会社 | 誤り訂正回路、誤り訂正方法 |
US9448877B2 (en) * | 2013-03-15 | 2016-09-20 | Cisco Technology, Inc. | Methods and apparatus for error detection and correction in data storage systems using hash value comparisons |
US20170184664A1 (en) * | 2015-12-28 | 2017-06-29 | Michel Nicolaidis | Highly efficient double-sampling architectures |
US11953988B2 (en) * | 2019-05-23 | 2024-04-09 | Micron Technology, Inc. | Error correction memory device with fast data access |
US11307929B2 (en) | 2019-06-17 | 2022-04-19 | Micron Technology, Inc. | Memory device with status feedback for error correction |
US11694761B2 (en) | 2021-09-17 | 2023-07-04 | Nxp B.V. | Method to increase the usable word width of a memory providing an error correction scheme |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2064840A (en) * | 1979-12-03 | 1981-06-17 | Honeywell Inf Systems | Data processing system with edac (error detection and correction) |
EP0037705A1 (fr) * | 1980-04-01 | 1981-10-14 | Honeywell Inc. | Système de mémoire à correction d'erreurs |
EP1054327A1 (fr) * | 1999-05-17 | 2000-11-22 | Alcatel | Dispositif de détection d'erreur dans une mémoire associée à un processeur |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1509193A (en) * | 1974-04-17 | 1978-05-04 | Nat Res Dev | Computer systems |
US4412314A (en) * | 1980-06-02 | 1983-10-25 | Mostek Corporation | Semiconductor memory for use in conjunction with error detection and correction circuit |
US4562538A (en) * | 1983-05-16 | 1985-12-31 | At&T Bell Laboratories | Microprocessor having decision pointer to process restore position |
US4866717A (en) * | 1986-07-29 | 1989-09-12 | Matsushita Electric Industrial Co., Ltd. | Code error detecting and correcting apparatus |
JPS63156236A (ja) * | 1986-12-19 | 1988-06-29 | Toshiba Corp | レジスタ装置 |
US5119483A (en) * | 1988-07-20 | 1992-06-02 | Digital Equipment Corporation | Application of state silos for recovery from memory management exceptions |
EP1359485B1 (fr) * | 2002-05-03 | 2015-04-29 | Infineon Technologies AG | Système de commande et surveillance |
-
2001
- 2001-08-10 FR FR0110735A patent/FR2828566B1/fr not_active Expired - Lifetime
-
2002
- 2002-08-02 WO PCT/FR2002/002785 patent/WO2003014931A2/fr not_active Application Discontinuation
- 2002-08-02 AU AU2002355473A patent/AU2002355473A1/en not_active Abandoned
- 2002-08-02 US US10/485,662 patent/US7493549B2/en active Active
- 2002-08-02 EP EP02794620A patent/EP1428121A2/fr not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2064840A (en) * | 1979-12-03 | 1981-06-17 | Honeywell Inf Systems | Data processing system with edac (error detection and correction) |
EP0037705A1 (fr) * | 1980-04-01 | 1981-10-14 | Honeywell Inc. | Système de mémoire à correction d'erreurs |
EP1054327A1 (fr) * | 1999-05-17 | 2000-11-22 | Alcatel | Dispositif de détection d'erreur dans une mémoire associée à un processeur |
Non-Patent Citations (2)
Title |
---|
"MEMORY ACCESS WITH ERROR RECOVERY" IBM TECHNICAL DISCLOSURE BULLETIN, IBM CORP. NEW YORK, US, vol. 30, no. 10, 1 mars 1988 (1988-03-01), pages 133-135, XP000715630 ISSN: 0018-8689 * |
"MEMORY CARD DATA FASTPATH" IBM TECHNICAL DISCLOSURE BULLETIN, IBM CORP. NEW YORK, US, vol. 37, no. 2A, 1 février 1994 (1994-02-01), pages 637-638, XP000433476 ISSN: 0018-8689 * |
Also Published As
Publication number | Publication date |
---|---|
EP1428121A2 (fr) | 2004-06-16 |
US20040193967A1 (en) | 2004-09-30 |
US7493549B2 (en) | 2009-02-17 |
WO2003014931A3 (fr) | 2004-04-08 |
AU2002355473A1 (en) | 2003-02-24 |
FR2828566A1 (fr) | 2003-02-14 |
FR2828566B1 (fr) | 2004-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070162798A1 (en) | Single event upset error detection within an integrated circuit | |
FR2964482A1 (fr) | Procede de test en ligne des etages de pipeline temporairement non utilises et son dispositif associe | |
EP2131495A1 (fr) | Circuit asynchrone insensible aux délais avec circuit d'insertion de délai | |
FR2487548A1 (fr) | Systeme de memoire avec dispositif de diagnostic | |
EP1428121A2 (fr) | Ensemble de circuits electroniques comportant au moins une memoire avec des moyens de correction d'erreur | |
FR2831971A1 (fr) | Procede de memorisation de donnees avec correction d'erreur | |
EP1417582B1 (fr) | Ensemble de circuits electroniques comportant des moyens de decontamination de parties contaminees par des erreurs | |
EP3392773B1 (fr) | Circuit integre numerique protege contre les erreurs transitoires | |
EP0012880B1 (fr) | Procédé de décodage de données binaires codées en phase, modulation de fréquence et modulation de fréquence modifiée | |
EP3161691A1 (fr) | Procédé de fabrication automatisée d'un circuit électronique adapté pour détecter ou masquer des fautes par redondance temporelle, programme d'ordinateur et circuit électronique associés | |
EP0344052B1 (fr) | Mémoire modulaire | |
EP0359607B1 (fr) | Unité centrale pour système de traitement de l'information | |
EP0379436A1 (fr) | Dispositif et procédé d'arbitrage des requêtes et de résolution des conflits liés à l'accès aux mémoires à bancs indépendants pour les machines informatiques | |
EP0715430B1 (fr) | Système de transmission au moyen d'informations protégées par un code de gestion d'erreurs | |
US9715437B2 (en) | Pulsed-latch based razor with 1-cycle error recovery scheme | |
FR3046861A1 (fr) | Procede de synchronisation, dispositif et vehicule associes | |
EP4137945A1 (fr) | Méthode de protection d'un circuit intégré numérique reconfigurable contre les erreurs réversibles | |
TW200813751A (en) | Architecture for finite state machine decomposition | |
FR3048832A1 (fr) | ||
FR3134462A1 (fr) | Procédé de transfert de données entre un premier domaine numérique et un deuxième domaine numérique, et système sur puce correspondant. | |
EP1451688A2 (fr) | Architecture de circuits protegee contre des perturbations | |
JPH04325994A (ja) | メモリ出力制御回路 | |
WO2002035354A1 (fr) | Dispositif et procede de detection et correction d'erreurs memoire dans un systeme electronique | |
FR2920894A1 (fr) | Architecture de registre memoire a detection d'erreur integre et procede de detection d'erreur associe | |
FR2917863A1 (fr) | Bus avec circuit de correction d'erreur |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BY BZ CA CH CN CO CR CU CZ DE DM DZ EC EE ES FI GB GD GE GH HR HU ID IL IN IS JP KE KG KP KR LC LK LR LS LT LU LV MA MD MG MN MW MX MZ NO NZ OM PH PL PT RU SD SE SG SI SK SL TJ TM TN TR TZ UA UG US UZ VN YU ZA ZM Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZM ZW AM AZ BY KG KZ RU TJ TM AT BE BG CH CY CZ DK EE ES FI FR GB GR IE IT LU MC PT SE SK TR BF BJ CF CG CI GA GN GQ GW ML MR NE SN TD TG Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 10485662 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2002794620 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 2002794620 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |