Solid state disk system data management method and solid state disk
By allocating an appropriate amount of physical blocks as system blocks in the solid-state drive, the problem of low NAND flash memory yield caused by excessive system block demand during the operation of the solid-state drive is solved, and a higher NAND flash memory yield and more effective system data storage are achieved.
Patent Information
- Application Number
- CN202311612426.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-29
- Publication Date
- 2025-05-30
AI Technical Summary
The SSD requires too many system blocks during operation, resulting in a lower NAND flash memory yield during production.
By obtaining the capacity of the system blocks in the solid state drive, determine the number of physical blocks required and assign them to system blocks. The method includes finding physical blocks by sorting blocks, DIE, and Plane, discarding the damaged physical blocks, and optionally allocating spare blocks to replace the damaged system block.
It reduces the space required for system data storage, tolerate more bad blocks, and improves the yield of NAND flash memory during solid-state drive production, especially for large-capacity solid-state drives.
Smart Images

Figure CN120066378A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of memories, and particularly to a method for managing system data of a solid state drive system and a solid state drive. Background Art
[0002] As a type of hard disk, a solid state drive (SSD) needs to store data written by a host in a NAND flash memory and read the stored data in the NAND flash memory when the host needs it. During the operation of the solid state drive, a lot of key system data will be generated. Therefore, a fixed part of the blocks in the NAND flash memory needs to be configured as system blocks (System Block) to store system data.
[0003] Based on the current specifications of the NAND flash memory, the flash memory space allocated for a single solid state drive is usually composed of multiple DIEs as shown below. The capacity of each DIE is one of 32GB, 64GB, and 128GB. The composition of each DIE is the same, the number of planes of all DIEs is the same, and the number of physical blocks on each plane is also the same. Figure 1 The one outlined by the mid-dashed line is a physical block, and the one outlined by the dotted line is a plane. The solid state drive usually manages the same physical block of all planes of all DIEs as a basic unit, and this basic unit is the block. Figure 1 The one outlined by the dashed line in the figure below is a block. Each of the various system blocks of the solid state drive requires one or two complete blocks. For example, the system block includes an info block (Info Block) that records various statistical information during the life cycle of the solid state drive, and a log block (Log Block) that records log information during the operation of the solid state drive. Figure 1
[0004] After the NAND flash memory leaves the factory, it cannot be guaranteed that all blocks are good. Therefore, there will be some bad blocks in the NAND flash memory. When the capacity of the solid state drive is fixed, the number (capacity) of data blocks (Data Block) required is fixed. At this time, the more capacity the system block requires, the fewer bad blocks of the NAND flash memory can be tolerated, and the higher the quality requirement of the NAND flash memory. In this way, the yield of the NAND flash memory during the production of the solid state drive will be lower. Summary of the Invention
[0005] In order to solve the technical problem that the yield of the NAND flash memory becomes low during the production of the solid state drive due to too many system blocks required during the operation of the solid state drive as described above, the present disclosure provides a method for managing system data of a solid state drive system and a solid state drive.
[0006] The first aspect of the present disclosure provides a method for managing system data of a solid-state drive, including:
[0007] Obtain the capacity of the system block in the solid-state drive;
[0008] Determine the number of physical blocks required for the system block according to the capacity of the system block to obtain a target number;
[0009] Allocate the target number of physical blocks in the solid-state drive as the system block.
[0010] Optionally, the capacity of each type of system block is determined according to the size and write frequency of each type of system data during the entire life cycle of the solid-state drive.
[0011] Optionally, there are multiple system blocks and each system block corresponds to one target number;
[0012] Allocating the target number of physical blocks in the solid-state drive as the system block includes: determining one system block through an allocation step, and repeating this to determine multiple system blocks;
[0013] Wherein, the allocation step is: search for one target number of physical blocks in the solid-state drive in the order of blocks, in the order of DIEs within a block, and in the order of planes within a DIE as the corresponding system block.
[0014] Optionally, after one allocation step is completed, continue to search for physical blocks in the solid-state drive in the order of blocks, in the order of DIEs within a block, and in the order of planes within a DIE to execute the next allocation step.
[0015] Optionally, if the physical block found during the execution of the allocation step is damaged, discard the found physical block. The discarded physical block is not included in the target number and is not used as a component of the corresponding system block.
[0016] Optionally, the method for managing system data of the solid-state drive further includes: allocating one or more physical blocks in the solid-state drive as spare blocks, and the spare blocks are used as a spare storage area for the system data stored in the system block.
[0017] Optionally, allocating one or more physical blocks in the solid-state drive as spare blocks includes: after allocating the system block, search for physical blocks in the order of blocks, in the order of DIEs within a block, and in the order of planes within a DIE after the allocated system block to be used as the spare block.
[0018] Optionally, the number of physical blocks in the allocated spare blocks is 20% of the total number of physical blocks occupied by data blocks in the solid-state drive.
[0019] Optionally, the method for managing the solid-state drive system data further includes: after determining that the allocated system block is damaged or reaches a preset lifespan, replacing the system block with the spare block.
[0020] A second aspect of the present disclosure provides a solid-state drive, including: a controller and a NAND flash memory, where the controller is configured to manage the system data stored in the NAND flash memory by executing any of the methods for managing the solid-state drive system data in the first aspect.
[0021] The beneficial effects of the present disclosure are:
[0022] The method for managing the solid-state drive system data provided by the present disclosure includes: obtaining the capacity of the system block in the solid-state drive; determining the number of physical blocks required for the system block according to the capacity of the system block to obtain a target number; and allocating the target number of physical blocks in the solid-state drive as system blocks. Therefore, only a relatively small amount of storage space needs to be allocated to store the system data, and the storage of the system data will not cause waste of space. In this way, more bad blocks can be tolerated, and the yield rate of the NAND flash memory in the production process of the solid-state drive can be better improved, especially suitable for large-capacity solid-state drives. Description of the Drawings
[0023] Through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, the above and other objects, features, and advantages of the present disclosure will become clearer.
[0024] Figure 1 Shows the flash memory space allocated on an exemplary solid-state drive;
[0025] Figure 2 Shows a flowchart of a method for managing the solid-state drive system data provided by an embodiment of the present disclosure;
[0026] Figure 3 Shows a schematic diagram of the storage of system data according to an embodiment of the present disclosure;
[0027] Figure 4 Shows a schematic diagram of a solid-state drive provided by another embodiment of the present disclosure. Detailed Embodiments
[0028] To facilitate the understanding of the present disclosure, the present disclosure will be described more comprehensively below with reference to the relevant accompanying drawings. Preferred embodiments of the present disclosure are shown in the drawings. However, the present disclosure can be implemented in different forms and is not limited to the embodiments described herein. On the contrary, the purpose of providing these embodiments is to make the understanding of the content of the present disclosure more thorough and comprehensive.
[0029] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. The terms used in the description of this disclosure are for the purpose of describing specific embodiments only and are not intended to limit this disclosure.
[0030] There are multiple types of system data in a solid-state drive, and each type of system data is allocated one or two complete blocks for use as system blocks. One type of system block is used to record one type of system data during the life cycle of the solid-state drive. However, for a large-capacity solid-state drive, a block has a very large space, and a single type of system data actually does not require so much space. Eventually, the storage of all system data requires a relatively large number of system blocks, which causes a certain amount of waste. Each type of system data wastes a part of the space. The more system blocks are needed, the fewer bad blocks of the NAND flash can be tolerated, and the higher the quality requirements for the NAND flash. As a result, the yield of the NAND flash during the production of the solid-state drive will be lower, and the yield of the production of the solid-state drive will be adversely affected.
[0031] In view of this, an embodiment of this disclosure provides a method for managing system data of a solid-state drive. Figure 2 The following shows a flowchart of a method for managing system data of a solid-state drive provided by an embodiment of this disclosure. Referring to Figure 2 , this management method includes:
[0032] Step S110, obtain the capacity of the system blocks in the solid-state drive.
[0033] It should be noted that the system blocks in this step refer to the storage space required for system data, rather than one or more complete blocks that actually exist in the solid-state drive. The capacity of the above-mentioned system blocks is the size of the storage space required for storing system data.
[0034] Step S120, determine the number of physical blocks required for the system blocks according to the capacity of the system blocks to obtain a target number.
[0035] Specifically, the quotient of the capacity of the system blocks and the capacity of the physical blocks can be calculated first, and then the target number is determined based on the calculated quotient. In one example, the target number is the smallest integer not less than the calculated quotient.
[0036] Step S130, allocate the target number of physical blocks in the solid-state drive as system blocks.
[0037] It should be noted that the target number of physical blocks of one type of system block can be located in the same block, or in the case where the number of system blocks is multiple, the target number of physical blocks of one type of system block may be scattered in different blocks due to the successive arrangement of multiple system blocks.
[0038] In the data management method for a solid-state drive system provided by an embodiment of the present disclosure, the management unit of system data is reduced from a block to a physical block, and the system block is no longer a complete block. Therefore, the storage of system data will not cause waste of space, and only a small amount of storage space needs to be allocated to store system data. In this way, more bad blocks can be tolerated, and the yield of NAND flash memory in the production process of solid-state drives can be better improved, thereby also improving the production yield of solid-state drives.
[0039] In an optional embodiment, the capacity of the system block is determined according to the size and write frequency of system data throughout the entire life cycle of the solid-state drive.
[0040] Specifically, when the system data is larger, the capacity of the system block serving as the storage space for this system data should also be larger. When the write frequency of the system data is high, the capacity of the system block serving as the storage space for this system data should also be larger. For example, if the write frequency of the system data is once every 5 minutes, the size of the system data is 80 KB, so the data volume written at one time is 80 KB, and the life cycle of the solid-state drive is 10 years. Then, the capacity of the system block required for this system data throughout the entire life cycle of the solid-state drive is: 10×365×24×60 / 5×80 KB = 84096000 KB. Whether the write frequency of the system data increases or the system data increases, the ultimately required capacity of the system block will increase.
[0041] In the above example, if a physical block has 100 pages (one page is 16 KB) and the number of program / erase (PE) cycles of the physical block is 50000, the data volume that can be written within the life cycle of one physical block is: 50000×100×16 KB = 80000000 KB. Since 84096000 KB / 80000000 KB = 1.0521, considering that NAND flash memory cannot perform overwriting and garbage collection is required, 2 physical blocks need to be provided for this system block, that is, the target quantity calculated in step S120 is 2. That is to say, in this embodiment, in step S120, the number of physical blocks required for the system block is determined according to the quotient of the capacity of the system block and the capacity of the physical block. Correspondingly, the capacity of the physical block refers to the data volume that can be written within the life cycle of the physical block.
[0042] It should be noted that various system data are often generated throughout the entire life cycle of the solid-state drive. Each type of system data corresponds to a system block serving as its storage space. The system data stored in different types of system blocks is different, and the capacities of different types of system blocks are also correspondingly different. The capacity of the above system block needs to be determined according to the size and write frequency of the system data stored in one system block throughout the entire life cycle of the solid-state drive.
[0043] Exemplarily, the system data generated during the entire life cycle of a solid-state drive includes statistical information, log information during operation, SMART (Self-Monitoring Analysis And Reporting Technology) information, and a mapping table. The statistical information corresponds to an InfoBlock that serves as its storage space. The log information corresponds to a Log Block that serves as its storage space. The SMART information, such as the number of power-on and power-off cycles and the host write volume during the entire cycle of the FirmWare (FW), corresponds to a sys Block that serves as its storage space. During the operation of the solid-state drive, a conversion is required between the host address and the NAND flash address. The table recording this conversion relationship is the above-mentioned mapping table, and the mapping table corresponds to a Table Block that serves as its storage space. The InfoBlock, Log Block, sys Block, and Table Block are four different system blocks. Due to the different system data stored in each of them, the capacities determined according to the write frequencies of the sizes of the system data stored in each are often different.
[0044] In the embodiments of the present disclosure, determining the capacity of a type of system block according to the size and write frequency of a type of system data during the entire life cycle of a solid-state drive is more targeted and is more conducive to accurately determining the capacity of the system block. Thus, the storage of various system data will not cause waste of space, which is beneficial to overall improving the yield of NAND flash during the production process of the solid-state drive.
[0045] In another optional embodiment, there are multiple system blocks and each system block corresponds to a target quantity. Generally, the multiple target quantities are different from each other. Step S130 of allocating target quantities of physical blocks in the solid-state drive as system blocks includes: determining one system block through one allocation step, and repeating this to determine multiple system blocks.
[0046] Specifically, the controller of the solid-state drive can execute multiple allocation steps after the first power-on to allocate the physical blocks in the Nand memory to each system block according to the multiple target quantities calculated in advance. One allocation step determines one system block, and the multiple allocation steps for determining multiple system blocks have no sequence. In the example of the solid-state drive having an InfoBlock, a Log Block, a sys Block, and a Table Block as described above, four allocation steps can be executed to sequentially determine the InfoBlock, Log Block, sys Block, and Table Block, or four allocation steps can be executed to sequentially determine the Log Block, InfoBlock, sys Block, and Table Block. In other examples, four allocation steps can also be executed to determine the InfoBlock, Log Block, sys Block, and Table Block in other sequences.
[0047] In addition, the allocation step for determining a system block searches for a target number of physical blocks according to the sorting of the blocks, the sorting of the DIEs within the blocks, and the sorting of the planes within the DIEs. Taking Figure 1 the flash memory space allocated on the solid-state drive shown as an example, in an allocation step, first search for the physical blocks serving as the system block in block Block 0 according to the sorting of the blocks. If the number of physical blocks that can be allocated as the system block in block Block 0 is insufficient to achieve the target number corresponding to the system block, then search in block Block 1. Search sequentially in multiple blocks in this way until a target number of physical blocks are cumulatively found to serve as the system block. Among them, during the search in a block, first search for the physical blocks serving as the system block in DIE 0 according to the sorting of the DIEs. If the number of physical blocks that can be allocated as the system block in DIE 0 is insufficient to achieve the target number corresponding to the system block, then search in DIE 1. Search sequentially in multiple DIEs in this way. Similarly, during the search in a DIE, first search for the physical blocks serving as the system block in Plane 0 according to the sorting of the planes. If the number of physical blocks that can be allocated as the system block in Plane 0 is insufficient to achieve the target number corresponding to the system block, then search in Plane 1. Search sequentially in multiple planes in this way. By performing the allocation step in this way, the physical addresses of the physical blocks in the same system block are as continuous as possible. Therefore, a system block occupies as few blocks as possible, which is beneficial to allowing more bad blocks to exist in the NAND flash memory, and then is beneficial to improving the yield rate of the NAND flash memory during the production of the solid-state drive.
[0048] Furthermore, during the execution of each allocation step, if the found physical block is damaged, then discard the found physical block. It can be that the discarded physical block is not included in the target number and does not serve as a component of the corresponding system block. As Figure 3 shown in the flash memory space, each DIE has four planes, namely Plane 0, Plane 1, Plane 2, and Plane 3. The physical blocks at Plane 2 and Plane 3 of DIE 0, Plane 1 and Plane 3 of DIE 1, Plane 1 and Plane 2 of DIE 2, and Plane 2 and Plane 3 of DIE 3 in block Block 0 are damaged physical blocks. If 8 physical blocks are searched for in this flash memory space through an allocation step to be allocated to the firmware code block (FW Code Block) system block to achieve the function of storing the firmware code, then the allocated firmware code block is as Figure 3As shown, the physical blocks remaining in Block 0 after removing the damaged physical blocks are allocated as firmware code blocks. By performing the allocation step in this way, even if there are damaged physical blocks in a block, it can be partially allocated for use as a system block. That is to say, a block including damaged physical blocks will no longer affect the yield of NAND flash during the production of solid-state drives by being partially used as a system block.
[0049] Furthermore, it can be that after an allocation step is completed, the physical blocks are searched for in the solid-state drive in the order of blocks, then in the order of DIEs within a block, and then in the order of planes within a DIE to execute the next allocation step. Specifically, the search order for the physical blocks at the connection between two adjacent allocation steps can refer to the search order of physical blocks during the execution of an allocation step as described above, which will not be elaborated here. By performing multiple allocation steps in this way, the physical addresses between two system blocks determined by adjacent allocation steps are as continuous as possible. Therefore, the multiple system blocks generally occupy as few blocks as possible, which is beneficial to allowing more bad blocks to exist in the NAND flash and improving the yield of NAND flash during the production of solid-state drives.
[0050] In another optional embodiment, the method for managing system data of a solid-state drive system further includes: allocating one or more physical blocks in the solid-state drive as backup blocks. The backup blocks are used as a backup storage area for the system data stored in the system blocks. In this way, when the system blocks allocated in step S130 cannot be used, the solid-state drive can still be used by enabling the backup blocks, that is, it can prevent the situation where the solid-state drive cannot be used due to the premature damage of the allocated system blocks during its own life cycle.
[0051] Furthermore, the method for managing system data of a solid-state drive system can also include: after determining that an allocated system block is damaged or reaches a preset life span, replacing the system block with a backup block. Among them, when it is determined that an allocated system block reaches the preset life span, replacing the system block with a backup block means performing this operation when the system block is not damaged. This is beneficial to preventing the loss of user data caused by the damage of the system block during the use of the solid-state drive. If the allocated system block is damaged before reaching the preset life span, directly replacing the system block with a backup block can slow down the system block from reaching the preset life span and ensure the normal operation of the solid-state drive.
[0052] The number of physical blocks in the above-mentioned allocated backup blocks can be 20% of the total number of physical blocks occupied by data blocks in the solid-state drive. In practice, this ratio value can ensure that the solid-state drive will never be unable to operate normally due to abnormal system data reading and writing based on the reserved backup blocks during its own life cycle, and prevent the solid-state drive from ending its life cycle prematurely due to the premature damage of the system blocks during the life cycle and being unable to be used.
[0053] Further, allocating one or more physical blocks in the solid-state drive as spare blocks may include: after the system blocks are allocated by executing step S130, searching for physical blocks as spare blocks after the allocated system blocks in the order of blocks, in the order of DIEs within a block, and in the order of planes within a DIE. Specifically, the order of searching for physical blocks immediately following the allocation step may refer to the order of searching for physical blocks during the execution process of an allocation step as described above, which will not be elaborated here. By allocating spare blocks in this way, the physical addresses of the allocated system blocks and the allocated spare blocks are as continuous as possible. Therefore, all the system blocks and the spare blocks that may replace the system blocks subsequently occupy as few blocks as possible in general, which is conducive to allowing more bad blocks to exist in the NAND flash memory and improving the yield rate of the NAND flash memory during the production of the solid-state drive.
[0054] Figure 3 The following is a schematic diagram of the storage of system data after using the above-mentioned method for managing system data of the solid-state drive system. Specifically, the solid-state drive has four types of system blocks: firmware code blocks, log blocks, system parameter blocks, and information blocks, and the target quantity corresponding to each type of system block is 8. As described above, Figure 3 each DIE in the shown flash memory space has four planes: Plane 0, Plane 1, Plane 2, and Plane 3. Referring to Figure 3 , in the flash memory space, the physical blocks of block Block 0 at Plane 0 and Plane 1 of DIE 0, at Plane 0 and Plane 2 of DIE 1, at Plane 0 and Plane 3 of DIE 2, and at Plane 0 and Plane 1 of DIE 3 are allocated as firmware code blocks; the physical blocks of block Block 1 at DIE 0 and DIE 1 are allocated as log blocks; the physical blocks of block Block 1 at DIE 2 and DIE 3 are allocated as system parameter blocks; the physical blocks of block Block 2 at DIE 0 and DIE 1 are allocated as information blocks. In this example, the physical blocks are allocated as system blocks in the order of firmware code blocks, log blocks, system parameter blocks, and information blocks. It should be understood that this does not represent a limitation on the allocation order of various system blocks in the embodiments of the present disclosure.
[0055] Figure 3 Spare blocks are also allocated in the shown flash memory space, that is, the physical blocks of block Block 2 at DIE 2 and DIE 3 are allocated as spare blocks. Figure 3 The area above the horizontal line with an arrow is the area of blocks used by the firmware (FW used Block). The four types of system blocks, namely firmware code blocks, log blocks, system parameter blocks, and information blocks, are distributed in this area; while the area below the horizontal line with an arrow is the data area, and the blocks therein are data blocks for storing user data.
[0056] It can be seen from Figure 3 that: only 8 physical blocks are allocated for the information block, and only 8 physical blocks are allocated for the log block. Therefore, these two types of system blocks together only use 1 complete block, while in the prior art, at least 2 complete blocks are required for the two types of system blocks. Other system data is also allocated in units of physical blocks. The final result is shown in the following figure. Only 8 physical blocks are allocated for the firmware code block storing the firmware code, and only 8 physical blocks are allocated for the system parameter block storing the SMART information. Adding the 8 physical blocks occupied by the spare block, Figure 3 a total of only 3 complete blocks are used for the four types of system blocks and the spare blocks that may replace the system blocks subsequently, and Block 0 including the damaged physical block is also used therein. Therefore, the storage space occupied by the four types of system data is significantly reduced, thereby reducing the impact on the NAND flash yield rate to a certain extent during the production process of the solid-state drive.
[0057] The method for managing the system data of the solid-state drive described above is particularly applicable to large-capacity solid-state drives, which can reduce the number of blocks required for storing system data during the operation of the solid-state drive, thereby being able to tolerate more bad blocks and improving the yield rate during the production process of the solid-state drive. In addition, allocating one or more physical blocks in the solid-state drive as spare blocks can prevent the solid-state drive from being unable to be used due to the premature damage of the allocated system blocks during its own life cycle.
[0058] Corresponding to the method for managing the system data of the solid-state drive provided in the above embodiments, another embodiment of the present disclosure also provides a solid-state drive, which includes a controller and a NAND flash. The controller is used to manage the system data stored in the NAND flash by executing any one of the methods for managing the system data of the solid-state drive provided in the above embodiments, and can achieve the same technical effects.
[0059] Figure 4 shown is a schematic structural diagram of a solid-state drive provided by an embodiment of the present disclosure. Referring to Figure 4, the solid-state drive 100 includes a controller 110 and a NAND flash memory 120. Among them, the NAND flash memory 120 can be provided with a plurality of NAND flash memory chips, and the NAND flash memory chips are the DIEs in the flash memory space described in the above embodiments; the controller 110 can include a control unit 111 and a storage unit 112. The storage unit 112 is used to store the information that needs to be stored during the execution of the above management method, such as the capacity of the system block that is pre-calculated according to the size and write frequency of the system data as the storage space of the system data in the above embodiments. It should be noted that the execution of the above management method is to allocate the physical blocks in the NAND flash memory 120 as system blocks, and then the system data is stored in the system blocks, that is, the system data is stored in the NAND flash memory 120, not in the storage unit 112. The control unit 111 is used as a specific execution unit to execute any one of the management methods for the solid-state drive system data provided in the above embodiments. It should be understood that Figure 4 The structure shown does not constitute a limitation on the specific structure of the solid-state drive provided by the embodiments of the present disclosure.
[0060] In practice, computer program code for executing the above solid-state drive system data management method can be written in one or more programming languages or combinations thereof. The programming languages include object-oriented programming languages (such as Java, Smalltalk, C++), and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed as an independent software package.
[0061] In addition, in this article, the term "including", "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or also includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, article or device including the said element.
[0062] Finally, it should be noted that: Obviously, the above embodiments are only examples for clearly illustrating the present disclosure, rather than limitations on the implementation manners. For those of ordinary skill in the art, other different forms of changes or modifications can be made based on the above description. It is not necessary and impossible to list all implementation manners here. And the obvious changes or modifications derived therefrom are still within the protection scope of the present disclosure.
Claims
1. A method for managing system data of a solid-state drive, comprising: Obtaining the capacity of the system block in the solid-state drive; Determining the number of physical blocks required for the system block according to the capacity of the system block to obtain a target number; Allocating the target number of physical blocks in the solid-state drive as the system block.
2. The method for managing system data of a solid-state drive according to claim 1, wherein, The capacity of each type of system block is determined according to the size and write frequency of each type of system data during the entire life cycle of the solid-state drive.
3. The method for managing system data of a solid-state drive according to claim 1, wherein, There are multiple system blocks and each system block corresponds to one target number; Allocating the target number of physical blocks in the solid-state drive as the system block includes: determining one system block through one allocation step, and repeating this to determine multiple system blocks; wherein, the allocation step is: searching for the target number of physical blocks in the solid-state drive in the order of blocks, in the order of DIEs within a block, and in the order of planes within a DIE as the corresponding system block.
4. The method for managing system data of a solid-state drive according to claim 3, wherein, After one allocation step is completed, continue to search for physical blocks in the solid-state drive in the order of blocks, in the order of DIEs within a block, and in the order of planes within a DIE to execute the next allocation step.
5. The method for managing system data of a solid-state drive according to claim 3, wherein, If the physical block found during the execution of the allocation step is damaged, discard the found physical block. The discarded physical block is not included in the target number and is not used as a component of the corresponding system block.
6. The method for managing system data of a solid-state drive according to any one of claims 1 to 5, further comprising: Allocating one or more physical blocks in the solid-state drive as spare blocks, and the spare blocks are used as a spare storage area for the system data stored in the system block.
7. The method for managing system data of a solid-state drive according to claim 6, wherein, Allocating one or more physical blocks in the solid-state drive as spare blocks includes: after allocating the system block, searching for physical blocks in the order of blocks, in the order of DIEs within a block, and in the order of planes within a DIE after the allocated system block as the spare blocks.
8. The method for managing system data of a solid-state drive according to claim 6, wherein, The number of physical blocks in the allocated spare blocks is 20% of the total number of physical blocks occupied by the data blocks in the solid-state drive.
9. The method for managing system data of a solid-state drive according to claim 6, further comprising: After determining that the allocated system block is damaged or reaches a preset lifespan, using the spare block to replace the system block.
10. A solid-state drive, comprising: A controller and a NAND flash memory, and the controller is used to manage the system data stored in the NAND flash memory by executing the method for managing system data of a solid-state drive according to any one of claims 1 - 9.