University of Washington and Microsoft Research boffins have successfully used DNA as an image store.
Their argument is that although it's hard to work with, DNA has a couple of killer characteristics as a data store: the “raw” storage limit is an exabyte per cubic millimetre, and its storage half-life is more than 500 years.
DNA sequences happen to map well to a binary world, since they have four basic building blocks: adenine, guanine, cytosine and thymine.
It is, however, an archival medium, since it currently takes around 10 hours to retrieve data from a DNA store.
As the of Washington canned statement explains, that storage density would pack a data centre into a sugar cube.
Their full paper, here, proposes an architecture as well as testing the practicality of storing and retrieving data.
The University of Washington / Microsoft Research DNA-based storage library
In it, the researchers describe an end-to-end system “to encode, store and retrieve digital data using DNA molecules”. The researchers “encoded digital data from four image files into the nucleotide sequences of synthetic DNA snippets”, the University says, and they were then able to reconstruct the images without loss, from a larger pool of DNA.
Data gets written using a DNA synthesiser, with 100-200 nucleotide-long strands storing between 50 to 100 bits each. Pools of DNA strands would create the archival-sized library. Data is extracted using a polymerase chain reaction and a DNA sequencer to recover the original strands.
Since you can't run sequential addressing with this process, the researchers instead encode the address onto the data stored in a strand. The polymerase chain reaction helps with recovering the data addresses so that the data can be reassembled.
The test images stored on, and retrieved from, DNA. This is the internet so of course there is a cat
The work, by the University of Washington's James Bornholt, Randolph Lopez, Luis Ceze and Georg Seelig with Microsoft Research's Douglas Carmean and Karin Strauss, was presented last week to the ACM International Conference on Architectural Support for Programming Languages and Operating Systems. ®