A data access management method and a storage device

By detecting unavailable physical blocks in the storage device and using the copy back command to mark the available physical blocks in other faces as backup blocks, the problem of physical block waste that cannot be mapped into multi-faceted mode is solved, and more efficient space utilization is achieved.

CN114461542BActive Publication Date: 2025-07-22RAYMX MICROELECTRONICS CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111587443.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-23
Publication Date
2025-07-22
Estimated Expiration
2041-12-23

AI Technical Summary

Technical Problem

In the storage device, physical blocks that cannot be mapped into multi-faceted mode operation are directly marked as bad blocks, resulting in waste of space and reducing the utilization rate of effective space.

Method used

By detecting unavailable physical blocks and marking available physical blocks in other faces as backup blocks, using the copy back command to move valid data to backup blocks, and the mapping table is updated to achieve the utilization of these blocks.

Benefits of technology

It effectively improves the utilization rate of physical blocks in non-multi-faceted mode, and improves the overall efficiency and space utilization of the storage device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114461542B_ABST
    Figure CN114461542B_ABST
Patent Text Reader

Abstract

A data access management method for a storage device. By utilizing the characteristics of the copy-back command, physical blocks that cannot be mapped to operate in the multi-plane mode are converted into available redundant blocks, solving the problem of wasted space due to being directly marked as bad blocks and effectively improving the utilization rate of physical blocks in the non-multi-plane mode. The storage device includes multiple planes, each plane includes multiple physical blocks, and the physical blocks in the same row in different planes operate in series in the multi-plane mode. First, the physical blocks are detected to find out the unavailable physical blocks. Then, the corresponding available physical blocks in the other planes except the plane where the unavailable physical blocks are located are marked as redundant blocks that cannot operate in the multi-plane mode. Finally, from the multiple physical blocks operating in the multi-plane mode, the first physical block with the largest amount of valid data stored is selected. When there is a redundant block in the same plane as the first physical block, the copy-back command is executed to move the data of the first physical block to the redundant block in the same plane.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to a storage device, and particularly to an optimization strategy for a storage cell array used in a multi-plane mode. Background Art

[0002] The flash memory used in a storage device (such as a solid state drive) is generally a non-volatile random access storage medium (such as NAND FLASH), which is designed based on floating gate transistors. Charge is latched through the floating gate and stored in the floating gate, and it can still be maintained without power supply. NAND Flash is processed from raw silicon materials. The silicon materials are processed into wafers, and hundreds of NAND FLASH chips can be made on one wafer. The die before the chip is encapsulated is a small piece cut from the wafer by laser. Each die is an independent functional chip, containing countless transistor circuits. Multiple dice are finally encapsulated together to form a flash memory chip.

[0003] The capacity structure of flash memory can be divided into a multi-layer architecture from large to small. A flash memory device refers to a single flash memory, which is a packaged product that can be provided externally and usually contains one or more target units. A target unit is a unit with independent chip selection ability and can be addressed separately. It usually contains one or more logical unit numbers (LUNs). Each die has several planes, each plane contains several physical blocks, each physical block contains several pages, and each page corresponds to a word line. A die is the basic unit for receiving and executing flash memory commands. Different dice can receive and execute different commands simultaneously. However, in one die, only one command can be executed at a time, and it is not possible to perform a write operation on a certain page while performing a read access on other pages.

[0004] Each plane usually has an independent page register. Usually, a die contains 1000 or 2000 physical blocks. A physical block is the smallest unit that can perform an erase operation and is usually composed of multiple pages. A page is the smallest unit that can perform programming and read operations, and its size usually ranges from 4KB / 8KB / 16KB / 32KB.

[0005] A cell is the smallest operation unit for erase / write / read in each page, corresponding to a floating gate transistor, and can store 1 bit or multiple bits of data, which are mainly the types of particles.

