Data rereading method, device and equipment
By applying a data rereading method in flash memory, using preset rereading tables and voltage threshold distribution scanning technology, the problems of uncertainty and performance degradation of rereading tables in the prior art are solved, and efficient data rereading and system performance improvement are achieved.
Patent Information
- Application Number
- CN202411952662.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-27
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2044-12-27
AI Technical Summary
The existing flash data rereading methods have problems such as uncertainty in reread tables, performance degradation in large-scale differences, high historical experience dependence, and limitations in the process of calculating optimal voltage thresholds.
By applying a data rereading method in flash memory, the first offset voltage parameter group is obtained using a preset reread table for data page rereading. If it fails, a voltage threshold distribution scan is performed to determine the voltage offset direction, find the second offset voltage parameter group, and perform rereading.
It significantly improves the efficiency of reread table entries, reduces the time-consuming reread operation, effectively deals with complex and diverse storage scenarios, and improves system performance and reliability.
Smart Images

Figure CN119883118A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of data storage, and in particular to a data rereading method, device and equipment. Background Art
[0002] In modern digital storage systems, flash memory is widely used in various devices such as solid-state drives (SSDs), USB flash drives, embedded storage modules, etc. due to its high density, low power consumption, and non-volatility. However, in the actual use of flash memory, electronic offset is prone to occur, which can cause data errors and bit flips, thus affecting the reliability and performance of the storage system.
[0003] At present, in response to the electronic offset situation, the flash memory is generally re-read by traversing the preset retry table (Retry Table), adding a dedicated offset voltage parameter group under a fixed scenario, searching in all offset voltage items, and calculating the optimal voltage threshold. However, with the increasing number of bits of data that can be stored in flash memory cells and the increasing complexity of storage scenarios driven by the wave of digitalization, the current data re-reading method has problems such as uncertainty in the retry table, degradation of flash memory performance due to large-range differences, high reliance on historical experience, and limited process for calculating the optimal voltage threshold. Summary of the invention
[0004] The purpose of the present application is to provide a data rereading method, device and equipment to solve the problems in the current data rereading process, such as uncertainty in the rereading table, degradation of flash memory performance due to large-range differences, high reliance on historical experience, and limited process for calculating the optimal voltage threshold.
[0005] In a first aspect, an embodiment of the present application provides a data rereading method, which is applied to a flash memory, wherein the flash memory includes at least one word line and at least one data page type, each word line is connected to at least one data page, and the data page includes at least one read level. The data rereading method includes: when reading data from the flash memory, if there is a bit error rate when reading a target data page that exceeds the error correction range value, obtaining a first offset voltage parameter group corresponding to the target data page in the current state from a preset rereading table, and rereading the target data page using the first offset voltage parameter group. The first offset voltage parameter in the first offset voltage parameter group corresponds to the read level in the target data page. If the target data page fails to be reread using the first offset voltage parameter group, a voltage threshold distribution scanning process is performed on the target data page to obtain a second offset parameter set of the target data page. The second offset parameter set is compared with the first offset parameter set to determine the voltage offset direction of the read level in the target data page. The first offset parameter set is a voltage threshold distribution parameter set of the flash memory in the original state without wear at room temperature. According to the voltage offset direction, the target reread offset voltage item is searched in the optional offset voltage items, a second offset voltage parameter group is determined, and the target data page is reread using the reread offset voltage item in the second offset voltage parameter group.
[0006] A possible implementation method is to perform a voltage threshold distribution scanning process on a target data page to obtain a second offset parameter set of the target data page, including: performing a voltage threshold distribution scanning process on each read level in the target data page to obtain a voltage offset of each read level. According to the voltage offset of each read level, a voltage threshold distribution of each read level is determined. A second offset parameter set is extracted from the voltage threshold distribution of each read level. The voltage offset parameters in the second offset parameter set correspond to each read level.
[0007] A possible implementation method is to compare the second offset parameter set with the first offset parameter set to determine the voltage offset direction of the read level in the target data page, including: determining a matching index according to the target data page. The matching index is used to represent a preset correspondence between the target data page and at least one target read level. For any target read level among the at least one target read level, based on the matching index, determine a first offset parameter of the target read level in the first offset parameter set and a second offset parameter of the target read level in the second offset parameter set. Determine the difference between the second offset parameter and the first offset parameter. If the absolute values of the differences of the target read levels corresponding to the target data page are all less than or equal to the difference threshold, determine the voltage offset direction according to the difference.
[0008] A possible implementation method, according to the voltage offset direction, searching for a target reread offset voltage item in the optional offset voltage items, and determining a second offset voltage parameter group, includes: determining an optional offset voltage item from all available offset voltage items corresponding to the flash memory according to the voltage offset direction. The optional offset voltage item includes at least one characteristic parameter. The characteristic parameter is used to indicate the offset size of the optional offset voltage item. Based on the number of characteristic parameters in the optional offset voltage item, determining the target reread offset voltage item. According to the target reread offset voltage item, determining the second offset voltage parameter group.
[0009] In a possible implementation, a data rereading method provided by an embodiment of the present application further includes: if the rereading operation on the target data page is successful using the reread offset voltage item in the second offset voltage parameter group, updating the reread table using the reread offset voltage item.
[0010] A possible implementation method is to update a reread table using a reread offset voltage item, including: obtaining current state information of the flash memory. If the state difference percentage between the current state information and the preset state information stored in the reread table is less than or equal to the state update percentage threshold stored in the reread table, based on a matching index between a target data page and a target read level, using the reread offset voltage item in the second offset voltage parameter group as the offset voltage item of the target read level to update the corresponding first offset voltage parameter in the reread table.
[0011] In a possible implementation, a data rereading method provided by an embodiment of the present application further includes: if the state difference percentage between the current state information and the preset state information stored in the rereading table is greater than the state update percentage threshold stored in the rereading table, re-determining the target state match percentage threshold and the target state update percentage threshold according to the current state information. According to the second offset voltage parameter group and the current state information and the corresponding set target state match percentage threshold and target state update percentage threshold, a new parameter group is obtained and added to the rereading table.
[0012] In a second aspect, an embodiment of the present application provides a data re-reading device, which is applied to a flash memory, wherein the flash memory includes at least one word line, the word line includes at least one data page, and the data page includes at least one read level. The device includes: an acquisition module, a processing module, a determination module, and a re-reading module.
[0013] The acquisition module is used to acquire a first offset voltage parameter group corresponding to the target data page in the current state from a preset reread table when reading data from the flash memory, if the bit error rate when reading the target data page exceeds the error correction range value, and reread the target data page using the first offset voltage parameter group. The first offset voltage parameter in the first offset voltage parameter group corresponds to the read level in the target data page.
[0014] The processing module is used for performing voltage threshold distribution scanning processing on the target data page to obtain a second offset parameter set for the target data page if re-reading the target data page using the first offset voltage parameter set fails.
[0015] The determination module is used to compare the second offset parameter set with the first offset parameter set to determine the voltage offset direction of the read level in the target data page. The first offset parameter set is a voltage threshold distribution parameter group of the flash memory in the original state at room temperature without wear.
[0016] The reread module is used to search for a target reread offset voltage item in the optional offset voltage items according to the voltage offset direction, determine a second offset voltage parameter group, and reread the target data page using the reread offset voltage item in the second offset voltage parameter group.
[0017] In a third aspect, an embodiment of the present application provides a data rereading device, which has the function of implementing the data rereading method of the first aspect or any possible implementation method. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions.
[0018] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores instructions. When the computer-readable storage medium is run on a computer, the computer can execute the data rereading method of the first aspect or any possible implementation method.
[0019] In a fifth aspect, an embodiment of the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the data rereading method of the first aspect or any possible implementation method.
[0020] Among them, the technical effects brought about by any design method in the second to fifth aspects can refer to the technical effects brought about by different possible implementation methods in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the specific implementation methods of the present application or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0022] Figure 1 A schematic diagram of the structure of a flash memory provided in an embodiment of the present application;
[0023] Figure 2 A structural schematic diagram of a data re-reading device provided in an embodiment of the present application;
[0024] Figure 3 A flow chart of a data re-reading method provided in an embodiment of the present application;
[0025] Figure 4 A specific example diagram of a rereading table provided in an embodiment of the present application;
[0026] Figure 5 A structural schematic diagram of a data re-reading device provided in an embodiment of the present application;
[0027] Figure 6 A structural schematic diagram of a data re-reading system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0028] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various different configurations.
[0029] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for which protection is sought, but merely represents selected embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.
[0030] When using flash memory, it is easy for electronic offset to occur, which manifests as data errors. In current products using flash memory, the data written to the flash memory is decoded by a decoding module. However, when the amount of data with bit flips is large and exceeds the error correction capability of the decoding module, data loss may occur.
[0031] In the case of electron offset, the voltage threshold (Vth) data in the flash memory can better reflect the current distribution of electron offset. There are many factors that cause electron offset. For example, when data is written to the flash memory in a high temperature environment and then read at a low temperature; or vice versa, when data is written to the flash memory in a low temperature environment and then read at a high temperature, the voltage threshold (Vth) in the flash memory will drift, resulting in bit flipping during reading. Alternatively, frequent reading of the same area can cause slight electron offset, especially in multi-level cell (MLC) or quad-level cell (QLC) flash memory. Alternatively, when the flash memory is stored statically for a long time, it may also cause internal charge leakage or migration, resulting in changes in the Vth distribution.
[0032] If the default read voltage cannot correctly read back the data, it is necessary to offset the voltage and perform a reread operation. Generally, the hard disk firmware can use the reread offset voltage group in the reread table Retry Table to offset the voltage for rereading. When the flash memory uses the Retry Table for rereading, taking the QLC mode shown in Table 1 below as an example, due to the complex application scenario and the uncertainty of the data error page type and the corresponding Read Level, it is impossible to use the same group of reread offset voltage items in the Retry Table to restore all erroneous data. Therefore, the current rereading method often needs to traverse all parameter groups in the Retry Table. This rereading method can only perform rereading operations in the corresponding order to determine that the rereading operation is completed after finding the applicable reread parameters, resulting in low efficiency of the storage device in rereading operations after a read failure. Even if some data cannot be successfully corrected even after traversing the Retry Table, it is necessary to continue to use stronger soft decoding and other means to decode, which will significantly affect the data reading efficiency. Although flash memory manufacturers generally provide a fixed number of reread offset voltage groups, the effectiveness is poor in some uncertain scenarios, and timely updates and adaptations cannot be made.
[0033] Table 1 QLC mode
[0034]
[0035]
[0036] Therefore, it is necessary to process the electronically offset data to reduce the probability of data loss and improve the decoding efficiency when correcting the data.
[0037] At present, the flash memory data rereading method generally involves traversing the preset Retry Table, adding a dedicated offset voltage parameter group under a fixed scenario, searching in all offset voltage items, and calculating the optimal voltage threshold. However, with the increasing number of bits of data that can be stored in flash memory cells and the increasing complexity of storage scenarios driven by the wave of digitalization, the following defects have been caused. For example:
[0038] 1) The reread offset voltage group in the preset reread table has priority applicability, but the uncertainty is large and may not cover the optimal voltage in all fault scenarios. In extreme cases, all traversals may fail to read successfully. Moreover, for the changes in flash memory characteristics under complex and diverse reread scenarios, the limited number of reread table entries and update mechanisms may gradually fail to meet the needs.
[0039] 2) The multiple re-reading method of searching in a large range of all offset voltage items may greatly increase the reading time, and the more read levels need to be adjusted, the greater the impact of multiple large-scale attempts to read voltage offsets on the overall system performance.
[0040] 3) The rereading parameters based on historical data and experience summary in fixed scenarios can use the previous offset voltage items for the current rereading, but when the new scenario is very different from the historical scenario, the historical experience and data may not be fully applicable, and complete reliance on historical experience may lead to deviations and error propagation.
[0041] 4) Calculating the optimal voltage threshold can locate the best re-read parameters in the current scenario to a certain extent, but if it is implemented entirely by relying solely on the voltage threshold data, the accuracy of the method will depend entirely on the accuracy of the read voltage threshold data. If the original data has errors or is interfered with, it may affect the determination of the optimal threshold voltage, and thus affect the re-reading effect. Moreover, if the method only relies on calculating the optimal voltage threshold, extreme read failures in certain application scenarios will lead to repetitive operations of a large number of data reading and analysis processing, increasing the complexity and computational burden of the system, which may require more powerful hardware support or more computing resources to implement, thereby increasing the cost and difficulty of implementation to a certain extent.
[0042] Based on this, an embodiment of the present application provides a data rereading method, which is applied to a flash memory, wherein the flash memory includes at least one word line, the word line includes at least one data page, and the data page includes at least one read level. The method includes: when reading data from the flash memory, if there is a bit error rate when reading the target data page that exceeds the error correction range value, obtain a first offset voltage parameter group corresponding to the target data page in the current state from a preset reread table, and reread the target data page using the first offset voltage parameter group. The first offset voltage parameter in the first offset voltage parameter group corresponds to the read level in the target data page. If the rereading of the target data page using the first offset voltage parameter group fails, the target data page is subjected to a voltage threshold distribution scanning process to obtain a second offset parameter set of the target data page. The second offset parameter set is compared with the first offset parameter set to determine the voltage offset direction of the read level in the target data page. According to the voltage offset direction, the target reread offset voltage item is searched in the optional offset voltage item, the second offset voltage parameter group is determined, and the reread offset voltage item in the second offset voltage parameter group is used to reread the target data page.
[0043] The data rereading method provided in the embodiment of the present application significantly improves the use efficiency of the reread table items, reduces the time consumption of the reread operation, and effectively copes with complex and diverse storage scenarios. By matching the reread offset voltage items of the page types where the read failed data occurs in similar scenarios in the Retry Table, it is not necessary to traverse all the offset voltage parameter groups in order, thereby greatly improving the use efficiency of the reread table items.
[0044] In addition, the Retry Table update mechanism in the present application method can effectively utilize the historical data of successful rereading of the offset voltage item located based on the voltage threshold distribution, which not only realizes the timely adaptation of differentiated scenarios, but also enables the subsequent read failure data in the same scenario to be quickly matched to the latest parameter group, realizing efficient rereading and reducing the reread search calculation burden. This method uses the voltage threshold distribution only as the basis for judging the offset direction, and uses it to accurately locate in the effective offset voltage item, effectively avoiding errors or interference in the voltage threshold distribution data, reducing the search for invalid offset voltage items and Read Level, and achieving the best reread effect. This method is not only suitable for flash memories of different manufacturers and models, but also shows good compatibility and can cope with complex and diverse storage scenario requirements. In summary, the data rereading method provided in the embodiment of the present application not only improves the performance and reliability of the system, but also significantly reduces maintenance costs, providing users with a better experience.
[0045] The solution provided by the embodiment of the present application will be described in detail below with reference to specific drawings.
[0046] On the one hand, the embodiment of the present application provides a flash memory 100, such as Figure 1 As shown, the flash memory 100 may include at least one storage block 101 , each storage block 101 includes at least one data page 102 , each data page 102 is controlled by a group of word lines 103 , and each data page 102 has at least one read level 104 to distinguish different bit states.
[0047] Among them, flash memory 100 is a non-volatile storage technology, which is widely used in various devices, such as USB flash drives, solid-state drives (SSDs) and embedded systems. It has fast read and write speeds and high-density storage capabilities.
[0048] The word line 103 is a control line used to select a row of memory cells in the flash memory 100. Each word line connects a plurality of memory cells, which together constitute one or more data pages 102. By activating a specific word line, all memory cells on the row can be accessed.
[0049] Data page 102 is a logical storage unit in flash memory consisting of a group of continuous storage cells. A word line can contain multiple data pages. Each data page usually stores a certain number of data bits (e.g., 4KB or 8KB) and can be read and programmed independently.
[0050] The read level 104 refers to a voltage threshold or reference level used when reading a flash memory cell. Since multi-level cells (MLC, TLC, etc.) can store multiple bits of information in a single memory cell, different read levels are required to distinguish the states of each bit.
[0051] It should be noted that Figure 1 The flash memory 100 shown is only an example of the application scenario of the present application solution, and is not a limitation on the application scenario of the present application solution. The present application does not limit the number of storage blocks 101, data pages 102, word lines 103, and read levels 104 in the flash memory 100. The present application does not limit the manufacturer and model of the flash memory 100.
[0052] On the one hand, the embodiment of the present application provides a data re-reading device, such as Figure 2 As shown, the data re-reading device 200 may include a processor 201 and a memory 202 .
[0053] The processor 201 may include one or more processing units, for example, the processor 201 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0054] Exemplarily, the processor 201 may be configured to Figure 1 The data in the flash memory 100 shown is read.
[0055] The memory 202 is used to store instructions and data. In some embodiments, the memory 202 may be a cache memory. The memory 202 may store instructions or data that have just been used or are cyclically used by the processor 201. If the processor needs to use the instructions or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 201, and improves the efficiency of the data re-reading device.
[0056] It should be noted that the above Figure 2 The illustrated data re-reading device 200 is only used as an example to illustrate the application scenario of the solution of the present application, and is not intended to limit the application scenario of the solution of the present application.
[0057] On the one hand, the embodiment of the present application provides a data re-reading method, which can be deployed as follows Figure 2 The data re-reading device 200 shown in FIG. Figure 3 As shown, the method includes:
[0058] S301, when reading data from the flash memory, if the bit error rate when reading the target data page exceeds the error correction range value, obtain the first offset voltage parameter group corresponding to the target data page in the current state from the preset reread table, and use the first offset voltage parameter group to re-read the target data page.
[0059] The first offset voltage parameter in the first offset voltage parameter group corresponds to the read level in the target data page.
[0060] For example, Figure 4As shown, the reread table includes one or more groups of offset voltage parameter groups for rereading each read level, matching conditions for each state information, state matching thresholds for each state information, and state update thresholds for each state information. The read levels include RV1 to RV15.
[0061] Each offset voltage parameter group in the reread table includes offset voltage parameters for RV1 to RV15. The offset voltage parameter group is a set of offset parameters that can successfully reread a page that failed to read under certain conditions, which is pre-set based on historical data and experience. Certain conditions can be m (m is a natural number) state information such as the life of the corresponding flash memory unit (program / erase cycle, PE cycle), operating temperature (temperature), etc., recorded as Vc_1, Vc_2...Vc_m.
[0062] Specifically, the offset voltage parameters for RV1 to RV15 in the first offset parameter set (Vth parameters) are a set of Vth distribution parameter groups of the flash memory in its original state at room temperature and without wear. The offset voltage parameter group refers to the preset voltage offset parameters obtained after the Vth distribution conversion processing of the Word Line (word line) of the data without read failure in the original state at room temperature.
[0063] The process of determining the Vth distribution is to scan the Read Offset (voltage offset) of each read level (read level) through command set operations such as set parameter or set feature, record the number of cells with a read result of 1 (or the number of cells with a read result of 0), calculate the cell count difference of each adjacent Read Offset to obtain a set of values and then determine the Vt distribution of the corresponding Read Level. The Vt distribution of all page types (such as LP, UP, XP, TP) under a Word Line is collected through multiple Read Offset operations, and a Vt distribution set can be obtained after data processing and merging.
[0064] Among them, the Vth distribution conversion processing refers to converting a group of cell count difference values obtained by performing n Read Offset operations and processing in the Vt distribution set under certain conditions into (n-1) coordinate points in sequence, such as (1, y1), (2, y2), (3, y3)...(n-1, yn-1), the horizontal coordinate corresponds to the operation of calculating the cell count difference of each adjacent Read Offset, and the vertical coordinate y corresponds to the cell count difference value of the adjacent Read offset; and the horizontal coordinate x_r1 of the lowest point in the trough corresponding to each Read Level of the fitted waveform of the group of coordinate points is obtained through data processing.
[0065] Taking the QLC mode as an example, the first offset parameter set can be defined as [x_r1, x_r2, x_r3, x_r4, x_r5, x_r6, x_r7, x_r8, x_r9, x_r10, x_r11, x_r12, x_r13, x_r14, x_r15].
[0066] The matching condition of each state information in the rereading table is a matching condition corresponding to the state information. The matching condition is an adjustment corresponding to each state information.
[0067] The state matching threshold Pcp of each state information in the reread table is the matching threshold set for the offset voltage in the offset voltage parameter set in the RetryTable in a similar state during the reread operation, that is, when the state difference percentage is less than the threshold, it is considered to meet the matching requirements. Separate thresholds can be set for each state condition, or a unified matching threshold can be set.
[0068] The state update threshold Pup of each state information in the reread table is used to strictly limit the update threshold of the offset voltage parameter group update in the reread table, that is, when the state difference percentage is greater than the threshold, it is considered that the update requirement is met. Separate thresholds can be set according to state conditions, or a unified update threshold can be set.
[0069] It should be noted that Pcp<=Pup is generally required. The smaller the state matching threshold, the closer it is to the reread scenario where the match is successfully found, and the easier it is to use its offset voltage for successful rereading. The larger the state update threshold, the stricter the update of the reread table, and the greater the difference in the reread scenarios that meet the requirements, and the priority update is added to the reread table.
[0070] Exemplarily, taking the QLC mode as an example, the first re-read parameter set can be defined as [{RV1, RV2, ..., RV15}, {Vc_1, Pcp, Pup}, {Vc_2, Pcp, Pup}, ..., {Vc_m, Pcp, Pup}].
[0071] Specifically, when reading data from the flash memory, the flash memory controller checks whether the bit error rate exceeds the error correction range of the ECC. If the bit error rate exceeds the standard, the first offset voltage parameter group of the target data page in the current state is searched in the preset reread table according to the current environmental parameters and error mode. The target data page is reread using the newly obtained first offset voltage parameter group.
[0072] In this process, the reread offset voltage items of the page types where read failure data occurs in similar scenarios can be matched in the Retry Table, without traversing all the offset voltage parameter groups in the reread table in the corresponding order, thereby improving the efficiency of the use of the reread table items and reducing the time consumption of the reread operation. At the same time, this application can be applicable to flash memories of different manufacturers and models that may have different characteristics, and can be compatible with complex and diverse storage scenarios.
[0073] S302: If re-reading the target data page using the first offset voltage parameter set fails, a voltage threshold distribution scanning process is performed on the target data page to obtain a second offset parameter set for the target data page.
[0074] Specifically, when the target data page is re-read using the newly acquired first offset voltage parameter group, if the bit error rate still exceeds the error correction range of the ECC, a voltage threshold distribution scanning process is performed on the target data page.
[0075] A possible implementation method is to perform a voltage threshold distribution scanning process on each read level in the target data page to obtain a voltage offset of each read level. According to the voltage offset of each read level, a voltage threshold distribution of each read level is determined. A second offset parameter set is extracted from the voltage threshold distribution of each read level. The voltage offset parameters in the second offset parameter set correspond to each read level.
[0076] Specifically, a matching index is determined according to the target data page. The matching index is used to represent a preset corresponding relationship between the target data page and at least one target read level. For any target read level of the at least one target read level, a first offset parameter of the target read level in the first offset parameter set and a second offset number of the target read level in the second offset parameter set are determined based on the matching index. The difference between the first offset parameter and the second offset parameter is determined. If the absolute values of the differences of the target read levels corresponding to the target data page are all less than or equal to the difference threshold, the voltage offset direction is determined according to the difference.
[0077] Exemplarily, when the target data page is re-read using the newly acquired first offset voltage parameter group, if the bit error rate still exceeds the error correction range of the ECC, the page type where the read failure occurs is first located, and all the corresponding Read Level information is determined to obtain the first matching index. Taking the UP page in Table 1 as an example, the index list corresponding to R4 and R12 is obtained [3, 11].
[0078] Under the corresponding state conditions, the page type where the read failure occurs is matched with the first reread parameter set in the reread table, and a reread operation is performed. The specific steps are as follows:
[0079] a. Obtain m status information values under the current status conditions and record the status list Uc = [Uc_1, Uc_2, ..., Uc_m].
[0080] b. According to the m (m is a natural number) state information in the state list Uc, a matching search is performed in the reread table. When a state information value in the state list Uc is less than the state matching threshold Pcp set in the first reread parameter set when compared with the state information value corresponding to the first reread parameter set in the reread table, the state is considered to meet the matching requirements. According to the matching requirement of the state conditions in the parameter group agreed in advance and the matching priority requirement, the best matching first reread parameter set in the reread table is determined and recorded as the first matching parameter set.
[0081] c. Obtain the offset voltage item corresponding to the first matching index in the first matching parameter set, obtain the first offset voltage parameter group, and perform a reread operation through the flash memory manufacturer's set parameter or set feature command set. If the reread is successful, end the operation.
[0082] If the re-reading fails, the process proceeds to Vth scanning and comparison, and Vth distribution scanning is performed on the Word Line where the data page where the reading failure occurs is located under the corresponding state conditions to obtain a second offset parameter set.
[0083] S303, comparing the second offset parameter set with the first offset parameter set to determine a voltage offset direction of a read level in a target data page.
[0084] Exemplarily, after determining the second offset parameter set, it is compared with the first offset parameter set according to the first matching index, and the specific steps are as follows:
[0085] a. Perform Vth distribution scanning on the Word Line where the data page where the read failure occurs is located. The method is consistent with the processing method of the first offset parameter set in the Vth parameter group setting, and this application will not go into details. Obtain the horizontal coordinate of the lowest point in the valley corresponding to each Read Level of the fitted waveform of the group of Vth distribution coordinate points. Taking the QLC mode as an example, the second offset parameter set [U_r1, U_r2, U_r3, U_r4, U_r5, ..., U_r15] is obtained.
[0086] b. Read the Read Level position information in the first matching index, and obtain the coordinate values of the corresponding positions in the first offset parameter set and the second offset parameter set respectively; use the Read Level coordinate value in the second offset parameter set to subtract the corresponding coordinate value in the first offset parameter set to obtain the difference D_value.
[0087] c. Set the limit threshold B_thr (B_thr is a natural number) to reduce the Vth distribution reading fluctuation and the offset error caused by data processing, as well as the voltage offset within the acceptable range. If all the first matching indexes corresponding to the ReadLevel |D_value|≤B_thr are established, then if D_value>0, the voltage offset direction of the Read Level is recorded as rightward offset. If D_value<0, the voltage offset direction of the Read Level is recorded as leftward offset.
[0088] d. If all the corresponding Read Levels in the first matching index do not have |D_value|≤B_thr, then when |D_value|≤B_thr, it can be considered that the Read Level has not shifted and the default read voltage setting is maintained. If |D_value|>B_thr and D_value>0, the voltage shift direction of the read level is recorded as rightward. If |D_value|>B_thr and D_value<0, the voltage shift direction of the Read Level is recorded as leftward.
[0089] S304, searching for a target reread offset voltage item in the optional offset voltage items according to the voltage offset direction, determining a second offset voltage parameter group, and rereading the target data page using the reread offset voltage item in the second offset voltage parameter group.
[0090] In a possible implementation, according to the voltage offset direction, an optional offset voltage item is determined from all available offset voltage items corresponding to the flash memory. The optional offset voltage item includes at least one characteristic parameter. The characteristic parameter is used to indicate the offset size of the optional offset voltage item. Based on the number of characteristic parameters in the optional offset voltage item, a target reread offset voltage item is determined. And according to the target reread offset voltage item, a second offset voltage parameter group is determined.
[0091] Exemplarily, after obtaining the voltage offset directions of all read levels corresponding to the page where data read failure occurs, a search for a better offset voltage item is performed for each read level according to the corresponding offset direction. The specific steps are as follows:
[0092] a. Obtain all optional offset voltage items in ascending (or descending) order in the offset direction as the third offset parameter set, which is generally half of all available offset voltage items given by the flash memory manufacturer. Obtain the length L of the third offset parameter set Vol_lst list, the first boundary index is left_idx, the second boundary index is right_idx, the initial value left_idx=0, right_idx=L-1; R is the threshold value of the bit "1" ratio when the offset voltage reading of the Read Level can achieve the best distinction between different states of the storage unit; Delta (0≤Delta) is the difference between the acceptable actual bit "1" ratio and the ratio threshold R.
[0093] Among them, the default read voltage of the flash memory is based on 0. When the voltage shifts to the left, the offset setting of its characteristic parameters from small to large is generally 0xFF, 0xFE, ..., 0x81, 0x80, etc. When the voltage shifts to the right, the offset setting of its characteristic parameters from small to large is generally 0x01, 0x02, ..., 0x7E, 0x7F, etc.;
[0094] Among them, bit "1" means that in the read operation, the voltage of the storage cell is compared with the read voltage to determine whether the stored data is "0" or "1". If the voltage of the storage cell is lower than the read voltage, it will be judged as data "1", otherwise it will be "0".
[0095] b. Determine the third boundary index Lmid_idx and the fourth boundary index Rmid_idx according to the first boundary index left_idx and the second boundary index right_idx, which can be defined as Lmid_idx=left_idx+(right_idx-left_idx) / / 3 and Rmid_idx=right_idx-(right_idx-left_idx) / / 3 respectively.
[0096] c. When left_idx < right_idx is not satisfied, if left_idx > L - 1, set left_idx = L - 1; if right_idx < 0, set right_idx = 0. Then the better reread offset voltage term Vol_better = Vol_lst[(left_idx + right_idx) / / 2], and the search ends.
[0097] d. When left_idx < right_idx is satisfied, for the current Read Level, perform rereading according to the offset voltages in the third offset parameter set corresponding to the Lmid_idx and Rmid_idx indexes, and obtain the percentages Lmid_pct and Rmid_pct of bit "1" in the corresponding data.
[0098] e. If |Lmid_pct - R| ≤ Delta or |Rmid_pct - R| ≤ Delta, then the better reread offset voltage term Vol_better = Vol_lst[Lmid_idx] or Vol_lst[Rmid_idx], and the search ends.
[0099] f. If Lmid_pct + Delta < R < Rmid_pct - Delta, then update left_idx = Lmid_idx + 1 and right_idx = Rmid_idx - 1; if Lmid_pct - Delta > R, then update right_idx = Lmid_idx - 1; if Rmid_pct + Delta < R, then update left_idx = Rmid_idx + 1. Return to step b until Vol_better is obtained and the search ends.
[0100] This application uses the voltage threshold distribution only as a judgment basis for the offset direction and accurately locates it among the effective offset voltage terms, which can effectively avoid the errors or interferences existing in the voltage threshold distribution data, and reduce the search for invalid offset voltage terms and Read Levels, achieving the best reread effect.
[0101] Further, if the rereading operation on the target data page using the reread offset voltage term is successful, update the reread table using the reread offset voltage term in the second offset voltage parameter group.
[0102] Specifically, the current state information of the flash memory is obtained. If the state difference percentage between the current state information and the preset state information stored in the reread table is less than or equal to the state update percentage threshold stored in the reread table, based on the matching index between the target data page and the target read level, the reread offset voltage item in the second offset voltage parameter group is used as the target read level offset voltage item to update the corresponding first offset voltage parameter in the reread table.
[0103] Exemplarily, the obtained offset voltage item of the Read Level required by the page where the read failure occurs is used to perform a reread operation and update the reread table. The specific steps are as follows:
[0104] a. According to the corresponding offset voltage item of the Read Level required for the data page where the read failure occurs obtained from the third offset parameter set, a reread operation is performed through the set parameter or set feature command set of the flash memory manufacturer.
[0105] b. If the reread is successful, update and compare the m (m is a natural number) state information values in the state list Uc with the first matching parameter set in the reread table. When a state information value in the state list Uc is greater than the state update threshold Pup set in the first matching parameter set when compared with the state information value corresponding to the first matching parameter set, the state is considered to meet the update requirements. The reread table parameter update method is selected based on the update requirement of the state condition in the pre-agreed parameter group and the update priority requirement.
[0106] When the update requirement and update priority requirement of the state condition in the pre-agreed parameter group are not met, it is considered that a similar scenario occurs. The current state list Uc and the Read Level required for the data page where the read failure occurred obtained from the third offset parameter set are obtained, and the offset voltage items corresponding to the better second offset voltage parameter group are updated for the data in the parameter group corresponding to the first matching parameter set in the RetryTable.
[0107] Specifically, if the status difference percentage between the current status information and the preset status information stored in the reread table is greater than the status update percentage threshold stored in the reread table, the target status match percentage threshold and the target status update percentage threshold are re-determined according to the current status information.
[0108] According to the second offset voltage parameter group, the current state information and the correspondingly set target state matching percentage threshold and target state updating percentage threshold, a new parameter group is obtained and added to the reread table.
[0109] Exemplarily, when the update requirement and update priority requirement of the state condition in the pre-agreed parameter group are met, it is considered that other scenarios with large differences have occurred. Set a new state update threshold Pup and state matching threshold Pcp under each state condition, obtain the current state list Uc and the Read Level corresponding to the better offset voltage item obtained from the third offset parameter set for the data page where the read failure occurred, and obtain the parameter information in the first matching parameter set to update the data corresponding to the second offset voltage parameter group and the current state condition information, obtain the second reread parameter set, and add it to the Retry Table.
[0110] The present application can effectively utilize the historical data of successful rereading of the offset voltage item located based on the voltage threshold distribution, which can not only adapt to differentiated scenarios in a timely manner, but also the subsequent read failure data in the same scenario can quickly match the latest data of the parameter group in the RetryTable to achieve efficient rereading, reducing the reread search calculation burden.
[0111] The above mainly introduces the scheme provided by the embodiment of the present application from the perspective of the working principle of the data re-reading device. It can be understood that in order to realize the above functions, the data re-reading device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the algorithm steps of each example described in the embodiment disclosed in this article, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present application.
[0112] The embodiment of the present application can divide the data re-reading device into functional modules according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processor. The above integrated module can be implemented in the form of hardware or software functional module.
[0113] It should be noted that the division of modules in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. Figure 5 A possible schematic diagram of the composition of the data re-reading device involved in the above-mentioned embodiments is shown. Figure 5 As shown, the data re-reading device 500 may include: an acquisition module 501 , a processing module 502 , a determination module 503 and a re-reading module 504 .
[0114] The acquisition module 501 is used to support the data re-reading device 500 provided in the embodiment of the present application to perform the following steps: Figure 3 S301 in the data re-reading method shown.
[0115] The processing module 502 is used to support the data re-reading device 500 provided in the embodiment of the present application to perform the following steps: Figure 3 S302 in the data re-reading method shown.
[0116] The determination module 503 is used to support the data re-reading device 500 provided in the embodiment of the present application to perform the following steps: Figure 3 S303 in the data re-reading method shown.
[0117] The re-reading module 504 is used to support the data re-reading device 500 provided in the embodiment of the present application to perform the following steps: Figure 3 S304 in the data re-reading method shown.
[0118] In a possible implementation, the device is specifically used to perform voltage threshold distribution scanning processing on each read level in the target data page to obtain the voltage offset of each read level. According to the voltage offset of each read level, the voltage threshold distribution of each read level is determined. A second offset parameter set is extracted from the voltage threshold distribution of each read level. The voltage offset parameters in the second offset parameter set correspond to each read level.
[0119] In a possible implementation, the device is specifically used to determine a matching index according to a target data page. The matching index is used to represent a preset corresponding relationship between the target data page and at least one target read level. For any target read level of the at least one target read level, based on the matching index, a first offset parameter of the target read level in a first offset parameter set and a second offset parameter of the target read level in a second offset parameter set are determined. A difference between the second offset parameter and the first offset parameter is determined. If the absolute values of the differences of the target read levels corresponding to the target data page are all less than or equal to the difference threshold, a voltage offset direction is determined according to the difference.
[0120] In a possible implementation, the device is specifically used to determine an optional offset voltage item from all available offset voltage items corresponding to the flash memory according to the voltage offset direction. The optional offset voltage item includes at least one characteristic parameter. The characteristic parameter is used to indicate the offset size of the optional offset voltage item. Based on the number of characteristic parameters in the optional offset voltage item, the target reread offset voltage item is determined.
[0121] In a possible implementation, the device is specifically configured to update the reread table using the reread offset voltage item if the reread operation on the target data page is successful using the reread offset voltage item.
[0122] In a possible implementation, the device is specifically used to obtain current state information of the flash memory. If the state difference percentage between the current state information and the preset state information stored in the reread table is less than or equal to the state update percentage threshold stored in the reread table, based on the matching index between the target data page and the target read level, the reread table is updated using the reread offset voltage item as the first offset voltage parameter of the target read level.
[0123] In a possible implementation, the device is specifically configured to re-determine the target state matching percentage threshold and the target state updating percentage threshold according to the current state information if the state difference percentage between the current state information and the preset state information stored in the reread table is greater than the state updating percentage threshold stored in the reread table. A new parameter group is obtained according to the second offset voltage parameter group, the current state information, and the correspondingly set target state matching percentage threshold and target state updating percentage threshold, and is added to the reread table.
[0124] It should be noted that all relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module and will not be repeated here.
[0125] The data re-reading device 500 provided in the embodiment of the present application is used to execute the above Figure 3 The data re-reading method shown can therefore achieve the same effect as the above-mentioned data re-reading method.
[0126] The present application also provides a data re-reading device, which can be the data re-reading device described in the above embodiment. Figure 2 The data re-reading device 200 shown can execute the data re-reading method and related steps in the above method embodiment.
[0127] The embodiment of the present application also provides a computer-readable storage medium on which instructions are stored. When the instructions are executed, the data rereading method and related steps in the above method embodiment are executed.
[0128] The embodiment of the present application also provides a computer program product. When the computer program product is run on a computer, the computer is enabled to execute the data rereading method and related steps in the above method embodiment.
[0129] In some embodiments, the methods described herein may be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium or encoded on other non-transitory media or articles of manufacture.
[0130] The present application embodiment also provides a data re-reading system 600, such as Figure 6 As shown, the data re-reading system 600 includes at least one processor 601 and at least one interface circuit 602 .
[0131] As an example, when the data re-reading system 600 includes a processor and an interface circuit, the processor may be Figure 6 The processor 601 shown in the solid line frame (or the processor 601 shown in the dotted line frame) may be Figure 6 The interface circuit 602 shown in the solid line frame (or the interface circuit 602 shown in the dotted line frame) is shown in the solid line frame. When the data re-reading system 600 includes two processors and two interface circuits, the two processors include Figure 6 The processor 601 shown in the solid line frame and the processor 601 shown in the dotted line frame, the two interface circuits include Figure 6 The interface circuit 602 shown in the solid line frame and the interface circuit 602 shown in the dotted line frame are not limited to this.
[0132] The processor 601 and the interface circuit 602 can be interconnected via a line. For example, the interface circuit 602 can be used to receive a signal. For another example, the interface circuit 602 can be used to send a signal to another device (such as the processor 601). For example, the interface circuit 602 can read a computer instruction stored in a memory and send the computer instruction to the processor 601. The processor 601 executes the instruction and implements the various steps in the above embodiments in combination with the input and output devices, such as implementing Figure 3 or Figure 4 The various steps performed in the method embodiment shown are shown in FIG. Of course, the data re-reading system 600 may also include other discrete components, which are not specifically limited in the embodiment of the present application.
[0133] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0134] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0135] The units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0136] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0137] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that makes the contribution or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium, including several instructions to enable a data re-reading device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.
[0138] The above contents are only specific implementation methods of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application shall be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims
1. A data re-reading method, characterized in that: Applied to a flash memory, the flash memory comprises at least one word line and at least one data page, each of the word lines is connected to at least one data page, and the data page comprises at least one read level; the method comprises: When reading data from the flash memory, if the bit error rate when reading the target data page exceeds the error correction range value, a first offset voltage parameter group corresponding to the target data page in the current state is obtained from a preset re-read table, and the target data page is re-read using the first offset voltage parameter group; the first offset voltage parameter in the first offset voltage parameter group corresponds to the read level in the target data page; If the target data page fails to be re-read using the first offset voltage parameter set, a voltage threshold distribution scanning process is performed on the target data page to obtain a second offset parameter set for the target data page; Comparing the second offset parameter set with the first offset parameter set to determine the voltage offset direction of the read level in the target data page; the first offset parameter set is a voltage threshold distribution parameter group of the flash memory in an original state at room temperature without wear; According to the voltage offset direction, a target reread offset voltage item is searched in the optional offset voltage items, a second offset voltage parameter group is determined, and the target data page is reread using the reread offset voltage item in the second offset voltage parameter group.
2. The method according to claim 1, characterized in that The performing voltage threshold distribution scanning processing on the target data page to obtain a second offset parameter set of the target data page includes: Performing a voltage threshold distribution scanning process on each read level in the target data page to obtain a voltage offset of each read level; Determining a voltage threshold distribution of each of the read levels according to a voltage offset of each of the read levels; The second offset parameter set is extracted from the voltage threshold distribution of each of the read levels; the voltage offset parameters in the second offset parameter set correspond to each of the read levels.
3. The method according to claim 1, characterized in that The comparing the second offset parameter set with the first offset parameter set to determine the voltage offset direction of the read level in the target data page includes: Determine a matching index according to the target data page; the matching index is used to represent a preset corresponding relationship between the target data page and at least one target read level; For any target read level of at least one of the target read levels, determining, based on the matching index, a first offset parameter of the target read level in the first offset parameter set and a second offset parameter of the target read level in the second offset parameter set; determining a difference between the second offset parameter and the first offset parameter; If the absolute values of the differences of the target read levels corresponding to the target data pages are all smaller than or equal to the difference threshold, the voltage shift direction is determined according to the differences.
4. The method according to claim 1, characterized in that: The step of searching for a target reread offset voltage item in the optional offset voltage items according to the voltage offset direction to determine a second offset voltage parameter group includes: According to the voltage offset direction, determining the optional offset voltage item from all available offset voltage items corresponding to the flash memory; the optional offset voltage item includes at least one characteristic parameter; the characteristic parameter is used to represent the offset size of the optional offset voltage item; determining the target reread offset voltage item based on the number of the characteristic parameters in the selectable offset voltage item; The second offset voltage parameter group is determined according to the target reread offset voltage item.
5. The method according to claim 1, characterized in that The method further comprises: If the re-reading operation on the target data page using the re-read offset voltage item in the second offset voltage parameter group is successful, the re-read table is updated using the re-read offset voltage item.
6. The method according to claim 5, characterized in that The updating of the reread table using the reread offset voltage item comprises: Obtaining current status information of the flash memory; If the status difference percentage between the current status information and the preset status information stored in the reread table is less than or equal to the status update percentage threshold stored in the reread table, based on the matching index between the target data page and the target read level, the reread offset voltage item in the second offset voltage parameter group is used as the offset voltage item of the target read level to update the corresponding first offset voltage parameter in the reread table.
7. The method according to claim 6, characterized in that The method further comprises: If the status difference percentage between the current status information and the preset status information stored in the reread table is greater than the status update percentage threshold stored in the reread table, re-determine the target status match percentage threshold and the target status update percentage threshold according to the current status information; According to the second offset voltage parameter group, the current state information and the corresponding set target state matching percentage threshold and target state update percentage threshold, a new parameter group is obtained and added to the reread table.
8. A data re-reading device, characterized in that: Applied to a flash memory, the flash memory includes at least one word line, the word line includes at least one data page, the data page includes at least one read level; the device includes: an acquisition module, configured to acquire, when reading data from a flash memory, a first offset voltage parameter group corresponding to the target data page in a current state from a preset reread table if a bit error rate when reading a target data page exceeds an error correction range value, and re-read the target data page using the first offset voltage parameter group; a first offset voltage parameter in the first offset voltage parameter group corresponds to a read level in the target data page; A processing module, configured to perform a voltage threshold distribution scanning process on the target data page to obtain a second offset parameter set for the target data page if re-reading the target data page using the first offset voltage parameter set fails; A determination module, configured to compare the second offset parameter set with the first offset parameter set to determine the voltage offset direction of the read level in the target data page; the first offset parameter set is a voltage threshold distribution parameter group of the flash memory in an original state at room temperature without wear; The reread module is used to search for a target reread offset voltage item in the optional offset voltage items according to the voltage offset direction, determine a second offset voltage parameter group, and re-read the target data page using the reread offset voltage item in the second offset voltage parameter group.
9. A data re-reading device, characterized in that: The data re-reading device comprises a processor and a memory, wherein the memory stores computer executable instructions that can be executed by the processor, and the processor executes the computer executable instructions to implement the data re-reading method according to any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the data re-reading method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Method for quickly searching optimal reread voltage of NAND flash memory
CN110797068A
Reread management method, solid state disk controller and solid state disk
CN112562766A
Determining offsets for memory read operations
US20240404604A1
Cited By
Flash memory error correction method based on adaptive learning and readable storage medium
CN120148595A
Flash memory error correction method based on adaptive learning and readable storage medium
CN120148595B
Bit error rate determination method, data recovery method, device, equipment and medium
CN120743618A
Error rate determination method, data recovery method, apparatus, device, and medium
CN120743618B
Method for executing rereading operation, electronic equipment, storage medium and program product
CN120832098A