A solid state disk performance optimization method, device, equipment and medium

By predicting I/O intensity using a long short-term memory network model and dynamically adjusting the TCM resources used by the read and write modules, the problem of unreasonable TCM resource allocation is solved, thereby improving the read and write performance and resource utilization efficiency of solid-state drives.

CN115563032BActive Publication Date: 2026-07-03SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
Filing Date
2022-09-23
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

In existing technologies, the TCM resource allocation of solid-state drives is unreasonable, resulting in less than ideal read and write performance. In particular, under different operating modes and I/O intensities, cache resources cannot be fully utilized.

Method used

A long short-term memory network model is used to predict IO intensity. By analyzing the log data of the solid-state drive, the IO intensity prediction model is trained, and the proportion of TCM resources occupied by the read and write modules is dynamically adjusted to optimize the FTL strategy.

Benefits of technology

It significantly improves the read and write performance of solid-state drives, fully utilizes TCM resources, adapts to different business pressures, and improves read and write processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115563032B_ABST
    Figure CN115563032B_ABST
Patent Text Reader

Abstract

The present application relates to the field of solid state disk, especially to a solid state disk performance optimization method, device, equipment and medium.The method comprises: obtaining the log of the solid state disk and performing analysis and statistics to obtain IO intensity historical data; using the IO intensity historical data to train a pre-established long short-term memory network model to obtain a trained IO intensity prediction model, the input of the pre-established long short-term memory network model being continuous several days of solid state disk IO intensity, and the output being the next day's solid state disk IO intensity for several days; collecting continuous several days of solid state disk IO intensity data with the current day as the last day and inputting the data into the trained IO intensity prediction model to obtain a future one-day IO intensity prediction value; and adjusting the proportion of read module and write module occupying TCM resources according to the future one-day IO intensity prediction value.The present application dynamically adjusts the proportion of read-write module occupying TCM resources, and significantly improves the performance of the solid state disk.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of solid-state drives (SSDs), and more particularly to a method, apparatus, device, and medium for optimizing SSD performance. Background Technology

[0002] Human society has entered a big data era characterized by an exponential explosion in data volume. The arrival of the big data era necessitates stronger support from storage technologies, and various big data applications pose greater challenges to the performance and reliability of storage systems. Solid State Drives (SSDs), due to their high bandwidth and low power consumption, have been widely adopted in enterprise-level storage. At the same time, enterprise users are placing higher demands on the performance of NAND flash memory-based SSDs: faster read / write speeds, lower latency, and lower energy consumption have become hot topics in the storage field.

[0003] The quality of the Flash Translation Layer (FTL) algorithm directly impacts SSD performance. The host computer can operate on the SSD in various modes, such as read and write operations. When performing read / write operations, the SSD's internal front-end parses the I / O commands sent by the host and then sends them to the FTL. Since the FTL performs read / write operations asynchronously compared to the commands sent by the front-end, for each read / write command, the FTL needs to allocate a context fe_ctx (the context interacting with the FE in the FTL algorithm) and a context nand_ctx (the context interacting with the BE in the FTL algorithm) to pass information to the back-end NCM. The context is a custom structure defined in the FTL algorithm, and the number of contexts is limited. Since the FTL (Fulfilled Threading) algorithm is designed for repeated and cyclical use, the efficiency of front-end and back-end context processing largely determines the performance of an SSD. Furthermore, high-pressure read / write operations can cause messages sent by the FTL to the front-end or back-end SFIF (Message Exchange Queue) to be delayed, necessitating context suspension. A linked list structure needs to be defined to suspend the corresponding context when the message queue is not empty and to retrieve the corresponding node from the list for execution after the message queue has finished processing. For enterprise-level SSDs, the requirements for read / write speeds are increasingly stringent. Currently, to optimize read / write performance, conventional FTL algorithms typically place the context and linked list in a high-speed cache, TCM (Tightly Coupled Memory). TCM is a high-speed cache, usually integrated directly into the CPU chip. Frequently accessed data can be placed in TCM to save access time. Because TCM is an extremely high-speed cache integrated within the CPU, its access speed is almost comparable to the CPU, and the CPU wastes very little time accessing TCM.

