You are on page 1of 34

Error-Trapping Decoding for Cyclic Codes

over Symbol-Pair Read Channels

Makoto Takita†, Masanori Hirotomo ‡, Masakatu Morii†


†Kobe University, ‡Saga University

November 2, 2016
ISITA2016@Monterey
Outline 1
• Introduction
• Symbol-pair read channel
• Error-trapping decoding over the Hamming metric channel
• Error-trapping decoding over symbol-pair read channel
• We show the conditions that pair errors are trapped
• The decoder is constructed by simple logic circuit
• Conclusion
Background 2
• High-density data storages are required
• Distance of symbols is close in storage application
• On each reading operation, two consecutive symbols are read

• Symbol-pair read channels[1]


• Cassuto and Blaum, ISIT 10’
• Outputs are overlapping pairs of symbols

Outputs
1 0 0 1 0 1 (1,0), (0,0), (0,1), …

• Decoding problem over symbol-pair read channels


• Some decoding algorithms are proposed [1],[4],[5]
• More efficient decoding algorithms are required
Purpose 3
Efficient decoding algorithms for pair error correcting

• We combine two existing decoding methods


• The syndrome decoding of symbol-pair codes[5]
• Two kinds of syndromes are unique for each pair error pattern
• Large decoding table is needed for long codes
• The error-trapping decoding for cyclic codes[8]
• It is known as an efficient decoding method using the syndrome
• It is constructed by simple logic circuit

We propose new error-trapping decoding for cyclic codes


over symbol-pair read channel
• put some restrictions on the correctable pair error patterns
• Improved decoding algorithm reduced the restriction
Symbol pair read vector 4
• The symbol pair read vector of 𝒙 = 𝑥0 , 𝑥1 , … 𝑥𝑛−1 ∈ 0,1 𝑛 is
𝜋 𝒙 = 𝑥0 , 𝑥1 , 𝑥1 , 𝑥2 , … , 𝑥𝑛−1 , 𝑥0
• The received pair vector of the result of reading 𝒙 is
𝒖= 𝑢𝑙,0 , 𝑢𝑟,1 , 𝑢𝑙,1 , 𝑢𝑟,2 , … , 𝑢𝑙,𝑛−1 , 𝑢𝑟,0
• The conflict position
• If received pair vector suffers from errors, 𝑢𝑟,𝑖 and 𝑢𝑙,𝑖 may be different
• If 𝑢𝑟,𝑖 ≠ 𝑢𝑙,𝑖 , the two adjacent pairs are in conflict
Example:
𝒖= 1,1 , 1,0 , 1,0 , 0,0 , 0,1

𝑢𝑟,2 ≠ 𝑢𝑙,2
conflict positon is 2
Pair error 5
• 𝑡-pair error
• 𝑡 is the number of elements in 𝑖: 𝑢𝑙,𝑖 , 𝑢𝑟,𝑖+1 ≠ 𝑥𝑖 , 𝑥𝑖+1
• Note that 𝑎, 𝑏 = 𝑐, 𝑑 if both 𝑎 = 𝑐 and 𝑏 = 𝑑

Example:
Reading 𝒙 = 1,0,1,0
pair vector 𝜋 𝒙 = 1,0 , 0,1 , 1,1 , 1,1

Received pair vector 𝒖= 1,0 , 1,0 , 1,0 , 1,1


2-pair errors
Pair distance and correctability 6
• Pair distance of 𝒖, ി
𝒗 ∈ 0,1 𝑛

𝐷𝑝 𝒖, ി
𝒗 = 𝑖: 𝑢𝑙,𝑖 , 𝑢𝑟,𝑖+1 ≠ 𝑣𝑙,𝑖 , 𝑣𝑟,𝑖+1
• Pair weight of 𝒖 ∈ 0,1 𝑛

𝑊𝑝 𝒖 = 𝑖: 𝑢𝑙,𝑖 , 𝑢𝑟,𝑖+1 ≠ 0,0


• Minimum pair distance of a code 𝐶 ⊂ 0,1 𝑛

𝑑𝑝 = min 𝐷𝑝 𝜋 𝒙 , 𝜋 𝒚
𝒙,𝒚∈𝐶,𝒙≠𝒚
• Pair error correcting capability of a code 𝐶 ⊂ 0,1 𝑛

𝑑𝑝 − 1
𝑡𝑝 =
2
Syndrome decoding of symbol-pair codes 7
• We define two kinds of syndromes of symbol-pair codes[5]

