Read disturb function test method and device, readable storage medium and electronic equipment

By receiving read interference function test requests and using query and setting interfaces to obtain and set read counts and block status, the problems of low efficiency and inability to accurately observe data refresh in existing technologies are solved, thus achieving efficient and accurate read interference function testing.

CN120048326BActive Publication Date: 2025-11-25CHENGDU BIWIN STORAGE TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510082252.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-20
Publication Date
2025-11-25
Estimated Expiration
2045-01-20

AI Technical Summary

Technical Problem

Existing methods for testing read interference are inefficient and cannot accurately observe whether data is refreshed when the block read count exceeds the threshold.

Method used

By receiving read interference function test requests, the system obtains the configuration information and read count of the solid-state drive through the query interface, sets the read interference threshold, reads data sequentially, and determines the test results based on the read interference threshold, read count, and block status. The system can flexibly set the read count through the setting interface to avoid multiple actual read operations.

Benefits of technology

It achieves efficient and reliable reading interference function testing, shortens the testing cycle, improves testing efficiency and effectiveness, and makes test results more accurate and transparent.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120048326B_ABST
    Figure CN120048326B_ABST
Patent Text Reader

Abstract

The application discloses a read interference function test method and device, a readable storage medium and electronic equipment, configuration information of a to-be-tested SSD is acquired by using a query interface, test data is sequentially written into the to-be-tested SSD, a physical block that has been written full is acquired by using the query interface, read count, read interference threshold and block state of the physical block are acquired by using the query interface, the read count is set based on the read interference threshold by using a setting interface, the test data is sequentially read, the read count and the block state of the physical block are acquired again by using the query interface, a test result is determined based on the read interference threshold, the read count and the block state acquired twice, the test required information can be directly and accurately acquired by using the query interface, the current read count can be flexibly set by using the setting interface, and the test period is shortened, so that efficient and reliable read interference function basic test is realized, and the test process is more transparent, and therefore the efficiency and effectiveness of the read interference function test are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of solid-state drive testing technology, and in particular to a method, apparatus, readable storage medium, and electronic device for testing read interference function. Background Technology

[0002] RDB (Read Disturbance) refers to the interference that occurs when a NAND flash memory reads a page, causing interference to adjacent pages. As the number of reads increases, this eventually leads to bit flips. If the firmware doesn't handle this interference, data inconsistency can occur when bit flips exceed the error correction capabilities of the SSD (Solid State Disk or Solid State Drive). Therefore, current SSD firmware largely implements Read Disturbance functionality. The firmware continuously monitors the read activity of physical blocks on the SSD and sets a Read Disturbance threshold based on factors such as the quality of the NAND flash memory and the current number of write cycles. Once the number of read cycles for a block reaches the RDB threshold, the data on that block is refreshed, preventing data loss due to read interference.

[0003] The mainstream black-box testing methods for read interference functions are roughly as follows:

[0004] 1. First, write a certain amount of initial test data to the test disk (e.g., 30%, 50%, 100% of the disk).

[0005] 2. Repeatedly read two different areas of the disk platter, such as reading 5%-10% first, then 20%-30%, and repeating this process a certain number of times. The number of repetitions is generally determined based on the firmware RDB threshold and acceptance criteria. For example, if the SSD under test is a TLC Nand, the RDB threshold for TLC Block is 4 million times. According to the standard that the disk under test can withstand more than 20 consecutive Read Disturb triggers without failure, the number of cycles can be set to 100 million times.

[0006] 3. Read and verify the written data from step 1 and check the data consistency.

[0007] The above testing method has two obvious drawbacks: 1) It requires a long testing time, resulting in low testing efficiency; 2) It cannot accurately observe whether the data on the Block is refreshed when the Block's read count exceeds the RDB threshold. Summary of the Invention

[0008] The technical problem to be solved by the present invention is to provide a method, apparatus, readable storage medium and electronic device for testing read interference function, which can improve the efficiency and effectiveness of read interference function testing.

[0009] To solve the above-mentioned technical problems, the present invention adopts the following technical solution:

[0010] A method for testing read interference functionality, comprising the following steps:

[0011] Receive a read interference function test request from the solid-state drive under test, wherein the read interference function test request includes a basic read interference function test request;

[0012] Based on the read interference function basic test request, the query interface is used to obtain the configuration information of the solid-state drive under test, and after writing the first test data sequentially to the solid-state drive under test according to the configuration information, the query interface is used to obtain a physical block that has been filled.

[0013] The query interface is used to obtain the first read count, the first read interference threshold and the first block status of the physical block, and the setting interface is used to set the first read count based on the first read interference threshold.

[0014] The first test data is read sequentially, and the second read count and second block status of the physical block are obtained using the query interface;

[0015] Based on the first read interference threshold, the second read count, the first block status, and the second block status, a first test result corresponding to the basic test request for the read interference function is determined.

[0016] To solve the above-mentioned technical problems, another technical solution adopted by the present invention is as follows:

[0017] A read interference function testing device, comprising:

[0018] The request receiving module is used to receive the read interference function test request of the solid-state drive under test, the read interference function test request including the basic test request of the read interference function;

[0019] The data writing module is used to obtain the configuration information of the solid-state drive under test by using a query interface according to the basic test request of the read interference function, and after sequentially writing the first test data to the solid-state drive under test according to the configuration information, use the query interface to obtain a physical block that has been filled.

[0020] The data setting module is used to obtain the first read count, the first read interference threshold, and the first block status of the physical block using the query interface, and to set the first read count based on the first read interference threshold using the setting interface.

[0021] The data reading module is used to sequentially read the first test data and use the query interface to obtain the second read count and the second block status of the physical block;

[0022] The test result determination module is used to determine the first test result corresponding to the basic test request for the read interference function based on the first read interference threshold, the second read count, the first block status, and the second block status.

[0023] To solve the above-mentioned technical problems, another technical solution adopted by the present invention is as follows:

[0024] A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the above-described read interference function test method.

[0025] To solve the above-mentioned technical problems, another technical solution adopted by the present invention is as follows:

[0026] An electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the above-described read interference function test method.

[0027] The beneficial effects of this invention are as follows: After receiving a basic test request for the read interference function of the solid-state drive under test, the system uses a query interface to obtain the configuration information of the solid-state drive under test. Based on the configuration information, it sequentially writes first test data to the solid-state drive under test. Then, it uses the query interface to obtain a fully written physical block, obtains the first read count, the first read interference threshold, and the first block status of the physical block, and uses a setting interface to set the first read count based on the first read interference threshold. The system sequentially reads the first test data, and uses the query interface to obtain the second read count and the second block status of the physical block. Based on the first read interference threshold, the second read count, the first block status, and the second block status, it determines the first test result. This invention utilizes a query interface to directly and accurately obtain the information required for the test, and a setting interface to flexibly set the current read count, eliminating the need for multiple actual read operations and shortening the test cycle. This achieves efficient and reliable basic tests for the read interference function. Furthermore, the test result determination is not based solely on data consistency verification as in existing technologies, but rather on the first read interference threshold, the second read count, the first block status, and the second block status obtained using the query interface. This makes the test results more reliable and the test process more transparent, thereby improving the efficiency and effectiveness of the read interference function test. Attached Figure Description

[0028] Figure 1 This is a flowchart illustrating the steps of a read interference function testing method according to an embodiment of the present invention;

[0029] Figure 2 This is a schematic diagram of the structure of a read interference function testing device according to an embodiment of the present invention;

[0030] Figure 3 This is a schematic diagram of the structure of an electronic device according to an embodiment of the present invention;

[0031] Figure 4 This is a flowchart of the basic test procedure for the read interference function in the test method for the read interference function of this invention.

[0032] Figure 5 This is a flowchart illustrating the test process of how the read interference threshold changes with the number of erase cycles in the read interference function test method of this invention.

[0033] Figure 6 This is a flowchart illustrating the interaction between the read interference function and other functional modules in the read interference function test method of this invention.

[0034] Figure 7 This is a flowchart of the test for triggering the read interference function when there are insufficient remaining blank blocks in the read interference function test method of this invention.

[0035] Figure 8 This is a flowchart of the test for UNC (Uninterrupted Code) occurring when the read count reaches the read interference threshold in the read interference function test method of this invention. Detailed Implementation

[0036] To explain in detail the technical content, objectives, and effects of the present invention, the following description is provided in conjunction with the embodiments and accompanying drawings.

[0037] Please refer to Figure 1 A method for testing read interference function, comprising the following steps:

[0038] Receive a read interference function test request from the solid-state drive under test, wherein the read interference function test request includes a basic read interference function test request;

[0039] Based on the read interference function basic test request, the query interface is used to obtain the configuration information of the solid-state drive under test, and after writing the first test data sequentially to the solid-state drive under test according to the configuration information, the query interface is used to obtain a physical block that has been filled.

[0040] The query interface is used to obtain the first read count, the first read interference threshold and the first block status of the physical block, and the setting interface is used to set the first read count based on the first read interference threshold.

[0041] The first test data is read sequentially, and the second read count and second block status of the physical block are obtained using the query interface;

[0042] Based on the first read interference threshold, the second read count, the first block status, and the second block status, a first test result corresponding to the basic test request for the read interference function is determined.

