A solid-state drive and a bad block screening method, a computer-readable storage medium

By screening for bad blocks in solid-state drives under wide temperature conditions and using the temperature difference during data writing and reading to count the number of error bit flips, the problem of the inability to comprehensively screen for bad blocks in existing technologies is solved, thus improving the screening accuracy and reliability.

CN114416443BActive Publication Date: 2025-11-14SHENZHEN HUADIAN COMM CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111583948.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-22
Publication Date
2025-11-14
Estimated Expiration
2041-12-22

AI Technical Summary

Technical Problem

Existing technology can only filter out bad blocks in solid-state drives at the highest operating temperature, and cannot filter out bad blocks at other temperatures. This means that bad blocks that are not filtered out may cause storage problems during use, thus increasing the probability of error correction.

Method used

Bad blocks in solid-state drives are screened under a wide temperature range (-40 to 85°C). The number of error bit flips is counted by the temperature difference during data writing and reading to identify bad blocks. This includes determining the data writing temperature and data reading temperature, and then screening out bad blocks based on the number of error bit flips and the temperature difference.

Benefits of technology

It improves the accuracy of bad block screening for solid-state drives in a wide temperature range, ensuring that the screened bad blocks reflect storage problems in actual use and reducing the probability of error correction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114416443B_ABST
    Figure CN114416443B_ABST
Patent Text Reader

Abstract

This application discloses a solid-state drive (SSD), a bad block screening method, and a computer-readable storage medium. The SSD is designed for use in a wide-temperature environment and includes storage units and a controller. The wide temperature range is -40°C to 85°C. Each storage unit includes storage blocks, and a storage block is identified as a bad block if its read / write error bit flip count exceeds a threshold in the wide-temperature environment. This application requires bad block screening of the target SSD's storage blocks based on the read / write error bit flip count in a wide-temperature environment. This ensures that the ultimately screened bad blocks reflect potential storage problems in the SSD under wide-temperature conditions, thereby improving the accuracy of bad block screening. The bad block screening method and computer-readable storage medium provided in this application also solve corresponding technical problems.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of solid-state drive (SSD) testing technology, and more specifically, to a solid-state drive, a bad block screening method, and a computer-readable storage medium. Background Technology

[0002] With the development of storage technology, solid-state drives (SSDs) are increasingly used. After SSDs are manufactured, to avoid bad blocks and unusable storage space, reliability demonstration tests (RDTs) are required to identify bad blocks. This involves performing write and read operations on the SSD at its highest operating temperature and counting the number of error bit flips during read operations. Bad blocks are then identified based on this count. However, this method only identifies bad blocks at the highest operating temperature and not at other temperatures. This means undetected bad blocks may be used as normal blocks. If bad block handling is performed using this method, even after handling, storage problems may persist in subsequent use, increasing the probability of error correction for the SSD.

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

[0004] The purpose of this application is to provide a solid-state drive (SSD) that can, to some extent, solve the technical problem of how to improve the accuracy of bad block screening in SSDs. This application also provides a method for bad block screening in an SSD and a computer-readable storage medium.

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

[0006] A solid-state drive for use in wide-temperature environments includes storage units and a controller;

[0007] The wide temperature range includes -40 to 85°C; the storage unit includes a storage block, and the storage block is determined to be a bad block after the number of read / write error bit flips exceeds a threshold in the wide temperature environment.

[0008] Preferably, the controller is used for:

[0009] Based on the wide temperature range, the write data temperature and read data temperature of the solid-state drive are determined, and there is a temperature difference between the write data temperature and the read data temperature;

[0010] Data is written to the storage unit when the ambient temperature of the solid-state drive reaches the data writing temperature.

[0011] When the ambient temperature of the solid-state drive reaches the data read temperature, data is read from the storage unit, and the number of error bit flips in the solid-state drive is counted.

[0012] Bad blocks in the solid-state drive are determined based on the number of error bit flips.

[0013] Preferably, determining bad blocks in the solid-state drive based on the number of error bit flips includes:

[0014] For each storage block, the number of error bit flips for the storage block is determined based on the number of error bit flips for the data pages in the storage block;

[0015] Based on the number of erroneous bit flips of the memory blocks that make up the die, a dynamic threshold for bad block screening of the memory blocks in the die is determined;

[0016] The bad blocks are selected based on the number of erroneous bit flips in the storage block and the bad block selection dynamic threshold.

