US20180018235A1

Joint de-duplication-erasure coded distributed storage

Claim Score by NHIP

Read claim 27, the broadest

Abstract

Methods and apparatus deduplicate and erasure code a message in a data storage system. One example apparatus includes a first chunking circuit that generates a set of data chunks from a message, an outer precoding circuit that generates a set of precoded data chunks and a set of parity symbols from the set of data chunks, a second chunking circuit that generates a set of chunked parity symbols from the set of parity symbols, a deduplication circuit that generates a set of deduplicated data chunks by deduplicating the set of precoded chunks or the set of chunked parity symbols, an unequal error protection (UEP) circuit that generates an encoded message from the set of deduplicated data chunks, and a storage circuit that controls the data storage system to store the set of deduplicated data chunks, the set of parity symbols, or the encoded message.

US20180018235A1, drawing sheet 1
Sheet 1 of 44

Term

Projected expiry 11 May 2037.

  1. Priority and filed
  2. Published
  3. Today
  4. Projected expiry

27 claims: 3 independent, 24 dependent

  1. 1
    A non-transitory computer-readable storage device storing computer executable instructions that when executed by a computer control the computer to perform a method for deduplicating and erasure coding a message, the method comprising:accessing the message, generating a set of message chunks by chunking the message using a first chunking approach;generating a set of outer-precoded parity symbols and a set of outer-precoded data symbols from the set of message chunks using an outer precode;storing the set of outer-precoded parity symbols in a data storage system;generating a set of unique data symbols by deduplicating the set of outer-precoded data symbols based, at least in part, on a chunk identification (ID) table, where the chunk ID table stores a unique chunk ID associated with a unique data symbol stored in the data storage system, a chunk size associated with the unique data symbol, or a chunk reference count associated with the unique chunk ID, where the chunk ID table is stored in a data storage device with a faster access time than the data storage system;storing a copy of the set of unique data symbols in the data storage system;generating a set of inner-precoded data symbols from the set of unique data symbols using an inner-precode;generating a first set of erasure codes from the set of inner-precoded data symbols using an unequal error protection (UEP) rateless Luby transform (LT) code based, at least in part, on the chunk ID table;and storing the first set of erasure codes in the data storage system.
  2. 19
    An apparatus for deduplicating and erasure coding a message, the apparatus comprising:a processor;a data storage system;a memory that stores a chunk index (ID) table, where the chunk ID table stores a chunk ID associated with a unique data chunk stored in the data storage system, a reference count associated with the chunk ID associated with the unique data chunk, or a chunk size associated with the chunk associated with the chunk ID;a set of circuits;and an interface that connects the processor, the memory, the data storage system, and the set of circuits, the set of circuits comprising: a first chunking circuit that generates a set of data chunks from the message using a variable length chunking approach;an outer precoding circuit that generates a set of precoded data chunks and a set of parity symbols from the set of data chunks using a low density parity check (LDPC) code or a cyclic redundancy check (CRC) code;a second chunking circuit that generates a set of chunked parity symbols from the set of parity symbols using the variable length chunking approach;a deduplication circuit that generates a set of unique deduplicated data chunks by deduplicating the set of precoded chunks or the set of chunked parity symbols based, at least in part, on the chunk ID table;an unequal erasure protection (UEP) circuit that generates an encoded message from the set of deduplicated data chunks;and a storage circuit that controls the data storage system to store the set of deduplicated data chunks, the set of parity symbols, or the encoded message in the data storage system.
  3. 27
    Broadest claimClaim Score 52, average(NHIP)A method comprising:accessing a data set;generating a chunked data set by chunking the data set;generating an outer precoded chunked data set and a set of parity symbols by precoding the chunked data set;storing the set of parity symbols in a cloud-based data storage system;generating a set of unique data chunks by deduplicating the outer precoded chunked data set;storing the set of unique data chunks in the cloud-based data storage system;generating an inner precoded unique data set by precoding the set of unique data chunks with an inner precode;generating an erasure coded unique data set by erasure coding the inner precoded unique data set;and distributing the erasure coded unique data set across the cloud-based data storage system.