Soft read method, electronic device, and storage medium
By acquiring reliability data of storage devices and dynamically adjusting the soft read process using a preset lookup table, the problem of low efficiency in traditional soft read operations under different scenarios is solved, achieving more efficient soft reads and lower power consumption, and adapting to changes in the reliability of storage devices.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUIYI MICROELECTRONICS (SHANGHAI) CO LTD
- Filing Date
- 2024-12-17
- Publication Date
- 2026-06-19
AI Technical Summary
Traditional soft read operations suffer from increased power consumption and latency in different scenarios, resulting in low efficiency and an inability to effectively adapt to changes in the reliability of storage devices.
By acquiring the current reliability data of the storage device, using a preset lookup table to find the corresponding target soft read process, the soft read operation is dynamically adjusted to adapt to different reliability scenarios, avoiding soft read processes with low error correction capabilities, and using a combination of various step-by-step and one-step soft read operations to optimize the soft read process.
It improves the efficiency and success rate of soft read operations, reduces power consumption and latency waste, and enhances the compatibility between the soft read process and the reliability of storage devices.
Smart Images

Figure CN122245385A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of storage technology, and in particular to a soft read method, electronic device, and storage medium. Background Technology
[0002] As storage density increases, the data reliability of storage devices decreases. Data becomes more susceptible to errors due to factors such as longer data retention times, increased read cycles, and temperature variations during read / write operations.
[0003] To ensure data reliability, manufacturers often combine different strategies to correct and recover data. In the later stages of a storage device's lifespan, hard decoding of LDPC (Low-Density Parity-Check) codes using only hard reads cannot correct erroneous bits. Therefore, soft reads are initiated to obtain soft information, and then soft decoding is performed to correct the erroneous bits of the storage device.
[0004] Traditional soft read operations follow a fixed sequence of steps across different scenarios, which can easily increase unnecessary power consumption and latency. Summary of the Invention
[0005] The main technical problem addressed by this application is to provide a soft read method, electronic device, and storage medium to improve the efficiency of soft read operations in different scenarios.
[0006] To address the aforementioned issues, this application provides a soft read method, comprising: acquiring current reliability data of a storage device and a preset lookup table; wherein the preset lookup table includes the correspondence between multiple reliability data ranges and multiple soft read processes; based on the reliability data range to which the current reliability data belongs, searching for the target soft read process corresponding to the current reliability data from the preset lookup table; and performing a soft read on the storage device based on the target soft read process.
[0007] The process of obtaining the current reliability data of the storage device includes: responding to the current reliability data of the storage device as a symptom value; obtaining the hard read data of the storage device, multiplying the hard read data with the parity matrix to obtain the parity data; and determining the number of 1 values in the parity data to obtain a symptom value.
[0008] The acquisition of current reliability data of the storage device includes: responding to the current reliability data of the storage device as the original bit error rate or the number of faulty bits; tracking the historical decoding results of the storage device through firmware, and in response to the historical decoding result being successful, obtaining the number of faulty bits, and calculating the original bit error rate or the number of faulty bits per unit time based on the number of faulty bits.
[0009] The calculation of the original bit error rate or the number of erroneous bits per unit time based on the number of erroneous bits includes: dividing the number of erroneous bits per unit time by the total number of bits per unit time to obtain the original bit error rate; or calculating the average of the number of erroneous bits per multiple unit time periods to obtain the number of erroneous bits.
[0010] The process of obtaining the current reliability data of the storage device and a preset lookup table includes: determining the error correction rate of various soft read processes under different reliability data ranges; when the error correction rate of at least one soft read process within the reliability data range is greater than the preset error correction rate, establishing a correspondence between the soft read process with the fewest initial soft reads and the corresponding reliability data range; and constructing a preset lookup table based on the correspondence between each reliability data range.
[0011] The process of performing soft reads on the storage device based on the target soft read process includes: in response to the target soft read process corresponding to the current reliability data containing multiple soft read operations, obtaining the number of soft reads for each soft read operation, and sequentially selecting each soft read operation in order of increasing number of soft reads until soft decoding is successful or all soft read operations are traversed.
[0012] The soft read process includes various step-by-step soft read operations, one-step soft read operations, or a combination of one-step and step-by-step soft read operations. Based on the target soft read process, the soft read operation on the storage device includes: responding to the target soft read process corresponding to the current reliability data, which includes various step-by-step soft read operations, and sequentially selecting each step-by-step soft read operation in ascending order of the number of soft reads until soft decoding is successful or all soft read operations are traversed; responding to the target soft read process corresponding to the current reliability data, which includes one-step soft read operations, and performing soft reads based on these one-step soft read operations; responding to the target soft read process corresponding to the current reliability data, which includes a combination of one-step and step-by-step soft read operations, first performing soft reads based on one-step soft read operations, and if the one-step soft read operation fails to decode, then sequentially selecting each step-by-step soft read operation in ascending order of the number of soft reads until soft decoding is successful or all soft read operations are traversed.
[0013] Among them, the various step-type soft read operations include N4 soft read operation, step-type N6 soft read operation and step-type N8 soft read operation; the one-step soft read operation includes one-step N8 soft read operation; the combination of one-step soft read operation and step-type soft read operation includes one-step N6 soft read operation and step-type N8 soft read operation.
[0014] To address the aforementioned technical problems, the present invention also provides an electronic device, including a memory and a processor coupled to each other, wherein the processor is used to execute program instructions stored in the memory to implement the soft read method as described above.
[0015] To address the aforementioned technical problems, the present invention also provides a computer-readable storage medium having program instructions stored thereon, wherein the program instructions, when executed by a processor, implement the soft read method as described above.
[0016] The beneficial effects of this invention are as follows: Unlike the prior art, this application obtains the current reliability data of the storage device and a preset lookup table; wherein, the preset lookup table includes the correspondence between multiple reliability data ranges and multiple soft read processes; based on the reliability data range to which the current reliability data belongs, the target soft read process corresponding to the current reliability data is found from the preset lookup table; based on the target soft read process, the storage device is soft read, thereby determining the target soft read process with sufficient error correction capability based on the current reliability data of the storage device, avoiding soft read processes with low error correction capability in traditional soft read processes, reducing power consumption and latency waste caused by the failure of soft read processes with low error correction capability, improving the adaptability between the soft read process and the current reliability of the storage device, and improving soft read efficiency and success rate. Attached Figure Description
[0017] Figure 1 This is a flowchart illustrating an embodiment of the soft reading method of this application;
[0018] Figure 2 This is a flowchart illustrating another embodiment of the soft reading method of this application;
[0019] Figure 3 This is a schematic diagram of the framework of an embodiment of the electronic device of this application;
[0020] Figure 4 This is a schematic diagram of a framework of an embodiment of the computer-readable storage medium of this application. Detailed Implementation
[0021] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0022] In the following description, specific details such as particular system architectures, interfaces, and technologies are presented for illustrative purposes rather than for limiting purposes, in order to provide a thorough understanding of this application.
[0023] In this paper, the terms "system" and "network" are often used interchangeably. The term "and / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. Additionally, the character " / " generally indicates that the preceding and following related objects have an "or" relationship. Furthermore, "many" in this paper means two or more.
[0024] During the read recovery phase of the storage device, the data within the storage device is first hardware-decoded. Specifically, a default read is performed first. If the default read fails, a read retry phase is initiated. During the read retry phase, multiple hardware reads and hardware decodings are performed. If all read retry attempts fail (i.e., hardware decoding fails), a soft read process is then performed on the storage device to obtain soft information, followed by soft decoding. This embodiment focuses on the soft read process.
[0025] Please see Figure 1 , Figure 1 This is a flowchart illustrating an embodiment of the soft read method of this application. The soft read method in this embodiment specifically includes the following steps:
[0026] Step S11: Obtain the current reliability data of the storage device and a preset lookup table; wherein, the preset lookup table includes the correspondence between multiple reliability data ranges and multiple soft read processes.
[0027] Storage devices can include various types of NAND Flash non-volatile memory, USB flash drives, optical discs, solid-state drives, memory cards, etc. Examples include SLC (Single Level Cell), MLC (Multi-Level Cell), TLC (Triple-Level Cell), QLC (Quad-Level Cell), and future NAND Flash with even larger single-cell storage capacity, etc., which are not limited here.
[0028] Reliability data refers to data that reflects the reliability of the data stored in a storage device, including but not limited to raw bit error rate (Rber), syndrome weight (SW), or failure bit counter (FBC), etc.
[0029] The pre-built lookup table includes the correspondence between multiple reliability data ranges and various soft read procedures. The corresponding reliability data ranges are matched with the error correction capabilities of the soft read procedures. That is, when the current reliability data of the storage device belongs to a certain reliability data range, the error correction capability of the soft read procedure corresponding to that reliability data range can guarantee the success rate to a certain extent, and is used for soft reads of the storage device.
[0030] The specific division of the reliability data range and the specific steps of various soft read processes are not limited here. In a specific application scenario, the reliability data range can be divided empirically into 3 consecutive ranges, 4 consecutive ranges, or 5 consecutive ranges, etc. The specific steps of the soft read process can include one or more Nx soft read operations, where Nx soft read operations include (x-1) soft reads and 1 soft decode, and the value of x is set as a positive integer based on the actual situation and is not limited. The number of reliability data ranges and the number of soft read processes are the same and correspond one-to-one.
[0031] The soft read process in this embodiment refers to the complete set of soft read process operations corresponding to the reliability data range. Each soft read process may include one or more soft read operations, and a soft read operation includes one or more soft reads and one soft decoding. That is, the soft read process, soft read operation, and soft read range are different.
[0032] Step S12: Based on the reliability data range to which the current reliability data belongs, find the target soft read process corresponding to the current reliability data from the preset lookup table.
[0033] After obtaining the current reliability data of the storage device, the target soft read process corresponding to the current reliability data is found from a preset lookup table based on the reliability data range to which the current reliability data belongs.
[0034] In a specific application scenario, suppose the preset lookup table includes three reliability data ranges: 0-1, 1-2, and 2-3. The reliability data range 0-1 corresponds to soft read process A, the reliability data range 1-2 corresponds to soft read process B, and the reliability data range 2-3 corresponds to soft read process C. If the current reliability data of the storage device is 1.2, it belongs to the reliability data range 1-2, and its corresponding target soft read process is soft read process B. The specific lookup process follows a similar pattern.
[0035] Step S13: Perform a soft read on the storage device based on the target soft read process.
[0036] Since the soft read process corresponding to the reliability data range can guarantee the read success rate to a certain extent, soft reading of the storage device based on the target soft read process can avoid the soft read process with low error correction capability in the traditional soft read process. By directly selecting the target soft read process with sufficient error correction capability to perform soft reading of the storage device, the specific soft read process can be dynamically adjusted to adapt to different reliability scenarios, reduce the power consumption and latency waste caused by the failure of soft read process with low error correction capability, and improve the overall soft read efficiency.
[0037] Through the above steps, the soft read method of this embodiment obtains the current reliability data of the storage device and a preset lookup table. The preset lookup table includes the correspondence between multiple reliability data ranges and multiple soft read processes. Based on the reliability data range to which the current reliability data belongs, the target soft read process corresponding to the current reliability data is found from the preset lookup table. A soft read is performed on the storage device based on the target soft read process. This allows for the determination of a target soft read process with sufficient error correction capability based on the current reliability data of the storage device, avoiding soft read processes with low error correction capability in traditional soft read processes, reducing power consumption and latency waste caused by the failure of soft read processes with low error correction capability, improving the adaptability between the soft read process and the current reliability of the storage device, and improving soft read efficiency and success rate.
[0038] Please see Figure 2 , Figure 2 This is a flowchart illustrating another embodiment of the soft read method of this application. The soft read method in this embodiment specifically includes the following steps:
[0039] Step S21: Determine the error correction rate of various soft read processes under different reliability data ranges.
[0040] The specific operation steps of various soft read processes can be set according to the actual situation. In a specific application scenario, various soft read processes can include various step-by-step soft read operations, one-step soft read operations, or a combination of one-step soft read operations and step-by-step soft read operations.
[0041] In this context, a step-by-step soft read operation refers to a soft read operation that adds an additional read voltage to the previous soft read operation. For example, an N6 soft read operation is obtained by adding two read voltages to an N4 soft read operation. This embodiment refers to this scheme, where the read voltage of an NX soft read operation depends on the read voltages of N(X-2) soft read operations, as a step-by-step operation. An NX soft read operation includes (X-1) soft reads and one soft decode.
[0042] In a specific application scenario, the multiple step-by-step soft read operations in the soft read process can be sequentially N2, N4, and N6 soft read operations. In another specific application scenario, the multiple step-by-step soft read operations in the soft read process can be sequentially N3, N5, and N7 soft read operations. The concept of step-by-step operation increases the number of soft reads progressively based on the previous soft read operation. However, the specific number of soft reads in each step-by-step soft read operation is not limited and can be set according to the actual situation.
[0043] Multiple step-by-step soft read operations are often used in scenarios where error correction capabilities are not critical. The process involves first attempting to read the data using a step-by-step soft read operation with lower error correction capabilities but higher efficiency. If this fails, the next step-by-step soft read operation with improved error correction capabilities is then attempted. If successful, the read operation is completed.
[0044] A one-step soft read operation refers to designing all the required read voltages for the NX soft read operation in one go. For example, a one-step N6 soft read operation designs four read voltages and a reference voltage at once. This read voltage setting method maximizes the performance of the NX soft read operation. Compared to a step-type NX soft read operation with the same number of reads, it has higher error correction capability. Because the read voltages of a step-type NX soft read operation are generated based on the previous soft read operation, the different generation methods result in different specific values of the read voltages for the two NX soft read operations. Furthermore, when a step-type NX soft read operation is used, it means that the step-type N(X-2) soft read operation has failed. Therefore, the error correction capability of the step-type NX soft read operation is lower than that of the one-step NX soft read operation.
[0045] The soft read process combines one-step soft read operations with step-by-step soft read operations. The number of soft reads in a one-step soft read operation is less than that in a step-by-step soft read operation, and the read voltage of the step-by-step soft read operation is an additional voltage derived from the read voltage of the one-step soft read operation. In a specific application scenario, the combination of one-step and step-by-step soft read operations can include a one-step N6 soft read operation and a step-by-step N8 soft read operation; that is, the read voltage of the step-by-step N8 soft read operation is derived from the read voltage of the one-step N6 soft read operation. This setup is suitable for scenarios with moderate error correction requirements. It first attempts to read using a one-step soft read operation; if this fails, it attempts to read using a step-by-step soft read operation with improved error correction capabilities; if successful, the read operation is complete.
[0046] Among the settings of the soft read operations in the above three soft read processes of this embodiment, the number of soft reads in the first step-by-step NA soft read operation among multiple step-by-step soft read operations is the least, the number of soft reads in the one-step NC soft read operation of the one-step soft read operation is the most, and the number of soft reads in the one-step NB soft read operation in the combination of the one-step soft read operation and the step-by-step soft read operation is in the middle, that is, A < B < C, so that the initial error correction capabilities of the above three soft read processes are different, facilitating different ranges of reliability data scenarios.
[0047] In a specific application scenario, multiple step-by-step soft read operations include N4 soft read operation, step-by-step N6 soft read operation, and step-by-step N8 soft read operation; the one-step soft read operation includes one-step N8 soft read operation; the combination of the one-step soft read operation and the step-by-step soft read operation includes one-step N6 soft read operation and step-by-step N8 soft read operation. In other application scenarios, the specific number of soft read operations and the value of x in each soft read process can be set to other numbers, which are specifically set based on the actual situation.
[0048] The division of different reliability data ranges is based on the type of reliability data and the setting of corresponding thresholds.
[0049] In a specific application scenario, when the type of reliability data is raw bit error rate (Rber), multiple threshold values can be set: Rber_1, Rber_2, Rber_3, thus obtaining a total of three ranges: (0, Rber_1], (Rber_1, Rber_2], and (Rber_2, Rber_3). In a specific application scenario, Rber_1 can be 0.015; Rber_2 can be 0.0165; Rber_3 can be 0.018. In other application scenarios, the number and values of the threshold values can be set based on the actual situation, without limitation.
[0050] After obtaining multiple soft read processes and reliability data ranges, determine the error correction rates of multiple soft read processes under different reliability data ranges respectively. The error correction rate can be determined through simulation, and can also be determined by pre-offline experiments for various soft read processes under different reliability data ranges.
[0051] Step S22: When the error correction rate of at least one soft read process within the reliability data range is greater than the preset error correction rate, establish a correspondence between the soft read process with the least number of first soft reads in at least one soft read process and the corresponding reliability data range.
[0052] The preset error correction rate can be 80%, 82%, 85% or 90%, etc., to ensure the success rate of the soft read process. The specific value is not limited.
[0053] If at least one soft read process achieves an error correction rate greater than a preset error correction rate within the reliability data range, it indicates that all at least one soft read process can be used for soft reads within the corresponding reliability data range scenario and guarantee a certain error correction rate. Then, a correspondence is established between the soft read process with the fewest initial soft read operations and the corresponding reliability data range.
[0054] In a specific application scenario, various step-by-step soft read operations include N4 soft read operations, step-by-step N6 soft read operations, and step-by-step N8 soft read operations; one-step soft read operations include one-step N8 soft read operations; and combinations of one-step and step-by-step soft read operations include one-step N6 soft read operations and step-by-step N8 soft read operations. Assuming that the error correction rates of both one-step N6 and one-step N8 soft read operations are greater than a preset error correction rate within a certain reliability data range, then considering that the one-step N6 soft read operation has the fewest soft read operations, the soft read process corresponding to the one-step N6 soft read operation is selected. That is, the combination of one-step N6 and step-by-step N8 soft read operations is correlated with this reliability data range, thereby minimizing the complexity of soft read steps and accelerating soft read efficiency while ensuring a high read success rate.
[0055] Step S23: Construct a preset comparison table based on the correspondence between the various reliability data ranges.
[0056] The preset lookup table includes the correspondence between multiple reliability data ranges and various soft read processes.
[0057] In a specific application scenario, when the reliability data type is raw bit error rate (Rber), the preset lookup table can be as follows: Table 1:
[0058]
[0059] In a specific application scenario, Rber_1 can be 0.015; Rber_2 can be 0.0165; and Rber_3 can be 0.018. In other application scenarios, the number and value of the threshold values can be set based on the actual situation and are not limited. The specific details of the soft read process in the table are for illustrative purposes only and are not limited.
[0060] In a specific application scenario, when the reliability data type is syndrome weight (SW, a symptom value), the preset control table can be as follows: Table 2:
[0061]
[0062]
[0063] In a specific application scenario, SW_1 can be 1400; SW_2 can be 1600; and SW_3 can be 1800. In other application scenarios, the number and value of thresholds can be set based on the actual situation and are not limited. The specific details of the soft read process in the table are for illustrative purposes only and are not limited.
[0064] In a specific application scenario, when the reliability data type is Failure BitCounter (FBC), the preset lookup table can be as follows: Table 3:
[0065]
[0066] In other application scenarios, the number and value of thresholds can be set based on the actual situation and are not limited. The specific details of the soft reading process in the table are for illustrative purposes only and are not intended to be limiting.
[0067] The higher the value of the aforementioned reliability data, the higher the requirement for error correction capability.
[0068] Step S24: Obtain the current reliability data of the storage device.
[0069] Before determining which soft read process the storage device is currently using, first obtain the storage device's current reliability data. The specific type of this reliability data is pre-set in the storage device and can be obtained by consulting the storage device's manual or by directly viewing the storage device's reliability data information.
[0070] In a specific application scenario, the current reliability data includes a symptom value, i.e., the number of 1s in the syndrome. For LDPC (Low-Density Parity-Check) codes, the distribution of SW (Symptom Strength) differs under different failed bit counts (FBC) or different raw bit error rates (Rber). Generally, the higher the Rber / FBC, the larger the average SW. Therefore, a table can be pre-built to store the correspondence between different SW values and their corresponding Rber / FBC conditions, thus enabling double lookup. In actual execution, the hard read data read from the storage device can also be multiplied with the parity matrix to obtain the symptom, and then a symptom value can be obtained. A separate pre-defined lookup table for the symptom value and the soft read process can be established. Specifically, this includes: obtaining the hard read data from the storage device, multiplying the hard read data with the parity matrix to obtain the parity data; determining the number of 1s in the parity data to obtain the symptom value.
[0071] The parity check matrix is an H matrix encoded by LDPC (Low Density Parity Check Codes). Its characteristic is that most elements in the matrix are 0, and only a few elements are 1, which is used to ensure the performance of the encoding and error correction capability.
[0072] In a specific application scenario, obtaining the current reliability data of the storage device includes: responding to the current reliability data of the storage device being the raw bit error rate or the number of faulty bits, tracking the historical decoding results of the storage device through the firmware; responding to a successful historical decoding result, the decoder returns the number of faulty bits, and then calculating the raw bit error rate or the number of faulty bits per unit time based on the number of faulty bits. This operation can be periodically executed by the firmware system in the background. The historical decoding results refer to any successful read operation of the storage device in the past, which is different from the soft decoding in the soft read process targeted in this embodiment.
[0073] The raw bit error rate is calculated by dividing the number of erroneous bits per unit time by the total number of bits per unit time.
[0074] The error bit count is calculated by averaging the error bit count over multiple time units to obtain the error bit count (FBC, Failure Bit Counter).
[0075] Step S25: Based on the reliability data range to which the current reliability data belongs, find the target soft read process corresponding to the current reliability data from the preset lookup table.
[0076] After obtaining the current reliability data, based on the specific type of the current reliability data, find the target soft read process corresponding to the current reliability data from the relevant table.
[0077] In a specific application scenario, when the type of reliability data is raw bit error rate (Rber, aw bit error rate), assuming the current reliability data is 0.017, it belongs to the (Rber_2, Rber_3) file. Then, by looking up Table 1, the target soft read process corresponding to the current reliability data is determined to be a one-step N8 soft read operation.
[0078] In a specific application scenario, when the reliability data type is syndrome weight(SW, a symptom value), assuming the current reliability data is 1500, it belongs to the (SW_1, SW_2) file. Then, by looking up Table 2, the target soft read process corresponding to the current reliability data is determined to be a one-step N6 soft read operation and a step-by-step N8 soft read operation. That is, a one-step N6 soft read operation is first performed on the storage device. If the soft decoding is successful, the read is successful. If the soft decoding fails, then a step-by-step N8 soft read operation is performed.
[0079] The search steps are similar and not limited to any particular type.
[0080] Step S26: Perform a soft read on the storage device based on the target soft read process.
[0081] If the target soft read process contains only one type of soft read operation, such as a one-step soft read operation, then the soft read operation can be executed directly.
[0082] If the target soft read process corresponding to the current reliability data contains multiple soft read operations, obtain the number of soft reads for each soft read operation, and select each soft read operation in order of increasing number of soft reads until soft decoding is successful or all soft read operations are traversed.
[0083] In a specific application scenario, the target soft read process corresponding to the current reliability data includes a variety of step-by-step soft read operations. Based on the order of the number of soft reads from few to many, the step-by-step soft read operations are selected sequentially for soft reads until the soft decoding is successful or all soft read operations are traversed.
[0084] In a specific application scenario, the target soft read process corresponding to the current reliability data includes a one-step soft read operation, and soft read is performed based on the one-step soft read operation.
[0085] In a specific application scenario, the target soft read process corresponding to the current reliability data includes a combination of one-step soft read operation and step-by-step soft read operation. First, a soft read is performed based on the one-step soft read operation. If the one-step soft read operation fails to decode, then step-by-step soft read operations are selected in order of increasing number of soft reads until the soft decoding is successful or all soft read operations are traversed.
[0086] Assume that there are multiple step-type soft read operations, including N4 soft read operation, step-type N6 soft read operation, and step-type N8 soft read operation; one-step soft read operation includes one-step N8 soft read operation; and the combination of one-step soft read operation and step-type soft read operation includes one-step N6 soft read operation and step-type N8 soft read operation.
[0087] If the target soft read process involves multiple step-by-step soft read operations, then the N4 soft read operation is performed on the storage device first. If the N4 soft read operation is successfully decoded, the data is read successfully. If the N4 soft read operation fails to decode, then the N6 soft read operation is performed on the storage device. If the N6 soft read operation is successfully decoded, the data is read successfully. If the N6 soft read operation fails to decode, then the N8 soft read operation is performed on the storage device. If the N8 soft read operation is successfully decoded, the data is read successfully. If the N8 soft read operation fails to decode, the data is read unsuccessfully.
[0088] If the target soft read process is a one-step soft read operation, a one-step N8 soft read operation is performed directly on the storage device. If decoding is successful, the data is read successfully; if decoding fails, the data read fails.
[0089] If the target soft read process is a combination of one-step soft read operation and step-by-step soft read operation, then a one-step N6 soft read operation is first performed on the storage device. If decoding is successful, the data is read successfully. If decoding fails, a step-by-step N8 soft read operation is performed on the storage device. If the step-by-step N8 soft read operation decodes successfully, the data is read successfully. If decoding fails, the data is read unsuccessfully.
[0090] Through the above steps, the soft read method of this embodiment pre-sets a preset lookup table that includes the correspondence between multiple reliability data ranges and multiple soft read processes. When reading data from the storage device, based on the reliability data range to which the current reliability data of the storage device belongs, it searches for the target soft read process corresponding to the current reliability data from the preset lookup table; and performs a soft read on the storage device based on the target soft read process. Thus, based on the current reliability data of the storage device, it determines the target soft read process with sufficient error correction capability and performs a soft read on the storage device, avoiding soft read processes with low error correction capability in traditional soft read processes, reducing the power consumption and latency waste caused by the failure of soft read processes with low error correction capability, optimizing the soft read process, providing adaptability between the configuration of the first soft read under different reliability conditions and the current storage device, and improving efficiency and reliability.
[0091] Please see Figure 3 , Figure 3 This is a schematic diagram of a framework of an embodiment of the electronic device of this application. The electronic device 30 includes a memory 31 and a processor 32 coupled to each other. The processor 32 is used to execute program instructions stored in the memory 31 to implement the above-described method embodiment. In a specific implementation scenario, the electronic device 30 may include, but is not limited to, a microcomputer, a server, etc. In addition, the electronic device 30 may also include a laptop computer, a tablet computer, a Nand Flash, etc., without limitation.
[0092] Specifically, processor 32 controls itself and memory 31 to implement any of the above-described method embodiments. Processor 32 can also be referred to as a CPU (Central Processing Unit). Processor 32 may be an integrated circuit chip with signal processing capabilities. Processor 32 can also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor can be a microprocessor or any conventional processor. Furthermore, processor 32 can be implemented using integrated circuit chips.
[0093] The above solution can reduce the power consumption and latency waste caused by the failure of the soft read process with low error correction capability, and improve the soft read efficiency.
[0094] Please see Figure 4 , Figure 4 This is a schematic diagram of a framework of an embodiment of the computer-readable storage medium of this application. The computer-readable storage medium 40 stores program instructions 401 that can be executed by a processor. The program instructions 401 are used to implement any of the above-described method embodiments.
[0095] In the several embodiments provided in this application, it should be understood that the disclosed methods and apparatus can be implemented in other ways. For example, the apparatus implementations described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.
[0096] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across network units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0097] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0098] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods of various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0099] The above description is merely an embodiment of the present invention and does not limit the patent scope of the present invention. Any equivalent structural or procedural transformations made based on the content of the present invention specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of the present invention.
Claims
1. A soft read method, characterized in that, The soft read method includes: The current reliability data of the storage device and a preset lookup table are obtained; wherein, the preset lookup table includes the correspondence between multiple reliability data ranges and multiple soft read processes; Based on the reliability data range to which the current reliability data belongs, the target soft read process corresponding to the current reliability data is found from a preset lookup table; The storage device is read softly based on the target soft read process.
2. The soft read method according to claim 1, characterized in that, The obtained current reliability data of the storage device includes: The current reliability data of the storage device is a symptom value; The hard read data from the storage device is obtained, and the hard read data is multiplied by the parity matrix to obtain the parity data; The number of 1 values in the verification data is determined to obtain the symptom value.
3. The soft read method according to claim 1, characterized in that, The obtained current reliability data of the storage device includes: The current reliability data of the storage device is the raw bit error rate or the number of erroneous bits. By tracking the historical decoding results of the storage device through firmware, in response to the historical decoding result being successful, the number of error bits is obtained, and the original bit error rate or the number of erroneous bits per unit time is calculated based on the number of error bits.
4. The soft read method according to claim 3, characterized in that, The calculation of the raw bit error rate or number of erroneous bits per unit time based on the number of erroneous bits includes: The original bit error rate is obtained by dividing the number of erroneous bits per unit time by the total number of bits per unit time; or The average number of error bits per unit time is calculated to obtain the number of error bits.
5. The soft read method according to any one of claims 1-4, characterized in that, The process of obtaining the current reliability data of the storage device and the preset lookup table includes: Determine the error correction rate of various soft read processes under different reliable data ranges; When the error correction rate of at least one of the soft read processes is greater than the preset error correction rate within the reliability data range, a correspondence is established between the soft read process with the fewest first soft reads and the corresponding reliability data range. The preset lookup table is constructed based on the correspondence between the various reliability data ranges.
6. The soft read method according to claim 5, characterized in that, The soft read operation on the storage device based on the target soft read process includes: In response to the fact that the target soft read process corresponding to the current reliability data includes multiple soft read operations, the number of soft read operations for each soft read operation is obtained, and each soft read operation is selected in order of increasing number of soft read operations for soft read until soft decoding is successful or all soft read operations are traversed.
7. The soft read method according to claim 6, characterized in that, The soft read process includes various step-by-step soft read operations, one-step soft read operations, or a combination of one-step soft read operations and step-by-step soft read operations. The soft read operation on the storage device based on the target soft read process includes: The target soft read process corresponding to the current reliability data includes a variety of step-by-step soft read operations. Based on the order of the number of soft reads from few to many, each step-by-step soft read operation is selected sequentially for soft read until soft decoding is successful or all soft read operations are traversed. The target soft read process corresponding to the current reliability data includes a one-step soft read operation, and soft read is performed based on the one-step soft read operation; The target soft read process corresponding to the current reliability data includes a combination of one-step soft read operation and step-by-step soft read operation. First, a soft read is performed based on the one-step soft read operation. If the one-step soft read operation fails to decode, then each step-by-step soft read operation is selected in order of increasing number of soft reads until the soft decoding is successful or all soft read operations are traversed.
8. The soft read method according to claim 7, characterized in that, The various step-by-step soft read operations include N4 soft read operation, step-by-step N6 soft read operation, and step-by-step N8 soft read operation; The one-step soft read operation includes a one-step N8 soft read operation; The combination of the one-step soft read operation and the step-by-step soft read operation includes the one-step N6 soft read operation and the step-by-step N8 soft read operation.
9. An electronic device, characterized in that, It includes a memory and a processor coupled to each other, the processor being configured to execute program instructions stored in the memory to implement the soft read method as described in any one of claims 1 to 8.
10. A computer-readable storage medium having program instructions stored thereon, characterized in that, When the program instructions are executed by the processor, they implement the soft read method as described in any one of claims 1 to 8.