| CPC H03M 7/3091 (2013.01) [H03M 7/6058 (2013.01)] | 21 Claims |

|
1. A method, comprising:
factorizing a dataset into a sequence of data elements;
generating a losslessly reduced dataset by, for each data element in the sequence of data elements, either (1) converting the data element into a prime data element and setting a creation locator address and a last-used locator address associated with the prime data element to be equal to an address of the data element in the dataset, (2) if the data element is a duplicate of a first previously created prime data element, replacing the data element with a reference to the first previously created prime data element and setting a last-used locator address associated with the first previously created prime data element to be equal to the address of the data element in the dataset, or (3) if the data element is not a duplicate of any previously created prime data elements, replacing the data element with a reference to a second previously created prime data element and a sequence of transformations which, when applied to the second previously created prime data element, results in the data element, and setting a last-used locator address associated with the second previously created prime data element to be equal to the address of the data element in the dataset; and
using creation locator addresses and last-used locator addresses associated with the prime data elements to determine an amount of memory that is expected to be used during reconstitution of the dataset from the losslessly reduced dataset, wherein the amount of memory allows prime data elements to be streamed in from storage and retained in memory as needed for reconstitution, thereby eliminating the need for random storage accesses to fetch prime data elements during reconstitution.
|