[0017] Preferably, determining the number of error bit flips in the storage block based on the number of error bit flips in the data pages of the storage block includes:

[0018] The first maximum value of the number of error bit flips of the data page in the storage block is determined as the number of error bit flips of the storage block.

[0019] Preferably, determining the bad block screening dynamic threshold for the memory blocks in the die based on the number of erroneous bit flips of the memory blocks constituting the die includes:

[0020] Determine the second maximum and average value of the number of erroneous bit flips of the memory block that makes up the die;

[0021] The bad block screening coefficient of the die is determined based on the type and operating temperature of the Nand flash memory.

[0022] The bad block screening threshold is determined based on the second maximum value, the average value, and the bad block screening coefficient.

[0023] Preferably, determining the bad block screening threshold based on the second maximum value, the average value, and the bad block screening coefficient includes:

[0024] The bad block screening threshold is determined by using a calculation formula based on the second maximum value, the average value, and the bad block screening coefficient.

[0025] The calculation formula includes:

[0026] ThrEBC die =((MaxEBC) blk –AvgEBC blk )*K+AvgEBC blk );

[0027] Among them, ThrEBC die This represents the bad block screening threshold; MaxEBC blk This represents the second maximum value; AvgEBC blk denoted as the average value; K represents the bad block screening coefficient.

[0028] Preferably, the step of filtering out bad blocks based on the number of erroneous bit flips in the storage block and the bad block filtering dynamic threshold includes:

[0029] Determine the static threshold for bad block screening based on the controller of the target solid-state drive;

[0030] The storage block whose error bit flip value is greater than the bad block screening dynamic threshold and the bad block screening static threshold is identified as the bad block.

[0031] Preferably, the temperature difference is greater than or equal to 30°C.

[0032] A method for screening bad blocks in a solid-state drive (SSD), applied to the SSD controller, includes:

[0033] Based on the wide temperature environment of the solid-state drive, the write data temperature and read data temperature of the solid-state drive are determined, and there is a temperature difference between the write data temperature and the read data temperature. The wide temperature range includes -40 to 85°C.

[0034] When the ambient temperature of the solid-state drive reaches the data writing temperature, data is written to the storage unit of the solid-state drive.

[0035] When the ambient temperature of the solid-state drive reaches the data read temperature, data is read from the storage unit, and the number of error bit flips in the solid-state drive is counted.

[0036] Bad blocks in the solid-state drive are determined based on the number of error bit flips.

[0037] A computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the solid-state drive bad block screening method described above.

[0038] This application provides a solid-state drive (SSD) for wide-temperature environments, including storage units and a controller; wherein the wide temperature range is -40 to 85°C; the storage unit includes storage blocks, and a storage block is identified as a bad block if the number of read / write error bit flips exceeds a threshold in the wide-temperature environment. In this application, bad block screening of the target SSD's storage blocks is performed based on the number of read / write error bit flips in the wide-temperature environment, so that the ultimately screened bad blocks can reflect the storage problems that may occur in the SSD under wide-temperature conditions, thereby improving the accuracy of bad block screening. The SSD bad block screening method and computer-readable storage medium provided in this application also solve the corresponding technical problems. Attached Figure Description

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

[0040] Figure 1 A schematic diagram of a solid-state drive provided in an embodiment of this application;

[0041] Figure 2 A flowchart illustrating a method for screening bad blocks in a solid-state drive (SSD) provided in this application embodiment;

[0042] Figure 3 This is a flowchart of the bad block screening process in this application;

[0043] Figure 4 This is another flowchart for bad block screening in this application;

[0044] Figure 5 This is a schematic diagram of a solid-state drive bad block screening system provided in an embodiment of this application. Detailed Implementation

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

[0046] With the development of storage technology, solid-state drives (SSDs) are increasingly used. After SSDs are manufactured, to avoid bad blocks and unusable storage space, reliability demonstration tests (RDTs) are required to identify bad blocks. This involves performing write and read operations on the SSD at its highest operating temperature, counting the number of error bit flips during read operations, and then filtering out bad blocks based on this count. However, this method only filters out bad blocks at the highest operating temperature and not at other operating temperatures. This means that unfiltered bad blocks may be used as normal blocks. If bad block processing is performed using this method, the processed SSD may still have storage problems during subsequent use, increasing the probability of error correction. To solve this problem, this application provides a solid-state drive, a bad block filtering method, and a computer-readable storage medium.

