Read disturb count method for storage components and electronic device

By identifying the current and last read blocks and updating the counts of the first and second read interference arrays, the problem of not being able to achieve fine-grained word-line level counting in the prior art is solved, reducing write amplification and improving the stability of solid-state drives.

CN120977358BActive Publication Date: 2025-12-12INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511508341.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-10-21
Publication Date
2025-12-12
Estimated Expiration
2045-10-21

AI Technical Summary

Technical Problem

Existing technologies cannot achieve fine-grained word-line level read interference counting, leading to excessive garbage collection and performance degradation, which is particularly severe in RAID stripes.

Method used

By identifying whether the currently read block is the same as the last read block, the counts of the first and second read interference arrays are updated, thus achieving word-line level read interference management and avoiding frequent global array updates.

Benefits of technology

It achieves word-line level read interference counting, reduces write amplification, improves the stability of solid-state drives, and optimizes performance and resource usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120977358B_ABST
    Figure CN120977358B_ABST
Patent Text Reader

Abstract

The application discloses a read interference counting method of a storage assembly and an electronic equipment, relates to the technical field of solid state disks, and comprises the following steps: identifying whether a currently read block and a last read block are the same, and if the blocks are the same, updating read interference counts of a first read interference array of the block according to read interference counts of word lines in the block, updating read interference counts of a second read interference array of the block according to the updated first read interference array, and recording the read interference counts of the block in the current die in the second read interference array; if the blocks are not the same, updating the read interference counts of the second read interference array according to a first variable of the first read interference array; and determining whether garbage collection is needed through the updated second read interference array, so that word line level counting is realized, the technical problem that related technologies cannot realize fine word line level counting and cause write amplification and performance decline due to excessive garbage collection is solved, and the technical effects of reducing write amplification and improving the stability of the solid state disk are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of solid state disk, and particularly relates to a read interference counting method of storage medium and electronic equipment. BACKGROUND

[0002] In the flash memory, when a page of a word line is frequently read, the voltage applied to turn on other cells on the same bit line will cause a "weak programming" effect on the storage cells of the adjacent word line, resulting in a drift of the threshold voltage, i.e. "read interference". The traditional solid state disk adopts a read interference management mechanism based on physical blocks, that is, a unified read interference threshold is set for each block, and the count is incremented by one every time a read operation occurs in the block, and the data migration of the entire block is triggered to eliminate the interference risk when the threshold is exceeded.

[0003] However, in order to ensure the data reliability in the worst case, the threshold value has to be set too low, resulting in unnecessary early recycling frequently occurring in the normal multi-word line balanced reading scene, significantly increasing the write amplification and affecting the performance. Especially when multiple physical blocks form a RAID (Redundant Array of Independent Disks) stripe, triggering recycling of a single block may cause the entire stripe to be migrated, further exacerbating the problem. In addition, in order to achieve more accurate word line level read interference counting, the existing cache and DRAM (Dynamic Random-Access Memory) resources are difficult to support such fine-grained counting management due to the limitation of a block containing hundreds of word lines. SUMMARY

[0004] The present application provides a read interference counting method of storage component and electronic equipment to at least solve the technical problems that fine-grained word line level counting cannot be realized in the related art, and excessive garbage collection causes write amplification and performance degradation.

[0005] The application provides a read interference counting method of a storage assembly, the storage assembly comprising a die, a block, a word line and a memory, a plurality of memories are connected in series to form a word line, longitudinal word lines and transverse word lines form a block, the block comprises a plurality of word lines, and the die comprises a plurality of blocks, wherein the method comprises: in response to a read operation of the block, identifying whether the current read block is the same as the last read block; if the current read block is the same as the last read block, updating the read interference count of a first read interference array of the current read block, and updating the read interference count of a second read interference array of the current read block according to the read interference count of the updated first read interference array, wherein the first read interference array records the read interference count of the word line in the current read block, and the second read interference array records the read interference count of the block in the current read die; if the current read block is not the same as the last read block, updating the read interference count of the second read interference array according to a first variable, wherein the first variable records an element value in the first read interference array, and the element value represents the read interference count of the word line.

[0006] The application also provides an electronic device, comprising: a storage assembly for storing a computer program, the storage assembly comprising a die, a block, a word line and a memory, a plurality of memories being connected in series to form a word line, longitudinal word lines and transverse word lines forming a block, the block comprising a plurality of word lines, and the die comprising a plurality of blocks; and a processor for executing the computer program to implement the steps of the read interference counting method of the above-mentioned storage assembly.

[0007] According to the application, by identifying whether the current read block is the same as the last read block, if the same, updating the read interference count of the first read interference array of the block according to the read interference count of the word line in the block, updating the read interference count of the second read interference array of the block according to the updated first read interference array, and the second read interference array recording the read interference count of the block in the current die; if not the same, updating the read interference count of the second read interference array according to the first variable of the first read interference array; and determining whether garbage collection is needed according to the updated second read interference array, the word line level counting is realized, so that the technical problems of related technologies, such as the inability to realize fine word line level counting and the performance decline caused by excessive garbage collection, can be solved, and the technical effects of reducing write amplification and improving the stability of the solid state disk are achieved. BRIEF DESCRIPTION OF DRAWINGS

