# Chunks Disk Format The following describes the format of a chunks file, which is created in the `chunks/` directory of a block. The maximum size per segment file is 512MiB. Chunks in the files are referenced from the index by uint64 composed of in-file offset (lower 4 bytes) and segment sequence number (upper 4 bytes). ``` ┌──────────────────────────────┐ │ magic(0x85BD40DD) <4 byte> │ ├──────────────────────────────┤ │ version(1) <1 byte> │ ├──────────────────────────────┤ │ padding(0) <3 byte> │ ├──────────────────────────────┤ │ ┌──────────────────────────┐ │ │ │ Chunk 1 │ │ │ ├──────────────────────────┤ │ │ │ ... │ │ │ ├──────────────────────────┤ │ │ │ Chunk N │ │ │ └──────────────────────────┘ │ └──────────────────────────────┘ ``` # Chunk ``` ┌───────────────┬───────────────────┬──────────────┬────────────────┐ │ len │ encoding <1 byte> │ data │ CRC32 <4 byte> │ └───────────────┴───────────────────┴──────────────┴────────────────┘ ``` ## XOR chunk TODO(beorn7): Add. ## Histogram chunk TODO(beorn7): This is out of date. Update once settled on the (more or less) final format. ``` ┌──────────────┬─────────────────┬──────────────────────────┬──────────────────────────┬──────────────┐ │ len │ schema │ pos-spans │ neg-spans │ data │ └──────────────┴─────────────────┴──────────────────────────┴──────────────────────────┴──────────────┘ span-section: ┌──────────────┬──────────────────┬──────────────────┬────────────┐ │ len │ length1 │ offset1 │ length2... │ └──────────────┴──────────────────┴──────────────────┴────────────┘ ```