想象你把一部《红楼梦》刻在沙粒上,而每一粒沙都能装下一整座图书馆。大自然从三十多亿年前就在做这件事:它把生命说明书写在 DNA 这种细线里,用四个字母 A、T、C、G 排列组合,从细菌到蓝鲸都靠它传代。现在,人类想借这本“分子藏书”来存数字世界的数据。原理并不神秘:把硬盘上的 0/1 先翻译成四字母,再用“分子打印机”把四字母串成 DNA 链,需要时用“分子扫描仪”读回来。这条路很慢、很贵,但密度高得惊人、几乎不怕时间,是面向千年尺度的存档实验。本文将用“生命图书馆”这个比喻,带你走完 DNA 存储从编码、写入、读取到归档的全程。

岗位关联

了解 DNA 存储的编码、合成、测序与归档逻辑,能帮你在未来数据基础设施选型时看懂“冷数据终极方案”,为跨学科创新提供独特视野。

目录
  1. 可视化演示
  2. 存储介质原理
  3. 碱基编码方案
  4. 合成写入技术
  5. 测序读取技术
  6. 存储密度优势
  7. 读写速度瓶颈
  8. 超长期归档应用
  9. 未来发展方向
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

存储介质原理

想象一位可以把整座图书馆装进口袋的图书管理员。她管理的不是纸质书,而是由四色珠子串成的“分子书”——红、蓝、绿、金分别对应 A、T、C、G 四种碱基。大自然从三十多亿年前就开始用这种四色珠串写书:每个活细胞的细胞核里,都保存着关于如何建造和运行这个生命体的完整藏书。

分子层面的 DNA 是一条很长的聚合物链,由无数核苷酸头尾相接而成。每个核苷酸带有一个碱基,碱基只有四种:腺嘌呤 A、胸腺嘧啶 T、胞嘧啶 C、鸟嘌呤 G。两条链通过碱基互补配对形成双螺旋,就像两条并排的绳梯,梯级就是配对的碱基。对存储而言,化学细节可以暂时放在一边,关键结论是:信息完全由碱基的排列顺序承载,而这个顺序可以被化学方法写入、读出和复制。

既然每个位置可以从 4 种字母里选 1 个,每个位置携带的信息量就是 2 bit。这表明,一条 DNA 链的信息容量正比于它的长度,而且天然就是二进制的两倍压缩。

回到图书馆的比喻:决定一座图书馆容量的,不是书架用了多少木头,而是每本书有多少页、每页有多少个四色珠子。DNA 正是那个把“页码”做得最密、把“纸张”做得最薄的天然载体。

I=n×log⁡24=2nI = n \times \log_2 4 = 2n
一条有 n 个碱基的 DNA 串,理论上最多承载 2n 比特;这就是“生命图书馆”每一本书的容量上限。
  1. 碱基数量 \(n\)DNA 链的长度,也就是四色珠串上的珠子个数。
    nn
  2. 四种碱基 \(|\Sigma|=4\)每个位置有四种选择,构成一个四进制符号。
    ∣Σ∣=4|\Sigma| = 4
  3. 单个位置的信息量 \(\log_2 4\)四选一的符号可携带 2 bit。
    log⁡24=2 bit\log_2 4 = 2\ \text{bit}
  4. 总信息量 \(I = 2n\)每个位置 2 bit,n 个位置总信息量就是 2n bit。
    I=2nI = 2n

碱基编码方案

光有纸和字母还不够。管理员要确保借书的人拿到的不只是散落的珠子,而是有页码、有目录、有防错装订的书。

数字文件进入 DNA 世界的第一步是把 0/1 翻译成四色珠。最常见的编码是每 2 bit 映射 1 个碱基:00 到 A、01 到 T、10 到 C、11 到 G。这里负责映射的规则就是码表。如果只做这一步,得到的只是连续四色串;真实系统还会把文件切成小块,每块前面加唯一索引(页码),后面加校验和纠错码。索引让读取后能按顺序拼回文件,校验让个别合成或测序错误能被发现并修正。