• Symbol-pair syndrome ി
𝑠(𝑥) = 𝑠𝐿 𝑥 , 𝑠𝑅 𝑥
𝑠𝐿 𝑥 ≜ 𝑢𝐿 mod 𝑔 𝑥
𝑠𝑅 𝑥 ≜ 𝑢𝑅 mod 𝑔 𝑥
• Neighbor-symbol syndrome 𝑆(𝑥) represents conflict positions
𝑆 𝑥 = 𝑢𝐿 𝑥 + 𝑥𝑢𝑅 𝑥 mod 𝑥 𝑛 − 1
• These syndromes are unique for each pair error pattern
with 𝑡𝑝 or fewer errors

• Large decoding table is needed for long codes


Error-trapping decoding[8] 8
• Decoding method for cyclic codes
• For an 𝑛, 𝑘 cyclic code, it corrects any error patterns with 𝑡 or
fewer errors that confined to 𝑛 − 𝑘 consecutive positions
Code length 𝑛

𝑛 − 𝑘 consecutive positions

Received codeword 𝑡 or fewer errors


Cyclic shift

𝑡 or fewer errors

𝑛 − 𝑘 low-order positions

• If errors are confined to 𝑛 − 𝑘 low-order positions,


the error pattern is equals the syndrome
This work 9
• Syndrome decoding over symbol-pair read channels
• Large decoding table is needed for long codes

• Error-trapping decoding over Hamming metric channels


• It does not need decoding table
• The decoder is constructed by simple logic circuit

• Error-trapping decoding over symbol-pair read channels


• On a 𝑡𝑝 -pair error correcting 𝑛, 𝑘 cyclic code, it corrects any pair error
patterns within 𝑡𝑝 pair errors that confined to 𝑛 − 𝑘 consecutive pairs
• Improved Error-trapping decoding over symbol-pair read channels
• Reduce the restriction that all of the pair errors are confined to 𝑛 − 𝑘
consecutive pairs
• Increase time complexity and need additional circuit
Error-trapping decoding
over symbol-pair read channels 10

If the number of pair errors in 𝑢


ി 𝑥 is 𝑡𝑝 or less and they are confined to
𝑛 − 𝑘 consecutive pairs, the pair error pattern is uniquely determined by the
symbol-pair syndrome ി 𝑠 𝑥 only when ി 𝑠 𝑥 satisfies the following conditions.
Condition 1. The pair weight of ി
𝑠 𝑥 is 𝑡𝑝 or less.
Condition 2. The conflict positions of ി
𝑠 𝑥 equal the 𝑛 − 𝑘 low-order
positions of 𝑆 𝑥 calculated from 𝑢
ി𝑥 .

• On the conventional error-trapping decoding over the Hamming metric


channel,
the error pattern is determined if the Hamming weight of syndrome is 𝑡 or less.
• On the error-trapping decoding over symbol-pair read channel,
we need two conditions to determine the pair error pattern.
Example: (7,4) cyclic Hamming code 11
(7,4) cyclic Hamming code with 𝑔 𝑥 = 1 + 𝑥 + 𝑥 3
• Reading all-zero codeword…
The received polynomial: ി 𝑥 = 1,1 𝑥 4 + 1,1 𝑥 6
𝑢
The symbol-pair syndrome: ി
𝑠 𝑥 = 1,1 + 1,1 𝑥
The neighbor-symbol syndrome: 𝑆 𝑥 = 1 + 𝑥4
• Only Condition 1…
ി
𝑠 𝑥 = 1,1 + 1,1 𝑥 satisfies Condition 1.
So, the pair error pattern is ി
𝑒 𝑥 = 1,1 + 1,1 𝑥.
It is the miscorrection.

• Both of Condition 1 and Condition 2…


ി
𝑠 𝑥 = 1,1 + 1,1 𝑥 satisfies Condition 1.
But, ി
𝑠 𝑥 does not satisfy Condition 2.
𝑠 𝑥 is 1 + 𝑥 2 .
Because the conflict positions of ി
So, we avoid the miscorrection.
Example: (7,4) cyclic Hamming code 12
• Reading all-zero codeword…
The received polynomial: ി 𝑥 = 1,1 𝑥 4 + 1,1 𝑥 6
𝑢

• After 3 times of cyclic shift…


