Method and device for testing read interference characteristic of SSD (Solid State Disk)

By constructing a reading data range calculation model and writing test data sequentially at the SSD level, the problem of difficulty in analyzing Nand Flash read interference characteristics in the existing technology is solved, and efficient and precise positioning read interference characteristic testing is achieved, guiding the firmware processing process design and threshold definition.

CN119724308AActive Publication Date: 2025-03-28ZIGUANG FLASH CORE TECHNOLOGY (CHENGDU) CO LTD

Patent Information

Application Number
CN202411336162.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-24
Publication Date
2025-03-28
Estimated Expiration
2044-09-24

AI Technical Summary

Technical Problem

The prior art is difficult to comprehensively and accurately analyze Nand Flash read interference characteristics at the SSD level, and independent media analysis systems are difficult to take into account both the number of tests and the signal quality of the hardware in high-speed mode.

Method used

It provides a method and device for reading interference characteristics testing of SSDs. It performs test data writing operations on the RG Block in the test SSD through sequential writing, and builds a reading data range calculation model suitable for different granularity to accurately locate and analyze the read interference characteristics.

Benefits of technology

It realizes comprehensive and precise analysis of Nand Flash read interference characteristics at the SSD level, saves development resources, improves test speed and data comprehensiveness, and can guide the processing flow design and threshold definition of firmware based on research results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119724308A_ABST
    Figure CN119724308A_ABST
Patent Text Reader

Abstract

The invention provides a method and a device for testing read interference characteristics of an SSD (Solid State Disk), and the method comprises the steps: executing test data writing operation on RG Blocks in the SSD to be tested in a sequential writing manner, based on the physical position distribution structure of each RG Block, the word line WL distribution structure of each Block in the RG Blocks and the physical page distribution structure in one WL, constructing a read data range calculation model suitable for the to-be-tested storage units with different granularities; calculating a first data reading position of the test data stored in the target to-be-tested storage unit and a second data reading position of the test data stored in the comprehensive test storage area corresponding to the target to-be-tested storage unit according to the read data range calculation model; and randomly reading the test data at the first data reading position and the second data reading position, checking whether the data are correct or not, and monitoring the reading frequency of each Block when a data checking error occurs. According to the method, the read interference characteristic test of the SSD can be comprehensively, accurately and quickly realized by granularity such as Die, Plane, Block, Wordline, Page and the like.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data storage, and in particular to a method and device for testing read disturbance characteristics of a solid state drive (SSD). Background Art

[0002] Enterprise-level SSDs are widely used in data centers and enterprise environments, and have attracted much attention for their high performance and high reliability. However, the read disturbance problem is a key problem commonly encountered in the use of SSDs. Read disturbance refers to the interference of adjacent storage cells (some pages in the upper and lower WLs) when certain storage cells (pages) are repeatedly read in the SSD, resulting in the risk of data corruption or errors. This phenomenon has a potential negative impact on the lifespan and data integrity of the SSD. Therefore, the study of the read disturbance characteristics of the storage medium (Nand Flash) is particularly important for the design of SSDs.

[0003] In the process of SSD development, in order to analyze the characteristics of Nand Flash media, it is usually necessary to independently develop a dedicated media analysis hardware system and supporting software, which requires additional resources for supporting development. In addition, it is difficult for an independent media analysis system to take into account both the number of tests at a time and the signal quality of the hardware in high-speed mode, resulting in a small number of tests per hardware system and a low clock frequency of the test platform. Moreover, when studying the characteristics of Read Disturb from the SSD level, the current technical solution is more about verifying whether the firmware's processing flow for Read Disturb and the defined Read Disturb threshold meet product quality requirements. The purpose itself is not to conduct media research, and it is impossible to accurately locate the granularity of Die, Plane, Block, Wordline, and Page.

[0004] In addition, the study of Nand Flash read disturbance is generally conducted on a block basis, mainly studying the entire block or a specific page in the entire block, which will cause data failure when the read operation accumulates to a certain threshold. The studied blocks are divided into full blocks (RG blocks filled with data) and open blocks (RG blocks not filled with data). Due to the special structure and manufacturing process of Nand Flash, there are certain differences between blocks in die and die, between blocks and blocks, and even between WL and WL in a block, and between pages. These differences will cause the degree of read disturbance to each page under the action of read operations to be different. Therefore, how to provide a read disturbance characteristic test method that can cover enough samples is of great significance to the study of Nand Flash read disturbance. Summary of the invention

[0005] In view of the above problems, the present invention is proposed to provide a method and device for testing read disturbance characteristics of an SSD that overcomes the above problems or at least partially solves the above problems.

[0006] One aspect of the present invention provides a method for testing read disturbance characteristics of an SSD, the method comprising:

[0007] When a test request is received, the test data write operation is performed on the RG Block in the SSD to be tested in a sequential write manner, and the physical blocks Blocks located on different planes in each logical unit die in the SSD to be tested form multiple RG Blocks;

[0008] Based on the physical position distribution structure of each RG Block, the word line WL distribution structure of each Block in the RG Block, and the physical page page distribution structure in a WL, a read data range calculation model applicable to storage units to be tested of different granularities is constructed. The read data range calculation model is used to calculate the data read position corresponding to the test data stored in the storage unit to be tested based on the position index number of the RG Block, die, plane, WL, page and the data storage capacity of the storage units of different granularities;

[0009] Obtaining a target storage unit to be tested and a test mode indicated in the test request, and calculating a first data reading position corresponding to the test data stored in the target storage unit to be tested according to a read data range calculation model;

[0010] If the test mode is a comprehensive test mode, traversing the position index numbers of the RG Block, die, plane and / or WL in the read data range calculation model to calculate a second data reading position corresponding to the test data stored in the comprehensive test storage area corresponding to the target storage unit to be tested;

[0011] The test data in the first data read position and the second data read position are repeatedly randomly read and the data is verified to be correct, so as to monitor the corresponding read times of each block in the target storage unit to be tested and the corresponding comprehensive test storage area when a data verification error occurs.

[0012] Furthermore, before performing a test data write operation on the RG Block in the SSD to be tested in a sequential write manner, the method further includes:

[0013] The firmware of the SSD to be tested is pre-configured. The test pre-configuration content includes: prohibiting the execution of background data garbage collection and wear leveling operations in the firmware processing flow, adding an error reporting function in the firmware processing flow to report error information to the host when reading a storage unit that cannot be corrected, and prohibiting the execution of data refresh operations in the current state;

[0014] Format the SSD to be tested to make it an empty disk.

[0015] Furthermore, performing a test data write operation on the RG Block in the SSD to be tested in a sequential write manner includes:

[0016] Determine the test category of the current read disturbance test according to the test request, where the test category includes a full block test when the RG Block is full of data and an open block test when the RG Block is not full of data;