[0004] However, the speed improvement comes at the cost of capacity. The TCM capacity is very small. The current industry practice is to pre-allocate each read and write module, place them on the same core, and pre-allocate the TCM size occupied by each read and write module. However, this will result in the high-speed cache resource TCM not being fully utilized under different operating modes and different I / O intensities. Summary of the Invention

[0005] In view of this, the present invention addresses the problem that the pre-allocated TCM resources are not allocated reasonably or cannot be fully utilized, resulting in unsatisfactory SSD read and write performance due to the inability to process context and suspended messages quickly during read and write operations. The present invention provides a solid-state drive performance optimization method, apparatus, device, and medium.

[0006] According to a first aspect of the present invention, a method for optimizing the performance of a solid-state drive is provided, the method comprising:

[0007] Obtain and analyze the logs of the solid-state drive to obtain historical data on I / O intensity;

[0008] The pre-established long short-term memory network model is trained using the historical IO intensity data to obtain the trained IO intensity prediction model. The input of the pre-established long short-term memory network model is the solid-state drive IO intensity over several consecutive days, and the output is the solid-state drive IO intensity for the next day after several days.

[0009] Collect solid-state drive I / O intensity data for several consecutive days with today as the last day and input it into the trained I / O intensity prediction model to obtain the I / O intensity prediction value for the next day.

[0010] Adjust the proportion of TCM resources used by the read module and write module based on the predicted IO intensity for the next day.

[0011] In some embodiments, the logs of the solid-state drive are acquired and analyzed to obtain historical I / O intensity data, including:

[0012] Monitor the firmware runtime logs of the solid-state drive;

[0013] Perform the following operations on the daily logs respectively: calculate the total size of read data corresponding to all read commands issued by the host computer within a preset time interval, or calculate the total size of write data corresponding to all write commands;

[0014] All statistical data are normalized, and the normalized statistical data are divided into several groups according to a preset number of consecutive days. The data of the last day in each group is the expected output, and the data of the remaining days are the input.

[0015] In some embodiments, acquiring and analyzing the logs of the solid-state drive to obtain historical IO intensity data further includes:

[0016] The groups are divided into three sets: 80% of the groups are used as the training set, 10% as the validation set, and 10% as the test set.

[0017] In some embodiments, a pre-established long short-term memory network model is trained using the historical IO intensity data to obtain a trained IO intensity prediction model, including:

[0018] The pre-established long short-term memory network model was initially trained using the test set to obtain the pre-trained IO intensity prediction model.

[0019] The initial trained IO intensity prediction model is optimized using the validation set to obtain an optimized IO intensity prediction model.

[0020] The optimized IO intensity prediction model is tested using the test set. If the model output error is less than the preset value, the optimized IO intensity prediction model is used as the trained IO intensity prediction model.

[0021] In some embodiments, the pre-established long short-term memory network model includes two identical long short-term memory network models, wherein the input of one model is a number of days of forward-ordered IO intensity data, and the input of the other model is a number of days of reverse-ordered IO intensity data. The outputs of the two models are weighted and used as the final output.

[0022] In some embodiments, adjusting the proportion of TCM resources used by the read module and write module based on the predicted IO intensity for the next day includes:

[0023] Get the percentage of TCM resources currently allocated to the read or write module;

[0024] The revised TCM resource ratio for the read or write module is obtained using the following formula;

[0025]

[0026] in, To adjust the amount of TCM resources used by the read module based on the predicted IO intensity, For the TCM resources pre-allocated to the read module, and 0 is the correction factor. rRead as the predicted value of IO intensity. 0 is the set baseline for TCM resource allocation in the read module; To adjust the amount of TCM resources used by the write module based on the predicted IO intensity, For TCM resources pre-allocated to the write module, and w 0 is the correction factor. w To write the predicted value of I / O intensity, 1 is the set baseline for TCM resource allocation in the write module;

[0027] Allocate the remaining TCM resources, excluding the revised TCM resource percentage for the read or write modules, to the write or read modules.

[0028] In some embodiments, the preset time interval is one hour and the preset number of days is eight days.

