На завершившейся 6 апреля в Атланте (США) 21-й Международной конференции по архитектурной поддержке языков программирования и операционных систем исследователи из университета Вашингтона и фирмы Microsoft представили доклад, в котором описали систему хранения информации на синтезированных ДНК. Им удалось не только сохранить этим способом различные виды информации (текст, изображения, звук), но и безошибочно прочитать их.

Молекулы ДНК, созданные природой для хранения генетической информации живых организмов, способны хранить информацию во много миллионов раз более плотно, чем все существующие технологии для цифровых запоминающих устройств – жесткие и оптические диски, флэш-накопители и др. Кроме того, ДНК может надежно сохранять данные в течении нескольких столетий в отличие от срока от нескольких лет до двух–трех десятилетий для прочих устройств. По оценкам предел плотности записи на ДНК достигает 1 эксабайт на мм3 (1018 байт/мм3) при периоде полураспада более 500 лет. Правда, пока доступ к записанной таким образом информации очень медленный (от десятков секунд до часов), так что такую систему можно использовать только для архивного хранения данных.

Кодирование осуществляется с помощью четырех основных строительных блоков ДНК: аденина (А), гуанина (G), цитозина (C) и тимина (T). Эти блоки соответствуют цифрам кода. Поскольку их четыре, то двоичные числа перед кодированием переводятся в код с другим основанием. В простейшем случае, может использоваться система с основанием 4, тогда A, C, G, T сопоставляются цифрам 0, 1, 2, 3. Процесс кодирования, к примеру, двоичной последовательности 01110001 заключается в ее замене на код Хаффмена при основании 4 – 1301, а затем синтезе цепочки ДНК – СТАС. Однако такое кодирование не позволяет уберечься от многочисленных ошибок , возникающих при синтезе ДНК, поэтому пришлось разработать специальный метод кодирования, уменьшающий вероятность ошибки, и кроме того, добавить к биотехнологиям схемы коррекции ошибок, используемые в компьютерной памяти.

Исследователи решили и проблему произвольного доступа к информации, записанной на большом количестве различных ДНК. Для этого они научились кодировать в них служебные данные («индексы»), позволяющие находить нужную информацию. С помощью полимеразной цепной реакции, используемой в молекулярной биологии, они идентифицировали нужные индексы, а затем, используя методы секвенирования (определения последовательности блоков) ДНК, читали данные.

Эта работа представляет большой интерес на фоне лавинообразного роста информации во всем мире. По прогнозам в 2017 году ее количество возрастет до значения более 16 зеттабайт (1021). Даже при условии, что далеко не все надо сохранять, это огромное число. А наибольшая плотность коммерчески доступной памяти на ленточных картриджах составляет всего 10 гигабайт на мм3 (1 ГБ = 109 Б), даже самые последние исследования обещают оптические диски с плотностью всего около 100 ГБ/мм3. Высота нужной стопки таких дисков будет больше расстояния до Луны. Разумеется, пока стоимость и эффективность памяти на ДНК оставляют желать лучшего, но исследователи считают эти проблемы вполне решаемыми.