[0017] When the test type is full block test, the test data is written to each RGBlock in the SSD to be tested in a sequential writing manner until the user data storage space of the entire SSD is filled;

[0018] When the test category is an open block test, the test data write operation is performed on part of the RGBlocks in the SSD to be tested in a sequential write manner, and a data amount less than the size of one RG Block is written to the last RG Block in the selected part of the RG Blocks, so that the status of all blocks contained in the RG Block where the test data write operation is performed last is an open block.

[0019] Furthermore, the read data range calculation model is:

[0020] X*s_rgblk+Z*(Q*N+Q)*a+Q*Y*a+G*a+M*a / S;

[0021] Among them, X is the location index number of the RG Block where the target storage unit to be tested is located, Y is the location index number of the Die where the target storage unit to be tested is located, G is the location index number of the plane where the target storage unit to be tested is located, Z is the location index number of the WL where the target storage unit to be tested is located, M is the location index number of the page where the target storage unit to be tested is located, and when the model is used, the location index number involved in the storage unit with a granularity level lower than the granularity level to which the storage unit to be tested belongs is set to 0, s_rgblk is the amount of data written by the RG Block, N is the total number of Dies included in the SSD to be tested, a is the amount of data written in each layer of WL, Q is the number of planes included in each Die, and S is the number of pages included in each layer of WL.

[0022] Further, when the test type is a full block test, the calculating, according to the read data range calculation model, the first data read position corresponding to the test data stored in the target storage unit to be tested includes:

[0023] When the granularity level of the target storage unit to be tested is RG Block, the first data reading position is the data amount of the entire RG Block corresponding to the position index number;

[0024] When the granularity level of the target storage unit to be tested is Block, the Z value in the read data range calculation model is traversed within the entire value range, and the data reading position obtained in each traversal is accumulated as the first data reading position;

[0025] When the granularity level of the target storage unit to be tested is page, the Z value in the read data range calculation model is traversed in the WL where the target storage unit to be tested is located and / or at least one WL adjacent to the current WL above and below, and the data reading position obtained in each traversal is accumulated as the first data reading position.

[0026] Further, the traversing the position index numbers of the RG Block, die, plane and / or WL in the read data range calculation model to calculate the second data reading position corresponding to the test data stored in the comprehensive test storage area corresponding to the target storage unit to be tested includes:

[0027] When the granularity level of the target storage unit to be tested is RG Block or Block, traverse X, Y, G, and Z in the read data range calculation model, and accumulate the data read positions obtained in each traversal as the second data read position;

[0028] When the granularity level of the target storage unit to be tested is page, the value of Z is kept unchanged, X, Y, and G in the read data range calculation model are traversed, and the data reading positions obtained in each traversal are accumulated as the second data reading position.

[0029] Furthermore, the performing of the test data write operation on part of the RG Blocks in the SSD to be tested in a sequential writing manner includes:

[0030] Set Y in the read data range calculation model to N, set G to 1, and calculate the test data write amount during the open block test by arbitrarily adjusting the values ​​of X, Z, and M;

[0031] When calculating the test data write amount, Z and M in the read data range calculation model cannot be 0 at the same time.

[0032] Further, when the test type is an open block test, the step of calculating the first data read position corresponding to the test data stored in the target storage unit to be tested according to the read data range calculation model includes:

[0033] Select the page in the open block contained in the last RG Block that is not full of data as the target storage unit to be tested;

[0034] Traversing the WL where the Z value in the read data range calculation model is located and / or at least one WL adjacent to the current WL above and below the target storage unit to be tested, and accumulating the data reading position obtained in each traversal as the first data reading position;

[0035] When the test category is an open Block test, traversing the position index numbers of RGBlock, die, plane and / or WL in the read data range calculation model to calculate a second data read position corresponding to the test data stored in the comprehensive test storage area corresponding to the target storage unit to be tested includes:

[0036] The Z value in the data read range calculation model is traversed within the entire value range, and the data read position obtained in each traversal is accumulated as the second data read position.

[0037] Furthermore, the method further comprises:

[0038] Keep X and M in the read data range calculation model when calculating the test data write amount, set Y to N, and set G to 1, and traverse the Z value to respectively calculate the test data write amount corresponding to different Z values; select the page in the openBlock contained in the last RG Block of the SSD that is not full of data when the test data write operation is performed with the test data write amount corresponding to different Z values ​​as the target storage unit to be tested corresponding to the Z value; when calculating the first data read position corresponding to the test data stored in each current target storage unit to be tested, traverse the Z value in the read data range calculation model in the WL where the target storage unit to be tested is located and / or at least one WL adjacent to the current WL above and below, and accumulate the data read positions obtained in each traversal as the first data read positions corresponding to different Z values; or

[0039] When calculating the test data write amount, keep M in the read data range calculation model, Y is set to N, G is set to 1, traverse the X and Z values ​​to respectively calculate the test data write amounts corresponding to different Z values ​​under different X values; select the page in the open block contained in the last RGBlock of the SSD that is not fully written with data when the test data write operation is performed with the test data write amounts corresponding to different Z values ​​as the target storage unit to be tested corresponding to the Z value; when calculating the first data read position corresponding to the test data stored in each current target storage unit to be tested, traverse the Z value in the read data range calculation model in the WL where the target storage unit to be tested is located and / or at least one WL adjacent to the current WL above and below, and accumulate the data read positions obtained in each traversal as the first data read positions corresponding to different Z values.

[0040] Another aspect of the present invention further provides a read disturbance characteristic testing device for an SSD, the device comprising:

[0041] A data writing module is used to perform a test data writing operation on the RGBlock in the SSD to be tested in a sequential writing manner when a test request is received, wherein the physical blocks Block located on different planes in each logical unit die in the SSD to be tested constitute multiple RG Blocks;

[0042] A model building module is used to build a read data range calculation model applicable to storage units to be tested of different granularities based on the physical position distribution structure of each RG Block, the word line WL distribution structure of each Block in the RG Block, and the physical page page distribution structure in a WL. The read data range calculation model is used to calculate the data read position corresponding to the test data stored in the storage unit to be tested based on the position index number of the RG Block, die, plane, WL, page and the data storage capacity of the storage units of different granularities;

[0043] A first address determination module, configured to obtain a target storage unit to be tested and a test mode indicated in a test request, and calculate a first data reading position corresponding to the test data stored in the target storage unit to be tested according to a read data range calculation model;

[0044] a second address determination module, configured to, when the test mode is a comprehensive test mode, traverse the position index numbers of the RG Block, die, plane and / or WL in the read data range calculation model to calculate a second data reading position corresponding to the test data stored in the comprehensive test storage area corresponding to the target storage unit to be tested;

[0045] The data read test module is used to repeatedly perform random reading on the test data in the first data read position and the second data read position, and verify whether the data is correct, so as to monitor the corresponding number of reads of each block in the target storage unit to be tested and the corresponding comprehensive test storage area when a data verification error occurs.

