A NAND flash memory binning method, device, apparatus and storage medium
By performing RDT testing on NAND flash memory, operational feedback parameters are obtained, and high-performance target blocks are selected based on block selection criteria. This solves the problem that existing technologies cannot simultaneously meet the requirements of high performance and high reliability, and achieves performance improvement on the basis of reliability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- JIANGSU XINSHENG INTELLIGENT TECH CO LTD
- Filing Date
- 2022-11-14
- Publication Date
- 2026-06-02
AI Technical Summary
Existing NAND flash memory screening methods cannot meet users' requirements for high performance and high reliability while ensuring disk reliability.
By performing RDT tests on NAND flash memory, the operation feedback parameters of blocks that have successfully undergone erase, write, and read operations are obtained. Based on block selection criteria and conditions, high-performance target blocks are selected from the blocks that have successfully undergone erase, write, and read operations, including selection based on latency and current value.
While ensuring disk reliability, high-performance target blocks are selected to meet users' requirements for high performance and high reliability of disks, thereby improving the accuracy of the screening blocks and the overall read and write performance of the disks.
Smart Images

Figure CN115691643B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of disk testing technology, and in particular to a method, apparatus, device and storage medium for screening NAND flash memory blocks. Background Technology
[0002] Currently, SSDs (Solid State Disk or Solid State Drive) platters on the market generally undergo Reliability Demonstration Testing (RDT) before leaving the factory. This primarily tests whether the platter functions properly, whether there are any issues with soldering, whether the DRAM (Dynamic Random Access Memory) is faulty, and to filter out bad blocks in the NAND flash memory. In short, the main purpose of RDT is to filter out unqualified platters, including those with soldering problems, NAND flash memory issues, DRAM problems, and controller problems. Through RDT testing, the stability and reliability of the platters during use can be guaranteed.
[0003] Traditional RDT testing processes include DDR testing, NAND FLASH testing, and TSB testing. If any one of these tests fails, the entire RDT fails. Block filtering, during NAND FLASH testing, involves performing EPR (Erase-Program-Read) on each block (composed of multiple pages, the smallest addressable unit for an erase operation) within the NAND chip. The chip returns the test result for this operation. If any EPR fails, the block is added to a bad block table, thus filtering out bad blocks and ensuring the reliability of the disk during use. In short, the RDT block filtering strategy filters out blocks that return read / write / erase failures during testing, ensuring the stability and reliability of the disk during user operation. However, this solution cannot meet the high performance requirements of some users. Summary of the Invention
[0004] In view of this, the purpose of this invention is to provide a method, apparatus, device, and medium for screening NAND flash memory blocks, which can meet users' requirements for high performance and high reliability of the disk while ensuring the reliability of the disk. The specific solution is as follows:
[0005] In a first aspect, this application discloses a method for screening NAND flash memory blocks, including:
[0006] By performing RDT tests on NAND flash memory, the operation feedback parameters corresponding to the blocks in NAND flash memory that have successfully undergone erase, write, and read operations are obtained;
[0007] Retrieve block filtering criteria that include block filtering indicators;
[0008] Based on the operation feedback parameters and the block filtering conditions, high-performance target blocks are selected from the blocks where the erase, write, and read operations were successful.
[0009] Optionally, obtaining the block filtering conditions that include block filtering indicators includes:
[0010] Obtain block filtering indicators, and determine the target operation type from the erase, write, and read operations based on the block filtering indicators and the operation feedback parameters;
[0011] Determine the screening threshold for the block screening index under the target operation type;
[0012] The block filtering conditions are obtained based on the block filtering indicators, the target operation type, and the filtering threshold.
[0013] Optionally, the step of obtaining block filtering indicators, and determining the target operation type from the erase / write / read operations based on the block filtering indicators and the operation feedback parameters, includes:
[0014] If the block selection metric is latency, then the target latency difference for each type of erase, write, and read operation is determined based on the operation feedback parameters; the target latency difference is the difference between the maximum latency and the average latency for all blocks under the same type of erase, write, and read operation; the erase, write, and read operation includes erase operation, write operation, and read operation;
[0015] The erase / write / read operation type corresponding to the largest target latency difference is taken as the target operation type.
[0016] Optionally, determining the screening threshold for the block screening index under the target operation type includes:
[0017] If the target operation type is a write operation, the write operation duration corresponding to each block is determined according to the operation feedback parameters, and the average write operation duration is calculated.
[0018] The write operation duration threshold is calculated based on the average write operation duration and a preset coefficient, and is used as the filtering threshold.
[0019] Accordingly, the step of selecting high-performance target blocks from the blocks where the erase / write / read operations were successfully performed, based on the operation feedback parameters and the block filtering conditions, includes:
[0020] Based on the operation feedback parameters, blocks whose write operation duration is greater than the write operation duration threshold are selected as target blocks.
[0021] Optionally, the step of obtaining block filtering indicators, and determining the target operation type from the erase / write / read operations based on the block filtering indicators and the operation feedback parameters, includes:
[0022] If the block selection criterion is a current value, then the target current difference for each type of erase, write, and read operation is determined based on the operation feedback parameters; the target current difference is the difference between the maximum current value and the average current value corresponding to all blocks under the same type of erase, write, and read operation; the erase, write, and read operation includes erase operation, write operation, and read operation;
[0023] The erase / write / read operation type corresponding to the largest target current difference is taken as the target operation type.
[0024] Optionally, determining the screening threshold for the block screening index under the target operation type includes:
[0025] Based on the target operation type and the operation feedback parameters, determine the current value of each block under the target operation type, so as to determine the average current value under the target operation type;
[0026] The current threshold is calculated based on the average current value and the preset coefficient, and is used as the screening threshold.
[0027] Optionally, the RDT test on the NAND flash memory includes:
[0028] The NAND flash memory was subjected to RDT testing at high temperature.
[0029] Secondly, this application discloses a NAND flash memory screening device, comprising:
[0030] The parameter acquisition module is used to obtain the operation feedback parameters corresponding to the blocks in the NAND flash memory that have successfully undergone erase, write and read operations by performing RDT tests on the NAND flash memory.
[0031] The filter criteria acquisition module is used to acquire block filter criteria that include block filter indicators;
[0032] The filtering module is used to filter out high-performance target blocks from the blocks in which the erase, write, and read operations were successfully performed, based on the operation feedback parameters and the block filtering conditions.
[0033] Thirdly, this application discloses an electronic device, including:
[0034] Memory, used to store computer programs;
[0035] A processor is used to execute the computer program to implement the aforementioned NAND flash memory screening method.
[0036] Fourthly, this application discloses a computer-readable storage medium for storing a computer program; wherein the computer program, when executed by a processor, implements the aforementioned NAND flash memory screening method.
[0037] In this application, by performing RDT testing on NAND flash memory, operation feedback parameters corresponding to blocks with successful erase, write, and read operations are obtained; block selection criteria including block selection indicators are obtained; and high-performance target blocks are selected from the blocks with successful erase, write, and read operations based on the operation feedback parameters and the block selection criteria. It is evident that by using the operation feedback parameters returned after the erase, write, and read operations are performed on the blocks, and then using the block selection criteria to further select high-performance target blocks from the blocks with successful erase, write, and read operations, high-performance target blocks are provided to users. This satisfies users' requirements for high performance and high reliability of the disk while ensuring the reliability of the disk itself. Attached Figure Description
[0038] To more clearly illustrate the technical solutions in the embodiments of the present invention 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 the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0039] Figure 1 A flowchart of a NAND flash memory screening method provided in this application;
[0040] Figure 2 This application provides a specific UNC error probability diagram under high temperature conditions;
[0041] Figure 3 This application provides a specific RDT test flowchart;
[0042] Figure 4 A flowchart of a specific NAND flash memory screening method provided in this application;
[0043] Figure 5 A flowchart of another specific NAND flash memory screening method provided in this application;
[0044] Figure 6 A schematic diagram of a NAND flash memory screening device is provided in this application;
[0045] Figure 7 This application provides a structural diagram of an electronic device. Detailed Implementation
[0046] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0047] In existing technologies, during NAND flash testing, each block within the NAND chip undergoes an EPR (Extended Read / Write / Erase) operation. The chip returns the test result for this operation. If an EPR fails, the block is added to the bad block table, thus filtering out bad blocks and ensuring the reliability of the disk during use. In other words, the RDT (Read, Write, Erase) block filtering strategy filters out blocks that return read / write / erase failures during testing, ensuring the stability and reliability of the disk during user operation. However, this solution cannot meet the high performance requirements of some users. To overcome the above technical problems, this application proposes a NAND flash memory block filtering method that can meet users' requirements for high performance and high reliability of the disk while ensuring disk reliability.
[0048] This application discloses a method for screening NAND flash memory blocks. See also: Figure 1 As shown, the method may include the following steps:
[0049] Step S11: By performing RDT testing on the NAND flash memory, obtain the operation feedback parameters corresponding to the blocks in the NAND flash memory where erase, write, and read operations were successfully performed.
[0050] In this embodiment, by performing RDT (Reliability Detection Test) on the NAND flash memory, the operation feedback parameters corresponding to the blocks in the NAND flash memory that have successfully undergone erase, write, and read operations are obtained. That is, the reliability verification test can determine the blocks in the NAND flash memory that have successfully undergone erase, write, and read operations, as well as the blocks that have failed. In this embodiment, in order to remove weaker blocks from the blocks that have successfully undergone erase, write, and read operations and retain the blocks with higher performance, it is necessary to obtain the operation feedback parameters corresponding to the blocks that have successfully undergone erase, write, and read operations.
[0051] In this embodiment, the RDT test on the NAND flash memory may include performing the RDT test on the NAND flash memory at high temperature. It is understood that most chips will exhibit problems that are not easily detected at high temperatures. At room temperature, the EPR time between blocks may not differ significantly, but as the temperature rises, some lower-quality blocks will exhibit longer EPR times than other higher-quality blocks. For users with high requirements for disk performance, these blocks with longer EPR times are unwanted. By filtering out these blocks, the performance of the disk can be significantly improved to meet the needs of these users. During the disk testing process, it was found that when performing EPR on the disk at high temperature, some dies (the smallest unit capable of independently executing commands and reporting status) exhibit UNC (Uniqueness Checksum) errors, which are not easily observed at room temperature. Furthermore, when performing EPR on the disk at high temperature, the programming time difference of dies with UNC errors was found to be significant; the programming time is the same as the write operation time. For example... Figure 2 As shown, blocks with longer programming times are more prone to UNC (Undefined Character) errors at high temperatures; therefore, these blocks are considered the most complex blocks. The aforementioned high temperature can be a preset high temperature range, such as 70°C, for RDT (Real-Time Demand) testing. The purpose is to more easily identify differences between different blocks, thereby exposing problems and improving RDT testing efficiency.
[0052] In this embodiment, the block screening process in the RDT test described above is the process of selecting blocks that have successfully undergone erase, write, and read operations based on the EPR. For example... Figure 3 As shown, it may include the following steps:
[0053] Step S111: Initiate the erase / write / read operation. If the current operation is the first operation on the section, refresh all VRBLKs that need to skip the test; if this is the first operation on this VRBLK, and the data to be written is the same for all data within the block, generate the data to be written using a template. Section: Divides all blocks within a die into segments; for example, section 0 refers to blk 0 to blk 127, where blk represents a block. VRBLK: All blks at the same position on a disk's dies form a VRBLK; for example, all blk 0s of all dies (assuming none of the original bad blocks) form a VRBLK 0.
[0054] Step S112: If the current erase / write read operation is a read operation, data is read according to the read operation rules. If the current block's operation mode is read mode, and if it is a multi-plane, multi-die operation, first read page 0 of plane 0 on die 0, then read page 0 of plane 0 on die 1. When all dies have been read, start reading page 1 of plane 1 on die 0 again, and then continue reading page 1 of plane 1 on die 1 until all pages have been read. Each read operation reads only the data size of one page.
[0055] Step S113: If the current erase / write / read operation is a write operation, write the data according to the write operation rules. If the current block's operation mode is write, then directly write data of size NVML to the VRBLK page of the die to be written; start from die0 until all dies are written; TLC writes each page three times, writing data of size NVML each time, until all dies are operated on. NVML: multi-Plane page, 2-Plane NVML is 32K in size, 4-Plane NVML is 64K in size.
[0056] Step S114: If the current erase / write / read operation is an erase operation, erase the data according to the erase operation rules. If the current block's operation mode is erase, directly send the VRBLK number to be erased and the die to be operated on to the backend, and the backend will directly erase the corresponding block until all die operations are completed.
[0057] Step S115: After completing the operation of the current block, determine the next operation based on the RDT operation configuration and execute it. Proceed to the next step judgment operation for this block: Obtain the operation mode (EPR) of the current block, and determine the next operation of the RDT for that block based on the current block's operation. For example, if the RDT test mode is "write immediately, read," then if the current block's operation is write, its next operation is read, indicating that the block's operation is not yet complete. Another example: if the RDT operation mode is "write all blocks before reading," then after writing the current block, write the next block, and so on until all blocks are written, then start reading from the first test block, and so on until all blocks are read. Determine if the current block's operation mode is complete. If not, proceed to the next operation and set the EPR mode for the next operation of the current block. If the current block's operation is complete, set the EPR operation mode for the next block.
[0058] At the same time, it is also necessary to determine whether the current VRBLK is the last block of the current section. If not, test the next VRBLK; if the current VRBLK is the last VRBLK of the current section, set the next section as the section to be tested, and refresh the RDT information.
[0059] Before setting the next section as the section to be tested, it is necessary to determine whether the current section is the last section of the current cycle. If not, then set the next section as the section to be tested. If the current section is the last section of the current cycle, and if the current test mode is to write all blocks and then read, and this operation is a write, then set the next operation to read, and set the VRBLK number and sectionID for the next operation. If the current operation mode is read, then set the next operation mode to erase.
[0060] After the current cycle is completed, it is necessary to check if it is the last cycle. If not, set the cycle, section ID, and VRBLK for the next operation; return to start the next round of testing; if it is the last cycle, set the current SLC or TLC test to end; return success.
[0061] Step S116: Update the failure information table via the failure callback. First, populate the information in the failure information table (FailInfo), including Cycle, Block, Section, Die, FailReason, etc. Then, add the detailed information of the current bad block (the address, time, reason, etc. of the failure) to the bad block table RecordInfo, update the Cycle, Block, Section, RunTime, FailCount, etc. in ResultHead, add this bad block to the bad block table, and update the failure count on the current Die.
[0062] Step S117: Update the failure information table via programming failure callback. Determine if the current block is already in the bad block table. If it is, no further operation is needed, and the process returns directly. If it is not in the bad block table, it indicates a newly added bad block. First, populate the information in FailInfo, such as Cycle, Block, Section, Die, and FailReason. Then, add the detailed information of the current bad block (failure address, time, reason, etc.) to the RecordInfo table. Update the Cycle, Block, Section, RunTime, and FailCount information in ResultHead, add the bad block to the bad block table, and update the failure count on the current Die.
[0063] Step S118: Update the failure information table via read failure callback. Populate the FailInfo information for read failures, determine if the block is a bad block, and return directly without any further action if it is. If a strict strategy is in place, reread 10 times; otherwise, do not reread. Multiple reads can be performed to make a comprehensive judgment based on the results, allowing for some randomness. The current returned result is UNC, indicating a failed error correction: Set the current FailReason to UNC type; update the number of failed error corrections for the current Block in the ECC information table; then add the current bad block to the RecordInfo bad block information table, update the Cycle, Block, and Section information in ResultHead, update the error count in ResultHead; add the bad block to the UNC bad block table; update the number of failures on the current die. In other words, if a UNC error occurs, it is directly considered a bad block.
[0064] The current returned result is not UNC: If it's a multi-plane read operation, after reading each plane, select the one with the most ECC (Error Checking and Correcting) errors for the operation; populate the FailInfo with the number of ECC errors, populate FailReason as ECCFail, and update the total number of flips in the current block (Total + number of flips in this ECC) and the maximum number of ECC flips; if the current number of ECC flips is greater than the ECC flip threshold within the page, update the number of times the ECC information exceeds the threshold; if the maximum number of flips in the current page exceeds the threshold of the number of flips in the block, it indicates a bad block, and return directly; if the number of times the current block exceeds the threshold is greater than the maximum number of times within a block, it indicates a bad block, and return directly; then add the bad block to the bad block table and update the number of failures on the current DIE. In other words, if an ECC error occurs, it's necessary to determine whether it's a bad block based on the number of flips with the ECC error.
[0065] Step S12: Obtain the block filtering criteria that include block filtering indicators.
[0066] In this embodiment, the block screening conditions containing block screening indicators are obtained, that is, the conditions for high-performance block screening, and the screening criteria are used for screening.
[0067] In this embodiment, obtaining the block filtering conditions including block filtering indicators may include: obtaining the block filtering indicators; determining the target operation type from the erase, write, and read operations based on the block filtering indicators and the operation feedback parameters; determining the filtering threshold for the block filtering indicators under the target operation type; and obtaining the block filtering conditions based on the block filtering indicators, the target operation type, and the filtering threshold.
[0068] Understandably, the aforementioned block screening criteria include latency and current value. Target blocks can be screened based on either the latency reported after an EPR operation or the current value reported after an EPR operation. Furthermore, based on the block screening criteria and operation feedback parameters, the target operation type is determined from erase, write, and read operations. Specifically, which type of operation (erase, write, or read) best reflects the differences between blocks? This type of operation is chosen as the target operation type. The target operation type is determined based on the differences in operation feedback parameters among all blocks under the same operation type. After determining the target operation type, the screening threshold for the block screening criteria under that target operation type is determined. For example, if the target operation type is a read operation and the block screening criterion is current value, then the current threshold corresponding to the block during a read operation is determined. Target blocks are then screened by comparing the current value with the current threshold. The aforementioned screening threshold can be a preset target threshold, or it can be the product of the average value of the parameter corresponding to the indicator and a preset coefficient. In this way, by adjusting the product, the preset coefficient can be adjusted according to the actual performance requirements of the block, thereby achieving more accurate screening of the block.
[0069] Step S13: Based on the operation feedback parameters and the block filtering conditions, select high-performance target blocks from the blocks where the erase, write, and read operations were successful.
[0070] In this embodiment, after determining the block filtering conditions, the block filtering conditions are used to filter according to the relevant parameters in the operation feedback parameters, and high-performance target blocks are selected from the blocks with successful erase, write and read operations.
[0071] As can be seen from the above, this embodiment obtains the operation feedback parameters corresponding to the blocks in the NAND flash memory that have successfully undergone erase, write, and read operations by performing RDT testing on the NAND flash memory; obtains the block selection conditions containing block selection indicators; and selects high-performance target blocks from the blocks that have successfully undergone erase, write, and read operations based on the operation feedback parameters and the block selection conditions. Therefore, by using the operation feedback parameters returned after the blocks have undergone erase, write, and read operations, and then using the block selection conditions to further select high-performance target blocks from the blocks that have successfully undergone erase, write, and read operations, high-performance target blocks are provided to users. This satisfies users' requirements for high performance and high reliability of the disk while ensuring the reliability of the disk.
[0072] This application discloses a specific method for screening NAND flash memory blocks. See [link to relevant documentation]. Figure 4 As shown, the method may include the following steps:
[0073] Step S21: By performing RDT testing on the NAND flash memory, obtain the operation feedback parameters corresponding to the blocks in the NAND flash memory where erase, write, and read operations were successfully performed.
[0074] Step S22: Obtain the block filtering index. If the block filtering index is the delay duration, then determine the target delay difference value corresponding to each type of erase, write, and read operation based on the operation feedback parameters. The target delay difference value is the difference between the maximum delay duration and the average delay duration corresponding to all blocks under the same type of erase, write, and read operation. The erase, write, and read operation includes erase operation, write operation, and read operation.
[0075] Step S23: Select the erase / write / read operation type corresponding to the target delay difference with the largest value as the target operation type.
[0076] In this embodiment, the EPR time of the particles is statistically analyzed. Based on the mean and its corresponding maximum value, it is determined which type of operation has the most significant difference in operation time. Then, the operation time corresponding to this type of operation is selected for the next block screening operation. For example, based on the duration of write operations corresponding to all blocks, the maximum write operation duration and the average write operation duration are obtained. The difference is used to obtain the first target latency difference value corresponding to the write operation. Similarly, the second target latency difference value corresponding to the read operation is obtained, and the third target latency difference value corresponding to the erase operation is obtained. By comparing the first target latency difference value, the second target latency difference value, and the third target latency difference value, it is found that the third target latency difference value is the largest. Therefore, the erase operation is selected as the target operation type.
[0077] Step S24: Based on the target operation type and the operation feedback parameters, determine the operation duration of each block under the target operation type, so as to determine the average operation duration under the target operation type;
[0078] Step S25: Calculate the operation time threshold based on the average operation time and the preset coefficient, and use it as the screening threshold.
[0079] Prior to this, the target operation type is a write operation. Taking a write operation as an example, if the target operation type is a write operation, the write operation duration corresponding to each block is determined according to the operation feedback parameters, and the average write operation duration is calculated. The write operation duration threshold is calculated based on the average write operation duration and the preset coefficient, and is used as the filtering threshold.
[0080] Step S26: Obtain the block filtering conditions based on the block filtering index, the target operation type, and the filtering threshold.
[0081] Step S27: Based on the operation feedback parameters and the block filtering conditions, select high-performance target blocks from the blocks where the erase, write, and read operations were successful.
[0082] Taking a write operation as an example, in this embodiment, the step of selecting high-performance target blocks from the blocks of successfully erased, written, and read operations based on the operation feedback parameters and the block selection conditions includes: selecting blocks whose write operation time is greater than the write operation time threshold as target blocks based on the operation feedback parameters. Specifically, the average write operation time (programming time) t is calculated, and a preset coefficient ε is set. Then, the write operation time threshold is β = t * ε, that is, blocks whose programming time is greater than the threshold β are filtered out. Based on the performance of different manufacturers' particles, the size of the screening coefficient ε can be adjusted according to their quality and reliability. If the number of remaining blocks after screening is less than the number of blocks that can be opened normally, it is judged as a failure, that is, the disk is not used under the current usage requirements.
[0083] As can be seen, by retaining the traditional RDT (Reverse Detection and Removal) block screening process to filter out bad blocks that fail to pass EPR (Electronic Performance Review), the safety and reliability of the disk during use can be guaranteed. This screening process retains as many usable blocks as possible to maximize the disk capacity. However, for some customers, capacity is not the primary consideration; their primary concern is the disk's read and write performance. Therefore, in this embodiment, some blocks with high latency, i.e., weak blocks, are filtered out, sacrificing some capacity to improve the overall read and write performance of the disk.
[0084] Furthermore, after testing, it was found that a batch of disks that could be opened normally after passing through the RDT screening block in the existing technology failed during the BIT (Built-In Test, a type of aging test). However, by using the screening block method provided in this embodiment, these disks were screened again and then opened for BIT testing, which solved the problem.
[0085] The specific process of step S26 can be found in the relevant content disclosed in the foregoing embodiments, and will not be repeated here.
[0086] As can be seen from the above, in this embodiment, if the block selection criterion is latency, then the target latency difference for each type of erase, write, and read operation is determined according to the operation feedback parameters; the target latency difference is the difference between the maximum latency and the average latency for all blocks under the same type of erase, write, and read operation; the erase, write, and read operation includes erase, write, and read operations; the erase, write, and read operation type corresponding to the largest target latency difference is taken as the target operation type; if the target operation type is a write operation, then the write operation duration for each block is determined according to the operation feedback parameters, and the average write operation duration is calculated; a write operation duration threshold is calculated based on the average write operation duration and a preset coefficient, which is used as the selection threshold; according to the operation feedback parameters, blocks with a write operation duration greater than the write operation duration threshold are selected as target blocks. It is evident that selecting blocks based on the latency of read, write, and erase operations improves the accuracy of block selection.
[0087] This application discloses a specific method for screening NAND flash memory blocks. See [link to relevant documentation]. Figure 5 As shown, the method may include the following steps:
[0088] Step S31: By performing RDT testing on the NAND flash memory, obtain the operation feedback parameters corresponding to the blocks in the NAND flash memory where erase, write, and read operations were successfully performed.
[0089] Step S32: Obtain the block screening index. If the block screening index is a current value, then determine the target current difference value corresponding to each type of erase, write, and read operation based on the operation feedback parameters. The target current difference value is the difference between the maximum current value and the average current value corresponding to all blocks under the same type of erase, write, and read operation. The erase, write, and read operation includes erase operation, write operation, and read operation.
[0090] Step S33: Select the erase / write / read operation type corresponding to the target current difference with the largest value as the target operation type.
[0091] In this embodiment, the ICC current value corresponding to the EPR of the statistical particles is used. Based on the mean and its corresponding Max value, it is determined which type of operation has the most significant difference in current value. Then, the current value corresponding to this type of operation is selected for the next block screening operation. For example, based on the current values of the write operations corresponding to all blocks, the maximum write operation current value and the average write operation current value are obtained. The difference is taken to obtain the first target current difference value corresponding to the write operation. Similarly, the second target current difference value corresponding to the read operation is obtained, and the third target current difference value corresponding to the erase operation is obtained. By comparing the first target current difference value, the second target current difference value, and the third target current difference value, it is found that the second target current difference value is the largest. Therefore, the read operation is selected as the target operation type.
[0092] Step S34: Determine the current value of each block under the target operation type based on the target operation type and the operation feedback parameters, so as to determine the average current value under the target operation type.
[0093] Step S35: Calculate the current threshold based on the average current value and the preset coefficient, and use it as the screening threshold.
[0094] In this embodiment, similar to the embodiment based on delay duration described above, the current threshold can be a preset threshold for each type of operation, or it can be calculated based on the average current value under the target operation type and a preset coefficient corresponding to the target operation type. Finally, according to the current threshold and the actual current value corresponding to the block, the target block is selected according to the current filtering rules.
[0095] Step S36: Obtain the block filtering conditions based on the block filtering index, the target operation type, and the filtering threshold.
[0096] Step S37: Based on the operation feedback parameters and the block filtering conditions, select high-performance target blocks from the blocks where the erase, write, and read operations were successful.
[0097] The specific processes of steps S36 and S37 can be found in the relevant content disclosed in the foregoing embodiments, and will not be repeated here.
[0098] As can be seen from the above, in this embodiment, a block screening index is obtained. If the block screening index is a current value, then the target current difference corresponding to each type of erase, write, and read operation is determined according to the operation feedback parameters. The target current difference is the difference between the maximum current value and the average current value corresponding to all blocks under the same type of erase, write, and read operation. The erase, write, and read operation type corresponding to the target current difference with the largest value is taken as the target operation type. A current threshold is calculated based on the average current value and a preset coefficient, which is used as the screening threshold. The block screening conditions are obtained based on the block screening index, the target operation type, and the screening threshold. It can be seen that screening blocks by the current value of block read, write, and erase improves the accuracy of block screening.
[0099] Of course, the above-mentioned filtering based on delay duration and filtering based on current value can be performed simultaneously, and the final result is obtained by combining the two filtering results. Similarly, there can be one or more target operation types, and the final filtering result is obtained by combining the different filtering results obtained for different operation types.
[0100] Accordingly, this application also discloses a NAND flash memory screening device, see [link to relevant documentation]. Figure 6 As shown, the device includes:
[0101] Parameter acquisition module 11 is used to acquire operation feedback parameters corresponding to blocks in NAND flash memory that have successfully performed erase, write and read operations by performing RDT tests on NAND flash memory.
[0102] The filtering condition acquisition module 12 is used to acquire block filtering conditions that include block filtering indicators;
[0103] The filtering module 13 is used to filter out high-performance target blocks from the blocks in which the erase, write and read operations were successfully performed, based on the operation feedback parameters and the block filtering conditions.
[0104] As can be seen from the above, this embodiment obtains the operation feedback parameters corresponding to the blocks in the NAND flash memory that have successfully undergone erase, write, and read operations by performing RDT testing on the NAND flash memory; obtains the block selection conditions containing block selection indicators; and selects high-performance target blocks from the blocks that have successfully undergone erase, write, and read operations based on the operation feedback parameters and the block selection conditions. Therefore, by using the operation feedback parameters returned after the blocks have undergone erase, write, and read operations, and then using the block selection conditions to further select high-performance target blocks from the blocks that have successfully undergone erase, write, and read operations, high-performance target blocks are provided to users. This satisfies users' requirements for high performance and high reliability of the disk while ensuring the reliability of the disk.
[0105] In some specific embodiments, the filtering condition acquisition module 12 may specifically include:
[0106] The target operation type determination unit is used to obtain block filtering indicators and determine the target operation type from the erase, write and read operations based on the block filtering indicators and the operation feedback parameters.
[0107] A filtering threshold determination unit is used to determine the filtering threshold for the filtering index of the block under the target operation type;
[0108] The filtering condition generation unit is used to obtain the block filtering conditions based on the block filtering index, the target operation type, and the filtering threshold.
[0109] In some specific embodiments, determining the target operation type may specifically include:
[0110] The target latency difference determination unit is used to determine the target latency difference for each type of erase / write / read operation based on the operation feedback parameters if the block selection index is latency duration. The target latency difference is the difference between the maximum latency duration and the average latency duration for all blocks under the same type of erase / write / read operation. The erase / write / read operation includes erase operation, write operation, and read operation.
[0111] The type determination unit is used to select the erase / write / read operation type corresponding to the target delay difference value with the largest value as the target operation type.
[0112] In some specific embodiments, the screening threshold determination unit may specifically include:
[0113] The write operation average duration determination unit is used to determine the write operation duration corresponding to each block according to the operation feedback parameters if the target operation type is a write operation, and to calculate the average write operation duration.
[0114] The write operation duration threshold determination unit is used to calculate the write operation duration threshold based on the average write operation duration and a preset coefficient, and use it as the filtering threshold.
[0115] Accordingly, the filtering module 13 includes:
[0116] The target block filtering unit is used to filter out blocks whose write operation duration is greater than the write operation duration threshold as target blocks based on the operation feedback parameters.
[0117] In some specific embodiments, the target operation type determination unit may specifically include:
[0118] The target current difference determination unit is used to determine the target current difference corresponding to each type of erase, write, and read operation based on the operation feedback parameters if the block screening index is a current value; the target current difference is the difference between the maximum current value and the average current value corresponding to all blocks under the same type of erase, write, and read operation; the erase, write, and read operation includes erase operation, write operation, and read operation;
[0119] The type determination unit is used to select the erase / write / read operation type corresponding to the target current difference with the largest value as the target operation type.
[0120] In some specific embodiments, the screening threshold determination unit may specifically include:
[0121] An average current value determination unit is used to determine the current value of each block under the target operation type based on the target operation type and the operation feedback parameters, so as to determine the average current value under the target operation type.
[0122] The current threshold determination unit is used to calculate the current threshold based on the average current value and a preset coefficient, and use it as the screening threshold.
[0123] In some specific embodiments, the parameter acquisition module 11 may specifically include:
[0124] The high-temperature testing unit is used to perform RDT testing on the NAND flash memory at high temperatures.
[0125] Furthermore, this application also discloses an electronic device, see [link to relevant documentation]. Figure 7 As shown, the content in the figure should not be considered as any limitation on the scope of use of this application.
[0126] Figure 7 This is a schematic diagram of the structure of an electronic device 20 provided in an embodiment of this application. The electronic device 20 may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 stores a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the NAND flash memory screening method disclosed in any of the foregoing embodiments.
[0127] In this embodiment, the power supply 23 is used to provide operating voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface 25 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.
[0128] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk or optical disk, etc. The resources stored thereon include the operating system 221, computer programs 222 and data 223 including operation feedback parameters, etc. The storage method can be temporary storage or permanent storage.
[0129] The operating system 221 manages and controls the various hardware devices on the electronic device 20 and the computer program 222 to enable the processor 21 to perform calculations and processing on the massive amounts of data 223 in the memory 22. The operating system 221 can be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program capable of performing the NAND flash memory screening method executed by the electronic device 20 as disclosed in any of the foregoing embodiments, the computer program 222 may further include computer programs capable of performing other specific tasks.
[0130] Furthermore, this application also discloses a computer storage medium storing computer-executable instructions. When the computer-executable instructions are loaded and executed by a processor, they implement the NAND flash memory screening method steps disclosed in any of the foregoing embodiments.
[0131] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.
[0132] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
[0133] Finally, it should 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.
[0134] The present invention provides a detailed description of a NAND flash memory screening method, apparatus, device, and medium. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, those skilled in the art will recognize that there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A method of NAND flash binning, the method comprising: include: By performing RDT tests on NAND flash memory, the operation feedback parameters corresponding to the blocks in NAND flash memory that have successfully undergone erase, write, and read operations are obtained; Retrieve block filtering criteria that include block filtering indicators; Based on the operation feedback parameters and the block filtering conditions, high-performance target blocks are selected from the blocks where the erase, write and read operations were successful. The step of obtaining the block filtering conditions that include block filtering indicators includes: Obtain block filtering indicators, and determine the target operation type from the erase, write, and read operations based on the block filtering indicators and the operation feedback parameters; Determine the screening threshold for the block screening index under the target operation type; The block filtering conditions are obtained based on the block filtering indicators, the target operation type, and the filtering threshold.
2. The NAND flash screening block method of claim 1, wherein, The step of obtaining block filtering indicators, and determining the target operation type from the erase, write, and read operations based on the block filtering indicators and the operation feedback parameters, includes: If the block selection metric is latency, then the target latency difference for each type of erase, write, and read operation is determined based on the operation feedback parameters; the target latency difference is the difference between the maximum latency and the average latency for all blocks under the same type of erase, write, and read operation; the erase, write, and read operation includes erase operation, write operation, and read operation; The erase / write / read operation type corresponding to the largest target latency difference is taken as the target operation type.
3. The NAND flash memory screening method according to claim 2, characterized in that, Determining the screening threshold for the block screening index under the target operation type includes: If the target operation type is a write operation, the write operation duration corresponding to each block is determined according to the operation feedback parameters, and the average write operation duration is calculated. The write operation duration threshold is calculated based on the average write operation duration and a preset coefficient, and is used as the filtering threshold. Accordingly, the step of selecting high-performance target blocks from the blocks where the erase / write / read operations were successfully performed, based on the operation feedback parameters and the block filtering conditions, includes: Based on the operation feedback parameters, blocks whose write operation duration is greater than the write operation duration threshold are selected as target blocks.
4. The NAND flash memory screening method according to claim 1, characterized in that, The step of obtaining block filtering indicators, and determining the target operation type from the erase, write, and read operations based on the block filtering indicators and the operation feedback parameters, includes: If the block selection criterion is a current value, then the target current difference for each type of erase, write, and read operation is determined based on the operation feedback parameters; the target current difference is the difference between the maximum current value and the average current value corresponding to all blocks under the same type of erase, write, and read operation; the erase, write, and read operation includes erase operation, write operation, and read operation; The erase / write / read operation type corresponding to the largest target current difference is taken as the target operation type.
5. The NAND flash memory screening method according to claim 4, characterized in that, Determining the screening threshold for the block screening index under the target operation type includes: Based on the target operation type and the operation feedback parameters, determine the current value of each block under the target operation type, so as to determine the average current value under the target operation type; The current threshold is calculated based on the average current value and the preset coefficient, and is used as the screening threshold.
6. The NAND flash memory screening method according to any one of claims 1 to 5, characterized in that, The RDT test on the NAND flash memory includes: The NAND flash memory was subjected to RDT testing at high temperature.
7. A NAND flash memory screening device, characterized in that, include: The parameter acquisition module is used to obtain the operation feedback parameters corresponding to the blocks in the NAND flash memory that have successfully undergone erase, write and read operations by performing RDT tests on the NAND flash memory. The filter criteria acquisition module is used to acquire block filter criteria that include block filter indicators; The filtering module is used to filter out high-performance target blocks from the blocks in which the erase, write and read operations were successfully performed, based on the operation feedback parameters and the block filtering conditions. The filtering condition acquisition module is used to acquire block filtering indicators, determine the target operation type from the erase, write, and read operations based on the block filtering indicators and the operation feedback parameters; determine the filtering threshold for the block filtering indicators under the target operation type; and obtain the block filtering conditions based on the block filtering indicators, the target operation type, and the filtering threshold.
8. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program to implement the NAND flash memory screening method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, Used for storing computer programs; wherein the computer programs, when executed by a processor, implement the NAND flash memory screening method as described in any one of claims 1 to 6.