[0006] COPYBACK_READ and COPYBACK_PROGRAM are commands supported as described in the flash memory protocol (DataSheet). COPYBACK_READ can be implemented through codes 00H - 35H. After the command is ready, the flash memory can move data to the corresponding cache, and then through codes 85H - 10H, the flash memory can move the data from the cache to other physical blocks on the same plane.

[0007] Single plane mode and multiple plane mode, simply speaking, mean that the number of physical blocks operated at one time is different. In single plane mode, only one physical block on a certain plane is operated, while in multiple plane mode, the number of physical blocks operated simultaneously is defined by the number of planes supported in the flash memory protocol. The read and write performance of multiple plane mode is better than that of single plane mode.

[0008] However, the COPYBACK command has the following limitations. One is that the COPYBACK operation can only be performed within the same plane and cannot cross different planes or dies. The other is that the data being copied back cannot be modified. The advantage of the COPYBACK command is that it only occupies a part of the cache during operation and does not require the main control resources of the solid - state drive.

[0009] In the traditional production test process, many physically bad (or commonly referred to as unusable) blocks are detected in the flash memory chips with poor quality and are marked as "bad blocks". To operate smoothly in multiple plane mode, when one physical block is marked as a bad block, the corresponding physical blocks on different planes, even if they are of good quality and normal function, will also be marked as bad blocks in the bad block table. This will reduce the effective space utilization rate of the storage array. Summary of the Invention

[0010] To solve the above - mentioned technical problems, the present application proposes a data access management method for a storage device. The present application proposes a method to improve the utilization rate of physical blocks, converting physical blocks that cannot be mapped for multi - plane mode operation into available redundant blocks, solving the problem of wasting space due to being directly marked as bad blocks, and effectively improving the utilization rate of physical blocks in non - multi - plane mode. In addition, the present application utilizes the characteristics of the COPYBACK command to achieve the above - mentioned purpose without affecting the operation of the storage device.

[0011] The storage device includes a plurality of planes, each plane including a plurality of physical blocks, and the physical blocks in the same row in different planes are connected in series and operate in a multi-plane mode. First, the physical blocks are detected to find out the unavailable physical blocks. Then, the corresponding available physical blocks in the planes other than the plane where the unavailable physical blocks are located are marked as redundant blocks that cannot operate in the multi-plane mode. Finally, from the multiple physical blocks operating in the multi-plane mode, the first physical block with the largest amount of valid data stored is selected. When there is a redundant block in the same plane as the first physical block, a copy-back command is executed to move the data of the first physical block to the redundant block in the same plane.

[0012] After detecting the redundant blocks, the control logic of the storage device can be further set to limit that only the copy-back command can access the redundant blocks.

[0013] After executing the copy-back command, the physical address of the redundant block can be further updated to the mapping table.

[0014] In a further embodiment, a bad block table can be established to record the block numbers of the unavailable physical blocks.

[0015] When detecting the physical blocks, when the physical blocks in the same row in different planes are all available, the physical blocks in the same row can be made to operate in a first multi-plane mode, which is connected in series by a first number of planes. When there are unavailable physical blocks below the unavailable threshold in the physical blocks in the same row, the physical blocks in the same row are made to operate in a second multi-plane mode, which is connected in series by a second number of planes. The second number is less than the first number.

[0016] When there are more unavailable physical blocks than the unavailable threshold in the physical blocks in the same row, the physical blocks in the same row can be marked as redundant blocks that cannot operate in the first multi-plane mode or the second multi-plane mode.

[0017] When the storage device meets the idle condition, the physical block with the smallest amount of valid data stored can be selected for garbage collection.

[0018] In a further embodiment, the copy-back command is executed after the garbage collection is completed.

[0019] In a further embodiment, it can also be determined whether the single-level cell (SLC) cache space in the storage device is lower than the threshold. If the SLC cache space is insufficient, the copy-back command can be executed.

