Data storage processing method, system, device and computer readable storage medium

By identifying the abnormal sblk and its corresponding target zone in the solid-state drive (SSD), and migrating the data to the normal sblk, the problem of inaccurate data storage after ZNS SSD failure was solved, and the utilization rate of the hard drive was improved.

CN119960661BActive Publication Date: 2026-07-10DAPUSTOR CORP

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
DAPUSTOR CORP
Filing Date
2023-11-08
Publication Date
2026-07-10

AI Technical Summary

Technical Problem

In existing technologies, solid-state drives (SSDs) processed using ZNS technology cannot continue to store data accurately after a failure, resulting in reduced hard drive availability.

Method used

By identifying the first abnormal sblk and its corresponding target zone in the solid-state drive, the abnormal data and target data are stored in the normal second sblk, and the data in the first and second sblks are moved to the normal third sblk. The write sblk of the target zone is modified to the third sblk. The sblk consists of a set of blocks with the same ID in the solid-state drive.

Benefits of technology

This ensures the data storage integrity of the target zone and improves the availability of the solid-state drive.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119960661B_ABST
    Figure CN119960661B_ABST
Patent Text Reader

Abstract

The application discloses a data storage processing method, system, device and computer readable storage medium, relates to the technical field of solid state disks, is applied to a ZNS solid state disk, determines a first sblk that is abnormal in the solid state disk, determines a target zone corresponding to the first sblk, stores abnormal data and target data from the target zone to a normal second sblk, moves data in the first sblk and the second sblk to a normal third sblk, and modifies a write sblk of the target zone to the third sblk, wherein the sblk includes a set composed of blocks with the same ID in the solid state disk. The application moves data in the first sblk and the second sblk to the normal third sblk, modifies the write sblk of the target zone to the third sblk, and guarantees data storage integrity and the usability of the solid state disk.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of solid-state drive technology, and more specifically, to a data storage processing method, system, electronic device, and computer-readable storage medium. Background Technology

[0002] Currently, in the application of solid state disks (SSDs), SSDs can be processed based on ZNS technology before use. However, when an SSD processed based on ZNS technology fails, it becomes difficult to continue using the SSD for accurate data storage, thus reducing the availability of the SSD.

[0003] In conclusion, ensuring the usability of solid-state drives is a problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0004] The purpose of this application is to provide a data storage processing method that can, to some extent, solve the technical problem of how to ensure the usability of solid-state drives (SSDs). This application also provides a data storage processing system, an electronic device, and a computer-readable storage medium.

[0005] To achieve the above objectives, this application provides the following technical solution:

[0006] A data storage processing method, applied to ZNS solid-state drives, includes:

[0007] Identify the first SBLK in the solid-state drive where the anomaly occurred;

[0008] Determine the target zone corresponding to the first sblk;

[0009] The abnormal data and the target data from the target zone are stored in the normal second sblk;

[0010] Move the data from the first sblk and the second sblk to the normal third sblk;

[0011] Modify the write sblk of the target zone to the third sblk;

[0012] Here, sblk includes a set of blocks with the same ID in the solid-state drive.

[0013] Preferably, after modifying the write sblk of the target zone to the third sblk, the method further includes:

[0014] Obtain the sblk ID information of the third sblk;

[0015] Obtain the super page ID information of the third sblk, where the super page represents a superset of pages with the same page ID within the sblk;

[0016] Obtain the Au off information of the third sblk, wherein the Au off information represents the position offset of Au within the super page;

[0017] The target Pma address of the third sblk is determined based on the sblk Id information, the super page Id information, and the Au off information;

[0018] Update the L2P relationship of the target zone based on the target Pma address.

[0019] Preferably, the LMA addresses of the zones in the solid-state drive are continuous, the PMA addresses within a single superpage are continuous, and the PMA addresses between adjacent superpages are continuous, further comprising:

[0020] Determine the first LMA address of the data to be written;

[0021] Determine the known second Lma address and its corresponding second Pma address;