[0029] According to a second aspect of the present invention, a solid-state drive performance optimization apparatus is provided, the apparatus comprising:

[0030] The acquisition module is configured to acquire logs from the solid-state drive and perform analysis and statistics to obtain historical data on IO intensity.

[0031] The training module is configured to train a pre-established long short-term memory network model using the historical IO intensity data to obtain a trained IO intensity prediction model. The input of the pre-established long short-term memory network model is the solid-state drive IO intensity over several consecutive days, and the output is the solid-state drive IO intensity for the next day after several days.

[0032] The prediction module is configured to collect solid-state drive IO intensity data for several consecutive days with the current day as the last day and input it into the trained IO intensity prediction model to obtain the predicted IO intensity value for the next day.

[0033] The adjustment module is configured to adjust the proportion of TCM resources used by the read module and the write module based on the predicted IO intensity value for the next day.

[0034] According to a third aspect of the present invention, a computer device is also provided, the computer device comprising:

[0035] At least one processor; and

[0036] The memory stores computer programs that can run on the processor, which executes the aforementioned solid-state drive performance optimization method when executing the program.

[0037] According to a fourth aspect of the present invention, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, performs the aforementioned solid-state drive performance optimization method.

[0038] The aforementioned solid-state drive performance optimization method utilizes a long short-term memory network to predict I / O intensity. Based on the I / O intensity of the previous period, it predicts the I / O intensity of the next period, thereby dynamically adjusting the proportion of TCM resources used by the read and write modules. By predicting the I / O intensity in advance, it optimizes the FTL strategy and rationally allocates TCM resources, significantly improving solid-state drive performance.

[0039] In addition, the present invention also provides a solid-state drive performance optimization device, a computer device, and a computer-readable storage medium, which can achieve the above-mentioned technical effects, and will not be described in detail here. Attached Figure Description

[0040] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other embodiments can be obtained based on these drawings without creative effort.

[0041] Figure 1 A flowchart illustrating a solid-state drive performance optimization method according to an embodiment of the present invention;

[0042] Figure 2 A flowchart illustrating another solid-state drive performance optimization method provided in another embodiment of the present invention;

[0043] Figure 3 A diagram illustrating an improved long short-term memory network training process provided in one embodiment of the present invention;

[0044] Figure 4 A schematic diagram of a solid-state drive performance optimization device provided in another embodiment of the present invention;

[0045] Figure 5 This is an internal structural diagram of a computer device according to another embodiment of the present invention. Detailed Implementation

[0046] To make the objectives, technical solutions, and advantages of the present invention clearer, the embodiments of the present invention will be further described in detail below with reference to specific examples and the accompanying drawings.

[0047] It should be noted that all uses of "first" and "second" in the embodiments of the present invention are for the purpose of distinguishing two entities or parameters with the same name but different names. It is clear that "first" and "second" are only for the convenience of expression and should not be construed as limiting the embodiments of the present invention. Subsequent embodiments will not explain this in detail.

[0048] In one embodiment, please refer to Figure 1 As shown, the present invention provides a solid-state drive performance optimization method 100, specifically, the method includes the following steps:

[0049] Step 101: Obtain the logs of the solid-state drive and perform analysis and statistics to obtain historical data on IO intensity;

[0050] Step 102: Use the historical IO intensity data to train a pre-established long short-term memory network model to obtain a trained IO intensity prediction model. The input of the pre-established long short-term memory network model is the solid-state drive IO intensity for several consecutive days, and the output is the solid-state drive IO intensity for the next day after several days.

[0051] Step 103: Collect solid-state drive IO intensity data for several consecutive days with today as the last day and input it into the trained IO intensity prediction model to obtain the IO intensity prediction value for the next day.

[0052] Step 104: Adjust the proportion of TCM resources occupied by the read module and write module according to the predicted IO intensity value for the next day.

[0053] The aforementioned solid-state drive performance optimization method utilizes a long short-term memory network to predict I / O intensity. Based on the I / O intensity of the previous period, it predicts the I / O intensity of the next period, thereby dynamically adjusting the proportion of TCM resources used by the read and write modules. By predicting the I / O intensity in advance, it optimizes the FTL strategy and rationally allocates TCM resources, significantly improving solid-state drive performance.

