Retry read operation processing method, device, and computer-readable storage medium
Patent Information
- Authority / Receiving Office
- TW · TW
- Patent Type
- Applications
- Current Assignee / Owner
- SILICON MOTION INC
- Filing Date
- 2025-03-25
- Publication Date
- 2026-08-01
AI Technical Summary
Flash memory performance deteriorates due to voltage drift, leading to increased error rates and reliability issues, with existing hardware and software decoding methods failing to adapt to complex scenarios effectively.
A method that dynamically adjusts voltage groups for decoding by using multiple decoding units and calculating weight values based on decoding success and error bits to generate an optimal dynamic voltage group for improved decoding efficiency.
The dynamic voltage adjustment enhances decoding success rates and system performance by aligning with the optimal read threshold voltage, thereby improving reliability and efficiency.
Smart Images

Figure TWG2TA001070056_001 
Figure TWG2TA001070056_002 
Figure TWG2TA001070056_003
Abstract
Description
[Technical Field]
[0001] This invention relates to the field of computer technology, and more particularly to a reread operation processing method, apparatus and computer-readable storage medium. [Previous Technology]
[0002] When the performance of a data storage device deteriorates, voltage drift occurs, leading to an increase in error rate and poor data stability. Taking flash memory as an example, as the storage density of flash memory increases significantly, flash memory will inevitably be subject to various interferences during the read and write process, resulting in error codes, which leads to a sharp increase in the error rate and reliability degradation.
[0003] In existing flash memory technology, the main control chip and hardware generally perform hardware decoding or software decoding in conjunction with the manufacturer-supplied reread voltage meter and error correction unit. However, the manufacturer-supplied reread voltage meter often cannot cope with various complex or variable scenarios, and the hardware decoding capability is limited, often resulting in failures.
[0004] Therefore, these drawbacks necessitate a more dynamic and intelligent reread voltage adjustment method to improve decoding efficiency and system performance. [Summary of the Invention]
[0005] To achieve the above objectives, the present invention provides a reread operation processing method, apparatus, and computer-readable storage medium capable of dynamically adjusting the voltage group used for decoding to improve the decoding success rate and improve system operating efficiency.
[0006] This invention provides a reread operation processing method, comprising the following steps: using multiple voltage groups, performing multiple rounds of decoding operations on multiple chunks in a data segment of memory through multiple decoding units; recording operation information for each round based on the result of the decoding operation, including the number of decoding units successfully decoded in that round, the maximum number of error bits in the decoding units successfully decoded in that round, and recording the cumulative number of all successful decodings; calculating a weight value associated with previously successfully decoded data based on the operation information, wherein the weight value is associated with the number of previously successfully decoded data, the maximum number of error bits in the successfully decoded data in that round, and the cumulative number of all successful decodings; and generating a dynamic voltage group based on the calculated weight value and the recorded operation information, wherein the dynamic voltage group is associated with the number of decoding units successfully decoded in each round, the total number of successfully decoded data, the weight value, and the voltage group.
[0007] In one embodiment, the number of times the decoding was successfully completed is less than the total number of decoding operations.
[0008] In one embodiment, each decoding unit is responsible for the decoding operation of its corresponding block. That is, each decoding unit corresponds to one block.
[0009] In one embodiment, the equation for calculating the weight value is:
[0010] Where U_i is the weight value; E_i is the maximum number of erroneous bits in the decoding unit that was successfully decoded in this round; and A is the number of times that decoding was successfully performed.
[0011] In one embodiment, the equation for generating the dynamic voltage group is:
[0012] Where RVx is the voltage of the dynamic voltage group; p_i is the number of decoding units successfully decoded in this round; P is the cumulative number of all successful decodings; U_i is the weight value; RVi is the voltage of the voltage group in this round.
[0013] In addition, to achieve the above objectives, the present invention also provides a reread operation processing apparatus, including a memory and a processor interconnected. The memory is used to store a computer program. The processor is used to execute the computer program to implement the memory reread operation processing method as described above, which includes at least using multiple voltage groups to perform multiple rounds of decoding operations on multiple large blocks in the data segment of the memory through multiple decoding units; recording operation information for each round of decoding operation based on the result of each round of decoding operation, including the number of decoding units successfully decoded in that round, the maximum number of error bits in the decoding units successfully decoded in that round, and recording the cumulative number of all successful decodings; calculating a weight value associated with previously successfully decoded based on the operation information, wherein the weight value is associated with the number of previously successfully decoded, the maximum number of error bits in the successfully decoded in that round, and the cumulative number of all successful decodings; and generating a dynamic voltage group based on the calculated weight value and the recorded operation information, wherein the dynamic voltage group is associated with the number of decoding units successfully decoded in each round, the total number of successfully decoded decoding units, the weight value, and the voltage group.
[0014] Furthermore, to achieve the above objectives, the present invention also provides a computer-readable storage medium for storing a computer program, wherein the computer program, when executed by a processor, implements the reread operation processing method described above, including at least using multiple voltage groups to perform multiple rounds of decoding operations on multiple large blocks in the data segment of the memory through multiple decoding units; recording operation information for each round of decoding operation based on the result of each round of decoding operation, including the number of decoding units successfully decoded in that round, the maximum number of error bits in the decoding units successfully decoded in that round, and recording the cumulative number of all successful decodings; calculating a weight value associated with previously successfully decoded based on the operation information, wherein the weight value is associated with the number of previously successfully decoded, the maximum number of error bits in the successfully decoded in that round, and the cumulative number of all successful decodings; and generating a dynamic voltage group based on the calculated weight value and the recorded operation information, wherein the dynamic voltage group is associated with the number of decoding units successfully decoded in each round, the total number of successfully decoded decoding units, the weight value, and the voltage group.
[0015] As described above, the reread operation processing method, apparatus, and computer-readable storage medium disclosed in this invention calculate a dynamic voltage group based on the number of successfully decoded decoding units and the maximum number of error bits as weight values. Therefore, the dynamic voltage group is closer to the optimal read threshold voltage, so that it can achieve better performance as a reread voltage.
[0016] The above description is only an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and in order to make the above and other objects, features and advantages of the present invention more obvious and understandable, preferred embodiments are given below and described in detail with reference to the accompanying drawings.
Implementation Method
[0017] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Many specific details are set forth in the following description to provide a thorough understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein. Those skilled in the art can make similar extensions without departing from the spirit of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below.
[0018] Figure 1 is a flowchart illustrating the reread operation processing method of this embodiment. The reread operation processing method is applied to a memory, which includes a flash memory module and a flash memory controller, and the flash memory controller is used to access the flash memory module. In this embodiment, the flash memory controller may include a microprocessor and a read-only memory (ROM). The read-only memory can be used to store a computer program, and the microprocessor can be used to execute the computer program to control the access to the flash memory module.
[0019] Generally, a flash memory module includes multiple flash memory chips, and each flash memory chip includes multiple blocks, and one block can record a specific number of data pages. In this embodiment, one data page is exemplified by including 16 decoding units, and each decoding unit can perform decoding operations on a large chunk.
[0020] Referring to Figure 1, step S1 of the reread operation processing method involves using multiple voltage groups and multiple decoding units to perform multiple rounds of decoding operations on multiple large blocks in the data segment of the memory. In this embodiment, as shown in Figure 2, an example is given using 16 decoding units, with each voltage group including 2 voltage values, and a total of 5 rounds of decoding operations. It should be noted that each decoding unit is responsible for the decoding operation of its corresponding large block, meaning that each decoding unit corresponds to one large block.
[0021] Step S2 involves recording the operation message for each round of decoding based on the result of the decoding operation, and recording the cumulative number of successful decodings. The operation message includes the number of decoding units successfully decoded in that round, the maximum number of error bits in the successfully decoded decoding units, and the number of successful decoding operations in that round. It is worth noting that the operation message can be recorded as shown in Figure 2, where rounds are represented by RV0 to RV4; each round of decoding uses a voltage group consisting of two voltage values, with the unit being volts (V); the decoding result is represented by "1" or "0", where "1" indicates decoding failure and "0" indicates decoding success.
[0022] Further explanation of the operation messages in Figure 2: In the first round, the voltage group of RV0 uses the default voltages 0V and 0V, recorded as (0, 0); the decoding result is recorded as (1111 1111 1111 1111), indicating that all decoding failed. In the second round, the voltage group of RV1 uses 3V and 5V; the decoding result is recorded as (1111 1111 1111 1111), indicating that all decoding failed. In the third round, the voltage group of RV2 uses 4V and 8V; the decoding result is recorded as (1111 0000 0000 0000), indicating that a total of 12 large blocks were successfully decoded; the maximum number of error bits in the decoding unit that was successfully decoded in the third round is 55. In the fourth round, RV3 used voltage groups of -3V and -5V; the decoding result was recorded as (1110 0000 0000 0000), indicating that one large block was successfully decoded compared to the previous round; the maximum number of error bits in the decoding unit successfully decoded in the fourth round was 22. In the fifth round, RV4 used voltage groups of -2V and -7V; the decoding result was recorded as (1100 0000 0000 0000), indicating that one large block was successfully decoded compared to the previous round; the maximum number of error bits in the decoding unit successfully decoded in the fifth round was 33. It is worth noting that the maximum number of error bits in the decoding unit successfully decoded is a hypothetical number in this embodiment, but it can be actually recorded during the actual decoding operation.
[0023] Step S3 calculates the weight values associated with previously successfully decoded data based on the operation message. The equation for calculating the weight values is as follows:
[0024] Where U_i is the weight value; E_i is the maximum number of erroneous bits in the decoding unit successfully decoded in this round; and A is the number of rounds in which decoding was successfully performed. In other words, the weight value is related to the number of times decoding was successfully performed in the past, the maximum number of erroneous bits in the successful decoding in this round, and the cumulative number of all successful decodings.
[0025] Step S4 is to generate a dynamic voltage group based on the calculated weight values and the recorded operation information. The equation for generating the dynamic voltage group is:
[0026] Where RVx is the voltage of the dynamic voltage group; p_i is the number of decoding units successfully decoded in this round; P is the cumulative number of successful decodes; and RVi is the voltage of the voltage group in this round. In other words, the dynamic voltage group is related to the number of decoding units successfully decoded in each round, the total number of decoding units successfully decoded, the weight value, and the voltage group. Further explanation is provided, where the formula for calculating the cumulative number of successful decodes is:
[0027] Where N is the round number, and its initial value is 0, that is, N is 0 in the first round.
[0028] As mentioned above, in this embodiment, only the third round RV2, the fourth round RV3, and the fifth round RV4 were successfully decoded, so the corresponding weight values U_2 are 0.67; U_3 is 1.67; and U_4 is 1.11. Furthermore, through the equation of the dynamic voltage group, we can obtain that the first voltage value RVx1 is -2.5V, and the second voltage value RVx2 is -7.2V. Therefore, the voltage values of the generated dynamic voltage group are (-2.5, -7.2).
[0029] The following describes a reread operation processing apparatus provided in an embodiment of this application. The reread operation processing apparatus described below can be referred to in conjunction with the reread operation processing method described above. As shown in FIG3, the reread operation processing apparatus 10 of this embodiment includes a memory 11 and a processor 12 interconnected. The memory 11 is used to store a computer program. The processor 12 is used to execute the computer program to implement the memory reread operation processing method described above.
[0030] The following describes a computer-readable storage medium provided in an embodiment of this application. The computer-readable storage medium described below can be referred to in conjunction with the reread operation processing method and reread operation processing apparatus described above. The computer-readable storage medium of this embodiment is used to store a computer program, wherein the computer program, when executed by a processor, implements the reread operation processing method of the aforementioned embodiment. The specific steps of this method can be referred to the corresponding content in the foregoing embodiments, and will not be repeated here.
[0031] In summary, the reread operation processing method, apparatus, and computer-readable storage medium disclosed in this invention calculate a dynamic voltage group based on the number of successfully decoded decoding units and the maximum number of error bits as weight values. Because the voltage group used for decoding can be dynamically adjusted, a dynamic voltage group closer to the optimal read threshold voltage can be obtained, thereby improving the decoding success rate and system operating efficiency.
[0032] The quantities or values included in the above-disclosed embodiments are illustrative and not restrictive, such as the number of decoding units, the number of rounds of decoding operations, the decoding result, the number of error bits, and the voltage group, etc.
[0033] Although the present invention has been disclosed above by way of embodiments, it is not intended to limit the present invention. Those skilled in the art to which the present invention pertains may make some modifications and refinements without departing from the spirit and scope of the present invention. Therefore, the scope of protection of the present invention shall be determined by the appended claims. [Simplified Explanation of the Diagram]
[0034] Figure 1 is a flowchart of the reread operation processing method according to a preferred embodiment of the present invention. Figure 2 is a schematic diagram of the operation information recorded after decoding during the reread operation processing. Figure 3 is a schematic diagram of the reread operation processing device according to a preferred embodiment of the present invention.
Claims
1. A method for handling reread operations, comprising: By using multiple voltage groups and multiple decoding units, multiple large blocks in the data segment of the memory are decoded in multiple rounds. Based on the results of each round of decoding operations, the operation information for that round is recorded, including the number of decoding units successfully decoded in that round, the maximum number of error bits in the successfully decoded units in that round, and the cumulative number of all successful decodings. Based on this operation information, a weight value associated with previously successfully decoded data is calculated, wherein the weight value is associated with the number of previously successfully decoded data, the maximum number of error bits in the successfully decoded data in that round, and the cumulative number of all successful decodings. Based on the calculated weight value and the recorded operation information, a dynamic voltage group is generated, wherein the dynamic voltage group is associated with the number of decoding units successfully decoded in each round, the total number of successfully decoded data, the weight value, and the voltage group.
2. The reread operation processing method as described in request item 1, wherein the number of times the decoding was successfully completed is less than the total number of decoding operations.
3. The reread operation processing method as described in request item 1, wherein each decoding unit is responsible for the decoding operation corresponding to its block.
4. The reread operation processing method as described in request item 1, wherein the equation for calculating the weight value is: where, U_i is the weight value; E_i is the maximum number of erroneous bits in the decoding unit that was successfully decoded in this round; A is the number of rounds that were successfully decoded in the past.
5. The reread operation processing method as described in claim 1, wherein the equation for generating the dynamic voltage group is: where, RVx is the voltage of the dynamic voltage group; p_i is the number of decoding units successfully decoded in this round; P is the cumulative number of successful decodings; U_i is the weight value; RVi is the voltage of the voltage group in this round.
6. A reread operation processing apparatus, comprising: a memory for storing a computer program; and a processor connected to the memory for executing the computer program to implement the reread operation processing method as described in any one of claims 1 to 5.
7. A computer-readable storage medium for storing a computer program, wherein, When the computer program is executed by a processor, it implements the reread operation processing method as described in any one of requests 1 to 5.