Methods and devices for storing information in molecules

By employing address and content codes to determine molecular modules for data storage in molecules, the method addresses integration challenges, reducing module complexity and enhancing efficiency and fault tolerance.

JP2025504348AActive Publication Date: 2025-02-12DIGICODON TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024539896
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-01-05
Filing Date
2022-03-08
Publication Date
2025-02-12
Estimated Expiration
2042-03-08

AI Technical Summary

Technical Problem

Conventional data storage methods using molecules, such as DNA, face challenges in integration with computer systems due to low write speed and high cost, limiting their performance and scalability.

Method used

A method for storing information in molecules involves using address and content codes to determine molecular modules, which are combined in sequence to represent initial information, reducing the number of required molecular modules and improving read/write efficiency through error correction and parallel assembly.

Benefits of technology

This approach significantly reduces the complexity and cost of molecular data storage by minimizing the number of molecular modules required, enhancing read and write efficiency, and improving fault tolerance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025504348000001_ABST
    Figure 2025504348000001_ABST
Patent Text Reader

Abstract

A method and device for storing information in molecules, the method includes: obtaining initial information to be stored and using a first address code and a first content code to represent the initial information (S100); recording each first address code respectively, and using the first recorded information with a first preset bit number and a first preset base to represent one respective first address code (S210); determining each molecular module according to the first content code and the first recorded information (S310); and combining the determined molecular modules in order so that the composition corresponds to the initial information (S400).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to China Patent Application Publication No. 202210009421.5, entitled "METHOD AND DEVEICE FOR STORING INFORMATION IN MOLECURE", filed on January 5, 2022, the disclosure of which is incorporated herein by reference in its entirety.

[0002] Technical Field

[0002] The present disclosure relates to the field of storage technologies, and in particular to methods and devices for storing information in molecules. [Background technology]

[0003] background

[0003] With the great development of information technology, people's demand for data storage is rapidly increasing. Traditional data storage media include hard disks, flash memories, magnetic tapes, optical disks, etc., which have problems such as low storage density, short storage time, and high energy consumption. In order to achieve higher storage density and more reliable storage effect, methods and devices related to storing information in molecules have been proposed at present. Taking data storage using DNA molecules as an example, its storage density can theoretically be 10 times that of traditional storage media. 6 ~10 72 times, reducing the cost of data storage operation and maintenance by several orders of magnitude. In addition, DNA is very stable, and data in DNA can be stored for more than a thousand years under dry and low temperature conditions. In addition, DNA storage also has great advantages over traditional storage modes in terms of carbon emissions and energy consumption, data security, portability, etc. However, there are still no suitable molecular storage-based methods and devices that can be integrated with computer systems in terms of performance such as writing speed and cost. For example, the writing speed and cost of storage methods based on DNA synthesis are several orders of magnitude behind traditional storage methods, and have great limitations. Therefore, it is necessary to improve existing molecular storage technologies. Summary of the Invention [Problem to be solved by the invention]

[0004] overview One object of the present disclosure is to provide methods and devices for storing information in molecules. [Means for solving the problem]

[0005] According to a first aspect of the present disclosure, there is provided a method for storing information in a molecule, the method comprising:

[0006] Obtaining initial information to be stored and representing the initial information using a first address code and a first content code, where each location in the initial information is represented by a first address code that corresponds one-to-one to the location, and the content at each location in the initial information is represented by a respective first content code;

[0007] recording each respective first address code to represent one respective first address code using the first recorded information together with a first preset number of bits and a first preset base;

[0008] determining each molecular module according to the first content code and the first recorded information;

[0009] combining the determined molecular modules in order such that the composition corresponds to the initial information; Includes.

[0006]

[0010] In some embodiments, obtaining the initial information to be stored and representing the initial information using the first address code and the first content code includes:

[0011] Obtaining initial information,

[0012] determining a number of unit bits of content at a position in the initial information corresponding to one first address code, the number of unit bits of content at each position in the initial information being equal to each other;

[0013] When the total number of bits of the initial information is an integer multiple of the number of unit bits, dividing the initial information into one or more initial information fragments;

[0014] if the total number of bits of the initial information is not an integer multiple of the number of unit bits, padding the initial information and dividing the padded initial information into one or more initial information fragments such that the total number of bits of the resulting padded initial information is an integer multiple of the number of unit bits. Including,

[0015] The number of bits in each initial information fragment is the unit number of bits.

[0007]

[0016] In some embodiments, padding the initial information comprises:

[0017] This includes supplementing the initial information with placeholder content, where the placeholder content and the non-placeholder content in the initial information each correspond to a different molecular module.

[0008]

[0018] The initial information further includes error correction content.

[0009]

[0019] In some embodiments, the sum of the first preset number of bits and the first preset base is less than a maximum possible genus of different values ​​of the first address code; and

[0020] The first preset base to the first preset bit number power is greater than the maximum possible genus of different values ​​of the first address code.

[0010]

[0021] In some embodiments, determining each molecular module according to the first content code and the first recorded information comprises:

[0022] Determining distinct molecular modules for the first content code and the first recorded information, respectively.

[0011]

[0023] In some embodiments, determining each molecular module according to the first content code and the first recorded information comprises:

[0024] determining different molecular modules for the contents on different bits in the first recorded information respectively;

[0025] respectively determining different molecular modules for different contents on the same bit in the first recorded information; Includes.

[0012]

[0026] In some embodiments, determining each molecular module according to the first content code and the first recorded information comprises:

[0027] for each first record information, representing the first record information using a second address code and a second content code, where each location in the first record information is represented by a second address code having a one-to-one correspondence with the location, and the content at each location in the first record information is represented by a respective second content code;

[0028] determining each molecular module according to the first content code, the second address code, and the second content code; Includes.

[0013]

[0029] In some embodiments, determining the respective molecular modules according to the first content code, the second address code, and the second content code includes:

[0030] Determining distinct molecular modules for the first content code, the second address code, and the second content code, respectively.

[0014]

[0031] In some embodiments, determining the respective molecular modules according to the first content code, the second address code, and the second content code includes:

[0032] determining different molecular modules for first content codes having different values, respectively; or

[0033] determining different molecular modules for second address codes having different values, respectively; or

[0034] determining different molecular modules for second content codes having different values, respectively; Includes.

[0015]

[0035] In some embodiments, determining the respective molecular modules according to the first content code, the second address code, and the second content code includes:

[0036] When the first content code has Nc1 different values, determining different molecular modules for the first content codes having (Nc1-1) different values, respectively, and making the first content code having one remaining value not correspond to any molecular module; or

[0037] When the second address code has Na2 different values, determining different molecular modules for the second address codes having (Na2-1) different values ​​respectively, and making the second address code having one remaining value not correspond to any molecular module; or

[0038] When the second content code has Nc2 different values, determining different molecular modules for the second content codes having (Nc2-1) different values ​​respectively, and making sure that the second content code having one remaining value does not correspond to any molecular module. Includes.

[0016]

[0039] In some embodiments, determining the respective molecular modules according to the first content code, the second address code, and the second content code includes:

[0040] Determining a different molecular module for each of two different value combinations of the first content code, the second address code, and the second content code.

[0017]

[0041] In some embodiments, determining the respective molecular modules according to the first content code, the second address code, and the second content code includes:

[0042] Determining different molecule modules for different combinations of values ​​of the second address code and the second content code, respectively.

[0018]

[0043] In some embodiments, determining the respective molecular modules according to the first content code, the second address code, and the second content code includes:

[0044] When the combination of the second address code and the second content code has Nac2 distinct values, determining different molecular modules for each combination of the second address code and the second content code having (Nac2-1) distinct values, and ensuring that the combination of the second address code and the second content code having one remaining value does not correspond to any molecular module.

[0019]

[0045] In some embodiments, combining the determined molecular modules in order such that the composition corresponds to the initial information comprises:

[0046] forming terminals at the connection ends of the determined molecular modules in a predetermined order;

[0047] mixing the formed molecular modules with their respective ends to generate a composition corresponding to the initial information; Includes.

[0020]

[0048] In some embodiments, the molecular fragments that function as termini are part of the respective molecular modules, or

[0049] Molecular fragments that serve as termini are added to each molecular module after the molecular module has been determined.

[0021]

[0050] In some embodiments, mixing the formed molecular modules with their respective ends to generate a composition corresponding to the initial information comprises:

[0051] combining the determined molecular modules in sequence using a ligase;

[0052] Combining the determined molecular modules in sequence using linkers located at the ends of the molecular modules; or

[0053] Assembling the determined molecular modules in sequence using the polymerase chain reaction Includes at least one of the following.

[0022]

[0054] In some embodiments, the molecular module comprises at least one of a deoxyribonucleic acid, a ribonucleic acid, a peptide, an organic polymer, an organic small molecule, a non-naturally occurring nucleotide, a modified nucleotide, an artificially synthesized nucleotide, a carbon nanomaterial, an inorganic material, or a spaced molecular fragment.

[0023]

[0055] In some embodiments, the various molecular modules are distinguished using at least one of their sequence distribution, sequence length, secondary structure, crystalline or amorphous nature, or morphology.

[0024]

[0056] In some embodiments, the edit distance between different molecular modules is greater than or equal to a pre-set distance threshold.

[0025]

[0057] According to a second aspect of the present disclosure, there is provided a method for storing information in a molecule, the method comprising:

[0058] Obtaining initial information to be stored and representing the initial information using a first address code and a first content code, where each location in the initial information is represented by a first address code that corresponds one-to-one to the location, and the content at each location in the initial information is represented by a respective first content code;

[0059] recording each respective first content code to represent one respective first content code using second recorded information together with a second preset number of bits and a second preset base;

[0060] determining each molecular module according to the first address code and the second recorded information;

[0061] combining the determined molecular modules in order such that the composition corresponds to the initial information; Includes.

[0026]

[0062] In some embodiments, obtaining the initial information to be stored and representing the initial information using the first address code and the first content code includes:

[0063] Obtaining initial information,

[0064] determining a number of unit bits of content at a position in the initial information corresponding to one first address code, the number of unit bits of content at each position in the initial information being equal to each other;

[0065] When the total number of bits of the initial information is an integer multiple of the number of unit bits, dividing the initial information into one or more initial information fragments;

[0066] if the total number of bits of the initial information is not an integer multiple of the number of unit bits, padding the initial information and dividing the padded initial information into one or more initial information fragments such that the total number of bits of the resulting padded initial information is an integer multiple of the number of unit bits. Including,

[0067] The number of bits in each initial information fragment is the unit number of bits.

[0027]

[0068] In some embodiments, padding the initial information comprises:

[0069] This includes supplementing the initial information with placeholder content, where the placeholder content and the non-placeholder content in the initial information each correspond to a different molecular module.

[0028]

[0070] In some embodiments, the initial information further includes error correction content.

[0029]

[0071] In some embodiments, the sum of the second preset number of bits and the second preset base is less than a maximum possible genus of different values ​​of the first content code; and

[0072] The second preset base to the second preset bit number power is greater than the maximum possible genus of different values ​​of the first content code.

[0030]

[0073] In some embodiments, determining each molecular module according to the first address code and the second recorded information comprises:

[0074] Determining different molecular modules for the first address code and the second recorded information, respectively.

[0031]

[0075] In some embodiments, determining each molecular module according to the first address code and the second recorded information comprises:

[0076] determining different molecular modules for the contents on different bits in the second recorded information respectively;

[0077] determining different molecular modules for different contents on the same bit in the second recorded information respectively; Includes.

[0032]

[0078] In some embodiments, determining each molecular module according to the first address code and the second recorded information comprises:

[0079] for each second record information, representing the second record information using a third address code and a third content code, where each location in the second record information is represented by a third address code having a one-to-one correspondence with the location, and the content at each location in the second record information is represented by a respective third content code;

[0080] determining each molecular module according to the first address code, the third address code, and the third content code; Includes.

[0033]

[0081] In some embodiments, determining the respective molecular modules according to the first address code, the third address code, and the third content code comprises:

[0082] Determining distinct molecular modules for the first address code, the third address code, and the third content code, respectively.

[0034]

[0083] In some embodiments, determining the respective molecular modules according to the first address code, the third address code, and the third content code comprises:

[0084] determining different molecular modules for the first address codes having different values, respectively; or

[0085] determining different molecular modules for third address codes having different values, respectively; or

[0086] determining different molecular modules for third content codes having different values, respectively; Includes.

[0035]

[0087] In some embodiments, determining the respective molecular modules according to the first address code, the third address code, and the third content code comprises:

[0088] When the first address code has Na1 different values, determining different molecular modules for the first address codes having (Na1-1) different values ​​respectively, and making the first address code having one remaining value not correspond to any molecular module; or