The received polynomial: ി 3 𝑥 = 1,1 + 1,1 𝑥 2
𝑢
The symbol-pair syndrome: 𝑠 3 𝑥 = 1,1 + 1,1 𝑥 2
ി
The neighbor-symbol syndrome: 𝑆 3 𝑥 = 1 + 𝑥3

• Examine Condition 1 and Condition 2…


𝑠 3 𝑥 = 1,1 + 1,1 𝑥 2 satisfies Condition 1.
ി
𝑠 3 𝑥 satisfies Condition 2, because the conflict positions of ി
ി 𝑠 𝑥 is 1 + 𝑥 3 .
𝑒 3 𝑥 = 1,1 + 1,1 𝑥 2
So, the pair error pattern is ി
It is the successful decoding.
Proposed error-trapping decoding algorithm 13
Input: Received polynomial 𝑢
ി 𝑥 = 𝑢𝐿 𝑥 , 𝑢𝑅 𝑥
Output: Corrected code polynomial 𝑐Ƹ 𝑥 or failure symbol 𝐹

Step 1. Calculate symbol-pair syndrome ി


𝑠 𝑥 and neighbor-symbol syndrome 𝑆 𝑥 .
Step 2. Examine ി
𝑠 𝑥 whether it satisfies Condition 1 and 2.
If it satisfies both of Condition 1 and 2, go to Step 5.
Otherwise, 𝑗 ≔ 0 and go to Step 3.
Step 3. cyclically shift 𝑢 𝑠 (𝑗+1) 𝑥
ി 𝑥 to the right, and calculate symbol-pair syndrome ി
and neighbor-symbol syndrome 𝑆 𝑗+1 𝑥 .
If 𝑗 = 𝑛, output failure symbol 𝐹 and terminate this algorithm.
𝑠 (𝑗+1)whether it satisfies Condition 1 and 2.
Step 4. Examine ി
If it satisfies both of Condition 1 and 2, go to Step 5.
Otherwise, 𝑗 ≔ 𝑗 + 1 and return to Step 3.
Step 5. Calculate 𝜋 𝑐Ƹ 𝑥 ≔𝑢 ി 𝑥 + 𝑥 𝑛−𝑗ി 𝑠𝑗 𝑥 .
Output 𝑐Ƹ 𝑥 𝐹 and terminate this algorithm.
Proposed error-trapping decoding algorithm 14
Input: Received polynomial 𝑢
ി𝑥

Step 1. Calculate two kinds of syndromes of 𝑢


ി𝑥
Symbol-pair syndrome ി
𝑠 𝑥 Neighbor-symbol syndrome 𝑆 𝑥

Step 2. 𝑠 𝑥 ≤ 𝑡𝑝 ?
Condition 1. ി
𝑠 𝑥 equals low-order positions of 𝑆 𝑥 ?
Condition 2. conflict positions of ി
Conflict position of ി
𝑠 𝑥
or
low-order positions of 𝑆 𝑥

If ി
𝑠 𝑥 satisfies both of Condition 1 and 2, go to Step 5.
Otherwise, 𝑗 ≔ 0 and go to Step 3.

Step 3. Cyclic shift 𝑢


ി𝑥 Received polynomial 𝑢
ി𝑥
ി 𝑗+1 𝑥
Calculate two kinds of syndromes of 𝑢
ി 𝑗+1 𝑥
𝑢
Proposed error-trapping decoding algorithm 15
Step 4. 𝑠 𝑗+1 𝑥 ≤ 𝑡𝑝 ?
Condition 1. ി
𝑠 𝑗+1 𝑥 equals low-order positions of 𝑆
Condition 2. conflict positions of ി 𝑗+1 𝑥 ?
𝑠 𝑗+1 𝑥
Conflict position of ി
or
𝑗+1
low-order positions of 𝑆 𝑥

𝑠 𝑗+1 𝑥 satisfies both of Condition 1 and 2, go to Step 5.


If ി
Otherwise, 𝑗 ≔ 𝑗 + 1 and return to Step 3.

Step 5. Calculate 𝜋 𝑐Ƹ 𝑥 ി 𝑥 + 𝑥 𝑛−𝑗ി


≔𝑢 𝑠𝑗 𝑥 .

Received polynomial 𝑢
ി𝑥

𝑥 𝑛−𝑗 𝑠ി 𝑗 𝑥

𝜋 𝑐Ƹ 𝑥

Output: 𝑐Ƹ 𝑥
Proposed error-trapping decoder 16
Input
Output
𝑢𝐿 𝑥 Neighbor-symbol syndrome
𝑢𝑅 𝑥 calculation circuit