[0043] As can be seen from the above description, the beneficial effects of the present invention are as follows: After receiving a basic test request for the read interference function of the solid-state drive under test, the configuration information of the solid-state drive under test is obtained using a query interface. After writing the first test data to the solid-state drive under test sequentially according to the configuration information, a physical block that has been filled is obtained using a query interface. The first read count, the first read interference threshold, and the first block status of the physical block are obtained using a query interface. The first read count is set based on the first read interference threshold using a setting interface. The first test data is read sequentially. The second read count and the second block status of the physical block are obtained using a query interface. The first test result is determined based on the first read interference threshold, the second read count, the first block status, and the second block status. The present invention can directly and accurately obtain the information required for the test using a query interface and can flexibly set the current read count using a setting interface. It does not require actually performing multiple read operations, thus shortening the test cycle and achieving efficient and reliable basic test for the read interference function. Moreover, when determining the test result, it does not only check the consistency of the data as in the prior art, but is determined based on the first read interference threshold, the second read count, the first block status, and the second block status obtained using a query interface. The test result is more reliable and the test process is more transparent, thereby improving the efficiency and effectiveness of the read interference function test.

[0044] Furthermore, the configuration information includes a mode;

[0045] The step of sequentially writing the first test data to the solid-state drive under test according to the configuration information includes:

[0046] If the mode is SLC mode, then the first test data of the first preset data volume is sequentially written to the solid-state drive under test;

[0047] If the mode is TLC mode, then the first test data of the second preset data volume is sequentially written to the solid-state drive under test;

[0048] If the mode is a hybrid mode of TLC and SLC, then the first test data of the third preset data amount is sequentially written to the solid-state drive under test as the preset data write amount when testing SLC physical blocks, and the first test data of the fourth preset data amount is sequentially written to the solid-state drive under test as the preset data write amount when testing TLC physical blocks. The third preset data amount is determined based on the superblock size, and the fourth preset data amount is determined based on the SLC cache size.

[0049] As described above, when the SSD under test is a pure SLC or TLC configuration, regardless of the amount of data written, it will only fall on the SLC / TLC physical blocks. However, when the SSD is an SLC cache + TLC (i.e., a hybrid mode of TLC and SLC), since some TLC physical blocks are used as SLC mode (SLC cache), the data will fall on the SLC physical blocks when the host is writing data within the SLC cache, and on the TLC physical blocks when the host writes data exceeding the SLC cache size. Therefore, by first querying the mode of the SSD under test and then accurately writing data according to the SLC cache size, it is possible to stably control whether the written data falls on the SLC or TLC physical blocks, which facilitates testing the Read Disturb process of SLC and TLC physical blocks separately, thus making the test more realistic and reliable.

[0050] Furthermore, obtaining a full physical block using the query interface includes:

[0051] If the first test data written sequentially is the first preset data volume, then the query interface is used to obtain the physical block with the logical block address offset of the first offset, and the physical block with the logical block address offset of the first offset is used as the physical block of the SLC that has been filled.

[0052] If the first test data written sequentially is the second preset data volume, then the query interface is used to obtain the physical block with the logical block address offset of the second offset, and the physical block with the logical block address offset of the second offset is used as the physical block of the TLC that has been written.

[0053] If the first test data written sequentially is the third preset data volume, then the query interface is used to obtain the physical block with the logical block address offset of the third offset, and the physical block with the logical block address offset of the third offset is used as the physical block of the SLC that has been filled.

[0054] If the first test data written sequentially is the fourth preset data amount, then the query interface is used to obtain the physical block with the logical block address offset of the fourth offset, and the physical block with the logical block address offset of the fourth offset is used as the physical block of the TLC that has been written.

[0055] As described above, the capacity of storage units varies in different modes. Therefore, when using the query interface to obtain a fully written physical block, different methods are used to obtain the fully written physical block depending on the amount of test data written sequentially, i.e., the different modes of the solid-state drive under test. This ensures that the fully written physical block is accurately obtained, which in turn ensures that the subsequent test results are more accurate.

[0056] Further, determining the first test result corresponding to the basic test request for the read interference function based on the first read interference threshold, the second read count, the first block state, and the second block state includes:

[0057] If the second read count does not exceed the first read interference threshold, then it is determined whether the first block state and the second block state are consistent. If they are consistent, then the first test result corresponding to the basic test request of the read interference function is determined to be a test pass. If they are inconsistent, then the first test result corresponding to the basic test request of the read interference function is determined to be a test fail.

[0058] If the second read count exceeds the first read interference threshold, it is determined whether the second block state is different from the first block state, and the second block state is either data being refreshed or data refresh completed. If so, the first test result corresponding to the basic test request for the read interference function is determined to be a test pass; otherwise, the first test result corresponding to the basic test request for the read interference function is determined to be a test fail.

[0059] As described above, the purpose of the basic test for the read interference function is to verify the data refresh status of the block when the read count of the block has not reached or has reached the read interference threshold. When the read count of a full data block / table entry block has not reached the read interference threshold, the data on the block will not be refreshed. However, when the read count of a full or incomplete data block / table entry block is greater than or equal to the read interference threshold, the block will be marked as having been refreshed, and the data on the block will be refreshed when the garbage collection (GC) function is started. Therefore, when determining the first test result, we first determine whether the second read count exceeds the first read interference threshold, and then compare the state of the first block and the state of the second block. The first test result determined in this way can effectively verify whether the basic business logic of the read interference threshold is normal.

[0060] Furthermore, the read interference function test request also includes a test request for how the read interference threshold changes with the number of erases;

[0061] Also includes:

[0062] Based on the test request that the read interference threshold changes with the number of erases, the query interface is used to obtain the average number of erases of the solid-state drive under test, which is used as the initial average number of erases, and all user data on the solid-state drive under test is erased.

[0063] After writing the second test data to the solid-state drive under test, the query interface is used to obtain a physical block that has been filled, and the query interface is used to obtain the status of the third block of the physical block.

[0064] The query interface is used to obtain the second read interference threshold of the physical block, and the setting interface is used to set the average number of erases to the preset number of erases;

[0065] The query interface is used to obtain the third read interference threshold of the physical block, and the setting interface is used to set the read count of the physical block according to the third read interference threshold.

[0066] Read the second test data and verify the data consistency between the read second test data and the written second test data to obtain the data consistency result;

[0067] Use the query interface to obtain the fourth block status of the physical block, and use the setting interface to set the average number of erases to the initial average number of erases;

[0068] Return to the step of erasing all user data on the solid-state drive under test until the number of executions reaches the total number of preset erasures. Each time the step of setting the average number of erasures to the preset number of erasures using the setting interface is executed, the preset number of erasures is different. The preset number of erasures includes a first preset number of erasures, a second preset number of erasures, and a third preset number of erasures that increase sequentially.

[0069] Based on the preset number of erases, the second read interference threshold, the third read interference threshold, the data consistency result, the third block status, and the fourth block status, a second test result is determined corresponding to the test request where the read interference threshold changes with the number of erases.

[0070] As described above, the read interference function test request also includes a test request for the read interference threshold changing with the number of erases. Since the data retention capability of the flash memory chips in a solid-state drive decreases with the increase of the number of erases, the read interference threshold should be set to different values ​​in the early, middle, and late stages of the flash memory's lifespan. Therefore, the average number of erases is set to a preset number of erases through the setting interface. The preset number of erases includes a first preset number of erases, a second preset number of erases, and a third preset number of erases, which increase sequentially, corresponding to the early, middle, and late stages of the flash memory's lifespan. Before entering the next test scenario, the average number of erases is set to the initial average number of erases through the setting interface, which can easily and effectively restore the lifespan state of the flash memory chips to the initial state for the next scenario test. This quickly and accurately constructs test scenarios for the early, middle, and late stages of the flash memory's lifespan, enabling further testing of the read interference function.

[0071] Further, the determination of the second test result corresponding to the test request whose read interference threshold changes with the number of erases, based on the preset number of erases, the second read interference threshold, the third read interference threshold, the data consistency result, the third block status, and the fourth block status, includes:

[0072] If the preset number of erases is the first preset number of erases, then it is determined whether the third read interference threshold is the same as the second read interference threshold. If they are different, then the second test result corresponding to the test request where the read interference threshold changes with the number of erases is determined to be a test failure. If they are the same, then it is determined whether the data consistency result is data consistency and whether the third block state is different from the fourth block state. If both are true, then the second test result corresponding to the test request where the read interference threshold changes with the number of erases is determined to be a test success. Otherwise, the second test result corresponding to the test request where the read interference threshold changes with the number of erases is determined to be a test failure.

[0073] If the preset erase count is the second preset erase count or the third preset erase count, then it is determined whether the third read interference threshold is the same as the second read interference threshold. If they are the same, then the second test result corresponding to the test request where the read interference threshold changes with the erase count is determined to be a test failure. If they are different, then it is determined whether the third read interference threshold when the preset erase count is the second preset erase count is less than the third read interference threshold when the preset erase count is the third preset erase count. If it is not less than, then the second test result corresponding to the test request where the read interference threshold changes with the erase count is determined to be a test failure. If it is less than, then it is determined whether the data consistency result is data consistency, and whether the third block state and the fourth block state are different. If both are true, then the second test result corresponding to the test request where the read interference threshold changes with the erase count is determined to be a test success. Otherwise, the second test result corresponding to the test request where the read interference threshold changes with the erase count is determined to be a test failure.