还有一个容易被忽略的约束:连续相同的碱基不能太长。比如连续写 20 个 A,合成时酶容易“打滑”,测序时信号也难以分辨。因此编码算法会故意避免均聚物,保证任何碱基的连续重复不超过 3 到 4 个。

这就像给四色珠串加了一套图书馆编目规则:先分成书页,再给每页盖页码、贴校验标签,最后要求每一页不能连续涂太多同一种颜色。有了这套规则,珠子串才从“装饰品”变成可长期保存的文件。

Si=ϕ(b2i,b2i+1),00↦A, 01↦T, 10↦C, 11↦GS_i = \phi(b_{2i}, b_{2i+1}), \quad00 \mapsto A,\ 01 \mapsto T,\ 10 \mapsto C,\ 11 \mapsto G
这个公式说明:每两位二进制数据经过码表 \(\phi\),变成 DNA 序列第 i 个位置上的一个碱基。
  1. 两位二进制 \(b_{2i}, b_{2i+1}\)从原始比特流中按顺序取出的相邻两位。
    b2i,b2i+1b_{2i}, b_{2i+1}
  2. 码表 \(\phi\)把 00/01/10/11 映射到四种碱基的规则。
    ϕ:{00,01,10,11}→{A,T,C,G}\phi: \{00,01,10,11\} \to \{A,T,C,G\}
  3. 映射关系00 对应 A,01 对应 T,10 对应 C,11 对应 G。
    00↦A, 01↦T, 10↦C, 11↦G00{\mapsto}A,\ 01{\mapsto}T,\ 10{\mapsto}C,\ 11{\mapsto}G
  4. 输出碱基 \(S_i\)最终写在 DNA 链第 i 个位置上的符号。
    Si∈{A,T,C,G}S_i \in \{A,T,C,G\}

合成写入技术

编码完成之后,图书馆要开始“抄书”。抄书的笔是 DNA 合成仪,动作非常像用针尖在米粒上刻字:一次只延长一个碱基。

主流方法是固相合成。机器把第一个核苷酸固定在芯片或微球表面,然后按设计好的顺序一滴一滴加入 A/T/C/G,让链从固定端逐步延长。为了提高吞吐量,工业界采用喷墨式或电化学方式的微阵列合成,在同一块芯片的很多格点同时写不同的序列,有点像打印机一次喷一整行字。每加一个碱基称为一个循环,循环越多,错误累积概率越高,所以单条 DNA 的长度通常限制在 100 到 300 个碱基;更长文件需要合成许多短片段,后续再按索引拼接。

写入时间是衡量“抄书”速度的直观指标。如果把总碱基数记为 N,合成速率记为 r_synth,理想情况下写一遍需要的时间就是总量除以速率。

到目前为止,这笔“四色墨水”非常昂贵,写一小段就像用金粉抄写经文。可也正因为它昂贵而精细,管理员们才愿意把它当作镇馆之宝,而不是日常草稿纸。

Twrite=NrsynthT_{\text{write}} = \frac{N}{r_{\text{synth}}}
写入时间 = 总碱基数 ÷ 合成速率。只要合成速率不够高,写一本书就要等很久。
  1. 总碱基数 \(N\)所有需要合成的 DNA 碱基数量,可以理解为整本书的总字数。
    NN
  2. 合成速率 \(r_{\text{synth}}\)单位时间内能成功延长的碱基数量。
    rsynthr_{\text{synth}}
  3. 写入时间 \(T_{\text{write}}\)把 N 个碱基全部合成完所需的时间。
    Twrite=NrsynthT_{\text{write}} = \frac{N}{r_{\text{synth}}}

测序读取技术

书写好之后,最激动人心的时刻是开卷阅读。DNA 存储的阅读器不是眼睛,而是测序仪——一个能把四色珠串逐颗扫描下来的“分子扫描仪”。

