On the Mollard code as a partially robust code

On the Mollard code as a partially robust code

Available online at www.sciencedirect.com Electronic Notes in Discrete Mathematics 57 (2017) 133–138 www.elsevier.com/locate/endm On the Mollard cod...

199KB Sizes 1 Downloads 92 Views

Available online at www.sciencedirect.com

Electronic Notes in Discrete Mathematics 57 (2017) 133–138 www.elsevier.com/locate/endm

On the Mollard code as a partially robust code Darya Kovalevskaya

1,2

Department of Aerospace Computer and Software Systems Saint Petersburg State University of Aerospace Instrumentation Saint Petersburg, Russia

Abstract In this paper a generalization of classic Mollard construction for any code length is given. It is shown that such generalized codes have property of partial robustness. This construction has less undetectable and miscorrected errors than the traditional linear error-correcting codes, just as than the generalized Vasil’ev code for some code parameters, thereby providing better protection against multiple bit errors. Keywords: Mollard code, partially robust code, error detection, error correction.

1

Introduction

Classic linear perfect codes, correcting single and detecting double errors, are usually used to increase the reliability of systems protecting them against soft errors. Such codes guarantee detection for the errors, which multiplicity is less then the code distance d, but detection of errors with multiplicity > d is unpredictable and inefficient. If multiple or repeating errors occur (hard errors, caused by permanent faults) the reliability of memory which protection 1

The research is supported by RD N 2.2716.2014/K ”Development and investigation of reliable methods of storage in the aerospace systems and complexes” 2 Email: [email protected] http://dx.doi.org/10.1016/j.endm.2017.02.023 1571-0653/© 2017 Elsevier B.V. All rights reserved.

134

D. Kovalevskaya / Electronic Notes in Discrete Mathematics 57 (2017) 133–138

is based on classic linear perfect codes cannot be guaranteed. As probability of multiple errors occurrence becomes higher in the presence of new technologies (for example, flash-memory of spacecrafts’ drive effected by space radiation and longstanding operation), some authors ([3]) propose to consider robust codes, which guarantee a certain level of detection of all of the errors. Definition 1.1 A perfect binary code C n ⊂ Fn of length n = 2m − 1, m ≥ 2, 2n with the code distance 3 is a code of power |C n | = n+1 . Definition 1.2 For any code D ⊂ Fn , a detection kernel is the set of always masked (undetectable) errors by all of the codewords: Kerd (D) = {e ∈ Fn |e+ d ∈ D, ∀d ∈ D}. If D is a linear code, Kerd (D) = D. Let AlgD be an error correcting algorithm for D, and Der be a set of errors which AlgD corrects. Definition 1.3 A correction kernel is the set of miscorrected errors: Kerc (D) = {e ∈ Fn |e ∈ / Der , d ∈ D, e ∈ Der , AlgD (e, d) = AlgD (e , d)}. Definition 1.4 If an error is undetected/miscorrected by not all of the codewords, but by some of them (or its detection/correction depends on some conditions) the error is conditionally detectable/miscorrected. The linear perfect binary code of length n – i.e. the Hamming code – is n usually denoted as Hn . So, Kerd (Hn ) = Hn and Kerc (Hn ) = F n \ (Hn ∪Her ), n n where Her = {e ∈ F |wt(e) = 1}. Definition 1.5 A robust code D is a code with Kerd (D) = {0}. There are no undetectable errors for robust codes. As their minimum distance ≤ 1 they cannot be used for the error correction, and have high encoding and decoding complexity as compared with linear codes. In some cases an intermediate variant between robust and linear codes is considered. Definition 1.6 A partially robust code is a systematic (n, 2k , d)-code D, with |Kerd (D)| < 2k . Such codes have undetectable errors, but their number decreases by several orders in comparison with the linear perfect codes. They can be also used for the error correction and have less encoding and decoding complexity than robust codes. Both robust and partially robust codes are connected with nonlinear functions. Let f : Fk → Fs be some function, P r(E) be the probability of the event E occurrence.

