integer sec-ded codes for low power communications

3
Information Processing Letters 110 (2010) 518–520 Contents lists available at ScienceDirect Information Processing Letters www.elsevier.com/locate/ipl Integer SEC-DED codes for low power communications Aleksandar Radonjic , Vladimir Vujicic University of Novi Sad, Faculty of Technical Sciences, Department for Power, Electronics and Communications Engineering, Serbia article info abstract Article history: Received 6 December 2009 Received in revised form 1 April 2010 Accepted 7 April 2010 Available online 8 April 2010 Communicated by A.A. Bertossi Keywords: Integer SEC-DED codes Safety/security in digital systems Computational complexity A new class of SEC-DED codes based on integer arithmetic is presented. The proposed approach is characterized by linear time complexity of coding and decoding procedures and constant time complexity of the single-bit error correction procedure. In addition, the presented codes can protect an arbitrary number of data bits, which makes them suitable for use in a wide range of communication systems. © 2010 Elsevier B.V. All rights reserved. 1. Introduction The requirements for higher levels of data integrity in computer memories have led to wide use of error cor- recting codes (ECC), where linear SEC-DED (single-bit er- ror correcting and double-bit error detecting) codes take a very significant place. One of the most important rea- sons for their popularity lies in the fact that error con- trol of short datawords was simple, and that correspond- ing encoding/decoding circuits contained a relatively small number of logic gates. However, even though these codes have been very successfully applied in computer memo- ries, they were never significantly used in communication systems. The main reason for this lies in the fact that coding and decoding procedures of linear SEC-DED codes have quadratic time complexity [1–3], so that the data- word length increase leads to a substantial consumption of processing time and energy. On the other hand, in coding theory it is well known that the use of integer arithmetic provides a much sim- pler mechanism of error control, which is also confirmed by the several code constructions presented in [4–6]. How- ever, although these codes are characterized by low cod- ing/decoding complexity, they have the possibility to cor- * Corresponding author. E-mail address: [email protected] (A. Radonjic). rect only specific types of errors (i.e. single-bit errors), and thus a limited practical applicability. The aim of this Letter is to show that the concept of error control using integer arithmetic can be improved, i.e. that with a careful selection of checksums it is possible to construct low complexity SEC-DED codes which can be used in various communication systems. 2. Coding and syndrome forming procedures Let us assume that a dataword is made of a sequence of k bytes (k 2 b2 ), while every byte consists of b bits (Fig. 1). In that case, the procedure of forming check-bytes C B1 and C B2 implies the use of following expressions: C B1 =[ B 1 + B 2 + B 3 +···+ B k ] mod ( 2 b ) = k i =1 B i mod ( 2 b ) , (1) C B2 = 1 · p 1 + 3 · p 2 +···+ (2 · k 1) · p k mod ( 2 b ) = k i =1 (2 · i 1) · p i mod ( 2 b ) , (2) where the value p i ∈[0, 1] is a result of a horizontal parity check on bits within the byte B i , i.e. 0020-0190/$ – see front matter © 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.ipl.2010.04.004

Upload: aleksandar-radonjic

Post on 26-Jun-2016

228 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Integer SEC-DED codes for low power communications

Information Processing Letters 110 (2010) 518–520

Contents lists available at ScienceDirect

Information Processing Letters

www.elsevier.com/locate/ipl

Integer SEC-DED codes for low power communications

Aleksandar Radonjic ∗, Vladimir Vujicic

University of Novi Sad, Faculty of Technical Sciences, Department for Power, Electronics and Communications Engineering, Serbia

a r t i c l e i n f o a b s t r a c t

Article history:Received 6 December 2009Received in revised form 1 April 2010Accepted 7 April 2010Available online 8 April 2010Communicated by A.A. Bertossi

Keywords:Integer SEC-DED codesSafety/security in digital systemsComputational complexity

A new class of SEC-DED codes based on integer arithmetic is presented. The proposedapproach is characterized by linear time complexity of coding and decoding proceduresand constant time complexity of the single-bit error correction procedure. In addition, thepresented codes can protect an arbitrary number of data bits, which makes them suitablefor use in a wide range of communication systems.

© 2010 Elsevier B.V. All rights reserved.

1. Introduction

The requirements for higher levels of data integrity incomputer memories have led to wide use of error cor-recting codes (ECC), where linear SEC-DED (single-bit er-ror correcting and double-bit error detecting) codes takea very significant place. One of the most important rea-sons for their popularity lies in the fact that error con-trol of short datawords was simple, and that correspond-ing encoding/decoding circuits contained a relatively smallnumber of logic gates. However, even though these codeshave been very successfully applied in computer memo-ries, they were never significantly used in communicationsystems. The main reason for this lies in the fact thatcoding and decoding procedures of linear SEC-DED codeshave quadratic time complexity [1–3], so that the data-word length increase leads to a substantial consumptionof processing time and energy.