[0008] In order to more clearly illustrate the embodiments of the application, the drawings needed in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can be obtained by those skilled in the art without creating laborious work.

[0009] Figure 1 A NAND flash read interference schematic diagram is provided for related technologies;

[0010] Figure 2 A flowchart of a read disturb count method of a storage component is provided for an embodiment of the present application;

[0011] Figure 3 A read disturb initialization flowchart is provided for an embodiment of the present application;

[0012] Figure 4 A read disturb count update flowchart is provided for an embodiment of the present application;

[0013] Figure 5 A block diagram of a read disturb count device of a storage component is provided for an embodiment of the present application;

[0014] Figure 6 A structural diagram of an electronic device is provided for an embodiment of the present application. DETAILED DESCRIPTION

[0015] The technical solutions in the embodiments of the present application will be clearly and completely described with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the protection scope of the present application.

[0016] It should be noted that, in the description of the present application, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such a process, method, article or device. The terms "first", "second" and the like in the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence.

[0017] NAND Flash (NAND flash, a non-volatile storage technology, widely used in solid state drives, U disks, memory cards and other devices) physical structure from top to bottom includes: die (Die), block (BL, Block), word line (WL, WordLine), page (Page), memory (Cell). A plurality of Cell is connected to form a WordLine, through a multi-bit encoding method, a word line can have multiple pages (page), for example, in TLC (Triple-Level Cell, three-layer storage unit), a word line has 3 pages. The transverse word line (wordline) and the longitudinal bit line (bitline) are connected to each other to form a block. A plurality of blocks form a die, which is the basic unit of the solid state disk structure, and carries the function of storing data. In summary, the die is the smallest unit of NAND independent operation, the block is the smallest unit of NAND erasing, the word line is the smallest unit of NAND writing, the page is the smallest unit of NAND reading, and the memory is the basic unit of data storage.

[0018] Read disturb is a characteristic of NAND flash. Reading data from a flash memory cell has little effect on the voltage offset of the flash memory cell, but it can cause the threshold voltage of other un-read flash memory cells in the same block to shift to the right. As the number of read operations increases, the offset voltage value becomes larger and larger, resulting in uncorrectable read disturb errors.

[0019] As shown in Figure 1 When reading the flash page corresponding to the word line n, a preset read reference voltage Vread is applied to its word line, and all other un-read flash pages are applied with a pass voltage Vpass to ensure that the flash memory cells on the same bit line are in a conducting state. The pass voltage Vpass other un-read flash pages will still be "weak programmed", causing the threshold voltage of the flash memory cells in the flash page to be disturbed and drift to the high threshold voltage direction, thereby forming read disturb. The disturbance of a single read operation is not large, but multiple accumulations can cause the threshold voltage of the flash memory cell to drift to other states, thereby causing data errors.

[0020] In related technologies, solid state drives use the method of setting a read disturb recovery threshold to manage. That is, a physical block read disturb threshold is set as a read disturb monitoring standard, and read disturb counting is performed in units of physical blocks. After each read operation on the flash page in the physical block, the read disturb count value corresponding to the flash block is incremented by one. Once the count value exceeds the physical block read disturb threshold, it is determined that the physical block will soon have data damage, so the valid data in the physical block is all garbage collected and migrated to other physical blocks, thereby eliminating the impact of read disturb on data.

[0021] This read interference processing scheme is required to design according to the count of the worst word line that can withstand read interference, that is, the NAND read is designed only when one word line in the physical block is concentrated, that is, to ensure the reliability of all data when SPRD (Single Page Read Disturb, single page read interference) is set according to the worst case. In this way, the physical block read interference threshold can only be set to be small, and the read is recycled in advance when reading at the block level, so that the write amplification of the entire solid state disk becomes larger, and the performance of the entire disk is affected. More seriously, since the solid state disk generally encodes multiple physical blocks as a RAID stripe, when a physical block exceeds the read interference threshold, the entire RAID stripe is garbage collected, making this situation worse. In addition, according to the read interference count design of one word line, since there are hundreds of word lines in a block, the cache and DRAM capacity resources cannot actually support it.

[0022] In view of the defects of the above related technologies, the present application proposes a read interference count method of a storage assembly and an electronic device to solve the technical problems that the related technologies cannot realize fine word line level counting, and cause write amplification and performance decline due to excessive garbage collection. Details will be described below.

[0023] In order to enable those skilled in the art to better understand the present application, the present application will be further described in detail below in combination with the drawings and specific embodiments.

[0024] Figure 2 The flowchart of the read interference count method of the storage assembly provided by the embodiments of the present application is shown in the figure, the storage assembly includes a die, a block, a word line and a memory, a plurality of memories are connected in series to form a word line, a longitudinal word line and a transverse word line form a block, the block includes a plurality of word lines, and the die includes a plurality of blocks, as shown in Figure 2 The method comprises the following steps:

