A Deliberate Bit Flipping Coding Scheme for
DataDependent TwoDimensional Channels
Item Type Article
Authors Bahrami, Mohsen; Vasic, Bane
Citation Bahrami, M., & Vasić, B. (2019). A deliberate bit flipping coding
scheme for datadependent twodimensional channels. IEEE
Transactions on Communications.
DOI 10.1109/tcomm.2019.2957086
Publisher Institute of Electrical and Electronics Engineers (IEEE)
Journal IEEE TRANSACTIONS ON COMMUNICATIONS
Rights © 2019 IEEE.
Download date 10/08/2022 02:32:19
Item License http://rightsstatements.org/vocab/InC/1.0/
Version Final accepted manuscript
Link to Item http://hdl.handle.net/10150/641490
1
A Deliberate Bit Flipping Coding Scheme for
DataDependent TwoDimensional Channels
Mohsen Bahrami, Student Member, IEEE, and Bane Vasi
´
c, Fellow, IEEE
Abstract—In this paper, we present a deliberate bit ﬂipping
(DBF) coding scheme for binary twodimensional (2D) channels,
where speciﬁc patterns in channel inputs are the signiﬁcant cause
of errors. The idea is to eliminate a constrained encoder and,
instead, embed a constraint into an error correction codeword
that is arranged into a 2D array by deliberately ﬂipping the
bits that violate the constraint. The DBF method relies on the
error correction capability of the code being used so that it
should be able to correct both deliberate errors and channel
errors. Therefore, it is crucial to ﬂip minimum number of bits
in order not to overburden the error correction decoder. We
devise a constrained combinatorial formulation for minimizing
the number of ﬂipped bits for a given set of harmful patterns.
The generalized belief propagation algorithm is used to ﬁnd
an approximate solution for the problem. We evaluate the
performance gain of our proposed approach on a datadependent
2D channel, where 2D isolatedbits patterns are the harmful
patterns for the channel. Furthermore, the performance of the
DBF method is compared with classical 2D constrained coding
schemes for the 2D no isolatedbits constraint on a memoryless
binary symmetric channel.
Index Terms—Data dependent channels, constrained coding,
probabilistic inference, graphical models, and generalized belief
propagation (GBP).
I. INTRODUCTION
Recent advances in magnetic recording systems [3], [4],
optical recording devices [5] and ﬂash memory drives [6]
necessitate to study twodimensional (2D) coding techniques
for reliable storage/retrieval of user data. Most channels in
such systems introduce errors in messages in response to
certain data patterns, and messages containing these patterns
are more prone to errors than others. For example, in a
singlelevel cell ﬂash memory channel, intercell interference
(ICI) is at its maximum when 101 patterns are programmed
over adjacent cells in either horizontal or vertical directions
[7]–[9]. As another example, in twodimensional magnetic
recording channels, 2D isolatedbits patterns [10] are shown
empirically to be the dominant error event, and during the
readback process intersymbol interference (ISI) and inter
track interference (ITI) arise when these patterns are recorded
over the magnetic medium. Shannon in his seminal work [11]
presented two techniques for reliable transmission of messages
over noisy channels, namely error correction coding and con
strained coding. In the ﬁrst method, messages are protected via
an error correction code (ECC) from random errors which are
M. Bahrami and B. Vasi
´
c are with the Department of Electrical and
Computer Engineering, University of Arizona, Tucson, AZ, 85721 USA (e
mails: bahrami@email.arizona.edu and vasic@ece.arizona.edu). This work is
supported by the National Science Foundation under grants ECCS1500170
and SaTC1813401. Parts of this paper were presented in IEEE GLOBECOM
conference 2016 [1] and 8th International Conference on Algebraic Informat
ics (CAI 2019) [2].
independent of input data. The theory of ECCs is well studied,
and efﬁcient code construction methods are developed for sim
ple binary channels, additive white Gaussian noise (AWGN)
channels and partial response channels [12], etc. On the other
hand, constrained coding reduces the likelihood of corruption
by removing problematic patterns before transmission over
datadependent channels. Prominent examples of constraints
include a family of binary onedimensional (1D) and 2D
(d, k)runlengthlimited (RLL) constraints [13], [14] which
improves resilience to ISI timing recovery and synchronization
for bandwidth limited partial response channels, where d and
k represent the minimum and maximum number of admissible
zeros between two successive ones in any direction of array.
In principle, the ultimate coding approach for such data
dependent channels is to design a set of sufﬁciently distinct
error correction codewords that also satisfy channel constraints
[15], [16]. Designing channel codewords satisfying both ECC
and channel constraints is important as it would achieve the
channel capacity [17]. However, in practice this is difﬁcult, and
we rely on suboptimal methods such as forward concatenation
method (standard concatenation) [18], reverse concatenation
method (modiﬁed concatenation) [19], [20], and combinations
of these approaches [21], [22].
As discussed earlier, constrained codes have been used
to overcome effects of harmful patterns in 1D information
storage systems. In [23], a systematic approach for designing
1D constrained codes known as the state splitting algorithm
is established. Marcus et al. used the results of the state
splitting algorithm to design an encoder in the form of
a ﬁnite state machine and a sliding window decoder with
limited error propagation [24]. The theory of 1D constrained
coding is mature as well as practical aspects of 1D code
and decoder design. However, for the 2D case it remains
a challenge to design efﬁcient, ﬁxedrate encoding and de
coding algorithms (due to difﬁculty of certain problems that
link to 2D constraints compared to to the 1D case [25],
[26]). A number of variablerate encoding methods have
been proposed for 2D constrained channels, including bit
stufﬁng encoders [10], [27]–[29] and tiling based encoders
[30], [31]. Furthermore, various rowbyrow coding methods
for speciﬁc 2D constraints were presented in [32], [33]. Vasi
´
c
and Pedagani proposed an alternative approach in [34], known
as deliberate bit ﬂipping (DBF), for applying binary 1D
(0, k)RLL constraint to error correction codewords (when k
is large e.g., k = 15) to overcome the nonlinear effects of 1
D constrained codes. Using a (0, k)RLL constraint monitor,
a deliberate bit error is introduced into an error correction
codeword whenever the number of consecutive zeros in the
codeword reaches k. The method only relies on the capability
2
of the ECC to correct both the deliberate errors and channel
errors at the receiver. In [35]–[37], the problem of number
of deliberate bit errors for imposing (0, k)RLL constraint
into lowdensity paritycheck (LDPC) codewords was partially
addressed. Nevertheless, there is no attempt to minimize the
number of bit ﬂips for removing the forbidden conﬁgura
tions by the 1D (0, k)RLL constraint from a given binary
codeword. Moreover, the main problem with the DBF method
introduced in [34] still is the number of deliberate bit errors
that may overwhelm the ECC decoder and affect the error
ﬂoor performance (which limits its applications).
Our Contributions: One of the practical motivations to
design a DBF coding scheme for datadependent channels
is to address the error propagation phenomena existing in
conventional 2D constrained coding methods. Most of these
constrained coding schemes are nonlinear, and their en
coder/decoder has a memory such that over noisy channels
single channel bit errors may cause a decoder to lose track of
encoded bits and therefore propagate errors indeﬁnitely with
out recovering. On the other hand, the main problem with the
DBF method is the number of deliberate ﬂips. This problem
becomes also much more difﬁcult for the 2D case, and it
is a challenge to design efﬁcient algorithms for identifying
harmful conﬁgurations in channel input patterns, let alone
the problem of minimizing the number of bit ﬂips which
may overwhelm the errorcorrection decoder. In this paper,
we reformulate the problem of minimizing the number of bit
ﬂips in the DBF scheme for removing harmful conﬁgurations
from 2D channel input patterns as a constrained combinatorial
optimization problem. Furthermore, we design a Generalized
Belief Propagation (GBP)guided DBF algorithm for identi
fying 2D harmful conﬁgurations and removing them with
minimal number of ﬂips. In order to use the GBP algorithm,
we present a probabilistic graphical model for the constrained
combinatorial minimization problem using the factor graph
formulation in [38], [39]. In this framework, patterns which
do not contain harmful conﬁgurations are assumed to be
uniformly distributed, and each pattern containing a harmful
conﬁguration has zero probability. In this way, we reformulate
the problem as a 2D maximum a posteriori (MAP) problem,
and demonstrate that the GBP algorithm can approximately
solve this 2D MAP problem. In order to study and analyze
the performance of our proposed method, we introduce a
binary 2D channel with memory which captures the effect
on an information bit from its surrounding patterns, i.e., the
neighboring bits. The channel is characterized by rules deﬁned
by a set of conﬁgurations with a speciﬁc shape, which we call
the set of harmful conﬁgurations. At the channel output, the
probability of error for bits contained in any of the harmful
conﬁgurations are larger than for the other bits. We evaluate
the performance of the GBPguided DBF method over the
introduced channel where the 2D isolatedbits conﬁgurations
are considered as the channel harmful conﬁgurations. Further
more, the performance of the DBF method for 2D no isolated
bits (n.i.b.) constraint on a memoryless binary symmetric
channel (BSC) is compared with the rowbyrow and bit
stufﬁng based 2D n.i.b. encoders, presented in [10] and [40],
respectively.
(a) (b)
Fig. 1. Two examples of polyominoes: (a) a 2 × 2 square and (b) a cross.
Paper Organization: The rest of this paper is organized
as follows. Section II presents the notations and deﬁnitions
used throughout the paper. In Section III, the datadependent
channel model is introduced. In Section IV, the problem of
minimizing the number of ﬂipped bits in the DBF method
is formulated. In Section V, we reformulate the minimization
problem as a 2D MAP problem, and explain the ideas of
using the GBP algorithm for solving this problem. Numerical
results are presented in Section VI. Section VII concludes the
paper.
II. NOTATIONS AND DEFINITIONS
We denote a discrete random variable with an upper case
letter (e.g., X) and its realization by the lower case letter (e.g.,
x). We denote the probability density function of X with p(x)
and the conditional probability density function of Y given
X by p (yx). [n
1
: k : n
2
] represents the set of real numbers
{n
1
, n
1
+ k, n
1
+ 2k . . . , n
2
}, and [n] denotes [1 : 1 : n]. We
denote a random array of size m × n by X = [X
i,j
]
i∈[m],j∈[n]
.
An array of binary symbols with size m × n is denoted by x =
[x
i,j
]
i∈[m],j∈[n]
where x
i,j
∈ {0, 1} is the (i, j)
th
component
of array. A
m,n
=
(i, j) ∈ Z
2
: i ∈ [m] and j ∈ [n]
denotes
the index set of an array of size m × n and is the subset of the
2D lattice Z
2
. The Hamming weight of an array x of binary
symbols is determined by w
H
(x) =
P
x
i,j
∈x
1
{x
i,j
= 1},
where
1
{.} equals one (respectively, zero) when its argument
is true (respectively, false). The XOR operation between two
binary arrays (x and y of size m × n) is done componentwise,
i.e., x⊕y = (z
i,j
)
i∈[m],j∈[n]
where z
i,j
= x
i,j
⊕ y
i,j
, and x
i,j
and y
i,j
are the (i, j)
th
component of x and y, respectively.
Furthermore, the Hamming distance between x and y is
determined by d
H
(x, y) = w
H
(x⊕y). A binary BCH code of
length N with N − K parity bits and minimum distance d
min
is denoted by BCH[N, K, d
min
]. A binary ReedMuller code
of length N = 2
m
with N − K = 2
m
−
P
r
i=0
m
i
parity bits
and minimum distance d
min
= 2
m−r
is denoted by RM(r, m).
A polyomino of order k, called also a kominoe, is a plane
geometric ﬁgure formed by joining k neighboring square
shapes. Among polyominoes are 2 × 2 squareshaped poly
ominoes
Q
(i, j) = {(i, j), (i, j + 1), (i + 1, j), (i + 1, j + 1)} , (1)
and crossshaped polyominoes
Q
+
(i, j) = {(i, j − 1), (i − 1, j), (i, j), (i, j + 1), (i + 1, j)} ,
(2)
over the 2D lattice Z
2
, which are shown in Fig. 1.
3
An m × n binary pattern is denoted by x = [x
i,j
]
i∈[m],j∈[n]
,
where x
i,j
indicates the value of bit in ith row and jth
column. Throughout the paper, white squares denote zero bits
and black squares represent 1. Consider a kominoe P and
the set of all 2
k
binary conﬁgurations of that shape X
P
. We
refer to them as to Pshaped conﬁgurations and denote them
by x
P
. As an example, Fig. 2 shows all binary conﬁgurations
of a 2 × 2 squareshaped polyomino.
Fig. 2. The set of all binary conﬁgurations of a 2 × 2 squareshaped
polyomino.
Consider x
i,j
over an m × n rectangular pattern x, then the
union of all Pshaped polyominoes that intersect with this bit
is denoted by P
i,j
. The conﬁguration of P
i,j
is denoted by
x
P
i,j
. For the cases of 2 × 2 squareshaped and crossshaped
polyominoes, we have
P
i,j
=
[
(i
0
,j
0
)∈Q
(i−1,j−1)
Q
(i
0
, j
0
), (3)
and
P
+
i,j
=
[
(i
0
,j
0
)∈Q
+
(i,j)
Q
+
(i
0
, j
0
), (4)
respectively. Fig. 3 shows P
i,j
for these polyominoes.
III. CHANNEL MODEL
In this section, we introduce a communication channel
transmitting binary rectangular patterns and producing as an
output a binary pattern. The channel is datadependent and
characterized by rules deﬁned by a set of binary conﬁgurations
of a Pshaped polyomino. We call this set of Pshaped con
ﬁgurations the set of harmful conﬁgurations. At the channel
output, the error probability of bits contained in conﬁgurations
which belong to the set of harmful conﬁgurations is larger than
the other bits. Therefore, the channel has states and its error
statistics depends on input binary patterns. In the following,
we formally present error and state characterizations.
(a) (b)
Fig. 3. Figure demonstrates P
i,j
over a rectangle when the polyomino is:
(a) a 2 × 2 square and (b) a cross.
Fig. 4. 2D isolatedbits patterns containing the bit x
i,j
.
The input and output alphabets X and Y are two sets
of binary rectangular patterns of size m × n. An m × n
binary pattern x = [x
i,j
]
i∈[m],j∈[n]
is chosen randomly and
uniformly from X as an input to the channel. The channel
output, y = [y
i,j
]
i∈[m],j∈[n]
∈ Y, is also a binary pattern of
size m × n. For x
i,j
, P
i,j
denotes the union of Pshaped
polyominoes that intersect with this bit, and x
P
i,j
is the
conﬁguration of P
i,j
, as deﬁned in Section II. We assume
that the set of all possible conﬁgurations for P
i,j
, denoted by
X
P
i,j
, can be partitioned into two disjoint subsets X
G
P
i,j
and
X
B
P
i,j
, i.e., X
P
i,j
= X
G
P
i,j
S
X
B
P
i,j
, where X
B
P
i,j
is the set of
conﬁgurations containing Pshaped conﬁgurations which are
harmful for the channel. For example, X
B
P
i,j
can be the set of
binary conﬁgurations of P
i,j
given in Fig. 3(b), which contains
the 2D isolatedbit patterns. The 2D isolatedbit patterns are
shown in Fig. 4.
For x
i,j
contained in a harmful Pshaped conﬁguration, the
channel is in the bad state, and the probability of error is
α
b
. However, passing though the channel, a bit that does not
belong to a harmful conﬁguration is in error with a probability
of α
g
, and the channel is in the good state. We assume that
α
b
α
g
, or, in other words, the probability of error for bits
contained in a harmful conﬁguration is much larger than that
of the other bits. The received binary pattern is y = x ⊕ e
CH
,
where e
CH
= [e
CH
i,j
] is the channel error array. Therefore,
e
CH
i,j
has either Bernoulli(α
g
) or Bernoulli(α
b
) distribution,
depending on the pattern x
P
i,j
. In fact, the channel is a binary
symmetric channel (BSC) with crossover probability α
b
when
x
P
i,j
∈ X
P
B
i,j
and a BSC with crossover probability α
g
when
x
P
i,j
6∈ X
P
B
i,j
, respectively.
We deﬁne an indicator function for the channel
f
CH
: X
P
i,j
→ {0, 1} over every x
i,j
,
f
CH
x
P
i,j
=
1
n
x
P
i,j
∈ X
P
B
i,j
o
, (5)
to identify bits which are contained in harmful conﬁgurations,
where x
i,j
belongs to at least one harmful conﬁguration if
f
CH
x
P
i,j
= 1. Using the above indicator function, we can
determine the channel state for transmission of x
i,j
as follows
s
i,j
=
(
b, f
CH
x
P
i,j
= 1,
g, f
CH
x
P
i,j
= 0,
(6)
where “b” and “g” stand for the bad and the good channel
states, respectively. Let the probability distribution function
of channel be p(yx). According to the aforementioned error
characterization, the probability distribution function of chan
nel can be factored into
p(yx) =
Y
(i,j)
p
y
i,j
x
P
i,j
, (7)
4
Fig. 5. A schematic representation for the channel model is given. Passing
through the channel, x
i,j
is in error with probability α
b
if the conﬁguration of
P
i,j
, x
P
i,j
, belongs to the set of harmful patterns X
B
P
i,j
, otherwise it inverts
with a probability of α
g
. It should be noted that the top arm of the ﬁgure
can be removed when α
g
= 0, which reduces the channel into a constrained
2D channel with the list of forbidden conﬁgurations X
B
P
i,j
. However, in our
channel removing the harmful patterns does not make the channel noiseless.
Removing all the harmful patterns in the set X
B
P
i,j
before transmission
through the channel, makes it a BSC with the crossover probability α
g
.
since y
i,j
only depends on the conﬁguration of P
i,j
in the
input pattern x. Fig. 5 gives a schematic illustration for the
channel.
Remark 1: In this paper, we use the concept of polyominoes
to just demonstrate the effect of harmful conﬁgurations on its
neighboring bits over a 2D binary pattern. As two examples,
we consider 4ominoes and 5ominoes, as these reﬂect physi
cal effects of 2D ISI and ICI over the plane. For this purpose,
we deﬁned the square and cross shaped polyominoes in (1) and
(2).
Remark 2: The channel is similar to the GilbertElliot
channel [41], as it has two states, where each state acts
as a BSC with a different crossover probability. However,
the state transitions in our channel model depend on input
patterns. For such channels, calculating the information rate,
let alone the capacity, is much more challenging than for
discrete memoryless channels. Except for very special cases,
there are no simple expressions for information rates available,
and so, one needs to rely on upper and lower bounds and/or
on stochastic techniques for estimating the information rate,
examples are [42]–[44].
Remark 3: The probability that the channel is in the bad
state (or, in the good state) depends on the input probability
distribution. If we assume that input bits are i.i.d., then
there is no Markovian assumption on the channel states. The
probability that the channel is in the bad state for sending x
i,j
is
p (s
i,j
= b) = p
f
CH
x
P
i,j
= 1
=
X
B
P
i,j

X
P
i,j

, (8)
as the patterns are chosen randomly and uniformly, and in the
good state is p (s
i,j
= g) = 1−p (s
i,j
= b). For different input
probability distributions, this probability can be computed
accordingly. Throughout the paper, we do not consider any
Markovian properties on input bits.
In the following, we present an example of an input binary
pattern to the channel, where the 2D isolatedbits patterns are
the harmful patterns for the channel, to illustrate the effects
of harmful patterns on input binary patterns passing through
the channel.
Fig. 6. A 7 × 7 binary pattern x is transmitted through the channel with the
set of 2D isolatedbits patterns as the set of harmful patterns. The bits x
2,6
,
x
3,5
, x
3,6
, x
3,7
, x
4,6
, x
6,7
, x
7,6
and x
7,7
belong to the 2D isolatedbits
patterns. Passing through the channel, the probability of error for these bits
is α
b
, and for the rest of them is α
g
.
Example 1: Fig. 6 shows an example of a 7 × 7 input binary
pattern x transmitted over the introduced channel. We assume
that the set of harmful patterns for the channel is the set of
2D isolatedbits patterns, which are given in Fig. 4. In order
to determine the channel state for all bits over the pattern, we
assume zero entries outside of x, i.e., x
i,j
= 0, while i < 1,
j < 1, i > 7, or j > 7. There are two isolatedbits patterns
in x, which are x
Q
+
(3,6)
and x
Q
+
(7,7)
. Passing through the
channel, the bits contained in these two harmful conﬁgurations
are in error with a probability of α
b
. These bits x
2,6
, x
3,5
, x
3,6
,
x
3,7
, x
4,6
, x
6,7
, x
7,6
and x
7,7
. For instance, for x
2,6
,
P
2,6
=
[
(i
0
,j
0
)∈Q
+
(2,6)
Q
+
(i
0
, j
0
). (9)
Since Q
+
(3, 6) ⊂ P
2,6
and x
Q
+
(3,6)
is a 2D isolatedbits
pattern, we have the fact that x
P
2,6
contains a 2D isolated
bits pattern, and therefore, x
2,6
is in the bad state. Similarly,
we can check this for the rest of bits in x.
IV. PROBLEM FORMULATION
The user uniformly and randomly selects a binary
message m out of 2
K
messages denoted by M =
{m
1
, m
2
, . . . , m
2
K
}, where each message is of length K ∈ N.
The user message m is ﬁrst encoded by an error correction
encoder with rate R =
K
N
. The error correction encoding
function φ
ECC
: M → S
N
ECC
assigns a binary codeword c(m)
of length N to the user data m such that
c(m) = φ
ECC
(m), (10)
where S
N
ECC
= {c(m
1
), c(m
2
), . . . , c(m
2
bNRc
)} is the code
book (the set of binary codewords of length N) associated
with the ECC being used. A codeword c ∈ S
N
ECC
is represented
by N binary symbols, c = (c
1
, c
2
, . . . , c
N
), and N = m × n.
Each codeword is arranged into an array x of size m × n, such
that x = [x
i,j
]
i∈[m],j∈[n]
, and x
i,j
= c
(i−1)m+j
. The array
x can be considered as a binary rectangular pattern of size
m × n. We want to send the pattern x over the communication
channel in Section III, with the list of harmful conﬁgurations
X
B
P
i,j
. Assuming that α
b
α
g
, then bits contained in conﬁg
urations of list X
B
P
i,j
are more prone to error than the other
bits. To overcome effects of harmful conﬁgurations, we use
a deliberate error insertion approach to remove the harmful