目前有两大类读取思路。高通量测序把大量 DNA 片段铺在芯片上,一边复制一边加入荧光标记的碱基,每延伸一个碱基就拍一张照片,得到序列。纳米孔测序则让单链 DNA 穿过一个极细的孔,不同碱基通过时造成不同的电流扰动,算法根据电流波形实时猜出 A/T/C/G。PCR 扩增可以被看成“复印机”,先把微量的 DNA 复制成成千上万份,让测序信号足够强。

读取同样需要时间。设测序反应需要覆盖的片段数为 N_reads、平均读长 L、纳米孔读取速度为 v_pore,则理想读取时间是三者决定的商。

这很像把图书馆的每一本书先化整为零,再一页一页扫描,最后按页码重新装订。虽然笨重,但纳米孔已经让阅读从“整本扫描”走向“实时流过”,未来可望越来越像翻书。

Tread=Nreads×LvporeT_{\text{read}} = \frac{N_{\text{reads}} \times L}{v_{\text{pore}}}
当前读取是把整管混合物“过一遍”,不是按地址精确定位,更像扫图书馆的整排书架,而不是直接翻到某一页。
  1. 片段数量 \(N_{\text{reads}}\)需要读取的 DNA 片段总数。
    NreadsN_{\text{reads}}
  2. 平均读长 \(L\)每条片段上平均有多少个碱基。
    LL
  3. 读取速度 \(v_{\text{pore}}\)纳米孔单位时间内放过的碱基数。
    vporev_{\text{pore}}
  4. 读取时间 \(T_{\text{read}}\)总片段数乘平均读长,再除以速度。
    Tread=Nreads×LvporeT_{\text{read}} = \frac{N_{\text{reads}} \times L}{v_{\text{pore}}}

存储密度优势

既然这么慢又这么贵,为什么还值得研究?因为 DNA 的存储密度和耐久性,让所有传统介质都望尘莫及。

DNA 的密度来自分子尺度:一个核苷酸只有几百道尔顿重,却携带 2 bit 信息。1 克 DNA 含约 \(N_A / M\) 个碱基(\(N_A\) 是阿伏伽德罗常数,平均摩尔质量约 330 g/mol),乘上 2 bit 每碱基,再换算成字节,就得到约 \(4.55 \times 10^{20}\) B/g,也就是约 455 EB/g。这个数量级意味着,人类当前全球一年产生的数据,理论上可以压缩进几公斤甚至几百克 DNA。

回到图书馆比喻:管理员可以像变魔术一样把百万册藏书装进一滴露水。滴水藏海,不再只是文学修辞,而是分子世界的物理事实。

DDNA=2NA8Mnt≈4.55×1020 B/gD_{\text{DNA}} = \frac{2N_A}{8M_{\text{nt}}} \approx 4.55 \times 10^{20}\ \text{B/g}
每克 DNA 的理论存储密度约为 455 EB(1 EB = 10^18 字节),这是磁存储无法想象的物理极限。
  1. 每克碱基数 \(N_A / M_{\text{nt}}\)由阿伏伽德罗常数和平均摩尔质量算出。
    NAMnt\frac{N_A}{M_{\text{nt}}}
  2. 每个碱基 2 bit四种碱基提供 2 bit 信息。
    2NAMnt bit/g\frac{2N_A}{M_{\text{nt}}}\ \text{bit/g}
  3. 除以 8 换成字节8 bit = 1 byte。
    2NA8Mnt B/g\frac{2N_A}{8M_{\text{nt}}}\ \text{B/g}
  4. 代入数值最终约 455 EB/g。
    DDNA≈4.55×1020 B/gD_{\text{DNA}} \approx 4.55 \times 10^{20}\ \text{B/g}

读写速度瓶颈

但藏书家也知道,宝贝不能当工具书随时翻阅。DNA 存储的读写都慢得让人着急,就像一台只能顺序播放的老式磁带机。