[0074] As described above, the read interference threshold should change depending on the stage of flash memory lifespan, i.e., the number of erases. Therefore, the preset number of erases is determined first, and then the read interference thresholds obtained from the two tests are compared to see if they are the same. In addition, the data consistency results and the block states obtained from the two tests are also judged. Based on the preset number of erases, the second read interference threshold, the third read interference threshold, the data consistency results, the third block state, and the fourth block state, the second test result is determined to accurately reflect whether the read interference function is normal or not at different stages of flash memory lifespan.

[0075] Furthermore, the read interference function test request also includes a test request for the interaction between the read interference function and other functional modules;

[0076] Also includes:

[0077] Based on the test request for interaction between the read interference function and other functional modules, the query interface is used to obtain the configuration information of the solid-state drive under test. After writing the third test data sequentially to the solid-state drive under test according to the configuration information, the query interface is used to obtain a physical block that has been filled.

[0078] Use the query interface to obtain the third read count, fourth read interference threshold and fifth block status of the physical block, and use the setting interface to set the third read count based on the fourth read interference threshold;

[0079] The third test data is read sequentially. During the sequential reading process, the query interface is used at preset intervals to obtain the third read count of the physical block, and it is determined whether the third read count exceeds the fourth read interference threshold. If so, other functional modules are executed on the solid-state drive under test.

[0080] The query interface is used to obtain the status of the sixth block of the physical block, and the data consistency is checked between the sequentially read third test data and the sequentially written third test data to obtain the consistency check result.

[0081] Based on the fifth block status, the sixth block status, and the consistency verification result, a third test result is determined corresponding to the test request for the interaction between the read interference function and other functional modules.

[0082] As described above, this invention also tests the interaction between the read interference function and other functional modules. A setting interface is used to set a third read count based on a fourth read interference threshold. Third test data is read sequentially. Simultaneously, during the sequential reading process, a query interface is used at preset intervals to obtain the third read count of the physical block and determine whether the third read count exceeds the fourth read interference threshold. If so, the solid-state drive under test performs operations of other functional modules. This constructs a test scenario where the read interference function is triggered while other firmware business processes are being handled. This verifies whether various tasks can run normally under such circumstances, whether the data on the block triggering the read interference function can be refreshed normally, and whether host reads will not result in data inconsistency. The query interface and setting interface are used to test the interaction between the read interference function and other functional modules, effectively and simply improving test coverage.

[0083] Furthermore, the third test result, determined based on the fifth block state, the sixth block state, and the consistency verification result, corresponding to the test request for interaction between the read interference function and other functional modules, includes:

[0084] Determine whether the fifth block state is different from the sixth block state. If not, determine that the third test result corresponding to the test request for the interaction between the read interference function and other functional modules is a test failure. If yes, determine whether the consistency verification result is data consistency. If the data is consistent, determine that the third test result corresponding to the test request for the interaction between the read interference function and other functional modules is a test pass. If the data is inconsistent, determine that the third test result corresponding to the test request for the interaction between the read interference function and other functional modules is a test failure.

[0085] As described above, if the state of the block changes after the host triggers the read interference function, and other functional modules are executed during the block data refresh process, and the data consistency check result is consistent, it indicates that all tasks can run normally. At this point, the test is considered to have passed, and the effective test of the interaction between the read interference function and other functional modules has been achieved.

[0086] Furthermore, the read interference function test request also includes a test request for triggering the read interference function when there are insufficient remaining blank blocks;

[0087] Also includes:

[0088] The user data of the solid-state drive under test is erased according to the test request that triggers the read interference function when there are insufficient remaining blank blocks;

[0089] Use the query interface to obtain the threshold for insufficient remaining blank blocks of the solid-state drive under test;

[0090] The fourth test data is sequentially written to the entire solid-state drive under test;

[0091] Use the query interface to obtain the first bad block count and the first remaining blank block count of the solid-state drive under test;

[0092] Write the fifth set of test data (a fifth preset data amount) to the solid-state drive under test, and use the query interface to obtain the physical address of the last logical block address of the written data;

[0093] The position of the first preset number of pages after the physical address is determined as the target physical address, and after injecting a programming error at the target physical address using the error injection interface, the fifth test data of the fifth preset data amount is continued to be written to the solid-state drive under test;

[0094] Use the query interface to obtain the second bad block count and the second remaining blank block count of the solid-state drive under test;

[0095] Based on the first bad block count, determine whether the second bad block count should be incremented by one, and based on the first remaining blank block count, determine whether the number of the second remaining blank blocks should be decremented by one. If both are true, then return to the step of using the query interface to obtain the first bad block count and the first remaining blank block count of the solid-state drive under test, until the number of the second remaining blank blocks of the solid-state drive under test is lower than the threshold of insufficient remaining blank blocks.

[0096] Use the query interface to obtain the physical address of the last logical block address where data was written in the solid-state drive under test;

[0097] If the block status of the target block at the physical address of the last logical block address of the written data is valid, then the read count of the target block is set using the setting interface according to the read interference threshold of the target block;

[0098] Read the logical block address of the target block;

[0099] A non-data management command was issued to the solid-state drive under test;

[0100] Determine whether a read error occurs when reading the logical block address of the target block, and whether the solid-state drive under test can execute the non-data management command. If both are true, then the fourth test result corresponding to the test request that triggers the read interference function when there are insufficient remaining blank blocks is determined to be a test pass. Otherwise, the fourth test result corresponding to the test request that triggers the read interference function when there are insufficient remaining blank blocks is determined to be a test fail.

[0101] As described above, the read interference function test request also includes a test request for triggering the read interference function when there are insufficient remaining free blocks. This is mainly because when the remaining free blocks of the solid-state drive are insufficient, the drive will enter a write-protected state. At this time, neither host data writing nor internal disk writes, such as garbage collection, are allowed. However, host read operations on the drive are still allowed. This leads to a situation where, at the end of the test drive's lifespan, it enters a write-protected state due to insufficient remaining free blocks, and the host's read operation triggers the read interference function. In this case, the data refresh process cannot proceed, and it needs to be verified whether the test drive will fail. Therefore, a test scenario for triggering the read interference function when there are insufficient remaining free blocks was constructed through query interfaces, setting interfaces, and error injection interfaces, effectively verifying whether the read interference function is normal under this test scenario.

[0102] Furthermore, the read interference function test request also includes a test request for an unrecoverable read error that occurs when the read count reaches the read interference threshold;

[0103] Also includes:

[0104] According to the test request for an unrecoverable read error that occurs when the read count reaches the read interference threshold, the query interface is used to obtain the configuration information of the solid-state drive under test, and after writing the sixth test data sequentially to the solid-state drive under test according to the configuration information, a physical block that has been filled is obtained using the query interface.

[0105] Use the query interface to obtain the fourth read count, fifth read interference threshold, seventh block status, first unrecoverable read error count, and third bad block count of the physical block, and use the setting interface to set the fourth read count based on the fifth read interference threshold;

[0106] Inject an unrecoverable read error into the physical block using the error injection interface;

[0107] The sixth test data is read sequentially, and the query interface is used to obtain the fifth read count, the eighth block status, the second unrecoverable read error count, and the fourth bad block count of the physical block;

[0108] Determine whether the fifth read count has reached the fifth read interference threshold. If so, determine whether the eighth block state has changed based on the seventh block state. If it has not changed, determine the fifth test result corresponding to the test request for an unrecoverable read error occurring when the read count reaches the read interference threshold as a test failure. If it has changed, determine whether the second unrecoverable read error count and the fourth bad block count have increased based on the first unrecoverable read error count and the third bad block count. If both have increased, determine the fifth test result corresponding to the test request for an unrecoverable read error occurring when the read count reaches the read interference threshold as a test success. Otherwise, determine the fifth test result corresponding to the test request for an unrecoverable read error occurring when the read count reaches the read interference threshold as a test failure.

[0109] As described above, the read interference function test request also includes a test request for an unrecoverable read error that occurs when the read count reaches the read interference threshold. Considering that when the host continuously reads a block until the read count of that block exceeds the read interference threshold, and the firmware is about to refresh the data of that block, an unrecoverable read error has already occurred, it is important to ensure that the firmware can handle the exception normally, rather than preventing the process from continuing or causing other exceptions. Therefore, the error injection interface can accurately and effectively inject unrecoverable read errors. Combined with the query interface and the setting interface, the test for an unrecoverable read error that occurs exactly when the read count of a block reaches the read interference threshold can be implemented, improving the coverage of the read interference function test and ensuring that the read interference function can operate stably under various conditions.

[0110] Please refer to Figure 2 Another embodiment of the present invention provides a read interference function testing device, comprising:

[0111] The request receiving module is used to receive the read interference function test request of the solid-state drive under test, the read interference function test request including the basic test request of the read interference function;

[0112] The data writing module is used to obtain the configuration information of the solid-state drive under test by using a query interface according to the basic test request of the read interference function, and after sequentially writing the first test data to the solid-state drive under test according to the configuration information, use the query interface to obtain a physical block that has been filled.