[0054] In some embodiments, step 101 involves acquiring and analyzing the logs of the solid-state drive to obtain historical IO intensity data, including:

[0055] Monitor the firmware runtime logs of the solid-state drive;

[0056] Perform the following operations on the daily logs respectively: calculate the total size of read data corresponding to all read commands issued by the host computer within a preset time interval, or calculate the total size of write data corresponding to all write commands;

[0057] All statistical data are normalized, and the normalized statistical data are divided into several groups according to a preset number of consecutive days. The data of the last day in each group is the expected output, and the data of the remaining days are the input.

[0058] In some implementations, step 101, which involves acquiring and analyzing the logs of the solid-state drive to obtain historical IO intensity data, also includes:

[0059] The groups are divided into three sets: 80% of the groups are used as the training set, 10% as the validation set, and 10% as the test set.

[0060] In some embodiments, step 102, training a pre-established long short-term memory network model using the historical IO intensity data to obtain a trained IO intensity prediction model, includes:

[0061] The pre-established long short-term memory network model was initially trained using the test set to obtain the pre-trained IO intensity prediction model.

[0062] The initial trained IO intensity prediction model is optimized using the validation set to obtain an optimized IO intensity prediction model.

[0063] The optimized IO intensity prediction model is tested using the test set. If the model output error is less than the preset value, the optimized IO intensity prediction model is used as the trained IO intensity prediction model.

[0064] In some embodiments, the pre-established long short-term memory network model includes two identical long short-term memory network models, wherein the input of one model is a number of days of forward-ordered IO intensity data, and the input of the other model is a number of days of reverse-ordered IO intensity data. The outputs of the two models are weighted and used as the final output.

[0065] In some embodiments, step 104, adjusting the proportion of TCM resources occupied by the read module and write module according to the predicted IO intensity value for the next day, includes:

[0066] Get the percentage of TCM resources currently allocated to the read or write module;

[0067] The revised TCM resource ratio for the read or write module is obtained using the following formula;

[0068]

[0069] in, To adjust the amount of TCM resources used by the read module based on the predicted IO intensity, For the TCM resources pre-allocated to the read module, and 0 is the correction factor. r Read as the predicted value of IO intensity. 0 is the set baseline for TCM resource allocation in the read module; To adjust the amount of TCM resources used by the write module based on the predicted IO intensity, For TCM resources pre-allocated to the write module, and w 0 is the correction factor. w To write the predicted value of I / O intensity, 1 is the set baseline for TCM resource allocation in the write module;

[0070] Allocate the remaining TCM resources, excluding the revised TCM resource percentage for the read or write modules, to the write or read modules.

[0071] In yet another embodiment, to facilitate understanding of the present invention, the following example uses an enterprise-level SSD. This embodiment provides another solid-state drive performance optimization method 200. Please refer to... Figure 2 As shown, the implementation process of this method is as follows:

[0072] Step 201: Obtain historical data on SSD IO intensity, and then cut, organize, and classify it to obtain training set, validation set, and test set.

[0073] Historical data can be obtained as follows: An SSD testing platform is established to simulate real SSD business operations. Read and write IO intensity exhibits strong periodicity and self-similarity within a day and a week. Utilizing this characteristic, IO intensity data from the past week is selected for learning, and the IO intensity for day 8 is predicted. A real-world SSD workload is run, and the IO intensity of the read module is recorded every hour. During this process, the SSD firmware operation logs are monitored, and the hourly IO intensity data is updated and statistically analyzed. The statistical IO intensity related characteristics are shown in Table 1.

[0074] Table 1. IoSinus Intensity Related Feature Data

[0075]

[0076] Specifically, the SSD firmware runtime logs are monitored, and IO intensity-related data is updated and statistically analyzed to obtain 7 days of historical SSD IO intensity data. After obtaining 100,080 sets of the above IO intensity runtime data, a four-dimensional array [time, rw, bs, size] is formed, with each set of data representing one IO intensity data point. First, data with potential outliers or missing values ​​is cleaned to reduce the impact of abnormal data; then, the data is subjected to non-dimensional quantization (standardization) to ensure that all feature data have a uniform data specification. The normalization transformation function for the sample features is shown in Formula 1:

[0077] Formula 1;

[0078] In formula 1 These are the sample features collected in step 1 at time t. It is the minimum value of the features of the collected samples. It is the maximum value of the features of the collected samples.

[0079] Finally, the 100,080 collected IO data points were randomly divided into three sets: 80% as the training set, 10% as the validation set, and 10% as the test set.

[0080] Step 202: Design an improved Long Short-Term Memory (LSTM) network IO prediction model. The network model mainly consists of an input layer, hidden layers, and an output layer. The basic LSM network's hidden layers only undergo positive training, leading to poor early feature extraction and memory performance. The improved LSM network model uses bidirectional training for its hidden layers, enabling it to fully learn the overall features of IO intensity.

[0081] Specifically, the improved Long Short-Term Memory (LSTM) neural network model is an improvement on the conventional neural network, consisting of a forward LSM network and a backward LSM network. The improved LSM network considers both past and future features of the sequence, using two LSM networks, one forward input sequence, and one backward input sequence, then combining their outputs with certain weights to obtain the final result. The hidden layer of the improved model consists of two parts: a forward cell state and a backward cell state. The flow sequence enters the hidden layer through the input layer, participating in both forward and backward computations. The final output is obtained by fusing the outputs of the forward and backward LSM networks in the output layer with certain weights.

[0082] Step 203: Train the improved Long Short-Term Memory (LSTM) network model using the training set to obtain the trained LTM network model. The training process is as follows: Figure 3 As shown.