[0047] Please see Figure 1 , Figure 1 This is a schematic diagram of a solid-state drive provided in an embodiment of this application.

[0048] This application provides a solid-state drive for use in wide-temperature environments, including a storage unit 11 and a controller 12; wherein the wide temperature range is -40 to 85°C; the storage unit includes storage blocks, and the storage blocks are determined to be bad blocks after the number of read / write error bit flips exceeds a threshold in the wide-temperature environment.

[0049] It should be noted that the type and structure of solid-state drives can be determined according to actual needs, and this application does not impose specific limitations here.

[0050] This application provides a solid-state drive (SSD) for wide-temperature environments, including storage units and a controller; wherein the wide temperature range is -40 to 85°C; the storage unit includes storage blocks, and a storage block is identified as a bad block if the number of read / write error bit flips exceeds a threshold in the wide-temperature environment. In this application, bad block screening of the target SSD's storage blocks is performed based on the number of read / write error bit flips in the wide-temperature environment, so that the ultimately screened bad blocks can reflect the storage problems that may occur in the SSD under wide-temperature conditions, thereby improving the accuracy of bad block screening for the SSD.

[0051] Please see Figure 2 , Figure 2 This is a flowchart illustrating a method for screening bad blocks in a solid-state drive, as provided in an embodiment of this application.

[0052] This application provides a method for screening bad blocks in a solid-state drive (SSD), applied to the SSD controller, and may include the following steps:

[0053] Step S101: Based on the wide temperature range of the solid-state drive, determine the write data temperature and read data temperature of the solid-state drive, and there is a temperature difference between the write data temperature and the read data temperature.

[0054] In practical applications, the process of screening for bad blocks on a solid-state drive (SSD) requires data read and write operations. The results of these operations are related to the SSD's operating temperature, and the selected bad blocks reflect the SSD's storage performance at the corresponding temperature. Therefore, after identifying the SSD to be tested, it is necessary to determine the write and read temperatures based on the SSD's wide-temperature environment. The write temperature is the ambient temperature of the SSD when writing data to it, and the read temperature is the ambient temperature of the SSD when reading data from it.

[0055] It should be noted that in this application, there is a temperature difference between the write data temperature and the read data temperature, that is, the write data temperature and the read data temperature are not equal. The specific relationship between the two can be determined according to actual needs. For example, the write data temperature can be the minimum value of the wide temperature range of the solid-state drive, and the read data temperature can be the maximum value of the wide temperature range of the solid-state drive, or the write data temperature can be the maximum value of the wide temperature range of the solid-state drive, and the read data temperature can be the minimum value of the wide temperature range of the solid-state drive, or the difference between the write data temperature and the read data temperature can be 30 degrees, etc. For example, if the wide temperature range of the solid-state drive is -40 to 85℃, then the write data temperature can be 65℃, and the read data temperature can be 65℃, etc. In addition, in specific application scenarios, the temperature difference value can also be determined directly based on the wide temperature range of the solid-state drive, such as taking half of the difference between the maximum and minimum values ​​of the wide temperature range as the temperature difference value, etc. This application does not make specific limitations here.

[0056] Step S102: When the ambient temperature of the solid-state drive reaches the data writing temperature, write data into the storage unit of the solid-state drive.

[0057] Step S103: When the ambient temperature of the solid-state drive reaches the data read temperature, read data from the storage unit and count the number of error bit flips in the solid-state drive.

[0058] In practical applications, after determining the write and read data temperatures of a solid-state drive (SSD) in a wide-temperature environment, bad block screening can be performed. During this process, data is written to the SSD's storage cells when the ambient temperature reaches the write temperature, and data is read from the storage cells when the ambient temperature reaches the read temperature. The number of error bit flips in the SSD is also counted.

[0059] It should be noted that the error bit flip count refers to the number of unequal bits when comparing data written to and read from the same memory block in binary form. For example, if the data written is 11110011B and the data read is 11110000B, and the bits 0 and 1 of the written and read data are not equal, then the error bit flip count is 2.

[0060] Step S104: Determine bad blocks in the solid-state drive based on the number of error bit flips.

[0061] In practical applications, after counting the number of error bit flips in a solid-state drive (SSD), bad blocks in the SSD can be determined based on the number of error bit flips. For example, storage blocks with an error bit flip value greater than a preset value can be directly identified as bad blocks. This application does not make any specific limitations here.

