Read disturbance test method, device, computer readable storage medium and electronic device

Through the automated read interference testing method, the problem of low efficiency in manual acquisition of NAND flash block read times threshold in the prior art is solved, and efficient automated testing and intuitive test result output are achieved.

CN112185453BActive Publication Date: 2025-05-13BIWIN STORAGE TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202011070888.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-10-09
Publication Date
2025-05-13
Estimated Expiration
2040-10-09

AI Technical Summary

Technical Problem

In the prior art, obtaining the number of reads thresholds of NAND flash memory blocks requires manual operation, which is inefficient and time-consuming.

Method used

Through a read interference test method, the test parameters are received, the device information of the flash memory to be tested is obtained, the block to be tested and its corresponding area to be read is determined, and the continuous reading operation is performed until the actual ECC value is greater than the preset ECC value, and the test results are output.

Benefits of technology

It realizes automated testing of read interference, improves testing efficiency, can output intuitive test results, help analyze flash memory characteristics and obtain read thresholds that require data transfer or refresh.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112185453B_ABST
    Figure CN112185453B_ABST
Patent Text Reader

Abstract

The present invention discloses a read interference test method, device, computer-readable storage medium and electronic device. The method determines a block to be tested of a flash memory to be tested and its corresponding area to be read according to input test data, performs continuous read operations on the area to be read until the actual ECC value of the block to be tested is greater than a preset ECC value, and outputs a test result. Through an automated test method, the stability of the block corresponding to different read times under the continuous read operation of the flash memory to be tested is effectively detected, so that in the data security processing of the flash memory, a threshold value of the read times that can clearly determine the need for data migration or refresh is obtained, and the test comparison action is realized through an automated method, so as to realize automated testing of read interference, improve test efficiency, and be able to output intuitive test results, so as to facilitate characteristic analysis of the flash memory and subsequent algorithm debugging.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of testing, and in particular to a read disturbance testing method, device, computer-readable storage medium and electronic equipment. Background Art

[0002] For NAND (computer flash memory device), there is read disturbance, that is, when reading a page, it will interfere with other pages in the same block. With the update iteration of NAND, there are more pages in a block, and the more information a storage unit stores, the greater the degree of read disturbance.

[0003] Because NAND has the characteristic of read disturbance, it is necessary to record the number of reads of the current block. When the number of reads exceeds the threshold, the data in the block is moved to avoid data loss, or the data on the block is refreshed. Therefore, it is very important to obtain the threshold for the need for relocation or refresh.

[0004] However, in order to obtain the threshold, it is usually done manually, which is labor-intensive and inefficient. Summary of the invention

[0005] The technical problem to be solved by the present invention is to provide a read disturbance test method, device, computer-readable storage medium and electronic equipment to realize automated test of read disturbance and improve test efficiency.

[0006] In order to solve the above technical problems, a technical solution adopted by the present invention is:

[0007] A read disturbance test method comprises the steps of:

[0008] Receiving test parameters, wherein the test parameters include block information, page information, and a preset ECC value;

[0009] Acquire device information of the flash memory to be tested, and determine a block to be tested of the flash memory to be tested and its corresponding area to be read according to the block information, page information and device information;

[0010] Performing erase and write operations on the block to be tested;

[0011] Continuously read the area to be read until the actual ECC value of the block to be tested is greater than the preset ECC value, and output the test result.

[0012] In order to solve the above technical problems, another technical solution adopted by the present invention is:

[0013] A read disturbance test device comprises the following steps:

[0014] A receiving module, used for receiving test parameters, wherein the test parameters include block information, page information and a preset ECC value;

[0015] An acquisition module, used for acquiring device information of the flash memory to be tested, and determining a block to be tested of the flash memory to be tested and a corresponding area to be read according to the block information, page information and device information;

[0016] An erase module, used for performing erase and write operations on the block to be tested;

[0017] The reading module is used to perform continuous reading operations on the to-be-read area until the actual ECC value of the block to be tested is greater than the preset ECC value, and output a test result.

