Data processing method of storage device, storage device and storage medium
By constructing a reread table in the form of a linked list and optimizing the reread voltage adjustment according to the storage page type, the problem of high bit flip rate when reading data after long-term storage is solved, improving read performance and user experience, and increasing the read efficiency and user satisfaction of the storage device.
Patent Information
- Application Number
- CN202410599605.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-14
- Publication Date
- 2025-11-14
AI Technical Summary
Existing storage devices suffer from high bit flip rates when reading data due to electron loss after long-term storage, exceeding the capabilities of error correction engines. This requires voltage adjustment during rereading, but conventional methods cannot be optimized for specific scenarios and storage page types, resulting in decreased read performance and a poor user experience.
Construct a reread table in the form of a linked list, obtain the corresponding reread voltage according to the storage page type, call it sequentially, and adjust the node position after a successful read. Set the reread voltage of consecutive successful reads as the default read voltage to reduce reread time and error occurrence.
It improves the read performance of storage devices and the user experience, reduces reread operation time, saves time, and improves read efficiency and accuracy.
Smart Images

Figure CN120950296A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, and in particular to data processing methods, storage devices, and storage media for storage devices. Background Technology
[0002] The basic memory cell of a storage device (such as flash memory), the floating-gate transistor, consists of a gate, an oxide layer, a floating gate layer, and another oxide layer stacked sequentially. During programming, a positive voltage is applied to the gate to inject electrons into the floating gate layer. Due to the presence of the oxide layer, a large number of electrons are captured by the floating gate layer, representing the programming state 0. When there are no electrons or only a very small number of electrons in the floating gate layer, it represents the erase state 1. Over time, electrons in the floating gate layer gradually escape through the oxide layer, reducing the number of electrons in the floating gate layer. This phenomenon is called the data retention characteristic of the storage device. When reading stored data from a page in the storage device, a low voltage is applied to the transistor. If there are no electrons in the floating gate layer, the transistor is conducting, and a value of 1 is read; if there are electrons in the floating gate layer, the transistor is not conducting, and a value of 0 is read.
[0003] However, after a long period of storage, due to electron loss, reading data using the default read voltage will result in a high number of bit flips, which may exceed the maximum error correction capability of the error correction engine. At this time, it is necessary to go through the read retry process to continuously try to adjust the size of the read voltage (i.e., reread voltage) until the data is read correctly. Summary of the Invention
[0004] This application provides a data processing method for a storage device, a storage device, and a storage medium, which can realize the real-time adjustment of the position of the reread voltage that meets the conditions on the reread table after rereading a storage page that has a read error. This facilitates the reduction of the time to obtain the reread voltage that meets the conditions in subsequent read operations, thereby improving read performance and enhancing the user experience.
[0005] To address the aforementioned technical problems, this application provides a data processing method for a storage device, comprising: in response to a read error occurring on a target storage page, obtaining a reread table corresponding to the target storage page; wherein the reread table is constructed in the form of a linked list; sequentially calling the corresponding reread voltages to perform reread operations on the target storage page according to the pointer order of the reread table; in response to the data read by the reread operation being normal, ending the call to the reread table, and adjusting the node position of the current reread voltage in the reread table forward.
[0006] In some embodiments, obtaining the reread table corresponding to the target storage page includes: determining the type of the target storage page; and obtaining the reread table corresponding to the type based on the type; wherein the reread table corresponds one-to-one with the type.
[0007] In some embodiments, adjusting the node position of the current reread voltage forward in the reread table includes: forming a new node based on the current reread voltage, and obtaining the current node position of the current reread voltage in the reread table; inserting the new node into a number of nodes before the current node position, and adjusting the pointer so that the reading order of the new node is before the reading order of the current node position.
[0008] In some embodiments, inserting a new node into a number of nodes preceding the current node position includes inserting the new node into the head of the reread table.
[0009] In some embodiments, the method further includes: counting a number of reread voltages corresponding to normal data read from the same type of target storage page during a reread operation; and setting the target reread voltage as the default read voltage of the target storage page in response to the fact that the number of times the target reread voltage is used consecutively exceeds a threshold.
[0010] In some embodiments, the method further includes: responding to a read error occurring in the next target storage page of the same type and the data storage time of the next target storage page of the same type; performing a read operation on the next target storage page of the same type using the default read voltage of the target storage page of the same type corresponding to the data storage time.
[0011] In some embodiments, the method further includes: in response to a read error occurring when a read operation is performed on the next target storage page of the same type using the default read voltage of the target storage page of the same type corresponding to the data storage time, obtaining a reread table corresponding to the next target storage page of the same type.
[0012] In some embodiments, the types include Lower Page, Upper Page, and Extra Page.
[0013] To address the aforementioned technical problems, this application also provides a storage device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the aforementioned data processing method.
[0014] In order to solve the above-mentioned technical problems, this application provides another aspect of a computer-readable storage medium storing a computer program, which, when executed by a processor, is used to implement the above-mentioned data processing method.
[0015] The data processing method for storage devices provided in some embodiments of this application uses a linked list to construct the reread table. Each time the reread table is read, it needs to be read from the beginning. Therefore, following the pointer order of the reread table, the corresponding reread voltage is sequentially called to perform a reread operation on the target storage page. If the data read during the reread operation is normal, the call to the reread table ends, and the node position of the current reread voltage is adjusted forward in the reread table. This facilitates the rapid acquisition of the corresponding reread voltage at a earlier position in the reread table during subsequent reread operations, thereby reducing the reread operation time, improving read performance, and enhancing the user experience. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. Wherein:
[0017] Figure 1 This is a flowchart illustrating the data processing method of a storage device in some embodiments of this application;
[0018] Figure 2 This is a schematic diagram of the reread table in some embodiments of this application;
[0019] Figure 3 This is a schematic diagram of the reread table in some embodiments of this application;
[0020] Figure 4 This is a schematic diagram of the reread table in some embodiments of this application;
[0021] Figure 5 This is a flowchart illustrating the data processing method of a storage device in some embodiments of this application;
[0022] Figure 6 This is a flowchart illustrating the data processing method of a storage device in some embodiments of this application;
[0023] Figure 7 This is a flowchart illustrating the data processing method of a storage device in some embodiments of this application;
[0024] Figure 8 These are schematic diagrams of the storage device structure in some embodiments of this application;
[0025] Figure 9 This is a schematic diagram of the structure of a computer-readable storage medium in some embodiments of this application. Detailed Implementation
[0026] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0027] As can be understood, the basic storage unit of a storage device (such as flash memory), the floating-gate transistor, consists of a gate, an oxide layer, a floating gate layer, and another oxide layer stacked sequentially. During programming, a positive voltage is applied to the gate to inject electrons into the floating gate layer. Due to the presence of the oxide layer, a large number of electrons are captured by the floating gate layer, representing the programming state 0. When there are no electrons or only a very small number of electrons in the floating gate layer, it represents the erase state 1. After the stored data has been stored for a long time, electrons in the floating gate layer will gradually escape through the oxide layer over time. At this time, the number of electrons in the floating gate layer will decrease. This phenomenon is called the data retention characteristic of the storage device. When reading the stored data in the storage page of the storage device, a low voltage needs to be applied to the transistor. If there are no electrons in the floating gate layer, the transistor is conducting, and a 1 is read; if there are electrons in the floating gate layer, the transistor is not conducting, and a 0 is read.
[0028] However, after a long period of storage, due to electron loss, reading data using the default read voltage will result in a high number of bit flips, which may exceed the maximum error correction capability of the error correction engine. At this time, it is necessary to go through the read retry process to continuously try to adjust the size of the read voltage (i.e., reread voltage) until the data is read correctly.
[0029] Based on this, this application proposes a data processing method for a storage device.
[0030] See Figure 1 , Figure 1 This is a flowchart illustrating a data processing method for a storage device in some embodiments of this application. The data processing method includes:
[0031] Step 11: In response to a read error occurring on the target storage page, obtain the reread table corresponding to the target storage page; wherein, the reread table is constructed in the form of a linked list.
[0032] In some embodiments, a read operation is performed on the target storage page using the corresponding default read voltage. If the difference between the data read by the read operation and the data written when the target storage page is written does not meet a preset condition, it is determined that a read error has occurred in the target storage.
[0033] In some embodiments, the preset condition is that the amount of bit-flipped data compared to the written data is less than a preset value. This preset value can be determined based on actual circumstances and is not limited here. Specifically, if the amount of bit-flipped data compared to the data written during a write operation on the target storage page exceeds the preset value, a read error is determined to have occurred on the target storage page, and a read retry is required for the target storage page.
[0034] For example, if the preset value is 2, the data written to the target memory page is "0000 0001 0111 11101101", while the data read by the read operation is "0000 0011 1111 0110 0100", it can be seen that the number of bit flips is 4, which is greater than the preset value. Based on this, it is determined that a read error has occurred in the target memory page.
[0035] In some embodiments, the preset condition is that the proportion of bit-flipped data in the read data compared to the written data is less than a preset proportion. This preset proportion can be determined based on actual circumstances and is not limited here. Specifically, if the proportion of bit-flipped data in the read operation compared to the data written during a write operation on the target storage page exceeds the preset proportion, a read error is determined to have occurred on the target storage page, and a read retry is required for the target storage page.
[0036] For example, if the preset ratio is 5%, the data written to the target memory page is "0000 0001 01111110 1101", while the data read by the read operation is "0000 0011 1111 0110 0100", it can be seen that the number of bit flips is 4, and the ratio is 4 / 20 = 20%, which is greater than the preset ratio. Based on this, it is determined that a read error has occurred in the target memory page.
[0037] In some embodiments, a preset condition is that the amount of bit-flipped data in the read data is less than the maximum error correction capability of the error correction engine (such as an ECC (Error Checking and Correcting) engine or an LDPC (Low Density Parity Check Code) engine) compared to the written data. Specifically, if the amount of bit-flipped data in the read operation is greater than the maximum error correction capability of the error correction engine compared to the data written during the write operation on the target storage page, a read error is determined to have occurred in the target storage page, and a read retry is required for the target storage page.
[0038] When a read error is detected in the target memory page, the read operation on the target memory page can be re-performed by calling the read re-read table and using the read re-read voltage associated in the read re-read table.
[0039] In related technologies, commonly used reread voltages are usually placed at the beginning of the reread table. However, this method cannot be optimized for specific scenarios. For example, the optimal reread voltage may be different for different storage times at room temperature (6 months / 7 months / 8 months or 1 year). Also, the optimal reread voltage may differ depending on the storage page type (Lower Page, Extra Page, Upper Page, or others) in different scenarios.
[0040] In some embodiments, corresponding reread tables can be set in advance according to the different types of storage pages. Then, when performing a reread operation, the type of the target storage page is determined, and the reread table corresponding to the type is obtained based on the type of the target storage page; wherein, the reread table is set in correspondence with the type.
[0041] The type of the target storage page is related to the type of storage device. Storage device types include SLC (Single-Level Cell), MLC (Multi-Level Cell), TLC (Triple-Level Cell), and QLC (Quad-Level Cell). When the storage device is SLC, the target storage page type is Strong Page. When the storage device is MLC, the target storage page types include Lower Page and Upper Page, and the corresponding reread table can be determined based on the Lower Page / Upper Page ratio. When the storage device is TLC, the target storage page types include Lower Page, Upper Page, and Middle Page, and the corresponding reread table can be determined based on the Lower Page / Upper Page / Middle Page ratio. When the storage device is QLC, the target storage page types include Lower Page, Extra Page, Upper Page, and Top Page.
[0042] Compared to related technologies, this application determines the type of the target storage page and then obtains a reread table corresponding to the type based on the target storage page. This allows for the design of different reread tables specifically for the type of storage page, thereby speeding up the determination of the reread voltage and saving reread time.
[0043] Step 12: Following the pointer order of the reread table, sequentially call the corresponding reread voltage to perform a reread operation on the target memory page.
[0044] In some embodiments, the reread table is a singly linked list, and when reading / retrieving data in the reread table, data is read / retrieved sequentially from the beginning. For example... Figure 2 As shown, Figure 2 This is a schematic diagram of the reread table in some embodiments of this application. When reading / calling, the reading / calling is performed in the order of "RR0→RR1→RR2→RR3→RR4".
[0045] In some embodiments, RR0 to RR4 directly represent the reread voltage, in which case the reread voltage can be directly invoked to perform a reread operation on the target memory page.
[0046] In other embodiments, RR0 to RR4 represent indices corresponding to each reread voltage, with a one-to-one correspondence between the indices and the reread voltages. The contents of the singly linked list are used to index the reread voltages, and all reread voltages are placed in an array, with the singly linked list storing the array indices. In this case, the target memory page can be reread according to the corresponding reread voltage in index order.
[0047] Step 13: In response to the normal data read from the reread operation, end the call to the reread table and adjust the node position of the current reread voltage forward in the reread table.
[0048] In some embodiments, a read operation is performed on the target storage page using the corresponding reread voltage. If the difference between the data read by the read operation and the data written when the target storage page is written meets a preset condition, it is determined that the data read by the target storage reread operation is normal.
[0049] In some embodiments, the preset condition is that the amount of bit-flipped data compared to the written data is less than a preset value. Specifically, if the amount of bit-flipped data compared to the data written during a write operation on the target memory page exceeds a preset value, a read error is determined to have occurred on the target memory page. The current retry voltage is not a suitable retry voltage, and another retry voltage needs to be used to retry the target memory page.
[0050] In some embodiments, the preset condition is that the proportion of bit-flipped data in the read data compared to the written data is less than a preset proportion. Specifically, if the proportion of bit-flipped data in the read operation compared to the data written during a write operation on the target memory page exceeds a preset proportion, a read error is determined to have occurred on the target memory page. The current retry voltage is not a suitable retry voltage, and another retry voltage needs to be used to retry the target memory page.
[0051] In some embodiments, the preset condition is that the amount of bit-flipped data compared to the written data is less than the maximum error correction capability of the error correction engine. Specifically, if the amount of bit-flipped data compared to the data written during a write operation on the target storage page is greater than the maximum error correction capability of the error correction engine, a read error is determined to have occurred in the target storage page. If the current reread voltage is not a suitable reread voltage, another reread voltage needs to be used to perform a read retry on the target storage page.
[0052] In some embodiments, if the data read by the current reread voltage during the target memory page read operation is normal, the current reread voltage is determined to be a valid voltage. Since the reread voltage / reread voltage index exists as nodes in the reread table, a new node can be formed based on the current reread voltage. The current node position of the current reread voltage in the reread table can be obtained, and the new node can be inserted into several nodes before the current node position. The pointers can be adjusted so that the reading order of the new node precedes the reading order of the current node position. This ensures that the most recently successful reread voltage is called earlier during subsequent rereads, increasing the probability of a successful reread.
[0053] The position of the new node can be the head of the reread table or another position that takes precedence over the current node in the pointer order, that is, the new node is inserted into the head of the reread table or another position that takes precedence over the current node in the pointer order.
[0054] If the initial reread table is as follows Figure 2 As shown, when the reread voltages corresponding to the initial reread table are called sequentially, it is determined that the data read when the target memory page is reread using the reread voltage corresponding to RR3 is normal. Therefore, the original RR3 can be deleted, and RR3 can be adjusted forward according to the pointer order to obtain the result shown below. Figure 3 The reread table shown here has the following order: "RR3→RR0→RR1→RR2→RR4".
[0055] Once again, if the initial reread table is as follows: Figure 3As shown, when the reread voltages corresponding to the initial reread table are called sequentially, it is determined that the data read when the target memory page is reread using the reread voltage corresponding to RR4 is normal. Therefore, the original RR4 can be deleted, and RR4 can be adjusted forward according to the pointer order to obtain the result shown below. Figure 4 The reread table shown here has the following order: "RR4→RR3→RR0→RR1→RR2".
[0056] In the embodiments of this application, the same reread table can only be called if the target storage pages are of the same type. When multiple target storage pages are of the same type, the reread table called by the later target storage page is the reread table of the earlier target storage page after executing the above steps 11 to 13. This can reduce the time consumed in determining the new reread voltage for the same type of target storage pages, reduce the number of rereads, avoid repeated execution, reduce process redundancy, improve efficiency, and increase the probability of successful reread.
[0057] For example, target memory pages include A, B, and C. A and B are of the same type, and their initial reread tables are "RR0→RR1→RR2→RR3→RR4", while C's initial reread table is "RR1→RR2→RR3→RR4→RR5". If the reread operation on the target memory pages is performed in the order "A→B→C", the reread table determined after the reread operation on A is "RR3→RR0→RR1→RR2→RR4". When performing a reread operation on B, the reread table called will follow the order "RR3→RR0→RR1→RR2→RR4", not "RR0→RR1→RR2→RR3→RR4". However, C is different from A / B; when performing a reread operation on C, the reread table called is "RR1→RR2→RR3→RR4→RR5".
[0058] Additionally, it's worth noting that when performing the first reread operation on a target storage page of a certain type, the reread table invoked is the initial reread table. The initial order in the initial reread table is determined by performing storage characteristic (such as Nand characteristics) analysis or directly based on the reread voltage table order provided by the storage device manufacturer. In some embodiments, the header of the initial reread table is the most commonly used reread voltage.
[0059] The data processing method for storage devices provided in some embodiments of this application uses a linked list to construct the reread table. Each time the reread table is read, it needs to be read from the beginning. Therefore, following the pointer order of the reread table, the corresponding reread voltage is sequentially called to perform a reread operation on the target storage page. If the data read during the reread operation is normal, the call to the reread table ends, and the node position of the current reread voltage is adjusted forward in the reread table. This facilitates the rapid acquisition of the corresponding reread voltage at a earlier position in the reread table during subsequent reread operations, thereby reducing the reread operation time, improving read performance, and enhancing the user experience.
[0060] See Figure 5 , Figure 5 This is a flowchart illustrating a data processing method for a storage device in some embodiments of this application, including:
[0061] Step 21: In response to a read error occurring on the target storage page, obtain the reread table corresponding to the target storage page; wherein, the reread table is constructed in the form of a linked list.
[0062] Step 22: Following the pointer order of the reread table, sequentially call the corresponding reread voltage to perform a reread operation on the target memory page.
[0063] Step 23: In response to the normal data read from the reread operation, end the call to the reread table and adjust the node position of the current reread voltage forward in the reread table.
[0064] Step 24: Calculate the reread voltage corresponding to the normal data read when rereading the same type of target storage page.
[0065] In some embodiments, based on the type of the target storage page, a first reread voltage belonging to the same type of target storage area that meets the conditions is determined. Then, multiple consecutive identical target reread voltages are selected from the multiple first reread voltages to determine whether the number of consecutive identical target reread voltages exceeds a threshold. If the threshold is exceeded, step 25 is executed. The size of the threshold can be determined according to the actual situation and is not limited here.
[0066] Step 25: In response to the fact that the number of times the target reread voltage has been used consecutively exceeds a threshold among a number of reread voltages, set the target reread voltage as the default read voltage of the target memory page.
[0067] In some embodiments, each target storage page has a corresponding default read voltage, which is a reference standard voltage and the optimal read voltage when data is first written. If the data read when using the default read voltage to read the target storage page is abnormal, a new optimal read voltage needs to be switched, with the default voltage used as a reference.
[0068] If the data read from the target memory page during the reread operation using the current reread voltage is normal, and the current reread voltage meets the conditions, the read voltage of the target memory page needs to be reset when exiting the reread operation on the target memory page. The reread voltage should be reset back to the default read voltage to ensure that if the target memory page fails to read again in the future, the default read voltage can still be used as a reference to call the reread table again to determine the corresponding reread voltage.
[0069] In some embodiments, when multiple target memory pages of the same type are read consecutively using the same reread voltage, the reread voltage can be determined as the optimal voltage for this type of target memory page, and the read voltage for this type of target memory page can be modified to use the reread voltage as the default read voltage.
[0070] Related technologies typically set the reread voltage to the default voltage after the read retry is completed. However, when reading from a storage page that has also experienced a long period of data storage, the data cannot be read correctly using the default voltage. The read error handle process needs to be re-run, which takes more time to read the data correctly. This results in a significant reduction in read performance and seriously affects the user experience.
[0071] Compared to related technologies, the data processing method for storage devices provided in some embodiments of this application can adjust the position of the reread voltage that meets the conditions in the reread table in real time after rereading the storage page that has experienced a read error. This facilitates reducing the time required to obtain the reread voltage that meets the conditions in subsequent read operations, thereby improving read performance and user experience. Furthermore, the reread voltage obtained from consecutively reading the same type of target storage page N (≥2) times can be set as the default read voltage for the target storage page. This ensures that subsequent reads of other data that have also undergone long-term data retention can be performed without rereading, thus guaranteeing high read performance and a good user experience. This not only saves time but also reduces the occurrence of read errors.
[0072] See Figure 6 , Figure 6 This is a flowchart illustrating a data processing method for a storage device in some embodiments of this application, including:
[0073] Step 31: In response to a read error occurring on the target storage page, obtain the reread table corresponding to the target storage page; wherein, the reread table is constructed in the form of a linked list.
[0074] Step 32: Following the pointer order of the reread table, sequentially call the corresponding reread voltage to perform reread operations on the target memory page.
[0075] Step 33: In response to the normal data read from the reread operation, end the call to the reread table and adjust the node position of the current reread voltage forward in the reread table.
[0076] Step 34: Calculate the reread voltage corresponding to the normal data read when rereading the same type of target storage page.
[0077] Step 35: In response to the fact that the number of times the target reread voltage has been used consecutively exceeds a threshold among a number of reread voltages, the target reread voltage is set as the default read voltage of the target memory page.
[0078] Step 36: In response to a read error occurring on the next target storage page of the same type, and the data storage time of the next target storage page of the same type.
[0079] In some embodiments, the data storage time of a target storage page refers to the time from when the data is written to the NAND flash memory and stored in the same NAND physical location.
[0080] Step 37: Perform a read operation on the next target storage page of the same type using the default read voltage of the target storage page of the same type corresponding to the data storage time.
[0081] In some embodiments, when the data storage time of the next target storage page is the same as or both are within a preset range as the data storage time of the target storage page, it can be confirmed that the cause of the read error in the target storage page and the next target storage page is the same, namely data retention.
[0082] Based on this, the default read voltage of the target memory page obtained through steps 31 to 35 above can be determined as the optimal read voltage for the next target memory page. The default read voltage can be used to perform a reread operation on the next target memory page, saving the process of determining the reread voltage for the next target memory page and saving time.
[0083] The data processing method for storage devices provided in some embodiments of this application can adjust the position of the reread voltage that meets the conditions in the reread table in real time after rereading a storage page that has experienced a read error. This facilitates reducing the time required to obtain the reread voltage that meets the conditions in subsequent read operations, thereby improving read performance and user experience. Furthermore, the reread voltage for consecutive reads of the same type of target storage page can be set as the default read voltage of the target storage page, reducing the occurrence of read errors. Additionally, using the device's default read voltage to reread subsequent target storage pages of the same type that have experienced read errors can save time and improve efficiency.
[0084] See Figure 7 , Figure 7 This is a flowchart illustrating a data processing method for a storage device in some embodiments of this application, including:
[0085] Step 41: In response to a read error occurring on the target storage page, obtain the reread table corresponding to the target storage page; wherein, the reread table is constructed in the form of a linked list.
[0086] Step 42: Following the pointer order of the reread table, sequentially call the corresponding reread voltage to perform reread operations on the target memory page.
[0087] Step 43: In response to the normal data read from the reread operation, end the call to the reread table and adjust the node position of the current reread voltage forward in the reread table.
[0088] Step 44: Calculate the reread voltage corresponding to the normal data read when rereading the same type of target storage page.
[0089] Step 45: In response to the fact that the number of times the target reread voltage has been used consecutively exceeds a threshold among a number of reread voltages, the target reread voltage is set as the default read voltage of the target memory page.
[0090] Step 46: In response to a read error occurring on the next target storage page of the same type, and the data storage time of the next target storage page of the same type.
[0091] Step 47: Perform a read operation on the next target storage page of the same type using the default read voltage of the target storage page of the same type corresponding to the data storage time.
[0092] Step 48: In response to a read error occurring when performing a read operation on the next target storage page of the same type using the default read voltage of the target storage page of the same type corresponding to the data storage time, obtain the reread table corresponding to the next target storage page of the same type.
[0093] In some embodiments, if a read error still occurs when performing a read operation on the next target storage page using the default read voltage of the target storage page corresponding to the data storage time, it can be determined that the default read voltage determined in steps 41 to 45 is no longer the optimal read voltage, and the default read voltage of the target storage page needs to be reset to the initial default read voltage.
[0094] For example, target memory pages of the same type include A, B, C, D, and E. The order of rereading target memory pages is "A→B→C→D→E". The default read voltage for A is 1, for B it is 2, for C it is 2, and for D it is 3. After rereading, the reread voltage for A, B, C, and D is determined to be 2.5. When the reread voltages for A, B, C, and D are all set to 2.5, a read error is found when E is read using the default read voltage of 2.5. It is determined that the default read voltage of 2.5 is no longer the optimal read voltage for A, B, C, and D. After completing the reread, the default read voltages for A, B, C, and D are changed from 2.5 to "1, 2, 2, 3" respectively. The reread voltage for E will be determined according to the reread table.
[0095] The data processing methods for storage devices provided in some embodiments of this application can reduce read errors, improve read performance, enhance user experience, and save processes and increase efficiency.
[0096] See Figure 8 , Figure 8 This is a schematic diagram of the structure of a storage device in some embodiments of this application. The storage device 10 includes a memory 101 and a processor 102. The memory 101 is used to store computer programs, and the processor 102 is used to execute the computer programs to implement the data processing method described in any of the above embodiments, which will not be described in detail here.
[0097] In some embodiments, the storage device 10 may be an SD (Secure Digital), an EMMC (Embedded Multi Media Card), a UFS (Universal Flash Storage), or others, without limitation.
[0098] See Figure 9 , Figure 9 This is a schematic diagram of the structure of a computer-readable storage medium in some embodiments of this application. The computer-readable storage medium 100 stores a computer program 1001. When the computer program 1001 is executed by the processor 102, it is used to implement the data processing method described in any of the above embodiments, which will not be described again here.
[0099] The processor 102 involved in this application may be referred to as a CPU (Central Processing Unit), which may be an integrated circuit chip, or a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component.
[0100] The computer-readable storage medium 100 used in this application includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), or optical discs.
[0101] In summary, the data processing method of the storage device 10 provided in some embodiments of this application can reduce the time to obtain the reread voltage that meets the conditions, improve read performance, and improve user experience, and can adapt to more long-term data storage scenarios with different durations.
[0102] Furthermore, the reread voltage for consecutive reads of the same type of target storage page can be set to the default read voltage of the target storage page. This ensures that subsequent reads of other data that have also undergone long-term data retention do not require rereading, thus guaranteeing high read performance and a good user experience. This not only saves time but also reduces the occurrence of read errors.
[0103] Furthermore, rereading the same type of target memory page that subsequently experiences a read error can save time and improve efficiency by utilizing the default read voltage of the re-equipment device.
[0104] The above description is merely an embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A data processing method for a storage device, characterized in that, The method includes: In response to a read error occurring on the target storage page, the reread table corresponding to the target storage page is obtained; wherein the reread table is constructed in the form of a linked list; According to the pointer order of the reread table, the corresponding reread voltage is called sequentially to perform reread operation on the target memory page; If the data read by the reread operation is normal, the call to the reread table ends, and the node position of the current reread voltage is adjusted forward in the reread table.
2. The data processing method according to claim 1, characterized in that, The step of obtaining the reread table corresponding to the target storage page includes: Determine the type of the target storage page; Based on the type, obtain the reread table corresponding to the type; wherein, the reread table corresponds one-to-one with the type.
3. The data processing method according to claim 1, characterized in that, The step of adjusting the node position of the current reread voltage forward in the reread table includes: A new node is formed based on the current reread voltage, and the current node position of the current reread voltage on the reread table is obtained; The new node is inserted into a number of nodes before the current node, and the pointer is adjusted so that the reading order of the new node is before the reading order of the current node.
4. The data processing method according to claim 3, characterized in that, The step of inserting the new node into a plurality of nodes preceding the current node position includes: Insert the new node into the head of the reread table.
5. The data processing method according to any one of claims 2-4, characterized in that, The method further includes: Statistical analysis of several reread voltages corresponding to normal data read during reread operations on the same type of target memory page; In response to the fact that a target reread voltage has been used more than a threshold number of times among a number of reread voltages, the target reread voltage is set as the default read voltage of the target memory page.
6. The data processing method according to claim 5, characterized in that, The method further includes: In response to a read error occurring on the next target storage page of the same type, and the data storage time of the next target storage page of the same type; The next target storage page is read using the default read voltage of the target storage page of the same type corresponding to the data storage time.
7. The data processing method according to claim 6, characterized in that, The method further includes: In response to a read error occurring when performing a read operation on the next target storage page of the same type using the default read voltage of the target storage page of the same type corresponding to the data storage time, the reread table corresponding to the next target storage page of the same type is obtained.
8. The data processing method according to claim 7, characterized in that, The types include Lower Page, Upper Page, and Extra Page.
9. A storage device, characterized in that, The storage device includes a memory and a processor, the memory being used to store a computer program, and the processor being used to execute the computer program to implement the data processing method according to any one of claims 1-8.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the data processing method according to any one of claims 1-8.