D. Kovalevskaya / Electronic Notes in Discrete Mathematics 57 (2017) 133–138

135

Definition 1.7 Measure of the function f nonlinearity can be defined as Pf = maxv∈Fk \{0} maxb∈Fs P r(f (x + v) + f (x) = b). If f is a linear function, then Pf = 1. Also, there exist some nonlinear functions which measure of nonlinearity equals to 1. Definition 1.8 For any code D, the error masking probability is defined as Qmc (D) = maxe∈Ker QD (e), where QD (e) = |{d∈D:d+e∈D}| is the error mask/ d (D) |D| ing probability of e. If C s is any perfect binary code and f : C s → {0, 1} is some boolean function, the set V 2s+1 = {(x+ c, |x| + f (c), x) : x ∈ Fs , c ∈ C s } is a perfect binary code of length 2s+1 with the code distance 3 (Vasil’ev Yu.L., [2]). If f is a nonlinear function, then V 2s+1 is nonlinear code. It is proved in [3] that such V 2s+1 is a partially robust code, |Kerd (V 2s+1 )| = 2s < 22s−log2 (s+1) = |Kerd (H 2s+1 )|, and Qmc (V 2s+1 ) = Pf , if Pf < 1. Also, partially robustness for the generalization of extended Vasil’ev codes V¯ n=a+s+2 is proved in [3]. Such codes exist for any code length n ≥ 4. Bounds for the error masking probability, and number of undetectable and miscorrected errors are also found in that paper. Classic Vasil’ev construction was later generalized by M. Mollard. In this paper, the Mollard construction [1] and its generalization, in respect to their ability to detect multiple errors, are considered.

2

The generalized Mollard construction

An arbitrary vector x ∈ Ftm can be written as x = (x11 , x12 , . . . , x1m , x21 , x22 , . . . , x2m , . . . , xt1 , xt2 , . . . , xtm ). The generalized parity check functions are de fined as p1 (x) = (v1 , v2 , . . . , vt ) ∈ Ft , vi = m x j=1 ij , p2 (x) = (w1 , w2 , . . . , wm ) ∈ t m t m F , wi = i=1 xij . Let A and B be two arbitrary binary codes of length t and m respectively, and the code distance at most 3. Without lost of generality, we assume that both of these codes contain the all-zero vector. Let f : At → Fm be any function. Theorem 2.1 (Mollard M., [1]) A set M n = {(x, a + p1 (x), b + p2 (x) + f (a))|x ∈ Ftm , a ∈ At , b ∈ B m } is a binary code of length n = tm + t + m which minimal distance equals to 3. If At and B m are two perfect binary codes, M n is a perfect binary code. Taking m = 1 in the Mollard construction, one can obtain some Vasil’ev code. But there exist perfect Mollard codes which are not equivalent to the perfect Vasil’ev codes. If f is nonlinear function, the Mollard code is nonlinear one.

136

D. Kovalevskaya / Electronic Notes in Discrete Mathematics 57 (2017) 133–138

Lemma 2.2 If At and B m are systematic perfect codes, the Mollard code M n is systematic. Theorem 2.3 The Mollard code M n=tm+t+m with parameters (tm + t + m, tm+m 2tm+t+m , 3) is a partially robust code with |Kerd (M tm+t+m )| = 2m+1 and tm+t+m+1 Qmc (M tm+t+m ) = Pf , if Pf < 1. The classic Mollard construction can be generalized to build partially robust codes with any given code length n ≥ 4. Let At and B m be arbitrary systematic perfect codes with check matrixes HA and HB , and parameters 2t 2m (t = 2t1 − 1, t+1 , 3) and (m = 2m1 − 1, m+1 , 3) respectively. Without lost of generality, we assume that the first t − t1 bits in any word from At and the first m − m1 bits in any word from B m are the information ones. Denote the information bits of a codeword a ∈ At as ya . 2t