写入要经过合成,一次只能沿链往后延伸,不能跳着写;读取要经过测序,通常要先把整个池子扩增和测一遍,再靠索引找出目标。两者都缺少随机访问。当前 DNA 数据的写入速率比硬盘低很多个数量级,单位成本高得多。此外,DNA 链体外很娇贵:怕紫外线、怕潮湿、怕酶降解,所以必须低温、干燥、密封保存。

宏观上可以把读写总时间写成两段之和:N 个碱基先以 r_write 速率写入,再以 r_read 速率读出,总时间是两者相加。

这解释了为什么 DNA 存储的第一个应用场景不是“更快”,而是“更久”。它不是给急性子用的内存,而是给千年后的人留的信。

Ttotal=Nrwrite+NrreadT_{\text{total}} = \frac{N}{r_{\text{write}}} + \frac{N}{r_{\text{read}}}
这个公式把瓶颈拆成两段:写入慢、读取也慢;只要有一段速率不提升,总时延就会被拖住。
  1. 写入时间 \(\frac{N}{r_{\text{write}}}\)合成 N 个碱基所需时间。
    Nrwrite\frac{N}{r_{\text{write}}}
  2. 读取时间 \(\frac{N}{r_{\text{read}}}\)测序 N 个碱基所需时间。
    Nrread\frac{N}{r_{\text{read}}}
  3. 总时间 \(T_{\text{total}}\)先写后读,所以两部分相加。
    Ttotal=Nrwrite+NrreadT_{\text{total}} = \frac{N}{r_{\text{write}}} + \frac{N}{r_{\text{read}}}

超长期归档应用

如果图书馆要对抗的不是读者太多,而是时间太长,那么 DNA 是很好的选择。管理员会把最珍贵的书多抄几份,分藏在不同的山洞和盐矿里。

超长期归档正是 DNA 存储的主场。数据一旦写入,就不再频繁读写,只要求几百年后依然能完整读回。目前已有团队把书籍、图片、电影、维基百科等编码进 DNA,封装进惰性胶囊保存。为了对抗降解,需要冗余:同一片段合成多个副本,分布在多管、多位置,再用纠错码恢复少量损坏。另一个方向是“活体存储”,把数据写进细菌基因组,细胞分裂等于自动复制;但突变会导致信息漂移,需要更聪明的纠错。

降解过程可以用简单指数模型描述:初始拷贝数越多,同样时间内幸存下来的分子数越多,这正是“多抄几本”的数学依据。

真正的文明级图书馆,不是建在市中心的高楼里,而是像这样把同一本书分散藏在深山中——等待遥远的读者开启。

N(t)=N0e−ktN(t) = N_0 e^{-kt}
分子数量随时间呈指数衰减。初始拷贝数 N0 越大,越能在漫长岁月中保留足够多的完整副本。
  1. 初始拷贝数 \(N_0\)开始时有多少条完整 DNA。
    N0N_0
  2. 降解速率 \(k\)单位时间内分子损坏的概率。
    kk
  3. 衰减项 \(e^{-kt}\)时间越久,幸存的分子比例越小。
    e−kte^{-kt}
  4. t 时刻拷贝数 \(N(t)\)由初始量和衰减项共同决定。
    N(t)=N0e−ktN(t) = N_0 e^{-kt}

未来发展方向

今天的 DNA 存储还是用金粉抄经,未来的目标是把它变成活字印刷,甚至变成随身便携图书馆。

几个方向正在成形:一是酶促合成,用酶代替传统化学偶联,反应更温和,有机会写更长链、更低的成本。二是随机访问,通过 PCR 引物和地址序列,在混合池里只扩增目标片段,不必每次都全库测序。三是“DNA of Things”,把信息编码进日常物品的材料中,让产品自带防伪身份证。四是标准化,类似 ZIP 的 DNA 文件格式和编解码软件正在出现,让不同实验室能互相读写。

这些技术共同的目标是把成本压下来。借用摩尔定律的指数衰减形式,单位成本随时间下降的规律可以写成下面的公式。

