Fractional decoding: Error correction from partial information

Fractional decoding: Error correction from partial information


To be considered for the 2017 IEEE Jack Keil Wolf ISIT Student Paper Award. We consider error correction by maximum distance separable (MDS) codes based on a part of the received codeword. Our problem is motivated by applications in distributed storage. While efficiently correcting erasures by MDS storage codes (the “repair problem”) has been widely studied in recent literature, the problem of correcting errors in a similar setting seems to represent a new question in coding theory.

Suppose that data symbols are encoded using an MDS code, and some of the codeword coordinates are located on faulty storage nodes that introduce errors. We want to recover the original data from the corrupted codeword under the constraint that the decoder can download only an proportion of the codeword (fractional decoding). For any code we show that the number of correctable errors under this constraint is bounded above by Moreover, we present two families of MDS array codes which achieves this bound with equality under a simple decoding procedure. The decoder downloads an proportion of each of the codeword’s coordinates, and provides a much larger decoding radius compared to the naive approach of reading some coordinates of the codeword. One of the code families is formed of Reed-Solomon (RS) codes with well-chosen evaluation points, while the other is based on folded RS codes.

Finally, we show that folded RS codes also have the optimal list decoding radius under the fractional decoding constraint.


Efficient recovery of data from a part of the codeword has been studied recently in the context of applications to distributed storage. One special case of this problem, which was the subject of a large number of publications, is erasure correction by array codes and in particular by MDS array codes. The most well-studied case of the erasure correction problem is recovery of one erasure from a part of the codeword. This problem was introduced by Dimakis et al. [1], who also suggested the repair bandwidth (the proportion of the codeword downloaded for the repair of one erasure) as a useful measure of quality of the correction procedure. The authors of [1] also derived a bound on the minimum possible repair bandwidth, and MDS codes that meet this bound are called Minimum Storage Regenerating (MSR) codes. Suppose that data symbols are encoded by an MDS code of length . Explicit constructions of MSR codes known in the literature for the case of low rate , i.e., , were given by Rashmi et al. [2], while for the high-rate regime such codes were constructed in [3]. Guruswami and Wootters studied the repair bandwidth of Reed-Solomon (RS) codes [6]. A construction of RS codes with asymptotically optimal repair bandwidth is given in [7].

In this paper we extend the setting of erasure correction from partial information to the problem of error correction. In a distributed system, we usually face a limitation on the disk input/output operations as well as on the amount of information transmitted for the purpose of decoding (decoding bandwidth). Under no limitations on the decoding bandwidth, it is possible to recover the information from any errors, where is the distance of the code. Assuming that the system permits the decoder to utilize only an proportion of the whole codeword, we face the natural question of how many errors we can guarantee to correct in this setup. In other words, how much do we give up in terms of error-correcting capability by limiting the decoding bandwidth?

Informal description of the problem. Let be a code of length and dimension over a field Let be equal to a codeword plus an error vector Suppose that the decoder attempts to recover the data encoded in based on a part of the vector . More specifically, suppose that the input to the decoder is formed as some functions of the symbols each defined on an individual coordinate, and suppose that the total number of field symbols available to the decoder is Clearly we should take because the codeword encodes data symbols, and even without errors to recover the data the decoder needs at least as many input symbols. If we return to the standard decoding problem, so our goal is to study error correction for in the range

We call the number of errors correctable from an proportion of the codeword the -decoding radius, and denote it by Our first result, proved in Sec. , is an upper bound on Then in Sections and we present two code constructions that achieve this upper bound with equality. The code families that we consider belong to the class of array codes, and therefore we phrase our definitions and results in terms of such codes. At the same time, the general problem of fractional decoding as well as the upper bound on the -decoding radius in Theorem apply to all codes, and do not depend on the specific setting considered below.

An array code is formed of matrices where is a finite field. Each column of the matrix is a codeword coordinate, and the parameter that determines the dimension of the column vector is called sub-packetization. We may also consider as a code over the alphabet and then one error amounts to an incorrect column . Accordingly, correcting up to errors means correcting any combination of errors of Hamming weight where the received codeword is the matrix

For any code we have with equality if is an MDS code. Thus, We also have the following obvious lower bound on

To see this, take an MDS code and pick coordinates to form a punctured code The punctured code is an MDS code of length and dimension so follows by definition.