[0025] In step S101, in response to the read operation of the block, whether the currently read block and the last read block are the same is identified.

[0026] It can be understood that when the solid state disk receives a read command for a specific block and word line, the present application first identifies whether the currently read block and the last read block are the same, specifically:

[0027] In the embodiment of the present application, the identification of whether the current read block and the last read block are the same comprises: obtaining a second variable of the block, wherein the second variable records the number of the last read block; reading the number of the current read block, and determining that the current read block and the last read block are the same if the number of the current read block is the same as the number of the last read block; and determining that the current read block and the last read block are not the same if the number of the current read block is not the same as the number of the last read block.

[0028] It can be understood that, in order to accurately manage read disturbance, the embodiment of the present application introduces block-level state judgment. Specifically, a second variable is first obtained, which stores the number of the physical block accessed by the last read operation. Meanwhile, the number of the current block targeted by the current read operation is read. By directly comparing the two values, if the number of the current block is completely consistent with the number recorded in the second variable, it is determined that the current read block and the last read block are the same block. If the two numbers are not the same, it is determined that the block switching occurs.

[0029] Specifically, if the number of the current block is completely consistent with the number recorded in the second variable, it is determined that the current read block and the last read block are the same block, which means that the read operation is still in continuous progress, and the relevant read count in the block needs to be updated. Conversely, if the two numbers are not the same, it is determined that the block switching occurs, and the accumulated read disturbance impact of the previous block needs to be processed first, then the second variable is updated to the current number, and the temporary count array is reset for the new block, so as to start the fine read disturbance tracking for the new block. This comparison process is the core logic of realizing efficient and accurate read disturbance management. The processing methods of the case where the number of the current block is consistent with the number recorded in the second variable and the case where the numbers are not the same will be described in steps S102 and S103, which are in parallel relationship. According to the determination result, it is determined which step to proceed, and the sequence of the two steps is not limited.

[0030] In step S102, if the current read block and the last read block are the same, the read disturbance count of the first read disturbance array of the current read block is updated, and the read disturbance count of the second read disturbance array of the current read block is updated according to the read disturbance count of the updated first read disturbance array, wherein the first read disturbance array records the read disturbance count of the word line in the current read block, and the second read disturbance array records the read disturbance count of the block in the current read die.

[0031] The read disturbance count is a value for quantifying the degree of disturbance of a storage unit or a group of units caused by a read operation. The higher the count is, the greater the risk of data error is.

[0032] It can be understood that, when it is determined that the current read block is the same as the last read block, that is, the read operation is still continuously accessing the same physical block, the first read interference array is first updated, the array records the read interference count of each word line in the current block, so as to realize fine tracking of the read operation at the word line granularity, then, whether and how to update the second read interference array is determined according to the updated first read interference array, the second read interference array records the read interference count of each block in the current die, and through this counting manner, the word line level counting with low resource occupation can be realized.

[0033] In the embodiment of the application, the first read interference array is a temporary array, the first read interference array is set for the current read block, and the first read interference array is not set for the block that is not read, and the second read interference array is a global array.

[0034] It can be understood that, the first read interference array of the embodiment of the application is a temporary array, which is used to record the number of read operations of each word line in the physical block that is being continuously read, and is only used for the block that is being read, not all blocks, which solves the problem of excessive DRAM resource requirement and partially meets the read interference counting according to the word line.

[0035] In the embodiment of the application, updating the read interference count of the first read interference array of the current read block comprises: obtaining the read interference count of the word line in the current read block; and updating the read interference count of the first read interference array according to the updated read interference count of the word line.

[0036] It can be understood that, when it is confirmed that the current read operation is still performed in the same physical block as the last time, the updating of the first read interference array is started, specifically, according to the specific word line accessed by the current read operation, for example, word line n, the value of the element with index n in the first read interference array is increased by one, so as to realize the updating of the read interference count of the first read interference array, wherein the element value refers to the value of a specific position in the array.

[0037] In the embodiment of the application, updating the read interference count of the second read interference array of the current read block according to the read interference count of the updated first read interference array comprises: identifying the element value in the first read interference array and selecting a target element value; assigning the target element value to a first variable; and updating the read interference count of the second read interference array according to the first variable.

[0038] It can be understood that, after successfully updating the first read interference array, the embodiments of the present application need to evaluate whether this update is sufficient to affect the global read interference state. First, identify the value of all elements in the first read interference array, and select the maximum value as the target element value. Then, assign this target element value to the first variable to ensure that the first variable always reflects the highest read frequency of the current block. According to the value of the first variable, it is determined whether to update the second read interference array, which realizes accurate monitoring of the scenario that is most likely to cause serious read interference, while avoiding frequent updating of the global array, optimizing performance and resource occupation.

