Flash memory pre-classification method, device, equipment and storage medium
By calculating the read and write speed of the target block in the mass production stage of the flash memory and calculating the target read and write speed of the flash memory according to the preset algorithm, the problem of mass production time spent in the existing technology and the inability to estimate the H2Test speed in advance is solved, and efficient Improved flash memory pre-classification and mass production efficiency.
Patent Information
- Application Number
- CN202410498483.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-24
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2044-04-24
AI Technical Summary
The prior art requires full scanning during the mass production of flash memory, which takes a long time, and cannot estimate the H2Test speed in advance, affecting pricing and efficiency.
In the mass production completion stage, by reading the partition information of the flash memory, confirming the target block, obtaining the total amount and time of read and write data, calculating the read and write speed of the target block, and calculating the target read and write speed of the flash memory according to the preset algorithm, and outputting Displayed to the production tool interface.
It realizes the direct estimate of the H2Test speed of flash memory after mass production is completed, and pre-classification is performed in advance, which significantly improves the mass production efficiency of flash memory and saves time.
Smart Images

Figure CN118351925B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of flash memory technology, and in particular to a flash memory pre-classification method, device, equipment and storage medium. Background Art
[0002] Flash memory is one of the mainstream storage media and is widely used in various types of storage products. Flash memory has the characteristics of quality differentiation, and the quality affects the performance of flash memory in many aspects, such as read and write speed, capacity, storage stability, price, etc.
[0003] In the related technology, H2Test is used as a testing tool to evaluate the read and write speed of flash memory. The read and write speed (called H2 speed in the industry) obtained by H2Test when performing full disk read and write verification can reflect the quality of flash memory. Operators can use H2 speed as a pricing reference for flash memory. Before executing the H2Test project, the flash memory needs to be mass-produced with a storage control chip (called card opening in the industry). The H2Test project can only be executed after successful mass production. The mass production process involves a full disk scan of the flash memory, which takes a lot of time. However, operators have to use the read and write speed obtained by the H2Test project as a pricing reference for the flash memory. If flash memory is mass-produced, this situation will become more prominent. Summary of the invention
[0004] The purpose of the present invention is to overcome the shortcomings of the prior art and provide a flash memory pre-classification method, device, equipment and storage medium, which can estimate the H2Test speed of the flash memory and output and display it in the mass production completion stage, thereby realizing the pre-classification of the flash memory.
[0005] A first aspect of the present application provides a flash memory pre-classification method, comprising:
[0006] Execute mass production of flash memory;
[0007] Reading partition information of the flash memory, and confirming a target block of the current partition based on the partition information;
[0008] Obtaining the total amount and time of data read and written to the target block;
[0009] Calculate the read and write speed of the target block according to the total amount of data corresponding to the target block and the time;
[0010] Based on the target block contained in the current partition, a target read / write speed is calculated according to a preset algorithm;
[0011] The target read / write speed is used as the read / write speed of the flash memory and is output and displayed on a mass production tool interface.
[0012] Furthermore, in one embodiment, the calculating the target read / write speed according to a preset algorithm includes:
[0013] Confirming the capacity of each partition of the flash memory according to the partition information;
[0014] Based on the total capacity of the flash memory and the capacity of each partition, a capacity ratio coefficient of each partition is calculated, and the capacity ratio coefficient corresponding to each partition is used as a weight coefficient;
[0015] The target read / write speed is calculated according to the partition read / write speed corresponding to each partition and the weight coefficient according to a preset algorithm.
[0016] Further, in one embodiment, the target read / write speed is calculated according to the partition read / write speed corresponding to each partition and the weight coefficient according to a preset algorithm, including:
[0017] Calculate the average of the read and write speeds of the target blocks corresponding to the partitions to obtain the read and write speeds corresponding to the partitions, and calculate the target read and write speeds according to the weight coefficients and read and write speeds corresponding to the partitions; or
[0018] The lowest read / write speed of the target block corresponding to each partition is used as the read / write speed of the partition, and the target read / write speed is calculated according to the weight coefficient and the read / write speed corresponding to each partition.
[0019] Further, in one of the embodiments, the step of confirming the target block of the current partition based on the partition information includes:
[0020] The number of Planes bound to the current partition is confirmed according to the partition information, and the same number of target blocks are selected from each of the Planes.
[0021] A second aspect of the present application provides a flash memory pre-classification device, comprising:
[0022] A mass production module, used for executing mass production of flash memory;
[0023] A reading module, used for reading partition information of the flash memory, and confirming a target block of the current partition based on the partition information;
[0024] An acquisition module, used for acquiring the total amount and time of data read and written to the target block;
[0025] A first calculation module, configured to calculate the read and write speed of the target block according to the total amount of data and the time corresponding to the target block;
[0026] A second calculation module, configured to calculate a target read / write speed according to a preset algorithm based on the target block contained in the current partition;
[0027] A display module is used to use the target read / write speed as the read / write speed of the flash memory and output it to a mass production tool interface for display.
[0028] Further, in one embodiment, the second calculation module includes:
[0029] A partition capacity confirmation unit, used to confirm the capacity of each partition of the flash memory according to the partition information;
[0030] A weight coefficient unit, configured to calculate a capacity ratio coefficient of each partition based on the total capacity of the flash memory and the capacity of each partition, and use the capacity ratio coefficient corresponding to each partition as a weight coefficient;
[0031] The target value unit is used to calculate the target read / write speed according to the partition read / write speed corresponding to each partition and the weight coefficient according to a preset algorithm.
[0032] Furthermore, in one embodiment, the target value unit is used to calculate the target read / write speed according to a preset algorithm, including:
[0033] Calculate the average of the read and write speeds of the target blocks corresponding to each partition to obtain the average read and write speeds corresponding to each partition, calculate the partition read and write speeds corresponding to each partition according to the weight coefficients and the average read and write speeds corresponding to each partition, add the partition read and write speeds corresponding to each partition, and calculate the target read and write speed; or
[0034] The lowest read / write speed of the target block corresponding to each partition is used as the lowest read / write speed of the current partition. The partition read / write speed corresponding to each partition is calculated according to the weight coefficient and the lowest read / write speed corresponding to each partition. The partition read / write speeds corresponding to each partition are added together to calculate the target read / write speed.
[0035] Further, in one embodiment, the reading module is used to confirm the target block of the current partition based on the partition information, including:
[0036] The number of Planes bound to the current partition is confirmed according to the partition information, and the same number of target blocks are selected from each of the Planes.
[0037] A third aspect of the present application provides an electronic device, including:
[0038] Processor; and
[0039] The memory stores executable codes thereon, and when the executable codes are executed by the processor, the processor is caused to execute the flash memory pre-classification method as described above.
[0040] A fourth aspect of the present application provides a computer-readable storage medium storing executable code, which, when executed by a processor of an electronic device, enables the processor to execute the flash memory pre-classification method as described above.
[0041] The technical solution of the present application includes: executing mass production of flash memory; reading the partition information of the flash memory, confirming the target block of the current partition based on the partition information; obtaining the total amount of data and time read and written to the target block; calculating the read and write speed of the target block according to the total amount of data and time corresponding to the target block; calculating the target read and write speed according to the preset algorithm based on the target block contained in the current partition; using the target read and write speed as the read and write speed of the flash memory and outputting it to the mass production tool interface. By counting the total amount of data and time read and written to the target block in the mass production stage of the flash memory, calculating the read and write speed of the target block, and then obtaining the target read and write speed according to the preset algorithm and outputting it to the mass production interface, the flash memory can directly obtain the H2Test speed after the mass production is successful, and the quality of the flash memory can be pre-classified based on the target read and write speed in advance, which can greatly improve the overall mass production efficiency of the flash memory. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments are briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without creative work.
[0043] Figure 1 It is a flowchart of a method for optimizing flash memory pre-classification according to an embodiment of the present application;
[0044] Figure 2 FIG. 1 is a schematic diagram showing the structure of a device for a flash memory pre-classification method in an embodiment of the present application;
[0045] Figure 3 Shown is a schematic diagram of the structure of a flash memory in an embodiment of the present application;
[0046] Figure 4 Shown is a schematic structural diagram of an electronic device in an embodiment of the present application. DETAILED DESCRIPTION
[0047] In order to facilitate the understanding of the present invention, the present invention will be described more fully with reference to the accompanying drawings. The preferred embodiments of the present invention are shown in the accompanying drawings. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. On the contrary, the purpose of providing these embodiments is to make the disclosure of the present invention more thoroughly understood.
[0048] It should be noted that when an element is referred to as being "fixed to" another element, it may be directly on the other element or there may be a central element. When an element is considered to be "connected to" another element, it may be directly connected to the other element or there may be a central element at the same time. The terms "vertical", "horizontal", "left", "right" and similar expressions used herein are for illustrative purposes only and do not represent the only implementation method.
[0049] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art of the present invention. The terms used herein in the specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. The term "and / or" used herein includes any and all combinations of one or more related listed items.
[0050] In the related technology, operators need to use H2Test to quickly classify the quality of flash memory, and the mass production process involves scanning the flash memory, which takes a lot of time. If flash memory is mass-produced, this situation will become more prominent.
[0051] Therefore, in order to solve the above technical problems, the present application provides a flash memory pre-classification method, which can estimate the H2Test speed of the flash memory and output it for display in the mass production completion stage, thereby realizing the pre-classification of the flash memory.
[0052] The technical solution of the present application is described in detail below with reference to the accompanying drawings.
[0053] like Figure 1 FIG. 1 is a flow chart of a flash memory pre-classification method in an embodiment of the present application.
[0054] See also Figure 1 , a flash memory pre-classification method, comprising the following steps:
[0055] Step S110 , executing mass production of the flash memory.
[0056] It should be noted that mass production is to perform a full disk scan and analysis on the flash memory. Through mass production, the capacity, bad columns, bad blocks, partitions and other information of the flash memory can be obtained. The above information is uniformly stored in the management block of the flash memory.
[0057] Step S120: read the partition information of the flash memory, and confirm the target block of the current partition based on the partition information.
[0058] It should be noted that in order to accelerate the overall read and write performance of existing flash memory, mainstream flash memory types basically support Multi-Plane operations. Multi-Plane operations are to bind several planes in the flash memory. When performing read and write operations on the flash memory, the flash memory blocks with these bound planes are operated at the same time to complete the read and write acceleration of the flash memory. These bound planes will be designed with partitions (Partition) in the software and firmware design for unified management. Partition Information (PartitionInformation) is the management data that records the basic parameter information of the partition.
[0059] In this step, the partition information of the flash memory is read, and the number of planes contained in the partition, the number of blocks contained in the plane, and other data can be clearly determined based on the partition information. The same number of blocks are selected from the planes contained in the partition. For example, Figure 3 The figure shows the internal architecture diagram of the flash memory shown in this embodiment. The flash memory 10 includes 4 Planes, namely Plane0, Plane1, Plane2 and Plane3, each Plane includes 100 blocks (Block0~Block99). By reading the partition information of the flash memory 10, it is known that the flash memory 10 includes 2 partitions, namely Partition 1 and Partition 2. Partition 1 is used to manage Plane0 and Plane1, while Partition 2 is used to manage Plane2 and Plane3. The same number of blocks are confirmed as target blocks from these 4 Planes. In this embodiment, 8 blocks are selected from each Plane as target blocks. It should be noted that the number of target blocks selected by each Plane should be controlled within 8 to 10 as much as possible, and it is not easy to select too many or too few target blocks. Too few will cause the target read and write speed calculated in the subsequent steps to represent the read and write performance of the flash memory, and too many will lead to the amount of calculation (that is, increase the difficulty of calculation. Ideally, if the computing power of the host is sufficient, the problem of increasing the amount of calculation due to too many target blocks can be ignored).
[0060] Furthermore, when the flash memory is mass-produced, a block template for each Plane will be generated. The block template is used to record the block status bitmap, which is expressed in binary. Generally speaking, "0" is used to represent that the block at the current position is a bad block, and the bad block cannot perform read and write operations. "1" is used to represent that the block at the current position is a good block, and the good block can perform read and write operations. In this embodiment, when the same number of blocks are confirmed as target blocks from 4 Planes, good blocks must be selected as target blocks, because it is impossible to guarantee that the blocks corresponding to the same bit offset position of each Plane are good blocks, and it is necessary to ensure that the selected target blocks are evenly distributed in each Plane, so as to prevent the selected blocks from being too concentrated in a certain position range of the Plane.
[0061] Considering this situation, the present application adopts the same bit offset method to solve it. First, read the block template corresponding to each Plane, and confirm the number of good blocks contained in each Plane through the block template. Then the bit offset can be calculated by the two parameters of the number of good blocks and the number of target blocks. As shown in formula 1):
[0062]
[0063] Among them, "B Offset " represents the bit offset; "N GB " represents the total number of good blocks in the current Plane; "N SGB " represents the total number of good blocks to be selected.
[0064] For example, the number of good blocks of Plane0 is 80, and the bit offset = 80 / 8 = 10. The block template of Plane0 is as follows:
[0065] Block template for Plane0: 0 1 01111111 0101 1 11111 010111 1 111 01011111 1 101011111110 1 01111111 0101 1 11111 010111 1 111 01011111 1 1 0101111111
[0066] Through the block template and the calculated bit offset, it can be known that the bit offsets of the good blocks that Plane0 needs to select are respectively at the 8 bit offsets of 1st, 14th, 26th, 38th, 51st, 64th, 76th and 88th (i.e. the target block positions marked with "-" above). That is, in the selected target blocks of this embodiment, the bit offsets of two adjacent target blocks are the same, so that each Plane can select enough and the same number of target blocks. The way of selecting target blocks for other Planes can refer to the way of Plane0, and the principle will not be repeated.
[0067] Step S130: Obtain the total amount of data read and written to the target block and the time.
[0068] It should be noted that in step S120, the same block has been selected from each Plane as the target block. The mass production stage involves reading and writing each block, so the total amount of data and time read and written to these target blocks can be obtained, as shown in Table 1.
[0069] Parameter pair 1 Total amount of data written Write time Parameter pair 2 Total amount of data read Reading time
[0070] Table 1
[0071] In this embodiment, in order to reduce the content of the principle explanation as much as possible, only the total amount of data and time of reading and writing to the two target blocks in each Plane are obtained, and the data in Table 2 are obtained. In actual operation, at least 8 target blocks need to be selected from each Plane for calculation. However, whether 2 target blocks or at least 8 target blocks are selected from each Plane, the calculation principle is the same.
[0072]
[0073] Table 2
[0074] In this embodiment, target blocks 0 and 1 are from Plane0, target blocks 2 and 3 are from Plane1, target blocks 4 and 5 are from Plane2, and target blocks 6 and 7 are from Plane3.
[0075] Step S140: Calculate the read and write speed of the target block according to the total amount of data and time corresponding to the target block.
[0076] It should be noted that the total amount of written data and the writing time form a pair of paired parameters, through which the writing speed corresponding to the target block can be calculated. The total amount of read data and the reading time form another pair of paired parameters, through which the reading speed corresponding to the target block can be calculated. The writing speed and the reading speed together form the reading and writing speed corresponding to the target block. Among them:
[0077]
[0078] Among them, "S B " stands for read speed or write speed; "D B " represents the total amount of data read or written; "T B " represents the read time or write time.
[0079] By using formula 2), the read and write speeds of the target block can be calculated, wherein the read speed and the write speed are calculated separately. In formula 2), when calculating the read speed, “S B " stands for reading speed, "D B " represents the total amount of data read, "T B " represents the read time; when calculating the write speed, "S B " represents the writing speed, "D B " represents the total amount of data written, "T B " represents the write time. In this embodiment, the read and write speeds corresponding to each target block are obtained through calculation, as shown in Table 3.
[0080] Block number Write speed (mb / s) Read speed (mb / s) Target Block 0 40 50 Target Block 1 50 40 Target Block 2 25 20 Target Block 3 40 25 Target Block 4 25 10 Target Block 5 20 50 Target Block 6 8 100 Target Block 7 10 25
[0081] Table 3
[0082] Step S150: Based on the target blocks included in the current partition, the target read / write speed is calculated according to a preset algorithm.
[0083] In this embodiment, the target read and write speed is calculated according to a preset algorithm, including: confirming the capacity of each partition of the flash memory according to the partition information; calculating the capacity share coefficient of each partition based on the total capacity of the flash memory and the capacity of each partition, and using the capacity share coefficient corresponding to each partition as the weight coefficient; calculating the target read and write speed according to the preset algorithm based on the partition read and write speed corresponding to each partition and the weight coefficient.
[0084] It should be noted that the read and write speeds corresponding to each target block have been calculated in step S140, but the read and write speeds corresponding to each target block need to be further converted into the read and write speeds corresponding to the flash memory. In this embodiment, since the target blocks come from Plane, and Plane is distinguished based on partitions, different partitions account for different flash memory capacity. Therefore, the capacity ratio coefficient of each partition can be used as a weight coefficient, where the weight coefficient formula 3) is as follows:
[0085]
[0086] Among them, "W Pi " represents the weight coefficient corresponding to the current partition; "C Pi " represents the current partition capacity; "C F ” represents the flash memory capacity.
[0087] In this embodiment, the total capacity of the flash memory is equal to 100G, and the capacity of partition 0 and partition 1 are both equal to 50G, calculated according to formula 3):
[0088] The weight coefficient of partition 0 = partition 0 capacity / flash memory capacity = 50 / 100 = 0.5;
[0089] The weight coefficient of partition 1 = partition 1 capacity / flash memory capacity = 50 / 100 = 0.5.
[0090] Simplify the table notation and obtain Table 4.
[0091] Partition number Weight coefficient Partition 0 0.5 Partition 1 0.5
[0092] Table 4
[0093] In this embodiment, the read and write speeds corresponding to the partitions can be calculated in the following two ways:
[0094] The following is an explanation of the first method:
[0095] 1. Calculate the average read and write speeds of the target blocks corresponding to each partition to obtain the read and write speeds corresponding to each partition. Calculate the target read and write speeds according to the weight coefficients and read and write speeds corresponding to each partition, as shown in Formula 4).
[0096]
[0097] Among them, "S pi " represents the read speed or write speed of the current partition; Represents the sum of the read speed or write speed of each target block contained in the current partition; "N TGB " represents the total number of target blocks in the current partition.
[0098] When calculating the read and write speeds corresponding to the partition, the read speed and the write speed are calculated separately. In formula 4), when calculating the read speed of the current partition, "S pi " represents the reading speed of the current partition, Represents the sum of the read speeds of the target blocks in the current partition, "N TGB " represents the total number of target blocks in the current partition; when calculating the write speed of the current partition, "S pi " represents the write speed of the current partition, Represents the sum of the write speeds of the target blocks contained in the current partition, "N TGB " represents the total number of target blocks in the current partition.
[0099]
[0100] Among them, "S T " represents the target read and write speed, Represents the sum of the read and write speed of each partition * weight coefficient, "N P " represents the total number of partitions in the flash memory. When calculating the target read speed, "S T " represents the target reading speed, Represents the sum of the read speed and weight coefficient of each partition, "N P " represents the total number of partitions of the flash memory; when calculating the target write speed, "S T " represents the target write speed, Represents the sum of the write speed and weight coefficient of each partition, "N P " represents the total number of partitions in the flash memory.
[0101] In this embodiment, according to formula 4), it is calculated that:
[0102] The write speed of partition 0 = (the write speed of target block 0 + the write speed of target block 1 + the write speed of target block 2 + the write speed of target block 3) / 4 = (40+50+25+40) / 4 = 38.75 mb / s;
[0103] The read speed of partition 0 = (the read speed of target block 0 + the read speed of target block 1 + the read speed of target block 2 + the read speed of target block 3) / 4 = (50+40+20+25) / 4 = 33.75 mb / s;
[0104] The write speed of partition 1 = (the write speed of target block 4 + the write speed of target block 5 + the write speed of target block 6 + the write speed of target block 7) / 4 = (25+20+8+10) / 2 = 15.75 mb / s;
[0105] The read speed of partition 1 = (the read speed of target block 4 + the read speed of target block 5 + the read speed of target block 6 + the read speed of target block 7) / 4 = (10+50+100+25) / 4 = 46.25 mb / s;
[0106] The simplified table is shown in Table 5.
[0107]
[0108]
[0109] Table 5
[0110] In this embodiment, according to formula 5), it is calculated that:
[0111] Target write speed = write speed of partition 0 * weight coefficient 0 + write speed of partition 1 * weight coefficient 1 = 38.75 * 0.5 + 15.75 * 0.5 = 27.25 mb / s;
[0112] Target read speed = read speed of partition 0 * weight coefficient 0 + read speed of partition 1 * weight coefficient 1 = 33.75 * 0.5 + 46.25 * 0.5 ≈ 31.56 mb / s.
[0113] The simplified table is shown in Table 6.
[0114] Target write speed (mb / s) Target read speed (mb / s) 27.25 31.56
[0115] Table 6
[0116] The above is the target read / write speed calculated by combining the mean value, weight coefficient and preset algorithm. The advantage of the above method is that it can start from the integrity of the flash memory and get the actual read / write speed of the flash memory as close as possible, with high accuracy.
[0117] The following is an explanation of the second method:
[0118] 2. The lowest read / write speed of the target block corresponding to each partition is used as the read / write speed of the partition. Formula 6) is as follows:
[0119]
[0120] Among them, "S Pi " represents the read and write speed of the current partition represents the minimum read and write speed of the target block corresponding to each partition. In formula 6), when calculating the read speed of the current partition, "S Pi " represents the reading speed of the current partition Represents the minimum read speed of the target block corresponding to each partition; when calculating the write speed of the current partition, "S Pi " represents the write speed of the current partition, " represents the minimum write speed of the target block corresponding to each partition.
[0121] The target read and write speed is calculated based on the weight coefficient and read and write speed corresponding to each partition.
[0122] In this embodiment, according to formula 3), it is calculated that:
[0123] Partition 0 write speed = target block 2 write speed = 25 mb / s;
[0124] Read speed of partition 0 = read speed of target block 2 = 20mb / s;
[0125] Partition 1 write speed = target block 6 write speed = 6 mb / s;
[0126] Read speed of partition 1 = read speed of target block 4 = 10 mb / s.
[0127] The simplified table is shown in Table 7.
[0128]
[0129]
[0130] Table 7
[0131] In this embodiment, according to formula 4), it is calculated that:
[0132] Target write speed = write speed of partition 0 * weight coefficient 0 + write speed of partition 1 * weight coefficient 1 = 25 * 0.5 + 6 * 0.5 = 15.5 mb / s;
[0133] Target read speed = read speed of partition 0 * weight coefficient 0 + read speed of partition 1 * weight coefficient 1 = 6 * 0.5 + 10 * 0.5 = 8 mb / s.
[0134] The simplified table is shown in Table 8.
[0135] Target write speed (mb / s) Target read speed (mb / s) 15.5 8
[0136] Table 8
[0137] The above is the target read / write speed that is finally calculated by combining the minimum read / write speed, weight coefficient, and preset algorithm. The advantage of the above method is that from the perspective of service application, since customers need to pre-classify flash memory by read / write speed, the read / write speed obtained by this technical solution is a pricing reference for customers. If the calculated read / write speed deviates greatly from the actual value, it will cause customers to misclassify, and in serious cases, it will lead to a series of problems such as after-sales complaints. Using the minimum read / write speed for calculation can effectively reduce the occurrence of such situations.
[0138] The practical application significance of Method 1 and Method 2 is that users can choose the corresponding method to calculate according to their actual needs. The two methods have different focuses. Method 1 focuses on the overall performance of the flash memory to calculate a more accurate target read and write speed. Method 2 focuses on providing customers with a more accurate pricing reference to prevent customers from misclassifying.
[0139] It should be emphasized that in the above examples, the reading and writing speeds calculated by method 1 and method 2 are significantly different. This is because the case presentation is convenient and the listed data are written for the purpose of simplifying the calculation. In actual applications, the values calculated by method 1 and method 2 will not be significantly different from those shown in this embodiment of the present application.
[0140] Step S160: The target read / write speed is used as the read / write speed of the flash memory and is output and displayed on the mass production tool interface.
[0141] It should be noted that after obtaining the target read and write speed, the target read and write speed can be used as the read and write speed of the flash memory and output and displayed on the mass production tool interface, so that the operator can obtain the H2Test speed in advance after the flash memory is mass produced without performing the H2Test test, which can greatly improve the overall mass production efficiency of the flash memory.
[0142] It should also be noted that H2Test software is widely recognized in the industry as a flash memory read and write performance test software. Almost every storage product needs to undergo H2Test testing. However, since the H2Test test needs to perform full disk read and write verification of the flash memory, it involves each LUN, each Plane, each Block and each Page in the flash memory. For high-quality flash memory (high-quality flash memory is called GoodDie, which is basically from the original flash memory factory), since the difference in quality between each Block is not large, the full disk read and write verification of H2Test is completed quickly. For medium and low-quality flash memory (medium and low-quality flash memory is called InkDie, most of which come from the original factory scrapped, disassembled parts, and secondary recycling channels), due to the large difference in quality between each Block, the full disk read and write verification of H2Test is completed slowly. In this application, full use of the flash memory mass production stage also involves full disk read and write verification of the flash memory. This stage is used to calculate the H2Test speed corresponding to the flash memory in advance, so that users can pre-classify the flash memory without H2Test testing, thereby improving the mass production efficiency of the flash memory and saving mass production time. It has been verified that the target read and write speeds obtained by the method of the present application in the mass production stage are not much different from the H2Test speeds tested by H2Test, and the accuracy is high.
[0143] Corresponding to the aforementioned method embodiments, the present application also provides a flash memory pre-classification device and corresponding embodiments.
[0144] Figure 2 FIG. 1 is a schematic diagram of the structure of a flash memory pre-classification device in an embodiment of the present application.
[0145] See also Figure 2A flash memory pre-classification device 200 includes: a reading module 210, a scanning module 220, a first calculation module 230, a second calculation module 240 and a display module 250. Among them:
[0146] The reading module 210 is used to read the partition information of the flash memory, and confirm the target block of the current partition based on the partition information.
[0147] The scanning module 220 is used to perform a full scan of the flash memory and record the total amount and time of data read and written to the target block.
[0148] The first calculation module 230 is used to calculate the read and write speed of the target block according to the total amount of data and time corresponding to the target block.
[0149] The second calculation module 240 is used to calculate the target read / write speed according to a preset algorithm based on the target blocks included in the current partition.
[0150] The display module 250 is used to use the target read / write speed as the read / write speed of the flash memory and output it to the mass production tool interface for display.
[0151] For further information, see Figure 2 In this embodiment, the second calculation module 240 includes: a partition capacity confirmation unit 241, a weight coefficient unit 242 and a target value unit 243. Among them:
[0152] The partition capacity confirmation unit 241 is used to confirm the capacity of each partition of the flash memory according to the partition information.
[0153] The weight coefficient unit 242 is used to calculate the capacity ratio coefficient of each partition based on the total capacity of the flash memory and the capacity of each partition, and use the capacity ratio coefficient corresponding to each partition as the weight coefficient.
[0154] The target value unit 243 is used to calculate the target read / write speed according to the partition read / write speed and weight coefficient corresponding to each partition according to a preset algorithm.
[0155] For further information, see Figure 2 In this embodiment, the target value unit 243 is used to calculate the target read / write speed according to a preset algorithm, including:
[0156] Calculate the mean value corresponding to each partition to obtain the mean read / write speed corresponding to each partition, calculate the partition read / write speed corresponding to each partition according to the weight coefficient and the mean read / write speed corresponding to each partition, add the partition read / write speeds corresponding to each partition, and calculate the target read / write speed; or
[0157] The minimum read / write speed of the target block corresponding to each partition is used as the minimum read / write speed of the current partition. The partition read / write speed corresponding to each partition is calculated according to the weight coefficient and the minimum read / write speed corresponding to each partition. The partition read / write speeds corresponding to each partition are added together to calculate the target read / write speed.
[0158] For further information, see Figure 2 In this embodiment, the reading module 210 is used to confirm the target block of the current partition based on the partition information, including:
[0159] Confirm the number of planes bound to the current partition based on the partition information, and select the same number of target blocks from each plane.
[0160] See also Figure 4 Another embodiment of the present application shows a computing electronic device 400 including: a processor 410 and a memory 420.
[0161] The processor 410 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
[0162] A general purpose processor may be a microprocessor or the processor may be any conventional processor. The memory 410 may include various types of storage units, such as system memory, read-only memory (ROM), and permanent storage.
[0163] Among them, ROM can store static data or instructions required by processor 420 or other modules of the computer. The permanent storage device can be a readable and writable storage device. The permanent storage device can be a non-volatile storage device that does not lose the stored instructions and data even if the computer is powered off. In some embodiments, the permanent storage device uses a large-capacity storage device (such as a magnetic or optical disk, flash memory) as a permanent storage device.
[0164] In some other embodiments, the permanent storage device may be a removable storage device (e.g., a floppy disk, an optical drive). The system memory may be a read-write storage device or a volatile read-write storage device, such as a dynamic random access memory. The system memory may store some or all of the instructions and data required by the processor at run time.
[0165] In addition, memory 420 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (eg, DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), magnetic disks and / or optical disks may also be used.
[0166] In some embodiments, the memory 420 may include a removable storage device that can be read and / or written, such as a laser disc (CD), a read-only digital versatile disc (such as a DVD-ROM, a double-layer DVD-ROM), a read-only Blu-ray disc, an ultra-density optical disc, a flash memory card (such as an SD card, a mini SD card, and a Micro-SD card, etc.), a magnetic floppy disk, etc. Computer-readable storage media do not include carrier waves and instantaneous electronic signals transmitted wirelessly or by wire. The memory 420 stores executable code, and when the executable code is processed by the processor 410, the processor 410 can execute part or all of the methods described above.
[0167] In addition, the method according to the present application may also be implemented as a computer program or a computer program product, which includes computer program code instructions for executing some or all of the steps in the above method of the present application.
[0168] Alternatively, the present application can also be implemented as a computer-readable storage medium (or non-transitory machine-readable storage medium or machine-readable storage medium) on which executable code (or computer program or computer instruction code) is stored. When the executable code (or computer program or computer instruction code) is executed by a processor of an electronic device (or server, etc.), the processor executes part or all of the steps of the above-mentioned method according to the present application.
[0169] The embodiments of the present application have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and changes will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used herein is intended to best explain the principles of the embodiments, practical applications, or improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
1. A flash memory pre-classification method, characterized in that: include: Execute mass production of flash memory; Reading partition information of the flash memory, and confirming a target block of the current partition based on the partition information; Obtaining the total amount and time of data read and written to the target block; Calculate the read and write speed of the target block according to the total amount of data corresponding to the target block and the time; Based on the target block contained in the current partition, the capacity of each partition of the flash memory is confirmed according to the partition information, and based on the total capacity of the flash memory and the capacity of each partition, the capacity share coefficient of each partition is calculated, and the capacity share coefficient corresponding to each partition is used as a weight coefficient; Calculate the average of the read and write speeds of the target blocks corresponding to the partitions to obtain the read and write speeds corresponding to the partitions, and calculate the target read and write speeds according to the weight coefficients and read and write speeds corresponding to the partitions; or use the lowest read and write speed of the target blocks corresponding to the partitions as the read and write speed of the partitions, and calculate the target read and write speeds according to the weight coefficients and read and write speeds corresponding to the partitions; The target read / write speed is used as the read / write speed of the flash memory and is output and displayed on a mass production tool interface.
2. The flash memory pre-classification method according to claim 1, characterized in that: The step of confirming the target block of the current partition based on the partition information includes: The number of Planes bound to the current partition is confirmed according to the partition information, and the same number of target blocks are selected from each of the Planes.
3. A flash memory pre-classification device, characterized in that: include: A mass production module, used for executing mass production of flash memory; A reading module, used for reading partition information of the flash memory, and confirming a target block of the current partition based on the partition information; An acquisition module, used for acquiring the total amount and time of data read and written to the target block; A first calculation module, configured to calculate the read and write speed of the target block according to the total amount of data and the time corresponding to the target block; A second calculation module is used to confirm the capacity of each partition of the flash memory based on the target block contained in the current partition and the partition information, calculate the capacity share coefficient of each partition based on the total capacity of the flash memory and the capacity of each partition, and use the capacity share coefficient corresponding to each partition as a weight coefficient; it is also used to average the read and write speeds of the target blocks corresponding to each partition to obtain the read and write speeds corresponding to each partition, and calculate the target read and write speed according to the weight coefficient and read and write speed corresponding to each partition; or use the lowest read and write speed of the target blocks corresponding to each partition as the read and write speed of the partition, and calculate the target read and write speed according to the weight coefficient and read and write speed corresponding to each partition; A display module is used to use the target read / write speed as the read / write speed of the flash memory and output it to a mass production tool interface for display.
4. The flash memory pre-classification device according to claim 3, characterized in that: The reading module is used to confirm the target block of the current partition based on the partition information, including: The number of Planes bound to the current partition is confirmed according to the partition information, and the same number of target blocks are selected from each of the Planes.
5. An electronic device comprising: processor; as well as A memory having executable codes stored thereon, wherein when the executable codes are executed by the processor, the processor is caused to execute the flash memory pre-classification method as claimed in any one of claims 1 to 2.
6. A computer-readable storage medium, characterized in that: An executable code is stored, and when the executable code is executed by a processor of an electronic device, the processor is caused to execute the flash memory pre-classification method according to any one of claims 1 to 2.
Citation Information
Patent Citations
Data processing method and electronic device based on solid state disk (SSD)
CN103677653A
Method for evaluating NOR and NAND flash memory performance
CN106683709A