[0022] Determine the offset information between the first Lma address and the second Lma address;

[0023] Based on the second Pma address, the offset information, and the Pma address continuation pattern, the first Pma address corresponding to the first Lma address is determined;

[0024] Update the correspondence between the first Lma address and the first Pma address.

[0025] Preferably, the Pma address continuation method includes sequentially increasing Pma addresses;

[0026] Determining the first Pma address corresponding to the first Lma address based on the second Pma address, the offset information, and the Pma address continuation method includes:

[0027] The second Pma address is added to the offset information to obtain the first Pma address corresponding to the first Lma address.

[0028] Preferably, after modifying the corresponding sblk of the target zone to the third sblk, the method further includes:

[0029] Record the Au Done Cnt information of the third sblk, whereby the Au Done Cnt information represents the amount of data completed by the program.

[0030] Preferably, the step of moving the data from the first sblk and the second sblk to the normal third sblk includes:

[0031] If data is being written to the first sblk and the second sblk, the current count value is assigned to the amount of data being written; otherwise, the current count value is assigned to 0.

[0032] The data volume in the first sblk, the second sblk, and the third sblk is counted respectively;

[0033] Move a first number of data items from the first sblk to the third sblk;

[0034] Move the second number of data items from the second sblk to the third sblk;

[0035] If the third number of data in the third sblk is equal to the sum of the first number of data and the second number of data, and the current count value is 0, then the transfer ends.

[0036] Preferably, after moving the data from the first sblk and the second sblk to the normal third sblk, the method further includes:

[0037] Format the first sblk and the second sblk.

[0038] A data storage processing system, applied to ZNS solid-state drives, includes:

[0039] The first determination module is used to determine the first SBLK in the solid-state drive where an anomaly has occurred.

[0040] The second determining module is used to determine the target zone corresponding to the first sblk;

[0041] The first storage module is used to store the abnormal data and the target data from the target zone into a normal second sblk;

[0042] The second storage module is used to move the data in the first sblk and the second sblk to the normal third sblk;

[0043] The first modification module is used to modify the write sblk of the target zone to the third sblk.

[0044] Here, sblk includes a set of blocks with the same ID in the solid-state drive.

[0045] An electronic device, comprising:

[0046] Memory, used to store computer programs;

[0047] A processor for implementing the steps of any of the above-described data storage processing methods when executing the computer program.

[0048] A computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of any of the data storage processing methods described above.

[0049] This application provides a data storage processing method applied to a ZNS solid-state drive (SSD). The method involves identifying a first sblk (SBL) in the SSD that has experienced an anomaly; determining the target zone corresponding to the first sblk; storing the anomaly data and the target data from the target zone into a normal second sblk; moving the data from the first and second sblks to a normal third sblk; and modifying the write sblks of the target zone to the third sblk. Each sblk comprises a set of blocks with the same ID in the target SSD. This application divides blocks with the same ID into sblks, and when the first sblk experiences an anomaly, it uses the normal second and third sblks to store the data of the target zone, moves the data from the first and second sblks to the normal third sblk, and modifies the write sblks of the target zone to the third sblk. This ensures both the data storage integrity of the target zone and the usability of the SSD. This application also provides a data storage processing system, electronic device, and computer-readable storage medium that solves the corresponding technical problems. Attached Figure Description

[0050] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0051] Figure 1 A first flowchart of a data storage processing method provided in an embodiment of this application;

[0052] Figure 2 A schematic diagram of a zone;

[0053] Figure 3This is a schematic diagram of sblk in this application;

[0054] Figure 4 This is the first schematic diagram of data transfer on sblk;

[0055] Figure 5 This is the second schematic diagram of data transfer on sblk;

[0056] Figure 6 A second flowchart of a data storage processing method provided in an embodiment of this application;

[0057] Figure 7 A schematic diagram of Mpp;

[0058] Figure 8 This is a schematic diagram of Pma;