[0039] In the embodiments of the present application, before assigning the read interference count recorded by the first read interference array to the first variable, it further includes: judging whether the read interference count recorded by the first read interference array is less than the element value of the first variable; if the read interference count recorded by the first read interference array is less than the element value of the first variable, ending the current read counting process; if the read interference count recorded by the first read interference array is greater than or equal to the element value of the first variable, assigning the read interference count recorded by the first read interference array to the first variable.

[0040] It can be understood that, after updating the first read interference array, the embodiments of the present application need to judge whether the first variable needs to be updated. Specifically, compare the new value of the first read interference array that is updated this time with the current value of the first variable. If the new value of the first read interference array is less than the first variable, it means that this read operation does not make the read frequency of any word line exceed the current maximum value known, so the first variable does not need to be updated and the current read counting process can be ended directly, avoiding unnecessary assignment operations and improving efficiency; otherwise, if the new value of the first read interference array is greater than or equal to the first variable, it means that the highest read frequency of the current block has been refreshed or leveled off, and at this time the new value of the first read interference array needs to be assigned to the first variable to ensure that the first variable always accurately reflects the maximum read frequency in the first read interference array, providing a correct basis for subsequent possible global counting updates.

[0041] In the embodiments of the present application, before updating the read interference count of the second read interference array according to the first variable, it further includes: judging whether the element value of the first variable is less than the update threshold; if the element value of the first variable is less than the update threshold, ending the current read counting process; if the element value of the first variable is greater than or equal to the update threshold, updating the read interference count of the second read interference array.

[0042] The update threshold is the upper limit of the data type of the first variable (for example, if the data type of the first variable is UINT8 (unsigned 8-bit integer, 8-bit unsigned integer), the update threshold is MAX_UINT8, which represents the maximum value that can be represented by an 8-bit unsigned integer).

[0043] It can be understood that, when the element value accumulation of the first variable reaches the update threshold, i.e., the upper limit of the data type, the application embodiment triggers updating the read interference count of the second read interference array, specifically:

[0044] In the application embodiment, updating the read interference count of the second read interference array according to the first variable includes: obtaining an update threshold; and accumulating the update threshold to the second read interference array.

[0045] It should be noted that, after accumulating the update threshold to the second read interference array, the first variable needs to be reset to zero and continue to accumulate.

[0046] It can be understood that, the application embodiment updates the read interference count of the second read interference array according to the first variable, by accumulating the update threshold to the second read interference array when the first variable reaches the update threshold, and then resetting the first variable to zero and continuing to accumulate, so as to update the read interference count of the second read interference array according to the first variable. This mechanism selects the maximum value of the array and uses a variable to accumulate and judge, which realizes accurate monitoring of the scene most likely to cause serious read interference, and avoids frequent updating of the global array, optimizing the performance and resource occupation.

[0047] In the application embodiment, after updating the read interference count of the second read interference array of the currently read block, it further includes: judging whether the read interference count of the second read interference array is less than a read interference count threshold; if the read interference count of the second read interference array is greater than or equal to the read interference count threshold, adding the stripe where the currently read block is located to a forced garbage collection list and setting a forced garbage collection flag, and after performing forced garbage collection on the stripe where the currently read block is located, ending the read count process; if the read interference count of the second read interference array is less than the read interference count threshold, ending the read count process.

[0048] The read interference count threshold refers to the maximum value of the read interference of a single block, which is a preset and fixed upper limit value representing the maximum cumulative read interference count that a physical block can withstand. Once this value is exceeded, the data in the block is at higher risk of being damaged by read interference. The stripe refers to a logical unit formed by organizing multiple blocks distributed on different channels or dies in the design of an SSD (Solid State Drives) to improve performance and reliability. The forced garbage collection list is a system-maintained list used to record stripes or blocks that need to be immediately garbage collected due to special circumstances such as reaching the read interference threshold or bad blocks. The forced garbage collection flag is a system flag that, when set (e.g., set to 1), indicates that there is a forced garbage collection task that needs to be executed immediately, triggering the garbage collection engine of the solid state disk to start the corresponding recovery process. Forced garbage collection is a garbage collection operation triggered by a specific event (such as excessive read interference), which reads the valid data in the target block (or stripe) and writes it to a new, healthy block, then erases the original block, thereby eliminating the cumulative read interference effect.

[0049] It can be understood that after successfully updating the count value of the second read interference array, the application embodiments will evaluate whether the read interference risk of the currently read block has reached the critical point. Specifically, it is determined whether the read interference risk of the currently read block has reached the critical point by judging whether the updated second read interference array is less than the preset read interference count threshold. If the second read interference array is still less than the read interference count threshold, it means that the risk is still within a controllable range, and the current read count process can be directly ended. However, if the second read interference array is greater than or equal to the read interference count threshold, it means that the currently read block has accumulated excessive read interference, and the data integrity is seriously threatened. At this time, protective measures need to be taken: first, since the solid state disk usually manages and recovers data in units of stripes, the entire stripe containing the block is added to the forced garbage collection list; second, the forced garbage collection flag of the stripe is set to notify the background management module of the solid state disk that a recovery task needs to be executed immediately; then, the system starts the forced garbage collection process of the stripe to migrate its valid data to a new location, thereby eliminating the read interference risk. After completing this series of operations, the current read count process ends. This mechanism ensures that when the read interference reaches a dangerous level, timely action can be taken to protect the data.

