Read method of storage device, electronic device, and storage medium
By dynamically adjusting the read parameters of the storage device and optimizing the read algorithm according to the reliability data range, the problems of high power consumption and high latency of traditional storage devices in different scenarios are solved, and more efficient and reliable data recovery is achieved.
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 storage devices have high power consumption and latency in different scenarios, leading to a decrease in data reliability.
By determining the target read algorithm for the storage device and obtaining current reliability data, the corresponding target read parameters are found using a preset lookup table. The read parameters are then dynamically adjusted to adapt to different reliability scenarios, thereby optimizing the read process.
It improves the convergence speed of the reading algorithm, reduces the latency and power consumption of the data recovery process, and enhances decoding efficiency and reliability.
Smart Images

Figure CN122245384A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of storage technology, and in particular to a method for reading a storage device, an electronic device, and a 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 for error correction and recovery. Error correction and recovery involves sequentially initiating multiple read phases, using read algorithms to acquire data information, and then decoding to correct erroneous bits in the storage device to retrieve the data.
[0004] Traditional read algorithms use fixed parameters 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 method for reading storage devices, an electronic device, and a storage medium to improve the efficiency of reading storage devices in different scenarios.
[0006] To address the aforementioned issues, this application provides a method for reading a storage device, comprising: determining a target reading algorithm for the storage device, and obtaining current reliability data of the storage device and a preset lookup table corresponding to the target reading algorithm; wherein the preset lookup table includes the correspondence between multiple reliability data ranges and multiple sets of reading parameters in the target reading algorithm; based on the reliability data range to which the current reliability data belongs, searching for the target reading parameters corresponding to the current reliability data from the preset lookup table; and reading the storage device using the target reading algorithm based on the target reading parameters.
[0007] The process of determining the target read algorithm for the storage device includes: obtaining the current read stage of the storage device and obtaining multiple corresponding read algorithms based on the current read stage; and selecting the target read algorithm from the multiple corresponding read algorithms based on read efficiency.
[0008] Specifically, the current read stage of the storage device is obtained, and various corresponding read algorithms are obtained based on the current read stage, including: when the current read stage of the storage device is a hard read stage, the following algorithms are obtained: bit-flip hard read algorithm, gradient descent bit-flip hard read algorithm, probabilistic gradient descent bit-flip hard read algorithm, potential energy-assisted gradient descent bit-flip hard read algorithm, and potential energy-assisted probabilistic gradient descent bit-flip hard read algorithm; or when the current read stage of the storage device is a soft read stage, the normalized minimum sum soft read algorithm and the offset minimum sum soft read algorithm are obtained.
[0009] The reading method for the storage device further includes: responding to a bit-flipping hard read algorithm, the type of the target read parameter is a flip threshold value; responding to a gradient descent bit-flipping hard read algorithm, the type of the target read parameter is a flip threshold value; responding to a probabilistic gradient descent bit-flipping hard read algorithm, the type of the target read parameter is a probability value; responding to a potential energy-assisted gradient descent bit-flipping hard read algorithm, the type of the target read parameter is a record length; responding to a potential energy-assisted probabilistic gradient descent bit-flipping hard read algorithm, the type of the target read parameter is a flip probability value; responding to a normalized minimum and soft read algorithm, the type of the target read parameter is a normalization factor; responding to an offset minimum and soft read algorithm, the type of the target read parameter is an offset factor.
[0010] The process of obtaining the current reliability data of the storage device includes: determining the efficiency of multiple sets of read parameters for each read algorithm under different reliability data ranges; wherein the parameter values are different between the sets of read parameters; when the efficiency of the read parameter within the reliability data range is greater than the preset efficiency, establishing a correspondence between the read parameter and the corresponding reliability data range; and constructing a preset reference table for each read algorithm based on the correspondence between the reliability data ranges.
[0011] The process of obtaining the current reliability data of the storage device includes: responding to the current reliability data 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.
[0012] The process of obtaining current reliability data for the storage device includes: responding to the current reliability data as the original bit error rate or the number of erroneous bits; tracking the historical decoding results of the storage device through firmware, and obtaining the number of erroneous bits in response to the historical decoding result being successful, and calculating the original bit error rate or the number of erroneous bits per unit time based on the number of erroneous bits.
[0013] 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.
[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 storage device reading 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 method for reading the storage device as described above.
[0016] The beneficial effects of this invention are as follows: Unlike the prior art, this application determines the target read algorithm for the storage device and obtains the current reliability data of the storage device and a preset lookup table corresponding to the target read algorithm. The preset lookup table includes the correspondence between multiple reliability data ranges and multiple sets of read parameters in the target read algorithm. Based on the reliability data range to which the current reliability data belongs, the target read parameters corresponding to the current reliability data are found from the preset lookup table. Based on the target read parameters, the target read algorithm is used to read the storage device. Therefore, based on the current reliability data of the storage device, target read parameters with matching convergence speed are determined to read the storage device. This can improve the convergence speed of the read algorithm under various reliability scenarios. By dynamically adjusting the target read parameters to adapt to different reliability scenarios, the latency and power consumption of the data recovery process of the storage device are reduced overall, improving decoding efficiency and reliability. Attached Figure Description
[0017] Figure 1 This is a flowchart illustrating an embodiment of the method for reading storage devices according to this application;
[0018] Figure 2 This is a flowchart illustrating another embodiment of the method for reading storage devices according to 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 (hard decoding fails), a soft read process (soft decoding) is then performed to obtain soft information, followed by soft decoding. This embodiment addresses any of the above read processes.
[0025] Please see Figure 1 , Figure 1 This is a flowchart illustrating an embodiment of the storage device reading method of this application. The storage device reading method in this embodiment specifically includes the following steps:
[0026] Step S11: Determine the target read algorithm for the storage device and obtain the current reliability data of the storage device and the preset lookup table corresponding to the target read algorithm; wherein, the preset lookup table includes the correspondence between multiple reliability data ranges and multiple sets of read parameters in the target read algorithm.
[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 preset lookup table is pre-built, and different read algorithms correspond to different preset lookup tables. In this step, the corresponding preset lookup table is obtained based on the type of the target read algorithm. The preset lookup table includes the correspondence between multiple reliability data ranges and multiple sets of read parameters in the corresponding target read algorithm. The type and number of parameters in each set of read parameters can be one or more, depending on the specific type of the read algorithm.
[0030] The reliability data range with corresponding relationships is matched with the efficiency of the read parameters. That is, when the current reliability data of the storage device belongs to a certain reliability data range, the read parameters corresponding to that reliability data range are more efficient when using the corresponding read algorithm. Efficiency refers to the efficiency of successful reads.
[0031] The read parameters are parameters that affect decoding latency and power consumption in the read algorithm. They can include, but are not limited to, one or more of the following: the number of iterations of the decoder, the mapping table of the input LLR (log-likelihood ratio), the flip threshold, the probability value, the normalization factor, and the internal bit width. The specific type is selected based on the actual situation and is not limited.
[0032] In a specific application scenario, a suitable target read algorithm can be selected based on the type of storage device and experience. Alternatively, any target read algorithm can be chosen. Furthermore, simulation evaluation can be used to determine the most suitable read algorithm for the storage device and use it as the target read algorithm.
[0033] Step S12: Based on the reliability data range to which the current reliability data belongs, find the target reading parameter corresponding to the current reliability data from the preset lookup table.
[0034] After determining the target read algorithm for the storage device and obtaining its current reliability data, the target read parameters corresponding to the current reliability data are looked up from a pre-defined lookup table based on the reliability data range to which the current reliability data belongs. The data type of the reliability data range is the same as the data type of the current reliability data.
[0035] In a specific application scenario, assume that the preset lookup table of the target read algorithm includes three reliability data ranges: 0-1, 1-2, and 2-3. The reliability data range 0-1 corresponds to s sets of read parameters, the reliability data range 1-2 corresponds to h sets of read parameters, and the reliability data range 2-3 corresponds to g sets of read parameters. 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 read parameter is the h set of read parameters. The specific lookup process follows a similar pattern.
[0036] Step S13: Read the storage device using the target read algorithm based on the target read parameters.
[0037] Since the read parameters corresponding to the reliability data range can guarantee the convergence speed and efficiency of the read to a certain extent, the target read parameters obtained by looking up the current reliability data table and using the target read algorithm to read the storage device can improve the convergence speed of the read algorithm in various reliability scenarios. That is, by dynamically adjusting the target read parameters to adapt to different reliability scenarios, the latency and power consumption of the data recovery process of the storage device are reduced as a whole, and the decoding efficiency and reliability are improved.
[0038] Through the above steps, the method for determining soft read parameters in this embodiment determines the target read algorithm of the storage device and obtains the current reliability data of the storage device and a preset lookup table corresponding to the target read algorithm. The preset lookup table includes the correspondence between multiple reliability data ranges and multiple sets of read parameters in the target read algorithm. Based on the reliability data range to which the current reliability data belongs, the target read parameter corresponding to the current reliability data is found from the preset lookup table. Based on the target read parameter, the target read algorithm is used to read the storage device. Therefore, based on the current reliability data of the storage device, the target read parameter with convergence speed adapted is determined to read the storage device. This method can improve the convergence speed and efficiency of the read algorithm in various reliability scenarios. By dynamically adjusting the target read parameter to adapt to different reliability scenarios, the latency and power consumption of the data recovery process of the storage device are reduced overall, improving decoding efficiency and reliability.
[0039] Please see Figure 2 , Figure 2 This is a flowchart illustrating another embodiment of the storage device reading method of this application. The storage device reading method in this embodiment specifically includes the following steps:
[0040] Step S21: Determine the efficiency of multiple sets of reading parameters for each reading algorithm under different reliability data ranges.
[0041] The efficiency of multiple sets of read parameters for each read algorithm is determined under different reliability data ranges for various types of reliability data. This step can be performed through simulation, by conducting read simulations on the storage device using multiple sets of read parameters for each read algorithm, to obtain the efficiency of each set of read parameters under different reliability data ranges; alternatively, offline experiments can be conducted for data analysis, and the specific methods are not limited here. The specific values in each set of read parameters can also be obtained based on simulation evaluation or offline experimental data analysis. In this embodiment, the efficiency refers to the efficiency of the read algorithm in successfully reading data.
[0042] Each set of reading parameters can have one or more parameters, depending on the type of reading algorithm. The parameter values differ between each set of reading parameters.
[0043] Reliability data types include, but are not limited to, raw bit error rate (Rber), syndrome weight (SW), or failure bit counter (FBC), etc.
[0044] The division of different reliability data ranges is based on the type of reliability data and the setting of corresponding thresholds. 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, and Rber_4, resulting in four ranges: (0, Rber_1], (Rber_1, Rber_2], (Rber_2, Rber_3], and (Rber_3, Rber_4]. In a specific application scenario, Rber_1 can be 0.010; Rber_2 can be 0.0150; Rber_3 can be 0.0170; and Rber_4 can be 0.0200. In other application scenarios, the number and value of threshold values can be set based on the actual situation and are not limited.
[0045] Since there are various types of reliability data, a pre-defined lookup table needs to be established for each type of reliability data and different reading algorithms. In a specific application scenario, assuming there are two types of reading algorithms and three types of reliability data, a total of six pre-defined lookup tables will be constructed to include the correspondence between each type of reliability data and each type of reading algorithm.
[0046] The target reading phase of this embodiment includes a hard reading phase and a soft reading phase. The hard reading phase includes various reading algorithms such as bit-flip hard reading algorithm, gradient descent bit-flip hard reading algorithm, probabilistic gradient descent bit-flip hard reading algorithm, potential energy-assisted gradient descent bit-flip hard reading algorithm, and potential energy-assisted probabilistic gradient descent bit-flip hard reading algorithm. The soft reading phase includes various reading algorithms such as normalized minimum sum soft reading algorithm and offset minimum sum soft reading algorithm.
[0047] The types of the various target reading parameters in the reading algorithm may be the same or different, but they are all relevant parameters that can affect the efficiency of the corresponding reading algorithm.
[0048] In the hard read algorithm, when the target read algorithm is a gradient descent bit flip read algorithm, the type of the target read parameter is the flip threshold value; when the target read algorithm is a probabilistic gradient descent bit flip read algorithm, the type of the target read parameter is the probability value; when the target read algorithm is a potential energy-assisted gradient descent bit flip read algorithm, the type of the target read parameter is the record length; and when the target read algorithm is a potential energy-assisted probabilistic gradient descent bit flip read algorithm, the type of the target read parameter is the flip probability value.
[0049] Each set of target read parameters in the soft read algorithm includes general parameters and algorithm parameters. General parameters include the number of iterations of the soft decoder, the mapping table of the input LLR, and the internal bit width—parameters found in various soft read algorithms. Algorithm parameters are specific to each soft read algorithm. For example, if the target soft read algorithm is a normalized minimum sum soft read algorithm, the algorithm parameters include the normalization factor alpha; if it's an offset minimum sum soft read algorithm, the algorithm parameters include the offset factor offset. The specific type of algorithm parameters is determined based on the soft read algorithm and is not limited here.
[0050] Step S22: When the efficiency of reading parameters within the reliability data range is greater than the preset efficiency, establish a correspondence between the reading parameters and the corresponding reliability data range.
[0051] The preset efficiency can be set based on specific efficiency requirements for reading, and is not limited thereto. In this embodiment, the efficiency refers to the efficiency of a successful read.
[0052] When the efficiency of the read parameters within the reliability data range exceeds the preset efficiency, it indicates that this set of read parameters can be used for reading within the corresponding reliability data range scenario and guarantees a certain level of efficiency. Therefore, a correspondence is established between this set of read parameters and the corresponding reliability data range. Efficiency can be characterized by parameters such as convergence speed or total time taken for a successful read.
[0053] In a specific application scenario, suppose a target read algorithm has five read parameters: A, B, C, D, and E. These five read parameters need to be associated with multiple reliability data ranges of the original bit error rate. If the efficiency of read parameter A within a reliability data range 'a' of the original bit error rate exceeds a preset efficiency, then a correspondence is established between read parameter A and the reliability data range 'a' of the original bit error rate. The establishment of this correspondence follows a similar process. Each reliability data range is associated with at least one read parameter in the read algorithm, allowing for the subsequent random selection of target read parameters from these at least one parameter, or optimization based on efficiency.
[0054] The efficiency of all reading parameters of each reading algorithm within different reliability data ranges under various types of reliability data is determined, and then the corresponding relationship is determined by comparing the above with the preset efficiency.
[0055] Step S23: Construct a preset reference table for each reading algorithm based on the correspondence between the reliability data ranges.
[0056] Each reading algorithm corresponds to multiple reliability data types, establishing multiple preset lookup tables. When the reliability data type is the raw bit error rate (Rber), syndrome weight (SW), or failure bit counter (FBC), then one reading algorithm corresponds to three preset lookup tables, each with a different reliability data type.
[0057] Each preset lookup table includes the correspondence between multiple reliability data ranges for the corresponding reliability data type and multiple sets of reading parameters in the corresponding reading algorithm.
[0058] Taking the hard read algorithm as an example, in a specific application scenario, using the Probabilistic Gradient Descent Bit Flip Read (PGDBF) algorithm as an example, when the type of reliability data is the raw bit error rate (Rber), the preset lookup table can be as follows: Table 1:
[0059] Reliability data range probability value p (0, Rber_1) p_1 (Rber_1, Rber_2) p_2 (Rber_2, Rber_3) p_3 (Rber_3, Rber_4) p_4
[0060] In a specific application scenario, Rber_1 can be 0.015; Rber_2 can be 0.0165; Rber_3 can be 0.018; and Rber_4 can be 0.020. In another specific application scenario, p_1 can be 98%, p_2 can be 95%, p_3 can be 90%, and p_4 can be 85%. In other application scenarios, the number and values of the threshold values, as well as the specific value of the probability value p, can be set based on the actual situation and are not limited.
[0061] In a specific application scenario, taking the Probabilistic Gradient Descent Bit Flip Reading (PGDBF) algorithm as an example, when the type of reliability data is syndrome weight (SW, a symptom value), the preset reference table can be as follows: Table 2:
[0062]
[0063]
[0064] In a specific application scenario, SW_1 can be 1400; SW_2 can be 1600; SW_3 can be 1800; and SW_4 can be 2000. In another specific application scenario, p_1 can be 99%, p_2 can be 94%, p_3 can be 91%, and p_4 can be 86%. The above are just examples. In other application scenarios, the number and value of the threshold values, as well as the specific value of the probability value p, can be set based on the actual situation and are not limited.
[0065] In a specific application scenario, taking the Probabilistic Gradient Descent Bit Flip Read (PGDBF) algorithm as an example, when the type of reliability data is Failure Bit Counter (FBC), the preset lookup table can be as follows: Table 3:
[0066] Reliability data range probability value p (0,50] p_9 (50,100] p_10 (100,200] p_11 (200,300] p_12
[0067] In other application scenarios, the number and value of threshold values, as well as the specific value of probability value p, can be set based on the actual situation without limitation.
[0068] Taking the soft read algorithm as an example, in a specific application scenario, using the normalized minimum sum soft read algorithm as an example, when the type of reliability data is the raw bit error rate (Rber, aw bit error rate), the preset lookup table can be as follows: Table 4:
[0069] Reliability data range Soft read parameters (0, Rber_1) alpha_1 and H1 (Rber_1, Rber_2) alpha_2 and H2 (Rber_2, Rber_3) alpha_3 and H3 (Rber_3, Rber_4) alpha_4 and H4
[0070] In a specific application scenario, Rber_1 can be 0.015; Rber_2 can be 0.0165; Rber_3 can be 0.018; and Rber_4 can be 0.020. In another specific application scenario, alpha_1 can be 13, alpha_2 can be 12, alpha_3 can be 11, and alpha_4 can be 10. In other application scenarios, the number and values of the threshold values, the normalization factor alpha, and the specific values of the general parameter H can be set based on the actual situation and are not limited.
[0071] In a specific application scenario, taking the normalized minimum and soft read algorithm as an example, when the type of reliability data is syndrome weight (SW, a symptom value), the preset reference table can be as follows: Table 5:
[0072] Reliability data range Soft read parameters (0, SW_1) alpha_5 and H5 (SW_1, SW_2) alpha_6 and H6 (SW_2, SW_3) alpha_7 and H7 (SW_2, SW_4) alpha_8 and H8
[0073] In a specific application scenario, SW_1 can be 1400; SW_2 can be 1600; SW_3 can be 1800; and SW_4 can be 2000. In other application scenarios, the number and value of threshold values, the normalization factor alpha, and the specific value of the general parameter H can be set based on the actual situation and are not limited.
[0074] In a specific application scenario, taking the normalized minimum and soft read algorithm as an example, when the type of reliability data is the Failure Bit Counter (FBC), the preset lookup table can be as follows: Table 6:
[0075] Reliability data range Soft read parameters (0,50] alpha_9 and H9 (50,100] alpha_10 and H10 (100,200] alpha_11 and H11 (200,300] alpha_12 and H12
[0076] In other application scenarios, the number and value of threshold values, the normalization factor alpha, and the specific value of the general parameter H can be set based on the actual situation without limitation.
[0077] The higher the value of the aforementioned reliability data, the higher the requirement for error correction capability.
[0078] The table comparing other types of reading algorithms with the preset reference tables for various types of reliability data is similar to the table above and will not be repeated here.
[0079] Step S24: Obtain the current reliability data of the storage device.
[0080] The specific type of current reliability data is pre-set in the storage device. The specific type can be obtained by consulting the storage device's instruction manual or by directly viewing the storage device's reliability data information.
[0081] The current reliability data is obtained as follows: In a specific application scenario, in response to the current reliability data being a symptom value, the hard read data of the storage device is obtained, and the hard read data is multiplied by the parity matrix to obtain the parity data; the number of 1s in the parity data is determined to obtain a symptom value, and a preset lookup table between the symptom value and each set of soft read parameters is directly established.
[0082] A symptom value is the number of 1s in a syndrome. For LDPC (Low-Density Parity-Check) codes, the distribution of SW (Symptom Score) differs under different failed bit counts (FBC) or different Rber (Rapid Bit Count). 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, allowing for double lookup by combining this with a pre-defined Rber / FBC lookup table. 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. 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 a symptom value, and directly establishing a pre-defined lookup table between the symptom value and each set of soft read parameters.
[0083] 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.
[0084] In a specific application scenario, obtaining the current reliability data of the storage device includes: responding to the current reliability data, including 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.
[0085] 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.
[0086] 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).
[0087] Step S25: Determine the target reading algorithm for the storage device based on the current reading stage of the storage device, and obtain the preset lookup table corresponding to the target reading algorithm.
[0088] Obtain the current reading stage of the storage device, and obtain multiple corresponding reading algorithms based on the current reading stage; select the target reading algorithm from the multiple corresponding reading algorithms based on the reading efficiency.
[0089] The read phase of a storage device includes a hard read phase and a soft read phase. The method for determining the read phase is based on the order of the read recovery phase. Generally, during read recovery, the storage device first enters the hard read phase to perform a hard read. If the hard read fails, it then enters the soft read phase to perform a soft read.
[0090] When the current read phase of the storage device is a hard read phase, obtain the bit-flipping hard read algorithm, the gradient descent bit-flipping hard read algorithm, the probabilistic gradient descent bit-flipping hard read algorithm, the potential energy-assisted gradient descent bit-flipping hard read algorithm, and the potential energy-assisted probabilistic gradient descent bit-flipping hard read algorithm; or when the current read phase of the storage device is a soft read phase, obtain the normalized minimum sum soft read algorithm and the offset minimum sum soft read algorithm.
[0091] In a specific application scenario, a suitable target read algorithm can be selected based on the storage device type and experience during the current read phase. Alternatively, any target read algorithm can be chosen during the current read phase. Furthermore, the most efficient read algorithm can be evaluated through simulation during the current read phase and selected as the target read algorithm. That is, when the current read phase is a hard read phase, the most efficient target read algorithm is determined from a variety of hard read algorithms; when the current read phase is a soft read phase, the most efficient target read algorithm is determined from a variety of soft read algorithms.
[0092] After determining the target read algorithm, a corresponding preset lookup table is selected based on the target read algorithm and the type of the current reliability data. Assuming the target read algorithm is Probabilistic Gradient Descent Bit Flip Read (PGDBF) and the current reliability data type is raw bit error rate, then the preset lookup table is Table 1. The method for determining the preset lookup table is similar and will not be elaborated further.
[0093] Step S26: Based on the reliability data range to which the current reliability data belongs, find the target reading parameter corresponding to the current reliability data from the preset lookup table.
[0094] After obtaining the current reliability data, based on the specific type of the current reliability data, the system searches for the current reliability data and the target reading parameters corresponding to the target reading algorithm from the corresponding preset lookup table.
[0095] In a specific application scenario, when the target reading algorithm is the Probabilistic Gradient Descent Bit Flip Reading (PGDBF) algorithm and the type of reliability data is the raw bit error rate (Rber, aw bit error rate), assuming that the current reliability data is 0.017, it belongs to the (Rber_2, Rber_3) range. Then, look up Table 1 to determine the target reading parameter p_3 corresponding to the current reliability data.
[0096] In a specific application scenario, when the target reading algorithm is the probabilistic gradient descent bit flip reading algorithm (PGDBF) and the type of reliability data 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 reading parameter corresponding to the current reliability data is determined to be p_6.
[0097] The search steps are similar and will not be elaborated upon.
[0098] Step S27: Read the storage device using the target read algorithm based on the target read parameters.
[0099] The target read parameters are substituted into the target read algorithm to read from the storage device.
[0100] Since the read parameters corresponding to the reliability data range can guarantee the read efficiency to a certain extent, reading the storage device using the target read algorithm based on the target read parameters can improve the efficiency of the read algorithm in various reliability scenarios. By dynamically adjusting the target read parameters to adapt to different reliability scenarios, the latency and power consumption of the data recovery process of the storage device can be reduced as a whole, the decoding efficiency and reliability can be improved, and the number of times the decoding algorithm is started and the decoding latency can be reduced.
[0101] Through the above steps, the storage device reading method of this embodiment, by pre-setting a preset lookup table including the correspondence between multiple reliability data ranges and various reading parameters of each reading algorithm, when reading data from the storage device, finds the target reading parameter corresponding to the current reliability data from the preset lookup table based on the reliability data range to which the current reliability data of the storage device belongs; and reads the storage device based on the target reading parameter, thereby determining the target reading parameter with sufficient efficiency based on the current reliability data of the storage device, which can improve the efficiency of the reading algorithm under various reliability scenarios. By dynamically adjusting the target reading parameter to adapt to different reliability scenarios, the target reading parameter is closely related to the reliability of the storage device, thereby reducing the latency and power consumption of the data recovery process of the storage device, improving decoding efficiency and reliability, and reducing the number of times the decoding algorithm is started and the decoding latency.
[0102] 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.
[0103] 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 components. A general-purpose processor can be a microprocessor or any conventional processor. Furthermore, processor 32 can be implemented using integrated circuit chips.
[0104] The above solution can reduce the latency and power consumption of the data recovery process of storage devices, and improve decoding efficiency and reliability.
[0105] 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.
[0106] 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.
[0107] 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.
[0108] 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.
[0109] 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.
[0110] 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 method for reading from a storage device, characterized in that, The method for reading the storage device includes: The target read algorithm for the storage device is determined, and the current reliability data of the storage device and the preset lookup table corresponding to the target read algorithm are obtained; wherein, the preset lookup table includes the correspondence between multiple reliability data ranges and multiple sets of read parameters in the target read algorithm; Based on the reliability data range to which the current reliability data belongs, the target reading parameter corresponding to the current reliability data is found from a preset lookup table; The storage device is read using the target read algorithm based on the target read parameters.
2. The method for reading a storage device according to claim 1, characterized in that, The algorithm for determining the target read from the storage device includes: Obtain the current reading stage of the storage device, and obtain various corresponding reading algorithms based on the current reading stage; The target reading algorithm is selected from a variety of corresponding reading algorithms based on reading efficiency.
3. The method for reading a storage device according to claim 2, characterized in that, The step of obtaining the current read stage of the storage device and obtaining corresponding multiple read algorithms based on the current read stage includes: When the current read phase of the storage device is a hard read phase, acquire the bit-flipping hard read algorithm, the gradient descent bit-flipping hard read algorithm, the probabilistic gradient descent bit-flipping hard read algorithm, the potential energy-assisted gradient descent bit-flipping hard read algorithm, and the potential energy-assisted probabilistic gradient descent bit-flipping hard read algorithm; or When the current read phase of the storage device is a soft read phase, obtain the normalized minimum sum soft read algorithm and the offset minimum sum soft read algorithm.
4. The method for reading a storage device according to claim 3, characterized in that, The method for reading the storage device also includes: In response to the target read algorithm being a bit-flipping hard read algorithm, the type of the target read parameter is a flipping threshold value; In response to the target read algorithm being a gradient descent bit-flipping hard read algorithm, the type of the target read parameter is a flipping threshold value; Since the target reading algorithm is a probabilistic gradient descent bit-flipping hard read algorithm, the type of the target reading parameter is a probability value; In response to the target read algorithm being a potential-assisted gradient descent bit-flipping hard read algorithm, the type of the target read parameter is record length; In response to the target read algorithm being a potential-assisted probabilistic gradient descent bit-flipping hard read algorithm, the type of the target read parameter is a flipping probability value; In response to the target read algorithm being a normalized minimum and soft read algorithm, the type of the target read parameter is a normalization factor; In response to the target read algorithm being a minimum offset and soft read algorithm, the type of the target read parameter is an offset factor.
5. The method for reading a storage device according to claim 2, characterized in that, The process of obtaining the current reliability data of the storage device includes, prior to: The efficiency of multiple sets of reading parameters for each of the aforementioned reading algorithms is determined under different reliability data ranges; wherein the parameter values are different between the various sets of reading parameters. When the efficiency of the reading parameter within the reliability data range is greater than the preset efficiency, a correspondence is established between the reading parameter and the corresponding reliability data range. Based on the correspondence of each reliability data range, a preset reference table is constructed for each of the reading algorithms.
6. The method for reading a storage device according to any one of claims 1-5, characterized in that, The obtained current reliability data of the storage device includes: In response to the current reliability data being 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.
7. The method for reading a storage device according to any one of claims 1-5, characterized in that, The obtained current reliability data of the storage device includes: In response to the current reliability data being 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 a successful historical decoding result, 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.
8. The method for reading a storage device according to claim 7, 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.
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 method for reading the storage device 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 method for reading the storage device as described in any one of claims 1 to 8.