[0113] The data setting module is used to obtain the first read count, the first read interference threshold, and the first block status of the physical block using the query interface, and to set the first read count based on the first read interference threshold using the setting interface.

[0114] The data reading module is used to sequentially read the first test data and use the query interface to obtain the second read count and the second block status of the physical block;

[0115] The test result determination module is used to determine the first test result corresponding to the basic test request for the read interference function based on the first read interference threshold, the second read count, the first block status, and the second block status.

[0116] Another embodiment of the present invention provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the various steps in the above-described read interference function test method.

[0117] Please refer to Figure 3 Another embodiment of the present invention provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements each step of the above-described read interference function test method.

[0118] The read interference function testing method, apparatus, readable storage medium, and electronic device described above are applicable to different types of SSDs, including SATA SSDs and NVMe SSDs. The following detailed embodiments illustrate these methods:

[0119] Please refer to Figure 1 , Figures 4-8 Embodiment 1 of the present invention is as follows:

[0120] A method for testing read interference functionality, comprising the following steps:

[0121] S1. Receive the read interference function test request of the solid-state drive under test. The read interference function test request includes a basic read interference function test request, a test request on the change of the read interference threshold with the number of erases, a test request on the interaction between the read interference function and other functional modules, a test request on triggering the read interference function when there are insufficient remaining blank blocks, and a test request on the occurrence of an unrecoverable read error (UNC) when the read count reaches the read interference threshold.

[0122] In one alternative implementation, before S1, the following is also included:

[0123] S0. Check the test environment and receive information that the solid-state drive under test has been plugged into the test host as a data disk and that it has been recognized normally by the operating system of the test host.

[0124] The query interface, setting interface, and error injection interface used in this invention are all internal firmware interfaces.

[0125] The query interfaces include a solid-state drive configuration information query interface, a Vendor Smart information query interface, a physical address query interface, and a block information query interface. The setting interfaces include a block information setting interface and an average erase count setting interface. The error injection interfaces include a UNC injection interface and a Program Fail injection interface.

[0126] The detailed descriptions of each interface are as follows:

[0127] The solid-state drive configuration information query interface: There are no fixed input parameters for calling this interface. The interface will return the configuration information of the test disk, including the mode, the threshold for insufficient remaining blank blocks, the super block size (SPB Size), the page size, the number of super blocks, the block size, the number of blocks, the number of pages, and the SLC cache size, etc.

[0128] The Vendor Smart information query interface has no fixed input parameters. It returns the Vendor Smart information of the test disk, including the online UNC count (the count of UNCs triggered by the test host read), the offline UNC count (the count of UNCs triggered by the internal read of the disk), the bad block count, the number of remaining blank blocks, and the total / max / min / avg erase counts of SLC and TLC Blocks.

[0129] The physical address query interface: When calling this interface, you need to specify an LBA (Logical Block Address) as an input parameter. The interface returns the physical address of the Block in the Data / Table area corresponding to the LBA.

[0130] The block information query interface requires specifying a Block ID as an input parameter when calling the interface. The interface returns information such as the read count, read interference threshold, and block status of the Block.

[0131] The block information setting interface requires specifying a Block ID and the value to be set as input parameters to set the read count and / or erase count for the Block.

[0132] The Average Erase Count (AVG) setting interface: Calling this interface requires specifying an AVG Erase Count value as an input parameter, which can be used to set the erase count of all blocks of the SSD to this value.

[0133] The UNC injection interface: Calling this interface requires specifying a physical address as an input parameter, which is used to inject a UNC at that address.

[0134] The Program Fail injection interface: Calling this interface requires specifying a physical address as an input parameter, which is used to inject a Program Fail at that address.

[0135] S2. Based on the read interference function basic test request, use the query interface to obtain the configuration information of the solid-state drive under test, and after sequentially writing the first test data to the solid-state drive under test according to the configuration information, use the query interface to obtain a physical block that has been filled, such as... Figure 4 As shown, this specifically includes S2.1-S2.8:

[0136] The basic test scenario for the read interference function is as follows: When the test host continuously reads the same physical block, if the read count of that physical block reaches the read interference threshold set in the firmware, a GC mark will be added to that physical block. During subsequent disk GC, the data of that physical block will be moved to a new block, thus preventing data loss due to read interference. Therefore, the purpose of the basic test for the read interference function is to verify the data refresh behavior on the block when the read count of the block has not reached / reached the read interference threshold.

[0137] S2.1. Based on the read interference function basic test request, use the query interface to obtain the configuration information of the solid-state drive under test.

[0138] Specifically, based on the read interference function basic test request, the solid-state drive configuration information query interface is called to obtain the mode in the configuration information of the solid-state drive under test returned by the solid-state drive configuration information query interface.

[0139] In one optional implementation, before obtaining the configuration information of the solid-state drive under test using the query interface based on the read interference function basic test request, the method further includes:

[0140] The Format command (a command used to format storage devices) is executed to completely erase all user data on the solid-state drive under test.

[0141] S2.2 If the mode is SLC mode, then the first test data of the first preset data volume is sequentially written to the solid-state drive under test.

[0142] In one optional implementation, the first preset data volume is the size of 3-5 superblocks, and the size of the superblocks can be obtained using the solid-state drive configuration information query interface.

[0143] S2.3 If the mode is TLC mode, then the first test data of the second preset data volume is sequentially written to the solid-state drive under test.

[0144] In one optional implementation, the second preset data volume is the data volume of 3 superblocks.

[0145] S2.4 If the mode is a hybrid TLC and SLC (TLC+SLC cache) mode, then the first test data of the third preset data amount is sequentially written to the solid-state drive under test as the preset data write amount when testing SLC physical blocks, and the first test data of the fourth preset data amount is sequentially written to the solid-state drive under test as the preset data write amount when testing TLC physical blocks.

[0146] The third preset data amount is determined based on the superblock size, and the fourth preset data amount is determined based on the SLC cache size. In one optional implementation, the third preset data amount is the data amount of three superblocks. If the three superblocks are larger than the SLC cache size, the third preset data amount is reduced to ensure that the third preset data amount does not exceed the SLC cache size. The fourth preset data amount is the data amount of twice the SLC cache size, which can be obtained using the solid-state drive configuration information query interface.

[0147] The reason why the preset test data is in SPB units is that in the RDB design scheme of the example firmware, the test host must read more than SPB to trigger the increase of the block read count. The amount of data read before the block read count increases will vary in different firmware schemes, and this needs to be adjusted according to the actual situation.

[0148] S2.5 If the first test data written sequentially is the first preset data volume, then use the query interface to obtain the physical block with the logical block address offset of the first offset, and use the physical block with the logical block address offset of the first offset as the physical block of the SLC that has been written.

[0149] In one alternative implementation, the first offset is one superblock size.

[0150] Specifically, if the first test data written sequentially is the first preset data volume, then the physical address query interface is called to obtain a physical block with a logical block address offset of 1 superblock size, and the physical block with a logical block address offset of 1 superblock size is used as the physical block of the SLC that has been filled.

[0151] S2.6 If the first test data written sequentially is the second preset data volume, then use the query interface to obtain the physical block with the logical block address offset of the second offset, and use the physical block with the logical block address offset of the second offset as the physical block of the TLC that has been written.

[0152] In one alternative implementation, the second offset is one superblock size.

[0153] Specifically, if the first test data written sequentially is the second preset data volume, then the physical address query interface is called to obtain a physical block with a logical block address offset of 1 superblock size, and the physical block with a logical block address offset of 1 superblock size is used as the physical block of the TLC that has been filled.

[0154] S2.7 If the first test data written sequentially is the third preset data volume, then use the query interface to obtain the physical block with the logical block address offset of the third offset, and use the physical block with the logical block address offset of the third offset as the physical block of the SLC that has been written.

[0155] In one alternative implementation, the third offset is one superblock size.

[0156] Specifically, if the first test data written sequentially is the third preset data volume, then the physical address query interface is called to obtain a physical block with a logical block address offset of 1 superblock size, and the physical block with a logical block address offset of 1 superblock size is used as the physical block of the SLC that has been filled.

[0157] S2.8 If the first test data written sequentially is the fourth preset data amount, then use the query interface to obtain the physical block with the logical block address offset of the fourth offset, and use the physical block with the logical block address offset of the fourth offset as the physical block of the TLC that has been written.

[0158] In one alternative implementation, the fourth offset is 1.2 times the SLC cache size.

[0159] Specifically, if the first test data written sequentially is the fourth preset data volume, then the physical address query interface is called to obtain a physical block with a logical block address offset of 1.2 times the SLC cache size, and the physical block with a logical block address offset of 1.2 times the SLC cache size is used as the physical block of the TLC that has been filled.

[0160] For example, assuming the SSD under test is in SLC mode as obtained from the SSD configuration information query interface, then 3-5 SPB of test data are written sequentially to the SSD under test. Then, the physical address lookup interface is used to obtain the physical block with an LBA offset of 1 SPB as the filled SLC physical block. Similarly, assuming the SSD is in TLC mode as obtained from the SSD configuration information query interface, then 3 SPB of test data are written sequentially to the SSD under test. Then, the physical address lookup interface is used to obtain the physical block with an LBA offset of 1 SPB as the filled TLC physical block, and so on.