[0050] In step S103, if the currently read block is different from the last read block, the read interference count of the second read interference array is updated according to the first variable, wherein the first variable records the element value in the first read interference array, and the element value represents the read interference count of the word line.

[0051] It can be understood that, when the application embodiment determines that the current read block is different from the last read block, i.e., the read operation switches from one physical block to another new physical block, in order to ensure that the read disturbance influence of the last block is correctly recorded, a settlement operation is performed, specifically, the read disturbance count of the second read disturbance array is updated according to the first variable, which will be described in detail below, and will not be described here.

[0052] In the application embodiment, updating the read disturbance count of the second read disturbance array according to the first variable includes: identifying an element value in the first read disturbance array, and selecting a target element value; assigning the target element value to the first variable; and adding the first variable to the read disturbance count of the second read disturbance array.

[0053] It can be understood that, when the read operation switches blocks, the application embodiment needs to record the read disturbance influence of the last block into the global count, i.e., the second read disturbance array. Specifically, first, identify the read disturbance count of all word lines in the first read disturbance array, and select the maximum value as the target element value. Then, assign the target element value to the first variable. Finally, add the value of the first variable to the second read disturbance array. The addition operation ensures that the read disturbance count of the last block is continuously accumulated, rather than being overwritten by a new value.

[0054] It should be noted that, after the value of the first variable is added to the second read disturbance array, the first read disturbance array and the first variable need to be reset to prepare for tracking the reading of the new block.

[0055] In the application embodiment, after updating the read disturbance count of the second read disturbance array according to the first variable, it further includes: determining whether the read disturbance count of the second read disturbance array is less than a read disturbance count threshold; if the read disturbance count of the second read disturbance array is greater than or equal to the read disturbance count threshold, adding the stripe where the current read block is located to a forced garbage collection list, setting a forced garbage collection flag, and ending the read count process after performing forced garbage collection on the stripe where the current read block is located; and if the read disturbance count of the second read disturbance array is less than the read disturbance count threshold, updating the number of the last read block in the second variable according to the number of the current read block, wherein the second variable records the number of the last read block.

[0056] It can be understood that, after the second read interference array is successfully updated according to the first variable, the application embodiment needs to evaluate whether the read interference risk of the block has reached a critical point, specifically, whether the updated second read interference array is less than the preset read interference count threshold, if the second read interference array is greater than or equal to the read interference count threshold, it indicates that the physical block has accumulated excessive read interference, and the data faces the risk of damage, at this time, protective measures need to be taken: the entire stripe containing the block is added to the forced garbage collection list, and the forced garbage collection flag is set to 1, so as to trigger the subsequent forced garbage collection process to migrate data, after completing these operations, the current read count process ends; however, if the second read interference array is still less than the read interference count threshold, it means that the risk is still within the controllable range, and the process will not end immediately, but continue to execute the subsequent steps to update the second variable of the block, and prepare for the block switching judgment of the next read operation.

[0057] In the embodiment of the application, updating the last read block number in the second variable of the block according to the current read block number comprises: obtaining the current read block number and the second variable; updating the second variable of the block to the current read block number; initializing the first variable and the first read interference array, updating the first variable and the first read interference array, and ending the current read count process.

[0058] It can be understood that, after judging that the second read interference array is less than the read interference count threshold, the application embodiment needs to update the state to prepare for processing future read operations. First, the current read block number of the current read operation and the current value of the second variable are obtained, then the value of the second variable of the block is updated to the current block number, ensuring that the second variable accurately records the latest read position. In order to start the fine-grained word line level read interference tracking on the new block (or continue in the current block), the first variable and the first read interference array need to be initialized. After completing this series of state updates, the current read count process ends.

[0059] In the embodiment of the application, updating the first variable and the first read interference array comprises: resetting the first read interference array and the first variable; updating the first read interference array, and updating the first variable according to the read interference count of the updated first read interference array.

[0060] It can be understood that, in the embodiment of the application, the first variable is reset to 0, and all elements in the first read interference array are cleared to 0. At the same time, in order to reflect the influence of the current read operation, the two initialized variables are updated, specifically, the first read interference array is set to 1 (indicating that the word line has been read once), and the first variable is correspondingly updated to 1. After completing this series of state updates, the current read count process ends.

[0061] The read interference counting method of the storage assembly provided in the embodiment of the present application can identify whether the current read block and the last read block are the same, and if the same, update the read interference count of the first read interference array of the block according to the read interference count of the word line in the block, update the read interference count of the second read interference array of the block according to the updated first read interference array, and the second read interference array records the read interference count of the block in the current die; if not the same, update the read interference count of the second read interference array according to the first variable of the first read interference array; determine whether garbage collection is needed through the updated second read interference array, realize word line level counting, and achieve the technical effects of reducing write amplification and improving the stability of the solid state disk.

