Patent ID: 8438351

Claim:
A method of processing a first memory image comprising a plurality of compressed sub-blocks and uncompressed sub-blocks to produce a second memory image comprising contents of the first memory image arranged as a plurality of memory blocks, the method comprising: A) determining whether a next unprocessed portion of the first memory image is a compressed sub-block larger than remaining available space in a current memory block of the second memory image; B) copying the compressed sub-block to the current memory block in the second memory image, if a size of the compressed sub-block is less than or equal to the remaining available space in the current memory block of the second memory image; C) if the size of the compressed sub-block is greater than the remaining available space in the current memory block of the second memory image, creating from content of the compressed sub-block a first compressed memory portion, and if the size of the first compressed memory portion is less than the still remaining available space, creating a non-compressed memory portion to fill the still remaining available space in the current memory block of the second memory image; D) creating a second compressed memory portion from unused content of the compressed sub-block for storage in a next memory block in the second memory image adjacent to the boundary of the next memory block and the current memory block, if unused content of the compressed sub-block remains; E) repeating (A) through (D) until all of the contents of the first memory image is processed to produce the second memory image; and wherein the memory blocks of the second memory image are independently decompressible.