version-mirroring · research

Version mirroring

Version mirroring records a data block's generation both with the block and in parity metadata to help detect inconsistent updates.

The FAST 2008 design compares replicated version metadata before reusing blocks for parity updates. Identity checks must precede version comparisons: a misdirected block can carry a misleadingly high version. This describes the paper's single-error model, not a universal RAID guarantee. [1]

Where the check runs changes its I/O cost. The paper uses logical identity on user reads and version comparison during scrubbing and parity calculations; comparing versions on every user read would additionally require the parity block. This is a design trade-off, not a measured overhead for current arrays. [1]

Hesela's executable counterexample gives two histories with identical stored bytes, valid local checksums and one-bit stamps. One requires restoring data; the other requires replacing parity. Either forced choice is wrong for one history. The observer lacks an independent expected value or generation. [3]

Finite counters also need a lifetime bound. RFC 1982 leaves half-space comparisons undefined and does not recover an unknown number of wraps. It defines DNS serial arithmetic, not a RAID format; the one-bit example is a separate modulo-stamp model. [2]

Relations

related
Lost write, Misdirected write, Parity pollution, Serial number arithmetic, Identity discrepancy

Citations

  1. Krioukov et al. Parity Lost and Parity Regained. FAST 2008, sections 3.2 and 4.6 (accessed 2026-11-03)
  2. Elz and Bush. RFC 1982: Serial Number Arithmetic, sections 3-5 (1996) (accessed 2026-11-01)
  3. Hesela: identical one-bit stamps, opposite required repairs; executable synthetic histories (accessed 2026-11-01)

Further reading

  1. Hesela: checksum, identity and freshness boundaries (accessed 2026-11-01)
Sources & caveats
  • The counterexample is original finite arithmetic, not a replay of the paper's model checker, a product assessment or a measured error frequency.
  • Research status refers to the scoped design reviewed here; it does not assert support in a particular shipping product.

JSON: /data/terms/version-mirroring.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. Version mirroring. Hesela. 2026-11-03. https://hesela.dev/terms/version-mirroring/