Data writing control device, data writing system, and data writing control method
Through the data writing control device and system, the problem of poor compatibility between molecular storage technology and traditional computer systems is solved, efficient and convenient molecular storage is achieved, and the stability and portability of data storage are improved.
Patent Information
- Application Number
- CN202410138350.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-31
- Publication Date
- 2025-08-01
AI Technical Summary
The existing molecular storage technology has poor compatibility with traditional computer systems, and the implementation method is complex, making it difficult to store data in molecules efficiently and conveniently.
It provides a data writing control device and system, including an interface unit, a molecular coding unit, a production control unit and an index table, and realizes efficient generation and storage of molecules or molecular fragments by encoding and producing control data.
Improves the compatibility and efficiency of molecular storage, simplifies the data writing process, and improves the stability and portability of data storage.
Smart Images

Figure CN120406812A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of molecular storage technologies, and in particular, to a data writing control device, a data writing system, and a data writing control method. Background Art
[0002] With the significant development of information technology, people's demand for data storage has also increased rapidly. Traditional data storage media include hard disks, flash memories, magnetic tapes, optical discs, etc., which have problems such as low storage density, short retention time, and high energy consumption. In order to achieve higher storage density and more reliable storage effects, a scheme for storing data in molecules has been proposed currently. Taking deoxyribonucleic acid (DNA) for data storage as an example, its storage density can theoretically reach more than 10 6 to 10 7 times that of traditional storage media, reducing the costs of data storage operation and maintenance by orders of magnitude. In addition, DNA is also very stable, and under dry and low-temperature conditions, the data in it can be preserved for more than a thousand years. Moreover, in terms of carbon emissions and energy consumption, data security, portability, etc., molecular storage also has very great advantages compared with traditional storage methods. However, currently, the compatibility between this kind of molecular storage and traditional computer systems is poor, and the implementation method is complex. Therefore, there is a need to improve the existing molecular storage technology. Summary of the Invention
[0003] The purpose of the present disclosure is to provide a data writing control device, a data writing system, and a data writing control method.
[0004] According to a first aspect of the present disclosure, there is provided a data writing control device, including:
[0005] A first interface unit configured to obtain data to be written;
[0006] A molecular encoding unit communicatively connected to the first interface unit, and the molecular encoding unit is configured to encode data to be encoded to generate molecular encoded data, where the data to be encoded includes the data to be written, and the molecular encoded data is used to indicate a molecule or molecular fragment corresponding to the data to be encoded; and
[0007] A production control unit communicatively connected to the molecular encoding unit, and the production control unit is configured to generate production control data according to the molecular encoded data, where the production control data is used to indicate the task content and task assignment of a molecular production task for forming a molecule or molecular fragment corresponding to the data to be encoded;
[0008] Among them, an index table is further provided in the data writing control device, and the index table is configured to record the mapping relationship between the logical address and the physical address of the written data.
[0009] In some embodiments, the data writing control device further includes:
[0010] A connection control unit configured to schedule the interaction of at least part of the data within the data writing control device.
[0011] In some embodiments, the first interface unit is directly communicatively connected to the connection control unit; and
[0012] The molecular encoding unit is communicatively connected to the first interface unit via the connection control unit.
[0013] In some embodiments, the data writing control device further includes:
[0014] A cache unit communicatively connected to the connection control unit, and the cache unit is configured to cache data.
[0015] In some embodiments, the data writing control device further includes:
[0016] A reliability control unit communicatively connected to the connection control unit and the production control unit, and the reliability control unit is configured to control the completion of the current molecular production task and / or record the current molecular production state in case of an exception.
[0017] In some embodiments, the reliability control unit includes:
[0018] A reliability controller communicatively connected to the connection control unit and the production control unit, and the reliability controller is configured to monitor whether an exception occurs, and control the completion of the current molecular production task and / or record the current molecular production state in case of an exception; and
[0019] A backup power supply configured to supply power in case of an exception.
[0020] In some embodiments, the data writing control device further includes:
[0021] A calculation unit communicatively connected to the connection control unit, and the calculation unit is configured to perform at least part of the calculations within the data writing control device.
[0022] In some embodiments, the calculation unit is configured to perform at least one of the following calculations:
[0023] Conversion between the logical address and the physical address of the written data;
[0024] Conversion between data types; and
[0025] Conversion between number systems of data values.
[0026] In some embodiments, the data writing control device further includes:
[0027] An error correction control unit, which is communicatively connected to the connection control unit and the molecular encoding unit, and the error correction control unit is configured to generate error correction data according to the data to be written received from the first interface unit via the connection control unit, and transmit the error correction data to the molecular encoding unit as part of the data to be encoded.
[0028] In some embodiments, the data writing control device further includes:
[0029] A backup control unit, which is communicatively connected to the connection control unit and the molecular encoding unit, and the backup control unit is configured to generate backup data according to the data to be written received from the first interface unit via the connection control unit, and transmit the backup data to the molecular encoding unit as part of the data to be encoded.
[0030] In some embodiments, the data writing control device further includes:
[0031] One or more second interface units, wherein at least one second interface unit among the one or more second interface units has an interface type different from that of the first interface unit.
[0032] In some embodiments, the data writing control device further includes:
[0033] One or more production machines, each of the one or more production machines is communicatively connected to the production control unit, and each production machine is configured to perform a molecular production task according to production control data from a corresponding part of the production control unit to form molecules or molecular fragments corresponding to the data to be encoded.
[0034] According to a second aspect of the present disclosure, there is provided a data writing system, including:
[0035] The data writing control device as described above.
[0036] In some embodiments, the data writing system further includes:
[0037] One or more production machines, each of the one or more production machines being communicatively connected to the production control unit in the data writing control device, and each production machine being configured to perform a molecular production task according to production control data from a corresponding part of the production control unit to form a molecule or molecular fragment corresponding to the data to be encoded.
[0038] In some embodiments, the data writing system further includes:
[0039] A molecular repository, the molecular repository being connected to the one or more production machines, and the molecular repository being configured to store molecules or molecular fragments from the one or more production machines.
[0040] In some embodiments, the molecular repository includes one or more molecular storage disks, and each molecular storage disk is configured to store molecules or molecular fragments from a corresponding production machine.
[0041] In some embodiments, the data writing system further includes:
[0042] A user device, in which a molecular file system is provided, the molecular file system being configured to manage the data to be written so that the size of a block in the logical block addressing mode LBA is adapted to the size of a block in the molecular repository.
[0043] According to a third aspect of the present disclosure, there is provided a data writing control method, at least part of the operations in the data writing control method being performed by the data writing control device as described above, the data writing control method including:
[0044] Obtaining the data to be written by a first interface unit;
[0045] Encoding the data to be encoded by a molecular encoding unit to generate molecular encoded data, where the data to be encoded includes the data to be written, and the molecular encoded data is used to indicate a molecule or molecular fragment corresponding to the data to be encoded;
[0046] Generating production control data by a production control unit according to the molecular encoded data, where the production control data is used to indicate the task content and task assignment of a molecular production task for forming a molecule or molecular fragment corresponding to the data to be encoded; and
[0047] Performing a molecular production task by a corresponding production machine in the one or more production machines according to production control data from a corresponding part of the production control unit to form a molecule or molecular fragment corresponding to the data to be encoded.
[0048] In some embodiments, the data writing control method further includes:
[0049] Store the formed molecules or molecular fragments in a molecular repository.
[0050] In some embodiments, the data writing control method further includes performing at least one of the following operations:
[0051] Generate error correction data according to the data to be written by an error correction control unit, and transmit the error correction data to the molecular encoding unit as part of the data to be encoded;
[0052] Generate backup data according to the data to be written by a backup control unit, and transmit the backup data to the molecular encoding unit as part of the data to be encoded;
[0053] When meeting preset cache conditions, cache at least part of the data to be written, at least part of the data to be encoded, at least part of the molecular encoded data, or at least part of the production control data in a cache unit; and
[0054] When an exception occurs, control the reliability control unit to complete the current molecular production task and / or record the current molecular production status.
[0055] In some embodiments, the data writing control method further includes performing at least one of the following operations:
[0056] After writing and / or backing up the data to be written, convert the physical address of the written data into a logical address by a computing unit, and update it in the index table; and
[0057] When caching data, update the remaining space information of the cache unit;
[0058] Among them, the meta-file management data includes the index table and the remaining space information of the cache unit.
[0059] In some embodiments, the data writing control method further includes:
[0060] After writing the data to be written, use the updated meta-file management data as the data to be encoded to form molecules or molecular fragments corresponding to the updated meta-file management data.
[0061] In some embodiments, the data writing control method further includes:
[0062] Obtain the original data; and
[0063] Convert the original data by a molecular file system into data to be written such that the size of the blocks in the logical block addressing mode LBA is adapted to the size of the blocks in the molecular repository.
[0064] Other features and advantages of the present disclosure will become clearer from the following detailed description of the exemplary embodiments of the present disclosure with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0065] The drawings forming a part of the specification depict embodiments of the present disclosure and, together with the specification, are used to explain the principles of the present disclosure.
[0066] With reference to the accompanying drawings, the present disclosure can be more clearly understood from the following detailed description, wherein:
[0067] Figure 1 FIG. shows a schematic structural diagram of a data writing system according to an exemplary embodiment of the present disclosure;
[0068] Figure 2 FIG. shows a schematic structural diagram of a data writing system according to another exemplary embodiment of the present disclosure;
[0069] Figure 3 FIG. shows a schematic flowchart of a data writing control method according to an exemplary embodiment of the present disclosure;
[0070] Figure 4 [[ID=2�]]FIG. shows a schematic functional diagram of data writing control according to a specific embodiment of the present disclosure.
[0071] Note that in the following illustrated embodiments, the same reference numerals are sometimes used commonly between different drawings to represent the same parts or parts having the same functions, and their repeated descriptions are omitted. In some cases, similar reference numerals and letters are used to represent similar items. Therefore, once an item is defined in one drawing, it does not need to be further discussed in subsequent drawings.
[0072] For ease of understanding, the positions, sizes, and ranges, etc. of the various structures shown in the drawings and the like sometimes do not represent the actual positions, sizes, and ranges, etc. Therefore, the present disclosure is not limited to the positions, sizes, and ranges, etc. disclosed in the drawings and the like. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0073] Various exemplary embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. It should be noted that: unless otherwise specifically stated, the relative arrangements, numerical expressions, and numerical values of the components and steps set forth in these embodiments do not limit the scope of the present disclosure.
[0074] The following description of at least one exemplary embodiment is merely illustrative and in no way restrictive of the present disclosure or its application or use. That is, the structures and methods herein are shown in an exemplary manner to illustrate different embodiments of the structures and methods in the present disclosure. However, those skilled in the art will understand that they are merely illustrative ways that can be used to implement the present disclosure, rather than exhaustive ways. In addition, the drawings need not be drawn to scale, and some features may be enlarged to show details of specific components.
[0075] Technologies, methods, and devices known to those of ordinary skill in the relevant art may not be discussed in detail, but where appropriate, such technologies, methods, and devices should be considered part of the authorized specification.
[0076] In all examples shown and discussed herein, any specific values should be construed as merely exemplary, rather than as limitations. Thus, other examples of exemplary embodiments may have different values.
[0077] With the development of storage technologies, new storage methods of storing data in molecules have been proposed. For example, molecules or molecular fragments for storing data may include DNA, ribonucleic acid (RNA), unnatural nucleic acids, unnatural nucleotides, modified nucleotides, synthetic nucleotides, peptides, organic polymers, organic small molecules, carbon nanomaterials, and inorganic substances, etc. When storing data, different molecules or molecular fragments can be used to represent corresponding parts of the data to be stored, and these molecules or molecular fragments can be combined together by means of covalent bonds, ionic bonds, hydrogen bonds, intermolecular forces, hydrophobic forces, base complementary pairing, etc. to represent complete data. Thus, different from the traditional ways of storing data using disks, optical discs, etc., when storing data with molecules, physical or chemical changes of molecules or molecular fragments are usually involved, and these physical or chemical changes will make it very inconvenient to write data, and it is difficult for users to efficiently and conveniently achieve data storage.
[0078] To solve the above problems, the present disclosure proposes a data writing control device, a data writing system including the data writing control device, and a data writing control method in which at least some operations are performed by the data writing control device. In an exemplary embodiment of the present disclosure, as Figure 1 and Figure 2As shown, the data writing system may include a data writing control device 100. In some embodiments, as needed, the data writing system may further include at least one of a user device 200 and a molecular repository 300. Under the action of the data writing control device 100, corresponding molecules or molecular fragments can be efficiently and conveniently generated according to the data to be written from the user device 200. Further, these molecules or molecular fragments can be stored in the molecular repository 300, thereby realizing the storage of data in molecules.
[0079] In an exemplary embodiment, as Figure 1 and Figure 2 shown, the data writing control device 100 may include a first interface unit 101, a molecular encoding unit 102, and a production control unit 103.
[0080] Among them, the first interface unit 101 may be configured to obtain the data to be written. In some embodiments, the first interface unit 101 may obtain the data to be written from the user device 200, where the data to be written may be generated according to the data to be stored in the user device 200. Here, the data to be stored may be the original data from the application layer 210 (such as the host, transport layer, or network layer, etc.) in the user device 200 and may have various forms, such as text data, image data, video data, audio data, etc. In addition, a molecular file system 220 may be provided in the user device 200. The molecular file system 220 may obtain the data to be stored from the application layer 210 in the user device 200. In addition, the molecular file system 220 may be configured to manage the data to be written, such as performing operations like block division on the data to be stored to generate the data to be written, so that the size of the blocks in the logical block addressing mode (LBA) is adapted to the size of the blocks in the molecular repository 300 (or, in the molecular storage disks included in the molecular repository 300). In this way, on the one hand, it is convenient to perform data storage, and on the other hand, it can also help to find the corresponding data more quickly according to the block information when reading the data. In some embodiments, the molecular file system 220 adapted to the data writing control device 100 may be installed in the user device 200 in the form of software, so that the molecular file system 220 can process the data to be stored according to the requirements of the data writing control device 100 to generate the corresponding data to be written. Or, the molecular file system 220 may also be set in the user device 200 in other ways, which is not limited here.
[0081] In some embodiments, the first interface unit 101 can communicate with the user device 200 based on protocols such as PCIe or NVMe, etc., so as to receive the data to be written from the user device 200. Alternatively, the first interface unit 101 can also operate based on other types of communication protocols, which are not limited herein.
[0082] In some embodiments, as Figure 1 and Figure 2 shown, the data writing control device 100 may further include one or more second interface units 111, wherein at least one second interface unit 111 may have an interface type different from that of the first interface unit 101. For example, the second interface unit 111 may be configured to connect to an external device such as a network cable to achieve data interaction with the external device.
[0083] In some embodiments, as Figure 1 and Figure 2 shown, the data writing control device 100 may further include a connection control unit 105, which may be configured to schedule the interaction of at least part of the data within the data writing control device 100, so that the relevant part of the data within the data writing control device 100 can flow between the corresponding units in a desired manner, thereby ensuring the normal operation of the data writing control device 100. Specifically, the connection control unit 105 can control the data to flow into or out of the relevant units in a desired order, time, or manner according to the operations to be performed by the relevant units within the data writing control device 100.
[0084] In some specific examples, as Figure 1 and Figure 2 shown, the first interface unit 101 can be directly communicatively connected to the connection control unit 105, so as to transmit data such as the obtained data to be written to the corresponding units within the data writing control device 100 via the connection control unit 105. In addition, as needed, the second interface unit 111 can also be directly communicatively connected to the connection control unit 105, so as to control the flow of data from the corresponding external device within the data writing control device 100 via the connection control unit 105.
[0085] As Figure 1 and Figure 2As shown, the molecular encoding unit 102 in the data writing control device 100 can be communicatively connected to the first interface unit 101, and the molecular encoding unit 102 can be configured to encode the data to be encoded to generate molecular encoded data. Among them, the data to be encoded can include the data to be written. For example, the data to be written can be directly used as the data to be encoded, and the molecular encoded data can be used to indicate the molecule or molecular fragment corresponding to the data to be encoded. It can be understood that the molecular encoding unit 102 can encode the data to be encoded based on various encoding methods, which are not limited here. According to the molecular encoded data, the molecule or molecular fragment corresponding to the data to be encoded can be determined, and then these molecules or molecular fragments can be synthesized or generated in subsequent operations to achieve data storage.
[0086] In some embodiments, as Figure 1 and Figure 2 shown, the molecular encoding unit 102 can be communicatively connected to the first interface unit 101 via the connection control unit 105 to obtain the data to be encoded under the scheduling of the connection control unit 105. In some cases, for example, when the encoding rate of the molecular encoding unit 102 is large enough, the connection control unit 105 can control to transmit all the data to be encoded to the molecular encoding unit 102 for encoding. However, in the case where the encoding rate of the molecular encoding unit 102 is small and there may be a situation where it is too late to encode, the connection control unit 105 can control to transmit only part of the data to be encoded to the molecular encoding unit 102 for encoding, and store the other data to be encoded temporarily in the buffer unit 105 of the data writing control device 100. Then, when the encoding ability of the molecular encoding unit 102 is restored, it controls to transmit the data to be encoded temporarily stored in the buffer unit 105 to the molecular encoding unit 102 for encoding, so as to realize the regulation of the encoding process and avoid data congestion.
[0087] As Figure 1 and Figure 2 shown, the production control unit 103 of the data writing control device 100 can be communicatively connected to the molecular encoding unit 102, and the production control unit 103 can be configured to generate production control data according to the molecular encoded data. Among them, the production control data can be used to indicate the task content and task assignment of the molecular production task, and the molecular production task is used to form the molecule or molecular fragment corresponding to the data to be encoded. The production control unit 103 determines the task content and task assignment of the molecular production task to be executed according to the molecular encoded data to help realize the reasonable operation of the molecular production task, thereby improving the efficiency of storing data in molecules.
[0088] In some embodiments, considering that the data interaction between the production control unit 103 and the molecular encoding unit 102 is relatively simple, the production control unit 103 can be directly communicatively connected to the molecular encoding unit 102 without being connected via the connection control unit 105, thereby simplifying the data communication within the data writing control device 100.
[0089] In some embodiments, as Figure 1 shown, the data writing control device 100 may further include one or more production machines 400, where each production machine 400 can be communicatively connected to the production control unit 103, and each production machine 400 can be configured to perform a molecular production task according to the production control data of the corresponding part from the production control unit 103 to form a molecule or molecular fragment corresponding to the data to be encoded. It can be understood that in the case of multiple production machines 400, the production control unit 103 can send only the production control data associated with the molecular production task to be executed by a certain production machine 400 to that production machine 400, thereby improving the data interaction efficiency and the processing efficiency of the production control data by the production machine 400, and further improving the production efficiency of the molecule or molecular fragment. In addition, in some embodiments, the production machine 400 can combine the determined molecules or molecular fragments in a desired order based on reactions such as polymerase chain reaction (PCR).
[0090] In a specific example, in the case where DNA is used as the data storage medium, the production machine 400 can be used to perform operations such as DNA assembly and printing. In addition, in some embodiments, the production machine 400 can also perform operations such as collection and sorting of the generated DNA for subsequent storage of the generated DNA in the molecular storage library 300. The DNA formed by the production machine 400 can be in the form of a solution or a solid form (e.g., dry powder, etc.). In addition, by setting multiple production machines 400, multiple molecular production tasks can be executed in parallel to improve the data writing efficiency. The composition of the molecule or molecular fragment used to represent data formed by the production machine 400 can be in the form of a mixture or a compound. For example, the composition can include multiple different DNA strands, which can respectively represent the corresponding parts of the data to be written, and they are mixed together to represent the complete data to be written. Or, the DNA strands representing the corresponding parts of various data to be written can be further synthesized into longer DNA strands to represent the complete data to be written in the form of a compound. Or, synthesis can start from more basic nucleotides to generate DNA strands corresponding to the data to be written. It can be understood that in other specific examples, RNA, polypeptide, etc. can also be used as the data storage medium, which is not limited herein.
[0091] In another exemplary embodiment of the present disclosure, as Figure 2As shown, one or more production machines 400 may also be set independently of the data writing control device 100. Considering that the production machine 400 needs to perform the production of molecules or molecular fragments, according to different production processes, it may have different configurations, and it is usually difficult to integrate the production machine 400 for performing various physical or chemical reactions into a chip. Therefore, the data writing control device 100 and the production machine 400 can be set separately. In this way, the data writing control device 100 can be formed in the form of, for example, a chip or a microcontroller, thus having a smaller volume and better portability. Such a data writing control device 100 can be installed on the corresponding production machine 400 or other devices as needed to control the molecular storage of data.
[0092] In some embodiments, as Figure 1 and Figure 2 shown, the data writing system may further include a molecular repository 300, which can be connected to one or more production machines 400 in the data writing system, and the molecular repository 300 can be configured to store molecules or molecular fragments from the above-mentioned one or more production machines 400. In some embodiments, as Figure 1 and Figure 2 shown, the molecular repository 300 may include one or more molecular storage disks 310, and each molecular storage disk 310 can be configured to store molecules or molecular fragments from the corresponding production machine 400. In Figure 1 and Figure 2 the example shown, one production machine 400 can be connected to multiple molecular storage disks 310 so that the molecules or molecular fragments produced by the production machine 400 can be properly stored in the corresponding molecular storage disks 310. However, it can be understood that one production machine 400 can also be connected to one molecular storage disk 310, or multiple production machines 400 can be connected to the same molecular storage disk 310, which is not limited here. Further, the storage space of each molecular storage disk 310 can be divided into multiple parts, including, for example, a file metadata segment part (for storing molecules or molecular fragments corresponding to the metadata of the file (data for describing relevant information of the data to be stored)), a file data segment part (for storing molecules or molecular fragments corresponding to the data to be stored), etc., where the size and content of each part can be determined by the data writing control device 100.
[0093] In some embodiments, as Figure 1 and Figure 2As shown, an index table 104 can also be provided in the data writing control device 100. For example, the index table 104 can be stored at a corresponding storage location in the data writing control device 100. The index table 104 can be configured to record the mapping relationship between the logical address of the written data (i.e., the virtual address used in the relevant program to specify the data) and the physical address (i.e., the actual address where the molecule or molecular fragment representing the data is located (e.g., the actual address in the molecule repository 300 or the molecular storage disk 310)) so as to find the corresponding data as needed. In addition, after operations such as writing, backing up, or updating the data are completed, generally, the index table 104 needs to be updated according to the results of the writing, backing up, or updating to ensure the accuracy of the address mapping relationship recorded therein and facilitate subsequent data searching. In Figure 1 and Figure 2 the specific embodiment shown, the connection control unit 105 can access the index table 104 to read the required data from the index table 104 or perform operations such as maintaining and updating the data in the index table 104.
[0094] As Figure 1 and Figure 2 shown and as mentioned above, the data writing control device 100 can also include a cache unit 106, and the cache unit 106 can be communicatively connected to the connection control unit 105 to cache data as needed under the scheduling or control of the connection control unit 105. Specifically, the processing rates of different units in the data writing system for data or molecules (molecular fragments) may be different, and this mismatch in processing rates may lead to situations where it is difficult to complete the desired operations in a timely manner in some places. At this time, the coordination of the cache unit 106 is required, that is, the cache unit 106 can be configured to cache at least part of the data to be written, at least part of the data to be encoded, at least part of the molecule-encoded data, or at least part of the production control data in the cache unit when meeting the preset cache conditions.
[0095] For example, similar to what was mentioned above, when the rate at which the molecular encoding unit 102 receives data to be encoded is greater than the rate at which the molecular encoding unit 102 encodes the data to be encoded, part of the data to be encoded can be temporarily stored in the buffer unit 106 under the control of the connection control unit 105, so as to continue encoding when the molecular encoding unit 102 becomes idle again, avoiding a decrease in computing efficiency or even the occurrence of computing errors caused by data congestion. Or, when the encoding rate of the molecular encoding unit 102 is greater than the rate at which the production machine 400 generates corresponding molecules or molecular fragments, part of the molecular encoding data or part of the production control data can also be temporarily stored in the buffer unit, so as to continue production when the production machine 400 becomes idle again, enabling the production machine 400 to normally produce molecules or molecular fragments and avoiding the occurrence of production errors. It can be understood that the buffer unit 106 can also be used to cache various other data formed during the data writing process as needed, which is not limited herein.
[0096] In some embodiments, as Figure 1 and Figure 2 shown, the data writing control device 100 may further include a reliability control unit 107. The reliability control unit 107 may be communicatively connected to the connection control unit 105 and the production control unit 103, and the reliability control unit 107 may be configured to control the completion of the current molecular production task and / or record the current molecular production state in the event of an abnormality, so as to prevent errors from occurring during data writing. Here, the abnormal conditions may include but are not limited to power failure of the data writing control device 100, failure or damage of units or components in the data writing control device 100, power failure of the production machine 400, failure or damage of components in the production machine 400, failure or damage of the molecular storage library 300, etc.
[0097] In a specific example, the reliability control unit 107 may include a reliability controller and a backup power supply. Among them, the reliability controller may be communicatively connected to the connection control unit 105 and the production control unit 10:3, and the reliability controller may be configured to monitor whether an abnormality occurs. In the event of an abnormality, the reliability controller may be configured to control the completion of the current molecular production task. For example, it may enable the production machine 400 to complete the current molecular production task with the power supply support of the backup power supply, so as to ensure the correctness of molecular storage as much as possible. In addition, the reliability controller may also be configured to record the current molecular production state in the event of an abnormality, so as to continue executing data writing after the abnormality is excluded and ensure the accuracy of writing. As described above, the backup power supply may be configured to supply power in the event of an abnormality, especially to supply power to corresponding units, components, or devices as needed.
[0098] In some embodiments, as Figure 1 andFigure 2 As shown, the data writing control device 100 may further include a calculation unit 108. The calculation unit 108 may be communicatively connected to the connection control unit 105, and the calculation unit 108 may be configured to perform at least part of the calculations within the data writing control device 100. In some embodiments, the calculation unit 108 may include a central processing unit (CPU) to perform corresponding calculations within the data writing control device 100. For example, the calculation unit 108 may be configured to perform at least one of the following calculations: conversion between the logical address and the physical address of the written data; conversion between data types; and conversion between number systems of data values, etc. It can be understood that the logical address or physical address generated by the calculation unit 108 through the address conversion calculation may be updated to the index table 104 via the connection control unit 105, so as to achieve the maintenance of the index table 104.
[0099] In some embodiments, as Figure and As shown, the data writing control device 100 may further include an error correction control unit 109. The error correction control unit 109 may be communicatively connected to the connection control unit 105 and the molecular encoding unit 102, and the error correction control unit 109 may be configured to generate error correction data based on the data to be written received from the first interface unit 101 via the connection control unit 105, and transmit the error correction data to the molecular encoding unit 102 as part of the data to be encoded. Specifically, the error correction control unit 109 may generate an error correction code for the data to be written, and add the error correction code as part of the data to be encoded, and store it in the molecule together with the data to be written, so as to check the stored data when reading the data, etc. It can be understood that the error correction code may be generated based on various algorithms. For example, RS codes, LDPC codes, etc. may be generated, which are not limited herein. It can be understood that storing the error correction code usually requires additional storage space, that is, usually additional molecules or molecular fragments are needed to represent the error correction code.
[0100] In some embodiments, as and As shown, the data writing control device 100 may further include a backup control unit 110, which may be communicatively connected to the connection control unit 105 and the molecular encoding unit 102, and the backup control unit 110 may be configured to generate backup data based on the data to be written received from the first interface unit 101 via the connection control unit 105, and transmit the backup data to the molecular encoding unit as part of the data to be encoded. By setting up the backup control unit 110, the data to be written can be backed up. That is, for the same data to be written, multiple physical addresses can be allocated to generate multiple corresponding molecules or molecular fragments, and each physical address stores a corresponding molecule or molecular fragment. In this way, each molecule or molecular fragment can be stored in different places, such as in different molecular storage disks 310 or in different molecular storage libraries 300, thereby avoiding data loss as much as possible and ensuring the security of the stored data. The backup control unit 110 can use various backup methods such as incremental backup and block backup to implement the backup of the data to be written, which is not limited here. Incremental backup refers to the practice of backing up only the data that has been added or modified since the previous full backup or the previous incremental backup, improving backup efficiency. Furthermore, block-by-block backup refers to copying data at the physical block level. This backup method is highly efficient, highly real-time, and reduces backup time. It is also possible to combine incremental and block-by-block backup methods, meaning that when performing an incremental backup, only modified physical blocks can be backed up. Furthermore, after completing the data backup, the relevant metadata and index table 104 need to be updated.
[0101] The present disclosure also proposes a data writing control method, in which at least part of the operations in the data writing control method can be performed by the data writing control device 100 as described above. In an exemplary embodiment, and As shown, the data writing control method may include:
[0102] Step S910: The first interface unit obtains data to be written.
[0103] In which, the original data (data to be stored) from the application layer can be obtained, and then the molecular file system converts the original data into data to be written so that the size of the block in the logical block addressing mode LBA and the size of the block in the molecular storage library are adapted to each other, and sends it to the first interface unit of the data write control device.
[0104] Furthermore, the data writing control method may further include:
[0105] Step S920: the molecular encoding unit encodes the data to be encoded to generate molecular encoding data;
[0106] Step S930, the production control unit generates production control data according to the molecular encoding data; and
[0107] Step S940, the corresponding production machine in one or more production machines performs a molecular production task according to the production control data from the corresponding part of the production control unit to form a molecule or molecular fragment corresponding to the data to be encoded.
[0108] As described above regarding the data writing control device 100 and the data writing system, the data to be encoded may include the data to be written, the molecular encoding data may be used to indicate the molecule or molecular fragment corresponding to the data to be encoded, and the production control data may be used to indicate the task content and task assignment of the molecular production task for forming the molecule or molecular fragment corresponding to the data to be encoded.
[0109] Furthermore, in some embodiments, the data writing control method may further include storing the formed molecule or molecular fragment in a molecular repository.
[0110] In addition, in the data writing control method, as shown, after the data writing control device obtains the data to be written, the error correction control unit may generate error correction data according to the data to be written and transmit the error correction data to the molecular encoding unit as part of the data to be encoded. Similarly, the backup control unit may generate backup data according to the data to be written and transmit the backup data to the molecular encoding unit as part of the data to be encoded.
[0111] Then, as shown, molecular encoding may be performed on the data to be encoded including the data to be written, the error correction code, and the backup data to determine the molecule or molecular fragment corresponding to these data to be stored.
[0112] In some embodiments, when meeting the preset caching conditions, at least part of the data to be written, at least part of the data to be encoded, at least part of the molecular encoding data, or at least part of the production control data may be cached in the cache unit to ensure the normal operation of data writing. In the specific embodiment shown, at least part of the molecular encoding data may be cached as needed to avoid writing errors that may be caused by the mismatch between the encoding rate of the molecular encoding unit and the production rate of the production machine.
[0113] In addition, as mentioned above, in the case of an exception, the reliability control unit may also control to complete the current molecular production task and / or record the current molecular production state to ensure the correctness of the written data.
[0114] In some embodiments, as As shown, in addition to writing the data to be stored itself, it is also necessary to maintain metadata, meta-files, or meta-file management data for representing the relevant information of the data to be written (including information such as the identifier (ID), type, size, encoding method, compression method, encryption method, molecular encoding method, and the position of the address in the index table of all data). Specifically, the data writing control method may further include performing at least one of the following operations: after completing the writing and / or backup of the data to be written, the computing unit converts the physical address of the written data into a logical address and updates it in the index table; and in the case of caching the data, updating the remaining space information of the cache unit; wherein, the meta-file management data may include the index table and the remaining space information of the cache unit.
[0115] Furthermore, the meta-file management data itself can also be stored in the corresponding molecule or molecular fragment. Specifically, the data writing control method may further include: after completing the writing of the data to be written, taking the updated meta-file management data as the data to be encoded to form a molecule or molecular fragment corresponding to the updated meta-file management data.
[0116] In the present disclosure, in order to simplify the operation of the user and improve the efficiency of data writing, for molecular storage, a corresponding data writing control device, data writing system, and data writing control method are proposed. The data writing control device of the present disclosure can at least extract the part related to the processing of data in a traditional computer in molecular storage and be controlled and executed by a data writing control device that can be formed in the form of a portable chip or microprocessor, so that the user can conveniently control the writing of data as long as the data writing control device is connected to the corresponding user device without considering the underlying logic of molecular storage. In addition, the data writing system may further include one or more production machines that are set independently of the data writing control device or included in the data writing control device, and these production machines can be used to perform the production of molecules or molecular fragments. Especially in the case of setting multiple production machines, concurrent production of molecules or molecular fragments can be achieved, thereby improving the data writing efficiency. In the technical solution of the present disclosure, various personalized data writing operations can be uniformly processed by using the data writing control device, data writing system, and the corresponding data writing control method, so that the data can be conveniently stored in molecules, enhancing the user experience.
[0117] It should be noted that the flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a part of code, and the module, program segment, or part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order from that marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, as well as the combination of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.
[0118] In general, the various example embodiments of the present disclosure can be implemented in hardware or dedicated circuits, software, firmware, logic, or any combination thereof. Some aspects can be implemented in hardware, while other aspects can be implemented in firmware or software that can be executed by a controller, a microprocessor, or other computing devices. When aspects of the embodiments of the present disclosure are illustrated or described as block diagrams, flowcharts, or using some other graphical representation, it will be understood that the blocks, devices, systems, techniques, or methods described herein can be implemented as non-limiting examples in hardware, software, firmware, dedicated circuits or logic, general hardware or controllers or other computing devices, or some combination thereof.
[0119] The words "front", "rear", "top", "bottom", "above", "below", etc. in the specification and claims, if any, are used for descriptive purposes and do not necessarily describe an invariant relative position. It should be understood that such words are interchangeable under appropriate circumstances, so that the embodiments of the present disclosure described herein, for example, can operate in other orientations different from those shown or otherwise described herein.
[0120] As used herein, the word "exemplary" means "serving as an example, instance, or illustration", rather than as a "model" to be precisely replicated. Any implementation described herein as exemplary is not necessarily to be construed as preferred or advantageous over other implementations. Moreover, the present disclosure is not limited by any theory expressed or implied in the above technical field, background art, summary of the invention, or detailed description.
[0121] As used herein, the term "substantially" means including any minor variations caused by design or manufacturing defects, tolerances of devices or components, environmental effects, and / or other factors. The term "substantially" also allows for differences from perfect or ideal situations due to parasitic effects, noise, and other practical considerations that may exist in an actual implementation.
[0122] Additionally, the previous description may have referred to elements or nodes or features that are "connected" or "coupled" together. As used herein, unless otherwise expressly stated, "connected" means that one element / node / feature is directly connected (or directly communicates) to another element / node / feature electrically, mechanically, logically, or otherwise. Similarly, unless otherwise expressly stated, "coupled" means that one element / node / feature can be connected to another element / node / feature either directly or indirectly mechanically, electrically, logically, or otherwise to allow interaction, even if the two features may not be 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 intermediate elements.
[0123] Furthermore, solely for reference purposes, terms such as "first", "second", etc. may also be used herein and are thus not intended to be limiting. For example, unless the context clearly indicates otherwise, the terms "first", "second", and other such numerical terms referring to a structure or element do not imply an order or sequence.
[0124] It should also be understood that when the term "comprising / including" is used herein, it states the presence of the stated features, wholes, steps, operations, units, and / or components, but does not preclude the presence or addition of one or more other features, wholes, steps, operations, units, and / or components and / or combinations thereof.
[0125] In this disclosure, the term "provide" is used broadly to encompass all ways of obtaining an object, and thus "providing an object" includes, but is not limited to, "purchasing", "preparing / manufacturing", "arranging / setting", "installing / assembling", and / or "ordering" the object, etc.
[0126] Although some specific embodiments of this disclosure have been described in detail by way of examples, those skilled in the art should understand that the above examples are for illustrative purposes only and not for limiting the scope of this disclosure. The various embodiments disclosed herein can be combined arbitrarily without departing from the spirit and scope of this disclosure. Those skilled in the art should also understand that various modifications can be made to the embodiments without departing from the scope and spirit of this disclosure. The scope of this disclosure is defined by the appended claims.
Claims
1. A data writing control device, characterized in that, The data writing control device includes: A first interface unit configured to acquire data to be written; A molecular encoding unit communicatively connected to the first interface unit and configured to encode data to be encoded to generate molecular encoded data, wherein the data to be encoded includes the data to be written, and the molecular encoded data is used to indicate a molecule or molecular fragment corresponding to the data to be encoded; and A production control unit communicatively connected to the molecular encoding unit and configured to generate production control data according to the molecular encoded data, wherein the production control data is used to indicate the task content and task assignment of a molecular production task for forming a molecule or molecular fragment corresponding to the data to be encoded; Wherein, an index table is further provided in the data writing control device, and the index table is configured to record the mapping relationship between the logical address and the physical address of the written data.
2. The data writing control device according to claim 1, wherein The data writing control device further includes: A connection control unit configured to schedule the interaction of at least part of the data in the data writing control device.
3. The data writing control device according to claim 2, characterized in that The first interface unit is directly communicatively connected to the connection control unit; and The molecular encoding unit is communicatively connected to the first interface unit via the connection control unit.
4. The data writing control device according to claim 2, characterized in that, The data writing control device further includes: A buffer unit communicatively connected to the connection control unit and configured to buffer data.
5. The data writing control device according to claim 2, wherein The data writing control device further includes: A reliability control unit communicatively connected to the connection control unit and the production control unit and configured to control the completion of the current molecular production task and / or record the current molecular production state in case of an abnormality.
6. The data writing control device according to claim 5, characterized in that The reliability control unit includes: A reliability controller communicatively connected to the connection control unit and the production control unit and configured to monitor whether an abnormality occurs, and control the completion of the current molecular production task and / or record the current molecular production state in case of an abnormality; and A backup power supply configured to supply power in case of an abnormality.
7. The data writing control device according to claim 2, characterized in that, The data writing control device further includes: A calculation unit communicatively connected to the connection control unit and configured to perform at least part of the calculations in the data writing control device.
8. The data writing control device according to claim 7, wherein The calculation unit is configured to perform at least one of the following calculations: Conversion between the logical address and the physical address of the written data; Conversion between data types; and Conversion between number systems of data values.
9. The data writing control device according to claim 2, characterized in that, The data writing control device further includes: An error correction control unit, which is communicatively connected to the connection control unit and the molecular encoding unit, and is configured to generate error correction data based on the data to be written received from the first interface unit via the connection control unit, and transmit the error correction data to the molecular encoding unit as part of the data to be encoded.
10. The data writing control device according to claim 2, characterized in that, The data writing control device further includes: A backup control unit, which is communicatively connected to the connection control unit and the molecular encoding unit, and is configured to generate backup data based on the data to be written received from the first interface unit via the connection control unit, and transmit the backup data to the molecular encoding unit as part of the data to be encoded.
11. The data writing control device according to claim 1, wherein The data writing control device further includes: One or more second interface units, wherein at least one of the one or more second interface units has an interface type different from that of the first interface unit.
12. The data writing control device according to any one of claims 1 to 11, characterized in that, The data writing control device further includes: One or more production machines, each of the one or more production machines is communicatively connected to the production control unit, and each production machine is configured to perform a molecular production task according to the corresponding part of the production control data from the production control unit to form a molecule or molecular fragment corresponding to the data to be encoded.
13. A data writing system, characterized in that, The data writing system includes: The data writing control device according to any one of claims 1 to 11.
14. The data writing system according to claim 13, wherein, The data writing system further includes: One or more production machines, each of the one or more production machines is communicatively connected to the production control unit in the data writing control device, and each production machine is configured to perform a molecular production task according to the corresponding part of the production control data from the production control unit to form a molecule or molecular fragment corresponding to the data to be encoded.
15. A data writing system, characterized in that, The data writing system includes: The data writing control device according to claim 12.
16. The data writing system according to any one of claims 13-14 and claim 15, characterized in that, The data writing system further includes: A molecular repository, which is connected to the one or more production machines, and is configured to store molecules or molecular fragments from the one or more production machines.
17. The data writing system according to claim 16, wherein The molecular repository includes one or more molecular storage disks, and each molecular storage disk is configured to store molecules or molecular fragments from the corresponding production machine.
18. The data writing system according to claim 16, wherein The data writing system further includes: A user device, in which a molecular file system is provided, and the molecular file system is configured to manage the data to be written so that the size of the blocks in the logical block addressing mode LBA is adapted to the size of the blocks in the molecular repository.
19. A data writing control method, characterized in that, At least part of the operations in the data writing control method are performed by the data writing control device according to any one of claims 1 to 12, and the data writing control method includes: Obtaining the data to be written by the first interface unit; Encode the data to be encoded by a molecular encoding unit to generate molecular encoded data, where the data to be encoded includes data to be written, and the molecular encoded data is used to indicate a molecule or molecular fragment corresponding to the data to be encoded; Generate production control data by a production control unit according to the molecular encoded data, where the production control data is used to indicate the task content and task assignment of a molecular production task for forming a molecule or molecular fragment corresponding to the data to be encoded; and Execute the molecular production task by a corresponding production machine in one or more production machines according to the production control data from the corresponding part of the production control unit to form a molecule or molecular fragment corresponding to the data to be encoded.
20. The data writing control method according to claim 19, wherein The data writing control method further includes: Store the formed molecule or molecular fragment in a molecular repository.
21. The data writing control method according to claim 19, wherein The data writing control method further includes performing at least one of the following operations: Generate error correction data by an error correction control unit according to the data to be written, and transmit the error correction data to the molecular encoding unit as part of the data to be encoded; Generate backup data by a backup control unit according to the data to be written, and transmit the backup data to the molecular encoding unit as part of the data to be encoded; Cache at least part of the data to be written, at least part of the data to be encoded, at least part of the molecular encoded data, or at least part of the production control data in a cache unit when meeting a preset cache condition; And When an exception occurs, control the reliability control unit to complete the current molecular production task and / or record the current molecular production status.
22. The data writing control method according to claim 19, characterized in that The data writing control method further includes performing at least one of the following operations: After completing the writing and / or backup of the data to be written, convert the physical address of the written data to a logical address by a calculation unit and update it in the index table; And When caching data, update the remaining space information of the cache unit; where the meta-file management data includes the index table and the remaining space information of the cache unit.
23. The data writing control method according to claim 22, characterized in that, The data writing control method further includes: After completing the writing of the data to be written, use the updated meta-file management data as the data to be encoded to form a molecule or molecular fragment corresponding to the updated meta-file management data.
24. The data writing control method according to claim 19, wherein The data writing control method further includes: Obtain the original data; and Convert the original data by a molecular file system into data to be written such that the size of a block in a logical block addressing mode LBA matches the size of a block in the molecular repository.