Read interference management method and device, phase change memory and solid state disk
By evaluating the read interference weight value based on time correlation and triggering data refresh at a threshold, the problem of low data accuracy and poor data integrity caused by read interference is solved, extending the service life of phase change memory and stabilizing performance.
Patent Information
- Application Number
- CN202511779696.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-28
- Publication Date
- 2026-03-10
AI Technical Summary
In existing technologies, read interference management algorithms cannot accurately assess the degree of read interference, resulting in problems such as low data accuracy, poor integrity, and short lifespan. Furthermore, lowering the read interference management threshold will affect overall performance.
By determining the read interference weight value based on the time correlation between multiple read operations of the target physical storage unit, and triggering a data refresh operation when the cumulative weight value exceeds the threshold, read interference is dynamically managed.
It improves data accuracy and integrity, extends the lifespan of the memory, and reduces the negative impact on performance.
Smart Images

Figure CN121635810A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of storage management, and in particular to a read interference management method and device, a phase change memory and a solid state disk. BACKGROUND
[0002] Phase change memory (PCM) is a new type of non-volatile storage technology, which uses the large resistance difference between crystalline and amorphous states of chalcogenide compounds to store data.
[0003] The following introduces several common operations of PCM memory: The first: write "1" operation, also known as "Set".
[0004] A first parameter voltage or current pulse is applied to a physical storage unit through a word line (WL) and a bit line (BL); wherein the first parameter pulse is a pulse of medium amplitude and long duration. The pulse generates heat, which raises the temperature of the phase change material to the crystallization temperature (TX); the crystallization temperature of the phase change material is maintained for a sufficient time (a factor that restricts the write bandwidth), and the atoms are rearranged from amorphous to crystalline, thus successfully writing data "1".
[0005] The second: write "0" operation, also known as "Reset".
[0006] A second parameter voltage or current pulse is applied to the physical storage unit; wherein the second parameter pulse is a pulse of high amplitude and short duration; the pulse generates extremely high Joule heat, which sharply raises the temperature of the phase change material and far exceeds its melting point (Tm), and the phase change material instantly melts into a liquid state, the pulse ends quickly, and the heat is quickly conducted (quenched) by the substrate, wherein a part of the heat is conducted by the current and the metal, and another part of the heat is absorbed by adjacent cells, causing thermal crosstalk; the atoms are not arranged in order in time, but are "frozen" in a disordered state, forming an amorphous state, and thus successfully writing data "0".
[0007] The third: read operation.
[0008] A third parameter voltage or current pulse is applied to the physical storage unit; wherein the third parameter pulse is a pulse of very low amplitude and short duration; the heat generated by this read pulse is minimal and does not change the phase of the material; by measuring the current flowing through the phase change material cell or directly measuring its resistance value, the state can be determined: "1": large current / low resistance = crystalline state; "0": small current / high resistance = amorphous state.
[0009] Although the energy applied during the read operation is relatively small, repeated reads can still cause changes in the microstructure of the phase change material due to Joule heat accumulation, leading to the following two types of read interference: (1) Crystalline read interference (read 1 interference): When the data in a physical storage cell is 1, the phase change material is in a crystalline state, with low resistivity. Under the same read voltage, the current flowing through the crystalline state is greater than that through the amorphous state. Repeated reads cause the crystalline state to partially transform into an amorphous state, increasing the resistivity and gradually raising the actual gate voltage (Vt). If Vt exceeds the read voltage (Vread), a read error occurs. When the number of read errors exceeds the error correction range, the data cannot be corrected, resulting in a read error and data loss.
[0010] (2) Amorphous state read interference (read 0 interference): When reading from an amorphous state, the phase change material undergoes carrier avalanche multiplication, resulting in an exponential increase in carrier concentration and a decrease in resistivity, generating read-zero interference. As the resistivity continues to decrease, the actual gate voltage Vt gradually decreases, leading to read errors. When the number of read errors exceeds the error correction range, the data cannot be corrected, resulting in read errors and data loss.
[0011] In summary, the current generated by the read operation can cause localized heating of the PCM cell, resulting in a significant change in cell resistance, which affects the accuracy of data reading and may even lead to data loss, seriously threatening the reliability of the storage system.
[0012] In existing technologies, to avoid data loss and errors caused by read interference, read interference management algorithms are commonly used. The core of this algorithm is to record the number of reads for each physical storage unit. When the number of reads for a physical storage unit exceeds the read interference relocation threshold, a data refresh operation is triggered for that physical storage unit. The data refresh operation specifically includes: within a specified period, traversing all physical units storing valid data, reading the internally stored data, and rewriting it back to the original physical address to refresh the data and avoid interference. Although read interference can be eliminated through rewriting and other read interference handling, existing technologies still have the following drawbacks: The number of reads cannot accurately reflect the degree of read interference, and the accuracy of assessing the impact of read interference is low. Moreover, read interference can accumulate too quickly without the data being refreshed in time, resulting in read errors and affecting data integrity. In addition, existing technologies reduce data loss by lowering the threshold for initiating data migration in read interference management algorithms, but lowering the threshold will increase the amount of background data processed to handle write interference, affecting overall performance. Lowering the threshold will also increase the amount of data written by non-hosts, reducing the number of user writes and thus reducing lifespan. Summary of the Invention
[0013] In view of this, embodiments of this application provide a read interference management method, device, phase change memory, and solid-state drive, which can effectively solve problems such as low data accuracy, poor data integrity, and short lifespan.
[0014] In a first aspect, embodiments of this application provide a read interference management method for a phase-change memory, including: Based on the time correlation between multiple read operations on the target physical storage unit, the read interference weight value of the current read operation to the read interference is determined. Update the cumulative read interference weight value of the target physical storage unit according to the read interference weight value; If the cumulative weight value of read interference exceeds a preset threshold, a data refresh operation is triggered on the target physical storage unit to complete the read interference processing and correct the data errors caused by read interference.
[0015] Secondly, embodiments of this application provide a read interference management device for a phase-change memory, comprising: The read interference weight value determination module is used to determine the read interference weight value of the current read operation to the read interference based on the time correlation between multiple read operations on the target physical storage unit. The read interference cumulative weight value update module is used to update the read interference cumulative weight value of the target physical storage unit according to the read interference weight value; The data refresh module is used to trigger a data refresh operation on the target physical storage unit when the cumulative weight value of the read interference exceeds a preset threshold, so as to complete the read interference processing and correct the data errors caused by the read interference.
[0016] Thirdly, embodiments of this application provide a phase-change memory, wherein the phase-change memory employs a read interference management method for a phase-change memory as provided in the first aspect of this application to manage read interference.
[0017] Fourthly, embodiments of this application provide a solid-state drive, which includes a phase-change memory as provided in the third aspect of this application.
[0018] The embodiments of this application have the following beneficial effects: This application determines the read interference weight value of the current read operation based on the temporal correlation between multiple read operations on the target physical storage unit; updates the cumulative read interference weight value of the target physical storage unit according to the read interference weight value; and triggers a data refresh operation on the target physical storage unit when the cumulative read interference weight value exceeds a preset threshold to complete the read interference processing and correct data errors caused by read interference. This application, by determining the read interference weight value of the current read operation based on the temporal correlation between multiple read operations and performing a data refresh operation based on the cumulative read interference weight value, can effectively solve problems such as low data accuracy, poor data integrity, and short lifespan. Attached Figure Description
[0019] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This paper illustrates a framework / application scenario diagram of a read interference management method for phase-change memory according to an embodiment of this application; Figure 2 This paper illustrates a flowchart of a method for calculating read interference weight values in a phase-change memory read interference management method according to an embodiment of this application. Figure 3a Another flowchart of the read interference management method of phase change memory according to an embodiment of this application is shown; Figure 3b This paper shows a flowchart of the read operation process in the read interference management method of phase change memory according to an embodiment of the present application; Figure 3c This paper shows a flowchart of the read operation process for performing read interference processing in the read interference management method of phase change memory according to an embodiment of the present application; Figure 3d This paper shows a flowchart of the write operation process in the read interference management method of phase change memory according to an embodiment of the present application; Figure 3e This paper illustrates a flowchart of the read interference handling write operation process in the read interference management method of phase change memory according to an embodiment of this application. Detailed Implementation
[0021] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.
[0022] The components of the embodiments of this application described and illustrated in the accompanying drawings can be arranged and designed in a variety of different configurations. Therefore, the following detailed description of the embodiments of this application provided in the drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0023] In the following text, the terms "comprising," "having," and their cognates, which may be used in various embodiments of this application, are intended only to indicate a particular feature, number, step, operation, element, component, or combination thereof, and should not be construed as primarily excluding the presence of one or more other features, numbers, steps, operations, elements, components, or combinations thereof, or adding the possibility of one or more combinations thereof. Furthermore, the terms "first," "second," "third," etc., are used only for distinguishing descriptions and should not be construed as indicating or implying relative importance.
[0024] Unless otherwise specified, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which the various embodiments of this application pertain. Terms (such as those defined in commonly used dictionaries) shall be interpreted as having the same meaning as in their contextual meaning in the relevant technical field and shall not be construed as having an idealized or overly formal meaning, unless clearly defined in the various embodiments of this application.
[0025] The following detailed description of some embodiments of this application is provided in conjunction with the accompanying drawings. Unless otherwise specified, the following embodiments and features can be combined with each other.
[0026] This application discovers that, based on current media characteristics, the read interval (read time interval) has a significant impact on data for the same physical location. For example, for the same address, reading 100 times at 100-second intervals results in a significantly higher number of erroneous bits in the last returned data due to media characteristics compared to reading 100 times at 1-second intervals. This application refers to the 100-second read interval behavior as a slow read. If only the number of reads is relied upon for refresh, in application scenarios where slow reads are frequent, read interference can easily accumulate rapidly. When the accumulated number of erroneous bits exceeds the firmware's error correction capability, the data stored at this location will be lost, causing read errors and affecting the integrity of user data.
[0027] In existing technologies, lowering the threshold for triggering data migration in the read interference management algorithm can cause the algorithm to migrate data prematurely. In scenarios where slow reads are not present, frequent background migrations increase the amount of data processed in the background, reducing the backend bandwidth available to respond to user read / write operations and thus impacting the overall performance of the disk platter.
[0028] The following describes the read interference management method of this phase-change memory using some specific embodiments.
[0029] Figure 1 A flowchart illustrating a read interference management method for a phase-change memory according to an embodiment of this application is shown. Exemplarily, the read interference management method for this phase-change memory includes the following steps: S100, based on the time correlation between multiple read operations on the target physical storage unit, determine the read interference weight value of the current read operation to the read interference.
[0030] A physical storage unit (PSU) is the most basic, independently addressable and operable data storage entity in a phase-change memory (PCM). It is the smallest hardware unit that enables the storage of data "0" and "1" and is located in the physical layer of the storage medium.
[0031] Each physical memory cell consists of two core parts: a phase change memory cell and a selector / access transistor. The phase change memory cell is responsible for storing data. The selector / access transistor is typically a transistor (such as an NMOS transistor) used to control access to the phase change memory cell. Therefore, a physical memory cell includes one phase change memory element and one selector transistor.
[0032] Timing dependency refers to the timing relationship between consecutive read operations on the same physical memory unit. This timing relationship is intrinsically linked to the severity of "read interference" introduced by that read operation.
[0033] The read interference weight is a quantitative metric used to measure the magnitude of the "read interference load" caused by a single read operation to a phase-change memory cell (physical memory cell). It is not fixed but dynamically depends on the time relationship between the current read operation and the previous read operation. For example, the read interference weight is negatively correlated with the time interval between consecutive read operations.
[0034] Understandably, for any target physical memory cell, the contribution of read interference from a single read operation is not constant, but closely related to the time of its previous read operation. This weighting value reflects the cumulative thermal stress and material degradation effects caused by repeated reads within a specific time window on the physical memory cell.
[0035] For example, different time intervals between read operations on the same physical storage unit result in different levels of read interference. However, in existing technologies, all read operations are processed in the same way, making it impossible to accurately assess the cumulative interference from read operations.
[0036] S200, update the cumulative read interference weight value of the target physical storage unit according to the read interference weight value.
[0037] The cumulative read interference weight value is used to measure the severity of the "read interference" effect caused by all read operations that have been performed on the phase change memory cell (physical memory cell).
[0038] The cumulative read interference weight (or cumulative read interference weight) is a status indicator that measures the magnitude of all read interference loads experienced by a physical storage unit during its data lifecycle. The higher the cumulative read interference weight of a physical storage unit, the more unstable its data is and the more maintenance is required.
[0039] The read interference weight value generated by the current read operation due to its temporal characteristics is determined, and this read interference weight value is used to update the cumulative read interference state (cumulative read interference weight value) of the target physical storage unit. In this embodiment of the application, by introducing the temporal correlation between multiple read operations on the target physical storage unit, the cumulative read interference weight value of the target physical storage unit is dynamically calculated. This method overcomes the defect of treating all read operations equally in traditional technology, and can more realistically and accurately reflect the physical mechanism of actual read interference.
[0040] S300 triggers a data refresh operation on the target physical storage unit when the cumulative weight value of read interference exceeds a preset threshold, in order to complete the read interference processing and correct the data errors caused by read interference.
[0041] Understandably, embodiments of this application also include comparing the cumulative read interference weight value with a preset threshold. Exemplarily, the preset threshold is determined based on manufacturer test data. Specifically, the preset threshold is a threshold provided by the manufacturer based on actual testing; if the cumulative read interference weight value exceeds this preset threshold, data relocation within the target physical storage unit is required. For firmware, the preset threshold is generally a fixed value.
[0042] Exemplarily, the data refresh operation includes: reading the current data in the target physical storage unit, correcting erroneous bits using error correction codes, and rewriting the corrected data back into the target physical storage unit. Rewriting eliminates the impact of read interference. Specifically, the data refresh operation includes: reading the original data in the target physical storage unit → determining whether it can be corrected → if it can be corrected, correcting the erroneous data → writing the corrected data back into the target physical storage unit → data refresh ends.
[0043] Understandably, the read interference processing includes the steps S100-S300 described above.
[0044] The embodiments of this application improve the accuracy and integrity of reading data from physical storage units and extend the lifespan of the memory by using a read interference processing flow of "time correlation → weighted evaluation of read interference values → triggering data refresh".
[0045] In one implementation, time correlation includes the read time interval between two adjacent read operations.
[0046] Understandably, in step S100, based on the temporal correlation between multiple read operations on the target physical storage unit, the read interference weight value of the current read operation to read interference is determined, including: S110, determine the read time interval based on the current read operation time corresponding to the current read operation of the target physical storage unit and the previous read operation time corresponding to the previous read operation.
[0047] The read interval is obtained by subtracting the previous read operation time from the current read operation time.
[0048] As an example, a read time record table is used to record the last read operation time corresponding to each physical storage unit; as shown in Table 1, the read time record table records the last read operation time corresponding to each physical storage unit based on the physical address of each physical storage unit. Understandably, the last read operation time is retrieved from the preset read time record table based on the physical address of the target physical storage unit.
[0049] Table 1 Reading Time Record Sheet
[0050] Read Time Recording Table: Records the last read operation time for each physical storage unit, in seconds. Considering that the PCM medium (phase change material) must refresh data within a certain time, called the refresh cycle, we'll use 48 hours as an example. During normal operation, it will refresh every 48 hours. At this time, read interference will be automatically cleared, and the read operation time will be automatically updated to the refreshed time. Therefore, the time interval between two reads will not exceed the refresh cycle. Thus, the read time recording table only needs to record read operation times within 48 hours, i.e., 48 × 3600 = 172800. Using 32 bits as an example, storing the last read operation time for each physical storage unit, when the latest read operation time T2 is less than the previous read operation time T1, it indicates a wraparound has occurred, and the difference will not exceed 172800. Therefore, the actual read time interval T = T2 - T1 + 0x100000000.
[0051] S120: Based on the read interval and the preset negative correlation mapping relationship, determine the corresponding read interference weight value. The read interference weight value and the read interval are negatively correlated; in other words, the larger the read interval, the smaller the read interference weight value, and vice versa. Further, the negative correlation mapping relationship is represented by a read interval weight table. To reduce the space required for data storage, the read interval can be divided into multiple increments, with the corresponding read interference weight value stored according to each increment. The following example uses a 3-second increment, with a refresh cycle of 48 hours. Using 3 seconds as one increment, the total time of 172800 seconds has a maximum value of 57600, which can be stored using 16 bits as a storage unit. For example, with 3 seconds as one increment, when index=0, it represents the weight value for read intervals from 0 to 3 seconds; when index=1, it represents the weight value for read intervals from 3 to 6 seconds.
[0052] Understandably, the read interval weight table is used to record each read interval and its corresponding read interference weight value. As shown in Table 2, different read intervals correspond to different read interference weight values.
[0053] Table 2 Reading Interval Weight Table
[0054] Understandably, in step S120, the corresponding read interference weight value is determined based on the read time interval and the preset negative correlation mapping relationship, including: S121, find the corresponding read interference weight value in the read interval weight table according to the read time interval.
[0055] Furthermore, such as Figure 2 As shown, the read interference weight value corresponding to each read time interval in the read interval weight table is calculated using the following method: S101, obtain the number of first bit inversions generated by continuously performing a first preset number of read operations under the minimum read time interval.
[0056] For example, randomly select physical storage units at different locations for testing, and set a minimum read interval T. min =1s, under this condition, perform R1=10000 read operations continuously; count the number of bit reversals C1 generated, and use the first preset number of times and the first number of bit reversals as the benchmark interference strength index.
[0057] S102, obtain the number of second bit inversions generated by performing a second preset number of read operations within the target read time interval.
[0058] S103, calculate the read interference weight value corresponding to the target read time interval based on the number of second bit inversions, the first preset number of times, the second preset number of times, and the number of first bit inversions. As an example, the formula for calculating the read interference weight value corresponding to the target read time interval is as follows: Wt=(Ct×R1) / (R2×C1) Where Wt is the read interference weight value corresponding to the target read time interval, Ct is the number of second bit inversions, C1 is the number of first bit inversions, R1 is the first preset number of times, and R2 is the second preset number of times.
[0059] This application embodiment establishes a "unit interference output" under standardized test conditions for normalized comparison of other frequency reading scenarios.
[0060] The read interval weight table records the corresponding read interference weight values for read time intervals measured in seconds. This read interval weight table is typically obtained through testing and construction by PCM media manufacturers. The process of constructing the read interval weight table is described in detail below: (1) Randomly select physical storage units at different locations for testing.
[0061] (2) Write the data into the physical storage unit.
[0062] (3) Within the same total time period, perform read operations at different read intervals to check the impact of read interference. For example, read once every 1 second for 10,000 consecutive reads and count the number of bit reversals; read once every 2 seconds for 5,000 consecutive reads and count the number of bit reversals; read once every 10 seconds for 1,000 consecutive reads and count the number of bit reversals; read once every 100 seconds for 100 consecutive reads and count the number of bit reversals.
[0063] (4) Calculate the corresponding read interference weight value based on the number of bit reversals after reading in different time periods.
[0064] For steps S101-S103 above, for example, taking the minimum read time interval as a benchmark (here, 1 second), after 10,000 consecutive reads, the number of bit inversions is C1, and the read interference weight value W1 is 1; setting the target read time interval T, after R2 read operations, the number of bit inversions is Ct, and the read interference weight value Wt corresponding to the target read time interval T is: Wt=(Ct×10000) / (R2×C1).
[0065] (5) The completion of the construction of the read interference parameter table is determined based on the changing trend of the read interference weights corresponding to multiple read time intervals. For example, when the relative difference between the read interference weight values corresponding to multiple consecutive read time intervals and the maximum weight is lower than a set threshold, the construction of the read interference parameter table is determined to be complete.
[0066] The maximum weight is determined based on the manufacturer's test data, and the relative difference is based on the manufacturer's specifications. Here, we take 5% as an example.
[0067] Further, in step S200, updating the cumulative read interference weight value of the target physical storage unit according to the read interference weight value includes: S210, based on the read interference weight value and the current read interference cumulative weight value of the target physical storage unit, obtain the read interference cumulative weight value of the target physical storage unit.
[0068] For example, the cumulative read interference weight value of the target physical storage unit is obtained by adding the read interference weight value to the current cumulative read interference weight value.
[0069] As an example, a read weight record table is used to record the current cumulative read interference weight value for each physical storage unit. As shown in Table 3, the read weight record table records the current cumulative read interference weight value based on the physical address of the physical storage unit.
[0070] Table 3 Read Weight Record Table
[0071] Understandably, in step S210, the cumulative read interference weight value of the target physical storage unit is obtained based on the read interference weight value and the current cumulative read interference weight value of the target physical storage unit, including: S211, query the read weight record table to obtain the current cumulative read interference weight value of the target physical storage unit. For example, based on the physical address of the target physical storage unit, query the read weight record table to obtain the current cumulative read interference weight value of the target physical storage unit.
[0072] S212, add the read interference weight value and the current cumulative read interference weight value to update the cumulative read interference weight value of the target physical storage unit; Furthermore, the method also includes: If the cumulative read interference weight value exceeds a preset threshold, the current cumulative read interference weight value of the target physical storage unit is updated to a preset initial value (e.g., 0), and the last read operation time of the target physical storage unit is updated to the current time. The preset initial value is set to 0, and if the cumulative read interference weight value exceeds the preset threshold, the current cumulative read interference weight value of the target physical storage unit is updated to 0.
[0073] Furthermore, the method also includes: After performing a write operation on the target physical storage unit, the cumulative weight value of the read interference of the target physical storage unit is simultaneously cleared to zero, and its last read operation time is updated to the current write operation time. Furthermore, the method also includes: If the cumulative read interference weight value exceeds a preset threshold, update the current cumulative read interference weight value of the target physical storage unit in the read weight record table to a preset initial value, and update the last read operation time of the target physical storage unit in the read time record table to the current time; wherein, the preset initial value includes, but is not limited to, 0.
[0074] If the cumulative read interference weight value does not exceed the preset threshold, the updated cumulative read interference weight value of the target physical storage unit is stored in the read weight record table, and the last read operation time of the target physical storage unit in the read time record table is updated to the current time.
[0075] In one implementation, a read / write operation log table is used to record the operation type (read / write) and the physical address of the physical memory unit corresponding to each read / write operation. Understandably, the method also includes: Before determining the read interference weight value of the current read operation for read interference, in response to the completion of the read and write operation, the read and write record corresponding to the read and write operation is stored in the read and write operation record table; wherein, the read and write record includes the physical address of the physical storage unit corresponding to the read and write operation and the read and write type.
[0076] Understandably, in step S100, in response to determining the read interference weight value of the current read operation to the read interference, a read / write record to be processed is obtained from the read / write operation record table, and the target physical storage unit is determined based on the read / write record. For example, the physical address of a read operation type to be processed is obtained from the read / write operation record table, and the target physical storage unit is determined based on the physical address.
[0077] Furthermore, the method in this application embodiment also includes: Based on the read and write records stored in the read and write operation record table, determine whether to perform read interference processing for each read and write record; if yes, exit the current read interference processing; if no, retrieve the read and write records and repeat the read interference processing.
[0078] In one implementation, in response to a power-on signal, the read / write operation record table is cleared, the last read operation time in the read time record table is initialized to the power-on time, the cumulative read interference weight value of each physical storage unit in the read weight record table is initialized to an initial value (e.g., initial value = 0), and the read interference weight value corresponding to the read time interval in the read interval weight table is determined based on manufacturer test data. In other words, this embodiment requires initialization of the read time record table, read weight record table, and read interval weight table upon power-on.
[0079] The embodiments of this application will be described in detail below with reference to a complete example, such as... Figure 3a , Figure 3b , Figure 3c , Figure 3d , Figure 3e As shown, it includes the following steps: S610 performs power-on initialization.
[0080] The power-on initialization process mainly includes: Clear the read / write operation record table; initialize the last read operation time in the read time record table to 0, so that the last read operation time is the power-on time; Initialize the cumulative weight value of read interference for each physical storage unit in the read weight record table to 0; The read interval weight table is obtained by constructing the read interval weight table. It is automatically loaded upon power-on. The read interval time interval and the corresponding read interference weight value in the read interval weight table are usually fixed values.
[0081] S620 executes the read operation procedure.
[0082] S621: The host issues a read command, or the firmware internal program issues a read command, triggering the start of the read operation process.
[0083] S622, data reading complete, data obtained.
[0084] S623, the read / write record (which includes the read record) corresponding to the read operation is added to the read / write operation record table. The content of the read / write record includes the operation type (read operation type) and the physical address of the target physical storage unit.
[0085] S624, reads data and returns it to the host or internal program. S630 executes the read interference processing procedure.
[0086] S631, periodically starts the interference processing task.
[0087] S632, retrieve unprocessed read / write operations from the read / write operation record table.
[0088] S633, for read operations, first looks up the read time record table based on the location of the physical storage unit to obtain the time of the last read operation.
[0089] S634, the current read operation time is subtracted from the previous read operation time to obtain the read time interval.
[0090] S635: Based on the read time interval between two read operations, look up the read interval weight table to obtain the read interference weight value.
[0091] S636, query the read weight record table to obtain the current cumulative read interference weight value of the target physical storage unit, add the read interference weight value obtained in step S635 to the original value (the value accumulated before this read operation) to obtain the latest cumulative read interference weight value.
[0092] S637, compare the latest cumulative weight value of read interference with a preset threshold to determine whether the latest cumulative weight value of read interference exceeds the preset threshold.
[0093] If the preset threshold is exceeded, then: Perform a data refresh operation on the data in the target physical storage unit; Update the cumulative read interference weight value of the target physical storage unit in the read weight record table to 0; Update the last read operation time of the target physical storage unit in the read time record table to the current time; If the preset threshold is not exceeded, then: Update the current cumulative read interference weight value of the target physical storage unit in the read weight record table to the latest cumulative read interference weight value; update the last read operation time of the target physical storage unit in the read time record table to the current time.
[0094] S638: Traverse the read and write records in the read and write operation record table and determine whether all read and write records have been processed.
[0095] If all tasks are completed, exit this reading interference processing task; If not completed, retrieve the pending read / write records and repeat the above steps to perform the read interference processing task.
[0096] S640, execute the write operation procedure.
[0097] The write operation process includes: S641: The host issues a write command, or the firmware internal program issues a write command, triggering the start of the write operation process.
[0098] S642, data writing complete.
[0099] S643, record the write operation records included in the read and write records to the read and write operation record table. The content of the read and write records is the operation type (write operation type) and the location of the target physical storage unit.
[0100] S644, the result is returned to the host or internal program.
[0101] S650, read interference handling write operation process.
[0102] S651, periodically starts the interference processing task.
[0103] S652, retrieve unprocessed read / write records from the read / write operation record table.
[0104] S653, for write operations, directly updates the read weight record table and read time record table; Update the cumulative read interference weight value of the target physical storage unit in the read weight record table to 0; Update the last read operation time of the target physical storage unit in the read time record table to the current time.
[0105] S654, determine whether all read and write records have been processed.
[0106] If completed, exit this read interference processing task.
[0107] If not completed, retrieve the pending read / write records from the read / write operation record table and repeat the above steps.
[0108] This application has the following advantages: More accurate assessment of read interference levels: This application, by adding a read interval and a cumulative weight value for read interference, can accurately assess the impact of the read interval on the degree of read interference, avoiding the shortcomings of traditional algorithms that rely solely on the number of reads to calculate the degree of read interference. This makes the read interference assessment more accurate, effectively ensures data security, and improves product reliability.
[0109] Higher data security: This application effectively improves the accuracy of read interference assessment, enabling more timely and effective data refresh operations on physical storage units with severe read interference, effectively reducing the risk of data read failure or data loss, and improving overall data security.
[0110] Reduced performance impact: This application can more accurately assess the degree to which each physical storage unit is affected by read interference, without the need for traditional algorithms to deliberately lower the preset threshold to improve data security, which would result in performance loss. This makes the product's performance more stable, especially for read-heavy and write-light business scenarios, where the performance and stability improvements are more significant.
[0111] Increased service life: This application can more accurately assess the degree to which each physical storage unit is affected by read interference, without the need for traditional algorithms to deliberately lower the read interference threshold to improve data security, which would result in performance loss. Therefore, it also reduces the background data writing required to refresh read interference data, effectively improving the product's lifespan.
[0112] This application also provides a read interference management device for a phase-change memory. Exemplarily, the read interference management device for the phase-change memory includes: a read interference weight value determination module, a read interference cumulative weight value update module, and a data refresh module.
[0113] The read interference weight value determination module is used to determine the read interference weight value of the current read operation to the read interference based on the time correlation between multiple read operations on the target physical storage unit. The read interference cumulative weight value update module is used to update the read interference cumulative weight value of the target physical storage unit according to the read interference weight value; The data refresh module is used to trigger a data refresh operation on the target physical storage unit when the cumulative weight value of read interference exceeds a preset threshold, so as to complete the read interference processing and correct the data errors caused by read interference.
[0114] It is understood that the device in this embodiment corresponds to the read interference management method of the phase change memory in the above embodiment. The options in the above embodiment are also applicable to this embodiment, so they will not be described again here.
[0115] This application also provides a phase-change memory, which, by way of example, manages read interference using a read interference management method for a phase-change memory provided in an embodiment of this application.
[0116] It is understood that the phase-change memory in this embodiment corresponds to the read interference management method of the phase-change memory in the above embodiments. The options in the above embodiments are also applicable to this embodiment, so they will not be described again here.
[0117] This application also provides a solid-state drive, which, by way of example, includes a phase-change memory provided in the embodiments of this application.
[0118] It is understood that the solid-state drive in this embodiment corresponds to the phase-change memory in the above embodiments, and the options in the above embodiments also apply to this embodiment, so they will not be described again here.
[0119] This application also provides a terminal device, exemplary of which includes a processor and a memory, wherein the memory stores a computer program, and the processor executes the computer program to enable the terminal device to perform the functions of the various modules in the above-described phase-change memory read interference management method or the above-described phase-change memory read interference management device.
[0120] The processor can be an integrated circuit chip with signal processing capabilities. The processor can be a general-purpose processor, including at least one of a Central Processing Unit (CPU), Graphics Processing Unit (GPU), Network Processor (NP), Digital Signal Processor (DSP), Application-Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor or any conventional processor, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application.
[0121] The memory can be, but is not limited to, Random Access Memory (RAM), Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), etc. The memory is used to store computer programs, and the processor can execute the computer programs accordingly after receiving execution instructions.
[0122] This application also provides a computer-readable storage medium for storing the computer program used in the aforementioned terminal device. For example, the computer-readable storage medium may include, but is not limited to, various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0123] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that, in alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0124] In addition, the functional modules or units in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0125] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a smartphone, personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application.
[0126] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. A method for read disturb management of a phase change memory, the method comprising: The method comprises: determining a read disturbance weight value of a current read operation on read disturbance based on a time correlation between multiple read operations on a target physical storage unit; updating a read disturbance cumulative weight value of the target physical storage unit according to the read disturbance weight value; triggering a data refresh operation on the target physical storage unit to complete read disturbance processing and correct data errors caused by read disturbance when the read disturbance cumulative weight value exceeds a preset threshold.
2. The method of read disturb management for phase change memory of claim 1, wherein, The time correlation comprises a read time interval between two adjacent read operations. The method of determining a read disturbance weight value of a current read operation on read disturbance based on a time correlation between multiple read operations on a target physical storage unit comprises: determining the read time interval according to a current read operation time corresponding to the current read operation and a last read operation time corresponding to a last read operation of the target physical storage unit; determining a corresponding read disturbance weight value according to the read time interval and a preset negative correlation mapping relationship. And / or, the method of updating a read disturbance cumulative weight value of the target physical storage unit according to the read disturbance weight value comprises: obtaining the read disturbance cumulative weight value of the target physical storage unit according to the read disturbance weight value and a current read disturbance cumulative weight value of the target physical storage unit obtained.
3. The method of read disturb management for phase change memory of claim 2, wherein, The method further comprises at least one of the following two items: First item: updating the current read disturbance cumulative weight value of the target physical storage unit to a preset initial value and updating the last read operation time of the target physical storage unit to a current time when the read disturbance cumulative weight value exceeds the preset threshold. Second item: synchronously clearing the read disturbance cumulative weight value of the target physical storage unit and updating the last read operation time thereof to a current write operation time after performing a write operation on the target physical storage unit.
4. The method of read disturb management for phase change memory of claim 3, wherein, The method further comprises: obtaining a last read operation time from a preset read time record table according to a physical address of the target physical storage unit; wherein the read time record table is used to record a last read operation time corresponding to each physical storage unit. And / or, the negative correlation mapping relationship is represented by a read interval weight table; the method of determining a corresponding read disturbance weight value according to the read time interval and a preset negative correlation mapping relationship comprises: obtaining the corresponding read disturbance weight value from the read interval weight table according to the read time interval; wherein the read interval weight table is used to record each read time interval and a corresponding read disturbance weight value respectively. And / or, the method of obtaining the read disturbance cumulative weight value of the target physical storage unit according to the read disturbance weight value and a current read disturbance cumulative weight value of the target physical storage unit obtained comprises: querying a read weight record table to obtain the current read disturbance cumulative weight value of the target physical storage unit; adding the read disturbance weight value and the current read disturbance cumulative weight value to update the read disturbance cumulative weight value of the target physical storage unit; wherein the read weight record table is used to record a current read disturbance cumulative weight value of each physical storage unit.
5. The method of read disturb management for phase change memory as recited in claim 4, wherein, The method further comprises: In the case that the read interference cumulative weight value exceeds the preset threshold, the current read interference cumulative weight value of the target physical storage unit in the read weight record table is updated to a preset initial value, and the last read operation time of the target physical storage unit in the read time record table is updated to the current time; In the case that the read interference cumulative weight value does not exceed the preset threshold, the updated read interference cumulative weight value of the target physical storage unit is stored in the read weight record table, and the last read operation time of the target physical storage unit in the read time record table is updated to the current time.
6. The method of read disturb management for phase change memory as recited in claim 4, wherein, The method further includes one of the following four items: The first item: before determining the read interference weight value of the current read operation for read interference, in response to the completion of the read-write operation, a read-write record corresponding to the read-write operation is stored in a read-write operation record table; wherein the read-write record includes the physical address of the physical storage unit corresponding to the read-write operation and the read-write type; The second item: in response to determining the read interference weight value of the current read operation for read interference, a to-be-processed read-write record is obtained from the read-write operation record table, and the target physical storage unit is determined based on the read-write record; The third item: based on the read-write record stored in the read-write operation record table, it is judged whether to perform read interference processing for each read-write record; if yes, the read interference processing is exited; if not, the read-write record is obtained, and the read interference processing is repeatedly executed; The fourth item: in response to a power-on signal, the read-write operation record table is emptied, the last read operation time in the read time record table is initialized to the power-on time, the read interference cumulative weight value of each physical storage unit in the read weight record table is initialized to an initial value, and the read interference weight value corresponding to the read time interval in the read interval weight table is determined according to the manufacturer's test data.
7. The method of read disturb management for phase change memory of claim 4, wherein, The read interference weight value corresponding to each read time interval in the read interval weight table is calculated by the following method: Obtain the first bit inversion number generated by continuously executing the first preset number of read operations at the minimum read time interval; Obtain the second bit inversion number generated by executing the second preset number of read operations at the target read time interval; According to the second bit inversion number, the first preset number, the second preset number and the first bit inversion number, the read interference weight value corresponding to the target read time interval is calculated.
8. A read interference management device for a phase-change memory, characterized in that, It includes: A read interference weight value determination module for determining the read interference weight value of the current read operation for read interference based on the time correlation between multiple read operations on the target physical storage unit; A read interference cumulative weight value updating module for updating the read interference cumulative weight value of the target physical storage unit according to the read interference weight value; A data refreshing module for triggering a data refreshing operation on the target physical storage unit to complete the read interference processing and correct the data errors caused by read interference in the case that the read interference cumulative weight value exceeds the preset threshold.
9. A phase change memory, characterized by, The phase change memory is managed by the read interference management method of the phase change memory according to any one of claims 1-7.
10. A solid state drive, comprising: The solid state drive includes the phase change memory of claim 9.
Citation Information
Patent Citations
Storage device including nonvolatile memory device and controller
CN107564562A
Dynamic adjustment of refresh rate
US10599504B1
Memory management method, memory storage apparatus and memory control circuit unit
US12307101B1
Management of write operations in a non-volatile memory device using a variable pre-read voltage level
US20210240385A1
Techniques to mitigate error during a read operation to a memory array
US20210304817A1