Data storage method and device of solid-state storage device, and storage medium
By using a pre-trained target classification network to classify the target tasks and storage layers of solid-state storage devices, determine the appropriate storage layer for data writing, solving the durability and data reliability problems of solid-state storage devices, and achieving efficient data storage and reading and writing.
Patent Information
- Application Number
- CN202510075471.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-17
- Publication Date
- 2025-06-06
- Estimated Expiration
- 2045-01-17
AI Technical Summary
The durability and data reliability of solid-state storage devices are affected by the differences in characteristics between different storage layers, resulting in an increase in data error frequency and a decrease in storage efficiency and read and write speed.
By using a pre-trained target classification network to classify the target tasks and storage layers, determine the appropriate storage layers for data writing, and dynamically adjust network parameters to suit different workloads and storage environments.
It realizes accurate classification and storage of data, improves storage efficiency and data reading and writing speed, and ensures the durability and data reliability of solid-state storage devices.
Smart Images

Figure CN119512472B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computers, and more specifically, to a data storage method and apparatus, and a storage medium for a solid-state storage device. Background Art
[0002] With the continuous development of 3D flash memory manufacturing technology, solid-state storage devices have significant advantages in density and cost per bit, and have been widely used in enterprise and consumer products. However, with the increase in storage density and the reduction in flash memory unit size, storage units are extremely susceptible to interference such as erasing, reading, and data retention, which increases the frequency of errors in stored data, resulting in poor durability and reliability of solid-state storage devices.
[0003] In order to improve the durability and reliability of solid-state storage devices, the relevant technology predicts whether the number of errors exceeds the capability of the error correcting code (ECC) algorithm. If it exceeds the capability of the ECC algorithm, the data on the flash memory block is migrated to a free flash memory block to improve the reliability of the solid-state drive.
[0004] However, most of the above methods use flash memory blocks as the granularity and do not consider the differences between different layers within the flash memory block. Since the characteristics of different layers of 3D flash memory are quite different, these differences will lead to differences in programming or erasing speed, inter-cell interference, data preservation, etc. in the same flash memory block, resulting in different Raw Bit Error Rates (RBER) and durability on different layers, which in turn affects the durability and data reliability of solid-state storage devices. Summary of the invention
[0005] The embodiments of the present application provide a data storage method and apparatus, and a storage medium for a solid-state storage device, so as to at least solve the problems of durability and data reliability of the solid-state storage device in the related art.
[0006] According to an embodiment of the present application, a data storage method for a solid-state storage device is provided, comprising: obtaining a target task and a target task type of the target task; when the target task type is a first task type, performing a first classification operation on the target task using a pre-trained first target classification network to obtain a first classification label, wherein the first target classification network is a classification network obtained by training a first initial classification network using a sample write data set, the sample write data set includes task information of multiple sample write tasks, and the first classification label is used to represent the write category of the data to be written included in the target task; performing a second classification operation on a storage layer in a target data block using a pre-trained second target classification network to obtain categories of multiple storage layers in the target data block, wherein the target data block is a data block in an idle state in the solid-state storage device, the second target classification network is a classification network obtained by training a second initial classification network using a sample storage data set, the sample storage data set includes storage information of multiple sample data blocks; determining a target storage layer matching the first classification label based on multiple categories of multiple storage layers, and storing the data to be written in the target storage layer, wherein the target category of the target storage layer matches the first classification label.
[0007] In an exemplary embodiment, when the target task type is a first task type, before using a pre-trained first target classification network to perform a first classification operation on the target task and obtain a first classification label, the method further includes: iteratively training the first initial classification network using the sample write data set until the number of times the first initial classification network is trained reaches a first target number of times, or when the target loss value of the first initial classification network meets a preset first training end condition, ending the training to obtain the first target classification network, wherein the first target loss value of the first initial classification network represents the degree of difference between the first predicted label value output by the first initial classification network and the true label corresponding to the sample write data set, and the first initial classification network includes a first preprocessing subnetwork, a first convolution subnetwork, a first recurrent subnetwork, and a first classification subnetwork; and recording the first time of training to obtain the first target classification network.
[0008] In an exemplary embodiment, the first initial classification network is iteratively trained using the sample write data set, including: training the first initial classification network for the kth time through the following steps, wherein k is a positive integer: obtaining sample write data used for the kth training of the first initial classification network from the sample write data set; inputting the sample write data into the first preprocessing subnetwork to obtain a sample write feature set; inputting the sample write feature set and the sample write data into the first convolution subnetwork to obtain a first target sample write feature set; inputting the first target sample write feature set into the first loop subnetwork to obtain a second target sample write feature set; inputting the second target sample set write feature into the first classification subnetwork to obtain a first predicted classification label, wherein the first predicted classification label is used to indicate the write category of the data to be written included in the sample write data used for the kth training; determining the first target loss value obtained from the kth training; when k is less than the first target number, or when the first target loss value does not meet the first training end condition, adjusting the values of the parameters in the first initial classification network of the k-1th training to obtain the first initial classification network of the kth training.
[0009] In an exemplary embodiment, the sample writing data is input into the first preprocessing sub-network to obtain the sample writing features, including: separating each data feature in the sample writing data to generate the sample writing feature set, wherein the sample writing feature set The sample writing feature set includes the sample writing feature = , the LBA is used to indicate the logical address where the sample write data is to be written, the It is used to indicate the amount of data written by the sample. Used to represent the writing mode of the sample writing data, wherein N is a natural number greater than or equal to 1.
[0010] In an exemplary embodiment, the first target sample is written into the feature set y ,in, , is used to represent the activation function in the first convolutional sub-network, It is used to represent the convolution kernel of the first convolution sub-network, the size of the convolution kernel is k, and d is used to represent the expansion factor of the first convolution sub-network, the value of the expansion factor is , where N is an integer greater than or equal to 0, Used to represent dot product.
[0011] In an exemplary embodiment, the second target sample is written into the feature set , wherein the , , , The output of the update gate of the first recurrent sub-network is used to represent the The output of the reset gate of the first recurrent sub-network is used to represent the for representing the candidate hidden state of the first recurrent sub-network, For the Hadamard product, is used to represent the hidden state of the first cyclic sub-network at the previous moment, is used to represent the weight of the update gate of the first recurrent sub-network, is used to represent the weight of the reset gate of the first recurrent sub-network, Used to represent the weight of the current memory unit in the first recurrent sub-network.
[0012] In an exemplary embodiment, when the target task type is a first task type, after performing a first classification operation on the target task using a pre-trained first target classification network and obtaining a first classification label, the method further includes: determining a first time , wherein the , is used to indicate the time of training to obtain the first target classification network, is used to indicate the time when the first target classification network outputs the first classification label; in the When the time is greater than the first preset time, the and stated The first target classification network is retrained for the plurality of target tasks within a time period to update network parameters in the first target classification network.
[0013] In an exemplary embodiment, before using a pre-trained second target classification network to perform a second classification operation on the storage layers in the target data block to obtain the categories of multiple storage layers in the target data block, the method further includes: using the sample storage data set to iteratively train the second initial classification network until the number of training times for the second initial classification network reaches a second target number, or the target loss value of the second initial classification network meets a preset second training end condition, then terminating the training to obtain the second target classification network, wherein the second target loss value of the second initial classification network represents the degree of difference between the categories of multiple storage layers output by the second initial classification network and the true categories corresponding to the multiple storage layers in the sample storage data set, and the second initial classification network includes a second preprocessing subnetwork, a second convolutional subnetwork, a second classification subnetwork and a third classification subnetwork; and recording the second time of training to obtain the second target classification network.
[0014] In an exemplary embodiment, the second initial classification network is iteratively trained using the sample storage data set, including: training the second initial classification network for the kth time through the following steps, wherein k is a positive integer: obtaining sample storage data used for the kth training of the second initial classification network in the sample storage data set; inputting the sample storage data into the second preprocessing subnetwork to obtain a sample storage feature set; inputting the sample storage feature set into the second convolutional subnetwork to obtain a first target sample storage feature set, wherein the second convolutional subnetwork includes M convolutional layers and M pooling layers, wherein M is a natural number greater than or equal to 1; inputting the first target sample storage feature set into the second preprocessing subnetwork to obtain a first target sample storage feature set. Input the second classification subnetwork to obtain a second target sample storage feature set; input the second target sample storage feature set to the third classification subnetwork to obtain a second predicted classification label, wherein the second predicted classification label is used to represent the category of each storage layer in the sample storage block included in the sample storage data used for the k-th training; determine the second target loss value obtained by the k-th training; when k is less than the second target number, or when the second target loss value of the k-th training does not meet the second training end condition, adjust the values of the parameters in the second initial classification network of the k-1-th training to obtain the second initial classification network of the k-th training.
[0015] In an exemplary embodiment, the sample storage data is input into the second preprocessing sub-network to obtain a sample storage feature set, including: separating each data feature in the sample storage data set to generate the sample storage feature set, wherein the sample storage feature set , the sample storage features included in the sample storage feature set , the PE is used to indicate the number of times the sample storage block is erased, the It is used to indicate the storage time of the sample storage data. is used to represent the read voltage of all storage layer pages of the sample storage block, Used to indicate the number of errors when reading all storage layer pages of the sample storage block.
[0016] In an exemplary embodiment, the sample storage feature set is input into the second convolutional subnetwork to obtain a first target sample storage feature set, including: training in the lth convolutional layer and the lth pooling layer in the second convolutional subnetwork through the following steps to obtain the first target sample storage feature set, wherein l is a positive integer: inputting the sample storage feature set into the lth convolutional layer to obtain a first output result, wherein the first output result is , is used to represent the activation function in the second convolutional sub-network, is used to represent the jth convolution kernel of the l-1th convolution layer in the second convolution sub-network, k is used to represent the convolution kernel of the second convolution sub-network, and It is used to represent the feature matrix of all associations of the l-1th convolutional layer, the size of the feature matrix is L×4, and L is the number of layers included in the storage block in the sample storage feature set. is used to represent the bias parameter of the second convolutional sub-network, is used to represent the jth feature matrix in the lth convolutional layer; the first output result is input into the lth pooling layer to obtain a second output result, wherein the second output result is , is used to represent the downsampling function in the second convolutional subnetwork, Used to represent weight.
[0017] In an exemplary embodiment, the second target sample storage feature set is , wherein the n is used to represent the nth neuron in the second classification subnetwork, the is used to represent a convolution kernel of the same size as the first classification sub-network input included in the first initial classification network, is used to represent the output of the nth neuron, and n is used to represent the number of neurons in the second classification sub-network.
[0018] In an exemplary embodiment, after performing a second classification operation on the storage layers in the target data block using a pre-trained second target classification network to obtain categories of multiple storage layers in the target data block, the method further includes: determining a second time for training to obtain the second target classification network, and determining a third time for determining the categories of multiple storage layers included in the target data block; calculating the difference between the third time and the second time to obtain a fourth time; and when the fourth time is greater than the second preset time, using the storage information of the target data block in the time period between the second time and the fourth time to train the second target classification network to obtain a third target classification network.
[0019] In an exemplary embodiment, a target storage layer matching the first classification label is determined based on multiple categories of multiple storage layers, and the data to be written is stored in the target storage layer, including: obtaining the first classification label and multiple categories of multiple storage layers; selecting a storage layer matching the first classification label based on preset rules to obtain the target storage layer; and writing the data to be written into the target storage layer.
[0020] In an exemplary embodiment, writing the data to be written into the target storage layer includes: obtaining an original error bit rate of the target storage layer; when the original error bit rate is greater than a preset threshold, writing the data to be written into a target page in the target storage layer, wherein the preset threshold is a threshold determined based on given data in the target data block, and the target page includes a starting page in the target storage layer.
[0021] In an exemplary embodiment, after obtaining the target task and the target task type of the target task, the method further includes: when the target task type is a second task type, reading data corresponding to the target task from the target data block; in the process of reading the data, recording a second task log, wherein the second task log is used to update network parameters of the first target classification network and the second target classification network.
[0022] According to another embodiment of the present application, a data storage device of a solid-state storage device is provided, comprising: a first acquisition module, used to acquire a target task and a target task type of the target task; a first classification module, used to, when the target task type is a first task type, perform a first classification operation on the target task using a pre-trained first target classification network to obtain a first classification label, wherein the first target classification network is a classification network obtained by training a first initial classification network using a sample write data set, the sample write data set including task information of multiple sample write tasks, and the first classification label is used to indicate a write category of data to be written included in the target task; a second classification module, Used to use a pre-trained second target classification network to perform a second classification operation on the storage layers in the target data block to obtain categories of multiple storage layers in the target data block, wherein the target data block is a data block in an idle state in a solid-state storage device, and the second target classification network is a classification network obtained by training a second initial classification network using a sample storage data set, and the sample storage data set includes storage information of multiple sample data blocks; a first storage module, used to determine a target storage layer matching the first classification label based on multiple categories of multiple storage layers, and store the data to be written in the target storage layer, wherein the target category of the target storage layer matches the first classification label.
[0023] According to another embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.
[0024] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.
[0025] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0026] Through the present application, a first classification operation is performed on a target task using a pre-trained first target classification network, a first classification label for representing the write category of the data to be written included in the target task is obtained, and a second classification operation is performed on the storage layer in the target data block using a pre-trained second target classification network, the categories of multiple storage layers in the target data block are obtained, and finally, a target storage layer matching the first classification label is determined based on multiple categories of multiple storage layers, and the data to be written is stored in the target storage layer. Accurate classification and storage of data is achieved, effectively improving storage efficiency and data reading and writing speed. By dynamically adjusting the parameters of the classification network, it can adapt to different workloads and storage environments, and ensure the durability and data reliability of solid-state storage devices. Therefore, the problems of durability and data reliability of solid-state storage devices in related technologies can be solved. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Figure 1 It is a hardware environment diagram of a data storage method of a solid-state storage device according to an embodiment of the present application;
[0028] Figure 2 is a flow chart of a data storage method of a solid-state storage device according to an embodiment of the present application;
[0029] Figure 3 is an architecture diagram of a first initial classification network according to an embodiment of the present application;
[0030] Figure 4 is a flowchart of determining a first classification label according to an embodiment of the present application;
[0031] Figure 5 is a schematic diagram of the network structure of a second initial classification network according to an embodiment of the present application;
[0032] Figure 6 is a flow chart of determining categories of multiple storage layers in a target data block according to an embodiment of the present application;
[0033] Figure 7 is a schematic diagram of the structure of a device according to a specific embodiment of the present application;
[0034] Figure 8 is a flow chart of a method according to a specific embodiment of the present application;
[0035] Fig. 9 It is a schematic diagram of the interaction between various modules in a specific embodiment of the present application;
[0036] Fig.10 It is a structural block diagram of a data storage device of a solid-state storage device according to an embodiment of the present application. DETAILED DESCRIPTION
[0037] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0038] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0039] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 Schematic diagram of the hardware environment of a data storage method of a solid-state storage device according to an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the above-mentioned server device may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.
[0040] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as computer programs corresponding to the data storage method of the solid-state storage device in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0041] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0042] In this embodiment, a data storage method of a solid-state storage device is provided. Figure 2 is a flow chart of a data storage method of a solid-state storage device according to an embodiment of the present application. Figure 2 As shown, the process includes the following steps:
[0043] Step S202, obtaining a target task and a target task type of the target task;
[0044] Optionally, the target task in this embodiment includes but is not limited to a read-write task, wherein the read-write task may be a task sent by the host. The target task type includes but is not limited to the type of target task to be processed, for example, hot write, cold write hot read, cold write cold read, etc.
[0045] Step S204, when the target task type is the first task type, use a pre-trained first target classification network to perform a first classification operation on the target task to obtain a first classification label, wherein the first target classification network is a classification network obtained by training a first initial classification network using a sample writing data set, the sample writing data set includes task information of a plurality of sample writing tasks, and the first classification label is used to indicate a writing category of the data to be written included in the target task;
[0046] Optionally, the first task type includes but is not limited to a write task. For example, the write task is input into the first target classification network to obtain a hot write classification label of the write task, which indicates that the write task is a hot write task.
[0047] Optionally, the first target classification network includes but is not limited to a neural network model trained based on a deep learning algorithm. For example, the first target classification network is a convolutional neural network (CNN) to perform classification processing on a specific task.
[0048] Step S206, using a pre-trained second target classification network to perform a second classification operation on the storage layers in the target data block, to obtain categories of multiple storage layers in the target data block, wherein the target data block is a data block in an idle state in the solid-state storage device, and the second target classification network is a classification network obtained by training the second initial classification network using the sample storage data set, and the sample storage data set includes storage information of multiple sample data blocks;
[0049] Optionally, a solid-state storage device is a storage device that uses integrated circuit components to store data persistently, such as a solid-state disk (SSD). In a solid-state storage device, the target data blocks being in an idle state generally means that the data blocks are data blocks ready to be written with new data.
[0050] Optionally, the second target classification network refers to a neural network for a classification task. The classification task refers to classifying data into different categories or labels based on input data. The second target classification network can be an existing network structure, such as ResNet, VGG, etc., or a custom network structure. Depending on the task requirements, the basic network may need to be customized, such as adjusting the number of layers, changing the activation function, adding a dropout layer, etc., to improve the performance and adaptability of the network.
[0051] Step S208, based on the multiple categories of the multiple storage layers, determine the target storage layer that matches the first classification label, and store the data to be written in the target storage layer, wherein the target category of the target storage layer matches the first classification label. For example, write the data in the write task of the hot write classification label to the storage layer with the highest reliability.
[0052] In this embodiment, the execution subject of the above steps can be a terminal, a server, a specific processor set in the terminal or server, or a processor or processing device set relatively independently from the terminal or server, but is not limited thereto.
[0053] The execution order of step S204 and step S206 is interchangeable, that is, step S206 may be executed first, and then step S204.
[0054] Through the above steps, since the first classification operation is performed on the target task using the pre-trained first target classification network, a first classification label for representing the write category of the data to be written included in the target task is obtained, and the second classification operation is performed on the storage layer in the target data block using the pre-trained second target classification network, the categories of multiple storage layers in the target data block are obtained, and finally, based on multiple categories of multiple storage layers, the target storage layer matching the first classification label is determined, and the data to be written is stored in the target storage layer. Accurate classification and storage of data is achieved, and storage efficiency and data reading and writing speed are effectively improved. By dynamically adjusting the parameters of the classification network, it can adapt to different workloads and storage environments, and ensure the durability and data reliability of solid-state storage devices. Therefore, the problems of durability and data reliability of solid-state storage devices in related technologies can be solved.
[0055] In an exemplary embodiment, when the target task type is the first task type, a pre-trained first target classification network is used to perform a first classification operation on the target task, and before obtaining a first classification label, the method further includes: iteratively training the first initial classification network using the sample write data set until the number of trainings for the first initial classification network reaches a first target number, or the target loss value of the first initial classification network meets a preset first training end condition, and then the training is terminated to obtain the first target classification network, wherein the first target loss value of the first initial classification network represents the degree of difference between the first predicted label value output by the first initial classification network and the true label corresponding to the sample write data set, and the first initial classification network includes a first preprocessing subnetwork, a first convolution subnetwork, a first cyclic subnetwork, and a first classification subnetwork; and recording the first time of training to obtain the first target classification network.
[0056] Optionally, the first initial classification network includes but is not limited to a neural network model trained based on a deep learning algorithm. Figure 3 The figure shows the architecture of the first initial classification network, which includes an input layer of the input feature sequence, a feature fusion layer, a temporal convolutional network layer (TCN) and a gated recurrent unit (GRU), a fully connected layer, and an output layer. Among them, TCN is composed of multiple residual blocks, which are mainly composed of dilated causal convolutions. The output of the residual block is the same as the length of the input sequence. GRU includes multiple neurons. The output of the residual block is used as the input of GRU, and the output result of GRU is input to the fully connected layer, and the category label is output through the mapping of the fully connected layer, such as hot write, hot read, and cold read.
[0057] Among them, the specific processing process of the first initial classification network outputting the classification label includes: the input layer receives the original feature sequence. The feature fusion layer integrates features from different sources to provide richer information for subsequent models. TCN captures long-distance temporal dependencies. GRU processes sequence data, where the output of the residual block serves as the input of the GRU unit. The fully connected layer maps the output of the GRU to a new space for classification. The final output layer maps the output of the fully connected layer to the category label. In practical applications, the first initial classification network can be trained by supervised learning, using the cross entropy loss function to optimize the model parameters in order to correctly classify the input sequence.
[0058] In this embodiment, the first initial classification network is iteratively trained by using the sample writing data set, so that the first initial classification network can better learn the data features, thereby improving the classification accuracy of the samples. In addition, setting the training end condition can prevent the first initial classification network from overfitting.
[0059] Optionally, the first initial classification network is iteratively trained using the sample write data set, including: training the first initial classification network for the kth time through the following steps, wherein k is a positive integer: obtaining sample write data used for the kth training of the first initial classification network in the sample write data set; inputting the sample write data into the first preprocessing subnetwork to obtain a sample write feature set; inputting the sample write feature set and the sample write data into the first convolutional subnetwork to obtain a first target sample write feature set; inputting the first target sample write feature set into the first cyclic subnetwork to obtain Write a feature set to the second target sample; input the write feature of the second target sample set into the first classification subnetwork to obtain a first predicted classification label, wherein the first predicted classification label is used to indicate the write category of the data to be written included in the sample write data used in the k-th training; determine the first target loss value obtained by the k-th training; when the k is less than the first target number, or when the first target loss value does not meet the first training end condition, adjust the parameter values of the first initial classification network of the k-1-th training to obtain the first initial classification network of the k-th training.
[0060] Optionally, the sample writing data is input into the first preprocessing sub-network to obtain the sample writing features, including: separating each data feature in the sample writing data to generate the sample writing feature set, wherein the sample writing feature set The sample writing feature set includes the sample writing feature = , the above LBA is used to indicate the logical address where the above sample write data is to be written, the above It is used to indicate the amount of data written by the above sample. Used to represent the writing mode of the above sample writing data, the above N is a natural number greater than or equal to 1.
[0061] Optionally, the first target sample is written into the feature set y ,in, , the above It is used to represent the activation function in the first convolutional subnetwork. It is used to represent the convolution kernel of the first convolution sub-network. The size of the convolution kernel is k. The above d is used to represent the expansion factor of the first convolution sub-network. The value of the above expansion factor is , the above N is an integer greater than or equal to 0, the above Used to represent dot product.
[0062] Optionally, the second target sample is written into the feature set , among which, the above , the above , the above , the above It is used to represent the output of the update gate of the first cyclic sub-network. It is used to represent the output of the reset gate of the first cyclic sub-network. It is used to represent the candidate hidden state of the first recurrent sub-network. Used to represent the Hadamard product, the above It is used to represent the hidden state of the first cyclic sub-network at the previous moment. It is used to represent the weight of the update gate of the first cyclic sub-network. It is used to represent the weight of the reset gate of the first cyclic sub-network. Used to represent the weight of the current memory unit in the first recurrent subnetwork.
[0063] For example, Figure 3 As shown, the input of TCN is , = x t =, the output is ,in, is the activation function, is the convolution kernel, the convolution kernel size is k, d is the dilation factor of the dilated causal convolution, the value is 1, 2, 4..., increasing exponentially by 2. The input of GRU is the output of TCN , the output of GRU is , , , .in, is the output of the update gate, is the output of the reset gate, is a candidate hidden state, is the Hadamard product, is the dot product, is the hidden state at the previous moment, To update the gate weight, To reset the gate weights, is the weight of the current memory unit.
[0064] This embodiment can improve the classification accuracy of the first initial classification network on sample data through multiple iterative training. By gradually adjusting the network parameters, the first initial classification network can better generalize to unseen test data.
[0065] Optionally, after the first target classification network is trained, the first classification operation is performed on the target task using the pre-trained first target classification network to obtain the first classification label. Figure 4 As shown, the following steps are included:
[0066] S401, feature extraction of the target task, extracting useful features from the target task, wherein feature extraction can be performed using a feature selection algorithm or an autoencoder.
[0067] S402, input the extracted features into the first target classification network, the first classification network calculates the probability that the target task is a hot write, the probability of a cold write and a hot read, and the probability of a cold write and a cold read, and outputs a first classification label of the target task based on the probability of hot write, the probability of cold write and hot read, and the probability of cold write and cold read, so as to determine the specific category of the target task.
[0068] S403, during use, the performance of the first target classification network can be detected in real time, and the parameters of the first target classification network can be updated. If it is determined that the parameters need to be updated, the weights of the model will be updated through the back propagation algorithm using the data of the training set. This process usually includes steps such as calculating the loss function, calculating the gradient, and applying the gradient descent algorithm.
[0069] In an exemplary embodiment, when the target task type is a first task type, a pre-trained first target classification network is used to perform a first classification operation on the target task, and after obtaining a first classification label, the method further includes: determining a first time , among which, the above , the above It is used to indicate the time of training to obtain the first target classification network. It is used to indicate the time when the first target classification network outputs the first classification label; When the time is greater than the first preset time, the above and the above The first target classification network is retrained for the plurality of target tasks within a time period to update network parameters in the first target classification network.
[0070] Optionally, in this embodiment, after the first target classification network is deployed, it is necessary to monitor in real time the time it takes for the first target classification network to output classification labels. Compare this time with a preset performance threshold. If the output time exceeds the preset time threshold, the retraining process is triggered. After determining that retraining is required, new data needs to be collected. This data may come from new user input or target task data collected within a time period. Use the newly collected data to fine-tune or completely retrain the first target classification network. This process may involve adjusting the network structure, loss function, optimizer, etc. During training, the weights and biases of the network are updated based on the new data. This process continues until the performance of the first target classification network reaches a satisfactory level, that is, the time to output the classification label is within the preset time threshold. After retraining, evaluate the performance of the first target classification network to ensure that it outputs the classification label within the specified time and maintains or improves the accuracy of the classification. For example, when the time span of the acquired I / O behavior log data is a period When the number of samples is an integer multiple of n (n=1, 2, ...), the sample set is updated based on the collected writing task behavior, the first target classification network is retrained, and then the parameters of the first target classification network are updated using the trained parameters.
[0071] This embodiment determines whether it is necessary to retrain the first target classification network by obtaining the time of training the first target classification network and the time when the first target classification network outputs the above-mentioned first classification label, so as to achieve the purpose of accurately updating the network parameters in the first target classification network.
[0072] In an exemplary embodiment, before using a pre-trained second target classification network to perform a second classification operation on the storage layers in the target data block to obtain the categories of the multiple storage layers in the target data block, the method further includes: using the sample storage data set to iteratively train the second initial classification network until the number of training times for the second initial classification network reaches a second target number, or the target loss value of the second initial classification network meets a preset second training end condition, then the training is terminated to obtain the second target classification network, wherein the second target loss value of the second initial classification network represents the degree of difference between the categories of the multiple storage layers output by the second initial classification network and the true categories corresponding to the multiple storage layers in the sample storage data set, and the second initial classification network includes a second preprocessing subnetwork, a second convolution subnetwork, a second classification subnetwork and a third classification subnetwork; and recording the second time of training to obtain the second target classification network.
[0073] Optionally, the second initial classification network includes but is not limited to a structure based on a convolutional neural network (CNN). Figure 5 As shown, it is a schematic diagram of the network structure of the second initial classification network. The second initial classification network includes a feature matrix input, a series of convolutional layers, pooling layers, fully connected layers, and output layers. The fully connected layer maps the multi-dimensional features extracted by the convolutional layer into category labels: the layer with the highest reliability, the layer with higher reliability, and the layer with lower reliability.
[0074] Among them, the convolutional layers include: The most reliable layers: the convolutional layers close to the output (the convolutional layers close to the fully connected layers). These layers are usually able to capture more abstract and advanced features, which are crucial for the final classification decision. The layers with higher reliability: the middle convolutional layers. They begin to abstract more complex patterns from low-level features (such as edges and textures). The layers with lower reliability: the convolutional layers close to the input. These layers are usually responsible for capturing low-level features of the image, such as lines and corners, which are important for preliminary feature extraction, but contribute relatively little to the final classification decision.
[0075] Pooling layers improve the robustness of the model by reducing the spatial dimensions of the feature map. They are generally considered to be more reliable layers because they reduce the risk of overfitting and retain the most important features.
[0076] The fully connected layers include: The most reliable layer: The last fully connected layer, usually connected to the output layer. This layer maps the features extracted by the previous layers to the category label, so it is crucial for the final classification decision. The less reliable layers: The fully connected layers close to the input. Although they are also involved in the integration and decision-making process of features, they may be more susceptible to input noise.
[0077] Output layer: The output layer usually uses a softmax function to generate category probability distribution. The reliability of this layer depends on the quality of feature extraction and mapping in the previous layer.
[0078] This embodiment combines the predictions of multiple models through ensemble learning, which can improve the reliability of the second initial classification network.
[0079] Optionally, the second initial classification network is iteratively trained using the sample storage data set, including: training the second initial classification network for the kth time through the following steps, wherein k is a positive integer: obtaining sample storage data used for the kth training of the second initial classification network in the sample storage data set; inputting the sample storage data into the second preprocessing subnetwork to obtain a sample storage feature set; inputting the sample storage feature set into the second convolutional subnetwork to obtain a first target sample storage feature set, wherein the second convolutional subnetwork includes M convolutional layers and M pooling layers, and M is a natural number greater than or equal to 1; inputting the first target sample storage feature set into the In the second classification subnetwork, a second target sample storage feature set is obtained; the second target sample storage feature set is input into the third classification subnetwork to obtain a second predicted classification label, wherein the second predicted classification label is used to represent the category of each storage layer in the sample storage block included in the sample storage data used in the k-th training; the second target loss value obtained by the k-th training is determined; when the k is less than the second target number, or the second target loss value of the k-th training does not meet the second training end condition, the parameter values in the second initial classification network of the k-1-th training are adjusted to obtain the second initial classification network of the k-th training.
[0080] Optionally, before each iterative training (e.g., the kth training) starts, the present embodiment needs to obtain sample data for this training from the sample storage data set. The obtained sample storage data is input into the preprocessing subnetwork to perform data preprocessing, such as normalization processing, scaling processing, etc., to obtain a sample storage feature set. The sample storage feature set is input into the convolution subnetwork, which includes M convolution layers and M pooling layers. The convolution layer is responsible for extracting features, and the pooling layer is responsible for reducing the spatial dimension of the features while retaining important information. The first target sample storage feature set obtained after convolution and pooling is input into the classification subnetwork, and further processed to obtain the second target sample storage feature set. Then, these features are input into the third classification subnetwork, and finally the second predicted classification labels are obtained, which represent the predicted categories of the input samples. The loss value obtained from the kth training is determined, and this loss value is a quantitative measure of the difference between the model output and the true label. Determine whether the current k is less than the predetermined number of training times (the second target number of times), or whether the current loss value meets the preset end condition (for example, the loss value no longer decreases significantly, or reaches the predetermined minimum loss threshold). If the training is not finished (k is less than the number of training times or the loss value does not meet the end condition), adjust the model parameters according to the loss value (for example, through the gradient descent algorithm). This parameter update process usually involves calculating the gradient and then updating the network weights based on the gradient and the learning rate. Use the updated parameters for the next (k+1th) training and repeat the above steps until the end condition is met.
[0081] This embodiment makes the training process more efficient and easier to manage by building a model, defining a loss function, selecting an optimizer, automatically calculating gradients, and updating parameters.
[0082] Optionally, the sample storage data is input into the second preprocessing subnetwork to obtain a sample storage feature set, including: separating each data feature in the sample storage data set to generate the sample storage feature set, wherein the sample storage feature set , the sample storage features included in the sample storage feature set , the above PE is used to represent the number of times the above sample storage block is erased, the above It is used to indicate the storage time of the sample storage data. It is used to represent the read voltage of all storage layer pages of the above sample storage block, the above Indicates the number of errors when reading pages of all storage tiers of the sample storage block.
[0083] This embodiment separates each data feature in the sample storage data set, which involves the steps of data preprocessing and feature engineering. The purpose of this process is to convert the raw data into a format that the model can understand and process. Specifically, it includes the following:
[0084] Data cleaning: Remove outliers, missing values, or mislabeled data from sample storage datasets. For missing data, you can choose to fill (for example, using the mean, median, or mode) or delete samples with missing values.
[0085] Feature selection: Select the most relevant features from the sample storage data set. For example, the number of erases of free data blocks, the retention time, the read voltage of all layer pages, the number of errors when reading all layer pages, and other data.
[0086] Feature construction: Create new features that may help the model's predictive ability. For example, you can extract year, month, day, etc. from the storage time.
[0087] Feature conversion: convert non-numeric data into numeric data. For example, use one-hot encoding to process variables such as the number of erases of free data blocks, storage time, read voltage of all layer pages, and number of errors when reading all layer pages. For ordered categorical data, label encoding can be used.
[0088] Feature scaling: Scale the features to a uniform range, e.g., between 0 and 1, or to have zero mean and unit variance. This can be achieved through normalization or standardization.
[0089] Feature extraction: For stored data, a bag-of-words model is needed to extract text features.
[0090] Feature dimensionality reduction: Use methods such as principal component analysis and autoencoders to reduce the dimension of features while retaining the information of the original data as much as possible. Time series feature extraction: If the data is time series data, you may need to extract features such as trends, seasonality, and periodicity.
[0091] Encoding transformation: Convert the task into a numerical matrix.
[0092] Feature storage: Store the extracted features in appropriate data structures such as arrays, data frames, or tensors for input into machine learning models.
[0093] For structured data, this embodiment requires more feature construction and conversion steps, while for unstructured data, more feature extraction and dimension reduction steps may be required. In addition, this process is usually iterative and requires multiple adjustments and optimizations to obtain the best feature representation.
[0094] Optionally, the sample storage feature set is input into the second convolutional subnetwork to obtain a first target sample storage feature set, comprising: training in the lth convolutional layer and the lth pooling layer in the second convolutional subnetwork through the following steps to obtain the first target sample storage feature set, wherein l is a positive integer: inputting the sample storage feature set into the lth convolutional layer to obtain a first output result, wherein the first output result is , the above It is used to represent the activation function in the second convolutional subnetwork. It is used to represent the jth convolution kernel of the l-1th convolution layer in the above second convolution sub-network, and k is used to represent the convolution kernel of the second convolution sub-network. It is used to represent the feature matrix of all associations of the l-1th convolutional layer. The size of the feature matrix is L×4, where L is the number of layers included in the storage block in the sample storage feature set. Used to represent the bias parameters of the second convolutional subnetwork. is used to represent the jth feature matrix in the lth convolutional layer; the first output result is input into the lth pooling layer to obtain the second output result, wherein the second output result is , the above It is used to represent the downsampling function in the second convolutional subnetwork. Used to represent weight.
[0095] Optionally, the second target sample storage feature set is , where n is used to represent the nth neuron in the second classification subnetwork. It is used to represent the convolution kernel of the same size as the first classification sub-network input included in the first initial classification network. It is used to represent the output of the nth neuron, and the n is used to represent the number of neurons in the second classification sub-network.
[0096] Optionally, in this embodiment, after the second target classification network is obtained through training, the second target classification network performs a second classification operation on the storage layer in the target data block to obtain the categories of the multiple storage layers in the target data block. Figure 6 As shown, the following steps are included:
[0097] S601, extracting data such as the number of erase times, storage time, read voltage, and number of errors during reading of each storage layer in the target data block from the log file of the target data block;
[0098] S602, input the data obtained in S601 into the second target classification network, calculate the probability that each storage layer in the target data block belongs to the "most reliable layer", the probability that the "higher reliability layer" belongs to the "lower reliability layer", and output the category of each storage layer based on the above probabilities;
[0099] S603, during use, the performance of the second target classification network can be detected in real time, and the parameters of the second target classification network can be updated. If it is determined that the parameters need to be updated, the weights of the model will be updated using the data of the training set through the back propagation algorithm.
[0100] For example, Figure 5 As shown, the input of the CNN network in the second target classification network is , , the output of the convolutional layer is ,in, is the activation function, is the jth convolution kernel of the lth layer, k is the size of the convolution kernel, is the feature matrix of all associations in the l-1th layer, and the feature matrix size is L×4, where L is the number of all layers in the flash block, and the features of each layer in the flash block are the PE value, storage time, read voltage, and number of errors during reading. is the bias parameter, is the jth feature matrix of the lth layer. The output of the convolutional layer is used as the input of the pooling layer. The output of the pooling layer is ,in, is the downsampling function, The output of the last pooling layer is used as the input of the first fully connected layer. The output of the first fully connected layer is , where n is the number of neurons, is a convolution kernel of the same size as the fully connected layer input, is the output of the nth neuron in the lth layer, n=1, 2…, N, N is the number of neurons in the first fully connected layer, the input of the second layer of neurons is the output of the first layer of neurons, the size is 1×N, the number of neurons is 3, and the output of the second layer of neurons is , where j = 1, 2, ..., N, is the weight from the jth neuron in the first fully connected layer to the ith neuron in the second fully connected layer, is the bias from the jth neuron in the first fully connected layer to the ith neuron in the second fully connected layer, i=1, 2, 3, .
[0101] In an exemplary embodiment, after performing a second classification operation on the storage layers in the target data block using a pre-trained second target classification network to obtain the categories of the multiple storage layers in the target data block, the method further includes: determining a second time for training to obtain the second target classification network, and determining a third time for determining the categories of the multiple storage layers included in the target data block; calculating the difference between the third time and the second time to obtain a fourth time; and when the fourth time is greater than the second preset time, training the second target classification network using the storage information of the target data block in the time period between the second time and the fourth time to obtain a third target classification network.
[0102] Optionally, the second time for training the second target classification network includes multiple factors, for example, the amount of data required for training will affect the training time, and the more data, the longer the training time is usually; the depth and width of the network (i.e., the number of layers and the number of neurons in each layer) will also affect the training time; the performance of the GPU or CPU used will affect the training speed, and a high-performance GPU can significantly speed up the training process; the optimization technology used and its hyperparameters (such as learning rate, batch size, etc.) will affect the training time; the training method; and the adjustment of hyperparameters.
[0103] This embodiment can improve the accuracy of the model in classifying the target by using specific data blocks and optimizing the training time. By managing the training time, computing resources can be used more efficiently and the time required for training can be reduced. By intelligently selecting data blocks and training time, resources can be ensured to be used most efficiently.
[0104] In an exemplary embodiment, a target storage layer matching the first classification label is determined based on multiple categories of the multiple storage layers, and the data to be written is stored in the target storage layer, including: obtaining the first classification label and multiple categories of the multiple storage layers; selecting a storage layer matching the first classification label based on preset rules to obtain the target storage layer; and writing the data to be written into the target storage layer.
[0105] Optionally, the preset rules in this embodiment include but are not limited to selecting a storage layer that matches the classification label based on the importance, access frequency, security requirements, etc. of the data. These rules can be static or dynamic and can be adjusted according to actual needs and performance.
[0106] Optionally, writing the data to be written into the target storage layer includes: obtaining the original error bit rate of the target storage layer; when the original error bit rate is greater than a preset threshold, writing the data to be written into the target page in the target storage layer, wherein the preset threshold is a threshold determined according to the given data in the target data block, and the target page includes the starting page in the target storage layer.
[0107] Optionally, this embodiment relates to an error handling mechanism during data writing to ensure the reliability of data when it is written to the target storage layer. Before writing data, it is first necessary to obtain the current error bit rate of the target storage layer. The error bit rate refers to the ratio of the number of error bits to the total number of bits during data transmission or storage. The obtained original error bit rate is compared with a preset threshold. This threshold is determined based on the data given in the target data block and may be set based on factors such as the importance, sensitivity or historical error rate of the data. If the original error bit rate is greater than the preset threshold, it means that the reliability of the target storage layer may not be sufficient to ensure the integrity and accuracy of the data. In this case, the data to be written will still be written to the target page in the target storage layer. The target page is a specific page in the target storage layer, usually including a start page, that is, the first page or the first available page in the storage layer. The system writes the data to be written into the target page. This process may involve formatting, encoding and actual write operations of the data.
[0108] This embodiment ensures that data can be written even when the reliability of the storage layer is not optimal, but it also means that additional error detection and correction mechanisms may be required to ensure data integrity, further improving data reliability and system robustness.
[0109] In an exemplary embodiment, after obtaining the target task and the target task type of the target task, the method further includes: when the target task type is a second task type, reading data corresponding to the target task from the target data block; in the process of reading the data, recording a second task log, wherein the second task log is used to update network parameters of the first target classification network and the second target classification network.
[0110] Optionally, the second task type in this embodiment is a task type of a read task. During the process of reading data, the system will record a second task log. This log contains relevant information when executing the read task, such as the data read, the time of reading, the duration of the read operation, etc.
[0111] Optionally, the main purpose of the second task log is to update the network parameters of the first target classification network and the second target classification network. This may involve machine learning or deep learning models, where the update of network parameters is based on new data or operation logs to optimize the performance of the model. Based on the information recorded in the second task log, the system adjusts and optimizes the parameters of the first target classification network and the second target classification network. This may include adjusting parameters such as weights, biases, and learning rates to improve the network's classification accuracy for new data.
[0112] This embodiment can continuously optimize the performance of its classification network according to feedback from actual operations by determining the second task type.
[0113] The present application is described below in conjunction with specific embodiments:
[0114] This embodiment takes SSD as an example, and provides a device and method for improving SSD durability and data reliability in view of the performance differences between layers in the flash memory block in the SSD, in order to avoid insufficient utilization of other layers in the block based on only the lowest durability of all layers as the limit value, and at the same time to avoid a rapid increase in the highest raw bit error rate (RBER) in the layer due to improper storage of cold data or hot read data, and to reduce interference in data storage, reading, and writing. Figure 7 As shown, it is a structural diagram of the device of this specific embodiment, which mainly includes: a model training judgment unit, a parameter update instruction receiving unit, a first target classification network, a second target classification network, an idle block inner layer classification module, an I / O behavior log recording unit, etc.
[0115] Among them, the model training judgment unit is mainly used to judge whether the training of data separation and classification network is completed.
[0116] Parameter update instruction receiving unit: used to receive parameter update instructions, used to determine whether to update the network parameters in the first target classification network and the second target classification network.
[0117] Host task receiving unit: used to receive and judge the target task sent by the host, and to determine whether it is a write task or a read task to be executed.
[0118] Parameter update unit: used to save the network parameters in the first target classification network and the second target classification network. The parameter update is usually performed after the training of the first target classification network and the second target classification network is completed. Among them, the first target classification network is used to separate the current write task, and the separation result is one of the following labels: hot write data, cold write hot read data, cold write cold read data.
[0119] Write layer allocation module: used to allocate appropriate storage layers according to the category labels output by the first target classification network and the classification results of the storage layers output by the second target classification network, allocate storage layers with low reliability to hot write data, allocate storage layers with higher reliability to cold write and cold read data, and allocate storage layers with the highest reliability to cold write and hot read data.
[0120] Free block inner layer classification module: used to classify the allocated free blocks into layers, and the classification results are the most reliable layer, the higher reliability layer, and the lower reliability layer. Different types of layers can write different types of data. For example, the requested logical address, physical address, request size, request type, storage block characteristics, page read voltage, number of errors when reading a page, etc.
[0121] I / O behavior logging unit: used to collect records from the SSD receiving an I / O request to its completion.
[0122] like Figure 8 As shown, it is a flow chart of this specific embodiment, combined with Fig. 9 The interaction process between the modules shown in the figure specifically includes the following steps:
[0123] S801, the host task receiving unit receives the I / O task (i.e., the target task) sent by the host, and the first target classification network determines the task type of the I / O task, i.e., determines whether the I / O task is a write task or a read task. If it is a write task, S802 is executed, and if it is a read task, S803 is executed.
[0124] S802, write task operation: The first target classification network performs write data separation, first extracts features from the write data in the write task to be separated, and the features of the write data are , then preprocess the features of the write data, and then output the label of the write data based on the write request sequence. The label is (hot write data), or (hot read data) or , to achieve the separation of this write data.
[0125] After the write data separation is completed, the write layer allocation module needs to allocate free blocks for the write data. Hot write data does not require high reliability of the page, so it can be allocated to the layer with low reliability in the flash block; cold write and cold read data have high reliability requirements for the page, so it can be allocated to the layer with high reliability in the flash block; cold write and hot read data have the highest reliability requirements for the page, so it can be allocated to the layer with the highest reliability in the flash block to improve the reliability of the stored data.
[0126] In addition, when there is a new write request, the write layer allocation module will perform intra-block layer classification. The write layer allocation module first obtains the characteristics of the assigned block, such as the number of erase times, storage time, read voltage of all layer pages, and number of errors when reading all layer pages, and inputs the obtained characteristics into the second target classification network. The second target classification network outputs the category of each layer in the block: the layer with the highest reliability, the layer with higher reliability, and the layer with low reliability. With the increase of Program / Erase (PE), the RBER of each layer in the flash block becomes higher and higher. When PE reaches the threshold When writing data, some layers can only write the Lower Page and skip other pages of the layer to ensure the reliability of stored data and extend the life of the flash memory block. The number and positions of pages to be skipped are predetermined by a given technical process.
[0127] When the time span of the acquired I / O task is periodic When the number of training tasks is an integer multiple, the sample set is updated based on the collected write task behavior, and the first target classification network is retrained. After the training is completed, the model training judgment unit is notified, and the model training judgment unit imports the trained parameters into the parameter update instruction receiving unit of the SSD through commands. After the data separation is completed, the parameter updating unit updates the parameters of the data separation model.
[0128] The first target classification network is deployed on the SSD side. The first target classification network is trained based on the TCN network and the GRU unit using the write request training set. The input of the first target classification network is a time series containing three features: LBA, write size, and write mode of the write request. The output is , , Label. The sample set is obtained by extracting write requests from the I / O behavior log data. The category label is obtained by clustering the number of LBA writes recorded in the I / O behavior log data. Feature extraction is performed on the write request data set, and then normalization and other preprocessing are performed. The preprocessed data set is used as the training set. As various loads are running, the I / O behavior log data continues to increase. When the span of the log data is periodic Integer multiples of Time, cycle The sample set can be expanded for a day, a week, etc., or when the allocated storage space does not keep the time appropriate, and re-clustered according to the number of writes or reads to obtain new labels and retrain the model to achieve higher classification accuracy.
[0129] The second target classification network is also deployed on the SSD side. The second target classification network is trained based on the CNN network using feature matrices such as the PE of each block, retention time, read voltage of all layer pages, and number of errors when reading all layer pages. The output of the second target classification network is the category of each layer. The training set of the second target classification network consists of features such as the read voltage of all layer pages, number of errors when reading all layer pages, retention time, and PE of all blocks recorded when all blocks stored data last time. The category label is obtained by clustering the number of errors when reading all layer pages.
[0130] After data separation or free block inner-level classification is completed, the parameter update instruction receiving unit determines whether to update the model parameters. If yes, the parameters of the data separation or free block inner-level classification model are updated. If not, the original model parameters are used.
[0131] Record the write task behavior log, such as the written logical address, write size, write type (random write or sequential write), number of writes, storage time of the corresponding physical address space, etc., for subsequent data separation model updates.
[0132] S803, read task operation. Directly execute the read task and record the read task behavior log, for example, the logical address read, the read size, the read type (random read or sequential read), the read task start time, the read completion time, the number of reads, the storage time of the corresponding physical address space, the read voltage of all layer pages, the number of errors when reading all layer pages, etc., for the subsequent update of the data separation model and the free block inner layer classification model.
[0133] It should be noted that, through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, disk, CD), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0134] In the present embodiment, a data storage device of a solid-state storage device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0135] Fig.10 is a structural block diagram of a data storage device of a solid-state storage device according to an embodiment of the present application, such as Fig.10 As shown, the device comprises:
[0136] A first acquisition module 1002 is used to acquire a target task and a target task type of the target task;
[0137] A first classification module 1004 is used to, when the target task type is a first task type, use a pre-trained first target classification network to perform a first classification operation on the target task to obtain a first classification label, wherein the first target classification network is a classification network obtained by training a first initial classification network using a sample writing data set, the sample writing data set includes task information of multiple sample writing tasks, and the first classification label is used to indicate a writing category of the data to be written included in the target task;
[0138] A second classification module 1006 is used to perform a second classification operation on the storage layers in the target data block using a pre-trained second target classification network to obtain categories of multiple storage layers in the target data block, wherein the target data block is a data block in an idle state in a solid-state storage device, and the second target classification network is a classification network obtained by training a second initial classification network using a sample storage data set, and the sample storage data set includes storage information of multiple sample data blocks;
[0139] The first storage module 1008 is used to determine a target storage layer matching the first classification label based on multiple categories of the multiple storage layers, and store the data to be written in the target storage layer, wherein the target category of the target storage layer matches the first classification label.
[0140] In an exemplary embodiment, the above-mentioned device also includes: a first training module, which is used to use a pre-trained first target classification network to perform a first classification operation on the target task when the target task type is a first task type, and before obtaining a first classification label, use the sample write data set to iteratively train the first initial classification network until the number of training times for the first initial classification network reaches a first target number of times, or when the target loss value of the first initial classification network meets a preset first training end condition, the training is terminated to obtain the first target classification network, wherein the first target loss value of the first initial classification network represents the degree of difference between the first predicted label value output by the first initial classification network and the true label corresponding to the sample write data set, and the first initial classification network includes a first preprocessing subnetwork, a first convolution subnetwork, a first cyclic subnetwork and a first classification subnetwork; a first recording module, which is used to record the first time of training to obtain the first target classification network.
[0141] In an exemplary embodiment, the first training module is used to perform the kth training on the first initial classification network through the following steps, wherein k is a positive integer: obtaining sample write data used for the kth training of the first initial classification network from the sample write data set; inputting the sample write data into the first preprocessing subnetwork to obtain a sample write feature set; inputting the sample write feature set and the sample write data into the first convolution subnetwork to obtain a first target sample write feature set; inputting the first target sample write feature set into the first loop subnetwork to obtain a second target sample write feature set; inputting the second target sample set write feature into the first classification subnetwork to obtain a first predicted classification label, wherein the first predicted classification label is used to indicate the write category of the data to be written included in the sample write data used for the kth training; determining the first target loss value obtained from the kth training; when k is less than the first target number, or when the first target loss value does not meet the first training end condition, adjusting the values of the parameters in the first initial classification network of the k-1th training to obtain the first initial classification network of the kth training.
[0142] In an exemplary embodiment, the first training module is used to input the sample write data into the first preprocessing sub-network to obtain the sample write feature by separating each data feature in the sample write data to generate the sample write feature set, wherein the sample write feature set The sample writing feature set includes the sample writing feature = , the LBA is used to indicate the logical address where the sample write data is to be written, the It is used to indicate the amount of data written by the sample. Used to represent the writing mode of the sample writing data, wherein N is a natural number greater than or equal to 1.
[0143] In an exemplary embodiment, the first target sample is written into the feature set y ,in, , is used to represent the activation function in the first convolutional sub-network, It is used to represent the convolution kernel of the first convolution sub-network, the size of the convolution kernel is k, and d is used to represent the expansion factor of the first convolution sub-network, the value of the expansion factor is , where N is an integer greater than or equal to 0, Used to represent dot product.
[0144] In an exemplary embodiment, the second target sample is written into the feature set , wherein the , , , The output of the update gate of the first recurrent sub-network is used to represent the The output of the reset gate of the first recurrent sub-network is used to represent the for representing the candidate hidden state of the first recurrent sub-network, For the Hadamard product, is used to represent the hidden state of the first cyclic sub-network at the previous moment, is used to represent the weight of the update gate of the first recurrent sub-network, is used to represent the weight of the reset gate of the first recurrent sub-network, Used to represent the weight of the current memory unit in the first recurrent sub-network.
[0145] In an exemplary embodiment, the device further includes: a first determining module for, when the target task type is a first task type, using a pre-trained first target classification network to perform a first classification operation on the target task, and after obtaining a first classification label, determining a first time , wherein the , is used to indicate the time of training to obtain the first target classification network, The second training module is used to indicate the time when the first target classification network outputs the first classification label; When the time is greater than the first preset time, the and stated The first target classification network is retrained for the plurality of target tasks within a time period to update network parameters in the first target classification network.
[0146] In an exemplary embodiment, the above-mentioned device also includes: a third training module, which is used to use a pre-trained second target classification network to perform a second classification operation on the storage layer in the target data block, and before obtaining the categories of multiple storage layers in the target data block, use the sample storage data set to iteratively train the second initial classification network until the number of training times for the second initial classification network reaches a second target number, or when the target loss value of the second initial classification network meets a preset second training end condition, the training is terminated to obtain the second target classification network, wherein the second target loss value of the second initial classification network represents the degree of difference between the categories of multiple storage layers output by the second initial classification network and the true categories corresponding to the multiple storage layers in the sample storage data set, and the second initial classification network includes a second preprocessing subnetwork, a second convolution subnetwork, a second classification subnetwork and a third classification subnetwork; a first recording module, which is used to record the second time of training to obtain the second target classification network.
[0147] In an exemplary embodiment, the third training module is further used to perform the k-th training on the second initial classification network through the following steps, wherein k is a positive integer: obtaining sample storage data used for the k-th training of the second initial classification network from the sample storage data set; inputting the sample storage data into the second preprocessing subnetwork to obtain a sample storage feature set; inputting the sample storage feature set into the second convolutional subnetwork to obtain a first target sample storage feature set, wherein the second convolutional subnetwork includes M convolutional layers and M pooling layers, and M is a natural number greater than or equal to 1; inputting the first target sample storage feature set into the second classification subnetwork; network, obtain a second target sample storage feature set; input the second target sample storage feature set into the third classification subnetwork to obtain a second predicted classification label, wherein the second predicted classification label is used to represent the category of each storage layer in the sample storage block included in the sample storage data used for the k-th training; determine the second target loss value obtained by the k-th training; when k is less than the second target number, or when the second target loss value of the k-th training does not meet the second training end condition, adjust the values of the parameters in the second initial classification network of the k-1-th training to obtain the second initial classification network of the k-th training.
[0148] In an exemplary embodiment, the third training module is further used to input the sample storage data into the second preprocessing subnetwork through the following steps to obtain a sample storage feature set: separating each data feature in the sample storage data set to generate the sample storage feature set, wherein the sample storage feature set , the sample storage features included in the sample storage feature set , the PE is used to indicate the number of times the sample storage block is erased, the It is used to indicate the storage time of the sample storage data. is used to represent the read voltage of all storage layer pages of the sample storage block, Used to indicate the number of errors when reading all storage layer pages of the sample storage block.
[0149] In an exemplary embodiment, the third training module is further used to input the sample storage feature set into the second convolutional subnetwork through the following steps to obtain a first target sample storage feature set: training is performed in the lth convolutional layer and the lth pooling layer in the second convolutional subnetwork through the following steps to obtain the first target sample storage feature set, wherein l is a positive integer: inputting the sample storage feature set into the lth convolutional layer to obtain a first output result, wherein the first output result is , is used to represent the activation function in the second convolutional sub-network, is used to represent the jth convolution kernel of the l-1th convolution layer in the second convolution sub-network, k is used to represent the convolution kernel of the second convolution sub-network, and It is used to represent the feature matrix of all associations of the l-1th convolutional layer, the size of the feature matrix is L×4, and L is the number of layers included in the storage block in the sample storage feature set. is used to represent the bias parameter of the second convolutional sub-network, is used to represent the jth feature matrix in the lth convolutional layer; the first output result is input into the lth pooling layer to obtain a second output result, wherein the second output result is , is used to represent the downsampling function in the second convolutional subnetwork, Used to represent weight.
[0150] In an exemplary embodiment, the second target sample storage feature set is , wherein the n is used to represent the nth neuron in the second classification subnetwork, the is used to represent a convolution kernel of the same size as the first classification sub-network input included in the first initial classification network, is used to represent the output of the nth neuron, and n is used to represent the number of neurons in the second classification sub-network.
[0151] In an exemplary embodiment, the above-mentioned device also includes: a second determination module, which is used to use a pre-trained second target classification network to perform a second classification operation on the storage layer in the target data block, and after obtaining the categories of multiple storage layers in the target data block, determine the second time to train to obtain the second target classification network, and determine the third time to determine the categories of multiple storage layers included in the target data block; a first calculation module, which is used to calculate the difference between the third time and the second time to obtain a fourth time; and a third training module, which is used to train the second target classification network using the storage information of the target data block in the time period between the second time and the fourth time when the fourth time is greater than the second preset time to obtain a third target classification network.
[0152] In an exemplary embodiment, the above-mentioned first storage module includes: a first acquisition unit, used to obtain the first classification label and multiple categories of the multiple storage layers; a first selection unit, used to select a storage layer matching the first classification label based on a preset rule to obtain the target storage layer; and a first writing unit, used to write the data to be written into the target storage layer.
[0153] In an exemplary embodiment, the above-mentioned first write unit includes: a first acquisition subunit, used to obtain the original error bit rate of the target storage layer; a first write subunit, used to write the data to be written into the target page in the target storage layer when the original error bit rate is greater than a preset threshold, wherein the preset threshold is a threshold determined based on the given data in the target data block, and the target page includes the starting page in the target storage layer.
[0154] In an exemplary embodiment, the above-mentioned device also includes: a first reading module, which is used to obtain the target task and the target task type of the target task, and after the target task type is a second task type, read the data corresponding to the target task from the target data block; a first recording module, which is used to record a second task log in the process of reading the data, wherein the second task log is used to update the network parameters of the first target classification network and the second target classification network.
[0155] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0156] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0157] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0158] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0159] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0160] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.
[0161] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.
[0162] The embodiments of the present application also provide a computer program, which includes computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps of any one of the above method embodiments.
[0163] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.
[0164] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0165] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.
Claims
1. A data storage method for a solid-state storage device, characterized in that: The method comprises: Obtaining a target task and a target task type of the target task; In the case where the target task type is a first task type, a first classification operation is performed on the target task using a pre-trained first target classification network to obtain a first classification label, wherein the first target classification network is a classification network obtained by training a first initial classification network using a sample writing data set, the sample writing data set includes task information of a plurality of sample writing tasks, and the first classification label is used to indicate a writing category of the data to be written included in the target task; Using a pre-trained second target classification network to perform a second classification operation on the storage layers in the target data block, to obtain categories of the plurality of storage layers in the target data block, wherein the target data block is a data block in an idle state in a solid-state storage device, and the second target classification network is a classification network obtained by training a second initial classification network using a sample storage data set, wherein the sample storage data set includes storage information of a plurality of sample data blocks; Determine a target storage layer matching the first classification label based on multiple categories of the multiple storage layers, and store the data to be written in the target storage layer, wherein the target category of the target storage layer matches the first classification label; The first initial classification network includes a first preprocessing subnetwork, and the first preprocessing subnetwork is used to separate each data feature in the sample written data, and generate a data feature including the sample written feature. = The sample is written into the feature set , the LBA is used to indicate the logical address where the sample write data is to be written, the It is used to indicate the amount of data written by the sample. Used to represent the writing mode of the sample writing data, wherein N is a natural number greater than or equal to 1.
2. The method according to claim 1, characterized in that When the target task type is a first task type, before performing a first classification operation on the target task using a pre-trained first target classification network to obtain a first classification label, the method further includes: Iteratively train the first initial classification network using the sample write data set until the number of times the first initial classification network is trained reaches a first target number of times, or when the target loss value of the first initial classification network meets a preset first training end condition, terminate the training to obtain the first target classification network, wherein the first target loss value of the first initial classification network represents the degree of difference between the first predicted label value output by the first initial classification network and the true label corresponding to the sample write data set, and the first initial classification network includes a first preprocessing subnetwork, a first convolution subnetwork, a first cyclic subnetwork, and a first classification subnetwork; The first time of training to obtain the first target classification network is recorded.
3. The method according to claim 2, characterized in that Using the sample writing data set to iteratively train the first initial classification network includes: The first initial classification network is trained for the kth time by the following steps, where k is a positive integer: Acquire sample writing data used for training the first initial classification network for the kth time from the sample writing data set; Inputting the sample writing data into the first preprocessing sub-network to obtain a sample writing feature set; Inputting the sample writing feature set and the sample writing data into the first convolutional subnetwork to obtain a first target sample writing feature set; Inputting the first target sample writing feature set into the first cyclic sub-network to obtain a second target sample writing feature set; Inputting the writing feature of the second target sample set into the first classification subnetwork to obtain a first predicted classification label, wherein the first predicted classification label is used to indicate the writing category of the data to be written included in the sample writing data used for the kth training; Determine the first target loss value obtained from the k-th training; When k is less than the first target number, or when the first target loss value does not satisfy the first training end condition, adjust the values of the parameters in the first initial classification network of the k-1th training to obtain the first initial classification network of the kth training.
4. The method according to claim 3, characterized in that The first target sample is written into the feature set y ,in, , is used to represent the activation function in the first convolutional sub-network, It is used to represent the convolution kernel of the first convolution sub-network, the size of the convolution kernel is k, and d is used to represent the expansion factor of the first convolution sub-network, the value of the expansion factor is , where N is an integer greater than or equal to 0, Used to represent dot product.
5. The method according to claim 3, characterized in that: The second target sample is written into the feature set , wherein the , , , The output of the update gate of the first recurrent sub-network is used to represent the The output of the reset gate of the first recurrent sub-network is used to represent the for representing the candidate hidden state of the first recurrent sub-network, For the Hadamard product, is used to represent the hidden state of the first cyclic sub-network at the previous moment, is used to represent the weight of the update gate of the first recurrent sub-network, is used to represent the weight of the reset gate of the first recurrent sub-network, Used to represent the weight of the current memory unit in the first recurrent sub-network.
6. The method according to claim 1, characterized in that In the case where the target task type is a first task type, after performing a first classification operation on the target task using a pre-trained first target classification network and obtaining a first classification label, the method further includes: Determine the first time , wherein the , is used to indicate the time of training to obtain the first target classification network, used to indicate the time when the first target classification network outputs the first classification label; In the When the time is greater than the first preset time, the and stated The first target classification network is retrained for the plurality of target tasks within a time period to update network parameters in the first target classification network.
7. The method according to claim 1, characterized in that Before performing a second classification operation on the storage layers in the target data block using a pre-trained second target classification network to obtain the categories of the plurality of storage layers in the target data block, the method further includes: Iteratively train the second initial classification network using the sample storage data set until the number of times the second initial classification network is trained reaches a second target number of times, or the target loss value of the second initial classification network meets a preset second training end condition, and then terminate the training to obtain the second target classification network, wherein the second target loss value of the second initial classification network represents the degree of difference between the categories of the multiple storage layers output by the second initial classification network and the true categories corresponding to the multiple storage layers in the sample storage data set, and the second initial classification network includes a second preprocessing subnetwork, a second convolution subnetwork, a second classification subnetwork, and a third classification subnetwork; The second time of training to obtain the second target classification network is recorded.
8. The method according to claim 7, characterized in that Iteratively training the second initial classification network using the sample storage data set includes: The second initial classification network is trained for the kth time by the following steps, where k is a positive integer: Acquire sample storage data used for performing a k-th training on the second initial classification network from the sample storage data set; Inputting the sample storage data into the second preprocessing subnetwork to obtain a sample storage feature set; Inputting the sample storage feature set into the second convolutional subnetwork to obtain a first target sample storage feature set, wherein the second convolutional subnetwork includes M convolutional layers and M pooling layers, where M is a natural number greater than or equal to 1; Inputting the first target sample storage feature set into the second classification subnetwork to obtain a second target sample storage feature set; Inputting the second target sample storage feature set into the third classification subnetwork to obtain a second predicted classification label, wherein the second predicted classification label is used to represent the category of each storage layer in the sample storage block included in the sample storage data used for the k-th training; Determine the second target loss value obtained from the k-th training; When k is less than the second target number, or when the second target loss value of the k-th training does not meet the second training end condition, adjust the values of the parameters in the second initial classification network of the k-1-th training to obtain the second initial classification network of the k-th training.
9. The method according to claim 8, characterized in that Inputting the sample storage data into the second preprocessing subnetwork to obtain a sample storage feature set includes: Separate each data feature in the sample storage data set to generate the sample storage feature set, wherein the sample storage feature set , the sample storage features included in the sample storage feature set , the PE is used to indicate the number of times the sample storage block is erased, the It is used to indicate the storage time of the sample storage data. is used to represent the read voltage of all storage layer pages of the sample storage block, Used to indicate the number of errors when reading all storage layer pages of the sample storage block.
10. The method according to claim 8, characterized in that Inputting the sample storage feature set into the second convolutional subnetwork to obtain a first target sample storage feature set includes: The first target sample storage feature set is obtained by training the lth convolution layer and the lth pooling layer in the second convolution subnetwork through the following steps, wherein l is a positive integer: The sample storage feature set is input into the lth convolutional layer to obtain a first output result, wherein the first output result is , is used to represent the activation function in the second convolutional sub-network, is used to represent the jth convolution kernel of the l-1th convolution layer in the second convolution sub-network, k is used to represent the convolution kernel of the second convolution sub-network, and A feature matrix used to represent all associations of the l-1th convolutional layer, wherein the size of the feature matrix is L×4, wherein L is the number of layers included in the storage block in the sample storage feature set, and is used to represent the bias parameter of the second convolutional sub-network, Used to represent the j-th feature matrix in the l-th convolutional layer; The first output result is input into the lth pooling layer to obtain a second output result, wherein the second output result is , is used to represent the downsampling function in the second convolutional subnetwork, Used to represent weight.
11. The method according to claim 9, characterized in that The second target sample storage feature set is , wherein the n is used to represent the nth neuron in the second classification subnetwork, the is used to represent a convolution kernel of the same size as the first classification sub-network input included in the first initial classification network, is used to represent the output of the nth neuron, and n is used to represent the number of neurons in the second classification sub-network.
12. The method according to claim 1, characterized in that After performing a second classification operation on the storage layers in the target data block using a pre-trained second target classification network to obtain categories of a plurality of the storage layers in the target data block, the method further includes: Determine a second time for training to obtain the second target classification network, and determine a third time for categories of the plurality of storage layers included in the target data block; Calculate the difference between the third time and the second time to obtain a fourth time; In the case where the fourth time is greater than the second preset time, the second target classification network is trained using the storage information of the target data block in the time period between the second time and the fourth time to obtain a third target classification network.
13. The method according to claim 1, characterized in that Determining a target storage layer matching the first classification label based on multiple categories of the multiple storage layers, and storing the data to be written in the target storage layer, comprises: Acquire the first classification label and multiple categories of the multiple storage layers; Selecting a storage layer matching the first classification label based on a preset rule to obtain the target storage layer; The data to be written is written into the target storage layer.
14. The method according to claim 13, characterized in that Writing the data to be written into the target storage layer includes: Obtaining an original error bit rate of the target storage layer; When the original error bit rate is greater than a preset threshold, the data to be written is written to a target page in the target storage layer, wherein the preset threshold is a threshold determined based on given data in the target data block, and the target page includes a starting page in the target storage layer.
15. The method according to claim 1, characterized in that After obtaining the target task and the target task type of the target task, the method further includes: When the target task type is a second task type, reading data corresponding to the target task from the target data block; In the process of reading the data, a second task log is recorded, wherein the second task log is used to update network parameters of the first target classification network and the second target classification network.
16. A data storage device of a solid-state storage device, characterized in that: include: A first acquisition module, used to acquire a target task and a target task type of the target task; a first classification module, configured to, when the target task type is a first task type, use a pre-trained first target classification network to perform a first classification operation on the target task to obtain a first classification label, wherein the first target classification network is a classification network obtained by training a first initial classification network using a sample writing data set, the sample writing data set including task information of a plurality of sample writing tasks, and the first classification label is used to indicate a writing category of the data to be written included in the target task; a second classification module, configured to perform a second classification operation on the storage layers in the target data block using a pre-trained second target classification network to obtain categories of the plurality of storage layers in the target data block, wherein the target data block is a data block in an idle state in a solid-state storage device, and the second target classification network is a classification network obtained by training a second initial classification network using a sample storage data set, wherein the sample storage data set includes storage information of a plurality of sample data blocks; A first storage module is configured to determine a target storage layer matching the first classification label based on multiple categories of the multiple storage layers, and store the data to be written in the target storage layer, wherein the target category of the target storage layer matches the first classification label; The first initial classification network includes a first preprocessing subnetwork; The first preprocessing sub-network is used to separate each data feature in the sample written data and generate a data feature including the sample written feature = The sample is written into the feature set , the LBA is used to indicate the logical address where the sample write data is to be written, the It is used to indicate the amount of data written by the sample. Used to represent the writing mode of the sample writing data, wherein N is a natural number greater than or equal to 1.
17. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 15 when executed by a processor.
18. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 15 are implemented.
19. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 15 are implemented.
Citation Information
Patent Citations
Multi-task classification method and device and related equipment
CN111881968A
Solid state disk data processing method and device, solid state disk and storage medium
CN117149082A