[0089] When the third address code has Na3 different values, determining different molecular modules for the third address codes having (Na3-1) different values ​​respectively, and making the third address code having one remaining value not correspond to any molecular module; or

[0090] When the third content code has Nc3 different values, determining different molecular modules for the third content code having (Nc3-1) different values ​​respectively, and making sure that the third content code having one remaining value does not correspond to any molecular module. Includes.

[0036]

[0091] In some embodiments, determining the respective molecular modules according to the first address code, the third address code, and the third content code comprises:

[0092] determining different molecular modules for combinations of two different values ​​of the first address code, the third address code and the third content code, respectively;

[0037]

[0093] In some embodiments, determining the respective molecular modules according to the first address code, the third address code, and the third content code comprises:

[0094] Determining different molecular modules for different combinations of values ​​of the third address code and the third content code, respectively.

[0038]

[0095] In some embodiments, determining the respective molecular modules according to the first address code, the third address code, and the third content code comprises:

[0096] When the combination of the third address code and the third content code has Nac3 distinct values, determining different molecular modules for each combination of the third address code and the third content code having (Nac3-1) distinct values, and ensuring that the combination of the third address code and the third content code having one remaining value does not correspond to any molecular module.

[0039]

[0097] In some embodiments, combining the determined molecular modules in order such that the composition corresponds to the initial information comprises:

[0098] forming terminals at the connection ends of the determined molecular modules in a predetermined order;

[0099] mixing the formed molecular modules with their respective ends to generate a composition corresponding to the initial information; Includes.

[0040]

[0100] In some embodiments, the molecular fragments that function as termini are part of the respective molecular modules, or

[0101] Molecular fragments that serve as termini are added to each molecular module after the molecular module has been determined.

[0041]

[0102] In some embodiments, mixing the formed molecular modules with their respective ends to generate a composition corresponding to the initial information comprises:

[0103] combining the determined molecular modules in sequence using a ligase;

[0104] Combining the determined molecular modules in sequence using linkers located at the ends of the molecular modules; or

[0105] Assembling the determined molecular modules in sequence using the polymerase chain reaction Includes at least one of the following.

[0042]

[0106] In some embodiments, the molecular module comprises at least one of a deoxyribonucleic acid, a ribonucleic acid, a peptide, an organic polymer, an organic small molecule, a non-naturally occurring nucleotide, a modified nucleotide, an artificially synthesized nucleotide, a carbon nanomaterial, an inorganic material, or a spaced molecular fragment.

[0043]

[0107] In some embodiments, the various molecular modules are distinguished using at least one of their sequence distribution, sequence length, secondary structure, crystalline or amorphous nature, or morphology.

[0044]

[0108] The edit distance between different molecular modules is greater than or equal to a pre-set distance threshold.

[0045]

[0109] According to a third aspect of the present disclosure, there is provided a method for storing information in a molecule, the method comprising:

[0110] Obtaining initial information to be stored and representing the initial information using a first address code and a first content code, where each location in the initial information is represented by a first address code that corresponds one-to-one to the location, and the content at each location in the initial information is represented by a respective first content code;

[0111] recording each first address code and each first content code, respectively, to represent one respective first address code using the first recorded information together with a first preset number of bits and a first preset radix, and to represent one respective first content code using the second recorded information together with a second preset number of bits and a second preset radix;

[0112] determining each molecular module according to the first recorded information and the second recorded information;

[0113] combining the determined molecular modules in order such that the composition corresponds to the initial information; Includes.

[0046]

[0114] In some embodiments, obtaining the initial information to be stored and representing the initial information using the first address code and the first content code includes:

[0115] Obtaining initial information,

[0116] determining a number of unit bits of content at a position in the initial information corresponding to one first address code, the number of unit bits of content at each position in the initial information being equal to each other;

[0117] When the total number of bits of the initial information is an integer multiple of the number of unit bits, dividing the initial information into one or more initial information fragments;

[0118] if the total number of bits of the initial information is not an integer multiple of the number of unit bits, padding the initial information and dividing the padded initial information into one or more initial information fragments such that the total number of bits of the resulting padded initial information is an integer multiple of the number of unit bits. Including,

[0119] The number of bits in each initial information fragment is the unit number of bits.

[0047]

[0120] In some embodiments, padding the initial information comprises:

[0121] This includes supplementing the initial information with placeholder content, where the placeholder content and the non-placeholder content in the initial information each correspond to a different molecular module.

[0048]

[0122] In some embodiments, the initial information further includes error correction content.

[0049]

[0123] In some embodiments, the sum of the first preset number of bits and the first preset base is less than a maximum possible number of different values ​​of the first address code, and the sum of the second preset number of bits and the second preset base is less than a maximum possible number of different values ​​of the first content code; and

[0124] The first preset base raised to a first preset bit number power is greater than the maximum possible genus of different values ​​of the first address code, and the second preset base raised to a second preset bit number power is greater than the maximum possible genus of different values ​​of the first content code.

[0050]

[0125] In some embodiments, determining the respective molecular modules according to the first recorded information and the second recorded information comprises:

[0126] Determining distinct molecular modules for the first recorded information and the second recorded information, respectively.

[0051]

[0127] In some embodiments, determining the respective molecular modules according to the first recorded information and the second recorded information comprises:

[0128] determining different molecular modules for content on different bits in the first recorded information, respectively, and determining different molecular modules for different content on the same bit in the first recorded information, respectively; and / or

[0129] determining different molecular modules for content on different bits in the second recorded information, respectively; and determining different molecular modules for different content on the same bit in the second recorded information, respectively. Includes.

[0052]

[0130] In some embodiments, determining the respective molecular modules according to the first recorded information and the second recorded information comprises:

[0131] for each first record information, representing the first record information using a second address code and a second content code, where each location in the first record information is represented by a second address code that corresponds one-to-one to the location, and the content at each location in the first record information is represented by a respective second content code; and

[0132] determining each molecular module according to the second address code and the second content code; and / or

[0133] for each second record information, representing the second record information using a third address code and a third content code, where each location in the second record information is represented by a third address code that corresponds one-to-one to the location, and the content at each location in the second record information is represented by a respective third content code; and

[0134] determining each molecular module according to the third address code and the third content code; Includes.

[0053]

[0135] In some embodiments, determining the respective molecular modules according to the first recorded information and the second recorded information comprises:

[0136] Determining distinct molecular modules for the second address code, the second content code, the third address code and the third content code, respectively.

[0054]

[0137] In some embodiments, determining the respective molecular modules according to the first recorded information and the second recorded information comprises:

[0138] determining different molecular modules for second address codes having different values, respectively; or

[0139] determining different molecular modules for second content codes having different values, respectively; or

[0140] determining different molecular modules for third address codes having different values, respectively; or

[0141] determining different molecular modules for third content codes having different values, respectively; Includes.

[0055]

[0142] In some embodiments, determining the respective molecular modules according to the first recorded information and the second recorded information comprises:

[0143] When the second address code has Na2 different values, determining different molecular modules for the second address codes having (Na2-1) different values ​​respectively, and making the second address code having one remaining value not correspond to any molecular module; or

[0144] When the second content code has Nc2 different values, determining different molecular modules for the second content codes having (Nc2-1) different values, respectively, and making the second content code having one remaining value not correspond to any molecular module; or

[0145] When the third address code has Na3 different values, determining different molecular modules for the third address codes having (Na3-1) different values ​​respectively, and making the third address code having one remaining value not correspond to any molecular module; or

[0146] When the third content code has Nc3 different values, determining different molecular modules for the third content code having (Nc3-1) different values ​​respectively, and making sure that the third content code having one remaining value does not correspond to any molecular module. Includes.

[0056]

[0147] In some embodiments, determining the respective molecular modules according to the first recorded information and the second recorded information comprises:

[0148] Determining different molecular modules for combinations of two or three different values ​​of the second address code, the second content code, the third address code and the third content code, respectively.

[0057]

[0149] In some embodiments, determining the respective molecular modules according to the first recorded information and the second recorded information comprises:

[0150] determining different molecular modules for different value combinations of the second address code and the second content code, respectively; or

[0151] determining different molecular modules for different combinations of values ​​of the third address code and the third content code, respectively; Includes.

[0058]

[0152] In some embodiments, determining the respective molecular modules according to the first recorded information and the second recorded information comprises:

[0153] Determining different molecular modules for combinations of second address codes and second content codes having (Nac2-1) different values ​​when the combinations of second address codes and second content codes have Nac2 different values, respectively, and determining that combinations of second address codes and second content codes having one remaining value do not correspond to any molecular modules; or

[0154] When the combination of the third address code and the third content code has Nac3 different values, respectively determine different molecular modules for the combination of the third address code and the third content code having (Nac3-1) different values, and ensure that the combination of the third address code and the third content code having one remaining value does not correspond to any molecular module. Includes.

[0059]

[0155] In some embodiments, combining the determined molecular modules in order such that the composition corresponds to the initial information comprises:

[0156] forming terminals at the connection ends of the determined molecular modules in a predetermined order;

[0157] mixing the formed molecular modules with their respective ends to generate a composition corresponding to the initial information; Includes.

[0060]

[0158] In some embodiments, the molecular fragments that function as termini are part of the respective molecular modules, or

[0159] Molecular fragments that serve as termini are added to each molecular module after the molecular module has been determined.

[0061]

[0160] In some embodiments, mixing the formed molecular modules with their respective ends to generate a composition corresponding to the initial information comprises:

[0161] combining the determined molecular modules in sequence using a ligase;

[0162] Combining the determined molecular modules in sequence using linkers located at the ends of the molecular modules; or

[0163] Assembling the determined molecular modules in sequence using the polymerase chain reaction Includes at least one of the following.

[0062]

[0164] In some embodiments, the molecular module comprises at least one of a deoxyribonucleic acid, a ribonucleic acid, a peptide, an organic polymer, an organic small molecule, a non-naturally occurring nucleotide, a modified nucleotide, an artificially synthesized nucleotide, a carbon nanomaterial, an inorganic material, or a spaced molecular fragment.

[0063]

[0165] In some embodiments, the various molecular modules are distinguished using at least one of their sequence distribution, sequence length, secondary structure, crystalline or amorphous nature, or morphology.

[0064]

[0166] In some embodiments, the edit distance between different molecular modules is greater than or equal to a pre-set distance threshold.

[0065]

[0167] According to a fourth aspect of the present disclosure, there is provided a device for storing information in molecules, the device comprising:

[0168] an acquisition unit configured to acquire the initial information to be stored;

[0169] A coding unit,

[0170] an operation of representing initial information using first address codes and first content codes, wherein each location in the initial information is represented by a first address code that corresponds one-to-one to that location, and the content at each location in the initial information is represented by a respective first content code;

[0171] an operation of recording each respective first address code to represent one respective first address code using the first recorded information together with a first preset number of bits and a first preset radix; and

[0172] determining each molecular module according to the first content code and the first recorded information; A coding unit configured to perform Includes.

[0066]

[0173] In some embodiments, the device comprises:

[0174] The system further includes a writer unit configured to combine the determined molecular modules in a sequence such that the composition corresponds to the initial information.

[0067]

[0175] According to a fifth aspect of the present disclosure, there is provided a device for storing information in molecules, the device comprising:

[0176] an acquisition unit configured to acquire the initial information to be stored;

[0177] A coding unit,

[0178] an operation of representing initial information using first address codes and first content codes, wherein each location in the initial information is represented by a first address code that corresponds one-to-one to that location, and the content at each location in the initial information is represented by a respective first content code;

[0179] an operation of recording each respective first content code to represent one respective first content code using second recorded information together with a second preset number of bits and a second preset radix; and

[0180] determining each molecular module according to the first address code and the second recorded information; A coding unit configured to perform Includes.

[0068]

[0181] In some embodiments, the device comprises:

[0182] The system further includes a writer unit configured to combine the determined molecular modules in a sequence such that the composition corresponds to the initial information.

[0069]

[0183] According to a sixth aspect of the present disclosure, there is provided a device for storing information in molecules, the device comprising:

[0184] an acquisition unit configured to acquire the initial information to be stored;

[0185] A coding unit,

[0186] an operation of representing initial information using first address codes and first content codes, wherein each location in the initial information is represented by a first address code that corresponds one-to-one to that location, and the content at each location in the initial information is represented by a respective first content code;

[0187] an operation of recording each first address code and each first content code, respectively, to represent one respective first address code using the first recorded information with a first preset number of bits and a first preset radix, and to represent one respective first content code using the second recorded information with a second preset number of bits and a second preset radix;

[0188] determining each molecular module according to the first recorded information and the second recorded information; A coding unit configured to perform Includes.

[0070]

[0189] In some embodiments, the device comprises:

