写点什么

浅析 Microsoft DNA 存储

  • 2016-05-04
  • 本文字数:1089 字

    阅读完需:约 4 分钟

Microsoft 正在实验用人工合成 DNA 实现数字化数据存储,并于最近向遗传学初创公司 Twist Bioscience 购买了一千万条 DNA。

据悉 Microsoft 有关 DNA 存储的实验是与华盛顿大学(University of Washington)合作进行的。联合研究团队最近提交了一份描述下图所示完整 DNA 归档存储系统架构述的论文

DNA 存储系统由一个对数据进行编码,以便将数据存储在 DNA 中的 DNA 合成器;一个包含大量“隔间”,将 DNA 的存储池与数据卷进行映射的存储容器;以及负责读取 DNA 序列并将其重新转换为原始数据的 DNA 序列器组成。

DNA 存储技术目前有个非常有趣的问题需要解决:寻址。DNA 链是 DNA 存储的基本单位,DNA 链由大约 100-200 个核苷酸组成,可存储 50–100 比特信息。这意味着一个典型的数据对象需要映射至大量 DNA 链。研究人员目前使用了键 - 值架构,因此这里的关键在于首先需要关联至包含所需链的池,随后通过随机访问机制访问池中的链。

另一个有趣之处在于数据的呈现方式。DNA 由 4 个碱基(A、C、G、T)组成,因此 base-4 是最直接的数据呈现方法,例如 01110001 可通过 base-4 的方式转换为 1301,并映射为 DNA 序列中的 CTAC 结构。然而除此之外,研究人员还选择了一种 base–3 呈现方式,借此可通过一个核苷酸实现纠错。那么在上述的例子中,01100001 可转换为 base-3 格式的 01112,并映射至为 DNA 序列中的 CTCTG 结构。

有关 DNA 存储原理的详细信息,包括如何通过编码改善可靠性,以及目前进行过的几个实验,可参阅上文提及的 PDF 论文。

根据 Twist Bioscience 公司介绍,相对传统数字化存储,基于 DNA 的归档技术可提供两个重要优势:寿命更长,最新研究数据显示 DNA 数据存储的寿命高达 2000 年;并且数据密度更高,一克 DNA 即可存储一兆 GB 数据。

根据 Microsoft 和华盛顿大学研究人员的介绍,DNA 存储并不是闪存或硬盘的替代品:

我们将 DNA 存储视作一种最持久的深层存储体系,可提供高密度且持久的归档存储方案,以及数小时乃至数天的访问时间。

这种想法的重点在于,DNA 的合成和排序可以任意程度的序列化方式进行,因此可以轻松获得所需的读写带宽。

Microsoft 公司 DNA 存储项目主管 Doug Carmean 澄清说,他们使用 Twist 提供的 DNA 进行初步测试“证明了数字化数据可通过这种方式进行编码,并可 100% 还原为原始数据”,但在这种技术正式商用之前还有很多工作有待完成。

作者:Sergio De Simone
阅读英文原文 A Look at Microsoft DNA Storage


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-05-04 19:001798
用户头像

发布了 283 篇内容, 共 110.8 次阅读, 收获喜欢 62 次。

关注

评论

发布
暂无评论
发现更多内容

在 GitHub 上玩转开源项目的 Code Review

胡说云原生

GitHub 开源 DevOps Code Review DevStream

G7与E6宣布完成合并

Geek_2d6073

Java类与对象,万物皆对象

未见花闻

6月月更

在 Flutter 中以编程方式截取任何 Widget

坚果

6月月更

重载(overLoad)与重写(override)的区别与详解(详解+对比+代码示例)

写代码两年半

javase 多态 重载 6月月更

OKALEIDO的NFT聚合交易,打造面向艺术家的Web3商业生态

BlockChain先知

架构训练营模块三作业

融冰

spring4.1.8初始化源码学习三部曲之二:setConfigLocations方法

程序员欣宸

Java spring 6月月更

LabVIEW控制Arduino采集多路DS18B20温度数值(进阶篇—3)

不脱发的程序猿

单片机 LabVIEW Arduino VISA 采集多路DS18B20温度数值

小程序容器可以发挥的价值

Geek_99967b

小程序容器

抖音测试小说频道:抖音早已不再是短视频平台

石头IT视角

leetcode 934. Shortest Bridge 最短的桥(中等)

okokabcd

LeetCode 搜索 算法与数据结构

物联网低代码平台如何快捷管理资产?

AIRIOT

C#入门系列(八) -- 方法定义

陈言必行

C# 6月月更

聊聊我接触到的语言

卢卡多多

技术 语言 & 开发 6月月更

SDN网络编排与服务

穿过生命散发芬芳

SDN网络 6月月更

模块三作业

Elvis FAN

Vue.js到底是什么

Geek_99967b

小程序 Vue

ArrayList的底层?

源字节1号

软件开发 前端开发 后端开发 小程序开发

Disruptor 高性能堆内队列 系列二

Nick

Java Disruptor false sharing 6月月更 高性能堆内队列

深入浅出Spring事务的实现原理

清风

spring 原理 事务 源码学习 深入浅出

网络整体设计思路

阿泽🧸

6月月更 网络设计

协同办公市场暴增背后:融云通信能力是需求重点

融云 RongCloud

服务管理与通信,基础原理分析

Java 架构 微服务 nacos Feign

linux中同时移动多种格式文件

入门小站

Linux

在线两个文本列表拼接合并工具

入门小站

工具

【愚公系列】2022年06月 面向对象设计原则(二)-开放闭合原则

愚公搬代码

6月月更

谈在代码中嵌入标记生成模版

原创 6月月更

Django API 开发:身份认证原理

宇宙之一粟

django 6月月更

Apache.commons.lang3 的 isNumber 将会在 lang 4 的时候丢弃

HoneyMoose

Fabric.js 元素被选中时保持原有层级🥁

德育处主任

web前端 前端可视化 FabricJS Fabric.js 6月月更

浅析Microsoft DNA存储_语言 & 开发_Sergio De Simone_InfoQ精选文章