Method for executing rereading operation, electronic equipment, storage medium and program product

By acquiring the voltage axis configuration information difference and error distribution information of the storage device, the reread operation process is optimized, which solves the problem of low read operation efficiency caused by storage device voltage drift and achieves more efficient and accurate data reading.

CN120832098AActive Publication Date: 2025-10-24SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 14 Cites 0 Cited by

Patent Information

Application Number
CN202511325520.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-17
Publication Date
2025-10-24
Estimated Expiration
2045-09-17

AI Technical Summary

Technical Problem

In the prior art, voltage drift caused by changes in the physical characteristics of storage devices results in low read operation efficiency when adjusting voltage axis configuration information using a preset adjustment step size.

Method used

By acquiring the difference information between the initial and alternative voltage axis configuration information, the first-level rereading operation corresponding to the difference is performed. After the first-level failure, the error distribution information is acquired, and the second-level rereading operation is performed based on the error distribution information and the alternative voltage axis configuration information to avoid blind adjustment.

Benefits of technology

It improves the efficiency of reread operations, reduces resource waste, significantly shortens reread latency, and improves the accuracy and efficiency of data reading.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120832098A_ABST
    Figure CN120832098A_ABST
Patent Text Reader

Abstract

The invention discloses a method for executing a rereading operation, electronic equipment, a storage medium and a program product, and relates to the technical field of storage, and the method comprises the following steps: after the first-time reading operation fails, obtaining alternative voltage axis configuration information for the rereading operation, and determining difference degree information between the alternative voltage axis configuration information and initial voltage axis configuration information used in the first reading operation process. Furthermore, different first-level re-reading operations can be executed according to the difference of the difference degree information. According to the embodiment of the invention, more detailed error distribution information can be obtained only after the first-level rereading operation fails, so that the second-level rereading operation can be executed on the target storage page based on the error distribution information and the alternative voltage axis configuration information. In the second-level rereading operation process, detailed error distribution information is used as reference, the voltage axis is not adjusted blindly at a fixed step length, the second-level rereading operation can be executed more accurately, and the efficiency of the rereading operation is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of storage, and in particular to a method for performing a re-reading operation, an electronic device, a storage medium and a program product. BACKGROUND

[0002] In the technical field of storage, a storage device is used to store data. When reading the data stored in the storage device, a voltage axis configuration information needs to be used to apply a corresponding voltage to the reading position in the storage device, so that the data can be read. However, over time, the physical characteristics of the storage device change, for example, voltage drift occurs. In this way, the original voltage axis configuration information cannot be used to accurately read the data.

[0003] In order to solve such problems, a preset adjustment step is usually used to continuously adjust each voltage axis, and then a re-reading operation is performed until the correct data is read. This results in a low efficiency of the read operation. SUMMARY

[0004] The present application provides a method for performing a re-reading operation, an apparatus, an electronic device, a storage medium and a program product, to solve the problem of low efficiency of the read operation caused by adjusting the voltage axis based on a preset adjustment step.

[0005] The present application provides a method for performing a re-reading operation, comprising: obtaining a first operation result of a first read operation on a target storage page; obtaining initial voltage axis configuration information corresponding to the target storage page when it is determined that the first operation result is a read failure, wherein the initial voltage axis configuration information is voltage axis configuration information used for the re-reading operation; calculating difference degree information between the initial voltage axis configuration information and pre-obtained alternative voltage axis configuration information, wherein the alternative voltage axis configuration information is voltage axis configuration information used for the first read operation, and each voltage axis configuration information is used to identify the data state of the storage unit included in the target storage page in the read operation; performing a first-level re-reading operation corresponding to the difference degree information based on the difference degree information; obtaining a first-level operation result corresponding to the first-level re-reading operation; obtaining error distribution information corresponding to the first-level re-reading operation when it is determined that the first-level operation result is a read failure; performing a second-level re-reading operation on the target storage page based on the error distribution information and the alternative voltage axis configuration information.

[0006] The present application also provides an apparatus for performing a re-reading operation, comprising: The obtaining module is configured to obtain a first operation result of a first read operation on a target storage page; and obtain initial voltage axis configuration information corresponding to the target storage page when it is determined that the first operation result is a read failure, wherein the initial voltage axis configuration information is voltage axis configuration information used for a re-read operation. The calculating module is configured to calculate difference degree information between the initial voltage axis configuration information and pre-obtained candidate voltage axis configuration information, wherein the candidate voltage axis configuration information is voltage axis configuration information used for the first read operation, and each of the voltage axis configuration information is used for identifying a data state of a storage cell included in the target storage page in a read operation process. The executing module is configured to perform a first-level re-read operation corresponding to the difference degree information based on the difference degree information. The obtaining module is further configured to obtain a first-level operation result corresponding to the first-level re-read operation; and obtain error distribution information corresponding to the first-level re-read operation when it is determined that the first-level operation result is a read failure. The re-reading module is configured to perform a second-level re-read operation on the target storage page based on the error distribution information and the candidate voltage axis configuration information.

[0007] The application further provides an electronic device, including a memory configured to store a computer program, and a processor configured to execute the computer program to implement the steps of the method for performing a re-read operation.

[0008] The application further provides a computer-readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the steps of the method for performing a re-read operation.

[0009] The application further provides a computer program product, which includes a computer program, and the computer program is executed by a processor to implement the steps of the method for performing a re-read operation.

[0010] According to the application, after a first read operation fails, candidate voltage axis configuration information used for a re-read operation can be obtained first, and difference degree information between the candidate voltage axis configuration information and initial voltage axis configuration information used in the first read operation process can be determined. Then, according to the difference degree information, different first-level re-read operations can be performed first. The first-level re-read operation has a certain probability of reading correctly. Only when the first-level re-read operation fails, more detailed error distribution information can be obtained, so that a second-level re-read operation on the target storage page can be performed based on the error distribution information and the candidate voltage axis configuration information. In the second-level re-read operation process, the detailed error distribution information is used as a reference, instead of blindly adjusting the voltage axis with a fixed step, so that the second-level re-read operation can be performed more accurately, and the efficiency of the re-read operation is improved. BRIEF DESCRIPTION OF DRAWINGS

[0011] In order to more clearly illustrate the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments. Obviously, the drawings described below are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without any creative effort based on these drawings.

[0012] Figure 1 An architecture schematic diagram of a storage system provided by an embodiment of the present application is provided. Figure 2 A flow schematic diagram of a method for performing a re-read operation provided by an embodiment of the present application is provided. Figure 3 A flow schematic diagram of an apparatus for performing a re-read operation provided by an embodiment of the present application is provided. Figure 4 A structure schematic diagram of an electronic device provided by an embodiment of the present application is provided. DETAILED DESCRIPTION

[0013] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without any creative effort fall within the protection scope of the present application.

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

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

[0016] The method for performing a re-read operation provided by the present application can be implemented by a storage system, such as Figure 1As shown, the storage system can include a storage controller and at least one storage grain. The storage system can be a flash (Nand). The storage controller can be used to manage and drive the storage grain, and the storage grain stores data as a storage medium. The storage grain can include a plurality of storage blocks, and the storage block includes a plurality of storage pages. The storage page includes a plurality of storage cells, and the storage cell is used to store one or more bits of data. For example, the storage cell can be a single-level cell (SLC), a multi-level cell (MLC), a triple-level cell (TLC), a quad-level cell (QLC), etc. The SLC can be used to store one bit of data, the multi-level cell can be used to store two bits of data, the TLC can be used to store three bits of data, and the QLC can be used to store four bits of data.

