While discharging a data chunk, the chunk is compressed into a storage block. If the chunk is found to be too large to be able to be completely compressed into the storage block, certain characteristics of the data chunk are examined to determine whether or not the data chunk should be split. If the data chunk should be split, a remaining portion of the data chunk is compressed to a storage block that is next in chronological order to the original storage block. If the data chunk should not be split, all of the data chunk is moved to the next chronological storage block while leaving any remaining space in the storage block as unused.