{
  "slug": "rain",
  "term": "Redundant array of independent NAND",
  "aliases": [
    "RAIN"
  ],
  "definition": "RAIN uses redundancy across NAND locations inside an SSD to reconstruct data that cannot be read directly.",
  "note": "Protection scope: Internal XOR redundancy complements error correction within a page. It is distinct from RAID across complete drives; recovery inside an SSD cannot replace another accessible copy when that entire device is unavailable. [micron] [moon]\n\nGC scheduling: TTFLASH uses parity to reconstruct a page temporarily blocked by garbage collection. Its rotating schedule normally permits one collecting plane per group, keeping a single missing stripe member recoverable. Heavy writes can require simultaneous collections, so the latency benefit is conditional. [yan]\n\nRead cost: In the paper's single-parity stripe of N pages, reconstructing a blocked partial read of R data pages adds N-R reads. For N=8 and R=1, seven additional pages must be read. These are page operations, not a latency multiplier. [yan]",
  "status": "shipping",
  "advantages": [],
  "limitations": [
    {
      "text": "Internal protection has a finite failure scope; check the actual redundancy layout and surviving read path rather than treating the name as a whole-device guarantee.",
      "citationIds": [
        "micron",
        "moon"
      ]
    },
    {
      "text": "TTFLASH relies on intra-plane copyback that bypasses controller ECC checks. Its proposed background checking remained future work.",
      "citationIds": [
        "yan"
      ]
    }
  ],
  "related": [
    "error-correcting-code",
    "nand-copyback",
    "garbage-collection",
    "nand-plane",
    "raid-5",
    "preemptible-garbage-collection"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-08",
  "citations": [
    {
      "id": "micron",
      "title": "Micron. Working to revolutionize SSD resiliency with shift-left approach. History of resiliency in SSDs.",
      "url": "https://www.micron.com/about/blog/storage/ssd/working-to-revolutionize-ssd-resiliency-with-shift-left-approach",
      "accessed": "2026-11-08"
    },
    {
      "id": "moon",
      "title": "Moon and Reddy. Don't Let RAID Raid the Lifetime of Your SSD Array. HotStorage 2013, sections 2.1 and 3.",
      "url": "https://www.usenix.org/system/files/conference/hotstorage13/hotstorage13-moon_061413.pdf",
      "accessed": "2026-11-08"
    },
    {
      "id": "yan",
      "title": "Yan et al. Tiny-Tail Flash: Near-Perfect Elimination of Garbage Collection Tail Latencies in NAND SSDs. FAST 2017, sections 4.2-4.4, 6.6 and 7.",
      "url": "https://www.usenix.org/system/files/conference/fast17/fast17-yan.pdf",
      "accessed": "2026-11-08"
    }
  ],
  "provenance": [
    "The Micron source describes a shipping internal mechanism; TTFLASH is a research design evaluated through simulation and emulation, not a property of every RAIN-equipped SSD."
  ]
}
