Nested Error Correction Codes for DNA Oligo Insertion-Deletion Errors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current error correction technologies for DNA data storage are inefficient and struggle to effectively handle insertion and deletion errors, limiting the reliability and efficiency of data retrieval from synthetic DNA oligos.
Innovation Solution
The implementation of nested error correction codes, which involve multiple levels of error correction codes applied to increasing codeword sizes, combined with preprocessing to correct insertion and deletion errors, enhances the reliability and efficiency of data retrieval from DNA oligo pools.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Reed-Solomon error correction codes are applied to individual oligos, then error correction capability is provided, but storage efficiency deteriorates due to the relatively short payload capacity of oligos
Solution Approach 1:
The patent divides the error correction problem into two segments: first applies Reed-Solomon codes at the oligo level for individual error correction, then applies a second error correction code at the pool level to correct errors that propagate across multiple oligos. This segmentation allows each code to operate optimally at its appropriate scale, improving overall storage efficiency while maintaining reliability.
Solution Approach 2:
The patent implements nested error correction by placing one error correction code within another hierarchy. The first error correction code operates on individual oligos, while the second error correction code operates on the aggregate pool level, with the first code's output becoming input to the second code. This nested structure enables efficient use of redundancy at multiple scales simultaneously.
2Reliability
If error correction codes are applied to DNA data storage, then data reliability is improved, but decoding complexity increases
Solution Approach 1:
The decoding process is segmented into two independent stages: first decode individual oligos using Reed-Solomon codes, then decode the pooled data using the second error correction code. This segmentation allows each decoding stage to be optimized independently and processed in parallel, reducing overall computational complexity compared to a single monolithic decoding system.
Solution Approach 2:
The patent applies partial error correction at the first level (individual oligos) and reserves additional correction capacity at the second level (pool level) to handle remaining errors. This partial action approach at each level prevents any single decoding stage from becoming overly complex, as each handles only a portion of the total error correction burden.
3Reliability
If multiple levels of error correction codes are applied to increasing codeword sizes, then data recovery is improved, but processing time increases
Solution Approach 1:
The processing is segmented into parallel independent streams: each oligo is decoded independently at the first level, and pool-level decoding operates on aggregated results. This segmentation enables parallel processing that reduces overall processing time compared to sequential multi-level decoding, while still achieving improved data recovery through the nested error correction structure.
Data Source
AI summary
Example systems and methods for using nested error correction codes for DNA data storage are described. A data unit may be encoded in a set of oligos. Using an error correction code, such as an LDPC code, a codeword may be determined for the data unit that is a multiple of the data payload capacity of each oligo. The codeword may be divided among the set of oligos, along with corresponding redundancy data. Any number of additional levels of nested error correction codes may be implemented by aggregating sets of smaller codewords into larger codewords and storing the corresponding redundancy data in the set of oligos. Each nested level may be aggregated from the set of oligos and decoded using the corresponding error correction code matrix and set of redundancy data as needed, such as in response to failure to decode codewords at a lower level.