[0190] The system further includes a writer unit configured to combine the determined molecular modules in a sequence such that the composition corresponds to the initial information.

[0071]

[0191] Other features and advantages of the present disclosure will become more apparent from the following detailed description of exemplary embodiments thereof, which refer to the accompanying drawings.

[0072] BRIEF DESCRIPTION OF THE DRAWINGS

[0192] The accompanying drawings constitute a part of this specification, illustrate embodiments of the present disclosure, and together with the description serve to explain the principles of the disclosure.

[0073]

[0193] The present disclosure can be more clearly understood from the following detailed description, taken in conjunction with the accompanying drawings, in which: [Brief description of the drawings]

[0074] [Figure 1]

[0194] 1 shows a memory format for storing information in molecules. [Diagram 2]

[0195] 1 shows a schematic flow chart of a method for storing information in molecules, according to an exemplary embodiment of the present disclosure. [Diagram 3]

[0196] 1 shows a schematic flow chart of step S100 of a method for storing information in molecules according to an exemplary embodiment of the present disclosure. [Figure 4]

[0197] In certain examples of the present disclosure, a storage format for storing information in molecules is shown. [Diagram 5]

[0198] In another particular example of the present disclosure, a storage format for storing information in molecules is shown. [Figure 6]

[0199] 1 shows a schematic flow chart of a method for storing information in molecules according to another exemplary embodiment of the present disclosure. [Figure 7]

[0200] 1 shows a schematic flow chart of a method for storing information in molecules according to yet another exemplary embodiment of the present disclosure. [Figure 8]

[0201] FIG. 1 shows a schematic diagram of a binding molecule module according to a first specific example of the present disclosure. [Figure 9]

[0202] FIG. 1 shows a schematic diagram of a binding molecule module according to a second specific example of the present disclosure. [Figure 10]

[0203] 1 shows a schematic diagram of a binding molecule module according to a third specific example of the present disclosure. [Figure 11]

[0204] 1 shows a schematic diagram of a binding molecule module according to a fourth specific example of the present disclosure. [Figure 12]

[0205] 1 shows a schematic diagram of a binding molecule module according to a fifth specific example of the present disclosure. [Figure 13]

[0206] 1 shows a schematic diagram of a binding molecule module according to a fifth specific example of the present disclosure. [Figure 14]

[0207] 1 shows a schematic diagram of a binding molecule module according to a sixth specific example of the present disclosure. [Figure 15]

[0208] FIG. 1 shows a block diagram of a device for storing information in molecules, according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0075]

[0209] In the following implementations, it should be noted that the same reference numerals may be commonly used among different drawings to represent the same parts or parts having the same functions, and the repetition of the description thereof will be omitted. In some cases, similar numbers and letters are used to refer to similar articles when the articles are defined in the drawings, so that further discussion in the subsequent drawings is not necessary.

[0076]

[0210] For ease of understanding, the positions, dimensions, ranges, etc. of various structures shown in the drawings, etc. do not represent actual positions, dimensions, ranges, etc. Therefore, the present disclosure is not limited to the positions, dimensions, ranges, etc. disclosed in the drawings, etc.

[0077] Detailed Description

[0211] Various exemplary embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. It should be noted that the relative arrangement of components and steps described in these embodiments, numerical expressions and numerical values ​​do not limit the scope of the present disclosure unless otherwise specified.

[0078]

[0212] The following description of at least one exemplary embodiment is merely exemplary in nature and is not intended to limit the present disclosure or its application or uses in any way. That is, the structures and methods herein are presented as examples to illustrate different embodiments of the structures and methods in the present disclosure. However, those skilled in the art will appreciate that they are merely illustrative of example ways in which the present disclosure may be practiced, instead of being exhaustive. Moreover, the drawings are not necessarily drawn to scale, and some features may be exaggerated to show details of particular components.

[0079]

[0213] Techniques, methods and devices known to those skilled in the art may not be discussed in detail, and, where appropriate, such techniques, methods and devices should not be considered as part of this accepted specification.

[0080]

[0214] In all examples shown and discussed herein, any particular values ​​should be construed as examples only and not as limitations, and thus other examples of example embodiments may have different values.

[0081]

[0215] In molecular storage technology, different molecular modules can be used to represent different contents of information to be stored, and the complete information to be stored can be represented by combining or combining these molecular modules. For example, for the binary information shown in Table 1 below, it is a total of 10 10 The value of the content on each bit can be 0 or 1. Thus, two different molecular modules can be used to represent the content 0 and the content 1, respectively. 10 The different molecular modules are 10 ) molecular modules according to predefined rules. 10 Each of the small rectangular boxes may be used to represent a single address, and the information shown in Table 1 may be represented in the form of a memory as shown in FIG. 1, with each small rectangular box representing a type of molecular module.

[0082]

[0216] [Table 1]

[0083]

[0217] However, the 10 10 It can be understood that a molecular module library formed by molecular modules of different orders of magnitude becomes very large and very difficult to implement, and it is also very difficult to synthesize or combine these molecular modules, making it very difficult to write information into molecules. In addition, when reading information, it is necessary to read the information in a manner that is 10 times larger than the conventional method. 10 This can involve analyzing and identifying molecular modules that are orders of magnitude different, which is also very challenging.

[0084]

[0218] In order to solve the above problems, the present disclosure proposes a method for storing information in molecules. By recording the initial information to be stored, the number of species of molecular modules required is greatly reduced, thereby reducing the difficulty of reading and writing, and improving the efficiency of reading and writing. As shown in Figures 2, 6 and 7, in an exemplary embodiment of the present disclosure, the method includes:

[0219] Step S100 may include obtaining initial information to be stored, and using a first address code and a first content code to represent the initial information.

[0085]

[0220] The initial information may include various forms of information, such as text information, picture information, audio information or video information. In information technology, the above various forms of information may be conveniently converted into, for example, binary coding, etc. In the following, the technical solution of the present disclosure will be described in detail by taking the initial information being binary coding information as an example. However, it can be understood that the initial information may be information coded in other bases as required.

[0086]

[0221] In addition, in some embodiments, the initial information may further include preset error correction content. For example, the error correction function may be achieved by introducing a linear erasure code (e.g., RS code) into the original information as error correction content. The linear erasure code may be calculated based on the original information. In a specific example, assuming that the original information is "110111101", in the calculation manner, the generated linear erasure code is "010", and the initial information including the error correction content can be represented as "110111101010", and the calculated linear erasure code "010" is added to the end of the original information. It may be understood that the error correction content may also be included in other ways and added to another position relative to the original information, which is not limited in this specification.

[0087]

[0222] Further, the retrieved initial information may be represented using a first address code and a first content code, and each location in the initial information may be represented by a first address code that corresponds one-to-one to that location, and the content at each location in the initial information may be represented by each of the first content codes.

[0088]

[0223] In some embodiments, as shown in FIG. 3, obtaining the initial information to be stored and representing the initial information using a first address code and a first content code includes:

[0224] Step S101: Obtaining initial information;

[0225] Step S102: Identifying a unit bit number of content at one position in the initial information corresponding to one first address code;

[0226] step S103: when the total number of bits of the initial information is an integer multiple of the number of unit bits, dividing the initial information into one or more initial information fragments;

[0227] Step S104: If the total number of bits of the initial information is not an integer multiple of the number of unit bits, padding the initial information, and dividing the padded initial information into one or more initial information fragments, such that the total number of bits of the resulting padded initial information is an integer multiple of the number of unit bits. Includes.

[0089]

[0228] The number of unit bits of content at each position in the initial information is equal to each other, and the number of bits of each initial information fragment is the unit bit number, that is, when the initial information is represented using a first address code and a first content code, the initial information is divided into one or more initial information fragments each having a unit bit number, and each initial information fragment is given each of the first address code and the first content code for subsequent processing.

[0090]

[0229] When the total number of bits of the initial information is not an integer multiple of the number of unit bits, placeholder content can be supplemented to the initial information, and the placeholder content and non-placeholder content in the initial information can correspond to different molecular modules. In particular, the placeholder content can be supplemented at one or more locations at the beginning, end, and center of the initial information (in some embodiments, the placeholder content can be represented using "0". However, it should be noted that the "0" for padding is different from the original "0" in the initial information, and thus different molecular modules are used to represent these two different "0". In this specification, the "0" as the placeholder content is underlined). Since the placeholder content and non-placeholder content in the initial information correspond to different molecular modules, they can be easily distinguished when reading the information. For example, if the initial information is "1001100010110001" and the number of unit bits is 3, i.e., if the total number of bits of the initial information, 16, is not an integer multiple of the number of unit bits 3, then the placeholder content may be added to the beginning of the initial information, and the resulting padded initial information may be "

number

number

[0091]

[0230] The number of unit bits or, in other words, different ways of dividing the initial information can be determined as needed. For example, if the initial information is "1001100010110001", it can be divided into different initial information fragments as shown in Tables 2 to 8 below.

[0092]

[0231] [Table 2]

[0093]

[0232] In the specific example shown in Table 2, the number of unit bits of the initial information fragment is 1. The first address code may include a total of 16 types: "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", and "15", and the first content code may include a total of 2 types: "0" and "1".

[0094]

[0233] [Table 3]

[0095]

[0234] In the specific example shown in Table 3, the number of unit bits of the initial information fragment is 2. The first address code may include a total of eight types: "0", "1", "2", "3", "4", "5", "6", and "7", and the first content code may include a total of four types: "00", "01", "10", and "11".

[0096]

[0235] [Table 4]

[0097]

[0236] [Table 5]

[0098]

[0237] In the specific example shown in Tables 4 and 5, the unit bit number of the initial information fragment is 3. Since the total bit number of the initial information is not an integer multiple of the unit bit number, in Table 4, two "0" are supplemented at the beginning of the initial information as placeholder content, so that the total bit number of the resulting padded initial information is an integer multiple of the unit bit number, facilitating division. The first address code may include a total of six types: "0", "1", "2", "3", "4" and "5", and each of the first content codes may include a total of four types: "001", "010", "100" and "110". In addition, when other specific initial information is represented in this way, the first content code may further include one or more of "000", "011", "101" and "111".

[0099]

[0238] In addition, as shown in Table 5, the total number of bits of the padded initial information can be made an integer multiple of the unit bit number by adding placeholder content to the end of the initial information.

number

[0100]

[0239] [Table 6]

[0101]

[0240] In the specific example shown in Table 6, the number of unit bits of the initial information fragment is 4. The first address code may include a total of four types: "0", "1", "2" and "3", and each of the first content codes may include "1001", "1000", "1011" and "0001". It may be understood that in other specific examples, the first content codes may also be other 4-bit binary numbers not listed herein.

[0102]

[0241] [Table 7]

[0103]

[0242] In the specific example shown in Table 7, the number of unit bits of the initial information fragment is 8. The first address code may include a total of two types: "0" and "1", and each of the first content codes may include "10011000" and "10110001". It may be understood that in other specific examples, the first content codes may also be other 8-bit binary numbers not listed herein.

[0104]

[0243] [Table 8]

[0105]

[0244] In the specific example shown in Table 8, the number of unit bits of the initial information fragment is 16. The first address code may include a total of one type "0", and each of the first content codes may include "1001100010110001". It may be understood that in other specific examples, the first content codes may also be other 16-bit binary numbers not listed herein.

[0106]

[0245] In addition, the first address code and the first content code may alternatively be converted to other number bases, such as the octal number system, the decimal number system, the hexadecimal number system, and the like.

[0107]

[0246] Returning to FIG. 2 , in one exemplary embodiment of the present disclosure, a method for storing information in a molecule includes:

[0247] Step S210: respectively recording each first address code, and using the first recording information together with a first preset bit number and a first preset base to represent one each first address code;

[0248] Step S310: Determining each molecular module according to the first content code and the first record information. It may further include.

[0108]

[0249] In some embodiments, the sum of the first preset number of bits B1 and the first preset base S1 (B1+S1) may be less than the maximum possible genus of different values ​​of the first address code, thereby effectively reducing the total number of molecular modules required to characterize the first address code. Furthermore, the sum of the first preset base to the first preset number of bits (S1 B1 ) may be greater than the maximum possible number of different values ​​of the first address code of the initial information, so that the first recorded information is able to represent all first address codes that may be seen to ensure the reliability of the encoding.

[0109]

