{
  "schemaVersion": 1,
  "slug": "raid-write-costs",
  "title": "RAID write costs: reads, writes and payload",
  "summary": "56 deterministic RAID5/P+Q examples compare read-modify-write and reconstruct-write with explicit byte denominators. No device measurements or timing predictions.",
  "published": "2026-10-11",
  "updated": "2026-10-11",
  "generatedAt": "2026-10-11T20:20:35.124Z",
  "evidenceType": "deterministic-accounting-model",
  "license": "CC0-1.0 for Hesela's original model and generated rows. Cited works retain their own rights.",
  "licenseUrl": "https://creativecommons.org/publicdomain/zero/1.0/",
  "sourceUrl": "https://hesela.com/analyses/raid-write-penalty-io-not-speed/",
  "humanPage": "https://hesela.com/analyses/raid-write-penalty-io-not-speed/",
  "downloadPath": "/data/datasets/raid-write-costs.csv",
  "codePath": "/research/raid-write-costs.mjs",
  "rowCount": 56,
  "columns": [
    {
      "name": "k",
      "type": "number",
      "description": "Data blocks per parity row."
    },
    {
      "name": "p",
      "type": "number",
      "description": "Parity blocks: 1 for RAID5, 2 for P+Q."
    },
    {
      "name": "u",
      "type": "number",
      "description": "Complete data blocks replaced together in the same row."
    },
    {
      "name": "blockBytes",
      "type": "number",
      "description": "Bytes per equal-size member block; illustrative 4096-byte input."
    },
    {
      "name": "strategy",
      "type": "string",
      "description": "Forced rmw or reconstruct; not an observed controller choice."
    },
    {
      "name": "reads",
      "type": "number",
      "description": "Member-block reads before parity calculation, with no cache hits."
    },
    {
      "name": "writes",
      "type": "number",
      "description": "Changed-data plus parity member-block writes."
    },
    {
      "name": "operations",
      "type": "number",
      "description": "Reads plus writes; counts, not seconds."
    },
    {
      "name": "hostBytes",
      "type": "number",
      "description": "Replacement payload bytes: u times blockBytes."
    },
    {
      "name": "readBytes",
      "type": "number",
      "description": "Member-interface bytes read."
    },
    {
      "name": "writeBytes",
      "type": "number",
      "description": "Member-interface bytes written; excludes NAND-internal work."
    },
    {
      "name": "operationsPerHostBlock",
      "type": "number",
      "description": "Member-block reads and writes divided by u."
    },
    {
      "name": "writeBytesPerHostByte",
      "type": "number",
      "description": "Member write bytes divided by host payload bytes."
    },
    {
      "name": "ioBytesPerHostByte",
      "type": "number",
      "description": "Member read plus write bytes divided by host payload bytes."
    }
  ],
  "method": "Healthy fixed-width parity rows with complete equal-size block replacements and cold cache. k data blocks, p parity blocks, u replacements. RMW reads u+p and writes u+p; reconstruct reads k-u and writes u+p. One transfer of one member block is one operation. Each row is independent. The two strategies have equal operation count when 2u+p=k.",
  "limits": [
    "Synthetic arithmetic, not sampled observations, a benchmark or a paper replication. No confidence interval applies.",
    "All members are available. This is not an encoder, RAID simulator or degraded-write policy.",
    "RMW at u=k is forced as a comparison, not recommended or asserted controller behavior.",
    "Excludes caching, merged commands, journals, flushes, metadata, retries, CPU time and device-internal amplification.",
    "The 4 KiB block is an equal slice at the same offset across members, not a required configured RAID chunk size.",
    "Minimum transfer count is not a guaranteed minimum latency or maximum throughput."
  ],
  "citations": [
    {
      "id": "chen1994",
      "title": "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.",
      "url": "https://pdl.cmu.edu/PDL-FTP/RAID/computin.pdf",
      "accessed": "2026-10-11"
    },
    {
      "id": "williams2006",
      "title": "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.",
      "url": "https://www.kernel.org/doc/ols/2006/ols2006v2-pages-417-422.pdf",
      "accessed": "2026-10-11"
    },
    {
      "id": "linux-cache",
      "title": "Linux kernel documentation: RAID 4/5/6 cache, write-back mode and implementation. Rolling documentation; accessed 11 October 2026.",
      "url": "https://www.kernel.org/doc/html/latest/driver-api/md/raid5-cache.html",
      "accessed": "2026-10-11"
    }
  ],
  "artifacts": {
    "modelSha256": "130966c9656eef23dfa762c2d1f4c6a9ff5cad17789d189133083e35259acd3c",
    "csvSha256": "29361faf9ceb49ae5e3811b1a0fb56f75c1f95ebdce519410cba297e13bd084f"
  },
  "rows": [
    {
      "k": 2,
      "p": 1,
      "u": 1,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 2,
      "writes": 2,
      "operations": 4,
      "hostBytes": 4096,
      "readBytes": 8192,
      "writeBytes": 8192,
      "operationsPerHostBlock": 4,
      "writeBytesPerHostByte": 2,
      "ioBytesPerHostByte": 4
    },
    {
      "k": 2,
      "p": 1,
      "u": 1,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 1,
      "writes": 2,
      "operations": 3,
      "hostBytes": 4096,
      "readBytes": 4096,
      "writeBytes": 8192,
      "operationsPerHostBlock": 3,
      "writeBytesPerHostByte": 2,
      "ioBytesPerHostByte": 3
    },
    {
      "k": 2,
      "p": 1,
      "u": 2,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 3,
      "writes": 3,
      "operations": 6,
      "hostBytes": 8192,
      "readBytes": 12288,
      "writeBytes": 12288,
      "operationsPerHostBlock": 3,
      "writeBytesPerHostByte": 1.5,
      "ioBytesPerHostByte": 3
    },
    {
      "k": 2,
      "p": 1,
      "u": 2,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 0,
      "writes": 3,
      "operations": 3,
      "hostBytes": 8192,
      "readBytes": 0,
      "writeBytes": 12288,
      "operationsPerHostBlock": 1.5,
      "writeBytesPerHostByte": 1.5,
      "ioBytesPerHostByte": 1.5
    },
    {
      "k": 2,
      "p": 2,
      "u": 1,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 3,
      "writes": 3,
      "operations": 6,
      "hostBytes": 4096,
      "readBytes": 12288,
      "writeBytes": 12288,
      "operationsPerHostBlock": 6,
      "writeBytesPerHostByte": 3,
      "ioBytesPerHostByte": 6
    },
    {
      "k": 2,
      "p": 2,
      "u": 1,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 1,
      "writes": 3,
      "operations": 4,
      "hostBytes": 4096,
      "readBytes": 4096,
      "writeBytes": 12288,
      "operationsPerHostBlock": 4,
      "writeBytesPerHostByte": 3,
      "ioBytesPerHostByte": 4
    },
    {
      "k": 2,
      "p": 2,
      "u": 2,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 4,
      "writes": 4,
      "operations": 8,
      "hostBytes": 8192,
      "readBytes": 16384,
      "writeBytes": 16384,
      "operationsPerHostBlock": 4,
      "writeBytesPerHostByte": 2,
      "ioBytesPerHostByte": 4
    },
    {
      "k": 2,
      "p": 2,
      "u": 2,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 0,
      "writes": 4,
      "operations": 4,
      "hostBytes": 8192,
      "readBytes": 0,
      "writeBytes": 16384,
      "operationsPerHostBlock": 2,
      "writeBytesPerHostByte": 2,
      "ioBytesPerHostByte": 2
    },
    {
      "k": 4,
      "p": 1,
      "u": 1,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 2,
      "writes": 2,
      "operations": 4,
      "hostBytes": 4096,
      "readBytes": 8192,
      "writeBytes": 8192,
      "operationsPerHostBlock": 4,
      "writeBytesPerHostByte": 2,
      "ioBytesPerHostByte": 4
    },
    {
      "k": 4,
      "p": 1,
      "u": 1,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 3,
      "writes": 2,
      "operations": 5,
      "hostBytes": 4096,
      "readBytes": 12288,
      "writeBytes": 8192,
      "operationsPerHostBlock": 5,
      "writeBytesPerHostByte": 2,
      "ioBytesPerHostByte": 5
    },
    {
      "k": 4,
      "p": 1,
      "u": 2,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 3,
      "writes": 3,
      "operations": 6,
      "hostBytes": 8192,
      "readBytes": 12288,
      "writeBytes": 12288,
      "operationsPerHostBlock": 3,
      "writeBytesPerHostByte": 1.5,
      "ioBytesPerHostByte": 3
    },
    {
      "k": 4,
      "p": 1,
      "u": 2,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 2,
      "writes": 3,
      "operations": 5,
      "hostBytes": 8192,
      "readBytes": 8192,
      "writeBytes": 12288,
      "operationsPerHostBlock": 2.5,
      "writeBytesPerHostByte": 1.5,
      "ioBytesPerHostByte": 2.5
    },
    {
      "k": 4,
      "p": 1,
      "u": 3,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 4,
      "writes": 4,
      "operations": 8,
      "hostBytes": 12288,
      "readBytes": 16384,
      "writeBytes": 16384,
      "operationsPerHostBlock": 2.6666666666666665,
      "writeBytesPerHostByte": 1.3333333333333333,
      "ioBytesPerHostByte": 2.6666666666666665
    },
    {
      "k": 4,
      "p": 1,
      "u": 3,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 1,
      "writes": 4,
      "operations": 5,
      "hostBytes": 12288,
      "readBytes": 4096,
      "writeBytes": 16384,
      "operationsPerHostBlock": 1.6666666666666667,
      "writeBytesPerHostByte": 1.3333333333333333,
      "ioBytesPerHostByte": 1.6666666666666667
    },
    {
      "k": 4,
      "p": 1,
      "u": 4,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 5,
      "writes": 5,
      "operations": 10,
      "hostBytes": 16384,
      "readBytes": 20480,
      "writeBytes": 20480,
      "operationsPerHostBlock": 2.5,
      "writeBytesPerHostByte": 1.25,
      "ioBytesPerHostByte": 2.5
    },
    {
      "k": 4,
      "p": 1,
      "u": 4,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 0,
      "writes": 5,
      "operations": 5,
      "hostBytes": 16384,
      "readBytes": 0,
      "writeBytes": 20480,
      "operationsPerHostBlock": 1.25,
      "writeBytesPerHostByte": 1.25,
      "ioBytesPerHostByte": 1.25
    },
    {
      "k": 4,
      "p": 2,
      "u": 1,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 3,
      "writes": 3,
      "operations": 6,
      "hostBytes": 4096,
      "readBytes": 12288,
      "writeBytes": 12288,
      "operationsPerHostBlock": 6,
      "writeBytesPerHostByte": 3,
      "ioBytesPerHostByte": 6
    },
    {
      "k": 4,
      "p": 2,
      "u": 1,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 3,
      "writes": 3,
      "operations": 6,
      "hostBytes": 4096,
      "readBytes": 12288,
      "writeBytes": 12288,
      "operationsPerHostBlock": 6,
      "writeBytesPerHostByte": 3,
      "ioBytesPerHostByte": 6
    },
    {
      "k": 4,
      "p": 2,
      "u": 2,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 4,
      "writes": 4,
      "operations": 8,
      "hostBytes": 8192,
      "readBytes": 16384,
      "writeBytes": 16384,
      "operationsPerHostBlock": 4,
      "writeBytesPerHostByte": 2,
      "ioBytesPerHostByte": 4
    },
    {
      "k": 4,
      "p": 2,
      "u": 2,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 2,
      "writes": 4,
      "operations": 6,
      "hostBytes": 8192,
      "readBytes": 8192,
      "writeBytes": 16384,
      "operationsPerHostBlock": 3,
      "writeBytesPerHostByte": 2,
      "ioBytesPerHostByte": 3
    },
    {
      "k": 4,
      "p": 2,
      "u": 3,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 5,
      "writes": 5,
      "operations": 10,
      "hostBytes": 12288,
      "readBytes": 20480,
      "writeBytes": 20480,
      "operationsPerHostBlock": 3.3333333333333335,
      "writeBytesPerHostByte": 1.6666666666666667,
      "ioBytesPerHostByte": 3.3333333333333335
    },
    {
      "k": 4,
      "p": 2,
      "u": 3,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 1,
      "writes": 5,
      "operations": 6,
      "hostBytes": 12288,
      "readBytes": 4096,
      "writeBytes": 20480,
      "operationsPerHostBlock": 2,
      "writeBytesPerHostByte": 1.6666666666666667,
      "ioBytesPerHostByte": 2
    },
    {
      "k": 4,
      "p": 2,
      "u": 4,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 6,
      "writes": 6,
      "operations": 12,
      "hostBytes": 16384,
      "readBytes": 24576,
      "writeBytes": 24576,
      "operationsPerHostBlock": 3,
      "writeBytesPerHostByte": 1.5,
      "ioBytesPerHostByte": 3
    },
    {
      "k": 4,
      "p": 2,
      "u": 4,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 0,
      "writes": 6,
      "operations": 6,
      "hostBytes": 16384,
      "readBytes": 0,
      "writeBytes": 24576,
      "operationsPerHostBlock": 1.5,
      "writeBytesPerHostByte": 1.5,
      "ioBytesPerHostByte": 1.5
    },
    {
      "k": 8,
      "p": 1,
      "u": 1,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 2,
      "writes": 2,
      "operations": 4,
      "hostBytes": 4096,
      "readBytes": 8192,
      "writeBytes": 8192,
      "operationsPerHostBlock": 4,
      "writeBytesPerHostByte": 2,
      "ioBytesPerHostByte": 4
    },
    {
      "k": 8,
      "p": 1,
      "u": 1,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 7,
      "writes": 2,
      "operations": 9,
      "hostBytes": 4096,
      "readBytes": 28672,
      "writeBytes": 8192,
      "operationsPerHostBlock": 9,
      "writeBytesPerHostByte": 2,
      "ioBytesPerHostByte": 9
    },
    {
      "k": 8,
      "p": 1,
      "u": 2,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 3,
      "writes": 3,
      "operations": 6,
      "hostBytes": 8192,
      "readBytes": 12288,
      "writeBytes": 12288,
      "operationsPerHostBlock": 3,
      "writeBytesPerHostByte": 1.5,
      "ioBytesPerHostByte": 3
    },
    {
      "k": 8,
      "p": 1,
      "u": 2,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 6,
      "writes": 3,
      "operations": 9,
      "hostBytes": 8192,
      "readBytes": 24576,
      "writeBytes": 12288,
      "operationsPerHostBlock": 4.5,
      "writeBytesPerHostByte": 1.5,
      "ioBytesPerHostByte": 4.5
    },
    {
      "k": 8,
      "p": 1,
      "u": 3,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 4,
      "writes": 4,
      "operations": 8,
      "hostBytes": 12288,
      "readBytes": 16384,
      "writeBytes": 16384,
      "operationsPerHostBlock": 2.6666666666666665,
      "writeBytesPerHostByte": 1.3333333333333333,
      "ioBytesPerHostByte": 2.6666666666666665
    },
    {
      "k": 8,
      "p": 1,
      "u": 3,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 5,
      "writes": 4,
      "operations": 9,
      "hostBytes": 12288,
      "readBytes": 20480,
      "writeBytes": 16384,
      "operationsPerHostBlock": 3,
      "writeBytesPerHostByte": 1.3333333333333333,
      "ioBytesPerHostByte": 3
    },
    {
      "k": 8,
      "p": 1,
      "u": 4,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 5,
      "writes": 5,
      "operations": 10,
      "hostBytes": 16384,
      "readBytes": 20480,
      "writeBytes": 20480,
      "operationsPerHostBlock": 2.5,
      "writeBytesPerHostByte": 1.25,
      "ioBytesPerHostByte": 2.5
    },
    {
      "k": 8,
      "p": 1,
      "u": 4,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 4,
      "writes": 5,
      "operations": 9,
      "hostBytes": 16384,
      "readBytes": 16384,
      "writeBytes": 20480,
      "operationsPerHostBlock": 2.25,
      "writeBytesPerHostByte": 1.25,
      "ioBytesPerHostByte": 2.25
    },
    {
      "k": 8,
      "p": 1,
      "u": 5,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 6,
      "writes": 6,
      "operations": 12,
      "hostBytes": 20480,
      "readBytes": 24576,
      "writeBytes": 24576,
      "operationsPerHostBlock": 2.4,
      "writeBytesPerHostByte": 1.2,
      "ioBytesPerHostByte": 2.4
    },
    {
      "k": 8,
      "p": 1,
      "u": 5,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 3,
      "writes": 6,
      "operations": 9,
      "hostBytes": 20480,
      "readBytes": 12288,
      "writeBytes": 24576,
      "operationsPerHostBlock": 1.8,
      "writeBytesPerHostByte": 1.2,
      "ioBytesPerHostByte": 1.8
    },
    {
      "k": 8,
      "p": 1,
      "u": 6,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 7,
      "writes": 7,
      "operations": 14,
      "hostBytes": 24576,
      "readBytes": 28672,
      "writeBytes": 28672,
      "operationsPerHostBlock": 2.3333333333333335,
      "writeBytesPerHostByte": 1.1666666666666667,
      "ioBytesPerHostByte": 2.3333333333333335
    },
    {
      "k": 8,
      "p": 1,
      "u": 6,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 2,
      "writes": 7,
      "operations": 9,
      "hostBytes": 24576,
      "readBytes": 8192,
      "writeBytes": 28672,
      "operationsPerHostBlock": 1.5,
      "writeBytesPerHostByte": 1.1666666666666667,
      "ioBytesPerHostByte": 1.5
    },
    {
      "k": 8,
      "p": 1,
      "u": 7,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 8,
      "writes": 8,
      "operations": 16,
      "hostBytes": 28672,
      "readBytes": 32768,
      "writeBytes": 32768,
      "operationsPerHostBlock": 2.2857142857142856,
      "writeBytesPerHostByte": 1.1428571428571428,
      "ioBytesPerHostByte": 2.2857142857142856
    },
    {
      "k": 8,
      "p": 1,
      "u": 7,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 1,
      "writes": 8,
      "operations": 9,
      "hostBytes": 28672,
      "readBytes": 4096,
      "writeBytes": 32768,
      "operationsPerHostBlock": 1.2857142857142858,
      "writeBytesPerHostByte": 1.1428571428571428,
      "ioBytesPerHostByte": 1.2857142857142858
    },
    {
      "k": 8,
      "p": 1,
      "u": 8,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 9,
      "writes": 9,
      "operations": 18,
      "hostBytes": 32768,
      "readBytes": 36864,
      "writeBytes": 36864,
      "operationsPerHostBlock": 2.25,
      "writeBytesPerHostByte": 1.125,
      "ioBytesPerHostByte": 2.25
    },
    {
      "k": 8,
      "p": 1,
      "u": 8,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 0,
      "writes": 9,
      "operations": 9,
      "hostBytes": 32768,
      "readBytes": 0,
      "writeBytes": 36864,
      "operationsPerHostBlock": 1.125,
      "writeBytesPerHostByte": 1.125,
      "ioBytesPerHostByte": 1.125
    },
    {
      "k": 8,
      "p": 2,
      "u": 1,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 3,
      "writes": 3,
      "operations": 6,
      "hostBytes": 4096,
      "readBytes": 12288,
      "writeBytes": 12288,
      "operationsPerHostBlock": 6,
      "writeBytesPerHostByte": 3,
      "ioBytesPerHostByte": 6
    },
    {
      "k": 8,
      "p": 2,
      "u": 1,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 7,
      "writes": 3,
      "operations": 10,
      "hostBytes": 4096,
      "readBytes": 28672,
      "writeBytes": 12288,
      "operationsPerHostBlock": 10,
      "writeBytesPerHostByte": 3,
      "ioBytesPerHostByte": 10
    },
    {
      "k": 8,
      "p": 2,
      "u": 2,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 4,
      "writes": 4,
      "operations": 8,
      "hostBytes": 8192,
      "readBytes": 16384,
      "writeBytes": 16384,
      "operationsPerHostBlock": 4,
      "writeBytesPerHostByte": 2,
      "ioBytesPerHostByte": 4
    },
    {
      "k": 8,
      "p": 2,
      "u": 2,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 6,
      "writes": 4,
      "operations": 10,
      "hostBytes": 8192,
      "readBytes": 24576,
      "writeBytes": 16384,
      "operationsPerHostBlock": 5,
      "writeBytesPerHostByte": 2,
      "ioBytesPerHostByte": 5
    },
    {
      "k": 8,
      "p": 2,
      "u": 3,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 5,
      "writes": 5,
      "operations": 10,
      "hostBytes": 12288,
      "readBytes": 20480,
      "writeBytes": 20480,
      "operationsPerHostBlock": 3.3333333333333335,
      "writeBytesPerHostByte": 1.6666666666666667,
      "ioBytesPerHostByte": 3.3333333333333335
    },
    {
      "k": 8,
      "p": 2,
      "u": 3,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 5,
      "writes": 5,
      "operations": 10,
      "hostBytes": 12288,
      "readBytes": 20480,
      "writeBytes": 20480,
      "operationsPerHostBlock": 3.3333333333333335,
      "writeBytesPerHostByte": 1.6666666666666667,
      "ioBytesPerHostByte": 3.3333333333333335
    },
    {
      "k": 8,
      "p": 2,
      "u": 4,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 6,
      "writes": 6,
      "operations": 12,
      "hostBytes": 16384,
      "readBytes": 24576,
      "writeBytes": 24576,
      "operationsPerHostBlock": 3,
      "writeBytesPerHostByte": 1.5,
      "ioBytesPerHostByte": 3
    },
    {
      "k": 8,
      "p": 2,
      "u": 4,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 4,
      "writes": 6,
      "operations": 10,
      "hostBytes": 16384,
      "readBytes": 16384,
      "writeBytes": 24576,
      "operationsPerHostBlock": 2.5,
      "writeBytesPerHostByte": 1.5,
      "ioBytesPerHostByte": 2.5
    },
    {
      "k": 8,
      "p": 2,
      "u": 5,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 7,
      "writes": 7,
      "operations": 14,
      "hostBytes": 20480,
      "readBytes": 28672,
      "writeBytes": 28672,
      "operationsPerHostBlock": 2.8,
      "writeBytesPerHostByte": 1.4,
      "ioBytesPerHostByte": 2.8
    },
    {
      "k": 8,
      "p": 2,
      "u": 5,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 3,
      "writes": 7,
      "operations": 10,
      "hostBytes": 20480,
      "readBytes": 12288,
      "writeBytes": 28672,
      "operationsPerHostBlock": 2,
      "writeBytesPerHostByte": 1.4,
      "ioBytesPerHostByte": 2
    },
    {
      "k": 8,
      "p": 2,
      "u": 6,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 8,
      "writes": 8,
      "operations": 16,
      "hostBytes": 24576,
      "readBytes": 32768,
      "writeBytes": 32768,
      "operationsPerHostBlock": 2.6666666666666665,
      "writeBytesPerHostByte": 1.3333333333333333,
      "ioBytesPerHostByte": 2.6666666666666665
    },
    {
      "k": 8,
      "p": 2,
      "u": 6,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 2,
      "writes": 8,
      "operations": 10,
      "hostBytes": 24576,
      "readBytes": 8192,
      "writeBytes": 32768,
      "operationsPerHostBlock": 1.6666666666666667,
      "writeBytesPerHostByte": 1.3333333333333333,
      "ioBytesPerHostByte": 1.6666666666666667
    },
    {
      "k": 8,
      "p": 2,
      "u": 7,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 9,
      "writes": 9,
      "operations": 18,
      "hostBytes": 28672,
      "readBytes": 36864,
      "writeBytes": 36864,
      "operationsPerHostBlock": 2.5714285714285716,
      "writeBytesPerHostByte": 1.2857142857142858,
      "ioBytesPerHostByte": 2.5714285714285716
    },
    {
      "k": 8,
      "p": 2,
      "u": 7,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 1,
      "writes": 9,
      "operations": 10,
      "hostBytes": 28672,
      "readBytes": 4096,
      "writeBytes": 36864,
      "operationsPerHostBlock": 1.4285714285714286,
      "writeBytesPerHostByte": 1.2857142857142858,
      "ioBytesPerHostByte": 1.4285714285714286
    },
    {
      "k": 8,
      "p": 2,
      "u": 8,
      "blockBytes": 4096,
      "strategy": "rmw",
      "reads": 10,
      "writes": 10,
      "operations": 20,
      "hostBytes": 32768,
      "readBytes": 40960,
      "writeBytes": 40960,
      "operationsPerHostBlock": 2.5,
      "writeBytesPerHostByte": 1.25,
      "ioBytesPerHostByte": 2.5
    },
    {
      "k": 8,
      "p": 2,
      "u": 8,
      "blockBytes": 4096,
      "strategy": "reconstruct",
      "reads": 0,
      "writes": 10,
      "operations": 10,
      "hostBytes": 32768,
      "readBytes": 0,
      "writeBytes": 40960,
      "operationsPerHostBlock": 1.25,
      "writeBytesPerHostByte": 1.25,
      "ioBytesPerHostByte": 1.25
    }
  ]
}
