Data processing method, device, equipment, medium and product based on solid state disk
By optimizing the writing position of the verification data in the solid-state disk, selecting suitable single-layer or three-layer units for verification data storage according to the wear situation and data category, the problem of reduced data reliability in the prior art is solved, and the problem of improved data is improved Overall reliability of SSDs.
Patent Information
- Application Number
- CN202411186519.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-28
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2044-08-28
AI Technical Summary
The existing solid-state disks are not optimized when writing verification data, resulting in a decrease in data reliability, especially the improper storage of parity information for hot and cold data, resulting in an increase in error frequency, affecting the reliability of the solid-state disk.
By receiving system tasks, we determine the wear condition and data category of the target recycling unit, we use multiple strategies to determine the target verification position from the target recycling unit, optimize the writing of the verification data, consider the RBER differences between different layers and word lines, and select Appropriate single-layer or three-layer units to store verification data to reduce the frequency of errors.
It improves the reliability of data in solid-state disks, reduces the error frequency of verification information, extends the storage time of data, and improves the overall reliability of solid-state disks.
Smart Images

Figure CN118708126B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of storage technology, and in particular to a data processing method, device, equipment, medium and product based on a solid state disk. Background Art
[0002] Write Amplification (WA) is an important indicator that affects performance and durability. The larger the WA, the more additional data is written to the flash memory, and the faster the life of the solid state disk (SSD) is consumed. The closer the WA is to 1, the slower the life of the SSD is consumed.
[0003] In order to reduce write amplification, many optimization schemes have been proposed. In some schemes, the host can better control the location of data in the SSD according to the I / O load characteristics, data hotness, etc., which can reduce the overall data movement, reduce the additional writing of data in the SSD, and reduce write amplification.
[0004] In these solutions, although the host considers the cold, warm, and hot properties of the data when writing data, and the cold, warm, and hot data are classified and stored in the SSD, no optimization is performed when verifying the data writing, which reduces the reliability of the data in the SSD. Summary of the invention
[0005] In view of the above problems, a data processing method, device, equipment, medium and product based on a solid state disk are proposed to overcome the above problems or at least partially solve the above problems, including:
[0006] A data processing method based on a solid state disk, the method comprising:
[0007] receiving a system task for the solid-state disk, and, if the system task is a data writing task, determining a target recycling unit in the solid-state disk corresponding to the data writing task, and determining a data category of target data corresponding to the data writing task;
[0008] Determining a wear condition of the target recycling unit, and determining a target verification position from the target recycling unit according to the wear condition and the data category;
[0009] Writing the verification data of the target data into the target verification location.
[0010] Optionally, determining a target verification position from the target recycling unit according to the wear condition and the data category includes:
[0011] According to the wear condition and the data category, a target strategy among multiple strategies is adopted to determine a target verification position from the target recycling unit;
[0012] The multiple strategies include: setting the cell layer of the target recycling cell to a single-layer cell or a triple-layer cell, and determining a target verification position from multiple word lines of the single-layer cell or the triple-layer cell.
[0013] Optionally, the multiple strategies further include:
[0014] The cell layer of the target recycling cell is set to a three-layer cell, and any non-bad block position is selected from a plurality of word lines of the three-layer cell as a target verification position.
[0015] Optionally, the wear condition includes a number of erase times, and the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit includes:
[0016] When the data category is any data category and the number of erasures is greater than a third threshold, classifying the unit layer of the target recycling unit;
[0017] The cell layer is set as a single-layer cell or a triple-layer cell according to the cell layer type of the cell layer, and a target verification position is determined from a plurality of word lines of the single-layer cell or the triple-layer cell.
[0018] Optionally, the cell layer category includes a low error rate layer, and setting the cell layer to a single-layer cell or a triple-layer cell according to the cell layer category of the cell layer, and determining a target verification position from a plurality of word lines of the single-layer cell or the triple-layer cell, comprises:
[0019] When the cell layer of the target recovery unit is a low error rate layer, the cell layer is set to a three-layer cell, and a target verification position is determined from multiple word lines of the three-layer cell according to the data storage time of multiple word lines in the three-layer cell.
[0020] Optionally, the cell layer category includes a high error rate layer, and setting the cell layer to a single-layer cell or a triple-layer cell according to the cell layer category of the cell layer, and determining a target verification position from a plurality of word lines of the single-layer cell or the triple-layer cell, comprises:
[0021] When the cell layer of the target recovery unit is a high error rate layer, the cell layer is set to a single-layer cell, and a target verification position is determined from multiple word lines of the single-layer cell according to the data storage time of multiple word lines in the single-layer cell.
[0022] Optionally, the classifying the unit layers of the target recycling unit includes:
[0023] Acquire relevant characteristics of the unit layer of the target recycling unit;
[0024] The relevant features are input into a pre-trained classifier to obtain a unit-level category of the unit-level of the target recycling unit output by the classifier.
[0025] Optionally, the relevant features include any one or more of the following: number of erasures, average layer read error number, number of bad blocks, temperature of the disk, and data retention time.
[0026] Optionally, the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit further includes:
[0027] When the data category is hot data and the number of erase and write times is less than or equal to a third threshold, the cell layer is set to a three-layer cell, and any non-bad block position is selected from multiple word lines of the three-layer cell as a target verification position.
[0028] Optionally, the wear condition includes a number of erase times, and the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit includes:
[0029] When the data category is warm data and the number of erase and write times is less than a third threshold value and greater than a second threshold value, the cell layer is set to a three-layer cell, and a target verification position is determined from multiple word lines of the three-layer cell according to a data storage time of multiple word lines in the three-layer cell;
[0030] The second threshold is smaller than the third threshold.
[0031] Optionally, the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit further includes:
[0032] When the data category of the target data is warm data and the number of erase and write times is less than a third threshold and less than or equal to a second threshold, the cell layer is set to a three-layer cell, and any non-bad block position is selected from multiple word lines of the three-layer cell as a target verification position.
[0033] Optionally, the wear condition includes a number of erase times, and the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit includes:
[0034] When the data category is cold data and the number of erasures is less than a third threshold value and greater than a first threshold value, the cell layer is set to a three-layer cell, and a target verification position is determined from multiple word lines of the three-layer cell according to a data storage time of multiple word lines in the three-layer cell;
[0035] The first threshold is smaller than the third threshold.
[0036] Optionally, the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit further includes:
[0037] When the data category is cold data and the number of erase and write times is less than the third threshold and less than the second threshold, the cell layer is set to a three-layer cell, and any non-bad block position is selected from multiple word lines of the three-layer cell as a target verification position.
[0038] Optionally, determining a target verification position from a plurality of word lines of the single-level cell or the triple-level cell comprises:
[0039] Determining the data retention time according to the average number of read errors of multiple word lines in the single-layer cell or the triple-layer cell;
[0040] According to the data storage time, a target verification position is determined from a plurality of word lines of the single-level cell or the triple-level cell.
[0041] Optionally, the determining a data category of the target data corresponding to the data writing task includes:
[0042] Obtain the namespace, recycling unit and medium unit status specified in the instruction of the data writing task, and determine the data category of the target data corresponding to the data writing task based on the namespace, recycling unit and medium unit status specified in the instruction of the data writing task.
[0043] Optionally, it also includes:
[0044] Generate and store a task behavior log for the system task.
[0045] A data processing device based on a solid state disk, the device comprising:
[0046] a data writing module, configured to receive a system task for the solid-state disk, and, when the system task is a data writing task, determine a target recycling unit in the solid-state disk corresponding to the data writing task, and determine a data category of target data corresponding to the data writing task;
[0047] A verification position determination module, used to determine the wear condition of the target recycling unit, and determine a target verification position from the target recycling unit according to the wear condition and the data category;
[0048] The verification data writing module is used to write the verification data of the target data into the target verification position.
[0049] An electronic device comprises a processor, a memory and a computer program stored in the memory and capable of running on the processor, wherein the computer program implements the method described above when executed by the processor.
[0050] A computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described above is implemented.
[0051] A computer program product comprises a computer program, wherein when the computer program is executed by a processor, the computer program implements the method as described above.
[0052] The embodiments of the present invention have the following advantages:
[0053] In an embodiment of the present invention, by receiving a system task for a solid-state disk, and when the system task is a data writing task, determining a target recovery unit in the solid-state disk corresponding to the data writing task, and determining a data category of the target data corresponding to the data writing task; determining the wear condition of the target recovery unit, and determining a target verification position from the target recovery unit based on the wear condition and the data category; writing verification data of the target data into the target verification position, thereby optimizing the writing of verification data in the solid-state disk and improving the reliability of data in the solid-state disk. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] In order to more clearly illustrate the technical solution of the present invention, the accompanying drawings required for use in the description of the present invention will be briefly introduced below. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative labor.
[0055] Figure 1 is a flowchart of a data processing method based on a solid state disk provided by some embodiments of the present invention;
[0056] Figure 2 is a schematic diagram of a system architecture provided by some embodiments of the present invention;
[0057] Figure 3 is a schematic diagram of a task processing flow provided by some embodiments of the present invention;
[0058] Figure 4 is a schematic diagram of another data processing method based on a solid state disk provided by some embodiments of the present invention;
[0059] Figure 5 is a schematic diagram of a target verification position acquisition process provided by some embodiments of the present invention;
[0060] Figure 6 is a schematic diagram of a unit layer classification process provided by some embodiments of the present invention;
[0061] Figure 7 is a schematic diagram of a thermal data processing process provided by some embodiments of the present invention;
[0062] Figure 8 is a schematic diagram of a warm data processing process provided by some embodiments of the present invention;
[0063] Fig. 9 is a schematic diagram of a cold data processing process provided by some embodiments of the present invention;
[0064] Fig.10 is a structural block diagram of a data processing device based on a solid state disk provided by some embodiments of the present invention;
[0065] Fig.11 is a structural block diagram of another solid state disk-based data processing device provided by some embodiments of the present invention;
[0066] Fig.12 is a structural block diagram of an electronic device provided by some embodiments of the present invention;
[0067] Fig.13 is a structural block diagram of a storage medium provided by some embodiments of the present invention;
[0068] Fig.14 It is a structural block diagram of a program product provided by some embodiments of the present invention. DETAILED DESCRIPTION
[0069] In order to make the above-mentioned purposes, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0070] In order to reduce write amplification, many optimization schemes have been proposed, including the ZNS (Zoned Name Space) scheme and the FDP (Flexible Data Placement) scheme. The ZNS scheme requires more work in SSD hardware, software vendors, and system applications, while the FDP SSD has fewer changes in system applications. The FDP SSD supports random writes and flexible data placement functions, allowing the host to better control the location of data in the SSD according to I / O load characteristics, data hotness, etc., which can reduce data movement as a whole, reduce additional data writing in the SSD, and reduce write amplification. In the FDP scheme, although the host considers the cold, warm, and hot properties of the data when writing data, and the FDP SSD implements classified storage of cold, warm, and hot data, it does not optimize when writing verification data, which leads to reduced reliability of data in the FDP SSD.
[0071] Specifically, when the verification data is written, the differences between different layers and pages of the recycling unit are not considered, which will affect the reliable storage of hot, warm, and cold data. Due to the different RBERs (Raw Bit Error Rates) of different layers of 3D flash memory, as the recycling unit is used, the RBER of the middle layer is significantly lower than the RBER of the edge layer, and the RBER of the bottom layer is the highest. Even the RBER of different pages in the same layer is different. As the RBER value increases, the frequency of errors in the parity information stored in the highest RBER layer of the recycling unit increases, and the probability of data being uncorrectable increases, resulting in reduced reliability of data in the FDP solid state drive.
[0072] Since the FDP SSD realizes classified storage of cold, warm and hot data, the storage time of cold and warm data will be longer than that of traditional SSDs. However, when the verification data is written, the differences between different layers and pages of the recovery unit are not considered. If the verification data is not stored properly, this will affect the reliable storage of cold and warm data, and thus affect the reliability of the FDP SSD.
[0073] In order to avoid the increase in error frequency caused by improper storage of parity information of warm and cold data, an embodiment of the present invention considers the RBER differences between layers and flash memory pages in the recovery unit, obtains the namespace, recovery unit, and medium unit status specified in the write instruction, determines the write data type, and determines whether it is necessary to classify each layer in the recovery unit according to the data type and the medium unit status, obtains the storage location of the parity information through the parity position acquisition unit, increases the storage time of the parity information of warm and cold data, reduces the error frequency of the parity information, avoids the increase in error frequency caused by improper storage of parity information of warm and cold data, reduces the probability of data uncorrectability, and improves the data reliability in the FDP solid state disk.
[0074] The following is further described with reference to the accompanying drawings:
[0075] Reference Figure 1 , shows a flow chart of a data processing method based on a solid state disk provided by some embodiments of the present invention, which may specifically include the following steps:
[0076] Step 101, receiving a system task for the solid state disk, and when the system task is a data writing task, determining a target recovery unit in the solid state disk corresponding to the data writing task, and determining a data category of the target data corresponding to the data writing task.
[0077] As an example, the solid state disk may be a FDP solid state disk, such as Figure 2 In the system architecture of FDP solid state disk, it includes host interface, CPU (Central Processing Unit, microprocessor), cache controller, memory controller, etc., which are connected through the control bus. The host system transmits data and commands with SSD through the host interface. The CPU is responsible for the calculation and processing operations in the disk, including address mapping, garbage collection, wear leveling, check position calculation and other operations. The cache controller is responsible for allocating cache for data writing and reading. The flash memory controller is responsible for controlling the NAND (NOT AND, a non-volatile semiconductor storage medium) in the disk. The control bus is also connected to DRAM (Dynamic Random Access Memory).
[0078] In practical applications, such as Figure 3 , receiving the system task for the solid state disk, and determining whether the system task is a data writing task or a data reading task, if the system task is a data reading task, directly executing the task. If the system task is a data writing task, the data category of the target recovery unit and the target data in the solid state disk can be determined according to the data writing task for subsequent analysis.
[0079] The target recycling unit may be a recycling unit to be written, the target data may be data to be written to the solid state disk, and the data category may include hot data, warm data, and cold data. In some examples, the data category may be determined based on the data access frequency, such as data with high access frequency is hot data, data with average access frequency is warm data, and data with low access frequency is cold data.
[0080] In some embodiments of the present invention, determining the data category of the target data corresponding to the data writing task includes: obtaining the namespace, recycling unit and medium unit status specified in the instruction of the data writing task, and determining the data category of the target data corresponding to the data writing task based on the namespace, recycling unit and medium unit status specified in the instruction of the data writing task.
[0081] In practical applications, such as Figure 4 , you can get the instructions of the data writing task, the namespace, recycling unit and media unit status specified in the instructions, you can use the specified recycling unit as the target recycling unit, and analyze the data category of the written data according to the namespace, media unit status, etc., such as hot data, warm data, and cold data, and then perform different data writing processes according to different data categories.
[0082] In the embodiment of the present invention, by determining the data category of the target data corresponding to the data writing task, data of different categories can be processed differently, thereby improving the stability of data writing.
[0083] Step 102, determining the wear condition of the target recycling unit, and determining a target verification position from the target recycling unit according to the wear condition and the data category.
[0084] In some embodiments of the present invention, the wear condition includes the number of Program / Erase (PE) times.
[0085] In some embodiments of the present invention, determining the target verification position from the target recovery unit based on the wear condition and the data category includes: adopting a target strategy from multiple strategies based on the wear condition and the data category, and executing determination of the target verification position from the target recovery unit.
[0086] In an embodiment of the present invention, a target strategy matching the wear condition and data category is selected from multiple strategies based on the wear condition and data category, and the target strategy is used for writing, so that data writing can match the wear condition and data category, thereby improving data reliability.
[0087] In some embodiments of the present invention, the multiple strategies include: setting the cell layer of the target recovery unit to a single-layer cell or a three-layer cell, and determining the target verification position from multiple word lines of the single-layer cell or the three-layer cell; or, setting the cell layer of the target recovery unit to a three-layer cell, and selecting any non-bad block position from the multiple word lines of the three-layer cell as the target verification position.
[0088] In actual applications, the recycling unit may include multiple unit layers, and the unit layers have two types: TLC (Triple-Level Cell) and SLC (Single-Level Cell).
[0089] Among them, the recovery unit contains several Super wls (Super word lines), each superwl contains 8 or 16 or 32 multi wls (multi word lines), each multi wl contains several wls, each wl in TLC contains 3 pages, and each wl in SLC contains 1 page. Since each word line contains different pages, its performance is also different.
[0090] SLC and TLC are two different types of flash memory technologies that differ significantly in the design of the memory cells and how they store data. SLC technology uses a single memory cell to represent a binary bit, meaning each cell can only store two states, 0 or 1. This design gives SLC flash memory a high read and write speed, a long lifespan, and high data reliability. However, since each memory cell can only store one bit of data, SLC flash memory has a lower storage density, resulting in a higher cost.
[0091] In contrast, TLC technology uses one storage cell to store 3 bits of data, that is, each cell can store eight states: 000, 001, 010, 011, 100, 101, 110, and 111. This design significantly improves storage density, allowing TLC flash memory to store more data in the same physical space. However, because each storage cell needs to distinguish more states, TLC flash memory has relatively slow read and write speeds, lower data reliability, and a shorter service life. Despite this, TLC flash memory has become the preferred technology for many consumer-grade solid-state drives (SSDs) and USB flash drives due to its higher storage density and lower cost.
[0092] In general, the main difference between SLC and TLC lies in the design of the storage unit and the way data is stored, which leads to different performances in terms of read and write speed, storage density, data reliability and cost. SLC is known for its high performance and high reliability, but the cost is higher; while TLC is favored by the market for its high storage density and low cost, although there are some compromises in performance and reliability.
[0093] In practical applications, the cell layer of the target recovery unit can be set to a single-layer cell or a triple-layer cell according to the wear condition and data category, and the target verification position can be determined from multiple word lines, or any non-bad block position can be selected from multiple word lines as the target verification position.
[0094] In some embodiments of the present invention, determining the target verification position from the multiple word lines of the single-layer cell or the three-layer cell includes: determining the data retention time according to the average number of read errors of the multiple word lines in the single-layer cell or the three-layer cell; and determining the target verification position from the multiple word lines of the single-layer cell or the three-layer cell according to the data retention time.
[0095] In practical applications, the target verification position can be determined from a single-layer unit or a three-layer unit according to the average number of read errors of multiple word lines, the number of erase times of the recovery unit, the number of bad blocks, the temperature of the disk, etc. Specifically, the data retention time can be determined according to the average number of read errors, the number of erase times of the recovery unit, the number of bad blocks, the temperature of the disk, etc., and then the target verification position can be determined from multiple word lines according to the data retention time.
[0096] In some examples, such as Figure 5 First, we need to obtain the erasure times of the recycling unit, the number of multi wl read errors, the number of bad blocks, the temperature of the disk and other characteristics, and then calculate the data storage time T of each multi wl according to the formula, such as using the following formula:
[0097]
[0098] in, The data retention period is is the number of read errors, PE is the number of erase and write times, , , is a coefficient, which is determined by the specific 3D flash memory product. is the temperature of the SSD, The number of bad blocks in each layer of the recovery unit.
[0099] After obtaining the data storage time, sort the data storage time of all multi wls in each layer, and select the multi wl with the longest storage time in each layer to store the verification data.
[0100] In some embodiments of the present invention, the step of using a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit includes:
[0101] When the data category is any data category and the number of erase and write times is greater than a third threshold, the cell layer of the target recovery unit is classified; according to the cell layer category of the cell layer, the cell layer is set to a single-layer cell or a three-layer cell, and a target verification position is determined from multiple word lines of the single-layer cell or the three-layer cell.
[0102] When the number of erase and write times is greater than the third threshold, the cell layer of the target recovery unit can be classified for any data category including hot data, warm data, and cold data, and then the cell layer can be set to a single-layer cell or a triple-layer cell according to the different cell layer categories of the cell layer, and the target verification position can be determined from multiple word lines of the single-layer cell or the triple-layer cell to write data.
[0103] In some embodiments of the present invention, classifying the unit layers of the target recycling unit includes:
[0104] Obtain relevant features of the unit layer of the target recycling unit; input the relevant features into a pre-trained classifier to obtain a unit layer category of the unit layer of the target recycling unit output by the classifier.
[0105] In some embodiments of the present invention, the related features include any one or more of the following: number of erasures, average layer read error number, number of bad blocks, temperature of the disk, and data retention time.
[0106] To classify the layers, it is necessary to train the classifier in advance, obtain features such as the number of erase times of the recovery unit, the average number of read errors of the layer, the number of bad blocks, the temperature of the disk, and the data retention time. Then, these features are preprocessed and an SVM (Support Vector Machine) classifier is constructed.
[0107] like Figure 6 , this classification problem belongs to a two-classification problem, and the classifier cost function is:
[0108] in, is the decision function of the classifier, is the input sample, which is Array of for No. samples, is the weight matrix, is the bias coefficient, is the Lagrangian factor, For the The output category of samples, is the Gaussian kernel.
[0109] is the training data set, where the input features , the output category is , , a value of -1 indicates that the category is a layer with a high error rate, and a value of +1 indicates that the category is a layer with a low error rate. The cost function is solved using Lagrange multiplication to obtain the classifier and As the recycling unit is used, the changes in features such as PE, average number of read errors, number of bad blocks, and data retention time will gradually increase. When PE increases by 100, the SVM classifier is updated. and .
[0110] Among them, PE is the number of erase and write times of each recycling unit, is the number of errors per layer, is the number of bad blocks in each layer of the recovery unit, The temperature of the SSD.
[0111] In the embodiment of the present invention, by classifying the unit layers in the recovery unit, a layer with a high error rate and a layer with a low error rate are obtained, and then they are processed differently, thereby improving the reliability of data.
[0112] In some embodiments of the present invention, the cell layer category includes a low error rate layer, and the cell layer is set to a single-layer cell or a triple-layer cell according to the cell layer category of the cell layer, and a target verification position is determined from a plurality of word lines of the single-layer cell or the triple-layer cell, including:
[0113] When the cell layer of the target recovery cell is a low error rate layer, the cell layer is set to a three-layer cell, and a target verification position is determined from multiple word lines of the three-layer cell according to an average number of read errors of multiple word lines in the three-layer cell.
[0114] In some embodiments of the present invention, the cell layer category includes a high error rate layer, and setting the cell layer to a single-layer cell or a triple-layer cell according to the cell layer category of the cell layer, and determining a target verification position from a plurality of word lines of the single-layer cell or the triple-layer cell, comprises:
[0115] When the cell layer of the target recovery cell is a high error rate layer, the cell layer is set as a single-layer cell, and a target verification position is determined from multiple word lines of the single-layer cell according to an average number of read errors of multiple word lines in the single-layer cell.
[0116] In practical applications, for layers with low error rates (i.e., low error rate layers), this type of layer is used as TLC, the data storage duration of each multi wl of the TLC layer is calculated, and the appropriate storage location of the check data in the TLC layer is obtained through the check position acquisition module. For layers with high error rates, this type of layer is used as SLC, the data storage duration of each wl of the SLC layer is calculated, and the appropriate storage location of the check data in the SLC layer is obtained through the check position acquisition module.
[0117] In some examples, the data retention time can be determined based on the average number of read errors, the number of erases of the recovery unit, the number of bad blocks, the temperature of the disk, etc., and then the target verification position is determined from multiple word lines based on the data retention time. Please refer to the above for details.
[0118] In some embodiments of the present invention, the step of determining a target verification position from the target recycling unit by adopting a target strategy from among multiple strategies according to the wear condition and the data category further includes:
[0119] When the data category is hot data and the number of erase and write times is less than or equal to a third threshold, the cell layer is set to a three-layer cell, and any non-bad block position is selected from multiple word lines of the three-layer cell as a target verification position.
[0120] like Figure 7 If the written data category is hot data, determine whether the PE of the recovery unit is greater than the threshold (ie the third threshold), if PE is greater than the threshold , then the inner layers of the recycling unit are classified to obtain layers with low error rates and layers with high error rates. For layers with low error rates (i.e., low error rate layers), this type of layer is used as TLC, and the data storage time of each multi wl of the TLC layer is calculated. The appropriate storage location of the check data in the TLC layer is obtained through the check position acquisition module. For layers with high error rates, this type of layer is used as SLC, and the data storage time of each wl of the SLC layer is calculated. The appropriate storage location of the check data in the SLC layer is obtained through the check position acquisition module. If PE is less than or equal to the threshold , select any non-bad block position from each layer to store the check data, and then the layer is used as a TLC layer.
[0121] In the embodiment of the present invention, for hot data, the TLC layer or SLC layer is selected by judging the number of erase and write times and classifying the inner layers of the recycling unit, and the storage location is determined by using corresponding strategies, thereby improving the reliability of the data.
[0122] In some embodiments of the present invention, the step of using a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit includes:
[0123] When the data category is warm data and the number of erase and write times is less than a third threshold and greater than a second threshold, the cell layer is set to a three-layer cell, and a target check position is determined from multiple word lines of the three-layer cell based on an average number of read errors of multiple word lines in the three-layer cell.
[0124] The second threshold is smaller than the third threshold.
[0125] In some embodiments of the present invention, the step of determining a target verification position from the target recycling unit by adopting a target strategy from among multiple strategies according to the wear condition and the data category further includes:
[0126] When the data category of the target data is warm data and the number of erase and write times is less than a third threshold and less than or equal to a second threshold, the cell layer is set to a three-layer cell, and any non-bad block position is selected from multiple word lines of the three-layer cell as a target verification position.
[0127] like Figure 8 If the written data type is warm data, determine whether the PE of the recovery unit is greater than the threshold (ie the third threshold), if PE is greater than the threshold , the processing flow is the same as the above, that is, the cell layers of the target recovery cells are classified; according to the cell layer categories of the cell layers, the cell layers are set to single-layer cells or triple-layer cells, and the target verification position is determined from multiple word lines of the single-layer cells or triple-layer cells.
[0128] When PE is less than or equal to the threshold , determine whether the PE of the recycling unit is greater than the threshold (i.e. the second threshold), if PE is greater than the threshold , then calculate the data storage duration of each multi wl in the TLC layer of the recovery unit, and obtain the appropriate verification data storage location through the verification location acquisition module; if PE is less than or equal to the threshold , then select any non-bad block location from each layer of the recovery unit to store the check data. All layers in the recovery unit are used as TLC layers.
[0129] In some embodiments of the present invention, the step of using a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit includes:
[0130] When the data category is cold data and the number of erase and write times is less than a third threshold and greater than a first threshold, the unit layer is set to a three-layer unit, and a target verification position is determined from multiple word lines of the three-layer unit according to the data storage time of multiple word lines in the three-layer unit.
[0131] The first threshold is smaller than the third threshold.
[0132] In some embodiments of the present invention, the step of determining a target verification position from the target recycling unit by adopting a target strategy from among multiple strategies according to the wear condition and the data category further includes:
[0133] When the data category is cold data and the number of erase and write times is less than the third threshold and less than the second threshold, the cell layer is set to a three-layer cell, and any non-bad block position is selected from multiple word lines of the three-layer cell as a target verification position.
[0134] like Fig. 9 If the written data category is cold data, determine whether the PE of the recovery unit is greater than the threshold (ie the third threshold), if PE is greater than the threshold , the processing flow is the same as the above, that is, the cell layers of the target recovery cells are classified; according to the cell layer categories of the cell layers, the cell layers are set to single-layer cells or triple-layer cells, and the target verification position is determined from multiple word lines of the single-layer cells or triple-layer cells.
[0135] When PE is less than or equal to the threshold , determine whether the PE of the recycling unit is greater than the threshold (i.e. the first threshold), if PE is greater than the threshold , then calculate the data storage duration of each multi wl in the TLC layer, obtain the appropriate verification data storage location through the verification location acquisition module, and if PE is less than or equal to the threshold , then select any non-bad block location from each layer to store the check data.
[0136] Step 103: write the verification data of the target data into the target verification position.
[0137] In some embodiments of the present invention, it also includes:
[0138] Generate and store a task behavior log for the system task.
[0139] For data writing tasks, the data writing behavior log can be recorded, including the written logical address, writing time, PE of the recovery unit, bad blocks generated during the writing process, etc.
[0140] For data reading tasks, you can record the reading task behavior log, such as the number of times it is read, the number of errors when reading all layer pages, etc., to update the layer category classification model and calculate the storage time.
[0141] In an embodiment of the present invention, by receiving a system task for a solid-state disk, and when the system task is a data writing task, determining a target recovery unit in the solid-state disk corresponding to the data writing task, and determining a data category of the target data corresponding to the data writing task; determining the wear condition of the target recovery unit, and determining a target verification position from the target recovery unit based on the wear condition and the data category; writing verification data of the target data into the target verification position, thereby optimizing the writing of verification data in the solid-state disk and improving the reliability of data in the solid-state disk.
[0142] It should be noted that, for the sake of simplicity, the method embodiments are described as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.
[0143] Reference Fig.10 , shows a schematic diagram of the structure of a data processing device based on a solid state disk provided by some embodiments of the present invention, which may specifically include the following modules:
[0144] Host task receiving unit: responsible for receiving and judging host tasks, used to determine whether data writing operation or data reading operation needs to be performed.
[0145] Data writing unit: responsible for data writing operations, including writing data type judgment unit, recycling unit inner classification unit, and verification position acquisition unit;
[0146] Write data type judgment unit: responsible for judging the type of written data, the result is hot data, warm data, cold data.
[0147] Recycling unit inner layer classification unit: responsible for classifying the layers of the allocated recycling units. The classification results are layers with low error rates and layers with high error rates. Layers with low error rates can be used as TLC layers, and layers with high error rates can be used as SLC layers.
[0148] Data verification position acquisition unit: responsible for obtaining the writing position of the verification data in each layer when writing data, and obtaining a position with a long storage time for the verification data storage of warm and cold data.
[0149] I / O behavior logging unit: responsible for collecting records of the FDP SSD from receiving an I / O request to its completion.
[0150] Data reading unit: responsible for processing the data reading operation initiated by the host.
[0151] Reference Fig.11 , shows a schematic diagram of the structure of a data processing device based on a solid state disk provided by some embodiments of the present invention, which may specifically include the following modules:
[0152] The data writing module 1101 is used to receive a system task for the solid state disk, and when the system task is a data writing task, determine a target recycling unit in the solid state disk corresponding to the data writing task, and determine a data category of target data corresponding to the data writing task;
[0153] A verification position determination module 1102, configured to determine the wear condition of the target recycling unit, and determine a target verification position from the target recycling unit according to the wear condition and the data category;
[0154] The verification data writing module 1103 is used to write the verification data of the target data into the target verification position.
[0155] Optionally, determining a target verification position from the target recycling unit according to the wear condition and the data category includes:
[0156] According to the wear condition and the data category, a target strategy among multiple strategies is adopted to determine a target verification position from the target recycling unit;
[0157] The multiple strategies include: setting the cell layer of the target recycling cell to a single-layer cell or a triple-layer cell, and determining a target verification position from multiple word lines of the single-layer cell or the triple-layer cell.
[0158] Optionally, the multiple strategies further include:
[0159] The cell layer of the target recycling cell is set to a three-layer cell, and any non-bad block position is selected from a plurality of word lines of the three-layer cell as a target verification position.
[0160] Optionally, the wear condition includes a number of erase times, and the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit includes:
[0161] When the data category is any data category and the number of erasures is greater than a third threshold, classifying the unit layer of the target recycling unit;
[0162] The cell layer is set as a single-layer cell or a triple-layer cell according to the cell layer type of the cell layer, and a target verification position is determined from a plurality of word lines of the single-layer cell or the triple-layer cell.
[0163] Optionally, the cell layer category includes a low error rate layer, and setting the cell layer to a single-layer cell or a triple-layer cell according to the cell layer category of the cell layer, and determining a target verification position from a plurality of word lines of the single-layer cell or the triple-layer cell, comprises:
[0164] When the cell layer of the target recovery unit is a low error rate layer, the cell layer is set to a three-layer cell, and a target verification position is determined from multiple word lines of the three-layer cell according to the data storage time of multiple word lines in the three-layer cell.
[0165] Optionally, the cell layer category includes a high error rate layer, and setting the cell layer to a single-layer cell or a triple-layer cell according to the cell layer category of the cell layer, and determining a target verification position from a plurality of word lines of the single-layer cell or the triple-layer cell, comprises:
[0166] When the cell layer of the target recovery unit is a high error rate layer, the cell layer is set to a single-layer cell, and a target verification position is determined from multiple word lines of the single-layer cell according to the data storage time of multiple word lines in the single-layer cell.
[0167] Optionally, the classifying the unit layers of the target recycling unit includes:
[0168] Acquire relevant characteristics of the unit layer of the target recycling unit;
[0169] The relevant features are input into a pre-trained classifier to obtain a unit-level category of the unit-level of the target recycling unit output by the classifier.
[0170] Optionally, the relevant features include any one or more of the following: number of erasures, average layer read error number, number of bad blocks, temperature of the disk, and data retention time.
[0171] Optionally, the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit further includes:
[0172] When the data category is hot data and the number of erase and write times is less than or equal to a third threshold, the cell layer is set to a three-layer cell, and any non-bad block position is selected from multiple word lines of the three-layer cell as a target verification position.
[0173] Optionally, the wear condition includes a number of erase times, and the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit includes:
[0174] When the data category is warm data and the number of erase and write times is less than a third threshold value and greater than a second threshold value, the cell layer is set to a three-layer cell, and a target verification position is determined from multiple word lines of the three-layer cell according to a data storage time of multiple word lines in the three-layer cell;
[0175] The second threshold is smaller than the third threshold.
[0176] Optionally, the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit further includes:
[0177] When the data category of the target data is warm data and the number of erase and write times is less than a third threshold and less than or equal to a second threshold, the cell layer is set to a three-layer cell, and any non-bad block position is selected from multiple word lines of the three-layer cell as a target verification position.
[0178] Optionally, the wear condition includes a number of erase times, and the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit includes:
[0179] When the data category is cold data and the number of erasures is less than a third threshold value and greater than a first threshold value, the cell layer is set to a three-layer cell, and a target verification position is determined from multiple word lines of the three-layer cell according to a data storage time of multiple word lines in the three-layer cell;
[0180] The first threshold is smaller than the third threshold.
[0181] Optionally, the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit further includes:
[0182] When the data category is cold data and the number of erase and write times is less than the third threshold and less than the second threshold, the cell layer is set to a three-layer cell, and any non-bad block position is selected from multiple word lines of the three-layer cell as a target verification position.
[0183] Optionally, determining a target verification position from a plurality of word lines of the single-level cell or the triple-level cell comprises:
[0184] Determining the data retention time according to the average number of read errors of multiple word lines in the single-layer cell or the triple-layer cell;
[0185] According to the data storage time, a target verification position is determined from a plurality of word lines of the single-level cell or the triple-level cell.
[0186] Optionally, the determining a data category of the target data corresponding to the data writing task includes:
[0187] Obtain the namespace, recycling unit and medium unit status specified in the instruction of the data writing task, and determine the data category of the target data corresponding to the data writing task based on the namespace, recycling unit and medium unit status specified in the instruction of the data writing task.
[0188] Optionally, it also includes:
[0189] The log processing module is used to generate and store task behavior logs for the system tasks.
[0190] In an embodiment of the present invention, by receiving a system task for a solid-state disk, and when the system task is a data writing task, determining a target recovery unit in the solid-state disk corresponding to the data writing task, and determining a data category of the target data corresponding to the data writing task; determining the wear condition of the target recovery unit, and determining a target verification position from the target recovery unit based on the wear condition and the data category; writing verification data of the target data into the target verification position, thereby optimizing the writing of verification data in the solid-state disk and improving the reliability of data in the solid-state disk.
[0191] Reference Fig.12 , shows an electronic device provided by some embodiments of the present invention, including a processor 1201, a memory 1202, and a computer program stored in the memory 1202 and capable of running on the processor 1201, and the above method is implemented when the computer program is executed by the processor.
[0192] Reference Fig.13 , shows a computer-readable storage medium 1300 provided in some embodiments of the present invention, on which a computer program is stored, and when the computer program is executed by a processor, the above method is implemented.
[0193] Reference Fig.14 , shows a computer program product 1400 provided by some embodiments of the present invention, including a computer program, which implements the above method when executed by a processor.
[0194] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0195] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0196] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0197] Those skilled in the art will appreciate that the embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0198] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0199] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0200] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0201] Although the preferred embodiments of the present invention have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.
[0202] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "including one..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the above elements.
[0203] The above provides a detailed introduction to the provided solid-state disk-based data processing method, device, equipment, medium and product. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for a person skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.
Claims
1. A data processing method based on a solid state disk, characterized in that: The method comprises: receiving a system task for the solid-state disk, and, if the system task is a data writing task, determining a target recycling unit in the solid-state disk corresponding to the data writing task, and determining a data category of target data corresponding to the data writing task; Determining a wear condition of the target recycling unit, and determining a target verification position from the target recycling unit according to the wear condition and the data category; Writing the verification data of the target data into the target verification position; Wherein, determining the target verification position from the target recycling unit according to the wear condition and the data category includes: According to the wear condition and the data category, a target strategy among multiple strategies is adopted to determine a target verification position from the target recycling unit; Among them, the multiple strategies include: setting the cell layer of the target recovery unit to a single-layer cell or a three-layer cell, and determining the target verification position from multiple word lines of the single-layer cell or the three-layer cell, setting the cell layer of the target recovery unit to a three-layer cell, and selecting any non-bad block position from the multiple word lines of the three-layer cell as the target verification position.
2. The method according to claim 1, characterized in that: The wear condition includes the number of erasures and writes, and the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit includes: When the data category is any data category and the number of erasures is greater than a third threshold, classifying the unit layer of the target recycling unit; The cell layer is set as a single-layer cell or a triple-layer cell according to the cell layer type of the cell layer, and a target verification position is determined from a plurality of word lines of the single-layer cell or the triple-layer cell.
3. The method according to claim 2, characterized in that The cell layer category includes a low error rate layer, and the cell layer is set to a single-layer cell or a triple-layer cell according to the cell layer category of the cell layer, and a target verification position is determined from a plurality of word lines of the single-layer cell or the triple-layer cell, including: When the cell layer of the target recovery unit is a low error rate layer, the cell layer is set to a three-layer cell, and a target verification position is determined from multiple word lines of the three-layer cell according to the data storage time of multiple word lines in the three-layer cell.
4. The method according to claim 2, characterized in that The cell layer category includes a high error rate layer, and the cell layer is set to a single-layer cell or a triple-layer cell according to the cell layer category of the cell layer, and a target verification position is determined from a plurality of word lines of the single-layer cell or the triple-layer cell, including: When the cell layer of the target recovery unit is a high error rate layer, the cell layer is set to a single-layer cell, and a target verification position is determined from multiple word lines of the single-layer cell according to the data storage time of multiple word lines in the single-layer cell.
5. The method according to any one of claims 2 to 4, characterized in that: The classifying the unit layers of the target recycling unit includes: Acquire relevant characteristics of the unit layer of the target recycling unit; The relevant features are input into a pre-trained classifier to obtain a unit-level category of the unit-level of the target recycling unit output by the classifier.
6. The method according to claim 5, characterized in that The related features include any one or more of the following: the number of erasures, the average number of read errors per layer, the number of bad blocks, the temperature of the disk, and the data retention time.
7. The method according to any one of claims 2 to 4, characterized in that: The method of determining a target verification position from the target recycling unit by adopting a target strategy among multiple strategies according to the wear condition and the data category also includes: When the data category is hot data and the number of erase and write times is less than or equal to a third threshold, the cell layer is set to a three-layer cell, and any non-bad block position is selected from multiple word lines of the three-layer cell as a target verification position.
8. The method according to claim 1, characterized in that The wear condition includes the number of erasures and writes, and the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit includes: When the data category is warm data and the number of erase and write times is less than a third threshold value and greater than a second threshold value, the cell layer is set to a three-layer cell, and a target verification position is determined from multiple word lines of the three-layer cell according to a data storage time of multiple word lines in the three-layer cell; The second threshold is smaller than the third threshold.
9. The method according to claim 8, characterized in that The method of determining a target verification position from the target recycling unit by adopting a target strategy among multiple strategies according to the wear condition and the data category also includes: When the data category of the target data is warm data and the number of erase and write times is less than a third threshold and less than or equal to a second threshold, the cell layer is set to a three-layer cell, and any non-bad block position is selected from multiple word lines of the three-layer cell as a target verification position.
10. The method according to claim 1, characterized in that The wear condition includes the number of erasures and writes, and the step of adopting a target strategy from a plurality of strategies according to the wear condition and the data category to determine a target verification position from the target recycling unit includes: When the data category is cold data and the number of erasures is less than a third threshold value and greater than a first threshold value, the cell layer is set to a three-layer cell, and a target verification position is determined from multiple word lines of the three-layer cell according to a data storage time of multiple word lines in the three-layer cell; The first threshold is smaller than the third threshold.
11. The method according to claim 10, characterized in that The method of determining a target verification position from the target recycling unit by adopting a target strategy among multiple strategies according to the wear condition and the data category also includes: When the data category is cold data and the number of erase and write times is less than the third threshold and less than the second threshold, the cell layer is set to a three-layer cell, and any non-bad block position is selected from multiple word lines of the three-layer cell as a target verification position.
12. The method according to claim 1, characterized in that The step of determining a target verification position from a plurality of word lines of the single-level cell or the triple-level cell comprises: Determining the data retention time according to the average number of read errors of multiple word lines in the single-level cell or the triple-level cell; According to the data storage time, a target verification position is determined from a plurality of word lines of the single-level cell or the triple-level cell.
13. The method according to claim 1, characterized in that The determining the data category of the target data corresponding to the data writing task includes: Obtain the namespace, recycling unit and medium unit status specified in the instruction of the data writing task, and determine the data category of the target data corresponding to the data writing task based on the namespace, recycling unit and medium unit status specified in the instruction of the data writing task.
14. The method according to claim 1, characterized in that Also includes: Generate and store a task behavior log for the system task.
15. A data processing device based on a solid state disk, characterized in that: The device comprises: a data writing module, configured to receive a system task for the solid-state disk, and, when the system task is a data writing task, determine a target recycling unit in the solid-state disk corresponding to the data writing task, and determine a data category of target data corresponding to the data writing task; A verification position determination module, used to determine the wear condition of the target recycling unit, and determine a target verification position from the target recycling unit according to the wear condition and the data category; A verification data writing module, used for writing the verification data of the target data into the target verification position; Wherein, determining the target verification position from the target recycling unit according to the wear condition and the data category includes: According to the wear condition and the data category, a target strategy among multiple strategies is adopted to determine a target verification position from the target recycling unit; Among them, the multiple strategies include: setting the cell layer of the target recovery unit to a single-layer cell or a three-layer cell, and determining the target verification position from multiple word lines of the single-layer cell or the three-layer cell, setting the cell layer of the target recovery unit to a three-layer cell, and selecting any non-bad block position from the multiple word lines of the three-layer cell as the target verification position.
16. An electronic device, characterized in that: The method comprises a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program implements the method according to any one of claims 1 to 14 when executed by the processor.
17. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 14 is implemented.
18. A computer program product, characterized in that The invention comprises a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 16.