[0046] The SSD read disturbance characteristic test method and device provided by the embodiment of the present invention can comprehensively and accurately analyze the Nand Flash read disturbance characteristics at the SSD level, can reuse the SSD development environment, save development resources, and take advantage of the SSD's own advantages to achieve fast testing speed, a sufficient number of tested dies, blocks, WLs, and pages, and collect sufficiently comprehensive Read Disturb characteristic data. Further, the present invention can accurately locate the granularity of Die, Plane, Block, Wordline, and Page to conduct Read Disturb characteristic research, so as to guide the design of the firmware's processing flow for Read Disturb and the definition of Read Disturb thresholds based on the research results.

[0047] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented according to the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present invention. Moreover, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:

[0049] Figure 1 A schematic diagram of a flow chart of a method for testing read disturbance characteristics of an SSD provided by an embodiment of the present invention;

[0050] Figure 2 A schematic diagram of the physical location distribution structure of RG Block in the SSD proposed in an embodiment of the present invention;

[0051] Figure 3 A distribution diagram of pages in a single Block according to the actual physical structure proposed in the embodiment of the present invention;

[0052] Figure 4 A state diagram of the entire RG Block filled with data proposed in an embodiment of the present invention;

[0053] Figure 5 The embodiment of the present invention proposes a data offset distribution diagram of the entire RG Block corresponding to each Die and each Block and each layer of WL;

[0054] Figure 6 A schematic diagram of data in pages in upper and lower adjacent Strings of a corresponding String in a WL where a page to be read is located that is affected by read disturbance according to an embodiment of the present invention;

[0055] Figure 7 The arrangement method of data on a plane in a certain die in the last RG Block in the open Block test proposed in the embodiment of the present invention;

[0056] Figure 8 A schematic diagram of selecting a page in String1 in Z1-1 for a read disturbance test when the WL where the target storage unit to be tested is located is Z1 in an open block test proposed by an embodiment of the present invention;

[0057] Fig. 9 The present invention is a schematic diagram of the structure of a read disturbance characteristic testing device for an SSD according to an embodiment of the present invention. DETAILED DESCRIPTION

[0058] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0059] Those skilled in the art will appreciate that, unless otherwise stated, the singular forms "a", "an", "said" and "the" used herein may also include plural forms. It should be further understood that the term "comprising" used in the specification of the present invention refers to the presence of the features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.

[0060] Those skilled in the art will appreciate that, unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as those generally understood by those skilled in the art in the art to which the present invention belongs. It should also be understood that terms such as those defined in general dictionaries should be understood to have meanings consistent with the meanings in the context of the prior art, and will not be interpreted with idealized or overly formal meanings unless specifically defined.

[0061] Before introducing the read disturbance characteristic test method of an SSD according to an embodiment of the present invention, a brief introduction to the technical terms in the present invention is given first:

[0062] Read disturb: In the read operation of NAND Flash, in order to read the data of a certain Page, a reference voltage Vref needs to be added to the Wordline control electrode of the Page, and for other Pages in the same Block, a higher voltage Vpass needs to be added to their Wordline control electrodes to ensure that the transistors in these Pages are in the on state, thus acting as pass transistors. However, since Vpass is a relatively large voltage, it will form a strong electric field between the floating gate and the substrate. This electric field may draw some electrons into the floating gate, causing a slight change in the data state of these unselected Pages, that is, a slight Program effect, thereby causing read disturb.

[0063] NAND Flash: Also known as NAND flash memory, it is a non-volatile random access storage medium based on Flash storage technology.

[0064] Die: Usually refers to an independent chip unit cut from a wafer and packaged, also known as a bare chip. It is the smallest independently working component of a NAND Flash flash particle.

[0065] Plane: In NAND flash memory chips, Plane is a form of organization of a large number of storage blocks, mainly used to improve the parallelism of data storage and management. It is part of the internal logical structure of the flash memory chip, and together with Block and Page, it constitutes the basic storage unit of the flash memory.

[0066] Block: A set of consecutive physical pages in NAND flash memory. These pages are logically regarded as a whole. Block is the smallest erase unit.

[0067] RG Block: A logical concept at the SSD level, the smallest parallel erase unit in SSD firmware management. RG Block is a parallel operation unit formed by organizing multiple Dies and a Block on each Plane in each Die.

[0068] WL (Wordline): Also known as word line, it is an important component inside the NAND Flash memory chip. WL plays the role of connecting and selecting storage cells (Cell) in NAND Flash. It is a gate line that is physically connected in series on the same page (Page).

[0069] Page: The smallest unit used to store data in NAND flash memory, which allows data to be read and written in pages.

[0070] GC (Garbage Collection): also known as garbage collection, refers to the process of transferring valid data on a flash block in the SSD to other flash blocks and completely erasing the original flash block to obtain a new flash block that can be used for subsequent writing.

[0071] Firmware: Firmware is the program in the chip that drives the chip to work. The firmware in the SSD is deeply developed based on the characteristics of NandFlash and the usage scenarios of the SSD. There are many algorithms in the firmware and the firmware development process is complicated. The entire firmware in the SSD can ensure the normal and stable operation of the SSD.

[0072] Figure 1 The flowchart of a method for testing the read disturbance characteristics of an SSD according to an embodiment of the present invention is schematically shown. Figure 1 The read disturbance characteristic test of the SSD of the embodiment of the present invention specifically includes the following steps:

[0073] S11, when a test request is received, a test data write operation is performed on the RG Block in the SSD to be tested in a sequential write manner, and the physical blocks Blocks located on different planes in each logical unit die in the SSD to be tested constitute multiple RG Blocks.

[0074] Figure 2 Figure 1 shows a schematic diagram of the physical location distribution structure of RG Block in SSD. Figure 2 As shown in the figure, the firmware in the SSD will group the blocks located on different planes in multiple dies into RG blocks for basic data writing and erasing operations. The entire SSD will eventually form a large number of RG blocks for writing user data and SSD internal management data, such as Figure 1 RG Block 0 to RG Block (m / 2) are shown in the figure. Figure 1 In the illustrated embodiment, the SSD includes Die0 to DieN, each Die is described by taking two planes as an example, including plane0 and plane1, and the RG Blocks formed in the SSD include RG Block0 to RGBlock (m / 2).

[0075] Figure 3 What is shown is the distribution diagram of the pages in a single block according to the actual physical structure. The structure shown in the figure is mainly for demonstration and does not represent the actual structure. Figure 3 The page type is mainly the page organization form of TLC NAND Flash. The present invention takes 3D TLC NAND Flash as an example for explanation, but the technical application scope is not limited to TLC NAND Flash. Figure 3 The figure shows that the entire block is composed of 32 layers of WLs, with WL numbers from WL0 to WL31. Each WL contains 6 strings, with string numbers from string 0 to string 5. The pages in each string are divided into three page types: LSB, CSB, and MSB. The specific number of pages ranges from page 0 to page 575. The basic unit of SSD firmware write operation is RG Page, that is, the same pages in RGBlock constitute RG Page, so the RG Page in an RG Block is divided into RG Page, RG Page, and RG Page. Figure 3 In the figure, it is RG Page0 to RG Page575.

