A data distribution method, apparatus, device, storage medium, and product
By performing time-frequency transformation and multi-layer perceptron learning in a hybrid SSD architecture, data is dynamically allocated to the SLC cache or QLC main storage area, solving the problem of low SLC cache management efficiency in existing technologies and improving the performance and lifespan of solid-state drives.
Patent Information
- Application Number
- CN202511365982.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-24
- Publication Date
- 2026-01-23
- Estimated Expiration
- 2045-09-24
AI Technical Summary
Existing technologies cannot dynamically adapt to load changes in hybrid SSD architectures, nor can they effectively identify hot and cold data, resulting in low SLC cache management efficiency, limited I/O performance and lifespan. Furthermore, existing methods fail to effectively capture the periodicity and global dependencies of data access.
By acquiring multiple time-series features related to data access requests, performing time-frequency transformation to the frequency domain for machine learning analysis, and using a multilayer perceptron architecture to capture the correlation between features and the periodicity of time series, a data reuse probability prediction value is generated, and data is dynamically allocated to the SLC cache or QLC main storage area based on this probability.
It significantly improves SLC cache utilization, solid-state drive read/write performance and lifespan, reduces invalid data migration between SLC and QLC, and solves the problems of existing methods being unable to dynamically adapt to load changes and having low prediction accuracy.
Smart Images