[0017] Taking the QLC as an example, each bit has two states, i.e. 1 or 0, and after the combination of four bits, the QLC has 16 states, so for the QLC, 15 reference voltage values need to be set to distinguish 16 states. The 15 reference voltage values can be combined into a power axis configuration information, for example, arranged from low to high or from high to low according to the 15 reference voltage values. In this way, when reading the state of the QLC, the voltage axis configuration information can be applied to the QLC, and the state of the QLC can be determined according to the current conduction of the QLC. In this process, the voltage axis configuration information is used to identify the data state of each storage cell in the storage page.

[0018] Embodiments of the present application provide a method for performing a re-read operation, which can be performed by a storage controller, as shown in the following. Figure 2 As shown, the specific processing steps of the method for performing a re-read operation can include: Step S201, obtaining a first operation result of a first read operation on a target storage page.

[0019] Specifically, the storage controller performing an operation on the storage grain can be performed in units of storage pages. The target storage page can be any storage page in any storage block in any storage grain in the storage device. After the storage controller performs the first read operation on the target storage page, the decoder can be used to decode the read data to determine the decoding result, and then the decoding result is determined as the first operation result. The decoding result can be decoding success, and the corresponding first operation result can be read success, or the decoding result can also be decoding failure, and the corresponding first operation result can be read failure. For example, the decoder can be a low-density parity-check (LDPC) decoder.

[0020] Step S202, when determining that the first operation result is read failure, obtaining the candidate voltage axis configuration information corresponding to the target storage page.

[0021] The candidate voltage axis configuration information is the voltage axis configuration information used for the re-read operation. The candidate voltage axis configuration information can be used to identify the data state of each storage cell included in the target storage page during the re-read operation.

[0022] Specifically, when determining that the first operation result is read failure, the storage controller can determine to perform the re-read operation, and accordingly, the storage controller can obtain the candidate voltage axis configuration information configured in advance for the re-read operation.

[0023] Step S203, calculating the difference degree information between the candidate voltage axis configuration information and the pre-obtained initial voltage axis configuration information.

[0024] The initial voltage axis configuration information is the voltage axis configuration information used for the first read operation. The candidate voltage axis configuration information can be used to identify the data state of each storage cell included in the target storage page during the first read operation.

[0025] Specifically, during the process of performing the first read operation by the storage controller, the initial voltage axis configuration information can be used to perform the read operation on the target storage page. Accordingly, after obtaining the initial voltage axis configuration information, the storage controller can determine the difference degree information between the initial voltage axis configuration information and the candidate voltage axis configuration information.

[0026] For example, the initial voltage axis configuration information and the candidate voltage axis configuration information can each include a plurality of voltage axes corresponding to the target storage page. The storage controller can convert the initial voltage axis configuration information into a first vector, and convert the candidate voltage axis configuration information into a second vector, then calculate the Euclidean distance between the first vector and the second vector, and determine the Euclidean distance as the difference degree information. Alternatively, the storage controller can calculate the numerical value of the fourth voltage axis in the initial voltage axis configuration information and the candidate voltage axis configuration information respectively, and then determine the difference between the two numerical values as a sub-difference degree. The fourth voltage axis can be any one of the plurality of voltage axes corresponding to the target storage page. In a similar manner, the storage controller can calculate the sub-difference degree of each voltage axis, and the sub-difference degrees corresponding to all voltage axes of the target storage page constitute the difference degree information.

[0027] Step S204, based on the difference degree information, performing a first-level re-read operation corresponding to the difference degree information.

[0028] Specifically, since the difference information can indicate the effectiveness of the candidate voltage axis configuration information, after the difference information is calculated, the storage controller can determine, according to the difference information, whether to directly use the candidate voltage axis configuration information to perform the first-level re-reading operation, or to adjust the candidate voltage axis configuration information or the initial voltage axis configuration information to obtain new voltage axis configuration information, and then perform the first-level re-reading operation based on the new voltage axis configuration information.

[0029] Step S205, obtaining a first-level operation result corresponding to the first-level re-reading operation.

[0030] Specifically, the storage controller can perform decoding operation on the data read by the first-level re-reading operation by using the decoder in a similar manner as the first-time reading operation, obtain a decoding result, and determine the decoding result as the first-level operation result.

[0031] Step S206, when it is determined that the first-level operation result is a reading failure, obtaining error distribution information corresponding to the first-level re-reading operation.

[0032] Specifically, when it is determined that the first-level operation result is a reading success, subsequent operations can no longer be performed. When it is determined that the first-level operation result is a reading failure, it indicates that the data cannot be correctly read. Accordingly, the storage controller can obtain the error distribution information of the first-level re-reading operation from the decoder. The error distribution information can include the confidence of each bit included in each storage unit in the target storage page, which is used to indicate whether the corresponding bit data is correct or incorrect.

[0033] Step S207, performing a second-level re-reading operation on the target storage page based on the error distribution information and the candidate voltage axis configuration information.

[0034] Specifically, since the error distribution information can indicate the position information of the reading error, the candidate voltage axis configuration information can be adjusted according to different error position information to obtain adjusted candidate voltage axis configuration information, and the second-level re-reading operation is performed on the target storage page based on this to read correct data.

[0035] The method for performing the re-reading operation of the embodiments of the present application can first obtain the alternative voltage axis configuration information for the re-reading operation after the first reading operation fails, and determine the difference degree information of the alternative voltage axis configuration information and the initial voltage axis configuration information used in the first reading operation. Then, according to the difference degree information, different first-level re-reading operations can be performed. The first-level re-reading operation has a certain probability of reading correctly. Only when the first-level re-reading operation fails, more detailed error distribution information can be obtained, so that the second-level re-reading operation can be performed on the target storage page based on the error distribution information and the alternative voltage axis configuration information. In the second-level re-reading operation, the detailed error distribution information is used as a reference, instead of blindly adjusting the voltage axis with a fixed step, so that the second-level re-reading operation can be more accurately performed, and the efficiency of the re-reading operation can be improved.

[0036] In some optional embodiments, the step S204 can include the following steps: When it is determined that the difference degree information meets the first preset difference degree condition, the first-level re-reading operation is performed on the target storage page by using the alternative voltage axis configuration information. Alternatively, when it is determined that the difference degree information meets the second preset difference degree condition, the voltage axis step adjustment information corresponding to the target storage page is obtained. The first-level re-reading operation is performed on the target storage page based on the voltage axis step adjustment information and the alternative voltage axis configuration information.