[0062] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be realized by means of software and the necessary general hardware platform, of course, it can also be realized by hardware, but in many cases, the former is a better embodiment.

[0063] The read interference counting method of the storage assembly is further described below through a specific embodiment.

[0064] This embodiment describes the specific implementation method by taking one TLC word line as an example.

[0065] Suppose that a solid state disk has M blocks, and one block has N word lines.

[0066] First, power-on initialization is performed, as shown in the following table: Figure 3

[0067] The first read interference array wl_rd_cnt[N], wherein N is the number of word lines in each block, records the read interference count of each word line in the current read block;

[0068] The second read interference array blk_rd_cnt[M], wherein M is the number of blocks in each die, records the read interference count of each physical block;

[0069] The first variable max_wl_rd_cnt records the maximum value of the elements in the first read interference array wl_rd_cnt;

[0070] The second variable prev_blk records the number of the last read block.

[0071] After initialization, the read interference count updating process is as shown in the following table, and specifically includes the following steps: Figure 4

[0072] 1. Receive one read operation of block[m]wl[n] (word line n in data block m).

[0073] ​​2. Determine whether the current read is on the same block as the previous read. If yes, go to step 3; if no, go to step 10.

[0074] 3. Update the corresponding word line count in the first read disturb array, wl_rd_cnt[n]++.

[0075] 4. Determine whether the element value in the first read disturb array wl_rd_cnt[n] is less than the first variable max_wl_rd_cnt. If yes, end the current read counting process; if no, go to the next step.

[0076] 5. Assign the first variable max_wl_rd_cnt a new value as the maximum value of the element value in the first read disturb array wl_rd_cnt[n].

[0077] 6. Determine whether the first variable max_wl_rd_cnt is less than the maximum value of its data type UNIT8. If yes, end the current read counting process; if no, go to the next step.

[0078] 7. Update the second read disturb array blk_rd_cnt[m] count, blk_rd_cnt[m]+= MAX_UINT8, i.e. add the maximum value of data type (MAX_UINT8) to the second read disturb array blk_rd_cnt[m].

[0079] 8. Determine whether the second read disturb array blk_rd_cnt[m] is less than the read disturb count threshold. If yes, end the current read counting process; if no, go to the next step.

[0080] 9. Add the stripe m in which the current read block is located to the forced garbage collection list, and set the forced garbage collection flag. Wait for the subsequent process to perform forced collection on the stripe m in which the current read block is located, and end the current read counting process.

[0081] 10. Update the second read disturb array according to the block read count of the block of the previous read. blk_rd_cnt[prev_blk]+= max_wl_rd_cnt, i.e. add the first variable to the second read disturb array blk_rd_cnt[prev_blk].

[0082] 11. Determine whether the second read disturb array blk_rd_cnt[prev_blk] is less than the read disturb count threshold. If no, add the stripe prev_blk in which the current read block is located to the forced garbage collection list, and set the forced garbage collection flag. Wait for the subsequent process to perform forced collection on the stripe prev_blk in which the current read block is located; if yes, go to the next step.

[0083] 12. Update the second variable prev_blk to the current block number, i.e., the second variable prev_blk = m.

[0084] 13. Initialize the first read interference array wl_rd_cnt and the first variable max_wl_rd_cnt.

[0085] 14. Update the count of the corresponding element in the first read interference array wl_rd_cnt by one, and update the first variable according to the updated first read interference array, i.e., wl_rd_cnt[n]++; the first variable max_wl_rd_cnt = wl_rd_cnt[n].

[0086] 15. End the read count process for this block.

[0087] Figure 5 A block diagram of a read interference counting device for a storage component is provided for embodiments of this application, as shown below. Figure 5 As shown, the device includes: an identification module 201, a first determination module 202, and a second determination module 203.

[0088] The identification module 201 is used to respond to the block read operation and identify whether the currently read block is the same as the previously read block. The first determination module 202 is used to update the read interference count of the first read interference array of the currently read block when the currently read block is the same as the previously read block, and update the read interference count of the second read interference array of the currently read block according to the updated read interference count of the first read interference array. The first read interference array records the read interference count of word lines in the currently read block, and the second read interference array records the read interference count of blocks in the currently read die. The second determination module 203 is used to update the read interference count of the second read interference array according to a first variable when the currently read block is not the same as the previously read block. The first variable records the element value in the first read interference array, and the element value represents the read interference count of word lines.

[0089] In this embodiment of the application, the identification module 201 is further configured to: obtain a second variable of the block, wherein the second variable records the number of the block last read; read the number of the currently read block, and if the number of the currently read block is the same as the number of the previously read block, then determine that the currently read block and the previously read block are the same; if the number of the currently read block is different from the number of the previously read block, then determine that the currently read block and the previously read block are different.