Figure CN120891983B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computers, and in particular to a data allocation method and device, equipment, storage medium and product. BACKGROUND
[0002] Modern solid state drives increasingly use QLC four-layer storage cell technology, which allows 4-bit data to be stored in a single storage cell. As the main storage medium, it can significantly improve storage capacity. Although this improvement provides a huge capacity advantage over SSDs using single-level cell (SLC), multi-level cell (MLC), or triple-level cell (TLC) technology, QLC SSDs often face limitations in I / O performance and lifespan, with insufficient read / write rates and significantly reduced PE counts. To alleviate these deficiencies, recent innovations in SSD technology have led to the exploration of hybrid SSD architectures. These structures strategically run certain blocks of QLC storage grains in SLC mode, with each cell in these blocks storing only 1 bit, thereby taking advantage of the high speed of SLC storage cells. In these hybrid designs, the SLC area is usually used as a cache layer for the remaining QLC blocks, thereby improving the overall efficiency and performance of the storage device.
[0003] In the context of hybrid SSD architectures, since the cache size (SLC) is inversely proportional to the available data storage space (QLC), as the size of the allocated SLC cache increases, the available space for data storage decreases accordingly, thus emphasizing the need for efficient strategic management of the SLC cache. When the SLC cache data reaches full capacity, processes such as garbage collection or migration of certain data from the SLC cache to slower QLC areas need to be initiated, which involve complex algorithms and result in additional erase operations. Therefore, in order to achieve optimal SLC and QLC utilization efficiency, it is necessary to identify hot and cold data before the data is actually written, and for cold data to be directly bypassed and stored in QLC.
[0004] Limitations of existing technologies and current methods: 1. Traditional methods rely on fixed indicators (such as I / O request size, hotness threshold) to distinguish between hot and cold data, and cannot dynamically adapt to changes in load. 2. Methods such as reinforcement learning require complex parameter adjustments and lack direct modeling of data reuse possibilities. 3. Existing methods for data allocation are based on hot and cold data classification, and only classify request data into hot and cold to direct writing, which cannot fully prove the rationality of storing in the SLC cache; 4. Existing methods do not model from the frequency domain, making it difficult to capture periodicity and global dependencies; 5. Existing methods based on neural networks for hot and cold data classification suffer from information bottlenecks such as unstable time series and redundant local momentum. SUMMARY
[0005] The application provides a data allocation method, device, equipment, storage medium and product to at least solve the above technical problems in the prior art.
[0006] According to a first aspect of the application, a data allocation method is provided, the method comprising:
[0007] obtaining a plurality of time series features related to a data access request;
[0008] converting the plurality of time series features from a time domain to a frequency domain, and performing machine learning analysis in the frequency domain;
[0009] reversely converting the result of machine learning analysis from the frequency domain to the time domain to obtain a data reuse probability prediction value;
[0010] based on the data reuse probability prediction value, allocating data corresponding to the data access request to an SLC cache area or a QLC main storage area of a solid state disk.
[0011] In an implementation, the obtaining a plurality of time series features related to a data access request comprises:
[0012] collecting load feature information and solid state disk write request features, and organizing them into a plurality of time series features according to a predetermined time granularity;
[0013] The time series features at least include: logical block address, request data size, request data type, access times of the same request within a time series window period, actual physical block type written within a time series window period, continuous same request time interval, SLC cache space utilization rate and QLC area space utilization rate.
[0014] In an implementation, the converting the plurality of time series features from a time domain to a frequency domain comprises:
[0015] using time-frequency conversion to convert the time series features from a time domain representation to a frequency domain representation, the frequency domain representation containing frequency components, the frequency components including real part coefficients and imaginary part coefficients.
[0016] In an implementation, the performing machine learning analysis in the frequency domain comprises:
[0017] applying a neural network model based on a multi-layer perception MLP architecture to the real part coefficients and the imaginary part coefficients of the frequency domain representation for machine learning;
[0018] The machine learning includes first learning along a feature channel dimension, and then learning along a time dimension.
[0019] The machine learning along the feature channel dimension is used to capture the dependency and correlation between the multivariate time series features, and the machine learning along the time dimension is used to capture the long period and regularity features on the time series features.
[0020] In an implementable manner, the real part coefficients and the imaginary part coefficients of the frequency domain representation are subjected to machine learning by applying a neural network model based on a multi-layer perception (MLP) architecture, according to the following complex linear transformation formula:
[0021]
[0022] wherein, represents an output frequency domain signal; represents a real part coefficient matrix of an input complex frequency domain signal; represents an imaginary part coefficient matrix of the input complex frequency domain signal; represents a real part of a complex weight matrix W; represents an imaginary part of the complex weight matrix W; represents an imaginary unit; represents a complex bias term.
[0023] In an implementable manner, the result of the machine learning analysis is converted from the frequency domain to the time domain to obtain a data reuse probability prediction value, including:
[0024] performing a time-frequency inverse transformation on the output frequency domain signal to restore it to a time domain signal;
[0025] inputting the restored time domain signal into a projection prediction module, the projection prediction module being processed by at least one fully connected layer and an activation function to output the data reuse probability prediction value.
[0026] In an implementable manner, based on the data reuse probability prediction value, the data corresponding to the data access request is allocated to an SLC cache area or a QLC main storage area of a solid state disk, including:
[0027] comparing the data reuse probability prediction value with a decision threshold value, the decision threshold value being a dynamic threshold value that is adaptively adjusted according to the SLC cache space utilization rate;
[0028] if the data reuse probability prediction value is greater than the decision threshold value, the data is allocated to the SLC cache area;
[0029] if the data reuse probability prediction value is less than or equal to the decision threshold value, the data is allocated to the QLC main storage area.
[0030] In an implementable manner, when the SLC cache area has no remaining space, the method further includes:
[0031] obtaining data reuse probability prediction values of all data in the SLC cache area at the time of writing, and sorting the data reuse probability prediction values in descending order;
[0032] migrating data with the smallest data reuse probability prediction value from the SLC cache area to the QLC main storage area.
[0033] According to a second aspect of the present application, a data allocation apparatus is provided, and the apparatus comprises:
[0034] an obtaining module configured to obtain a plurality of time series features related to a data access request;
[0035] a conversion module configured to convert the plurality of time series features from a time domain to a frequency domain; and a machine learning module configured to perform machine learning analysis in the frequency domain;
[0036] The conversion module is further configured to inversely convert a result of the machine learning analysis from the frequency domain to the time domain to obtain a data reuse probability prediction value.
[0037] an allocation module configured to allocate data corresponding to the data access request to an SLC cache area or a QLC main storage area of a solid state disk based on the data reuse probability prediction value.
[0038] In an implementation, the obtaining module is specifically configured to:
[0039] collect load feature information and solid state disk write request features, and organize the load feature information and the solid state disk write request features into a plurality of time series features according to a predetermined time granularity;
[0040] The time series features at least include: a logical block address, a request data size, a request data type, a number of accesses of the same request within a time series window period, a type of physical block actually written within the time series window period, a continuous same request time interval, an SLC cache space utilization rate, and a QLC area space utilization rate.
[0041] In an implementation, when converting the plurality of time series features from the time domain to the frequency domain, the conversion module is specifically configured to:
[0042] convert the time series features from a time domain representation to a frequency domain representation by using time-frequency conversion, and the frequency domain representation contains frequency components, and the frequency components include real part coefficients and imaginary part coefficients.
[0043] In an implementation, the machine learning module is configured to:
[0044] apply a neural network model based on a multi-layer perception (MLP) architecture to the real part coefficients and the imaginary part coefficients of the frequency domain representation to perform machine learning.
[0045] The machine learning comprises learning along a feature channel dimension and learning along a time dimension.
[0046] The machine learning along the feature channel dimension is used to capture dependency and correlation between multivariate time series features, and the machine learning along the time dimension is used to capture long period and regularity features on time series features.
[0047] In an implementable manner, the machine learning module is implemented according to the following complex linear transformation formula:
[0048]
[0049] wherein, represents an output frequency domain signal; represents a real coefficient matrix of an input complex frequency domain signal; represents an imaginary coefficient matrix of the input complex frequency domain signal; represents a real part of a complex weight matrix W; represents an imaginary part of the complex weight matrix W; represents an imaginary unit; represents a complex bias term.
[0050] In an implementable manner, the conversion module is further configured to:
[0051] perform time-frequency inverse transformation on the output frequency domain signal to restore it to a time domain signal;
[0052] input the restored time domain signal to a projection prediction module, and the projection prediction module processes the input time domain signal through at least one fully connected layer and an activation function to output a data reuse probability prediction value.
[0053] In an implementable manner, the allocation module is specifically configured to:
[0054] compare the data reuse probability prediction value with a decision threshold value, and the decision threshold value is a dynamic threshold value that is adaptively adjusted according to SLC cache space utilization;
[0055] if the data reuse probability prediction value is greater than the decision threshold value, data is allocated to an SLC cache area;
[0056] if the data reuse probability prediction value is less than or equal to the decision threshold value, data is allocated to a QLC main storage area.
[0057] In an implementable manner, when the SLC cache area has no remaining space, the allocation module is further configured to:
[0058] obtain data reuse probability prediction values of all data in the SLC cache area when writing, and sort the data reuse probability prediction values from large to small;
[0059] migrate data with the smallest data reuse probability prediction value from the SLC cache area to the QLC main storage area.
[0060] According to a third aspect of the present application, an electronic device is provided, comprising:
[0061] at least one processor; and a memory connected with the at least one processor in communication; wherein,
[0062] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method described in the present application.
[0063] According to a fourth aspect of the present application, a non-transitory computer readable storage medium storing computer instructions is provided, the computer instructions being used to cause the computer to perform the method described in the present application.
[0064] According to a fifth aspect of the present application, a computer program product is provided, comprising computer programs or instructions, for causing a processor to perform the method described in the embodiments of the present application when executed.
[0065] The data allocation method, device, equipment, storage medium and product of the present application obtain multi-dimensional time sequence features related to data access requests, convert time domain features into frequency domain signals through time-frequency conversion, learn the correlation between features and the periodicity of time sequences in the frequency domain using a multi-layer perception architecture, and then convert back to the time domain through inverse time-frequency conversion to obtain data reuse probability prediction values. Finally, the data is dynamically allocated to the SLC cache area or the QLC main storage area based on the probability. This scheme breaks through the information bottleneck of traditional time domain models, effectively captures the periodicity and global dependency of data access through the global perspective of the frequency domain, replaces the rigid hot and cold binary classification with continuous reuse probability prediction, and realizes accurate matching of storage resources by combining dynamic threshold adjustment, reduces invalid data migration between SLC and QLC, and improves the robustness of the model through multi-dimensional feature integration and preprocessing, significantly improves the SLC cache utilization rate, solid state disk read-write performance and service life, and solves the problems of existing methods such as inability to dynamically adapt to load changes and low prediction accuracy.
[0066] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present application, nor is it used to limit the scope of the present application. Other features of the present application will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0067] The above and other objects, features and advantages of the present application will become more apparent from the following detailed description read in conjunction with the accompanying drawings, in which:
[0068] In the drawings, identical or corresponding components are denoted by identical or corresponding reference numerals.
[0069] Figure 1 An implementation flowchart of a data distribution method according to an embodiment of the present application is shown Figure 1 ;
[0070] Figure 2 An implementation flowchart of a data distribution method according to an embodiment of the present application is shown Figure 2 ;
[0071] Figure 3 An implementation flowchart of a data distribution method according to an embodiment of the present application is shown Figure 3 ;
[0072] Figure 4 An implementation flowchart of a data distribution method according to an embodiment of the present application is shown Figure 4 ;
[0073] Figure 5 A structural diagram of a data distribution apparatus according to an embodiment of the present application is shown
[0074] Figure 6 A structural diagram of an electronic device according to an embodiment of the present application is shown DETAILED DESCRIPTION
[0075] In order to make the objectives, features and advantages of the present application more apparent and easy to understand, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, any other embodiments obtained by those skilled in the art without creative work fall within the scope of the present application.
[0076] Before the embodiments of the present application are described in further detail, the terms and phrases involved in the embodiments of the present application are explained, which are applicable to the following explanations.
[0077] SSD (Solid State Drive): A solid state drive is a storage device based on semiconductor flash memory. Its core working principle is to record data by changing the charge of the transistor in the storage unit. This structure makes the SSD have the advantages of fast read-write speed, anti-shock and anti-falling, low power consumption, quiet operation, etc.
[0078] SLC (Single-Level Cell): Single-level cell flash memory is a type of NAND flash memory where each memory cell stores only 1 bit of data. Since only two charge states need to be distinguished, SLC has extremely high reliability, extremely long lifespan, and the fastest read / write speed and lowest latency.
[0079] QLC (Quad-Level Cell): Quad-level cell is a high-density type of NAND flash memory where each memory cell can store 4 bits of data. By storing more data in one cell, QLC significantly reduces the cost per GB of storage and greatly increases the capacity of a single chip, making large-capacity SSDs possible.
[0080] CNN (Convolutional Neural Networks): Convolutional neural networks are deep learning models designed for data with grid-like topology.
[0081] MLP (Multilayer Perceptron): Multilayer perceptron is the most basic and classic structure of feedforward artificial neural networks. MLP can approximate any complex continuous function by learning nonlinear mapping, suitable for various classification and regression tasks, and is the basic building block of deep learning.
[0082] DFT (Discrete Fourier Transform): Discrete Fourier transform is a mathematical tool that converts a discrete-time signal of finite length from the time domain to the frequency domain. Through DFT, we can analyze which frequency components are contained in the original signal and the strength (amplitude) and phase information of these components.
[0083] FFT (Fast Fourier Transform): Fast Fourier transform is an efficient algorithm for computing the discrete Fourier transform (DFT). FFT algorithm cleverly uses the symmetry and periodicity of DFT operations to significantly reduce the computational complexity to O(N log N), making DFT feasible and efficient in practical engineering applications.
[0084] The present application provides a data allocation method, as shown in Figure 1 The method comprises the following steps:
[0085] Step 101: Obtain a plurality of time series features related to a data access request.
[0086] In this example, the time series feature refers to a series of dynamic indicators related to hard disk data access requests, arranged in a sequence according to a preset time granularity (such as seconds, minutes, or a custom period), covering dimensions such as data identification, access behavior, and storage state, reflecting the dynamic law of data access requests changing over time. Because it contains the time dimension, it can provide basic input data for subsequent time-to-frequency domain conversion.
[0087] Step 102: Convert the plurality of time series features from time domain to frequency domain, and perform machine learning analysis in the frequency domain.
[0088] In this example, the time-to-frequency domain conversion is achieved through a time-frequency transform algorithm, which decomposes the time series signal into components of different frequencies, highlighting the periodic information and global dependencies in the time series. The machine learning analysis in the frequency domain uses a neural network model to deeply mine the frequency domain features to extract the potential rules of data access.
[0089] Step 103: Convert the results of machine learning analysis from the frequency domain to the time domain to obtain data reuse probability prediction values.
[0090] In this example, after the machine learning model completes feature learning in the frequency domain, the frequency domain results output need to be converted back to the time domain through inverse time-frequency transform to generate continuous numerical results corresponding to the time series. After probability processing, data reuse probability prediction values within the range of 0-1 are obtained, directly reflecting the possibility of future data being accessed again.
[0091] Step 104: Based on the data reuse probability prediction values, allocate the data corresponding to the data access requests to the SLC cache area or QLC main storage area of the solid state disk.
[0092] In this example, the SLC cache area has the characteristics of fast read-write speed and long life but limited capacity, and the QLC main storage area has high storage density but lower performance. Based on the data reuse probability prediction values, the reuse potential of the data is determined by a preset threshold, high-potential data is allocated to the SLC cache area to improve access efficiency, and low-potential data is allocated to the QLC main storage area to save cache space.
[0093] The application provides a data allocation method, which comprises the following steps: acquiring a plurality of time series features related to a data access request; converting time domain features into frequency domain signals through time-frequency conversion; learning the correlation between the features and the periodicity of the time series in the frequency domain by using a multi-layer perception architecture; obtaining a data reuse probability prediction value by converting the frequency domain signals back into time domain through inverse time-frequency conversion; and finally dynamically allocating data to an SLC cache area or a QLC main storage area based on the probability. The scheme breaks through the information bottleneck of traditional time domain models, effectively captures the periodicity and global dependence of data access through a global perspective in the frequency domain, replaces rigid hot and cold classification with continuous reuse probability prediction, and realizes accurate matching of storage resources by combining dynamic threshold adjustment, reduces invalid data migration between SLC and QLC, and improves the robustness of the model through multi-dimensional feature integration and preprocessing, significantly improves the SLC cache utilization rate, solid state disk read-write performance and service life, and solves the problems of existing methods, such as inability to dynamically adapt to load changes and low prediction accuracy.
[0094] In one example, the acquisition of a plurality of time series features related to the data access request comprises:
[0095] The load feature information and the solid state disk write request feature are collected and organized into a plurality of time series features according to a predetermined time granularity. The time series features at least include: logical block address, request data size, request data type, access frequency of the same request within a time series window period, actual physical block type written within a time series window period, continuous same request time interval, SLC cache space utilization rate and QLC area space utilization rate.
[0096] In the example, when a plurality of time series features related to the data access request are acquired, the target QLC particle is first selected according to the model as the solid state disk flash memory, the read-write operation is performed based on the actual business scenario, the load feature information and the solid state disk write request feature in a long time period are counted, the complete business cycle is covered, for example, 7 days or 30 days, and the representativeness and integrity of the data are ensured. The controller intercepts the data access request in real time through an I / O interface, records the request metadata, such as logical block address and request data size, and stores the system state, such as SLC cache space utilization rate, and summarizes the structured feature data according to a predetermined time granularity. The time granularity can be seconds, minutes or a custom period, and the collection process does not intrusively interfere with the normal read-write process.
[0097] The "predetermined time granularity" herein refers to dividing a continuous time axis into time windows of fixed length as the basic time unit for organizing time series features, such as 5 seconds, 1 minute, 5 minutes, or a user-defined period. If the time granularity is set to 1 minute, a time window is generated every 1 minute, and the values of features such as the number of accesses of the same request and the utilization rate of SLC cache space are counted in the window. The selection of time granularity should be combined with the business scenario. High-frequency access scenarios such as databases can choose a smaller granularity, such as seconds, to capture short-term fluctuations. Low-frequency scenarios such as cold data storage can choose a larger granularity, such as minutes, to reduce computational overhead. By fixing the time window, continuous access behavior is discretized into ordered time series samples, providing structured input for subsequent time-domain analysis and frequency-domain conversion.
[0098] A comprehensive feature centralized integration strategy is adopted, and these time series features cover three dimensions of data identification, access behavior, and storage state, including logical block address, i.e., data logical location identification; request data size, i.e., single request data size; request data type, distinguishing between "read request" or "write request"; number of accesses of the same request in the time series window period, i.e., total number of accesses of the same logical block address in a single window; actual physical block type written in the time series window period, i.e., SLC or QLC; continuous same request time interval, i.e., time difference between two consecutive accesses of the same logical block address; SLC cache space utilization rate, i.e., SLC used space proportion; and QLC region space utilization rate, i.e., QLC used space proportion.
[0099] To ensure that the feature data is suitable for frequency domain model training, the collected raw data needs to be cleaned and preprocessed: first, exclude abnormal flash memory data with a missing rate or abnormal rate > 20%, and abnormal values include negative values, values exceeding the upper and lower limits, etc. For missing values with a missing rate or abnormal rate < 20%, linear interpolation or median is used for filling. Linear interpolation is suitable for continuous features such as time interval, and median is suitable for discrete features such as access count, to reduce the impact of irregular noise input on model convergence and accuracy. Then, the original data is mapped and converted. The logical block address is calculated in units of 512B or 4KB from the logical base address, and the specific unit depends on the actual business scenario. The request data size is also calculated in units of 512B or 4KB. The request data type distinguishes between read and write, and is encoded as 0 and 1 respectively. The physical block type distinguishes between SLC and QLC, and is encoded as 0 and 1 respectively. The time interval is converted to minutes, and the remaining features are counted according to the original data format. Then, the feature data after mapping and conversion is standardized to 0-1, and the standardization formula is The calculation dimension of each feature with a unified scale is conducive to the convergence of the model during the training process; finally, the preprocessed feature data is arranged in the time period growth direction, 70% of the data is selected as the training set , 15% of the data is selected as the validation set , and 15% of the data is selected as the test set , thus the data set is constructed, where t is a period sequence, the time series prediction window / step is set as L, the input feature data dimension is N=8, and the feature quantity can be scaled according to the actual scene.
[0100] In one example, the converting the plurality of time series features from the time domain to the frequency domain includes: converting the time series features from the time domain representation to the frequency domain representation by using a time-frequency transform, the frequency domain representation including frequency components, the frequency components including real part coefficients and imaginary part coefficients.
[0101] In this example, during the converting the plurality of time series features from the time domain to the frequency domain, the preprocessed time series features need to be dimensionally upgraded first. The input feature matrix is linearly transformed by using d 1x1 convolution kernels , the dimension of the input time series features is N*L, and the dimension of the upgraded feature matrix after the transformation is N*L*d.
[0102]
[0103] The dimension of the upgraded feature matrix is N*L*d (d is the embedding dimension after the dimension upgrade).
[0104] The upgraded feature matrix is still a time domain signal, which needs to be converted into a frequency domain representation by using a discrete Fourier transform (DFT). The time domain signal mainly reflects the fluctuation law in a local time window in the time domain, and the DFT can decompose it into different frequency components, each frequency component corresponding to a different periodic fluctuation mode in the signal, such as a daily peak of data access, a weekly update, and other periodic characteristics. The mathematical expression of the DFT is:
[0105]
[0106] wherein is a frequency variable, is an integral variable (a time variable). The first half of the formula is the real part of , abbreviated as , and the second half is the imaginary part of , abbreviated as The real part coefficients reflect the amplitude intensity of each frequency component, i.e., the contribution size of the frequency component in the signal, for example, a larger real part coefficient of a high frequency component indicates that there are more short-term rapid fluctuations in the signal; the imaginary part coefficients reflect the phase shift of each frequency component, i.e., the starting position of the frequency component on the time axis, for example, components of the same frequency may correspond to different time periods of access peaks due to different phases.
[0107] In one example, the machine learning analysis in the frequency domain includes:
[0108] A neural network model based on a multi-layer perceptron (MLP) architecture is applied to the real part coefficients and the imaginary part coefficients of the frequency domain representation for machine learning.
[0109] The machine learning includes learning along a feature channel dimension first and then learning along a time dimension.
[0110] The machine learning along the feature channel dimension is used to capture the dependency and correlation between the multivariate time series features, and the machine learning along the time dimension is used to capture the long period and regularity features on the time series features.
[0111] In this example, when performing machine learning analysis in the frequency domain, a neural network model based on a multi-layer perceptron (MLP) architecture is jointly input for the real part coefficients and the imaginary part coefficients in the frequency domain representation. The model uses a complex weight matrix and a complex bias for linear transformation to fully utilize the amplitude and phase information of the frequency domain signal. Specifically, the learning process of the neural network model is divided into two stages of feature channel dimension and time dimension, and the frequency domain features are sequentially deeply mined.
[0112] First, learning along the feature channel dimension. At this time, the frequency domain components obtained by time-frequency conversion of the dimension-increased time domain features are subjected to Fourier transform along the feature channel direction (such as the dimension of features such as logical block address and request data size), to obtain frequency components independent of each channel. For the real part coefficients and the imaginary part coefficients of each channel, linear transformation is performed by a complex multi-layer perceptron, wherein a complex weight matrix is composed of real part weights and imaginary part weights, and a complex bias also includes real part bias and imaginary part bias. In the transformation process, the real part and the imaginary part interact with each other, for example, the real part is multiplied by the real part weight and subtracted by the imaginary part multiplied by the imaginary part weight, while the real part is multiplied by the imaginary part weight and added to the imaginary part multiplied by the real part weight, and then the complex bias is superimposed, to capture the dependency and correlation between different feature channels, such as the correlation between the number of accesses and the time interval, the mutual influence between the SLC cache utilization rate and the request data size, etc. After completing the learning along the channel dimension, the frequency domain results are converted back to the time domain by inverse Fourier transform to obtain a feature matrix processed along the channel dimension.
[0113] Then the learning is performed along the time dimension. The time-domain feature matrix learned in the channel dimension is taken as input, and the Fourier transform is performed on the time series of each feature channel in the time series direction (i.e., the dimension where the time window is located) to obtain the frequency components of each time step. The real and imaginary coefficients are linearly transformed by a complex multilayer perceptron, and the focus of learning is to capture long-period and regularity features on the time series, such as daily fixed-period access peaks, weekly data update periodic fluctuations, and other global time regularities. After completing the time dimension learning, the frequency domain results are converted back to the time domain by inverse Fourier transform to obtain the feature matrix after time dimension processing.
[0114] Finally, the multi-segment time-domain feature matrices with a time step of L are spliced and combined to form a complete output.
[0115] In one example, the real and imaginary coefficients of the frequency domain representation are subjected to machine learning by applying a neural network model based on a multilayer perceptron (MLP) architecture, according to the following complex linear transformation formula:
[0116]
[0117] wherein, represents the output frequency domain signal; represents the real coefficient matrix of the input complex frequency domain signal; represents the imaginary coefficient matrix of the input complex frequency domain signal; represents the real part of the complex weight matrix W; represents the imaginary part of the complex weight matrix W; represents the imaginary unit; represents the complex bias term.
[0118] In this example, the starting point of the entire frequency domain machine learning analysis is the time-domain feature matrix after dimensionality embedding (N is the number of features, L is the time window, and d is the embedding dimension). First, the time-domain matrix fusing the correlation between features is obtained through frequency domain-channel learning processing; then, the time-domain matrix is output after fusing the channel correlation and time period regularity, through frequency domain-time learning processing. The complex linear transformation in both processes is implemented based on the following formula:
[0119]
[0120] wherein, represents the output frequency domain signal; represents the real coefficient matrix of the input complex frequency domain signal; represents the imaginary coefficient matrix of the input complex frequency domain signal; denotes the real part of the complex weight matrix W, denotes the imaginary part of the complex weight matrix W, denotes the imaginary unit; denotes the complex bias term, The core parameters (complex weight matrix W and complex bias B) in it are completely independent to adapt to learning goals of different dimensions:
[0121] In the frequency-channel learning stage, Time-DFT is performed along the feature channel dimension (i.e., the direction of different features such as "logical block address", "request data size", etc.). For each time step l, the input is (N features x d embedding dimension), and the frequency domain component is obtained after transformation, which aims to capture the cooperative fluctuation law of different feature channels in the frequency domain (such as the positive correlation of "access times" and "time interval" in the high frequency band). The complete frequency domain input and output are:
[0122]
[0123] wherein is the frequency component of ; chan represents that the Fourier (inverse) transform is performed along the channel dimension; is the output result after linear transformation of the frequency domain by FreMLP, which is also a frequency domain, and then needs to be converted back to the time domain . Finally, the final output is obtained by splicing multiple segments with time step L: .
[0124] In the frequency-time learning stage, Time-DFT is performed along the time dimension (i.e., the time sequence direction of a single feature). For each feature channel n, the input is (L time steps x d embedding dimension), and the frequency domain component is obtained after transformation, which aims to capture the long period law of a single feature on the time axis (such as the 24-hour period component corresponding to the 9 o'clock access peak).
[0125]
[0126] wherein corresponds to the frequency spectrum, temp represents that the Fourier (inverse) transform is performed along the time dimension; similarly and are the complex weight matrix and the complex bias, respectively; is the output result after linear transformation of the frequency domain by FreMLP, which is also a frequency domain, and then needs to be converted back to the time domain Convert back to time domain Finally, all channels are spliced and merged to obtain .
[0127] In one example, the result of the machine learning analysis is converted from the frequency domain to the time domain to obtain a data reuse probability prediction value, as shown in Figure 2 includes:
[0128] Step 201: The output frequency domain signal performs time-frequency inverse transformation to restore it to a time domain signal.
[0129] In this example, the frequency domain-channel learning phase and the frequency domain-time learning phase in the above example is the inverse Fourier transform from the frequency domain to the time domain. The specific time-frequency inverse transformation formula is as follows:
[0130]
[0131] At this time, the frequency f is taken as the integral variable.
[0132] Step 202: The restored time domain signal is input to a projection prediction module, which processes through at least one fully connected layer and an activation function, and outputs the data reuse probability prediction value.
[0133] In this example, after the above frequency domain conversion and frequency domain training and learning, the neural network model can capture the dependencies and correlations between multiple features and time series. Finally, in the prediction phase, a two-layer fully connected neural network is used, and a softmax function is activated:
[0134]
[0135] wherein is the final output of the frequency domain machine learning analysis, is the activation function, is the weight parameter, is the bias parameter, is the hidden layer dimension, is the prediction time step.
[0136] And using softmax to regress and optimize the predicted data reuse probability, the loss function is:
[0137]
[0138] wherein, represents the data reuse probability predicted by the model at time step t; denotes a softmax activation function, which is used to convert an arbitrary real number vector into a probability distribution by exponentiation and normalization, ensuring that the output values are in the range [0, 1] and sum to 1. the result of the time domain signal output by the corresponding frequency domain learning module after full connection layer processing; denotes the kth element in the output vector , i.e. the original prediction value of the kth class.
[0139] converts logits into a probability distribution through exponentiation and normalization, thereby obtaining a prediction of the data reuse probability.
[0140] In addition, when the solid state disk bus is idle or in a standby low power consumption state, the local characteristic related data is uploaded, the model is trained and learned by the cloud, and after convergence, the latest model parameters are updated to the solid state disk. In the life cycle of the solid state disk, iteration is repeated, and the update frequency can be customized according to the actual business scenario.
[0141] In one example, based on the data reuse probability prediction value, the data corresponding to the data access request is allocated to the SLC cache area or the QLC main storage area of the solid state disk, as shown in Figure 3 , which includes:
[0142] Step 301: Compare the data reuse probability prediction value with a decision threshold, which is a dynamic threshold that is adaptively adjusted according to the SLC cache space utilization.
[0143] In this example, the data reuse probability prediction value is a continuous value in the range of 0-1, reflecting the possibility of future data being accessed again; the decision threshold dynamically changes according to the real-time space utilization of the SLC cache, for example, when the SLC cache space utilization is high (such as ≥ 80%), the threshold is raised (such as from 0.6 to 0.7), only allowing data with higher reuse probability to enter, avoiding low-value data occupying limited high-speed resources; when the utilization is low (such as ≤ 50%), the threshold is lowered (such as from 0.6 to 0.5), expanding the coverage of the SLC cache, allowing more potential high-reuse data to have the opportunity to be stored at high speed.
[0144] Step 302: If the data reuse probability prediction value is greater than the decision threshold, the data is allocated to the SLC cache area.
[0145] In this example, the SLC cache area is a high-speed storage layer of the solid state disk, with the advantages of fast read-write speed (write speed is usually 3-5 times that of QLC), long erase-write life (PE number can reach 10,000-100,000 times), but the single block capacity is only 1 / 4 of the same specification QLC. When the data reuse probability prediction value is greater than the determination threshold, it indicates that the data is likely to be frequently accessed in the future, and allocating it to the SLC cache area can significantly reduce the access delay, for example, real-time transaction data of database, user high-frequency operation log, etc., the system response speed is improved through the high-speed characteristics of SLC.
[0146] Step 303: If the data reuse probability prediction value is less than or equal to the determination threshold, the data is allocated to the QLC main storage area.
[0147] In this example, the QLC main storage area is a large-capacity storage layer of the solid state disk, with a single block capacity of 4 times that of SLC, which can provide a large amount of storage space, but the read-write speed is slower (the write speed is about 1 / 3-1 / 5 of SLC), and the erase-write life is shorter (the PE number is usually 100-1000 times). When the data reuse probability prediction value is less than or equal to the determination threshold, it indicates that the data has a low access frequency in the future, and directly allocating it to the QLC main storage area can avoid occupying the valuable space of the SLC cache, for example, low-frequency access data such as historical backup files and archive logs, and the storage resources are efficiently utilized through the large capacity characteristics of QLC, while reducing the invalid occupation of the SLC cache, and ensuring that high-value data is given priority to high-speed storage support.
[0148] In one example, when the SLC cache area has no remaining space, as shown in Figure 4 the method further comprises:
[0149] Step 401: Obtain the data reuse probability prediction value of all data in the SLC cache area when writing, and sort the data reuse probability prediction value from large to small.
[0150] In this example, the data reuse probability prediction value of each data block in the SLC cache area when writing has been calculated by the frequency domain learning model and stored in the metadata. When the SLC cache has no remaining space, the controller traverses the metadata of all data blocks, extracts the prediction value when writing, and sorts the data blocks in order from large to small. After sorting, the head of the queue is the data with the highest reuse probability (most likely to be accessed again), and the tail is the data with the lowest reuse probability (least likely to be accessed again). By sorting the priority of the data, it is ensured that the subsequent migration operation is only for low-value data.
[0151] Step 402: Migrate the data with the smallest data reuse probability prediction value from the SLC cache area to the QLC main storage area.
[0152] In the present example, after the data block sorting is completed, a data block with the smallest queue tail reuse probability is selected as the migration object. During the migration process, the controller first completely copies the data block to the free physical block in the QLC main storage area, and updates the address mapping table (mapping the original SLC logical address to the new QLC physical address); after the data is written in the QLC and verified to be correct, the original data of the data block in the SLC cache area is deleted, and the corresponding SLC physical block space is released.
[0153] The application also provides a data allocation device, as shown in Figure 5 The device comprises:
[0154] The acquisition module 501 is configured to acquire a plurality of time sequence features related to the data access request.
[0155] The conversion module 502 is configured to convert the plurality of time sequence features from the time domain to the frequency domain.
[0156] The conversion module 502 is further configured to inversely convert the result of the machine learning analysis from the frequency domain to the time domain to obtain a data reuse probability prediction value.
[0157] The allocation module 504 is configured to allocate the data corresponding to the data access request to the SLC cache area or the QLC main storage area of the solid state disk based on the data reuse probability prediction value.
[0158] In one example, the acquisition module 501 is specifically configured to:
[0159] Collect load feature information and solid state disk write request features, and organize a plurality of time sequence features according to a predetermined time granularity.
[0160] The time sequence features at least include: logical block address, request data size, request data type, access frequency of the same request within a time sequence window period, actual physical block type written within a time sequence window period, continuous same request time interval, SLC cache space utilization rate, and QLC area space utilization rate.
[0161] In one example, when converting the plurality of time sequence features from the time domain to the frequency domain, the conversion module 502 is specifically configured to:
[0162] The time sequence features are converted from the time domain representation to the frequency domain representation by using time-frequency conversion, and the frequency domain representation contains frequency components, and the frequency components include real part coefficients and imaginary part coefficients.
[0163] In one example, the machine learning module 503 is configured to:
[0164] applying a neural network model based on a multi-layer perceptron (MLP) architecture to the real and imaginary coefficients of the frequency domain representation for machine learning;
[0165] The machine learning includes learning along a feature channel dimension first and then learning along a time dimension.
[0166] The machine learning along the feature channel dimension is used to capture dependencies and correlations between multivariate time series features, and the machine learning along the time dimension is used to capture long periodic and regular features on the time series features.
[0167] In one example, the machine learning module 503 performs the following complex linear transformation:
[0168]
[0169] wherein, represents an output frequency domain signal; represents a real coefficient matrix of an input complex frequency domain signal; represents an imaginary coefficient matrix of the input complex frequency domain signal; represents a real part of a complex weight matrix W; represents an imaginary part of the complex weight matrix W; represents an imaginary unit; represents a complex bias term.
[0170] In one example, the conversion module 502 is further configured to:
[0171] performing an inverse time-frequency transform on the output frequency domain signal to restore it to a time domain signal;
[0172] inputting the restored time domain signal to a projection prediction module, which processes the input through at least one fully connected layer and an activation function to output the data reuse probability prediction value.
[0173] In one example, the allocation module 504 is specifically configured to:
[0174] compare the data reuse probability prediction value with a decision threshold, which is a dynamic threshold that is adaptively adjusted according to the SLC cache space utilization rate;
[0175] if the data reuse probability prediction value is greater than the decision threshold, allocate data to the SLC cache area;
[0176] if the data reuse probability prediction value is less than or equal to the decision threshold, allocate data to the QLC main storage area.
[0177] In one example, when the SLC cache area has no remaining space, the allocation module 504 is further configured to:
[0178] Obtain the predicted data reuse probability values of all data in the SLC cache area when writing, and sort them from largest to smallest according to the predicted data reuse probability values;
[0179] The data with the lowest predicted data reuse probability value is migrated from the SLC cache area to the QLC main storage area.
[0180] According to embodiments of this application, this application also provides an electronic device and a readable storage medium.
[0181] Figure 6 A schematic block diagram of an example electronic device that can be used to implement embodiments of this application is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the application described and / or claimed herein.
[0182] like Figure 6 As shown, device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 802 or a computer program loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.
[0183] Multiple components in device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of monitors, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0184] The computing unit 801 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs various methods and processes described above, such as the data allocation method. For example, in some embodiments, the data allocation method can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed onto the device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded onto the RAM 803 and executed by the computing unit 801, one or more steps of the data allocation method described above can be performed. Alternatively, in other embodiments, the computing unit 801 can be configured to perform the data allocation method by any other suitable means, such as by means of firmware.
[0185] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, specially designed application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0186] Program code for carrying out methods of the present application can be written in any combination of one or more programming languages. This program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces a means for implementing the functions / acts specified in the flowcharts and / or block diagrams. The program code can be executed entirely on a machine, partially on a machine, fully on a machine and partially on a remote machine or entirely on a remote machine or server.
[0187] In the context of this application, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0188] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0189] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0190] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0191] The computer program product or computer program includes computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions, so that the computer device executes the data distribution method described above in the embodiments of the present application.
[0192] It should be understood that the steps shown above in various forms of flow can be reordered, added or deleted. For example, each step described in the present disclosure can be executed in parallel, sequentially or in different order, as long as the desired results of the technical solutions disclosed in the present application can be achieved, which is not limited herein.
[0193] In addition, the terms "first", "second" are only for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined with "first", "second" can explicitly or implicitly include at least one of the features. In the description of the present application, the meaning of "multiple" is two or more, unless otherwise specifically limited.
[0194] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto, and any person skilled in the art can easily think of changes or replacements within the technical range disclosed in the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A data allocation method, characterized in that, The method includes: Obtain multiple time-series features related to the data access request; The multiple time-series features are transformed from the time domain to the frequency domain, and machine learning analysis is performed in the frequency domain. This includes: applying a neural network model based on a multilayer perceptron (MLP) architecture to the real and imaginary coefficients of the frequency domain representation for machine learning; the machine learning includes learning first along the feature channel dimension and then along the time dimension; wherein, machine learning along the feature channel dimension is used to capture the dependencies and correlations between multiple time-series features; machine learning along the time dimension is used to capture long-period and regular features in the time-series features. Machine learning is performed on the real and imaginary coefficients of the frequency domain representation using a neural network model based on a multilayer perceptron (MLP) architecture, according to the following complex linear transformation: in, This represents the output frequency domain signal; The matrix representing the real part coefficients of the input complex frequency domain signal; The matrix representing the imaginary coefficients of the input complex frequency domain signal; denoted by represents the real part of the complex weight matrix W; Represents the imaginary part of the complex weight matrix W; Represents the imaginary unit; Represents the complex bias term; The results of machine learning analysis are inversely transformed from the frequency domain to the time domain to obtain predicted values for data reuse probability, including: Perform an inverse time-frequency transform on the output frequency domain signal to restore it to a time domain signal; The recovered time-domain signal is input to the projection prediction module, which processes the data through at least one fully connected layer and an activation function, and outputs the predicted value of the data reuse probability. Based on the predicted data reuse probability, the data corresponding to the data access request is allocated to the SLC cache area or QLC main storage area of the solid-state drive.
2. The method according to claim 1, characterized in that, The acquisition of multiple time-series features related to the data access request includes: Collect load characteristic information and solid-state drive write request characteristics, and organize them into multiple time series characteristics according to a predetermined time granularity; The time series features include at least: logical block address, requested data size, requested data type, number of accesses for the same request within the time series window, type of physical block actually written within the time series window, time interval between consecutive requests for the same request, SLC cache space utilization, and QLC region space utilization.
3. The method according to claim 1, characterized in that, The step of converting the multiple time series features from the time domain to the frequency domain includes: The time series features are transformed from a time domain representation to a frequency domain representation using time-frequency transformation. The frequency domain representation includes frequency components, which include real coefficients and imaginary coefficients.
4. The method according to claim 1, characterized in that, The step of allocating the data corresponding to the data access request to the SLC cache area or QLC main storage area of the solid-state drive based on the predicted data reuse probability includes: The predicted value of the data reuse probability is compared with a judgment threshold, which is a dynamic threshold that is adaptively adjusted based on the SLC cache space utilization. If the predicted data reuse probability is greater than the determination threshold, the data will be allocated to the SLC cache area. If the predicted data reuse probability is less than or equal to the determination threshold, the data will be allocated to the QLC main storage area.
5. The method according to claim 1, characterized in that, When the SLC cache area has no remaining space, the method further includes: Obtain the predicted data reuse probability values of all data in the SLC cache area when writing, and sort them from largest to smallest according to the predicted data reuse probability values; The data with the lowest predicted data reuse probability value is migrated from the SLC cache area to the QLC main storage area.
6. A data distribution device, characterized in that, The device includes: The acquisition module is used to acquire multiple time-series features related to the data access request; The transformation module transforms the multiple time-series features from the time domain to the frequency domain; the machine learning module performs machine learning analysis in the frequency domain, including applying a neural network model based on a multilayer perceptron (MLP) architecture to the real and imaginary coefficients of the frequency domain representation; the machine learning includes learning along the feature channel dimension first, and then learning along the time dimension; wherein, machine learning along the feature channel dimension is used to capture the dependencies and correlations between multiple time-series features; machine learning along the time dimension is used to capture long-period and regular features in the time-series features; The machine learning module is based on the following complex linear transformation: in, This represents the output frequency domain signal; The matrix representing the real part coefficients of the input complex frequency domain signal; The matrix representing the imaginary coefficients of the input complex frequency domain signal; denoted by represents the real part of the complex weight matrix W; Represents the imaginary part of the complex weight matrix W; Represents the imaginary unit; Represents the complex bias term; The conversion module is further configured to inversely convert the results analyzed by machine learning from the frequency domain to the time domain to obtain a predicted value for data reuse probability, including: Perform an inverse time-frequency transform on the output frequency domain signal to restore it to a time domain signal; The recovered time-domain signal is input to the projection prediction module, which processes the data through at least one fully connected layer and an activation function, and outputs the predicted value of the data reuse probability. The allocation module is used to allocate the data corresponding to the data access request to the SLC cache area or QLC main storage area of the solid-state drive based on the predicted data reuse probability value.
7. The apparatus according to claim 6, characterized in that, The acquisition module is specifically used for: Collect load characteristic information and solid-state drive write request characteristics, and organize them into multiple time series characteristics according to a predetermined time granularity; The time series features include at least: logical block address, requested data size, requested data type, number of accesses for the same request within the time series window, type of physical block actually written within the time series window, time interval between consecutive requests for the same request, SLC cache space utilization, and QLC region space utilization.
8. The apparatus according to claim 6, characterized in that, The conversion module, when converting the multiple time series features from the time domain to the frequency domain, is specifically used for: The time series features are transformed from a time domain representation to a frequency domain representation using time-frequency transformation. The frequency domain representation includes frequency components, which include real coefficients and imaginary coefficients.
9. The apparatus according to claim 6, characterized in that, The allocation module is specifically used for: The predicted value of the data reuse probability is compared with a judgment threshold, which is a dynamic threshold that is adaptively adjusted based on the SLC cache space utilization. If the predicted data reuse probability is greater than the determination threshold, the data will be allocated to the SLC cache area. If the predicted data reuse probability is less than or equal to the determination threshold, the data will be allocated to the QLC main storage area.
10. The apparatus according to claim 6, characterized in that, When there is no remaining space in the SLC cache area, the allocation module is further configured to: Obtain the predicted data reuse probability values of all data in the SLC cache area when writing, and sort them from largest to smallest according to the predicted data reuse probability values; The data with the lowest predicted data reuse probability value is migrated from the SLC cache area to the QLC main storage area.
11. An electronic device, characterized in that, include: At least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-5.
12. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-5.
13. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by a processor, they implement the method of any one of claims 1-5.
Citation Information
Patent Citations
Database cache management method and system based on deep learning
CN119441300A
Flight trajectory prediction method fusing space perception and time-frequency conversion
CN120220470A
Solid state disk data storage method, device and equipment and storage medium
CN120653202A