[0037] Specifically, when it is determined that the difference between the initial voltage axis configuration information and the alternative voltage axis configuration information is large (i.e., the difference degree information meets the first preset difference degree condition, for example, the first preset difference degree condition can be that the difference degree is greater than or equal to a first preset difference degree threshold, or any sub-difference degree of the voltage axis is greater than or equal to a second preset difference degree threshold, and the second preset difference degree threshold can be 0.1V), it can be indicated that the offset between the alternative voltage axis configuration information and the initial voltage axis configuration information is large, and the direct application of the alternative voltage axis configuration information is likely to be effective. When the difference degree information between the initial voltage axis configuration information and the alternative voltage axis configuration information is small (i.e., the second preset difference degree condition is met, for example, the second prediction difference degree condition can be less than the first preset difference degree information threshold, or the sub-difference degree of all voltage axes corresponding to the target storage page is less than the second preset difference degree threshold), it can be indicated that the offset between the alternative voltage axis configuration information and the initial voltage axis configuration information is small, and it is not meaningful to directly use the alternative voltage axis configuration information. Therefore, the storage controller can obtain the voltage axis step adjustment information (which can include a plurality of preset adjustment steps corresponding to the voltage axes, respectively) corresponding to the target storage page, adjust the alternative voltage axis configuration information based on the voltage axis step adjustment information to obtain the adjusted alternative voltage axis configuration information, and perform the first-level re-reading operation on the target storage page based on the adjusted alternative voltage axis configuration information.

[0038] In this way, by performing the first level re-reading operation through the difference degree information, the possible effective voltage axis can be directly applied, avoiding multiple small step attempts caused by fine tuning, significantly shortening the re-reading delay, and improving the efficiency of the re-reading operation. Moreover, the problem of resource waste caused by directly using the alternative voltage axis configuration information with lower effectiveness can also be avoided.

[0039] In some optional embodiments, the error distribution information can include error sub-distribution information of a plurality of bit regions (which can include a plurality of bit positions) in the target storage page, and the error sub-distribution information can include confidence of the plurality of bit positions. Accordingly, the step S207 described above can specifically include: Step one, selecting a target voltage axis in a plurality of voltage axes corresponding to the target storage page according to error sub-distribution information of a plurality of bit regions.

[0040] Step two, adjusting the target voltage axis based on a preset adjustment step length corresponding to the target voltage axis to obtain an adjusted target voltage axis.

[0041] Step three, performing a second level re-reading operation on the target storage page based on the adjusted target voltage axis and alternative voltage axis configuration information.

[0042] Specifically, different bit regions can correspond to different voltage axes, and the error data amount of different bit regions is also different. Therefore, the storage controller can select a target voltage axis that needs to be adjusted in a plurality of voltage axes corresponding to the target storage page according to error sub-distribution information of a plurality of bit regions. For example, the target voltage axis can be Vt4 of QLC, which causes confusion of data state 3 and data state 4. Further, the storage controller can adjust the target voltage axis according to the preset adjustment step length, for example, increase or decrease the preset adjustment step length, to obtain an adjusted target voltage axis. Finally, the storage controller can perform a second level re-reading operation on the target storage page using the adjusted target voltage axis and other voltage axes in the alternative voltage axis configuration information.

[0043] In this way, by selecting a voltage axis for adjustment based on the error distribution information, resource waste caused by adjusting all voltage axes can be avoided.

[0044] In some optional embodiments, in step one of step S207, the storage controller can select the target voltage axis by adopting the following specific steps: Step 1, determining the voltage sensitivity of the target bit region based on the error sub-distribution information of the target bit region and a pre-constructed voltage sensitivity prediction model.

[0045] Wherein, the target bit region can be any one of the plurality of bit regions.

[0046] Step 2, determining the voltage sensitivity of the target bit area as the voltage sensitivity of the first voltage axis corresponding to the target bit area.

[0047] Step 3, after determining the voltage sensitivity of each voltage axis in the plurality of voltage axes, determining the target voltage axis from the plurality of voltage axes according to the voltage sensitivity of each voltage axis.

[0048] Specifically, the storage controller can input the error sub-distribution information of the target bit area into the voltage sensitivity prediction model to obtain the voltage sensitivity output by the voltage sensitivity prediction model. For example, the voltage sensitivity prediction model can be a one-dimensional convolutional neural network (CNN), the voltage sensitivity model can perform feature vector extraction operation on the error sub-distribution information to obtain a target feature vector, and perform multi-layer convolution operation on the target feature vector to obtain the voltage sensitivity. Further, the storage controller can determine the voltage sensitivity of the target bit area as the voltage sensitivity of the first voltage axis corresponding to the target bit area. For each voltage axis, the storage controller can use the above-mentioned voltage sensitivity prediction model to predict the voltage sensitivity. Finally, the storage controller can select the target voltage axis from the plurality of voltage axes according to the voltage sensitivity of each voltage axis. For example, the voltage axis with the highest voltage sensitivity can be determined as the target voltage axis.

[0049] For example, step 1 can use the following expression: (1) wherein, is the voltage sensitivity of the i-th voltage axis, is the weight information of the k-th layer of the convolution kernel in the CNN, is the feature vector of the i-th voltage axis after the k-th layer of convolution. The size of the convolution kernel can be 3x3, i.e., 3 layers of convolution operation can be performed.

[0050] In this way, by selecting the target voltage axis, only the target voltage axis is adjusted, without the need to adjust all voltage axes corresponding to the target storage page respectively, which can save resources and greatly improve the efficiency of the read operation.

[0051] In some optional embodiments, after step S207, if it is determined that the effect of the second-level read operation after adjusting the voltage axis is not obvious, i.e., the error bit rate (Recoverable Bit Error Rate, RBER) does not change significantly, a multi-voltage axis joint adjustment can be performed (all voltage axes corresponding to the target storage page can be jointly adjusted, or part of the voltage axes can be jointly adjusted, for example, two voltage axes can be jointly adjusted), and accordingly, the storage controller can perform the following specific steps: Step one, obtaining a first error bit rate corresponding to the first level re-reading operation, and a second error bit rate corresponding to the second level re-reading operation.

[0052] Step two, determining error bit rate change information corresponding to the second level re-reading operation according to the first error bit rate and the second error bit rate.

[0053] Step three, when it is determined to perform the third level re-reading operation based on the error bit rate change information, adjusting the candidate voltage axis configuration information using the pre-constructed multi-axis joint adjustment mode to obtain adjusted candidate voltage axis configuration information.

[0054] Step four, performing the third level re-reading operation based on the adjusted candidate voltage axis configuration information.

[0055] Specifically, the storage controller can obtain a first error bit rate of the first level re-reading operation after completing the first level re-reading operation, and can obtain a second error bit rate of the second level re-reading operation after completing the second level re-reading operation. Then, the storage controller can determine error bit rate change information according to the second error bit rate and the first error bit rate, that is, determine whether the effect of the second level re-reading operation is significantly improved compared with the first level re-reading operation. For example, according to the second error bit rate and the first error bit rate, the change rate of the error bit rate is determined, the second error bit rate and the first error bit rate are compared, and the change direction is determined. The change direction can be a decrease or an increase in the error bit rate, and the change rate and the change direction of the error bit rate constitute the error bit rate change information. Accordingly, when it is determined that the change rate of the error bit rate is less than a preset change rate threshold, regardless of the change direction, it can be determined that the effect of the second level re-reading operation is not significantly improved compared with the first level re-reading operation. Or, when it is determined that the change rate of the error bit rate is greater than or equal to the preset change rate threshold, and the change direction is a decrease in the error bit rate, it is determined that the effect of the second level re-reading operation is significantly improved compared with the first level re-reading operation.

[0056] Further, the storage controller can determine to perform the third level re-reading operation when it is determined that the effect of the second level re-reading operation is not significantly improved compared with the first level re-reading operation. At this time, the storage controller can adjust the candidate voltage axis configuration information using the multi-axis joint adjustment mode to obtain adjusted candidate voltage axis configuration information, and then perform the third level re-reading operation based on the adjusted candidate voltage axis configuration information.

