Reconstruct-write
A parity-array update method that computes new parity from incoming replacement data and unchanged data from the same stripe instead of updating old parity from old overwritten data.
In the healthy-array accounting model, replacing u complete equal-size data blocks among k data blocks with p parity blocks requires k-u old-data reads and u+p writes. The name describes parity regeneration during an update, not a failed-drive rebuild. Cached data, partial blocks, missing members and implementation policy change the required device work.
Relations
- related
- read-modify-write, full-stripe-write, parity-raid, raid-5, raid-6
Advantages
- Avoids reading the overwritten data and old parity
- Can require fewer prereads as more of a stripe is replaced
Limitations
- Reading the unchanged data can cost more than RMW for small updates in wider stripes
- Fewer block transfers do not necessarily mean lower latency
- This definition does not specify a degraded-array update algorithm
Citations
- Dan J. Williams. MD RAID Acceleration: Support for Asynchronous DMA/XOR Engines. Linux Symposium 2006, Volume Two, printed pp. 409-414; sections 3-5. The PDF filename uses different pagination.
- Peter M. Chen, Edward K. Lee, Garth A. Gibson, Randy H. Katz and David A. Patterson. RAID: High-Performance, Reliable Secondary Storage. ACM Computing Surveys 26(2), 145-185 (1994). Author manuscript: sections 3.2.5-3.3.2, Table 3 and 4.1.
- Hesela: RAID write penalty is not a speed ratio; model and limitations