[0020] Another embodiment of the present application provides a storage device, which includes firmware, a control chip, a storage cell array, and a mapping table. The firmware can store code for controlling the storage device. The control chip is connected to the firmware and can load and run the code to control the storage device. The storage cell array is connected to the control chip and is used to store data under the control of the control chip. The storage cell array includes multiple dies, each die includes multiple planes, each plane includes multiple physical blocks and a register; each physical block includes multiple pages for storing data. The mapping table is connected to the control chip and can be used to associate the address of the physical block with the address of the logical block to facilitate data access. After the control chip loads the code, it can run the data access management method proposed in the previous embodiment of the present application.

[0021] The storage device proposed in the present application can be a solid-state drive.

[0022] In summary, the present application utilizes the characteristics of the copy-back command to propose a method for improving the utilization rate of physical blocks, converting physical blocks that cannot be mapped into multi-plane mode operations into available redundant blocks, solving the problem of wasting space by directly being marked as bad blocks, and effectively improving the utilization rate of physical blocks in non-multi-plane mode. Description of the Drawings

[0023] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The schematic embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:

[0024] Figure 1 is the architecture diagram of the storage device 100 according to the embodiment of the present application.

[0025] Figure 2 is the architecture diagram of the storage cell array 200 according to the embodiment of the present application.

[0026] Figure 3 is the bad block table according to the embodiment of the present application.

[0027] Figure 4 is the production detection flow chart according to the embodiment of the present application.

[0028] Figure 5 is the data access management flow chart according to the embodiment of the present application.

[0029] Figure 6 is the mapping table update flow chart according to the embodiment of the present application. Detailed Embodiments

[0030] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present application without creative efforts shall fall within the protection scope of the present application.

[0031] Figure 1 It is an architecture diagram of the storage device 100 and the host 130 in the embodiments of the present application. An embodiment of the present application proposes a storage device 100 that can be connected to the host 130 through a bus and receive various access requests transmitted by the host 130 to perform data access. The storage device 100 at least includes one or more storage unit arrays 200, a control chip 110, and firmware 104. The storage unit array 200 may include multiple storage blocks, each storage block includes multiple storage pages, and each storage page includes multiple storage units, and each storage unit can be used to store one or more bits of data respectively. The control chip 110 is connected to the storage unit array 200 and is used to read or write data in the storage unit array 200 according to the access request transmitted by the host 130. The firmware 104 is connected to the control chip 110 and is used to enable the control chip 110 to execute a data access management method.

[0032] The control chip 110 usually has a Flash Transition Layer (FTL) responsible for converting the logical address (Logical Block Address; LBA) in the access request of the host 130 into a physical address (Physical Block Address; PBA). The operation of address conversion requires the use of a mapping table 122 (Mapping Table). The mapping table 122 stores the correspondence between the logical address and the physical address. The logical address is the understanding of the host 130 about the data storage location. Since the storage device 100 may be from various different device architectures, the host 130 cannot actually manage the storage unit array 200 in the storage device 100. Therefore, the host 130 expresses the access to data with a unified logical address. As for the actual physical address where the data is stored, it is all converted by the control chip 110 according to the mapping table 122.

[0033] Figure 2It is the architecture diagram of the storage cell array 200 according to an embodiment of the present application. In the storage cell array 200, there are usually multiple dies 206 arranged, and each die 206 can be further divided into multiple planes 208. Each plane 208 contains multiple physical blocks 202. In each physical block 202, it can be further divided into multiple pages (not shown). Each physical block 202 has an independent address number, and the position of each page can be found by adding an offset to the address number. Each page contains multiple storage cells, and each storage cell is used to store one or more bits of data.

[0034] The physical block 202 and the page are common mapping granularity units for data storage in the mapping table. For example, one of the main tasks of the control chip 110 is to convert the logical address used by the host 130 into the physical address in the storage cell array 200, and this correspondence exists in the mapping table 122 described in this embodiment.

