Back to results
US 9,584,312 B2Granted
Methods and systems for storing and retrieving data
AssigneeSymbolic Io Corporation
InventorBrian Ignomirello
Life of this patent
Estimating the term…
Abstract
Through use of the technologies of the present invention, one is able to store and to retrieve data efficiently. One may realize these efficiencies by coding the data and storing coded data that is of a smaller size than original data.
Claims13
A method for storing data on a non-cache recording medium comprising:
- i. receiving an I/O stream of N Bytes;
- ii. fragmenting the N Bytes into fragmented units of X Bytes;
- iii. applying a cryptographic hash function to each fragmented unit of X Bytes to form a generated hash function value for each fragmented unit of X Bytes;
- iv. encoding each hash function value for storage through use of a bit marker table to generate a bit marker for each hash function value for storage and storing each bit marker in the non-cache recording medium, wherein the encoding further uses a frequency of occurrence converter, wherein for each hash function value for storage, a converted string of bits is generated, wherein for at least two different strings of Y bits, the converted strings of bits that are output are of different lengths;
- v. accessing a correlation file, wherein the correlation file associates a stored hash function value of Y bits with each of a plurality of stored sequences of X Bytes and
- (a) if the generated hash function value for a fragmented unit of X Bytes is in the correlation file, using the stored hash function value of Y bits for storage on a non-cache recording medium;
- and
- (b) if the generated hash function value for the fragmented unit of X Bytes is not in the correlation file, then storing the generated hash function value of Y bits with the fragmented unit of X Bytes in the correlation file and using the generated hash function value for storage on the non-cache recording medium.
5 more elements
A method for storing data on a non-cache recording medium comprising:
- i. receiving an I/O stream of N Bytes;
- ii. fragmenting the N Bytes into fragmented units of X Bytes;
- iii. associating a cryptographic hash function value with each fragmented unit of X Bytes, wherein said associating comprises accessing a correlation file, wherein the correlation file associates a stored hash function value of Y bits with each of a plurality of stored sequences of X Bytes and
- (a) if the sequence of fragmented unit of X Bytes is in the correlation file using the stored hash function value of Y bits for storage on a non-cache recording medium;
- and
- (b) if the sequence of fragmented unit of X Bytes is not in the correlation file, then storing a new hash function value of Y bits with the fragmented unit of X Bytes in the correlation file and using the new hash function value of Y bits for storage on the non-cache recording medium;
- and
- wherein the stored hash function value is encoded using a frequency of occurrence converter, wherein for each hash function value for storage, a converted string of bits is generated, wherein for at least two different strings of Y bits, the converted strings of bits that are output are of different lengths.
5 more elements
A method for storing data on a non-cache recording medium comprising:
- i. receiving an I/O stream of N Bytes;
- ii. applying a cryptographic hash function value algorithm to each unit of N Bytes to form a generated hash function value for each unit of N Bytes;
- iii. accessing a correlation file, wherein the correlation file associates a stored hash function value of Y bits with each of a plurality of stored sequences of N Bytes and
- (a) if the generated hash function value for the unit of N Bytes is in the correlation file, using the stored hash function value of Y bits for storage on a non-cache recording medium;
- and
- (b) if the generated hash function value for the unit of N Bytes is not in the correlation file, then storing the generated hash function value of Y bits with the unit of N Bytes in the correlation file and using the generated hash function value for storage on the non-cache recording medium;
- and
- wherein the stored hash function value is encoded using a frequency of occurrence converter, wherein for each hash function value for storage, a converted string of bits is generated, wherein for at least two different strings of Y bits, the converted strings of bits that are output are of different lengths.
5 more elements
Dependencies are inferred from the claim text.