[0059] Figure 9 This is a diagram illustrating how Fly cnt can be used to determine whether all data in the first and second sblks has been moved to the third sblk.

[0060] Figure 10 This is a schematic diagram of the overall data storage and processing method;

[0061] Figure 11 This is a flowchart illustrating the data storage and processing method.

[0062] Figure 12 A data flow diagram for data storage and processing methods;

[0063] Figure 13 This is a schematic diagram of the structure of a data storage and processing system provided in an embodiment of this application;

[0064] Figure 14 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;

[0065] Figure 15 This is another structural schematic diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0066] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0067] Please see Figure 1 , Figure 1 This is a first flowchart of a data storage processing method provided in an embodiment of this application.

[0068] This application provides a data storage processing method applied to ZNS solid-state drives, which may include the following steps:

[0069] Step S101: Identify the first sblk in the solid-state drive where the anomaly occurred.

[0070] In practical applications, we can first identify the first SBLK (Solid State Drive) that is experiencing an anomaly. The cause of the SBLK anomaly can be determined based on the application scenario. For example, it could be program fail, wear leveling, read disturb avoidance, read error, etc. In addition, it could be that the zone has not been closed for a long time after activation, or that the SBLK cannot continue writing when the number of erases of a certain block reaches the wear leveling threshold.

[0071] It should be noted that the solid-state drive (SSD) in this application refers to an SSD processed using ZNS technology. The principle of ZNSSSD is to divide the namespace into multiple zones. Each zone can be read in any order, but must be written in sequence. Figure 2 As shown. In this context, the logic blocks (LBs) within each zone are contiguous, requiring sequential writing to the NAND flash. Furthermore, in this application, sblk refers to a set of blocks with the same ID in the solid-state drive, such as... Figure 3 As shown, sblk is a physical concept, corresponding to a real block superset, and has real attributes, including but not limited to erase count, remap, bad block management, etc. Zone is a logical space concept, which only needs to write data and record the data write point. In data storage overload, in the FW of ZNS, FE (FrontEnd) implements zone mapping, mapping the host's application data to different zones according to LBA (LB address). After FTL conversion, BE (BackEnd) writes the data in the zone to different blocks in different sblks in sequence.

[0072] In specific application scenarios, the SBlk can be set according to a zone:sblk = 1:1 relationship. This allows for high-speed writing through parallel programming of the NAND array. The design ensures a one-to-one correspondence between SBlk and zones, guaranteeing parallel programming during concurrent writes across multiple zones and ensuring high write performance for the ZNS SSD. It's worth noting that when determining the SBlk capacity, the number of horizontal NAND blocks can be calculated by multiplying the Channel, Ce, LUN, and Plane values ​​fixed at the NAND factory. The number of vertical rows within a block can be determined based on the Page values ​​fixed at the NAND factory. Combining these two values ​​allows for the calculation of the SBlk capacity.

[0073] Step S102: Determine the target zone corresponding to the first sblk.

[0074] In practical applications, due to the failure of the first SBlk, such as a program fail on a die of the SBlk, subsequent page programs within the block are likely to fail due to the electrical characteristics of NAND, affecting write IO performance. If subsequent super page writes of the SBlk skip the failed die, this approach makes the management of SBlk meta data more complex, and the meta data will be inconsistent before and after the program fail, increasing the requirements of DDR for meta data. To avoid this situation, it is necessary to prevent the first SBlk from continuing to store data, that is, to transfer and move the data transmitted from the data source of the first SBlk to other SBlks. In other words, it is necessary to transfer and move the data transmitted from the target zone corresponding to the first SBlk to other SBlks. Therefore, it is necessary to first determine the target zone corresponding to the first SBlk.

[0075] Step S103: Store the abnormal data and the target data from the target zone into the normal second sblk.

[0076] Step S104: Move the data from the first sblk and the second sblk to the normal third sblk.

[0077] Step S105: Modify the write sblk of the target zone to the third sblk; wherein, the sblk includes a set of blocks with the same ID in the solid-state drive.

[0078] In practical applications, after determining the target zone corresponding to the first sblk, the abnormal data and the target data from the target zone can be stored in the normal second sblk; the data in the first and second sblks can be moved to the normal third sblk; and the write sblk of the target zone can be modified to the third sblk.

[0079] For ease of understanding, such as Figure 4 and Figure 5 As shown, in Figure 4 In the process, if an exception occurs (e.g., program fail) on sblk1 bound to User Application 2, preventing or making it unsuitable to continue the NAND program, sblk1 is closed. At this point, the program for subsequent zone data occurs on sblk3. Data from sblk1 and sblk3 is moved to sblk4. sblk4 is then bound to the zone, and sblk1 and sblk3 are released. The program for subsequent zone data occurs on sblk4. Figure 5 In the process, when a program fail occurs on sblkA, the program fail data is rewritten to sblkB; subsequent hostwrites within the same zone are all written to sblkB; simultaneously, data on sblkA and sblkB are moved to sblkC in sequence; after all data has been moved, the write point of the zone is switched to sblkC, and subsequent writes within the zone are all written to sblkC. During this process, sblkB is defined as a cowrite (cooperate write) resource for sblkA.

[0080] In specific application scenarios, to facilitate the selection of a normal SBlk, information about the normal SBlk can be placed in a resource pool. Subsequently, when a normal SBlk is needed, it can simply be read from this resource pool. Furthermore, after moving data from the first and second SBlks to the normal third SBlk, the first and second SBlks can be formatted to allow them to continue storing data.

[0081] This application provides a data storage processing method applied to ZNS solid-state drives (SSDs). The method involves identifying a first sblk (SBL) in the SSD that has experienced an anomaly; determining the target zone corresponding to the first sblk; storing the anomaly data and the target data from the target zone into a normal second sblk; moving the data from the first and second sblks to a normal third sblk; and modifying the write sblks of the target zone to the third sblk. Each sblk comprises a set of blocks with the same ID in the SSD. This application divides blocks with the same ID into sblks, and when the first sblk experiences an anomaly, it uses the normal second and third sblks to store the data of the target zone, moves the data from the first and second sblks to the normal third sblk, and modifies the write sblks of the target zone to the third sblk. This ensures both the data storage integrity of the target zone and the usability of the SSD.

[0082] Please see Figure 6 , Figure 6 This is a second flowchart of a data storage processing method provided in an embodiment of this application.

[0083] This application provides a data storage processing method applied to ZNS solid-state drives, which may include the following steps:

[0084] Step S201: Identify the first sblk in the solid-state drive where the anomaly occurred.

[0085] Step S202: Determine the target zone corresponding to the first sblk.

[0086] Step S203: Store the abnormal data and the target data from the target zone into the normal second sblk.

[0087] Step S204: Move the data from the first sblk and the second sblk to the normal third sblk.

[0088] Step S205: Modify the write sblk of the target zone to the third sblk; wherein, the sblk includes a set of blocks with the same ID in the solid-state drive.

[0089] Step S206: Obtain the sblk ID information of the third sblk.

[0090] Step S207: Obtain the super page ID information of the third sblk. The super page represents a superset composed of pages with the same page ID within the sblk.

[0091] Step S208: Obtain the Au off information of the third sblk. The Au off information represents the position offset of Au within the super page.

[0092] Step S209: Determine the target Pma address of the third sblk based on the sblk Id information, super page Id information, and Au off information.

[0093] Step S210: Update the L2P relationship of the target zone based on the target Pma address.