[0018] In order to solve the above technical problems, another technical solution adopted by the present invention is:

[0019] A computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, each step in the above-mentioned read disturbance test method is implemented.

[0020] In order to solve the above technical problems, another technical solution adopted by the present invention is:

[0021] An electronic device comprises a memory, a processor and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, each step in the above-mentioned read disturbance test method is implemented.

[0022] The beneficial effects of the present invention are as follows: determining the blocks to be tested of the flash memory to be tested and their corresponding areas to be read according to the input test data, performing continuous read operations on the areas to be read until the actual ECC value of the blocks to be tested is greater than the preset ECC value, and outputting the test results; through an automated testing method, effectively detecting the stability of the blocks corresponding to different read times under the continuous read operation of the flash memory to be tested, thereby obtaining a threshold value of the number of read times that can clearly determine the need for data migration or refresh in data security processing of the flash memory; implementing the test comparison action in an automated manner, realizing automated testing of read interference, improving the test efficiency, and being able to output intuitive test results, making it convenient to perform characteristic analysis of the flash memory and subsequent algorithm debugging. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 A flowchart of a read disturbance test method according to an embodiment of the present invention;

[0024] Figure 2 A structural schematic diagram of a read disturbance test device according to an embodiment of the present invention;

[0025] Figure 3A schematic diagram of the structure of an electronic device according to an embodiment of the present invention;

[0026] Figure 4 The following is a detailed flowchart of a read disturbance test method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0027] In order to explain the technical content, achieved objectives and effects of the present invention in detail, the following is an explanation in combination with the implementation modes and the accompanying drawings.

[0028] Please refer to Figure 1 , an embodiment of the present invention provides a read disturbance test method, comprising the steps of:

[0029] Receiving test parameters, wherein the test parameters include block information, page information, and a preset ECC value;

[0030] Acquire device information of the flash memory to be tested, and determine a block to be tested of the flash memory to be tested and its corresponding area to be read according to the block information, page information and device information;

[0031] Performing erase and write operations on the block to be tested;

[0032] Continuously read the area to be read until the actual ECC value of the block to be tested is greater than the preset ECC value, and output the test result.

[0033] From the above description, it can be seen that the beneficial effects of the present invention are: determining the blocks to be tested and their corresponding areas to be read of the flash memory to be tested according to the input test data, performing continuous read operations on the areas to be read until the actual ECC value of the blocks to be tested is greater than the preset ECC value, and outputting the test results. Through an automated testing method, the stability of the blocks corresponding to different read times under the continuous read operation of the flash memory to be tested can be effectively detected, so that in the data security processing of the flash memory, a threshold of the number of reads that can clearly determine the need for data movement or refresh is obtained. The test comparison action is realized in an automated manner, and automated testing of read interference is realized, thereby improving the test efficiency, and being able to output intuitive test results, which is convenient for characteristic analysis of the flash memory and subsequent algorithm debugging.

[0034] Further, the block information includes a block number, and the page information includes a page number;

[0035] The step of determining the block to be tested of the flash memory to be tested and its corresponding area to be read according to the block information, page information and device information comprises:

[0036] Determine the physical block information of the flash memory to be tested according to the device information, and search the physical block information according to the block number to determine the block to be tested of the flash memory to be tested;

[0037] The determined block to be tested is searched according to the page number to determine a to-be-read area of ​​the block to be tested.

[0038] From the above description, it can be seen that the retrieval is performed from the acquired device information based on the block number and page number in the received test parameters. When searching, the block number is searched first, and then the page number is searched. This can not only avoid erroneous operations on non-existent blocks, improve the effectiveness and reliability of the operation, but also improve the hit rate of the retrieval.

[0039] Further, the block information includes a starting block number, a number of blocks, a starting page number and a number of pages;

[0040] The step of determining the block to be tested of the flash memory to be tested and its corresponding area to be read according to the block information, page information and device information comprises:

[0041] Determine the physical block information of the flash memory to be tested according to the device information, and search the physical block information according to the starting block number to determine the starting block to be tested of the flash memory to be tested;