[0090] In this embodiment of the application, the first determination module 202 is further configured to: obtain the read interference count of the word lines in the currently read block; and update the read interference count of the first read interference array according to the updated read interference count of the word lines.

[0091] In the embodiment of the present application, the first determining module 202 is further configured to: identify an element value in the first read interference array, and select a target element value; assign the target element value to the first variable; and update the read interference count of the second read interference array according to the first variable.

[0092] In the embodiment of the present application, the first determining module 202 is further configured to: identify an element value in the first read interference array, and select a target element value; assign the target element value to the first variable; and update the read interference count of the second read interference array according to the first variable.

[0093] In the embodiment of the present application, the first determining module 202 is further configured to: identify an element value in the first read interference array, and select a target element value; assign the target element value to the first variable; and update the read interference count of the second read interference array according to the first variable.

[0094] In the embodiment of the present application, the second determining module 203 is further configured to: identify an element value in the first read interference array, and select a target element value; assign the target element value to the first variable; and update the read interference count of the second read interference array according to the first variable.

[0095] In the embodiment of the present application, the first determining module 202 is further configured to: identify an element value in the first read interference array, and select a target element value; assign the target element value to the first variable; and update the read interference count of the second read interference array according to the first variable.

[0096] In the embodiment of the present application, the second determining module 203 is further configured to: identify an element value in the first read interference array, and select a target element value; assign the target element value to the first variable; and update the read interference count of the second read interference array according to the first variable.

[0097] In the embodiment of the present application, the second determining module 203 is further configured to: after updating the read interference count of the second read interference array according to the first variable, determine whether the read interference count of the second read interference array is less than a read interference count threshold; if the read interference count of the second read interference array is greater than or equal to the read interference count threshold, add the stripe where the currently read block is located to a forced garbage collection list, and set a forced garbage collection flag; after performing forced garbage collection on the stripe where the currently read block is located, end the current read count process; if the read interference count of the second read interference array is less than the read interference count threshold, update the number of the last read block in the second variable of the block according to the number of the currently read block, wherein the second variable records the number of the last read block.

[0098] In the embodiment of the present application, the second determining module 203 is further configured to: obtain the number of the currently read block and the second variable; update the second variable of the block to the number of the currently read block; initialize the first variable and the first read interference array, update the first variable and the first read interference array, and end the current read count process.

[0099] In the embodiment of the present application, the second determining module 203 is further configured to: reset the first read interference array and the first variable; update the first read interference array, and update the first variable according to the read interference count of the updated first read interference array.

[0100] The read interference counting device of the storage assembly according to the embodiment of the present application can identify whether the currently read block and the last read block are the same, and if the same, update the read interference count of the first read interference array of the block according to the read interference count of the word line in the block, update the read interference count of the second read interference array of the block according to the updated first read interference array, and the second read interference array records the read interference count of the block in the current die; if not the same, update the read interference count of the second read interference array according to the first variable of the first read interference array; determine whether garbage collection is needed through the updated second read interference array, realize word line level counting, and achieve the technical effects of reducing write amplification and improving the stability of the solid state disk.

[0101] The features of the embodiments of the read interference counting device of the storage assembly can be referred to the related descriptions of the embodiments of the read interference counting method of the storage assembly, which will not be repeated here.

[0102] The embodiments of the present application also provide an electronic device, such as a server, a mobile phone, a computer, a tablet computer or a wearable device. Figure 6As shown, the storage component 301 comprises a plurality of memory cells 3014 for storing computer programs, the storage component 301 comprises a die 3011, a block 3012, a word line 3013 and the memory cells 3014, the memory cells 3014 are connected in series to form the word line 3013, the longitudinal word line 3013 and the transverse word line 3013 constitute the block 3012, the block 3012 comprises a plurality of word lines 3013, and the die 3011 comprises a plurality of blocks 3012; and the processor 302 is configured to execute the computer programs to implement the steps of the read disturb count method of the storage component.

[0103] Those skilled in the art will further appreciate that the individual elements of the examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various examples have been described herein in terms of specific functionality provided by the various components. Where appropriate, the functionality of the various components can be provided by specialized hardware-based components or by interoperation of software components. Such software can be implemented in a program of instructions, and the program of instructions can be stored in a storage component, such as a memory component, which can be a part of the electronic device. Still yet, the various components can comprise computer-readable media, which can be a computer-readable storage medium or a computer-readable signal medium.

[0104] The above provides a storage component read disturb count method, an electronic device and a storage medium. The principles and implementation manners of the present application are described by using specific examples. The above description of the examples is only used to help understand the method and core idea of the present application. It should be noted that, for those skilled in the art, without departing from the principles of the present application, some improvements and modifications can be made to the present application, and these improvements and modifications also fall within the protection scope of the claims of the present application.

Claims

