Minimizing the Number of Detrimental Objects in Multi-Dimensional Graph-Based Codes
MMinimizing the Number of Detrimental Objects inMulti-Dimensional Graph-Based Codes
Ahmed Hareedy, Rohith Kuditipudi, and Robert Calderbank
Electrical and Computer Engineering Department, Duke University, Durham, NC 27705 [email protected], [email protected], and [email protected]
Abstract —In order to meet the demands of data-hungryapplications, data storage devices are required to be increasinglydenser. Various sources of error appear with this increase indensity. Multi-dimensional (MD) graph-based codes are capableof mitigating error sources like interference and channel non-uniformity in dense storage devices. Recently, a technique wasproposed to enhance the performance of MD spatially-coupledcodes that are based on circulants. The technique carefully relo-cates circulants to minimize the number of short cycles. However,cycles become more detrimental when they combine together toform more advanced objects, e.g., absorbing sets, including low-weight codewords. In this paper, we show how MD relocationscan be exploited to minimize the number of detrimental objects inthe graph of an MD code. Moreover, we demonstrate the savingsin the number of relocation arrangements earned by focusing onobjects rather than cycles. Our technique is applicable to a widevariety of one-dimensional (OD) codes. Simulation results revealsignificant lifetime gains in practical Flash systems achieved byMD codes designed using our technique compared with OD codeshaving similar parameters.
I. I
NTRODUCTION
The continuous and rapid growth in the density of modernstorage devices brings many challenges. One of these chal-lenges is an increase in the number of sources of data corrup-tion in the system, which requires advanced error correctingcodes to be applied. Because of their capacity-approachingperformance and the degrees of freedom they offer in the codeconstruction, graph-based codes, e.g., low-density parity-check(LDPC) codes, are applied in many data storage systems. Bi-nary and non-binary graph-based codes are used in both Flash[1], [2] and magnetic recording [3] systems to significantlyimprove the performance.Multi-dimensional (MD) graph-based codes are constructedby coupling different copies of a one-dimensional (OD) code toenhance the code properties. Because of the additional designflexibility offered by MD coupling, MD codes are capable ofalleviating different types of interference and channel non-uniformity in modern storage systems. One example is mit-igating inter-track interference in two-dimensional magneticrecording (TDMR) systems [3] through specific non-binaryLDPC code constructions as in [4]. Various MD spatially-coupled (MD-SC) codes have been presented in the literature[5]–[8]. While these MD-SC codes demonstrated performancegains, they had limitations in the underlying OD codes and thetopologies of the resulting MD codes.Recently, the authors of [9] proposed a technique for asystematic construction of MD-SC codes that are based oncirculants. Through carefully chosen relocations of circulantsfrom the copies of the OD code to certain auxiliary matrices, they managed to significantly reduce the number of shortcycles in the graph of the MD-SC code. While cycles arenot preferred in graph-based codes, they become a lot moredetrimental when they combine together to form absorbingsets (ASs), including low-weight codewords. ASs, not cycles,are the objects that dominate the error profile of graph-basedcodes in the error floor region [2], [10].In this paper, we demonstrate how to use MD coupling toeliminate as many detrimental objects as possible from thegraph of an MD code. The underlying OD codes we use canbe structured or random, and can be block or SC codes. Byderiving the fraction of relocation arrangements for differentcases, we manifest the savings in relocation options achievedby operating on objects rather than cycles. Experimental resultsemphasizing the reduction in the multiplicity of detrimentalobjects are shown. Simulation results demonstrating ≈ (resp., ) program/erase cycles gain in the waterfall (resp.,error floor) region over practical Flash channels compared withOD 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 removedvia relocations is discussed in Section III. Next, the savingsin relocation arrangements are derived in Section IV. InSection V, the code design algorithm and experimental resultsare presented. The paper is concluded in Section VI.II. MD G RAPH -B ASED C ODES
The technique we propose in this paper can be used toconstruct binary and non-binary codes. However, since theprocess of relocations affects only the code topology, we focuson the unlabeled graphs (all edge weights are set to ) andbinary matrices [2].Define H OD as the parity-check matrix of the underlying ODcode, and H MD as the parity-check matrix of the MD code.Recall the correspondence between the parity-check matrix andthe graph of a code. Define M − auxiliary matrices, X , X ,. . . , X M − having the same dimensions as H OD . The MDmatrix H MD is given by: H MD (cid:44) H (cid:48) OD X M − X M − . . . X X X H (cid:48) OD X M − . . . X X X X H (cid:48) OD . . . X X ... ... ... ... ... ... X M − X M − X M − . . . H (cid:48) OD X M − X M − X M − X M − . . . X H (cid:48) OD , (1) a r X i v : . [ c s . I T ] J un here H OD = H (cid:48) OD + (cid:80) M − (cid:96) =1 X (cid:96) (see also [9]). The graphsof the OD codes we use do not have any cycles of length .According to the construction of H MD , the data to be stored isseparated into M chunks, and each chunk is stored in a track ora sector of the storage device. The matrix H MD is constructedby coupling the M OD copies of H OD via carefully relocatingsome of the non-zero (NZ) entries in these copies to auxiliarymatrices in order to eliminate certain detrimental objects fromthe graph of the MD code. Relocations are mathematicallyrepresented by an MD mapping as follows: R : {E i,j , ∀ i, j } → { , , . . . , M − } , (2)where E i,j is an NZ entry corresponding to an edge connectingcheck node (CN) i to variable node (VN) j in the graph of H OD . This mapping is explained as follows: R ( E i,j ) = (cid:96) > means that the NZ entry E i,j is relocated from H OD to X (cid:96) ( M times) at the same position ( i, j ) it had in H OD , with R ( E i,j ) = 0 referring to the no-relocation case.Here, M is a prime integer > , and both H OD and H MD have a fixed column weight, i.e., fixed VN degree, γ . The rowweight, i.e., CN degree, is not necessarily fixed.Define a cycle of length k in the graph of H OD by the fol-lowing set of NZ entries in H OD : {E i ,j , E i ,j , . . . E i k ,j k } ,such that two entries E i w ,j w and E i w +1 ,j w +1 , ≤ w ≤ k and E i k +1 ,j k +1 = E i ,j , are consecutive entries on the cycle.The authors of [9] proved that this cycle stays active after arelocation arrangement if and only if : k (cid:88) w =1 ( − w R ( E i w ,j w ) ≡ (mod M ) . (3)For a cycle of length k to stay active, its M copies must resultin M cycles of length k in the graph of H MD . If (3) is notsatisfied, the cycle becomes inactive , and its M copies resultin a single cycle of length kM . The result in [9] was for M = 3 . However, this result generalizes to any prime M .Under iterative decoding, the detrimental (error-prone) ob-jects in the graph of a code are typically ASs, including low-weight codewords. This was shown to be the case for additivewhite Gaussian noise (AWGN) [10], [12], Flash [2], [13], andmagnetic recording [2] channels. Thus, recall: Definition 1.
Let V be a subset of VNs in the unlabeled graphof a code. Let O (resp., T and H ) be the set of degree- (resp., and > ) CNs connected to V . This graphicalconfiguration is an ( a, d ) unlabeled elementary absorbing set(UAS) if |V| = a , |O| = d , |H| = 0 , and each VN in V isconnected to strictly more neighbors in T than in O . Remark 1.
Many non-elementary absorbing sets appearing inthe error profile of non-binary graph-based codes over prac-tical Flash channels have underlying unlabeled elementaryconfigurations [2].
We study UASs having connected subgraphs. A (4 , UASin a code with γ = 3 and a (4 , UAS in a code with γ = 4 This condition bares similarity to the condition in [11] for protographlifting. In fact, some of the results in this paper are applicable to the proceduresof lifting and non-binary labeling. 𝑐 𝑐 𝑐 𝑐 𝑐 𝑣 𝑣 𝑣 𝑣 𝑐 𝑐 𝑐 𝑐 𝑐 𝑐 𝑐 𝑐 𝑣 𝑣 𝑣 𝑣 𝑐 𝑐 𝑐 𝑐 Fig. 1. Left panel: a (4 , UAS, γ = 3 . Right panel: a (4 , UAS, γ = 4 .Basic cycles are shown in dotted lines. are shown in Fig. 1. Circles (resp., grey squares and whitesquares) represent VNs (resp., degree- CNs and degree- CNs). In the following sections, we will investigate how toperform relocations to minimize the number of UASs in thegraph of an MD code to enhance its performance.III. R
EMOVING AS S T HROUGH R ELOCATIONS An ( a, d ) UAS has the following number of degree- CNs: d = 12 ( aγ − d ) . (4)We now revisit the concept of basic cycles , which generalizesthe concept of fundamental cycles first introduced in [12] fornon-binary graph-based codes, to represent a UAS. Definition 2.
A cycle basis B c of an ( a, d ) UAS is a minimum-cardinality set of cycles using disjunctive unions of which,each cycle in the UAS can be obtained. We call the cyclesin B c basic cycles. Denote a Galois field of size q as GF( q ). Since our graphsare unlabeled (no weights), span ( B c ) can be represented by avector space over GF( ), with its vectors being of size n e =2 d and their elements are also in GF ( ) . There are n f = |B c | basic cycles. From graph theory principles, this numberis computed by subtracting the number of degree- CNs, eachrepresented by the pair of edges adjacent to it, comprising thetree spanning all VNs from the total number of degree- CNs.Consequently, n f = 12 ( n e − a − d − a + 1= 12 ( a ( γ − − d + 2) , (5)where the last equality is obtained using (4). Without loss ofgenerality, in this paper, we always select the basic cycles in B c to be of the smallest lengths for simplicity. Example 1.
Consider the (4 , UAS, γ = 3 , in Fig. 1. From(5), the number of basic cycles is: n f = 12 (4(3 − − . e select the two cycles in dotted blue and dotted red shownin the figure to be the elements of B c . A cycle in span ( B c ) canbe written as: (cid:2) e c ,v e c ,v e c ,v e c ,v e c ,v e c ,v e c ,v e c ,v e c ,v e c ,v (cid:3) , where e i w ,j w = ( E i w ,j w ) is an indicator function of theexistence of the NZ entry E i w ,j w . Thus, the dotted blue anddotted red basic cycles are: [1 1 0 0 0 0 1 1 1 1] and [0 0 1 1 1 1 0 0 1 1] , respectively. Adding the vectors of the two basic cycles overGF( ) gives: [1 1 1 1 1 1 1 1 0 0] , which is the vector of the remaining cycle in the UAS. Given the number of basic cycles in an ( a, d ) UAS, wenow introduce useful bounds on the total number of cycles.
Lemma 1.
The total number of cycles, n c , in an ( a, d ) UAShaving n f basic cycles is bounded as follows: n f ( n f + 1) ≤ n c ≤ n f − . (6) Proof:
Lower bound:
Since the subgraph of the UAS isconnected, we can always find an order for the basic cyclessuch that each two consecutive basic cycles share at least onedegree- CN. Any two cycles sharing at least one degree- CNform a new cycle if the vectors representing them are added.Thus, the minimum value of n c is computed as follows. Atfirst, we have one cycle, which is the first basic cycle. Then,we get two more cycles, which are the second basic cycle andthe cycle resulting from adding the vectors of the first and thesecond ones over GF( ); we refer to this cycle as cycle (1 , .Then, we get at least three more cycles referred to as , (2 , ,and (1 , , , and the lower bound is achieved if the first andthird basic cycles do not share CNs. This continues till the lastbasic cycle. As a result, n c ≥ n f (cid:88) δ =1 δ = 12 n f ( n f + 1) . (7) Upper bound:
The upper bound is achieved if the additionof any distinct group of basic cycles gives a distinct cycle.Consequently, n c ≤ n f (cid:88) δ =1 (cid:18) n f δ (cid:19) = 2 n f − , (8)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 forthe (4 , UAS, γ = 3 , in Fig. 1. Since n f = 2 , n c = from (6), which is what we know from Example 1. Onthe contrary, only the upper bound is achieved for the (4 , UAS, γ = 4 , in Fig. 1 because of its connectivity. Since n f = 3 from (5), n c = 2 − from (6). We are now ready to introduce the condition under which aUAS stays active after a relocation arrangement. For an ( a, d ) UAS to stay active, its M copies in the graphs of H OD copiesmust result in M ( a, d ) UASs in the graph of H MD . Theorem 1.
The necessary and sufficient condition for an ( a, d ) UAS to stay active after a relocation arrangement isthat (3) is satisfied for all the n f basic cycles in a cycle basis B c of the UAS. Otherwise, the UAS becomes inactive, and the M a
VNs of its M copies form an ( M a, M d ) object.Proof: We prove the sufficiency of the condition in Theo-rem 1 first. The ( a, d ) UAS stays active if all its n c cycles stayactive after the relocation arrangement, i.e., if (3) is satisfiedfor all its cycles. By definition, any cycle in the UAS is adisjunctive union of the basic cycles, i.e., a linear combinationof the vectors of the basic cycles, of that UAS. Thus, if (3) issatisfied for all the n f basic cycles, it is also satisfied for allthe n c cycles. Therefore, the UAS stays active if (3) is satisfiedfor all its basic cycles in B c .The necessity follows from that if at least one basic cycledoes not have (3) satisfied after relocations, then there existsat least one cycle in the UAS that is not active. Thus, the UASbecomes inactive.Now, if the UAS is inactive, at least one of its cycles has: a (cid:48) (cid:88) w =1 ( − w R ( E i w ,j w ) (cid:54)≡ (mod M ) , (9)where a (cid:48) ≤ a is the number of VNs in that cycle. Since we useprime M , the left-hand side becomes (mod M ) only via: M a (cid:48) (cid:88) w =1 ( − w R ( E i w ,j w ) ≡ (mod M ) , i.e., Ma (cid:48) (cid:88) w =1 ( − w R ( E i w ,j w ) ≡ (mod M ) , (10)which corresponds to a cycle of length M a (cid:48) . This observationmeans that
M a (cid:48)
VNs from the M copies of the UAS form acycle together after relocations. Consequently, and since thesubgraph of the ( a, d ) UAS is connected, the
M a
VNs ofthe M copies of the UAS form an ( M a, M d ) object.If the UAS becomes inactive after relocations, its M copiesare removed from the graph of H MD . Depending on certainfactors, including which cycles in the ( a, d ) UAS becomeinactive after relocations, different, possibly non-isomorphic, ( M a, M d ) configurations can be generated if the UAS isinactive. On a smaller scale, the M copies of the ( a, d ) UASresult in multiple ( a, d + 2 β ) objects, β > , in this case. Example 3.
Consider an instance of the (4 , UAS, γ = 3 ,in Fig. 1, which exists in H OD , and let M = 3 for H MD . Thethree copies of the UAS in H MD are shown in the left panel ofFig. 2 (degree- CNs are not shown). We check the followingtwo relocation arrangements:Arrangement 1: R ( E c ,v ) = R ( E c ,v ) = 1 , while all theremaining NZ entries of the UAS are not relocated. Here, (3)is satisfied for both the dotted blue and the dotted red basic Fig. 2. Upper panel: Arrangement 1 is keeping three instances of the (4 , UAS in H MD . Lower panel: Arrangement 2 is removing the three copies ofthe (4 , UAS from H MD . VNs of the (4 , UAS, which are columns inthe matrix, are ordered from left to right as v , v , v , and v (see Fig. 1). 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 𝑣 Fig. 3. Forming a (12 , object from three copies of the (4 , UASafter relocations. VNs in { v , v , v , v } (resp., { v (cid:48) , v (cid:48) , v (cid:48) , v (cid:48) } and { v (cid:48)(cid:48) , v (cid:48)(cid:48) , v (cid:48)(cid:48) , v (cid:48)(cid:48) } ) are in the graph of the first (resp., second and third) copyof H OD . cycles. Thus, the (4 , UAS stays active, which is shown inthe upper panel of Fig. 2.Arrangement 2: R ( E c ,v ) = R ( E c ,v ) = 1 , while all theremaining NZ entries of the UAS are not relocated. Here, (3)is not satisfied for either basic cycle. Thus, the (4 , UASbecomes inactive, which is shown in the lower panel of Fig. 2.How the three copies of the (4 , UAS result in a (12 , object after relocations is demonstrated in Fig. 3. Remark 2.
The analysis in Sections III and IV can be intro-duced for NZ circulants, which was the case in [9], rather thanNZ entries. However, it is easier for the reader to understandthe concepts when NZ entries, or edges, are used.
IV. S
AVINGS IN R ELOCATION O PTIONS
Targeting UASs instead of the cycles comprising them notonly makes the focus in the code design on the more detrimen-tal objects, but also achieves significant savings in the degrees of freedom offered by relocation arrangements. These savingsare reflected in performance gains. Here, we demonstrate thesesavings. In the following results, fractions are out of allpossible relocation arrangements. Let ( x ) + = max { x, } .Lemma 2 discusses the relocation arrangements in case thefocus is on removing short cycles from the graph of H MD . Lemma 2.
The fraction of relocation arrangements for an ( a, d ) UAS under which all the basic cycles in a cycle basis B c of the UAS become inactive is given by: F nof = (cid:18) M − M (cid:19) n f . (11) Moreover, the fraction of relocation arrangements for an ( a, d ) UAS under which all its cycles become inactive isupper-bounded as follows: F noc ≤ n f (cid:89) δ =1 (cid:18) M − δM (cid:19) + . (12) Proof:
We can always order the basic cycles in B c ofthe UAS such that there does not exist a basic cycle sharingall its CNs with previous ones. In this proof, we access thebasic cycles one by one according to that order and assignrelocations to their edges one by one. Proof of (11):
We want to break (3) for all the n f basiccycles in B c . For the first basic cycle, each of its edges has M different relocation options except the last edge. For that lastedge, only M − relocation options are available since theoption that makes (3) satisfied is excluded. Assuming that thenumber of edges in this cycle is ζ , the fraction of relocationarrangements that make this cycle inactive is: M ζ − ( M − M ζ = M − M . (13)Now, suppose that we are at basic cycle δ , and let y be thenumber of edges with no relocation assignment after finishingthe first δ − basic cycles. Note that y has to be greater than from the order of basic cycles we adopt. Still y − of thoseedges have M different relocation options except the last edge,which has only M − relocation options. Consequently, thefraction of relocation arrangements for the UAS under whichall its basic cycles in B c become inactive is: F nof = n f (cid:89) δ =1 (cid:18) M − M (cid:19) = (cid:18) M − M (cid:19) n f . (14) Proof of (12):
Here, we adopt the ordering described at thebeginning of this proof with one extra condition, which is eachtwo 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 thatvia the basic cycles of the UAS. For the first basic cycle,the fraction of relocation arrangements that make this cycleinactive is given by (13). For the second basic cycle, wewant not only to make it inactive, but also to make the cycleresulting from adding the vectors of these two basic cyclesover GF( ) inactive. Thus, for the last edge of the second basiccycle, we only have M − relocation options. The upper bounds satisfied if the lower bound on n c in (6) is satisfied. In thiscase, at basic cycle δ , the number of relocation options wehave for the last edge is only M − δ . Consequently, F noc ≤ (cid:18) M − M (cid:19) (cid:18) M − M (cid:19) · · · (cid:18) M − n f M (cid:19) + = n f (cid:89) δ =1 (cid:18) M − δM (cid:19) + , (15)which completes the proof.Theorem 2 discusses the relocation arrangements in case thefocus is on removing UASs from the graph of H MD .Define F i as the set of CNs in basic cycle i , and I i,j (cid:44) F i ∩ F j . Moreover, I tot i (cid:44) ∪ j ( I i,j ) , and D i (cid:44) F i \ I tot i . (16)Let D i be the unordered group comprising the CNs of D i .Then, we define the following set: L (cid:44) { D i , ∀ i | D i (cid:54) = ∅ } . (17)Let I i,j be the unordered group comprising the CNs of I i,j .Then, we define the following set: L (cid:44) { I i,j , ∀ i, j | I i,j (cid:54) = ∅ } . (18) Theorem 2.
The fraction of relocation arrangements for an ( a, d ) UAS under which the UAS becomes inactive is givenby: F nou = 1 − M n f . (19) Moreover, the fraction of relocation arrangements for an ( a, d ) UAS under which the M copies of the UAS result inat least M ( a, d + 2 β ) objects, with β > , is given by: F not = 1 − M n f − [ |L | + |L | ] ( M − M n f . (20) Proof:
We order the basic cycles in a cycle basis B c ofthe UAS as done in the proof of Lemma 2. We also access thebasic cycles and assign relocations to their edges one by oneaccording to that order. Proof of (19):
First, we find the fraction of relocation ar-rangements under which the UAS stays active. Thus, and fromTheorem 1, we want to satisfy (3) for all the n f basic cyclesin B c to make them active. For the first basic cycle, each ofits edges has M different relocation options except the lastedge. For that last edge, only relocation option is availableto satisfy (3). Assuming that the number of edges in this cycleis ζ , the fraction of relocation arrangements that make thiscycle active is: M ζ − (1) M ζ = 1 M . (21)Now, suppose that we are at basic cycle δ , and let y be thenumber of edges with no relocation assignment after finishingthe first δ − basic cycles. Still y − of those edges have M different relocation options except the last edge, whichhas only relocation option. Consequently, the fraction ofrelocation arrangements for the UAS under which all its basiccycles in B c stay active is: F = n f (cid:89) δ =1 (cid:18) M (cid:19) = 1 M n f . (22)From the definition of F nou , we infer: F nou = 1 − F = 1 − M n f . (23) Proof of (20):
We find the fraction of relocation arrange-ments under which the M copies of the UAS result in at least M ( a, d + 2) objects. Observe that an ( a, d + 2) object isthe result of disconnecting exactly one degree- CN from the ( a, d ) UAS. In order for this to happen, one of following twoscenarios has to happen.The first scenario is that only one basic cycle becomesinactive after relocations, while the remaining basic cyclesstay active. Moreover, this basic cycle must have at least oneCN that is not shared with any other basic cycles. The lastedge in the basic cycle that is to be inactive has M − relocation options. The last edge in each of the remaining n f − basic cycles has only relocation option. Consequently, andusing the definition of L in (17), the fraction of relocationarrangements satisfying the first scenario is: |L | (cid:18) M − M (cid:19) n f − (cid:89) δ =1 (cid:18) M (cid:19) = |L | ( M − M n f . (24)The second scenario is that only two basic cycles becomeinactive after relocations, while the remaining basic cycles stayactive. Moreover, these two basic cycles must have at least oneCN that is shared between them, and the cycle resulting fromadding the vectors of these two basic cycles over GF( ) muststay active. The last edge in the first basic cycle that is to beinactive has M − relocation options. The last edge in thesecond basic cycle that is to be inactive has only relocationoption (that makes it inactive but keeps the cycle resultingfrom adding the vectors of the two basic cycles active). Thelast edge in each of the remaining n f − basic cycles has only relocation option. Consequently, and using the definition of L in (18), the fraction of relocation arrangements satisfyingthe second scenario is: |L | (cid:18) M − M (cid:19) (cid:18) M (cid:19) n f − (cid:89) δ =1 (cid:18) M (cid:19) = |L | ( M − M n f , (25)where using |L | filters out repeated groups of CNs. Note thatsimilar scenarios dealing with more than two basic cycles willresult in groups of CNs already in L . Thus, the fraction ofrelocation arrangements under which the M copies of the UASresult in at least M ( a, d + 2) objects is obtained by adding(24) and (25): F = [ |L | + |L | ] ( M − M n f . (26)From the definition of F not , we infer: F not = 1 − F − F = 1 − M n f − [ |L | + |L | ] ( M − M n f , (27)which completes the proof.n the level of an object, the percentage saving in relocationarrangements achieved by focusing on the UAS instead offocusing on all its cycles is given by: S = [ F nou − bound ( F noc )] · (cid:34) − M n f − n f (cid:89) δ =1 (cid:18) M − δM (cid:19) + (cid:35) · . (28)If d is in { , } , and all ( a, d + 2) configurations arenot desirable when focusing on the UAS, while only makingall the basic cycles in B c inactive is enough when focusingon cycles, a stricter formula for the percentage saving inrelocation arrangements should be used: S = [ F not − F nof ] · (cid:20) − M n f − [ |L | + |L | ] ( M − M n f − (cid:18) M − M (cid:19) n f (cid:21) · . (29)In fact, S (resp., S if applicable) can be viewed as the ceiling(resp., floor) of the percentage saving in relocation options. Example 4.
Consider the (4 , UAS, γ = 3 , in Fig 1. Let M = 5 . From Example 1, n f = 2 . Thus, from (11) and (12), F nof = (cid:18) (cid:19) = 1625 ,F noc ≤ (cid:89) δ =1 (cid:18) − δ (cid:19) + = (cid:18) (cid:19) (cid:18) (cid:19) = 1225 . The two basic cycles here have F = { c , c , c } and F = { c , c , c } . Consequently, we get I , = { c } , yielding I tot = I tot = { c } . From (16), D = { c , c } and D = { c , c } .Thus, from (17) and (18), we get: L = { ( c , c ) , ( c , c ) } , L = { ( c ) } . From (19) and (20), F nou = 1 − = 2425 ,F not = 1 − − [2 + 1] 45 = 1225 . Now, we are ready to calculate the saving in relocationarrangements from (28) as follows: S = (cid:20) − (cid:21) · , which is a significant saving. Example 5.
Consider the (4 , UAS, γ = 4 , in Fig 1. Let M = 5 . From Example 2, n f = 3 . Thus, from (11) and (12), F nof = (cid:18) (cid:19) = 64125 ,F noc ≤ (cid:89) δ =1 (cid:18) − δ (cid:19) + = (cid:18) (cid:19) (cid:18) (cid:19) (cid:18) (cid:19) = 24125 . The three basic cycles here have F = { c , c , c } , F = { c , c , c } , and F = { c , c , c } . Consequently, we get I , = { c } , I , = { c } , and I , = { c } , yielding I tot = { c , c } , I tot = { c , c } , and I tot = { c , c } . From(16), D = { c } , D = { c } , and D = { c } . Thus, from (17)and (18), we get: L = { ( c ) , ( c ) , ( c ) } , L = { ( c ) , ( c ) , ( c ) } . From (19) and (20), F nou = 1 − = 124125 ,F not = 1 − − [3 + 3] 45 = 100125 . Now, we are ready to calculate the saving in relocationarrangements from (28) as follows: S = (cid:20) − (cid:21) · , which is a significant saving.Observe that the same analysis is applicable for the (4 , UAS, γ = 3 , where all degree- CNs are eliminated. In thiscase, and using (29), S = (cid:2) − (cid:3) · ≈ alsobecomes useful. Now, we briefly introduce a special case of interest.
Definition 3.
Let a min be the minimum UAS size in theOD code. An ( a, d ) UAS, a < M a min , is said to be non-regenerable if it cannot be produced from ( a, d − ) UASs, ψ − < ψ , under any relocation arrangement. Furthermore,an ( a, d ) UAS is said to be stand-alone if an instance of thisUAS cannot share any cycles with another instance of it.
For example, ( a, UASs are non-regenerable and stand-alone. Additionally, UASs with d = (cid:0) a (cid:1) are non-regenerable.For non-regenerable, stand-alone UASs, the savings in relo-cation arrangements given in (28) and (29) can be generalizedover the entire graph of the MD code. More intriguingly, underrandom relocations, the average number of instances of an ( a, d ) non-regenerable, stand-alone UAS in the graph of theMD code is given by: A MD = A OD F M, (30)where A OD is the number of instances in the OD code, and F = M n f . The average for regenerable, stand-alone ( a, UASs can also be found. These averages give the code designeran initial idea about the optimization effort to be exerted todesign the MD code. Thus, deriving these averages for any ( a, d ) UAS is an interesting research problem.V. A
LGORITHM AND E XPERIMENTAL R ESULTS
We are now ready to introduce the algorithm using which,we design our high performance MD codes. Guided by the pre-viously illustrated theoretical results, Algorithm 1 minimizesthe number of instances of a specific ( a, d ) UAS, a < M a min ,in the graph of the MD code via relocations. This specific ( a, d ) UAS/AS can either be the most dominant object in theerror profile of the OD code or a common substructure thatexists in the most dominant UASs in the OD code. Determiningthis ( a, d ) UAS depends on both the channel of interest [2],[13] and the OD code being used.ecause of their faster encoding and decoding, we focuson graph-based codes that are circulant-based in this section.Since operating on circulants is significantly faster than oper-ating on entries, Algorithm 1 relocates NZ circulants, not NZentries (see also [9]). The algorithm can be easily changed torelocate NZ entries for codes that are not structured.We say that an ( a, d ) UAS instance involves a circulantif the instance has at least one NZ entry corresponding to anedge adjacent to a degree- CN inside the circulant. Moreover,the set of relocation decisions is X = { , , . . . , M − } . Thevalue ξ ∈ X , ξ > (resp., ξ = 0 ), refers to the decision“relocate to X ξ ” (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 theprocessing time. Note also that Step 16 of Algorithm 1 aims tobalance the number of NZ circulants (similar sparsity levels)across all auxiliary matrices in addition to its main objective,which is removing ( a, d ) UAS instances.
Algorithm 1
Designing High Performance MD Codes Inputs: H OD , M , and the ( a, d ) UAS configuration. Initially, set X = X = · · · = X M − = , H (cid:48) OD = H OD ,and R ( E i,j ) = 0 , ∀ i, j . Locate all instances of the ( a, d ) UAS in the graph of H OD . Mark all the instances located in Step 3 as active. Determine the number of active ( a, d ) UAS instancesinvolving each NZ circulant in H OD . Select the circulant C with the maximum number fromStep 5 s.t. R ( E i t ,j t ) = 0 , where E i t ,j t is an NZ entry in C . Whether they are active or not, specify all ( a, d ) UASinstances in H OD involving C . for each of the instances from Step 7 do Specify a cycle basis B c of the instance. The instance votes for the subset of decisions in X thatmake at least one of its basic cycles in B c inactive. end for Tally the votes, and find the subset W of NZ decisions in X with the highest number of votes. if W = ∅ then (no relocation) Go to Step 22. end if
Relocate C to the auxiliary matrix X ξ r , ξ r ∈ W , with theleast number of NZ circulants. Set R ( E i,j ) = ξ r for all NZ entries in C . Update the list of active/inactive ( a, d ) instances basedon their basic cycles and Theorem 1. if the number of active ( a, d ) instances is > then Go to Step 5. end if
Construct H MD according to (1). Output:
The parity-check matrix of the MD code, H MD .Here, we assume that if the UAS entered at Step 1 of thealgorithm is an ( a, d ) UAS, then all possible ( a, d − ) UASsdo not exist in the OD code. Thus, Algorithm 1 works forregenerable as well as non-regenerable UASs. Extending Algorithm 1 to operate on multiple detrimentalconfigurations is possible. In this case, different UASs shouldbe ordered according to the values of a and d from thesmallest to the largest, and the algorithm should operate onthem successively. However, this extension is associated witha challenge; that is, objects having a − VNs or/and d − degree- CNs in the OD code may result in ( a, d ) UASs in the MDcode after relocations. Resolving this challenge to implementthe extension is another interesting problem. Observe that inOD codes with no cycles of length , and if a < , ( a, d ) UASs cannot be generated from smaller objects, i.e., objectshaving a − VNs or/and d − degree- CNs.
Remark 3.
The concept of basic cycles can be used todetermine the conditions under which cycles of certain lengthsin the OD code result in a bigger cycle in the MD code afterrelocations. Thus, this concept can also be used to determinewhether an ( a, d ) UAS can be generated from smaller objectsunder certain relocations.
Remark 4.
In the construction procedure of H MD , circulantsare relocated from the copies of H OD to the auxiliary ma-trices in the exact same positions. Thus, the structure of allsubmatrices in H MD resembles the structure of H OD . Decodingalgorithms can be derived to exploit this property, significantlyreducing the decoding latency of MD codes. Next, we discuss the experimental results. The Flash channelused in this section is a practical, asymmetric Flash channel,which is the normal-Laplace mixture (NLM) Flash channel[1]. In the NLM channel, the threshold voltage distribution ofsub- nm multi-level cell (MLC) Flash memories is carefullymodeled. The four levels are modeled as different NLMdistributions, incorporating several sources of error due towear-out effects, e.g., programming errors, thereby resultingin significant asymmetry. Furthermore, the authors providedaccurate fitting results of their model for program/erase (P/E)cycles up to times the manufacturer’s endurance specifi-cation (up to P/E cycles). We implemented the NLMchannel based on the parameters described in [1]. Here, we use reads, and the sector size is bytes. For decoding, we usea fast Fourier transform based q -ary sum-product algorithm(FFT-QSPA) LDPC decoder (see also [2]).We use three OD codes in this section. The SC codes aredesigned according to [13], which provides a method to designhigh performance SC codes particularly for Flash systems.This method is based on the optimal overlap, circulant poweroptimizer (OO-CPO) approach. The block code is designedaccording to [2, Section VI]. OD Code 1 is an SC codedefined over GF( ), which has γ = 3 , maximum row weight = 19 , circulant size = 19 , memory = 1 , and coupling length = 7 . Thus, OD Code 1 has block length = 5054 bits andrate ≈ . . OD Code 2 is a block code defined over GF( ),which has γ = 4 , row weight = 40 , and circulant size = 53 .OD Code 2 has block length = 4240 bits and rate ≈ . .OD Code 1 and OD Codes 2 are the underlying codes of ourMD codes. OD Code 3 is an SC code that is designed exactlyas OD Code 1, except for that OD Code 3 has coupling length ABLE IE
FFECT OF CAREFULLY CHOSEN MD RELOCATIONS ON THE NUMBER OF (4 , UAS
INSTANCES , γ = 3 .MD couplingtechnique Number of (4 , UAS instancesNo MD coupling
Algorithm 1 TABLE IIE
FFECT OF CAREFULLY CHOSEN MD RELOCATIONS ON THE NUMBER OF (4 , UAS
INSTANCES , γ = 4 .MD couplingtechnique Number of (4 , UAS instancesNo MD coupling
Algorithm 1 = 21 instead of (three times as long as OD Code 1). Thus,OD Code 3 has block length = 15162 bits and rate ≈ . .From our simulations, the error profile in the error floorregion of OD Code 1 when simulated over the NLM channel isdominated by the (4 , non-binary AS. In fact, this is a generalAS of type two (GAST) according to [2], but we abbreviatethe notation here for simplicity. Moreover, the error profilein the error floor region of OD Code 2 when simulated overthe AWGN channel is dominated by the (4 , and the (6 , UASs. The overwhelming majority of the (6 , UAS instancesfound in the error profile of OD Code 2 simulated over theAWGN channel have the same configuration, which has the (4 , 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 andOD Code 2 are the underlying OD codes of the MD codesused in this section.
Remark 5.
The objects of interest in other codes and overother channels can be more sophisticated, e.g., the (6 , andthe (8 , UASs, γ = 3 , in addition to the (6 , and the (8 , UASs, γ = 4 . See [2] for more details. As for the MD codes, MD Code 1 is designed for practicalFlash channels, while MD Code 2 is designed for AWGNchannels. According to the analysis above, MD Code 1, with M = 3 , is designed from OD Code 1 using Algorithm 1 asfollows. Algorithm 1 is used to remove as many (4 , UASinstances as possible in the MD code via relocations since the (4 , UAS is the unlabeled configuration of the most dominantAS over the NLM channel. Furthermore, MD Code 2, with M = 3 , is designed from OD Code 2 using Algorithm 1 asfollows. Algorithm 1 is used to remove as many (4 , UASinstances as possible in the MD code via relocations since the (4 , UAS is the common substructure of interest over theAWGN channel. MD Code 1 has block length = 15162 bitsand rate ≈ . , which is similar to OD Code 3 (the longOD SC code described above). MD Code 2 has block length = 12720 bits and rate ≈ . . No specific optimization isperformed to the edge weights of non-binary codes.Table I and Table II demonstrate the reduction in the numberof UASs achieved by Algorithm 1. The no-MD-coupling caserefers to the case when H MD is constructed by putting threecopies of H OD in the block diagonal and zeros elsewhere.Table I shows that, and with only about of the circulants RBER -10 -9 -8 -7 -6 -5 -4 OD Code 3 (long)MD Code 1
Fig. 4. UBER versus RBER curves over the NLM Flash channel for OD andMD codes of similar parameters. relocated out of the OD copies to construct MD Code 1, Al-gorithm 1 removes all the (4 , UAS instances. Additionally,Table II shows that, and with only about . of the circulantsrelocated out of the OD copies to construct MD Code 2,Algorithm 1 removes all the (4 , UAS instances. Theserelatively small percentages of relocated circulants exemplifythe savings in relocation arrangements (see Section IV) in theMD code design, making it possible to relocate more circulantsin order to remove other detrimental objects.In this section, RBER is the raw bit error rate, which isthe number of raw, i.e., uncoded, data bits in error dividedby the total number of raw data bits read [2]. UBER is theuncorrectable bit error rate, which is a metric for the fractionof bits in error out of all bits read after the error correctionis applied. Here, the formulation of UBER is the frame errorrate (FER) divided by the sector size in bits [2].Fig. 4 demonstrates the performance gains achieved by anMD code constructed using Algorithm 1, which is MD Code 1,compared with an OD code of similar length and rate, whichis OD Code 3, over the practical NLM Flash channel. Inparticular, at UBER ≈ − in the waterfall region, the RBERgain of MD Code 1 marked in red translates to a gain of about P/E cycles. Moreover, at UBER ≈ − in the error floorregion, the RBER gain of MD Code 1 marked in red translatesto a gain of about P/E cycles. In addition to the waterfallslope and the error floor slope/level, even the threshold ofMD Code 1 is indeed better than that of OD Code 3. Thesegains in the number of P/E cycles are associated with anincrease in the lifetime of the Flash device.
Remark 6.
The error floor performance of both non-binarycodes having their performance curves in Fig. 4, which areOD Code 3 and MD Code 1, can be improved using the weightconsistency matrix (WCM) framework described in [2].
Remark 7.
While we focus here on practical Flash channelsin the simulations, performance gains are also achievable viathe proposed technique on other channels.
I. C
ONCLUSION
We introduced necessary and sufficient conditions for a UASto stay active or become inactive, i.e., be removed, after arelocation arrangement. We derived the savings in relocationoptions achieved by focusing on UASs instead of cycles inthe MD code design procedure. Examples demonstrating thesignificance of these savings were introduced for famous UASconfigurations. We presented an algorithm to design highperformance MD codes by removing detrimental UASs viarelocations. Using this algorithm, codes free of specific UASswere designed and simulated. Gains of up to about
P/Ecycles were achieved via our MD codes compared with ODcodes of similar parameters over a practical Flash channel.A
CKNOWLEDGMENT
This research was supported in part by NSF under grantCCF 1717602. R
EFERENCES[1] T. Parnell, N. Papandreou, T. Mittelholzer, and H. Pozidis, “Modelling ofthe threshold voltage distributions of sub-20nm NAND flash memory,”in
Proc. IEEE Global Commun. Conf. (GLOBECOM) , Austin, TX, USA,Dec. 2014, pp. 2351–2356.[2] A. Hareedy, C. Lanka, N. Guo, and L. Dolecek, “A combinatorialmethodology for optimizing non-binary graph-based codes: theoreticalanalysis and applications in data storage,”
IEEE Trans. Inf. Theory , vol.65, no. 4, pp. 2128–2154, Apr. 2019.[3] S. Srinivasa, Y. Chen, and S. Dahandeh, “A communication-theoreticframework for 2-DMR channel modeling: performance evaluation ofcoding and signal processing methods,”
IEEE Trans. Magn. , vol. 50,no. 3, pp. 6–12, Mar. 2014. [4] P. Chen, C. Kui, L. Kong, Z. Chen, M. Zhang, “Non-binary protograph-based LDPC codes for 2-D-ISI magnetic recording channels,”
IEEETrans. Magn. , vol. 53, no. 11, Nov. 2017, Art. no. 8108905.[5] D. Truhachev, D. G. M. Mitchell, M. Lentmaier, and D. J. Costello, “Newcodes on graphs constructed by connecting spatially coupled chains,” in
Proc. Inf. Theory and App. Workshop (ITA) , Feb. 2012, pp. 392–397.[6] 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.[7] L. Schmalen and K. Mahdaviani, “Laterally connected spatially coupledcode chains for transmission over unstable parallel channels,” in
Proc.Int. Symp. Turbo Codes Iterative Inf. Processing (ISTC) , Aug. 2014, pp.77–81.[8] Y. Liu, Y. Li, and Y. Chi, “Spatially coupled LDPC codes constructed byparallelly connecting multiple chains,”
IEEE Commun. Letters , vol. 19,no. 9, pp. 1472–1475, Sep. 2015.[9] H. Esfahanizadeh, A. Hareedy, and L. Dolecek, “Multi-dimensionalspatially-coupled code design through informed relocation of circulants,”in
Proc. 56th Annual Allerton Conf. Commun., Control, and Computing ,Monticello, IL, USA, Oct. 2018, pp. 695–701.[10] L. Dolecek, Z. Zhang, V. Anantharam, M. Wainwright, and B. Nikolic,“Analysis of absorbing sets and fully absorbing sets of array-based LDPCcodes,”
IEEE Trans. Inf. Theory , vol. 56, no. 1, pp. 181–201, Jan. 2010.[11] M. P. C. Fossorier, “Quasi-cyclic low-density parity-check codes fromcirculant permutation matrices,”
IEEE Trans. Inf. Theory , vol. 50, no. 8,pp. 1788–1793, Aug. 2004.[12] B. Amiri, J. Kliewer, and L. Dolecek, “Analysis and enumeration of ab-sorbing sets for non-binary graph-based codes,”
IEEE Trans. Commun. ,vol. 62, no. 2, pp. 398–409, Feb. 2014.[13] A. Hareedy, H. Esfahanizadeh, and L. Dolecek, “High performance non-binary spatially-coupled codes for Flash memories,” in