A data recovery method, system and electronic device based on repeated reading
By generating soft information values and performing soft decoding during the data recovery process, combined with a likelihood ratio table, the problems of data read latency and information waste in existing technologies are solved, achieving efficient data recovery and improved service quality.
Patent Information
- Application Number
- CN202210396842.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-15
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2042-04-15
AI Technical Summary
Existing technologies suffer from excessive data read latency and waste of valuable information during data recovery, especially when conventional read decoding, repeated read decoding, and soft read decoding cannot effectively correct data errors.
By performing regular and repeated reads on the data to be recovered, soft information values are generated and soft decoding is performed. Data recovery is then performed in conjunction with a likelihood ratio table, reducing the number of repeated reads and eliminating the need for soft read operations.
This effectively reduced data read latency, improved system service quality, and increased data read success rate and efficiency.
Smart Images

Figure CN115080305B_ABST
Abstract
Description
Technical Field
[0001] One or more embodiments of this application relate to the field of data storage technology, and in particular to a data recovery method, system and electronic device based on repeated reading. Background Technology
[0002] During data storage, some data may become corrupted or erroneous. The storage controller needs to recover the corrupted data before proceeding with subsequent operations. For corrupted data, the storage controller sequentially uses three methods for data recovery: regular read decoding, repeated read decoding, and soft read decoding. Regular read decoding first performs a regular read operation, using error correction code hardware decoding to correct errors in the read data. If regular read decoding fails to correct errors, repeated read decoding is used. By adjusting the data read voltage, it is hoped that read data with a lower original error rate can be obtained, and then error correction code hardware decoding is used to correct the errors. Repeated read decoding can be performed multiple times. When using repeated read decoding to recover data, all original read data from previous read operations, including regular decoding, is discarded, resulting in a significant waste of valuable information. When repeated read decoding is also ineffective, soft reading is performed, followed by error correction code soft decoding to correct errors. This method relies heavily on the speed of soft read and soft decoding, often leading to excessive read latency and reduced system service quality. Summary of the Invention
[0003] In view of this, the purpose of one or more embodiments of this application is to provide a data recovery method, system and electronic device based on repeated reading, which can efficiently use the original read data, reduce read data latency and improve service quality.
[0004] To achieve the above objectives, in a first aspect, embodiments of this application provide a data recovery method based on repeated reads, comprising:
[0005] Perform a regular read of the data to be recovered, and then perform hardware decoding on the results of the regular read.
[0006] In response to a failure of normal read hardware decoding, the data to be recovered is read again, and the result of the repeated read is hardware decoded.
[0007] In response to a repeated read hardware decoding failure, the corresponding soft information value of the data to be recovered is determined based on the regular read result and the repeated read result;
[0008] The data to be recovered is software-decoded based on the soft information value to obtain the recovered data.
[0009] Optionally, repeatedly reading the data to be recovered includes:
[0010] Multiple voltage values are selected sequentially from the voltage reference value table as the reading voltage to repeatedly read the data to be recovered.
[0011] Optionally, in response to a failed hard decoding attempt, determining the corresponding soft information value of the data to be recovered based on the regular read result and the failed read result includes:
[0012] Select some or all of the regular read results and the repeated read results corresponding to multiple repeated reads as basic read data, and determine multiple read voltages corresponding to the basic read data;
[0013] The soft information value is determined based on the basic read data and multiple read voltages.
[0014] Optionally, in response to a failed hard decoding attempt during a repeated read, a soft information value corresponding to the data to be recovered is determined based on the regular read result and the repeated read result, including:
[0015] After each repeated read, the regular read result and the existing repeated read result are used as the base read data, and multiple read voltages corresponding to the base read data are determined.
[0016] The soft information value is determined based on the basic read data and multiple read voltages.
[0017] Optionally, determining the soft information value based on the basic read data and multiple read voltages includes:
[0018] The data page corresponding to the basic read data is divided into multiple bit regions according to the multiple read voltages;
[0019] Determine the read value corresponding to each bit region for the basic read data;
[0020] Soft information values are assigned to the multiple bit regions based on the read values of the multiple bit regions.
[0021] Optionally, the data to be recovered is software-decoded based on the soft information value to obtain the recovered data, including:
[0022] The soft information value is converted into the corresponding log-likelihood ratio value according to the likelihood ratio table, and the log-likelihood ratio value is used as input for soft decoding.
[0023] Optionally, the likelihood ratio table is selected from multiple preset likelihood ratio tables;
[0024] The method further includes: in response to a failure of soft decoding based on the current likelihood ratio table, selecting a new likelihood ratio table from a plurality of preset likelihood ratio tables for soft decoding.
[0025] Optionally, the method further includes:
[0026] In response to the failure of soft decoding based on the soft information value, the data to be recovered is soft-read, and the soft-read result is soft-decoded.
[0027] For the same purpose, in a second aspect, embodiments of this application provide a data recovery system based on repeated reads, comprising:
[0028] The regular read unit is configured to perform regular reads of the data to be recovered and to perform hardware decoding of the regular read results;
[0029] The repeat read unit is configured to repeatedly read the data to be recovered when regular read hardware decoding fails, and to perform hardware decoding on the repeat read results; and
[0030] The rereading software decoding module is configured to determine the corresponding soft information value of the data to be recovered based on the regular reading result and the rereading result when the rereading hardware decoding fails.
[0031] The rereading soft decoding module is further configured to perform soft decoding on the data to be recovered based on the soft information value to obtain the recovered data;
[0032] The data recovery system based on repeated reading is used to perform the data recovery method based on repeated reading described in the first aspect.
[0033] For the same purpose, in a third aspect, embodiments of this application also provide a data recovery electronic device based on repeated reads, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the data recovery method based on repeated reads as described in the first aspect.
[0034] As can be seen from the above, the data recovery method, system, and electronic device based on repeated reading provided by one or more embodiments of this application have the following beneficial technical effects:
[0035] (1) Soft information is generated by using the original read data from regular read operations and repeated read operations. The soft information is then used to perform soft decoding operations to recover the data. This method can reduce the number of repeated reads and eliminate the need for soft read operations. It can efficiently utilize the effective information in the original read data from regular read and repeated read operations while avoiding the delay caused by soft read operations, thereby reducing the overall read data delay of the system and improving service quality.
[0036] (2) The log-likelihood ratio corresponding to the soft information is determined through a likelihood ratio table, and then soft decoding is performed based on the log-likelihood ratio to achieve data recovery. The likelihood ratio table used to determine the log-likelihood ratio is selected from multiple preset likelihood ratio tables. When soft decoding using the current likelihood ratio table fails, a new likelihood ratio table can be selected from the multiple preset likelihood ratio tables for soft decoding until the data can be correctly decoded and recovered based on the selected likelihood ratio table. This method can further improve the data reading success rate. Attached Figure Description
[0037] To more clearly illustrate the technical solutions in one or more embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only one or more embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0038] Figure 1 A schematic diagram illustrating a data recovery method based on repeated reading provided in one or more embodiments of this application;
[0039] Figure 2 A schematic diagram illustrating a method for determining the corresponding soft information value of data to be recovered in a data recovery method based on repeated reading, provided in one or more embodiments of this application;
[0040] Figure 3 This is a schematic diagram of the data page corresponding to the basic read data in a data recovery method based on repeated reading provided in one or more embodiments of this application;
[0041] Figure 4 This is a schematic diagram of a data page corresponding to an exemplary basic read data in a data recovery method based on repeated reading provided in one or more embodiments of this application;
[0042] Figure 5 A schematic diagram of the data reading and decoding process of a data recovery method based on repeated reading provided in one or more embodiments of this application;
[0043] Figure 6 A schematic diagram of a data recovery system based on repeated readings provided for one or more embodiments of this application;
[0044] Figure 7 This is a schematic diagram of a data recovery electronic device based on repeated reading, provided for one or more embodiments of this application. Detailed Implementation
[0045] To make the objectives, technical solutions, and advantages of this disclosure clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings.
[0046] It should be noted that, unless otherwise defined, the technical or scientific terms used in one or more embodiments of this application should have the ordinary meaning understood by one of ordinary skill in the art to which this disclosure pertains. The terms "first," "second," and similar terms used in one or more embodiments of this application do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" mean that the element or object preceding the word encompasses the elements or objects listed following the word and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are used only to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0047] The technical solution of this application will be described below with reference to specific embodiments.
[0048] In one aspect, embodiments of this application provide a data recovery method based on repeated readings.
[0049] like Figure 1 As shown, one or more optional embodiments of this application provide a data recovery method based on repeated reading, comprising:
[0050] S1: Perform a regular read of the data to be recovered and perform hardware decoding on the results of the regular read.
[0051] The storage controller can first perform a regular read operation on the data to be recovered. For the original read data determined by the regular read, the error correction code hardware decoding function is used to correct the errors in the original read data to perform recovery.
[0052] The storage controller may be a flash memory controller, a solid-state drive controller, or a read data controller in other storage-related devices.
[0053] S2: In response to the failure of normal read hardware decoding, the data to be recovered is read again, and the result of the repeated read is hardware decoded.
[0054] When data is highly corrupted, conventional read-and-correction methods alone cannot fully correct errors in the data to be recovered. In such cases, the storage controller can repeatedly read the data to be recovered using different data read voltages and employ hardware decoding of the error correction codes for decoding and error correction.
[0055] In some alternative embodiments, multiple voltage values can be selected sequentially from the read voltage reference value table as read voltages to repeatedly read the data to be recovered.
[0056] S3: In response to a repeated read hardware decoding failure, determine the corresponding soft information value of the data to be recovered based on the regular read result and the repeated read result.
[0057] When data is severely damaged, repeated reads and decoding may not be sufficient for data correction. In such cases, the storage controller can obtain the raw read data from both regular reads and repeated reads. Although data recovery may not be achieved based on this raw read data, it contains a wealth of valuable information. The storage controller can then determine the soft information values corresponding to the data to be recovered based on this raw read data.
[0058] S4: Soft decode the data to be recovered based on the soft information value to obtain the recovered data.
[0059] After determining the soft information value, the storage controller can directly perform soft decoding recovery based on the soft information value using the error correction code soft decoding function, thereby determining the recovery data corresponding to the data to be recovered.
[0060] The data recovery method based on repeated reading utilizes the raw read data from regular and repeated reading operations to generate soft information, and directly uses the soft information for soft decoding to recover data. This approach reduces the number of repeated reads and eliminates the need for soft read operations. It efficiently utilizes the effective information in the raw read data from regular and repeated reading operations while avoiding the latency impact of soft read operations, thereby reducing the overall data read latency of the system and improving service quality.
[0061] like Figure 2 As shown, in a data recovery method based on repeated reading provided in one or more optional embodiments of this application, the step of determining the corresponding soft information value of the data to be recovered based on the regular reading result and the repeated reading result in response to repeated reading hardware decoding failure includes:
[0062] S201: Select a portion or all of the regular read results and the repeated read results corresponding to multiple repeated reads as the basic read data.
[0063] S202: Determine multiple read voltages corresponding to the basic read data.
[0064] S203: Determine the soft information value based on the basic read data and the multiple read voltages.
[0065] In some alternative embodiments, the data page corresponding to the basic read data can be divided into multiple bit regions according to the multiple read voltages, the read value of the basic read data corresponding to each bit region can be determined, and then soft information values can be assigned to the multiple bit regions according to the read values of the multiple bit regions.
[0066] The following is for reference only. Figure 3 The following example illustrates the process of performing a regular read followed by two repeated reads. The acquired basic read data includes the original read data from the regular read and the original read data from repeated read 1 and repeated read 2. Specifically, the original read data from the regular read is "1000", the original read data from repeated read 1 is "1100", and the original read data from repeated read 2 is "1110". The corresponding read voltages for the regular read, repeated read 1, and repeated read 2 are V0, V1, and V2, respectively. The corresponding data page is divided into four bit regions, S0, S1, S2, and S3, by the read voltages V0, V1, and V2.
[0067] Specifically, for bit region S0, the data for regular read, repeated read 1, and repeated read 2 are 1, 1, and 1 respectively, and the corresponding 2-bit soft information value for this bit region is assigned the value "11". Similarly, for bit region S1, the data for regular read, repeated read 1, and repeated read 2 are 0, 1, and 1 respectively, and the corresponding 2-bit soft information value for this bit region is assigned the value "10"; for bit region S2, the data for regular read, repeated read 1, and repeated read 2 are 0, 0, and 1 respectively, and the corresponding 2-bit soft information value for this bit region is assigned the value "00"; and for bit region S3, the data for regular read, repeated read 1, and repeated read 2 are 0, 0, and 0 respectively, and the corresponding 2-bit soft information value for this bit region is assigned the value "01". Thus, corresponding soft information values are determined for multiple bit regions. After determining the soft information values, error correction soft decoding can be performed based on these values.
[0068] Analysis of the above embodiments shows that, since the error correction capability of soft decoding is stronger than that of hard decoding for conventional and repeated readings, soft decoding based on the soft information value has a higher probability of correctly recovering the data to be recovered. In an optimal state, the current data page only needs to be read 3 times and decoded 4 times to correctly retrieve the data. Compared to the traditional method of constructing soft information from raw read data without utilizing conventional or repeated read operations, this reduces one soft read operation, effectively reducing read operation latency and improving service quality performance.
[0069] It should be noted that some or all of the results from the regular read and the repeated read results can be selected as the base read data. The following is in conjunction with references. Figure 4 Similarly, taking the example of performing a regular read followed by two repeated reads, a partial original read data from the regular read and the two repeated reads can be selected in the embodiment. For example, only the original read data from the two repeated reads can be used as the basic read data to generate the soft information value.
[0070] In this case, the original read data for repeated read 1 is "100", and the original read data for repeated read 2 is "110". The corresponding read voltages for repeated read 1 and repeated read 2 are V1 and V2, respectively. The corresponding data page is divided into three bit regions, S0, S1, and S2, by the read voltages V1 and V2. Similarly, based on the read value corresponding to each bit region, soft information values of "11", "00", and "01" can be assigned to the three bit regions respectively. Then, error correction and soft decoding can be performed based on these soft information values to achieve data recovery.
[0071] Similarly, data recovery can also be achieved based solely on the original read data from regular read and repeated read 1, or solely on the original read data from regular read and repeated read 2. Analysis of the above embodiments shows that, in a more optimal state, the data recovery method based on repeated read described in this application requires at least two original read data entries, and the data can be correctly retrieved through three decoding steps: two hardware decodings and one software decoding. Compared to traditional methods that do not utilize original read data from regular read and repeated read operations to construct soft information, this method also ensures one less soft read operation, thereby effectively reducing read operation latency and improving service quality.
[0072] In a data recovery method based on repeated reading provided in one or more optional embodiments of this application, the step of determining the corresponding soft information value of the data to be recovered based on the regular reading result and the repeated reading result in response to repeated reading hardware decoding failure includes:
[0073] After each repeated read, the regular read result and the existing repeated read result are used as the base read data, and multiple read voltages corresponding to the base read data are determined.
[0074] The soft information value is determined based on the basic read data and multiple read voltages.
[0075] refer to Figure 5 The diagram shown is a schematic of the data reading and decoding process of the data recovery method based on repeated reading provided in this application embodiment.
[0076] Step S501: Perform a regular read of the data to be recovered, and perform hardware decoding on the results of the regular read.
[0077] Step S502: Determine whether the hardware decoding successfully recovered the data. If the hardware decoding fails, proceed to the next step.
[0078] Step S503: Start performing repeated reading and perform hardware decoding on the repeated reading results.
[0079] Step S504: Determine whether the hardware decoding successfully recovered the data. If the hardware decoding fails, proceed to the next step.
[0080] Step S505: Use the regular read result and the existing repeated read result as the basic read data to determine multiple read voltages corresponding to the basic read data.
[0081] Step S506: Determine the corresponding soft information value based on the basic read data and the multiple read voltages, and perform error correction soft decoding based on the soft information value.
[0082] Step S507: Determine whether the software decoding successfully recovered the data. If the software decoding fails, proceed to the next step.
[0083] Step S508: Determine whether the current repeated read is the last repeated read.
[0084] If this is not the last repeated reading, select a new repeated reading voltage from the reading voltage reference value table and execute step S503;
[0085] If this is the last time the data is read repeatedly, proceed to the next step.
[0086] Step S509: Perform a soft read on the data to be recovered, and perform error correction soft decoding based on the soft read result. If the soft decoding is successful, the data is recovered; if the soft decoding fails, the data read has failed.
[0087] When the data to be recovered is severely damaged, multiple read operations may be necessary. This requires acquiring a sufficient amount of raw data, and successful software decoding can be achieved based on the valid information contained within this raw data. The method described here is based on a repeated read data recovery approach, performing multiple read operations. Each additional read operation increases the probability of successful data retrieval. If a repeated read operation fails, software decoding is then performed based on the existing raw data. Each subsequent read operation yields richer valid information in the raw data, further increasing the success rate of software decoding. This incremental, cyclical read-decoding method maximizes the data retrieval success rate while minimizing the number of read and decode operations, effectively reducing read operation latency and improving service quality.
[0088] In a data recovery method based on repeated reading provided in one or more optional embodiments of this application, the step of performing soft decoding on the data to be recovered according to the soft information value to obtain the recovered data includes:
[0089] The soft information value is converted into the corresponding log-likelihood ratio value according to the likelihood ratio table, and the log-likelihood ratio value is used as input for soft decoding.
[0090] like Figure 3 As shown, by consulting the likelihood ratio table, the log-likelihood ratios corresponding to the soft information values "11, 10, 00, 01" of the four bit regions S0, S1, S2, and S3 can be determined to be "12, 3, 0, -12". After determining the log-likelihood ratios corresponding to the four bit regions, the log-likelihood ratios are used as input for decoding using error correction soft decoding.
[0091] In some alternative embodiments, the likelihood ratio table used to determine the log-likelihood ratio is selected from a plurality of preset likelihood ratio tables. When software decoding fails using the current likelihood ratio table, a new likelihood ratio table can be selected from the plurality of preset likelihood ratio tables for software decoding, which can effectively improve the success rate of software decoding.
[0092] It should be noted that the method of this disclosure embodiment can be executed by a single device, such as a computer or server. The method of this embodiment can also be applied to a distributed scenario, where multiple devices cooperate to complete the task. In such a distributed scenario, one of these devices may execute only one or more steps of the method of this disclosure embodiment, and the multiple devices will interact with each other to complete the method described.
[0093] It should be noted that the above description describes some embodiments of this disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in a different order than that shown in the above embodiments and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0094] Based on the same inventive concept, corresponding to any of the above-described embodiments, this disclosure also provides a data recovery device based on repeated reading.
[0095] refer to Figure 6 The data recovery device based on repeated reading includes:
[0096] The regular reading unit 601 is configured to perform regular reading of the data to be recovered and to perform hardware decoding of the regular reading results;
[0097] The repeat read unit 602 is configured to repeatedly read the data to be recovered and perform hardware decoding on the repeated read results when regular read hardware decoding fails; and
[0098] The rereading software decoding module 603 is configured to determine the corresponding soft information value of the data to be recovered based on the regular reading result and the rereading result when the rereading hardware decoding fails.
[0099] The rereading soft decoding module 603 is further configured to perform soft decoding on the data to be recovered based on the soft information value to obtain the recovered data;
[0100] The data recovery system based on repeated reading is used to execute the data recovery method based on repeated reading in the above method embodiments.
[0101] For ease of description, the above apparatus is described in terms of its functions, divided into various modules. Of course, in implementing this disclosure, the functions of each module can be implemented in one or more software and / or hardware.
[0102] The apparatus described above is used to implement the corresponding data recovery method based on repeated reading in any of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0103] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this disclosure also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the data recovery method based on repeated reading as described in any of the above embodiments.
[0104] Figure 7 This embodiment illustrates a more specific hardware structure of an electronic device, which may include a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, memory 1020, input / output interface 1030, and communication interface 1040 are interconnected internally via the bus 1050.
[0105] The processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.
[0106] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program code is stored in the memory 1020 and is called and executed by the processor 1010.
[0107] The input / output interface 1030 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components within the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touchscreens, microphones, various sensors, etc., while output devices may include displays, speakers, vibrators, indicator lights, etc.
[0108] The communication interface 1040 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).
[0109] Bus 1050 includes a pathway for transmitting information between various components of the device, such as processor 1010, memory 1020, input / output interface 1030, and communication interface 1040.
[0110] It should be noted that although the above-described device only shows the processor 1010, memory 1020, input / output interface 1030, communication interface 1040, and bus 1050, in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the embodiments of this specification, and not necessarily all the components shown in the figures.
[0111] The electronic devices described above are used to implement the corresponding data recovery methods based on repeated readings in any of the foregoing embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0112] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this disclosure also provides a non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute the data recovery method based on repeated reading as described in any of the above embodiments.
[0113] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.
[0114] The computer instructions stored in the storage medium of the above embodiments are used to cause the computer to execute the data recovery method based on repeated reading as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0115] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of this disclosure (including the claims) is limited to these examples; within the framework of this disclosure, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of one or more embodiments of this application as described above, which are not provided in detail for the sake of brevity.
[0116] Additionally, to simplify the description and discussion, and to avoid obscuring one or more embodiments of this application, the well-known power / ground connections to integrated circuit (IC) chips and other components may or may not be shown in the provided drawings. Furthermore, the apparatus may be illustrated in block diagram form to avoid obscuring one or more embodiments of this application, and this also takes into account the fact that the details of implementation of these block diagram apparatuses are highly dependent on the platform on which one or more embodiments of this application will be implemented (i.e., these details should be fully understood by those skilled in the art). While specific details (e.g., circuits) have been set forth to describe exemplary embodiments of this disclosure, it will be apparent to those skilled in the art that one or more embodiments of this application may be implemented without these specific details or with variations thereof. Therefore, these descriptions should be considered illustrative rather than restrictive.
[0117] Although this disclosure has been described in conjunction with specific embodiments thereof, many substitutions, modifications, and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may be used with the embodiments discussed.
[0118] One or more embodiments of this application are intended to cover all such substitutions, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments of this application should be included within the protection scope of this disclosure.
Claims
1. A data recovery method based on repeated readings, characterized in that, include: Perform a regular read of the data to be recovered, and then perform hardware decoding on the results of the regular read. In response to a failure of normal read hardware decoding, the data to be recovered is read again, and the result of the repeated read is hardware decoded. In response to a failure of repeated read hardware decoding, the corresponding soft information value of the data to be recovered is determined based on the regular read result and the repeated read result; The data to be recovered is software-decoded based on the soft information value to obtain the recovered data. The soft information value corresponding to the data to be recovered is determined based on the regular read result and the repeated read result, including: Select some or all of the regular read results and the repeated read results corresponding to multiple repeated reads as basic read data, and determine multiple read voltages corresponding to the basic read data; The soft information value is determined based on the basic read data and the multiple read voltages; The step of determining the soft information value based on the basic read data and multiple read voltages includes: The data page corresponding to the basic read data is divided into multiple bit regions according to the multiple read voltages; Determine the read value corresponding to each bit region for the basic read data; Soft information values are assigned to the multiple bit regions based on the read values of the multiple bit regions.
2. The method according to claim 1, characterized in that, Repeatedly reading the data to be recovered includes: Multiple voltage values are selected sequentially from the voltage reference value table as the reading voltage to repeatedly read the data to be recovered.
3. The method according to claim 1, characterized in that, The step of determining the corresponding soft information value of the data to be recovered based on the regular read result and the repeated read result in response to a failed hard decoding read is also: After each repeated read, the regular read result and the existing repeated read result are used as the base read data, and multiple read voltages corresponding to the base read data are determined. The soft information value is determined based on the basic read data and multiple read voltages.
4. The method according to claim 1, characterized in that, The step of performing software decoding on the data to be recovered based on the soft information value to obtain the recovered data includes: The soft information value is converted into the corresponding log-likelihood ratio value according to the likelihood ratio table, and the log-likelihood ratio value is used as input for soft decoding.
5. The method according to claim 4, characterized in that, The likelihood ratio table is selected from multiple preset likelihood ratio tables; The method further includes: In response to a failure of soft decoding based on the current likelihood ratio table, a new likelihood ratio table is selected from among the multiple preset likelihood ratio tables for soft decoding.
6. The method according to claim 1, characterized in that, Also includes: In response to the failure of soft decoding based on the soft information value, the data to be recovered is soft-read, and the soft-read result is soft-decoded.
7. A data recovery system based on repeated reads, characterized in that, include: The regular read unit is configured to perform regular reads of the data to be recovered and to perform hardware decoding of the regular read results; The repeat read unit is configured to repeatedly read the data to be recovered and perform hardware decoding on the repeat read result when the regular read hardware decoding fails. as well as The rereading software decoding module is configured to determine the corresponding soft information value of the data to be recovered based on the regular reading result and the rereading result when the rereading hardware decoding fails. Determining the corresponding soft information values of the data to be recovered includes: Select some or all of the regular read results and the repeated read results corresponding to multiple repeated reads as basic read data, and determine multiple read voltages corresponding to the basic read data; The soft information value is determined based on the basic read data and the multiple read voltages; Further, determining the soft information value includes: The data page corresponding to the basic read data is divided into multiple bit regions according to the multiple read voltages; Determine the read value corresponding to each bit region for the basic read data; Soft information values are assigned to the multiple bit regions based on the read values of the multiple bit regions. The rereading soft decoding module is further configured to perform soft decoding on the data to be recovered based on the soft information value to obtain the recovered data; The data recovery system based on repeated reads is used to perform the data recovery method based on repeated reads as described in any one of claims 1 to 6.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Read operation and soft decoding timing
CN108399108A
Memory system with deep learning based interference correction capability and method of operating such memory system
CN110444242A