Compression/decompression apparatus, storage system, and compression/decompression method
US-2024088919-A1 · Mar 14, 2024 · US
US10027347B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10027347-B2 |
| Application number | US-201515300269-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 26, 2015 |
| Priority date | Mar 28, 2014 |
| Publication date | Jul 17, 2018 |
| Grant date | Jul 17, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In one embodiment, it is proposed a method for storing input data on a set of DNA strands, said input data being represented in a numeral system. This method is remarkable in that it comprises: formatting said input data into a set of blocks of data, each block of data having a size inferior to a size of one DNA strand; applying a first encoding with an erasure code on said set of blocks of data, defining a first set of modified blocks of data, each modified block of data having a size inferior to a size of one DNA strand; applying a second encoding using an error correcting code on each modified block of data of said first set, defining a second set of modified blocks of data, each modified block having a size inferior to a size of one DNA strand; encoding each modified block of data of said second set into a nucleotides block sequence; generating a set of DNA strands, each DNA strand comprising a nucleotides block sequence obtained through said encoding.
Opening claim text (preview).
The invention claimed is: 1. A method for storing input data on a set of DNA strands, said input data being represented in a numeral system, wherein the method comprises: formatting said input data into a set of blocks of data, each block of data having a size inferior to a size of one DNA strand; applying a first encoding with an erasure code involving all the blocks of said set of blocks of data, defining a first set of modified blocks of data, each modified block of data having a size inferior to a size of one DNA strand; concatenating a seed associated with said erasure code to each modified block of data of said first set, delivering a second set of modified blocks of data, each modified block of data having a size inferior to a size of on DNA strand; applying a second encoding using an error correcting code on each modified block of data of said second set, defining a third set of modified blocks of data, each modified block having a size inferior to a size of one DNA strand; encoding each modified block of data of said third set into a nucleotides block sequence; generating a set of DNA strands, each DNA strand comprising a nucleotides block sequence obtained through said encoding. 2. The method for storing according to claim 1 , wherein said generating uses a synthesis process. 3. The method for storing according to claim 1 , wherein said input data corresponds to data that has been obtained via a compression process. 4. The method for storing according to claim 1 , wherein said method further comprises replicating at least one strand that belongs to said set of DNA strands. 5. The method for storing according to claim 1 , wherein said numeral system corresponds to a binary numeral system. 6. The method for storing according to claim 1 , wherein said encoding uses a look-up table that put into correspondence a sequence of elements of said numeral system into a sequence of nucleotides. 7. The method for storing according to claim 1 , wherein said encoding uses a modulation code or a convolutional code. 8. The method for storing according to claim 1 , wherein it further comprises replicating DNA strands belonging to said generated set of DNA strands via a biochemical reaction. 9. The method for storing according to claim 1 , wherein said erasure code belongs to a group comprising: a fountain code; a tornado code; a low-density parity-check code; a Reed-Solomon code; a maximum distance separable code. 10. The method for storing according to claim 1 , wherein said error correcting code belongs to a group comprising: a low-density parity-check code; a Reed-Solomon code. 11. The method for storing according to claim 1 , wherein it further comprises applying a cyclic redundancy check code either on said first set or on said second set or on said third set. 12. The method for storing according to claim 1 , wherein said generating a set of DNA strands further comprises inserting a common primer on said generated DNA strands. 13. A method for obtaining useful data via a set of DNA strands, wherein the method comprises: selecting at random DNA strands belonging to said set of DNA strands; sequencing said selected DNA strands, delivering a set of nucleotides block sequence; converting each nucleotides block sequence into a numeral system, each nucleotides block sequence being associated with a corresponding block of data; applying a first decoding using an error correcting code on each block of data, defining a first set of decoded blocks of data; applying a second decoding associated with an erasure code involving all the decoded blocks of data, defining a second set of blocks of data, wherein each decoded block comprises a seed being associated with said erasure code; obtaining useful data from said second set. 14. The method for obtaining according to claim 13 , wherein numeral system corresponds to a binary numeral system. 15. An electronic device for storing input data on a set of DNA strands, said input data being represented in a numeral system, wherein the electronic device comprises: means for formatting said input data into a set of blocks of data, each block of data having a size inferior to a size of one DNA strand; means for applying a first encoding with an erasure code involving all the blocks of said set of blocks of data, defining a first set of modified blocks of data, each modified block of data having a size inferior to a size of one DNA strand; means for concatenating a seed associated with said erasure code to each modified block of data of said first set, delivering a second set of modified blocks of data, each modified block of data having a size inferior to a size of one DNA strand; means for applying a second encoding using an error correcting code on each modified block of data of said second set, defining a third set of modified blocks of data, each modified block having a size inferior to a size of one DNA strand; means for encoding each modified block of data of said third set into a nucleotides block sequence; means for generating a set of DNA strands, each DNA strand comprising a nucleotides block sequence obtained through said encoding. 16. An electronic device for obtaining useful data via a set of DNA strands, wherein the electronic device comprises: means for selecting at random DNA strands belonging to said set of DNA strands; means for sequencing said selected DNA strands, delivering a set of nucleotides block sequence; means for converting each nucleotides block sequence into a numeral system, each nucleotides block sequence being associated with a corresponding block of data; means for applying a first decoding using an error correcting code on each block of data, defining a first set of decoded blocks of data; means for applying a second decoding associated with an erasure code involving all the decoded blocks of data, defining a second set of blocks of data, wherein each decoded block comprises a seed being associated with said erasure code; means for obtaining useful data from said second set.
Preparing nucleic acids for analysis, e.g. for polymerase chain reaction [PCR] assay (C12Q1/6804 takes precedence) · CPC title
Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title
Reed-Solomon codes · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.