Data processing method, storage device and computer device
By determining the read interference data and read interference threshold of the storage device, the problem of difficulty in conveniently confirming the read interference threshold in the prior art is solved, and the timely and effective processing and reliability of data in the storage device are improved.
Patent Information
- Application Number
- CN202411090529.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-08
- Publication Date
- 2026-02-17
AI Technical Summary
Existing technologies make it difficult to easily determine the read interference threshold of storage devices, making it difficult to process data effectively in a timely manner.
By determining the read interference data of the storage device, including the correspondence between the preset voltage width and the read operation count value, the first read interference threshold of the first lifetime is obtained, and the second read interference threshold of the second lifetime is determined based on the change information, so as to achieve convenient confirmation.
This enables convenient confirmation of read interference thresholds in storage devices, timely and effective data processing, and improved data reliability.
Smart Images

Figure CN121541822A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data storage technology, and in particular to a data processing method, storage device, and computer device. Background Technology
[0002] In the field of data storage, with the improvement of manufacturing processes and the reduction of production costs, storage devices are being used in increasingly wider applications. However, due to the limitations of the storage device's structural design, excessive data reads can compromise data reliability.
[0003] In related technologies, the read interference threshold of storage devices is pre-determined through experiments before shipment, so that data in the storage device can be transferred in a timely manner when the number of reads reaches the read interference threshold. However, in practical applications, it is often difficult to conveniently determine the read interference threshold, making it difficult to process the data effectively and in a timely manner. Summary of the Invention
[0004] In view of the above, it is necessary to propose a data processing method, storage device, and computer equipment that can solve the problem that it is difficult to conveniently determine the read interference threshold, which makes it difficult to process data effectively in a timely manner.
[0005] In a first aspect, embodiments of this application provide a data processing method applied to a storage device. The data processing method includes: determining read interference data of the storage device, the read interference data including a correspondence between a preset voltage width value and a read operation count value of the storage device during a first lifetime and a second lifetime; determining change information between the preset voltage width value and the read operation count value based on the correspondence; obtaining a first read interference threshold corresponding to the storage device in the first lifetime; and determining a second read interference threshold corresponding to the storage device in the second lifetime based on the change information and the first read interference threshold.
[0006] Furthermore, in the data processing method provided in the embodiments of this application, the storage device includes multiple storage units, and the method further includes: determining a threshold voltage for each storage unit; determining voltage distribution data for each storage unit based on the threshold voltage; determining multiple voltage widths of the storage device based on adjacent voltage distribution data; and determining a preset voltage width of the storage device based on the multiple voltage widths.
[0007] Furthermore, in the data processing method provided in the embodiments of this application, the method further includes: obtaining the erase / write count interval corresponding to the storage device; dividing the erase / write count interval to obtain multiple erase / write count sub-intervals; sequentially arranging the erase / write count sub-intervals, determining the first lifecycle based on the first erase / write count sub-interval and the last erase / write count sub-interval; and determining the second lifecycle based on the erase / write count sub-intervals other than the first lifecycle among the multiple erase / write count sub-intervals.
[0008] Furthermore, in the data processing method provided in this application embodiment, before determining the read interference data of the storage device, the method further includes: determining the width value of a preset voltage width corresponding to the count value of different read operations in the first lifetime and the second lifetime respectively; when the width value changes, determining that the storage device has read interference, and determining the read interference data of the storage device.
[0009] Furthermore, in the data processing method provided in this application embodiment, determining the change information of the width value of the preset voltage width and the count value of the read operation based on the correspondence includes: constructing a change trend graph of the width value of the preset voltage width as the count value of the read operation increases in the first lifetime and the second lifetime, respectively.
[0010] Furthermore, in the data processing method provided in this application embodiment, obtaining the first read interference threshold corresponding to the storage device in the first life cycle includes: obtaining the first read interference threshold corresponding to the storage device in the first life cycle based on the specification data corresponding to the storage device.
[0011] Furthermore, in the data processing method provided in this application embodiment, determining the second read interference threshold corresponding to the storage device in the second lifetime based on the change information and the first read interference threshold includes: determining the target width value of the preset voltage width corresponding to the first read interference threshold based on the change information; and determining the second read interference threshold corresponding to the storage device in the second lifetime based on the target width value and the change information.
[0012] Furthermore, in the data processing method provided in this application embodiment, determining the second read interference threshold corresponding to the storage device in the second lifetime based on the target width value and the change information includes: determining a target reference point in the change trend graph based on the target width value and the first read interference threshold; constructing a straight line passing through the target reference point in a preset direction based on the target reference point; determining the intersection point of the straight line and the change trend of the preset voltage width and the count value of the read operation corresponding to the second lifetime, and using the count value of the read operation corresponding to the intersection point as the second read interference threshold.
[0013] Secondly, embodiments of this application provide a data processing apparatus applied to a storage device. The data processing apparatus includes: a data determination module, configured to determine read interference data of the storage device, the read interference data including a correspondence between a preset voltage width value and a read operation count value of the storage device within a first lifetime and a second lifetime; a change determination module, configured to determine change information between the preset voltage width value and the read operation count value based on the correspondence; a threshold acquisition module, configured to acquire a first read interference threshold corresponding to the storage device in the first lifetime; and a threshold determination module, configured to determine a second read interference threshold corresponding to the storage device in the second lifetime based on the change information and the first read interference threshold.
[0014] Thirdly, embodiments of this application provide a storage device storing a computer program, which, when executed by a processor, implements the data processing method described in any one of the above claims.
[0015] Fourthly, embodiments of this application provide a computer device, the computer device including the aforementioned storage device and a processor, the processor being used to implement a data processing method when executing a computer program stored in the storage device.
[0016] In the data processing method provided in this application embodiment, read interference data of the storage device is determined. This read interference data includes the correspondence between the width value of a preset voltage width and the count value of read operations within a first lifetime and a second lifetime. Based on this correspondence, the change information of the width value of the preset voltage width and the count value of read operations is determined. A first read interference threshold corresponding to the storage device in the first lifetime is obtained. Based on the change information and the first read interference threshold, a second read interference threshold corresponding to the storage device in the second lifetime is determined. This method can determine the second read interference threshold corresponding to the second lifetime based on the first read interference threshold corresponding to the first lifetime, avoiding the need for experimental determination of the second read interference threshold. This allows for convenient confirmation of the read interference threshold, thereby enabling timely and effective processing of the data within the storage device. Attached Figure Description
[0017] Figure 1 This is an application device diagram of the data processing method provided in the embodiments of this application.
[0018] Figure 2 This is a flowchart illustrating the data processing method provided in the embodiments of this application.
[0019] Figure 3 This is a flowchart illustrating the preset voltage width determination method provided in the embodiments of this application.
[0020] Figure 4 This is a schematic diagram of the distribution of threshold voltage provided in the embodiments of this application.
[0021] Figure 5 This is a schematic diagram of the threshold voltage offset provided in the embodiments of this application.
[0022] Figure 6 This is a flowchart illustrating the lifecycle determination method provided in the embodiments of this application.
[0023] Figure 7 This is a flowchart illustrating the method for determining interference data provided in an embodiment of this application.
[0024] Figure 8 This is a schematic diagram illustrating the changes provided in the embodiments of this application.
[0025] Figure 9 This is a flowchart illustrating the second reading interference threshold determination method provided in the first embodiment of this application.
[0026] Figure 10 This is a flowchart illustrating the second reading interference threshold determination method provided in the second embodiment of this application.
[0027] Figure 11This is a structural diagram of the data processing apparatus provided in the embodiments of this application. Detailed Implementation
[0028] To better understand the above-mentioned objectives, features, and advantages of this application, the application will be described in detail below with reference to the accompanying drawings and specific embodiments. It should be noted that, unless otherwise specified, the embodiments and features described herein can be combined with each other.
[0029] Numerous specific details are set forth in the following description in order to provide a full understanding of this application. The described embodiments are only some, not all, of the embodiments of this application.
[0030] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application.
[0031] In the field of data storage technology, storage devices can use storage media to implement data storage. Storage media can include, but are not limited to, non-volatile storage media. This application uses a non-volatile storage media as an example for illustration. For instance, the storage media can be a flash memory chip. Depending on the storage architecture, flash memory chips can include NotOR (NOR) flash memory and NotAND (NAND) flash memory. Flash memory chips can perform multiple erase and write operations. However, during the lifespan of a flash memory chip, as the number of erase and write operations (hereinafter referred to as "erasure / write count" for ease of description) increases, the sensitivity of the storage cells in the flash memory chip to read disturbances increases. Read disturbances can refer to the gradual accumulation of read operations (hereinafter referred to as "read operation count") on a certain storage cell in the flash memory chip. When the read operation count reaches a read disturbance threshold, read disturbances occur between adjacent storage cells in the flash memory chip, causing the threshold voltage distribution of adjacent storage cells to shift towards higher voltages, thus affecting data reliability.
[0032] In related technologies, the read interference threshold of flash memory chips is pre-determined through experiments before shipment. For example, flash memory chip manufacturers provide specification data, which includes read interference thresholds at the beginning and end of the chip's lifespan. This allows for timely data transfer when the read operation count reaches the threshold. However, because the sensitivity of storage cells in a flash memory chip to read interference varies with different erase / write cycles, the read interference thresholds provided in the specification data cannot meet actual data processing needs. Furthermore, for lifecycle periods not covered in the specification data, it is often difficult to easily determine the read interference threshold, leading to difficulties in timely and effective data processing.
[0033] In view of the above problems, embodiments of this application provide a data processing method, a storage device, and a computer device, which can conveniently determine the read interference threshold, thereby enabling timely and effective processing of data within the storage device.
[0034] Please see Figure 1 , Figure 1 This is an application device diagram of the data processing method provided in this application embodiment. As one implementation, the data processing method provided in this application embodiment can be applied to a storage device 10. The storage device 10 can be a device capable of automatically performing numerical calculations and / or information processing according to pre-set or stored instructions. For example, the storage device 10 may include, but is not limited to, a solid-state drive (SSD). The storage device 10 may include a storage medium 11, a controller 12, and at least one communication bus 13. The controller 12 is used to implement the data processing method when executing a computer program stored in the storage medium 11. The at least one communication bus 13 is configured to enable communication between the storage medium 11 and at least one controller 12.
[0035] Figure 1 The structure of the storage device shown does not constitute a limitation on the embodiments of this application. The storage device 10 may also include more or fewer other hardware or software, or different component arrangements than shown.
[0036] It should be noted that storage device 10 is only an example. Other existing or future electronic products that are suitable for this application should also be included within the scope of protection of this application and are incorporated herein by reference.
[0037] The technical solutions of this application will be described in detail below through specific embodiments. It should be noted that the following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.
[0038] Figure 2This is a flowchart illustrating a data processing method provided in an embodiment of this application, which is applied to a storage device. Figure 2 As shown, it includes the following steps:
[0039] S11, determine the read interference data of the storage device, the read interference data includes the correspondence between the width value of the preset voltage width of the storage device and the count value of the read operation in the first lifetime and the second lifetime.
[0040] In at least one embodiment of this application, the storage device includes a storage medium that can record data by storing electrical charge. The storage medium may include multiple storage cells, each of which can store one or more bits of data. When writing data to the storage medium, the selected storage cell needs to be erased first, removing the charge in the storage cell from the floating gate and setting it to a "1" state. Then, by applying a voltage, the charge in the selected storage cell is tunneled to the floating gate, thereby changing its threshold voltage, realizing data writing, and setting it to a "0" state. Based on this, each data write and subsequent erase causes the storage cell to undergo a Program Erase (PE) cycle. Due to the physical characteristics of the storage medium, each storage cell can only withstand a limited number of erase / write cycles (for ease of description, this application refers to it as the "erasure / write cycle threshold"). When the number of erase / write cycles of a storage cell is greater than or equal to the erase / write cycle threshold, the storage device may suffer irreversible physical damage, causing the storage device to be unable to store data normally.
[0041] In some embodiments, the storage device has a preset erase / write count threshold. The erase / write count threshold may be the same or different for different types of storage devices, and this is not limited here. Based on the erase / write count threshold, the storage device can be divided into different lifecycles. For example, the further away from the erase / write count threshold, the fewer erase / write cycles the storage device will undergo, and the stage with fewer erase / write cycles can be defined as the early lifecycle; the closer to the erase / write count threshold, the more erase / write cycles the storage device will undergo, and the stage with more erase / write cycles can be defined as the late lifecycle.
[0042] In some embodiments, the first lifecycle can be a lifecycle with a predetermined read interference threshold, and the second lifecycle can be a lifecycle with a read interference threshold to be determined. The first and second lifecycles can include multiple lifecycles, and the number of lifecycles included in the first and second lifecycles can be set according to actual needs and is not limited here. In some embodiments, the read interference threshold of the storage device within a specified lifecycle can be predetermined experimentally before leaving the factory. The specified lifecycle can be set according to actual needs; for example, the read interference threshold at the beginning and end of the lifecycle is known before leaving the factory. Based on this, the beginning and end of the lifecycle are used as the first lifecycle. Since the read interference thresholds corresponding to lifecycles other than the beginning and end of the lifecycle in the storage device are to be determined, the lifecycles other than the beginning and end of the lifecycle in the storage device can be used as the second lifecycle.
[0043] In some embodiments, when the lifecycle of a storage device, excluding the early and late stages of its lifecycle, is considered as the second lifecycle, it can be divided into multiple lifecycles according to actual needs. For example, the second lifecycle may include second lifecycle A, second lifecycle B, and second lifecycle C. By finely dividing the second lifecycle into multiple lifecycles, embodiments of this application can determine the read interference threshold of the storage device at different lifecycle stages, thereby improving data reliability.
[0044] In some embodiments, as the count of read operations on a storage cell in the storage device gradually accumulates, when the count reaches a read interference threshold, read interference occurs between adjacent storage cells, causing the threshold voltage distribution of adjacent storage cells to shift towards higher voltages, thus affecting data reliability. In some embodiments, when read interference occurs in the storage device, read interference data of the storage device is determined. The read interference data may include the correspondence between the width value of a preset voltage width of the storage device and the count of read operations within a first lifetime and a second lifetime. The preset voltage width is used to evaluate the data reliability within the storage device; a larger width value corresponds to higher data reliability within the storage device, and a smaller width value corresponds to lower data reliability within the storage device. The count of read operations may be the number of reads of the storage device, for example, the number of reads of a specific storage cell within the storage device. For example, read operations may be performed simultaneously on a preset proportion of storage cells within the storage device within the first lifetime and the second lifetime (i.e., based on different erase / write cycles). As read operations increase, read interference may occur in other storage cells within the storage device. When read interference is detected, the number of reads (i.e., the count of read operations) and the width of a preset voltage range are determined as read interference data. The preset ratio can be determined according to actual needs and is not limited here.
[0045] S12, based on the correspondence, determine the change information of the width value of the preset voltage width and the count value of the read operation.
[0046] In at least one embodiment of this application, based on the correspondence between the width value of the preset voltage width and the count value of the read operation in the storage device, it is possible to determine information on how the width value of the preset voltage width changes as the count value of the read operation increases. For example, the width value of the preset voltage width will decrease as the count value of the read operation increases.
[0047] In some embodiments, the change information may include information that the width value of the preset voltage width of the storage device changes as the count value of read operations increases during a first lifetime; the change information may also include information that the width value of the preset voltage width of the storage device changes as the count value of read operations increases during a second lifetime.
[0048] S13, obtain the first read interference threshold corresponding to the storage device in the first life cycle.
[0049] In at least one embodiment of this application, the first read interference threshold is pre-configured by the storage device before it leaves the factory, and there is a correspondence between the first life cycle and the first read interference threshold. By querying this correspondence, the first read interference threshold corresponding to the storage device in the first life cycle can be obtained.
[0050] In some embodiments, when the first life cycle includes the early stage and the late stage, there is a corresponding first read interference threshold in the early stage, which can be denoted as the first read interference threshold T1; there is a corresponding first read interference threshold in the late stage, which can be denoted as the first read interference threshold T2. The first read interference threshold T1 is different from the second read interference threshold T2, and the first read interference threshold T1 is greater than the second read interference threshold T2.
[0051] S14, based on the change information and the first read interference threshold, determine the second read interference threshold corresponding to the storage device in the second lifetime.
[0052] In at least one embodiment of this application, the change information may include information on how the width value of the preset voltage width of the storage device changes as the count value of the read operation increases during the first and second lifetimes. In the change information, change information corresponding to the first lifetime is selected, and based on the change information of the first lifetime, the width value of the preset voltage width corresponding to the read operation count value at a first read interference threshold (hereinafter referred to as the "target width value" for ease of description) is determined. Then, change information corresponding to the second lifetime is selected, and based on the change information of the second lifetime, the read operation count value corresponding to the preset voltage width being the target width value is determined. The determined read operation count value is then used as the second read interference threshold for the storage device during the second lifetime.
[0053] In some embodiments, after determining the second read interference threshold corresponding to the second lifetime of the storage device, the method further includes: transferring data within the storage device based on the first lifetime and the first read interference threshold, and the second lifetime and the second read interference threshold. For example, the storage device corresponds to the first read interference threshold in the first lifetime. Within the first lifetime, the count value of read operations of storage cells within the storage device is determined. When the count value of read operations is greater than or equal to the first read interference threshold, data is transferred to the determined storage cells. The storage device corresponds to the second read interference threshold in the second lifetime. Within the second lifetime, the count value of read operations of storage cells within the storage device is determined. When the count value of read operations is greater than or equal to the second read interference threshold, data is transferred to the determined storage cells. This embodiment of the application, by determining the count value of read operations of storage cells in the storage device within different lifetimes and transferring data based on the first or second read interference threshold, avoids read interference and improves data reliability.
[0054] In the data processing method provided in this application embodiment, a second read interference threshold corresponding to the second life cycle is determined based on a first read interference threshold corresponding to the first life cycle. This avoids determining the second read interference threshold experimentally, and allows for convenient confirmation of the read interference threshold, thereby enabling timely and effective processing of the data in the storage device.
[0055] In at least one embodiment of this application, a preset voltage width is used to evaluate the data reliability within the storage device. The larger the width value corresponding to the preset voltage width, the higher the data reliability within the storage device; the smaller the width value corresponding to the preset voltage width, the lower the data reliability within the storage device. Figure 3 This is a flowchart illustrating the preset voltage width determination method provided in an embodiment of this application. The preset voltage width determination method is applied to a storage device. Figure 3 As shown, it includes the following steps:
[0056] S21, determine the threshold voltage for each memory cell.
[0057] In at least one embodiment of this application, the storage device includes multiple storage units. Depending on the information storage method, the storage units may include single-level cells (SLC), multi-level cells (Multi-Level Cell), and triple-level cells (TLC). A single-level cell can store 1 bit of data, a multi-level cell can store 2 bits of data, and a triple-level cell can store 3 bits of data.
[0058] In some embodiments, each memory cell has a corresponding threshold voltage, which may include the minimum voltage required for the memory cell to transition from a non-conducting state to a conducting state. Taking a dual-level memory cell as an example, the memory cell can store 2 bits of data, thus allowing for four data states: 11, 10, 00, and 01. To represent these four data states, the memory cell can be set with four different threshold voltages, which can be set according to actual needs. For example, the threshold voltage corresponding to data state 11 can be 0V to 0.5V, the threshold voltage corresponding to data state 10 can be 1.5V to 2V, the threshold voltage corresponding to data state 00 can be 3V to 3.5V, and the threshold voltage corresponding to data state 01 can be 4.5V to 5V.
[0059] S22, Based on the threshold voltage, determine the voltage distribution data of each memory cell.
[0060] In at least one embodiment of this application, the voltage distribution data of the storage cell is determined based on the data state of the storage cell and the threshold voltage corresponding to the data state. Combined with... Figure 4 This application provides a schematic diagram illustrating the distribution of threshold voltages in its embodiments. Figure 4 As shown, the horizontal axis represents voltage values. Each storage unit can store 2 bits of data, thus allowing for four data states: 11, 10, 00, and 01. The order of these four data states can be determined based on actual needs and is not limited here. The threshold voltage of the storage unit follows a Gaussian distribution, and the data state of the storage unit can be determined based on its threshold voltage. In some embodiments, three read voltages can be preset for the four data states and their corresponding threshold voltages: read voltage 1, read voltage 2, and read voltage 3. Read voltage 1 is located between data state 11 and data state 10, read voltage 2 is located between data state 10 and data state 00, and read voltage 3 is located between data state 00 and data state 01. In the data reading scenario, if the reading voltage is less than or equal to reading voltage 1, the reading data status is 11; if the reading voltage is greater than reading voltage 1 and less than or equal to reading voltage 2, the reading data status is 10; if the reading voltage is greater than reading voltage 2 and less than or equal to reading voltage 3, the reading data status is 00; if the reading voltage is greater than reading voltage 3, the reading data status is 01.
[0061] S23, based on adjacent voltage distribution data, determine multiple voltage widths of the storage device.
[0062] In at least one embodiment of this application, based on voltage distribution data, two boundary points can be determined for each data state (i.e., each data state corresponds to a point on the horizontal axis of the arc), thus obtaining eight boundary points. Boundary points corresponding to adjacent data states are selected, and the voltage width is determined based on these adjacent boundary points. For example, the left and right boundary points of read voltage 1 are selected, and the voltage width of the storage device is determined based on these left and right boundary points, denoted as voltage width V. a Select the left and right boundary points of the read voltage 2 to determine the voltage width of the storage device, denoted as voltage width V. b Select the left and right boundary points of the read voltage 3 to determine the voltage width of the storage device, denoted as voltage width V. c .
[0063] In another embodiment, an error correction code is incorporated into the storage device to detect and correct errors caused by charge leakage and inter-cell read interference. When determining multiple voltage widths of the storage device, offset processing can be performed based on the correction performance of the error correction code, so that the number of fault bits (FBC) in the storage cell is less than a preset value, resulting in a voltage width with a larger width value. The preset value can be set according to actual needs. For example, select the left and right boundary points of read voltage 1. Then, based on the left boundary point, shift to the left by a first preset voltage value to obtain an updated left boundary point; shift to the right by a second preset voltage value based on the right boundary point to obtain an updated right boundary point; based on the updated left and right boundary points, determine the voltage width of the storage device, denoted as voltage width V1. Select the left and right boundary points of read voltage 2. Based on the left boundary point, shift to the left by a first preset voltage value to obtain an updated left boundary point; shift to the right by a second preset voltage value based on the right boundary point to obtain an updated right boundary point; based on the updated left and right boundary points, determine the voltage width of the storage device, denoted as voltage width V2. Select the left and right boundary points of read voltage 3. Based on the left boundary point, shift to the left by a first preset voltage value to obtain an updated left boundary point; shift to the right by a second preset voltage value based on the right boundary point to obtain an updated right boundary point; based on the updated left and right boundary points, determine the voltage width of the storage device, denoted as voltage width V3. The first preset voltage value and the second preset voltage value can be set according to the correction performance of the error correction code. The first preset voltage value and the second preset voltage value can be the same or different. In this embodiment, the correction performance of the error correction code is offset to obtain a voltage width with a larger width value, which can improve the accuracy of determining the read interference threshold and thus improve the accuracy of data processing.
[0064] S24, based on the plurality of voltage widths, determine the preset voltage width of the storage device.
[0065] In at least one embodiment of this application, when no read interference occurs, the width value corresponding to each voltage width is the same; when read interference occurs, the threshold voltage of the memory cell shifts to the right along the horizontal axis, and the shift amount of the threshold voltage corresponding to the memory cell in different data states is different. Combined with Figure 5 This application provides a schematic diagram illustrating the threshold voltage offset in its embodiments. Figure 5 As shown, the solid line represents the distribution data of the threshold voltage when no read interference occurs, and the dashed line represents the distribution data of the threshold voltage when read interference occurs. Taking a three-level storage cell as an example, the storage cell can store 3 bits of data. Thus, the storage cell can include eight data states. To represent these eight data states, the storage cell can be set with eight different threshold voltages, which can be set according to actual needs. When no read interference occurs, the width value corresponding to each voltage width is the same; when read interference occurs, the threshold voltage of the storage cell shifts to the right along the horizontal axis, and the amount of shift of the threshold voltage corresponding to the storage cell for different data states is different. For example, Figure 5 The width value of the V marked in the middle changes more significantly.
[0066] In some embodiments, the voltage width of the memory cell with the smaller threshold voltage varies more significantly. Therefore, from a plurality of voltage widths, the voltage width corresponding to the smaller threshold voltage is selected as the preset voltage width. Following the above embodiments, either voltage width V1 or voltage width V can be selected. a This application uses the example of determining the preset voltage width based on the correction performance of the error correction code to illustrate the concept. Thus, the preset voltage width of the storage device can be voltage width V1.
[0067] In the data processing method provided in the embodiments of this application, the preset voltage width of the storage device is determined based on the voltage distribution data of the threshold voltage of the storage unit. The impact of the count value of different read operations on the data reliability can be determined based on the preset voltage width, thereby determining the read interference threshold and improving the portability of the read interference threshold determination.
[0068] In at least one embodiment of this application, the lifespan of the storage device is related to the number of erase / write cycles corresponding to the storage device. Figure 6 This is a flowchart illustrating the lifecycle determination method provided in an embodiment of this application. The lifecycle determination method is applied to storage devices. Figure 6 As shown, it includes the following steps:
[0069] S31, obtain the erase / write cycle range corresponding to the storage device.
[0070] In at least one embodiment of this application, different types of storage devices have corresponding erase / write cycle thresholds. When the number of erase / write cycles of a storage device is greater than or equal to the erase / write cycle threshold, the storage device may suffer irreversible physical damage, causing the storage device to be unable to store data normally. In some embodiments, the erase / write cycle range of the storage device can be determined based on the corresponding erase / write cycle threshold. For example, when the erase / write cycle threshold is 10,000 times, the erase / write cycle range of the storage device can be 1 to 10,000.
[0071] S32, divide the erase / write count interval to obtain multiple erase / write count sub-intervals.
[0072] In at least one embodiment of this application, the number of erase / write count sub-intervals can be determined according to actual needs. Then, the erase / write count sub-intervals are divided according to the number of erase / write count sub-intervals to obtain multiple erase / write count sub-intervals. The division method can include equal division, that is, dividing the erase / write count sub-intervals into multiple erase / write count sub-intervals equally. The division method can also include unequal division, for example, dividing the erase / write count sub-intervals into erase / write count sub-intervals of unequal lengths according to preset rules or needs. No limitation is imposed here.
[0073] In some embodiments, when dividing the erase / write count interval, the erase / write count corresponding to a predetermined read interference threshold can be obtained, and the erase / write count interval can be divided based on this erase / write count. For example, the predetermined read interference threshold includes a first read interference threshold T1 and a second read interference threshold T2. The first read interference threshold T1 corresponds to erase / write counts of 1 to 1000, and the second read interference threshold T2 corresponds to erase / write counts of 8000 to 10000. Based on this, when dividing the erase / write count interval, erase / write counts of 1 to 1000 are divided into one erase / write count sub-interval, erase / write counts of 8000 to 10000 are divided into another erase / write count sub-interval, and the remaining erase / write counts of 1000 to 8000 are divided according to actual needs. For example, the remaining 1,000 to 8,000 erase / write cycles are divided into three erase / write cycle sub-intervals: 1,000 to 3,000, 3,000 to 5,000, and 5,000 to 8,000. The erase / write cycle sub-intervals 1,000 to 3,000 can be denoted as the second lifecycle A, 3,000 to 5,000 as the second lifecycle B, and 5,000 to 8,000 as the second lifecycle C.
[0074] S33, the erase / write count sub-intervals are arranged in sequence, and the first life cycle is determined based on the first erase / write count sub-interval and the last erase / write count sub-interval.
[0075] In at least one embodiment of this application, multiple erase / write count sub-intervals are sorted in ascending order of erase / write count, with the earlier sub-intervals corresponding to fewer erase / write counts and the later sub-intervals corresponding to more erase / write counts. In some embodiments, following the above embodiments, the first erase / write count sub-interval is designated as the early life stage, and the corresponding read interference threshold (i.e., the first read interference threshold T1) is preset. The last erase / write count sub-interval is designated as the late life stage, and the corresponding read interference threshold (i.e., the second read interference threshold T2) is also preset. The first life cycle is determined based on the erase / write count sub-intervals with known read interference thresholds. Therefore, the early life stage and the late life stage are considered as the first life cycle.
[0076] S34, determine the second lifetime based on the erase / write count sub-intervals other than the first lifetime among the plurality of erase / write count sub-intervals.
[0077] In at least one embodiment of this application, a second lifetime is determined based on a sub-interval of erase / write cycles with an unknown read interference threshold. For example, the erase / write cycle sub-intervals other than the first lifetime are taken as the second lifetime. The number of erase / write cycle sub-intervals included in the second lifetime can be one or more, and is not limited here. Continuing with the above embodiments, the second lifetime includes second lifetime A, second lifetime B, and second lifetime C.
[0078] In the data processing method provided in this application embodiment, the erase / write cycle interval of the storage device is divided into multiple erase / write cycle sub-intervals. The erase / write cycle sub-interval with a pre-determined read interference threshold among the multiple erase / write cycle sub-intervals is taken as the first life cycle, and the erase / write cycle sub-interval with an undetermined read interference threshold among the multiple erase / write cycle sub-intervals is taken as the second life cycle. This facilitates the subsequent determination of the read interference threshold corresponding to the second life cycle using the read interference threshold corresponding to the first life cycle, thereby enabling timely and effective processing of the data in the storage device.
[0079] In at least one embodiment of this application, when no read interference occurs in the storage device, the width value of the preset voltage width corresponding to the storage device remains unchanged; when read interference occurs in the storage device, the width value of the preset voltage width of the storage device changes. Based on this, read interference data can be determined based on the change in the width value of the preset voltage width in the storage device. Figure 7 This is a flowchart illustrating the method for determining read interference data provided in an embodiment of this application. The method for determining read interference data is applied to a storage device. Figure 7 As shown, it includes the following steps:
[0080] S41, in the first life cycle and the second life cycle respectively, determine the width value of the preset voltage width corresponding to the count value of different read operations.
[0081] In at least one embodiment of this application, during the first lifetime, an initial read operation count value is selected, for example, the initial read operation count value is 1. Then, the read operation count value is incremented, and the width value corresponding to the read operation count value is recorded. In this way, it can be determined that different read operation count values within the first lifetime correspond to the width value of the preset voltage width. During the second lifetime, an initial read operation count value is selected, for example, the initial read operation count value is 1. Then, the read operation count value is incremented, and the width value corresponding to the read operation count value is recorded. In this way, it can be determined that different read operation count values within the second lifetime correspond to the width value of the preset voltage width.
[0082] S42, when the width value changes, it is determined that read interference has occurred in the storage device, and the read interference data of the storage device is determined.
[0083] In at least one embodiment of this application, if no read interference occurs in the storage device during the same life cycle, the width value of the preset voltage width corresponding to the storage device remains unchanged; if the width value of the preset voltage width changes, it is determined that read interference has occurred in the storage device, and then the correspondence between the width value of the preset voltage width of the storage device and the count value of the read operation is collected in the first life cycle and the second life cycle as read interference data.
[0084] In the data processing method provided in this application embodiment, the storage device is determined to have read interference by monitoring the changes in the width value of the preset voltage width corresponding to the count value of different read operations. When read interference occurs in the storage device, the read interference data of the storage device is determined, which can improve the accuracy of read interference data collection and thus improve the accuracy of read interference threshold determination.
[0085] In at least one embodiment of this application, determining the change information of the width value of the preset voltage width and the count value of the read operation based on the correspondence includes: constructing a trend graph of the change of the width value of the preset voltage width as the count value of the read operation increases during the first lifetime and the second lifetime, respectively.
[0086] Please see Figure 8 , Figure 8 This is a schematic diagram illustrating the changes provided in the embodiments of this application. Figure 8 The diagram shows the trend of how the width value of the preset voltage width of the storage device changes as the count value of read operations increases during the first and second lifetimes. Figure 8 The horizontal axis represents the count value of read operations, and the vertical axis represents the width value of the preset voltage width. Throughout different lifecycles, when read interference occurs in the storage device, the width value of the preset voltage width decreases as the count value of read operations increases. The first lifecycle can include the early and late stages of the lifecycle. In the early stage of the lifecycle... Figure 8 The diagram illustrates the trend of the preset voltage width value as the read operation count increases when the number of erase / write cycles is 1 (marked as PE 1) and 1000 (marked as PE 1K) respectively; at the end of its lifespan, Figure 8 The diagram illustrates the trend of the preset voltage width value as the read operation count increases when the erase / write cycle count is 10,000 times (marked as PE 10K in the figure). The second lifecycle can include second lifecycle A (marked as PE A in the figure), second lifecycle B (marked as PE B in the figure), and second lifecycle C (marked as PE C in the figure). Figure 8 The number of erase / write cycles shown in the second lifecycle can be set according to actual needs and is not limited here.
[0087] In the data processing method provided in this application embodiment, by representing the change information of the width value of the preset voltage width and the count value of the read operation using a change trend graph, it is possible to quickly and accurately determine the information that the width value of the preset voltage width changes as the count value of the read operation increases. This facilitates the subsequent determination of the second read interference threshold of the second life cycle using the change information, thereby improving the determination efficiency of the second read interference threshold.
[0088] In at least one embodiment of this application, obtaining the first read interference threshold corresponding to the storage device during the first lifecycle includes: obtaining the first read interference threshold corresponding to the storage device during the first lifecycle based on the specification data corresponding to the storage device. Before the storage device leaves the factory, the read interference threshold of the storage device is predetermined through experiments so that data in the storage device can be transferred in a timely manner when the number of reads reaches the read interference threshold. In some embodiments, the pre-set read interference threshold of the storage device can be stored in the specification data. By parsing the specification data, the first read interference threshold corresponding to the storage device during the first lifecycle can be obtained. By parsing the specification data, the embodiments of this application can quickly and accurately obtain the pre-set read interference threshold and the corresponding lifecycle of the storage device, which facilitates the subsequent determination of the second interference threshold corresponding to the second lifecycle using the first interference threshold and the first lifecycle, thereby improving the determination efficiency of the second read interference threshold.
[0089] Figure 9 This is a flowchart illustrating the second read interference threshold determination method provided in the first embodiment of this application. The second read interference threshold determination method is applied to a storage device. Figure 9 As shown, it includes the following steps:
[0090] S51, based on the change information, determine the target width value of the preset voltage width corresponding to the first read interference threshold.
[0091] In at least one embodiment of this application, the change information may include information that the width value of the preset voltage width of the storage device decreases as the count value of the read operation increases during the first lifetime and the second lifetime. Among the change information, the change information corresponding to the first lifetime is selected, and based on the change information of the first lifetime, the width value of the preset voltage width corresponding to the read operation count value at a first read interference threshold is determined (for ease of description, this application simply refers to it as the "target width value").
[0092] S52, based on the target width value and the change information, determine the second read interference threshold corresponding to the storage device in the second lifetime.
[0093] In at least one embodiment of this application, change information corresponding to the second lifecycle is selected from the change information, and based on the change information of the second lifecycle, the count value of read operations corresponding to when the preset voltage width is the target width value is determined, and a second read interference threshold corresponding to the storage device in the second lifecycle is determined based on the determined count value of read operations. In one embodiment, the determined count value of read operations can be used as the second read interference threshold corresponding to the storage device in the second lifecycle; in another embodiment, the determined count value of read operations can be further processed according to actual needs to obtain the second read interference threshold corresponding to the storage device in the second lifecycle. This application embodiment uses the determined count value of read operations as the second read interference threshold corresponding to the storage device in the second lifecycle as an example for illustration.
[0094] In the data processing method provided in this application embodiment, a second read interference threshold corresponding to the second life cycle is determined based on a first read interference threshold corresponding to the first life cycle, avoiding the use of experimental methods to determine the second read interference threshold and improving the efficiency of reading interference threshold determination.
[0095] Figure 10 This is a flowchart illustrating the second read interference threshold determination method provided in the second embodiment of this application. The second read interference threshold determination method is applied to a storage device. Figure 10 As shown, it includes the following steps:
[0096] S61, in the trend graph, a target reference point is determined based on the target width value and the first reading interference threshold.
[0097] In at least one embodiment of this application, following the above embodiments, in the trend graph, the horizontal axis represents the count value of read operations, and the vertical axis represents the width value of the preset voltage width. The trend graph includes change information for the first life cycle and the second life cycle. In the change information corresponding to the first life cycle, the point where the count value of read operations on the horizontal axis is the first read interference threshold and the point where the width value of the preset voltage width on the vertical axis is the target width value is used as a reference point.
[0098] In some embodiments, the first lifecycle may include an early lifecycle and a late lifecycle, with the early lifecycle corresponding to a first read interference threshold T1 and the late lifecycle corresponding to a second read interference threshold T2. Thus, there are two reference points: one corresponding to the early lifecycle and one corresponding to the late lifecycle. One of these two reference points is selected as the target reference point based on actual needs.
[0099] S62, Based on the target reference point, construct a straight line passing through the target reference point in a preset direction.
[0100] In at least one embodiment of this application, the preset direction can be a direction parallel to the horizontal axis. For example, the preset direction is a horizontal direction, and a straight line passing through the target reference point is constructed in the horizontal direction.
[0101] S63, determine the intersection point of the straight line and the trend of the change of the preset voltage width and the count value of the read operation corresponding to the second life cycle, and use the count value of the read operation corresponding to the intersection point as the second read interference threshold.
[0102] In the data processing method provided in this application embodiment, the second read interference threshold corresponding to the second life cycle is determined by using a trend graph, which can improve the efficiency of determining the second read interference threshold.
[0103] Please see Figure 11 , Figure 11 This is a structural diagram of the data processing apparatus provided in an embodiment of this application. In some embodiments, the data processing apparatus 20 may include multiple functional modules composed of computer program segments. The computer programs of each program segment in the data processing apparatus 20 may be stored in a storage device and executed by at least one controller to perform (see details). Figure 2 (Description) Data processing functions.
[0104] In this embodiment, the data processing device 20 can be divided into multiple functional modules according to the functions it performs. These functional modules may include: a data determination module 201, a change determination module 202, a threshold acquisition module 203, and a threshold determination module 204. As used in this application, a module refers to a series of computer program segments that can be executed by at least one controller and perform a fixed function, and which are stored in a storage device. In this embodiment, the functions of each module will be described in detail in subsequent embodiments.
[0105] The data determination module 201 can be used to determine the read interference data of the storage device. The read interference data includes the correspondence between the width value of the preset voltage width of the storage device and the count value of the read operation within the first lifetime and the second lifetime.
[0106] The change determination module 202 can be used to determine the change information between the width value of the preset voltage width and the count value of the read operation based on the correspondence.
[0107] The threshold acquisition module 203 can be used to acquire the first read interference threshold corresponding to the storage device in the first life cycle.
[0108] The threshold determination module 204 can be used to determine the second read interference threshold corresponding to the storage device in the second lifetime based on the change information and the first read interference threshold.
[0109] In at least one embodiment of this application, the computer device includes a storage device, at least one processor, and at least one communication bus, wherein the processor is used to implement a data processing method when executing a computer program stored in the storage device.
[0110] Those skilled in the art should understand that the structure of a computer device can be either a bus topology or a star topology. A computer device may also include more or fewer other hardware or software than shown in the figure, or different component arrangements.
[0111] In some embodiments, a computer device is a device capable of automatically performing numerical calculations and / or information processing according to pre-set or stored instructions. Its hardware includes, but is not limited to, microprocessors, application-specific integrated circuits (ASICs), programmable gate arrays (FPGAs), digital processors, and embedded devices. The computer device can also connect to client devices, which include, but are not limited to, any electronic product capable of human-computer interaction with a client via a keyboard, mouse, remote control, touchpad, or voice control device, such as a personal computer, tablet computer, smartphone, or digital camera.
[0112] It should be noted that computer equipment is only an example. Other existing or future electronic products that are suitable for this application should also be included within the scope of protection of this application and are incorporated herein by reference.
[0113] In some embodiments, at least one processor is the control unit of a computer device, connecting various components of the computer device via various interfaces and lines. It executes programs or modules stored in a storage device and calls data stored in the storage device to perform various functions of the computer device and process data. For example, when at least one processor executes a computer program stored in the storage device, it implements all or part of the steps of the data processing method in the embodiments of this application; or it implements all or part of the functions of a data processing device. At least one processor may be composed of integrated circuits, such as a single-packaged integrated circuit or multiple integrated circuits with the same or different functions, including combinations of one or more central processing units (CPUs), microprocessors, digital processing chips, graphics processors, and various control chips.
[0114] Although not shown, the computer device may also include a power supply (such as a battery) to power various components. Preferably, the power supply can be logically connected to at least one processor via a power management device, thereby enabling functions such as charging, discharging, and power consumption management. The power supply may also include one or more DC or AC power sources, recharging devices, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components. The computer device 1 may also include various sensors, Bluetooth modules, Wi-Fi modules, etc., which will not be described in detail here.
[0115] The integrated unit implemented as a software functional module described above can be stored in a computer-readable storage medium. This software functional module, stored in a storage medium, includes several instructions to cause a computer device (which may be a personal computer, a computer device, or a network device, etc.) or a processor to execute portions of the methods of the various embodiments of this application.
[0116] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and other division methods may be used in actual implementation.
[0117] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical units; they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0118] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in the form of hardware plus software functional modules.
[0119] It will be apparent to those skilled in the art that this application is not limited to the details of the exemplary embodiments described above, and that it can be implemented in other specific forms without departing from the spirit or essential characteristics of this application. Therefore, the embodiments should be considered exemplary and non-limiting in all respects, and the scope of this application is defined by the appended claims rather than the foregoing description. Thus, all variations falling within the meaning and scope of equivalents of the claims are intended to be embraced within this application. No reference numerals in the claims should be construed as limiting the scope of the claims. Furthermore, it is clear that the word "comprising" does not exclude other elements or, and the singular does not exclude the plural. Multiple elements or devices recited in the specification may also be implemented by a single element or device through software or hardware. The terms "first," "second," etc., are used to indicate names and do not indicate any particular order.
[0120] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application and are not intended to limit it. Although this application has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of this application without departing from the spirit and scope of the technical solutions of this application.
Claims
1. A data processing method applied to a storage device, characterized in that, The data processing method comprises: determining read interference data of the storage device, the read interference data comprising a corresponding relationship between a width value of a preset voltage width of the storage device and a count value of a read operation within a first life cycle and a second life cycle; based on the corresponding relationship, determining change information of the width value of the preset voltage width and the count value of the read operation; obtaining a first read interference threshold corresponding to the first life cycle of the storage device; based on the change information and the first read interference threshold, determining a second read interference threshold corresponding to the second life cycle of the storage device.
2. The data processing method of claim 1, wherein, The storage device comprises a plurality of storage units, and the method further comprises: determining a threshold voltage of each storage unit; based on the threshold voltage, determining voltage distribution data of each storage unit; based on adjacent voltage distribution data, determining a plurality of voltage widths of the storage device; based on the plurality of voltage widths, determining a preset voltage width of the storage device.
3. The data processing method of claim 1, wherein, The method further comprises: obtaining a write-erase frequency interval corresponding to the storage device; dividing the write-erase frequency interval to obtain a plurality of write-erase frequency subintervals; sequentially arranging the write-erase frequency subintervals, and determining the first life cycle according to a write-erase frequency subinterval with the earliest order and a write-erase frequency subinterval with the latest order; determining the second life cycle according to write-erase frequency subintervals other than the first life cycle among the plurality of write-erase frequency subintervals.
4. The data processing method according to claim 1 or 3, characterized by, Before the determination of the read interference data of the storage device, the method further comprises: determining a count value of a different read operation corresponding to a width value of a preset voltage width within the first life cycle and the second life cycle, respectively; when the width value changes, determining that the storage device has read interference, and determining the read interference data of the storage device.
5. The data processing method of claim 1, wherein, The determination of the change information of the width value of the preset voltage width and the count value of the read operation based on the corresponding relationship comprises: within the first life cycle and the second life cycle, respectively, constructing a change trend graph of the width value of the preset voltage width changing with the increase of the count value of the read operation.
6. The data processing method of claim 1, wherein, The obtaining of the first read interference threshold corresponding to the first life cycle of the storage device comprises: based on specification data corresponding to the storage device, obtaining the first read interference threshold corresponding to the first life cycle of the storage device.
7. The data processing method of claim 5, wherein, The determination of the second read interference threshold corresponding to the second life cycle of the storage device based on the change information and the first read interference threshold comprises: based on the change information, determining a target width value of the first read interference threshold corresponding to the preset voltage width; based on the target width value and the change information, determining the second read interference threshold corresponding to the second life cycle of the storage device.
8. The data processing method of claim 7, wherein, The determination of the second read interference threshold corresponding to the second life cycle of the storage device based on the target width value and the change information comprises: in the change trend graph, determining a target reference point based on the target width value and the first read interference threshold; constructing a straight line passing through the target reference point in a preset direction based on the target reference point; determining an intersection point of the straight line and a variation trend of the count value of the read operation corresponding to the preset voltage width of the second life cycle, and taking the count value of the read operation corresponding to the intersection point as the second read interference threshold.
9. A storage device having stored thereon a computer program, characterized in that The computer program, when executed by a processor, implements the data processing method of any one of claims 1 to 8.
10. A computer device, comprising: The computer device comprises the storage device of claim 9 and a processor, wherein the processor is configured to execute the computer program stored in the storage device to implement a data processing method.
Citation Information
Patent Citations
An LDPC code decoding method based on threshold voltage drift perception
CN109887537A
Method and device for judging data storage state in solid state disk
CN110825556A
Solid state disk data read-write method and device and solid state disk
CN116483265A
Read disturb mitigation based on signal and noise characteristics of memory cells collected for read calibration
US11205495B1
Low Impact Read Disturb Handling
US20160118132A1