[0250] For example, using the first recorded information of a 3-bit binary number, 5 (i.e., 3+2) different molecular modules are stored in total, making 8 (i.e., 2 3 ) different first address codes, and using the 4-bit binary first recording information, 6 (i.e., 4+2) different molecular modules can be used to represent a total of 16 (i.e., 2 4 ) different first address codes, and using the 5-bit binary first recording information, 7 (i.e., 5+2) different molecular modules can be used to represent a total of 32 (i.e., 2 5 ) different first address codes, and 8 (i.e., 5+3) different molecular modules can be represented in total using the 5-bit ternary first recording information, for a total of 243 (i.e., 3 5) different first address codes, and 20 (i.e., 10+10) different molecular modules can be represented using the 10-bit decimal first recorded information, for a total of 10 10 different first address codes. As can be seen, if the number of first address codes that need to be represented grows exponentially through the recording, the number of molecular modules only needs to grow linearly, thus greatly reducing the types of molecular modules that are required.

[0110]

[0251] Further, each molecular module may be determined based on the first content code and the first record information. In particular, different molecular modules may be determined for the first content code and the first record information, respectively.

[0111]

[0252] In some embodiments, when determining each molecular module for the first recorded information, different molecular modules may be determined for the contents on different bits in the first recorded information, and different molecular modules may be determined for the different contents on the same bit in the first recorded information. Note that in such embodiments, for the same content at different positions in the first recorded information, it will be represented using different molecular modules to include position information in the molecular module, thereby distinguishing the same content at different positions.

[0112]

[0253] For example, in a particular example, if the initial information obtained is "10011000", this may be represented in the form shown in Table 9 below, as described above.

[0113]

[0254] [Table 9]

[0114]

[0255] Furthermore, each of the internal first address codes can be recorded in the first recording information of a 3-bit binary number as shown in Table 10 below.

[0115]

[0256] [Table 10]

[0116]

[0257] Thus, molecular module A1 and molecular module A2 can be used to represent two different first content codes "0" and "1", respectively, molecular module B1 and molecular module B2 can be used to represent "0" and "1" on the first bit in the first record information, molecular module B3 and molecular module B4 can be used to represent "0" and "1" on the second bit in the first record information, respectively, molecular module B5 and molecular module B6 can be used to represent "0" and "1" on the third bit in the first record information, respectively, and molecular modules A1, A2, B1, B2, B3, B4, B5 and B6 are molecules or molecular fragments and are different from each other. Therefore, a total of eight different molecular modules are needed to represent the initial information of an 8-bit binary number. As can be seen, molecular modules B1, B3 and B5 all represent "0", but they are different from each other because they represent "0" at different positions in the first record information and distinguish "0" at different positions. Similarly, molecular modules B2, B4 and B6, which represent "1" at different positions, are also different from each other.

[0117]

[0258] In a specific example, the storage form obtained after the combination is as shown in FIG. 4. Taking the first row as an example, the first to fourth molecular modules from left to right respectively represent the first content code "1" on the first bit in the initial information, the "0" on the first bit in the first recorded information of the first address code, the "0" on the second bit in the first recorded information of the first address code, and the "0" on the third bit in the first recorded information of the first address code. Similarly, the first chain in the first row corresponds to the "1" on the first bit in the initial information "10011000", the second chain in the second row corresponds to the "0" on the second bit in the initial information "10011000", the third chain in the third row corresponds to the "0" on the third bit in the initial information "10011000", and the fourth chain in the fourth row corresponds to the "1" on the fourth bit in the initial information "10011000". , the fifth chain in the fifth row corresponds to a "1" on the fifth bit in the initial information "10011000", the sixth chain in the sixth row corresponds to a "0" on the sixth bit in the initial information "10011000", the seventh chain in the seventh row corresponds to a "0" on the seventh bit in the initial information "10011000", and the eighth chain in the eighth row corresponds to a "0" on the eighth bit in the initial information "10011000". Molecular chains of each type in each row may be mixed together or linked end-to-end to form longer molecular chains representing the initial information.

[0118]

[0259] In some other embodiments, determining each molecular module according to the first content code and the first recorded information comprises:

[0260] for each first record information, representing the first record information using a second address code and a second content code, where each location in the first record information can be represented by a second address code that corresponds one-to-one to the location, and the content at each location in the first record information can be represented by each of the second content codes;

[0261] determining each molecular module according to the first content code, the second address code, and the second content code; may include.

[0119]

[0262] As in the specific example above, if the obtained initial information is "10011000", each of the first record information can be represented using a second address code and a second content code, respectively, as shown in Table 11 below.

[0120]

[0263] [Table 11]

[0121]

[0264] The first content code has two different values ​​"0" and "1", the second address code has three different values ​​"0", "1" and "2", and the second content code has two different codes "0" and "1".

[0122]

[0265] Furthermore, in some embodiments, different molecular modules may be determined for the first content code, the second address code, and the second content code to distinguish between these three types of codes.

[0123]

[0266] For example, determining each molecular module according to a first content code, a second address code, and a second content code includes:

[0267] determining different molecular modules for first content codes having different values, respectively; or

[0268] determining different molecular modules for second address codes having different values, respectively; or

[0269] determining different molecular modules for second content codes having different values, respectively; may include.

[0124]

[0270] For example, in the specific example shown in Table 11 above, two different first content codes "0" and "1" can be represented using molecular module A1 and molecular module A2, respectively, two different second content codes "0" and "1" can be represented using molecular module A3 and molecular module A4, respectively, and three different second address codes "0" and "1" can be represented using molecular module A5 and molecular module A6, respectively, where molecular modules A1, A2, A3, A4, A5, A6 and A7 are molecules or molecular fragments and are different from each other. Therefore, a total of seven different molecular modules are required to represent the initial information of an 8-bit binary number.

[0125]

[0271] In another specific example of the present disclosure, the storage form obtained after combination is as shown in Figure 5. Taking the first row as an example, the first to seventh molecular modules from left to right respectively represent the first content code "1" on the first bit of the initial information, the first bit "0" of the second content code of "1" on the first bit and the corresponding first bit "0" of the second address code, the first bit "0" of the second content code of the first bit and the corresponding second bit "1" of the second address code, the third bit "0" of the second content code of the first bit and the corresponding third bit "2" of the second address code. Similarly, the first chain in the first row corresponds to a "1" on the first bit in the initial information "10011000", the second chain in the second row corresponds to a "0" on the second bit in the initial information "10011000", the third chain in the third row corresponds to a "0" on the third bit in the initial information "10011000", and the fourth chain in the fourth row corresponds to a "1" on the fourth bit in the initial information "10011000". , the fifth chain in the fifth row corresponds to a "1" on the fifth bit in the initial information "10011000", the sixth chain in the sixth row corresponds to a "0" on the sixth bit in the initial information "10011000", the seventh chain in the seventh row corresponds to a "0" on the seventh bit in the initial information "10011000", and the eighth chain in the eighth row corresponds to a "0" on the eighth bit in the initial information "10011000". Molecular chains of each type in each row may be mixed together or linked end-to-end to form longer molecular chains representing the initial information.

[0126]

[0272] Alternatively, determining each molecular module according to the first content code, the second address code, and the second content code may include:

[0273] When the first content code has Nc1 different values, determining different molecular modules for the first content codes having (Nc1-1) different values, respectively, and making the first content code having one remaining value not correspond to any molecular module; or

[0274] When the second address code has Na2 different values, determining different molecular modules for the second address codes having (Na2-1) different values ​​respectively, and making the second address code having one remaining value not correspond to any molecular module; or

[0275] When the second content code has Nc2 different values, determining different molecular modules for the second content codes having (Nc2-1) different values ​​respectively, and making sure that the second content code having one remaining value does not correspond to any molecular module. may include.

[0127]

[0276] In other words, a code with a particular value may not correspond to any molecule module and may be represented using a default state, thereby reducing the number of different types of molecule modules required.

[0128]

[0277] For example, in the specific example shown in Table 11 above, the molecule module A1 can be used to represent the first content code "0", and the default state can be used to represent the first content code "1", i.e., there is no molecule module to represent the first content code "1". In addition, the molecule module A3 and the molecule module A4 can also be used to represent a second content code having two different values ​​"0" and "1", and the molecule module A5, the molecule module A6 and the molecule module A7 can be used to represent a second address code having three different values ​​"0", "1" and "2", and the molecule modules A1, A3, A4, A5, A6 and A7 are molecules or molecule fragments and are different from each other. Therefore, a total of six different molecule modules are required to represent the initial information of an 8-bit binary number.

[0129]

[0278] In some embodiments, a different molecule module may be determined for a combination of two different values ​​of the first content code, the second address code, and the second content code.

[0130]

[0279] In a particular example, determining each molecular module according to the first content code, the second address code, and the second content code includes:

[0280] Determining different molecule modules for different combinations of values ​​of the second address code and the second content code, respectively.

[0131]

[0281] For example, in the specific example shown in Table 11 above, the molecular module A8 can be used to represent the combination where the second content code is "0" and the second address code is "0", the molecular module A9 can be used to represent the combination where the second content code is "0" and the second address code is "1", the molecular module A10 can be used to represent the combination where the second content code is "0" and the second address code is "2", the molecular module A11 can be used to represent the combination where the second content code is "1" and the second address code is "0", the molecular module A12 can be used to represent the combination where the second content code is "1" and the second address code is "1", and the molecular module A13 can be used to represent the combination where the second content code is "1" and the second address code is "2". By combining the molecular modules A1 and A2 representing the first content codes, the initial information in Table 11 can be completely represented. Therefore, a total of eight different molecular modules are required to represent the initial information of an 8-bit binary number.

[0132]

[0282] It can be understood that different molecular modules can also be determined for different value combinations of the first address code and the second address code, and the initial information is represented in combination with a molecular module representing the second content code, or that different molecular modules can be determined for different value combinations of the first address code and the second content code, and the initial information is represented in combination with the second address code.

[0133]

[0283] Similarly, the default state may be used to represent two combinations of the first content code, the second address code, and the second content code. For example, determining each molecular module according to the first content code, the second address code, and the second content code may include:

[0284] When a combination of a second address code and a second content code has Nac2 distinct values, determining different molecular modules for each combination of a second address code and a second content code having (Nac2-1) distinct values, and ensuring that a combination of a second address code and a second content code having one remaining value does not correspond to any molecular module.

[0134]

[0285] For example, in the specific example shown in Table 11 above, the default state can be used to represent the combination where the second content code is "0" and the second address code is "0", the molecule module A9 can be used to represent the combination where the second content code is "0" and the second address code is "1", the molecule module A10 can be used to represent the combination where the second content code is "0" and the second address code is "2", the molecule module A11 can be used to represent the combination where the second content code is "1" and the second address code is "0", the molecule module A12 can be used to represent the combination where the second content code is "1" and the second address code is "1", and the molecule module A13 can be used to represent the combination where the second content code is "1" and the second address code is "2". By combining the molecule modules A1 and A2 representing the first content codes, the initial information in Table 11 can be completely represented. Therefore, a total of seven different molecular modules are needed to represent the initial information of an 8-bit binary number.

[0135]

[0286] As shown in Figure 6, in another exemplary embodiment of the present disclosure, a first content code may be recorded. In particular, the method for storing information in a molecule includes:

[0287] Step S220: respectively recording each first content code, and using second recording information together with a second preset bit number and a second preset base number to represent one each first content code;

[0288] Step S320: determining each molecular module according to the first address code and the second recorded information; may include.

[0136]

[0289] In some embodiments, the sum of the second preset number of bits B2 and the second preset base S2 (B2+S2) may be less than the maximum possible number of different values ​​of the first address code, thereby effectively reducing the total number of molecular modules required to characterize the first content code. Furthermore, the sum of the second preset base to the second preset number of bits (S2 B2 ) may be greater than the maximum possible number of different values ​​of the first content code, so that the second recording information can represent all the first content codes that can be seen to ensure the reliability of encoding. For example, when the unit bit number of the initial information fragment is large, when all the first content codes with different values ​​are directly cycled through to select each molecular module, the number of molecular modules required to represent the first content code is large, and therefore the first content code can be recorded to obtain the second recording information, thereby reducing the number required to represent the first content code.

[0137]

[0290] For example, using the second recorded information of a 3-bit binary number, 5 (i.e., 3+2) different molecular modules are stored in total, making 8 (i.e., 2 3 ) different first content codes, and using the 4-bit binary second recording information, 6 (i.e., 4+2) different molecular modules can be used to represent a total of 16 (i.e., 2 4 ) different first content codes, and 7 (i.e., 5+2) different molecular modules can be used to represent a total of 32 (i.e., 2 5) different first content codes, and 8 (i.e., 5+3) different molecular modules can be used to represent a total of 243 (i.e., 3 5 ) different first content codes, and 20 (i.e., 10+10) different molecular modules can be represented using the 10-bit decimal second recording information, for a total of 10 10 different first content codes. As can be seen, if the number of first content codes that need to be represented grows exponentially through the recording, then the number of molecular modules only needs to grow linearly, thus greatly reducing the types of molecular modules that are needed.