[0057] In this way, in the case that the second level re-reading operation has no obvious effect, the multi-axis joint adjustment mode is immediately used to adjust the candidate voltage axis configuration information to perform the third level re-reading operation. The adjustment mode of the voltage axis configuration is changed through the actual adjustment effect, which is more flexible and efficient.

[0058] In some optional embodiments, in the step three described above, the storage controller adopts a pre-constructed multi-axis joint adjustment mode, and the process of adjusting the candidate voltage axis configuration information can be a polling adjustment process. Accordingly, the storage controller can specifically adjust the candidate voltage axis configuration information by the following specific steps: Step 1. In the current adjustment round, obtain the step size and adjustment direction corresponding to each of the plurality of voltage axes in the current adjustment round.

[0059] Step 2. Input the step size and adjustment direction corresponding to each of the plurality of voltage axes in the current adjustment round into the pre-constructed error information prediction model to obtain the predicted error bit rate change information of the current adjustment round output by the error information prediction model.

[0060] Step 3. When it is determined that the predicted error bit rate change information of the current adjustment round meets the preset condition, adjust the candidate voltage axis configuration information based on the step size and adjustment direction corresponding to each of the plurality of voltage axes in the current adjustment round to obtain the adjusted candidate voltage axis configuration information.

[0061] The preset condition is used to indicate that the adjustment mode of the current adjustment round is correct.

[0062] Alternatively, step 4. When it is determined that the predicted error bit rate change information does not meet the preset condition, enter the next adjustment round corresponding to the current adjustment round until the predicted error bit rate change information of any adjustment round meets the preset condition, and then adjust the candidate voltage axis configuration information based on the step size and adjustment direction corresponding to each of the plurality of voltage axes in the last adjustment round to obtain the adjusted candidate voltage axis configuration information.

[0063] Specifically, in step 1, for the first adjustment round, the preset initial step size is determined as the step size of the second voltage axis in the current adjustment round, and the preset initial adjustment direction is determined as the adjustment direction of the second voltage axis in the current adjustment round, wherein the second voltage axis is any one of the plurality of voltage axes.

[0064] For a non-first adjustment round, the storage controller can obtain the step size and adjustment direction corresponding to each of the plurality of voltage axes in the current adjustment round by the following steps: Step a1. Based on the predicted error bit rate change information of the previous adjustment round before the current adjustment round, obtain a target step size adjustment coefficient corresponding to the predicted error bit rate change information of the previous adjustment round.

[0065] Step a2. Adjust the step size of the third voltage axis in the previous adjustment round based on the target step size adjustment coefficient to obtain the step size of the third voltage axis in the current adjustment round.

[0066] The third voltage axis is any one of the multiple voltage axes.

[0067] Step a3: determining an adjustment direction of the third voltage axis in the current adjustment round based on prediction error rate change information of historical adjustment rounds before the current adjustment round.

[0068] Among them, historical adjustment rounds include at least the previous adjustment round.

[0069] Specifically, in the current adjustment round, the storage controller can obtain a target step size adjustment coefficient corresponding to the predicted error bit rate change information based on the predicted error bit rate change information output by the error information prediction model in the previous adjustment round. The storage controller can then adjust the step size of the third voltage axis in the current adjustment round based on the target step size adjustment coefficient to obtain the adjusted step size of the third voltage axis in the current adjustment round. Furthermore, the storage controller can also determine the adjustment direction of the third voltage axis in the current adjustment round after analyzing the predicted error rate change information from previous adjustment rounds. For example, the rate of change of the error bit rate for multiple (possibly two) consecutive adjustment rounds maintains a downward trend.

[0070] In step 2, the error information prediction model can be a genetic algorithm. The storage controller can input the step sizes and adjustment directions corresponding to the multiple voltage axes in the current adjustment round into the error information prediction model. After the error information prediction model predicts the step sizes and adjustment directions of the multiple voltage axes, it can obtain the predicted error bit rate change information of the current adjustment round (including the rate of change and direction of change of the error bit rate, where the direction of change can be represented by a positive or negative sign). Alternatively, the storage controller can also set error information prediction models for different particle types (for example, QLC). Accordingly, before executing step 2, the storage controller can first select the target particle type of the target storage particle to which the target storage block to which the target storage page belongs belongs, and then select the error information prediction model corresponding to the target particle type according to the target particle type for the prediction of the error bit rate change information in step 2.

[0071] In step 3, when it is determined that the prediction error bit rate change information of the current adjustment round meets the preset condition (for example, the change rate of the error bit rate is greater than or equal to the preset change rate threshold, and the change direction is the change rate decrease), the adjustment operation is performed on the candidate voltage axis configuration information based on the step length and the adjustment direction of each voltage axis in the current adjustment round, to obtain the adjusted candidate voltage axis configuration information. The candidate voltage axis configuration information can include a plurality of voltage axes, and the controller can adjust the second voltage axis in the current round by using the step length and the adjustment direction of the second voltage axis to obtain the adjusted second voltage axis. The adjustment of other voltage axes is similar. In this way, the adjusted plurality of voltage axes, that is, the adjusted candidate voltage axis configuration information, can be obtained.

[0072] In step 4, when it is determined that the prediction error bit rate change information of the current adjustment round does not meet the preset condition (for example, the change rate of the error bit rate is less than the preset change rate threshold), the next adjustment round corresponding to the current adjustment round can be entered, until the adjustment round in which the prediction error bit rate change information meets the preset condition is determined. Then, the adjustment is performed on the candidate voltage axis configuration information based on the step length and the adjustment direction of each voltage axis in the last adjustment round, to obtain the adjusted candidate voltage axis configuration information, and the polling process is stopped.

[0073] In this way, the error information prediction model is used to adjust the voltage axis adjustment information multiple times until the preset condition is met. Then, the adjustment is performed on the candidate voltage axis configuration information based on the voltage axis adjustment information that meets the preset condition, and the third level re-reading operation is performed based on the adjusted candidate voltage axis configuration information. This can avoid determining whether the adjustment is feasible by the actual re-reading operation after each adjustment, and greatly reduces the waste of resources (for example, IO resources).

[0074] In some optional embodiments, the above step a1 can specifically include: Based on the sum of the change amount of the error bit rate in the last adjustment round and the preset plurality of change amount intervals, the target change amount interval in which the change amount of the error bit rate in the last adjustment round falls is determined. Based on the target change amount interval and the adjustment coefficient corresponding to each of the preset plurality of change amount intervals, the target step length adjustment coefficient matched with the target change amount interval is determined.

[0075] Specifically, different change intervals can be used to indicate the progress and accuracy of the adjustment mode, so that the storage controller can determine the target change interval in which the change of the error bit rate of the current adjustment round in the current adjustment round falls in the preset plurality of change intervals. The storage controller can pre-store adjustment coefficients corresponding to the plurality of change intervals respectively, and accordingly, can determine the target step adjustment coefficient corresponding to the target change interval from the adjustment coefficients corresponding to the plurality of change intervals according to the target change interval, that is, can select the step adjustment coefficient matching the current adjustment progress and accuracy, so that the step and voltage axis can be accurately adjusted subsequently.