[0161] S3. Use the query interface to obtain the first read count, the first read interference threshold and the first block status of the physical block, and use the setting interface to set the first read count based on the first read interference threshold.

[0162] Specifically, the block identifier of the physical block is used as an input parameter to call the block information query interface to obtain the first read count, the first read interference threshold, and the first block status of the physical block. The value to be set is determined according to the first read interference threshold. The block identifier of the physical block and the value to be set are used as input parameters to call the block information setting interface to set the first read count.

[0163] The value to be set can be lower than the first reading interference threshold, or it can be higher than or equal to the first reading interference threshold, and can be set according to the test requirements.

[0164] S4. Read the first test data sequentially, and use the query interface to obtain the second read count and the second block status of the physical block.

[0165] Specifically, the first test data is read sequentially to trigger an increase in the read count, and the block identifier of the physical block is used as an input parameter to call the block information query interface to obtain the second read count and the second block status of the physical block.

[0166] S5. Based on the first read interference threshold, the second read count, the first block status, and the second block status, determine the first test result corresponding to the basic test request for the read interference function, specifically including S5.1-S5.2:

[0167] S5.1 If the second read count does not exceed the first read interference threshold, determine whether the first block state and the second block state are consistent. If they are consistent, determine that the first test result corresponding to the basic test request for the read interference function is a test pass. If they are inconsistent, determine that the first test result corresponding to the basic test request for the read interference function is a test fail.

[0168] S5.2 If the second read count exceeds the first read interference threshold, determine whether the second block state is different from the first block state, and whether the second block state is data being refreshed or data refresh completed. If yes, determine that the first test result corresponding to the basic test request of the read interference function is a test pass; otherwise, determine that the first test result corresponding to the basic test request of the read interference function is a test fail.

[0169] When the read count of a data block / table entry that is either fully written (Closed) or partially written (Open) does not reach the read interference threshold of the Block, the data on the Block will not be refreshed. However, when the read count of a data block / table entry that is either fully written (Closed) or partially written (Open) is greater than or equal to the read interference threshold of the Block, the Block will be marked as needing data refresh, and the data on the Block will be refreshed during subsequent GC startup. Therefore, the test results determined by the above judgment effectively verify whether the basic function of the read interference function is normal.

[0170] The data retention capability of SSD NAND flash memory chips decreases with increasing erase cycles. The read interference threshold should ideally be set differently in the early, middle, and late stages of the NAND flash memory's lifespan. Therefore, this invention also tests the read interference threshold's variation with erase cycles to ensure its reliability, as detailed below:

[0171] In one alternative implementation, such as Figure 5 As shown, it also includes:

[0172] S6. Based on the test request that the read interference threshold changes with the number of erases, use the query interface to obtain the average number of erases of the solid-state drive under test as the initial average number of erases, and erase all user data on the solid-state drive under test.

[0173] Specifically, based on the test request that the read interference threshold changes with the number of erases, the Vendor Smart information query interface is called to obtain the average number of erases of the solid-state drive under test, which is used as the initial average number of erases, and the Format command is executed to erase all user data on the solid-state drive under test.

[0174] S7. After writing the second test data to the solid-state drive under test, use the query interface to obtain a physical block that has been filled, and use the query interface to obtain the status of the third block of the physical block.

[0175] The step of obtaining a full physical block using the query interface after writing the second test data to the solid-state drive under test adopts the same processing method as the aforementioned steps S2.2-S2.8, and will not be described again here.

[0176] The process of obtaining the third block status of the physical block using the query interface specifically involves:

[0177] The block identifier of the physical block is used as an input parameter to call the block information query interface to obtain the third block status of the physical block.

[0178] S8. Use the query interface to obtain the second read interference threshold of the physical block, and use the setting interface to set the average number of erases to the preset number of erases.

[0179] Specifically, the block identifier of the physical block is used as an input parameter to call the block information query interface to obtain the second read interference threshold of the physical block, and the preset number of erases is used as an input parameter to call the average number of erases setting interface to set the average number of erases.

[0180] S9. Use the query interface to obtain the third read interference threshold of the physical block, and use the setting interface to set the read count of the physical block according to the third read interference threshold.

[0181] Specifically, the block identifier of the physical block is used as an input parameter to call the block information query interface to obtain the third read interference threshold of the physical block, and the block identifier of the physical block and the third read interference threshold are used as input parameters to call the block information setting interface to set the read count of the physical block.

[0182] S10. Read the second test data and verify the data consistency between the read second test data and the written second test data to obtain the data consistency result.

[0183] S11. Use the query interface to obtain the fourth block status of the physical block, and use the setting interface to set the average number of erases to the initial average number of erases.

[0184] Specifically, the block identifier of the physical block is used as an input parameter to call the block information query interface to obtain the fourth block status of the physical block, and the initial average number of erases is used as an input parameter to call the average number of erases setting interface to set the average number of erases, so as to restore the average number of erases to the state before the test, so as to enter the next test scenario.

[0185] S12. Return to step S6, which involves erasing all user data on the solid-state drive under test, step S11, until the number of executions reaches the preset number of erasures. Each time step S8 is executed, the preset number of erasures is different. The preset number of erasures includes a first preset number of erasures, a second preset number of erasures, and a third preset number of erasures that increase sequentially.

[0186] The first preset erase count is a value at the beginning of the flash memory's lifespan. The second preset erase count is a value at the middle of the flash memory's lifespan. The third preset erase count is a value at the end of the flash memory's lifespan.

[0187] For example, taking TLC Nand particles as an example, when executing step S8, the average number of erases is first set to the first preset number of erases, such as 100, and then the subsequent steps are executed. After executing step S11, the process returns to step S8, and the average number of erases is set to the second preset number of erases, such as 1500, and the subsequent steps are executed. After executing step S11 again, the process returns to step S8 once more, and the average number of erases is set to the third preset number of erases, such as 3500, and the subsequent steps are executed. After executing step S11 once more, the process does not return to step S8, because the current execution count has reached the total number of preset erase counts, i.e., 3 times.

[0188] S13. Based on the preset number of erases, the second read interference threshold, the third read interference threshold, the data consistency result, the third block status, and the fourth block status, determine the second test result corresponding to the test request where the read interference threshold changes with the number of erases, specifically including S13.1-S13.2:

[0189] S13.1 If the preset number of erases is the first preset number of erases, then determine whether the third read interference threshold is the same as the second read interference threshold. If they are different, then determine that the second test result corresponding to the test request where the read interference threshold changes with the number of erases is a test failure. If they are the same, then determine whether the data consistency result is data consistency and whether the third block state is different from the fourth block state. If both are true, then determine that the second test result corresponding to the test request where the read interference threshold changes with the number of erases is a test success. Otherwise, determine that the second test result corresponding to the test request where the read interference threshold changes with the number of erases is a test failure.

[0190] S13.2 If the preset erase count is the second preset erase count or the third preset erase count, then determine whether the third read interference threshold is the same as the second read interference threshold. If they are the same, then determine that the second test result corresponding to the test request where the read interference threshold changes with the erase count is a test failure. If they are different, then determine whether the third read interference threshold when the preset erase count is the second preset erase count is less than the third read interference threshold when the preset erase count is the third preset erase count. If it is not less than, then determine that the second test result corresponding to the test request where the read interference threshold changes with the erase count is a test failure. If it is less than, then determine whether the data consistency result is data consistency, and whether the third block state and the fourth block state are different. If both are true, then determine that the second test result corresponding to the test request where the read interference threshold changes with the erase count is a test success. Otherwise, determine that the second test result corresponding to the test request where the read interference threshold changes with the erase count is a test failure.

[0191] In other words, when the average number of erases is in the initial stage, the obtained third read interference threshold should be the same as the second read interference threshold; when the average number of erases is in the middle and late stages, the obtained third read interference threshold should be different from the second read interference threshold, and the read interference threshold when the average number of erases is in the late stage should be less than the read interference threshold when the average number of erases is in the middle stage; in addition, there should be no data inconsistency when reading the second test data, and the state of the Block should change, which indicates that the read interference function is normal.

[0192] This invention also tests the interaction between the read interference function and other functional modules. The test focuses on whether the various tasks can run normally when the read interference function is triggered while the firmware front-end and internal business processes are in operation, whether the data on the block that triggered the read interference function can be refreshed normally, and whether data inconsistency occurs when reading data. The specific details are as follows:

[0193] In one alternative implementation, such as Figure 6 As shown, it also includes:

[0194] S14. Based on the test request for interaction between the read interference function and other functional modules, use the query interface to obtain the configuration information of the solid-state drive under test, and after sequentially writing the third test data to the solid-state drive under test according to the configuration information, use the query interface to obtain a physical block that has been filled.

[0195] The processing method of step S14 is the same as that of step S2, and will not be repeated here.

[0196] S15. Use the query interface to obtain the third read count, fourth read interference threshold and fifth block status of the physical block, and use the setting interface to set the third read count based on the fourth read interference threshold.