[0138]

[0291] Furthermore, each molecular module may be determined based on the first address code and the second recorded information. In particular, different molecular modules may be determined for each of the first address code and the second recorded information.

[0139]

[0292] In some embodiments, when determining each molecular module for the second recorded information, different molecular modules may be determined for the contents on different bits in the second recorded information, and different molecular modules may be determined for the different contents on the same bit in the second recorded information. Note that in such embodiments, for the same content at different positions in the second recorded information, it will be represented using different molecular modules, so as to include position information in the molecular module, thereby distinguishing the same content at different positions.

[0140]

[0293] In some other embodiments, determining each molecular module according to the first address code and the second recorded information comprises:

[0294] for each second record information, representing the second record information using a third address code and a third content code, where each location in the second record information can be represented by a third address code that corresponds one-to-one to the location, and the content at each location in the second record information can be represented by a respective third content code;

[0295] determining each molecular module according to the first address code, the third address code, and the third content code; may include.

[0141]

[0296] For example, if the obtained initial information is "10011000", it can be represented as shown in the form shown in Table 12 below, as described above.

[0142]

[0297] [Table 12]

[0143]

[0298] Additionally, each of the internal first content codes can be represented using a third address code and a third content code, as shown in Table 13 below.

[0144]

[0299] [Table 13]

[0145]

[0300] The third address code has two different values ​​"0" and "1", the third content code has two different values ​​"0" and "1", and the first address code has a total of four different values ​​"0", "1", "2", and "3".

[0146]

[0301] Furthermore, in some embodiments, different molecular modules may be determined for the first address code, the third address code and the third content code, respectively, to distinguish between these three types of codes.

[0147]

[0302] determining each molecular module according to the first address code, the third address code, and the third content code;

[0303] determining different molecular modules for the first address codes having different values, respectively; or

[0304] determining different molecular modules for third address codes having different values, respectively; or

[0305] determining different molecular modules for third content codes having different values, respectively; may include.

[0148]

[0306] For example, in the specific example shown in Table 13 above, four different first address codes "0", "1", "2" and "3" can be represented using molecular module A14, molecular module A15, molecular module A16 and molecular module A17, respectively; two different third content codes "0" and "1" can be represented using molecular module A18 and molecular module A19; two different third address codes "0" and "1" can be represented using molecular module A20 and molecular module A21, where molecular modules A14, A15, A16, A17, A18, A19, A20 and A21 are molecules or molecular fragments and are different from each other. Therefore, a total of eight different molecular modules are required to represent the initial information of an 8-bit binary number.

[0149]

[0307] Alternatively, determining each molecular module according to the first address code, the third address code, and the third content code may include:

[0308] When the first address code has Na1 different values, determining different molecular modules for the first address codes having (Na1-1) different values ​​respectively, and making the first address code having one remaining value not correspond to any molecular module; or

[0309] When the third address code has Na3 different values, determining different molecular modules for the third address codes having (Na3-1) different values ​​respectively, and making the third address code having one remaining value not correspond to any molecular module; or

[0310] When the third content code has Nc3 different values, determining different molecular modules for the third content code having (Nc3-1) different values ​​respectively, and making sure that the third content code having one remaining value does not correspond to any molecular module. may include.

[0150]

[0311] In other words, a code with a particular value may not correspond to any molecule module and may be represented using a default state, thereby reducing the number of different types of molecule modules required.

[0151]

[0312] For example, in the specific example shown in Table 13 above, the default state can be used to represent the first address code "0", i.e., there is no molecular module to represent the first address code "0", and the molecular modules A15, A16 and A17 can be used to represent three other different first address codes "1", "2" and "3". In addition, the molecular modules A18 and A19 can also be used to represent two different third content codes "0" and "1", and the molecular modules A20 and A21 are used to represent two different third address codes "0" and "1", and the molecular modules A15, A16, A17, A18, A19, A20 and A21 are molecules or molecular fragments and are different from each other. Therefore, a total of seven different molecular modules are required to represent the initial information of an 8-bit binary number.

[0152]

[0313] In some embodiments, different molecule modules may be determined for combinations of two different values ​​of the first address code, the third address code, and the third content code.

[0153]

[0314] In a particular example, determining each molecular module according to the first address code, the third address code, and the third content code includes:

[0315] Determining different molecule modules for different combinations of values ​​of the third address code and the third content code, respectively.

[0154]

[0316] For example, in the specific example shown in Table 13 above, the molecular module A22 can be used to represent the combination where the third content code is "0" and the third address code is "0", the molecular module A23 can be used to represent the combination where the third content code is "0" and the third address code is "1", the molecular module A24 can be used to represent the combination where the third content code is "1" and the third address code is "0", and the molecular module A25 can be used to represent the combination where the third content code is "1" and the third address code is "1". By combining the molecular modules A14, A15, A16 and A17 representing the first address code, the initial information in Table 13 can be completely represented. Therefore, a total of eight different molecular modules are required to represent the initial information of an 8-bit binary number.

[0155]

[0317] It can be understood that different molecular modules can be determined for different value combinations of the first address code and the third address code, and the initial information is represented in combination with a molecular module representing the third content code, or that different molecular modules can be determined for different value combinations of the first address code and the third content code, and the initial information is represented in combination with a molecular module representing the third address code.

[0156]

[0318] Similarly, the default state may be used to represent two combination values ​​of the first address code, the third address code, and the third content code. For example, determining each molecular module according to the first address code, the third address code, and the third content code may include:

[0319] When a combination of a third address code and a third content code has Nac3 distinct values, determining different molecular modules for each combination of a third address code and a third content code having (Nac3-1) distinct values, and ensuring that a combination of a third address code and a third content code having one remaining value does not correspond to any molecular module.

[0157]

[0320] For example, in the specific example shown in Table 13 above, the default state can be used to represent the combination where the third content code is "0" and the third address code is "0", the molecule module A23 can be used to represent the combination where the third content code is "0" and the third address code is "1", the molecule module A24 can be used to represent the combination where the third content code is "1" and the third address code is "0", and the molecule module A25 can be used to represent the combination where the third content code is "1" and the third address code is "1". By combining the molecule modules A14, A15, A16 and A17 representing the first address code, the initial information in Table 13 can be completely represented. Therefore, a total of seven different molecule modules are required to represent the initial information of an 8-bit binary number.

[0158]

[0321] In yet another exemplary embodiment of the present disclosure, the first address code and the first content code can both be recorded. In particular, as shown in FIG. 7, the method for storing information in a molecule includes:

[0322] S230: respectively recording each first address code and each first content code, using first recording information with a first preset bit number and a first preset radix, and using second recording information with a second preset bit number and a second preset radix to represent one each first address code;

[0323] S330: Determining each molecular module according to the first recorded information and the second recorded information. may include.

[0159]

[0324] As mentioned above, in some embodiments, the sum of the first preset number of bits and the first preset base (B1+S1) may be less than the maximum possible kind of the first address code, and the sum of the second preset number of bits and the second preset base (B2+S2) may be less than the maximum possible kind of different values ​​of the first content code, thereby effectively reducing the total number of molecular modules required to characterize the first address code and the first content code. In addition, the sum of the first preset base to the first preset number of bits (S1 B1 ) can be greater than the maximum possible genus of different values ​​of the first address code, and the second preset base to the power of the second preset number of bits (S B2 ) can be greater than the maximum possible number of different values ​​of the first address code, so that the first record information and the second record information can represent all possible first address codes and first content codes, respectively, that may appear to ensure the reliability of the encoding.

[0160]

[0325] In some embodiments, determining the respective molecular modules according to the first recorded information and the second recorded information comprises:

[0326] The method may include determining distinct molecular modules for the first recorded information and the second recorded information, respectively.

[0161]

[0327] As mentioned above, in some embodiments, different molecular modules may be determined for content on different bits in the first recorded information, and different molecular modules may be determined for different content on the same bit in the first recorded information.

[0162]

[0328] Similarly, in some embodiments, as described above, different molecular modules may be determined for different bits in the second recorded information, and different molecular modules may be determined for different content on the same bit in the second recorded information.

[0163]

[0329] In some embodiments, as described above, the first record information may be further represented using second address codes and second content codes, where each location in the first record information may be represented by a second address code that corresponds one-to-one to that location, and the content at each location in the first record information may be represented by each of the second content codes.

[0164]

[0330] Similarly, in some embodiments, as described above, the second record information may be further represented using a third address code and a third content code, and each location in the second record information may be represented by a third address code that corresponds one-to-one to that location, and the content at each location in the second record information may be represented by a respective third content code.

[0165]

[0331] In a particular example, it can be understood that different molecular modules can be determined for different content on different bits in the first recorded information, different molecular modules can be determined for different content on the same bit in the first recorded information, different molecular modules can be determined for different content on different bits in the second recorded information, and different molecular modules can be determined for different content on the same bit in the second recorded information. In addition, the molecular modules corresponding to the first recorded information and the second recorded information may be different molecules or molecular fragments.

[0166]

[0332] In another specific example, different molecular modules can be determined for the contents on different bits in the first recording information, different molecular modules can be determined for the contents on the same bit in the first recording information, and for each second recording information, the second recording information can be represented using a third address code and a third content code, and each molecular module can be determined according to the third address code and the third content code.In addition, the molecular modules corresponding to the first recording information, the third address code, and the third content code can be different molecules or molecular fragments, respectively.

[0167]

[0333] In yet another specific example, for each first recording information, the first recording information can be represented using a second address code and a second content code, and each molecular module can be determined according to the second address code and the second content code, and different molecular modules can be determined for the content on different bits in the second recording information, respectively, and different molecular modules can be determined for the different content on the same bit in the second recording information, respectively. In addition, the molecular modules corresponding to the second address code, the second content code, and the second recording information, respectively, can be different molecules or molecular fragments.

[0168]

[0334] In yet another particular example, for each first record information, the first record information may be represented using a second address code and a second content code, and each molecular module may be determined according to the second address code and the second content code, and for each second record information, the second record information may be represented using a third address code and a third content code, and each molecular module may be determined according to the third address code and the third content code.

[0169]

[0335] For example, if the obtained initial information is "10011000", it can be represented in the form shown in Table 12 as described above. Furthermore, as shown in Table 14 below, each of the internal respective first address codes and first content codes can be recorded, the second address code and the second content code can be used to represent the first recorded information, and the third address code and the third content code can be used to represent the second recorded information.

[0170]

[0336] [Table 14]

[0171]

[0337] The second content code, the second address code, the third content code and the third address code each have two different values, "0" and "1".

[0172]

[0338] Furthermore, different molecular modules may be determined for the second address code, the second content code, the third address code and the third content code, respectively, to distinguish between these codes.

[0173]

[0339] In some embodiments, determining the distinct molecular modules according to the first recorded information and the second recorded information comprises:

[0340] determining different molecular modules for second address codes having different values, respectively; or

[0341] determining different molecular modules for second content codes having different values, respectively; or

[0342] determining different molecular modules for third address codes having different values, respectively; or

[0343] determining different molecular modules for third content codes having different values; may include.

[0174]

[0344] For example, in the specific example shown in Table 14 above, two different second address codes "0" and "1" can be represented using molecular module A5 and molecular module A6, respectively, two different second content codes "0" and "1" can be represented using molecular module A3 and molecular module A4, respectively, two different third address codes "0" and "1" can be represented using molecular module A20 and molecular module A21, respectively, and two different third content codes "0" and "1" can be represented using molecular module A18 and molecular module A19, respectively, where molecular modules A5, A6, A3, A4, A20, A21, A18 and A19 are molecules or molecular fragments and are different from each other. Therefore, a total of eight different molecular modules are required to represent the initial information of an 8-bit binary number.

[0175]

[0345] Alternatively, determining each molecular module according to the first recorded information and the second recorded information may include:

[0346] When the second address code has Na2 different values, determining different molecular modules for the second address codes having (Na2-1) different values ​​respectively, and making the second address code having one remaining value not correspond to any molecular module; or

[0347] When the second content code has Nc2 different values, determining different molecular modules for the second content codes having (Nc2-1) different values, respectively, and making the second content code having one remaining value not correspond to any molecular module; or

[0348] When the third address code has Na3 different values, determining different molecular modules for the third address codes having (Na3-1) different values ​​respectively, and making the third address code having one remaining value not correspond to any molecular module; or

[0349] When the third content code has Nc3 different values, determining different molecular modules for the third content code having (Nc3-1) different values ​​respectively, and making sure that the third content code having one remaining value does not correspond to any molecular module. may include.

[0176]

[0350] In other words, a code for a value may not correspond to any molecule module and may be represented using a default state, thereby reducing the number of different types of molecule modules required.

[0177]