从泥板、羊皮纸、纸张到硬盘、闪存,再到四色珠串,人类总在寻找下一种更耐久的纸。DNA 存储告诉我们的恰恰是:最先进的纸,也许一直藏在我们自己的身体里。

C(t)=C0×2−t/τC(t) = C_0 \times 2^{-t/\tau}
其中 C0 是当前单位成本,τ 是成本减半所需时间。只要折半周期足够短,DNA 存储就能从档案馆走进数据中心。
  1. 当前成本 \(C_0\)今天合成和测序一个单位数据的价格。
    C0C_0
  2. 成本减半周期 \(\tau\)成本下降一半需要的时间。
    τ\tau
  3. 指数项 \(2^{-t/\tau}\)每过一个 τ,成本乘上 1/2。
    2−t/τ2^{-t/\tau}
  4. 未来成本 \(C(t)\)随时间指数下降后的单位成本。
    C(t)=C0×2−t/τC(t) = C_0 \times 2^{-t/\tau}

AI 应用场景

冷数据归档与数据治理

阶段:数据归档与长期存储

解决的问题:传统磁带和光盘寿命只有 10 到 30 年,需要反复迁移、耗电和人工维护;AI 编码算法能根据错误模型自动设计纠错码和碱基分布,把冷数据压缩成 DNA 序列,并决策冗余副本数量。

具体案例:某生物信息团队把维基百科数万页文本使用 DNA Fountain 编码,合成到上千条 DNA 片段中,封装后保存;定时取样用纳米孔测序和 basecalling 模型读回,验证错误率可被纠错码修正。

产品防伪与分子溯源

阶段:数据标识与物联网溯源

解决的问题:传统防伪二维码可被复制,DNA 标签不可见且难以仿造;AI 负责设计随机碱基序列并训练快速分类模型,在需要时用便携测序仪识别。

具体案例:香料厂商在极微量 DNA 标签混入产品包装材料,物流节点用纳米孔测序读取标签,AI 比对后台数据库,判断正品和批次。

Python 演示

python49 行
#!/usr/bin/env python3"""DNA storage encoding simulator: binary -> bases -> block + parity -> decode.""" CODE = {'00': 'A', '01': 'T', '10': 'C', '11': 'G'}REV = {v: k for k, v in CODE.items()} def text_to_bits(message):    return ''.join(f'{ord(c):08b}' for c in message) def encode_text(message):    bits = text_to_bits(message)    pad = (16 - len(bits) % 16) % 16    bits += '0' * pad    chunks = [bits[i:i + 16] for i in range(0, len(bits), 16)]    dna_parts = []    for block_id, chunk in enumerate(chunks):        # 8-bit block index, like a page number.        head = f'{block_id % 256:08b}'        # 2-bit parity for error detection.        parity = '01' if chunk.count('1') % 2 == 0 else '10'        payload = head + chunk + parity        dna_parts.append(''.join(CODE[payload[i:i + 2]] for i in range(0, len(payload), 2)))    return ''.join(dna_parts) def decode_text(seq):    bytes_parts = []    for start in range(0, len(seq), 13):        block = seq[start:start + 13]        body_bits = ''.join(REV[b] for b in block)        head = body_bits[:8]        data_bits = body_bits[8:24]        parity = body_bits[24:26]        expect = '01' if data_bits.count('1') % 2 == 0 else '10'        if expect != parity:            return None, int(head, 2)        bytes_parts.append(data_bits)    all_bits = ''.join(bytes_parts)    text = ''.join(chr(int(all_bits[i:i + 8], 2)) for i in range(0, len(all_bits), 8))    return text.rstrip('\x00'), None if __name__ == '__main__':    message = 'DNA storage is cool'    seq = encode_text(message)    print('Encoded DNA:', seq)    decoded, err_block = decode_text(seq)    if decoded == message:        print('Decoded correctly:', decoded)    else:        print('Decode failed at block:', err_block)
目的:演示 DNA 存储的核心编码流程——把字符串变成二进制,两位映射一个碱基,分块加索引和奇偶校验,再解码还原。
  1. bits = text_to_bits(message)把字符串变成 8 位二进制比特流,作为编码输入。
  2. pad = (16 - len(bits) % 16) % 16补齐到 16 bit 的倍数,保证分块完整。
  3. chunks = [bits[i:i + 16] for i in range(0, len(bits), 16)]每 16 bit 为一块,相当给文件分页。
  4. head = f'{block_id % 256:08b}'每个块加 8 位块号,相当于页码。
  5. parity = '01' if chunk.count('1') % 2 == 0 else '10'用 2 位奇偶校验标记数据块中 1 的奇偶性。
  6. dna_parts.append(''.join(CODE[payload[i:i + 2]] for i in range(0, len(payload), 2)))把二进制串两位映射成一个碱基,生成 DNA 序列。
  7. expect = '01' if data_bits.count('1') % 2 == 0 else '10'解码时重新计算校验位,并与读到的校验位比对。
  8. return text.rstrip('\x00'), None去掉补齐产生的空字符并返回原文。

