Codes Correcting Synchronization Errors for Symbol-Pair Read - - PowerPoint PPT Presentation

codes correcting synchronization errors for symbol pair
SMART_READER_LITE
LIVE PREVIEW

Codes Correcting Synchronization Errors for Symbol-Pair Read - - PowerPoint PPT Presentation

Codes Correcting Synchronization Errors for Symbol-Pair Read Channels Presented by: Van Khu Vu(isevvk@nus.edu.sg) Joint work with Yeow Meng Chee National University of Singapore June 2020 Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes


slide-1
SLIDE 1

Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

Presented by: Van Khu Vu(isevvk@nus.edu.sg)

Joint work with Yeow Meng Chee National University of Singapore

June 2020

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-2
SLIDE 2

Symbol-Pair Read Channels

Definition 1. [Cassuto and Blaum 2011]

◮ Let x = (x1, x2, . . . , xn) ∈ Σn be a sequence of length n over the

alphabet Σ. We define the pair-mapping, π : Σn → (Σ, Σ)n, where π(x) = ((x1, x2), . . . , (xn−1, xn), (xn, x1)). The pair-vector π(x) is called the symbol-pair read vector of x.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-3
SLIDE 3

Symbol-Pair Read Channels

Definition 1. [Cassuto and Blaum 2011]

◮ Let x = (x1, x2, . . . , xn) ∈ Σn be a sequence of length n over the

alphabet Σ. We define the pair-mapping, π : Σn → (Σ, Σ)n, where π(x) = ((x1, x2), (x2, x3), . . . , (xn−1, xn), (xn, x1)). The pair-vector π(x) is called the symbol-pair read vector of x.

◮ A pair-vector v ∈ (Σ, Σ)n is called consistent if there exists its

corresponding vector, denoted x ∈ Σn, such that π(x) = v.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-4
SLIDE 4

Symbol-Pair Read Channels

Example

◮ Let x = (0, 1, 0, 0, 1) be a binary word of length 5. The pair-vector

π(x) = ((0, 1), (1, 0), (0, 0), (0, 1), (1, 0)) is called the symbol-pair read vector of x.

◮ The pair-vector v = ((0, 1), (0, 0), (0, 1), (1, 0)) is NOT consistent.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-5
SLIDE 5

Racetrack Memory with Two Adjacent Heads

c1 c2 c3 c4 c5 c6 c7 c8 Head 1 :c1 Head 2 :c2

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-6
SLIDE 6

Racetrack Memory with Two Adjacent Heads

c1 c2 c3 c4 c5 c6 c7 c8 Head 1 :c1, c2 Head 2 :c2, c3

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-7
SLIDE 7

Racetrack Memory with Two Adjacent Heads

c1 c2 c3 c4 c5 c6 c7 c8 Head 1 :c1, c2, . . . , c7 Head 2 :c2, c3, . . . , c8

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-8
SLIDE 8

Racetrack Memory with Two Adjacent Heads

c1 c2 c3 c4 c5 c6 c7 c8 Head 1 :c1, c2, . . . , c7 Head 2 :c2, c3, . . . , c8

◮ The pair-vector π(c) = ((c1, c2), (c2, c3), . . . , (c7, c8)) is the output

in two heads.

◮ The stored vector c = (c1, c2, . . . , c8).

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-9
SLIDE 9

Under-shift Error

c1 c2 c3 c4 c5 c6 c7 c8 Head 1 :c1 Head 2 :c2

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-10
SLIDE 10

Under-shift Error

c1 c2 c3 c4 c5 c6 c7 c8 Head 1 :c1, c1 Head 2 :c2, c2

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-11
SLIDE 11

Under-shift Error

c1 c2 c3 c4 c5 c6 c7 c8 Head 1 :c1, c1, c2 Head 2 :c2, c2, c3

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-12
SLIDE 12

Under-shift Error

c1 c2 c3 c4 c5 c6 c7 c8 Head 1 :c1, c1, c2, . . . , c7 Head 2 :c2, c2, c3, . . . , c8

◮ The pair-vector u = ((c1, c2), (c1, c2), (c2, c3), . . . , (c7, c8)) is the

  • utput in two heads.

◮ The error in this case is a sticky-insertion of a pair.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-13
SLIDE 13

Over-shift Error

c1 c2 c3 c4 c5 c6 c7 c8 Head 1 :c1 Head 2 :c2

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-14
SLIDE 14

Over-shift Error

c1 c2 c3 c4 c5 c6 c7 c8 Head 1 :c1, c3 Head 2 :c2, c4

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-15
SLIDE 15

Over-shift Error

c1 c2 c3 c4 c5 c6 c7 c8 Head 1 :c1, c3, . . . , c7 Head 2 :c2, c4, . . . , c8

◮ The pair-vector v = ((c1, c2), (c3, c4), . . . , (c7, c8)) is the output in

two heads.

◮ The error in this case is a deletion of a pair.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-16
SLIDE 16

Errors for Symbol-pair Read Channels

Definition 2. Given a pair-vector π(x) = ((x1, x2), . . . , (xn, x1)) ∈ (Σ, Σ)n.

◮ A deletion is an event that a pair (xi, xi+1) is deleted from the

pair-vector.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-17
SLIDE 17

Errors for Symbol-pair Read Channels

Definition 2. Given a pair-vector π(x) = ((x1, x2), . . . , (xn, x1)) ∈ (Σ, Σ)n.