[0197] Specifically, the block identifier of the physical block is used as an input parameter to call the block information query interface to obtain the third read count, the fourth read interference threshold and the fifth block status of the physical block. The value to be set is determined according to the fourth read interference threshold. The block identifier of the physical block and the value to be set are used as input parameters to call the block information setting interface to set the third read count.

[0198] S16. Read the third test data sequentially. During the sequential reading process, use the query interface to obtain the third read count of the physical block at preset intervals, and determine whether the third read count exceeds the fourth read interference threshold. If so, perform other functional module operations on the solid-state drive under test.

[0199] In one optional implementation, the preset duration is 1 second. The operations of the other functional modules include performing an abnormal power outage on the solid-state drive under test, performing a reset operation on the solid-state drive under test, reading the logical block address of the physical block from the test host, writing the logical block address of the physical block from the test host, and testing the logical block address of the physical block using TRIM (a function used to improve the performance and extend the lifespan of storage devices), etc.

[0200] Specifically, the third test data is read sequentially. During the sequential reading process, the block identifier of the physical block is used as an input parameter to call the block information query interface every 1 second to obtain the third read count of the physical block. It is then determined whether the third read count exceeds the fourth read interference threshold. If so, other functional modules are executed on the solid-state drive under test.

[0201] S17. Use the query interface to obtain the status of the sixth block of the physical block, and perform data consistency verification on the third test data read sequentially and the third test data written sequentially to obtain the consistency verification result.

[0202] Specifically, the block identifier of the physical block is used as an input parameter to call the block information query interface to obtain the sixth block status of the physical block, and the data consistency verification is performed on the sequentially read third test data and the sequentially written third test data to obtain the consistency verification result.

[0203] S18. Based on the fifth block status, the sixth block status, and the consistency verification result, determine the third test result corresponding to the test request for the interaction between the read interference function and other functional modules.

[0204] Specifically, it is determined whether the fifth block state is different from the sixth block state. If not, the third test result corresponding to the test request for the interaction between the read interference function and other functional modules is determined to be a test failure. If yes, it is determined whether the consistency verification result is data consistency. If the data is consistent, the third test result corresponding to the test request for the interaction between the read interference function and other functional modules is determined to be a test pass. If the data is inconsistent, the third test result corresponding to the test request for the interaction between the read interference function and other functional modules is determined to be a test failure.

[0205] Another crucial aspect of gray-box testing for the firmware business logic of the read interference function is the exception handling process. This means that it is necessary to consider the error scenarios that the read interference function may encounter during firmware operation. Only by testing these error scenarios can we ensure that the read interference function can operate stably under various conditions.

[0206] The test of triggering the read interference function when there are insufficient remaining available blocks is mainly due to the fact that when the SSD has insufficient remaining available blocks, the disk will enter a write-protected state. In this state, neither host data writing nor internal disk writes, such as GC, are allowed. However, host read operations on the disk are still permitted. A situation arises where, after the test disk has entered a write-protected state due to insufficient remaining available blocks at the end of its lifespan, a read operation by the test host triggers the read interference function. In this case, it is necessary to verify whether the test disk will fail if the data flushing process fails, as detailed below:

[0207] In one alternative implementation, such as Figure 7 As shown, it also includes:

[0208] S19. Erase the user data of the solid-state drive under test according to the test request for triggering the read interference function when there are insufficient remaining blank blocks.

[0209] S20. Use the query interface to obtain the threshold of insufficient remaining blank blocks of the solid-state drive under test.

[0210] Specifically, the solid-state drive configuration information query interface is called to obtain the threshold of insufficient remaining blank blocks of the solid-state drive under test.

[0211] S21. Write the fourth test data sequentially to the entire solid-state drive under test.

[0212] S22. Use the query interface to obtain the first bad block count and the first remaining blank block count of the solid-state drive under test.

[0213] Specifically, the Vendor Smart information query interface is called to obtain the first bad block count and the first remaining blank block count of the solid-state drive under test.

[0214] S23. Write the fifth test data of the fifth preset data amount to the solid-state drive under test, and use the query interface to obtain the physical address of the last logical block address of the written data.

[0215] In one optional implementation, the fifth preset data size is half the size of a superblock.

[0216] Specifically, a fifth set of test data, half the size of a superblock, is written to the solid-state drive under test. The physical address query interface is then called with the address of the last logical block of the written data as the input parameter to obtain the physical address of the last logical block of the written data.

[0217] S24. Determine the position of the first preset number of pages after the physical address as the target physical address, and after injecting a programming error at the target physical address using the error injection interface, continue to write the fifth test data of the fifth preset data amount to the solid-state drive under test.

[0218] The first preset number cannot exceed the total number of pages in the block. In one optional implementation, the first preset number is 2.

[0219] Specifically, the position of the two pages following the physical address is determined as the target physical address, and the target physical address is used as an input parameter to call the Program Fail injection interface. After injecting a programming error at the target physical address, the fifth test data of the fifth preset data amount is written to the solid-state drive under test to trigger the programming error.

[0220] S25. Use the query interface to obtain the second bad block count and the second remaining blank block count of the solid-state drive under test.

[0221] Specifically, the Vendor Smart information query interface is called to obtain the second bad block count and the second remaining blank block count of the solid-state drive under test.

[0222] S26. Determine whether the second bad block count should be incremented by one based on the first bad block count, and determine whether the number of the second remaining blank blocks should be decremented by one based on the first remaining blank block count. If both are true, return to step S22 until the number of the second remaining blank blocks of the solid-state drive under test is lower than the threshold of insufficient remaining blank blocks.

[0223] S27. Use the query interface to obtain the physical address of the last logical block address in the solid-state drive under test.

[0224] Specifically, starting from the beginning of the solid-state drive under test, the physical address query interface is called to obtain the physical address of the last logical block address of the written data.

[0225] S28. If the block status of the target block at the physical address of the last logical block address of the written data is valid, then the read count of the target block is set using the setting interface according to the read interference threshold of the target block.

[0226] Specifically, if the block status of the target block that obtains the physical address of the last logical block address of the written data by calling the block information query interface is valid, then the block identifier and read interference threshold of the target block are used as input parameters to call the block information setting interface to set the read count of the target block so that the read count of the target block is equal to the read interference threshold.

[0227] S29. Read the logical block address of the target block.

[0228] S30. Issue a non-data management command to the solid-state drive under test.

[0229] In one optional implementation, the non-data management commands include the get log page command, the identify command, etc.

[0230] S31. Determine whether a read error occurs when reading the logical block address of the target block, and whether the solid-state drive under test can execute the non-data management command. If both are true, then determine that the fourth test result corresponding to the test request for triggering the read interference function when there are insufficient remaining blank blocks is a test pass. Otherwise, determine that the fourth test result corresponding to the test request for triggering the read interference function when there are insufficient remaining blank blocks is a test fail.

[0231] Under normal circumstances, the test host may encounter read errors when reading the logical block address corresponding to the physical block that has reached the read interference threshold, but the solid-state drive under test can still continue to execute non-data management commands.

[0232] The test for unrecoverable read errors when the read count reaches the read interference threshold is designed to address the situation where the test host continuously reads a block until the read count of that block exceeds the read interference threshold. Just as the firmware is about to refresh the data of this block, a UNC error occurs in that block. The test aims to determine whether the firmware can handle the exception normally, rather than causing the process to hang or other exceptions to occur.

[0233] In one alternative implementation, such as Figure 8 As shown, it also includes:

[0234] S32. Based on the test request for an unrecoverable read error occurring when the read count reaches the read interference threshold, use the query interface to obtain the configuration information of the solid-state drive under test, and after sequentially writing the sixth test data to the solid-state drive under test according to the configuration information, use the query interface to obtain a physical block that has been filled.

[0235] Step S32 is processed in the same way as step S2 above, and will not be described again here.

[0236] In one optional implementation, before executing the test request to obtain the configuration information of the solid-state drive under test using the query interface based on the test request for an unrecoverable read error occurring when the read count reaches the read interference threshold, the method further includes:

[0237] The Format command is executed to erase all user data on the solid-state drive under test.

[0238] S33. Use the query interface to obtain the fourth read count, fifth read interference threshold, seventh block status, first unrecoverable read error count and third bad block count of the physical block, and use the setting interface to set the fourth read count based on the fifth read interference threshold.

[0239] Specifically, the block identifier of the physical block is used as an input parameter to call the block information query interface to obtain the fourth read count, the fifth read interference threshold, and the seventh block status of the physical block. The Vendor Smart information query interface is called to obtain the first unrecoverable read error count and the third bad block count. The value to be set is determined according to the fifth read interference threshold. The value to be set and the block identifier of the physical block are used as input parameters to call the block information setting interface to set the fourth read count.

[0240] S34. Inject an unrecoverable read error into the physical block using the error injection interface.

[0241] Specifically, the physical address of the physical block is used as an input parameter to call the UNC injection interface in order to inject an unrecoverable read error into the physical block.

[0242] S35. Read the sixth test data sequentially, and use the query interface to obtain the fifth read count, eighth block status, second unrecoverable read error count, and fourth bad block count of the physical block.

[0243] Specifically, the sixth test data is read sequentially, and the block identifier of the physical block is used as an input parameter to call the block information query interface to obtain the fifth read count and the eighth block status of the physical block. The VendorSmart information query interface is then called to obtain the second unrecoverable read error count and the fourth bad block count.