[0062] It should be noted that, before or after performing bad block screening on the solid-state drive according to the bad block screening method provided in this application, bad block screening on the solid-state drive can also be performed based on the existing RTD testing process. Finally, the two bad block screening results can be integrated to determine the final bad block information in the solid-state drive. This application does not make any specific limitations here.

[0063] This application provides a method for screening bad blocks in a solid-state drive (SSD). Applied to the SSD controller, the method determines the write and read data temperatures of the SSD based on its wide-temperature environment, assuming a temperature difference between them. When the ambient temperature of the SSD reaches the write temperature, data is written to the SSD's storage cells. When the ambient temperature reaches the read temperature, data is read from the storage cells, and the number of error bit flips in the SSD is counted. Bad blocks are then identified based on the number of error bit flips. This method, by determining the write and read data temperatures of the SSD within its wide-temperature environment, and recognizing the temperature difference between them, effectively performs bad block screening within this wide-temperature environment. This ensures that the selected bad blocks reflect potential storage problems in the SSD under these conditions, thus improving the accuracy of bad block screening.

[0064] Please see Figure 3 , Figure 3 This is a flowchart of the bad block screening process in this application.

[0065] In the solid-state drive (SSD) bad block screening method provided in this application embodiment, the process of determining bad blocks in the SSD based on the number of error bit flips may include the following steps:

[0066] Step S201: For each storage block in the solid-state drive, determine the number of error bit flips of the storage block based on the number of error bit flips of the data pages in the storage block.

[0067] In practical applications, solid-state drives (SSDs) use one or more NAND flash memory chips as the data storage medium. A single NAND flash memory chip contains one or more dies, which are also single storage chips. A single die contains multiple storage blocks, and a single block contains multiple data pages. Therefore, in the process of determining bad blocks in a target SSD based on the number of error bit flips, for each storage block in the target SSD, the number of error bit flips of the storage block can be determined based on the number of error bit flips of the data pages in the storage block. This allows for subsequent bad block screening based on the number of error bit flips of the storage block.

[0068] Step S202: Determine the dynamic threshold for bad block screening of the memory blocks in the die based on the number of erroneous bit flips of the memory blocks that make up the die.

[0069] Step S203: Based on the number of faulty bit flips in the storage block and the dynamic threshold for bad block screening, bad blocks are selected.

[0070] In practical applications, since multiple memory blocks make up a die, the bad block screening dynamic threshold of the memory blocks in the die can be determined based on the number of error bit flips of the memory blocks that make up the die. Based on the number of error bit flips of the memory blocks and the bad block screening dynamic threshold, bad blocks can be screened out so as to quickly complete the bad block screening.

[0071] Please see Figure 4 , Figure 4 This is another flowchart for bad block screening in this application.

[0072] In the solid-state drive (SSD) bad block screening method provided in this application embodiment, the process of determining bad blocks in the SSD based on the number of error bit flips may include the following steps:

[0073] Step S301: For each storage block in the solid-state drive, determine the first maximum value of the number of error bit flips of the data pages in the storage block as the number of error bit flips of the storage block.

[0074] In practical applications, when determining the error bit flip count of a storage block based on the error bit flip count of data pages within the block, the first maximum value of the error bit flip count of data pages in the block can be directly used as the error bit flip count of the storage block. Assuming a storage block contains Z pages, EBC... page EBC represents the number of error bit flips in a data page. blk The EBC represents the number of erroneous bit flips in a memory block. blk=max(EBC) page1 EBC page2 , ..., EBC pageZ) Of course, the second average of the number of error bit flips in the data pages of the storage block can also be used to determine the number of error bit flips in the storage block, and this application does not make a specific limitation here.

[0075] Step S302: Determine the second maximum and average value of the number of faulty bit flips in the memory blocks that make up the die.

[0076] Step S303: Determine the bad block screening factor of the die based on the type and operating temperature of the Nand flash memory.