◮ A deletion is an event that a pair (xi, xi+1) is deleted from the

pair-vector.

◮ Two deletions are called separate-deletions if they are not adjacent.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-18
SLIDE 18

Errors for Symbol-pair Read Channels

Definition 2. Given a pair-vector π(x) = ((x1, x2), . . . , (xn, x1)) ∈ (Σ, Σ)n.

◮ A deletion is an event that a pair (xi, xi+1) is deleted from the

pair-vector.

◮ Two deletions are called separate-deletions if they are not adjacent. ◮ A sticky-insertion is an event that a pair (xi, xi+1) is inserted at

location i + 1, right after the original pair (xi, xi+1) in the pair-vector. It is also known as repetition or duplication.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-19
SLIDE 19

Errors for Symbol-pair Read Channels

Definition 2. Given a pair-vector π(x) = ((x1, x2), . . . , (xn, x1)) ∈ (Σ, Σ)n.

◮ A deletion is an event that a pair (xi, xi+1) is deleted from the

pair-vector.

◮ Two deletions are called separate-deletions if they are not adjacent. ◮ A sticky-insertion is an event that a pair (xi, xi+1) is inserted at

location i + 1, right after the original pair (xi, xi+1) in the pair-vector. It is also known as repetition or duplication.

◮ A substitution is an event that a bit xi is read wrongly in one head

and become x′

i = xi.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-20
SLIDE 20

Errors for Symbol-pair Read Channels

Example

Let x = (0, 1, 0, 0, 1, 0, 0, 0) be a stored sequence. The symbol-pair read sequence of x is π(x) = ((0, 1), (1, 0), (0, 0), (0, 1), (1, 0), (0, 0), (0, 0), (0, 0)).

◮ If there are two separate-deletions at location i = 2 and j = 6, we

  • btain the pair-vector u = ((0, 1), (0, 0), (0, 1), (1, 0), (0, 0), (0, 0)).

◮ If there is a substitution at the second bit in the second pair and a

deletion at location 6, we obtain the pair-vector v = ((0, 1), (1, 1), (0, 0), (0, 1), (1, 0), (0, 0), (0, 0)).

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-21
SLIDE 21

Main Contributions

GOALS:

◮ Construct a good code correcting multiple deletions.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-22
SLIDE 22

Main Contributions

GOALS:

◮ Construct a good code correcting multiple deletions. ◮ Construct a good code correcting a combination of deletions and

substitutions.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-23
SLIDE 23

Main Contributions

Theorem

There exists an asymptotically optimal code correcting t separate-deletions in the symbol-pair read channel with redundancy at most t log n + o(t log n).

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-24
SLIDE 24

Main Contributions

Theorem

There exists an asymptotically optimal code correcting t separate-deletions in the symbol-pair read channel with redundancy at most t log n + o(t log n).

Lemma

Given t > 1, let Ct ⊂ Σn be a code correcting t sticky-insertions. The code Ct can correct t separate-deletions in the symbol-pair read channel.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-25
SLIDE 25

Main Contributions

Example

Let c = (0, 0, 1, 1, 0, 1, 0, 0, 1) ∈ C2. So, π(c) = ((0, 0), (0, 1), (1, 1), (1, 0), (0, 1), (1, 0), (0, 0), (0, 1), (1, 0)). Assume that we receive v = ((0, 0), (1, 1), (1, 0), (0, 1), (1, 0), (0, 1), (1, 0)). We observe that v is not consistent at the first two pairs (0, 0) and (1, 1). We can correct the first error to obtain the consistent pair vector v ′ = ((0, 0), (0, 1), (1, 1), (1, 0), (0, 1), (1, 0), (0, 1), (1, 0)). So, π−1(v ′) = (0, 0, 1, 1, 0, 1, 0, 1). Since we can obtain c from π−1(v ′) by a sticky insertion and c ∈ C2 which can correct a single sticky-insertion/deletion. And thus, we can recover c = (0, 0, 1, 1, 0, 1, 0, 0, 1).

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-26
SLIDE 26

Main Contributions

Theorem

There exists an asymptotically optimal code correcting t separate-deletions in the symbol-pair read channel with redundancy at most t log n + o(t log n).

Remark

◮ The best known code correcting t deletions in the classical deletion

channel requires at least 8t log n + o(t log n) bits of redundancy [Sima and Bruck (2019)].

◮ The complexity of encoding/decoding algorithms of our proposed

codes is at most O(n log n log log n) while the complexity of encoding/decoding algorithms of previous known codes is O(n2t+1).

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-27
SLIDE 27

Main Contributions

Corollary

There exists an asymptotically optimal code correcting two random deletions in the symbol-pair read channel with redundancy at most 4 log n + o(t log n).

Remark

The best known code correcting two deletions in the classical deletion channel requires at least 7 log n + o(t log n) bits of redundancy.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-28
SLIDE 28

Main Contributions

Theorem

There exists an asymptotically optimal code correcting a combination of

  • ne deletion and one substitution in the symbol-pair read channel with

redundancy at most 3 log n + o(log n).

Remark

The best known codes correcing a single deletion and a single substitution in the classical channel requires redundancy at least 24 log n or 6 log n + 8.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels

slide-29
SLIDE 29

THANK YOU

THANK YOU FOR YOUR ATTENTION.

Presented by: Van Khu Vu(isevvk@nus.edu.sg) Codes Correcting Synchronization Errors for Symbol-Pair Read Channels