[0094] In practical applications, to facilitate the translation of logical addresses to physical addresses for solid-state drives (SSDs), Mpp (media program point) virtualization technology can be designed into the FTL. For example, Figure 7 As shown, Mpp records the following data (including but not limited to): sblk Id, super Page Off, Au off, Au Done Cnt, and Fly Cnt. sblkId can index the sblk. When the host activates a zone, Mpp selects an sblk from the perspectives of wear leveling and bad block management, and records it in Mpp, representing the sblk currently being programmed. Each NAND block contains multiple pages, and each page contains 4 Au units, each Au being 4KB. The super page is a superset of pages with the same page Id within the sblk. Super Page Off represents the current sblk being written to the super page position. Au Off (Address unit off, the smallest read / write unit in NAND) represents the Au's position offset within the super page, composed of die Id and auOff within the die. Au Done Cnt represents the amount of data completed by the program, at the Au granularity. Fly Cnt represents the statistics of the program in progress after the program request is sent to NAND.

[0095] In practical applications, to facilitate the determination of the Pma (physical mapping address), the Pma can be configured to consist of the sblk ID, super page ID, and Au off. Correspondingly, after modifying the target zone's corresponding sblk to the third sblk, the sblk ID information of the third sblk can be obtained; the super page ID information of the third sblk can be obtained, where the super page represents a superset of pages with the same page ID within the sblk; the Au off information of the third sblk can be obtained, where the Au off information represents the position offset of Au within the super page; the target Pma address of the third sblk can be determined based on the sblk ID information, super page ID information, and Au off information; and the L2P relationship of the target zone can be updated based on the target Pma address. This L2P relationship is also the mapping relationship between the Lma (logic mapping address) and the Pma. Furthermore, after modifying the target zone's corresponding sblk to the third sblk, the Au Done Cnt information of the third sblk can also be recorded, where the Au Done Cnt information represents the amount of data completed by the program. It should be noted that the PMA address of sblk in this application can be determined based on its own sblk Id information, super page Id information, and Au off information, and this application does not make specific restrictions here.

[0096] In practical applications, the LMA addresses of the target SSD zones can be set to be continuous, the PMA addresses within a single superpage can be continuous, and the PMA addresses between adjacent superpages can be continuous. The method of address continuity can be determined according to the application scenario, such as sequentially increasing by a fixed value. Correspondingly, this application can also directly determine the PMA address based on the LMA address, that is, determine the first LMA address of the data to be written; determine the known second LMA address and the second PMA address corresponding to the second LMA address; determine the offset information between the first LMA address and the second LMA address; determine the first PMA address corresponding to the first LMA address based on the second PMA address, the offset information, and the continuity of the PMA addresses; and update the correspondence between the first LMA address and the first PMA address. In this way, the LMA within the zone is continuous, the PMA within the SSD is also continuous, and the LMA and PMA correspond continuously. For each piece of host data, the actual physical NAND location can be directly calculated based on the logical location offset, without the need to maintain the L2P (Lma to Pma) / P2L (Pma to Lma) mapping relationship, reducing DRAM capacity and alleviating the data flushing pressure during abnormal power loss. In addition, in practical applications, Lma can be set to 4k units, and LB can be merged into Lma to handle data migration of solid-state drives with 4k / 512-byte sectors indiscriminately.

[0097] In specific application scenarios, based on the PMA addressing method described above, LMAs within a zone are contiguous. During programming, PMAs are continuously allocated to ensure L2P continuity. Each read / write I / O operation can calculate a corresponding NAND address using LBAs. The L2P mapping can be calculated in real-time. For example, the contiguous PMA address method can include sequentially incrementing PMA addresses, i.e., incrementing by 1 each time. In this case, during the process of determining the first PMA address corresponding to the first LMA address based on the second PMA address, offset information, and the contiguous PMA address method, the second PMA address can be added to the offset information to obtain the first PMA address corresponding to the first LMA address. Figure 8 As shown, Pma is continuously addressed within the super page. When switching super pages, the last Pma in the previous row is continuous with the Pma in the next row. Lma calculates the logical offset in the zone. This offset can be used to obtain the super page ID and Au off of Pma within sblk, and thus determine the actual NAND location.

[0098] In specific application scenarios, in order to balance ZNS read / write performance and DDR space, this application designs a processing method: the L2P of open zones (the ZNS protocol stipulates that there are a maximum number of open zones on the ZNS solid-state drive) are fully maintained in DDR, and the L2P of non-open zones are calculated in real time through the above continuous mapping relationship. The L2P mapping relationship in DDR is updated when each program is completed.