[0083] Specifically, ensuring that the sampled IO intensity is arranged in chronological order, unknown IO intensity data is predicted using known IO intensity data. An improved Long Short-Term Memory (LSTM) network model is trained using the forward-ordered IO intensity data from the first 7 days, and simultaneously trained using the reverse-ordered IO intensity data. This allows the improved LTM network model to learn bidirectionally, reinforcing and highlighting the overall characteristics of LTM network IO intensity. The training iterations and error precision need to be set. The criterion for determining whether the model has completed training is: whether the training count has reached the set number of training iterations. If the training iterations have been reached, the results are output; otherwise, whether the prediction error meets the error requirements set by the training objective is checked. The prediction error used is the mean absolute error (MAE). ) and root mean square error ( As a metric, It is the average of the absolute errors between the predicted and observed values. It is the expected value of the squared difference between the predicted value and the true value. The smaller these two error values ​​are, the better the model's performance.

[0084] and The expressions are shown in Formulas 2 and 3. In Formulas 2 and 3, For predicted values, For the observed values, The number of data points.

[0085] Formula 2;

[0086] Formula 3;

[0087] If the error requirement set by the training objective is met, the output result is released. If the error requirement is not met, the number of training iterations is increased or the training objective is redefined. The network model training is complete when the predetermined training objective is reached or the maximum number of training iterations is reached. After numerous experiments, the optimal improved Long Short-Term Memory (LSTM) network model is obtained. It is used to predict unknown IO intensity data using known IO intensity data. After extensive repetition of the experiments, the recorded results are analyzed and studied. The predicted IO intensity is obtained by multiplying the outputs of the forward and backward training networks by a weighted matrix and fusing them.

[0088] Step 204: Input the test set into the optimal improved long short-term network model to obtain the IO intensity prediction result, and modify the TCM resource ratio occupied by the read and write modules according to the result.

[0089] Specifically, the test set is input into the optimal improved long short-term memory network model to obtain the IO intensity prediction results, and the proportion of TCM resources occupied by the read and write modules is adjusted according to formulas 4 and 5.

[0090] Formula 4;

[0091] In formula 4 For the total TCM resources, TCM resources allocated to the read module The conventional approach for allocating TCM resources to the write module is... and They are all pre-allocated in size.

[0092] Formula 5;

[0093] In formula 5 The amount of TCM resources used by the read module is adjusted based on the IO intensity prediction, while the amount of TCM resources is pre-allocated to the read module. and For correction factor, This is a normalized prediction of IO intensity. Based on the established resource allocation benchmark for the read module TCM, the resources of the read module are determined, and the resources of the write module can also be determined using Formula 4.

[0094] It should be noted that in the actual implementation process, users can predict either read I / O intensity or write I / O intensity, choosing only one as the target. For example, if the target is to predict the I / O intensity of the read module, and the predicted value is used to calculate that 70% of the TCM resources should be allocated to it, assuming that the TCM resources were initially evenly distributed between the read and write modules, then the adjusted allocation should be 7% for the read module and 30% for the write module. The same applies to the case where the I / O intensity of the write module is used as the prediction target, and will not be elaborated here.

[0095] The aforementioned SSD performance optimization method, compared to the traditional method of allocating TCM resources to read and write modules at a fixed ratio, utilizes an improved Long Short-Term Memory (LSTM) network model to accurately predict IO intensity. It predicts hourly IO intensity for the next day based on hourly SSD operation data collected over seven days, thus dynamically adjusting the TCM resources required by the read and write modules. This provides different allocation methods suitable for the business pressures of different users, achieving full utilization of TCM resources without affecting business operations. It has good versatility and significantly improves SSD performance.

[0096] In some embodiments, please refer to Figure 4As shown, the present invention also provides a solid-state drive performance optimization device 300, the device comprising:

[0097] The acquisition module 301 is configured to acquire logs from the solid-state drive and perform analysis and statistics to obtain historical data on IO intensity.

[0098] Training module 302 is configured to train a pre-established long short-term memory network model using the historical IO intensity data to obtain a trained IO intensity prediction model. The input of the pre-established long short-term memory network model is the solid-state drive IO intensity over several consecutive days, and the output is the solid-state drive IO intensity for the next day after several days.

[0099] The prediction module 303 is configured to collect solid-state drive IO intensity data for several consecutive days with today as the last day and input it into the trained IO intensity prediction model to obtain the predicted IO intensity value for the next day.

[0100] Adjustment module 304 is configured to adjust the proportion of TCM resources occupied by the read module and the write module based on the predicted IO intensity value for the next day.

[0101] The aforementioned solid-state drive performance optimization device utilizes a long short-term memory network to predict I / O intensity. Based on the I / O intensity of the previous period, it predicts the I / O intensity of the next period, thereby dynamically adjusting the proportion of TCM resources used by the read and write modules. By predicting the I / O intensity in advance, it optimizes the FTL strategy and rationally allocates TCM resources, significantly improving the performance of the solid-state drive.

[0102] In some embodiments, the acquisition module 301 is further configured to:

[0103] Monitor the firmware runtime logs of the solid-state drive;

[0104] Perform the following operations on the daily logs respectively: calculate the total size of read data corresponding to all read commands issued by the host computer within a preset time interval, or calculate the total size of write data corresponding to all write commands;

[0105] All statistical data are normalized, and the normalized statistical data are divided into several groups according to a preset number of consecutive days. The data of the last day in each group is the expected output, and the data of the remaining days are the input.

[0106] In some embodiments, the acquisition module 301 is further configured to:

[0107] The groups are divided into three sets: 80% of the groups are used as the training set, 10% as the validation set, and 10% as the test set.

[0108] In some embodiments, the training module 302 is further configured to:

[0109] The pre-established long short-term memory network model was initially trained using the test set to obtain the pre-trained IO intensity prediction model.

[0110] The initial trained IO intensity prediction model is optimized using the validation set to obtain an optimized IO intensity prediction model.

[0111] The optimized IO intensity prediction model is tested using the test set. If the model output error is less than the preset value, the optimized IO intensity prediction model is used as the trained IO intensity prediction model.

[0112] In some embodiments, the pre-established long short-term memory network model includes two identical long short-term memory network models, wherein the input of one model is a number of days of forward-ordered IO intensity data, and the input of the other model is a number of days of reverse-ordered IO intensity data. The outputs of the two models are weighted and used as the final output.

[0113] In some instances, the adjustment module 304 is further configured to:

[0114] Get the percentage of TCM resources currently allocated to the read or write module;

[0115] The revised TCM resource ratio for the read or write module is obtained using the following formula;

[0116]

[0117] in, To adjust the amount of TCM resources used by the read module based on the predicted IO intensity, For the TCM resources pre-allocated to the read module, and 0 is the correction factor. r Read as the predicted value of IO intensity. 0 is the set baseline for TCM resource allocation in the read module; To adjust the amount of TCM resources used by the write module based on the predicted IO intensity, For TCM resources pre-allocated to the write module, and w 0 is the correction factor. w To write the predicted value of I / O intensity, 1 is the set baseline for TCM resource allocation in the write module;

[0118] Allocate the remaining TCM resources, excluding the revised TCM resource percentage for the read or write modules, to the write or read modules.

[0119] In some embodiments, the preset time interval is one hour and the preset number of days is eight days.

[0120] It should be noted that the specific limitations regarding the solid-state drive (SSD) performance optimization device can be found in the limitations of the SSD performance optimization method described above, and will not be repeated here. Each module in the aforementioned SSD performance optimization device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of the computer device in hardware form or independent of it, or stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each module.

[0121] According to another aspect of the present invention, a computer device is provided, which may be a server, and its internal structure diagram is shown below. Figure 5 As shown. The computer device includes a processor, memory, network interface, and database connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database stores data. The network interface communicates with external terminals via a network connection. When the computer program is executed by the processor, it implements the solid-state drive performance optimization method described above. Specifically, the method includes the following steps:

[0122] Obtain and analyze the logs of the solid-state drive to obtain historical data on I / O intensity;

[0123] The pre-established long short-term memory network model is trained using the historical IO intensity data to obtain the trained IO intensity prediction model. The input of the pre-established long short-term memory network model is the solid-state drive IO intensity over several consecutive days, and the output is the solid-state drive IO intensity for the next day after several days.

[0124] Collect solid-state drive I / O intensity data for several consecutive days with today as the last day and input it into the trained I / O intensity prediction model to obtain the I / O intensity prediction value for the next day.

[0125] Adjust the proportion of TCM resources used by the read module and write module based on the predicted IO intensity for the next day.

[0126] According to another aspect of the present invention, a computer-readable storage medium is provided, on which a computer program is stored, wherein when the computer program is executed by a processor, it implements the above-described solid-state drive performance optimization method, specifically including the following steps:

[0127] Obtain and analyze the logs of the solid-state drive to obtain historical data on I / O intensity;

[0128] The pre-established long short-term memory network model is trained using the historical IO intensity data to obtain the trained IO intensity prediction model. The input of the pre-established long short-term memory network model is the solid-state drive IO intensity over several consecutive days, and the output is the solid-state drive IO intensity for the next day after several days.

[0129] Collect solid-state drive I / O intensity data for several consecutive days with today as the last day and input it into the trained I / O intensity prediction model to obtain the I / O intensity prediction value for the next day.

[0130] Adjust the proportion of TCM resources used by the read module and write module based on the predicted IO intensity for the next day.

[0131] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0132] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0133] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.