[0042] Determine a block to be tested according to the starting block to be tested and the number of blocks;

[0043] Searching each determined block to be tested according to the starting page number to determine the starting page to be read of each block to be tested;

[0044] The to-be-read area corresponding to each block to be tested is determined according to the to-be-read starting page of each block to be tested and the number of pages, and each to-be-read area includes multiple pages.

[0045] From the above description, it can be seen that by setting the starting block number, number of blocks, starting page number and number of pages in the block information, multiple data blocks can be read in one read operation, thereby realizing one-time testing of multiple data blocks, further improving test efficiency.

[0046] Further, the test parameters also include read length;

[0047] The performing a continuous read operation on the to-be-read area comprises:

[0048] Starting from the start address of the area to be read, the same address is continuously accessed according to the read length and a read operation is performed.

[0049] It can be seen from the above description that by continuously accessing and reading the same address, repeated reading operations on the data block are achieved, and the reading operation is performed on the same address, which can increase the speed of continuous reading and thus improve the test efficiency.

[0050] Furthermore, the performing a continuous read operation on the to-be-read area includes:

[0051] Perform a continuous read operation on the to-be-read area of ​​each block to be tested;

[0052] When performing each read operation, a block is selected from the blocks to be tested in a random order, and a page is randomly selected from the to-be-read area of ​​the selected block for reading until all the blocks to be tested are traversed.

[0053] From the above description, it can be seen that when a read operation reads multiple data blocks, in one read operation, multiple data blocks can be selected and read in a random order, and the to-be-read area of ​​each data block contains multiple data pages. When reading, a page can be randomly selected for reading, which is more in line with actual application scenarios, better simulates actual read operations, and can improve test accuracy.

[0054] Furthermore, the test parameters also include inspection frequency;

[0055] The continuously reading the area to be read until the actual ECC value of the block to be tested is greater than the preset ECC value, and outputting the test result comprises:

[0056] In the process of performing continuous read operations on the to-be-read area, obtaining an actual ECC value of the block to be tested according to the check frequency, and comparing the actual ECC value with the preset ECC value;

[0057] Determine whether the actual ECC value is greater than the preset ECC value, if so, output the test result, if not, return to execute the step of performing a continuous read operation on the area to be read.

[0058] It can be seen from the above description that by setting the check frequency and obtaining and comparing the actual ECC value according to the check frequency, the test efficiency can be improved and a comparison must be avoided for each read operation.

[0059] Furthermore, the test results are stored;

[0060] The test result includes ECC values ​​corresponding to the block to be tested under different read operation times.

[0061] From the above description, it can be seen that by saving and outputting the ECC value of the tested block under different read operation times, the correspondence between the number of specific block reads and the block instability can be made, so as to know how many times the current flash memory will become unstable and obtain the exact continuous number limit.

[0062] Please refer to Figure 2Another embodiment of the present invention provides a read disturbance test device, comprising the steps of:

[0063] A receiving module, used for receiving test parameters, wherein the test parameters include block information, page information and a preset ECC value;

[0064] An acquisition module, used for acquiring device information of the flash memory to be tested, and determining a block to be tested of the flash memory to be tested and a corresponding area to be read according to the block information, page information and device information;

[0065] An erase module, used for performing erase and write operations on the block to be tested;

[0066] The reading module is used to perform continuous reading operations on the to-be-read area until the actual ECC value of the block to be tested is greater than the preset ECC value, and output a test result.

[0067] Another embodiment of the present invention provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, each step in the above-mentioned read disturbance test method is implemented.

[0068] 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, wherein the processor implements each step of the above-mentioned read interference test method when executing the computer program.

[0069] The above-mentioned read disturbance test method, device, computer-readable storage medium and electronic device of the present invention can be applied to any NAND flash memory that needs to perform read disturbance test, such as SLC (Single-level Cell), MLC (Multi-level Cell), eMLC (Enterprise Multi-level Cell), TLC (Triple-level Cell), etc., which are described below through specific implementation methods:

[0070] Embodiment 1

[0071] In this embodiment, a test software can be developed to realize the automatic test of the read disturbance of a specific NAND flash memory. The test software can be developed based on the MFC framework and mainly includes the following processes: 1. The user writes the test data; 2. The user writes the test parameters; 3. The NAND flash memory to be tested is tested; 4. The test result data is obtained, as shown in the following figure. Figure 4 As shown, the steps include:

[0072] S1. The user first opens the software, and then writes the test data in the test data input box, that is, writes the NAND flash memory identifier to be tested, so that the test software can clearly know which specific NAND flash memory is being tested;

[0073] S2. Receive test parameters input by the user. The test parameters can be freely set on the operation page of the test software. The test parameters include block information, page information and preset ECC value.

[0074] The ECC (Error Correction Code) value indicates the stability of the corresponding block, which is a check and correction of data errors. Every time a data error occurs and is corrected, the ECC value increases.

[0075] The preset ECC value is determined by the NAND's verification capability and is generally set to 80% of the verification limit;

[0076] In this implementation, the block information includes a block number, and the page information includes a page number;

[0077] Determine the physical block information of the flash memory to be tested according to the device information, and search the physical block information according to the block number to determine the block to be tested of the flash memory to be tested;

[0078] Searching the determined block to be tested according to the page number to determine a to-be-read area of ​​the block to be tested;

[0079] Specifically, the device information of the NAND flash memory to be tested is obtained through the GetDeviceInfo() function, including the required physical blocks, page information, capacity size, etc.;

[0080] S3, performing erase and write operations on the block to be tested;

[0081] S31, erase the block to be tested through pWnd->PhyEraseBlock(Block, Count), where Block indicates the block number to be operated, and Count indicates the number of blocks to be operated. In this embodiment, the number of blocks to be operated is 1, and the Count value is 1. Due to the characteristics of NAND, before the block is written, the block is erased once to facilitate the subsequent write operation;

[0082] S32. Write the block to be tested through pWnd->PhyWrite(Block, Count). Block indicates the block number to be operated, and Count indicates the number of blocks to be operated. Write information to the selected block. The filled information content is some default data, generally the address information of the block, to facilitate the subsequent reading of information.

[0083] S4, performing a continuous read operation on the to-be-read area until the actual ECC value of the to-be-tested block is greater than the preset ECC value, and outputting a test result;

[0084] Wherein, the test parameters also include read length;

[0085] Starting from the start address of the area to be read, continuously access the same address according to the read length and perform a read operation;

[0086] Specifically, through pWnd->OnlyRLba(LbaStartAddr, LbaLen), LbaStartAddr represents the starting address of the read, LbaLen: represents the length of the read (the length of the read is less than 32k, and the same address cannot be accessed continuously if it is greater than 32k). Repeated read operations are performed on the selected area. When it is detected that the actual ECC value of the block to be tested is greater than the preset ECC value, the read operation is stopped, and the current actual ECC value and its corresponding number of read operations are recorded. The test results are output, and the threshold of the number of reads required for data movement or refresh can be intuitively determined through the test results.

[0087] Embodiment 2

[0088] The difference between this embodiment and the first embodiment is that this embodiment can test multiple data blocks at a time, that is, multiple data blocks are read in each read operation, thereby further improving the test efficiency. At the same time, when reading data from each block, there are multiple data pages for random selection, which is closer to the actual data reading scenario. Specifically:

[0089] The block information includes a starting block number, a number of blocks, a starting page number and a number of pages;

[0090] The step of determining the block to be tested of the flash memory to be tested and its corresponding area to be read according to the block information, page information and device information comprises:

[0091] Determine the physical block information of the flash memory to be tested according to the device information, and search the physical block information according to the starting block number to determine the starting block to be tested of the flash memory to be tested;

[0092] Determine the blocks to be tested according to the starting block to be tested and the number of blocks, that is, the data blocks of the number of blocks consecutively following the starting block are all the blocks to be tested;