On the other hand, in coding theory it is well knownthat the use of integer arithmetic provides a much sim-pler mechanism of error control, which is also confirmedby the several code constructions presented in [4–6]. How-ever, although these codes are characterized by low cod-ing/decoding complexity, they have the possibility to cor-

* Corresponding author.E-mail address: [email protected] (A. Radonjic).

0020-0190/$ – see front matter © 2010 Elsevier B.V. All rights reserved.doi:10.1016/j.ipl.2010.04.004

rect only specific types of errors (i.e. single-bit errors), andthus a limited practical applicability.

The aim of this Letter is to show that the concept oferror control using integer arithmetic can be improved, i.e.that with a careful selection of checksums it is possibleto construct low complexity SEC-DED codes which can beused in various communication systems.

2. Coding and syndrome forming procedures

Let us assume that a dataword is made of a sequenceof k bytes (k � 2b−2), while every byte consists of b bits(Fig. 1).

In that case, the procedure of forming check-bytes CB1and CB2 implies the use of following expressions:

CB1 = [B1 + B2 + B3 + · · · + Bk] mod(2b)

=k∑

i=1

Bi mod(2b), (1)

CB2 = [1 · p1 + 3 · p2 + · · · + (2 · k − 1) · pk

]mod

(2b)

=k∑

i=1

(2 · i − 1) · pi mod(2b), (2)

where the value pi ∈ [0,1] is a result of a horizontal paritycheck on bits within the byte Bi , i.e.

Page 2: Integer SEC-DED codes for low power communications

A. Radonjic, V. Vujicic / Information Processing Letters 110 (2010) 518–520 519

Fig. 1. The codeword structure.

pi = bi1 ⊕ bi2 ⊕ bi3 ⊕ · · · ⊕ bib;Bi = (bi1,bi2,bi3, . . . ,bib). (3)

On the receiving side using identical methods we calculatethe values

CB1 = [B1 + B2 + B3 + · · · + Bk] mod(2b)

=k∑

i=1

B i mod(2b), (4)

CB2 = [1 · p1 + 3 · p2 + · · · + (2 · k − 1) · pk

]mod

(2b)

=k∑

i=1

(2 · i − 1) · pi mod(2b) (5)

and based on them, syndromes S1 and S2 are formed

S1 = [CB1 − CB1] mod(2b), (6)

S2 = [CB2 − CB2] mod(2b). (7)

Taking into account that error control is based on modu-lar arithmetic, as the final result, we get syndromes whosevalues are expressed arithmetically. In the case when datatransmission is error-free, both of those values will beequal to zero, while all other combinations indicate thecases when a single-bit error or double/multi-bit error oc-curs.

3. Error correction and detection procedures

3.1. Single-bit error correction

If a single-bit error occurs, from the value of syndromeS1 information of its bit-position can be very easily ob-tained. Namely, if we have in mind that (1) representsarithmetic sum modulo 2b , a single-bit error will alwayscause a change in the mentioned sum by e = ±2 j ( j =0,1, . . . ,b − 1), and we can get its concrete value by us-ing (6), i.e.

e = S1, for S1 ∈ (0,2b−1], (8)

e = 2b − S1, for S1 ∈ (2b−1,2b). (9)

On the other hand, if we observe (2) and (5), we can con-clude that a single-bit error will produce an inversion ofhorizontal parity bit pi (0 → 1 or 1 → 0), which meansthat values of the check-bytes CB2 and CB2 will differ by±(2 · i − 1), i = 1,2, . . . ,k.

Considering that this change happens modulo 2b , from(7) it follows

S2 = [CB2 − CB2] mod(2b)

= [CB2 ± (2 · i − 1) − CB2

]mod

(2b)

= [±(2 · i − 1)]

mod(2b) (10)

which enables the decoder to easily locate the position ofbyte affected by the error, i.e.

i = S2 + 1

2, for S2 ∈ (0,2 · k − 1], (11)

i = 2b − S2 + 1

2, for S2 ∈ [

2b − 2 · k + 1,2b). (12)

When this value is also known, the single-bit error correc-tion procedure includes one of the following two opera-tions:

Bi = B i − e, for S1 ∈ (0,2b−1], (13)

Bi = B i + e, for S1 ∈ (2b−1,2b). (14)

From (8)–(14) it can be easily concluded that the single-biterror correction procedure has a constant time complexity,which means that its execution time does not depend onthe number of data bytes.

3.2. Double-bit error detection

In addition to single-bit error correction capability, theproposed codes can also detect the appearance of double-bit errors. In order to prove this characteristic, it is suffi-cient to analyze two general events. The first one is relatedto a case when a double-bit error occurs within a singlebyte, which leads to a situation where the syndrome val-ues are S1 �= 0 and S2 = 0. This conclusion comes from thefact that a double-bit error within a byte will cause a non-zero value of syndrome S1, i.e.