Neighbor-symbol syndrome

Symbol-pair syndrome
calculation circuit
・・・
Threshold gate 1 Threshold gate 2

• Threshold gate 1 examines Condition 1.


• Threshold gate 2 examines Condition 2.
Proposed error-trapping decoder 17
Input
Output
𝑢𝐿 𝑥 Neighbor-symbol syndrome
𝑢𝑅 𝑥 calculation circuit

Neighbor-symbol syndrome

Symbol-pair syndrome
calculation circuit
・・・
Threshold gate 1 Threshold gate 2

• Threshold gate 1 examines Condition 1.


• Threshold gate 2 examines Condition 2.
Neighbor-symbol syndrome calculation circuit 18

𝑢𝐿 𝑥 𝑛-bit buffer register



Gate 1
𝑛-bit buffer register
𝑢𝑅 𝑥 𝑛-bit buffer register
⋯ ⋯
Neighbor-symbol syndrome
Gate 2

from first bit to 𝑛 − 1 -th bit: Gate 1 on, Gate 2 off


at 𝑛-th bit: Gate 1 off, Gate 2 on
Proposed error-trapping decoder 19
Input
Output
𝑢𝐿 𝑥 Neighbor-symbol syndrome
𝑢𝑅 𝑥 calculation circuit

Neighbor-symbol syndrome

Symbol-pair syndrome
calculation circuit
・・・
Threshold gate 1 Threshold gate 2

• Threshold gate 1 examines Condition 1.


• Threshold gate 2 examines Condition 2.
Symbol-pair syndrome calculation circuit
and Threshold gate 1 20
Syndrome register
𝑢𝐿 𝑥

Syndrome register
𝑢𝑅 𝑥

Threshold gate 1: Examining Condition 1

Condition 1. The pair weight of ി


𝑠 𝑥 is 𝑡𝑝 or less.
• Threshold gate 1 examines Condition 1
Proposed error-trapping decoder 21
Input
Output
𝑢𝐿 𝑥 Neighbor-symbol syndrome
𝑢𝑅 𝑥 calculation circuit

Neighbor-symbol syndrome

Symbol-pair syndrome
calculation circuit
・・・
Threshold gate 1 Threshold gate 2

• Threshold gate 1 examines Condition 1.


• Threshold gate 2 examines Condition 2.
Threshold gate 2 22
Syndrome register

𝑢𝐿 𝑥

Neighbor-symbol syndrome

⋯ ⋯ ⋯

Syndrome register

𝑢𝑅 𝑥

⋯ ⋯

Threshold gate2: Examining Condition 2

Condition 2. The conflict positions of ി


𝑠 𝑥 equal
the 𝑛 − 𝑘 low-order positions of 𝑆 𝑥 calculated from 𝑢
ി𝑥 .
• Threshold gate 2 outputs “1”, when all of inputs are “0”.
Example: (7,4) cyclic Hamming code 23
Example 24
• 2-pair error correcting (7,4) cyclic Hamming code
• By error-trapping decoding, it corrects any pair error patterns with 2 or 1 pair
errors that confined to 3 consecutive position.
Pair error pattern 𝑒𝑙,0 , 𝑒𝑟,1 𝑒𝑙,1 , 𝑒𝑟,2 𝑒𝑙,2 , 𝑒𝑟,3 𝑒𝑙,3 , 𝑒𝑟,4 𝑒𝑙,4 , 𝑒𝑟,5 𝑒𝑙,5 , 𝑒𝑟,6 𝑒𝑙,6 , 𝑒𝑟,0

Pair error No error

Correctable

Uncorrectable

• There are some uncorrectable pair error patterns


→ Improved error-trapping decoding
• Reduce the restriction return to additional calculation
Improved Error-Trapping Decoding over
Symbol-Pair Read Channels 25
• Improved Error-Trapping decoding
• Reduce the restriction that all of the pair errors are confined to 𝑛 − 𝑘
consecutive pairs
• Increase time complexity and need additional circuit

• (7,4) cyclic Hamming code can correct all pair error pattern
with 2 or fewer pair errors

Correctable
Improved error-trapping decoder 26
Input
Output
𝑢𝐿 𝑥 Neighbor-symbol syndrome
𝑢𝑅 𝑥 calculation circuit

Neighbor-symbol syndrome

Symbol-pair syndrome
calculation circuit
・・・
Threshold gate 1 Threshold gate 2