[0099] In practical applications, during the transfer of data from the first and second SBlks to the normal third SBlk, to easily determine whether all data from the first and second SBlks has been transferred to the third SBlk, we can check if data is being written to the first and second SBlks. If so, we assign the current count value (Fly cnt) to the amount of data being written; otherwise, we assign the current count value to 0. We count the amount of data in the first, second, and third SBlks respectively, defining the data in the first SBlk as the first number of data, the data transferred from the second SBlk as the second number of data, and the data transferred from the first and second SBlks to the third SBlk as the third number of data. If the third number of data in the third SBlk equals the sum of the first and second numbers of data and the current count value is 0, then the transfer is complete. The judgment process can be as follows: Figure 9 As shown.

[0100] It should be noted that the real-time process of the data storage and processing method provided in this application can be determined according to the application scenario, for example, it can be as follows: Figure 10 , Figure 11 , Figure 12As shown, "move" refers to the relocation of data programmed to NAND. When moving open zone data, the LMA offset of the zone can be traversed sequentially, the L2P in DDR can be queried, the corresponding PMA can be indexed, data can be read from the NAND, and the read data can be written sequentially to the move destination SBlk. During the move process, moveWr updates the L2P together after all programmed data in the zone has been moved. hostWr / coWr updates the L2P of the current LMA when each write operation is completed. If a read occurs at this time, the content on the NAND of the hostWr / coWr SBlk will be read through the L2P, and the content on moveWr will not be read. In addition, considering the extreme scenario of consecutive program fail hits within the zone, and using sow, Sequence of write to define the resources of each write operation without distinguishing specific NAND granularities, the processing flow is as follows:

[0101] For a normal host write, the first write is "open host write sblk" to request a new write (SOW); subsequent writes request SOWs from hostWrsblk in turn.

[0102] If the program fails, shut down host Wr sblk; request coWr mpp1, open coWr sblk1, and request sow on coWr sblk1; for subsequent writes, request sow on coWr sblk1 in turn.

[0103] If a program fail occurs consecutively, both host Wr sblk and coWr sblk1 are closed; request coWr mpp2, open coWr sblk2, and request sow on coWr sblk2; for subsequent writes, request sow on coWr sblk2 in turn; if another program fail occurs, request coWr mpp3, open coWr sblk3, and repeat the process.

[0104] Please see Figure 13 , Figure 13 This is a schematic diagram of the structure of a data storage and processing system provided in an embodiment of this application.

[0105] This application provides a data storage processing system applied to ZNS solid-state drives, which may include:

[0106] The first determination module 101 is used to determine the first sblk in the solid-state drive where an anomaly has occurred.

[0107] The second determining module 102 is used to determine the target zone corresponding to the first sblk;

[0108] The first storage module 103 is used to store the abnormal data and the target data from the target zone into the normal second sblk;

[0109] The second storage module 104 is used to move data from the first sblk and the second sblk to the normal third sblk;

[0110] The first modification module 105 is used to modify the write sblk of the target zone to the third sblk.

[0111] sblk includes a set of blocks with the same ID in the solid-state drive.

[0112] The data storage processing system provided in this application embodiment may further include:

[0113] The first acquisition module is used to acquire the sblk ID information of the third sblk after the first modification module modifies the write sblk of the target zone to the third sblk.

[0114] The second acquisition module is used to acquire the super page ID information of the third sblk. The super page represents a superset of pages with the same page ID within the sblk.

[0115] The third acquisition module is used to acquire the Au off information of the third sblk. The Au off information represents the position offset of Au within the superpage.

[0116] The third determination module is used to determine the target PMA address of the third sblk based on the sblk Id information, super page Id information, and Au off information.

[0117] The first update module is used to update the L2P relationship of the target zone based on the target PMA address.

