A solid state disk data reading method, system, storage medium and program product
By setting dynamic read voltage thresholds and parallel read modes in the solid-state drive (SSD), and compensating for temperature and wear characteristics, the read latency problem caused by error correction coding technology is solved, enabling fast and accurate data reading and improving the performance and reliability of the SSD.
Patent Information
- Application Number
- CN202411700162.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-26
- Publication Date
- 2026-01-13
- Estimated Expiration
- 2044-11-26
AI Technical Summary
Existing error correction coding techniques require multiple iterative calculations when processing large amounts of data, resulting in excessively high data read latency for solid-state drives, especially impacting system performance and real-time performance in scenarios involving frequent reading of small files.
By setting a dynamic reading voltage threshold and combining it with historical information for real-time compensation, adopting a parallel reading method, calculating and correcting the crosstalk interference coefficient, dynamically updating the loss level and sub-interval division strategy, and comprehensively considering factors such as temperature effect, loss characteristics and crosstalk interference, fast and accurate data decision-making is achieved.
It reduces data read latency and improves the reliability and performance of data reading, especially enhancing the read efficiency and accuracy of solid-state drives in complex application environments.
Smart Images

Figure CN119536657B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the field of electric digital data processing, and particularly relates to a solid state disk data reading method and system, a storage medium and a program product. BACKGROUND
[0002] With the rapid development of information technology, solid state disks are widely used in various electronic devices due to their high performance, low power consumption and other advantages. However, in actual application, due to the read interference and bit flip of the flash memory particles of the solid state disk, errors are prone to occur in the data reading process, affecting the reliability and integrity of the data, especially in high temperature environments or long-term use, this problem is more prominent.
[0003] At present, the industry usually adopts error correction coding technology to solve the above problems, by adding check bits when writing data, and correcting errors when reading data, so as to improve the reliability of data. Specifically, low density parity check code (LDPC) is used to encode data, and iterative decoding algorithm is used to correct errors when reading data, which can effectively reduce the data reading error rate.
[0004] However, the existing error correction coding technology often needs to perform multiple iterations when processing a large amount of data, which significantly increases the data reading delay, especially in application scenarios where small files need to be frequently read, the high reading delay will affect the overall performance of the system, and it is difficult to meet the application requirements with high real-time requirements. SUMMARY
[0005] The application provides a solid state disk data reading method and system, a storage medium and a program product, which are used to solve the technical problem of high data reading delay in related technologies, by setting a dynamic reading voltage threshold and combining historical information for real-time compensation, fast and accurate data judgment is realized, the data reading delay is reduced, the reliability of data reading is guaranteed, and the performance of the solid state disk in the small file frequent reading scene is improved.
[0006] In a first aspect, the application provides a solid state disk data reading method, which acquires temperature information and erase-write times information of a data block to be read, the temperature information includes a current temperature value and historical temperature records of the data block to be read in a preset time period, and the erase-write times information includes cumulative erase-write times of the data block to be read.
[0007] According to the current temperature value and the historical temperature records, a temperature change rate and a temperature cumulative effect coefficient of the data block to be read are calculated.
[0008] According to the cumulative erase-write times, the physical page addresses of the data block to be read are divided into a plurality of sub-intervals, and the wear level of each sub-interval is determined.
[0009] calculate the initial read voltage threshold corresponding to each sub-interval according to the temperature change rate and the wear level of each sub-interval;
[0010] compensate the initial read voltage threshold of each sub-interval according to the temperature cumulative effect coefficient to obtain the target read voltage threshold corresponding to each sub-interval;
[0011] adopt the target read voltage threshold corresponding to each sub-interval to perform parallel reading on the to-be-read data block to obtain the original read data corresponding to each sub-interval;
[0012] calculate the crosstalk interference coefficient between adjacent sub-intervals, and perform crosstalk correction on the original read data of each sub-interval according to the crosstalk interference coefficient to obtain corrected data;
[0013] perform reliability verification on the corrected data of each sub-interval, and when the reliability verification result of the corrected data of any sub-interval is lower than a preset threshold, perform error correction processing on the corresponding corrected data;
[0014] update the wear level of each sub-interval according to the verification result of the reliability verification, and re-divide the sub-intervals of the to-be-read data block according to the updated wear level, and the updated wear level and the re-divided sub-intervals are used for reading of the next to-be-read data block.
[0015] By adopting the above technical solutions, the temperature information and the number of erasing and writing times of the data block are obtained, the temperature change rate and the temperature cumulative effect coefficient are calculated, so that the system can accurately grasp the real-time thermal state and the long-term thermal cumulative effect of the storage unit. Based on the cumulative number of erasing and writing times, the physical page address is divided into sub-intervals and the wear level is determined, the differentiated initial read voltage threshold is calculated in combination with the temperature change rate, and then the target read voltage threshold is obtained by compensation through the temperature cumulative effect coefficient. This multi-dimensional adaptive read voltage setting mechanism can effectively cope with the differentiated aging characteristics of different sub-interval storage units. By adopting the parallel reading mode, the reading efficiency is improved, and by calculating the crosstalk interference coefficient and performing correction, the interference problem between high-density storage units is solved. The reliability verification and error correction processing ensure the accuracy of data reading, and the mechanism of dynamically updating the wear level and the sub-interval division strategy based on the verification result enables the system to have the ability of continuous optimization. This technical solution which comprehensively considers multiple influencing factors such as temperature effect, wear characteristics and crosstalk interference significantly improves the data reading reliability and reading performance of the solid state disk in complex application environments.
[0016] In combination with some embodiments of the first aspect, in some embodiments, calculating the initial read voltage threshold corresponding to each sub-interval according to the temperature change rate and the wear level of each sub-interval specifically includes:
[0017] Calculate the difference between the rate of temperature change and the preset reference temperature rate of change;
[0018] The preset standard reading voltage is linearly adjusted based on the difference to obtain the temperature compensation voltage value.
[0019] The corresponding loss compensation coefficient is determined based on the loss level of each sub-interval.
[0020] The temperature compensation voltage value is weighted and combined with the loss compensation coefficient corresponding to each sub-interval to obtain the initial reading voltage threshold for each sub-interval.
[0021] By employing the aforementioned technical solution, the system calculates the difference between the temperature change rate and the preset baseline temperature change rate, enabling a quantitative assessment of the actual impact of current temperature changes on the storage unit. This difference is used to linearly adjust the preset standard read voltage, resulting in a temperature-compensated voltage value that accurately reflects the impact of temperature changes on the read voltage. Simultaneously, considering the loss levels of each sub-interval, corresponding loss compensation coefficients are determined. The temperature-compensated voltage value and the loss compensation coefficients are then weighted and combined, resulting in an initial read voltage threshold that reflects both the instantaneous impact of temperature changes and the long-term impact of storage unit wear. This voltage threshold calculation method, which organically combines temperature changes and wear characteristics, allows the system to set the optimal read voltage for storage units with different usage states and wear levels, thereby improving read speed and accuracy while ensuring read reliability.
[0022] In conjunction with some embodiments of the first aspect, in some embodiments, compensation is made for the initial read voltage threshold of each sub-interval based on a temperature accumulation effect coefficient, specifically including:
[0023] The temperature accumulation effect coefficient is normalized to obtain the normalized temperature accumulation coefficient;
[0024] The voltage drift in each sub-interval is calculated based on the normalized temperature cumulative coefficient.
[0025] The voltage drift of each sub-interval is nonlinearly superimposed with the corresponding initial reading voltage threshold to obtain the target reading voltage threshold for each sub-interval.
[0026] By adopting the above technical solution and normalizing the temperature accumulation effect coefficient, a unified standard for evaluating the cumulative impact of temperature is established. The voltage drift calculated based on the normalized temperature accumulation coefficient accurately reflects the actual impact of long-term temperature accumulation on the storage cell. By combining the voltage drift with the initial read voltage threshold using a nonlinear superposition method, the resulting target read voltage threshold considers not only the instantaneous impact of temperature on the storage cell but also the voltage characteristic changes caused by the temperature accumulation effect. This voltage compensation mechanism, which considers the long-term cumulative effect of temperature, effectively solves the problem of traditional methods that only consider the instantaneous temperature effect while neglecting the long-term cumulative effect, thus improving the accuracy and reliability of data reading during long-term use.
[0027] In conjunction with some embodiments of the first aspect, in some embodiments, after calculating the crosstalk interference coefficient between adjacent sub-intervals, the method further includes:
[0028] Obtain the voltage distribution histogram of the data block to be read;
[0029] Identify the voltage overlap region in each sub-interval based on the voltage distribution histogram;
[0030] Calculate the data density distribution of each sub-interval based on the voltage overlap region;
[0031] The crosstalk interference coefficient is weighted and calibrated based on the data density distribution.
[0032] By employing the above technical solution, the system obtains the voltage distribution histogram of the data block to be read, enabling it to grasp the actual voltage distribution status of each storage cell. The voltage overlap regions identified based on the voltage distribution histogram reflect the degree of voltage interference between adjacent sub-cells. By calculating the data density distribution of each sub-cell in the overlap region, the system accurately assesses the actual impact of crosstalk interference on different sub-cells. Weighted calibration of the crosstalk interference coefficient using the data density distribution makes interference compensation more accurate, effectively reducing the impact of crosstalk between adjacent storage cells. This crosstalk interference compensation mechanism based on actual voltage distribution characteristics improves the accuracy of data reading in high-density storage environments while reducing the false read rate.
[0033] In conjunction with some embodiments of the first aspect, in some embodiments, the crosstalk interference coefficient is weighted and calibrated according to the data density distribution, specifically including:
[0034] Calculate the data density ratio of adjacent sub-intervals;
[0035] The interference weight coefficient for each sub-interval is determined based on the data density ratio;
[0036] The crosstalk interference coefficient is obtained by weighting the interference weight coefficient and the original crosstalk interference coefficient.
[0037] By employing the above technical solution, the data density ratio between adjacent sub-intervals is calculated, and the interference weighting coefficient for each sub-interval is determined. Then, the interference weighting coefficient is weighted and averaged with the original crosstalk interference coefficient to obtain the calibrated crosstalk interference coefficient, making the calculation of the crosstalk interference coefficient more accurate. Since the data density distribution between adjacent sub-intervals directly affects the intensity of crosstalk interference, areas with higher data density generate more significant crosstalk interference, while areas with lower data density generate relatively weaker crosstalk interference. Therefore, introducing the data density ratio can quantify the differences in crosstalk interference between different areas. Weighting and calibrating the original crosstalk interference coefficient using the interference weighting coefficient can more accurately reflect the actual crosstalk interference situation, avoiding overestimation or underestimation of crosstalk interference. This dynamic calibration method based on data density distribution improves the calculation accuracy of the crosstalk interference coefficient, making subsequent crosstalk correction more accurate, thereby enhancing the reliability of data reading.
[0038] In conjunction with some embodiments of the first aspect, in some embodiments, the method further includes, before performing reliability verification on the corrected data for each sub-interval:
[0039] Count the number of bit flips in each sub-interval;
[0040] Calculate the data stability index for each sub-interval based on the number of bit flips;
[0041] The preset threshold is dynamically adjusted based on data stability indicators;
[0042] The dynamically adjusted preset threshold is used as the basis for reliability verification.
[0043] By employing the above technical solution, the number of bit flips in each sub-interval is counted and a data stability index is calculated. Then, based on this index, a preset threshold is dynamically adjusted, making the reliability verification criteria more adaptable. The number of bit flips reflects the stability of the storage unit; regions with frequent bit flips often have potential reliability risks, which can be quantified by calculating the data stability index. Using the data stability index to dynamically adjust the preset threshold allows the reliability verification criteria to adaptively adjust according to the actual data characteristics. More stringent verification standards are applied to regions with poor stability, while verification requirements can be appropriately relaxed for regions with good stability. This dynamic adjustment mechanism improves the accuracy and rationality of reliability verification, helping to promptly identify and address potential data reliability issues.
[0044] In conjunction with some embodiments of the first aspect, in some embodiments, the preset threshold is dynamically adjusted based on a data stability index, specifically including:
[0045] Calculate the standard deviation of the data stability index for each sub-interval;
[0046] Determine the threshold adjustment factor based on the standard deviation;
[0047] The threshold adjustment coefficient is non-linearly mapped to the preset threshold to obtain the dynamically adjusted preset threshold.
[0048] By employing the above technical solution, the standard deviation of the data stability index for each sub-interval is calculated, and the threshold adjustment coefficient is determined accordingly. Then, the threshold adjustment coefficient is nonlinearly mapped to a preset threshold to obtain a dynamically adjusted preset threshold, making the threshold adjustment process more precise and reasonable. The standard deviation reflects the dispersion of data stability; a larger standard deviation indicates significant differences in data stability across different regions, requiring a more flexible threshold adjustment strategy. Applying the threshold adjustment coefficient to the preset threshold through nonlinear mapping allows for non-uniform threshold adjustment. Larger adjustments are made for cases with significant stability differences, while more moderate adjustments are made for cases with relatively uniform stability. This standard deviation-based nonlinear adjustment method improves the flexibility and accuracy of threshold adjustment, enabling reliability verification criteria to better adapt to different data stability characteristics.
[0049] In a second aspect, embodiments of this application provide a solid-state drive (SSD) data reading system, which includes: one or more processors and a memory; the memory is coupled to one or more processors, and the memory is used to store computer program code, the computer program code including computer instructions, and the one or more processors call the computer instructions to cause the system to perform the method described in the first aspect and any possible implementation thereof.
[0050] Thirdly, embodiments of this application provide a computer-readable storage medium including instructions that, when executed on a system, cause the system to perform the method described in the first aspect and any possible implementation thereof.
[0051] Fourthly, embodiments of this application provide a computer program product, characterized in that, when the computer program product is run on a system, it causes the system to execute the method described in any possible implementation of the first aspect.
[0052] One or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages:
[0053] 1. This application provides a method for reading data from a solid-state drive (SSD). It acquires temperature and write / erase count information of data blocks, calculates the temperature change rate and temperature accumulation effect coefficient, enabling the system to accurately grasp the real-time thermal state and long-term thermal accumulation effects of storage units. Based on the cumulative write / erase count, the physical page address is divided into sub-intervals to determine the wear level. A differentiated initial read voltage threshold is calculated based on the temperature change rate, and then compensated using the temperature accumulation effect coefficient to obtain the target read voltage threshold. This multi-dimensional adaptive read voltage setting mechanism effectively addresses the differentiated aging characteristics of storage units in different sub-intervals. While using parallel reading to improve read efficiency, the interference problem between high-density storage units is solved by calculating and correcting the crosstalk interference coefficient. Reliability verification and error correction ensure the accuracy of data reading, while the mechanism of dynamically updating the wear level and sub-interval division strategy based on verification results enables the system to continuously optimize. This technical solution, which comprehensively considers multiple influencing factors such as temperature effects, wear characteristics, and crosstalk interference, significantly improves the data reading reliability and performance of SSDs in complex application environments.
[0054] 2. This application provides a method for reading data from a solid-state drive (SSD). The method acquires a voltage distribution histogram of the data block to be read, enabling the system to understand the actual voltage distribution of each storage unit. The voltage overlap region identified based on the voltage distribution histogram reflects the degree of voltage interference between adjacent sub-intervals. By calculating the data density distribution of each sub-interval in the overlap region, the system accurately assesses the actual impact of crosstalk interference on different sub-intervals. Weighted calibration of the crosstalk interference coefficient using the data density distribution makes interference compensation more accurate and effectively reduces the impact of crosstalk between adjacent storage units. This crosstalk interference compensation mechanism based on actual voltage distribution characteristics improves the accuracy of data reading in high-density storage environments while reducing the false read rate.
[0055] 3. This application provides a method for reading data from a solid-state drive (SSD). It counts the number of bit flips in each sub-interval and calculates a data stability index. Then, based on this index, it dynamically adjusts a preset threshold, making the reliability verification criteria more adaptable. The number of bit flips reflects the stability of the storage unit; areas with frequent bit flips often have potential reliability risks, which can be quantified by calculating the data stability index. Using the data stability index to dynamically adjust the preset threshold allows the reliability verification criteria to adaptively adjust according to the actual data characteristics. More stringent verification standards are applied to areas with poor stability, while verification requirements can be appropriately relaxed for areas with good stability. This dynamic adjustment mechanism improves the accuracy and rationality of reliability verification, helping to promptly identify and address potential data reliability issues. Attached Figure Description
[0056] Figure 1 This is a flowchart illustrating a solid-state drive data reading method according to an embodiment of this application.
[0057] Figure 2 This is another flowchart illustrating a solid-state drive data reading method in an embodiment of this application.
[0058] Figure 3 This is a schematic diagram of the physical device structure of a solid-state drive data reading system provided in an embodiment of this application. Detailed Implementation
[0059] The terminology used in the following embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. As used in the specification and appended claims of this application, the singular expressions “a,” “an,” “the,” “the,” “the,” and “this” are intended to include the plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in this application refers to any or all possible combinations including one or more of the listed items.
[0060] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature, and in the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.
[0061] The following example is used in conjunction with Figure 1 The present application describes a method for reading data from a solid-state drive in an embodiment of the present application:
[0062] Please see Figure 1 This is a flowchart illustrating a solid-state drive data reading method in an embodiment of this application.
[0063] S101. Obtain the temperature information and erase / write count information of the data block to be read;
[0064] The system obtains the temperature information and erase / write count information of the data block to be read. The temperature information includes the current temperature value of the data block to be read and the historical temperature records within a preset time period. The erase / write count information includes the cumulative number of erase / write counts of the data block to be read.
[0065] This step requires the system to obtain the temperature information and erase / write count information of the data block to be read. The temperature information includes the current temperature value and historical temperature records within a preset time period. The system can collect the temperature value of the data block's location in real time using a built-in temperature sensor. Simultaneously, the system needs to save temperature records within a certain time range for subsequent calculations of the data block's temperature changes. The erase / write count information is the cumulative number of erase / write operations on the data block, which can be obtained by recording and summing the number of erase / write operations performed on the data block.
[0066] To obtain accurate temperature information, the system can install multiple temperature sensors at different locations on the solid-state drive (SSD) to collect temperature values at each location in real time. The system can also build a temperature prediction model based on historical temperature records, analyzing historical data to predict potential temperature trends of data blocks over a future period. Regarding write / erase cycles, the system can set up write / erase counters specifically for recording the number of times data blocks have been written / eraseed. Each data block has its own independent counter, ensuring accurate acquisition of the write / erase cycles for each block.
[0067] Due to the unique structure of solid-state drives (SSDs), the temperature distribution of data blocks in different locations may be uneven. To compensate for these spatial temperature differences, the system can build a three-dimensional temperature distribution model inside the SSD based on data collected by multiple installed temperature sensors. This model can infer the temperature information of data blocks at any location, eliminating the need to install temperature sensors on each data block and reducing costs. Simultaneously, the system can map the number of erase / write cycles to different interval levels based on the data block's erase / write frequency distribution, intuitively representing the degree of erasure of the data blocks. The erase / write counter can also be configured with a set number of significant bits, recording only the significant bits corresponding to the interval level, reducing the counter's storage overhead.
[0068] S102. Calculate the temperature change rate and temperature cumulative effect coefficient of the data block to be read based on the current temperature value and historical temperature records;
[0069] This step requires the system to calculate the temperature change rate and the temperature cumulative effect coefficient based on the current temperature value and historical temperature records of the data block. The temperature change rate reflects how quickly the temperature of the data block changes over time, and can be obtained by dividing the difference between the current temperature value and the historical temperature record by the time interval using the difference method. The temperature cumulative effect coefficient reflects the aging effect caused by the data block being exposed to a high-temperature environment for a long time, and needs to be comprehensively assessed by using historical temperature records to determine the cumulative degree of temperature impact on the data block.
[0070] To accurately obtain the temperature change rate, the system needs to simultaneously record the timestamp of temperature sampling when storing historical temperature records. The temperature change rate can be selected by dividing the temperature difference over a period of time by the time interval of that period. For the temperature cumulative effect coefficient, the system can use a weighted average method to accumulate historical temperature records with weights. Temperature records more recent than the current time are assigned higher weight coefficients, while those further back in time have lower weight coefficients. The weight coefficients are negatively correlated with time.
[0071] When data blocks are exposed to high temperatures for extended periods, the amount of historical temperature data acquired by the system increases dramatically. To handle this massive amount of temperature data, the system can incorporate a big data analytics platform and employ parallel computing frameworks such as MapReduce to rapidly process and calculate the temperature data, thereby improving analysis efficiency. For data blocks operating at different temperatures, the system can also set different temperature thresholds, dividing the data blocks into multiple temperature ranges such as high temperature, normal temperature, and low temperature. This range division can utilize clustering algorithms like K-Means, and different formulas can be used to calculate the cumulative effect coefficient for different temperature ranges, improving the precision of the calculations.
[0072] S103. Divide the physical page address of the data block to be read into several sub-intervals according to the cumulative number of erase and write cycles, and determine the wear level of each sub-interval;
[0073] This step requires the system to divide the physical page address into several sub-intervals based on the cumulative number of erase / write operations on the data block, and to assess the wear level of each sub-interval. The number of sub-intervals can be dynamically adjusted based on the cumulative number of erase / write operations; fewer sub-intervals are needed when the number of erase / write operations is low, and the number of sub-intervals can be increased appropriately when the number of erase / write operations is high. The wear level of each sub-interval is determined by the number of erase / write operations on the physical pages within that interval; the more erase / write operations an interval has, the higher its wear level.
[0074] The physical page address can be divided into sub-intervals using equal intervals, uniformly dividing the entire address space into several equal-length intervals. After division, the system needs to statistically analyze the erase / write count distribution within each sub-interval and map these counts to preset wear levels. Wear level classification can employ empirical models, referencing the solid-state drive's factory parameters to establish wear level standards corresponding to different erase / write counts. Since chip wear characteristics may differ between different batches, the wear level model also needs to support online updates.
[0075] For physical page addresses with significant differences in wear levels, equal-interval partitioning may not accurately assess local wear. Therefore, the system can also employ unequal-interval partitioning, adaptively dividing address intervals based on the physical page's erase / write count distribution. Regions with dense erase / write count distributions are divided into more sub-intervals, while regions with sparse erase / write count distributions are divided into fewer sub-intervals, to match the actual wear distribution and improve the accuracy of wear assessment. Sub-interval partitioning can also be combined with physical page wear level mapping, setting different densities of sub-intervals for physical pages with different wear levels.
[0076] S104. Calculate the initial reading voltage threshold for each sub-interval based on the temperature change rate and the loss level of each sub-interval.
[0077] The system calculates the initial reading voltage threshold for each sub-interval based on the temperature change rate and the loss level of each sub-interval. Specifically, it calculates the difference between the temperature change rate and the preset reference temperature change rate.
[0078] The preset standard reading voltage is linearly adjusted based on the difference to obtain the temperature compensation voltage value.
[0079] The corresponding loss compensation coefficient is determined based on the loss level of each sub-interval.
[0080] The temperature compensation voltage value is weighted and combined with the loss compensation coefficient corresponding to each sub-interval to obtain the initial reading voltage threshold for each sub-interval.
[0081] This step requires the system to calculate the initial read voltage threshold for each sub-interval based on the temperature change rate of the data block and the loss level of each sub-interval. The initial read voltage threshold determines the data read voltage for each sub-interval; temperature change and loss level are two important factors affecting the read voltage. The system first calculates the difference between the temperature change rate and a preset reference temperature change rate, and then linearly adjusts the standard read voltage based on this difference to obtain the temperature-compensated voltage value. For loss compensation, the system needs to determine a loss compensation coefficient based on the loss level of each sub-interval. The initial read voltage threshold for each sub-interval is finally obtained by weighted combining the temperature-compensated voltage value with the loss compensation coefficient.
[0082] When data blocks operate at high temperatures for extended periods, the rate of temperature change may be significantly higher than the baseline at room temperature. To mitigate the impact of frequent high-temperature variations on data stability, the system employs a piecewise nonlinear approach when calculating the temperature compensation voltage. Once the rate of temperature change exceeds a certain threshold, the sensitivity of the voltage adjustment is appropriately reduced to prevent large fluctuations in the voltage threshold. For sub-intervals with different loss levels, the system can preset multiple sets of loss compensation coefficients. During actual calculations, these coefficients are dynamically selected based on the loss level of the sub-interval. The loss compensation coefficient can also be derived by inversely from the erase / write frequency distribution of the sub-interval; sub-intervals with higher erase / write frequencies have larger loss compensation coefficients.
[0083] When weighting the temperature compensation voltage value and the loss compensation coefficient, the weighting ratio affects the initial read voltage threshold. The system can set a fixed weighting ratio based on empirical values, but a fixed weight cannot adapt to the dynamic changes in data block loss. Therefore, the system can also dynamically adjust the weighting of temperature compensation and loss compensation based on feedback information such as the historical read error rate and read retry rate of the data block. When the read error rate is high, the weight of loss compensation can be appropriately increased; when the read retry rate is high, the weight of temperature compensation can be appropriately increased. This dynamic feedback enables adaptive optimization of the read voltage threshold.
[0084] S105. Compensate the initial reading voltage threshold of each sub-interval according to the temperature cumulative effect coefficient to obtain the target reading voltage threshold corresponding to each sub-interval.
[0085] The system compensates the initial reading voltage threshold of each sub-interval based on the temperature accumulation effect coefficient to obtain the target reading voltage threshold corresponding to each sub-interval. Specifically, the temperature accumulation effect coefficient is normalized to obtain the normalized temperature accumulation coefficient.
[0086] The voltage drift in each sub-interval is calculated based on the normalized temperature cumulative coefficient.
[0087] The voltage drift of each sub-interval is nonlinearly superimposed with the corresponding initial reading voltage threshold to obtain the target reading voltage threshold for each sub-interval.
[0088] This step requires the system to further consider the impact of temperature accumulation on the read voltage threshold. Based on the initial read voltage threshold, a compensation correction is performed using a temperature accumulation effect coefficient. The system first normalizes the temperature accumulation effect coefficient to obtain a normalized temperature accumulation coefficient between 0 and 1. Then, the system calculates the voltage drift for each sub-interval based on the normalized coefficient. A larger normalized coefficient indicates a more severe temperature accumulation effect and a greater voltage drift. Finally, the system nonlinearly superimposes the voltage drift for each sub-interval with the corresponding initial read voltage threshold to obtain the final target read voltage threshold.
[0089] Since the temperature accumulation effect is a long-term process, the system needs to consider the timeliness of historical temperature data when calculating the normalization coefficient. A temperature effect time window can be set, and only temperature data within this window can be statistically analyzed. The window length should be selected while balancing data representativeness and computational efficiency. When calculating voltage drift, a piecewise nonlinear model can be used. When the normalization coefficient is small, the voltage drift increases linearly. When the normalization coefficient exceeds a certain threshold, the voltage drift enters a saturation state; further increasing the normalization coefficient will gradually slow the rate of increase in drift.
[0090] The purpose of nonlinearly superimposing voltage drift and the initial voltage threshold is to achieve gradient compensation of the read voltage. However, excessive gradient changes can affect the stability of data reading. To smooth voltage threshold jumps, the system can filter the nonlinear superposition result, such as through median filtering or mean filtering, to remove sharp noise from the threshold. Furthermore, the system can dynamically adjust the parameters of the nonlinear superposition process based on data block read performance feedback. When the read error rate is higher than expected, the amplitude of the nonlinear superposition can be reduced; when the read error rate is lower than expected, the amplitude of the nonlinear superposition can be appropriately increased. This closed-loop feedback control mechanism adaptively optimizes the target read voltage threshold.
[0091] S106. Use the target reading voltage threshold corresponding to each sub-interval to read the data block to be read in parallel to obtain the original reading data corresponding to each sub-interval.
[0092] In this step, the system uses the target read voltage thresholds for each sub-interval calculated in the previous step to perform the actual read operation on the data blocks to be read. Since the target voltage threshold for each sub-interval is customized based on the temperature variation and loss level of that interval, the system needs to differentiate the read operation for each sub-interval using the corresponding voltage threshold. Data reading for each sub-interval can be performed simultaneously in parallel, with each sub-interval using an independent read channel to avoid interference. After parallel reading is completed, the system can obtain the original read data corresponding to each sub-interval.
[0093] When reading data from sub-intervals in parallel, the system needs to pre-plan the concurrency of the read operations. The number of sub-intervals to be read concurrently can be dynamically configured based on the number of read channels and the workload of each channel. Concurrency can be increased when there are many channels and low load, and appropriately decreased when there are few channels or high load. To balance the load across read channels, the system can also consider factors such as the data volume and the complexity of the read voltage threshold in each sub-interval when allocating read tasks. Sub-intervals with large data volumes or overly complex voltage thresholds are assigned to read channels with low loads, avoiding performance bottlenecks between read channels.
[0094] If the data block to be read is large and the number of sub-intervals to be read in parallel is large, the system can compress the read results to avoid cache explosion during data reading. A lossless compression algorithm can be used to reduce data storage space while ensuring data integrity. The compression operation can also be performed in parallel, synchronously with the reading operation, reducing the latency caused by compression. Furthermore, after reading the sub-interval data, the system needs to perform error correction and recovery on the original data. The error correction and recovery circuits can be integrated with the reading circuit in the same hardware unit, reducing intermediate data transmission steps and improving reading performance.
[0095] S107. Calculate the crosstalk interference coefficient between adjacent sub-intervals, and perform crosstalk correction on the original read data of each sub-interval based on the crosstalk interference coefficient to obtain the corrected data.
[0096] This step requires the system to consider crosstalk interference that may occur when adjacent sub-intervals are read in parallel. The system corrects the read data by calculating the crosstalk interference coefficient. Since adjacent sub-intervals are read using different reading voltage thresholds, the difference between these thresholds may cause mutual interference. The system needs to establish a physical model of the crosstalk interference using chip physical parameters such as parasitic capacitance to evaluate the interference coefficient of adjacent sub-intervals. After obtaining the interference coefficient, the system needs to eliminate the influence of crosstalk interference from the original read data to restore the original data. Interference elimination can be achieved using a signal compensation algorithm based on the interference coefficient, subtracting the interference component from the read data.
[0097] Since the read voltage thresholds of adjacent sub-intervals change dynamically, the threshold difference between two intervals may vary in different read cycles. Therefore, when calculating the interference coefficient, the system needs to obtain the threshold difference between adjacent intervals in real time and update the interference coefficient based on the latest threshold difference. Crosstalk interference is also related to the physical characteristics of the sub-intervals. For sub-intervals with similar physical characteristics, the probability of mutual interference is relatively low even if they use different read voltage thresholds. Therefore, when dividing sub-intervals, in addition to considering the loss of the sub-intervals, it is also necessary to minimize the differences in physical characteristics between adjacent sub-intervals as much as possible.
[0098] Furthermore, before executing step S108, the system will also count the number of bit flips in each sub-interval;
[0099] Calculate the data stability index for each sub-interval based on the number of bit flips;
[0100] The preset thresholds are dynamically adjusted based on data stability indicators, specifically including:
[0101] Calculate the standard deviation of the data stability index for each sub-interval;
[0102] Determine the threshold adjustment factor based on the standard deviation;
[0103] The threshold adjustment coefficient is non-linearly mapped to the preset threshold to obtain the dynamically adjusted preset threshold;
[0104] The dynamically adjusted preset threshold is used as the basis for reliability verification.
[0105] S108. Perform reliability verification on the corrected data of each sub-interval. When the reliability verification result of the corrected data of any sub-interval is lower than the preset threshold, perform error correction processing on the corresponding corrected data.
[0106] This step requires the system to verify the reliability of the crosstalk-corrected data in each sub-interval to determine whether the corrected data meets the reliability requirements. Typically, the system presets a reliability threshold, representing the minimum standard for data reliability. For each sub-interval, the system evaluates the reliability index of its corrected data and compares it with the preset threshold. If the reliability index of the sub-interval is lower than the threshold, it indicates that the data in this sub-interval still has a high probability of error after correction, requiring secondary error correction. Reliability indicators can include common metrics such as bit error rate and signal-to-noise ratio, or specialized reliability evaluation functions can be designed for specific data characteristics.
[0107] In addition to relying on preset judgment thresholds, the triggering conditions for data correction and error correction can also refer to the dynamic thresholds calculated in the previous step. The corresponding judgment thresholds differ for sub-intervals with different stability levels. Sub-intervals with higher stability indices can appropriately increase the judgment threshold to reduce unnecessary error correction, while sub-intervals with lower stability indices need to lower the judgment threshold and perform error correction more frequently. This dynamic threshold adjustment strategy can, to some extent, balance the time cost of data correction and the computational cost of error correction.
[0108] For sub-interval data that fails reliability verification, the system can employ various error correction strategies. One strategy is to enhance ECC encoding and decoding, increasing the number of redundant codewords and error correction capabilities for ECC checks, sacrificing some encoding efficiency for higher data reliability. Another strategy is targeted rereading, where the system caches the read voltage threshold for a certain period. If reliability verification fails, it reverts to the voltage threshold from previous reads and rereads the data locally. These two strategies can be used in combination: first, targeted rereading is employed; if reliability verification still fails after rereading, strong ECC error correction is then activated to minimize the computational overhead and latency associated with ECC.
[0109] S109. Update the loss level of each sub-interval according to the verification result of the reliability verification of each sub-interval, and re-divide the sub-intervals of the data blocks to be read according to the updated loss level.
[0110] The system updates the loss level of each sub-interval based on the reliability verification results, and redivides the sub-intervals of the data block to be read based on the updated loss level. The updated loss level and the redivided sub-intervals are used for reading the next data block to be read.
[0111] The system needs to update the loss level assessment of each sub-interval based on the reliability verification results, and then re-divide the sub-intervals of the data blocks to be read based on the updated loss level. The difference between the measured reliability and the expected reliability of a sub-interval can indirectly reflect whether the actual loss condition of that sub-interval matches the previous assessment. If the measured reliability is significantly lower than expected, it indicates that the wear of that sub-interval may be more severe than originally assessed, and its loss level needs to be appropriately increased. The system can establish a closed-loop calibration mechanism for loss levels through reliability feedback to correct loss level assessment deviations in a timely manner.
[0112] For sub-intervals where the loss level changes, the original interval division may no longer be applicable and needs to be dynamically redefined. The division should adhere to the principle of maintaining a relatively uniform loss level within each interval, further subdividing intervals with rapidly increasing loss, while merging intervals with gradual loss changes. Through dynamic division, the voltage threshold of each sub-interval can be more precisely matched to its loss characteristics. Furthermore, since the loss characteristics and rates of Flash chips often differ between different batches, the sub-interval division scheme needs to store product batch information. For new batches of products, the system needs to quickly accumulate their loss models and division schemes.
[0113] The updated loss level and redefined sub-intervals will be used for reading the next data block, a process of continuous iterative optimization. Through feedback from reliability verification, the system can continuously learn and improve the loss prediction model, dynamically adapting to changes in Flash granularity characteristics. Simultaneously, the system can summarize access patterns and hotspot distributions of different data blocks based on historical data, and adopt differentiated sub-interval partitioning strategies for different regions according to access frequency and data activity, further improving overall data reading efficiency and reliability.
[0114] In the above embodiments, temperature information and erase / write count information of data blocks are acquired, and the temperature change rate and temperature accumulation effect coefficient are calculated, enabling the system to accurately grasp the real-time thermal state and long-term thermal accumulation impact of storage units. Based on the cumulative erase / write count, physical page addresses are divided into sub-intervals to determine the wear level. A differentiated initial read voltage threshold is calculated based on the temperature change rate, and then compensated using the temperature accumulation effect coefficient to obtain the target read voltage threshold. This multi-dimensional adaptive read voltage setting mechanism can effectively cope with the differentiated aging characteristics of storage units in different sub-intervals. While using parallel reading to improve read efficiency, the interference problem between high-density storage units is solved by calculating and correcting the crosstalk interference coefficient. Reliability verification and error correction ensure the accuracy of data reading, while the mechanism of dynamically updating the wear level and sub-interval division strategy based on the verification results enables the system to continuously optimize. This technical solution, which comprehensively considers multiple influencing factors such as temperature effects, wear characteristics, and crosstalk interference, significantly improves the data read reliability and read performance of solid-state drives in complex application environments.
[0115] In the above embodiments, a solid-state drive (SSD) data reading method based on multiple dimensions such as temperature effects and loss characteristics has been described. To further improve the accuracy of crosstalk interference coefficient calculation, the original crosstalk interference coefficient can be finely calibrated by analyzing the voltage distribution histogram and voltage overlap region, combined with data density distribution characteristics, thereby more accurately characterizing the interference relationship between adjacent storage cells. The following section will combine... Figure 2 Another solid-state drive data reading method in the embodiments of this application is described below:
[0116] Please see Figure 2 This is another flowchart illustrating a solid-state drive data reading method in an embodiment of this application.
[0117] S201. Obtain the voltage distribution histogram of the data block to be read;
[0118] In this step, the system first needs to obtain the voltage distribution histogram of the data block to be read. A voltage distribution histogram is a statistical chart used to describe the voltage distribution of each memory cell in a data block. By analyzing the voltage distribution histogram, the data distribution characteristics of different voltage ranges in the data block can be understood, providing basic data for subsequent crosstalk interference coefficient calculation.
[0119] To obtain the voltage distribution histogram, the system can employ several methods. One feasible approach is to directly acquire the voltage values of each storage cell within the data block via the read circuitry, then categorize and statistically analyze the acquired voltage values to generate the voltage distribution histogram. Another method utilizes the monitoring circuitry within the solid-state drive (SSD) to periodically record the voltage distribution of the data blocks and transmit the recorded data to the system for processing and analysis. The system can also select an appropriate voltage sampling granularity and range based on the SSD's model and characteristics to balance data accuracy and processing efficiency.
[0120] S202. Identify the voltage overlap region in each sub-interval based on the voltage distribution histogram;
[0121] In this step, the system needs to identify the voltage overlap regions in each sub-interval based on the acquired voltage distribution histogram. Voltage overlap regions refer to the parts of the voltage distribution histogram where the voltage distribution curves of adjacent sub-intervals overlap. These overlap regions often represent strong crosstalk interference between adjacent memory cells, affecting the reliability of data retrieval.
[0122] To identify voltage overlap regions, the system can employ various algorithms and strategies. A common approach is threshold-based judgment, where a voltage overlap threshold is set, and regions are marked as voltage overlap regions when the overlap of voltage distribution curves in adjacent sub-intervals exceeds this threshold. The selection of the threshold needs to comprehensively consider factors such as data block characteristics, voltage distribution morphology, and interference intensity. Another method utilizes pattern recognition and machine learning techniques to automatically identify and locate overlap regions by training a feature model of the voltage overlap region. The system can also combine the physical characteristics of the solid-state drive and the layout information of adjacent cells to perform refined identification and calibration of voltage overlap regions.
[0123] S203. Calculate the data density distribution of each sub-interval based on the voltage overlap region;
[0124] In this step, the system needs to calculate the data density distribution of each sub-interval based on the identified voltage overlap region. The data density distribution reflects the data storage density and distribution characteristics of the storage cells within each sub-interval, which is of great significance for analyzing the impact of crosstalk interference.
[0125] To calculate the data density distribution, the system can employ various methods. A common approach is statistical analysis based on voltage distribution histograms, which calculates the number and distribution of data points within each sub-interval to obtain the data density distribution curve. Another method utilizes the physical characteristics and encoding methods of storage units to estimate the data storage capacity and density of each sub-interval. The system can also combine the solid-state drive's mapping table and logical block address allocation information to perform more refined calculations and characterization of the data density distribution.
[0126] S204. Calculate the data density ratio of adjacent sub-intervals;
[0127] In this step, the system needs to calculate the data density ratio between adjacent sub-intervals. The data density ratio represents the difference in data storage density between adjacent sub-intervals and serves as an indicator of the degree of impact of quantization crosstalk interference.
[0128] To calculate the data density ratio, the system can employ a simple mathematical method: dividing the data density values of adjacent sub-intervals to obtain the ratio. To improve the accuracy and stability of the calculation, the system can select an appropriate numerical representation range and precision to avoid anomalies such as division by zero and overflow.
[0129] In calculating the data density ratio, some special cases may be encountered, such as when the data density values of adjacent sub-intervals are equal or have small differences, which reduces the significance and reliability of the ratio calculation. To address this situation, the system can introduce a threshold judgment mechanism. When the data density difference between adjacent sub-intervals is less than a preset threshold, their data density ratio can be considered close to 1, and will not have a significant impact on crosstalk interference.
[0130] S205. Determine the interference weight coefficient for each sub-interval based on the data density ratio;
[0131] In this step, the system needs to determine the interference weight coefficient for each sub-interval based on the calculated data density ratio. The interference weight coefficient represents the degree of contribution of each sub-interval to crosstalk interference and is a correction factor that is introduced to calibrate based on the data density distribution characteristics on the basis of the original crosstalk interference coefficient.
[0132] To determine the interference weight coefficients, the system can use a pre-designed mapping function or lookup table to map the data density ratio to the corresponding weight coefficients. The design of the mapping function needs to comprehensively consider factors such as the physical mechanism of crosstalk, the influence of data density distribution, and empirical parameters. The system can also utilize machine learning algorithms to automatically learn the correlation between the data density ratio and the weight coefficients by training a predictive model for the interference weight coefficients.
[0133] S206. The interference weight coefficient and the original crosstalk interference coefficient are weighted and averaged to obtain the calibrated crosstalk interference coefficient.
[0134] In this step, the system needs to perform a weighted average of the determined interference weight coefficients and the original crosstalk interference coefficients to obtain the calibrated crosstalk interference coefficients. The purpose of the weighted average is to comprehensively consider the influence of data density distribution on the basis of the original crosstalk interference coefficients, so as to more accurately characterize and evaluate the crosstalk interference.
[0135] To achieve a weighted average, the system can employ a simple mathematical calculation method: multiplying the interference weight coefficient and the original crosstalk interference coefficient by their respective weights, and then summing them to obtain the calibrated crosstalk interference coefficient. The selection of weights needs to consider the influence of both the original crosstalk interference coefficient and the data density distribution, and can be determined through empirical settings or data training. The system can also flexibly adjust the weighted average strategy and parameters according to different application scenarios and requirements to adapt to different data reading tasks.
[0136] In the above embodiments, by acquiring the voltage distribution histogram of the data block to be read, the system can grasp the actual voltage distribution status of each storage cell. The voltage overlap region identified based on the voltage distribution histogram reflects the degree of voltage interference between adjacent sub-intervals. By calculating the data density distribution of each sub-interval in the overlap region, the system accurately assesses the actual impact of crosstalk interference on different sub-intervals. Weighted calibration of the crosstalk interference coefficient using the data density distribution makes interference compensation more accurate and effectively reduces the crosstalk impact between adjacent storage cells. This crosstalk interference compensation mechanism based on actual voltage distribution characteristics improves the accuracy of data reading in high-density storage environments while reducing the false read rate.
[0137] The system in the embodiments of this invention is described below from the perspective of hardware processing. Please refer to [link / reference needed]. Figure 3 This is a schematic diagram of the physical device structure of a solid-state drive data reading system provided in an embodiment of this application.
[0138] It should be noted that, Figure 3 The structure of the system shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.
[0139] like Figure 3 As shown, the system includes a Central Processing Unit (CPU) 301, which can perform various appropriate actions and processes based on a program stored in Read-Only Memory (ROM) 302 or a program loaded from storage portion 308 into Random Access Memory (RAM) 303, such as executing the methods described in the above embodiments. The RAM 303 also stores various programs and data required for system operation. The CPU 301, ROM 302, and RAM 303 are interconnected via a bus 304. An Input / Output (I / O) interface 305 is also connected to the bus 304.
[0140] The following components are connected to I / O interface 305: input section 306 including a camera, infrared sensor, etc.; output section 307 including a liquid crystal display (LCD) and speakers, etc.; storage section 308 including a hard disk, etc.; and communication section 309 including a network interface card such as a LAN (Local Area Network) card and a modem, etc. Communication section 309 performs communication processing via a network such as the Internet. Drive 310 is also connected to I / O interface 305 as needed. Removable media 311, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 310 as needed so that computer programs read from them can be installed into storage section 308 as needed.
[0141] In particular, according to embodiments of the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing computer programs for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 309, and / or installed from removable medium 311. When the computer program is executed by central processing unit (CPU) 301, it performs the various functions defined in the present invention.
[0142] It should be noted that the computer-readable medium shown in the embodiments of the present invention can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In the present invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present invention, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, wherein a computer-readable computer program is carried. The transmitted data signal can take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof.
[0143] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated 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 a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0144] In another aspect, the present invention also provides a computer-readable storage medium, which may be included in the system described in the above embodiments; or it may exist independently and not assembled into the system. The storage medium carries one or more computer programs that, when executed by a processor of a system, cause the system to implement the methods provided in the above embodiments.
[0145] The above-described 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 the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
[0146] As used in the above embodiments, depending on the context, the term "when..." can be interpreted as meaning "if...", "after...", "in response to determining...", or "in response to detecting...". Similarly, depending on the context, the phrase "when determining..." or "if (the stated condition or event) is interpreted as meaning "if determining...", "in response to determining...", "when (the stated condition or event) is detected", or "in response to detecting (the stated condition or event)".
[0147] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive), etc.
[0148] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A method for reading data from a solid-state drive, characterized in that, include: The temperature information and erase / write count information of the data block to be read are obtained. The temperature information includes the current temperature value of the data block to be read and the historical temperature records within a preset time period. The erase / write count information includes the cumulative number of erase / write counts of the data block to be read. Calculate the temperature change rate and temperature cumulative effect coefficient of the data block to be read based on the current temperature value and the historical temperature record; The physical page address of the data block to be read is divided into several sub-intervals based on the cumulative number of erase and write operations, and the wear level of each sub-interval is determined. The initial read voltage threshold corresponding to each sub-interval is calculated based on the temperature change rate and the loss level of each sub-interval; The initial reading voltage threshold of each sub-interval is compensated based on the temperature cumulative effect coefficient to obtain the target reading voltage threshold corresponding to each sub-interval; The data block to be read is read in parallel using the target read voltage threshold corresponding to each sub-interval to obtain the original read data corresponding to each sub-interval; Calculate the crosstalk interference coefficient between adjacent sub-intervals, and perform crosstalk correction on the original read data of each sub-interval based on the crosstalk interference coefficient to obtain the corrected data; The reliability of the corrected data in each sub-interval is verified. When the reliability verification result of the corrected data in any sub-interval is lower than a preset threshold, the corresponding corrected data is corrected. The loss level of each sub-interval is updated based on the verification result of the reliability verification of each sub-interval, and the sub-intervals of the data block to be read are re-divided according to the updated loss level. The updated loss level and the re-divided sub-intervals are used for reading the next data block to be read.
2. The method according to claim 1, characterized in that, The calculation of the initial read voltage threshold for each sub-interval based on the temperature change rate and the loss level of each sub-interval specifically includes: Calculate the difference between the temperature change rate and the preset reference temperature change rate; The preset standard reading voltage is linearly adjusted based on the difference to obtain the temperature compensation voltage value. The corresponding loss compensation coefficient is determined based on the loss level of each sub-interval; The temperature compensation voltage value is weighted and combined with the loss compensation coefficient corresponding to each sub-interval to obtain the initial reading voltage threshold corresponding to each sub-interval.
3. The method according to claim 1, characterized in that, The compensation of the initial reading voltage threshold for each sub-interval based on the temperature cumulative effect coefficient specifically includes: The temperature accumulation effect coefficient is normalized to obtain the normalized temperature accumulation coefficient. The voltage drift of each sub-interval is calculated based on the normalized temperature cumulative coefficient. The voltage drift of each sub-interval is nonlinearly superimposed with the corresponding initial read voltage threshold to obtain the target read voltage threshold for each sub-interval.
4. The method according to claim 1, characterized in that, After calculating the crosstalk interference coefficient between adjacent sub-intervals, the method further includes: Obtain the voltage distribution histogram of the data block to be read; Identify the voltage overlap region in each of the sub-intervals based on the voltage distribution histogram; Calculate the data density distribution of each sub-interval based on the voltage overlap region; The crosstalk interference coefficient is weighted and calibrated based on the data density distribution.
5. The method according to claim 4, characterized in that, The weighted calibration of the crosstalk interference coefficient based on the data density distribution specifically includes: Calculate the data density ratio of adjacent sub-intervals; The interference weight coefficient for each of the sub-intervals is determined based on the data density ratio. The crosstalk interference coefficient is obtained by weighting the interference weight coefficient and the original crosstalk interference coefficient.
6. The method according to claim 1, characterized in that, Before performing reliability verification on the corrected data for each of the sub-intervals, the method further includes: Count the number of bit flips in each of the sub-intervals; Calculate the data stability index for each sub-interval based on the number of bit flips; The preset threshold is dynamically adjusted based on the data stability index. The dynamically adjusted preset threshold is used as the basis for reliability verification.
7. The method according to claim 6, characterized in that, The dynamic adjustment of the preset threshold based on the data stability index specifically includes: Calculate the standard deviation of the data stability index for each of the sub-intervals; The threshold adjustment coefficient is determined based on the standard deviation. The threshold adjustment coefficient is nonlinearly mapped to the preset threshold to obtain the dynamically adjusted preset threshold.
8. A solid-state drive data reading system, characterized in that, The system includes: One or more processors and a memory; the memory is coupled to the one or more processors, the memory being used to store computer program code, the computer program code including computer instructions, the one or more processors invoking the computer instructions to cause the system to perform the method as described in any one of claims 1-7.
9. A computer-readable storage medium comprising instructions, characterized in that, When the instructions are executed on the system, the system performs the method as described in any one of claims 1-7.
10. A computer program product, characterized in that, When the computer program product is run on the system, the system performs the method as described in any one of claims 1-7.
Citation Information
Patent Citations
Method and device for reducing read error correction failure probability and medium
CN116417049A
Method and device for improving low-temperature reliability and reading performance of 3-D flash memory based on read reference voltage calibration
CN118711640A