[0035] Each plane 208 also contains a register 204 respectively, which can store the detailed parameter settings of the plane 208, such as delay parameters, cell levels, or other attributes. The cell level can be used to determine the number of bits that each storage cell can represent, such as single level cell (SLC), multi-level cell (MLC), triple-level cell (TLC), quad-level cell (QLC), etc. The storage cell array 200 includes an interface 210, which can be connected to the host 130 through the control chip 110.

[0036] Figure 3 It is the bad block table according to an embodiment of the present application. For the convenience of description, this embodiment takes four planes and 40 physical blocks as an example. It can be understood that in the physical design, the number of planes and the number of blocks are not limited to this. As Figure 3 shown, a die can contain four planes arranged in a row (plane 0, plane 1, plane 2, and plane 3). The physical blocks included are numbered from 0 to 39 in sequence. The blocked numbers with diagonal lines indicate the physical blocks detected as bad blocks, and the others are available physical blocks. Under normal circumstances, the physical blocks at corresponding positions in multiple planes can be connected in series and operate in the multi-plane mode, that is, mapped to a logical unit and accessed simultaneously, so as to double the performance. Taking Figure 3 as an example, the block numbers 0, 1, 2, and 3 located in different planes can be connected in series as a logical unit and operate in the multi-plane mode. Similarly, the block numbers 4, 5, 6, and 7 located in different planes can also be connected in series as a logical unit operating in the multi-plane mode.

[0037] As for block numbers 8, 9, 10 and 11, block number 10 is a physical block of poor quality or unusable, and is therefore marked as a "bad block". Therefore, block numbers 8, 9 and 11 cannot operate in multi-plane mode. In traditional practices, block numbers 8, 9 and 11 will be marked as bad blocks and lose their functions. The same situation occurs with block numbers 12, 13, 14 and 15.

[0038] In order to make good use of these physical blocks that are still available but cannot operate in multi-plane mode, the present application uses a migration procedure to make full use of these spare spaces. For example, the logic of the control chip 110 can be designed to automatically move lower-temperature data to these spare blocks, so that the physical blocks in the multi-plane mode can be used to store high-temperature data as much as possible. In a preferred embodiment, the present application uses a copyback command (COPYBACK) to implement the migration procedure.

[0039] Figure 4 It is a production inspection flow chart of an embodiment of the present application. From the perspective of the production process, the storage cell array 200 in the storage device 100 needs to be tested to determine whether it is suitable for shipment. In step 401, the storage device 100 is started. In step 403, a reliability development test (Reliability Development Test; RDT) is performed on the storage device 100 to determine whether it is sufficient for card opening. If the quality of the storage cell array 200 in the storage device 100 is good, for example, the number of bad blocks is lower than a threshold, step 405 is performed to configure the storage device 100 to normal mode. The normal mode does not require a bad block table in the storage device 100. Conversely, if the reliability development test determines that the number of bad blocks in the storage cell array 200 is greater than a number (threshold), in step 407, a bad block table is established for each surface.

[0040] Next, in step 409, it is determined whether the number of blocks that can be operated in the multi-plane mode reaches a preset standard according to the bad block table. If the number of blocks that can be operated in the multi-plane mode is too small, the product cannot achieve a certain performance after leaving the factory, so step 411 is executed to mark the storage device 100 as a defective product. Conversely, if the number of blocks that can be operated in the multi-plane mode is above a certain standard, then in step 413, the data access management method proposed in the present application is executed according to the bad block table.

[0041] Figure 5 is a data access management flow chart of an embodiment of the present application. Figure 4 In the embodiment of the present invention, the data access management method of step 413 is described in detail in Figure 5As described in [description]. In step 501, the aforementioned data access management method is enabled in the firmware 104 of the storage device 100, and the data access of the storage device is managed according to the bad block table. In step 503, after the code in the firmware 104 is executed, the logic of the control chip 110 is set so that the physical blocks that cannot operate in the non-multiple-plane mode are limited to being accessible only by the copy-back command. For example, the control chip 110 itself will execute many traditional control commands, such as garbage collection or other mapping table optimization steps. If these commands use physical blocks in the non-multiple-plane mode, it will reduce the overall performance of the storage device 100. In this embodiment, the part marked as the redundant block can be limited to being accessible only by the copy-back command, so that its space can be fully utilized.

