CN114360630B - Batch test method and system for SSD (solid State disk) - Google Patents

Batch test method and system for SSD (solid State disk) Download PDF

Info

Publication number
CN114360630B
CN114360630B CN202210080825.3A CN202210080825A CN114360630B CN 114360630 B CN114360630 B CN 114360630B CN 202210080825 A CN202210080825 A CN 202210080825A CN 114360630 B CN114360630 B CN 114360630B
Authority
CN
China
Prior art keywords
test
nand flash
end processor
batch
classification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210080825.3A
Other languages
Chinese (zh)
Other versions
CN114360630A (en
Inventor
陈力
薛红军
刘昆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dera Technology Co Ltd
Original Assignee
Beijing Dera Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dera Technology Co Ltd filed Critical Beijing Dera Technology Co Ltd
Priority to CN202210080825.3A priority Critical patent/CN114360630B/en
Publication of CN114360630A publication Critical patent/CN114360630A/en
Application granted granted Critical
Publication of CN114360630B publication Critical patent/CN114360630B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The invention relates to a batch test method and a system of SSD solid state disks, comprising the following steps: s1, the front-end processor acquires the test parameters, performs test configuration according to the test parameters, informs the back-end processor to perform batch test on the NAND Flash media in the SSD solid state disk of the batch, counts error information generated in the test process, and determines the test strategy of the NAND Flash media of the next batch according to the statistical information; s2, when the back-end processor performs batch testing, the front-end processor tests DDR particles and energy storage capacitors in the SSD solid state disk. The invention can greatly improve the testing efficiency.

Description

Batch test method and system for SSD (solid State disk)
Technical Field
The invention relates to the technical field of SSD solid state disks, in particular to a batch test method and a batch test system for SSD solid state disks.
Background
The SSD solid state disk needs to be subjected to pressure test in the large-batch production process, and the purpose of the SSD solid state disk is mainly as follows: firstly, selecting peripheral devices which cannot meet the quality requirement, such as DDR particles and energy storage capacitors; second, some BLOCK with unsatisfactory quality in NAND FLASH should be selected by pressure test to ensure the product keeps stable performance during the life cycle. Third, the time on the SSD production line is precious, and how to improve the efficiency of the production is very important.
Disclosure of Invention
In order to solve the technical problems or at least partially solve the technical problems, the invention provides a batch test method and system for SSD solid state disks.
The invention provides a batch test method of SSD (solid state disk), which comprises the following steps:
s1, the front-end processor obtains test parameters, performs test configuration according to the test parameters, informs the back-end processor to perform batch test on the NAND Flash media in the SSD solid state disk of the batch, counts error information generated in the test process, and determines the test strategy of the NAND Flash media of the next batch according to the statistical information;
s2, when the back-end processor performs batch testing, the front-end processor tests DDR particles and energy storage capacitors in the SSD solid state disk.
The invention also provides a batch test system of the SSD solid state disk, which comprises the following steps: a front-end processor and a back-end processor, wherein:
the front-end processor is to: acquiring test parameters, performing test configuration according to the test parameters and informing a back-end processor;
the back-end processor is to: after receiving the notification of the front-end processor, performing batch test on the NAND Flash media in the SSD solid state disk of the batch, counting error information generated in the test process, and determining a test strategy of the NAND Flash media of the next batch according to the statistical information;
the front-end processor is further configured to: and testing the DDR particles and the energy storage capacitor in the SSD when the back-end processor performs batch testing.
The embodiment provides a batch test method and a system of SSD solid state disks, which are realized by a front-end processor and a back-end processor, and an offline batch production pressure test is realized without connecting a host to perform IO operation. And because the front end and the rear end are separated and play the same role, when the NAND FLASH medium test is carried out on the rear end processor, the front end processor can pressure test other devices, and the test efficiency is greatly improved. Moreover, error data generated in the process of reading and writing in the test process is counted, and one or more test operations are selectively performed in the subsequent test process of some loops, so that the subsequent test efficiency can be further improved, the time of pressure test in batch production can be shortened on the premise of ensuring the quality requirement, the complexity of batch production tools can be reduced, and the reliability of products can be improved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and together with the description, serve to explain the principles of the invention.
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without inventive exercise.
Fig. 1 is a schematic flowchart of a batch test method of an SSD solid state disk in an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be obtained by a person skilled in the art without any inventive step based on the embodiments of the present invention, are within the scope of the present invention.
The embodiment of the invention provides a batch test method of SSD solid state disks, and referring to FIG. 1, the method comprises the following steps of S1-S2:
s1, the front-end processor acquires the test parameters, performs test configuration according to the test parameters, informs the back-end processor to perform batch test on the NAND Flash media in the SSD solid state disk of the batch, counts error information generated in the test process, and determines the test strategy of the NAND Flash media of the next batch according to the statistical information;
and S2, when the back-end processor performs batch testing, the front-end processor tests the DDR particles and the energy storage capacitor in the SSD solid state disk.
In a specific implementation, the test parameters may include the number of cycles of the test process, the test operations to be performed in each cycle, and the type of test data; the test operation required to be executed in each cycle is determined according to the test strategy determined in the test of the NAND Flash media of the previous batch.
In an actual scenario, the system is initialized after the system of the front-end processor is started, and the back-end processor can be started at this time. The front-end processor will then read the test data from Nor Flash, which is the medium used to store the configuration data.
In the test parameters, the loop times are configured in advance, the specific size may be set according to needs, for example, set to 500, and the loop times may also be referred to as loop numbers, where one loop is one loop. The test operations to be performed in each cycle may be read, write, erase operations. Different cycles may correspond to different test operations, if the same NAND Flash medium is tested in the first batch, that is, the NAND Flash medium is not tested in the previous batch, and is a newly added NAND Flash medium, and the test operation in each cycle includes a read operation, a write operation, and an erase operation. If the batch is not the first batch and the batch test is performed on the NAND Flash media before, the erasing operation may not be performed during the batch test, and whether the reading operation and the writing operation are performed or not needs to look at the test strategy determined by the batch for each cycle.
That is, the testing operation of the NAND Flash media of the first lot includes: performing a write operation, a read operation, and an erase operation; the testing operation of the NAND Flash media of the non-first batch is determined according to the testing strategy determined by the NAND Flash media of the previous batch during testing.
It can be understood that, before the read operation is performed, the write operation needs to be performed, so that the read operation needs to be included in the test operation set for one cycle, and the write operation needs to be included before the read operation.
Likewise, determining the testing strategy of the next batch of NAND Flash media in a cycle in S1 may include: if a read operation is performed, a write operation is performed prior to the read operation. Moreover, the testing strategy of the NAND Flash media of the first batch in one cycle comprises the following steps: performing a write operation, a read operation, and an erase operation; in one cycle, the test strategy for the NAND Flash media of the non-first batch is the test strategy determined by the NAND Flash media of the last batch during testing.
Besides the parameters, the test parameters can also comprise test temperature, because different temperatures can cause different influences on the NAND Flash medium, and after the test temperature is obtained, the influence factors of the NAND Flash medium with high error rate can be conveniently analyzed.
It can be understood that, in the test operation, different test data types, i.e. Pattern types, may be adopted for different chunks or group pages, etc., and different test data types have different data generation rules, so that test data with different rules may be generated according to different test data types.
After the test parameters are obtained, the test parameters can be configured into variables for controlling the test parameters, so that the configuration of the test parameters is realized, and a back-end processor is informed that the test can be started.
In specific implementation, the obtaining, by the front-end processor, the test parameters in S1, performing test configuration according to the test parameters, notifying the back-end processor to perform batch test on the NAND Flash media in the SSD solid state disks of the batch, and counting error information generated in the test process may include: and circularly executing a test process according to the circulation times, wherein the test process of each circulation comprises the following steps: and testing the NAND Flash media in each SSD solid state disk of the batch, wherein if the test operation corresponding to the cycle in the test parameters comprises a write operation, the testing process of the NAND Flash media in each SSD solid state disk in the cycle comprises the following steps of S11-S13.
That is to say, the testing process of the number of cycles is executed on the NAND Flash media in all SD solid state disks of the batch, the NAND Flash media in all SD solid state disks need to be tested in each cycle, the testing operations corresponding to different cycles may be different, and if the testing operation corresponding to one cycle includes a write operation, the following steps are included for the NAND Flash media in each SSD solid state disk in the cycle:
s11, aiming at one chunk, the front-end processor generates corresponding test data according to the corresponding test data type in the test parameters, writes the test data into DDR particles, generates a corresponding write command according to the command parameters of write operation, and sends the write command to the back-end processor;
the NAND Flash medium comprises a plurality of blocks, and one block comprises a plurality of blocks. One chunk, namely one Raid Group Block, and one Block, namely Block.
Here, a write operation is performed in units of one chunk, and first, corresponding test data is generated for one chunk, and the test data is written into the DDR granule, that is, the DDR granule. And preparing command parameters for writing data, generating a write command according to the command parameters, and sending the write command to the back-end processor.
The command parameters may include a location to be written, a writing mode, a type of write data Block, a size of data amount, and the like.
S12, after receiving the write command, the back-end processor writes the test data in the DDR particles into the chunk according to the command parameters in the write command, records the write-failed block, and notifies the front-end processor after the write is completed;
it can be understood that the back-end processor analyzes the write command when receiving the write command to obtain the command parameters, and then performs the write operation processing according to the command parameters. If write failure occurs during write operation, error processing is required, the error block is marked as a bad block, and information such as the number of errors and the position of the error block is recorded. When the back-end processor completes a write operation, it will notify the front-end processor.
And S13, after receiving the write-in completion notification of the chunk, the front-end processor judges whether all chunks in the NAND Flash medium are written in, if not, the front-end processor returns to S11 to perform write operation on the next chunk until all chunks in the NAND Flash medium are written in, and counts the write failure times of the NAND Flash medium, wherein the NAND Flash medium comprises a plurality of chunks, and one chunk comprises a plurality of blocks.
It can be understood that, after receiving the notification of completing writing to a chunk sent by the back-end processor, the front-end processor will determine whether to complete the writing operation to all Raid Group blocks in the NAND Flash medium in the SSD hard disk in the current loop. If the Raid Group Block does not complete, the next Raid Group Block continues to be executed, the process is the same as the current write operation, that is, the process returns to S11 to execute the write operation on the next chunk until all Raid Group blocks complete the write operation.
The above process is a process of a write operation, and a process of a read operation is described below. That is, the test process of each cycle may further include: if the test operation corresponding to the cycle in the test parameters includes a read operation, the process of testing the NAND Flash media in each SSD solid state disk in the cycle further includes S14 to S16.
That is, if the test operation corresponding to one cycle includes a read operation, the following steps may be performed after the write operation is completed to implement the read operation:
s14, aiming at each group page of each chunk in the NAND Flash medium, the front-end processor generates a corresponding read command and sends the read command to the back-end processor;
the reading operation is performed in units of one group page. It can be understood that the NAND Flash medium includes a plurality of chunks, i.e., a plurality of Raid Group blocks, and one Raid Group Block includes a plurality of Group pages, i.e., a plurality of Raid Group pages.
In practice, for a group page, during a read operation, the front-end processor generates a read command according to parameters such as size, position, data type, reading mode, and position to be stored of data to be read, and then sends the read command to the back-end processor.
S15, the back-end processor reads the data in the corresponding group page according to the read command, and stores the read data in the DDR particles; recording the number of bits with read errors during reading, and classifying the read errors of a group page according to the number of the read errors in the group page, wherein the classification of the read errors comprises a first classification of the number of the read errors between 1 and 30, a second classification of the number of the read errors between 31 and 60, a third classification of the number of the read errors larger than 60 and a fourth classification of the number of the read errors; returning to S14 to perform a read operation for the next group page after the read operation for one group page is completed, until all the group pages in one chunk are completely read, and notifying the front-end processor of the completion of the read operation for the next group page;
it can be understood that, after receiving the read command, the back-end processor parses the read command to obtain the relevant parameters, and then performs the read operation according to the parameters, that is, reads and stores the data in the corresponding group of pages into the DDR particles. When reading, relevant error information is recorded, for example, the number of bits of a read error occurs in a group page, then one read error is classified according to the number of bits, and finally, after reading is finished, the number of errors in each classification can be obtained.
If the number of bits of the read errors is between 1 and 30, the read errors are classified into a first classification, that is, an error frequency is increased in the first classification. And if the number of the bits with the read errors is between 31 and 60, classifying the read errors into a second classification, namely increasing the number of the errors in the second classification. If the number of the read errors is more than 60 but not up to the UNC, the current error is classified into the third classification, that is, an error number is added in the third classification. If the number of the read errors is up to UNC, the errors are classified into a fourth class, namely, the number of the errors is increased in the fourth class.
When reading a group page, the back-end processor reads data of a Sector (the Sector is a granularity of one-time reading) into a specified DDR granule according to a relevant parameter, and reads the data and records Error Bit classification in each Frame (the Frame is a unit smaller than the Sector granularity and is a unit for recording an Error Bit) according to the type of the group page (namely SLC, MLC, TLC and QLC).
It can be understood that, in this step, the front-end processor sends the read command to the back-end processor, and the back-end processor notifies the front-end processor after completing reading the data of a Raid Group Page. And the front-end processor re-executes the steps after receiving the notification that the reading of one group page is finished, reads the next group page until all the group pages in one group block finish the reading, and then performs the next step.
And S16, after receiving the read completion notification of one chunk, the front-end processor judges whether all chunks in the NAND Flash medium are read completely, if not, the front-end processor returns to S14 to perform read operation on the next chunk until all chunks in the NAND Flash medium are read completely, and counts the read error times of the NAND Flash medium under each classification.
That is, after the front-end processor knows that the back-end processor has finished reading a chunk, it will determine whether all chunks in the NAND Flash medium have been read, and if not, re-execute the above steps to read the next chunk until all chunks in the NAND Flash medium have finished reading.
It can be understood that after all the chunks in the NAND Flash medium are read, the error times of all the group pages in all the chunks in the NAND Flash medium under the four classifications can be obtained, and the read error times under each classification can be counted to obtain the read error times of one NAND Flash medium under each classification.
Through the steps, the read error times of the NAND Flash media in all the SSD hard disks under each classification can be obtained.
Of course, in the above process, after the reading of one group page is completed, the data read in one group page may be verified, for example, the verification of the data is completed once according to the read data, the test data type and the data comparison engine. And then comparing the test data written into the corresponding group page with the test data read from the group page to obtain a verification result.
In specific implementation, if the test operation corresponding to one cycle includes an erase operation, for example, for the NAND Flash media of the first batch, the process of testing the NAND Flash media in each SSD solid state disk in the cycle further includes:
the front-end processor generates an erasing command and sends the erasing command to the back-end processor; and the back-end processor performs erasing operation on all blocks in the NAND Flash medium according to the erasing command, marks the blocks with the erasing failure as bad blocks, and replaces the bad blocks with new blocks.
Specifically, when performing an Erase operation, the front-end processor may configure an Erase command according to parameters such as a position and a data type of the Erase NAND Flash medium, and then send the Erase command to the back-end processor. The granularity of one erasing operation performed by the front-end processor is one Raid Group Block. After receiving an erasing command, the back-end processor performs erasing processing according to the relevant parameters in the erasing command. If failure occurs in the erasing operation, the corresponding Block needs to be marked as a bad Block, a new Block is taken out to replace the Block with the error, the integrity of the Raid Group Block is kept, and the number of the error is accumulated and recorded. And after the Erase processing of one Raid Group Block is finished, starting the next Raid Group Block until all the Raid Group blocks are subjected to Erase operation. At each occurrence of an Erase error, a replacement is made and the number of Erase failures is cumulatively recorded.
Regarding to the detection of the DDR particles and the energy storage capacitor, in the process of reading, writing and erasing of the back-end processor, the front-end processor is in an idle state, at the moment, pressure detection can be performed on the DDR particles and the energy storage capacitor, the error number (namely ECC) checked in the DDR particles is read, and whether capacitor discharge meets the requirements or not is checked. And if the abnormal data occur, the abnormal related data are kept in Flash, so that the analysis is convenient after the test is completed.
In a specific implementation, the determining, according to the statistical information, the testing policy of the NAND Flash media of the next batch in S1 may include:
s17, calculating the average write failure times corresponding to each circulation according to the write failure times corresponding to the NAND Flash media in each SSD solid state disk in each circulation;
for example, Loop is 100, the number of SSD solid state disks is n, and the write failure times corresponding to the NAND Flash media in each SSD solid state disk in the first cycle are: b is1,B2,......BnThen the average number of write failures corresponding to the first Loop is
Figure BDA0003485810190000091
Calculating the average write failure times P corresponding to the second Loop to the 100 th Loop respectively by using the same calculation method2,P3,......P100
S18, according to a preset first threshold, carrying out binarization processing on the average write failure times corresponding to all the loops to obtain N first values, wherein N is the loop times, and if the average write failure times corresponding to one loop are smaller than or equal to the first threshold, the first value corresponding to the loop is 0; if the average number of write failures corresponding to one cycle is greater than the first threshold, the first value corresponding to the cycle is 1;
for example, the first threshold is PthrAnd after binarization processing is carried out on the average write failure times corresponding to the ith Loop, obtaining:
Figure BDA0003485810190000101
of these, 100P 'can be obtained for 100 Loop'i
S19, selecting sliding windows with preset sizes, and if one sliding window meets a first condition, the testing strategy of the NAND Flash media of the next batch comprises the following steps: executing write operation on the circulation of the preset size of the sliding window; the first condition includes: the sum of the first values corresponding to the cycles of the preset size corresponding to the sliding window is greater than or equal to a first preset number.
For example, the predetermined size of the sliding window is 5, the first predetermined number4, window with 5 consecutive Loop's, if there are four of them write errors, i.e. P'i+P’i+1+P’i+2+P’i+3+P’i+4And if the number of the Loop is more than or equal to 4, writing operation is required to be carried out on 5 continuous loops in the next batch.
The above process is the policy adjustment according to the write operation, and the following process is the policy adjustment according to the read operation, that is, the determining the test policy of the next batch of NAND Flash media according to the statistical information in S1 may include:
s20, calculating the average number of read errors of each circulation under each classification according to the number of errors of the NAND Flash medium in each SSD solid state disk under each classification in each circulation;
for example, the average read error times R1 of the NAND Flash media in each SSD solid state disk in each cycle under the first classification can be obtained by performing arithmetic summation and averaging the error times of the NAND Flash media in each SSD solid state disk in each cycle under the first classificationi. For the second classification, in the same way, the average number of read errors R2 of the NAND Flash media in each SSD solid state disk in each cycle under the second classification can be obtainedi. For the third classification, in the same way, the average read error times R3 of the NAND Flash media in each SSD solid state disk in each cycle under the third classification can be obtainedi. For the fourth classification, the average number of read errors U of the NAND Flash media in each SSD solid state disk in each cycle under the fourth classification can be obtained in the same wayi
S21, according to the second threshold corresponding to each classification, performing binarization processing on each average read error frequency of all the cycles under the classification to obtain N second values corresponding to all the cycles under the classification; if the average number of read errors of a loop under the classification is less than or equal to a second threshold corresponding to the classification, a second value corresponding to the loop under the classification is 0; if the average number of times of reading errors of a cycle under the classification is larger than a second threshold value corresponding to the classification, a second value corresponding to the cycle under the classification is 1;
the second threshold set for the first classification is RE1thrThe second threshold set for the first classification is RE2thrThe second threshold set for the first classification is RE3thrThe second threshold set for the fourth classification is Uthr
And (3) carrying out binarization processing on the average number of read errors in the first classification aiming at the ith loop to obtain a second value of the ith loop in the first classification:
Figure BDA0003485810190000111
and (3) carrying out binarization processing on the average number of times of reading errors under the second classification aiming at the ith loop to obtain a second value of the ith loop under the second classification:
Figure BDA0003485810190000112
and (3) performing binarization processing on the average number of read errors in the third classification aiming at the ith loop to obtain a second value of the ith loop in the third classification:
Figure BDA0003485810190000113
and (3) carrying out binarization processing on the average read error times under the fourth classification aiming at the ith loop to obtain a second value of the ith loop under the fourth classification:
Figure BDA0003485810190000114
s22, calculating a third value corresponding to each cycle according to the second value of each cycle under each classification, wherein if the sum of the second values of each cycle under the first classification, the second classification and the third classification is equal to 3, the third value corresponding to each cycle is 1; otherwise, the third value corresponding to the cycle is 0;
and aiming at the ith loop, summing the second values under the previous three classifications, and calculating a third value corresponding to the ith loop according to the sum:
Figure BDA0003485810190000121
wherein the third value is 1 if the sum is equal to 3 and 0 if the sum is not equal to 3.
S23, selecting sliding windows with preset sizes, and if one sliding window meets a second condition, the testing strategy of the NAND Flash media of the next batch comprises the following steps: performing two times of reading operation on the cycle of the preset size in the sliding window; the second condition includes: the sum of the third values corresponding to the cycles of the preset size corresponding to the sliding window is greater than or equal to the first preset number.
For example, if the predetermined size is 5 and the first predetermined number is 4, then for a sliding window, there is a read error in 4 loop's, namely RE'i+RE'i+1+RE'i+2+RE'i+3+RE'i+4And if the test result is more than or equal to 4, performing two-time reading operation on the 5 loops during the next batch test.
In a specific implementation, the determining a testing policy of the NAND Flash media of the next batch according to the statistical information may further include:
if one sliding window meets a third condition, the testing strategy of the NAND Flash media of the next batch comprises the following steps: performing a read operation on a loop with a preset size in the sliding window; the third condition includes: and the sum of the second values corresponding to the cycles with the preset sizes corresponding to the sliding window under the fourth classification is greater than or equal to the first preset number.
A preset size of 5 and a first preset number of 4, for one sliding window, UNC, i.e., U ', is present in 4 loops'i+U'i+1+U'i+2+U'i+3+U'i+4And if the number of the loops is more than or equal to 4, performing one-time reading operation on the 5 loops during the next batch of testing.
In the specific implementation, the error recording work is also performed for the erasing operation, and the erasing operation may not be performed for the NAND Flash media of the non-first batch, but since the time for the erasing operation is very short, the erasing operation may be performed if necessary, and specifically refer to the adjustment of the test strategy for the writing operation and the reading operation.
For example, Loop is 100, the number of SSD solid state disks is n, and the number of erasure failures corresponding to the NAND Flash media in each SSD solid state disk in the first cycle is: a. the1,A2,A3......An-1,AnThen the average number of erase failures corresponding to the first Loop is
Figure BDA0003485810190000131
Figure BDA0003485810190000132
Calculating the average write failure times E corresponding to the second Loop to the 100 th Loop respectively by using the same calculation method2,E3,......E100. Setting the corresponding threshold value to EthrAnd carrying out binarization processing on the average number of wiping failures corresponding to each loop:
Figure BDA0003485810190000133
a preset size of 5 and a first preset number of 4, for one sliding window, where there are erase errors, i.e., E ', in 4 loop'i+E’i+1+E’i+2+E’i+3+E’i+4And if the number is more than or equal to 4, performing wiping operation on the 5 loops during the next batch test.
In an actual scene, the quality of products needs to be guaranteed in the mass production process of the SSD solid state disk, and a bad Block of a peripheral device having a potential problem on the solid state disk, such as a capacitor, DDR particles, and a NAND Flash medium, needs to be screened out. Generally, a PCIE interface or an SATA interface is used to perform a read-write pressure test on the SSD solid state disk in the batch production process, statistics of anomalies occurring in the test process is performed, and a failed board card is maintained after the test. If the whole disk is completely read and written, each card is limited by the bandwidth and the stability of the host, the consumed time is very long, and the cost of a test machine is high.
Based on the existing situation, the embodiment of the invention adopts an off-line mode, that is, after parameter configuration, the main control can generate a preset pattern type so as to be convenient for performing pressure test on DDR particles and a NAND Flash medium during test, and then the operation of the main control is not needed. Secondly, the front end and the back end are separated, and the front end processor is mainly responsible for creating test data, checking DDR particles and checking energy storage capacitors. The back-end processor is mainly responsible for performing read-write-erase operation on NAND FLASH media, and respectively counts the distribution situation of erase errors, write errors, UNC errors, read errors and the like of each Loop in QLC, TLC, MLC and SLC regions. And finally, counting error information for adjusting the testing strategy of the NAND Flash medium in the SSD hard disk of the next batch. The erase operation is performed in some stages, some stages perform erase and write operations, and some stages perform erase, write and read operations.
It can be understood that the embodiment of the present invention collects the relevant data of the test in the pressure test of the mass production, and then modifies the test strategy of the next batch, thereby achieving the requirements of saving the test time and improving the mass production performance. The error information is counted in each batch of test process, so that the test strategy can be continuously adjusted to gradually approach the optimal test strategy.
The NAND Flash medium: is a device that stores information by trapping electrons or holes at internal complementary sites in silicon nitride. In such devices, a channel is left between the active region and the gate for current to pass through the surface of the silicon wafer, and depending on the type of charge stored in the floating gate, the operations of storing programming ("1") and erasing ("0") information can be performed. Meanwhile, an operation of storing 1 bit in one cell is called a single-layer cell (SLC). The number of electrons trapped inside the silicon nitride is proportional to the threshold voltage of the cell transistor, and thus, when a large number of electrons are trapped, a high threshold voltage is achieved; capturing a small number of electrons results in a low threshold voltage.
The Solid State Disk (SSD for short) is a hard Disk manufactured by using a Solid State electronic memory chip array.
Wherein, the volume production: refers to the mass production of products (or parts) which are identical in quality, structure and manufacturing method and are produced by enterprises (or workshops) at one time in a certain period, and refers to the mass production of SSD products.
Wherein, bad block: at NAND FLASH, some blocks of FLASH memory that cannot be erased occur, and we call such a unit area a bad block. Since the read and write operations at NAND FLASH are PAGE units, the erase is BLOCK units, and the erase operation must be performed before the write operation, a minimum operable unit is a BLOCK, and any irreparable bit error occurs in the entire BLOCK, which is considered to be a bad BLOCK.
The DDR particles are memory particles.
Wherein, Page Retired: the Page read or write exception refers to the exception of the Page in the Block in the NAND Flash, and at this time, the corresponding Page needs to be marked as Retired.
Wherein, UNC: when reading data on Page of NAND Flash, the number of turned bits exceeds a certain range, which further causes that an error correction engine cannot recover correct data.
It can be understood that because the invention is realized by the front-end processor and the back-end processor, the invention realizes the off-line batch production pressure test without connecting the host computer for IO operation. And because the front end and the rear end are separated and play their own roles, when the NAND FLASH medium test is carried out on the rear end processor, the front end processor can pressure test other devices, thereby greatly improving the test efficiency.
It can be understood that, in the test process, the error data occurring in the reading and writing process is counted, and one or some test operations are selectively performed in the subsequent test process of some loops, so that the subsequent test efficiency can be further improved, the time of the pressure test of batch production can be shortened on the premise of ensuring the quality requirement, the complexity of a batch production tool can be reduced, and the reliability of a product can be improved.
Taking test data of an 8T SSD hard disk as an example, in the prior art, a complete test of 100 Loop needs about 180 hours (the read-write erasing of each Loop needs more than 100 minutes, the read-write time is generally occupied, and the erasing time is neglected), while if the method provided by the embodiment of the invention is adopted, the write time can be reduced to about 40%, the read time can be reduced to about 30%, and the final test time is shortened to about 35% of the original test time.
The embodiment of the present invention further provides a batch test system for SSD solid state disks, including: a front-end processor and a back-end processor, wherein:
the front-end processor is to: acquiring test parameters, performing test configuration according to the test parameters and informing a back-end processor;
the back-end processor is to: after receiving the notification of the front-end processor, performing batch test on the NAND Flash media in the SSD solid state disk of the batch, counting error information generated in the test process, and determining a test strategy of the NAND Flash media of the next batch according to the statistical information;
the front-end processor is further configured to: and testing the DDR particles and the energy storage capacitor in the SSD when the back-end processor performs batch testing.
It can be understood that, for the explanation, examples, beneficial effects, specific implementation, and the like of the system provided in the embodiment of the present invention, reference may be made to the relevant contents in the above method, and details are not described herein again.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element identified by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or apparatus that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solution of the present invention may be substantially or partially embodied in the form of a software product, which is stored in a storage medium (such as RON/RAN, magnetic disk, optical disk) and includes instructions for enabling a terminal (such as a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
While the present invention has been described with reference to the embodiments shown in the drawings, the present invention is not limited to the embodiments, which are illustrative and not restrictive, and it will be apparent to those skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the invention as defined in the appended claims.

Claims (11)

1. A batch test method of SSD solid state disks is characterized by comprising the following steps:
s1, the front-end processor obtains the test parameters, performs test configuration according to the test parameters, informs the back-end processor to perform batch test on the NAND Flash media in the SSD solid state disk of the batch, counts error information generated in the test process, and determines the test strategy of the NAND Flash media of the next batch according to the statistical information; if the NAND Flash media in the SSD solid state disk of the batch are in the first batch, the test strategy of the batch is that the test operation of the NAND Flash media in each cycle comprises read operation, write operation and erase operation;
s2, when the back-end processor performs batch testing, the front-end processor tests DDR particles and energy storage capacitors in the SSD solid state disk.
2. The method of claim 1, wherein the test parameters include a number of cycles of the test procedure, a test operation to be performed in each cycle, and a test data type; the test operation required to be executed in each cycle is determined according to the test strategy determined in the test of the NAND Flash media of the previous batch.
3. The method of claim 2,
the method includes that the front-end processor in the S1 obtains test parameters, performs test configuration according to the test parameters, informs the back-end processor to perform batch test on NAND Flash media in the SSD solid state disk of the batch, and counts error information generated in the test process, and includes:
and circularly executing a test process according to the circulation times, wherein the test process of each circulation comprises the following steps: testing the NAND Flash media in each SSD solid state disk of the batch, wherein if the test operation corresponding to the cycle in the test parameters comprises write operation, the testing process of the NAND Flash media in each SSD solid state disk in the cycle comprises the following steps:
s11, aiming at one chunk, the front-end processor generates corresponding test data according to the corresponding test data type in the test parameters, writes the test data into the DDR particles, generates a corresponding write command according to the command parameters of write operation, and sends the write command to the back-end processor;
s12, after receiving the write command, the back-end processor writes the test data in the DDR particles into the chunk according to the command parameters in the write command, records the write-failed block, and notifies the front-end processor after the write is completed;
and S13, after receiving the write-in completion notification of the chunk, the front-end processor judges whether the write-in of all chunks in the NAND Flash medium is completed, if not, the front-end processor returns to the step S11 to perform the write operation on the next chunk until all the chunks in the NAND Flash medium are completely written, and counts the write failure times of the NAND Flash medium, wherein the NAND Flash medium comprises a plurality of chunks, and one chunk comprises a plurality of blocks.
4. The method according to claim 3, wherein the determining the testing strategy of the next batch of NAND Flash media according to the statistical information comprises:
calculating the average write failure times corresponding to each cycle according to the write failure times corresponding to the NAND Flash media in each SSD solid state disk in the test process of each cycle;
according to a preset first threshold value, carrying out binarization processing on the average write failure times corresponding to all cycles respectively to obtain N first values, wherein N is the cycle time, and if the average write failure time corresponding to one cycle is less than or equal to the first threshold value, the first value corresponding to the cycle is 0; if the average number of write failures corresponding to one cycle is greater than the first threshold, the first value corresponding to the cycle is 1;
selecting sliding windows with preset sizes, and if one sliding window meets a first condition, the testing strategy of the NAND Flash media of the next batch comprises the following steps: executing write operation on the circulation of the preset size of the sliding window; the first condition includes: the sum of the first values corresponding to the cycles of the preset size corresponding to the sliding window is greater than or equal to a first preset number.
5. The method of claim 2, wherein the testing process of each cycle further comprises:
if the test operation corresponding to the cycle in the test parameters includes a read operation, the process of testing the NAND Flash medium in each SSD solid state disk in the cycle further includes:
s14, aiming at each group page of each chunk in the NAND Flash medium, the front-end processor generates a corresponding read command and sends the read command to the back-end processor;
s15, the back-end processor reads the data in the corresponding group page according to the read command, and stores the read data in the DDR particles; during reading, recording the number of digits with read errors, and classifying the read errors of one group page according to the number of digits with read errors in the group page, wherein the classification of the read errors comprises a first classification with the number of digits with read errors between 1 and 30, a second classification between 31 and 60, a third classification larger than 60 and a fourth classification with UNC; returning to S14 to perform a read operation for the next group page after the read operation for one group page is completed, until all the group pages in one group page are completely read, and notifying the front-end processor that the UNC indicates an error that the correct data cannot be recovered by the error correction engine;
and S16, after receiving the read completion notification of one chunk, the front-end processor judges whether all chunks in the NAND Flash medium are read completely, if not, the front-end processor returns to S14 to perform read operation on the next chunk until all chunks in the NAND Flash medium are read completely, and counts the read error times of the NAND Flash medium under each classification.
6. The method according to claim 5, wherein the determining the testing strategy of the next batch of NAND Flash media according to the statistical information comprises:
calculating the average number of read errors of each circulation under each classification according to the number of errors of the NAND Flash media in each SSD solid state disk under each classification in each circulation;
according to a second threshold value corresponding to each classification, carrying out binarization processing on each average read error frequency of all cycles under the classification to obtain N second values corresponding to all cycles under the classification; if the average number of read errors of a loop under the classification is less than or equal to a second threshold corresponding to the classification, a second value corresponding to the loop under the classification is 0; if the average number of times of reading errors of a cycle under the classification is larger than a second threshold value corresponding to the classification, a second value corresponding to the cycle under the classification is 1;
calculating a third value corresponding to each cycle according to the second value of each cycle under each classification, wherein if the sum of the second values of each cycle under the first classification, the second classification and the third classification is equal to 3, the third value corresponding to each cycle is 1; otherwise, the third value corresponding to the cycle is 0;
selecting sliding windows with preset sizes, and if one sliding window meets a second condition, the testing strategy of the NAND Flash media of the next batch comprises the following steps: performing two times of reading operation on the cycle of the preset size in the sliding window; the second condition includes: the sum of the third values corresponding to the cycles of the preset size corresponding to the sliding window is greater than or equal to the first preset number.
7. The method of claim 6, wherein the determining the testing policy of the next batch of NAND Flash media according to the statistical information further comprises:
if one sliding window meets a third condition, the testing strategy of the NAND Flash media of the next batch comprises the following steps: performing a read operation on a loop with a preset size in the sliding window; the third condition includes: and the sum of the second values corresponding to the cycles with the preset sizes corresponding to the sliding window under the fourth classification is greater than or equal to the first preset number.
8. The method according to claim 2, wherein the testing policy of the next batch of NAND Flash media comprises: if the read operation is performed, the write operation is performed before the read operation.
9. The method of claim 2, wherein the testing operations of the NAND Flash media of the first lot comprise: performing a write operation, a read operation, and an erase operation; the testing operation of the NAND Flash media of the non-first batch is determined according to the testing strategy determined by the NAND Flash media of the previous batch during testing.
10. The method according to claim 9, wherein if the test operation corresponding to the loop in the test parameters includes an erase operation, the process of testing the NAND Flash media in each SSD solid state disk in the loop further includes:
the front-end processor generates an erasing command and sends the erasing command to the back-end processor; and the back-end processor performs erasing operation on all blocks in the NAND Flash medium according to the erasing command, marks the blocks with the erasing failure as bad blocks, and replaces the bad blocks with new blocks.
11. A batch test system of SSD solid state disks is characterized by comprising: a front-end processor and a back-end processor, wherein:
the front-end processor is to: acquiring test parameters, performing test configuration according to the test parameters and informing a back-end processor;
the back-end processor is to: after receiving the notification of the front-end processor, performing batch test on the NAND Flash media in the SSD solid state disk of the batch, counting error information generated in the test process, and determining a test strategy of the NAND Flash media of the next batch according to the statistical information;
the front-end processor is further configured to: and when the back-end processor performs batch testing, testing the DDR particles and the energy storage capacitor in the SSD solid state disk.
CN202210080825.3A 2022-01-24 2022-01-24 Batch test method and system for SSD (solid State disk) Active CN114360630B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210080825.3A CN114360630B (en) 2022-01-24 2022-01-24 Batch test method and system for SSD (solid State disk)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210080825.3A CN114360630B (en) 2022-01-24 2022-01-24 Batch test method and system for SSD (solid State disk)

Publications (2)

Publication Number Publication Date
CN114360630A CN114360630A (en) 2022-04-15
CN114360630B true CN114360630B (en) 2022-07-15

Family

ID=81093455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210080825.3A Active CN114360630B (en) 2022-01-24 2022-01-24 Batch test method and system for SSD (solid State disk)

Country Status (1)

Country Link
CN (1) CN114360630B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593137A (en) * 2008-05-28 2009-12-02 英业达股份有限公司 Error-detecting method
CN103699463A (en) * 2012-09-28 2014-04-02 国际商业机器公司 Memory test method and memory test system of server utilizing Xeon processor
CN110740152A (en) * 2018-07-20 2020-01-31 北京奇虎科技有限公司 Test task processing method, device and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9443616B2 (en) * 2014-04-02 2016-09-13 Seagate Technology Llc Bad memory unit detection in a solid state drive
CN106776109B (en) * 2016-12-26 2020-01-24 湖南国科微电子股份有限公司 Solid state disk reading error detection device and method for detecting reasons of uncorrectable errors
CN109062808A (en) * 2018-09-17 2018-12-21 浪潮电子信息产业股份有限公司 A kind of test method, device and the relevant device of SSD exploitation performance
CN110910945B (en) * 2019-11-19 2021-08-17 深圳忆联信息系统有限公司 Method and device for testing robustness of SSD (solid State disk) signal, computer equipment and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593137A (en) * 2008-05-28 2009-12-02 英业达股份有限公司 Error-detecting method
CN103699463A (en) * 2012-09-28 2014-04-02 国际商业机器公司 Memory test method and memory test system of server utilizing Xeon processor
CN110740152A (en) * 2018-07-20 2020-01-31 北京奇虎科技有限公司 Test task processing method, device and system

Also Published As

Publication number Publication date
CN114360630A (en) 2022-04-15

Similar Documents

Publication Publication Date Title
TWI447733B (en) Methods for calculating compensating voltage and adjusting threshold voltage and memory apparatus and controller
CN106776095B (en) Intelligent detection method and detection device for data reliability of SSD (solid State disk)
US9063844B2 (en) Non-volatile memory management system with time measure mechanism and method of operation thereof
US8412879B2 (en) Hybrid implementation for error correction codes within a non-volatile memory system
US10755787B2 (en) Efficient post programming verification in a nonvolatile memory
CN107247636B (en) Method and device for data reconstruction optimization in solid state disk
US20100146192A1 (en) Methods for adaptively programming flash memory devices and flash memory systems incorporating same
Shim et al. Exploiting process similarity of 3D flash memory for high performance SSDs
EP3079067A1 (en) Method and apparatus for using solid state disk
US9535611B2 (en) Cache memory for hybrid disk drives
US10811120B2 (en) Method for performing page availability management of memory device, associated memory device and electronic device, and page availability management system
US10990477B2 (en) Device and method for controlling the data refresh cycles in reprogrammable non-volatile memories
US20130212427A1 (en) Reclaiming discarded solid state devices
US10324648B1 (en) Wear-based access optimization
CN112447255A (en) Read voltage assisted manufacturing test of memory subsystems
CN111124278A (en) Method, device and medium for improving reading performance of solid state disk
CN108564981B (en) Dynamic monitoring method for data security of storage device
CN114090354A (en) Memory module screening method and testing device
CN114360630B (en) Batch test method and system for SSD (solid State disk)
CN116880781B (en) Storage device and control method thereof
CN112347001B (en) Verification method and device for flash memory garbage collection and electronic equipment
US10734079B1 (en) Sub block mode read scrub design for non-volatile memory
CN112732181A (en) Data migration method of SSD and related device
CN115509799B (en) Memory reading optimization method based on combination of copy and LDPC hybrid decoding
CN109669641B (en) Data storage method and device for reducing SSD bit error rate

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant