{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-18",
  "slug": "block-independent-compression",
  "term": "Block-independent compression",
  "aliases": [
    "Independent compressed blocks"
  ],
  "definition": "Block-independent compression encodes each block without requiring decoded history from preceding blocks.",
  "note": "LZ4 independent blocks can still share an external dictionary. Independence removes preceding-block history, not dictionary, boundary or size requirements. A raw block interface needs surrounding metadata to supply decoding bounds. [frame-spec] [block-format]\n\nRandom access also requires locating the requested block and deciding what integrity checks cover a partial read. A whole-frame content check cannot be completed from only one selected block. Reordering independently decodable blocks can change the restored object while each block checksum still passes. [hesela-lz4]",
  "related": [
    "lz4-frame",
    "compression-dictionary",
    "read-amplification",
    "checksum"
  ],
  "citations": [
    {
      "id": "frame-spec",
      "title": "LZ4 Frame Format 1.6.4, pinned to v1.10.0: block independence, checksums and dictionaries",
      "url": "https://github.com/lz4/lz4/blob/v1.10.0/doc/lz4_Frame_format.md",
      "accessed": "2026-10-18"
    },
    {
      "id": "block-format",
      "title": "LZ4 v1.9.4 block format: out-of-band metadata and decoding bounds",
      "url": "https://github.com/lz4/lz4/blob/v1.9.4/doc/lz4_Block_format.md",
      "accessed": "2026-10-18"
    },
    {
      "id": "hesela-lz4",
      "title": "Hesela: LZ4 frame checks, block order and completion",
      "url": "https://hesela.com/analyses/lz4-frame-checks-block-order/",
      "accessed": "2026-10-18"
    }
  ]
}