常见误区

误区DNA 存储既然是存储,就应该像硬盘一样,想存哪个文件就写哪个文件,想读哪个就定位读取,速度慢一点也能接受。

正解目前 DNA 存储的写入必须经过合成,读取必须经过测序,两者都是顺序批处理。读某个文件时,通常要把整池 DNA 扩增并测一遍,再靠索引找出来。它更像老式磁带,而不是硬盘;真正适合的是“写入后长期不读”的冷数据归档。

为何常见:人们习惯用电脑内存和 SSD 的随机访问模型去理解一切存储,忽略了 DNA 存储的物理读写方式完全不同。

误区把二进制映射成碱基只要记住 00->A、01->T、10->C、11->G,剩下的交给生物实验室就行。

正解真实系统还要考虑分块索引、校验纠错、均聚物长度限制、GC 含量以及合成测序错误模型。如果一条链上连续出现几十个 A,合成酶会打滑,测序信号也会模糊。就像四色珠串书不仅要有文字,还要有页码、装帧和防潮涂层。

为何常见:2 bit 映射确实很简单,教材里也常只讲这一步,容易让人忽略整个工程系统的复杂度。

误区455 EB/g 太诱人了,只要价格贵一点也能接受,过几年就会进入普通人的电脑。

正解密度高不等于总成本低。当前 DNA 合成的每 MB 费用仍远高于磁盘,读写吞吐也差很多数量级。近期它只适合极小体积、需要保存几百年的极冷数据,不会替代内存、SSD 或云硬盘。

为何常见:媒体常宣传“密度高、寿命长”,却很少提“写入极慢、读取极慢、成本极高”,导致公众高估了它的商用成熟度。

误区既然科学家能从猛犸象化石里读到 DNA,那我们把数据写进 DNA 就一劳永逸了。

正解考古 DNA 大多是断裂、损坏的片段,只能拼出零散信息。作为数据文件,DNA 必须保持每条链完整且可正确解码,因此要低温、干燥、密封保存,还要多副本冗余和纠错。若暴露在潮湿、紫外线或酶中,几天就可能坏掉。

为何常见:人们把“曾经存在过”和“完整可读”混为一谈,忽略了保存条件和纠错机制的重要性。

面试题

Q1. DNA 作为存储介质,所用的四种碱基是?

单选题 · easy

  • A.A、T、C、G← 正确答案
  • B.A、U、C、G
  • C.A、T、U、G
  • D.A、T、C、U

答案:A。DNA 用 A/T/C/G 四种碱基;U 是 RNA 特有的碱基。这个知识点就像生命图书馆里的四种油墨颜色,选错字母等于拿错墨水。

Q2. 一个 DNA 碱基理论上最多能携带多少 bit 信息?

单选题 · easy

  • A.1 比特
  • B.2 比特← 正确答案
  • C.4 比特
  • D.8 比特