In this paper we show that

for any and and we give two families of explicit constructions of MDS codes together with decoding schemes for which the optimal value in is achieved. The optimal -decoding radius in improves upon the lower bound obtained from the naive decoding strategy by a factor of (see Fig. 1 which shows vs ).

Normalized \alpha-decoding radius: Trivial bound  and improved bound  for codes of rate R=0.4.

The underlying idea behind our code constructions is as follows. Let be the proportion of erroneous coordinates in the codeword. The naive decoding procedure suggests to choose some coordinates and decode based on their entire contents. However, in the worst case the number of errors in the chosen coordinates can be as large as and we will have only error-free coordinates in the chosen subset. At the same time, by symmetrizing the decoding procedure and reading exactly an proportion of each coordinate’s contents, we can increase the proportion of error-free downloaded contents regardless of the location of the erroneous coordinates and improve the chances for successful decoding.

One code family that we construct is formed of Reed-Solomon (RS) codes with carefully chosen evaluation points, and the other one is based on Folded RS codes of Guruswami and Rudra [9].

In Sect. Section 4 we also introduce the notion of -list decoding capacity, and show that Folded Reed-Solomon codes can achieve the -list decoding capacity.

2upper bound on the -decoding radius

In this section we prove the following result.

3A Reed-Solomon code construction

All the constructions in this paper are built upon RS codes. We begin with recalling their definition.

In this section we construct an evaluation point set such that the corresponding RS code achieves the optimal -decoding radius . Let be an -degree extension of and let

be the trace function. Let be a basis of over and let be the trace-dual basis (i.e., for all ). Then every element can be calculated from its projections on as follows:

Let where and are positive integers. Let be the cardinality of the alphabet and suppose that We show that an RS code with all the evaluation points has the optimal -decoding radius.

To link our construction with the definitions made earlier, we view each codeword coordinate as a vector of dimension over Thus can be viewed as an MDS array code over the base field Our decoding scheme will be based on downloading symbols of from each of the codeword coordinates.

Before proceeding we need to introduce some notation. We write the encoding polynomial as

then the -th coordinate of the codeword is1

For we further define

Since the coefficients of contain all the projections of the coefficients of on the elements of the basis the coefficients of can be calculated from the coefficients of In other words, to recover the codeword, we only need to recover the polynomials

Let be pairwise disjoint subsets of the field each of size For define the annihilator polynomial of the set to be

The symbols we download from the -th coordinate are

Clearly, for all Substituting into and noting that we see that where

Since we have Thus for every As a result, we can recover all the coefficients of polynomials as long as there are no more than errors in the original codeword Now we only need to show that given polynomials we can recover the polynomials To see this, we notice that for

Consequently, we know the evaluations of at all the points in There are distinct points in the set and the degree of is less than so we can recover From and we can calculate the polynomials

Since we know the evaluations of at all the points in So we can also recover From and we can calculate the polynomials

Since we know the evaluations of at all the points in So we can also recover It is clear that we can repeat this procedure until we recover Then the polynomials can be easily recovered from

This shows that we can recover the polynomials from the polynomials and consequently recover the original codeword.

4Fractional decoding of Folded RS codes

Guruswami and Rudra [9] introduced Folded Reed-Solomon (FRS) code to show that it achieves the list decoding capacity. In this section we show that FRS codes also have optimal -decoding radius among all the codes of the same length and dimension. We begin with recalling the definition of FRS codes.

4.1Unique decoding

We can use the decoding method described above to give more general code constructions achieving the optimal -decoding radius. In fact, we can take any scalar MDS code over finite field and bundle together every coordinates of into a vector in It is clear that we obtain an MDS array code in this way. Moreover, by reading symbols of from each of the coordinates of we obtain an MDS array code which can correct up to errors. Thus the code can correct up to errors by downloading symbols of

In conclusion note that the FRS codes accomplish fractional decoding with the optimal access property discussed briefly in Remark ?.

4.2Fractional list decoding and -list decoding capacity

So far we have focused on the unique decoding problem under the constraint of fractional decoding. In this section we consider list decoding from partial information.

