Construction of Parallel RIO Codes
using Coset Coding with Hamming Codes
Akira Yamawaki, Hiroshi Kamabe
and Shan Lu
Graduate School of Engineering
Gifu University
1–1, Yanagido, Gifu, 501–1193
Email: [email protected], [email protected],
[email protected]
Abstract
Random input/output (RIO) code is a coding scheme
that enables reading of one logical page
using a single read threshold
in multilevel flash memory.
The construction of RIO codes is
equivalent to the construction of WOM codes.
Parallel RIO (P-RIO) code is an RIO code
that encodes all pages in parallel.
In this paper,
we utilize coset coding with Hamming codes
in order to construct P-RIO codes.
Coset coding is
a technique that
constructs WOM codes
using linear binary codes.
We leverage
the information on the data
of all pages to
encode each page.
Our constructed codes store
more pages
than RIO codes
constructed via coset coding.
I Introduction
Flash memory is the prevalent type of
non-volatile memory in use today,
and
flash devices are employed in
universal serial bus
(USB) memory technology,
solid state drives
(SSD), and mobile applications.
A flash memory consists of an array of cells,
in which
information bits are stored
in the form of the amount of charge.
In conventional flash memory,
one cell stores a single bit
and the information is read
using a single read threshold.
Recently, multilevel flash memory
technology has been
introduced.
In multilevel flash memory,
each cell
can
represent
one of more than two levels,
and
these levels are distinguished by
multiple read thresholds.
We consider
the
triple-level cell (TLC)
that is currently being utilized
in multilevel flash memory.
A TLC can
represent one of eight levels,
that is,
it stores three bits.
Each level corresponds to a three-bit sequence
as shown in Table I,
and each bit represents
one logical page.
Then, a group of such cells
stores three logical pages,
referred to as pages 1–3.
To read pages 1–3,
the required numbers of read thresholds are 1, 2, and 4,
respectively.
Therefore, the average number of read thresholds
is 2.33.
As stated above,
multiple read thresholds are
required in order to read a single logical page
in multilevel flash memory.
However,
use of a large number of read thresholds degrades
the read performance of the flash memory device.
In order to solve this problem,
the random input/output (RIO) code has been proposed by
Sharon and Alrod [1].
This is a coding scheme
in which one logical page
can be read using a single read threshold.
Further,
Sharon and Alrod showed that
the construction of the RIO code
is equivalent to the construction of the WOM code
[1].
However,
a distinction exists between the RIO code
and the WOM code.
In the WOM code,
the data are stored sequentially.
Therefore,
when the data is encoded,
the subsequent data are unknown.
On the other hand,
in the RIO code,
the data of all logical pages are stored
simultaneously;
thus,
all the data are known in advance.
Previously,
Yaakobi and Motwani proposed
the parallel RIO (P-RIO) code,
in which
the encoding of each page is
performed in parallel [3].
These researchers demonstrated P-RIO codes
having parameters for which
WOM codes or RIO codes
do not exist.
In addition,
they proposed an algorithm to
construct a P-RIO code via a computer search.
However, the complexity of this algorithm
increases exponentially
with the code length.
In this paper,
P-RIO codes
are constructed
using coset coding.
Coset coding,
introduced by Cohen, Godlewski, and Merkx,
is a technique that constructs WOM codes
using linear binary codes [4].
When Hamming codes are used
as the linear codes,
we leverage the information on the data of
all logical pages to construct the P-RIO codes.
Our constructed codes
store more pages than RIO codes
constructed via coset coding
with Hamming codes.
The remainder of the paper is
structured as follows.
In section II,
some preliminary notation and definitions
are presented,
whereas the construction of P-RIO codes
using coset coding is demonstrated in section
III.
Section IV contains
a brief concluding section.
II Preliminaries
We first present some preliminary definitions and notation.
For a positive integer n,
we define
In={1,…,n}.
In addition,
for two vectors
x=(x1,…,xn) and
y=(y1,…,yn),
we denote x≤y
if xi≤yi for any i∈In.
For a binary vector
x=(x1,…,xn),
we define
I(x)={i∣i∈In,xi=1}.
II-A WOM Code
In a WOM, a cell stores a single bit and
its content can be
changed from [math] to 1;
however,
it
cannot be changed from 1 to [math].
Rivest and Shamir have proposed a WOM code
that allows multiple writings into WOM
[2].
Definition 1
An [n,l,t] WOM code is a coding scheme
that permits the writing of l data bits into
n cells t times.
This scheme
is defined by
the
encoding map E
and the decoding map D.
The former is defined by
[TABLE]
where Im(E0)={(0,…,0)}.
For all (d,c)∈{0,1}l×Im(Ei−1)
with
i∈It,
c≤E(d,c)
is satisfied.
Further,
D is defined by
[TABLE]
such that
D(E(d,c))=d for all
(d,c)∈{0,1}l×Im(Ei−1)
with
i∈It.
The sum-rate is defined as lt/n.
Example 1
Previously,
Rivest and Shamir presented the
[3,2,2] WOM code [2],
which
is shown in Table II.
II-B Coset Coding
In this paper,
a linear binary code of length n and dimension k
is referred to as an (n,k) code.
Coset coding is
used to construct an [n,n−k,t] WOM code using
(n,k) code C,
where t depends on C [4].
Let H be the parity check matrix of C.
For all (d,c)∈{0,1}n−k×Im(Ei−1)
with
i∈It,
the encoding map E is as follows.
[TABLE]
where
[TABLE]
Further,
for all c∈Im(Ei)
with
i∈It,
the decoding map D is
[TABLE]
The following theorem
has been
proven in [4].
Theorem 1
When the linear code is
the
(7,4) Hamming code,
coset coding can be used to
construct the [7,3,3] WOM code.
Let r be an integer greater than 3.
Then a [2r−1,r,2r−2+2] WOM code can be constructed
via coset coding with a (2r−1,2r−r−1) Hamming code.
II-C RIO Code
In this paper,
it is assumed that
each cell of a flash memory represents
one of
q levels (0,1,…,q−1).
These levels are distinguished by
(q−1) different read thresholds.
For each i∈Iq−1,
we denote the threshold between
levels (i−1) and i by i.
For the state of n cells
c=(c1,…,cn)∈{0,…,q−1}n,
the operation for read threshold i
is denoted by RTi(c).
We define
RTi(c)=(r1,…,rn)∈{0,1}n
where, for each j∈In,
rj=1 if cj≥i;
otherwise, rj=0.
For any c1,…,cq−1∈{0,1}n
such that c1≤c2≤…≤cq−1,
the following property holds:
For each i∈Iq−1,
[TABLE]
RIO code is a coding scheme that
stores t pages in a (t+1)-level flash memory,
such that
page i can be read using read threshold (t+1−i)
for each i∈It [1].
From (1),
pages 1,…,t are encoded into
c1,…,ct,
respectively,
such that
c1≤c2≤⋯≤ct,
and the cell state is set to
∑i=1tci,
where ci is a binary vector
for each i∈It.
Definition 2
An [n,l,t] RIO code is a coding scheme
that enables storage of t pages
of l data bits in
n (t+1)-level cells,
such that
each page can be read using a single read threshold.
For each i∈It,
the encoding map of page i
Ei is defined by
[TABLE]
where Im(E0)={(0,…,0)}.
For all (d,c)∈{0,1}l×Im(Ei−1),
c≤Ei(d,c)
is satisfied.
The cell state is the sum of the Ei results
for all i∈It.
Further,
for each i∈It,
the decoding map of page i Di
is defined by
[TABLE]
such that
Di(Ei(d,c))=d
for all (d,c)∈{0,1}l×Im(Ei−1).
If the cell state is
c∈{0,…,t}n,
the argument of Di is
RTt+1−i(c) for each i∈It.
From Definitions 1 and
2,
it is apparent that
the construction of an [n,l,t] RIO code is
equivalent to that of an [n,l,t] WOM code
[1].
Example 2
The [3,2,2] RIO code based on
the [3,2,2] WOM code
is shown in Table III.
As an example,
let the data of pages 1 and 2
be 10 and 01, respectively.
Then, from Table II,
E1(10,000)=010 and
E2(01,010)=011.
Therefore,
the cell state is 021.
II-D P-RIO Code
In the RIO code,
each page encoding
depends on
the page data only.
In contrast,
for P-RIO code,
information on the data of
all pages is leveraged
during
encoding of each page
[3].
Definition 3
An [n,l,t] P-RIO code is
an [n,l,t] RIO code
for which
all pages are encoded
in parallel.
The encoding map E is
defined by
[TABLE]
For all (d1,…,dt)∈∏i=1t{0,1}l,
c1≤c2≤⋯≤ct is
satisfied, where
(c1,…,ct)=E(d1,…,dt).
The cell state is the sum of
the components of the E result.
For each i∈It,
the decoding map Di of page i is
defined by
[TABLE]
such that Di(ci)=di
for all (d1,…,dt)∈∏i=1t{0,1}l,
where
(c1,…,ct)=E(d1,…,dt).
If the cell state is
c∈{0,…,t}n,
the argument of Di is
RTt+1−i(c) for each i∈It.
An algorithm to construct P-RIO code has been proposed
in a previous study
[3],
and run to
yield P-RIO codes that
store two pages for moderate code lengths.
These codes have parameters for which RIO codes do not
exist [3].
In this study,
we use coset coding to
construct P-RIO codes.
When Hamming codes
are used as the linear codes,
from Theorem 1,
[7,3,3] RIO code and
[15,4,6] RIO code can
be constructed.
Then,
we leverage the information
on the data of all pages
to
construct P-RIO codes
that store more pages than
these RIO codes.
III Construction of P-RIO Code using Coset Coding
Prior to
construction of P-RIO codes using coset coding,
we first discuss several properties.
III-A Properties
We have the following theorem.
Theorem 2
Let H be the parity check matrix of
(n,k) code C.
The sufficient condition
that uses coset coding with C
to construct an [n,n−k,t] P-RIO code
is as follows.
For any
s1,…,st∈{0,1}n−k,
there exist x1,…,xt∈{0,1}n that satisfy the following conditions:
-
For all i∈It,
xiHT=si;
2. 2.
For all i,i′∈It,i=i′,
I(xi)∩I(xi′)=∅.
Proof:
For any d1,…,dt∈{0,1}n−k,
we define si=di−di−1 for each i∈It,
where d0=(0,…,0).
Suppose that there exist
x1,…,xt∈{0,1}n that satisfy
the above conditions for s1,…,st.
We define
ci=∑i′=1ixi′
for each i∈It.
Then, we have
ciHT=di
for each i∈It
and c1≤c2≤⋯≤ct.
Therefore,
an [n,n−k,t] P-RIO code can be constructed,
where
E(d1,…,dt)=(c1,…,ct)
and
Di(ci)=ciHT.
∎
For r≥3,
we denote the parity check matrix of
the (2r−1,2r−r−1) Hamming code
by
[TABLE]
where
{h1,h2,…,h2r−1}={0,1}r∖{(0,…,0)}.
For s∈{0,1}r,
we define
V(s)={{j}∣j∈I2r−1,hj=s}∪{{j1,j2}∣j1,j2∈I2r−1,hj1+hj2=s}.
Then, the following theorem holds.
Theorem 3
For any s∈{0,1}r∖{(0,…,0)},
we have the permutation σ
of I2r−1
such that
[TABLE]
Proof:
Let α1 be an integer such that
α1∈I2r−1
and
[TABLE]
Then, {α1}∈V(s).
Further,
let α2 be an integer such that
α2∈I2r−1∖{α1},
and
let α3 be an integer such that
α3∈I2r−1∖{α1,α2}
and
[TABLE]
Then, {α2,α3}∈V(s).
As with α2 and α3,
we have
α4,α5,…,α2r−2,α2r−1.
Then,
{α4,α5},…,{α2r−2,α2r−1}∈V(s).
Let σ be
the permutation of I2r−1
such that
σ(j)=αj for each j∈I2r−1.
Then, σ satisfies
(2).
∎
Theorem 4
For any
s1,s2∈{0,1}r∖{(0,…,0)},s1=s2,
we have the permutation σ
of I2r−1
such that
[TABLE]
Proof:
Let α1 be an integer such that
α1∈I2r−1
and
[TABLE]
Let α2 be an integer such that
α2∈I2r−1
and
[TABLE]
Then,
{α1}∈V(s1),
{α2}∈V(s2).
Clearly,
α1=α2.
Let α3 be an integer such that
α3∈I2r−1∖{α1,α2}
and
[TABLE]
Then, {α2,α3}∈V(s1).
From (7), (9), and (8),
[TABLE]
Hence,
{α1,α3}∈V(s2).
Let
α4 be an integer such that
α4∈I2r−1∖{α1,…,α3},
and
let α5 be an integer such that
α5∈I2r−1∖{α1,…,α4}
and
[TABLE]
Then, {α4,α5}∈V(s1).
Let α6 be an integer such that
α6∈I2r−1∖{α1,…,α4}
and
[TABLE]
Then,
{α4,α6}∈V(s2).
Clearly, α5=α6.
Let α7 be an integer such that
α7∈I2r−1∖{α1,…,α6}
and
[TABLE]
Then, {α6,α7}∈V(s1).
From (11) and (13),
[TABLE]
From (14) and (12),
[TABLE]
Hence,
{α5,α7}∈V(s2).
As with α4,α5,α6,α7,
we have
α8,α9,α10,α11,…,α2r−4,α2r−3,α2r−2,α2r−1.
Let
σ be the permutation of I2r−1
such that σ(j)=αj
for each j∈I2r−1.
Then, σ satisfies (LABEL:siki:sigma2-1) and
(LABEL:siki:sigma2-2).
∎
Theorem 5
Let r=4.
For any s1,s2,s3∈{0,1}4∖{0000}\mbox(si=si′\mboxforanyi,i′∈I3,i=i′),
we have the permutation σ
of I15,
which
satisfies the following conditions:
(a)
If s1+s2=s3,
[TABLE]
(b)
If s1+s2=s3,
[TABLE]
Proof:
Let α1 be an integer such that
α1∈I15 and
[TABLE]
Let α2 be an integer such that
α2∈I15 and
[TABLE]
Then, {α1}∈V(s1),
{α2}∈V(s2).
Clearly,
α1=α2.
Let α3 be an integer such that
α3∈I15∖{α1,α2}
and
[TABLE]
Then, {α2,α3}∈V(s1).
From (22), (24), and (23),
[TABLE]
Hence, {α1,α3}∈V(s2).
(a)
Let α4 be an integer such that
α4∈I15 and
[TABLE]
Then, {α4}∈V(s3).
Clearly,
α4∈{α1,α2}.
From
(26), (24), and (23),
[TABLE]
Therefore,
α4=α3.
Let α5 be an integer such that
α5∈I15∖{α1,…,α4}
and
[TABLE]
Then, {α4,α5}∈V(s1).
From (22) and (28),
[TABLE]
From (29) and (26),
[TABLE]
Hence,
{α1,α5}∈V(s3).
Let α6 be an integer such that
α6∈I15∖{α1,…,α5}
and
[TABLE]
Then {α4,α6}∈V(s2).
From (23) and (31),
[TABLE]
From (32) and (26),
[TABLE]
Therefore,
{α2,α6}∈V(s3).
Let α7
be an integer such that
α7∈I15∖{α1,…,α6}
and
[TABLE]
Then, {α6,α7}∈V(s1).
From (28) and (34),
[TABLE]
From (35) and (31),
[TABLE]
Hence,
{α5,α7}∈V(s2).
From (24) and (34),
[TABLE]
From (37) and (33),
[TABLE]
Therefore,
{α3,α7}∈V(s3).
Let α8 be an integer such that
α8∈I15∖{α1,…,α7},
and
let α9
be an integer such that
α9∈I15∖{α1,…,α8}
and
[TABLE]
Then, {α8,α9}∈V(s1).
Let α10
be an integer such that
α10∈I15∖{α1,…,α9}
and
[TABLE]
Then, {α8,α10}∈V(s2).
Let α11
be an integer such that
α11∈I15∖{α1,…,α10}
and
[TABLE]
Then, {α10,α11}∈V(s1).
From (39) and (41),
[TABLE]
From (42) and (40),
[TABLE]
Hence,
{α9,α11}∈V(s2).
Let α12
be an integer such that
α12∈I15∖{α1,…,α10}
and
[TABLE]
Then, {α8,α12}∈V(s3).
From (39) and (43),
[TABLE]
From (44) and (45),
[TABLE]
Therefore,
α12=α11.
Let α13
be an integer such that
α13∈I15∖{α1,…,α12}
and
[TABLE]
Then, {α12,α13}∈V(s1).
From (39) and (47),
[TABLE]
From (48) and (44),
[TABLE]
Hence,
{α9,α13}∈V(s3).
Let α14 be an integer such that
α14∈I15∖{α1,…,α13}
and
[TABLE]
Then {α12,α14}∈V(s2).
From (40) and (50),
[TABLE]
From (51) and (44),
[TABLE]
Therefore,
{α10,α14}∈V(s3).
Let α15 be an integer such that
α15∈I15∖{α1,…,α14}
and
[TABLE]
Then, {α14,α15}∈V(s1).
From (47) and (53),
[TABLE]
From (54) and
(50),
[TABLE]
Hence, {α13,α15}∈V(s2).
From (41) and (53),
[TABLE]
From (56)
and (52),
[TABLE]
Therefore,
{α11,α15}∈V(s3).
Let σ be the permutation of I15
such that σ(j)=αj
for each j∈I15.
Then, σ satisfies (16),
(17), and (18).
(b)
From (24) and (23),
[TABLE]
Hence, {α3}∈V(s3).
From (22) and (23),
[TABLE]
Therefore,
{α1,α2}∈V(s3).
Let α4 be an integer such that
α4∈I15∖{α1,…,α3},
and let α5 be an integer such that
α5∈I15∖{α1,…,α4}
and
[TABLE]
Then, {α4,α5}∈V(s1).
Let α6 be an integer such that
α6∈I15∖{α1,…,α5}
and
[TABLE]
Then,
{α4,α6}∈V(s2).
From (60) and (61),
[TABLE]
Hence,
{α5,α6}∈V(s3).
Let α7 be an integer such that
α7∈I15∖{α1,…,α6}
and
[TABLE]
Then, {α6,α7}∈V(s1).
From (60) and (63),
[TABLE]
From (64) and (61),
[TABLE]
Therefore,
{α5,α7}∈V(s2).
From (64) and (62),
[TABLE]
Hence,
{α4,α7}∈V(s3).
Let α8 be an integer such that
α8∈I15∖{α1,…,α7},
and let
α9 be an integer such that
α9∈I15∖{α1,…,α8}
and
[TABLE]
Then, {α8,α9}∈V(s1).
Let α10 be an integer such that
α10∈I15∖{α1,…,α9}
and
[TABLE]
Then, {α8,α10}∈V(s2).
From (67) and (68),
[TABLE]
Therefore,
{α9,α10}∈V(s3).
Let α11 be an integer such that
α11∈I15∖{α1,…,α10}
and
[TABLE]
Then, {α10,α11}∈V(s1).
From (67) and (70),
[TABLE]
From (71) and (68),
[TABLE]
Hence,
{α9,α11}∈V(s2).
From (71) and (69),
[TABLE]
Therefore,
{α8,α11}∈V(s3).
Let α12 be an integer such that
α12∈I15∖{α1,…,α11},
and let
α13 be an integer such that
α13∈I15∖{α1,…,α12}
and
[TABLE]
Then, {α12,α13}∈V(s1).
Let α14 be an integer such that
α14∈I15∖{α1,…,α13}
and
[TABLE]
Then, {α12,α14}∈V(s2).
From (74) and (75),
[TABLE]
Hence,
{α13,α14}∈V(s3).
Let α15 be an integer such that
α15∈I15∖{α1,…,α14}
and
[TABLE]
Then,
{α14,α15}∈V(s1).
From (74) and (77),
[TABLE]
From (78) and (75),
[TABLE]
Therefore,
{α13,α15}∈V(s2).
From (78) and (76),
[TABLE]
Hence,
{α12,α15}∈V(s3).
Let σ be the permutation of I15
such that σ(j)=αj for each
j∈I15.
Then, σ satisfies (19),
(20), and (21).
∎
Theorem 6
Let r=4.
For any s1,s2,s3,s4∈{0,1}4∖{0000}\mbox(si=si′\mboxforanyi,i′∈I4,i=i′),
we have the permutation σ
of I15,
which
satisfies the following conditions:
(a)
If s1,s2,s3,
and s4 are linearly independent,
[TABLE]
(b)
If there exists the permutation τ of I4
such that
sτ(1)+sτ(2)=sτ(3),
[TABLE]
(c)
If
s1+s2=s3+s4,
[TABLE]
Proof:
Let α1 be an integer such that
α1∈I15 and
[TABLE]
Let α2 be an integer such that
α2∈I15 and
[TABLE]
Then, {α1}∈V(s1),
{α2}∈V(s2).
Clearly,
α1=α2.
Let α3 be an integer such that
α3∈I15∖{α1,α2}
and
[TABLE]
Then, {α2,α3}∈V(s1).
From (93), (95), and (94),
[TABLE]
Hence, {α1,α3}∈V(s2).
(a)
Let α4 be an integer such that
α4∈I15 and
[TABLE]
Then, {α4}∈V(s3).
Clearly,
α4∈{α1,α2}.
From (97), (95), and (94),
[TABLE]
Therefore,
α4=α3.
Let α5 be an integer such that
α5∈I15∖{α1,…,α4}
and
[TABLE]
Then,
{α4,α5}∈V(s1).
From (93) and (99),
[TABLE]
From (100) and (97),
[TABLE]
Hence,
{α1,α5}∈V(s3).
Let α6 be an integer such that
α6∈I15∖{α1,…,α5}
and
[TABLE]
Then,
{α4,α6}∈V(s2).
From (94) and (102),
[TABLE]
From (103) and
(97),
[TABLE]
Therefore,
{α2,α6}∈V(s3).
Let α7 be an integer such that
α7∈I15∖{α1,…,α6} and
[TABLE]
Then,
{α6,α7}∈V(s1).
From (99) and (105),
[TABLE]
From (106)
and (102),
[TABLE]
Hence,
{α5,α7}∈V(s2).
From (95) and (105),
[TABLE]
From (108)
and (104),
[TABLE]
Therefore,
{α3,α7}∈V(s3).
Let α8 be an integer such that
α8∈I15 and
[TABLE]
Then, {α8}∈V(s4).
Clearly,
α8∈{α1,…,α4}.
From (110), (99), and
(97),
[TABLE]
From (110), (102), and
(97),
[TABLE]
From (110), (105), (102),
and (97),
[TABLE]
From (111), (112),
and (113),
α8∈{α1,…,α7}.
Let α9 be an integer such that
α9∈I15∖{α1,…,α8} and
[TABLE]
Then, {α8,α9}∈V(s1).
From (93) and (114),
[TABLE]
From (115) and (110),
[TABLE]
Hence,
{α1,α9}∈V(s4).
Let α10 be an integer such that
α10∈I15∖{α1,…,α9} and
[TABLE]
Then,
{α8,α10}∈V(s2).
From (94) and (117),
[TABLE]
From (118)
and (110),
[TABLE]
Therefore,
{α2,α10}∈V(s4).
Let α11 be an integer such that
α11∈I15∖{α1,…,α10} and
[TABLE]
Then,
{α10,α11}∈V(s1).
From (114) and (120),
[TABLE]
From (121) and
(117),
[TABLE]
Hence,
{α9,α11}∈V(s2).
From (96) and (122),
[TABLE]
From (123) and (116),
[TABLE]
Therefore,
{α3,α11}∈V(s4).
Let α12 be an integer such that
α12∈I15∖{α1,…,α10}
and
[TABLE]
Then, {α8,α12}∈V(s3).
From (125), (114), and (122),
[TABLE]
Therefore, α12=α11.
From (97) and (125),
[TABLE]
From (127) and (110),
[TABLE]
Hence,
{α4,α12}∈V(s4).
Let α13 be an integer such that
α13∈I15∖{α1,…,α12}
and
[TABLE]
Then,
{α12,α13}∈V(s1).
From (114) and (129),
[TABLE]
From (130)
and (125),
[TABLE]
Therefore,
{α9,α13}∈V(s3).
From (99) and (129),
[TABLE]
From (132) and (128),
[TABLE]
Hence,
{α5,α13}∈V(s4).
Let α14 be an integer such that
α14∈I15∖{α1,…,α13}
and
[TABLE]
Then,
{α12,α14}∈V(s2).
From (117) and (134),
[TABLE]
From (135)
and (125),
[TABLE]
Therefore,
{α10,α14}∈V(s3).
From (102) and (134),
[TABLE]
From (137) and (128),
[TABLE]
Hence,
{α6,α14}∈V(s4).
Let α15 be an integer such that
α15∈I15∖{α1,…,α14}
and
[TABLE]
Then,
{α14,α15}∈V(s1).
From (129) and (139),
[TABLE]
From (140)
and (134),
[TABLE]
Therefore,
{α13,α15}∈V(s2).
From (120) and (139),
[TABLE]
From (142)
and (136),
[TABLE]
Hence,
{α11,α15}∈V(s3).
From (105)
and (139),
[TABLE]
From (144)
and (138),
[TABLE]
Therefore,
{α7,α15}∈V(s4).
Let σ be the permutation of
I15 such that
σ(j)=αj for each
j∈I15.
Then, σ satisfies
(81), (82),
(83), and
(84).
(b)
For simplicity,
suppose
s1+s2=s3.
From (95) and (94),
[TABLE]
Hence,
{α3}∈V(s3).
From (93) and (94),
[TABLE]
Therefore,
{α1,α2}∈V(s3).
Let α4 be an integer such that
α4∈I15 and
[TABLE]
Then, {α4}∈V(s4).
Clearly,
α4∈{α1,α2,α3}.
Let α5 be an integer such that
α5∈I15∖{α1,…,α4}
and
[TABLE]
Then, {α4,α5}∈V(s1).
From (93) and (149),
[TABLE]
From (150) and (148),
[TABLE]
Hence,
{α1,α5}∈V(s4).
Let α6 be an integer such that
α6∈I15∖{α1,…,α5}
and
[TABLE]
Then,
{α4,α6}∈V(s2).
From (149) and (152),
[TABLE]
Therefore,
{α5,α6}∈V(s3).
From (94) and (152),
[TABLE]
From (154) and (148),
[TABLE]
Hence,
{α2,α6}∈V(s4).
Let α7 be an integer such that
α7∈I15∖{α1,…,α6}
and
[TABLE]
Then,
{α6,α7}∈V(s1).
From (149) and (156),
[TABLE]
From (157)
and (152),
[TABLE]
Therefore,
{α5,α7}∈V(s2).
From (157) and (153),
[TABLE]
Hence,
{α4,α7}∈V(s3).
From (95) and (156),
[TABLE]
From (160) and (155),
[TABLE]
Therefore,
{α3,α7}∈V(s4).
Let α8 be an integer such that
α8∈I15∖{α1,…,α7},
and
let α9 be an integer such that
α9∈I15∖{α1,…,α8}
and
[TABLE]
Then,
{α8,α9}∈V(s1).
Let α10 be an integer such that
α10∈I15∖{α1,…,α9}
and
[TABLE]
Then,
{α8,α10}∈V(s2).
From (162) and (163),
[TABLE]
Hence,
{α9,α10}∈V(s3).
Let α11 be an integer such that
α11∈I15∖{α1,…,α10}
and
[TABLE]
Then,
{α10,α11}∈V(s1).
From (162) and (165),
[TABLE]
From (166) and
(163),
[TABLE]
Therefore,
{α9,α11}∈V(s2).
From (166) and
(164),
[TABLE]
Hence,
{α8,α11}∈V(s3).
Let α12 be an integer such that
α12∈I15∖{α1,…,α11}
and
[TABLE]
Then,
{α8,α12}∈V(s4).
Let α13 be an integer such that
α13∈I15∖{α1,…,α12}
and
[TABLE]
Then,
{α12,α13}∈V(s1).
From (162) and (170),
[TABLE]
From (171)
and (169),
[TABLE]
Therefore,
{α9,α13}∈V(s4).
Let α14 be an integer such that
α14∈I15∖{α1,…,α13}
and
[TABLE]
Then,
{α12,α14}∈V(s2).
From (170) and (173),
[TABLE]
Hence,
{α13,α14}∈V(s3).
From (163) and (173),
[TABLE]
From (175)
and (169),
[TABLE]
Therefore,
{α10,α14}∈V(s4).
Let α15 be an integer such that
α15∈I15∖{α1,…,α14}
and
[TABLE]
Then,
{α14,α15}∈V(s1).
From (170) and (177),
[TABLE]
From (178)
and (173),
[TABLE]
Hence,
{α13,α15}∈V(s2).
From (178) and
(174),
[TABLE]
Therefore,
{α12,α15}∈V(s3).
From (165) and (177),
[TABLE]
From (181)
and (176),
[TABLE]
Hence,
{α11,α15}∈V(s4).
Let σ be the permutation of I15
such that
σ(j)=αj for each j∈I15.
Then,
σ satisfies (85),
(86), (87),
and (88).
(c)
Let α4 be an integer such that
α4∈I15 and
[TABLE]
Then,
{α4}∈V(s3).
Clearly,
α4∈{α1,α2}.
From (183), (95),
and (94),
[TABLE]
Therefore,
α4=α3.
From (93), (96),
and (183),
[TABLE]
Hence,
{α3,α4}∈V(s4).
Let α5 be an integer such that
α5∈I15∖{α1,…,α4}
and
[TABLE]
Then,
{α4,α5}∈V(s1).
From (93) and (186),
[TABLE]
From (187) and (183),
[TABLE]
Therefore,
{α1,α5}∈V(s3).
From (95) and (186),
[TABLE]
From (189)
and (185),
[TABLE]
Hence,
{α2,α5}∈V(s4).
Let α6
be an integer such that
α6∈I15∖{α1,…,α5}
and
[TABLE]
Then,
{α4,α6}∈V(s2).
From (94) and (191),
[TABLE]
From (192)
and (183),
[TABLE]
Therefore,
{α2,α6}∈V(s3).
From (96) and (191),
[TABLE]
From (194) and
(185),
[TABLE]
Hence,
{α1,α6}∈V(s4).
Let α7 be an integer such that
α7∈I15∖{α1,…,α6}
and
[TABLE]
Then,
{α6,α7}∈V(s1).
From (186) and (196),
[TABLE]
From (197)
and (191),
[TABLE]
Therefore,
{α5,α7}∈V(s2).
From (95) and (196),
[TABLE]
From (199) and
(193),
[TABLE]
Hence,
{α3,α7}∈V(s3).
From (196), (191),
and (183),
[TABLE]
Therefore,
{α7}∈V(s4).
Let α8 be an integer such that
α8∈I15∖{α1,…,α7},
and
let α9 be an integer such that
α9∈I15∖{α1,…,α8}
and
[TABLE]
Then,
{α8,α9}∈V(s1).
Let α10 be an integer such that
α10∈I15∖{α1,…,α9}
and
[TABLE]
Then,
{α8,α10}∈V(s2).
Let α11 be an integer such that
α11∈I15∖{α1,…,α10}
and
[TABLE]
Then,
{α10,α11}∈V(s1).
From (202) and (204),
[TABLE]
From (205)
and (203),
[TABLE]
Hence,
{α9,α11}∈V(s2).
Let α12 be an integer such that
α12∈I15∖{α1,…,α10}
and
[TABLE]
Then,
{α8,α12}∈V(s3).
From (207), (202), and (206),
[TABLE]
Therefore,
α12=α11.
From (202), (206),
and (207),
[TABLE]
Hence,
{α11,α12}∈V(s4).
Let α13 be an integer such that
α13∈I15∖{α1,…,α12}
and
[TABLE]
Then,
{α12,α13}∈V(s1).
From (202) and (210),
[TABLE]
From (211)
and (207),
[TABLE]
Therefore,
{α9,α13}∈V(s3).
From (204) and (210),
[TABLE]
From (213)
and (209),
[TABLE]
Hence,
{α10,α13}∈V(s4).
Let α14 be an integer such that
α14∈I15∖{α1,…,α13}
and
[TABLE]
Then,
{α12,α14}∈V(s2).
From (203) and (215),
[TABLE]
From (216) and
(207),
[TABLE]
Therefore,
{α10,α14}∈V(s3).
From (206) and (215),
[TABLE]
From (218)
and (209),
[TABLE]
Hence,
{α9,α14}∈V(s4).
Let α15 be an integer such that
α15∈I15∖{α1,…,α14}
and
[TABLE]
Then, {α14,α15}∈V(s1).
From (210) and (220),
[TABLE]
From (221)
and (215),
[TABLE]
Therefore,
{α13,α15}∈V(s2).
From (204) and (220),
[TABLE]
From (223)
and (217),
[TABLE]
Hence,
{α11,α15}∈V(s3).
From (202) and (220),
[TABLE]
From (225)
and (219),
[TABLE]
Therefore,
{α8,α15}∈V(s4).
Let σ be the permutation of I15
such that
σ(j)=αj for each j∈I15.
Then, σ satisfies
(89),
(90),
(91),
and
(92).
∎
III-B Construction of [7,3,4] P-RIO Code
Let C be a (7,4) Hamming code.
Example 3
The parity check matrix H of C is as follows.
[TABLE]
For each s∈{0,1}3∖{000},
V(s) is as follows [5].
[TABLE]
For some s1,…,s4∈{0,1}3,
we obtain x1,…,x4∈{0,1}7
that
satisfy the conditions of
Theorem 2.
Case :
s1=111,s2=100,s3=110, and s4=101.
Let I(x1)={7},I(x2)={1},I(x3)={3},
and
I(x4)={5}.
Therefore,
x1=0000001,x2=1000000,x3=0010000,
and
x4=0000100.
Case :
s1=001,s2=110,s3=100, and s4=001.
Let I(x1)={4},I(x2)={3},I(x3)={1},
and
I(x4)={2,6}.
Therefore,
x1=0001000,x2=0010000,x3=1000000,
and
x4=0100010.
Case :
s1=010,s2=101,s3=010, and s4=101.
Let I(x1)={2},I(x2)={1,4},I(x3)={5,7},
and
I(x4)={3,6}.
Therefore,
x1=0100000,x2=1001000,x3=0000101,
and
x4=0010010.
For any
s1,s2,s3,s4∈{0,1}3,
we have
x1,x2,x3,x4∈{0,1}7,
which satisfy the conditions of
Theorem 2 as described below.
We define
I0={i∣i∈I4,si=000}.
For any si=000,
let ji be an integer such that
ji∈I7
and
si=hji.
Case 1: I0=∅.
Let t′=4−∣I0∣.
For any sk1,…,skt′
({k1,…,kt′}=I4∖I0),
we use one of the following cases to
obtain xk1,…,xkt′
that satisfy the conditions of
Theorem 2.
Further,
for every i∈I0,
let xi=0000000.
In the following,
we assume I0=∅.
Case 2:
si=si′
for any i,i′∈I4,i=i′.
Let I(xi)={ji}
for each i∈I4.
Case 3:
There exist
2≤m≤4 and the permutation π of I4
such that
sπ(1)=⋯=sπ(m)
and sπ(i)=sπ(i′)
for any i,i′∈{1,m+1,…,4},i=i′.
Let
I(xπ(1))={jπ(1)},
I(xπ(m+1))={jπ(m+1)},
…,
I(xπ(4))={jπ(4)}.
From Theorem 3,
we have the permutation σ of
I7 such that
[TABLE]
Clearly, σ(1)=jπ(1).
Hence,
there are a minimum of (m−1) elements α
in {2,4,6} such that
{jπ(m+1),…,jπ(4)}∩{σ(α),σ(α+1)}=∅.
We denote these α by
α1,…,αm−1.
Then, let
I(xπ(2))={σ(α1),σ(α1+1)},
…,
I(xπ(m))={σ(αm−1),σ(αm−1+1)}.
Case 4:
There exists the permutation π of I4
such that
sπ(1)=sπ(2),
sπ(3)=sπ(4),
and
sπ(1)=sπ(3).
From Theorem 4,
we have the permutation σ of
I7 such that
[TABLE]
Hence,
let I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(4),σ(6)},
and
I(xπ(4))={σ(5),σ(7)}.
Therefore,
from Theorem 2,
the [7,3,4] P-RIO code can be constructed.
This code stores more pages
than the [7,3,3] RIO code,
which
is constructed using
the same (7,4) Hamming code.
III-C Construction of [15,4,8] P-RIO Code
Let C be a (15,11) Hamming code.
For any
s1,…,s8∈{0,1}4,
we have
x1,…,x8∈{0,1}15,
which
satisfy the conditions
of Theorem 2
as follows.
We define
I0={i∣i∈I8,si=0000}.
For any si=0000,
let ji be an integer such that
ji∈I15
and
si=hji.
Case 1:
I0=∅.
We have x1,…,x8
as for the case of the
[7,3,4] P-RIO code.
Case 2:
si=si′
for any
i,i′∈I8,i=i′.
Let I(xi)={ji}
for each i∈I8.
Case 3: There exist
2≤m≤8 and the permutation π of I8
such that
sπ(1)=⋯=sπ(m)
and sπ(i)=sπ(i′)
for any i,i′∈{1,m+1,…,8},i=i′.
Let I(xπ(1))={jπ(1)},
I(xπ(m+1))={jπ(m+1)},
…,
I(xπ(8))={jπ(8)}.
From Theorem 3,
we have the permutation σ of
I15 such that
[TABLE]
Clearly,
σ(1)=jπ(1).
Hence,
there are a minimum of (m−1) elements α
in {2,4,6,8,10,12,14}, such that
{jπ(m+1),…,jπ(8)}∩{σ(α),σ(α+1)}=∅.
We denote these α by
α1,…,αm−1.
Then, let
I(xπ(2))={σ(α1),σ(α1+1)},
…,
I(xπ(m))={σ(αm−1),σ(αm−1+1)}.
Case 4: There exist
2≤m1,m2≤6,
where m1≥m2,
and the permutation π of
I8
such that
sπ(1)=⋯=sπ(m1),
sπ(m1+1)=⋯=sπ(m1+m2),
and sπ(i)=sπ(i′)
for any
i,i′∈{1,m1+1,m1+m2+1,…,8},i=i′.
Let I(xπ(m1+m2+1))={jπ(m1+m2+1)},
…,
I(xπ(8))={jπ(8)}.
From Theorem 4,
we have the permutation σ of I15
such that
[TABLE]
Clearly,
{jπ(m1+m2+1),…,jπ(8)}∩{σ(1),σ(2)}=∅.
We define
A1={jπ(i)∣i∈{m1+m2+1,…,8},jπ(i)∈{σ(3),…,σ(7)}},
A2={jπ(i)∣i∈{m1+m2+1,…,8},jπ(i)∈{σ(8),…,σ(15)}},
a1=∣A1∣,
a2=∣A2∣.
Then, a1+a2=8−m1−m2.
Case 4-1:
m1=m2=2.
Case 4-1-1: a1=0 and a2=4.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(4),σ(6)},
I(xπ(4))={σ(5),σ(7)}.
Case 4-1-2: a1=1 and a2=3.
Let
I(xπ(1))={σ(1)}
and
I(xπ(2))={σ(α),σ(α+1)}
such that
α∈{4,6}
and
A1∩{σ(α),σ(α+1)}=∅.
Let I(xπ(3))={σ(2)}
and
I(xπ(4))={σ(β),σ(β+2)}
such that
β∈{8,9,12,13}
and
A2∩{σ(β),σ(β+2)}=∅.
Case 4-1-3: a1=2 and a2=2.
Let
I(xπ(1))={σ(1)}
and
I(xπ(2))={σ(α),σ(α+1)}
such that
α∈{2,4,6}
and
A1∩{σ(α),σ(α+1)}=∅.
Let
I(xπ(3))={σ(β1),σ(β1+2)}
and
I(xπ(4))={σ(β2),σ(β2+2)}
such that
β1,β2∈{8,9,12,13},β1=β2,
and
A2∩{σ(β1),σ(β1+2),σ(β2),σ(β2+2)}=∅.
Case 4-1-4: a1=3 and a2=1.
Let
I(xπ(1))={σ(1)} and
I(xπ(2))={σ(α),σ(α+1)}
such that
α∈{8,10}
and
A2∩{σ(α),σ(α+1)}=∅.
Let
I(xπ(3))={σ(2)}
and
I(xπ(4))={σ(β),σ(β+2)}
such that
β∈{12,13}
and
A2∩{σ(β),σ(β+2)}=∅.
Case 4-1-5: a1=4 and a2=0.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(8),σ(9)},
I(xπ(3))={σ(2)},
and
I(xπ(4))={σ(12),σ(14)}.
Case 4-2: m1=3 and m2=2.
Case 4-2-1: a1=0 and a2=3.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(4),σ(5)},
and
I(xπ(3))={σ(6),σ(7)}.
Let
I(xπ(4))={σ(2)}
and
I(xπ(5))={σ(α),σ(α+2)}
such that
α∈{8,9,12,13}
and
A2∩{σ(α),σ(α+2)}=∅.
Case 4-2-2: a1=1 and a2=2.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(α1),σ(α1+1)},
and
I(xπ(3))={σ(α2),σ(α2+1)}
such that
α1,α2∈{2,4,6},α1=α2,
and
A1∩{σ(α1),σ(α1+1),σ(α2),σ(α2+1)}=∅.
Let
I(xπ(4))={σ(β1),σ(β1+2)}
and
I(xπ(5))={σ(β2),σ(β2+2)}
such that
β1,β2∈{8,9,12,13},β1=β2,
and
A2∩{σ(β1),σ(β1+2),σ(β2),σ(β2+2)}=∅.
Case 4-2-3: a1=2 and a2=1.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(α),σ(α+1)},
and
I(xπ(3))={σ(α+2),σ(α+3)}
such that
α∈{8,12}
and
A2∩{σ(α),σ(α+1),σ(α+2),σ(α+3)}=∅.
Let
I(xπ(4))={σ(2)}
and
I(xπ(5))={σ(β),σ(β+2)}
such that
β∈{8,9,12,13}
and
(A2∪{σ(α),σ(α+1),σ(α+2),σ(α+3)})∩{σ(β),σ(β+2)}=∅.
Case 4-2-4: a1=3 and a2=0.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(8),σ(9)},
I(xπ(3))={σ(10),σ(11)},
I(xπ(4))={σ(2)},
and
I(xπ(5))={σ(12),σ(14)}.
Case 4-3: m1=m2=3.
Case 4-3-1: a1=0 and a2=2.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(4),σ(5)},
and
I(xπ(3))={σ(6),σ(7)}.
Let
I(xπ(4))={σ(2)},
I(xπ(5))={σ(α1),σ(α1+2)},
and
I(xπ(6))={σ(α2),σ(α2+2)}
such that
α1,α2∈{8,9,12,13},α1=α2,
and
A2∩{σ(α1),σ(α1+2),σ(α2),σ(α2+2)}=∅.
Case 4-3-2: a1=a2=1.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(α1),σ(α1+1)},
and
I(xπ(3))={σ(α2),σ(α2+1)}
such that
α1,α2∈{2,4,6},α1=α2,
and
A1∩{σ(α1),σ(α1+1),σ(α2),σ(α2+1)}=∅.
Let
I(xπ(4))={σ(β1),σ(β1+2)},
I(xπ(5))={σ(β2),σ(β2+2)},
and
I(xπ(6))={σ(β3),σ(β3+2)}
such that
β1,β2,β3∈{8,9,12,13},β1=β2,β1=β3,β2=β3,
and
A2∩{σ(β1),σ(β1+2),σ(β2),σ(β2+2),σ(β3),σ(β3+2)}=∅.
Case 4-3-3: a1=2 and a2=0.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(8),σ(9)},
I(xπ(3))={σ(10),σ(11)},
I(xπ(4))={σ(2)},
I(xπ(5))={σ(12),σ(14)},
and
I(xπ(6))={σ(13),σ(15)}.
Case 4-4: m1=4 and m2=2.
Case 4-4-1: a1=0 and a2=2.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(4),σ(5)},
and
I(xπ(4))={σ(6),σ(7)}.
Let
I(xπ(5))={σ(α1),σ(α1+2)}
and
I(xπ(6))={σ(α2),σ(α2+2)}
such that
α1,α2∈{8,9,12,13},α1=α2,
and
A2∩{σ(α1),σ(α1+2),σ(α2),σ(α2+2)}=∅.
Case 4-4-2: a1=a2=1.
Let
I(xπ(1))={σ(1)}
and
I(xπ(2))={σ(α),σ(α+1)}
such that
α∈{4,6} and
A1∩{σ(α),σ(α+1)}=∅.
Let
I(xπ(3))={σ(β),σ(β+1)}
and
I(xπ(4))={σ(β+2),σ(β+3)}
such that
β∈{8,12}
and
A2∩{σ(β),σ(β+1),σ(β+2),σ(β+3)}=∅.
Let
I(xπ(5))={σ(2)}
and
I(xπ(6))={σ(γ),σ(γ+2)}
such that
γ∈{8,9,12,13}
and
(A2∪{σ(β),σ(β+1),σ(β+2),σ(β+3)})∩{σ(γ),σ(γ+2)}=∅.
Case 4-4-3: a1=2 and a2=0.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(8),σ(9)},
I(xπ(3))={σ(10),σ(11)},
and
I(xπ(4))={σ(α),σ(α+1)}
such that
α∈{2,4,6}
and
A1∩{σ(α),σ(α+1)}=∅.
Let
I(xπ(5))={σ(12),σ(14)}
and
I(xπ(6))={σ(13),σ(15)}.
Case 4-5: m1=4 and m2=3.
Case 4-5-1: a1=0 and a2=1.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(4),σ(5)},
and
I(xπ(4))={σ(6),σ(7)}.
Let
I(xπ(5))={σ(α1),σ(α1+2)},
I(xπ(6))={σ(α2),σ(α2+2)},
and
I(xπ(7))={σ(α3),σ(α3+2)}
such that
α1,α2,α3∈{8,9,12,13},α1=α2,α1=α3,α2=α3,
and
A2∩{σ(α1),σ(α1+2),σ(α2),σ(α2+2),σ(α3),σ(α3+2)}=∅.
Case 4-5-2: a1=1 and a2=0.
Let
I(xπ(1))={σ(8),σ(9)},
I(xπ(2))={σ(10),σ(11)},
I(xπ(3))={σ(12),σ(13)},
and
I(xπ(4))={σ(14),σ(15)}.
Let
I(xπ(5))={σ(2)},
I(xπ(6))={σ(α1),σ(α1+2)},
and
I(xπ(7))={σ(α2),σ(α2+2)}
such that
α1,α2∈{1,4,5},α1=α2,
and
A1∩{σ(α1),σ(α1+2),σ(α2),σ(α2+2)}=∅.
Case 4-6: m1=m2=4.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(4),σ(5)},
I(xπ(4))={σ(6),σ(7)},
I(xπ(5))={σ(8),σ(10)},
I(xπ(6))={σ(9),σ(11)},
I(xπ(7))={σ(12),σ(14)},
and
I(xπ(8))={σ(13),σ(15)}.
Case 4-7: m1=5 and m2=2.
Case 4-7-1: a1=0 and a2=1.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(4),σ(5)},
I(xπ(3))={σ(6),σ(7)},
I(xπ(4))={σ(α),σ(α+1)},
and
I(xπ(5))={σ(α+2),σ(α+3)}
such that
α∈{8,12}
and
A2∩{σ(α),σ(α+1),σ(α+2),σ(α+3)}=∅.
Let
I(xπ(6))={σ(2)}
and
I(xπ(7))={σ(β),σ(β+2)}
such that
β∈{8,9,12,13}
and
(A2∪{σ(α),σ(α+1),σ(α+2),σ(α+3)})∩{σ(β),σ(β+2)}=∅.
Case 4-7-2: a1=1 and a2=0.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(8),σ(9)},
I(xπ(3))={σ(10),σ(11)},
I(xπ(4))={σ(12),σ(13)},
and
I(xπ(5))={σ(14),σ(15)}.
Let
I(xπ(6))={σ(2)}
and
I(xπ(7))={σ(α),σ(α+2)}
such that
α∈{4,5}
and
A1∩{σ(α),σ(α+2)}=∅.
Case 4-8: m1=5 and m2=3.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(4),σ(5)},
I(xπ(3))={σ(6),σ(7)},
I(xπ(4))={σ(8),σ(9)},
I(xπ(5))={σ(10),σ(11)},
I(xπ(6))={σ(2)},
I(xπ(7))={σ(12),σ(14)},
and
I(xπ(8))={σ(13),σ(15)}.
Case 4-9: m1=6 and m2=2.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(4),σ(5)},
I(xπ(4))={σ(6),σ(7)},
I(xπ(5))={σ(8),σ(9)},
I(xπ(6))={σ(10),σ(11)},
I(xπ(7))={σ(12),σ(14)},
and
I(xπ(8))={σ(13),σ(15)}.
Case 5:
There exist
2≤m1,m2,m3≤4,
where m1≥m2≥m3,
and the permutation π of I8
such that
sπ(1)=⋯=sπ(m1),
sπ(m1+1)=⋯=sπ(m1+m2),
sπ(m1+m2+1)=⋯=sπ(m1+m2+m3),
and sπ(i)=sπ(i′)
for any
i,i′∈{1,m1+1,m1+m2+1,m1+m2+m3+1,…,8},i=i′.
Let
I(xπ(m1+m2+m3+1))={jπ(m1+m2+m3+1)},
…,
I(xπ(8))={jπ(8)}.
Case 5-1:
sπ(1)+sπ(m1+1)=sπ(m1+m2+1).
From Theorem 5,
we have the permutation σ of I15
such that
[TABLE]
Clearly,
{jπ(m1+m2+m3+1),…,jπ(8)}∩{σ(1),σ(2),σ(4)}=∅.
We define
A1={jπ(i)∣i∈{m1+m2+m3+1,…,8},jπ(i)∈{σ(3),σ(5),σ(6),σ(7)}},
A2={jπ(i)∣i∈{m1+m2+m3+1,…,8},jπ(i)∈{σ(8),…,σ(15)}},
a1=∣A1∣,
a2=∣A2∣.
Then,
a1+a2=8−m1−m2−m3.
Case 5-1-1:
m1=m2=m3=2.
Case 5-1-1-1:
a1=0 and a2=2.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(4),σ(6)},
and
I(xπ(4))={σ(5),σ(7)}.
Let
I(xπ(5))={σ(α1),σ(α1+4)}
and
I(xπ(6))={σ(α2),σ(α2+4)}
such that
α1,α2∈{8,9,10,11},α1=α2,
and
A2∩{σ(α1),σ(α1+4),σ(α2),σ(α2+4)}=∅.
Case 5-1-1-2:
a1=a2=1.
Let
I(xπ(1))={σ(1)},
I(xπ(3))={σ(2)},
and
I(xπ(5))={σ(4)}.
Case 5-1-1-2-1:
A2={σ(8)} or A2={σ(15)}.
Let
I(xπ(2))={σ(10),σ(11)},
I(xπ(4))={σ(12),σ(14)},
and
I(xπ(6))={σ(9),σ(13)}.
Case 5-1-1-2-2:
A2={σ(9)} or A2={σ(14)}.
Let
I(xπ(2))={σ(12),σ(13)},
I(xπ(4))={σ(8),σ(10)},
and
I(xπ(6))={σ(11),σ(15)}.
Case 5-1-1-2-3:
A2={σ(10)} or A2={σ(13)}.
Let
I(xπ(2))={σ(8),σ(9)},
I(xπ(4))={σ(12),σ(14)},
and
I(xπ(6))={σ(11),σ(15)}.
Case 5-1-1-2-4:
A2={σ(11)} or A2={σ(12)}.
Let
I(xπ(2))={σ(14),σ(15)},
I(xπ(4))={σ(8),σ(10)},
and
I(xπ(6))={σ(9),σ(13)}.
Case 5-1-1-3:
a1=2 and a2=0.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(8),σ(9)},
I(xπ(3))={σ(2)},
I(xπ(4))={σ(12),σ(14)},
I(xπ(5))={σ(4)},
and
I(xπ(6))={σ(11),σ(15)}.
Case 5-1-2:
m1=3 and m2=m3=2.
Case 5-1-2-1:
a1=0 and a2=1.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(4),σ(5)},
I(xπ(3))={σ(6),σ(7)},
and
I(xπ(4))={σ(2)}.
Case 5-1-2-1-1:
A2={σ(8)} or A2={σ(10)}.
Let
I(xπ(5))={σ(12),σ(14)},
I(xπ(6))={σ(9),σ(13)},
and
I(xπ(7))={σ(11),σ(15)}.
Case 5-1-2-1-2:
A2={σ(9)} or A2={σ(11)}.
Let
I(xπ(5))={σ(13),σ(15)},
I(xπ(6))={σ(8),σ(12)},
and
I(xπ(7))={σ(10),σ(14)}.
Case 5-1-2-1-3:
A2={σ(12)} or A2={σ(14)}.
Let
I(xπ(5))={σ(8),σ(10)},
I(xπ(6))={σ(9),σ(13)},
and
I(xπ(7))={σ(11),σ(15)}.
Case 5-1-2-1-4:
A2={σ(13)} or A2={σ(15)}.
Let
I(xπ(5))={σ(9),σ(11)},
I(xπ(6))={σ(8),σ(12)},
and
I(xπ(7))={σ(10),σ(14)}.
Case 5-1-2-2:
a1=1 and a2=0.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(α1),σ(α1+1)},
and
I(xπ(3))={σ(α2),σ(α2+1)}
such that
α1,α2∈{2,4,6},α1=α2,
and
A1∩{σ(α1),σ(α1+1),σ(α2),σ(α2+1)}=∅.
Let
I(xπ(4))={σ(8),σ(10)},
I(xπ(5))={σ(12),σ(14)},
I(xπ(6))={σ(9),σ(13)},
and
I(xπ(7))={σ(11),σ(15)}.
Case 5-1-3:
m1=m2=3 and m3=2.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(4),σ(5)},
I(xπ(3))={σ(6),σ(7)},
I(xπ(4))={σ(2)},
I(xπ(5))={σ(8),σ(10)},
I(xπ(6))={σ(12),σ(14)},
I(xπ(7))={σ(9),σ(13)},
and
I(xπ(8))={σ(11),σ(15)}.
Case 5-1-4:
m1=4 and m2=m3=2.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(4),σ(5)},
I(xπ(4))={σ(6),σ(7)},
I(xπ(5))={σ(8),σ(10)},
I(xπ(6))={σ(12),σ(14)},
I(xπ(7))={σ(9),σ(13)},
and
I(xπ(8))={σ(11),σ(15)}.
Case 5-2:
sπ(1)+sπ(m1+1)=sπ(m1+m2+1).
From Theorem 5,
we have the permutation σ of I15
such that
[TABLE]
Clearly,
{jπ(m1+m2+m3+1),…,jπ(8)}∩{σ(1),σ(2),σ(3)}=∅.
We define
A1={jπ(i)∣i∈{m1+m2+m3+1,…,8},jπ(i)∈{σ(4),σ(5),σ(6),σ(7)}},
A2={jπ(i)∣i∈{m1+m2+m3+1,…,8},jπ(i)∈{σ(8),…,σ(15)}},
a1=∣A1∣,
a2=∣A2∣.
Then,
a1+a2=8−m1−m2−m3.
Case 5-2-1:
m1=m2=m3=2.
Case 5-2-1-1:
a1=0 and a2=2.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(4),σ(6)},
and
I(xπ(4))={σ(5),σ(7)}.
Let
I(xπ(5))={σ(α1),σ(α1′)}
and
I(xπ(6))={σ(α2),σ(α2′)}
such that
α1,α2∈{8,9,12,13},α1′,α2′∈{10,11,14,15},α1=α2,
{σ(α1),σ(α1′)},{σ(α2),σ(α2′)}∈V(sπ(5)),
and
A2∩{σ(α1),σ(α1′),σ(α2),σ(α2′)}=∅.
Case 5-2-1-2:
a1=a2=1.
Let
I(xπ(1))={σ(1)}
and
I(xπ(2))={σ(α),σ(α+1)}
such that
α∈{4,6}
and
A1∩{σ(α),σ(α+1)}=∅.
Let
I(xπ(3))={σ(2)}
and
I(xπ(4))={σ(β),σ(β+2)}
such that
β∈{8,9,12,13}
and
A2∩{σ(β),σ(β+2)}=∅.
Let
I(xπ(5))={σ(3)}
and
I(xπ(6))={σ(γ),σ(γ′)}
such that
γ∈{8,9,12,13},γ′∈{10,11,14,15},
{σ(γ),σ(γ′)}∈V(sπ(5)),
and
(A2∪{σ(β),σ(β+2)})∩{σ(γ),σ(γ′)}=∅.
Case 5-2-1-3:
a1=2 and a2=0.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(8),σ(10)},
I(xπ(4))={σ(9),σ(11)},
I(xπ(5))={σ(12),σ(15)},
and
I(xπ(6))={σ(13),σ(14)}.
Case 5-2-2:
m1=3 and m2=m3=2.
Case 5-2-2-1:
a1=0 and a2=1.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(4),σ(5)},
I(xπ(3))={σ(6),σ(7)},
I(xπ(4))={σ(2)},
and
I(xπ(5))={σ(α),σ(α+2)}
such that
α∈{8,9}
and
A2∩{σ(α),σ(α+2)}=∅.
Let
I(xπ(6))={σ(3)}
and
I(xπ(7))={σ(β),σ(β′)}
such that
β∈{12,13},β′∈{14,15},
{σ(β),σ(β′)}∈V(sπ(6)),
and
A2∩{σ(β),σ(β′)}=∅.
Case 5-2-2-2:
a1=1 and a2=0.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
and
I(xπ(3))={σ(α),σ(α+1)}
such that
α∈{4,6}
and
A1∩{σ(α),σ(α+1)}=∅.
Let
I(xπ(4))={σ(8),σ(10)},
I(xπ(5))={σ(9),σ(11)},
I(xπ(6))={σ(12),σ(15)},
and
I(xπ(7))={σ(13),σ(14)}.
Case 5-2-3:
m1=m2=3 and m3=2.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(4),σ(5)},
I(xπ(3))={σ(6),σ(7)},
I(xπ(4))={σ(2)},
I(xπ(5))={σ(8),σ(10)},
I(xπ(6))={σ(9),σ(11)},
I(xπ(7))={σ(3)},
and
I(xπ(8))={σ(12),σ(15)}.
Case 5-2-4:
m1=4 and m2=m3=2.
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(4),σ(5)},
I(xπ(4))={σ(6),σ(7)},
I(xπ(5))={σ(8),σ(10)},
I(xπ(6))={σ(9),σ(11)},
I(xπ(7))={σ(12),σ(15)},
and
I(xπ(8))={σ(13),σ(14)}.
Case 6:
There exists
the permutation π of I8
such that
sπ(1)=sπ(2),
sπ(3)=sπ(4),
sπ(5)=sπ(6),
sπ(7)=sπ(8),
and
sπ(i)=sπ(i′)
for any
i,i′∈{1,3,5,7},i=i′.
Case 6-1:
sπ(1),sπ(3),sπ(5), and sπ(7)
are linearly independent.
From Theorem 6,
we have the permutation σ of I15
such that
[TABLE]
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(4),σ(6)},
I(xπ(4))={σ(9),σ(11)},
I(xπ(5))={σ(8),σ(12)},
I(xπ(6))={σ(10),σ(14)},
I(xπ(7))={σ(5),σ(13)},
and
I(xπ(8))={σ(7),σ(15)}.
Case 6-2:
There exists
the permutation τ of
{π(1),π(3),π(5),π(7)}
such that
sτ(π(1))+sτ(π(3))=sτ(π(5)).
For simplicity,
suppose
sπ(1)+sπ(3)=sπ(5).
From Theorem 6,
we have the permutation σ of I15
such that
[TABLE]
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(4),σ(6)},
I(xπ(4))={σ(5),σ(7)},
I(xπ(5))={σ(8),σ(11)},
I(xπ(6))={σ(12),σ(15)},
I(xπ(7))={σ(9),σ(13)},
and
I(xπ(8))={σ(10),σ(14)}.
Case 6-3:
sπ(1)+sπ(3)=sπ(5)+sπ(7).
From Theorem 6,
we have the permutation σ of I15
such that
[TABLE]
Let
I(xπ(1))={σ(1)},
I(xπ(2))={σ(2),σ(3)},
I(xπ(3))={σ(4),σ(6)},
I(xπ(4))={σ(5),σ(7)},
I(xπ(5))={σ(8),σ(12)},
I(xπ(6))={σ(11),σ(15)},
I(xπ(7))={σ(9),σ(14)},
and
I(xπ(8))={σ(10),σ(13)}.
Therefore,
from Theorem 2,
the [15,4,8] P-RIO code can be constructed
using the coset coding.
The number of pages
stored by
this code
is greater
than that of the [15,4,6] RIO code
constructed using
the same (15,11) Hamming code.
An upper bound on the sum-rate of RIO codes
and P-RIO codes that store t pages
is log(t+1) [3].
Table IV shows the sum-rates
and the upper bounds on that of
the RIO codes and the P-RIO codes
constructed via coset coding with Hamming codes.
IV Conclusion
In this paper,
we have constructed P-RIO codes
using coset coding with Hamming codes.
When each page is encoded,
the information on the data of the other pages
is leveraged to
increase the number of stored pages
compared to that for
RIO codes.
Our P-RIO codes are constructive,
whereas the approach in [3]
is based on exhaustive search.
However,
in our approach,
the number of cases required for the encoding
increases with the number of pages.
Therefore,
we should consider another approach
to deriving
the number of pages of P-RIO codes
that can be constructed using Hamming codes
of length (2r−1)
for r≥5.
Acknowledgment
This work was partially supported by
the Advanced Storage Research Consortium
and JSPS KAKENHI Grant Number
15K00010.