[0076] In an embodiment of the present invention, before executing a test data write operation on the RG Block in the SSD to be tested in a sequential write manner, it also includes: pre-configuring the firmware of the SSD to be tested, and the test pre-configuration content includes: prohibiting the execution of background data garbage collection operations and wear leveling operations in the firmware processing flow, adding an error reporting function in the firmware processing flow to report error information to the host when a storage unit that cannot be corrected is read, and prohibiting the execution of data refresh operations in the current state; formatting the SSD to be tested to put it in an empty disk state.

[0077] Specifically, in order to conduct a comprehensive and accurate test and analysis of the read interference characteristics of NAND Flash storage media from the SSD level, this application needs to make certain adaptations based on the product standard firmware. This adaptation is directly supported in the standard firmware. The main adaptation points are: turning off the background data garbage collection process in the firmware processing flow, turning off the wear leveling algorithm, and the firmware can report to the host normally when reading a storage unit that cannot be corrected, and turning off the data refresh operation in this case, etc. The present invention avoids the standard firmware from moving and refreshing data that has accumulated to a certain degree of read interference for data security by pre-configuring the firmware for testing. The data after the refresh eliminates the influence of read interference, which is not conducive to studying the influence of read interference. At the same time, the host side can obtain the Read Count specific to each physical Block through the interface opened by the SSD firmware.

[0078] S12. Based on the physical position distribution structure of each RG Block, the word line WL distribution structure of each Block in the RG Block, and the physical page page distribution structure in a WL, a read data range calculation model applicable to storage units to be tested of different granularities is constructed. The read data range calculation model is used to calculate the data read position corresponding to the test data stored in the storage unit to be tested based on the position index number of the RG Block, die, plane, WL, page and the data storage capacity of storage units of different granularities, that is, the starting address of the data read address range when performing a read disturbance feature test.

[0079] S13: Obtain the target storage unit to be tested and the test mode indicated in the test request, and calculate the first data reading position corresponding to the test data stored in the target storage unit to be tested according to the read data range calculation model.

[0080] S14. If the test mode is a comprehensive test mode, the position index numbers of RGBlock, die, plane and / or WL in the read data range calculation model are traversed to calculate the second data reading position corresponding to the test data stored in the comprehensive test storage area corresponding to the target storage unit to be tested.

[0081] Among them, the test mode includes a comprehensive test mode and a normal test mode. If the test mode is the normal test mode, only the test data in the first data reading position is repeatedly randomly read, and the data is verified to be correct, so as to monitor the corresponding number of reads of each Block in the target storage unit to be tested when a data verification error occurs, and no comprehensive test is performed on the comprehensive test storage area corresponding to the target storage unit to be tested. If the test mode is the comprehensive test mode, it is necessary to further confirm the comprehensive test storage area corresponding to the target storage unit to be tested, and traverse any one or at least one of the RG Block position index number, die position index number, plane position index number, and WL position index number in the read data range calculation model to achieve the positioning of the comprehensive test storage area.

[0082] S15. Repeatedly perform random reading on the test data in the first data reading position and the second data reading position, and verify whether the data is correct, so as to monitor the corresponding read times of each block in the target storage unit to be tested and the corresponding comprehensive test storage area when a data verification error occurs.

[0083] The SSD read disturbance characteristic test method provided by the embodiment of the present invention can comprehensively and accurately analyze the Nand Flash read disturbance characteristics at the SSD level, can reuse the SSD development environment, save development resources, and take advantage of the SSD's own advantages to achieve fast testing speed, a sufficient number of tested dies, blocks, WLs, and pages, and collect sufficiently comprehensive Read Disturb characteristic data. Further, the present invention can accurately locate the granularity of Die, Plane, Block, Wordline, and Page to conduct Read Disturb characteristic research, so as to guide the design of the firmware's processing flow for Read Disturb and the definition of Read Disturb thresholds based on the research results.

[0084] The read data range calculation model in the embodiment of the present invention is specifically:

[0085] X*s_rgblk+Z*(Q*N+Q)*a+Q*Y*a+G*a+M*a / S;

[0086] Among them, * represents a multiplication operation, X is the position index number of the RG Block where the target storage unit to be tested is located, Y is the position index number of the Die where the target storage unit to be tested is located, G is the position index number of the plane where the target storage unit to be tested is located, Z is the position index number of the WL where the target storage unit to be tested is located, M is the position index number of the page where the target storage unit to be tested is located, and when the model is used, the position index number of the storage unit with a granularity level lower than the granularity level to which the storage unit to be tested belongs is set to 0, s_rgblk is the amount of data written by the RG Block, N is the total number of Dies included in the SSD to be tested, a is the amount of data written in each layer of WL, Q is the number of planes included in each Die, and S is the number of pages included in each layer of WL.

[0087] In the embodiment of the present invention, Figure 2 and Figure 3 Take the SSD shown in the figure as an example. Each Die includes 2 planes and each WL layer includes 18 pages. The calculation model of the read data range can be obtained as follows:

[0088] X*s_rgblk+Z*(2N+2)*a+2Y*a+G*a+M*a / 18.

[0089] Specifically, it is understood that the number of planes included in each Die and the number of pages included in each layer of WL can be confirmed according to the actual structure of Nand Flash in the SSD, and the present invention does not limit this.

[0090] In order to clearly explain the technical solution of the present invention, the present invention makes a stipulation on the quantities needed in the explanation process. In a given SSD, the amount of data that can be written to the entire RG Block in the standard firmware is fixed. Assume that the amount of data that can be written to the entire RGBlock is s_rgblk, the amount of data that can be written to a layer of WL in the RG Block is s_rgwl, and the amount of data written to the RG page in the RG Block is s_rgpage. Usually, the amount of data written in a TLC Nand Flash is 3 pages, that is, 3*s_rgpage. The following is an explanation of the study of the read interference characteristics of the full Block and the open Block.

[0091] In one embodiment of the present invention, the sequential writing method in step S11 for performing the test data writing operation on the RG Block in the SSD to be tested includes the following steps which are not shown in the drawings:

[0092] S111. Determine the test category of the current read disturbance test according to the test request. The test category includes a full block test when the RGBlock is full of data and an open block test when the RGBlock is not full of data. The following describes the research on the read disturbance characteristics of the full block and the open block respectively.

[0093] Specifically, the test request pre-sets the test category of the current read disturbance test.