[0042] In step 505, it is determined whether a specific die or plane in the storage cell array 200 meets the conditions for performing garbage collection, such as being in an idle state. If a specific die or plane in the storage cell array 200 meets the conditions for performing garbage collection, then in step 509, garbage collection is performed on the die or plane, and then in step 511, a copy-back command is executed on the die or plane.

[0043] For example, if the storage device 100 is in an idle state (IDLE), the condition for triggering garbage collection in the control chip 110 can also be configured to simultaneously start the copy-back command to move some physical blocks with a relatively large amount of valid data to the redundant blocks that cannot be mapped into the multiple-plane mode.

[0044] In this embodiment, garbage collection usually preferentially selects physical blocks with less valid data (i.e., larger remaining storage space). For example, garbage collection can select the physical block with the least amount of valid data for garbage collection. In another embodiment, garbage collection can be selected using a threshold, and physical blocks with valid data less than the threshold are selected. Figure 3 For example, among block numbers 0, 1, 2, and 3, the amounts of valid data that may be stored may be 10000, 5000, 2000, and 1000 respectively. In this case, block number 3 will be preferentially processed for garbage collection. Since there are known algorithms for the garbage collection program, it will not be introduced in detail in this embodiment.

[0045] In this embodiment, the copy-back command will preferentially select physical blocks with larger valid data. For example, the copy-back command can select the physical block with the largest amount of valid data for the copy-back command. On the other hand, the copy-back command can also be selected according to a specific threshold, such as selecting physical blocks with valid data greater than a certain threshold. Figure 2For example, among block numbers 4, 5, 6, and 7, the possible amounts of valid data stored may be 10000, 5000, 2000, and 1000 respectively. In this case, block number 4 will be preferentially back-copied. When running the back-copy command, the redundant block of block number 4 can be block number 8 or block number 12. For example, the back-copy command will move the data in block number 4 to block number 8, and then modify the mapping table 122 so that the host 130 can access the data in block number 8 through the logical address.

[0046] On the other hand, even when not in the idle state, it is also determined in step 507 whether the SLC cache is sufficient. If the SLC cache is insufficient, the garbage collection in step 509 and the back-copy command in step 511 can also be triggered. Generally speaking, the SLC cache is not an independent external chip, but in the storage cell array 200 using TLC or QLC, a part of the space is divided to simulate the writing method of SLC (that is, only 1 bit of data is written in each cell), so that the read and write performance of the solid-state drive can be effectively improved. However, the divided part of the space is limited. When the continuously written capacity reaches the upper limit of the SLC cache space, the read and write speed will drop back to the value that should be in the original TLC mode. Compared with the dynamic memory cache, since the SLC cache exists in the TLC storage cell array, if not erased specifically, the data can be continuously stored and will not disappear due to power-off.

[0047] Therefore, the effects that steps 509 and 511 can exert are to optimize the data storage in the storage cell array 200, and step 511 in particular can make full use of the storage space of the redundant block, so that the physical blocks operating in the multi-plane mode can be fully applied to data storage or the SLC cache.

[0048] Figure 6 It is the flowchart of the mapping table update in the embodiment of the present application. Since in a general solid-state drive, the lifespan of each storage cell is limited, whenever data is written to any physical block, it is necessary to determine whether the written data is correctly stored. In step 601, the data is written into the selected physical block. In step 603, a read test is performed on the written physical block. If the physical block fails the read test, it means that there is damage. In step 605, the physical block number that fails the read test will be added to the bad block table. And the program will return to step 601 to re-select other physical blocks for the data writing step.

[0049] After passing the read test in step 603, step 607 is run to update the mapping table 122 to confirm the completion of the write. For example, after the back-copy command finishes moving the data, a read test is performed on the moved data and updated to a logical-to-physical secondary mapping table to confirm the end of the data move.