1. A read disturb count method for a memory component, comprising: The storage component includes a die, a block, a word line and a memory, a plurality of the memories are connected in series to form the word line, the longitudinal word line and the transverse word line constitute the block, the block includes a plurality of word lines, the die includes a plurality of blocks, wherein the method comprises: In response to the read operation of the block, whether the currently read block and the last read block are the same is identified; If the currently read block and the last read block are the same, the read interference count of the first read interference array of the currently read block is updated, and the read interference count of the second read interference array of the currently read block is updated according to the read interference count of the first read interference array after the update, wherein the updating of the read interference count of the second read interference array of the currently read block according to the read interference count of the first read interference array after the update comprises identifying the element value in the first read interference array, selecting the maximum value of the element value in the first read interference array as a target element value, assigning the target element value to a first variable, updating the read interference count of the second read interference array according to the first variable, and before the read interference count recorded by the first read interference array is assigned to the first variable, it further comprises judging whether the read interference count recorded by the first read interference array is less than the element value of the first variable; if the read interference count recorded by the first read interference array is less than the element value of the first variable, the current read count process is ended; if the read interference count recorded by the first read interference array is greater than or equal to the element value of the first variable, the read interference count recorded by the first read interference array is assigned to the first variable; before the read interference count of the second read interference array is updated according to the first variable, it further comprises judging whether the element value of the first variable is less than an update threshold; if the element value of the first variable is less than the update threshold, the current read count process is ended; if the element value of the first variable is greater than or equal to the update threshold, the read interference count of the second read interference array is updated; the first read interference array records the read interference count of the word line in the currently read block, and the second read interference array records the read interference count of the block in the currently read die; If the currently read block and the last read block are not the same, the read interference count of the second read interference array is updated according to a first variable, wherein the first variable records the element value in the first read interference array, and the element value represents the read interference count of the word line.

2. The method of claim 1, wherein, The updating of the read interference count of the first read interference array of the currently read block comprises: Obtaining the read interference count of the word line in the currently read block; Updating the read interference count of the first read interference array according to the updated read interference count of the word line.

3. The method of claim 1, wherein, The updating of the read interference count of the second read interference array according to the first variable comprises: Obtaining the update threshold; Accumulating the update threshold to the second read interference array.

4. The method of claim 1, wherein, After updating the read interference count of the second read interference array of the currently read block, it further comprises: Judging whether the read interference count of the second read interference array is less than a read interference count threshold; If the read interference count of the second read interference array is greater than or equal to the read interference count threshold, a stripe where the currently read block is located is added to a forced garbage collection list, and a forced garbage collection flag is set to 1, and after the forced garbage collection of the stripe where the currently read block is located is completed, the read count process is ended; If the read interference count of the second read interference array is less than the read interference count threshold, the read count process is ended.

5. The method of claim 1, wherein, The updating of the read interference count of the second read interference array according to the first variable comprises: identifying an element value in the first read interference array, and selecting a target element value; assigning the target element value to the first variable; adding the first variable to the read interference count of the second read interference array.

6. The method of claim 1, wherein, After the updating of the read interference count of the second read interference array according to the first variable, the method further comprises: judging whether the read interference count of the second read interference array is less than the read interference count threshold; If the read interference count of the second read interference array is greater than or equal to the read interference count threshold, a stripe where the currently read block is located is added to a forced garbage collection list, and a forced garbage collection flag is set to 1, and after the forced garbage collection of the stripe where the currently read block is located is completed, the read count process is ended; If the read interference count of the second read interference array is less than the read interference count threshold, the number of the last read block in the second variable of the block is updated according to the number of the currently read block, wherein the second variable records the number of the last read block.

7. The method of claim 6, wherein the read disturb count of the memory component is determined by: The updating of the number of the last read block in the second variable of the block according to the number of the currently read block comprises: obtaining the number of the currently read block and the second variable; updating the second variable of the block to the number of the currently read block; initializing the first variable and the first read interference array, updating the first variable and the first read interference array, and ending the read count process.

8. The method of claim 7, wherein the read disturb count of the memory component is determined by: The updating of the first variable and the first read interference array comprises: resetting the first read interference array and the first variable; updating the first read interference array, and updating the first variable according to the read interference count of the updated first read interference array.

9. The method of claim 1, wherein, The identification of whether the currently read block and the last read block are the same comprises: obtaining the second variable of the block, wherein the second variable records the number of the last read block; reading the number of the currently read block, and if the number of the currently read block is the same as the number of the last read block, it is determined that the currently read block and the last read block are the same; if the number of the currently read block is not the same as the number of the last read block, it is determined that the currently read block and the last read block are not the same.

10. An electronic device, comprising: comprises: a storage component for storing a computer program, the storage component comprising a die, a block, a word line and a memory, a plurality of the memories are connected in series to form the word line, the word line in the vertical direction and the word line in the horizontal direction constitute the block, the block comprises a plurality of word lines, and the die comprises a plurality of blocks; a processor for executing the computer program to implement the steps of the read interference count method of the storage component according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Read interference optimization method and device

    CN107832016A

  • Data protection method and device of NAND flash memory and computer readable medium

    CN114220468A