Short Paper: A Method To Construct Low Delay Single Error Correction Codes For Protecting Data Bits Only
Short Paper: A Method To Construct Low Delay Single Error Correction Codes For Protecting Data Bits Only
Short Paper
A Method to Construct Low Delay Single Error while more sophisticated codes are used in critical applications
Correction Codes for Protecting such as space [3]. The main reason for this is that SEC codes
Data Bits Only can be encoded or decoded with simple circuitry and require a
low number of redundant bits. SEC codes can correct a single
Pedro Reviriego, Salvatore Pontarelli, Juan Antonio Maestro, and bit error per block. For memory protection, SEC codes are
Marco Ottavi commonly extended to also detect double errors. In this case,
the codes are known as SEC double error detection (SEC-
AbstractError correction codes (ECCs) have been used for decades
DED) codes [4].
to protect memories from soft errors. Single error correction (SEC) codes A classical type of SEC codes is Hamming codes that can
that can correct 1-bit error per word are a common option for memory be constructed in a simple way [5]. Hamming codes can also
protection. In some cases, SEC codes are extended to also provide double
error detection and are known as SEC-DED codes. As technology scales,
be extended with a parity bit to obtain a SEC-DED code. More
soft errors on registers also became a concern and, therefore, SEC codes sophisticated SEC-DED codes have also been proposed as, for
are used to protect registers. The use of an ECC impacts the circuit example, the ones described in [4], [6], and [7]. In those cases,
design in terms of both delay and area. Traditional SEC or SEC-DED
codes developed for memories have focused on minimizing the number of
the number of redundant bits is kept to the lowest achievable
redundant bits added by the code. This is important in a memory as those value, and the different codes optimize the area and delay
bits are added to each word in the memory. However, for registers used of the encoder and decoder or the detection of triple errors.
in circuits, minimizing the delay or area introduced by the ECC can be
more important. In this paper, a method to construct low delay SEC or
This is a reasonable approach for memories as the number of
SEC-DED codes that correct errors only on the data bits is proposed. The redundant bits has a direct impact on memory size.
method is evaluated for several data block sizes, showing that the new As technology scales, soft errors also become an issue for
codes offer significant delay reductions when compared with traditional
SEC or SEC-DED codes. The results for the area of the encoder and
registers used in digital circuits. SEC codes can also be used
decoder also show substantial savings compared to existing codes. to protect those registers that may store, for example, the state
Index TermsDouble error detection, error correction codes (ECCs),
of a finite state machine or data-path values in an arithmetic
single error correction (SEC), soft errors. circuit. In those cases, the design constraints for the SEC
code are different than in memories. For example, in circuits
minimizing the encoding and decoding delay may be the most
I. Introduction critical aspect. The impact on area is also different, as the
redundant bits are only added to the register being protected
Soft errors are an important issue for electronic circuits, and
such that their cost can be lower than that of the encoding
many different techniques are used to mitigate their effects
and decoding circuitry. In memories, since the redundant
[1]. To protect memories, error correction codes (ECCs) are
bits are added to each word, their overall cost commonly
widely used [2]. ECCs have an impact on circuit delay, area,
has the largest impact on area. Another difference is that
and power consumption. The delay is added as data has to
in memories it can be useful to correct errors on the parity
be encoded when writing into the memory and decoded when
bits when decoding. This is the case, for example, when
reading from it. The impact on area and power comes from the
scrubbing is used to periodically remove errors to prevent
encoding and decoding circuitry and also from the redundant
their accumulation [8]. In registers, the correction of parity
bits that the ECC adds to each data block. For memories, the
bits has little interest as the register contents are in many cases
number of redundant bits is typically the most critical factor
updated frequently and the input data comes from other circuit
as those bits are added to each memory word. This means that
elements. In spite of these differences, the SEC or SEC-DED
the impact on area scales with memory size.
codes that have been used or designed to protect memories
Single error correction (SEC) codes are the ones most
are also used in registers. This clearly suggests the interest of
commonly used to protect standard memories and circuits [2],
designing SEC codes that are targeted to the needs of registers.
Manuscript received June 29, 2012; revised September 7, 2012; accepted In this paper, a method to construct SEC and SEC-DED
October 19, 2012. Date of current version February 14, 2013. This work was codes that have low encoding and decoding delay is proposed.
supported in part by the Spanish Ministry of Science and Education under
Grant AYA2009-13300-C03. The work of M. Ottavi was funded by the Italian The proposed scheme can be used to design codes for any data
Ministry for University and Research, Program Incentivazione alla mobilit block size using a simple script. To illustrate the benefits of
di studiosi stranieri e italiani residenti allestero, D.M. 96, 23.04.2001. This the method, the derived SEC codes are compared to Hamming
paper is part of a collaboration in the framework of COST ICT Action 1103
Manufacturable and Dependable Multicore Architectures at Nanoscale. This SEC codes and the proposed SEC-DED codes with the opti-
paper was recommended by Associate Editor J. Cortadella. mized SEC-DED codes presented in [6]. The results show that
P. Reviriego and J. A. Maestro are with the Universidad Antonio de Nebrija, they achieve a significantly lower delay and also a lower area
Madrid 28040, Spain (e-mail: [email protected]; [email protected]).
S. Pontarelli and M. Ottavi are with the University of Rome for the encoder and the decoder. The proposed codes require,
Tor Vergata, Rome 00133, Italy (e-mail: [email protected]; in most cases, more redundant bits than traditional codes. This
[email protected]). limits their applications to large memories, but is not an issue
Digital Object Identifier 10.1109/TCAD.2012.2226585
for registers where the area of the encoder and decoder can be
0278-0070/$31.00
c 2013 IEEE
480 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 32, NO. 3, MARCH 2013
TABLE IV
Delay Estimates for the SEC Encoder and Decoder
TABLE V for SEC-DED codes the value goes up to 0.82 ns. This means
Area Estimates for the SEC Encoder and Decoder that for a 250 MHz circuit approximately 20% of the clock
will be devoted to the ECC protection. For circuits that have
Hamming Proposed SEC Reduction
a higher clock rate, there will be parts of the circuit that have
k Enc Dec Enc Dec Enc Dec
8 84.5 416.3 71.3 306.9 15.6% 26.3%
significant timing margin, and therefore the ECCs can still
16 177.4 630.7 168.9 504.6 4.8% 20.0% be used to protect those parts of the circuits while the faster
32 399.4 918.4 321.0 762.1 19.6% 17.0% triplication with voting can be used on the critical paths.
64 855.1 1982.8 685.6 1559.5 19.8% 21.4%
V. Conclusion
TABLE VI
In this paper, a method to construct low delay SEC and
Delay Estimates for the SEC-DED Encoder and Decoder
SEC-DED codes was presented. The proposed method used
SEC-DED [6] Proposed SEC-DED Reduction
some additional parity bits to reduce the number of ones in the
k Enc Dec Enc Dec Enc Dec rows and columns of the parity check matrix. This reduction
8 0.29 0.45 0.29 0.41 0.0% 8.9% was then used to simplify the decoding logic to achieve
16 0.36 0.54 0.32 0.50 11.1% 7.4% lower delay and area. The proposed method was evaluated
32 0.46 0.61 0.37 0.58 19.6% 4.9% and compared with traditional SEC Hamming and SEC-DED
64 0.47 0.65 0.42 0.61 10.6% 6.2% codes, showing significant reductions in both area and delay.
The proposed codes can be useful to protect registers in
TABLE VII circuits where the area and delay of the encoder and decoder
Area Estimates for the SEC-DED Encoder and Decoder can be a more important issue than the number of parity bits.
The codes can also be useful to protect high-speed memories
SEC-DED [6] Proposed SEC-DED Reduction or caches as they can minimize delay at the expense of a few
k Enc Dec Enc Dec Enc Dec additional parity check bits.
8 143.1 415.7 113.6 355.8 20.6% 14.4%
16 247.3 694.6 227.1 563.7 8.2% 19.8%
32 464.4 1060.2 455.2 927.3 2.0% 12.5% Acknowledgment
64 814.2 1904.8 905.7 1881.4 11.2% 1.2% The authors would like to thank V. Gherman, S. Evain,
and Y. Bonhomme for providing the H matrixes of the codes
presented in [6].
The delay estimates (in ns) and area estimates (in m2 ) for
both the encoder (Enc) and the decoder (Dec) SEC codes are
shown in Tables IV and V. For delay, significant reductions References
over a Hamming code are achieved that in some cases exceed [1] M. Nicolaidis, Design for soft error mitigation, IEEE Trans. Device
25%, confirming the low delay of the proposed SEC codes. For Mater. Reliab., vol. 5, no. 3, pp. 405418, Sep. 2005.
[2] C. L. Chen and M. Y. Hsiao, Error-correcting codes for semiconductor
area, significant savings are also obtained in most cases. This memory applications: A state-of-the-art review, IBM J. Res. Develop.,
means that the use of the proposed codes may also be more vol. 28, no. 2, pp. 124134, 1984.
cost effective than Hamming codes, since the area savings [3] G. C. Cardarilli, M. Ottavi, S. Pontarelli, M. Re, and A. Salsano, Fault
tolerant solid state mass memory for space applications, IEEE Trans.
in the encoder and decoder can outweight the cost of the Aerospace Electron. Syst., vol. 41, no. 4, pp. 13531372, Oct. 2005.
additional flip-flops needed by our code. [4] M. Y. Hsiao A class of optimal minimum odd-weight column SEC-
For SEC-DED codes, the area and delay estimates are DED codes, IBM J. Res. Develop., vol. 14, pp. 395301, Jul. 1970.
[5] R. W. Hamming, Error detecting and error correcting codes, Bell Syst.
presented in Tables VI and VII. It is important to note that Tech. J., vol. 29, pp. 147160, Apr. 1950.
the delay results for the decoders are for the correction of [6] V. Gherman, S. Evain, N. Seymour, and Y. Bonhomme, Generalized
data bits. The delay for double error detection is larger in parity-check matrices for SEC-DED codes with fixed parity, in Proc.
IEEE On-Line Testing Symp., Jul. 2011, pp. 19820.
most cases. However, double error detection will only be used [7] M. Richter, K. Oberlaender, and M. Goessel, New linear SEC-DED
to signal an unrecoverable error, and therefore it only has to codes with reduced triple bit error miscorrection probability, in Proc.
be smaller than the clock cycle. The correction of data bits is IEEE On-Line Testing Symp., Jul. 2008, pp. 3742.
[8] A. M. Saleh, J. J. Serrano, and J. H. Patel, Reliability of scrubbing
followed by the actual circuit logic, and therefore adds directly recovery-techniques for memory systems, IEEE Trans. Reliab., vol. 39,
to the circuit delay. Therefore, the impact on circuit delay is no. 1, pp. 114122, Apr. 1990.
due to the correction of the data bits, and it makes sense to [9] S. Lin and D. J. Costello, Error Control Coding, 2nd ed. Englewood
Cliffs, NJ: Prentice-Hall, 2004.
report it. The results also show delay reductions compared [10] M. Y. Hsiao, D. C. Bossen, and R. T. Chien, Orthogonal latin square
with the SEC-DED codes proposed in [6] although smaller codes, IBM J. Res. Develop., vol. 14, no. 4, pp. 390394, Jul. 1970.
than in the case of the SEC codes. The area is also reduced [11] G. Li, I. J. Fair, and W. A. Krzymien, Low-density parity-check codes
for space-time wireless transmission, IEEE Trans. Wirel. Commun., vol.
in most cases. The impact on the delay of the proposed ECCs 5, no. 2, pp. 312322, Feb. 2006.
when used in a circuit would be that of the encoder plus the [12] J. E. Stine et al., FreePDK: An open-source variation-aware design
decoder. For SEC codes and k = 16 bits that is 0.75 ns while kit, in Proc. IEEE Int. Conf. MSE, Jun. 2007, pp. 173174.