[0050] Figure 6 The detection program can occur after the garbage collection in step 509 or the copy-back program in step 511. As an example for further confirming the data correctness. In a further embodiment, for a physical block that cannot be mapped into a multi-plane mode, the logical-to-physical secondary mapping table may no longer point to this location, so that the garbage collection does not need to process a physical block with a large amount of valid data, thereby relatively reducing the burden. In a more particular embodiment, if the amount of valid data in the redundant block is getting less and less, the garbage collection may also be allowed to move the data in the redundant block to other locations.

[0051] In summary, the present application uses the copy-back command to implement a unique data access management method, which can effectively utilize the space of the redundant block and improve the usage efficiency of the overall storage device 100. At any stage during use or before leaving the factory, the physical blocks in the storage cell array 200 can be detected in advance to find out the unavailable physical blocks. Then, the corresponding available physical blocks in the other planes except the plane where the unavailable physical block is located are marked as redundant blocks that cannot operate in the multi-plane mode. Finally, from the multiple physical blocks operating in the multi-plane mode, the first physical block with the largest amount of stored valid data is selected. When there is a redundant block with available space in the same plane where the first physical block is located, the copy-back command is run to move the data of the first physical block to the redundant block. After running the copy-back command, the physical address of the redundant block can be further updated to the mapping table.

[0052] In other words, for a single physical block that cannot be mapped to form a multi-plane mode, the present application does not directly discard it (the previous solution would mark it as a bad block and abandon it). The present application can separately establish a redundant block table to manage this part of information.

[0053] After detecting the redundant blocks, in order not to let these redundant blocks affect the performance of the storage device 100, the code in the firmware 104 can further set the control chip 110 of the storage device 100 to limit that only the copy-back command can access the redundant blocks. The block numbers of the unavailable physical blocks can be recorded by the control chip 110 to establish a bad block table.

[0054] In other words, when the storage device 100 processes the data transmitted by the host 130, it does not actively select to use the redundant blocks for reading and writing to ensure high-speed reading and writing performance. The redundant blocks are completely reserved for the copy-back command.

[0055] In a further embodiment, when detecting the physical blocks, when the physical blocks in the same row in different faces are all available, the physical blocks in the same row can be made to operate in a first multi-face mode, and the first multi-face mode is concatenated by a first number of faces. When there are unavailable physical blocks below the unavailable threshold among the physical blocks in the same row, the physical blocks in the same row are made to operate in a second multi-face mode, and the second multi-face mode is concatenated by a second number of faces. The second number is less than the first number.

[0056] In other words, if more than half of the physical blocks in the storage device 100 cannot be mapped into physical blocks in the multi-face mode, a face reduction process can also be selected. For example, originally it is a four-face mode, that is, every four faces are concatenated into a unit of physical blocks, and it is changed to a two-face mode, that is, every two faces are concatenated into a unit. As for the physical blocks that are originally in the two-face mode, they are screened out through reliability development tests. When an error is found in the physical blocks of one of the four faces, two of the remaining three physical blocks are concatenated and operate in the second multi-face mode, and the last single physical block is marked as a redundant block.

[0057] In another embodiment, when there are unavailable physical blocks exceeding the unavailable threshold among the physical blocks in the same row, the physical blocks in the same row can be marked as redundant blocks that cannot operate in the first multi-face mode or the second multi-face mode. For example, among the corresponding physical blocks of four faces, it is found that more than three physical blocks are broken, and the remaining physical blocks can neither operate in the first multi-face mode nor in the second multi-face mode. In this case, they can only be marked as redundant blocks.