[0094] S112: When the test type is a full block test, a test data write operation is performed on each RG Block in the SSD to be tested in a sequential write manner until the user data storage space of the entire SSD is filled.

[0095] Figure 4 The state diagram shows that the entire RG Block is filled with data, in which a blk on a plane in a Die of a group of RG Blocks is selected for illustration, and the RG Block is in the full Block state.

[0096] Specifically, when the full block test data write operation is executed, first check whether the SSD to be tested is formatted, which is mainly used to put the disk in an empty disk state. For sample diversity, multiple SSDs can be selected for simultaneous testing. First, fill the entire SSD user data space in a sequential manner. Because the storage space of the SSD is fixed, usually an RG Block will be written only when one RG Block is full in the SSD. Under the premise of pre-configuring the firmware of the SSD to be tested, the total amount of data written will correspond to each specific RG Block in the SSD. Assuming that the total amount of data written to the entire SSD is s_total, and the amount of data of each rg blk is s_rgblk, simply calculate that the number of RG Blocks written is [s_total / s_rgblk], and the square brackets indicate that the result is an integer. Then from RG Block0 to RG Block [s_total / s_rgblk], and then to the specific Die, Block, WL, page can be indexed normally. For example Figure 5 Assuming that in an RG Block, the amount of data that can be stored in each layer of WL of a Block on each plane is represented by a, then the data offset of the entire RG Block corresponding to each Die and each Block (represented by plane) and each layer of WL has been shown in the figure. The specific data arrangement relationship is related to the firmware processing strategy. The figure only demonstrates the usual data layout method. If the data layout method is other methods, the actual corresponding relationship is clear.

[0097] S113, when the test category is an open Block test, a test data write operation is performed on some RG Blocks in the SSD to be tested in a sequential writing manner, and a data amount less than the size of one RG Block is written to the last RG Block in the selected part of the RG Blocks, so that the status of all blocks contained in the RG Block where the test data write operation is performed last is an open Block. Specifically, the test data write operation is performed on some RG Blocks in the SSD to be tested in a sequential writing manner, including: setting Y in the read data range calculation model to N, setting G to 1, and calculating the test data write amount during the open Block test by arbitrarily adjusting the values ​​of X, Z, and M; wherein, when calculating the test data write amount, Z and M in the read data range calculation model cannot be 0 at the same time.

[0098] Specifically, when the open block test data write operation is executed, first check whether the SSD to be tested is formatted, which is mainly used to put the disk in an empty state. For sample diversity, multiple SSDs can be selected for simultaneous testing. First, write part of the data to the SSD to be tested in a sequential manner. Assuming that each Die includes 2 planes and one WL corresponds to 18 pages, the amount of data written can be changed by changing the values ​​of X, Z, and M in the formula X*s_rgblk+Z*(2N+2)*a+2Y*a+G*a+M*a / 18. Y is fixed to N, G is fixed to 1, 0≤X≤([s_total / s_rgblk]-2), Y=N, 0≤Z≤30, G=1, 0≤M≤17, and Z and M cannot be 0 at the same time. From the limitation of the parameters of the formula itself, the last RG Block written is not full of data, and the status of all blocks contained in this RGBlock is open block.

[0099] In one embodiment of the present invention, when the test category is a full Block test, the first data reading position corresponding to the test data stored in the target storage unit to be tested is calculated according to the read data range calculation model, including: when the granularity level of the target storage unit to be tested is RG Block, the first data reading position is the data amount of the entire RG Block corresponding to the position index number; when the granularity level of the target storage unit to be tested is Block, the Z value in the read data range calculation model is traversed within the entire value range, and the data reading position obtained by each traversal is accumulated as the first data reading position; when the granularity level of the target storage unit to be tested is page, the Z value in the read data range calculation model is traversed in the WL where the target storage unit to be tested is located and / or at least one WL adjacent to the current WL above and below, and the data reading position obtained by each traversal is accumulated as the first data reading position.

[0100] Furthermore, in order to achieve comprehensive performance testing, the position index numbers of RGBlock, die, plane and / or WL in the read data range calculation model are traversed to calculate the second data reading position corresponding to the test data stored in the comprehensive test storage area corresponding to the target storage unit to be tested, including: when the granularity level of the target storage unit to be tested is RG Block or Block, X, Y, G, Z in the read data range calculation model are traversed, and the data reading positions obtained by each traversal are accumulated as the second data reading position; when the granularity level of the target storage unit to be tested is page, the value of Z is kept unchanged, X, Y, G in the read data range calculation model are traversed, and the data reading positions obtained by each traversal are accumulated as the second data reading position.

[0101] Specifically, the granularity levels of the storage units to be tested are different, and the full block read disturbance test includes two situations: block and single page read disturbance.

[0102] In the process of block read interference test in full block, assuming that the RG Block to be located is X, then in order to read enough blocks, that is, multiple blocks contained in the entire RG Block will be full block read, we will choose to read the data volume of the entire RG Block. According to the read data range calculation model, the read data range is from X*s_rgblk to (X+1)*s_rgblk. Repeated random reads are performed in this data interval, and the data is verified to be correct. In this way, it is possible to accurately monitor the number of times each blk is read before a data verification error occurs. If it is necessary to locate a block in a die of a specific RG Block, then it is assumed that the located die is Y, the located plane is G, and the located WL is Z. The position of the located read data is from X*s_rgblk+Z*(2N+2)*a+2Y*a+G*a to X*s_rgblk+Z*(2N+2)*a+2Y*a+(G+1)*a-1. If all WLs are traversed and the values ​​of X, Z, Y, and G are fixed, it is only necessary to traverse the value of Z from 0 to 31 to implement the read interference test of the full Block of a Block in a Die of a certain RG Block. In order to accurately locate the Block in Die for full Block read disturbance test, the following will explain how to conduct a comprehensive read disturbance test study. A comprehensive read disturbance test is to perform a read disturbance test on the Block in each Die in all RG Blocks with written data. The corresponding relationship between the amount of written data and the Block and WL in Die has been given above, such as the relationship X*s_rgblk+Z*(2N+2)*a+2Y*a+G*a. During the test process, we can achieve a comprehensive and accurate read disturbance test study of the full Block by traversing the values ​​of X, Y, Z, and G, 0≤X≤([s_total / s_rgblk]-1), 0≤Y≤N, 0≤Z≤31, 0≤G≤1.