[0076] For example, based on the target step adjustment coefficient, the step of the third voltage axis in the last adjustment round is adjusted to obtain the step of the third voltage axis in the current adjustment round, which can adopt the following expression: (2) Wherein, is the change of the error bit rate, is the step of the third voltage axis in the current adjustment round, is the initial step of the third voltage axis in the last adjustment round, and k1, k2 and k3 are adjustment coefficients, for example, k1 can be 1.5, k2 can be 0.7, and k3 can be 0.5.

[0077] In this way, when the change of the error bit rate is large, it indicates that the current adjustment direction is very correct, but it may be far from the optimal solution point, so the step is increased to speed up the approximation to the optimal solution point, greatly reducing the required adjustment rounds and greatly improving the optimization efficiency. When the change of the error bit rate is small, it avoids skipping the optimal solution because the step is too large, and can accurately find the lowest error rate point in a small range, thereby improving the accuracy and stability of the final adjustment result. When the change of the error bit rate is in the middle region, the step can be slightly reduced, so that fine tuning is performed while maintaining a certain convergence speed. In different actual situations, the adjustment is performed by using the matching adjustment mode, which can improve the efficiency of the re-reading operation and improve the accuracy of the re-reading operation. In some optional embodiments, the first-level re-reading operation, the second-level re-reading operation and the third-level re-reading operation each include at least one re-reading operation, and accordingly, the storage controller can perform a data recovery operation when monitoring that the total number of re-reading operations on the target storage page is equal to the target re-reading number threshold corresponding to the target storage block to which the target storage page belongs.

[0078] In some optional embodiments, the first-level re-reading operation, the second-level re-reading operation and the third-level re-reading operation each include at least one re-reading operation, and accordingly, the storage controller can perform a data recovery operation when monitoring that the total number of re-reading operations on the target storage page is equal to the target re-reading number threshold corresponding to the target storage block to which the target storage page belongs.

[0079] ​​Specifically, each read operation can include at least one read operation. The storage controller can update the total number of times after monitoring each read operation of the target storage page, and perform a data recovery operation when the total number of times reaches the target read number threshold. For example, the data recovery operation can be data reconstruction, i.e. using data of other storage blocks to recover data of the target storage block. When the storage device is a storage device in a redundant array of independent disks (RAID), the current RAID recovery strategy (the delay can be less than 1 ms) can be used to recover data of the target storage block. When the RAID recovery strategy fails, the current integrated circuit level redundant read strategy can be used to perform the data recovery operation (the delay can be less than 5 ms).

[0080] In this way, if the data read error is always solved by the read operation, a large amount of resources will be wasted. Therefore, by setting the read number threshold, other alternative solutions can be used to solve the data error problem when the read operation cannot solve the data read error, and a large amount of resources occupied by the read operation can be avoided.

[0081] In some optional embodiments, the read number threshold corresponding to each storage block can be periodically updated, for example, once an hour. Correspondingly, the storage controller can update the read number threshold by the following specific steps: Step one, at the trigger time of the current period, obtain the erase number of the target storage block.

[0082] Step two, determine the target erase number interval in which the erase number of the target storage block is located.

[0083] Step three, count the read success rate of the at least one candidate storage block in the target erase number interval.

[0084] Wherein, the target storage block is one of the at least one candidate storage block.

[0085] Step four, determine the read number threshold of the target storage block in the current period according to the target erase number interval and the read success rate.

[0086] Wherein, the target read number threshold is the read number threshold of the target storage block determined in any period.

[0087] Specifically, the storage controller can update the erase times of the respective storage blocks, and accordingly, at the trigger moment of the current period, the storage controller can obtain the latest erase times of the respective storage blocks. For the target storage block, the storage controller determines a target erase time interval to which the erase time of the target storage block belongs, from among the preset plurality of erase time intervals. For each storage block, the erase time interval to which the storage block belongs can be determined in a similar manner, and there can be some storage blocks whose erase time intervals are the target erase time interval. The storage controller can determine at least one candidate storage block whose erase time is in the target erase time interval. The storage controller can obtain the read operation times of the respective candidate storage blocks in the last period of the current period, and the operation results of each read operation. Further, the storage controller can determine a first total read operation time whose operation result is successful, according to the operation results of each read operation. In addition, the storage controller can determine a second total read operation time, according to the read operation times of the respective candidate storage blocks. The storage controller can determine the ratio of the first total read operation time and the second total read operation time as a read success rate. Since the target erase time interval can represent the wear degree of the target storage page, and the read success rate can represent the accuracy of the voltage axis configuration information, the storage controller can determine the read operation time threshold of the target storage block in the current period according to the target erase time interval and the read success rate, so that the read operation time threshold can accurately indicate the characteristics of the target storage block, and further, ensure that the read operation can adapt to the characteristics of the target storage block.

[0088] In some optional embodiments, in step four, the storage controller can specifically determine the read operation time threshold of the target storage block in the current period according to the target erase time interval and the read success rate, by using the following steps: Step 1, determining the read operation time threshold corresponding to the target erase time interval as the reference read operation time threshold of the target storage block.

[0089] Step 2, determining the final read operation time threshold of the target storage block according to the read success rate and the reference read operation time threshold.

[0090] Step 3, determining the final read operation time threshold as the read operation time threshold of the target storage block in the current period.

[0091] Specifically, the storage controller can obtain, according to the target erase count interval, a re-read count threshold corresponding to the target erase count interval, and determine the re-read count threshold as a reference re-read count threshold of the target storage block. Then, the storage controller can adjust the reference re-read count threshold according to the re-read success rate to obtain a final re-read count threshold of the target storage block. Finally, the storage controller can determine the final re-read count threshold as the re-read count threshold of the target storage block in the current period.

[0092] For example, in step 2, the storage controller can obtain the final re-read count threshold by reducing the reference re-read count threshold by a first preset value (which can be reduced to 95% of the reference re-read count threshold) after determining that the re-read success rate is greater than or equal to a first preset success rate threshold (which can be 85%). Alternatively, the storage controller can directly determine the reference re-read count threshold as the final re-read count threshold when the re-read success rate is less than the first preset success rate threshold, or greater than a second preset success rate threshold (which can be 60%). Alternatively, the storage controller can obtain the final re-read count threshold by increasing the reference re-read count threshold by a second preset value (which can be increased to 120% of the reference re-read count threshold) after determining that the re-read success rate is less than the second preset success rate threshold.

[0093] In this way, when the re-read success rate is very low, it indicates that the current threshold is insufficient to cope with the error rate of the storage block, and there is a risk of data read failure. At this time, the threshold is increased, the number of attempts to repair errors is increased, and the reliability of data reading is significantly enhanced, reducing the risk of data loss or read timeout. When the re-read success rate is very high, it indicates that the current re-read mechanism is too conservative, and unnecessary re-read operations may be performed. At this time, the re-read count threshold is reduced, which can reduce the average read delay and I / O resource overhead, thereby improving the overall read performance and response speed.

[0094] In some optional embodiments, when it is monitored that the total number of re-read operations on the target storage page is equal to a first re-read count threshold (which can be 5), the error bit rates corresponding to multiple re-read operations can be obtained, and for every two adjacent re-read operations, a change rate of the error bit rate can be calculated. Further, the storage controller can determine a standard deviation, and determine a difference between the maximum error bit rate change rate and the minimum error bit rate change rate, and perform a data recovery operation when the standard deviation is less than a first preset value (which can be 0.05) and the difference (which can be 0.2) is less than a second preset value.

