Data management method, electronic equipment and storage medium
By dividing word line group and counting read interference on the target memory block of the storage device, the problem that the storage device is susceptible to read interference is solved, and the fine management of each word line group is realized, which reduces the impact of data management frequency and performance.
Patent Information
- Application Number
- CN202311004006.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-09
- Publication Date
- 2025-02-18
AI Technical Summary
Storage devices are easily affected by read interference, resulting in performance degradation. Existing solutions such as scanning, garbage collection or refresh can cause write bandwidth reduction and write amplification, consuming the life of Block programming and erasing times.
By reading the target word lines of the target memory block of the storage device and dividing them into multiple word line groups, the word line groups are counted separately based on the reading of the target word line, and the read interference coefficient table is used. Perform comprehensive counting to finely manage wordline groups to reduce unnecessary data security scanning, garbage collection or data refresh.
The fine management of each word line group is realized, the frequency and range of data management is reduced, the impact on the performance of the storage device is reduced, and the life of the memory block programming and erasing times is extended.
Smart Images

Figure CN119479742A_ABST
Abstract
Description
Technical Field
[0001] The present application is applied to the technical field of data processing, in particular to data management methods, electronic devices and storage media. Background Art
[0002] The storage device includes multiple storage blocks (Blocks, or data blocks). The storage device may generate read interference during the reading process.
[0003] In order to solve the problem of read disturbance, the existing solution is to set a read count counter for each block. When the read count reaches a threshold, the entire block is scanned, refreshed, or garbage collected.
[0004] However, whether it is scanning, garbage collection or refreshing, it will cause the performance of the storage device to decline, specifically resulting in a reduction in write bandwidth, and at the same time increase write amplification, consuming the life of block programming and erasure times. Summary of the invention
[0005] The present application provides a data management method, an electronic device, and a storage medium to solve the problem that the storage device is easily affected by read disturbance, resulting in performance degradation.
[0006] To solve the above technical problems, the present application provides a data management method, including: reading a target word line of a target storage block of a storage device; wherein the target storage block is divided into a plurality of word line groups in sequence according to the word lines; based on the reading of the target word line, performing read disturbance counting on each word line group respectively, so as to perform data management on the target storage block.
[0007] The step of reading the target word line of the target storage block of the storage device includes: dividing all the word lines of the target storage block into a plurality of word line groups in sequence based on the buffer layer of the storage device and the number of word lines of the target storage block.
[0008] The step of performing read interference counting on each word line group based on the reading of the target word line to perform data management on the target storage block includes: using a read interference coefficient table to perform read interference counting on each word line group based on the reading of the target word line to perform data management on the target storage block; wherein the read interference coefficient table is obtained by comprehensively measuring the read interference coefficient of each word line group relative to other word line groups.
[0009] Among them, the steps of using a read interference coefficient table to perform read interference counts on each word line group based on the reading of the target word line to manage data on the target storage block include: based on the reading of the target word line, using the read interference coefficient table to perform read interference counts on each word line group to obtain and store the total effective count value of each word line group; based on the total effective count value of each word line group, performing data management on the target storage block.
[0010] Among them, based on the reading of the target word line, each word line group is respectively counted for read interference using a read interference coefficient table, and the steps of obtaining and storing the total effective count value of each word line group include: determining the word line group where the target word line is located as the first word line group, and counting the counter of the read interference of the first word line group based on the reading of the target word line to obtain the count value of the first word line group; using the read interference coefficient table and the count value of the first word line group, determining and storing the total effective count value of each word line group.
[0011] Among them, the step of determining and storing the total effective count value of each word line group using the read interference coefficient table and the count value of the first word line group includes: multiplying the count value of the first word line group with the read interference coefficient of each word line group relative to the first word line group in the read interference coefficient table to obtain the current effective count value of each word line group; adding the current effective count value of each word line group to the historical effective count value of each word line group to obtain and store the total effective count value of each word line group.
[0012] Among them, the steps of using a read interference coefficient table to perform read interference counts on each word line group based on the reading of a target word line to manage data on a target storage block include: determining the word line group where the target word line is located as a first word line group, counting a counter for read interference on the first word line group based on the reading of the target word line, and obtaining and storing the count value of the first word line group; and based on the count value of the first word line group, using the read interference coefficient table to manage data on the target storage block.
[0013] Among them, based on the count value of the first word line group, the step of using the read interference coefficient table to manage data on the target storage block includes: multiplying the count value of the first word line group with the read interference coefficient of each word line group relative to the first word line group in the read interference coefficient table to obtain the current valid count value of each word line group; adding the current valid count value of each word line group to the historical valid count value of each word line group to obtain and store the total valid count value of each word line group; based on the total valid count value of each word line group, managing data on the target storage block.
[0014] Among them, based on the reading of the target word line, each word line group is respectively counted for read interference using a read interference coefficient table to obtain the total effective count value of each word line group. The step also includes: in response to the existence of the second word line group being disturbed by the read interference of the target word line, a counter for reading interference on the second word line group is counted to obtain the count value of the second word line group; the count value of the second word line group is multiplied by the read interference coefficient of the second word line group relative to itself in the read interference coefficient table to obtain the current effective count value of the second word line group; the current effective count value of the second word line group is respectively added to the historical effective count value of the second word line group to obtain the total effective count value of the second word line group; wherein, when the target word line is the boundary of the word line group and the target word line is adjacent to the target word line group, the target word line group is determined to be the second word line group.
[0015] Among them, the step of performing data management on the target storage block based on the total valid count value of each word line group includes: in response to the total valid count value of the existing word line group exceeding the corresponding first threshold, scanning the word line group whose total valid count value exceeds the corresponding first threshold to obtain the scanning error rate, in response to the scanning error rate exceeding the corresponding second threshold, performing garbage collection on the word line group or the target storage block; in response to the total valid count value of the existing word line group exceeding the corresponding third threshold, performing garbage collection on the word line group or the target storage block.
[0016] To solve the above technical problems, the present invention further provides an electronic device, comprising a memory and a processor coupled to each other, wherein the processor is used to execute program instructions stored in the memory to implement any of the above data management methods.
[0017] In order to solve the above technical problems, the present invention further provides a computer-readable storage medium on which program instructions are stored, and when the program instructions are executed by a processor, the data management method as described in any one of the above items is implemented.
[0018] To solve the above technical problems, the present application provides a data management method in which a target storage block is divided into a plurality of word line groups in sequence according to word lines, and after reading a target word line of a target storage block of a storage device, a read disturbance count is performed on each word line group based on the reading of the target word line to perform data management on the target storage block, thereby achieving fine management of each word line group, reducing unnecessary data security scans, garbage collection or data refreshes, improving the targetedness of data management for each word line group, and thereby reducing the frequency of data management, and can also reduce the scope of data management, and reduce the impact of data management on the performance of the storage device. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 It is a flowchart of an embodiment of the method for managing application data;
[0020] Figure 2It is a flowchart of an embodiment of the method for managing application data;
[0021] Figure 3 is a schematic diagram of an implementation method of word line group division;
[0022] Figure 4 is a schematic diagram of an implementation method of reading an interference coefficient table;
[0023] Figure 5 yes Figure 2 A schematic diagram of a flow chart of an implementation method of using a read interference coefficient table in an embodiment;
[0024] Figure 6 yes Figure 2 A flow chart of another implementation method of using a read interference coefficient table in the embodiment;
[0025] Figure 7 It is a schematic diagram of the framework of an embodiment of the electronic device of the present application;
[0026] Figure 8 A schematic diagram of a framework of an embodiment of a computer-readable storage medium of the present application. DETAILED DESCRIPTION
[0027] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0028] It should be noted that if the embodiments of the present application involve directional indications (such as up, down, left, right, front, back...), the directional indications are only used to explain the relative position relationship, movement status, etc. between the components under a certain specific posture (as shown in the accompanying drawings). If the specific posture changes, the directional indication will also change accordingly.
[0029] In addition, if there are descriptions involving "first", "second", etc. in the embodiments of the present application, the descriptions of "first", "second", etc. are only used for descriptive purposes and cannot be understood as indicating or suggesting their relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In addition, the technical solutions between the various embodiments can be combined with each other, but they must be based on the ability of ordinary technicians in the field to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by this application.
[0030] See also Figure 1 , Figure 1 It is a flowchart of an embodiment of the management method of application data.
[0031] Step S11: reading a target word line of a target storage block of a storage device.
[0032] The storage device may include but is not limited to a solid state drive or other storage device using Nand Flash (non-volatile memory) as a storage medium. The storage device has multiple storage blocks (Blocks, or data blocks). Each storage block is provided with multiple word lines (Wordlines).
[0033] The target word line of the target storage block of the storage device is read, the target word line is the word line to be read in this read operation, and the target storage block is the storage block where the word line is located. Specifically, when a target word line is read, a read operation is performed on a page in the target word line in the target storage block.
[0034] Step S12: Based on the reading of the target word line, read disturbance counts are performed on each word line group respectively to perform data management on the target memory block.
[0035] In this embodiment, all word lines of each storage block of the storage device are divided in sequence to obtain multiple word line groups of each storage block. The division of the word line group can be arbitrarily set according to the position order of each word line. Since different conduction voltages are generally applied to different word lines of the storage block when a certain storage block is read, this method causes the word line adjacent to the target word line to be read to be subjected to stronger read interference, while the word line not adjacent to the target word line is subjected to weaker read interference. The word line group divided based on the position order of each word line can concentrate the influence of the read interference to a certain extent, so that the read interference count setting of the word line group can characterize the actual read interference of multiple word lines under the word line group to a certain extent.
[0036] The data management in this embodiment includes one or more of data scanning, garbage collection, and data refreshing.
[0037] During the reading process of the target storage block, each word line group is counted separately, and data management of the target storage block is performed based on the result of the separate counting of each word line group, thereby realizing fine management of each word line group, reducing unnecessary data security scanning, garbage collection or data refresh, and improving the targetedness of data management for each word line group, thereby reducing the frequency of data management and reducing the impact of data management on the performance of the storage device.
[0038] The data management of the target storage block may be specifically performed on the entire target storage block or a corresponding single word line group.
[0039] In a specific application scenario, when the counting result of a word line group exceeds a preset threshold, it means that there is a reliability risk in the data in the word line group, and data management can be performed on the target storage block. The above scheme changes the basis for starting data management from the counting result of the target block to the counting result of the word line group, which can make the start of data management more accurately characterize the reliability risk of the data, thereby reducing the frequency of data management and reducing the impact of data management on the performance of the storage device.
[0040] In a specific application scenario, when the counting result of a word line group exceeds a preset threshold, it means that there is a reliability risk in the data in the word line group. Data management can be performed on the word line group separately instead of the entire storage block, thereby further reducing the scope of data management and further reducing the impact of data management on the performance of the storage device.
[0041] Through the above steps, the data management method of this embodiment divides the target storage block into multiple word line groups according to the word lines in sequence, and after reading the target word lines of the target storage block of the storage device, based on the reading of the target word lines, respectively performs read interference counts on each word line group to manage the data of the target storage block, thereby achieving fine management of each word line group, reducing unnecessary data security scanning, garbage collection or data refresh, improving the targetedness of data management for each word line group, and thus reducing the frequency of data management, and can also reduce the scope of data management, reduce write amplification, ensure the life of storage block programming, maintain the number of erase times, and reduce the impact of data management on the performance of the storage device.
[0042] See also Figure 2 , Figure 2 It is a flowchart of an embodiment of the management method of application data.
[0043] Step S21: reading a target word line of a target storage block of a storage device.
[0044] This step is the same as step S11 in the aforementioned embodiment, please refer to the above text.
[0045] Before the step of reading the target word line of the target storage block of the storage device, the method includes: dividing all word lines of the target storage block into a plurality of word line groups in sequence based on a preset rule. The preset rule includes one or more of an equal division rule, a quantity requirement of each word line group, a position of a buffer layer of the storage device, or a manually set rule, which is not limited here.
[0046] Among them, due to manufacturing process limitations, storage devices sometimes have some buffer layers (DMY) between physically or logically adjacent word lines. These buffer layers do not store any data, so the read interference on them has almost no effect. Therefore, the buffer layer can be used as the boundary of the word line group to divide the word line group of the target storage block, so that the mutual interference between the word line groups on both sides of the buffer layer is greatly reduced.
[0047] See also Figure 3 , Figure 3 FIG. 1 is a schematic diagram of an implementation method of word line group division.
[0048] The target memory block A of this embodiment includes a plurality of word lines, and the positions of the plurality of word lines are in the following order: word line h, word line h+1, ..., word line n-3, word line n-2, word line n-1, word line n, word line n+1, word line n+2, word line n+3, ..., word line x, word line x+1, ..., word line m-1 and word line m. A buffer layer s is provided between word line x and word line x+1.
[0049] This embodiment uses the buffer layer s and the number of word lines of the target memory block A as preset rules to sequentially divide all word lines of the target memory block A into a plurality of word line groups. Specifically, in the first grouping scheme B, the buffer layer s is used as a boundary to divide all word lines of the target memory block A into two word line groups, namely, word line group a and word line group b, wherein the range of word line group b is word line x+1-word line m, and the range of word line group a is word line h-word line x. The first grouping scheme B is an illustration of division based only on the buffer layer s as a boundary.
[0050] In the second grouping scheme C, all word lines of the target storage block A are divided into four word line groups, namely word line group c, word line group d, word line group e and word line group f, wherein the range of word line group c is word line h-word line n-1, the range of word line group d is word line n-word line x, the range of word line group e is word line x+1-word line m-2, and the range of word line group f is word line m-1-word line m.
[0051] Among them, the word line group d and the word line group e are divided by the buffer layer s, but there is no buffer layer s between the word line group e and the word line group f and between the word line group c and the word line group d, so the boundary between the word line group e and the word line group f and between the word line group c and the word line group d can be determined based on the number of word lines of the target memory block A. For example: after determining a boundary based on the buffer layer s, the word lines on both sides of the boundary are evenly divided to obtain the above four word line groups.
[0052] The division method based on the number of word lines of the target storage block A can be equal division or arbitrary division to obtain multiple word line groups with a suitable number of word lines. In a specific application scenario, when a storage block has 20 word lines in total and the suitable number of word line groups is 5, the storage block can be divided into 4 word line groups, and so on, without limitation.
[0053] This embodiment only illustrates the division of word line groups and does not limit it. In other embodiments, a storage block may have multiple buffer layers or other numbers of word lines, and the storage block can be divided into word line groups of other numbers or sizes, but each buffer layer serves as a boundary to divide the word line groups.
[0054] Through the above division method, before the read operation, all storage blocks of the storage device are divided to obtain corresponding multiple word line groups.
[0055] Step S22: using the read disturbance coefficient table, based on the reading of the target word line, respectively perform read disturbance counts on each word line group to perform data management on the target memory block.
[0056] The read disturbance coefficient table is obtained by measuring the read disturbance coefficient of each word line group relative to other word line groups and synthesizing them.
[0057] When a target word line in a storage block is read, read interference will be generated on all word lines in the entire storage block. Due to the difference in position between the word lines, the degree of read interference will be different. The closer the word line is to the target word line being read, the greater the degree of read interference. Based on this, this embodiment measures the strength of the read interference by setting a read interference coefficient table.
[0058] By testing the storage device, the read interference situation of each word line group relative to other word line groups is determined, and the corresponding read interference coefficient is obtained based on the read interference situation mapping. Finally, the read interference coefficient of each word line group relative to other word line groups is combined to obtain a read interference coefficient table.
[0059] See also Figure 4 , Figure 4 2 is a schematic diagram of an implementation method of reading an interference coefficient table.
[0060] The read disturbance coefficient table 100 of this embodiment is illustrated by taking the memory block having n word line groups as an example, specifically including: the zeroth word line group 0, the first word line group 1, ..., the Nth word line group n.
[0061] Wherein, Rij is the read interference coefficient for the jth word line group when reading the ith word line group. i and j can be any number from 0 to n. For example: R11 is the read interference coefficient for the zeroth word line group 0 itself when reading the zeroth word line group 0. R12 is the read interference coefficient for the first word line group 1 when reading the zeroth word line group 0.
[0062] In a specific application scenario, the read interference coefficient of Rii can be set to 1, that is, the read interference coefficient of the word line group to which the target word line belongs, and the read interference coefficient of Rij can be set to a fixed value less than 1, that is, the read interference coefficient of the word line group without the target word line, where j is not equal to i, and is specifically set based on actual test results and algorithm complexity. That is, the read interference coefficient of each word line group when it is read is set to 1, and the read interference coefficient of each word line group when other word line groups are read is set to less than 1.
[0063] In a specific application scenario, since each word line group may have different effects on the performance of the storage block in which it is located, the read interference coefficient of each word line group when it is read can be set separately, that is, different word line groups have different read interference coefficients when they are read. Figure 3 Taking the first grouping scheme B as an example, the read disturbance coefficient of word line group a when word line group a is read can be set to 2, and the read disturbance coefficient of word line group b when word line group b is read can be set to 2.5. The specific read disturbance coefficient is set based on the actual situation.
[0064] The determination method of each read disturbance coefficient in the read disturbance coefficient table can be specifically measured by measuring the data error rate generated by each word line to other word lines after reading. The data error rate can be reflected by data such as raw bit error rate (RBER), VT offset or FBC parameter.
[0065] In a specific application scenario, each read interference coefficient can be determined by measuring the raw bit error rate (RBER). The number of reads is taken as the horizontal axis and the raw bit error rate is taken as the vertical axis to construct a coordinate system. As the number of reads increases, the raw bit error rate will gradually increase. In a specific application scenario, each read interference coefficient can also be determined by measuring the VT offset. The VT offset is taken as the horizontal axis and the number of reads is taken as the vertical axis to construct a coordinate system.
[0066] After the coordinate system is constructed, the specific method for determining the read disturbance coefficient is as follows:
[0067] This embodiment uses Figure 3The specific determination method of the read interference coefficient is explained by taking the word line group of word line group a as an example. For example: when reading word line n of word line group a, the original bit error rate of word line n+1 and word line n-1 belonging to the same word line group a and adjacent to it will have a certain change trend in the coordinate system, assuming that the change trend is the first curve. Since word line n, word line n+1 and word line n-1 all belong to word line group a, the first curve can characterize the read interference to word line group a when reading word lines in word line group a to a certain extent, that is, the change trend of the first curve is used as the Rii coefficient benchmark of word line group a.
[0068] Then read word line m of word line group b. At this time, the original bit error rates of word line n+1 and word line n-1 in word line group a will change again. This change trend is used as the second curve. The second curve can be used to characterize the read interference of word line group a when reading word line m in word line group b. By normalizing the second curve and the first curve and then comparing them, that is, taking the first curve as a reference, the read interference coefficient of word line group b relative to word line group a can be characterized to a certain extent. The above comparison idea is only for illustration and not for limitation.
[0069] In the actual measurement process, the curve change trend of each other word line can be measured according to the above comparison method after each word line is read, and then normalized and compared to obtain the read interference coefficient of each word line relative to other word lines. Finally, based on the division of word line groups, the read interference coefficients corresponding to the word lines in each word line group are averaged, maximized, or processed with variance, etc. to obtain the read interference coefficients of each word line group relative to other word line groups. It is also possible to measure the read interference coefficients corresponding to the word lines with the largest curve change trend in the group based on the division of word line groups after each word line is read, and directly use them as the read interference coefficients of the corresponding word line group. No limitation is made here.
[0070] In a specific application scenario, each read interference coefficient in the read interference coefficient table 100 may be represented by a floating point number, but in the specific process of using the read interference coefficient count, the read interference coefficient to be used can be adjusted to the nearest integer under the condition of ensuring the ratio, so as to reduce the table overhead. For example, for two word line groups, the read interference coefficient actually measured is Rij=0.23 (i!=j), Rii=1, and the above two read interference coefficients can be approximated as Rij=1, Rii=4, and the corresponding thresholds (first threshold, second threshold and third threshold) for determining whether to perform data management can be changed accordingly according to this ratio, thereby reducing the table overhead under the condition of ensuring the accuracy of counting judgment.
[0071] After the read disturbance coefficient table is set, after the target word line is read, the read disturbance coefficient table is used to perform read disturbance counts on each word line group respectively, so as to perform data management on the target storage block. Specifically, the read disturbance counts are performed on each word line group respectively using the read disturbance coefficient of the word line group where the target word line is located relative to all word line groups, and then it is determined whether the counted word line group exceeds the corresponding preset threshold. If it exceeds, data management is performed on the target storage block, that is, scanning, garbage collection or refreshing. If it does not exceed, data management is not performed.
[0072] Please refer to Figure 5 , Figure 5 yes Figure 2 Schematic diagram of a flow chart of an implementation method of using a read interference coefficient table in an embodiment. Steps S31-S33 of this embodiment are sub-steps of a specific implementation method of step S22 of the above embodiment.
[0073] Step S31: Based on the reading of the target word line, read disturbance counts are performed on each word line group using a read disturbance coefficient table to obtain and store a total effective count value of each word line group.
[0074] The word line group where the target word line is located is determined as the first word line group. Figure 3 The second grouping scheme C in the embodiment is used as an example for description. When the target word line to be read is word line n, the word line group d where word line n is located is determined as the first word line group.
[0075] Since the target word line is located in the first word line group, the counter of the first word line group is counted for read disturbance to obtain the count value of the first word line group. Specifically, the counter count of the first word line group is increased by 1 to obtain the count value RDC(i) of the first word line group.
[0076] Then, the total effective count value of each word line group is determined and stored by using the read interference coefficient table and the count value of the first word line group. Since the read interference strength of the target word line to each word line group is different, the reading of the target word line can directly add 1 to the counter of the first word line group, but cannot directly add 1 to the counters of other word line groups. Therefore, it is necessary to use the read interference coefficient to measure the effective count value of each word line group for accumulation.
[0077] Specifically, the count value of the first word line group is multiplied by the read disturbance coefficient of each word line group relative to the first word line group in the read disturbance coefficient table to obtain the current effective count value of each word line group, and then the current effective count value of each word line group is added to the historical effective count value of each word line group to obtain and store the total effective count value of each word line group. Formula (1) is as follows:
[0078]
[0079] Wherein, SRDC() is the effective count value, RDC() is the count value of the counter, and Rji is the read interference coefficient of the i-th word line group when reading the j-th word line group. i and j can be any number from 0 to n, and n is the number of word line groups from 0 to the entire storage block.
[0080] The count value of the first word line group is multiplied by the read disturbance coefficient of each word line group relative to the first word line group in the read disturbance coefficient table by the above formula to obtain the total effective count value of each word line group.
[0081] In a specific application scenario, Figure 3 Take word line group d in as an example to illustrate, when the target word line belongs to word line group d, word line group c adjacent to word line group d will be subject to read interference, assuming that the corresponding read interference coefficient is 0.5, and in the reading of the target word line this time, the current effective count value of word line group c is 1*0.5, which is 0.5, and then 0.5 is added to the historical effective count value of word line group c to obtain its total effective count value. If there is a buffer layer between word line group e and word line group d, the read interference received will be smaller, assuming that the corresponding read interference coefficient is 0.1, and in the reading of the target word line this time, the current effective count value of word line group e is 1*0.1, which is 0.1, and then 0.1 is added to the historical effective count value of word line group e to obtain its total effective count value.
[0082] The read disturbance coefficient table and the above formula are used to perform read disturbance counts on each word line group respectively, and the total effective count value of each word line group is obtained and stored.
[0083] Among them, this embodiment stores the total effective count value of each word line group, so when a word line group exceeds a preset threshold, the word line group can be directly erased without worrying about the read interference of the word line group to other word line groups. This is because, after each target word line is read, this embodiment calculates the total effective count value of the target word line read for all word line groups and stores it, that is, the read interference between word line groups has been stored through the total effective count value, so direct erasure of a single word line group can be achieved.
[0084] Step S32: In response to the second word line group being disturbed by the read of the target word line, determining a total valid count value of the second word line group.
[0085] When the target word line is at the boundary of the word line group, and the target word line is adjacent to the target word line group, the target word line group is determined as the second word line group. Figure 3For example, when the target word line to be read is word line x, word line x is the boundary of word line group d, but it is not adjacent to other word line groups, but is adjacent to buffer layer s, in this case, there is no second word line group. When the target word line to be read is word line n, word line n is the boundary of word line group d and is adjacent to word line group c, then word line group c is determined to be the second word line group.
[0086] Since the severity of the read disturbance is related to the position between each word line group and the target word line, when the target word line is the boundary of the word line group and the target word line is adjacent to the target word line group, the actual degree of read disturbance to the target word line group is also large, which is similar to the degree of read disturbance of the first word line group where the target word line is located. In this case, the read disturbance situation of the target word line group needs to be calculated separately, and the target word line group is first determined to be the second word line group.
[0087] The counter for performing read interference on the second word line group is counted to obtain the count value of the second word line group, that is, the counter count of the second word line group is increased by 1 to obtain the count value of the second word line group. The count value of the second word line group is multiplied by the read interference coefficient of the second word line group relative to itself in the read interference coefficient table to obtain the current effective count value of the second word line group. Since the second word line group is adjacent to the target word line, the read interference it receives is similar to the word line adjacent to the other side of the target word line in the first word line group. Therefore, in this special case, the read interference calculation is performed according to the situation that the second word line group itself is read. Finally, the current effective count value of the second word line group is added to the historical effective count value of the second word line group respectively to obtain the total effective count value of the second word line group.
[0088] If there is no second word line group in the reading of the target word line, that is, the target word line is not the boundary of the first word line group or the target word line is the boundary of the first word line group but not adjacent to other word line groups, step S32 may not be performed, that is, only the counter of the first word line group is incremented by 1. The case where the target word line is the boundary of the first word line group but not adjacent to other word line groups includes the case where the boundary of the target word line is adjacent to the buffer layer and the case where the boundary of the target word line is the boundary of the storage block.
[0089] Step S33: performing data management on the target memory block based on the total valid count value of each word line group.
[0090] After obtaining the total effective count value of each word line group, the total effective count value of each word line group is compared with the first threshold and the third threshold respectively. In response to the total effective count value of the word line group exceeding the corresponding first threshold, a data security scan is performed on the word line group whose total effective count value exceeds the corresponding first threshold to obtain a scan error rate. In response to the scan error rate exceeding the corresponding second threshold, garbage collection is performed on the word line group or the target storage block. When the total effective count value of a word line group reaches the first threshold, the data of the word line group is scanned; if other word line groups do not reach the threshold, they are not scanned. When the scan error rate scanned in the data security scan is greater than the corresponding second threshold, garbage collection or data refresh is performed on the word line group or the entire storage block.
[0091] When there is no total valid count value of the word line group exceeding the corresponding first threshold, no scanning is performed, and when the scanning error rate does not exceed the corresponding second threshold, no garbage collection is performed on the word line group or the target memory block.
[0092] In response to the total valid count value of the existing word line group exceeding the corresponding third threshold, garbage collection is performed on the word line group or the target memory block. When a certain word line group reaches the corresponding third threshold, the data of the word line group can be garbage collected; if other word line groups do not reach the third threshold, garbage collection can be selected not to be performed. When the total valid count value of the non-existent word line group exceeds the corresponding third threshold, garbage collection is not performed on the word line group or the target memory block.
[0093] Among them, the third threshold is generally defined by the standard of Single Page Read Disturb (single page read disturbance) of the NAND original factory. The first threshold and the second threshold can be set based on the actual anti-interference ability of each word line group of the target block. The process of garbage collection refers to that after determining that a certain word line group or storage block needs to be garbage collected, the word line group or storage block is first marked, and then erased according to a preset frequency or preset time, that is, the actual garbage collection time can be carried out according to a preset frequency or preset time, and only invalid data can be marked after the threshold judgment. Then, step S33 of this embodiment is based on the total valid count value of each word line group, and the data management of the target storage block can also be carried out according to a preset frequency or preset time, rather than after each target word line is read. However, in other embodiments, step S33 can also be performed after each target word line is read.
[0094] The above scheme divides the storage block into several word line groups according to the word line, and counts the number of reads respectively. This algorithm can distinguish the word line group with a higher risk of data loss due to read interference and the word line group with a lower risk of data loss due to read interference, while ensuring data reliability, thereby reducing unnecessary data security scans, garbage collection or data refresh, and reducing the impact of read interference on system-level performance. In addition, after each read operation in this embodiment, the total effective count value of each word line group is calculated and stored, so that the read interference between word line groups is stored through the total effective count value, so that when garbage collection is performed, a certain word line group can be erased separately without worrying about the read interference of the word line group to other word line groups not being retained.
[0095] Please refer to Figure 6 , Figure 6 yes Figure 2 Schematic diagram of another implementation of the flow chart using the read interference coefficient table in the embodiment. Steps S41-S42 of this embodiment are sub-steps of another specific implementation of step S22 of the above embodiment.
[0096] Step S41: determining the word line group where the target word line is located as the first word line group, counting the counter of the first word line group for read disturbance based on the reading of the target word line, and obtaining and storing the count value of the first word line group.
[0097] The word line group where the target word line is located is determined as the first word line group. Since the target word line is located in the first word line group, the counter of the first word line group is counted for read disturbance to obtain the count value of the first word line group. Specifically, the counter count of the first word line group is increased by 1 to obtain the count value RDC(i) of the first word line group.
[0098] At this time, in this step, the count value of the first word line group is directly stored, and before the target storage block needs to be managed for data later, the total effective count value of each word line group is calculated in real time based on the count value of the first word line group and the read interference coefficient table, and then the subsequent judgment is performed, which can reduce the storage amount of the count data and the calculation amount of the entire counting step, and improve the technical efficiency of the entire counting process. That is, in this embodiment, the total effective count value of each word line group will not be calculated after each read operation, but only the count value of the first word line group is calculated, and the total effective count value of each word line group is calculated in real time before the target storage block needs to be managed for data later, and then the subsequent judgment is performed, wherein the need to manage the data of the target storage block can be based on the preset frequency or preset time of erasure of garbage collection, and in this process, the storage amount of the count data and the calculation amount of the entire counting step can be reduced, and the technical efficiency of the entire counting process can be improved.
[0099] Step S42: Based on the count value of the first word line group, use the read disturbance coefficient table to perform data management on the target memory block.
[0100] In response to the existence of read interference of the target word line on the second word line group, a counter for read interference on the second word line group is counted to obtain a count value of the second word line group, that is, the counter count of the second word line group is increased by 1 to obtain a count value of the second word line group. In the case where the target word line is a boundary of the word line group and the target word line is adjacent to the target word line group, the target word line group is determined to be the second word line group.
[0101] The count value of the second word line group is multiplied by the read interference coefficient of the second word line group relative to itself in the read interference coefficient table to obtain the current effective count value of the second word line group. Since the second word line group is adjacent to the target word line, the read interference it receives is similar to that of the word line adjacent to the other side of the target word line in the first word line group. Therefore, in this special case, the read interference calculation is performed according to the situation in which the second word line group itself is read. Finally, the current effective count value of the second word line group is added to the corresponding historical effective count value of the second word line group to obtain the total effective count value of the second word line group.
[0102] If there is no second word line group in the reading of the target word line, that is, the target word line is not the boundary of the first word line group or the target word line is the boundary of the first word line group but not adjacent to other word line groups, only the counter of the first word line group is incremented by 1. The case where the target word line is the boundary of the first word line group but not adjacent to other word line groups includes the case where the boundary of the target word line is adjacent to the buffer layer and the boundary of the target word line is the boundary of the storage block.
[0103] Specifically, the count value of the first word line group is multiplied by the read interference coefficient of each word line group relative to the first word line group in the read interference coefficient table to obtain the current valid count value of each word line group; the current valid count value of each word line group is added to the corresponding historical valid count value of each word line group to obtain and store the total valid count value of each word line group; based on the total valid count value of each word line group, data management is performed on the target storage block.
[0104] Specifically, the count value of the first word line group is multiplied by the read interference coefficient of each word line group relative to the first word line group in the read interference coefficient table using formula (1) to obtain the current valid count value of each word line group, and then the current valid count value of each word line group is added to the corresponding historical valid count value of each word line group to obtain and store the total valid count value of each word line group.
[0105] Data management is performed on the target memory block based on the total valid count value of each word line group.
[0106] After obtaining the total effective count value of each word line group, the total effective count value of each word line group is compared with the first threshold and the third threshold respectively. In response to the total effective count value of the word line group exceeding the corresponding first threshold, the word line group whose total effective count value exceeds the corresponding first threshold is scanned to obtain the scanning error rate. In response to the scanning error rate exceeding the corresponding second threshold, the word line group or the target storage block is garbage collected. When the total effective count value of a word line group reaches the first threshold, the data of the word line group is scanned; if other word line groups do not reach the threshold, they are not scanned. When the error rate scanned in the data security scan is greater than the corresponding second threshold, the word line group or the entire storage block is garbage collected or data refreshed.
[0107] When there is no total valid count value of the word line group exceeding the corresponding first threshold, no scanning is performed, and when the scanning error rate does not exceed the corresponding second threshold, no garbage collection is performed on the word line group or the target memory block.
[0108] In response to the total valid count value of the existing word line group exceeding the corresponding third threshold, garbage collection is performed on the word line group or the target memory block. When a certain word line group reaches the corresponding third threshold, the data of the word line group can be garbage collected; if other word line groups do not reach the third threshold, garbage collection can be selected not to be performed. When the total valid count value of the non-existent word line group exceeds the corresponding third threshold, garbage collection is not performed on the word line group or the target memory block.
[0109] Among them, the third threshold is generally defined by the Single Page Read Disturb standard of the NAND original factory. The first threshold and the second threshold can be set based on the actual anti-interference ability of each word line group of the target block. The process of garbage collection refers to that after determining that a certain word line group or storage block needs to be garbage collected, the word line group or storage block is first marked, and then erased according to a preset frequency or preset time, that is, the actual garbage collection time can be carried out according to a preset frequency or preset time, and only invalid data can be marked after the threshold judgment. Then, based on the total valid count value of each word line group in this embodiment, data management of the target storage block can also be carried out according to a preset frequency or preset time, rather than after each target word line is read. However, in other embodiments, the above steps can also be performed after each target word line is read.
[0110] The above scheme divides the storage block into several word line groups according to the word line, and counts the number of reads respectively. This algorithm, under the premise of ensuring data reliability, can distinguish between word line groups with higher risk of data loss due to read interference and word line groups with lower risk of data loss due to read interference, thereby reducing unnecessary data security scans, garbage collection or data refreshes, and reducing the impact of read interference on system-level performance. In addition, after each read operation, this embodiment only calculates and stores the count value of the first word line group. Before the target storage block needs to be managed for data in the future, the total effective count value of each word line group is calculated based on the count value of the first word line group and the read interference coefficient table, and then subsequent judgments are made, which can reduce the storage amount of count data and the amount of calculation of the entire counting step, and improve the technical efficiency of the entire counting process.
[0111] See also Figure 7 , Figure 7 : is a schematic diagram of a framework of an embodiment of an electronic device of the present application. The electronic device 70 includes a memory 71 and a processor 72 coupled to each other, and the processor 72 is used to execute program instructions stored in the memory 71 to implement the steps of the above method embodiment. In a specific implementation scenario, the electronic device 70 may include but is not limited to: a microcomputer, a server, and in addition, the electronic device 70 may also include a laptop, a tablet computer, Nand Flash, etc., which are not limited here.
[0112] Specifically, the processor 72 is used to control itself and the memory 71 to implement the steps of any of the above method embodiments. The processor 72 can also be called a CPU (Central Processing Unit). The processor 72 may be an integrated circuit chip with signal processing capabilities. The processor 72 can also be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field-programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. In addition, the processor 72 can be implemented by an integrated circuit chip.
[0113] The above solution can reduce the occurrence of write amplification and improve the host write speed and access speed of the storage device.
[0114] See also Figure 8 , Figure 8The schematic diagram of the framework of an embodiment of a computer-readable storage medium of the present application is as follows: The computer-readable storage medium 80 stores program instructions 801 that can be executed by a processor, and the program instructions 801 are used to implement the steps of any of the above method embodiments.
[0115] In the several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device implementation described above is only schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation, such as units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.
[0116] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0117] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0118] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) or a processor (processor) to perform all or part of the steps of each implementation method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.
[0119] The above are only implementation methods of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A data management method, characterized in that: The data management method includes: Reading a target word line of a target storage block of a storage device; wherein the target storage block is divided into a plurality of word line groups in sequence according to the word lines; Based on the reading of the target word line, read disturbance counts are performed on each of the word line groups respectively to perform data management on the target storage block.
2. The data management method according to claim 1, characterized in that: The step of reading a target word line of a target storage block of a storage device comprises: Dividing all word lines of the target storage block into a plurality of word line groups in sequence based on a preset rule; The preset rules include one or more of an equal distribution rule, a quantity requirement for each word line group, and a position of a buffer layer of the storage device.
3. The data management method according to claim 2, characterized in that: The step of performing read disturbance counting on each word line group based on the reading of the target word line to perform data management on the target storage block includes: Using a read disturbance coefficient table, based on the reading of the target word line, respectively performs read disturbance counting on each word line group, so as to perform data management on the target storage block; The read disturbance coefficient table is obtained by measuring the read disturbance coefficient of each word line group relative to other word line groups and synthesizing them.
4. The data management method according to claim 3, characterized in that: The step of using the read disturbance coefficient table to perform read disturbance counting on each word line group based on the reading of the target word line to perform data management on the target storage block includes: Based on the reading of the target word line, using the read disturbance coefficient table to perform read disturbance counts on each of the word line groups respectively, and obtaining and storing a total effective count value of each of the word line groups; Data management is performed on the target memory block based on the total valid count value of each word line group.
5. The data management method according to claim 4, characterized in that: The step of performing read disturbance counts on each of the word line groups based on the reading of the target word line using the read disturbance coefficient table to obtain and store the total effective count value of each of the word line groups comprises: Determine the word line group where the target word line is located as a first word line group, count the counter of the first word line group for read disturbance based on the reading of the target word line, and obtain the count value of the first word line group; The total effective count value of each word line group is determined and stored using the read disturbance coefficient table and the count value of the first word line group.
6. The data management method according to claim 5, characterized in that: The step of determining and storing the total valid count value of each word line group by using the read disturbance coefficient table and the count value of the first word line group comprises: Multiplying the count value of the first word line group by the read disturbance coefficient of each word line group relative to the first word line group in the read disturbance coefficient table to obtain a current valid count value of each word line group; The current valid count value of each word line group is added to the historical valid count value of each word line group respectively, so as to obtain and store the total valid count value of each word line group.
7. The data management method according to claim 3, characterized in that: The step of using the read disturbance coefficient table to perform read disturbance counting on each word line group based on the reading of the target word line to perform data management on the target storage block includes: Determine the word line group where the target word line is located as a first word line group, count the counter of the first word line group for read disturbance based on the reading of the target word line, and obtain and store the count value of the first word line group; Based on the count value of the first word line group, data management is performed on the target storage block using a read disturbance coefficient table.
8. The data management method according to claim 7, characterized in that: The step of managing data of the target storage block by using a read disturbance coefficient table based on the count value of the first word line group comprises: Multiplying the count value of the first word line group by the read disturbance coefficient of each word line group relative to the first word line group in the read disturbance coefficient table to obtain a current valid count value of each word line group; Adding the current valid count value of each word line group to the historical valid count value of each word line group respectively, to obtain and store the total valid count value of each word line group; Data management is performed on the target memory block based on the total valid count value of each word line group.
9. The data management method according to any one of claims 3 to 8, characterized in that: The step of performing read disturbance counts on each of the word line groups based on the reading of the target word line using the read disturbance coefficient table to obtain a total effective count value of each of the word line groups further includes: In response to the existence of read interference of the target word line on the second word line group, counting the counter performing read interference on the second word line group to obtain a count value of the second word line group; Multiplying the count value of the second word line group by the read disturbance coefficient of the second word line group relative to itself in the read disturbance coefficient table to obtain a current valid count value of the second word line group; Adding the current valid count value of the second word line group to the historical valid count value of the second word line group respectively, to obtain the total valid count value of the second word line group; When the target word line is a boundary of the word line group, and the target word line is adjacent to the target word line group, the target word line group is determined as the second word line group.
10. The data management method according to claim 4 or 8, characterized in that: The step of performing data management on the target storage block based on the total valid count value of each word line group comprises: In response to the total valid count value of the word line group exceeding the corresponding first threshold, scanning the word line group whose total valid count value exceeds the corresponding first threshold to obtain a scanning error rate, and in response to the scanning error rate exceeding the corresponding second threshold, performing garbage collection on the target storage block; In response to a total valid count value of the word line group exceeding a corresponding third threshold, garbage collection is performed on the target memory block.
11. An electronic device, characterized in that: It comprises a memory and a processor coupled to each other, wherein the processor is used to execute program instructions stored in the memory to implement the data management method according to any one of claims 1 to 10.
12. A computer-readable storage medium having program instructions stored thereon, characterized in that: When the program instructions are executed by a processor, the data management method according to any one of claims 1 to 10 is implemented.