Construction of Unrestricted Rate Parallel Random Input Output Code
Shan Lu, Horoshi Kamabe, Jun Cheng, Akira Yamawaki

TL;DR
This paper proposes a new coding scheme for two-page unrestricted-rate PRIO codes with different rates, achieving higher sum rates and guaranteeing unique decodability through a constructive approach.
Contribution
It introduces a novel two-page coding scheme with disjoint codes, improving sum rates and providing a constructive method for arbitrary code lengths.
Findings
Higher sum rates than previous codes
Disjoint codes constructed using constant-weight code principles
Constructive scheme applicable to arbitrary code lengths
Abstract
A coding scheme for two-page unrestricted-rate PRIO code that each page may have different code rates is proposed. In the second page, the code for each messages consists of two complementary codewords with code length n. There are a total of 2n-1 codes which are disjoint to guarantees uniquely decodable for 2n-1 messages. In the first page, the code for each message consists of all weight-u vectors with their non-zero elements restricted to (2u-1) same positions, where non-negative integer u is less than or equal to half of code length. Finding codes to be disjoint in first page is equivalent to construction of constant-weight codes, and the numbers of disjoint codes are the best-known numbers of codewords in constant-weight codes. Our coding scheme is constructive, and the code length is arbitrary.The sum rates of our proposed codes are higher than those of previous work.
| 000 | 112 | 121 | 211 | 122 | |
| 001 | 002 | 120 | 210 | 220 | |
| 010 | 102 | 020 | 201 | 202 | |
| 100 | 012 | 021 | 200 | 022 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
| 4 | 4 | 1 | – | – | – | – | – |
| 5 | 5 | 2 | 1 | – | – | – | – |
| 6 | 6 | 4 | 1 | – | – | – | – |
| 7 | 7 | 7 | 1 | 1 | – | – | – |
| 8 | 8 | 8 | 2 | 1 | – | – | – |
| 9 | 9 | 12 | 3 | 1 | 1 | – | – |
| 10 | 10 | 13 | 6 | 1 | 1 | – | – |
| 11 | 11 | 17 | 11 | 2 | 1 | 1 | – |
| 12 | 12 | 20 | 12 | 3 | 1 | 1 | – |
| 13 | 13 | 26 | 18 | 4 | 1 | 1 | 1 |
| 14 | 14 | 28 | 28 | 8 | 2 | 1 | 1 |
| 15 | 15 | 35 | 42 | 15 | 3 | 1 | 1 |
| 5 | 2 | |
| 6 | 4 | |
| 7 | 7 | |
| 8 | 8 | |
| 9 | 12 | |
| 15 | 35 | |
| 7 | 1 | |
| 8 | 2 | |
| 9 | 3 | |
| 10 | 6 | |
| 00000 | 21111 | 12111 | 11112 | 11121 | 11211 | 21211 | 12121 | 22211 | |
| 00001 | 21110 | 12110 | 00002 | 11120 | 11210 | 21210 | 12120 | 22210 | |
| 00010 | 21101 | 12101 | 11102 | 00020 | 11201 | 21201 | 12102 | 22201 | |
| 00011 | 21100 | 12100 | 00012 | 00021 | 11200 | 21200 | 00022 | 22200 | |
| 00100 | 21011 | 12011 | 11012 | 11021 | 00200 | 21021 | 12012 | 22021 | |
| 5 | 00101 | 21010 | 12010 | 00102 | 11020 | 00201 | 21020 | 12020 | 22020 |
| 6 | 00110 | 21001 | 12001 | 11002 | 00120 | 00210 | 00220 | 12002 | 22002 |
| 7 | 00111 | 21000 | 12000 | 00112 | 00121 | 00211 | 00221 | 00122 | 00222 |
| 8 | 01000 | 20111 | 02000 | 10112 | 10121 | 10211 | 20121 | 10122 | 10222 |
| 9 | 01001 | 20110 | 02001 | 01002 | 10120 | 10210 | 20120 | 02002 | 20220 |
| 10 | 01010 | 20101 | 02010 | 10102 | 01020 | 10201 | 20201 | 02020 | 20202 |
| 11 | 01011 | 20100 | 02011 | 01012 | 01021 | 10200 | 20200 | 02012 | 02022 |
| 12 | 01100 | 20011 | 02100 | 10012 | 10021 | 01200 | 20021 | 10022 | 20022 |
| 13 | 01101 | 20010 | 02101 | 01102 | 10020 | 01201 | 20020 | 02102 | 02202 |
| 14 | 01110 | 20001 | 02110 | 10002 | 01120 | 01210 | 01220 | 02120 | 02220 |
| 15 | 01111 | 20000 | 02111 | 01112 | 01121 | 01211 | 01221 | 02112 | 01222 |
| 0000 | 2111 | 1211 | 1121 | 1112 | 2200 | 1122 | |
| 0001 | 2110 | 1210 | 1120 | 0002 | 2210 | 2220 | |
| 0010 | 2101 | 1201 | 0021 | 1102 | 2201 | 2202 | |
| 0011 | 2100 | 1200 | 0021 | 0012 | 2200 | 0022 | |
| 0100 | 2011 | 0200 | 1021 | 1012 | 2021 | 2022 | |
| 0101 | 2010 | 0201 | 1020 | 0102 | 2020 | 0202 | |
| 0110 | 2001 | 0210 | 0120 | 1002 | 0220 | 2002 | |
| 1000 | 2000 | 0211 | 0121 | 0112 | 0221 | 0222 |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
Topicsgraph theory and CDMA systems · DNA and Biological Computing · Coding theory and cryptography
Construction of Unrestricted-Rate
Parallel Random Input-Output Code
Shan Lu, Horoshi Kamabe
Department of Electrical, Electronic,
and Computer Engineering,
Gifu University,
1-1, Yanagido, Gifu, 501-1193 Japan
Email: [email protected]
Jun Cheng
Department of Intelligent Information
Engineering and Sciences,
Doshisha University,
Kyotanabe, Kyoto, 610-0321 Japan
Email: [email protected]
Akira Yamawaki
Department of Electrical, Electronic,
and Computer Engineering,
Gifu University,
1-1, Yanagido, Gifu, 501-1193 Japan
Email: [email protected]
Abstract
A coding scheme for two-page unrestricted-rate P-RIO code that each page may have different code rates is proposed. In the second page, the code for each messages consists of two complementary codewords with code length . There are a total of codes which are disjoint to guarantees uniquely-decodable for messages. In the first page, the code for each message consists of all weight- vectors with their non-zero elements restricted to same positions, where non-negative integer is less than or equal to half of code length. Finding codes to be disjoint in first page is equivalent to construction of constant-weight codes, and the numbers of disjoint codes are the best-known numbers of codewords in constant-weight codes. Our coding scheme is constructive, and the code length is arbitrary. The sum rates of our proposed codes are higher than those of previous work.
I Introduction
Flash memories are the prevalent type of non-volatile memory (NVM) in use today which are intended for SSD and mobile applications. Flash memories are comprised of blocks of cells. The cells can have binary values or multiple levels. Multilevel flash memories can store multiple bits in a cell. Conventionally, in multilevel flash memory, in order to read a single logical page, more than a single read threshold, on average, is required.
To increase input/output (I/O) performance for multilevel flash memories. A random input-output (RIO) code [1] is proposed. It is a coding scheme that permits writing pages in levels and reading one page of data from multi-level flash memories only uses one single read threshold. A one-to-one correspondence between RIO codes [1] and the well studied WOM codes [3] is shown. However, in WOM codes, the encoder sets the cell state values based on the current memory state and the received message on each write, thus, the message are stored sequentially and are not all known in advance while encoding. Moreover, it is difficult to use difference code rate for each writing in WOM codes.
In RIO codes, all the messages of each level can be known in advance, it is unnecessary to store messages sequentially and possible to control difference code rate for each level. Therefore, a parallel RIO (P-RIO) code [2] is proposed that the encoding of each level is done in parallel while reading one page of data using a single read threshold. Higher sum-rates of P-RIO codes are achieved [2] than that of RIO codes [1]. In [2], only fixed-rate P-RIO code is considered that the rates of each page are same. The complexity of research algorithm in [2] increases exponentially and the search space quickly becomes memory and computationally intensive as code length increases.
In this paper, we propose a coding scheme for two-page unrestricted-rate P-RIO code that each page may have different code rates. In the second page, the code for each messages consists of two complementary codewords with code length . There are a total of codes which are disjoint to guarantees uniquely-decodable for messages. In the first page, the code for each message consists of all weight- vectors with their non-zero elements restricted to same positions, where non-negative integer is less than or equal to half of code length. Finding codes to be disjoint in first page is equivalent to construction of constant-weight codes, and the numbers of disjoint codes are the best-known numbers of codewords in constant-weight codes. Our coding scheme is constructive, and the code length is arbitrary. The sum rates of our proposed codes are higher than those of conventional fixed-rate P-RIO codes in [2].
II Preliminary
II-A Unrestricted-Rate P-RIO Code
Assume that in the flash memory, the cells have levels and all cells are in level zero initially. It is only possible to increase the level of each cell. We denote by . For cells, a vector will be called a cell state vector.
P-RIO code is a coding scheme that encoding of each page (level) in parallel while reading one page of data using a single read threshold. In a -level flash memory, there are ’s pages. Let , , be the number of messages for th page.
We expand the definition of P-RIO codes in [2] to -P-RIO code as follows.
Definition 1** ([2])**
An -P-RIO code is a code with an encoding scheme comprising of cells with levels and is defined by encoding map
[TABLE]
and decoding maps , for , where messages of each page .
The sum rate of -P-RIO code is
[TABLE]
Note that the code rates of each page in -P-RIO codes may be unequal, that is for . In [2], only the P-RIO codes with same code rate of each page are considered.
The decoding maps is first to read one page of data using a single read threshold, and then decode the data to corresponding message. Let be a threshold level between pages and , , called th threshold. The data of reading the th threshold from the cell state is denoted as where
[TABLE]
Vector gives the th level’s message.
II-B -P-RIO Code
Now we consider flash memory, that is to say, there are two pages on each cell.
Let and be two -vectors. We say that vector is included in vector , denoted by , if and only if for .
Given two sets , if there exists at least one vector and at least one vector such that , we say that set is included in set , denoted by .
Let set with , . we say that is included in B, denoted by , if for all .
The following theorem is given in [2] with .
Theorem 1** ([2])**
An P-RIO code exists if and only if two sets and with , , that satisfy the following conditions:
* and for all , , .* 2. 2.
*For any , , . ** *
From Theorem 1, we have that set A is the code of first page, subset is the constituent code for the th message. Similarly, B is the code of second page, subset is the constituent code for the th message. The first condition in Theorem 1 guarantees the uniquely-decodable for each page’s messages. The second condition guarantees reading one page of data using a single read threshold.
Example 1
Table I gives an example of (3;5,4) P-RIO code. The columns correspond to the symbol value of the first page. The sets of the code are corresponding the messages of first page.
The rows correspond to the symbol value of the second page. The sets of the codes are corresponding the messages of second page. The code rate of two sets are 0.773 and 0.667, respectively. The sum rate is
When the message of the first page is , the message of the second page is , based on the Table I, we have that the cell state is .
Threshold level between level [math] and is 1, threshold level between level and is 2. , . Since , , thus, the message of the first page is , the message of the second page is .
III Construction of -P-RIO Code
In this section, we give a construction of -P-RIO code.
III-A Construction of B
Let binary -vector with its index , a decimal representaion of . We define
[TABLE]
where is all-1 -vector and notation represents a modulo-2 sum of two binary vectors. Obviously, for . Thus we obtain with
Let be the Hamming weight of vector . From (1) we have
[TABLE]
Note that there always exists one vector in such that its weight is greater than or equal to , where is the smallest integer greater than or equal to .
III-B Construction of A
In this section, for a given , we will show that a constant-weight set, consisting of all weight- vectors with their non-zero elements restricted to same positions, is included in set B. The disjoint ones, among the constant- weight sets with all possible permutations of non-zero positions on positions for all , forms set A.
For a given positive integer , let be an integer with and . Let be a collection of all -vectors with Hamming weight . We arrange all the = vectors in set into matrix , called a core matrix.
From , we give a matrix
[TABLE]
where the most left columns forms , and the remaining columns , , are all-0 column vectors. Denote by a set of rows in matrix .
Example 2
For , , we have T^{(2)}_{\text{core}}=\left[\begin{array}[]{c }110\\ 011\\ 101\end{array}\right], T^{(2,4)}=\Biggl{[}\begin{array}[]{cccc }1&1&0&0\\ 0&1&1&0\\ 1&0&1&0\end{array}\Biggl{]}, and .
Lemma 1
For , it follows that .
Proof: For any , we rewrite where . From (1), for any , it always satisfies that
[TABLE]
This implies that or
Since includes all the -vectors with weight , there exists at least one, for example, , such that or . Therefore there exists at least one vector, , such that or , for all . This completes the proof.
Let sequence is a permutation of the integers 0 to . Denote a column permutation on by
[TABLE]
Let be a set of rows in matrix . Similar to Lemma 1, we have the following lemma.
Lemma 2
For and permutation , it follows that .
Since there are ’s all-zero columns in matrix , for all possible permutation, we have matrices and their corresponding sets , . Let be a set of non-zero columns’ indexes in matrix . Denote by a cardinality of set. The following lemma shows sufficient and necessary conditions for two permutation patterns such that their corresponding sets are disjoint.
Lemma 3
Two sets , if and only if
[TABLE]
Proof: (Sufficient condition:) Assume that . This means and have at most same elements. Since every and every have weight of , it follows . Thus .
(Necessary condition:) Assume that . Since weights of any vectors in these two sets are , there exist at least different elements between and . Thus . This completes the proof.
Lemma 3 means that among all possible permutations , the permutation patterns satisfying (5) gives disjoint sets. In practical, finding these permutations is not easy. Fortunately, we can find a solution in the related research field on constant-weight codes [4]. For a given codeword in a constant-weight code with code length , minimum Hamming distance , and weight , the non-zero positions in the codeword are the non-zero columns’ indexes in matrix . Let be the number of constant-weight codewords. The constant-weight codewords give permutation patterns and thus provide with . Here we use the same notation for and for convenience.
The permutation patterns satisfying (5) and the number of are given in Table II for [4, 5, 6]. Note that for .
Tables III and IV give all possible permutation patterns of for forming disjoint sets.
Moreover, for two district and , it follows that since the weights in these two sets are distinct. Let
[TABLE]
We have the main result of this work.
Theorem 2
Sets A in (6) and B in (1) form an
[TABLE]
where .
Let us look more closely at , in (6). In the case of odd , there does not exists any all-zero column in of (3). Thus sets from any possible permutations are the same as itself, and thus . Furthermore, we observe that , where is the set of all -vector with Hamming weight .
In the case of even , there exists one all-zero column in of (3), and thus possible permutation patterns gives possible matrices, s. According to , the corresponding possible sets, s, are joint each other. As a result, we choose one, e.g., , among s, in our proposed code in Theorem 2, and thus . Different from the case of odd , we observe that since consists of only the weigh- vectors with the most right bit being 0. This observation motives us to improve our proposed codes in Theorem 2 by adding a supplemental set to A.
Specifically, given an even , let and . Adding to A of (6) provides .
Theorem 3
For a given even , sets and B in (1) form an
[TABLE]
where .
Proof: We first show that . We partition B into two parts and . The first part consists of s whose elements are with weight . The remaining s form . Since , every has a vector whose weight is greater than . Therefore we have .
We now show . Among , the most right bit of every vector is 1, and the remaining bits forms the all subvectors with weight . In , one of two vectors always has the most right bit being 1 and remaining bits be weight . Therefore . It follows that .
It remains to show . Since the most right bit in is 1 while that in is 0, it follows that and thus . Also we have because weights in the two sets are distinct. Therefore . This completes the proof.
III-C Code Rate of Two-Write Unrestricted-Rate P-RIO-Code
Based on in Table II, we have of P-RIO codes in Table V, compared with that of fixed-rate P-RIO code [2]. From the table, we see that the sum rates of our P-RIO codes are higher than those of the fixed P-RIO codes given in [2] when . When , there is no data in [2] since construction complexity is very high.
III-D Examples
Now we give two examples of P-RIO codes with code length of .
Example 3
For , by (1), we have the set of second page of
[TABLE]
Next, we construct as follows. When , , and then . When , , we have that . When , from Example 2 we have .
Since is even, and , from Theorem 3, we have .
Therefore, we have . From Theorem 3, and B provide -P-RIO code as shown in Table. VII.
Example 4
For , from (1), we have
[TABLE]
When and , we have , and , , , , .
When , from Table III, we have and .
When , we have .
Finally, we obtain the (5;9,16)-P-RIO code in Table. VI.
IV Conclusion
In this paper, we proposed a coding scheme for two-page unrestricted-rate P-RIO code that each page may have different code rates. Our coding scheme is constructive, and the code length is arbitrary. The sum rates of our proposed codes are higher than those of conventional fixed-rate P-RIO codes in [2].
Acknowledgement
This work was supported by the Japan Society for the Promotion of Science through the Grant-in-Aid for Scientific Research (C) under Grant 16K06373, in part by MEXT through the Strategic Research Foundation at Private Universities (2014-2018) under Grant S1411030, and the Advanced Storage Research Consortium and JSPS KAKENHI Grant 15K00010.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] E. Sharon and I. Alrod, “Coding scheme for optimizing random I/O Performance,” in Proc. Non-Volatile Memories Workshop , San Diego, CA, USA, Apr. 2013.
- 2[2] E. Yaakobi and R. Motwani, “Construction of random input-output codes with moderate block lengths,” IEEE Trans. Commun. , vol. 64, no. 5, May 2016.
- 3[3] R. L. Rivest and A. Shamir, “How to reuse a write-once memory,” Inf. Control, vol. 55, nos. 1-3, pp. 1-19, Dec. 1982.
- 4[4] R. L. Graham and N. J. A. Sloane, “Lower bounds for constant weight codes,” IEEE Trans. Inform. Theory , vol. IT-26, pp. 37-43, 1980.
- 5[5] A. E. Brouwer, J. B. Shearer, N. J. A. Sloane, and W. D. Smith, “A new table of constant weight codes,” IEEE Trans. Inform. Theory , vol. 36, pp. 1334-1380, 1990.
- 6[6] E. Agrell, A. Vardy, and K. Zeger, “Upper bounds for constant weight codes,” IEEE Trans. Inform. Theory , vol. 46, pp. 2373-2395, 2000.
