DNA Storage,
Finally as Dense as PromisedDNA 存储,
终于兑现了它的密度承诺
Siyuan Code — towards density-optimal DNA storage with practical bijective coding.思源码 —— 迈向密度最优的 DNA 存储,以实用的双射编码。
A deterministic codec that maps digital data one-to-one onto nearly every low-error DNA sequence — reaching the theoretical limit of DNA's storage density while staying fast, stable, and practical.一种确定性的编解码器,把数字数据一对一映射到几乎所有低错误率的 DNA 序列上——达到 DNA 存储密度的理论极限,同时保持快速、稳定、实用。
We generate more data than we can keep.我们产生的数据,超出了我们能保存的量。
The world produces data far faster than storage capacity grows. Projections put it at 163 zettabytes by 2025 — the equivalent of about 16 billion 12-terabyte hard drives — and the rate is still climbing. Because every stored bit costs space, energy, and money, the default is to throw most of it away: old logs, raw sensor readings, unprocessed images. Some of that discarded data will turn out to have mattered. A denser medium changes the arithmetic — when storage is cheap enough, you stop having to choose what to forget.
世界产生数据的速度,远快于存储容量的增长。预测显示,到 2025 年全球将产生 163 ZB 数据——相当于约 160 亿块 12 TB 硬盘——而且增速仍在攀升。因为每存一个比特都要占用空间、消耗能源、花费金钱,默认的做法是把大部分数据丢掉:旧日志、原始传感器读数、未经处理的图像。而被丢掉的数据里,有一部分日后会被证明是有用的。更致密的介质会改变这道算术题——当存储足够便宜,你就不必再决定该遗忘什么了。
And the deeper reason density matters is not price, but space. The dominant long-term cost of storage is the room it occupies — land, data centers, cooling, real estate — and that cost only rises: land is non-renewable, so its price appreciates year after year. The other side of the ledger moves the opposite way: DNA synthesis and sequencing keep getting cheaper, driven by the biotechnology industry. A denser medium is therefore not merely cheaper today — it is a permanent, compounding advantage that widens as land grows dearer and biotech grows cheaper.
而密度更根本的意义,不在于价格,而在于空间。存储长期成本的大头,是它占据的空间——土地、机房、散热、地产——而这项成本只会涨:土地不可再生,价格逐年上涨。账本的另一边则朝反方向走:在生物产业的推动下,DNA 合成与测序会持续变便宜。因此,更致密的介质不只是今天更便宜——它是一种永久且不断放大的优势,会随着地价变贵、生化变便宜而愈发显著。
Storage cost is ultimately a real-estate cost.存储成本,归根结底是地产成本。The promise of DNA storage, finally kept.DNA 存储的承诺,终于兑现。
Since 1988, DNA has been hailed as the ultimate storage medium — denser than any hard drive, stable for centuries, cheap to keep. Yet for decades that density stayed on paper. Filtering methods randomly generated strands and rejected the unsuitable ones — under strict rules, an endless generate-and-reject loop — while hand-designed codes used only a handful of safe patterns, leaving most suitable sequences unused. So real experiments landed orders of magnitude below the promise. Siyuan Code is the first codec to close that gap — 41 exabytes per gram, measured in the wet lab.
自 1988 年以来,DNA 一直被视为终极存储介质——比任何硬盘都密、可稳定保存数百年、维护成本极低。但几十年来,这种密度始终停留在纸面上。筛法随机生成链、再筛掉其中不合用的——严格规则下是无限的"生成—拒绝"循环;人工设计则只用少数安全模式,把大部分可用序列闲置。因此真实实验的结果比承诺差了若干个数量级。思源码是第一个弥合这一差距的编解码器——41 EB/g,在湿实验中实测。
Why the two old approaches fell short →为什么两条旧路都不行 →
Why DNA can be this dense.为什么 DNA 能这么密。
Pays a structural tax要交"结构税"
Read/write heads, platters, motors, and casing all must exist — yet none of them stores a single bit. They are dead weight you can never recover.
磁头、盘片、电机、外壳都必须存在——但它们一个比特都不存。它们是你永远无法回收的死重。
Every molecule stores data每个分子都存数据
A DNA strand is information, not a container for it. No mechanics, no dead weight — the only cost is the small index and checksum needed to recover the order of the molecules.
一条 DNA 链本身就是信息,而不是信息的容器。没有机械、没有死重——唯一的代价,是用来找回分子顺序的一小段索引和校验。
DNA rides the biotechnology curve.DNA 搭上生物技术的快车。
As long as people are carbon-based, DNA synthesis and sequencing keep getting faster and cheaper — driven by medicine and biology, not by storage researchers. A DNA-storage codec inherits every one of those advances for free; a brand-new medium would have to build its entire instrument stack from scratch. Siyuan Code is written to stay ahead of that curve: it is length-agnostic and adapts to whatever the lab can synthesize next.
只要人类还是碳基的,DNA 的合成与测序就会持续变快、变便宜——推动它的是医学与生物学,而不是存储研究者。DNA 存储编解码器可以免费继承这每一项进步;而一种全新的介质,则必须从零开始搭建整套仪器。思源码正是为跑在这条曲线前面而写的:它与链长无关,能适配实验室下一步能合成的任何规格。
Error-prone sequences hold DNA storage back.易错的序列拖住了 DNA 存储。
Not every DNA sequence is created equal. Certain short patterns fail far more often during synthesis and sequencing, and they must be kept out of the code.
不是所有 DNA 序列都生而平等。某些短模式在合成与测序中出错率远高于其它,必须被挡在编码之外。
Homopolymers同聚物
Runs such as AAAA or TTTT are error-prone. Siyuan Code caps homopolymer length at 2 — stricter than Fountain and Yin-yang codes, which allow up to 4.
AAAA 或 TTTT 这类连续重复极易出错。思源码把同聚物长度限制在 2——比允许到 4 的喷泉码、阴阳码更严格。
GC imbalanceGC 失衡
Sequences whose GC content drifts outside a safe window misbehave. Siyuan Code constrains local GC content, holding the overall range to 42.9–57.6%.
GC 含量偏离安全区间的序列会出问题。思源码约束局部 GC 含量,把整体范围控制在 42.9–57.6%。
Undesired motifs不良基序
Primers and other high-error substrings must be excluded. Siyuan Code catalogs any custom pattern in a Trie automaton and guarantees the output never contains one.
引物和其它高错误率子串必须被排除。思源码把 任意自定义模式 收录进 Trie 自动机,并保证输出绝不会包含它们。
Why filtering fails. Filtering codecs randomly generate strands and throw away the bad ones. Under strict constraints that means rejecting nearly everything — at strand length 200 with GC(40–60%) and 3-homopolymers forbidden, it takes an average of 3.8 × 10²² retries per strand. To avoid getting stuck, they loosen the rules — which raises the error rate, then the copy number, and lowers the density.
筛法为什么不行。筛选式编码随机生成链、再把不合格的扔掉。在严格约束下,这几乎等于把生成的全丢掉——链长 200、要求 GC(40–60%) 且禁 3-同聚物时,平均每条链要重试 3.8 × 10²² 次。为了避免卡死,它们只好放宽规则——于是错误率升高,接着拷贝数升高,密度降低。
Read the full comparison of manual and filtering approaches →阅读手工设计与筛选式方法的完整对比 →
Bijective coding — use every suitable sequence.双射编码 —— 用尽每一条可用序列。
Siyuan Code enumerates all DNA sequences that are safe to store, and maps them one-to-one onto binary data. Nearly every low-error strand carries information — reaching the theoretical limit of density.
思源码枚举 所有 可安全存储的 DNA 序列,并把它们一一对应地映射到二进制数据上。几乎每一条低错误率链都承载信息——达到密度的理论极限。
One-to-one mapping一对一映射
Each suitable DNA sequence is assigned a unique integer, and each integer is a binary string. This bijection uses every suitable strand — no wasted space, no randomness.
每条可用 DNA 序列被赋予唯一整数,每个整数对应一个二进制串。这一双射用尽了每条可用链——不浪费空间,也不依赖随机。
A trie of bad patterns用 trie 收录坏模式
Instead of storing the exponentially many good sequences, Siyuan Code catalogs only the few bad patterns in a trie — which do not grow with length — keeping memory small.
与其存储指数级增长的 好 序列,思源码只用一棵 trie 收录为数不多、且不随链长增长的 坏 模式——从而把内存压到很小。
Trie automatonTrie 自动机
The trie becomes an advanced data structure by adding a fail edge (the longest proper suffix) and a press edge (the longest suffix after appending one base). The press edge turns every transition into one precomputed step — strict worst-case O(1) — which the counting and encoding build on.
给 trie 加上 失败边(最长真后缀)与 按压边(追加一个碱基后的最长后缀),它就升级成一个高级数据结构。按压边让每次转移变成一步预计算——严格最坏情况 O(1)——计数与编码正是建立在这之上。
Dynamic programming动态规划
A counting-based construction finds the k-th suitable sequence in polynomial time. Encoding and decoding are deterministic — they never fail, and never loop indefinitely.
基于计数的构造在多项式时间内找到第 k 条可用序列。编码与解码都是确定性的——永不失败,也永不无限循环。
Prefer plain language? See how Siyuan Code works, step by step →想看通俗讲解?逐步了解思源码是怎么工作的 →
From bits to bases, and back.从比特到碱基,再回来。
Binary data is mapped one-to-one to suitable DNA sequences via the bijective codebook.
二进制数据经双射码本一对一映射到可用 DNA 序列。
Strands are synthesized on a chemical chip, six physical copies each.
链在化学芯片上合成,每条 6 份物理拷贝。
Dried and stored without PCR — dense, cold, and durable for centuries.
无需 PCR 即可干燥封存——致密、低温、可保存数百年。
Read back via paired-end sequencing; ~510 passes per strand on average.
通过双端测序读回;平均每条链约 510 次测序通过。
Sequences map back to bits; Reed-Solomon corrects any remaining errors.
序列映射回比特;Reed-Solomon 纠错补齐剩余错误。
Denser, faster, and recovered perfectly.更密、更快、完美恢复。
Verified both in simulation and in the wet lab, by a third-party synthesis provider.
在仿真与湿实验中双重验证,并由第三方合成服务商完成。
Best density at the lowest error rate最低错误率下的最高密度
Benchmarked against Fountain, Rotation, and Yin-yang codes on the standard 2.04 MB corpus (a zip bomb, Kolibri OS, an SVG, a book, and a video).
在标准 2.04 MB 语料(zip 炸弹、Kolibri OS、一张 SVG、一本书、一段视频)上对标喷泉码、旋转码与阴阳码。
- Highest net density while keeping the lowest system error rate.
- Deterministic — never fails to encode, unlike Yin-yang (≈23% failure on small files).
- Encoding and decoding at ≈1 MB/s on commodity hardware.
- 在保持 最低系统错误率 的同时,实现最高净密度。
- 确定性——永不编码失败,而阴阳码在小文件上有约 23% 失败率。
- 在普通硬件上编解码速度 ≈1 MB/s。
41 EB/g — recovered with 6 copies41 EB/g —— 6 份拷贝即可恢复
A 30 KB compressed file (a logo, a “Hello World” program, an introduction text, an Atari video) encoded into 170-nt strands.
一个 30 KB 压缩文件(一张校徽图、一个 “Hello World” 程序、一段介绍文字、一段 Atari 视频)被编码进 170 nt 的链。
- 95.3% of strands sequenced correctly; 100% recovered with Reed-Solomon.
- Real-world physical density of 41 EB/g — one to two orders of magnitude beyond prior codes.
- Perfect retrieval from only 6 copies per strand.
- 95.3% 的链被正确测序;经 Reed-Solomon 后 100% 恢复。
- 真实物理密度 41 EB/g——比此前方法高出一到两个数量级。
- 每条链仅需 6 份拷贝 即可完美恢复。
One to two orders of magnitude ahead.领先一到两个数量级。
Physical density, in vitro (EB per gram)物理密度 · 湿实验(EB/克)
| Church et al. 2012 | Goldman et al. 2013 | Grass et al. 2015 | Fountain 2017 | Yin-yang 2022 | Aeon 2023 | DNAFormer 2025 | Siyuan Code | |
|---|---|---|---|---|---|---|---|---|
| Coding potential (bits/nt)编码潜力(bits/nt) | 1 | 1.58 | 1.78 | 1.98 | 1.95 | N/A | N/A | 2 |
| Net density (bits/nt)净密度(bits/nt) | 0.83 | 0.33 | 1.14 | 1.57 | N/A | 1.15 | 1.6 | 1.66 |
| Physical density (EB/g)物理密度(EB/g) | 0.00128 | 0.00225 | 0.025 | 0.214 | 2.25 | — | — | 41 |
| Max homopolymer (nt)最大同聚物(nt) | 3 | 1 | 3 | 4 | 4 | 3 | 4 | 2 |
| GC content (%)GC 含量(%) | 2.5–100 | 22.5–82.5 | 12.5–100 | 40–60 | 40–60 | 40–60 | 45–55 | 42.9–57.6 |
Code and data.代码与数据。
Everything is public and reproducible — the Python codec, the sequencing data, and the runnable capsules.
全部公开、可复现——Python 编解码器、测序数据、可运行的胶囊环境。
Cite this work.引用本文。
Li, J., Dong, M., Qi, Z. & Guan, H. Towards density-optimal DNA storage with practical bijective coding. Nat. Commun. (2026). https://doi.org/10.1038/s41467-026-77024-y