[0103] In the single page read disturbance test process in full block, it has been explained how to locate the data range of WL in a specific Die. The data range is from X*s_rgblk+Z*(2N+2)*a+2Y*a+G*a to X*s_rgblk+Z*(2N+2)*a+2Y*a+(G+1)*a-1. Figure 3The specific correspondence between WL and page has been given in. Simply put, if the amount of data in WL is further refined, assuming that a WL corresponds to the data amount of 18 pages, it can be simply considered that the data amount a of the entire WL can be divided into 18 equal parts, which correspond to specific pages. The actual correspondence between the data layout method and the page in WL is related to the firmware design. The description of the present invention is only used for demonstration. No matter how the firmware is designed, the correspondence between the data layout method and the page in WL is clear. Assuming that the page to be located is M, 0≤M≤17, then the correspondence between the data and the page is X*s_rgblk+Z*(2N+2)*a+2Y*a+G*a+M*a / 18. Because the read interference mainly affects the data in the page of the upper and lower adjacent Strings of the corresponding String in the WL where the page is read, such as Figure 6 In the example, the page in String1, WL9 is read, so the data in the corresponding pages in String1, WL8 and WL10 are affected by the largest read disturbance. In the actual process, in order to improve the parallelism of the read disturbance test, random read operations are performed on all data ranges corresponding to a certain layer of WL in the entire RG Block. This can be achieved by traversing the value of Z in the above formula.

[0104] Furthermore, by performing random read operations on all data ranges corresponding to a certain layer of WL in the entire RG Block, the single page read interference test research of the full Block can be realized. In the process of performing random read operations on the data range in a certain layer of WL, because the data in the page contained in the upper and lower adjacent strings of the corresponding string in the WL where the read page is located is affected, that is, the target read page and the actually affected page are different, it is necessary to perform data verification on all data in the target Block in parallel during the single page read interference test. If it is a Linux operating system, the data verification work of the target Block in parallel can be realized by multi-threading. The data indexing method in the target Block can refer to the content of the full Block read interference test research.

[0105] Furthermore, only one WL can be selected for the study of single page read disturbance for each block. In order to comprehensively study the single page read disturbance characteristics, single page read disturbance tests are performed on all blocks with written data. This can also be achieved by traversing X, Y, and G in the formula X*s_rgblk+Z*(2N+2)*a+2Y*a+G*a, where the value of Z remains unchanged, 0≤X≤([s_total / s_rgblk]-1), 0≤Y≤N, 0≤Z≤31, and 0≤G≤1.

[0106] Furthermore, in order to cover the single page read operations of all WLs, the above steps can be repeated, and the Z value selected each time is ensured to be different.

[0107] In one embodiment of the present invention, when the test category is an open Block test, the calculation of the first data read position corresponding to the test data stored in the target storage unit to be tested according to the read data range calculation model includes: selecting a page in the open Block contained in the last RG Block that is not full of data as the target storage unit to be tested; traversing the Z value in the read data range calculation model in the WL where the target storage unit to be tested is located and / or at least one WL adjacent to the current WL above and below, and accumulating the data read position obtained by each traversal as the first data read position; further, when the test category is an open Block test, the traversal of the position index numbers of the RGBlock, die, plane and / or WL in the read data range calculation model to calculate the second data read position corresponding to the test data stored in the comprehensive test storage area corresponding to the target storage unit to be tested includes: traversing the Z value in the read data range calculation model within the entire value range, and accumulating the data read position obtained by each traversal as the second data read position.

[0108] like Figure 7 As shown in the figure, the data on a plane in a die in the last RG Block is arranged in this way (the block data contained in all dies in this RGBlock is arranged in this way), and the data is finally written to WL20, String2. In a test process, X, Z, and M take clear and fixed values. For the convenience of the following description, X is now X1, Z is Z1, and M is M1.

[0109] Specifically, during the single page read disturbance test of the open block, the open block contained in the last RG block that is not fully written with data is selected to perform the single page read disturbance test, such as Figure 8 As shown in the figure, the WL selected for the read disturbance test is the page in String1 in Z1-1 for the read disturbance test. Similarly, in order to test the parallelism, a certain layer of WL of all open blocks contained in the entire RG Block can be selected for testing. Figure 8 Shown in FIG. 1 is the selection of layer Z1-1.

[0110] During the random read operation on the data range in a certain layer of WL, because the data in the page contained in the upper and lower adjacent Strings of the corresponding String in the WL where the read page is located is affected, that is, the target read page and the actually affected page are different. It is necessary to perform data verification on all the data in the target OpenBlock in parallel during the single page read interference test. If it is a Linux operating system, the data verification work on the data in the target Open Block can be achieved in parallel through multi-threading. The data indexing method in the target Open Block can refer to the content of the read interference test research of the full Block. In the open Block, only the part of the written data needs to be located.

[0111] For each open block, only one WL can be selected for the study of single page read disturbance. In order to comprehensively study the single page read disturbance characteristics of the open block, when the WL layer written is the Z1 layer, the test scenario of reading the Z1-2 layer can be added. Just repeat the above steps. Similarly, the reading of the open block Z1-3 layer, Z1-4 layer, and so on can be realized.

[0112] Further, during the single page read interference test of the open Block, the method further includes: keeping X and M in the read data range calculation model when calculating the test data write amount, setting Y to N, and G to 1, traversing the Z value to respectively calculate the test data write amount corresponding to different Z values; selecting the page in the open Block contained in the last RG Block of the SSD that is not full of data when the test data write operation is performed with the test data write amount corresponding to different Z values ​​as the target storage unit to be tested corresponding to the Z value; when calculating the first data reading position corresponding to the test data stored in each current target storage unit to be tested, traversing the Z value in the read data range calculation model in the WL where the target storage unit to be tested is located and / or at least one WL adjacent to the current WL above and below, and accumulating the data reading positions obtained in each traversal as the first data reading positions corresponding to different Z values; or

[0113] When calculating the test data write amount, keep M in the read data range calculation model, Y is set to N, G is set to 1, traverse the X and Z values ​​to respectively calculate the test data write amounts corresponding to different Z values ​​under different X values; select the page in the open block contained in the last RGBlock of the SSD that is not fully written with data when the test data write operation is performed with the test data write amounts corresponding to different Z values ​​as the target storage unit to be tested corresponding to the Z value; when calculating the first data read position corresponding to the test data stored in each current target storage unit to be tested, traverse the Z value in the read data range calculation model in the WL where the target storage unit to be tested is located and / or at least one WL adjacent to the current WL above and below, and accumulate the data read positions obtained in each traversal as the first data read positions corresponding to different Z values.

[0114] Specifically, in the single page read interference test of the open Block mentioned above, the reading of Z1-1 layer, Z1-2 layer, Z1-3 layer, etc. are all based on the open Block in the last RG Block, the total data writing amount remains unchanged, and the WL where the last written RG Block stays remains unchanged. In order to test enough situations, the X value in the formula X*s_rgblk+Z*(2N+2)*a+2Y*a+G*a+M*a / 18 can be fixed, Y is fixed to N, G is fixed to 1, and M value is fixed, that is, these quantities are kept the same as in step 1, and then by traversing the value of Z, 0≤Z≤30, the last written data can be achieved to stay on different WLs, and then the contents in the above steps are repeated, so that the last written WL of the open Block in the last RG Block is changed.