Additional circuit
Conclusion 27
We proposed new error-trapping decoding for cyclic codes
over symbol-pair read channel
• Show conditions that pair errors are trapped
• It corrects any pair error patterns with 𝑡𝑝 or fewer pair errors that confined to
𝑛 − 𝑘 consecutive pairs
• Proposed decoding algorithm and designed decoding circuit

Improved error-trapping decoding over symbol-pair read channel


• Reduce the restriction that all of the pair errors are confined to 𝑛 − 𝑘
consecutive pairs
• Increase time complexity and need additional circuit
• (7,4) cyclic Hamming code corrects all pair error pattern with 2 or 1 pair errors
28
Decoding algorithms 29
• Cassuto and Blaum [1]
• Reducing the pair error decoding problem to the erasure and error
decoding problem in the Hamming metric
• Yaakobi, Bruck, and Siegel [4]
• By using decoder of cyclic code three times
• Reducing the pair error decoding problem to the error decoding problem
in the Hamming metric
• Our [5]
• Syndrome decoding
• Define two kinds of syndrome for codes over symbol-pair read channels
• This work
• Error-trapping decoding for cyclic codes over symbol-pair read channels
• Propose decoding algorithm and constitute an error-trapping decoder
• It uses two kinds of syndromes
Error-trapping decoding 30
• Decoding method for cyclic codes
• On an 𝑛, 𝑘 cyclic code, any error patterns with 𝑡 or fewer errors
that confined to 𝑛 − 𝑘 consecutive positions are correctable
𝑔(𝑥) is generator polynomial, 𝑐 𝑥 is code polynomial, 𝑒 𝑥 is error pattern and
𝑢 𝑥 = 𝑐 𝑥 + 𝑒 𝑥 is received polynomial
If errors are confined to 𝑛 − 𝑘 low-older positions,
𝑒 𝑥 = 𝑒0 + 𝑒1 𝑥 + ⋯ 𝑒𝑛−𝑘−1 𝑥 𝑛−𝑘−1
Then, the syndrome is
𝑠 𝑥 = 𝑢 𝑥 mod 𝑔 𝑥
= 𝑐 𝑥 + 𝑒 𝑥 mod 𝑔 𝑥
= 𝑒 𝑥 mod 𝑔 𝑥 ∵ 𝑐 𝑥 mod 𝑔 𝑥 = 0
=𝑒 𝑥 ∵ deg 𝑒 𝑥 ≤ deg 𝑔 𝑥
If errors are confined to 𝑛 − 𝑘 consecutive positions, the errors are confined to
𝑛 − 𝑘 low-older positions by cyclically shift
Theorem 1 31
• If pair errors are confined to 𝑛 − 𝑘 low-order positions…
Condition 1. The pair weight of ി
𝑠 𝑥 is 𝑡𝑝 or less.
𝑛−𝑘

Received polynomial 𝑢
ി𝑥 𝑡𝑝 or fewer pair errors

Symbol-pair syndrome ി
𝑠 𝑥 𝑡𝑝 or fewer pair errors

Condition 2. The conflict positions of ി


𝑠 𝑥 equal
the 𝑛 − 𝑘 low-order positions of 𝑆 𝑥 calculated from ി
𝑢 𝑥 .
Neighbor-symbol syndrome 𝑆 𝑥 Conflict positions

Conflict positions of ി
𝑠 𝑥 Conflict positions

• If pair errors are confined to 𝑛 − 𝑘 consecutive positions,


pair error will be confined to 𝑛 − 𝑘 low-order positions by cyclic shift
Symbol-pair syndrome calculation circuit
and Threshold gate 1 32
Syndrome register
𝑢𝐿 𝑥

Syndrome register
𝑢𝑅 𝑥

Threshold gate 1: Examining Condition 1

Condition 1. The pair weight of ി


𝑠 𝑥 is 𝑡𝑝 or less.
• Calculate symbol-pair syndrome and examine Condition 1
Threshold gate 2 33
Syndrome register

𝑢𝐿 𝑥

Neighbor-symbol syndrome

⋯ ⋯ ⋯

Syndrome register

𝑢𝑅 𝑥

⋯ ⋯

Threshold gate2: Examining Condition 2

Condition 2. The conflict positions of ി


𝑠 𝑥 equal
the 𝑛 − 𝑘 low-order positions of 𝑆 𝑥 calculated from 𝑢
ി𝑥 .
• Examine Condition 2

You might also like