[0351] For example, in the specific example shown in Table 14 above, the default state can be used to represent the second address code "0", i.e., there is no molecular module to represent the second address code "0", the molecular module A6 can be used to represent the second address code "1", the molecular modules A3 and A4 can be used to represent two different second content codes "0" and "1", the molecular modules A20 and A21 can be used to represent two different third address codes "0" and "1", the molecular modules A18 and A19 can be used to represent two different third content codes "0" and "1", and the molecular modules A6, A3, A4, A20, A21, A18 and A19 are molecules or molecular fragments and are different from each other. Therefore, a total of seven different molecular modules are required to represent the initial information of an 8-bit binary number.

[0178]

[0352] In some embodiments, different molecular modules may be determined for combinations of two or three different values ​​of the second address code, the second content code, the third address code, and the third content code.

[0179]

[0353] In certain examples, determining the respective molecular modules according to the first recorded information and the second recorded information comprises:

[0354] determining different molecular modules for different value combinations of the second address code and the second content code, respectively; or

[0355] determining different molecular modules for different combinations of values ​​of the third address code and the third content code, respectively; may include.

[0180]

[0356] For example, in the particular example shown in Table 14 above, molecule module A8 may be used to represent the combination where the second content code is "0" and the second address code is "0", molecule module A9 may be used to represent the combination where the second content code is "0" and the second address code is "1", molecule module A11 may be used to represent the combination where the second content code is "1" and the second address code is "0", and molecule module A12 may be used to represent the combination where the second content code is "1" and the second address code is "1". In addition, molecule module A22 may be used to represent a combination where the third content code is "0" and the third address code is "0", molecule module A23 may be used to represent a combination where the third content code is "0" and the third address code is "1", molecule module A24 may be used to represent a combination where the third content code is "1" and the third address code is "0", and molecule module A25 may be used to represent a combination where the third content code is "1" and the third address code is "1".

[0181]

[0357] In some embodiments, molecular modules A8, A9, A10, A11, A22, A23, A24, and A25 may be used to represent an 8-bit binary initial information. Alternatively, molecular modules A8, A9, A10, A11, A20, A21, A18, and A19 may be used to represent an 8-bit binary initial information. Alternatively, molecular modules A3, A4, A5, A6, A22, A23, A24, and A25 may be used to represent an 8-bit binary initial information.

[0182]

[0358] It can be understood that each molecular module may alternatively be determined based on other two or three combinations of the second address code, the second content code, the third address code and the third content code, which will not be repeated here.

[0183]

[0359] Similarly, the default state may be used to represent one value of a combination of the second address code, the second content code, the third address code, and the third content code. In a specific example, determining each molecular module according to the first recorded information and the second recorded information includes:

[0360] Determining different molecular modules for combinations of second address codes and second content codes having (Nac2-1) different values ​​when the combinations of second address codes and second content codes have Nac2 different values, respectively, and determining that combinations of second address codes and second content codes having one remaining value do not correspond to any molecular modules; or

[0361] When the combination of the third address code and the third content code has Nac3 different values, respectively determine different molecular modules for the combination of the third address code and the third content code having (Nac3-1) different values, and ensure that the combination of the third address code and the third content code having one remaining value does not correspond to any molecular module. may include.

[0184]

[0362] For example, in the specific example shown in Table 14 above, the default state can be used to represent the combination where the third content code is "0" and the third address code is "0", the molecule module A23 can be used to represent the combination where the third content code is "0" and the third address code is "1", the molecule module A24 can be used to represent the combination where the third content code is "1" and the third address code is "0", and the molecule module A25 can be used to represent the combination where the third content code is "1" and the third address code is "1". By combining the molecule modules A10, A11, A12 and A13 representing different value combinations of the second content code and the second address code, the initial information in Table 14 can be completely represented. Therefore, a total of seven different molecule modules are required to represent the initial information of an 8-bit binary number.

[0185]

[0363] Further, as shown in FIG. 2, FIG. 6 and FIG. 7, a method for storing information in a molecule includes:

[0364] S400: The method may further include combining the determined molecular modules in order such that the composition corresponds to the initial information.

[0186]

[0365] In an exemplary embodiment of the present disclosure, the molecular modules may include deoxyribonucleic acid (DNA), ribonucleic acid (RNA), peptides, organic polymers, organic small molecules, carbon nanomaterials, inorganic materials, etc. In addition, the molecular modules may include non-natural nucleotides, modified nucleotides, artificially synthesized nucleotides, etc. When storing information, a combination of different molecular modules that represents a content code and an address code is involved. These molecular modules may be combined together through mechanisms such as covalent bonds, ionic bonds, hydrogen bonds, intermolecular bonds, hydrophobic forces, complementary base pairing, etc.

[0187]

[0366] Different molecular modules representing the same type of content code or address code with different values ​​can be molecular modules of the same type, for example, all DNA. Alternatively, different molecular modules representing the same type of content code or address code with different values ​​can be molecular modules of different types, for example, one type of content code with two different values ​​is represented using DNA and RNA, respectively. In addition, molecular modules representing different types of content codes or address codes can be molecular modules of the same type, for example, all content codes and address codes are represented using different RNA. Alternatively, different types of content codes and address codes can be represented using molecular modules of different types, for example, content codes are represented using RNA, address codes are represented using DNA, etc.

[0188]

[0367] In addition, different molecular modules can be distinguished by using at least one of their sequence distribution, sequence length or secondary structure. For example, different codes of different values ​​can be represented using DNA, RNA, peptides and organic polymers of different sequences, different lengths or different secondary structures. In addition, different codes of different values ​​can be represented using DNA, RNA, peptides, organic polymers, small organic molecules, non-natural nucleotides, modified nucleotides, artificially synthesized nucleotides, carbon nanomaterials and inorganic materials of different chemical forms, physical properties, crystalline or amorphous nature and morphological forms.

[0189]

[0368] Furthermore, the composition obtained by combining molecular modules can be a mixture or a compound. For example, the composition can include multiple different DNA strands, each of which can represent one or more initial information fragments in the initial information, and the DNA strands can be mixed together to represent the complete initial information. Alternatively, the DNA strands representing various initial information fragments can be further synthesized into longer DNA strands to represent the complete initial information in the form of a compound.

[0190]

[0369] When molecular modules representing various codes are combined in sequence, the molecular module representing the address code may be combined before or after the molecular module representing each content code or may be inserted in the middle, which is not limited herein. In addition, a molecular module representing a particular address code or content code may include multiple molecular fragments, and these molecular fragments may be spaced apart. For example, a molecular module representing a second address code may be combined before or after a second content code or may be inserted in the middle.

[0191]

[0370] In addition, in order to enable sequential connection of different molecular modules to each other, in some embodiments, when selecting molecular modules, molecular modules having respective ends may be selected, i.e., molecular fragments as ends are part of each molecular module, in order to achieve sequential connection of different molecular modules.

[0192]

[0371] Alternatively, in some other embodiments, combining the determined molecular modules in sequence such that the composition corresponds to the initial information may include forming terminals at the connection ends of the determined molecular modules in a pre-set sequence, and mixing the molecular modules with each terminal formed to generate a composition corresponding to the initial information, i.e., a molecular fragment serving as an terminal is added to each molecular module after the molecular module is determined.

[0193]

[0372] For example, in the particular example shown in FIG. 5, a different end piece can be added to the end of molecular module A3 so that during the combination process it is connected to molecular modules A5, A6 and A7, respectively, to form the correct molecular chain.

[0194]

[0373] In a particular example, DNA can be used as a molecular module. DNA is composed of bases, deoxyribose and phosphate, and the bases generally include four types: adenine (A), guanine (G), thymine (T) and cytosine (C). In the DNA molecular structure, two polydeoxynucleotide strands are wound around a common central axis to form a double helix structure. The deoxyribose-phosphate strands are on the outside of the helical structure, and the bases face the inside. The two polydeoxynucleotide strands are reverse-complementary to each other and are connected through base pairing formed by hydrogen bonds between the bases, forming a fairly stable combination. Thus, the ends of the DNA molecular modules can include sticky ends.

[0195]

[0374] As shown in FIG. 8, when assembling DNA representing different codes, ligase can be used to sequentially combine multiple determined DNA strands corresponding to each address code and content code.

[0196]

[0375] Alternatively, as shown in FIG. 9, linkers provided at the ends of the DNA strands can be used to sequentially combine multiple determined DNA strands under the action of a ligase.

[0197]

[0376] Alternatively, polymerase chain reaction (PCR) can be used to sequentially combine the determined DNAs, as shown in Figures 10 and 11. In the PCR method shown in Figure 10, the determined DNA strands are used as templates to amplify DNA strands that contain each sequence at the connected ends of the two segments of the connected DNA strands. In the PCR method shown in Figure 11, the connected DNA strands can be directly amplified.

[0198]

[0377] In another specific example, RNA can be used as molecular module. RNA is composed of phosphate, ribose and base. RNA base mainly includes four types: A (adenine), G (guanine), C (cytosine) and U (uracil). Therefore, the end of RNA molecular module can include corresponding functional groups.

[0199]

[0378] As shown in FIG. 12, linker sequences provided at the ends of the RNA strands and DNA linker sequences can be used to sequentially combine the determined RNA strands under the action of a ligase.

[0200]

[0379] In yet another specific example, peptides can be used as molecular modules. The amino group of one amino acid condenses with the carboxyl group of another amino acid to form a peptide, and the resulting amino group is called a peptide bond in protein chemistry. Amino acid molecules are the smallest, and peptide molecules are the largest. Two or more amino acids are dehydrated and condensed to form several peptide bonds that form one peptide chain. Multiple peptide chains undergo multi-level folding to form one protein molecule. Proteins are sometimes called "polypeptides." Thus, the terminal end of a peptide molecular module can contain a corresponding functional group.

[0201]

[0380] As shown in FIG. 13, the determined peptides can be catalytically connected to represent at least a portion of the initial information.

[0202]

[0381] In addition, as mentioned above, molecular modules of different secondary structures can be used to represent different codes of different values. As shown in the two specific examples in Figure 14, molecular modules with different secondary structures can be connected together under the action of a ligase.

[0203]

[0382] In addition, in order to facilitate reading the stored information and avoid interference in information reading caused by individual errors in the combination of molecular modules, the edit distance between different molecular modules can be equal to or greater than a preset distance threshold. The edit distance is the number of operation steps required to convert one molecular module into another molecular module. For example, if the molecular module is a DNA strand containing 10 bases, the edit distance between the molecular modules "ATCGTAGCCA" and "TTCGTAGCCA" is 1, and the edit distance between the molecular modules "ATCGTAGCCA" and "TAGCATCGGT" is 10. In order to facilitate reading, when editing the molecular modules, only a plurality of molecular modules whose edit distance between two of the plurality of molecular modules is equal to or greater than a preset distance threshold can be selected. Thus, during the information reading process, even if there are errors in individual bases or other fragments of the molecular module, as long as the edit distance is less than the preset distance threshold, the molecular module read can still correspond to a certain code, thereby improving the fault tolerance of molecular storage.

[0204]

[0383] In the method of storing information in molecules of the present disclosure, the information is stored according to content-address pairs, and information storage is achieved by recording the address and / or content of the information and repeatedly using the molecular modules in a pre-assembled molecular module library for massive parallel assembly. Compared with information storage by the method of synthesizing DNA by growing nucleotides one by one, the number of types of molecular modules required is reduced, and parallel assembly greatly improves combinatorial efficiency, thereby reducing the difficulty of storage and improving storage efficiency.

[0205]

[0384] In addition, the present disclosure further proposes a device for storing information in molecules. As shown in FIG. 15 , the device may include an obtaining unit 910 and a coding unit 920.

[0206]

[0385] The acquiring unit 910 may be configured to acquire the initial information to be stored.

[0207]

[0386] The coding unit 920 may be configured to represent the initial information using a first address code and a first content code, where each location in the initial information is represented by a first address code that corresponds one-to-one to the location, and the content at each location in the initial information is represented by a respective first content code.

[0208]

[0387] In an exemplary embodiment, the coding unit 920 may be further configured to respectively record each of the first address codes, respectively represent one respective first address code using the first recorded information together with a first preset bit number and a first preset base, and respectively determine respective molecular modules according to the first content code and the first recorded information.

[0209]

[0388] In another exemplary embodiment, the coding unit 920 may be further configured to respectively record each first content code, respectively represent one respective first content code using the second recorded information together with a second preset bit number and a second preset base, and respectively determine each molecular module according to the first address code and the second recorded information.

[0210]