[0115] Furthermore, the RG Block number corresponding to the last open Block in the above steps remains unchanged. Only the positions of the WL to which the last data is written and the WL read by the single page change. Only multiple WLs in one Block are tested on each plane in each Die. In order to cover enough RG Blocks, repeat the above steps. When writing test data, change the X value in the formula X*s_rgblk+Z*(2N+2)*a+2Y*a+G*a+M*a / 18 to cover enough Blocks.

[0116] The above introduces the read disturbance test of full block and single page and single page of open block respectively. By comparing the amount of written data with the corresponding relationship between RG Block, Die, WL and Page in SSD, the accurate location of read disturbance test can be selected. By traversing the operable variables in the corresponding relationship, the entire block in SSD can be covered. At the same time, with the advantage of SSD parallel high-speed operation, the read disturbance characteristics of Nand Flash can be studied comprehensively, accurately and quickly, and finally the firmware design can be guided.

[0117] In addition, an embodiment of the present invention further provides a read disturbance characteristic testing device for an SSD, and the device includes a functional module for implementing the above-mentioned read disturbance characteristic testing method for an SSD. Fig. 9 The structure diagram of the read disturbance characteristic testing device of the SSD according to the embodiment of the present invention is schematically shown. Fig. 9 The SSD read disturbance characteristic test device according to the embodiment of the present invention specifically includes a data writing module 901, a model building module 902, a first address determination module 903, a second address determination module 904 and a data read test module 905, wherein:

[0118] The data writing module 901 is used to perform a test data writing operation on the RGBlock in the SSD to be tested in a sequential writing manner when a test request is received, wherein the physical blocks Block located on different planes in each logical unit die in the SSD to be tested constitute multiple RG Blocks;

[0119] A model building module 902 is used to build a read data range calculation model applicable to storage units to be tested of different granularities based on the physical position distribution structure of each RG Block, the word line WL distribution structure of each Block in the RG Block, and the physical page page distribution structure in a WL. The read data range calculation model is used to calculate the data read position corresponding to the test data stored in the storage unit to be tested based on the position index number of the RG Block, die, plane, WL, page and the data storage capacity of the storage units of different granularities;

[0120] A first address determination module 903 is used to obtain a target storage unit to be tested and a test mode indicated in the test request, and calculate a first data read position corresponding to the test data stored in the target storage unit to be tested according to a read data range calculation model;

[0121] A second address determination module 904 is used for traversing the position index numbers of the RG Block, die, plane and / or WL in the read data range calculation model when the test mode is a comprehensive test mode, so as to calculate a second data reading position corresponding to the test data stored in the comprehensive test storage area corresponding to the target storage unit to be tested;

[0122] The data read test module 905 is used to repeatedly perform random reads on the test data in the first data read position and the second data read position, and verify whether the data is correct, so as to monitor the corresponding read times of each block in the target storage unit to be tested and the corresponding comprehensive test storage area when a data verification error occurs.

[0123] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0124] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0125] In addition, an embodiment of the present invention further provides a solid state drive, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the above-mentioned method for testing the read disturbance characteristics of the SSD when executing the computer program. Figure 1 Alternatively, when the processor executes the computer program, the functions of each module / unit in the above-mentioned SSD read disturbance characteristic test device embodiment are realized, for example Fig. 9 The data writing module 901 , the model building module 902 , the first address determining module 903 , the second address determining module 904 and the data reading test module 905 are shown.

[0126] The SSD read disturbance characteristic test method and device provided by the embodiment of the present invention can comprehensively and accurately analyze the Nand Flash read disturbance characteristics at the SSD level, can reuse the SSD development environment, save development resources, and take advantage of the SSD's own advantages to achieve fast testing speed, a sufficient number of tested dies, blocks, WLs, and pages, and collect sufficiently comprehensive Read Disturb characteristic data. Further, the present invention can accurately locate the granularity of Die, Plane, Block, Wordline, and Page to conduct Read Disturb characteristic research, so as to guide the design of the firmware's processing flow for Read Disturb and the definition of Read Disturb thresholds based on the research results.

[0127] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0128] In addition, those skilled in the art will appreciate that, although some embodiments herein include certain features included in other embodiments but not other features, the combination of features of different embodiments is meant to be within the scope of the present invention and form different embodiments. For example, any one of the claimed embodiments may be used in any combination.

[0129] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for testing read disturbance characteristics of an SSD, characterized in that: The method comprises: When a test request is received, the test data write operation is performed on the RG Block in the SSD to be tested in a sequential write manner, and the physical blocks Blocks located on different planes in each logical unit die in the SSD to be tested form multiple RG Blocks; Based on the physical position distribution structure of each RG Block, the word line WL distribution structure of each Block in the RG Block, and the physical page page distribution structure in a WL, a read data range calculation model applicable to storage units to be tested of different granularities is constructed. The read data range calculation model is used to calculate the data read position corresponding to the test data stored in the storage unit to be tested based on the position index number of the RG Block, die, plane, WL, page and the data storage capacity of the storage units of different granularities; Obtaining a target storage unit to be tested and a test mode indicated in the test request, and calculating a first data reading position corresponding to the test data stored in the target storage unit to be tested according to a read data range calculation model; If the test mode is a comprehensive test mode, traversing the position index numbers of the RG Block, die, plane and / or WL in the read data range calculation model to calculate a second data reading position corresponding to the test data stored in the comprehensive test storage area corresponding to the target storage unit to be tested; The test data in the first data read position and the second data read position are repeatedly randomly read and the data is verified to be correct, so as to monitor the corresponding read times of each block in the target storage unit to be tested and the corresponding comprehensive test storage area when a data verification error occurs.

2. The method according to claim 1, characterized in that Before performing a test data write operation on the RGBlock in the SSD to be tested in a sequential write manner, the method further includes: The firmware of the SSD to be tested is pre-configured. The test pre-configuration content includes: prohibiting the execution of background data garbage collection and wear leveling operations in the firmware processing flow, adding an error reporting function in the firmware processing flow to report error information to the host when reading a storage unit that cannot be corrected, and prohibiting the execution of data refresh operations in the current state; Format the SSD to be tested to make it an empty disk.

3. The method according to claim 1, characterized in that The test data writing operation performed by sequential writing in the RGBlock of the SSD to be tested includes: Determine the test category of the current read disturbance test according to the test request, where the test category includes a fullBlock test when the RG Block is full of data and an open Block test when the RG Block is not full of data; When the test type is full block test, the test data is written to each RG Block in the SSD to be tested in a sequential writing manner until the user data storage space of the entire SSD is filled; When the test category is an open block test, the test data write operation is performed on some RG blocks in the SSD to be tested in a sequential write manner, and the amount of data less than the size of one RGBlock is written to the last RG Block in the selected part of the RG Blocks, so that the status of all blocks contained in the RG Block where the test data write operation is performed last is an open block.