Claims

1. A method for optimizing performance of a solid state drive, the method comprising: The method includes: Obtain and analyze the logs of the solid-state drive to obtain historical data on IO intensity; The pre-established long short-term memory network model is trained using the historical IO intensity data to obtain the trained IO intensity prediction model. The input of the pre-established long short-term memory network model is the solid-state drive IO intensity over several consecutive days, and the output is the solid-state drive IO intensity for the next day after several days. Collect solid-state drive I / O intensity data for several consecutive days with today as the last day and input it into the trained I / O intensity prediction model to obtain the I / O intensity prediction value for the next day. Adjusting the proportion of TCM resources allocated to the read and write modules based on the predicted IO intensity for the next day includes: Get the percentage of TCM resources currently allocated to the read or write module; The revised TCM resource ratio for the read or write module is obtained using the following formula; in, To adjust the amount of TCM resources used by the read module based on the predicted IO intensity, For the TCM resources pre-allocated to the read module, and 0 is the correction factor. r Read as the predicted value of IO intensity. 0 is the set baseline for TCM resource allocation in the read module; To adjust the amount of TCM resources used by the write module based on the predicted IO intensity, For TCM resources pre-allocated to the write module, and w 0 is the correction factor. w To write the predicted value of I / O intensity, 1 is the set baseline for TCM resource allocation in the write module; Allocate the remaining TCM resources, excluding the revised TCM resource percentage for the read or write modules, to the write or read modules.

