107 research outputs found

    Error correction based on partial information

    Full text link
    We consider the decoding of linear and array codes from errors when we are only allowed to download a part of the codeword. More specifically, suppose that we have encoded kk data symbols using an (n,k)(n,k) code with code length nn and dimension k.k. During storage, some of the codeword coordinates might be corrupted by errors. We aim to recover the original data by reading the corrupted codeword with a limit on the transmitting bandwidth, namely, we can only download an α\alpha proportion of the corrupted codeword. For a given α,\alpha, our objective is to design a code and a decoding scheme such that we can recover the original data from the largest possible number of errors. A naive scheme is to read αn\alpha n coordinates of the codeword. This method used in conjunction with MDS codes guarantees recovery from any ⌊(αn−k)/2⌋\lfloor(\alpha n-k)/2\rfloor errors. In this paper we show that we can instead read an α\alpha proportion from each of the codeword's coordinates. For a well-designed MDS code, this method can guarantee recovery from ⌊(n−k/α)/2⌋\lfloor (n-k/\alpha)/2 \rfloor errors, which is 1/α1/\alpha times more than the naive method, and is also the maximum number of errors that an (n,k)(n,k) code can correct by downloading only an α\alpha proportion of the codeword. We present two families of such optimal constructions and decoding schemes. One is a Reed-Solomon code with evaluation points in a subfield and the other is based on Folded Reed-Solomon codes. We further show that both code constructions attain asymptotically optimal list decoding radius when downloading only a part of the corrupted codeword. We also construct an ensemble of random codes that with high probability approaches the upper bound on the number of correctable errors when the decoder downloads an α\alpha proportion of the corrupted codeword.Comment: Extended version of the conference paper in ISIT 201

    Convertible Codes: New Class of Codes for Efficient Conversion of Coded Data in Distributed Storage

    Get PDF
    Erasure codes are typically used in large-scale distributed storage systems to provide durability of data in the face of failures. In this setting, a set of k blocks to be stored is encoded using an [n, k] code to generate n blocks that are then stored on different storage nodes. A recent work by Kadekodi et al. [Kadekodi et al., 2019] shows that the failure rate of storage devices vary significantly over time, and that changing the rate of the code (via a change in the parameters n and k) in response to such variations provides significant reduction in storage space requirement. However, the resource overhead of realizing such a change in the code rate on already encoded data in traditional codes is prohibitively high. Motivated by this application, in this work we first present a new framework to formalize the notion of code conversion - the process of converting data encoded with an [n^I, k^I] code into data encoded with an [n^F, k^F] code while maintaining desired decodability properties, such as the maximum-distance-separable (MDS) property. We then introduce convertible codes, a new class of code pairs that allow for code conversions in a resource-efficient manner. For an important parameter regime (which we call the merge regime) along with the widely used linearity and MDS decodability constraint, we prove tight bounds on the number of nodes accessed during code conversion. In particular, our achievability result is an explicit construction of MDS convertible codes that are optimal for all parameter values in the merge regime albeit with a high field size. We then present explicit low-field-size constructions of optimal MDS convertible codes for a broad range of parameters in the merge regime. Our results thus show that it is indeed possible to achieve code conversions with significantly lesser resources as compared to the default approach of re-encoding
    • …
    corecore