[0077] In practical applications, when determining the dynamic threshold for bad block screening of memory blocks within a die based on the number of error bit flips in the memory blocks that make up the die, the second maximum and average values ​​of the number of error bit flips in the memory blocks that make up the die can be determined first. Then, based on the type of NAND flash memory and its operating temperature, the bad block screening coefficient of the die can be determined. Finally, the bad block screening threshold can be determined based on the second maximum value, the average value, and the bad block screening coefficient. Of course, there are other ways to determine the bad block screening threshold, which are not specifically limited in this application. It should be noted that the process of determining the bad block screening coefficient of the die based on the type of NAND flash memory and its operating temperature can be determined according to actual needs. For example, the bad block screening coefficient of the die can be determined based on the bad block screening results of the die under different types of NAND flash memory and operating temperatures. Of course, it can also be determined based on empirical values. For example, the bad block screening coefficient of NAND Flash with parameters YMTC-X1-9050 Elite TLC can be 0.4, and the bad block screening coefficient of NAND Flash with parameters YMTC-X1-9050 Client TLC can be 0.45, etc.

[0078] In specific application scenarios, when determining the bad block screening threshold based on the second maximum value, average value, and bad block screening coefficient, the bad block screening threshold can be determined by calculation formula based on the second maximum value, average value, and bad block screening coefficient.

[0079] The calculation formulas include:

[0080] ThrEBC die =((MaxEBC) blk –AvgEBC blk )*K+AvgEBC blk );

[0081] Among them, ThrEBC die Indicates the bad block filtering threshold; MaxEBC blk Indicates the second maximum value; AvgEBCblk denoted by ; K represents the bad block screening coefficient.

[0082] In this process, if a single die contains Y memory blocks, then:

[0083] MaxEBC blk =max(EBC) blk1 EBC blk2 , ..., EBC blkY );

[0084] AvgEBC blk =sum(EBC) blk1 EBC blk2 ,...EBC blkY ) / Y

[0085] Step S304: Determine the bad block screening threshold based on the second maximum value, the average value, and the bad block screening coefficient.

[0086] Step S305: Determine the static threshold for bad block screening based on the controller of the solid-state drive.

[0087] Step S306: Determine the storage blocks whose error bit flip count is greater than the bad block screening dynamic threshold and the bad block screening static threshold as bad blocks.

[0088] In practical applications, when filtering out bad blocks based on the number of error bit flips and the dynamic threshold for bad block screening, the static threshold for bad block screening can be determined first based on the controller of the target solid-state drive; then, storage blocks whose number of error bit flips is greater than both the dynamic threshold and the static threshold for bad block screening can be identified as bad blocks.

[0089] It should be noted that the process of determining the static threshold for bad block screening based on the controller of the solid-state drive can be determined according to actual needs. This application does not make specific limitations here. For example, bad block screening can be performed on solid-state drives with various types of controllers, and the corresponding static threshold for bad block screening can be determined according to the screening results. Of course, it can also be determined based on empirical values. For example, the static threshold for bad block screening of solid-state drives with GK2302 controllers can be 50, and the static threshold for bad block screening of solid-state drives with GK2303 controllers can be 70, etc.

[0090] Please see Figure 5 , Figure 5 This is a schematic diagram of a solid-state drive bad block screening system provided in an embodiment of this application.

[0091] This application provides a solid-state drive (SSD) bad block screening system, applied to the SSD controller, which may include:

[0092] The first determining module 101 is used to determine the write data temperature and read data temperature of the solid-state drive based on the wide temperature environment of the solid-state drive, and there is a temperature difference between the write data temperature and the read data temperature, with the wide temperature range including -40 to 85℃.

[0093] The first writing module 102 is used to write data into the storage unit of the solid-state drive when the ambient temperature of the solid-state drive reaches the data writing temperature.

[0094] The first reading module 103 is used to read data from the storage unit when the ambient temperature of the solid-state drive reaches the data reading temperature, and to count the number of error bit flips in the solid-state drive.

[0095] The second determining module 104 is used to determine bad blocks in the solid-state drive based on the number of error bit flips.

[0096] This application provides a solid-state drive bad block screening system, applied to the controller of a solid-state drive. The second determining module may include:

[0097] The first determining submodule is used to determine the number of error bit flips of a storage block for each storage block in the solid-state drive based on the number of error bit flips of the data pages in the storage block;

[0098] The second determining submodule is used to determine the bad block screening dynamic threshold of the memory blocks in the die based on the number of erroneous bit flips of the memory blocks that make up the die.

[0099] The first filtering submodule is used to filter out bad blocks based on the number of error bit flips in the storage block and the dynamic threshold for bad block filtering.

[0100] This application provides a solid-state drive (SSD) bad block screening system, applied to the SSD controller. The first determining submodule may include:

