IP Library Granted Patent US 10,027,347
Granted Patent B2
US 10,027,347 · App. 15/300,269 · Granted Jul 17, 2018

Methods for storing and reading digital data on a set of DNA strands

Inventors: Nicolas Le Scouarnec (Liffre, FR); Jean Bolot (Los Altos, CA); Brian Eriksson (San Jose, CA); Sebastien Lasserre (Thorigné Fouillard, FR); Mark Crovella (Wayland, MA); Meinolf Bilawat (Hannover, DE); Klaus Gaedke (Hannover, DE); Jens Peter Wittenburg (Isernhagen, DE); Christophe Diot (Paris, FR); Martin May (Cesson-Sevigne, FR)
Assignee: THOMSON Licensing
H03M13/09C12Q1/6806G06F3/064G06F3/065G06F3/0619G06F3/0661G06F3/0673G06F11/1004G06F11/1076G06F19/28H03M13/1102H03M13/154H03M13/1515H03M13/2906H03M13/6502
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,027,347
App. No.
15/300,269
Granted
Jul 17, 2018
Kind
B2
Abstract

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.

Claims (47)

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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2020
From: THOMSON LICENSING S.A.S.
To: MAGNOLIA LICENSING LLC
Reel/Frame 053570/0237 →
Priority Claims (1)
EP 14305460 · Mar 28, 2014 · regional
Continuity (1)
Related Publication 20170187390A1 · Jun 29, 2017
Cited By (6)
US 12,236,354 US 12,430,202 US 12,437,841 US 12,474,994 US 12,562,755 US 12,658,284