We say that a code of length corrects errors under list-of- decoding (has normalized list decoding radius ) if every sphere of radius in the space contains at most codewords of . In other words, there exists a decoder of that outputs a list of codewords including the transmitted one as long as the channel introduced no more that errors. To maintain low complexity of decoding, we require that be a polynomial function of .

Let denote the rate of the code. It is clear that for any sequence of codes with fixed rate and growing length , the list decoding radius does not exceed As shown in [9], FRS codes of growing length have list decoding radius that for approaches the optimal value of (as [9] puts it, FRS codes achieve the list decoding capacity).

In this section we show that the conclusion about the optimal list decoding radius of FRS codes extends to the case of fractional decoding. We begin with defining the -list decoding radius of the code.

Using an argument that closely follows the proof of Theorem ? , we can show that On the other hand, there exists a family of FRS codes of increasing length and sub-packetization that are -list decodable from a fraction arbitrarily close to of errors with list size polynomial in This leads to the following statement.

To show that the FRS codes achieve the -list decoding capacity, we need to define the functions and that satisfy -. We again use the functions defined in , i.e., we still download an symbols of from each of the codeword coordinates. Then we obtain the code defined in whose rate is When the code length and sub-packetization of the FRS code become large enough, we can use the list decoding algorithm introduced in [9] to decode up to a fraction arbitrarily close to of errors with list size polynomial in

Note that for sufficiently large and , the FRS codes achieve the -list decoding capacity uniformly for all values of


In this paper we studied the problem of decoding from errors under the constraint of downloading only a part of the received codeword. We gave two families of optimal code constructions and their error correction (decoding) procedures. The idea behind the constructions and recovery schemes is rather similar to regenerating codes: in regenerating codes, we can repair the same number of erasures by downloading a smaller proportion of the codeword if we connect to more helper nodes; here we can correct the same number of errors by downloading a smaller proportion of the codeword if we connect to all codeword coordinates. Equivalently, for the same amount for downloaded information we can decode from a larger number of errors. Thus, a natural question to ask is whether it is possible to construct an MDS code that corrects both erasures and errors (nearly) optimally in terms of the bandwidth, where the optimality that corresponds to erasures is measured by the cut-set bound given in [1], and the optimality of correcting errors is measured by the -decoding radius defined in this paper.


  1. For the time being we view the codeword coordinates as scalars in rather than vectors over , and use lowercase instead of in Def. ? to denote them.


  1. A. G. Dimakis, P. B. Godfrey, Y. Wu, M. J. Wainwright, and K. Ramchandran, “Network coding for distributed storage systems,” IEEE Trans. Inform. Theory, vol. 56, no. 9, pp. 4539–4551, 2010.
  2. K. V. Rashmi, N. B. Shah, and P. V. Kumar, “Optimal exact-regenerating codes for distributed storage at the MSR and MBR points via a product-matrix construction,” IEEE Trans. Inform. Theory, vol. 57, no. 8, pp. 5227–5239, 2011.
  3. I. Tamo, Z. Wang, and J. Bruck, “Zigzag codes: MDS array codes with optimal rebuilding,” IEEE Trans. Inform. Theory, vol. 59, no. 3, pp. 1597–1616, 2013.
  4. M. Ye and A. Barg, “Explicit constructions of high-rate MDS array codes with optimal repair bandwidth,” IEEE Trans. Inform. Theory, to appear, 2017, Preprint: arXiv:1604.00454.
  5. ——, “Explicit constructions of optimal-access MDS codes with nearly optimal sub-packetization,” 2016, arXiv:1605.08630.
  6. V. Guruswami and M. Wootters, “Repairing Reed-Solomon codes,” 2015, arXiv:1509.04764.
  7. M. Ye and A. Barg, “Explicit constructions of MDS array codes and RS codes with optimal repair bandwidth,” in Proc. 2016 IEEE Int. Sympos. Inform. Theory, 2016, pp. 1202–1206.
  8. Z. Wang, I. Tamo, and J. Bruck, “On codes for optimal rebuilding access,” in Proceedings of the 49th Annual Allerton Conference on Communication, Control and Computing, 2011, pp. 1374–1381.
  9. V. Guruswami and A. Rudra, “Explicit codes achieving list decoding capacity: Error-correction with optimal redundancy,” IEEE Trans. Inform. Theory, vol. 54, no. 1, pp. 135–150, 2008.
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description