[0058] When the host 130 writes a large amount of data, garbage collection will start to select the physical block with the least amount of valid data to move the data, and at the same time the copyback command will also start to find the physical block with the most amount of valid data in other faces of the same die, and start instructions such as COPYBACK_READ or COPYBACK_PROGRAM to move the valid data. The most amount of valid data is relative, and the firmware 104 can dynamically adjust. For example, it can be set that the physical block with an expected valid data capacity exceeding 85% meets the condition for moving. In an ideal situation, assuming that the logical block numbers written by the host 139 do not repeat, garbage collection may not even need to act, and all data can be moved by the copyback command. This situation can significantly improve the performance of specific read and write operations, such as accessing the test software HDTune.

[0059] The solution proposed in this application mainly aims to improve the problem of the space utilization rate of physical blocks that cannot be mapped into the multi-plane mode, while not significantly degrading the read and write performance of the solid-state drive. In addition, the usage strategy of the copy-back command will mainly be that the firmware 104 selects physical blocks with relatively large amounts of valid data for relocation to make good use of the space of spare blocks. The storage granularity of the spare blocks can be adjusted through the register 204, for example, from SLC to TLC or QLC, to further improve the space utilization rate. Thus, two to three available physical blocks can be stably released each time the copy-back process is performed. Each time the data relocated by the copy-back command is in units of physical blocks, so the more valid data there is in a physical block, the better the efficiency. Since the copy-back command does not consume the internal resources of the control chip 110 and only occupies a small amount of flash cache, a significant improvement in the low speed will be found when performing tests such as H2Test or HDtune that are sequential across the entire disk and do not overwrite logical block numbers.

[0060] In summary, this application utilizes the characteristics of the copy-back command to propose a method for improving the utilization rate of physical blocks, converting physical blocks that cannot be mapped into multi-plane mode operations into available spare blocks, solving the problem of wasting space by directly being marked as bad blocks, and effectively improving the utilization rate of physical blocks in non-multi-plane mode.

[0061] It should be noted that 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 explicitly listed, or also includes elements inherent to such a process, method, article, or device. Without further limitations, 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 that element.

[0062] The embodiments of the present application have been described above in conjunction with the accompanying drawings. However, the present application is not limited to the above specific embodiments. The above specific embodiments are merely illustrative and not restrictive. Under the inspiration of the present application, those of ordinary skill in the art can also make many forms without departing from the purpose of the present application and the scope protected by the claims, and all of them fall within the protection scope of the present application.

Claims

1. A data access management method for a storage device, where the storage device includes multiple surfaces, each surface includes multiple physical blocks, and the physical blocks in the same row in different surfaces operate in series in a multi-surface mode, characterized in that including: finding out unavailable physical blocks from a bad block table; marking as redundant blocks that are not operable in the multi-plane mode among the available physical blocks in the planes other than the plane where the unavailable physical blocks are located and that are in the same row as the unavailable physical blocks; selecting a first physical block from among a plurality of physical blocks operating in the multi-plane mode, where the plurality of physical blocks operating in the multi-plane mode include the first physical block and a second physical block, the first physical block having a first amount of valid data and the second physical block having a second amount of valid data, the first amount of valid data being greater than the second amount of valid data; and when there is a redundant block in the same plane as the first physical block, running a backcopy command to move the data of the first physical block to the redundant block in the same plane.

2. The data access management method according to claim 1, wherein further including: setting the control logic of the storage device to limit access to the redundant blocks to only the backcopy command.

3. The data access management method according to claim 1, characterized in that, further including: after running the backcopy command, updating the physical address of the redundant block to a mapping table.

4. The data access management method according to claim 1, characterized in that, further including: establishing a bad block table to record the block numbers of the unavailable physical blocks.

5. The data access management method according to claim 1, wherein marking as redundant blocks that are not operable in the multi-plane mode among the available physical blocks in the planes other than the plane where the unavailable physical blocks are located and that are in the same row as the unavailable physical blocks includes: when the physical blocks in the same row in different planes are all available, making the physical blocks in the same row operate in a first multi-plane mode, the first multi-plane mode being formed by a first number of planes connected in series; when there are unavailable physical blocks below an unavailable threshold among the physical blocks in the same row, making the physical blocks in the same row operate in a second multi-plane mode, the second multi-plane mode being formed by a second number of planes connected in series; the second number being less than the first number; and when there are unavailable physical blocks exceeding the unavailable threshold among the physical blocks in the same row, marking the available physical blocks in the same row as redundant blocks that are not operable in the first multi-plane mode or the second multi-plane mode.