2. The solid state drive performance optimization method of claim 1, wherein, Obtain and analyze the logs of the solid-state drive to obtain historical I / O intensity data, including: Monitor the firmware runtime logs of the solid-state drive; Perform the following operations on the daily logs respectively: calculate the total size of read data corresponding to all read commands issued by the host computer within a preset time interval, or calculate the total size of write data corresponding to all write commands; All statistical data are normalized, and the normalized statistical data are divided into several groups according to a preset number of consecutive days. The data of the last day in each group is the expected output, and the data of the remaining days are the input.

3. The solid state drive performance optimization method of claim 2, wherein, The system retrieves and analyzes the logs of the solid-state drive (SSD) to obtain historical I / O intensity data, which also includes: The groups are divided into three sets: 80% of the groups are used as the training set, 10% as the validation set, and 10% as the test set.

4. The solid state drive performance optimization method of claim 3, wherein, The pre-established Long Short-Term Memory network model is trained using the historical IO intensity data to obtain a trained IO intensity prediction model, including: The pre-established long short-term memory network model was initially trained using the test set to obtain the pre-trained IO intensity prediction model. The initial trained IO intensity prediction model is optimized using the validation set to obtain an optimized IO intensity prediction model. The optimized IO intensity prediction model is tested using the test set. If the model output error is less than the preset value, the optimized IO intensity prediction model is used as the trained IO intensity prediction model.

5. The solid state drive performance optimization method of claim 1, wherein, The pre-established long short-term memory network model includes two identical long short-term memory network models. The input of one model is a number of days of forward-ordered IO intensity data, and the input of the other model is a number of days of reverse-ordered IO intensity data. The outputs of the two models are weighted and used as the final output.

6. The solid-state drive performance optimization method according to claim 2, characterized in that, The preset time interval is one hour, and the preset number of days is eight days.

7. A solid state drive performance optimization apparatus, characterized by, The device includes: The acquisition module is configured to acquire logs from the solid-state drive and perform analysis and statistics to obtain historical data on IO intensity. The training module is configured to train a pre-established long short-term memory network model using the historical IO intensity data to obtain a trained IO intensity prediction model. The input of the pre-established long short-term memory network model is the solid-state drive IO intensity over several consecutive days, and the output is the solid-state drive IO intensity for the next day after several days. The prediction module is configured to collect solid-state drive IO intensity data for several consecutive days with the current day as the last day and input it into the trained IO intensity prediction model to obtain the predicted IO intensity value for the next day. The adjustment module is configured to adjust the proportion of TCM resources used by the read module and the write module based on the predicted IO intensity value for the next day. The adjustment module is also used for: Get the percentage of TCM resources currently allocated to the read or write module; The revised TCM resource ratio for the read or write module is obtained using the following formula; in, To adjust the amount of TCM resources used by the read module based on the predicted IO intensity, For the TCM resources pre-allocated to the read module, and 0 is the correction factor. r Read as the predicted value of IO intensity. 0 is the set baseline for TCM resource allocation in the read module; To adjust the amount of TCM resources used by the write module based on the predicted IO intensity, For TCM resources pre-allocated to the write module, and w 0 is the correction factor. w To write the predicted value of I / O intensity, 1 is the set baseline for TCM resource allocation in the write module; Allocate the remaining TCM resources, excluding the revised TCM resource percentage for the read or write modules, to the write or read modules.

8. A computer device, characterized by include: At least one processor; as well as A memory storing a computer program executable in the processor, wherein the processor executes the program to perform the method according to any one of claims 1-6.

9. A computer-readable storage medium storing a computer program, the computer-readable storage medium comprising: When the computer program is executed by a processor, it performs the method described in any one of claims 1-6.