[0244] S36. Determine whether the fifth read count has reached the fifth read interference threshold. If so, determine whether the eighth block state has changed based on the seventh block state. If no change has occurred, determine the fifth test result corresponding to the test request for an unrecoverable read error occurring when the read count reaches the read interference threshold as a test failure. If a change has occurred, determine whether the second unrecoverable read error count and the fourth bad block count have increased based on the first unrecoverable read error count and the third bad block count. If both have increased, determine the fifth test result corresponding to the test request for an unrecoverable read error occurring when the read count reaches the read interference threshold as a test pass. Otherwise, determine the fifth test result corresponding to the test request for an unrecoverable read error occurring when the read count reaches the read interference threshold as a test failure.

[0245] This invention utilizes setting interfaces, query interfaces, and error injection interfaces to construct and simulate various triggering scenarios for read interference functions. These scenarios include the basic business logic of read interference functions, the interaction between read interference functions and other firmware modules, the dynamic adjustment of read interference thresholds with the lifespan of the test disk, and the abnormal handling process of read interference functions. This helps to improve test coverage, shorten test time, and increase the transparency of the test process, thereby improving test efficiency and test effectiveness.

[0246] Please refer to Figure 2 Embodiment two of the present invention is as follows:

[0247] A read interference function testing device, comprising:

[0248] The request receiving module is used to receive the read interference function test request of the solid-state drive under test, the read interference function test request including the basic test request of the read interference function;

[0249] The data writing module is used to obtain the configuration information of the solid-state drive under test by using a query interface according to the basic test request of the read interference function, and after sequentially writing the first test data to the solid-state drive under test according to the configuration information, use the query interface to obtain a physical block that has been filled.

[0250] The data setting module is used to obtain the first read count, the first read interference threshold, and the first block status of the physical block using the query interface, and to set the first read count based on the first read interference threshold using the setting interface.

[0251] The data reading module is used to sequentially read the first test data and use the query interface to obtain the second read count and the second block status of the physical block;

[0252] The test result determination module is used to determine the first test result corresponding to the basic test request for the read interference function based on the first read interference threshold, the second read count, the first block status, and the second block status.

[0253] Embodiment 3 of the present invention is as follows:

[0254] A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, can implement the various steps of the read interference function test method in Embodiment 1.

[0255] Embodiment four of the present invention is as follows:

[0256] Please refer to Figure 3An electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the various steps of the read interference function test method in Embodiment 1.

[0257] In summary, this invention provides a method, apparatus, readable storage medium, and electronic device for testing read interference functionality. Upon receiving a basic test request for the read interference functionality of a solid-state drive (SSD) under test, the invention uses a query interface to obtain the configuration information of the SSD under test. Based on the configuration information, first test data is sequentially written to the SSD under test. Then, a fully written physical block is obtained using the query interface. The query interface is used to obtain the first read count, first read interference threshold, and first block status of the physical block. A setting interface is used to set the first read count based on the first read interference threshold. The first test data is read sequentially, and the query interface is used to obtain the second read count and second block status of the physical block. Based on the first read interference threshold, second read count, first block status, and second block status, the first test result is determined. This invention utilizes a query interface to directly and accurately obtain the information required for the test. The setting interface allows for flexible configuration of the current read count without the need for multiple actual read operations, shortening the testing cycle and enabling efficient and reliable basic testing of read interference functionality. Furthermore, unlike existing technologies that only verify data consistency, the test results are determined based on the first read interference threshold, second read count, first block status, and second block status obtained through the query interface. This results in more reliable test results and greater transparency in the testing process, thereby improving the efficiency and effectiveness of read interference functionality testing. Additionally, the setting, query, and error injection interfaces are used to test the change of the read interference threshold with the number of erases, the interaction between the read interference function and other functional modules, and the exception handling process of the read interference function. This effectively improves the coverage of read interference functionality testing and ensures the reliability of the read interference function under various conditions.

[0258] In the embodiments provided in this application, it should be understood that the disclosed methods, apparatuses, computer-readable storage media, and electronic devices can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple components or modules may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices, components, or modules may be electrical, mechanical, or other forms.

[0259] The components described as separate parts may or may not be physically separate. The components shown as components may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the components can be selected to achieve the purpose of this embodiment according to actual needs.

[0260] Furthermore, the functional modules in the various embodiments of the present invention can be integrated into one processing module, or each component can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.

[0261] If the integrated module is implemented as a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0262] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the present invention is not limited to the described order of actions, because according to the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to the present invention.

[0263] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0264] The above description is merely an embodiment of the present invention and does not limit the patent scope of the present invention. Any equivalent modifications made based on the content of the present invention specification and drawings, or direct or indirect applications in related technical fields, are similarly included within the patent protection scope of the present invention.

Claims

1. A method for testing read interference function, characterized in that, Including the following steps: Receive a read interference function test request from the solid-state drive under test, wherein the read interference function test request includes a basic read interference function test request; Based on the read interference function basic test request, the query interface is used to obtain the configuration information of the solid-state drive under test, and after writing the first test data sequentially to the solid-state drive under test according to the configuration information, the query interface is used to obtain a physical block that has been filled. The query interface is used to obtain the first read count, the first read interference threshold and the first block status of the physical block, and the setting interface is used to set the first read count based on the first read interference threshold. The first test data is read sequentially, and the second read count and second block status of the physical block are obtained using the query interface; Based on the first read interference threshold, the second read count, the first block status, and the second block status, a first test result corresponding to the basic test request for the read interference function is determined; The determination of the first test result corresponding to the basic test request for the read interference function based on the first read interference threshold, the second read count, the first block state, and the second block state includes: If the second read count does not exceed the first read interference threshold, then it is determined whether the first block state and the second block state are consistent. If they are consistent, then the first test result corresponding to the basic test request of the read interference function is determined to be a test pass. If they are inconsistent, then the first test result corresponding to the basic test request of the read interference function is determined to be a test fail. If the second read count exceeds the first read interference threshold, it is determined whether the second block state is different from the first block state, and the second block state is either data being refreshed or data refresh completed. If so, the first test result corresponding to the basic test request for the read interference function is determined to be a test pass; otherwise, the first test result corresponding to the basic test request for the read interference function is determined to be a test fail.

2. The method for testing read interference function according to claim 1, characterized in that, The configuration information includes the mode; The step of sequentially writing the first test data to the solid-state drive under test according to the configuration information includes: If the mode is SLC mode, then the first test data of the first preset data volume is sequentially written to the solid-state drive under test; If the mode is TLC mode, then the first test data of the second preset data volume is sequentially written to the solid-state drive under test; If the mode is a hybrid mode of TLC and SLC, then the first test data of the third preset data amount is sequentially written to the solid-state drive under test as the preset data write amount when testing SLC physical blocks, and the first test data of the fourth preset data amount is sequentially written to the solid-state drive under test as the preset data write amount when testing TLC physical blocks. The third preset data amount is determined based on the superblock size, and the fourth preset data amount is determined based on the SLC cache size.

3. The method for testing read interference function according to claim 2, characterized in that, The step of using the query interface to obtain a full physical block includes: If the first test data written sequentially is the first preset data volume, then the query interface is used to obtain the physical block with the logical block address offset of the first offset, and the physical block with the logical block address offset of the first offset is used as the physical block of the SLC that has been filled. If the first test data written sequentially is the second preset data volume, then the query interface is used to obtain the physical block with the logical block address offset of the second offset, and the physical block with the logical block address offset of the second offset is used as the physical block of the TLC that has been written. If the first test data written sequentially is the third preset data volume, then the query interface is used to obtain the physical block with the logical block address offset of the third offset, and the physical block with the logical block address offset of the third offset is used as the physical block of the SLC that has been filled. If the first test data written sequentially is the fourth preset data amount, then the query interface is used to obtain the physical block with the logical block address offset of the fourth offset, and the physical block with the logical block address offset of the fourth offset is used as the physical block of the TLC that has been written.

4. The method for testing read interference function according to claim 1, characterized in that, The read interference function test request also includes a test request for how the read interference threshold changes with the number of erases; Also includes: Based on the test request that the read interference threshold changes with the number of erases, the query interface is used to obtain the average number of erases of the solid-state drive under test, which is used as the initial average number of erases, and all user data on the solid-state drive under test is erased. After writing the second test data to the solid-state drive under test, the query interface is used to obtain a physical block that has been filled, and the query interface is used to obtain the status of the third block of the physical block. The query interface is used to obtain the second read interference threshold of the physical block, and the setting interface is used to set the average number of erases to the preset number of erases; The query interface is used to obtain the third read interference threshold of the physical block, and the setting interface is used to set the read count of the physical block according to the third read interference threshold. Read the second test data and verify the data consistency between the read second test data and the written second test data to obtain the data consistency result; Use the query interface to obtain the fourth block status of the physical block, and use the setting interface to set the average number of erases to the initial average number of erases; Return to the step of erasing all user data on the solid-state drive under test until the number of executions reaches the total number of preset erasures. Each time the step of setting the average number of erasures to the preset number of erasures using the setting interface is executed, the preset number of erasures is different. The preset number of erasures includes a first preset number of erasures, a second preset number of erasures, and a third preset number of erasures that increase sequentially. Based on the preset number of erases, the second read interference threshold, the third read interference threshold, the data consistency result, the third block status, and the fourth block status, a second test result is determined corresponding to the test request where the read interference threshold changes with the number of erases.