Theorem 2.4 Let f : F t+1 → Fm be an arbitrary nonlinear function, such 2t

that f (0) = 0, Pf < 1, where F t+1 is the information space of the code At . ˆ n = {(x, a + p1 (x, 0), b + p2 (x, 0) + f (ya))|x ∈ Fz , 0 ∈ Ftm−z , 0 < The code M z ≤ tm, a ∈ At , b ∈ B m } is a partially robust code with parameters (z + t + 2z+t+m ˆ n )| = 2z+m and Qmc (M ˆ n ) = Pf . Adding one m, tm+t+m+1 , 3), where |Kerd (M m+1 ˆ n , we get a partially robust code M ¯ n with code linear parity check bit to M ¯ n )| = |Kerd (M ˆ n )|, Qmc (M ¯ n ) = Qmc (M ˆ n ). distance 4, |Kerd (M Results of the Theorems 2.1 - 2.4 hold true if one replaces the classic generalized parity check functions p1 and p2 by linear mappings P1 : Ftm → Ft and P2 : Ftm → Fm such that the code distance of (x, P1 (x), P2 (x)) equals to 2. Also, the classic Mollard construction can be generalized to build robust codes with any given code distance d – one should take P1 and P2 such that the code distance of (x, P1 (x), P2 (x)) equals to d − 1.

3

Memory protection architecture of the extended generalized Mollard code

Purpose of the algorithm is to correct single errors in the information part of the code, and to declare single errors in the redundant part of the code ¯ n , c˜ = (˜ and multiple errors. If c ∈ M c1 , c˜2 , c˜3 , c˜4 ) is the gotten distorted vector, then c = c˜ + e, where e = (e1 , e2 , e3 , e4 ) is the error vector. For localization and correction of errors, define a signature S = (S1 , S2 , S3 ) as follows: S1 = HA (p1 (c˜1 , 0) + c˜2 ), S2 = HB (p2 (c˜1 , 0) + f (y˜a) + c˜3 ), S3 = p(c˜1 ) + p(p1 (c˜1 , 0)) + p(p2 (c˜1 , 0)) + p(c˜2 ) + p(c˜3 ) + p(c˜4 ).

D. Kovalevskaya / Electronic Notes in Discrete Mathematics 57 (2017) 133–138

137

Algorithm 1 Step 1: Compute S = (S1 , S2 , S3 ) for the word c˜. Step 2: If S = 0t1 +m1 +1 , errors are not detected. Otherwise, there exist one or more errors, which is/are detected. Step 3: If S3 = 0 and S1 = 0t1 or/and S2 = 0m1 , errors of even multiplicity are detected. Step 4: If S3 = 1, S2 = 0m1 , S1 = 0t1 , then e4 = 1 and a single bit error at the z + t + m + 1-bit of the code occurred. Step 5: If S3 = 1, S1 = 0t1 , S2 = hkB (the k-th column of HB ), a single bit error at c3 or errors of odd multiplicities are detected. a) If k ≤ m − m1 , switch the (z + t + k)-bit of c, recalculate S2 . If S2 = 0, the single error at the (z + t + k)-bit of c is detected and corrected. Else, errors of odd multiplicities are detected. b) If k > m − m1 , an error occurred at redundant bits. Step 6: If S3 = 1, S1 = hiA (i.e. the i-th column of HA ), S2 = 0, a single bit error at c2 or multiple errors are detected. a) If i ≤ t − t1 , switch the z + i-bit of c, recalculate S1 and S2 . If S1 = 0t1 and S2 = 0m1 , the single error at the i-bit of c2 – i.e. at the (z + i)-bit of c – is detected and successfully corrected. Else, multiple errors occurred at c2 . b) If i > t − t1 , an error occurred at redundant bits.   Step 7: If S3 = 1, S2 = hjB , S1 = hiA , a single bit error at one of {1, . . . , z + t}bits or multiple errors are detected. a) If 1 ≤ (i − 1)m + j  ≤ t − t1 ≤ z or 1 ≤ (i − 1)m + j  ≤ z ≤ t − t1 , switch the i = (i − 1)m + j  -bit of c, recalculate S1 and S2 . If S1 = 0t1 and S2 = 0m1 , the single error at the i-coordinate of c is detected and successfully corrected. Otherwise, switch the i -bit of c2 , recalculate S1 and S2 . If S1 = 0t1 and S2 = 0m1 , the single error at the (z + i)-bit of c is detected and successfully corrected. b) If 1 ≤ z ≤ (i − 1)m + j  ≤ t − t1 , switch the i -bit of c2 , recalculate S1 and S2 . If S1 = 0t1 and S2 = 0m1 , the single error at the (z + i)-coordinate of c is detected and successfully corrected. Otherwise, multiple errors occurred. c) If 1 ≤ t − t1 ≤ (i − 1)m + j  ≤ z, switch the i = (i − 1)m + j  -bit of c, recalculate S1 and S2 . If S1 = 0t1 and S2 = 0m1 , the single error at the i-bit of c is detected and successfully corrected. Otherwise, a single error at redundant bits or multiple errors occurred. d) If 1 ≤ t − t1 ≤ z ≤ (i − 1)m + j  or 1 ≤ z ≤ t − t1 ≤ (i − 1)m + j  , a single error at redundant bits or multiple errors occurred. In all the other cases, multiple errors of odd multiplicity ≥ 3 are detected.

