Multi-Dimensional Spatially-Coupled Code Design: Enhancing the Cycle Properties
Homa Esfahanizadeh, Lev Tauz, Lara Dolecek

TL;DR
This paper introduces a systematic framework for designing multi-dimensional spatially-coupled codes with improved cycle properties, leading to lower decoding latency and better error performance, especially useful in data storage systems.
Contribution
The work presents a novel multi-dimensional coupling method for SC codes that reduces small cycles and enhances decoding performance compared to traditional one-dimensional codes.
Findings
MD-SC codes have fewer small cycles than traditional SC codes.
The proposed decoding algorithm achieves lower latency.
Significant BER improvements demonstrated in simulations.
Abstract
A circulant-based spatially-coupled (SC) code is constructed by partitioning the circulants in the parity-check matrix of a block code into several components and piecing copies of these components in a diagonal structure. By connecting several SC codes, multi-dimensional SC (MD-SC) codes are constructed. In this paper, we present a systematic framework for constructing MD-SC codes with notably better cycle properties than their one-dimensional counterparts. In our framework, the multi-dimensional coupling is performed via an informed relocation of problematic circulants. This work is general in the terms of the number of constituent SC codes that are connected together, the number of neighboring SC codes that each constituent SC code is connected to, and the length of the cycles whose populations we aim to reduce. Finally, we present a decoding algorithm that utilizes the structures of…
| depth | ||||
|---|---|---|---|---|
| number of active cycles- | ||||
| total number of cycles- |
| code name | length | rate | cycles- | |
|---|---|---|---|---|
| MD-SC-Code 1 (SC-Code 1) | ||||
| SC-Code 2 | ||||
| MD-SC-Code 2 | ||||
| SC-Code 3 | ||||
| MD-SC-Code 3 |
| code name | number of active cycles- | total number of cycles- |
|---|---|---|
| SC-Code 5 | – | |
| MD-SC-Code 4 | ||
| MD-SC-Code 5 | ||
| MD-SC-Code 6 |
| code name | num. cycles- | num. cycles- | num. cycles- |
|---|---|---|---|
| MD-SC-Code 7 | |||
| MD-SC-Code 8 | |||
| MD-SC-Code 9 | |||
| MD-SC-Code 10 |
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.
Multi-Dimensional Spatially-Coupled Code Design: Enhancing the Cycle Properties
Homa Esfahanizadeh, , Lev Tauz, , and Lara Dolecek H. Esfahanizadeh, L. Tauz, and L. Dolecek are with the Department of Electrical and Computer Engineering, University of California, Los Angeles, Los Angeles, CA 90095 USA (e-mail: [email protected]; [email protected]; [email protected]).Parts of the paper were presented at the 56th Annual Allerton Conference on Communication, Control, and Computing 2018 [1], and the 10th Annual Non-Volatile Memories Workshop 2019 [2].
Abstract
A circulant-based spatially-coupled (SC) code is constructed by partitioning the circulants in the parity-check matrix of a block code into several components and piecing copies of these components in a diagonal structure. By connecting several SC codes, multi-dimensional SC (MD-SC) codes are constructed. In this paper, we present a systematic framework for constructing MD-SC codes with notably better cycle properties than their one-dimensional counterparts. In our framework, the multi-dimensional coupling is performed via an informed relocation of problematic circulants. This work is general in the terms of the number of constituent SC codes that are connected together, the number of neighboring SC codes that each constituent SC code is connected to, and the length of the cycles whose populations we aim to reduce. Finally, we present a decoding algorithm that utilizes the structures of the MD-SC code to achieve lower decoding latency. Compared to the conventional SC codes, our MD-SC codes have a notably lower population of small cycles, and a dramatic BER improvement. The results of this work can be particularly beneficial in data storage systems, e.g., 2D magnetic recording and 3D Flash systems, as high-performance MD-SC codes are robust against various channel impairments and non-uniformity.
I Introduction
Spatially-coupled (SC) codes are a family of graph-based codes that have attracted significant attention thanks to their capacity approaching performance. One-dimensional SC (1D-SC) codes are constructed by coupling a series of disjoint block codes into a single coupled chain [3]. Here, we use circulant-based (CB) LDPC codes [4] as the underlying block codes. The 1D-SC codes have been well studied from the asymptotic perspective and the finite length perspective. From the asymptotic perspective, density evolution techniques have been used to study the decoding threshold, e.g., [5, 6]. From the finite length perspective, via the evaluation and optimization of the number of problematic combinatorial objects, it has been shown how an informed coupling strategy can notably improve the performance, e.g., see [7, 8, 9].
Multi-dimensional SC (MD-SC) codes can be constructed by coupling several blue1D-SC codes together via rewiring the existing connections or by adding extra variable nodes (VNs) or check nodes (CNs)[10, 11]. MD-SC codes are more robust against burst erasures and channel non-uniformity, and they have improved iterative decoding thresholds, compared to 1D-SC codes[10, 11]. MD-SC codes were introduced in [10, 11] and investigated more in [12, 13, 14, 15, 16, 17].
In [10, 12, 13], constructions are presented for MD-SC codes that have specific structures, e.g., loops and triangles. The construction method for MD-SC codes presented in [11] involves connecting edges uniformly at random such that some criteria on the number of connections are satisfied. In [14], a framework is presented for constructing MD-SC codes by randomly and sparsely introducing additional CNs to connect VNs at the same positions of different chains. In [15], multiple SC codes are connected by random edge exchanges between adjacent chains to improve the iterative decoding threshold. In [16, 17], MD-SC codes are presented to improve the error correction performance against the severe burst errors in wireless channels.
Previous works on MD-SC codes, while promising, have some limitations. In particular, they either consider random constructions or are limited to specific topologies. As a result, they do not effectively use the added degree of freedom achieved by the multi-dimensional (MD) coupling in order to improve particular properties of the code, e.g., girth and minimum distance. They also use the density evolution technique for the performance analysis. This technique is dedicated to the asymptotic regime and is based on some assumptions, e.g., being cycle-free, that cannot be readily translated to the practical finite-length case. In [13], a finite-length analysis in the waterfall region for MD-SC codes with a loop structure is presented.
Finding the best connections to be rewired in order to connect constituent blue1D-SC codes and construct MD-SC codes with outstanding finite-length performance is still an open problem. This paper is the first work to present a comprehensive systematic framework for constructing MD-SC codes by coupling individual SC codes together to attain fewer short cycles. For connecting the constituent SC codes, we do not add extra VNs or CNs, and we only rewire some existing connections. This paper is an extended version of our work published in [1]. We extend our previous work by: (1) connecting an arbitrary number of SC codes at a desired MD coupling depth to construct MD-SC codes; (2) converting the instances of the short cycles in the constituent SC codes to cycles of the largest possible length in the MD-SC code; and (3) presenting a low-latency decoder that exploits the structure of the constituent SC codes along with the structure of the final MD-SC code.
For exchanging the connections, we follow three rules: (1) The connections that are involved in the highest number of short cycles are targeted for rewiring; (2) The neighboring constituent SC codes to which the targeted connections are rewired are chosen such that the associated short cycles convert to cycles of the largest possible length in the MD setting; (3) The targeted connections are rewired to the same positions in the other constituent SC codes in order to preserve the low-latency decoding property. From an algebraic viewpoint, problematic circulants (which correspond to groups of connections) that contribute to the highest number of short cycles in the constituent SC codes are relocated to connect these codes together.
The rest of the paper is organized as follows. In Section II, the necessary preliminaries are briefly reviewed. In Section III, the structure of our MD-SC codes is presented. In Section IV, our novel framework for constructing MD-SC codes with enhanced cycle properties is introduced. In Section V, a low-latency algorithm for decoding MD-SC codes is presented. In Section VI, our simulation results are given. Finally, the conclusion appears in Section VII.
II Preliminaries
Throughout this paper, each column (resp., row) in a parity-check matrix corresponds to a VN (resp., CN) in the equivalent graph of the matrix. Regular CB codes are LDPC codes, where is the column weight of the parity-check matrix (VN degree), and is the row weight (CN degree). The parity-check matrix of a CB code is constructed as follows:
[TABLE]
Each circulant has the form where , , is the row group index, , , is the column group index, and is the identity matrix cyclically shifted one unit to the left. blueThe term specifies the power of the circulant at row group index and column group index . We use CB codes as the underlying block codes of SC codes. We highlight that, in this paper, each circulant in (1) is a permutation of an identity matrix. Thus, each circulant has weight . Circulants with larger weights have a negative impact on the girth [18], and we do not use them in our code construction since the ultimate goal is to improve the cycle properties.
The parity-check matrix of a CB SC code is constructed by partitioning the circulants of the underlying block code into () component matrices (with the same size as ), and piecing copies of the component matrices together as shown in Fig. 1. blueThe parameter is called the memory, and the parameter is called the coupling length. Each component matrix , , has a subset of circulants of and zeros elsewhere so that . A replica , , is a submatrix of that has one submatrix , Fig. 1.
Recently, a systematic framework for partitioning the underlying block code and optimizing the circulant powers, known as the optimum partitioning and circulant power optimizer (OO-CPO) technique, was proposed for constructing high-performance SC codes [7, 19]. In this paper, we use the OO-CPO technique for designing the constituent SC codes that are then used to construct MD-SC codes. We note that choosing high-performance 1D-SC codes as constituent SC codes is not necessary in our MD-SC construction, and it only results in a better start point in a framework that further improves the performance via MD coupling.
Short cycles have a negative impact on the performance under iterative decoding. They affect the independence of the extrinsic information exchanged in the iterative decoder. Moreover, problematic combinatorial objects that cause the error-floor phenomenon, e.g., absorbing sets and trapping sets [20, 21], are formed of cycles with relatively short lengths [7, 19, 22, 23]. Finally, short cycles can have a negative impact on the code minimum distance. In [24, 25], some upper bounds on the minimum distance of circulant-based block and SC LDPC codes are derived, and it is shown that the smaller the girth of the graph, the smaller the minimum distance upper bound will be. Thus, improving the girth can result in a larger minimum distance.
We present a systematic framework to construct MD-SC codes, which is based on an informed relocation of circulants. MD-SC codes constructed using our proposed framework enjoy a notably lower population of short cycles, and consequently better performance compared to 1D-SC codes. Throughout this paper, the operator (resp., \mathrel{\ooalign{\raisebox{20.0pt}{\scriptsizep}\cr\neq\cr}} ) defines the congruence (resp., incongruence) modulo , and the operator defines modulo of an integer.
III MD-SC Code Structure
In this section, we demonstrate the structure of our MD-SC codes. Our MD-SC codes have two main parameters: MD coupling depth and MD coupling length . The parameter of an MD-SC code shows the number of SC codes that are connected together to form the MD-SC code. Each constituent SC code is connected to at most () following SC codes, sequenced in a cyclic order. Thus, , and corresponds to disjoint 1D-SC codes.
We intend to reduce the population of cycles with length , or cycles-, in our MD-SC code construction, and the parameter is an input to our scheme. A wise choice for is the girth [26], or the length of the cycle that is the common denominator of several problematic combinatorial objects for a specific channel, e.g., AWGN channels [7], partial response channels [27], or Flash channels [28]. For instance, a cycle- is the common denominator of problematic combinatorial objects for AWGN channels, and a cycle- is the common denominator of problematic combinatorial objects for partial response channels even if the girth is .
An Auxiliary matrix , , has the same size as the parity-check matrix of the constituent 1D-SC code , i.e., , and appears in the parity-check matrix of the final MD-SC code, see (3). The auxiliary matrices are all-zero matrices at the beginning of the framework and are filled with non-zero circulants during the construction process. A relocation is defined as moving a non-zero circulant of to the same position in one of the auxiliary matrices.
Consider an SC code with parity-check matrix , memory , and coupling length as the constituent 1D-SC code, and let be the middle replica of , i.e., . There are non-zero circulants in this replica. Out of these circulants, we choose circulants that are the most problematic, i.e., that contribute to the highest number of cycles-. The parameter is called the MD coupling density. We relocate the chosen circulants to auxiliary matrices , , , such that a relocated circulant from is moved to the same position in one of the auxiliary matrices. The same relocations are repeated for all the () remaining replicas. As a result,
[TABLE]
where is derived from by removing the chosen circulants. We note that the middle replica is considered for ranking the circulants in order to include all possible cycles- that a non-zero circulant in can contribute to. The parity-check matrix of the MD-SC code, , is constructed as follows, where : (The non-zero auxiliary matrices are , , , .)
[TABLE]
can be viewed as a collection of rows and columns of segments , where and . Each segment is a matrix with the same dimension as , , for , and for 111magenta While may look similar to a block LDPC code, we would like to note that the locality of connections is always preserved during relocations. As such, the code does not reduce to a block LDPC code even when ..
Example 1**.**
Consider an SC code with , , , , and . The matrix of the underlying block code and the component matrices are given below:
[TABLE]
We intend to construct an MD-SC code with parameters , , and . Assume is the most problematic circulant, and we relocate it to . This relocation is applied to all instances of the problematic circulant. We remind that each circulant corresponds to a group of connections in the graph of the SC code. Four constituent SC codes along with their problematic connections are depicted in Fig. 2(a). The problematic connections are rewired to the same positions in the next SC codes, in a cyclic order, to construct the MD-SC code, Fig. 2(b).
Definition 1**.**
Let , where and , be a non-zero circulant in . We say is relocated to , where , if it is moved from to . We denote this relocation as . 2. 2.
* refers to the circulant in segment . When , the value of is copied to , and becomes zero ( and ).* 3. 3.
The MD mapping is a mapping from a non-zero circulant in to an integer in , and it is defined as follows:
- (a)
If , . 2. (b)
If is kept in (no relocation), . 4. 4.
A cycle-, or , visits circulants in the parity-check matrix of the code. We list the circulants of , according to the order they are visited when the cycle is traversed in a clockwise direction, in a sequence as , where . A circulant can be visited more than once, e.g., Fig. 3. 5. 5.
We denote the distance between two circulants and on a cycle , where , as . By definition, .
In the new MD-SC code design framework, we effectively answer two questions: which circulants to relocate, and where to relocate them.
IV Novel Framework for MD-SC Code Design
In this section, we present a new framework for constructing MD-SC codes. First, we investigate the effects of relocating a subset of circulants on the population of cycles. Then, we present our algorithm for constructing MD-SC codes which is based on a score voting policy.
IV-A The Effects of Relocation of Circulants on Cycles
Consider a cycle in with sequence of circulants . Prior to any relocation, there are instances of this cycle in the MD-SC code with parameter , one per each constituent SC code. We investigate the effect of relocating a subset of circulants of , and we call this subset targeted circulants. We show that, after relocations, instances of circulants of can form cycles of length , cycles of length , , or one cycle of length . The first case is a result of bad choices for relocations, and the rest are more preferable. In fact, we opt for the relocations that result in larger cycles (with smaller cardinality as a result).
Theorem 1**.**
Let be the sequence of circulants in that are visited in a clockwise order by . If the following equation holds, the instances of circulants of form cycles- in ,
[TABLE]
Otherwise, the instances of the targeted circulants do not result in cycles- in 222Equation (4) resembles Fossorier’s condition on circulant powers of a CB code that makes a cycle in the protograph result in multiple cycles in the lifted graph of the code [29].. We call (4) the Ineffective Relocation Condition, or IRC, in the rest of this paper.
Proof.
Let be a pair of consecutive circulants in , where and . By definition, two circulants have the same row (resp., column) group index, i.e., (resp., ), when (resp., ). Before relocations, and , where , , and . This results in instances of , one per each segment . After relocations, the circulants in do not all belong to the same segment.
Here, a unit of a MD horizontal (resp., MD vertical) shift is defined as cyclically going one segment right (resp., down) when we go from to . The cycle reflects in the MD-SC code as cycles with the same length if and only if when we start from from one segment and traverse the circulants of the cycle in a clock wise order (with the same order they appear in ), we end up at the same segment that we started with.
The segments of appear in the cyclic order , with the MD mapping , from left to right. These segments appear in the cyclic order , with the MD mapping , from top to bottom, see (3). Thus, the MD horizontal shift, when we go from to , , is units, see Definition 1.3. Similarly, the MD vertical shift, when we go from to , , is units. We remind that the operator defines modulo of an integer. The total MD horizontal and vertical shifts when we traverse the circulants of in are and , respectively:
[TABLE]
The relocations are ineffective if and only if the start and end segments are the same when we traverse the circulants of . For this to happen, the total MD horizontal and vertical shifts ( and ) need to be zero, which results in (4). ∎
If equation (4), or IRC, holds for the circulants of , instances of circulants of in form cycles- in the MD-SC code (unpreferable). Theorem 2 investigates the situation when IRC does not necessarily hold.
Theorem 2**.**
Each cycle in results in cycles with length in , where
[TABLE]
The operator outputs the greatest common divisor of its two operands.
Proof.
Consider a cycle with in . There are instances of in , , one per each segment, and only of them can be non-zero. We traverse the circulants of in according to the order they appear in starting from a non-zero instance of . After traversing all circulants, we reach circulant in a segment that is (cyclically) units right and units down from the segment we started.
If , the cycle is complete after traversing the circulants. In this case, there are instances of , one per each non-zero instance of . If , the cycle cannot be complete after traversing circulants. We proceed traversing the circulants until we reach that is in the same segment that we started from.
We define the parameter as follows:
[TABLE]
Then, we complete the cycle after traversing circulants. The parameter is the minimum integer value such that , i.e., . The non-zero instances of the circulants in form cycles of the length . ∎
For example, when and are relatively prime, there is a cycle with length that traverses all non-zero instances of the circulants of . When , the non-zero instances of the circulants of form cycles with length . In our algorithm for the MD-SC code construction, the relocations that result in smaller are more preferred as they result in larger cycles.
Remark 1**.**
Review some properties of that are used in the rest of this paper:
- •
* for any non-zero ,*
- •
* for any integer ,*
- •
.
Example 2**.**
Let be the sequence of circulants of , and be the number of its relocated circulants.
Let , , and . Then, and . Fig. 4(a) shows . Fig. 4(b) shows that a cycle-* (shown in orange) is formed. The green border represents that this relocation is preferable.* 2. 2.
Let , , and . Suppose . Then, and . Fig. 4(c) shows . Fig. 4(d) shows that three cycles-* are formed. The red border represents that these relocations are unpreferable.* 3. 3.
Let , and , , , and . Suppose these three circulants are consecutive in . Then, and . Fig. 4(e) shows . Fig. 4(f) shows that two cycles-* are formed. The red border represents that these relocations are less preferred. We note that if we relocated the targeted circulants to instead, the result would be one cycle- which is more preferred.*
Remark 2**.**
A circulant can appear more than once in , e.g., see Fig. 3(b). A circulant that is repeated times in the sequence can be interpreted in our analysis as different circulants; every two circulants from this group have an even distance on . The relocation of a circulant that appears times is equivalent to the relocation of circulants to the same auxiliary matrix.
IV-B Score Voting Algorithm for MD-SC Code Design
Our framework is based on a score voting policy and aims at minimizing the population of short cycles. As stated in Section III, the MD coupling with depth is performed via relocating problematic circulants to auxiliary matrices , . After relocating one circulant, the ranking of the problematic circulants (with respect to the number of cycles each of them is visited by) changes. Thus, the relocations are performed sequentially. In our framework, we use a tree-based strategy for constructing MD-SC codes, by identifying a proper sequence of relocations such that as many as possible designated cycles are removed in the constituent SC codes, while as few as possible short cycles are formed in the multi-dimensional configuration. To assign scores to the branches of the tree, we use the results of Section IV (A). A tree-based strategy has also been recently applied to find a good partitioning to construct 1D-SC codes with a reduced population of problematic objects [30].
Consider a targeted circulant . There are possible relocation options for this circulant: relocate to one of the auxiliary matrices or keep in , i.e., and . Each cycle in that has the targeted circulant in its sequence gives a score for each of these options, and the collective scoring results are considered for making a decision. The score is proportional to the length of the cycles that the non-zero instances of the circulants of form after applying the corresponding option (after performing a relocation or keeping the targeted circulant in ):
[TABLE]
Here, we assumed is repeated times in , and is the index of one of the repetitions.
In fact, there might be several options for a targeted circulant such that IRC (i.e., (4)) does not hold. However, the options that result in larger cycles (with smaller cardinality as a consequence) are preferable. We use a scoring system in our algorithm for constructing MD-SC codes in order to convert short cycles in the constituent SC codes into cycles with lengths as large as possible.
Example 3**.**
*Consider the cycle and a targeted circulant .
Scenario 1: No circulants of are previously relocated, and appears once in (i.e., ). Thus, IRC does not hold after a relocation, regardless of the auxiliary matrix that is relocated to. For the option , . For instance, gives score to the option “keep in ”, and gives score to the option “relocate to ”.
Scenario 2: Circulant is already relocated to , , and both circulants appear once in (i.e., ). Then, IRC does not hold for options “no relocation” and “relocation to ”, when . In fact, for the option , , gives score For instance, gives score blueto “relocate to ”, and gives score to “keep in ” and “relocate to ” where and are relatively prime.*
The relocation options are relocate to ,…, relocate to , keep in . We identify the best options for a targeted circulant as follows: We first identify and keep the options that receive the least number of scores with value , as these options result in fewer cycle- in the MD-SC code. Among these options, we keep the ones that that receive the least number of scores with value , as these options result in fewer cycle- in the MD-SC code. We continue until we reach or there is only one option left for the targeted circulant. Then, all survived options are recorded as branches of a tree, and the next targeted circulant is chosen and similarly evaluated for each branch.
Remark 3**.**
The score value is by definition a divisor of . Thus, is only considered for the above analysis if . Moreover, we do not continue the procedure until reaching . This is because two options that receive the same number of scores with value , , receive the same number of scores with value .
Algorithm 1 shows the procedure to find the best relocation options. We consider all cycles- in that visit circulants in the middle replica. We call the cycles for which IRC holds the active cycles and the rest as the inactive cycles. We highlight three points here: (1) The targeted circulant is chosen from to increase the MD coupling. (2) The most problematic circulant is the one that is visited by the most active cycles. (3) Each active/inactive cycle that visits (has in its sequence) gives a score to each relocation option, since the status of cycles- (being active or inactive) changes by relocations.
Now, we are ready to describe our algorithm for constructing MD-SC codes. A solution for constructing an MD-SC code is a sequence of up to relocations. Our algorithm for constructing MD-SC codes is greedy in the sense that, at each step, it chooses the relocation options that result in the least number of short cycles. The solutions for constructing an MD-SC code are recorded in a tree structure. The root of the tree corresponds to the initial state, where and for . Other nodes correspond to one relocation each, and the path from the root node to a node at level , , describes a solution with relocations for constructing the MD-SC code. At each iteration of our algorithm, we expand the tree by one level and trim the solutions that do not result in MD-SC codes with the best cycle properties amongst the solutions at that level.
**Expanding: ** At iteration , we consider all nodes at level , individually. For each node at level , we perform the relocations described by the path from the root to the node, and form matrix and the auxiliary matrices, accordingly. Next, all non-zero circulants in the middle replica of are ranked, in a decreasing order, based on the number of active cycles- that they are visited by. Then, we target one circulant from the top of the list and find its best relocation options, by Algorithm 1. If the option “keep in ” is among the best options, the next problematic circulant in the sorted list is targeted. We continue this process until the most problematic circulant, such that its relocation reduces the population of short cycles, is found. Then, its best relocation options are added as children of the current node. If there is no circulant in the list such that its relocation reduces the population of short cycles, the node is not expanded.
**Trimming: ** At the end of each iteration, all solutions (there is one solution per leaf node) that do not result in MD-SC codes with the least number of active cycles are trimmed. If all children of a node are trimmed, that node is trimmed as well.
**Termination: ** We proceed with expanding and trimming the tree of solutions, until no node is expanded in an iteration (the relocation process does not help anymore) or the maximum density is achieved (it happens at the end of iteration ). Then, we construct the MD-SC code according to the relocations suggested by the nodes on the path from the root to a randomly chosen, non-trimmed, leaf.
Example 4**.**
Fig. 5 illustrates an example for the tree of solutions to construct an MD-SC code with parameters , , and 333The remaining code parameters that result in this realization are , , , , girth , and OO-CPO technique is used for constructing the constituent SC codes.. At iteration , there are two winning relocation options for the targeted circulant, and they both result in cycles-. At iteration , each node at level is expanded to two nodes. All solutions result in active cycles-. At iteration , each node at level is expanded to one node. All solutions result in active cycles-. At iteration , the and nodes at level are expanded to two nodes each, and the and nodes at level are expanded to one node each. Among the solutions, two of them result in active cycles-, and the remaining result in active cycles- and are trimmed. At iteration (the last iteration), each (non-trimmed) node at level is expanded to one node. The two solutions (shown with leaves that have hatch backgrounds) result in active cycles-, and one of them can be chosen randomly for constructing the MD-SC code.
Algorithm 2 shows the procedure for constructing MD-SC codes.
V Low-Latency Decoding of MD-SC Codes
In this section, we present a low-latency windowed decoding for MD-SC codes. First, we describe the decoding method. Then, we provide the latency analysis of our decoder.
V-A Multi-Dimensional Windowed Decoding
In this subsection, we present a low-latency windowed decoder for our MD-SC codes. Our decoder extends the well-studied windowed decoder of the conventional SC codes, [31, 32], to allow for low-latency decoding across multiple constituent SC codes. Such a decoder was briefly introduced in [14]. In our paper, we thoroughly define and analyze the multi-dimensional windowed decoder which, to our knowledge, has not been done before.
First, we recall the original windowed decoder. By construction, for a 1D-SC code, any two VNs are guaranteed not to share CNs if the replicas that they belong to are separated by more than replicas in between. As such, the farther apart two VNs are, the less likely they are to affect the decoding results of each other. This observation motivates the idea of a windowed decoder where only a subset, or a window, of VNs and CNs are considered for decoding the VNs of a replica.
Let be the size of the window and be the window index, where and . Consider the window. This window only considers the edges between VNs and CNs that exclusively belong to replicas , known as the window configuration. We assume that replicas have already been decoded, and their decoded values contribute to the decoding of VNs in later windows. The window performs decoding on its own window configuration and aims to decode the VNs in replica , known as the targeted VNs. This operation is performed sequentially from the first to the window until the VNs of all replicas are decoded [31].
We extend the idea of low-latency windowed decoding to make it applicable for decoding of the MD-SC codes. Note that each segment of an MD-SC code has the staircase structure of an SC code, see Definition 1.2. Therefore, if two VNs do not to share CNs before MD coupling, they also do not share CNs after MD coupling. Moreover, if two VNs do not to share CNs within one constituent SC code before MD coupling, any instance of these two VNs across different constituent SC codes also do not share CNs after MD coupling.
We define an MD window as a collection of several smaller (local) windows that are each defined over one segment of . Let be the size of the local windows and be the MD window index, where and . Let refer to the replica in segment of . Recall that for and , which results in being zero for these segments. Therefore, the local windows are only defined for the non-zero segments, and the number of local windows is .
Consider the MD window. For this MD window, we define a local window , where and , as the edges between VNs and CNs that exclusively belong to replicas As such, the MD window is defined as the collection of local windows , and we call it the multi-dimensional window configuration. We assume that the VNs corresponding to replicas in all segments have already been decoded, and their decoded values contribute to the decoding of VNs in later MD windows. The window performs decoding on its own MD window configuration and aims to decode the VNs corresponding to replica of all segments, known as the MD targeted VNs. This operation is performed sequentially from the first to the MD window until all the VNs are decoded. For example in Fig. 6(a), the small rectangles represent an MD window configuration. The green columns are VNs that have already been decoded, and the blue columns are the targeted VNs.
One can view each constituent SC code as a chain of replicas. In the MD-SC code, constituent SC chains can only be connected together through their similar replicas. MD windowed decoding exploits this limited connectivity to allow for lower decoding latency, Fig. 6(b). The structure of our MD-SC codes allows for a simpler decoder implementation. For all MD window configurations, the graphs have the same structure (edge connectivity). Thus, the same, small decoder can be used for all MD windows and the only change across MD windows is the initial values of the VNs. This is another advantage of our deterministic construction compared to the random constructions, e.g., [11, 14], where the MD window configurations vary.
We now briefly mention a viable variant of the MD windowed decoding that is an interesting direction for future research. To further reduce the complexity and latency, one can limit the number of constituent SC codes that are considered in an MD window configuration to be less than . The major challenge with this decoder is that the degree distribution of the MD window can be very different from the global degree distribution, affecting the decoding threshold of the MD windows [33]. Since the MD window configurations depends on the selected relocations, the score voting algorithm would need to take into account the degree distribution change. This observation requires more analysis which is left as future work.
V-B Latency Analysis
In this subsection, we provide a latency analysis of our MD windowed decoder 444The presented latency analysis is inspired by the analysis in [31] performed for the one-dimensional windowed decoding.. For decoding a group of VNs, we consider the decoding latency as the time the first VN is acquired until the whole VNs in that group are decoded, which is an upper bound for the latency of all VNs in the group. First, we consider the latency of a block decoder. The block decoder requires all the VNs to start decoding. Therefore, its decoding latency is given by , where is the time needed to receive the full codeword and is the time needed to decode the codeword.
We define the window latency as the time needed to decode the targeted VNs for a single MD window. This latency gives the time elapsed between successive decoding of the MD targeted VNs 555This definition of latency is commonly used in the literature on windowed decoding, e.g., [31, 32].. We can define window latency as , where is the time needed to receive the VNs in the MD window and is the time needed to decode the targeted VNs. We can relate and by
[TABLE]
since all MD windows, except for a few trailing and leading ones, require values for the VNs in their MD configurations before they can start decoding.
We assume that the number of iterations is the same for both the block decoder and the MD windowed decoder. For iterative decoding, the decoding time grows linearly with the number of VNs in consideration. Each MD configuration has VNs, except for the last MD windows that have fewer VNs. Therefore, and are related by:
[TABLE]
Using (9) and (10), . As expected, the latency reduction is similar to windowed decoding of 1D-SC codes, which shows that our MD-SC construction preserves the latency benefits of the 1D-SC codes.
VI Simulation Results
Our simulation results demonstrate the outstanding performance of our new framework for constructing MD-SC codes, and it is organized as follows: Subsections A and B are dedicated to the analysis of MD-SC codes with girthblues and , respectively. In each subsection, we study the effect of parameters , , and on the performance of MD-SC codes. Additionally, we compare the MD-SC codes constructed by our new framework with their 1D-SC counterparts (1D-SC codes having the same length and nearly the same rate as the MD-SC codes). In Subsection C, we compare the performance of our well-designed MD-SC codes with random constructions. In Subsection D, we evaluate the performance of the MD windowed decoding. In our simulations, we consider the AWGN channel, and we use quantized min-sum algorithm with bits and iterations for the decoding.
VI-A Analysis for MD-SC Codes with Girth 6
We first describe the code parameters of SC-Code 1 with girth that is used as the constituent SC code in the rest of this subsection. SC-Code 1 has parameters , , , , rate , and length bits, and it is constructed by the OO-CPO technique [7]. The partitioning and circulant powers of SC-Code 1 are given in Appendix. The cycles of interest here have length 6, i.e., .
First, we consider MD-SC codes with constructed by Algorithm 2. Fig. 7(a) shows the effect of increasing the MD coupling density, , on the population of cycles- for various MD coupling depths. The horizontal axis shows , and the vertical axis shows the number of active cycles-. We remind that an active cycle- is a cycle- that visits circulants of the middle replica of the constituent SC code and IRC (i.e., (4)) holds for it. As we see, increasing does not decrease the population of active cycles- after (resp. ) relocations for depth (resp., ), resulting in an earlier termination for the smaller depth.
Table I shows the number of cycles- for MD-SC codes with , density ( of circulants), and for various MD coupling depths. As we see, increasing the depth improves the cycle properties of the MD-SC codes. According to Table I, MD-SC codes with depthblues and have similar number of active cycles-, and the small difference in the total number of cycles- is due to the different multiplicity of the active cycles- in the final MD-SC codes. Fig. 7(b) shows a similar comparison in terms of the BER performance. For example, at SNR dB, the MD-SC code with depth shows more than orders of magnitude improvement in BER performance compared to MD-SC code with depth .
Next, we study the effect of increasing the MD coupling length, , on the performance of MD-SC codes. We first describe the MD-SC codes and their 1D counterparts. MD-SC-Code 1 has , and it is, in fact, one instance of SC-Code 1. MD-SC-Code 2 has , (maximum depth), and (maximum density). After reaching the maximum density, relocation does not decrease the population of the cycles of interest. SC-Code 2 is an SC code similar to SC-Code 1 but with (three times the coupling length of SC-Code 1); thus it has comparable length and rate to MD-SC-Code 2. MD-SC-Code 3 has , (maximum depth), and (maximum density). SC-Code 3 is an SC code similar to SC-Code 1 but with ; thus it has comparable length and rate to MD-SC-Code 3. The MD mapping matrices, i.e., , for MD-SC-Codes 2 and 3 are shown below:
[TABLE]
Table II shows the number of cycles- for SC-Codeblues 2 and 3 and MD-SC-Codes 1-3. MD-SC-Code 2 has nearly fewer cycles- compared to SC-Code 2, and MD-SC-Code 3 has nearly fewer cycles- compared to SC-Code 3. Furthermore, by increasing the number of constituent SC codes, although the overall code length increases, the number of cycles- decreases thanks to the higher amount of the MD coupling.
Fig. 8 compares the BER performance for our MD-SC codes and their 1D-SC counterparts. MD-SC-Code 2 shows about orders of magnitude performance improvement compared to SC-Code 2 at SNR dB. This improvement is very pronounced for MD-SC-Code 3 compared to SC-Code 3 (about orders of magnitude at SNR dB). These results demonstrate that the freedom offered by MD-SC codes is thoroughly exploited by our efficient construction framework, resulting in a large improvement in the BER performance. One interesting observation here is that although increasing the coupling length improves the BER perfromance for 1D-SC codes, the improvement becomes incremental for large values of . Therefore, adding the MD coupling to achieve an even better error correction is a promising choice.
VI-B Analysis for MD-SC Codes with Girth 8
We first describe the code parameters of SC-Code 4 with girth that is used as constituent SC code in the rest of this subsection. SC-Code 4 has parameters , , , , , rate , and length bits, and it is constructed by the OO-CPO technique [7]. The partitioning and circulant powers of SC-Code 4 are given in Appendix. The cycles of interest here have length 8, i.e., .
We consider MD-SC codes with constructed by Algorithm 2. Fig. 9(a) shows the effect of increasing the MD coupling density, , on the population of cycles- for various MD coupling depths. We have two interesting observations here: First, increasing does not decrease the population of active cycles- after (resp. and ) relocations for depth (resp., and ), implying that a larger depth does not necessarily result in an earlier termination. Second, for some relocations, although the population of active cycles- does not decrease, Algorithm proceeds with relocations (for example, see relocations and in Fig. 9(a)). This is because although these relocations do not reduce the population of the shortest cycles (cycles with length here), they reduce the population of cycles with length .
Next, we study the BER performance of MD-SC codes with various depths and their 1D-SC counterpart. We first describe the codes: MD-SC-Codes 4-6 have , , SC-Code 4 as their constituent SC codes, length , and rate . MD-SC-Code 4, resp. 5 and 6, have depth , resp., and . SC-Code 5 is an SC code similar to SC-Code 4 but with (four times the coupling length of SC-Code 4); thus it has comparable length and rate to MD-SC-Codes 4-6 (length and rate )666The MD mapping matrices for MD-SC-Codes 4-6 can be found in Appendix..
According to Fig. 9(b), MD-SC-Codes 4-6 show about orders of magnitude performance improvement compared to SC-Code 5 at SNR dB. Table III shows the number of cycles- for SC-Code 5 and MD-SC-Codes 4-6. MD-SC-Code 6 has nearly fewer cycles- compared to SC-Code 5 and nearly fewer cycles- compared to MD-SC-Code 4. As we see, the MD coupling considerably improves the performance of the SC codes; however, the improvement by increasing the MD coupling depth is small in this case, and thus, using a lower depth is sufficient to achieve a good error floor performance.
VI-C Comparison with Random Constructions
Previous works on MD-SC codes, while promising, either consider random constructions or are limited to specific topologies. In this subsection, we compare our new MD-SC code construction with random constructions for connecting several SC codes together. Random constructions are inspired by [10, 11, 14, 15], where the purpose of random constructions is performing an ensemble asymptotic analysis over a family of the MD-SC codes. In order to perform a fair comparison, all MD-SC codes in this section have the same constituent SC code, i.e., SC-Code 6. SC-Code 6 has parameters , , , , , rate , and length bits, and it is constructed by the OO-CPO technique [7]. The partitioning and circulant powers of SC-Code 6 are given in Appendix. The cycles of interest here have length 6, i.e., .
MD-SC-Codes 7-10 have , , SC-Code 6 as their constituent SC codes, length bits, and rate . MD-SC-Codes 7 and 8, have depths and , respectively, and they are constructed by Algorithm 2 introduced in this paper777The MD mapping matrices for MD-SC-Codes 7 and 8 can be found in Appendix.. MD-SC-Codes 9 and 10 are constructed by random relocations, and they both have depth . For MD-SC-Code 9, the relocated circulants are chosen uniformly at random, and similar relocations are applied to all replicas of one constituent SC code. However, different constituent SC codes can have different relocations. MD-SC-Code 10 is constructed in a similar way to MD-SC-Code 9, but the same relocations are applied to all constituent SC codes. The later random construction has the benefit of avoiding the creation of cycles- if the constituent SC codes do not have cycles-.
Table IV shows the population of short cycles for MD-SC-Codes 7-10. As we see, MD-SC-Code 7 has fewer cycles- compared to MD-SC-Code 10, and they both have zero cycles-. These two codes have they same structure, but the relocated circulants are chosen randomly for MD-SC-Code 7, while they are chosen to specifically reduce the number of cycles- for MD-SC-Code 10. MD-SC-Code 8, which is similar to MD-SC-Code 7 but with depth , has zero cycles- and fewer cycles- compared to MD-SC-Code 7. MD-SC-Code 9 is similar to MD-SC-Code 10, but without the constraint of similar relocations for all constituent SC codes, thus it could not preserve the girth of the constituent SC codes and has cycles-. Fig. 10(a) shows the BER performance comparison for MD-SC-Code 7 and MD-SC-Code 10. These two codes both have depth and have the MD structure described in (3). At SNR= dB, MD-SC-Code 7 shows nearly orders of magnitude BER improvement compared to MD-SC-Code 10.
VI-D Evaluation of MD Windowed Decoding
In this subsection, we use SC-Code 1 as the constituent code and construct MD-SC-Code 11 with , , , length bits, and rate . We evaluate the BER performance of MD-SC-Code 11 using the MD windowed decoder with MD window sizes and . As a reference, we also show the BER performance using a block decoder. Both the MD windowed decoder and the block decoder use min-sum algorithm with iterations. The results are illustrated in Fig. 10(b). As expected, there is a slight degradation in the BER performance for windowed decoder compared to the block decoder. In addition, the degradation decreases as the MD window size increases, and it is already small for MD window size .
VII Appendix
The partitioning matrix and circulant power matrix , with dimensions , describe partitioning and circulant powers, respectively. A circulant with row group index and column group index in the block code is assigned to the component matrix , and it has power . For SC-Codes 1-3, these two matrices are given below:
[TABLE]
For SC-Codes 4-5, these two matrices are given below:
[TABLE]
[TABLE]
For SC-Code 6, these two matrices are given below:
[TABLE]
For MD-SC-Codes 4-8, the MD mapping matrices are given below:
[TABLE]
[TABLE]
[TABLE]
VIII Conclusion
We expanded the repertoire of SC codes by establishing a framework for MD-SC code construction with an arbitrary number of constituent SC codes and an arbitrary multi-dimensional coupling depth. For MD coupling, we rewire connections (relocate circulants) that are most problematic within each SC code. Our framework encompasses a systematic way to sequentially identify and relocate problematic circulants, thus utilizing them to connect the constituent SC codes. Our MD-SC codes show a notable reduction in the population of the small cycles and a significant improvement in the BER performance compared to the 1D setting. We also presented a windowed decoder for the MD-SC codes that exploits the locality of the constituent SC codes to attain a low decoding latency. Two promising research directions are to investigate MD-SC codes on non-uniform channels, such as multilevel Flash and multi-dimensional magnetic recording channels, in addition to improve the presented windowed decoder by incorporating the MD coupling depth to further reduce the decoding latency and complexity. Furthermore, the presented methodology for constructing MD-SC codes can be extended to use CB underlying block codes that have circulants of weight [math], , or larger than , and this is an interesting research direction.
Acknowledgment
Research supported in part by UCLA Dissertation Year Fellowship, a grant from ASRC-IDEMA, and NSF CCF-BSF:CIF 1718389. We would like to thank the reviewers whose suggestions helped improve and clarify this manuscript.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] H. Esfahanizadeh, A. Hareedy, and L. Dolecek, “Multi-dimensional spatially-coupled code design through informed relocation of circulants,” in Proc. Annual Allerton Conf. Commun., Control and Comp. , Oct. 2018, pp. 695–701.
- 2[2] H. Esfahanizadeh, A. Hareedy, and L. Dolecek, “Multi-dimensional spatially-coupled code design with improved cycle properties,” in Proc. Annual Non-Volatile Memories Workshop , Mar. 2019.
- 3[3] A. J. Felstrom and K. S. Zigangirov, “Time-varying periodic convolutional codes with low-density parity-check matrix,” IEEE Trans. Inf. Theory , vol. 45, no. 6, pp. 2181–2191, Sep. 1999.
- 4[4] R. M. Tanner, D. Sridhara, A. Sridharan, T. E. Fuja, and D. J. Costello, “LDPC block and convolutional codes based on circulant matrices,” IEEE Trans. Inf. Theory , vol. 50, no. 12, pp. 2966–2984, Dec. 2004.
- 5[5] M. Lentmaier, A. Sridharan, D. J. Costello, and K. S. Zigangirov, “Iterative decoding threshold analysis for LDPC convolutional codes,” IEEE Trans. Inf. Theory , vol. 56, no. 10, pp. 5274–5289, Oct. 2010.
- 6[6] S. Kudekar, T. Richardson, and R. L. Urbanke, “Spatially coupled ensembles universally achieve capacity under belief propagation,” IEEE Trans. Info. Theory , vol. 59, no. 12, pp. 7761–7813, Dec. 2013.
- 7[7] H. Esfahanizadeh, A. Hareedy, and L. Dolecek, “Finite-Length Construction of High Performance Spatially-Coupled Codes via Optimized Partitioning and Lifting,” IEEE Trans. Commun. , vol. 67, no. 1, pp. 3–16, Jan. 2019.
- 8[8] D. G. M. Mitchell and E. Rosnes, “Edge spreading design of high rate array-based SC-LDPC codes,” in Proc. IEEE Int. Symp. Inf. Theory , Jun. 2017, pp. 2940–2944.
