{
  "slug": "maximally-recoverable-code",
  "term": "Maximally recoverable code",
  "aliases": [
    "MR code",
    "maximal recoverability"
  ],
  "definition": "A maximally recoverable code corrects every erasure pattern that is recoverable by some coefficient assignment within its prescribed parity topology.",
  "note": "The guarantee is relative to the topology. Local equations cannot protect symbols outside their support. A code may be maximally recoverable without offering the any-k survivor guarantee of an MDS code. Choosing a suitable finite field and coefficients is a separate requirement from describing the groups.\n\nFor data-local codes with one local parity per group and h global parities, Gopalan and colleagues characterize recovery by removing one coordinate per local group and requiring the remaining code to be MDS. Their Lemma 4 rules out an erasure set E touching t local groups when |E| exceeds t+h. This is an erasure statement with known missing locations, not an unknown-error correction guarantee. [mr-locality]",
  "related": [
    "locally-repairable-code",
    "erasure-coding",
    "reed-solomon-code",
    "repair-locality",
    "maximum-distance-separable-code"
  ],
  "citations": [
    {
      "id": "mr-locality",
      "title": "Gopalan et al. Explicit Maximally Recoverable Codes with Locality. IEEE TIT (2014), section II: Definition 3 and Lemma 4.",
      "url": "https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/MRandLocalityFinal.pdf",
      "accessed": "2026-10-19"
    },
    {
      "id": "hesela-patterns",
      "title": "Local repair is not whole-node repair: which four losses can be recovered?",
      "url": "https://hesela.com/analyses/lrc-repair-costs-locality/#erasure-patterns",
      "accessed": "2026-10-19"
    }
  ],
  "status": "research",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-19",
  "provenance": [
    "The companion enumerates two fixed topologies under the MR assumption; it does not implement or certify their coefficient construction. [hesela-patterns]"
  ]
}