[0118] This application provides a data storage processing system in which the LMA addresses of zones in a solid-state drive are continuous, the PMA addresses within a single superpage are continuous, and the PMA addresses between adjacent superpages are continuous. It may also include:

[0119] The fourth determination module is used to determine the first LMA address of the data to be written.

[0120] The fifth determining module is used to determine the known second Lma address and its corresponding second Pma address;

[0121] The sixth determining module is used to determine the offset information between the first Lma address and the second Lma address;

[0122] The seventh determining module is used to determine the first Pma address corresponding to the first Lma address based on the second Pma address, offset information, and Pma address continuity.

[0123] The second update module is used to update the correspondence between the first Lma address and the first Pma address.

[0124] This application provides a data storage processing system in which the Pma address contiguous mode includes sequentially increasing Pma addresses.

[0125] The seventh determining module can be specifically used to: add the second Pma address to the offset information to obtain the first Pma address corresponding to the first Lma address.

[0126] The data storage processing system provided in this application embodiment may further include:

[0127] The first recording module is used to record the Au Done Cnt information of the third sblk after the first modification module modifies the corresponding sblk of the target zone to the third sblk. The Au Done Cnt information represents the amount of data completed by the program.

[0128] This application provides a data storage processing system in which the second storage module is specifically used to: determine whether data is being written to the first sblk and the second sblk; if so, assign the current count value (Fly cnt) as the amount of data being written; otherwise, assign the current count value to 0. The system counts the amount of data in the first sblk, the second sblk, and the third sblk respectively, defining the data moved from the first sblk to the third sblk as a first quantity of data, the data moved from the second sblk to the third sblk as a second quantity of data, and the data moved from the first sblk and the second sblk to the third sblk as a third quantity of data. The data transfer ends when the third quantity of data in the third sblk equals the sum of the first quantity of data and the second quantity of data, and the current count value is 0.

[0129] The data storage processing system provided in this application embodiment may further include:

[0130] The first formatting module is used to format the first and second sblk after the second storage module moves the data from the first sblk and the second sblk to the normal third sblk.

[0131] This application also provides an electronic device and a computer-readable storage medium, both of which have the corresponding effects of the data storage processing method provided in the embodiments of this application. Please refer to... Figure 14 , Figure 14 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.

[0132] An electronic device provided in this application includes a memory 201 and a processor 202. The memory 201 stores a computer program, and the processor 202 executes the computer program to implement the steps of the data storage and processing method described in any of the above embodiments.

[0133] Please see Figure 15 Another electronic device provided in this application embodiment may further include: an input port 203 connected to the processor 202 for transmitting commands input from the outside to the processor 202; a display unit 204 connected to the processor 202 for displaying the processing results of the processor 202 to the outside; and a communication module 205 connected to the processor 202 for realizing communication between the electronic device and the outside. The display unit 204 may be a display panel, a laser scanner, or the like; the communication method adopted by the communication module 205 includes, but is not limited to, Mobile High-Definition Link (MHL), Universal Serial Bus (USB), High-Definition Multimedia Interface (HDMI), wireless connectivity: Wireless Fidelity (WiFi), Bluetooth communication technology, Bluetooth Low Energy communication technology, and communication technology based on IEEE 802.11s.

[0134] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the steps of the data storage and processing method described in any of the above embodiments.

[0135] The computer-readable storage media involved in this application include random access memory (RAM), memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs (Compact Disc Read-Only Memory), or any other form of storage media known in the art.

[0136] For descriptions of relevant parts of the data storage processing system, electronic device, and computer-readable storage medium provided in the embodiments of this application, please refer to the detailed descriptions of the corresponding parts in the data storage processing method provided in the embodiments of this application, and they will not be repeated here. Furthermore, parts of the technical solutions provided in the embodiments of this application that are consistent with the implementation principles of corresponding technical solutions in the prior art have not been described in detail to avoid excessive elaboration.