[0095] In some optional embodiments, the process of performing the re-read operation based on the voltage axis configuration information can be: The storage controller converts the voltage axis configuration information into configuration instructions supported by the storage grain according to the voltage axis configuration information, and delivers the configuration instructions to the target storage grain to which the target storage block belongs through a physical interface. The target storage grain completes the read operation. In addition, before delivering the configuration instructions, the storage controller can determine whether each command code in the configuration instructions and the length of the command code meet the preset regulations. If yes, the configuration instructions are delivered to the target storage grain again to determine the safety of the data read operation.

[0096] In some optional embodiments, to ensure the safety of the read operation, it can be determined whether each voltage axis in the adjusted candidate voltage axis configuration information is less than or equal to a preset maximum voltage threshold. If yes, the third-level read operation is performed based on the candidate voltage axis configuration information, and the safety can be ensured. In addition, the storage device can set a hardware fuse protection (for example, cutting off the output within 10 ns and resetting to 2.5 V when the voltage exceeds the limit, and logging each operation and each performance parameter so that the log can be used as a reference for troubleshooting and repair operations when a fault occurs later.

[0097] In some optional embodiments, for the target storage grain, the storage controller can record a training data set corresponding to the target storage grain, wherein the training data set includes a plurality of training data, and each piece of training data includes the number of erasures of the storage block, the temperature of the target storage grain, the historical voltage axis adjustment record (adjustment mode and adjustment effect), the actual voltage axis offset, and the like. Further, the computer device can obtain the training data set and input the training data set into the voltage axis offset prediction model to be trained to obtain the predicted voltage axis offset of each voltage axis output by the voltage axis offset prediction model to be trained. Then, using a preset loss function (for example, a mean square error loss function), the predicted voltage axis offset and the actual voltage axis offset corresponding to each voltage axis are calculated to determine the loss value. When the loss value or the number of training times meets the preset stopping condition, the training is stopped, and the trained voltage axis offset prediction model is obtained, that is, the voltage axis offset prediction model corresponding to the target grain type of the target storage grain is obtained. The voltage axis offset prediction model can be composed of a one-dimensional convolutional neural network and a long short-term memory network (LSTM). The one-dimensional convolutional neural network can be used to extract the spatial features of the training data, for example, the one-dimensional neural network can use a 3-layer convolution kernel, and the long short-term memory network can be used to extract the time sequence features of the data, for example, the long short-term memory network can use a 2-layer hidden unit.

[0098] In this way, when a new storage particle of the same type as the target particle type is added to the storage device, if a read operation fails, the storage controller can directly obtain the performance data corresponding to the read operation, including the erase count of the storage block to which the first storage page corresponding to the read operation belongs, the temperature of the new storage particle, and the historical voltage axis adjustment record, and then input the performance data into the trained voltage axis offset prediction model to obtain a predicted voltage axis offset. Finally, the storage controller can directly adjust the initial voltage axis configuration information using the predicted voltage axis offset, and perform a re-read operation using the adjusted voltage axis configuration information. In this way, the adjustment operation can be accurately performed, the number of adjustments of the voltage axis configuration information is greatly reduced, resources are saved, and the re-read efficiency is improved.

[0099] In some optional embodiments, before using the trained voltage axis offset prediction model, the storage controller can use the new storage particle to perform a test operation on the trained voltage axis offset prediction model. Only when the trained voltage axis offset prediction model meets a preset test condition, the trained voltage axis offset prediction model is put into use. For example, the error bit rate and the voltage axis offset of each re-read operation, and the error bit rate before the re-read operation can be obtained. The change in the error bit rate is determined according to the error bit rate of the re-read operation and the error bit rate before the re-read operation. After the change in the error bit rate and the voltage axis offset are normalized respectively, a weighted operation (0.7 x normalized change + 0.3 x normalized voltage axis offset) is performed to obtain a target score. When it is determined that the target score is greater than a preset score threshold (90%), it is determined that the trained voltage axis offset prediction model meets the preset test condition.

[0100] In some optional embodiments, the storage controller can also monitor the read delay duration (which can be referred to as tR) and the programming duration (which can be referred to as tPROG) of each read operation. When it is monitored that any of the durations is greater than a preset duration threshold, an alarm is given.

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

[0102] Embodiments of the present application also provide a device for performing a re-read operation, as shown in Figure 3 The device comprises: The obtaining module 310 is configured to obtain a first operation result of a first read operation on a target storage page. When it is determined that the first operation result is a read failure, the obtaining module 310 is configured to obtain initial voltage axis configuration information corresponding to the target storage page, wherein the initial voltage axis configuration information is voltage axis configuration information used for a re-read operation. The computing module 320 is configured to calculate difference degree information between the initial voltage axis configuration information and pre-acquired candidate voltage axis configuration information, wherein the candidate voltage axis configuration information is voltage axis configuration information used for a first read operation, and any voltage axis configuration information is used to identify data states of storage cells included in a target storage page during a read operation. The re-reading module 330 is configured to perform a first-level re-reading operation corresponding to the difference degree information based on the difference degree information. The acquiring module 310 is further configured to acquire a first-level operation result corresponding to the first-level re-reading operation, and acquire error distribution information corresponding to the first-level re-reading operation when it is determined that the first-level operation result is a read failure. The re-reading module 330 is configured to perform a second-level re-reading operation on the target storage page based on the error distribution information and the candidate voltage axis configuration information.

[0103] In some optional embodiments, the re-reading module 330 is specifically configured to: perform the first-level re-reading operation on the target storage page by using the candidate voltage axis configuration information when it is determined that the difference degree information is greater than a preset difference degree information threshold; or, acquire voltage axis step length adjustment information corresponding to the target storage page when it is determined that the difference degree information is less than the preset difference degree information threshold; and perform the first-level re-reading operation on the target storage page based on the voltage axis step length adjustment information and the candidate voltage axis configuration information.

[0104] In some optional embodiments, the error distribution information includes error sub-distribution information of a plurality of bit regions in the target storage page, and the re-reading module 330 is specifically configured to: select a target voltage axis from a plurality of voltage axes corresponding to the target storage page according to the error sub-distribution information of the plurality of bit regions; adjust the target voltage axis based on a preset adjustment step length corresponding to the target voltage axis to obtain an adjusted target voltage axis; perform the second-level re-reading operation on the target storage page based on the adjusted target voltage axis and the candidate voltage axis configuration information.

[0105] In some optional embodiments, the re-reading module 330 is specifically configured to: determine voltage sensitivity of a target bit region based on the error sub-distribution information of the target bit region and a pre-constructed voltage sensitivity prediction model, wherein the target bit region is any bit region in the plurality of bit regions; determine the voltage sensitivity of the target bit region as voltage sensitivity of a first voltage axis corresponding to the target bit region; and After determining the voltage sensitivity of each of the plurality of voltage axes, a target voltage axis is determined from the plurality of voltage axes according to the voltage sensitivity of each of the plurality of voltage axes.

[0106] In some optional embodiments, the re-reading module 330 is specifically configured to: determine the voltage axis with the highest voltage sensitivity as the target voltage axis.

[0107] In some optional embodiments, after performing the second-level re-reading operation on the target storage page based on the error distribution information and the alternative voltage axis configuration information, the method further includes: obtaining a first error bit rate corresponding to the first-level re-reading operation and a second error bit rate corresponding to the second-level re-reading operation; determining target error bit rate change information corresponding to the second-level re-reading operation according to the first error bit rate and the second error bit rate; when it is determined to perform a third-level re-reading operation based on the target error bit rate change information, adjusting the alternative voltage axis configuration information using a pre-constructed multi-axis joint adjustment mode to obtain adjusted alternative voltage axis configuration information; performing the third-level re-reading operation based on the adjusted alternative voltage axis configuration information.

[0108] In some optional embodiments, the re-reading module 330 is specifically configured to: in the current adjustment round, obtaining a step size and an adjustment direction corresponding to each of the plurality of voltage axes in the current adjustment round; inputting the step size and the adjustment direction corresponding to each of the plurality of voltage axes in the current adjustment round into a pre-constructed error information prediction model to obtain predicted error bit rate change information of the current adjustment round output by the error information prediction model; when it is determined that the predicted error bit rate change information of the current adjustment round meets a preset condition, adjusting the alternative voltage axis configuration information based on the step size and the adjustment direction corresponding to each of the plurality of voltage axes in the current adjustment round to obtain adjusted alternative voltage axis configuration information, wherein the preset condition is used to indicate that the adjustment mode of the current adjustment round is correct; or, when it is determined that the predicted error bit rate change information does not meet the preset condition, entering a next adjustment round corresponding to the current adjustment round until an adjustment round in which the predicted error bit rate change information meets the preset condition is determined, and then adjusting the alternative voltage axis configuration information based on the step size and the adjustment direction corresponding to each of the plurality of voltage axes in the last adjustment round to obtain adjusted alternative voltage axis configuration information, and stopping the polling process.

[0109] In some optional embodiments, when the current adjustment round is the first adjustment round, the re-reading module 330 is specifically configured to: determining the preset initial step length as a step length of the second voltage axis in the current adjustment round, wherein the second voltage axis is any one of the plurality of voltage axes; and determining the preset initial adjustment direction as an adjustment direction of the second voltage axis in the current adjustment round.

[0110] In some optional embodiments, when the current adjustment round is a non-first adjustment round, the re-reading module 330 is specifically configured to: obtain a target step length adjustment coefficient corresponding to the predicted error bit rate change information of the previous adjustment round before the current adjustment round based on the predicted error bit rate change information of the previous adjustment round; adjust a step length of the third voltage axis in the previous adjustment round based on the target step length adjustment coefficient to obtain a step length of the third voltage axis in the current adjustment round, wherein the third voltage axis is any one of the plurality of voltage axes; and determine an adjustment direction of the third voltage axis in the current adjustment round based on the predicted error rate change information of the historical adjustment round before the current adjustment round, wherein the historical adjustment round at least includes the previous adjustment round.

[0111] In some optional embodiments, the predicted error bit rate change information includes a change amount of the error bit rate; and the re-reading module 330 is specifically configured to: determine a target change amount interval into which the change amount of the error bit rate in the previous adjustment round falls based on the change amount of the error bit rate in the previous adjustment round and a preset plurality of change amount intervals; determine a target step length adjustment coefficient matched with the target change amount interval based on adjustment coefficients respectively corresponding to the target change amount interval and the plurality of change amount intervals.

[0112] In some optional embodiments, the apparatus further includes a monitoring module 340; the first-level re-reading operation, the second-level re-reading operation, and the third-level re-reading operation each include at least one re-reading operation; and the monitoring module 340 is configured to: when the total number of re-reading operations on the target storage page is monitored to be equal to a target re-reading number threshold corresponding to a target storage block to which the target storage page belongs, perform a data recovery operation.

[0113] In some optional embodiments, the monitoring module 340 is further configured to: obtain an erasing number of the target storage block at a trigger moment of the current period; determine a target erasing number interval in which the erasing number of the target storage block falls; statistically obtain a re-reading success rate of at least one candidate storage block in the target erasing number interval, wherein the target storage block is one of the at least one candidate storage block. According to the target erasing times interval and the re-reading success rate, a re-reading times threshold of the target storage block in the current period is determined, wherein the target re-reading times threshold is the re-reading times threshold of the target storage block determined in any period.

[0114] The description of the features in the embodiments of the device for performing the re-reading operation can refer to the related description of the embodiments of the method for performing the re-reading operation, which will not be repeated here.

[0115] Embodiments of the present application also provide an electronic device, such as Figure 4 As shown in the figure, the electronic device includes a memory 10 and a processor 20, the memory 10 stores a computer program, and the processor 20 is configured to run the computer program to perform the steps in any of the above-mentioned method embodiments for performing the re-reading operation.

[0116] Embodiments of the present application also provide a computer readable storage medium, which stores a computer program, wherein the computer program is configured to perform the steps in any of the above-mentioned method embodiments for performing the re-reading operation when running.

[0117] In an example embodiment, the above-mentioned computer readable storage medium can include but is not limited to: a U disk, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store computer programs.

[0118] Embodiments of the present application also provide a computer program product, which includes a computer program, and the computer program is executed by a processor to implement the steps in any of the above-mentioned method embodiments for performing the re-reading operation.

[0119] Embodiments of the present application also provide another computer program product, which includes a non-volatile computer readable storage medium, and the non-volatile computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the steps in any of the above-mentioned method embodiments for performing the re-reading operation.

[0120] Those skilled in the art will further realize that the mere concepts, teachings, and embodiments described herein are merely meant to provide an enabling description of the applications and are not intended to limit the scope of the applications. Therefore, embodiments or examples described herein are not meant to be limiting, but merely to aid in the understanding of the overall more complete disclosure of the applications. Accordingly, the disclosure of various examples and embodiments is meant to be illustrative and not limiting of the scope of the applications, as claimed.

[0121] The method for performing a re-reading operation, the device, the electronic device, the storage medium, and the program product provided by the present application are described in detail above. The principles and implementation manners of the present application are described by applying specific examples herein. The above description of the embodiments is only for helping to understand the method of the present application and its core idea. It should be pointed out that, for those skilled in the art, without departing from the principles of the present application, some improvements and modifications can be made to the present application. These improvements and modifications also fall within the protection scope of the present application.

Claims

1. A method of performing a re-read operation, the method comprising: The method comprises: obtaining a first operation result of a first read operation on a target storage page; obtaining alternative voltage axis configuration information corresponding to the target storage page when it is determined that the first operation result is a read failure, wherein the alternative voltage axis configuration information is voltage axis configuration information used for a re-read operation; calculating difference degree information between the alternative voltage axis configuration information and pre-obtained initial voltage axis configuration information, wherein the initial voltage axis configuration information is voltage axis configuration information used for the first read operation, and any voltage axis configuration information is used to identify a data state of a storage cell included in the target storage page in a read operation process; performing a first-level re-read operation corresponding to the difference degree information based on the difference degree information; obtaining a first-level operation result corresponding to the first-level re-read operation; obtaining error distribution information corresponding to the first-level re-read operation when it is determined that the first-level operation result is the read failure; performing a second-level re-read operation on the target storage page based on the error distribution information and the alternative voltage axis configuration information.

2. The method of performing a re-read operation of claim 1, wherein, The performing of the first-level re-read operation corresponding to the difference degree information based on the difference degree information comprises: performing the first-level re-read operation on the target storage page using the alternative voltage axis configuration information when it is determined that the difference degree information meets a first preset difference degree condition; or obtaining voltage axis step length adjustment information corresponding to the target storage page when it is determined that the difference degree information meets a second preset difference degree condition; performing the first-level re-read operation on the target storage page based on the voltage axis step length adjustment information and the alternative voltage axis configuration information.

3. The method of performing a re-read operation according to claim 1 or 2, wherein, The error distribution information comprises error sub-distribution information of a plurality of bit regions in the target storage page; and the performing of the second-level re-read operation on the target storage page based on the error distribution information and the alternative voltage axis configuration information comprises: selecting a target voltage axis from a plurality of voltage axes corresponding to the target storage page according to the error sub-distribution information of the plurality of bit regions; adjusting the target voltage axis based on a preset adjustment step length corresponding to the target voltage axis to obtain an adjusted target voltage axis; performing the second-level re-read operation on the target storage page based on the adjusted target voltage axis and the alternative voltage axis configuration information.

4. The method of performing a re-read operation of claim 3, wherein, The selecting of the target voltage axis from the plurality of voltage axes corresponding to the target storage page according to the error sub-distribution information of the plurality of bit regions comprises: determining a voltage sensitivity of a target bit region based on the error sub-distribution information of the target bit region and a pre-constructed voltage sensitivity prediction model, wherein the target bit region is any bit region in the plurality of bit regions; determining the voltage sensitivity of the target bit region as a voltage sensitivity of a first voltage axis corresponding to the target bit region; determining the target voltage axis from the plurality of voltage axes according to the voltage sensitivity of each voltage axis in the plurality of voltage axes when the voltage sensitivity of each voltage axis in the plurality of voltage axes is determined.

5. The method of performing a re-read operation according to claim 4, wherein, The method further comprises: determining the target voltage axis from the plurality of voltage axes according to the voltage sensitivity of each of the voltage axes.

6. The method of performing a re-read operation according to claim 1 or 2, wherein, The voltage axis with the highest voltage sensitivity is determined as the target voltage axis. The method further comprises: obtaining a first error bit rate corresponding to the first-level read operation and a second error bit rate corresponding to the second-level read operation; determining target error bit rate change information corresponding to the second-level read operation according to the first error bit rate and the second error bit rate; when it is determined to perform a third-level read operation based on the target error bit rate change information, adjusting the candidate voltage axis configuration information using a pre-constructed multi-axis joint adjustment mode to obtain adjusted candidate voltage axis configuration information; 7. The method of performing a re-read operation of claim 6, wherein, performing the third-level read operation based on the adjusted candidate voltage axis configuration information. The method further comprises: in the current adjustment round, obtaining the step size and adjustment direction of each of the plurality of voltage axes in the current adjustment round; inputting the step size and adjustment direction of each of the plurality of voltage axes in the current adjustment round into a pre-constructed error information prediction model to obtain predicted error bit rate change information of the current adjustment round output by the error information prediction model; when it is determined that the predicted error bit rate change information of the current adjustment round meets a preset condition, adjusting the candidate voltage axis configuration information based on the step size and adjustment direction of each of the plurality of voltage axes in the current adjustment round to obtain adjusted candidate voltage axis configuration information, wherein the preset condition indicates that the adjustment mode of the current adjustment round is correct; 8. The method of performing a re-read operation according to claim 7, wherein, or, when it is determined that the predicted error bit rate change information does not meet the preset condition, entering a next adjustment round corresponding to the current adjustment round until an adjustment round in which the predicted error bit rate change information meets the preset condition is determined, and then adjusting the candidate voltage axis configuration information based on the step size and adjustment direction of each of the plurality of voltage axes in the last adjustment round to obtain adjusted candidate voltage axis configuration information and stopping the polling process. When the current adjustment round is the first adjustment round, the method further comprises: determining a preset initial step size as the step size of a second voltage axis in the current adjustment round, wherein the second voltage axis is any one of the plurality of voltage axes; and determining a preset initial adjustment direction as the adjustment direction of the second voltage axis in the current adjustment round.

9. The method of performing a re-read operation of claim 7, wherein, When the current adjustment round is a non-first adjustment round, the step of obtaining, in the current adjustment round, a step length and an adjustment direction corresponding to each of the plurality of voltage axes in the current adjustment round comprises: obtaining, based on predicted error bit rate change information of a previous adjustment round before the current adjustment round, a target step length adjustment coefficient corresponding to the predicted error bit rate change information of the previous adjustment round; adjusting, based on the target step length adjustment coefficient, a step length of a third voltage axis in the previous adjustment round to obtain a step length of the third voltage axis in the current adjustment round, wherein the third voltage axis is any one of the plurality of voltage axes; and determining, based on predicted error rate change information of a historical adjustment round before the current adjustment round, an adjustment direction of the third voltage axis in the current adjustment round, wherein the historical adjustment round at least includes the previous adjustment round.

10. The method of performing a re-read operation of claim 9, wherein, The predicted error bit rate change information includes a change amount of an error bit rate; and the step of obtaining, based on predicted error bit rate change information of a previous adjustment round before the current adjustment round, a target step length adjustment coefficient corresponding to the predicted error bit rate change information of the previous adjustment round comprises: determining, based on a sum of the change amount of the error bit rate of the previous adjustment round and a plurality of preset change amount intervals, a target change amount interval into which the change amount of the error bit rate in the previous adjustment round falls; determining, based on the target change amount interval and adjustment coefficients respectively corresponding to a plurality of the change amount intervals, a target step length adjustment coefficient matched with the target change amount interval.

11. The method of performing a re-read operation of claim 6, wherein, The first-level re-reading operation, the second-level re-reading operation, and the third-level re-reading operation each include at least one re-reading operation; and the method further comprises: after monitoring that a total number of re-reading operations on the target storage page is equal to a target re-reading number threshold corresponding to a target storage block to which the target storage page belongs, performing a data recovery operation.

12. The method of performing a re-read operation of claim 11, wherein, The method further comprises: obtaining, at a trigger time of a current period, an erasing number of the target storage block; determining a target erasing number interval in which the erasing number of the target storage block falls; statistically determining a re-reading success rate of at least one candidate storage block in the target erasing number interval, wherein the target storage block is one of the at least one candidate storage block; determining, according to the target erasing number interval and the re-reading success rate, a re-reading number threshold of the target storage block in the current period, wherein the target re-reading number threshold is a re-reading number threshold of the target storage block determined in any period.

13. An electronic device, comprising: The method comprises: a memory configured to store a computer program; a processor configured to execute the computer program to implement the steps of the method for performing a re-reading operation according to any one of claims 1 to 12.

14. A computer-readable storage medium, characterized in that, The computer program is stored in the computer-readable storage medium, and when executed by the processor, the computer program implements the steps of the method for performing a re-reading operation according to any one of claims 1 to 12.

15. A computer program product, characterised in that, The computer program product comprises a computer program, wherein the computer program, when executed by a processor, implements the steps of the method of performing a re-reading operation according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Solid-state hard disk bad block management method and solid-state hard disk

    CN108829358A

  • Rereading operation processing method, apparatus and device, and readable storage medium

    CN111913830A

  • Method, device and equipment for processing error-uncorrectable data of solid state disk and medium

    CN113470727A

  • Verification method and device of chip equipment, storage medium and electronic equipment

    CN118504484A

  • Solid state disk data error correction method, device and equipment and readable storage medium

    CN118981392A