An apparatus for parallel decompression of a first compressed file, the first compressed file comprising a plurality of compressed blocks having independent data and dependent, run length encoded (“RLE”) data having data-dependent references spanning one or more compressed blocks of the plurality of compressed blocks, the apparatus comprising:
- one or more processors or processor cores configured to identify a start or an end of a selected compressed block of the plurality of compressed blocks;
- the one or more processors or processor cores further configured to partially decompress the selected compressed block, of the plurality of compressed blocks, into the independent data, the dependent RLE data, and any linked dependent RLE data;
- and
- the one or more processors or processor cores further configured to sequence the independent data, the dependent RLE data, and any linked dependent RLE data from a plurality of partial decompressions of the plurality of compressed blocks to obtain data specified by the dependent RLE data and any linked dependent RLE data, and to insert the obtained data into an uncompressed data file.