Minimizing the Number of Detrimental Objects in Multi-Dimensional Graph-Based Codes
Ahmed Hareedy, Rohith Kuditipudi, Robert Calderbank

TL;DR
This paper introduces a technique to optimize multi-dimensional graph-based codes by reducing detrimental objects, leading to improved error correction and longer lifespan in dense storage systems.
Contribution
It presents a novel method for minimizing harmful objects in MD codes through strategic relocations, enhancing code performance over traditional cycle-focused approaches.
Findings
Significant lifetime gains in Flash systems using MD codes.
Effective reduction of detrimental objects compared to cycle-based methods.
Applicable to various one-dimensional codes.
Abstract
In order to meet the demands of data-hungry applications, data storage devices are required to be increasingly denser. Various sources of error appear with this increase in density. Multi-dimensional (MD) graph-based codes are capable of mitigating error sources like interference and channel non-uniformity in dense storage devices. Recently, a technique was proposed to enhance the performance of MD spatially-coupled codes that are based on circulants. The technique carefully relocates circulants to minimize the number of short cycles. However, cycles become more detrimental when they combine together to form more advanced objects, e.g., absorbing sets, including low-weight codewords. In this paper, we show how MD relocations can be exploited to minimize the number of detrimental objects in the graph of an MD code. Moreover, we demonstrate the savings in the number of relocation…
Click any figure to enlarge with its caption.
Figure 1
Figure 2
Figure 3
Figure 4| MD coupling technique | Number of UAS instances |
| No MD coupling | |
| Algorithm 1 |
| MD coupling technique | Number of UAS instances |
| No MD coupling | |
| Algorithm 1 |
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.
Minimizing the Number of Detrimental Objects in Multi-Dimensional Graph-Based Codes
Ahmed Hareedy, Rohith Kuditipudi, and Robert Calderbank
Electrical and Computer Engineering Department, Duke University, Durham, NC 27705 USA
[email protected], [email protected], and [email protected]
Abstract
In order to meet the demands of data-hungry applications, data storage devices are required to be increasingly denser. Various sources of error appear with this increase in density. Multi-dimensional (MD) graph-based codes are capable of mitigating error sources like interference and channel non-uniformity in dense storage devices. Recently, a technique was proposed to enhance the performance of MD spatially-coupled codes that are based on circulants. The technique carefully relocates circulants to minimize the number of short cycles. However, cycles become more detrimental when they combine together to form more advanced objects, e.g., absorbing sets, including low-weight codewords. In this paper, we show how MD relocations can be exploited to minimize the number of detrimental objects in the graph of an MD code. Moreover, we demonstrate the savings in the number of relocation arrangements earned by focusing on objects rather than cycles. Our technique is applicable to a wide variety of one-dimensional (OD) codes. Simulation results reveal significant lifetime gains in practical Flash systems achieved by MD codes designed using our technique compared with OD codes having similar parameters.
I Introduction
The continuous and rapid growth in the density of modern storage devices brings many challenges. One of these challenges is an increase in the number of sources of data corruption in the system, which requires advanced error correcting codes to be applied. Because of their capacity-approaching performance and the degrees of freedom they offer in the code construction, graph-based codes, e.g., low-density parity-check (LDPC) codes, are applied in many data storage systems. Binary and non-binary graph-based codes are used in both Flash [2, 3] and magnetic recording [4] systems to significantly improve the performance.
Multi-dimensional (MD) graph-based codes are constructed by coupling different copies of a one-dimensional (OD) code to enhance the code properties. Because of the additional design flexibility offered by MD coupling, MD codes are capable of alleviating different types of interference and channel non-uniformity in modern storage systems. One example is mitigating inter-track interference in two-dimensional magnetic recording (TDMR) systems [4] through specific non-binary LDPC code constructions as in [5]. Various MD spatially-coupled (MD-SC) codes have been presented in the literature [6, 7, 8, 9]. While these MD-SC codes demonstrated performance gains, they had limitations in the underlying OD codes and the topologies of the resulting MD codes.
Recently, the authors of [10] proposed a technique for a systematic construction of MD-SC codes that are based on circulants. Through carefully chosen relocations of circulants from the copies of the OD code to certain auxiliary matrices, they managed to significantly reduce the number of short cycles in the graph of the MD-SC code. While cycles are not preferred in graph-based codes, they become a lot more detrimental when they combine together to form absorbing sets (ASs), including low-weight codewords. ASs, not cycles, are the objects that dominate the error profile of graph-based codes in the error floor region [3, 11].
In this paper, we demonstrate how to use MD coupling to eliminate as many detrimental objects as possible from the graph of an MD code. The underlying OD codes we use can be structured or random, and can be block or SC codes. By deriving the fraction of relocation arrangements for different cases, we manifest the savings in relocation options achieved by operating on objects rather than cycles. Experimental results emphasizing the reduction in the multiplicity of detrimental objects are shown. Simulation results demonstrating (resp., ) program/erase cycles gain in the waterfall (resp., error floor) region over practical Flash channels compared with OD codes having similar length and rate are presented.
The rest of the paper is organized as follows. In Section II, MD graph-based codes are introduced. How ASs are removed via relocations is discussed in Section III. Next, the savings in relocation arrangements are derived in Section IV. In Section V, the code design algorithm and experimental results are presented. The paper is concluded in Section VI.
II MD Graph-Based Codes
The technique we propose in this paper can be used to construct binary and non-binary codes. However, since the process of relocations affects only the code topology, we focus on the unlabeled graphs (all edge weights are set to ) and binary matrices [3].
Define as the parity-check matrix of the underlying OD code, and as the parity-check matrix of the MD code. Recall the correspondence between the parity-check matrix and the graph of a code. Define auxiliary matrices, , , …, having the same dimensions as . The MD matrix is given by:
[TABLE]
where (see also [10]). The graphs of the OD codes we use do not have any cycles of length . According to the construction of , the data to be stored is separated into chunks, and each chunk is stored in a track or a sector of the storage device. The matrix is constructed by coupling the OD copies of via carefully relocating some of the non-zero (NZ) entries in these copies to auxiliary matrices in order to eliminate certain detrimental objects from the graph of the MD code. Relocations are mathematically represented by an MD mapping as follows:
[TABLE]
where is an NZ entry corresponding to an edge connecting check node (CN) to variable node (VN) in the graph of . This mapping is explained as follows: means that the NZ entry is relocated from to ( times) at the same position it had in , with referring to the no-relocation case.
Here, is a prime integer , and both and have a fixed column weight, i.e., fixed VN degree, . The row weight, i.e., CN degree, is not necessarily fixed.
Define a cycle of length in the graph of by the following set of NZ entries in : , such that two entries and , and , are consecutive entries on the cycle. The authors of [10] proved that this cycle stays active after a relocation arrangement if and only if111This condition bares similarity to the condition in [12] for protograph lifting. In fact, some of the results in this paper are applicable to the procedures of lifting and non-binary labeling.:
[TABLE]
For a cycle of length to stay active, its copies must result in cycles of length in the graph of . If (3) is not satisfied, the cycle becomes inactive, and its copies result in a single cycle of length . The result in [10] was for . However, this result generalizes to any prime .
Under iterative decoding, the detrimental (error-prone) objects in the graph of a code are typically ASs, including low-weight codewords. This was shown to be the case for additive white Gaussian noise (AWGN) [11, 13], Flash [3, 14], and magnetic recording [3] channels. Thus, recall:
Definition 1**.**
Let be a subset of VNs in the unlabeled graph of a code. Let (resp., and ) be the set of degree- (resp., and ) CNs connected to . This graphical configuration is an unlabeled elementary absorbing set (UAS) if , , , and each VN in is connected to strictly more neighbors in than in .
Remark 1**.**
Many non-elementary absorbing sets appearing in the error profile of non-binary graph-based codes over practical Flash channels have underlying unlabeled elementary configurations [3].
We study UASs having connected subgraphs. A UAS in a code with and a UAS in a code with are shown in Fig. 1. Circles (resp., grey squares and white squares) represent VNs (resp., degree- CNs and degree- CNs). In the following sections, we will investigate how to perform relocations to minimize the number of UASs in the graph of an MD code to enhance its performance.
III Removing ASs Through Relocations
An UAS has the following number of degree- CNs:
[TABLE]
We now revisit the concept of basic cycles, which generalizes the concept of fundamental cycles first introduced in [13] for non-binary graph-based codes, to represent a UAS.
Definition 2**.**
A cycle basis of an UAS is a minimum-cardinality set of cycles using disjunctive unions of which, each cycle in the UAS can be obtained. We call the cycles in basic cycles.
Denote a Galois field of size as GF(). Since our graphs are unlabeled (no weights), span can be represented by a vector space over GF(), with its vectors being of size and their elements are also in 2. There are basic cycles. From graph theory principles, this number is computed by subtracting the number of degree- CNs, each represented by the pair of edges adjacent to it, comprising the tree spanning all VNs from the total number of degree- CNs. Consequently,
[TABLE]
where the last equality is obtained using (4). Without loss of generality, in this paper, we always select the basic cycles in to be of the smallest lengths for simplicity.
Example 1**.**
Consider the UAS, , in Fig. 1. From (III), the number of basic cycles is:
[TABLE]
We select the two cycles in dotted blue and dotted red shown in the figure to be the elements of . A cycle in span can be written as:
[TABLE]
where is an indicator function of the existence of the NZ entry . Thus, the dotted blue and dotted red basic cycles are:
[TABLE]
respectively. Adding the vectors of the two basic cycles over GF() gives:
[TABLE]
which is the vector of the remaining cycle in the UAS.
Given the number of basic cycles in an UAS, we now introduce useful bounds on the total number of cycles.
Lemma 1**.**
The total number of cycles, , in an UAS having basic cycles is bounded as follows:
[TABLE]
Proof:
Lower bound: Since the subgraph of the UAS is connected, we can always find an order for the basic cycles such that each two consecutive basic cycles share at least one degree- CN. Any two cycles sharing at least one degree- CN form a new cycle if the vectors representing them are added. Thus, the minimum value of is computed as follows. At first, we have one cycle, which is the first basic cycle. Then, we get two more cycles, which are the second basic cycle and the cycle resulting from adding the vectors of the first and the second ones over GF(); we refer to this cycle as cycle . Then, we get at least three more cycles referred to as , , and , and the lower bound is achieved if the first and third basic cycles do not share CNs. This continues till the last basic cycle. As a result,
[TABLE]
Upper bound: The upper bound is achieved if the addition of any distinct group of basic cycles gives a distinct cycle. Consequently,
[TABLE]
where the second equality follows from the binomial theorem. Combining (7) and (8) gives (6). ∎
Example 2**.**
The upper and the lower bounds are the same for the UAS, , in Fig. 1. Since , from (6), which is what we know from Example 1. On the contrary, only the upper bound is achieved for the UAS, , in Fig. 1 because of its connectivity. Since from (III), from (6).
We are now ready to introduce the condition under which a UAS stays active after a relocation arrangement. For an UAS to stay active, its copies in the graphs of copies must result in UASs in the graph of .
Theorem 1**.**
The necessary and sufficient condition for an UAS to stay active after a relocation arrangement is that (3) is satisfied for all the basic cycles in a cycle basis of the UAS. Otherwise, the UAS becomes inactive, and the VNs of its copies form an object.
Proof:
We prove the sufficiency of the condition in Theorem 1 first. The UAS stays active if all its cycles stay active after the relocation arrangement, i.e., if (3) is satisfied for all its cycles. By definition, any cycle in the UAS is a disjunctive union of the basic cycles, i.e., a linear combination of the vectors of the basic cycles, of that UAS. Thus, if (3) is satisfied for all the basic cycles, it is also satisfied for all the cycles. Therefore, the UAS stays active if (3) is satisfied for all its basic cycles in .
The necessity follows from that if at least one basic cycle does not have (3) satisfied after relocations, then there exists at least one cycle in the UAS that is not active. Thus, the UAS becomes inactive.
Now, if the UAS is inactive, at least one of its cycles has:
[TABLE]
where is the number of VNs in that cycle. Since we use prime , the left-hand side becomes 0\textup{ (mod M)} only via:
[TABLE]
which corresponds to a cycle of length . This observation means that VNs from the copies of the UAS form a cycle together after relocations. Consequently, and since the subgraph of the UAS is connected, the VNs of the copies of the UAS form an object. ∎
If the UAS becomes inactive after relocations, its copies are removed from the graph of . Depending on certain factors, including which cycles in the UAS become inactive after relocations, different, possibly non-isomorphic, configurations can be generated if the UAS is inactive. On a smaller scale, the M copies of the UAS result in multiple objects, , in this case.
Example 3**.**
Consider an instance of the UAS, , in Fig. 1, which exists in , and let for . The three copies of the UAS in are shown in the left panel of Fig. 2 (degree- CNs are not shown). We check the following two relocation arrangements:
Arrangement 1: , while all the remaining NZ entries of the UAS are not relocated. Here, (3) is satisfied for both the dotted blue and the dotted red basic cycles. Thus, the UAS stays active, which is shown in the upper panel of Fig. 2.
Arrangement 2: , while all the remaining NZ entries of the UAS are not relocated. Here, (3) is not satisfied for either basic cycle. Thus, the UAS becomes inactive, which is shown in the lower panel of Fig. 2. How the three copies of the UAS result in a object after relocations is demonstrated in Fig. 3.
Remark 2**.**
The analysis in Sections III and IV can be introduced for NZ circulants, which was the case in [10], rather than NZ entries. However, it is easier for the reader to understand the concepts when NZ entries, or edges, are used.
IV Savings in Relocation Options
Targeting UASs instead of the cycles comprising them not only makes the focus in the code design on the more detrimental objects, but also achieves significant savings in the degrees of freedom offered by relocation arrangements. These savings are reflected in performance gains. Here, we demonstrate these savings. In the following results, fractions are out of all possible relocation arrangements. Let .
Lemma 2 discusses the relocation arrangements in case the focus is on removing short cycles from the graph of .
Lemma 2**.**
The fraction of relocation arrangements for an UAS under which all the basic cycles in a cycle basis of the UAS become inactive is given by:
[TABLE]
Moreover, the fraction of relocation arrangements for an UAS under which all its cycles become inactive is upper-bounded as follows:
[TABLE]
Proof:
We can always order the basic cycles in of the UAS such that there does not exist a basic cycle sharing all its CNs with previous ones. In this proof, we access the basic cycles one by one according to that order and assign relocations to their edges one by one.
Proof of (11): We want to break (3) for all the basic cycles in . For the first basic cycle, each of its edges has different relocation options except the last edge. For that last edge, only relocation options are available since the option that makes (3) satisfied is excluded. Assuming that the number of edges in this cycle is , the fraction of relocation arrangements that make this cycle inactive is:
[TABLE]
Now, suppose that we are at basic cycle , and let be the number of edges with no relocation assignment after finishing the first basic cycles. Note that has to be greater than [math] from the order of basic cycles we adopt. Still of those edges have different relocation options except the last edge, which has only relocation options. Consequently, the fraction of relocation arrangements for the UAS under which all its basic cycles in become inactive is:
[TABLE]
Proof of (12): Here, we adopt the ordering described at the beginning of this proof with one extra condition, which is each two consecutive basic cycles share at least one degree- CN (see the proof of Lemma 1).
We want to break (3) for all the cycles, and we do that via the basic cycles of the UAS. For the first basic cycle, the fraction of relocation arrangements that make this cycle inactive is given by (13). For the second basic cycle, we want not only to make it inactive, but also to make the cycle resulting from adding the vectors of these two basic cycles over GF() inactive. Thus, for the last edge of the second basic cycle, we only have relocation options. The upper bound is satisfied if the lower bound on in (6) is satisfied. In this case, at basic cycle , the number of relocation options we have for the last edge is only . Consequently,
[TABLE]
which completes the proof. ∎
Theorem 2 discusses the relocation arrangements in case the focus is on removing UASs from the graph of .
Define as the set of CNs in basic cycle , and . Moreover,
[TABLE]
Let be the unordered group comprising the CNs of . Then, we define the following set:
[TABLE]
Let be the unordered group comprising the CNs of . Then, we define the following set:
[TABLE]
Theorem 2**.**
The fraction of relocation arrangements for an UAS under which the UAS becomes inactive is given by:
[TABLE]
Moreover, the fraction of relocation arrangements for an UAS under which the copies of the UAS result in at least objects, with , is given by:
[TABLE]
Proof:
We order the basic cycles in a cycle basis of the UAS as done in the proof of Lemma 2. We also access the basic cycles and assign relocations to their edges one by one according to that order.
Proof of (19): First, we find the fraction of relocation arrangements under which the UAS stays active. Thus, and from Theorem 1, we want to satisfy (3) for all the basic cycles in to make them active. For the first basic cycle, each of its edges has different relocation options except the last edge. For that last edge, only relocation option is available to satisfy (3). Assuming that the number of edges in this cycle is , the fraction of relocation arrangements that make this cycle active is:
[TABLE]
Now, suppose that we are at basic cycle , and let be the number of edges with no relocation assignment after finishing the first basic cycles. Still of those edges have different relocation options except the last edge, which has only relocation option. Consequently, the fraction of relocation arrangements for the UAS under which all its basic cycles in stay active is:
[TABLE]
From the definition of , we infer:
[TABLE]
Proof of (20): We find the fraction of relocation arrangements under which the copies of the UAS result in at least objects. Observe that an object is the result of disconnecting exactly one degree- CN from the UAS. In order for this to happen, one of following two scenarios has to happen.
The first scenario is that only one basic cycle becomes inactive after relocations, while the remaining basic cycles stay active. Moreover, this basic cycle must have at least one CN that is not shared with any other basic cycles. The last edge in the basic cycle that is to be inactive has relocation options. The last edge in each of the remaining basic cycles has only relocation option. Consequently, and using the definition of in (17), the fraction of relocation arrangements satisfying the first scenario is:
[TABLE]
The second scenario is that only two basic cycles become inactive after relocations, while the remaining basic cycles stay active. Moreover, these two basic cycles must have at least one CN that is shared between them, and the cycle resulting from adding the vectors of these two basic cycles over GF() must stay active. The last edge in the first basic cycle that is to be inactive has relocation options. The last edge in the second basic cycle that is to be inactive has only relocation option (that makes it inactive but keeps the cycle resulting from adding the vectors of the two basic cycles active). The last edge in each of the remaining basic cycles has only relocation option. Consequently, and using the definition of in (18), the fraction of relocation arrangements satisfying the second scenario is:
[TABLE]
where using filters out repeated groups of CNs. Note that similar scenarios dealing with more than two basic cycles will result in groups of CNs already in . Thus, the fraction of relocation arrangements under which the copies of the UAS result in at least objects is obtained by adding (24) and (25):
[TABLE]
From the definition of , we infer:
[TABLE]
which completes the proof. ∎
On the level of an object, the percentage saving in relocation arrangements achieved by focusing on the UAS instead of focusing on all its cycles is given by:
[TABLE]
If is in , and all configurations are not desirable when focusing on the UAS, while only making all the basic cycles in inactive is enough when focusing on cycles, a stricter formula for the percentage saving in relocation arrangements should be used:
[TABLE]
In fact, (resp., if applicable) can be viewed as the ceiling (resp., floor) of the percentage saving in relocation options.
Example 4**.**
Consider the UAS, , in Fig 1. Let . From Example 1, . Thus, from (11) and (12),
[TABLE]
The two basic cycles here have and . Consequently, we get , yielding . From (16), and . Thus, from (17) and (18), we get:
[TABLE]
[TABLE]
Now, we are ready to calculate the saving in relocation arrangements from (IV) as follows:
[TABLE]
which is a significant saving.
Example 5**.**
Consider the UAS, , in Fig 1. Let . From Example 2, . Thus, from (11) and (12),
[TABLE]
The three basic cycles here have , , and . Consequently, we get , , and , yielding , , and . From (16), , , and . Thus, from (17) and (18), we get:
[TABLE]
[TABLE]
Now, we are ready to calculate the saving in relocation arrangements from (IV) as follows:
[TABLE]
which is a significant saving.
Observe that the same analysis is applicable for the UAS, , where all degree- CNs are eliminated. In this case, and using (IV), also becomes useful.
Now, we briefly introduce a special case of interest.
Definition 3**.**
Let be the minimum UAS size in the OD code. An UAS, , is said to be non-regenerable if it cannot be produced from UASs, , under any relocation arrangement. Furthermore, an UAS is said to be stand-alone if an instance of this UAS cannot share any cycles with another instance of it.
For example, UASs are non-regenerable and stand-alone. Additionally, UASs with are non-regenerable.
For non-regenerable, stand-alone UASs, the savings in relocation arrangements given in (IV) and (IV) can be generalized over the entire graph of the MD code. More intriguingly, under random relocations, the average number of instances of an non-regenerable, stand-alone UAS in the graph of the MD code is given by:
[TABLE]
where is the number of instances in the OD code, and . The average for regenerable, stand-alone UASs can also be found. These averages give the code designer an initial idea about the optimization effort to be exerted to design the MD code. Thus, deriving these averages for any UAS is an interesting research problem.
V Algorithm and Experimental Results
We are now ready to introduce the algorithm using which, we design our high performance MD codes. Guided by the previously illustrated theoretical results, Algorithm 1 minimizes the number of instances of a specific UAS, , in the graph of the MD code via relocations. This specific UAS/AS can either be the most dominant object in the error profile of the OD code or a common substructure that exists in the most dominant UASs in the OD code. Determining this UAS depends on both the channel of interest [3, 14] and the OD code being used.
Because of their faster encoding and decoding, we focus on graph-based codes that are circulant-based in this section. Since operating on circulants is significantly faster than operating on entries, Algorithm 1 relocates NZ circulants, not NZ entries (see also [10]). The algorithm can be easily changed to relocate NZ entries for codes that are not structured.
We say that an UAS instance involves a circulant if the instance has at least one NZ entry corresponding to an edge adjacent to a degree- CN inside the circulant. Moreover, the set of relocation decisions is . The value , (resp., ), refers to the decision “relocate to ” (resp., “no relocation”).
Note that in Step 3 of Algorithm 1, if the OD code is SC, its repetitive nature should be exploited in order to reduce the processing time. Note also that Step 16 of Algorithm 1 aims to balance the number of NZ circulants (similar sparsity levels) across all auxiliary matrices in addition to its main objective, which is removing UAS instances.
Here, we assume that if the UAS entered at Step 1 of the algorithm is an UAS, then all possible UASs do not exist in the OD code. Thus, Algorithm 1 works for regenerable as well as non-regenerable UASs.
Extending Algorithm 1 to operate on multiple detrimental configurations is possible. In this case, different UASs should be ordered according to the values of and from the smallest to the largest, and the algorithm should operate on them successively. However, this extension is associated with a challenge; that is, objects having VNs or/and degree- CNs in the OD code may result in UASs in the MD code after relocations. Resolving this challenge to implement the extension is another interesting problem. Observe that in OD codes with no cycles of length , and if , UASs cannot be generated from smaller objects, i.e., objects having VNs or/and degree- CNs.
Remark 3**.**
The concept of basic cycles can be used to determine the conditions under which cycles of certain lengths in the OD code result in a bigger cycle in the MD code after relocations. Thus, this concept can also be used to determine whether an UAS can be generated from smaller objects under certain relocations.
Remark 4**.**
In the construction procedure of , circulants are relocated from the copies of to the auxiliary matrices in the exact same positions. Thus, the structure of all submatrices in resembles the structure of . Decoding algorithms can be derived to exploit this property, significantly reducing the decoding latency of MD codes.
Next, we discuss the experimental results. The Flash channel used in this section is a practical, asymmetric Flash channel, which is the normal-Laplace mixture (NLM) Flash channel [2]. In the NLM channel, the threshold voltage distribution of sub-nm multi-level cell (MLC) Flash memories is carefully modeled. The four levels are modeled as different NLM distributions, incorporating several sources of error due to wear-out effects, e.g., programming errors, thereby resulting in significant asymmetry. Furthermore, the authors provided accurate fitting results of their model for program/erase (P/E) cycles up to times the manufacturer’s endurance specification (up to P/E cycles). We implemented the NLM channel based on the parameters described in [2]. Here, we use reads, and the sector size is bytes. For decoding, we use a fast Fourier transform based -ary sum-product algorithm (FFT-QSPA) LDPC decoder (see also [3]).
We use three OD codes in this section. The SC codes are designed according to [14], which provides a method to design high performance SC codes particularly for Flash systems. This method is based on the optimal overlap, circulant power optimizer (OO-CPO) approach. The block code is designed according to [3, Section VI]. OD Code 1 is an SC code defined over GF(), which has , maximum row weight , circulant size , memory , and coupling length . Thus, OD Code 1 has block length bits and rate . OD Code 2 is a block code defined over GF(), which has , row weight , and circulant size . OD Code 2 has block length bits and rate . OD Code 1 and OD Codes 2 are the underlying codes of our MD codes. OD Code 3 is an SC code that is designed exactly as OD Code 1, except for that OD Code 3 has coupling length instead of (three times as long as OD Code 1). Thus, OD Code 3 has block length bits and rate .
From our simulations, the error profile in the error floor region of OD Code 1 when simulated over the NLM channel is dominated by the non-binary AS. In fact, this is a general AS of type two (GAST) according to [3], but we abbreviate the notation here for simplicity. Moreover, the error profile in the error floor region of OD Code 2 when simulated over the AWGN channel is dominated by the and the UASs. The overwhelming majority of the UAS instances found in the error profile of OD Code 2 simulated over the AWGN channel have the same configuration, which has the UAS as a substructure. Note that for a binary code, e.g., OD Code 2, a UAS is an AS. Note also that OD Code 1 and OD Code 2 are the underlying OD codes of the MD codes used in this section.
Remark 5**.**
The objects of interest in other codes and over other channels can be more sophisticated, e.g., the and the UASs, , in addition to the and the UASs, . See [3] for more details.
As for the MD codes, MD Code 1 is designed for practical Flash channels, while MD Code 2 is designed for AWGN channels. According to the analysis above, MD Code 1, with , is designed from OD Code 1 using Algorithm 1 as follows. Algorithm 1 is used to remove as many UAS instances as possible in the MD code via relocations since the UAS is the unlabeled configuration of the most dominant AS over the NLM channel. Furthermore, MD Code 2, with , is designed from OD Code 2 using Algorithm 1 as follows. Algorithm 1 is used to remove as many UAS instances as possible in the MD code via relocations since the UAS is the common substructure of interest over the AWGN channel. MD Code 1 has block length bits and rate , which is similar to OD Code 3 (the long OD SC code described above). MD Code 2 has block length bits and rate . No specific optimization is performed to the edge weights of non-binary codes.
Table I and Table II demonstrate the reduction in the number of UASs achieved by Algorithm 1. The no-MD-coupling case refers to the case when is constructed by putting three copies of in the block diagonal and zeros elsewhere. Table I shows that, and with only about of the circulants relocated out of the OD copies to construct MD Code 1, Algorithm 1 removes all the UAS instances. Additionally, Table II shows that, and with only about of the circulants relocated out of the OD copies to construct MD Code 2, Algorithm 1 removes all the UAS instances. These relatively small percentages of relocated circulants exemplify the savings in relocation arrangements (see Section IV) in the MD code design, making it possible to relocate more circulants in order to remove other detrimental objects.
In this section, RBER is the raw bit error rate, which is the number of raw, i.e., uncoded, data bits in error divided by the total number of raw data bits read [3]. UBER is the uncorrectable bit error rate, which is a metric for the fraction of bits in error out of all bits read after the error correction is applied. Here, the formulation of UBER is the frame error rate (FER) divided by the sector size in bits [3].
Fig. 4 demonstrates the performance gains achieved by an MD code constructed using Algorithm 1, which is MD Code 1, compared with an OD code of similar length and rate, which is OD Code 3, over the practical NLM Flash channel. In particular, at UBER in the waterfall region, the RBER gain of MD Code 1 marked in red translates to a gain of about P/E cycles. Moreover, at UBER in the error floor region, the RBER gain of MD Code 1 marked in red translates to a gain of about P/E cycles. In addition to the waterfall slope and the error floor slope/level, even the threshold of MD Code 1 is indeed better than that of OD Code 3. These gains in the number of P/E cycles are associated with an increase in the lifetime of the Flash device.
Remark 6**.**
The error floor performance of both non-binary codes having their performance curves in Fig. 4, which are OD Code 3 and MD Code 1, can be improved using the weight consistency matrix (WCM) framework described in [3].
Remark 7**.**
While we focus here on practical Flash channels in the simulations, performance gains are also achievable via the proposed technique on other channels.
VI Conclusion
We introduced necessary and sufficient conditions for a UAS to stay active or become inactive, i.e., be removed, after a relocation arrangement. We derived the savings in relocation options achieved by focusing on UASs instead of cycles in the MD code design procedure. Examples demonstrating the significance of these savings were introduced for famous UAS configurations. We presented an algorithm to design high performance MD codes by removing detrimental UASs via relocations. Using this algorithm, codes free of specific UASs were designed and simulated. Gains of up to about P/E cycles were achieved via our MD codes compared with OD codes of similar parameters over a practical Flash channel.
Acknowledgment
This research was supported in part by NSF under grant CCF 1717602.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1]
- 2[2] T. Parnell, N. Papandreou, T. Mittelholzer, and H. Pozidis, “Modelling of the threshold voltage distributions of sub-20nm NAND flash memory,” in Proc. IEEE Global Commun. Conf. (GLOBECOM) , Austin, TX, USA, Dec. 2014, pp. 2351–2356.
- 3[3] A. Hareedy, C. Lanka, N. Guo, and L. Dolecek, “A combinatorial methodology for optimizing non-binary graph-based codes: theoretical analysis and applications in data storage,” IEEE Trans. Inf. Theory , vol. 65, no. 4, pp. 2128–2154, Apr. 2019.
- 4[4] S. Srinivasa, Y. Chen, and S. Dahandeh, “A communication-theoretic framework for 2-DMR channel modeling: performance evaluation of coding and signal processing methods,” IEEE Trans. Magn. , vol. 50, no. 3, pp. 6–12, Mar. 2014.
- 5[5] P. Chen, C. Kui, L. Kong, Z. Chen, M. Zhang, “Non-binary protograph-based LDPC codes for 2-D-ISI magnetic recording channels,” IEEE Trans. Magn. , vol. 53, no. 11, Nov. 2017, Art. no. 8108905.
- 6[6] D. Truhachev, D. G. M. Mitchell, M. Lentmaier, and D. J. Costello, “New codes on graphs constructed by connecting spatially coupled chains,” in Proc. Inf. Theory and App. Workshop (ITA) , Feb. 2012, pp. 392–397.
- 7[7] R. Ohashi, K. Kasai, and K. Takeuchi, “Multi-dimensional spatially-coupled codes,” in Proc. IEEE Int. Symp. Inf. Theory (ISIT) , Jul. 2013, pp. 2448–2452.
- 8[8] L. Schmalen and K. Mahdaviani, “Laterally connected spatially coupled code chains for transmission over unstable parallel channels,” in Proc. Int. Symp. Turbo Codes Iterative Inf. Processing (ISTC) , Aug. 2014, pp. 77–81.