6. The data access management method according to claim 1, wherein further including: when the storage device meets the idle condition, selecting the physical block with the smallest amount of stored valid data for garbage collection.

7. The data access management method according to claim 6, wherein the backcopy command is run after the garbage collection is completed.

8. The data access management method according to claim 1, characterized in that further including: judging whether the single-level cache space in the storage device is lower than a threshold; and if the single-level cache space is insufficient, running the backcopy command.

9. A data access management method for a storage device, where the storage device includes a plurality of surfaces, each surface includes a plurality of physical blocks, and the physical blocks in the same row in different surfaces operate in series in a multi-surface mode, characterized in that, including: finding out unavailable physical blocks from a bad block table; marking as redundant blocks that are not operable in the multi-plane mode among the available physical blocks in the planes other than the plane where the unavailable physical blocks are located and that are in the same row as the unavailable physical blocks; selecting a first physical block from among a plurality of physical blocks operating in the multi-plane mode, where the amount of valid data stored in the first physical block is greater than a specific threshold; and when there is a redundant block in the same plane as the first physical block, running a backcopy command to move the data of the first physical block to the redundant block in the same plane.

10. The data access management method according to claim 9, characterized in that, further including: setting the control logic of the storage device to limit access to the redundant blocks to only the backcopy command.

11. The data access management method according to claim 9, wherein further including: after running the backcopy command, updating the physical address of the redundant block to a mapping table.

12. The data access management method according to claim 9, wherein, further including: A bad block table is established to record the block numbers of the unavailable physical blocks.

13. The data access management method according to claim 9, wherein, The available physical blocks in the same row as the unavailable physical block in other planes than the plane where the unavailable physical block is located are marked as redundant blocks that cannot operate in the multi-plane mode, including: When the physical blocks in the same row in different planes are all available, the physical blocks in the same row operate in a first multi-plane mode, which is concatenated by a first number of planes; When there are unavailable physical blocks below the unavailable threshold among the physical blocks in the same row, the physical blocks in the same row operate in a second multi-plane mode, which is concatenated by a second number of planes; The second number is less than the first number; and When there are unavailable physical blocks exceeding the unavailable threshold among the physical blocks in the same row, the available physical blocks of the physical blocks in the same row are marked as redundant blocks that cannot operate in the first multi-plane mode or the second multi-plane mode.

14. The data access management method according to claim 9, characterized in that It further includes: When the storage device meets the idle condition, the physical block with the smallest amount of valid data stored is selected for garbage collection.

15. The data access management method according to claim 14, wherein The copy-back command is executed only after the garbage collection is completed.

16. The data access management method according to claim 9, wherein It further includes: Determine whether the single-level cache space in the storage device is lower than a threshold; and If the single-level cache space is insufficient, execute the copy-back command.

17. A storage device, characterized in that, It includes: Firmware, storing code for controlling the storage device; A control chip, connected to the firmware, loading and executing the code to control the storage device; A storage cell array, connected to the control chip, for storing data under the control of the control chip, including a plurality of dies, each die including a plurality of planes, each plane including a plurality of physical blocks and a register; each physical block includes a plurality of pages for storing data; and A mapping table, connected to the control chip, for associating the address of the physical block with the address of the logical block to facilitate data access; wherein: After the control chip loads the code, it executes the data access management method according to any one of claims 1 to 16.

18. The storage device according to claim 17, wherein The storage device is a solid-state drive.

Citation Information

Patent Citations

  • Multi-layer flash-memory device, a solid hard disk and a truncation non-volatile memory system

    CN101727976A

  • Data recovery method and device

    CN111949440A