[0389] In yet another exemplary embodiment, the coding unit 920 may be further configured to respectively record each first address code and each first content code, represent one respective first address code using the first recorded information together with a first preset bit number and a first preset radix, represent one respective first content code using the second recorded information together with a second preset bit number and a second preset radix, and determine each molecular module according to the first recorded information and the second recorded information.

[0211]

[0390] In some embodiments, the coding unit 920 may include a processor 921 and a memory 922. The memory 922 stores instructions that, when executed by the processor 921, perform the coding steps as described above.

[0212]

[0391] The processor 921 can execute various operations and processes according to instructions stored in the memory 922. In particular, the processor 921 can be an integrated circuit chip having signal processing capabilities. The above processor can be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. Various methods, steps, and logic block diagrams disclosed in the embodiments of the present disclosure can be implemented or performed. The general-purpose processor can be a microprocessor, or the processor can be any conventional processor, such as X86 architecture or ARM architecture.

[0213]

[0392] The memory 922 stores executable instructions that, when executed by the processor 921, implement the coding methods as described above. The memory 922 may be volatile or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be read only memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM), which acts as an external cache. Many forms of RAM are available, such as, by way of example and not limitation, static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus random access memory (DR RAM). Note that memory for the methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.

[0214]

[0393] In addition, the device may further include a writer unit 930, which may be configured to combine the determined molecular modules in order such that the composition corresponds to the initial information.

[0215]

[0394] It should be noted that the flowcharts and block diagrams in the drawings illustrate possible architectures, functions, and operations of the systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowcharts or block diagrams may represent a module, a program segment, or a portion of code that includes one or more executable instructions for performing a specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks may be performed in a different order than that noted in the drawings. For example, two blocks shown in sequence may actually be performed substantially in parallel or may sometimes be performed in reverse order, depending on the functions involved. It should also be noted that each block of the block diagrams and / or flowcharts and combinations of blocks in the block diagrams and / or flowcharts may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or may be implemented using a combination of dedicated hardware and computer instructions.

[0216]

[0395] Generally speaking, various example embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, firmware, logic, or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented by a controller, microprocessor, or other computing device. Although aspects of the embodiments of the present disclosure have been illustrated or described as block diagrams, flow charts, or using some other graphical representation, it will be understood that the blocks, apparatus, systems, techniques, or methods described herein may be implemented, as non-limiting examples, in hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controllers, other computing devices, or any combination thereof.

[0217]

[0396] In the description and claims, terms such as "front," "rear," "top," "bottom," "upper," "lower," and the like, when present, are used for descriptive purposes and not necessarily to describe a certain relative location. It is to be understood that terms so used are interchangeable under appropriate circumstances, e.g., such that the embodiments of the disclosure described herein are operable in orientations other than those illustrated or otherwise described herein.

[0218]

[0397] As used herein, the term "exemplary" means "serving as an example, instance, or illustration" rather than as a precisely reproduced "model." Any implementation illustratively described herein is not necessarily to be construed as preferred or advantageous over other implementations. Furthermore, the present disclosure is not limited by any expressed or implied theory presented in the preceding technical field, background, brief summary, or detailed description.

[0219]

[0398] As used herein, the term "approximately" is meant to encompass any slight variations resulting from design or manufacturing imperfections, device or element tolerances, environmental influences, and / or other factors. The term "approximately" also allows for deviations from perfect or ideal conditions due to parasitic effects, noise, and other practical conditions that may exist in an actual implementation.

[0220]

[0399] Additionally, in the above description, it may be said that elements, nodes, or features are "connected" or "coupled" together. As used herein, unless otherwise specified, "connected" means that one element / node / feature is directly connected (or in direct communication) with another element / node / feature, electrically, mechanically, logically, or otherwise. Similarly, unless otherwise specified, "coupled" means that one element / node / feature is directly or indirectly connected to another element / node / feature, mechanically, electrically, logically, or otherwise, such that the two features may be capable of interacting even when they are not directly connected. That is, "coupled" is intended to encompass both direct and indirect connections of elements or other features, including connections using one or more intervening elements.

[0221]

[0400] Additionally, "first," "second," and similar terms may be used herein for reference purposes only and are therefore not intended to be limiting. For example, the terms "first," "second," and other such numerical terms involving structures or elements do not imply a sequence or order unless the context clearly dictates otherwise.

[0222]

[0401] It is to be understood that the term "comprising" as used herein indicates the presence of stated features, integers, steps, operations, units and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, units and / or components, and / or combinations thereof.

[0223]

[0402] In this disclosure, the term "providing" is used broadly to encompass all methods of obtaining an object, and thus "providing an object" includes, but is not limited to, "purchasing," "preparing / manufacturing," "locating / setting," "installing / assembling," and / or "arranging" the object, etc.

[0224]

[0403] Although some specific embodiments of the present disclosure have been described in detail as examples, those skilled in the art will understand that the above examples are merely illustrative and are not intended to limit the scope of the present disclosure. The various embodiments disclosed herein can be combined in any manner without departing from the spirit and scope of the present disclosure. Those skilled in the art will further understand that various modifications can be made to the embodiments without departing from the spirit and scope of the present disclosure. The scope of the present disclosure is defined by the appended claims.

Claims

1. 1. A method for storing information in a molecule, comprising the steps of: obtaining initial information to be stored and representing the initial information using a first address code and a first content code, wherein each location in the initial information is represented by a first address code that corresponds one-to-one to the location, and content at each location in the initial information is represented by a respective first content code; recording each respective first address code to represent one respective first address code using the first recorded information together with a first preset number of bits and a first preset base; determining each molecular module according to the first content code and the first recorded information; combining said determined molecular modules in order such that a composition corresponds to said initial information; The method includes:

2. Obtaining the initial information to be stored and representing the initial information using the first address code and the first content code includes: obtaining said initial information; specifying a number of unit bits of content at one position in the initial information corresponding to one first address code, the number of unit bits of content at each position in the initial information being equal to each other; when the total number of bits of the initial information is an integer multiple of the number of unit bits, dividing the initial information into one or more initial information fragments; if the total number of bits of the initial information is not an integer multiple of the number of unit bits, padding the initial information such that the total number of bits of a resulting padded initial information is an integer multiple of the number of unit bits, and dividing the padded initial information into one or more initial information fragments.

2. The method of claim 1, comprising:

3. The method of claim 2 , wherein padding the initial information comprises supplementing the initial information with placeholder content, the placeholder content and non-placeholder content in the initial information each corresponding to a different molecular module.

4. The method of claim 1 , wherein the initial information further includes error correction content.

5. the sum of the first preset number of bits and the first preset base is less than a maximum possible genus of different values ​​of the first address code; and 2. The method of claim 1, wherein the first preset base to the power of the first preset number of bits is greater than the maximum possible genus of different values ​​of the first address code.

6. 2. The method of claim 1, wherein determining the respective molecular modules according to the first content code and the first recorded information comprises determining different molecular modules for the first content code and the first recorded information, respectively.

7. determining the respective molecular modules according to the first content code and the first recorded information, determining different molecular modules for content on different bits in the first recorded information respectively; determining different molecular modules for different contents on the same bit in the first recorded information respectively; The method of claim 6, comprising:

8. determining the respective molecular modules according to the first content code and the first recorded information, for each first record information, representing the first record information using a second address code and a second content code, wherein each location in the first record information is represented by a second address code having a one-to-one correspondence with the location, and the content at each location in the first record information is represented by a respective second content code; determining the respective molecular modules according to the first content code, the second address code, and the second content code; The method of claim 1 , comprising:

9. 9. The method of claim 8, wherein determining the respective molecular modules according to the first content code, the second address code, and the second content code includes determining different molecular modules for the first content code, the second address code, and the second content code, respectively.

10. determining the respective molecular modules according to the first content code, the second address code, and the second content code, determining different molecular modules for the first content codes having different values, respectively; or determining different molecular modules for said second address codes having different values, respectively; or determining different molecular modules for said second content codes having different values, respectively; 10. The method of claim 9, comprising:

11. determining the respective molecular modules according to the first content code, the second address code, and the second content code, When the first content code has Nc1 different values, determining different molecular modules for the first content codes having (Nc1-1) different values, respectively, and making the first content code having one remaining value not correspond to any molecular module; or If the second address code has Na2 different values, determining different molecular modules for the second address codes having (Na2-1) different values, respectively, and making the second address code having one remaining value not correspond to any molecular module; or When the second content code has Nc2 different values, determining different molecular modules for the second content codes having (Nc2-1) different values, respectively, and making the second content code having one remaining value not correspond to any molecular module.

10. The method of claim 9, comprising:

12. 9. The method of claim 8, wherein determining the respective molecular modules according to the first content code, the second address code, and the second content code includes determining different molecular modules for combinations of two different values ​​of the first content code, the second address code, and the second content code, respectively.

13. 13. The method of claim 12, wherein determining the respective molecular modules according to the first content code, the second address code, and the second content code comprises respectively determining different molecular modules for different combinations of values ​​of the second address code and the second content code.

14. 13. The method of claim 12, wherein determining the respective molecular modules according to the first content code, the second address code, and the second content code includes: when the combination of the second address code and the second content code has Nac2 distinct values, determining different molecular modules for the combination of the second address code and the second content code having (Nac2-1) distinct values, respectively, and making the combination of the second address code and the second content code having one remaining value not correspond to any molecular module.

15. combining the determined molecular modules in order such that the composition corresponds to the initial information; forming terminals at the connection ends of the determined molecular modules corresponding to a preset order; mixing the formed molecular modules with the respective termini to generate the composition corresponding to the initial information; The method of claim 1 , comprising:

16. the molecular fragments acting as termini are part of the respective molecular modules; or The method of claim 15 , wherein the molecular fragments that function as termini are added to the respective molecular modules after the molecular modules have been determined.

17. mixing the formed molecular modules with the respective termini to generate the composition corresponding to the initial information; combining said determined molecular modules in sequence using a ligase; combining the determined molecular modules in sequence using inkers disposed at the ends of the molecular modules; or and combining the determined molecular modules in sequence using the polymerase chain reaction. The method of claim 15 , comprising at least one of the following:

18. 2. The method of claim 1, wherein the molecular module comprises at least one of a deoxyribonucleic acid, a ribonucleic acid, a peptide, an organic polymer, an organic small molecule, a non-natural nucleotide, a modified nucleotide, an artificially synthesized nucleotide, a carbon nanomaterial, an inorganic material, or a spaced molecular fragment.

19. The method of claim 1 , wherein the various molecular modules are distinguished using at least one of their sequence distribution, sequence length, secondary structure, crystalline or amorphous nature, or morphology.

20. The method of claim 1 , wherein the edit distance between different molecular modules is greater than or equal to a preset distance threshold.

21. 1. A method for storing information in a molecule, comprising the steps of: obtaining initial information to be stored and representing the initial information using a first address code and a first content code, wherein each location in the initial information is represented by a first address code that corresponds one-to-one to the location, and content at each location in the initial information is represented by a respective first content code; recording each respective first content code to represent one respective first content code using second recorded information together with a second preset number of bits and a second preset base; determining each molecular module according to the first address code and the second recorded information; combining said determined molecular modules in order such that a composition corresponds to said initial information; The method includes:

22. Obtaining the initial information to be stored and representing the initial information using the first address code and the first content code includes: obtaining said initial information; specifying a number of unit bits of content at one position in the initial information corresponding to one first address code, the number of unit bits of content at each position in the initial information being equal to each other; when the total number of bits of the initial information is an integer multiple of the number of unit bits, dividing the initial information into one or more initial information fragments; if the total number of bits of the initial information is not an integer multiple of the number of unit bits, padding the initial information such that the total number of bits of a resulting padded initial information is an integer multiple of the number of unit bits, and dividing the padded initial information into one or more initial information fragments. and the number of bits of each initial information fragment is the unit number of bits.

23. 23. The method of claim 22, wherein padding the initial information comprises supplementing the initial information with placeholder content, the placeholder content and non-placeholder content in the initial information each corresponding to a different molecular module.

24. The method of claim 21 , wherein the initial information further includes error correction content.

25. the sum of the second preset number of bits and the second preset base is less than a maximum possible genus of different values ​​of the first content code; and 22. The method of claim 21, wherein the second preset base to the second preset bit number power is greater than the maximum possible genus of distinct values ​​of the first content code.

26. 22. The method of claim 21, wherein determining the respective molecular modules according to the first address code and the second recorded information comprises determining different molecular modules for the first address code and the second recorded information, respectively.

27. determining the respective molecular modules according to the first address code and the second recorded information, determining different molecular modules for content on different bits in the second recorded information respectively; determining different molecular modules for different contents on the same bit in the second recorded information respectively; 27. The method of claim 26, comprising:

28. determining the respective molecular modules according to the first address code and the second recorded information, Representing, for each piece of second record information, the second record information using a third address code and a third content code, where each location in the second record information is represented by a third address code that corresponds one-to-one to the location, and the content at each location in the second record information is represented by a respective third content code; determining the respective molecular modules according to the first address code, the third address code, and the third content code; 22. The method of claim 21 , comprising:

29. 30. The method of claim 28, wherein determining the respective molecular modules according to the first address code, the third address code, and the third content code comprises determining different molecular modules for the first address code, the third address code, and the third content code, respectively.

30. determining the respective molecular modules according to the first address code, the third address code, and the third content code, determining different molecular modules for said first address codes having different values, respectively; or determining different molecular modules for the third address codes having different values, respectively; or determining different molecular modules for said third content codes having different values, respectively; 30. The method of claim 29, comprising:

31. determining the respective molecular modules according to the first address code, the third address code, and the third content code, If the first address code has Na1 different values, determining different molecular modules for the first address codes having (Na1-1) different values, respectively, and making the first address code having one remaining value not correspond to any molecular module; or If the third address code has Na3 different values, determining different molecular modules for the third address codes having (Na3-1) different values ​​respectively, and making the third address code having one remaining value not correspond to any molecular module; or When the third content code has Nc3 different values, determining different molecular modules for the third content code having (Nc3-1) different values, respectively, and making the third content code having one remaining value not correspond to any molecular module.

30. The method of claim 29, comprising:

32. 29. The method of claim 28, wherein determining the respective molecular modules according to the first address code, the third address code, and the third content code includes determining different molecular modules for combinations of two different values ​​of the first address code, the third address code, and the third content code, respectively.

33. 33. The method of claim 32, wherein determining the respective molecular modules according to the first address code, the third address code, and the third content code comprises respectively determining different molecular modules for different combinations of values ​​of the third address code and the third content code.

34. 33. The method of claim 32, wherein determining the respective molecular modules according to the first address code, the third address code, and the third content code includes: when the combination of the third address code and the third content code has Nac3 distinct values, determining different molecular modules for the combination of the third address code and the third content code having (Nac3-1) distinct values, respectively, and making the combination of the third address code and the third content code having one remaining value not correspond to any molecular module.

35. combining the determined molecular modules in order such that the composition corresponds to the initial information; forming terminals at the connection ends of the determined molecular modules corresponding to a preset order; mixing the formed molecular modules with the respective termini to generate the composition corresponding to the initial information; 22. The method of claim 21 , comprising:

36. the molecular fragments acting as termini are part of the respective molecular modules; or 36. The method of claim 35, wherein the molecular fragments that function as termini are added to the respective molecular modules after the molecular modules have been determined.

37. mixing the formed molecular modules with the respective termini to generate the composition corresponding to the initial information; combining said determined molecular modules in sequence using a ligase; combining the determined molecular modules in sequence using linkers disposed at the ends of the molecular modules; or and combining the determined molecular modules in sequence using the polymerase chain reaction.

36. The method of claim 35, comprising at least one of:

38. 22. The method of claim 21, wherein the molecular module comprises at least one of a deoxyribonucleic acid, a ribonucleic acid, a peptide, an organic polymer, an organic small molecule, a non-natural nucleotide, a modified nucleotide, an artificially synthesized nucleotide, a carbon nanomaterial, an inorganic material, or a spaced molecular fragment.

39. 22. The method of claim 21, wherein the various molecular modules are distinguished using at least one of their sequence distribution, sequence length, secondary structure, crystalline or amorphous nature, or morphology.

40. 22. The method of claim 21, wherein the edit distance between different molecular modules is greater than or equal to a preset distance threshold.

41. 1. A method for storing information in a molecule, comprising the steps of: obtaining initial information to be stored and representing the initial information using a first address code and a first content code, wherein each location in the initial information is represented by a first address code that corresponds one-to-one to the location, and content at each location in the initial information is represented by a respective first content code; recording each first address code and each first content code, respectively, to represent one respective first address code using first recorded information with a first preset number of bits and a first preset radix, and to represent one respective first content code using second recorded information with a second preset number of bits and a second preset radix; determining respective molecular modules according to the first recorded information and the second recorded information; combining said determined molecular modules in order such that a composition corresponds to said initial information; The method includes:

42. Obtaining the initial information to be stored and representing the initial information using the first address code and the first content code includes: obtaining said initial information; specifying a number of unit bits of content at one position in the initial information corresponding to one first address code, the number of unit bits of content at each position in the initial information being equal to each other; when the total number of bits of the initial information is an integer multiple of the number of unit bits, dividing the initial information into one or more initial information fragments; if the total number of bits of the initial information is not an integer multiple of the number of unit bits, padding the initial information such that the total number of bits of a resulting padded initial information is an integer multiple of the number of unit bits, and dividing the padded initial information into one or more initial information fragments. and the number of bits of each initial information fragment is the unit number of bits.

43. 43. The method of claim 42, wherein padding the initial information comprises supplementing placeholder content in the initial information, the placeholder content and non-placeholder content in the initial information each corresponding to a different molecular module.

44. The method of claim 41 , wherein the initial information further includes error correction content.

45. the sum of the first preset number of bits and the first preset radix is ​​less than the maximum possible number of different values ​​of the first address code, and the sum of the second preset number of bits and the second preset radix is ​​less than the maximum possible number of different values ​​of the first content code, and 42. The method of claim 41, wherein the first preset bit number power of the first preset radix is ​​greater than the maximum possible genus of different values ​​of the first address code, and the second preset bit number power of the second preset radix is ​​greater than the maximum possible genus of different values ​​of the first content code.

46. 42. The method of claim 41 , wherein determining the respective molecular modules according to the first recorded information and the second recorded information comprises determining different molecular modules for the first recorded information and the second recorded information, respectively.

47. Determining the respective molecular modules according to the first recorded information and the second recorded information includes: determining different molecular modules for content on different bits in the first recorded information, respectively, and determining different molecular modules for different content on the same bit in the first recorded information, respectively; and / or determining different molecular modules for content on different bits in the second recorded information, respectively, and determining different molecular modules for different content on the same bit in the second recorded information, respectively.

47. The method of claim 46, comprising:

48. Determining the respective molecular modules according to the first recorded information and the second recorded information includes: for each first record information, representing the first record information using a second address code and a second content code, wherein each location in the first record information is represented by a second address code in one-to-one correspondence with the location, and the content at each location in the first record information is represented by a respective second content code; and determining the respective molecular modules according to the second address code and the second content code; and / or Representing, for each piece of second record information, the second record information using a third address code and a third content code, where each location in the second record information is represented by a third address code in one-to-one correspondence with the location, and the content at each location in the second record information is represented by a respective third content code; and determining said respective molecular modules according to said third address code and said third content code; 42. The method of claim 41 , comprising:

49. 49. The method of claim 48, wherein determining the respective molecular modules according to the first recorded information and the second recorded information comprises determining different molecular modules for the second address code, the second content code, the third address code and the third content code, respectively.

50. Determining the respective molecular modules according to the first recorded information and the second recorded information includes: determining different molecular modules for said second address codes having different values, respectively; or determining different molecule modules for said second content codes having different values, respectively; or determining different molecular modules for the third address codes having different values, respectively; or determining different molecular modules for said third content codes having different values, respectively; 50. The method of claim 49, comprising:

51. Determining the respective molecular modules according to the first recorded information and the second recorded information includes: If the second address code has Na2 different values, determining different molecular modules for the second address codes having (Na2-1) different values, respectively, and making the second address code having one remaining value not correspond to any molecular module; or When the second content code has Nc2 different values, determining different molecular modules for the second content codes having (Nc2-1) different values, respectively, and making the second content code having one remaining value not correspond to any molecular module; or If the third address code has Na3 different values, determining different molecular modules for the third address codes having (Na3-1) different values ​​respectively, and making the third address code having one remaining value not correspond to any molecular module; or When the third content code has Nc3 different values, determining different molecular modules for the third content code having (Nc3-1) different values, respectively, and making the third content code having one remaining value not correspond to any molecular module.

50. The method of claim 49, comprising:

52. 49. The method of claim 48, wherein determining the respective molecular modules according to the first recorded information and the second recorded information comprises determining different molecular modules for combinations of two or three different values ​​of the second address code, the second content code, the third address code, and the third content code, respectively.

53. Determining the respective molecular modules according to the first recorded information and the second recorded information includes: determining different molecule modules for different combinations of values ​​of the second address code and the second content code, respectively; or determining different molecule modules for different combinations of values ​​of the third address code and the third content code, respectively; 53. The method of claim 52, comprising:

54. Determining the respective molecular modules according to the first recorded information and the second recorded information includes: determining different molecular modules for the combination of the second address code and the second content code having (Nac2-1) different values, respectively, when the combination of the second address code and the second content code has Nac2 different values, and determining that the combination of the second address code and the second content code having one remaining value does not correspond to any molecular module; or determining different molecular modules for the combination of the third address code and the third content code having (Nac3-1) different values, respectively, when the combination of the third address code and the third content code has Nac3 different values, and determining that the combination of the third address code and the third content code having one remaining value does not correspond to any molecular module; 53. The method of claim 52, comprising:

55. combining the determined molecular modules in order such that the composition corresponds to the initial information; forming terminals at the connection ends of the determined molecular modules corresponding to a preset order; mixing the formed molecular modules with the respective termini to generate the composition corresponding to the initial information; 42. The method of claim 41 , comprising:

56. the molecular fragments acting as termini are part of the respective molecular modules; or 56. The method of claim 55, wherein the molecular fragments that function as termini are added to the respective molecular modules after the molecular modules have been determined.

57. mixing the formed molecular modules with the respective termini to generate the composition corresponding to the initial information; combining said determined molecular modules in sequence using a ligase; combining the determined molecular modules in sequence using linkers disposed at the ends of the molecular modules; or and combining the determined molecular modules in sequence using the polymerase chain reaction.

56. The method of claim 55, comprising at least one of:

58. 42. The method of claim 41, wherein the molecular module comprises at least one of a deoxyribonucleic acid, a ribonucleic acid, a peptide, an organic polymer, an organic small molecule, a non-natural nucleotide, a modified nucleotide, an artificially synthesized nucleotide, a carbon nanomaterial, an inorganic material, or a spaced molecular fragment.

59. 42. The method of claim 41, wherein the various molecular modules are distinguished using at least one of their sequence distribution, sequence length, secondary structure, crystalline or amorphous nature, or morphology.

60. 42. The method of claim 41, wherein the edit distance between different molecular modules is greater than or equal to a preset distance threshold.

61. 1. A device for molecular storage of information, comprising: an acquisition unit configured to acquire the initial information to be stored; A coding unit, an operation of representing the initial information using first address codes and first content codes, wherein each location in the initial information is represented by a first address code that corresponds one-to-one to the location, and content at each location in the initial information is represented by a respective first content code; recording each respective first address code to represent one respective first address code using the first recorded information together with a first preset number of bits and a first preset radix; and determining each molecular module according to the first content code and the first recorded information; A coding unit configured to perform The device that contains

62. 62. The device of claim 61, further comprising a writer unit configured to combine the determined molecular modules in sequence such that a composition corresponds to the initial information.

63. 1. A device for molecular storage of information, comprising: an acquisition unit configured to acquire the initial information to be stored; A coding unit, an operation of representing the initial information using first address codes and first content codes, wherein each location in the initial information is represented by a first address code that corresponds one-to-one to the location, and content at each location in the initial information is represented by a respective first content code; recording each respective first content code to represent one respective first content code using second recorded information together with a second preset number of bits and a second preset radix; and determining each molecular module according to the first address code and the second recorded information; A coding unit configured to perform The device that contains

64. 64. The device of claim 63, further comprising a writer unit configured to combine the determined molecular modules in sequence such that a composition corresponds to the initial information.

65. 1. A device for molecular storage of information, comprising: an acquisition unit configured to acquire the initial information to be stored; A coding unit, an operation of representing the initial information using first address codes and first content codes, wherein each location in the initial information is represented by a first address code that corresponds one-to-one to the location, and content at each location in the initial information is represented by a respective first content code; an operation of recording each first address code and each first content code, respectively, to represent one respective first address code using the first recorded information with a first preset number of bits and a first preset radix, and to represent one respective first content code using the second recorded information with a second preset number of bits and a second preset radix; determining respective molecular modules according to the first recorded information and the second recorded information; A coding unit configured to perform The device that contains

66. 66. The device of claim 65, further comprising a writer unit configured to sequentially combine the determined molecular modules such that a composition corresponds to the initial information.

Citation Information

Patent Citations

  • Systems for nucleic acid-based data storage

    JP2020507168A

  • DNA-based data storage and retrieval

    JP2020534633A