[0093] Searching each determined block to be tested according to the starting page number to determine the starting page to be read of each block to be tested;

[0094] Determine a to-be-read area corresponding to each block to be tested according to a to-be-read starting page of each block to be tested and the number of pages, each to-be-read area including a plurality of pages;

[0095] The performing a continuous read operation on the to-be-read area comprises:

[0096] Performing a continuous read operation on the to-be-read area of ​​each block to be tested;

[0097] When performing each read operation, a block is selected from the blocks to be tested in a random order, and a page is randomly selected from the to-be-read area of ​​the selected block for reading until all the blocks to be tested are traversed;

[0098] For example, the data blocks to be tested this time are numbered block2-block8, and their corresponding areas to be read are page23-page35. In each read operation, each block in block2-block8 is selected in a random order, and for each block, one of the pages of page23-page35 is randomly selected as the starting address, and data is read according to the preset read length; after one read operation is completed, the next read operation is performed, and this is repeated;

[0099] When the test results are output and saved, the test results include the identifier of each data block, its corresponding read times and the corresponding ECC value, that is, the ECC values ​​corresponding to different data blocks and different read times are displayed;

[0100] When the actual ECC value reaches or exceeds the preset ECC value, the read operation on the data block corresponding to the actual ECC value is stopped, and the test result of the data block is output; for other data blocks whose actual ECC values ​​do not reach or exceed the preset ECC value, continuous read operations are continued until the actual ECC values ​​of all data blocks reach or exceed the preset ECC value, and then the test software is stopped.

[0101] Embodiment 3

[0102] The difference between this embodiment and the first or second embodiment is that the test parameters are further limited to also include the inspection frequency;

[0103] The continuously reading the area to be read until the actual ECC value of the block to be tested is greater than the preset ECC value, and outputting the test result comprises:

[0104] In the process of performing continuous read operations on the to-be-read area, obtaining an actual ECC value of the block to be tested according to the check frequency, and comparing the actual ECC value with the preset ECC value;

[0105] Determine whether the actual ECC value is greater than the preset ECC value, if so, output the test result, if not, return to the step of performing a continuous read operation on the area to be read;

[0106] like Figure 4 As shown, after reading data in the selected area, it will be determined whether the timing of verification has been reached. If so, the actual ECC value is obtained and compared with the preset ECC value. If not, it returns to perform the read operation;

[0107] For example, if the check frequency is set to 10,000 times, the actual ECC value corresponding to the currently read data block will be obtained after 10,000 read operations, and then the actual ECC value will be compared with the preset ECC value;

[0108] In an optional embodiment, the check frequency can be dynamically set and can be adaptively changed according to the comparison result of the actual ECC value during the actual operation of the software. For example, when the difference between the actual ECC value of a data block and the preset ECC value is less than the preset value, the check frequency corresponding to the data block is adjusted to a preset check frequency value with a preset adjustment range. For example, 10,000 / time can be adjusted to 8,000 / time. This can more accurately determine the threshold of the number of reads required to perform data movement or refresh.

[0109] Embodiment 4

[0110] Please refer to Figure 2 , a read disturbance test device, comprising the steps of:

[0111] A receiving module, used for receiving test parameters, wherein the test parameters include block information, page information and a preset ECC value;

[0112] An acquisition module, used for acquiring device information of the flash memory to be tested, and determining a block to be tested of the flash memory to be tested and a corresponding area to be read according to the block information, page information and device information;

[0113] An erase module, used for performing erase and write operations on the block to be tested;

[0114] The reading module is used to perform continuous reading operation on the to-be-read area until the actual ECC value of the block to be tested is greater than the preset ECC value, stop the reading operation, and output the test result.

[0115] Embodiment 5

[0116] A computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the computer program implements each step of a read disturbance test method described in any one of the first to third embodiments above.

[0117] Embodiment 6

[0118] Please refer to Figure 3 , an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, each step of a read interference test method described in any one of the first to third embodiments is implemented.