¯ n=z+m+t+1 is built by means of a nonlinear function Theorem 3.1 Let M f , where f (0) = 0, Pf < 1. Let, also, kA and kB be the dimensions of

138

D. Kovalevskaya / Electronic Notes in Discrete Mathematics 57 (2017) 133–138

2 the codes At and B m respectively. There are 2z ( t+1 − 1) conditionally dez+m 2 tectable and m+1 undetectable errors. If only errors occurred to the information part of the code are corrected, the number of conditionally miscorrected errors is kA kB · 2z+kA (2kB − 1), and the number of miscorrected errors is kA (2z+kA+m − 1) + kB 2z+kB − z. Conditionally detectable error masking probability and miscorrected errors miscorrection probability are limited by Pf . t

4

Conclusion

¯ n , just as the code V¯ n , is a partially robust code which corrects The code M all the single errors and detects all the multiple errors with some probability. ¯n = M ¯ z+m+t+1 and V¯ n = V¯ a+s+2 be the generalized Theorem 4.1 Let M Mollard code and the generalized Vasil’ev code respectively. ¯ n is m+1 times smaller than the number • The number of masked errors of M 2 log n of masked errors of V¯ n , if t = 2log2 n − 1 and m = 2log2 (n−2 2 ) − 1. At ¯ n |. the same time, |V¯ n | = m+1 · |M 2 ¯ n is greater than the number of masked • The number of masked errors of M n [log (n−1)] errors of V¯ , while t < 2 2 . ¯ n is less than the number of mis• The number of miscorrected errors of M n log n corrected errors of V¯ , while t < 2 2 − 1 and a > s − log2 (s + 1). At the ¯ n | ≤ |V¯ n |. same time, |M For some parameters, the Mollard code has less undetectable and miscorrected errors (and power) than the Vasil’ev code. The class of different Mollard codes is greater than the class of different Vasil’ev codes what provide some additional advantages to using the extended generalized Mollard codes.

References [1] Mollard M., A generalized parity function and its use in the construction of perfect codes, SIAM J. Alg. Disc. Meth. 7.1 (1986), 113 – 115. [2] Vasil’ev Yu.L., On nongroup close-packed codes, Problems of Cybernetics 8 (1963), 337 – 339. [3] Wang Z., Karpovsky M., and K.J.Kulikowski, Replacing Linear Hamming Codes by Robust Nonlinear Codes Results in a Reliability Improvement of Memories, Proceedings of IEEE/IFIP International Conference on Dependable Systems and Networks (2009), 514 – 523.