答案:B。四种碱基等价于一个四进制符号,信息量是 log2(4)=2 bit。选 1 会低估四选一的能力,选 4 或 8 则把进制位和字节混淆了。

Q3. 合成 DNA 时,编码算法通常要限制连续相同碱基的长度,主要原因是?

单选题 · mid

  • A.避免合成打滑与测序模糊← 正确答案
  • B.降低信息密度以节省成本
  • C.让双螺旋结构更容易断开
  • D.让四种碱基数量完全相等

答案:A。连续相同碱基会让合成酶“打滑”,测序信号也难以分辨。限制均聚物长度是为了提高读写可靠性,不是为了省成本或强制等比例。

Q4. 一个完整的 DNA 文件写入流程通常包含哪些环节?

多选题 · mid

  • A.设计序列与纠错编码← 正确答案
  • B.喷墨或电化学合成← 正确答案
  • C.写入后随机地址读取
  • D.扩增、混合与质量验证← 正确答案

答案:ABD。写入要先编码设计,再合成,最后扩增和验证;随机地址读取属于读取阶段能力,不是写入流程。就像图书馆抄书要先排版、印刷、装订校验。

Q5. 纳米孔测序识别碱基的主要物理信号是?

单选题 · mid

  • A.单链穿过孔时的电流变化← 正确答案
  • B.碱基在紫外灯下的荧光颜色
  • C.双链解旋时的热量变化
  • D.碱基与孔壁碰撞的声音

答案:A。纳米孔测序通过不同碱基引起不同离子电流扰动来判读碱基;荧光、热量和声音都不是它的核心原理。可以理解为不同形状的珠子流过同一根细管时,水流变化不同。

Q6. 1 克 DNA 的理论存储密度最接近?

单选题 · hard

  • A.几十 GB 每克
  • B.455 EB 每克← 正确答案
  • C.455 TB 每克
  • D.455 PB 每克

答案:B。由阿伏伽德罗常数和碱基平均摩尔质量估算,每个碱基约 2 bit,1 克 DNA 约可存 455 EB。其他选项差了好几个数量级。

Q7. 为什么 DNA 存储目前不适合作为计算机内存?

单选题 · hard

  • A.读写都是顺序批处理且延迟大← 正确答案
  • B.DNA 序列完全无法被读取
  • C.四种碱基导致带宽太低
  • D.双螺旋结构不支持信息编码

答案:A。内存需要纳秒级随机访问,而 DNA 的合成和测序都是批量顺序流程,延迟差距极大。DNA 完全可以读取,也能编码信息,瓶颈不在四字母本身。

Q8. 下列属于 DNA 存储潜在应用场景的有?

多选题 · easy

  • A.冷数据归档← 正确答案
  • B.文明级数据备份← 正确答案
  • C.实时交易缓存
  • D.产品防伪标签← 正确答案

答案:ABD。冷数据、文明备份和产品防伪都适合 DNA 的高密度与长寿命;实时交易缓存需要低延迟随机访问,目前 DNA 做不到。

Q9. 在 DNA 存储编码中,为保证可靠读回,通常加入哪些机制?

多选题 · hard

  • A.分块索引← 正确答案
  • B.校验与纠错码← 正确答案
  • C.均聚物长度限制← 正确答案
  • D.每个文件只合一份

答案:ABC。分块提供页码,校验纠错发现修正错误,均聚物限制保证合成测序不出错;冗余副本才是可靠性手段,“只写一份”适得其反。

Q10. 关于 DNA 存储的未来,以下说法正确的是?

单选题 · extreme

  • A.酶促合成有望降低写入成本← 正确答案
  • B.测序速度永远不会再提升
  • C.DNA 将完全取代存储内存
  • D.当前成本已经低于磁盘

答案:A。酶促合成是降低成本的重要路线;“永远不会提升”过于绝对,DNA 不会取代内存,当前成本也远高于磁盘。未来方向是把四色珠串变成可负担的长期馆藏。