[0137] It should also be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0138] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A data storage and processing method, characterized in that, Applications in ZNS solid-state drives include: Identify the first SBLK in the solid-state drive where the anomaly occurred; Determine the target zone corresponding to the first sblk; The abnormal data and the target data from the target zone are stored in the normal second sblk; Move the data from the first sblk and the second sblk to the normal third sblk; Modify the write sblk of the target zone to the third sblk; Wherein, sblk includes a set of blocks with the same ID in the solid-state drive; The step of modifying the write sblk of the target zone to the third sblk further includes: Obtain the sblk ID information of the third sblk; Obtain the super page ID information of the third sblk, where the super page represents a superset of pages with the same page ID within the sblk; Obtain the Au off information of the third sblk, wherein the Au off information represents the position offset of Au within the super page; The target Pma address of the third sblk is determined based on the sblk Id information, the super page Id information, and the Au off information; Update the L2P relationship of the target zone based on the target Pma address.

2. The method according to claim 1, characterized in that, The solid-state drive's zones have contiguous LMA addresses, single superpages have contiguous PMA addresses, and adjacent superpages have contiguous PMA addresses. It also includes: Determine the first LMA address of the data to be written; Determine the known second Lma address and its corresponding second Pma address; Determine the offset information between the first Lma address and the second Lma address; Based on the second Pma address, the offset information, and the Pma address continuation pattern, the first Pma address corresponding to the first Lma address is determined; Update the correspondence between the first Lma address and the first Pma address.

3. The method according to claim 2, characterized in that, The Pma address contiguous method includes sequentially increasing Pma addresses; Determining the first Pma address corresponding to the first Lma address based on the second Pma address, the offset information, and the Pma address continuation method includes: The second Pma address is added to the offset information to obtain the first Pma address corresponding to the first Lma address.

4. The method according to claim 1, characterized in that, After modifying the corresponding sblk of the target zone to the third sblk, the method further includes: Record the Au Done Cnt information of the third sblk, whereby the Au Done Cnt information represents the amount of data completed by the program.

5. The method according to claim 1, characterized in that, The step of moving data from the first sblk and the second sblk to the normal third sblk includes: If data is being written to the first sblk and the second sblk, the current count value is assigned to the amount of data being written; otherwise, the current count value is assigned to 0. The data volume in the first sblk, the second sblk, and the third sblk is counted respectively; Move a first number of data items from the first sblk to the third sblk; Move the second number of data items from the second sblk to the third sblk; If the third number of data in the third sblk is equal to the sum of the first number of data and the second number of data, and the current count value is 0, then the transfer ends.

6. The method according to claim 1, characterized in that, After moving the data from the first sblk and the second sblk to the normal third sblk, the process further includes: Format the first sblk and the second sblk.

7. A data storage and processing system, characterized in that, Applications in ZNS solid-state drives include: The first determination module is used to determine the first SBLK in the solid-state drive where an anomaly has occurred. The second determining module is used to determine the target zone corresponding to the first sblk; The first storage module is used to store the abnormal data and the target data from the target zone into a normal second sblk; The second storage module is used to move the data in the first sblk and the second sblk to the normal third sblk; The first modification module is used to modify the write sblk of the target zone to the third sblk. Wherein, sblk includes a set of blocks with the same ID in the solid-state drive; This also includes: The first acquisition module is used to acquire the sblk ID information of the third sblk after the first modification module modifies the write sblk of the target zone to the third sblk. The second acquisition module is used to acquire the super page Id information of the third sblk, where the super page represents a superset of pages with the same page ID within the sblk; The third acquisition module is used to acquire the Au off information of the third sblk, wherein the Au off information represents the position offset of Au within the superpage; The third determining module is used to determine the target Pma address of the third sblk based on the sblk Id information, the super page Id information, and the Au off information; The first update module is used to update the L2P relationship of the target zone based on the target Pma address.

8. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the data storage processing method as described in any one of claims 1 to 6 when executing the computer program.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the data storage processing method as described in any one of claims 1 to 6.