S1 = [CB1 ± 2 j ± 2k − CB1

]mod

(2b)

= [±2 j ± 2k] mod(2b) �= 0;

j �= k, j,k = 0,1, . . . ,b − 1, (15)

while the value of horizontal parity bit pi will remain un-changed (pi = pi).

The second general case represents a situation when adouble-bit error affects two different bytes. If we supposethat this type of error has occurred in m-th and n-th bytes(m �= n; m,n = 1,2, . . . ,k), from (2) and (5) we can seethat this type of double-bit error will produce an inversionof horizontal parity bits pm and pn , so that the value ofsyndrome S2

S2 = [CB2 ± (2 · m − 1) ± (2 · n − 1) − CB2

]mod

(2b)

= [±(2 · m − 1) ± (2 · n − 1)]

mod(2b) (16)

will always be an even number. Considering that this out-come is opposite to the case of a single-bit error, thedecoder will easily conclude that during transmission adouble-bit error or another type of multi-bit error has oc-curred.

4. Complexity of coding and decoding procedures

As far as the coding procedure is concerned, the ex-pression for its time complexity is most easily obtained bycalculating the number of operations needed for formingcheck-bytes CB1 and CB2. In a case of the first check-byte,

Page 3: Integer SEC-DED codes for low power communications

520 A. Radonjic, V. Vujicic / Information Processing Letters 110 (2010) 518–520

from (1) we can see that the process of its forming is basedon cumulative addition of b-bit vectors. If we take into ac-count that adding two b-bit numbers modulo 2b demandsb operations, it can be easily concluded that the processof forming CB1 needs b operations over one byte, i.e. b · koperations in case of k bytes.

On the other hand, in the process of forming check-byteCB2 we can distinguish four different steps: the calculationof value of horizontal parity bit pi (b operations), the gen-eration of constant 2 · i−1 (1 operation), one multiplicationoperation between constant 2 · i − 1 (b-bit vector) and hor-izontal parity bit pi (1-bit vector) (b operations), and onemodulo 2b addition operation between (un)changed valueof constant 2 · i − 1 and temporary (cumulative) value ofCB2 (b operations). If we observe all the mentioned opera-tions as a whole, we can easily conclude that the processof forming CB2 demands 3 · b + 1 operations at the bytelevel, i.e. (3 ·b +1) ·k operations in a case of k bytes. Whenb · k operations, necessary to form CB1 are added to thisnumber, the expression for total complexity

O(k · b + (3 · b + 1) · k

) = O((4 · b + 1) · k

) ≈ 4 · b · O (k)

shows that the coding procedure has a linear time com-plexity.

The identical result can be obtained in the case of timecomplexity analysis of the decoding procedure. Namely, ifwe compare expressions (1) and (2), on one hand, and ex-pressions (4)–(7) on the other hand, we will notice thatthe only difference between coding and decoding proce-dures comes from the fact that on the receiving side wehave two additional operations – the subtraction operationmodulo 2b (b operations), which is used to form syndromeS1 and the subtraction operation modulo 2b (b operations)based on which syndrome S2 was obtained.

Observing it as a total, we can easily calculate

O(k · b + (3 · b + 1) · k + b + b

)

= O((4 · b + 1) · k + 2 · b

) ≈ 4 · b · O (k)

and conclude that the decoding procedure also has a lineartime complexity.

5. Conclusion

The concept of error control using integer arithmeticis rarely mentioned in coding theory, mainly because allknown solutions have the capability to correct only specifictypes of errors. In this Letter it is shown that this approachcan be improved, i.e. that it is possible to create SEC-DEDcodes with linear time complexity of coding/decoding pro-cedures and constant time complexity of single-bit errorcorrection procedure. These features can be exploited inmany practical applications, especially in the cases whenthe computing power and energy resources are limited.

References

[1] G. Kabatiansky, G. Krouk, E.S. Semenov, Error Correcting Coding andSecurity for Data Networks: Analysis of the Superchannel Concept,John Wiley & Sons, Ltd., 2005.

[2] A. Vardy, Algorithmic complexity in coding theory and the minimumdistance problem, in: Proc. of the 29th Annual ACM Symposium onTheory of Computing (STOC ’97), 1997, pp. 92–109.

[3] A. Barg, E. Krouk, H.C.A. van Tilborg, The complexity of hard-decisiondecoding of linear codes, in: ISIT 1997, 1997, p. 331.

[4] A.J.H. Vinck, H. Morita, Codes over the ring of integer modulo m, IEICETrans. Fundam. E81-A (10) (Oct. 1998) 2013–2018.

[5] H. Kostadinov, H. Morita, N. Manev, Integer codes correcting singleerrors of specific types (±e1,±e2, . . . ,±es), IEICE Trans. Fundam. E86-A (7) (July 2003) 1843–1849.

[6] U. Tamm, On perfect integer codes, in: ISIT 2005, 2005, pp. 117–120.