[0101] The first determining unit is used to determine the first maximum value of the number of error bit flips of the data page in the storage block as the number of error bit flips of the storage block.

[0102] This application provides a solid-state drive (SSD) bad block screening system, applied to the SSD controller. The second determination submodule may include:

[0103] The second determining unit is used to determine the second maximum value and average value of the number of erroneous bit flips in the memory blocks that make up the die;

[0104] The third determining unit is used to determine the defect screening coefficient of the grain based on the type of grain and the operating temperature.

[0105] The fourth determining unit is used to determine the bad block screening threshold based on the second maximum value, the average value, and the bad block screening coefficient.

[0106] This application provides a solid-state drive bad block screening system, applied to the controller of the solid-state drive. The fourth determining unit can be specifically used for:

[0107] The bad block screening threshold is determined by using a calculation formula based on the second maximum value, the average value, and the bad block screening coefficient.

[0108] The calculation formulas include:

[0109] ThrEBC die =((MaxEBC) blk –AvgEBC blk )*K+AvgEBC blk );

[0110] Among them, ThrEBC die MaxEBC represents the bad block filtering threshold. blk Indicates the second maximum value; AvgEBC blk denoted by ; K represents the bad block screening coefficient.

[0111] This application provides a solid-state drive (SSD) bad block screening system, applied to the SSD controller. The first screening submodule may include:

[0112] The fifth determining unit is used to determine the static threshold for bad block screening based on the main controller of the solid-state drive;

[0113] The first filtering unit is used to identify storage blocks whose error bit flip count is greater than both the dynamic threshold and the static threshold for bad block filtering as bad blocks.

[0114] This application provides a solid-state drive bad block screening system with a temperature difference value greater than or equal to 30°C.

[0115] This application provides a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the following steps:

[0116] Based on the wide temperature range of solid-state drives (SSDs), the write and read data temperatures of SSDs were determined, and there is a temperature difference between the write and read data temperatures, with the wide temperature range including -40 to 85℃.

[0117] Data is written to the solid-state drive's storage cells when the ambient temperature reaches the data writing temperature.

[0118] Once the ambient temperature of the solid-state drive reaches the data read temperature, data is read from the storage unit, and the number of error bit flips in the solid-state drive is counted.

[0119] Bad blocks in a solid-state drive (SSD) are identified based on the number of error bit flips.

[0120] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the following steps: for each storage block in a solid-state drive, determining the number of error bit flips of the storage block based on the number of error bit flips of the data pages in the storage block; determining a dynamic threshold for bad block screening of the storage blocks in the die based on the number of error bit flips of the storage blocks that make up the die; and screening out bad blocks based on the number of error bit flips of the storage blocks and the dynamic threshold for bad block screening.

[0121] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the following steps: determining the first maximum value of the number of error bit flips of a data page in a storage block as the number of error bit flips of the storage block.

[0122] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the following steps: determining the second maximum value and average value of the number of fault bit flips in the storage blocks that make up the die; determining the bad block screening coefficient of the die based on the die type and operating temperature; and determining the bad block screening threshold based on the second maximum value, average value, and bad block screening coefficient.

[0123] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the following steps: determining a bad block screening threshold based on a calculation formula, a second maximum value, an average value, and a bad block screening coefficient.

[0124] The calculation formulas include:

[0125] ThrEBC die =((MaxEBC) blk –AvgEBC blk )*K+AvgEBC blk );

[0126] Among them, ThrEBC die Indicates the bad block filtering threshold; MaxEBC blk Indicates the second maximum value; AvgEBC blk denoted by ; K represents the bad block screening coefficient.

[0127] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the following steps: determining a static threshold for bad block screening based on the controller of the solid-state drive; and identifying storage blocks whose error bit flip value is greater than both the dynamic threshold and the static threshold for bad block screening as bad blocks.

[0128] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the following steps: the temperature difference is greater than or equal to 30°C.

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

[0130] For a detailed description of the solid-state drive, bad block screening system, and computer-readable storage medium provided in this application, please refer to the detailed description of the corresponding part in the solid-state drive bad block screening method provided in this application, which will not be repeated here. Furthermore, the parts of the technical solutions provided in this application that are consistent with the implementation principles of corresponding technical solutions in the prior art have not been described in detail to avoid excessive elaboration.

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

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

Claims

