Professional Documents
Culture Documents
fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TC.2018.2821688, IEEE
Transactions on Computers
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO 1
EDIT) <
0018-9340 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TC.2018.2821688, IEEE
Transactions on Computers
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO 2
EDIT) <
0018-9340 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TC.2018.2821688, IEEE
Transactions on Computers
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO 3
EDIT) <
0018-9340 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TC.2018.2821688, IEEE
Transactions on Computers
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO 4
EDIT) <
0018-9340 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TC.2018.2821688, IEEE
Transactions on Computers
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO 5
EDIT) <
Figure 4. Error pattern calculator for the i-th bit in the proposed
SAEC code.
0018-9340 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TC.2018.2821688, IEEE
Transactions on Computers
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO 6
EDIT) <
IV. EVALUATION
In this section, the decoder of the proposed code is
Figure 6. Area of parallel decoder for proposed code (normalized compared with the traditional optimal SAEC code (shown in
by the traditional code at 100%). II.A). These decoders are designed by Verilog and then
synthesized by the Synopsys Design Compiler with an
more information bits, the parameter m should be set to a industrial 180nm technology.
smaller value in the code construction. Figure 5 shows the delay times for the proposed code
D. Hardware normalized by the traditional SAEC code (i.e. at 100%). The
delay time for the critical bits is reduced on average to 94%
Next, the parallel encoder and decoder for the proposed
(this average is shown in the figure with a dotted line), i.e. a
code are presented. A parallel encoder for the proposed code is
6 % reduction. 94% is also the same average delay as the SEC
constructed by a conventional scheme i.e. using XOR trees.
of [9] compared with the traditional Hamming SEC code.
The proposed code can be decoded in a manner similar to [13];
The result for k 1 =8 and k 2 =1024 is due to the large fan-out in
hence, the outline of the parallel decoder for the proposed
the error pattern calculator; a large number of inverters and
code is the same as in [13] (shown in Figure 2). The difference
buffers were inserted by the synthesis tool.
from [13] is in the error pattern calculator.
Figures 6 and 7 show the area and the power
Figure 4 shows the error pattern calculator for the i-th bit
consumption normalized by those for the traditional SAEC
on the proposed code. The calculator for every information bit
code (again at 100% and averages shown by dotted lines in
is placed in parallel; the calculator consists of a single error
these figures). The results for the proposed code are better
detector, adjacent error detectors and an OR gate. The single
0018-9340 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TC.2018.2821688, IEEE
Transactions on Computers
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO 7
EDIT) <
than the traditional code; the average area and power hardware implementation have many positive features. The
consumption are at 88 % and 90 % levels of those for the check bit length of the proposed code has been shown to be
decoder of the traditional code. The result for k 1 =8 and nearly the same as the traditional (optimal) Hamming SAEC
k 2 =1,024 is caused by the large number of inverters and code. The design of the decoder for the proposed SAEC code
buffers. These additional inverters and buffers increase the has been compared with the traditional Hamming SAEC code;
power consumption of the circuit. this comparison has shown that on average, the delay time for
Next we consider the reasons for the reductions in area the critical bits has been reduced by 6 % compared with the
and power consumption. These reduction occur for the error traditional Hamming SAEC code (so at the same reduction
pattern calculator, so not for the syndrome generator and the level as the SEC scheme of [9] for fast decoding of critical bits
XORs in Figure 2. These reductions are possible due to two over a traditional SEC code). Also, the area and power
reasons. As first reason, the proposed code does not examine consumption of the proposed decoder have shown average
s 2 for the critical bits; as second reason, many but same reductions of 12% and 10% compared with the decoder of a
calculations are performed in the error pattern calculator traditional SAEC code.
hardware. Therefore, the synthesis tool targets these Lastly it should be noted that while it has been shown
calculations for improvement. Consider the error on the i-th that a simple extension of SEC [9] to SAEC requires an
bit of X 2,j (0<i<2r2−2); this error can be detected by comparing innovative code construction, the provision of SAEC to SEC
the syndrome with the following three vectors: the column [9] for critical bits using the proposed scheme is rather
vector of the H matrix corresponding to the i-th bit, the XOR efficient as evidenced by the evaluation of the figures of merit
of the column vectors corresponding to the i-th and (i−1)-th (except as expected, for the error pattern calculator) presented
bits, and the XOR of those in the i-th and (i+1)-th bits. So, the in this paper.
error can be detected by the following calculations (for the
case with no row operation): REFERENCES
((s 1 =flipud(α j+(i mod 2) ))∧(s 2 =βi)∧(s 3 =1)) [1] E. Fujiwara, Code design for dependable systems: theory and practical
∨(P j ∧(s 2 =(β+1) β i−1 )) ∨(P j ∧(s 2 =(β+1) β i )) applications.Wiley-Interscience, 2006.
where P j =(s 1 =flipud((α+1)α j )∧(s 3 =0). The calculation of P j [2] K. Namba and F. Lombardi, “High-speed parallel decodable non-binary
single-error correcting (SEC) codes,” IEEE Trans. Device Mater.
can be reduced to one (so not two) by the distributive law; this Reliab., vol. 16, no. 1, pp. 30–37, Mar. 2016.
reduction does not occur for the traditional SAEC code. [3] E. Fujiwara, K. Namba, and M. Kitakami, “Parallel decoding for burst
The average area and power consumption for the error control codes,” Proc. 2002 IEEE Int. Symp. Information Theory, p.
proposed SAEC code are 88 % and 90 % compared to the 429, 2002.
decoder of the traditional code. The proposed code can be also [4] G. Umanesan and E. Fujiwara, “Parallel decoding cyclic burst error
correcting codes,” IEEE Trans. Comput., vol. 54, no. 1, pp. 87–92, Jan.
compared to the SEC code of [9]; in this case, the averages are 2005.
at the 97 % and 104% levels. The reduction in averages occurs [5] P.-Y. Chen, C.-L. Su, C.-H. Chen, and C.-W. Wu, “Generalization of an
because the use of s 2 mostly affects the error pattern enhanced ECC methodology for low power PSRAM,” IEEE Trans.
calculator; the error pattern calculator for SAEC codes is Comput., vol. 62, no. 7, pp. 1318–1331, Jul. 2013.
larger than for SEC codes. Furthermore the reduction of the [6] M. Demirci, P. Reviriego, and J. A. Maestro, “Unequal error protection
codes derived from double error correction orthogonal Latin square
calculation for P i does not occur for the SEC code. codes,” IEEE Trans. Comput., vol. 65, no. 9, pp. 2932–2938, Sep. 2016.
Table 2 shows the check bit length of the proposed code. [7] P. Reviriego, S. Pontarelli, J. A. Maestro, and M. Ottavi, “A method to
The value in the parenthesis indicates the difference between construct low delay single error correction codes for protecting data bits
the proposed and the traditional SAEC codes. For example, for only,” IEEE Trans. Comput. Aided Des. Integr. Circuits Syst., vol. 32,
no. 3, pp. 479–483, Mar. 2013.
k 1 =16 and k 2 =16, the check bit length of the proposed code is
[8] V. Gherman, S. Evain, N. Seymour, and Y. Bonhomme, “Generalized
9, while for the traditional code it is 8; hence, the difference is parity-check matrices for SEC-DED codes with fixed parity,” Proc.
9−8=+1. The check bit length of the proposed code is nearly IEEE Int’l On-Line Testing Symp., 2011.
the same as the traditional (optimal) SAEC code; this feature [9] P. Reviriego, M. Demirci, A. Evans, and J. A. Maestro, “A method to
is also applicable to the scheme of [9], but for SEC. design single error correction codes with fast decoding for a subset of
critical bits,” IEEE Trans. Circuits Syst. II, vol. 63, no. 2, pp. 171–175,
Feb. 2016.
V. CONCLUSION [10] Ten Gigabit Ethernet Medium Access Controller, OpenCores. [Online].
This paper has presented the construction of a new single Available: http://opencores.org/project/ethmac
and adjacent error correction (SAEC) code. Codewords of the [11] S. Satoh, Y. Tosaka, and S. A. Wender, “Geometric effect of
multiple-bit soft errors induced by cosmic ray neutrons on DRAM’s,”
proposed code have critical bits; therefore, the proposed code IEEE Electron Device Lett., vol. 21, no. 6, pp. 310–312, Jun. 2000.
must accomplish fast decoding for the critical bits. The [12] A. Dutta, “Low cost adjacent double error correcting code with complete
proposed code is a systematic code, because information elimination of miscorrection within a dispersion window for multiple bit
words are embedded in the codewords with no change. The upset tolerant memory,” Proc. IEEE/IFIP Int’l Conf. VLSI-SoC, pp.
287–290, 2012.
proposed code is amenable to shortening. To reduce the
[13] D. Radaelli, H. Puchner, S. Wong, and S. Daniel, “Investigation of
information bits, the columns in the H matrix can be multi-bit upsets in a 150 nm technology SRAM device,” IEEE Trans.
eliminated, such that both the SAEC capability and the Nucl. Sci., vol. 52, no. 6, pp. 2433–2437, Dec. 2005.
systematic feature are retained; however, an adjustment step in [14] B. Victor and K. Keutzer, “Bus encoding to prevent crosstalk delay,”
critical bits is required for an odd number of information bits. IEEE/ACM Int. Conf. Comput. Aided Des., 2001.
In terms of figures of merit, the proposed code and its
0018-9340 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TC.2018.2821688, IEEE
Transactions on Computers
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO 8
EDIT) <
[15] K.N. Patel and I.L. Markov, “Error-correction and crosstalk avoidance
in DSM busses,” IEEE Trans. Very Large Scale Integr. Syst. vol.12,
no.10, pp.1076–1080., Oct. 2004.
0018-9340 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.