5. The method for testing read interference function according to claim 4, characterized in that, The second test result, determined based on the preset number of erases, the second read interference threshold, the third read interference threshold, the data consistency result, the third block status, and the fourth block status, corresponding to the test request where the read interference threshold changes with the number of erases, includes: If the preset number of erases is the first preset number of erases, then it is determined whether the third read interference threshold is the same as the second read interference threshold. If they are different, then the second test result corresponding to the test request where the read interference threshold changes with the number of erases is determined to be a test failure. If they are the same, then it is determined whether the data consistency result is data consistency and whether the third block state is different from the fourth block state. If both are true, then the second test result corresponding to the test request where the read interference threshold changes with the number of erases is determined to be a test success. Otherwise, the second test result corresponding to the test request where the read interference threshold changes with the number of erases is determined to be a test failure. If the preset erase count is the second preset erase count or the third preset erase count, then it is determined whether the third read interference threshold is the same as the second read interference threshold. If they are the same, then the second test result corresponding to the test request where the read interference threshold changes with the erase count is determined to be a test failure. If they are different, then it is determined whether the third read interference threshold when the preset erase count is the second preset erase count is less than the third read interference threshold when the preset erase count is the third preset erase count. If it is not less than, then the second test result corresponding to the test request where the read interference threshold changes with the erase count is determined to be a test failure. If it is less than, then it is determined whether the data consistency result is data consistency, and whether the third block state and the fourth block state are different. If both are true, then the second test result corresponding to the test request where the read interference threshold changes with the erase count is determined to be a test success. Otherwise, the second test result corresponding to the test request where the read interference threshold changes with the erase count is determined to be a test failure.

6. The method for testing read interference function according to claim 1, characterized in that, The read interference function test request also includes a test request for the interaction between the read interference function and other functional modules; Also includes: Based on the test request for interaction between the read interference function and other functional modules, the query interface is used to obtain the configuration information of the solid-state drive under test. After writing the third test data sequentially to the solid-state drive under test according to the configuration information, the query interface is used to obtain a physical block that has been filled. The query interface is used to obtain the third read count, the fourth read interference threshold, and the fifth block status of the physical block, and the setting interface is used to set the third read count based on the fourth read interference threshold. The third test data is read sequentially. During the sequential reading process, the query interface is used at preset intervals to obtain the third read count of the physical block, and it is determined whether the third read count exceeds the fourth read interference threshold. If so, other functional modules are executed on the solid-state drive under test. The query interface is used to obtain the status of the sixth block of the physical block, and the data consistency is checked between the sequentially read third test data and the sequentially written third test data to obtain the consistency check result. Based on the fifth block status, the sixth block status, and the consistency verification result, a third test result is determined corresponding to the test request for the interaction between the read interference function and other functional modules.

7. The method for testing read interference function according to claim 6, characterized in that, The third test result, determined based on the fifth block state, the sixth block state, and the consistency verification result, corresponding to the test request for interaction between the read interference function and other functional modules, includes: Determine whether the fifth block state is different from the sixth block state. If not, determine that the third test result corresponding to the test request for the interaction between the read interference function and other functional modules is a test failure. If yes, determine whether the consistency verification result is data consistency. If the data is consistent, determine that the third test result corresponding to the test request for the interaction between the read interference function and other functional modules is a test pass. If the data is inconsistent, determine that the third test result corresponding to the test request for the interaction between the read interference function and other functional modules is a test failure.

8. The method for testing read interference function according to claim 1, characterized in that, The read interference function test request also includes a test request for triggering the read interference function when there are insufficient remaining blank blocks; Also includes: The user data of the solid-state drive under test is erased according to the test request that triggers the read interference function when there are insufficient remaining blank blocks; Use the query interface to obtain the threshold for insufficient remaining blank blocks of the solid-state drive under test; The fourth test data is sequentially written to the entire solid-state drive under test; Use the query interface to obtain the first bad block count and the first remaining blank block count of the solid-state drive under test; Write the fifth set of test data (a fifth preset data amount) to the solid-state drive under test, and use the query interface to obtain the physical address of the last logical block address of the written data; The position of the first preset number of pages after the physical address is determined as the target physical address, and after injecting a programming error at the target physical address using the error injection interface, the fifth test data of the fifth preset data amount is continued to be written to the solid-state drive under test; Use the query interface to obtain the second bad block count and the second remaining blank block count of the solid-state drive under test; Based on the first bad block count, determine whether the second bad block count should be incremented by one, and based on the first remaining blank block count, determine whether the number of the second remaining blank blocks should be decremented by one. If both are true, then return to the step of using the query interface to obtain the first bad block count and the first remaining blank block count of the solid-state drive under test, until the number of the second remaining blank blocks of the solid-state drive under test is lower than the threshold of insufficient remaining blank blocks. Use the query interface to obtain the physical address of the last logical block address where data was written in the solid-state drive under test; If the block status of the target block at the physical address of the last logical block address of the written data is valid, then the read count of the target block is set using the setting interface according to the read interference threshold of the target block; Read the logical block address of the target block; A non-data management command was issued to the solid-state drive under test; Determine whether a read error occurs when reading the logical block address of the target block, and whether the solid-state drive under test can execute the non-data management command. If both are true, then the fourth test result corresponding to the test request that triggers the read interference function when there are insufficient remaining blank blocks is determined to be a test pass. Otherwise, the fourth test result corresponding to the test request that triggers the read interference function when there are insufficient remaining blank blocks is determined to be a test fail.

9. The method for testing read interference function according to claim 1, characterized in that, The read interference function test request also includes a test request for an unrecoverable read error that occurs when the read count reaches the read interference threshold. Also includes: According to the test request for an unrecoverable read error that occurs when the read count reaches the read interference threshold, the query interface is used to obtain the configuration information of the solid-state drive under test, and after writing the sixth test data sequentially to the solid-state drive under test according to the configuration information, a physical block that has been filled is obtained using the query interface. Use the query interface to obtain the fourth read count, fifth read interference threshold, seventh block status, first unrecoverable read error count, and third bad block count of the physical block, and use the setting interface to set the fourth read count based on the fifth read interference threshold; Inject an unrecoverable read error into the physical block using the error injection interface; The sixth test data is read sequentially, and the query interface is used to obtain the fifth read count, the eighth block status, the second unrecoverable read error count, and the fourth bad block count of the physical block; Determine whether the fifth read count has reached the fifth read interference threshold. If so, determine whether the eighth block state has changed based on the seventh block state. If it has not changed, determine the fifth test result corresponding to the test request for an unrecoverable read error occurring when the read count reaches the read interference threshold as a test failure. If it has changed, determine whether the second unrecoverable read error count and the fourth bad block count have increased based on the first unrecoverable read error count and the third bad block count. If both have increased, determine the fifth test result corresponding to the test request for an unrecoverable read error occurring when the read count reaches the read interference threshold as a test success. Otherwise, determine the fifth test result corresponding to the test request for an unrecoverable read error occurring when the read count reaches the read interference threshold as a test failure.

10. A test device for reading interference function, characterized in that, include: The request receiving module is used to receive the read interference function test request of the solid-state drive under test, the read interference function test request including the basic test request of the read interference function; The data writing module is used to obtain the configuration information of the solid-state drive under test by using a query interface according to the basic test request of the read interference function, and after sequentially writing the first test data to the solid-state drive under test according to the configuration information, use the query interface to obtain a physical block that has been filled. The data setting module is used to obtain the first read count, the first read interference threshold, and the first block status of the physical block using the query interface, and to set the first read count based on the first read interference threshold using the setting interface. The data reading module is used to sequentially read the first test data and use the query interface to obtain the second read count and the second block status of the physical block; The test result determination module is used to determine a first test result corresponding to the basic test request for the read interference function based on the first read interference threshold, the second read count, the first block status, and the second block status. The determination of the first test result corresponding to the basic test request for the read interference function based on the first read interference threshold, the second read count, the first block state, and the second block state includes: If the second read count does not exceed the first read interference threshold, then it is determined whether the first block state and the second block state are consistent. If they are consistent, then the first test result corresponding to the basic test request of the read interference function is determined to be a test pass. If they are inconsistent, then the first test result corresponding to the basic test request of the read interference function is determined to be a test fail. If the second read count exceeds the first read interference threshold, it is determined whether the second block state is different from the first block state, and the second block state is either data being refreshed or data refresh completed. If so, the first test result corresponding to the basic test request for the read interference function is determined to be a test pass; otherwise, the first test result corresponding to the basic test request for the read interference function is determined to be a test fail.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements each step of the read interference function test method as described in any one of claims 1 to 9.

12. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements each step of the read interference function test method as described in any one of claims 1 to 9.

Citation Information

Patent Citations

  • Read interference detection method and device, equipment, storage medium and program product

    CN118689410A

  • Block reading frequency optimization method and device, equipment and storage medium

    CN118939187A