[0119] In summary, the present invention provides a read interference test method, device, computer-readable storage medium and electronic device, which determine the block to be tested and the corresponding area to be read of the flash memory to be tested according to the input test data, perform continuous read operations on the area to be read and obtain the actual ECC value corresponding to the block to be tested according to the inspection frequency and compare it with the preset ECC value until the actual ECC value of the block to be tested is greater than the preset ECC value, output the test result, and can test multiple data blocks at one time, and through an automated test method, efficiently detect the stability of the blocks corresponding to different read times under the continuous read operation of the flash memory to be tested, and achieve the correspondence between the read times of the block to be tested and the block instability, so as to know how many times the block of the current NAND will become unstable, obtain the exact continuous read number limit, and obtain a threshold value of the read number that can clearly require data migration or refresh. In terms of data security processing of the flash memory, when this limit is about to be reached, the data inside can be processed in advance to prevent loss, and the test comparison action is realized in an automated manner, and the automated test of read interference is realized, thereby improving the test efficiency, and being able to output intuitive test results, which is convenient for characteristic analysis of the flash memory and subsequent algorithm debugging.

[0120] In the above embodiments provided in the present application, it should be understood that the disclosed methods, devices, computer-readable storage media, and electronic devices can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the modules is only a logical function division. There may be other division methods in actual implementation, such as multiple components or modules can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or components or modules, which can be electrical, mechanical or other forms.

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

[0122] In addition, each functional module in each embodiment of the present invention may be integrated into one processing module, or each component may exist physically separately, or two or more modules may be integrated into one module. The above integrated modules may be implemented in the form of hardware or in the form of software functional modules.

[0123] If the integrated module is implemented in the form of a software function 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. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.

[0124] It should be noted that, for the convenience of description, the aforementioned method embodiments are all described as a series of action combinations, but those skilled in the art should be aware that the present invention is not limited by the described action sequence, because according to the present invention, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.

[0125] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0126] The above descriptions are merely embodiments of the present invention and are not intended to limit the patent scope of the present invention. Any equivalent transformations made using the contents of the present invention's specification and drawings, or directly or indirectly applied in related technical fields, are also included in the patent protection scope of the present invention.

[0127] The above descriptions are merely embodiments of the present invention and are not intended to limit the patent scope of the present invention. Any equivalent transformations made using the contents of the present invention's specification and drawings, or directly or indirectly applied in related technical fields, are also included in the patent protection scope of the present invention.

Claims

1. A read disturbance test method, characterized in that: Includes steps: Receiving test parameters, wherein the test parameters include block information, page information, and a preset ECC value; Acquire device information of the flash memory to be tested, and determine a block to be tested of the flash memory to be tested and its corresponding area to be read according to the block information, page information and device information; Performing erase and write operations on the block to be tested; Performing a continuous read operation on the to-be-read area until the actual ECC value of the to-be-tested block is greater than the preset ECC value, and outputting a test result, the test result including the current actual ECC value and the number of executions of the corresponding read operation; It also includes saving the test results; The ECC value indicates the stability of the corresponding block, which is a check and correction of data errors. Every time a data error occurs and is corrected, the ECC value increases; The test parameters also include inspection frequency; The continuously reading operation on the to-be-read area until the actual ECC value of the to-be-tested block is greater than the preset ECC value, and outputting the test result comprises: In the process of performing continuous read operations on the to-be-read area, obtaining an actual ECC value of the block to be tested according to the check frequency, and comparing the actual ECC value with the preset ECC value; Determine whether the actual ECC value is greater than the preset ECC value, if so, output the test result, if not, return to the step of performing a continuous read operation on the area to be read; The check frequency is dynamically set, and in the actual operation of the software, it is adaptively changed according to the comparison result of the actual ECC value. When the difference between the actual ECC value of a data block and the preset ECC value is less than the preset value, the check frequency corresponding to the data block is adjusted to be reduced to a preset check frequency value by a preset adjustment range; The checking frequency refers to obtaining the actual ECC value corresponding to the currently read data block after performing a preset number of read operations; The preset ECC value is determined by the verification capability of the flash memory to be tested and is set to eighty percent of the verification limit.