1. A solid-state drive for use in wide-temperature environments, characterized in that, Includes storage units and controllers; The wide temperature range includes -40 to 85°C; the storage unit includes a storage block, and the storage block is determined to be a bad block after the number of read / write error bit flips exceeds a threshold in the wide temperature environment; the number of error bit flips refers to the number of unequal bits when comparing the data written and read from the same storage block in binary form. The controller is used for: For each storage block, the number of error bit flips for the storage block is determined based on the number of error bit flips for the data pages in the storage block; Determine the maximum and average number of erroneous bit flips in the memory blocks that make up the die; The bad block screening coefficient of the die is determined based on the type and operating temperature of the Nand flash memory. The bad block screening dynamic threshold is determined by using a calculation formula based on the maximum value of the number of erroneous bit flips of the memory blocks constituting the die, the average value, and the bad block screening coefficient. The bad blocks are selected based on the number of erroneous bit flips in the storage block and the bad block selection dynamic threshold. The calculation formula includes: ThrEBC die =((MaxEBC blk –AvgEBC blk )*K+AvgEBC blk ); Among them, ThrEBC die This represents the dynamic threshold for bad block filtering; MaxEBC blk This represents the maximum number of erroneous bit flips in the memory block that makes up the die; AvgEBC blk denoted as the average value; K represents the bad block screening coefficient.

2. The solid-state drive according to claim 1, characterized in that, The controller is used for: Based on the wide temperature range, the write data temperature and read data temperature of the solid-state drive are determined, and there is a temperature difference between the write data temperature and the read data temperature; Data is written to the storage unit when the ambient temperature of the solid-state drive reaches the data writing temperature. When the ambient temperature of the solid-state drive reaches the data read temperature, data is read from the storage unit, and the number of error bit flips in the solid-state drive is counted.

3. The solid-state drive according to claim 2, characterized in that, Determining the number of error bit flips in a storage block based on the number of error bit flips in the data pages of the storage block includes: The first maximum value of the number of error bit flips of the data page in the storage block is determined as the number of error bit flips of the storage block.

4. The solid-state drive according to claim 3, characterized in that, The step of filtering out bad blocks based on the number of erroneous bit flips in the storage block and the bad block filtering dynamic threshold includes: Determine the static threshold for bad block screening based on the controller of the target solid-state drive; The storage block whose error bit flip value is greater than the bad block screening dynamic threshold and the bad block screening static threshold is identified as the bad block.

5. The solid-state drive according to any one of claims 2 to 4, characterized in that, The temperature difference is greater than or equal to 30.

6. A method for screening bad blocks in a solid-state drive, characterized in that, Controllers used in solid-state drives include: Based on the wide temperature environment of the solid-state drive, the write data temperature and read data temperature of the solid-state drive are determined, and there is a temperature difference between the write data temperature and the read data temperature. The wide temperature range includes -40~85℃. When the ambient temperature of the solid-state drive reaches the data writing temperature, data is written to the storage unit of the solid-state drive. When the ambient temperature of the solid-state drive reaches the read data temperature, data is read from the storage unit, and the number of error bit flips in the solid-state drive is counted; the number of error bit flips refers to the number of unequal bits when comparing data written to and read from the same storage block in binary form. For each storage block, the number of error bit flips for the storage block is determined based on the number of error bit flips for the data pages in the storage block; Determine the maximum and average number of erroneous bit flips in the memory blocks that make up the die; The bad block screening coefficient of the die is determined based on the type and operating temperature of the Nand flash memory. The bad block screening dynamic threshold is determined by using a calculation formula based on the maximum value of the number of erroneous bit flips of the memory blocks constituting the die, the average value, and the bad block screening coefficient. The bad blocks are selected based on the number of erroneous bit flips in the storage block and the bad block selection dynamic threshold. The calculation formula includes: ThrEBC die =((MaxEBC blk –AvgEBC blk )*K+AvgEBC blk ); Among them, ThrEBC die This represents the dynamic threshold for bad block filtering; MaxEBC blk This represents the maximum number of erroneous bit flips in the memory block that makes up the die; AvgEBC blk denoted as the average value; K represents the bad block screening coefficient.

7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the solid-state drive bad block screening method as described in claim 6.

Citation Information

Patent Citations

  • Method for screening and classifying flash memory particles

    CN108648779A

  • Data writing method for a flash memory, and controller and storage system using the same

    US20110087950A1