4. The method according to claim 3, characterized in that The reading data range calculation model is: X*s_rgblk+Z*(Q*N+Q)*a+Q*Y*a+G*a+M*a / S; Among them, X is the location index number of the RG Block where the target storage unit to be tested is located, Y is the location index number of the Die where the target storage unit to be tested is located, G is the location index number of the plane where the target storage unit to be tested is located, Z is the location index number of the WL where the target storage unit to be tested is located, M is the location index number of the page where the target storage unit to be tested is located, and when the model is used, the location index number involved in the storage unit with a granularity level lower than the granularity level to which the storage unit to be tested belongs is set to 0, s_rgblk is the amount of data written by the RG Block, N is the total number of Dies included in the SSD to be tested, a is the amount of data written in each layer of WL, Q is the number of planes included in each Die, and S is the number of pages included in each layer of WL.

5. The method according to claim 4, characterized in that When the test type is a full block test, the step of calculating the first data read position corresponding to the test data stored in the target storage unit to be tested according to the read data range calculation model includes: When the granularity level of the target storage unit to be tested is RG Block, the first data reading position is the data amount of the entire RG Block corresponding to the position index number; When the granularity level of the target storage unit to be tested is Block, the Z value in the read data range calculation model is traversed within the entire value range, and the data reading position obtained in each traversal is accumulated as the first data reading position; When the granularity level of the target storage unit to be tested is page, the Z value in the read data range calculation model is traversed in the WL where the target storage unit to be tested is located and / or at least one WL adjacent to the current WL above and below, and the data reading position obtained in each traversal is accumulated as the first data reading position.

6. The method according to claim 5, characterized in that The traversing the position index numbers of RGBlock, die, plane and / or WL in the read data range calculation model to calculate the second data reading position corresponding to the test data stored in the comprehensive test storage area corresponding to the target storage unit to be tested includes: When the granularity level of the target storage unit to be tested is RG Block or Block, traverse X, Y, G, and Z in the read data range calculation model, and accumulate the data read positions obtained in each traversal as the second data read position; When the granularity level of the target storage unit to be tested is page, the value of Z is kept unchanged, X, Y, and G in the read data range calculation model are traversed, and the data reading positions obtained in each traversal are accumulated as the second data reading position.

7. The method according to claim 4, characterized in that The performing of the test data writing operation on part of the RG Blocks in the SSD to be tested in a sequential writing manner includes: Set Y in the read data range calculation model to N, set G to 1, and calculate the test data write amount during the open block test by arbitrarily adjusting the values ​​of X, Z, and M; When calculating the test data write amount, Z and M in the read data range calculation model cannot be 0 at the same time.

8. The method according to claim 7, characterized in that When the test type is an open block test, the step of calculating the first data read position corresponding to the test data stored in the target storage unit to be tested according to the read data range calculation model includes: Select the page in the open block contained in the last RG Block that is not full of data as the target storage unit to be tested; Traversing the WL where the Z value in the read data range calculation model is located and / or at least one WL adjacent to the current WL above and below the target storage unit to be tested, and accumulating the data reading position obtained in each traversal as the first data reading position; When the test category is an open Block test, traversing the position index numbers of the RG Block, die, plane and / or WL in the read data range calculation model to calculate a second data read position corresponding to the test data stored in the comprehensive test storage area corresponding to the target storage unit to be tested includes: The Z value in the data read range calculation model is traversed within the entire value range, and the data read position obtained in each traversal is accumulated as the second data read position.

9. The method according to claim 7, characterized in that: The method further comprises: Keep X and M in the read data range calculation model when calculating the test data write amount, set Y to N, and set G to 1, and traverse the Z value to respectively calculate the test data write amount corresponding to different Z values; select the page in the openBlock contained in the last RG Block of the SSD that is not full of data when the test data write operation is performed with the test data write amount corresponding to different Z values ​​as the target storage unit to be tested corresponding to the Z value; when calculating the first data read position corresponding to the test data stored in each current target storage unit to be tested, traverse the Z value in the read data range calculation model in the WL where the target storage unit to be tested is located and / or at least one WL adjacent to the current WL above and below, and accumulate the data read positions obtained in each traversal as the first data read positions corresponding to different Z values; or When calculating the test data write amount, M in the read data range calculation model is kept, Y is set to N, and G is set to 1, and X and Z values ​​are traversed to respectively calculate the test data write amounts corresponding to different Z values ​​under different X values; when the test data write amount corresponding to different Z values ​​is used to perform the test data write operation, a page in an open block contained in the last RG Block of the SSD that is not fully written with data is selected as the target storage unit to be tested corresponding to the Z value; when calculating the first data read position corresponding to the test data stored in each current target storage unit to be tested, the Z value in the read data range calculation model is traversed in the WL where the target storage unit to be tested is located and / or at least one WL adjacent to the current WL above and below, and the data read positions obtained in each traversal are accumulated as the first data read positions corresponding to different Z values.

10. A read disturbance characteristic testing device for an SSD, the device comprising: A data writing module is used to perform a test data writing operation on an RG Block in the SSD to be tested in a sequential writing manner upon receiving a test request, wherein the physical blocks Blocks located on different planes in each logical unit die in the SSD to be tested constitute multiple RG Blocks; A model building module is used to build a read data range calculation model applicable to storage units to be tested of different granularities based on the physical position distribution structure of each RG Block, the word line WL distribution structure of each Block in the RG Block, and the physical page page distribution structure in a WL. The read data range calculation model is used to calculate the data read position corresponding to the test data stored in the storage unit to be tested based on the position index number of the RG Block, die, plane, WL, page and the data storage capacity of the storage units of different granularities; A first address determination module, configured to obtain a target storage unit to be tested and a test mode indicated in a test request, and calculate a first data reading position corresponding to the test data stored in the target storage unit to be tested according to a read data range calculation model; a second address determination module, configured to, when the test mode is a comprehensive test mode, traverse the position index numbers of the RG Block, die, plane and / or WL in the read data range calculation model to calculate a second data reading position corresponding to the test data stored in the comprehensive test storage area corresponding to the target storage unit to be tested; The data read test module is used to repeatedly perform random reading on the test data in the first data read position and the second data read position, and verify whether the data is correct, so as to monitor the corresponding number of reads of each block in the target storage unit to be tested and the corresponding comprehensive test storage area when a data verification error occurs.

Citation Information

Patent Citations

  • Massive data storage method based on file granularity

    CN104657459A

  • Reading voltage calculation in solid-state storage devices

    CN105324819A

  • Method and device improving SSD read-retry efficiency and computer device

    CN108962320A

  • Read interference test method and device, computer readable storage medium and electronic equipment

    CN112185453A

  • Compute an optimized read voltage

    CN113628663A

Cited By

  • Data recovery test method, device and equipment based on read interference and storage medium

    CN121662136A