2. A read disturbance test method according to claim 1, characterized in that: The block information includes a block number, and the page information includes a page number; The step of determining the block to be tested of the flash memory to be tested and its corresponding area to be read according to the block information, page information and device information comprises: Determine the physical block information of the flash memory to be tested according to the device information, and search the physical block information according to the block number to determine the block to be tested of the flash memory to be tested; The determined block to be tested is searched according to the page number to determine a to-be-read area of ​​the block to be tested.

3. A read disturbance test method according to claim 1, characterized in that: The block information includes a starting block number, a number of blocks, a starting page number and a number of pages; The step of determining the block to be tested of the flash memory to be tested and its corresponding area to be read according to the block information, page information and device information comprises: Determine the physical block information of the flash memory to be tested according to the device information, and search the physical block information according to the starting block number to determine the starting block to be tested of the flash memory to be tested; Determine a block to be tested according to the starting block to be tested and the number of blocks; Searching each determined block to be tested according to the starting page number to determine the starting page to be read of each block to be tested; The to-be-read area corresponding to each block to be tested is determined according to the to-be-read starting page of each block to be tested and the number of pages, and each to-be-read area includes multiple pages.

4. A read disturbance test method according to claim 2, characterized in that: The test parameters also include read length; The performing a continuous read operation on the to-be-read area comprises: Starting from the start address of the area to be read, the same address is continuously accessed according to the read length and a read operation is performed.

5. A read disturbance test method according to claim 3, characterized in that: The performing a continuous read operation on the to-be-read area comprises: Performing a continuous read operation on the to-be-read area of ​​each block to be tested; When performing each read operation, a block is selected from the blocks to be tested in a random order, and a page is randomly selected from the to-be-read area of ​​the selected block for reading until all the blocks to be tested are traversed.

6. A read disturbance test device, characterized in that: Includes steps: A receiving module, used for receiving test parameters, wherein the test parameters include block information, page information and a preset ECC value; An acquisition module, used for acquiring device information of the flash memory to be tested, and determining a block to be tested of the flash memory to be tested and a corresponding area to be read according to the block information, page information and device information; An erase module, used for performing erase and write operations on the block to be tested; A reading module, configured to continuously read the area to be read until the actual ECC value of the block to be tested is greater than the preset ECC value, and output a test result, wherein the test result includes the current actual ECC value and the number of executions of the corresponding read operation; It also includes saving the test results; The ECC value indicates the stability of the corresponding block, which is a check and correction of data errors. Every time a data error occurs and is corrected, the ECC value increases; The test parameters also include inspection frequency; The continuously reading operation on the to-be-read area until the actual ECC value of the to-be-tested block is greater than the preset ECC value, and outputting the test result comprises: In the process of performing continuous read operations on the to-be-read area, obtaining an actual ECC value of the block to be tested according to the check frequency, and comparing the actual ECC value with the preset ECC value; Determine whether the actual ECC value is greater than the preset ECC value, if so, output the test result, if not, return to the step of performing a continuous read operation on the area to be read; The check frequency is dynamically set, and in the actual operation of the software, it is adaptively changed according to the comparison result of the actual ECC value. When the difference between the actual ECC value of a data block and the preset ECC value is less than the preset value, the check frequency corresponding to the data block is adjusted to be reduced to a preset check frequency value by a preset adjustment range; The checking frequency refers to obtaining the actual ECC value corresponding to the currently read data block after performing a preset number of read operations; The preset ECC value is determined by the verification capability of the flash memory to be tested and is set to eighty percent of the verification limit.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, each step in a read disturbance test method as claimed in any one of claims 1 to 5 is implemented.

8. 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, each step of the read disturbance test method as described in any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Method, device and equipment for performance test of flash memory chip, and storage medium

    CN108133732A

  • Real-time detection method and detection equipment for reliability of flash memory and storage system

    CN111444038A

  • Apparatus and method for detecting and correcting read disturb errors on a flash memory

    US20150278014A1