Solid state disk-based power consumption prediction and management method, system, medium and product

By predicting host load and internal state, the power management of solid-state drives is optimized, solving the problems of response lag and inconsistency between internal and external states in existing strategies, and improving the accuracy and stability of power management.

CN121614349BActive Publication Date: 2026-04-21SHENZHEN XINGYAO SEMICON CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHENZHEN XINGYAO SEMICON CO LTD
Filing Date
2026-01-30
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Existing SSD power management strategies cannot accurately match dynamically changing application loads, resulting in slow response during high-performance demands or failure to save power during low loads. They also ignore the impact of internal drive behavior on power consumption, causing unnecessary latency jitter and additional power consumption.

Method used

By collecting host I/O command streams, predicting host workload intensity, and combining this with the internal state parameters of the solid-state drive, a background task trigger probability model is established to determine power consumption conflicts, identify the optimal power consumption state, and dynamically switch between them to optimize power management strategies.

Benefits of technology

It improves the accuracy of power consumption prediction, reduces the total power consumption of solid-state drives, reduces state switching overhead and latency jitter, achieves synergistic optimization of performance and energy consumption, and improves the stability of hard drives.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121614349B_ABST
    Figure CN121614349B_ABST
Patent Text Reader

Abstract

The application relates to a solid state disk power consumption prediction and management method, system, medium and product, and relates to the field of solid state disks.In the method, the host workload intensity in a first preset time window is predicted based on an I / O instruction stream, an expected host workload curve is obtained, and an expected host idle period is determined; the expected host power consumption value in the expected host idle period is calculated; the internal state parameters of the solid state disk are extracted according to historical operation log data; a background task trigger probability model is established, and the trigger probability of the solid state disk starting a high-power background task in the first preset time window is calculated; power consumption conflict judgment is performed according to the expected host power consumption value and the trigger probability, and a comprehensive predicted power consumption value is generated; and based on the comprehensive predicted power consumption value, an optimal target power consumption state is determined, and the solid state disk is instructed to switch to the optimal target power consumption state. The technical scheme provided by the application improves the stability of solid state disk state switching.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of solid-state drives (SSDs), specifically to SSD-based power consumption prediction and management methods, systems, media, and products. Background Technology

[0002] With the rapid development of big data and artificial intelligence, solid-state drives (SSDs) have become core storage components in data centers, high-performance computing, and personal computers due to their advantages such as high-speed read / write and low latency. However, while providing excellent performance, the power consumption of SSDs is becoming increasingly prominent. Most existing SSD power management strategies are rather crude, such as using static power management modes or switching states based on idle time thresholds. This approach cannot accurately match dynamically changing application loads, often resulting in sluggish response when high performance is required, or failure to achieve energy-saving effects under low load.

[0003] To address the shortcomings of the aforementioned power management strategies, existing technologies have proposed dynamic power adjustment techniques based on real-time workload awareness. These techniques utilize the SSD controller to monitor the I / O command flow from the host in real time, analyzing characteristics such as command type and frequency. Based on this real-time load information, the system dynamically and rapidly switches between multiple preset power states. When frequent I / O activity is detected, the SSD is maintained in a high-performance, high-power state to ensure service quality; conversely, when I / O activity enters an idle period, it quickly switches to a low-power state such as deep sleep to conserve energy, achieving synergistic optimization of power consumption and performance.

[0004] However, this technology relies on instruction streams from the host side for its judgment, responding to changes in external requests but neglecting the impact of the SSD's internal behavior on power consumption. Specifically, critical but energy-intensive internal processes such as garbage collection run in the background of the SSD. When host-side I / O is idle for an extended period, existing technology determines the system is in a low-load state, thus placing the SSD in a low-power deep sleep mode. However, precisely during this host idle window, the SSD's firmware algorithm might interpret this as an opportunity to perform garbage collection and initiate the process. At this time, the SSD is undergoing extensive data transfer and write operations, resulting in very high power consumption. The power management system, however, makes the completely opposite low-power judgment due to the lack of host I / O. This misjudgment of internal and external states not only causes the expected energy-saving goals to fail but also introduces unnecessary latency jitter and additional power overhead by frequently switching between incorrect low-power states and high-power states awakened by internal tasks, affecting the overall service stability. Summary of the Invention

[0005] This application provides a method, system, media, and product for power consumption prediction and management based on solid-state drives (SSDs), which improves the stability of SSD state switching.

[0006] The first aspect of this application provides a power consumption prediction and management method based on a solid-state drive (SSD). The method includes: collecting I / O command streams received by the SSD from the host, and based on the timing characteristics and type distribution of the I / O command streams, predicting the host workload intensity within a first preset time window according to a time series to obtain an expected host workload curve; determining expected host idle periods based on the expected host workload curve; calculating the expected host power consumption value driven by external requests during the expected host idle periods according to a preset performance-power consumption correspondence; acquiring historical operation log data of the SSD, and based on the historical operation log data... The internal state parameters of the solid-state drive are extracted; based on the internal state parameters and the expected host idle time period, a background task triggering probability model is established, and the triggering probability of the solid-state drive starting a high-power background task within the first preset time window is calculated according to the background task triggering probability model; based on the expected host power consumption value and the triggering probability, a power consumption conflict judgment is performed to generate a comprehensive predicted power consumption value; based on the comprehensive predicted power consumption value and combined with the state transition overhead of switching from the current power consumption state to the target power consumption state, the optimal target power consumption state is determined among the multiple available power consumption states of the solid-state drive, and the solid-state drive is instructed to switch to the optimal target power consumption state.

[0007] By employing the aforementioned technical solution, the host I / O instruction stream is collected and the host workload intensity is predicted to determine the host's idle periods, calculating the expected host power consumption during these idle periods. Simultaneously, the internal state parameters of the solid-state drive (SSD) are acquired, a background task trigger probability model is established, and the trigger probability of high-power background tasks is calculated. Then, based on the expected host power consumption and the background task trigger probability, power conflict judgment is performed to obtain a comprehensive power consumption prediction value. Finally, considering state transition overhead, the optimal power consumption state is determined and switched. This series of steps comprehensively considers host load, SSD internal state, and background task characteristics, anticipating potential power consumption conflict risks in advance, balancing the contradiction between performance and power consumption, and selecting the optimal power management strategy within the power budget to maximize energy savings. Furthermore, this solution strategically plans the timing and target state of power state switching, reducing unnecessary state transition overhead and optimizing the overall energy efficiency of the SSD. This technical solution solves the problems of delayed response, inconsistent internal and external states, and high power consumption conflicts in traditional power management methods through a comprehensive design of host load prediction, background task triggering probability model, and dynamic power consumption state switching. It improves the accuracy of power consumption prediction, reduces the total power consumption of solid-state drives, reduces state switching overhead and latency jitter, thereby achieving synergistic optimization of solid-state drive performance and energy consumption, and improving the stability of solid-state drives.

[0008] Optionally, the step of predicting the host workload intensity within a first preset time window based on the timing characteristics and type distribution of the I / O instruction stream to obtain the expected host workload curve specifically includes: parsing the I / O instruction stream to extract the timestamp, instruction type, and data length of each I / O instruction; discretizing the I / O instruction stream into equally spaced time series data based on the timestamps, where each time interval of the time series data corresponds to a load intensity data point, forming a load intensity time series; performing autocorrelation analysis on the load intensity time series and determining the periodicity characteristics of the load intensity time series based on the autocorrelation coefficient; and extracting the load intensity data using a short-time Fourier transform. The load intensity time series is analyzed using multi-scale frequency domain features. Combining the periodic features and the multi-scale frequency domain features, a multi-scale autoregressive prediction model for the load intensity time series is constructed. The distribution of I / O instruction types within each time interval is statistically analyzed to obtain instruction type distribution features, including the proportion of read requests, write requests, sequential requests, and random requests. These instruction type distribution features are used as covariates and introduced into the multi-scale autoregressive prediction model to iteratively predict the target load intensity time series within the first preset time window. Through interpolation smoothing, the target load intensity time series is mapped onto a continuous time axis to generate the expected host workload curve.

[0009] By employing the above technical solution, a multi-scale autoregressive prediction model is constructed by fully utilizing the timing characteristics and instruction type distribution characteristics of the host I / O instruction stream. First, the instruction stream is parsed into time-series data to extract the periodic pattern of load intensity changes over time. Second, Fourier transform is used to characterize the multi-scale characteristics of load intensity from a time-frequency domain perspective. Then, an autoregressive model is used to fit the trend of load intensity changes, while the instruction type distribution is introduced as a covariate to improve prediction accuracy. Finally, interpolation smoothing is used to obtain the expected load intensity curve over continuous time scales. This prediction method integrates time-domain and frequency-domain information, mining the multi-scale dynamic characteristics of the load sequence, and can accurately predict the trend of host workload changes over a future period, providing a reliable basis for idle period identification and power management decisions.

[0010] Optionally, the step of calculating the expected host power consumption value driven by external requests during the expected host idle period based on the expected host idle period and the preset performance-power consumption correspondence specifically includes: designing multiple sets of performance configuration parameters, each set of performance configuration parameters including the main control frequency, memory frequency, and number of Flash channels; for each set of performance configuration parameters, testing the key performance indicators of the solid-state drive under different data block sizes and queue depths, and recording the power consumption levels corresponding to the key performance indicators to obtain the preset performance-power consumption correspondence, the key performance indicators including sequential read, sequential write, random read, and random write; detecting the load status of the host request queue, and matching the performance configuration under the current load condition and the corresponding target power consumption level in the preset performance-power consumption correspondence based on the load status; using the target power consumption level as the instantaneous power consumption prediction value under the current load condition; traversing each sampling time point within the expected host idle period, and calculating the instantaneous power consumption prediction value for each sampling time point; integrating the instantaneous power consumption prediction value within the expected host idle period to obtain the cumulative power consumption prediction value driven by external requests, which is used as the expected host power consumption value.

[0011] By adopting the above technical solution, multiple sets of solid-state drive (SSD) performance configuration parameters were designed. Under different load conditions such as data block size and queue depth, key performance indicators and corresponding power consumption were tested, establishing a refined mapping relationship between SSD performance and power consumption. Based on this, the host request queue load was monitored in real time, and the performance configuration and target power consumption level under the current load were matched, using this as the instantaneous power consumption prediction value. The cumulative power consumption was then obtained by integrating the instantaneous power consumption prediction value within the expected idle period. This method can predict changes in SSD power consumption driven by host requests based on actual load characteristics and can adjust the expected power consumption value in real time according to the dynamic fluctuations of the request queue status, improving the load adaptability and accuracy of host power consumption prediction. Simultaneously, this method conducted comprehensive performance and power consumption tests on key load scenarios, establishing a performance-power consumption mapping relationship, which avoids online calculations and additional overhead.

[0012] Optionally, the step of establishing a background task triggering probability model based on the internal state parameters and the expected host idle period, and calculating the triggering probability of the solid-state drive starting a high-power background task within the first preset time window according to the background task triggering probability model, specifically includes: based on the historical running log data, statistically analyzing the conditional probability distribution of the solid-state drive starting a high-power background task under different internal state parameters, where the internal state parameters include the ratio of valid pages to invalid pages in the flash memory block, the remaining available space, and the write amplification factor; based on the conditional probability distribution, constructing a logistic regression model of the internal state parameters and the background task triggering situation, obtaining the regression coefficients of each internal state parameter, and forming the background task triggering probability model; discretizing the expected host idle period on the time axis and dividing it into multiple time windows with preset intervals, where each time window is defined as a decision time unit; within each decision time unit, obtaining the internal state parameter value of the solid-state drive; inputting the internal state parameter value into the background task triggering probability model to obtain the predicted probability value of starting a high-power background task under the current internal state; and combining the predicted probability values ​​within all decision time units to obtain the triggering probability of starting a high-power background task within the first preset time window.

[0013] By employing the aforementioned technical solution and based on historical operating log data of the solid-state drive (SSD), the trigger probability distribution of background tasks under different internal state parameters was statistically analyzed, revealing the correlation between internal state and background task scheduling behavior. Based on this, a logistic regression probability model was constructed to correlate internal state parameters with background task triggering. Key internal state parameters such as the ratio of effective to invalid pages in the flash memory block, available space, and write amplification were used as predictor variables, and regression coefficients were used to characterize the weight of each parameter on the trigger probability of background tasks. During prediction, the expected idle period was discretized, with each discrete time window serving as a decision unit. The internal state parameters were input into the probability model in real time to predict the trigger probability of background tasks at that decision point. The prediction results from each decision unit were then combined to obtain the trigger probability of background tasks for the entire idle period. This method fully utilizes the statistical correlation between SSD internal state parameters and background tasks, quantitatively characterizing the triggering patterns of background tasks under different internal states. It can dynamically predict the scheduling behavior of background tasks according to load and wear conditions, providing an important basis for predicting power consumption conflicts.

[0014] Optionally, the step of statistically analyzing the conditional probability distribution of the solid-state drive starting a high-power background task under different internal state parameters based on the historical operation log data specifically includes: extracting the internal state parameters from the historical operation log, quantizing and grouping the internal state parameters to obtain multiple parameter level combinations; statistically analyzing the historical frequency of the solid-state drive starting a high-power background task under each parameter level combination to obtain the empirical conditional probability corresponding to different parameter level combinations; and using preset prior knowledge to perform Bayesian correction on the empirical conditional probability to obtain the conditional probability distribution.

[0015] By employing the aforementioned technical solution, internal state parameters are discretized using group quantization, and the historical trigger frequency of background tasks under each parameter combination is statistically analyzed. Based on empirical data, the conditional probability distribution of parameter combinations and background task triggering is obtained. Simultaneously, to overcome statistical biases that may arise from the sparsity of historical data, prior knowledge is introduced to perform Bayesian correction on the conditional probability distribution, smoothing the probability distribution curve and improving the robustness of probability estimation. This method directly mines empirical correlation patterns between internal state parameters and background task scheduling based on solid-state drive (SSD) operation logs, fully utilizing historical data accumulated on SSDs and avoiding complex modeling of underlying mechanisms, thus possessing strong engineering practicality. Furthermore, parameter group quantization simplifies the state space, and Bayesian correction integrates subjective prior knowledge, making the obtained conditional probability distribution more reasonable and smooth, which helps to generalize to more scenarios.

[0016] Optionally, the step of determining power consumption conflict based on the expected host power consumption value and the trigger probability to generate a comprehensive predicted power consumption value specifically includes: acquiring historical background power consumption data, calculating the average power consumption of background tasks under different durations based on the historical background power consumption data, and generating a background task power consumption table; acquiring the duration of the expected host idle period, and searching for the corresponding background task power consumption value in the background task power consumption table according to the duration; determining whether the expected host power consumption value is lower than a preset power consumption threshold, and determining whether the trigger probability is higher than a preset probability threshold; when the expected host power consumption value is lower than the preset power consumption threshold and the trigger probability is higher than the preset probability threshold, determining the background task power consumption value as the comprehensive predicted power consumption value; when the expected host power consumption value is not lower than the preset power consumption threshold, or the trigger probability is not higher than the preset probability threshold, determining the expected host power consumption value as the comprehensive predicted power consumption value.

[0017] By employing the above technical solution, based on historical power consumption data, the average power consumption of background tasks under different durations is statistically obtained, and a background task power consumption table is established as an empirical estimate of task power consumption. During the expected host idle period, high-risk scenarios that may lead to power consumption conflicts are identified by judging whether the host power consumption is below a threshold and whether the background task trigger probability is above a threshold. In the event of a conflict, the power consumption of the background task for the corresponding idle duration is directly retrieved from the task power consumption table as the comprehensive power consumption prediction value. In the event of no conflict, the host power consumption is used as the comprehensive power consumption prediction value. This method achieves early warning of power consumption conflict risk through host power consumption thresholds and task probability thresholds, and uses historical data to empirically estimate the power consumption of background tasks, simplifying the decision-making process in power consumption conflict scenarios and minimizing or avoiding unpredictable power consumption spikes. At the same time, directly using the host power consumption as the prediction value in the event of no conflict reduces computational overhead and allows for moderately aggressive estimation when the background task trigger probability is low, thus leveraging the energy-saving potential of solid-state drives.

[0018] Optionally, the state transition overhead includes state transition power consumption overhead and state transition latency overhead. The step of determining the optimal target power consumption state from multiple available power consumption states of the solid-state drive (SSD) based on the comprehensive predicted power consumption value and the state transition overhead from the current power consumption state to the target power consumption state specifically includes: determining multiple candidate power consumption states based on the power consumption characteristics of the SSD, each candidate power consumption state corresponding to a power consumption range; obtaining the current power consumption state of the SSD; selecting one or more potential target power consumption states from the multiple candidate power consumption states whose corresponding power consumption range contains the comprehensive predicted power consumption value; for each potential target power consumption state, obtaining the state transition power consumption overhead and state transition latency overhead from the current power consumption state to the potential target power consumption state, and combining this with a preset evaluation formula to obtain the comprehensive benefit value corresponding to each potential target power consumption state; and selecting the potential target power consumption state with the maximum comprehensive benefit value as the optimal target power consumption state.

[0019] By adopting the above technical solution, multiple candidate power consumption states are first determined based on the power consumption characteristic curve of the solid-state drive, with each candidate state corresponding to a power consumption range. During decision-making, potential target states within the range of the comprehensive power consumption prediction value are first screened. Then, the latency and power consumption overhead of switching from the current state to these potential states are evaluated separately. Finally, a comprehensive score is calculated by combining energy-saving benefits and overhead factors, and the state with the largest comprehensive benefit is selected as the final optimal state. This decision-making method incorporates the spatiotemporal cost of state transitions into the objective function of state decision-making, actively balancing energy saving and performance, avoiding the introduction of additional overhead due to blindly pursuing energy saving, which could lead to counterproductive results. Simultaneously, this method defines the range of candidate states, reduces the search space, and improves decision-making efficiency. When balancing the latency and power consumption overhead of state transitions, a weighted scoring mechanism is adopted, which can flexibly adjust the relative importance of latency and power consumption, enhancing the adaptability of the decision.

[0020] In a second aspect, embodiments of this application provide a power prediction and management system based on a solid-state drive (SSD). The SSD-based power prediction and management system includes: one or more processors and a memory; the memory is coupled to the one or more processors, and the memory is used to store computer program code, the computer program code including computer instructions, and the one or more processors call the computer instructions to cause the SSD-based power prediction and management system to perform the methods described in the first aspect and any possible implementation thereof.

[0021] Thirdly, embodiments of this application provide a computer-readable storage medium including instructions that, when executed on a solid-state drive-based power prediction and management system, cause the solid-state drive-based power prediction and management system to perform the method described in the first aspect and any possible implementation thereof.

[0022] Fourthly, embodiments of this application provide a computer program product containing instructions that, when the computer program product is run on a solid-state drive-based power prediction and management system, cause the solid-state drive-based power prediction and management system to perform the method described in the first aspect and any possible implementation thereof.

[0023] In summary, one or more technical solutions provided in this application have at least the following technical effects or advantages:

[0024] By integrating host-side load prediction, background task triggering probability model and dynamic power consumption state switching, this design solves the problems of delayed response, inconsistent internal and external states and high power consumption conflicts in traditional power management methods. It improves the accuracy of power consumption prediction, reduces the total power consumption of solid-state drives, reduces state switching overhead and latency jitter, thereby achieving synergistic optimization of solid-state drive performance and energy consumption and improving the stability of solid-state drives. Attached Figure Description

[0025] Figure 1 This is a flowchart illustrating the power consumption prediction and management method based on solid-state drives disclosed in an embodiment of this application;

[0026] Figure 2 This is another flowchart illustrating the power consumption prediction and management method based on solid-state drives disclosed in the embodiments of this application;

[0027] Figure 3 This is a schematic diagram of the power consumption prediction and management system based on solid-state drives provided in the embodiments of this application.

[0028] Explanation of reference numerals in the attached drawings: 301, Central Processing Unit; 302, Read-Only Memory; 303, Random Access Memory; 304, Bus; 305, Input / Output Interface; 306, Input Section; 307, Output Section; 308, Storage Section; 309, Communication Section; 310, Driver; 311, Removable Media. Detailed Implementation

[0029] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.

[0030] In the description of the embodiments of this application, the words "for example" or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design that is described as "for example" or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design options. Rather, the use of the words "for example" or "for instance" is intended to present the relevant concepts in a specific manner.

[0031] In the description of the embodiments of this application, the term "multiple" means two or more. For example, multiple systems means two or more systems, and multiple screen terminals means two or more screen terminals. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, a feature defined with "first" or "second" may explicitly or implicitly include one or more of that feature. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.

[0032] This application provides a power consumption prediction and management method based on solid-state drives, referring to... Figure 1 , Figure 1 This is a flowchart illustrating a method provided in an embodiment of this application. The method is applied to a system, which is a control terminal within a solid-state drive (SSD). The system can execute a power consumption prediction and management program based on the SSD. The method includes steps S101 to S107, as follows:

[0033] Step S101: Collect the I / O instruction stream received by the solid-state drive from the host, and based on the timing characteristics and type distribution of the I / O instruction stream, predict the host workload intensity within the first preset time window according to the time series to obtain the expected host workload curve.

[0034] In step S101, the host-side I / O instruction stream refers to the sequence of read and write operation instructions sent from the host system (e.g., the central processing unit CPU of a computer) to the solid-state drive. Each instruction contains information such as the operation type, target address, and data length. The timing characteristics are used to represent the statistical characteristics of the instruction stream in the time dimension, such as the time distribution of instruction arrival intervals, periodicity, and burstiness. The type distribution refers to the proportion of different types of I / O instructions within a certain period of time, such as the ratio of read instructions to write instructions, and the ratio of sequential access to random access. The host workload intensity is an indicator that quantifies the level of host access to the solid-state drive, which can be represented by the number of I / O operations per unit time (IOPS) or the data transfer rate (MB / s). The expected host workload curve refers to a predictive graph generated by the model that can show the continuous change of host workload intensity over time in the future.

[0035] Specifically, the system first captures and collects every I / O instruction sent from the host to the solid-state drive in real time through the interface controller. Then, the system parses the collected raw instruction stream to extract key information, including the precise timestamp of each instruction, the instruction type (e.g., read or write, sequential or random), and the requested data length. For time-series analysis, the system transforms these discrete instruction events into time-series data with equal intervals, for example, dividing it into 100-millisecond units, and counting the total number of I / O operations or the total data volume within each time unit, thus forming a load intensity time series. Next, the system uses statistical methods such as autocorrelation analysis to identify hidden periodic patterns in this time series, and combines signal processing techniques such as short-time Fourier transform to extract its frequency domain features at different time scales. The system uses these time-series features, along with other statistically derived instruction type distribution features (e.g., the proportion of read and write requests), as input to construct and train a multi-scale autoregressive prediction model. Finally, the system uses this trained model to iteratively predict the load intensity within a first preset time window (e.g., the next 5 seconds), generating a series of discrete prediction data points. These data points are then connected using an interpolation smoothing algorithm to obtain a continuous expected host workload curve that accurately describes the future load dynamics.

[0036] In one possible implementation, based on the timing characteristics and type distribution of the I / O instruction stream, the host workload intensity within a first preset time window is predicted according to a time series to obtain the expected host workload curve. Specifically, this includes steps S1011-S1018, as follows:

[0037] Step S1011: Parse the I / O instruction stream and extract the timestamp, instruction type, and data length of each I / O instruction.

[0038] In step S1011, the timestamp refers to the time stamp that is precisely recorded for each I / O instruction, indicating the time when it arrives at the solid-state drive controller; the instruction type is used to indicate the specific operation purpose of the instruction, such as whether it is reading data or writing data; the data length refers to the amount of data requested by the instruction, usually in bytes or sectors.

[0039] Specifically, the system uses its built-in monitoring module to capture all incoming I / O command streams in real time at the solid-state drive interface level. For each captured raw command packet, the system invokes a parser. This parser identifies the various fields in the command packet based on standard interface protocols, such as NVMe or SATA. The system first reads the opcode field in the command header and maps it to a predefined command type, such as a read request or write request. Next, the system extracts the starting logical block address and the number of logical blocks to be operated on from the command, and calculates the total data length involved in the command by multiplying the number of logical blocks by the size of each logical block. Simultaneously, at the moment the command is received by the controller, the system reads the current value of the high-precision hardware clock and records this value as the timestamp of the command. Finally, the system generates a structured record for each I / O command containing three core elements: timestamp, command type, and data length.

[0040] Step S1012: Based on the timestamp, the I / O instruction stream is discretized into time series data with equal intervals. Each time interval of the time series data corresponds to a load intensity data point, forming a load intensity time series.

[0041] In step S1012, discretization refers to the process of converting irregularly occurring events over continuous time into sampling at fixed time points; equally spaced time series data refers to a numerical sequence in which each value represents a measure of a certain index within a fixed duration (i.e., time interval), and the time points in the sequence are uniformly distributed; load intensity data points are individual values ​​in the sequence, such as the total number of I / O operations occurring in one second; load intensity time series refers to a complete sequence composed of these data points arranged in chronological order, which reflects the change of workload over time.

[0042] Specifically, the system first sets a standard time interval unit, such as 100 milliseconds. Then, the system creates a timeline and divides it into continuous, non-overlapping time windows according to this 100-millisecond interval. The system iterates through all the structured instruction records extracted in step S1011. For each instruction record, the system checks its timestamp to determine which 100-millisecond time window it belongs to. The system sets a counter for each time window to accumulate the total number of I / O operations occurring within that window, or to accumulate the total data length of all operations, as a measure of load intensity. After processing all instructions for a historical period, each time window will have a corresponding load intensity count value. The system arranges these count values ​​according to the chronological order of the time windows to form a load intensity time series. For example, the series might be 50, 52, 150, 155, 48… where each number represents the IOPS value within the corresponding 100 milliseconds.

[0043] Step S1013: Perform autocorrelation analysis on the load intensity time series and determine the periodicity characteristics of the load intensity time series based on the autocorrelation coefficient.

[0044] In step S1013, autocorrelation analysis is a statistical method used to measure the similarity between a time series and itself at different time delays (or lags); the autocorrelation coefficient is the quantitative result of this analysis, with a value ranging from negative 1 to positive 1, representing the strength of the linear correlation between the series and itself at a specific delay; periodicity refers to the patterns or regularities that exist in the time series and repeat at fixed time intervals.

[0045] Specifically, the system applies an autocorrelation function to the load intensity time series generated in step S1012. This calculation process generates a series of autocorrelation coefficient values, each corresponding to a time delay, such as a delay of 1 time interval, 2 time intervals, up to a preset maximum delay. The system analyzes these autocorrelation coefficients, looking for significantly positive peaks at non-zero delay locations. For example, if the system finds a peak in the autocorrelation coefficient at a delay of 1000 time intervals, and similar peaks are observed at delays of 2000 and 3000 time intervals, this indicates that the load intensity time series has a period of 1000 time intervals. The system records this period length, 1000, as a key periodic feature relied upon for subsequent model construction.

[0046] Step S1014: Extract multi-scale frequency domain features of the load intensity time series using short-time Fourier transform.

[0047] In step S1014, Short Time Fourier Transform (STFT) is a signal processing technique that analyzes how the frequency components of a signal evolve over time by segmenting and windowing a time series. Multi-scale frequency domain features refer to the frequency composition information that can be extracted by using STFT with analysis windows of different sizes to describe the load at different time scales (e.g., whether it is a short-term burst of high-frequency fluctuations or a long-term low-frequency trend).

[0048] Specifically, the system uses the load intensity time series as the input signal. To achieve multi-scale analysis, the system defines a set of analysis windows of different lengths, such as a short window (containing 32 data points) and a long window (containing 256 data points). The system first uses the short window, starting from the beginning of the time series, to perform a Fourier transform on the data within the window, obtaining the frequency distribution over that short time interval. Then, the system slides the window forward a small step, repeating this process until the entire time series has been traversed. This yields the "high-frequency" characteristics of the load changing over time. Next, the system uses the long window to repeat the entire process to capture the slower-changing "low-frequency" trends in the load. Finally, the system extracts key frequency domain features from these transform results, such as the energy spectral density and dominant frequency at each time point, forming a set of multi-scale frequency domain feature vectors that comprehensively describe the dynamic behavior of the load.

[0049] Step S1015: Combining periodicity and multi-scale frequency domain features, construct a multi-scale autoregressive prediction model for the load intensity time series.

[0050] In step S1015, the multi-scale autoregressive prediction model is an advanced time series prediction model. "Autoregressive" means that the model uses past values ​​of the sequence to predict future values, and "multi-scale" indicates that the model not only considers the historical values ​​of the sequence itself but also integrates external features extracted from different time scales, such as the periodic features and frequency domain features extracted here, to improve prediction accuracy.

[0051] Specifically, the system selects a basic autoregressive model framework, such as the ARIMA model, which is an autoregressive integrated moving average model. Then, the system extends this basic framework to incorporate features extracted in previous steps. The system uses the periodic feature P determined in step S1013 to construct the periodic part of the model, forming the SARIMA model, enabling the model to actively learn and predict this periodic behavior. Simultaneously, the system adds the multi-scale frequency domain features extracted in step S1014 as additional explanatory variables to the model equations. For example, if a frequency domain feature represents the intensity of high-frequency fluctuations, then the level of this feature value can help the model better predict the suddenness and instability of future loads. The system uses a large amount of historical load intensity time series data and corresponding feature data to train this complex model, and estimates the optimal values ​​of all parameters in the model through an optimization algorithm, thereby completing the construction of the multi-scale autoregressive prediction model.

[0052] Step S1016: Statistically analyze the type distribution of I / O instructions within each time interval to obtain instruction type distribution characteristics. The instruction type distribution characteristics include the proportion of read requests, the proportion of write requests, the proportion of sequential requests, and the proportion of random requests.

[0053] In step S1016, the instruction type distribution characteristic refers to the relative proportion of various types of I / O instructions within a given time unit; the read request proportion represents the percentage of read operations in the total number of operations; the write request proportion represents the percentage of write operations in the total number of operations; the sequential request proportion represents the percentage of logically contiguous access requests in the total number of requests; and the random request proportion represents the percentage of logically non-contiguous access requests in the total number of requests.

[0054] Specifically, the system again utilizes the structured instruction record parsed in step S1011. Similar to step S1012, the system also categorizes instructions according to equally spaced time windows (e.g., 100 milliseconds). However, within each time window, the system not only counts the total number of I / O operations but also performs more detailed classification counting. The system counts the number of read requests and the number of write requests separately. Simultaneously, by comparing the logical block addresses of two consecutive instructions, the system can determine whether they are sequential or random accesses and count them accordingly. After the statistics for a time window are completed, the system divides the count value for each category by the total number of I / O operations within that window to calculate the proportion of read requests, write requests, sequential requests, and random requests. The system performs this operation for every time interval in the historical data, thereby generating a corresponding time series for each distribution characteristic.

[0055] Step S1017: Using the distribution characteristics of instruction type as covariates, introduce a multi-scale autoregressive prediction model to iteratively predict the target load intensity time series within the first preset time window.

[0056] In step S1017, covariates, also known as external regression variables, refer to other input variables in the prediction model that, besides the historical values ​​of the predicted variable itself, help improve the prediction accuracy. Iterative prediction is a multi-step prediction method, which first predicts the value at the next time point, then uses this predicted value as known information to predict the value at the time point after that, and so on. The target load intensity time series refers to a series of discrete numerical points generated by the model prediction that represent the changes in load intensity within the first preset time window in the future.

[0057] Specifically, the system introduces the time series of the four instruction type distribution characteristics generated in step S1016 as covariates into the multi-scale autoregressive prediction model constructed in step S1015. This model can be called an ARIMAX or SARIMAX model, where "X" represents the external covariate. During prediction, the system first estimates the future covariates, typically assuming they remain constant in the short term or using a simple model. Then, the system initiates an iterative prediction process. To predict the load intensity at the first future time point (t+1), the system inputs historical load intensity data, historical covariate data, and the estimated covariate value at time t+1 into the model. After obtaining the predicted value at t+1, the system treats it as actual data and uses it to predict the load intensity at time t+2, while simultaneously inputting the estimated covariate value at time t+2. The system repeats this iterative process until it generates predicted values ​​covering all time points within the entire first preset time window (e.g., the next 5 seconds). This series of chronologically ordered predicted values ​​constitutes the target load intensity time series.

[0058] Step S1018: Through interpolation smoothing, the target load intensity time series is mapped onto a continuous time axis to generate the expected host workload curve.

[0059] In step S1018, interpolation smoothing is a data processing technique used to transform a set of discrete data points into a continuous and smooth curve. "Interpolation" ensures that the curve passes through the original data points, while "smoothing" removes noise and minor jitter that may exist in the data. The expected host workload curve is the final generated graphical representation that can intuitively show the continuous changing trend of the future host workload intensity.

[0060] Specifically, the system acquires the discrete target load intensity time series generated in step S1017. While this set of data points reflects the trend, it may contain irregular jumps and lack smoothness. To obtain a continuous curve, the system employs a mathematical method called cubic spline interpolation. This method constructs a smooth cubic polynomial function between every two adjacent predicted data points, ensuring that the first and second derivatives of the curve are continuous at the connection points, thus guaranteeing the smoothness of the entire curve. The system sequentially connects all predicted points using this interpolation algorithm, ultimately generating a single, continuous mathematical function. The graphical representation of this function within the first preset time window is the final expected host workload curve. This curve not only passes through all predicted points but also has a smooth shape, clearly showing the overall trend of future load increases, decreases, or stabilization.

[0061] Step S102: Determine the expected idle time period of the host based on the expected host workload curve.

[0062] In step S102, the expected host workload curve is a time function graph generated in the previous step that predicts future host access pressure; the expected host idle period refers to one or more time intervals with extremely low host I / O activity that will occur in the future, as identified based on the prediction curve.

[0063] Specifically, the system analyzes the expected host workload curve generated in step S101. The system internally sets a threshold for workload intensity, which defines the boundary of the idle state. For example, any workload intensity below 50 IOPS is considered idle. The system scans the entire expected host workload curve from beginning to end, detecting consecutive time periods where the load intensity value on the curve is below this preset threshold. When the system finds a continuous time interval in which the predicted load intensity values ​​at all points remain below the threshold, the system marks and records this time interval as one or more finally determined expected host idle periods.

[0064] Step S103: Based on the expected host idle time period and the preset performance power consumption correspondence, calculate the expected host power consumption value driven by external requests during the expected host idle time period.

[0065] In step S103, the preset performance-power consumption correspondence refers to a pre-established data set or model that records in detail the mapping relationship between the key performance indicators (such as read and write speeds) and the corresponding power consumption levels of the solid-state drive under different performance configurations (such as controller frequency and number of flash channels) and workloads; the expected host power consumption value refers to the theoretical cumulative power consumption value calculated based on the above correspondence, which is caused by only a very small number of external requests issued by the host during the predicted host idle period.

[0066] Specifically, this step requires a preparation phase. In this phase, a comprehensive benchmark test of the solid-state drive (SSD) is conducted to establish a pre-defined performance-power consumption relationship. The test combines different performance configuration parameters, such as the controller core frequency, DRAM memory frequency, and the number of enabled Flash channels. Under each configuration, different data block sizes and queue depths are applied to read / write loads, while the SSD's power consumption is precisely measured, ultimately forming a detailed lookup table or mathematical model. During actual operation, based on the expected host idle period determined in step S102, the system can infer that the workload driven by external requests is extremely low. Using this extremely low workload condition, the system queries or calculates within the pre-defined performance-power consumption relationship to match the most energy-efficient performance configuration and its corresponding instantaneous power consumption level under this load. The system iterates through each time point within the expected host idle period, calculates the predicted instantaneous power consumption value for each point, and then integrates all the predicted instantaneous power consumption values ​​over the entire period to obtain a cumulative power consumption prediction value, which is the expected host power consumption value driven by external requests.

[0067] In one possible implementation, the expected host power consumption value driven by external requests during the expected host idle period is calculated based on the correspondence between the expected host idle period and the preset performance power consumption. Specifically, this includes steps S1031-S1036, as follows:

[0068] Step S1031: Design multiple sets of performance configuration parameters, each set of performance configuration parameters including main control frequency, memory frequency and Flash channel number.

[0069] In step S1031, the performance configuration parameters refer to a set of hardware operating parameters that can be dynamically adjusted by software and directly affect the performance and power consumption of the solid-state drive (SSD); the main control frequency represents the operating clock speed of the central processing unit inside the SSD, which determines the speed of instruction processing and data management; the memory frequency refers to the operating clock speed of the cache DRAM on the SSD, which affects the efficiency of data transfer and lookup table access; and the number of flash channels represents the number of data paths currently active in the SSD controller for parallel communication with the NAND flash memory chips.

[0070] Specifically, during the design phase, the system predefines a series of discrete, selectable performance configuration combinations. For each key parameter—main controller frequency, memory frequency, and number of Flash channels—the system sets several different operating levels. For example, the main controller frequency can be set to 400 MHz, 600 MHz, and 800 MHz; the memory frequency can be set to 1600 MHz and 2133 MHz; and the number of active Flash channels can be set to 2, 4, and 8 channels. Subsequently, the system arranges and combines these levels to generate a detailed set of performance configuration parameters. For example, one set could be "main controller frequency 400 MHz, memory frequency 1600 MHz, 4 Flash channels," and another could be "main controller frequency 800 MHz, memory frequency 2133 MHz, 8 Flash channels." This set covers various operating modes, from low performance and low power consumption to high performance and high power consumption.

[0071] Step S1032: For each set of performance configuration parameters, test the key performance indicators of the solid-state drive under different data block sizes and queue depths, and record the power consumption levels corresponding to the key performance indicators to obtain the preset performance-power consumption correspondence. The key performance indicators include sequential read, sequential write, random read, and random write.

[0072] In step S1032, the data block size refers to the amount of data read or written in a single I / O operation, such as 4KB or 128KB; the queue depth indicates how many I / O instructions the host sends to the solid-state drive at one time for processing; the key performance indicators refer to the core data that measures the solid-state drive's performance under a specific workload, usually measured in IOPS or MB / s; the power consumption level refers to the electrical energy consumed by the solid-state drive per unit time under a specific performance configuration and workload, usually measured in watts (W); the preset performance-power consumption correspondence refers to a pre-established database or lookup table that associates performance configuration, load type, performance, and power consumption level.

[0073] Specifically, in a controlled test environment, the system performs comprehensive benchmark tests on each set of performance configuration parameters designed in step S1031. For any given configuration, such as "main controller frequency 600 MHz, memory frequency 1600 MHz, 4 Flash channels," the system uses a professional I / O load generation tool to simulate different working scenarios. The system first performs a pure sequential read test with a 4KB data block size and a queue depth of 1, recording the IOPS and stable power consumption values ​​using a high-precision power analyzer. Next, keeping the data block size constant, the system increases the queue depth to 32, tests again, and records the results. Then, the system sequentially switches to sequential write, random read, and random write modes, repeating the above testing and recording process for different combinations of data block sizes and queue depths. Once this set of performance configuration parameters has been tested under all preset load conditions, the system switches to the next set of performance configuration parameters and repeats the entire process. Finally, the system organizes all test results, namely the performance index values ​​and power consumption levels corresponding to each combination of "performance configuration parameters, data block size, queue depth, and read / write type", into a preset performance-power consumption correspondence.

[0074] Step S1033: Detect the load status of the host request queue, and match the performance configuration and the corresponding target power consumption level under the current load condition in the preset performance-power consumption correspondence relationship according to the load status.

[0075] In step S1033, the load status of the host request queue refers to the comprehensive characteristics of the I / O requests that the solid-state drive controller receives and is waiting to be processed at the current moment, which reflects the immediate workload; matching means finding the most suitable entry in a data set based on one or more query conditions; the target power consumption level refers to the optimal power consumption value that meets the performance requirements, which is found from the preset performance-power consumption correspondence based on the current load status.

[0076] Specifically, the system monitors the host I / O request queue in real time through its firmware. At any given moment, the system analyzes the requests in the queue and extracts key load status information. For example, if the current queue depth is 8 and the majority of requests in the queue are random read requests with a data block size of 4KB, the system uses this real-time load status, i.e., "queue depth 8, 4KB random read," as a query condition. Then, the system searches the preset performance-power consumption correspondence table established in step S1032. The system searches for all entries related to "4KB random read" and compares the performance metrics achievable with a queue depth of 8 under different performance configurations. The system's matching principle is to find a performance configuration that provides sufficient performance—that is, whose tested IOPS value is greater than or equal to the performance required by the current load—while also having the lowest power consumption level among all options that meet the conditions. The power consumption level corresponding to this configuration is determined as the target power consumption level under the current load conditions.

[0077] Step S1034: Use the target power consumption level as the instantaneous power consumption prediction value under the current load conditions.

[0078] In step S1034, the instantaneous power consumption prediction value refers to an estimate of the power that the solid-state drive will consume within a very short time slice in the future. It represents a power consumption snapshot at that specific moment.

[0079] Specifically, this step is an assignment operation with very straightforward logic. The system directly uses the target power consumption level value obtained after querying and matching in step S1033 as the prediction result of the instantaneous power consumption at the current point in time. For example, if in step S1033, the power consumption corresponding to the optimal performance configuration matched by the system based on the current load state is 2.5 watts, then the system marks this value of 2.5 watts as the predicted instantaneous power consumption value under the current load condition. This value reflects the instantaneous power cost that the solid-state drive needs to pay in order to efficiently process the requests in the current queue.

[0080] Step S1035: Iterate through each sampling time point within the expected host idle period and calculate the instantaneous power consumption prediction value for each sampling time point.

[0081] In step S1035, the expected host idle period refers to the time window predicted in the previous steps in which the host will not have high-intensity I / O tasks, but may have a small number of background or external requests; the sampling time point refers to a number of uniformly distributed and representative time points into which the continuous expected host idle period is divided for discretization calculation.

[0082] Specifically, the system first obtains the known expected host idle period, for example, predicting that the idle period is from the 10th second to the 70th second from now. The system also needs a prediction of the external request load that may exist during this idle period. This prediction may be a very low, approximately constant IOPS value, such as 50 IOPS of 4KB random read requests with a queue depth of 1. The system divides this 60-second idle period into 600 sampling time points at a fixed time interval, such as 100 milliseconds. Then, the system initiates a traversal calculation process. For the first sampling time point, i.e., the 10.1st second, the system uses the predicted load state at that moment, i.e., "50 IOPS, 4KB random read, queue depth 1", as input and repeatedly executes the logic of steps S1033 and S1034, i.e., matching and obtaining an instantaneous power consumption prediction value in the preset performance-power consumption correspondence. Next, the system processes the second sampling time point, i.e., the 10.2nd second, and calculates its instantaneous power consumption prediction value again. This process continues until all 600 sampling time points during the expected host idle period have been calculated and associated with a corresponding instantaneous power consumption prediction.

[0083] Step S1036: Integrate the instantaneous power consumption prediction value during the expected host idle period to obtain the cumulative power consumption prediction value driven by external requests, which is used as the expected host power consumption value.

[0084] In step S1036, integration here specifically refers to a discrete summation process, that is, calculating a total by multiplying a series of instantaneous values ​​by the small time intervals they represent and summing them up; the cumulative power consumption prediction value refers to the total electrical energy that the solid-state drive is expected to consume in order to process all external requests during the entire expected host idle period, and its unit is usually joules or watt-hours; the expected host power consumption value is the final name of this cumulative power consumption prediction value, which represents the total energy cost of staying awake during the idle period to serve requests.

[0085] Specifically, the system collects all instantaneous power consumption predictions calculated at each sampling time point within the expected host idle period in step S1035. The system knows the sampling time interval, for example, 100 milliseconds, or 0.1 seconds. The system calculates the electrical energy consumed (in joules) within that small time period by multiplying the instantaneous power consumption prediction value (in watts) at each sampling time point by this time interval (in seconds). For example, if the instantaneous power consumption prediction value at a certain time point is 1.5 watts, then the electrical energy consumed in these 100 milliseconds is 1.5 watts multiplied by 0.1 seconds, which equals 0.15 joules. The system performs this calculation for all sampling time points within the expected host idle period and then sums all the obtained electrical energy values. This final sum is the prediction of the total power consumption driven by external requests during the entire idle period, and the system names this result the expected host power consumption value.

[0086] Step S104: Obtain historical operation log data of the solid-state drive and extract the internal status parameters of the solid-state drive based on the historical operation log data.

[0087] In step S104, the historical operation log data represents the internal data about the solid-state drive's status and operation history that the firmware automatically records during long-term operation, such as the number of erase / write cycles of flash memory blocks, the number of bad blocks, and temperature records; the internal status parameters refer to the key indicators extracted from this massive log data that can directly reflect the current health status and workload of the solid-state drive.

[0088] Specifically, the system accesses and reads historical operation log data stored in the non-volatile storage area of ​​the solid-state drive (SSD) through specific firmware interfaces or commands. This data is typically raw, unprocessed records. The system parses and calculates this raw data to extract several predefined key internal state parameters. For example, the system counts the number of valid and invalid data pages within each block of flash memory, calculating the ratio of valid to invalid pages in the flash memory block—a crucial factor for triggering garbage collection. Simultaneously, the system queries the remaining available space of the SSD, particularly the reserved space for writing new data, to obtain the remaining available space parameter. Furthermore, the system calculates the write amplification factor based on the ratio of host data writes to actual flash memory data writes; this factor reflects the overhead of internal data transfer. Finally, the system outputs a set of quantitative parameter values ​​that accurately describe the current internal state of the SSD.

[0089] Step S105: Based on internal state parameters and expected host idle time periods, establish a background task trigger probability model, and calculate the trigger probability of the solid-state drive starting a high-power background task within the first preset time window according to the background task trigger probability model.

[0090] In step S105, a high-power background task refers to an internal operation that the solid-state drive (SSD) performs autonomously to maintain its performance and lifespan. These operations do not directly respond to host commands but consume a large amount of power. The background task trigger probability model is a mathematical model trained based on historical data, used to predict the probability that the SSD will start the aforementioned high-power background task under given internal state and idle time conditions. The trigger probability is a value output by the model, ranging from 0 to 1, representing the likelihood of the high-power background task occurring within a specified time window.

[0091] Specifically, the system first needs to build a background task triggering probability model offline. This construction process is based on a large amount of historical runtime log data, statistically analyzing the frequency with which the SSD actually launches high-power background tasks under various combinations of internal state parameters (e.g., when "remaining available space" is less than 5% and "invalid page ratio" is higher than 60%). Based on this statistical data, the system can build a logistic regression model that uses internal state parameters as input variables to predict whether a background task will be triggered. During online operation, the system provides the current real-time internal state parameters obtained in step S104 and the expected duration of the host idle period determined in step S102 as input to the already built background task triggering probability model. The model calculates and outputs a specific probability value, which is the probability that the SSD will launch a high-power background task within the upcoming first preset time window.

[0092] like Figure 2 As shown, in one possible implementation, a background task triggering probability model is established based on internal state parameters and expected host idle time periods. The triggering probability of the solid-state drive starting a high-power background task within a first preset time window is calculated according to the background task triggering probability model. Specifically, this includes steps S201-S208, as follows:

[0093] Step S201: Extract internal status parameters from historical operation logs and quantize and group the internal status parameters to obtain multiple parameter level combinations. The internal status parameters include the ratio of valid pages to invalid pages in the flash memory block, the remaining available space, and the write amplification factor.

[0094] In step S201, the historical operation log refers to the time-series data automatically recorded by the solid-state drive (SSD) during long-term operation, containing its internal state and operation events; the internal state parameters represent key indicators that reflect the health status, wear level, and internal data organization status of the SSD; the ratio of valid pages to invalid pages in the flash memory block is used to represent the degree of fragmentation of the flash memory space, where valid pages store the current version of data, while invalid pages store old data that has been updated or deleted. The lower this ratio, the higher the probability of needing garbage collection; the remaining available space refers to the physical space in the SSD that has not yet been allocated for storing user data. Insufficient space will trigger background tasks such as wear leveling and data defragmentation; the write amplification factor (WAF) represents the ratio of the amount of data actually written to the flash memory inside the SSD to the amount of data requested to be written by the host. A higher WAF means low write efficiency, which usually requires background tasks to optimize; the parameter level combination refers to the specific combination of state intervals formed by discretizing continuous internal state parameter values. For example, "remaining available space is at a low level" and "write amplification factor is at a high level" is a parameter level combination.

[0095] Specifically, the system first accesses its internally stored log files, which contain a large amount of historical operational data. From these logs, the system periodically extracts time-series values ​​of three internal status parameters closely related to the triggering of background tasks: the ratio of valid to invalid pages in the flash memory block, the remaining available space, and the write amplification factor. Next, the system quantifies and groups the value range of each parameter. For example, the system can divide the remaining available space into three levels: "High" (greater than 50%), "Medium" (10% to 50%), and "Low" (less than 10%). Similarly, the write amplification factor and the ratio of valid to invalid pages are also divided into similar levels. After the division, the system arranges and combines these levels to obtain a comprehensive set of parameter level combinations. For example, a specific combination could be "medium ratio of valid to invalid pages, low remaining available space, and high write amplification factor."

[0096] Step S202: Statistically analyze the historical frequency of high-power background tasks launched by the solid-state drive under each parameter combination to obtain the empirical conditional probability corresponding to different parameter combinations.

[0097] In step S202, high-power background tasks refer to operations that the solid-state drive automatically executes when idle to maintain its own health and performance but consume a lot of power, such as garbage collection (GC) and wear leveling (WL); historical frequency refers to the number of times a specific event occurs in historical data; empirical conditional probability refers to the probability of another event occurring when a certain condition is met, which is statistically derived from past observation data. It is a direct frequency estimate that has not been corrected by a theoretical model.

[0098] Specifically, the system iterates through the historical log data extracted and quantified in step S201. For each defined parameter combination, such as "low space, high WAF," the system performs two statistical operations. First, it counts the total number of times this combination has appeared in the historical data, denoted as N. Second, it counts the number of times a high-power background task was subsequently launched by the SSD in all cases where this combination occurred, denoted as M. Then, the system calculates the empirical conditional probability of triggering a background task under this parameter combination by dividing M by N. The system repeats this process for all parameter combinations, ultimately generating a mapping table that records the historical frequency of background task triggering for each parameter combination, i.e., the empirical conditional probability.

[0099] Step S203: Use preset prior knowledge to perform Bayesian correction on the empirical conditional probability to obtain the conditional probability distribution.

[0100] In step S203, the preset prior knowledge refers to the initial belief about the probability of an event occurring, which is pre-set based on the experience of domain experts or theoretical models before data analysis. For example, it can be preset that a high-power background task is a low-probability event under normal circumstances. Bayesian correction is a statistical method that combines observed data (empirical conditional probability) and prior knowledge to obtain a more robust posterior probability. The conditional probability distribution refers to the complete distribution of the probability of background task triggering under different parameter combinations obtained after Bayesian correction.

[0101] Specifically, the system recognizes that empirical conditional probabilities calculated solely based on historical frequency may be biased, especially for parameter combinations that appear infrequently in historical logs, where the statistical results may be unrepresentative. To address this issue, the system introduces a Bayesian correction method. The system sets a prior distribution, such as a Beta distribution, to describe the prior belief in the probability of background task triggering, and sets its hyperparameters α and β to reflect the prior knowledge that "triggering is a low-probability event." Then, for each parameter combination, the system subtracts M from the number of triggers M and N from the number of non-triggers obtained in step S202, using this as observation data, and applies Bayes' theorem to update the prior distribution. The expected value of the updated posterior probability, for example, (M plus α) divided by (N plus α plus β), serves as the corrected conditional probability. This process effectively smooths the probabilities, avoiding zero or excessively high probabilities caused by data sparsity, ultimately resulting in a more reliable conditional probability distribution.

[0102] Step S204: Based on the conditional probability distribution, construct a logistic regression model of internal state parameters and background task triggering conditions, obtain the regression coefficients of each internal state parameter, and form a background task triggering probability model.

[0103] In step S204, the logistic regression model is a supervised learning model used to predict the probability of an event occurring; the regression coefficient is the core parameter in the logistic regression model, which quantifies the degree and direction of the influence of each input feature, i.e. the internal state parameter, on the final predicted probability; the background task triggering probability model refers to the final constructed mathematical function or algorithm entity that can receive real-time internal state parameters as input and output the high-power background task triggering probability.

[0104] Specifically, the system uses the conditional probability distribution obtained in step S203 as training data to construct a more generalizable logistic regression model. In this process, the system no longer uses discrete parameter levels, but instead uses raw, continuous internal state parameter values ​​as the model's input features. The model's output target is whether a background task is triggered, which is a binary label. The system uses optimization algorithms, such as gradient descent, to find a set of optimal regression coefficients. After training, the system obtains a mathematical formula for the regression coefficients. This formula, along with the regression coefficients, constitutes the background task trigger probability model and is embedded in the firmware of the solid-state drive.

[0105] Step S205: Discretize the expected idle time period of the host on the time axis and divide it into multiple time windows with preset intervals. Each time window is defined as a decision time unit.

[0106] In step S205, a decision time unit refers to a basic time unit used for single state evaluation and probability prediction. The system re-evaluates the decision at the end of each such unit.

[0107] Specifically, the system first obtains a prediction of future host activity, i.e., the expected idle time period for the host, such as predicting that the next 30 minutes will be idle. For more granular management and prediction, the system does not treat these 30 minutes as a single unit, but rather divides them into preset fixed time intervals, such as 5 minutes. In this way, the originally continuous 30-minute period is discretized into six consecutive 5-minute time windows. The system defines each of these 5-minute windows as a decision-making time unit. This division allows the system to perform predictions and decisions step-by-step in a dynamically changing environment.

[0108] Step S206: Within each decision time unit, obtain the internal state parameter values ​​of the solid-state drive.

[0109] In step S206, obtaining the internal status parameter value of the solid-state drive means that the system actively queries and reads its internal registers or data structures at a specific point in time to obtain the precise values ​​of the health and status indicators at the current moment.

[0110] Specifically, driven by a loop or scheduling mechanism, the system sequentially processes each decision time unit divided in step S205. Upon entering the start of the first 5-minute decision time unit, the system immediately performs a snapshot of its internal state. It directly queries the module in the firmware responsible for monitoring the write amplification factor, remaining available space, and flash memory fragmentation to obtain the real-time, accurate values ​​of these parameters at the current moment. For example, the system might read that the current write amplification factor is 2.5 and the remaining available space is 23%. This acquisition process is repeated at the beginning of each decision time unit to ensure that the input data used for prediction is up-to-date.

[0111] Step S207: Input the internal state parameter values ​​into the background task trigger probability model to obtain the probability prediction value of starting a high-power background task under the current internal state.

[0112] In step S207, the input to the background task trigger probability model means that the collected real-time parameter values ​​are substituted into the previously established mathematical formula for calculation; the probability prediction value refers to the likelihood of starting a high-power background task within the decision time unit calculated by the model based on the current input parameters, and it is a value between 0 and 1.

[0113] Specifically, the system uses the internal state parameter values ​​obtained in step S206 for the current decision time unit, such as the amplification factor of 2.5 and the remaining available space of 0.23, as input variables. The system substitutes these values ​​into the logistic regression model formula constructed in step S204. By performing this mathematical calculation, the model outputs a specific probability value. For example, after substituting these parameter values, the model might calculate a result of 0.05. This 0.05 represents a predicted probability of starting a high-power background task within the next 5-minute decision time unit, based on the current state of the solid-state drive.

[0114] Step S208: Combine the probability prediction values ​​within all decision time units to obtain the trigger probability of starting a high-power background task within the first preset time window.

[0115] In step S208, the comprehensive probability prediction values ​​within all decision time units represent the process of merging multiple independent probability values ​​into a total probability value. This process needs to follow the laws of probability theory. The first preset time window usually refers to the entire expected host idle period. The trigger probability refers to the total probability that a high-power background task will be triggered at least once within the entire expected host idle period.

[0116] Specifically, after completing probability predictions for all decision time units, the system obtains a set of probability values. For example, for six 5-minute units, it might obtain six predicted probability values: P1, P2, P3, P4, P5, and P6. The system's goal is to calculate the probability of triggering at least once within the entire 30-minute timeframe. The calculation method is as follows: First, calculate the probability of "not triggering" in each unit, i.e., 1 minus P1, 1 minus P2, and so on. Then, calculate the total probability of "not triggering" in all units, which is equal to the product of all "not triggering" probabilities, i.e., (1 minus P1) multiplied by (1 minus P2)... multiplied by (1 minus P6). Finally, subtract this total probability of "not triggering" from 1 to obtain the final trigger probability of the high-power background task triggering at least once within the entire first preset time window.

[0117] Step S106: Based on the expected host power consumption value and the trigger probability, perform power consumption conflict judgment and generate a comprehensive predicted power consumption value.

[0118] In step S106, the power consumption conflict judgment is a decision-making process used to determine whether the two situations, "the host wants to save power" and "the solid-state drive needs to perform a high-power task", will occur simultaneously, thus causing a conflict. The comprehensive predicted power consumption value is a correction value made to the power consumption prediction after the power consumption conflict judgment. It more realistically reflects the overall power consumption level of the solid-state drive in the next time window.

[0119] Specifically, the system performs a dual-condition judgment. The system presets two thresholds: a preset power consumption threshold and a preset probability threshold. First, the system determines whether the expected host power consumption calculated in step S103 is lower than the preset power consumption threshold (indicating the host is indeed in a deep idle state). Simultaneously, it determines whether the trigger probability calculated in step S105 is higher than the preset probability threshold (indicating a high probability that a background task will be triggered). If both conditions are met, a power consumption conflict is identified. In this case, the system searches a preset background task power consumption table for an average power consumption value of a background task that matches the expected idle period length, and uses this higher power consumption value as the comprehensive predicted power consumption value. Conversely, if the expected host power consumption is not lower than the power consumption threshold (the host itself is not idle), or the trigger probability is not higher than the probability threshold (the SSD is also idle), no power consumption conflict is identified, and the system directly uses the original expected host power consumption value as the comprehensive predicted power consumption value.

[0120] In one possible implementation, a power consumption conflict is determined based on the expected host power consumption value and the trigger probability to generate a comprehensive predicted power consumption value, specifically including steps S1061-S1065, as follows:

[0121] Step S1061: Obtain historical background power consumption data, and calculate the average power consumption of background tasks under different durations based on the historical background power consumption data, and generate a background task power consumption table.

[0122] In step S1061, historical background power consumption data refers to the sequence of real-time power consumption readings recorded by the internal power consumption monitoring unit when the solid-state drive was performing high-power background tasks in the past, such as garbage collection; average power consumption represents the average power consumption of the background task from start to finish within a specific duration, reflecting the typical power consumption level of the task during that duration; background task power consumption table is a pre-calculated and stored lookup table that establishes the mapping relationship between different execution durations of background tasks and their corresponding average power consumption values.

[0123] Specifically, the system first accesses its stored historical execution logs and specifically filters out power consumption data related to high-power background tasks. For each historical background task instance, the system records its start time, end time, and continuous power consumption readings during this period. The system calculates the duration of the task by subtracting the start time from the end time and calculates the arithmetic mean of all power consumption readings during this period to obtain the average power consumption of the task. Next, the system groups all historical task instances according to their duration; for example, tasks with a duration of 0 to 10 minutes are grouped together, and those with a duration of 10 to 20 minutes are grouped together. For each duration group, the system calculates a re-average of the average power consumption values ​​of all task instances within the group. Finally, the system compiles these duration groups and their corresponding final average power consumption values ​​into a table, namely the background task power consumption table, for quick subsequent lookup.

[0124] Step S1062: Obtain the expected duration of the host idle period, and find the corresponding background task power consumption value in the background task power consumption table based on the duration.

[0125] In step S1062, the expected duration of the host idle period refers to the length of time that the host is expected to maintain without high-intensity input / output operations, provided by the upper-layer prediction module; the background task power consumption value refers to the estimated background task power consumption reference value obtained from the background task power consumption table based on the specific idle duration.

[0126] Specifically, the system obtains the expected duration of the host's idle period, for example, 25 minutes. Using this duration as a query index, the system searches the background task power consumption table generated in step S1061. The system looks for duration groups containing this duration; for example, if the power consumption table has a "20 to 30 minutes" category, the system will locate that row. Then, the system reads the corresponding average power consumption value for that row, for example, 5 watts. This found 5-watt power consumption value is determined as the background task power consumption value required for this prediction.

[0127] Step S1063: Determine whether the expected host power consumption value is lower than the preset power consumption threshold, and determine whether the trigger probability is higher than the preset probability threshold.

[0128] In step S1063, the expected host power consumption value refers to the predicted power consumption of the entire host system during the expected host idle period without considering the high power background tasks performed by the solid-state drive; the preset power consumption threshold is a key power consumption dividing line, which represents the critical power consumption value for the host to enter the power saving state from the active state. Below this value, it means that the host is in deep hibernation or low power standby mode.

[0129] Specifically, the system executes two parallel logical judgments. First, the system compares the externally input expected host power consumption value, for example, 0.8 watts, with an internally stored preset power consumption threshold, for example, 1.0 watt, to determine if the expected host power consumption value is less than the preset power consumption threshold. Second, the system compares the background task trigger probability calculated in the previous steps, for example, 70%, with an internally set preset probability threshold, for example, 60%, to determine if the trigger probability is greater than the preset probability threshold. The system records the results of these two judgments, such as "yes" or "no," to provide a basis for the next decision.

[0130] Step S1064: When the expected host power consumption is lower than the preset power consumption threshold and the trigger probability is higher than the preset probability threshold, the background task power consumption is determined as the comprehensive predicted power consumption value.

[0131] In step S1064, the comprehensive predicted power consumption value is the final output of this process, which is the best estimate of the system power consumption during future idle periods after comprehensively considering the host status and the internal behavior of the solid-state drive.

[0132] Specifically, this step is based on the execution path where the result of step S1063 is "true". When the system confirms that the expected host power consumption is lower than the preset power consumption threshold, and the background task trigger probability is also higher than the preset probability threshold, the system determines that there is a "power consumption conflict". The conflict here refers to the fact that the host itself expects to enter an extremely low power saving state, but the solid-state drive is very likely to start a high-power internal task, thereby preventing the host from achieving its power saving goal. In this case, the system considers the power consumption of the background task to be the dominant power consumption during this period. Therefore, the system directly determines the background task power consumption value found in step S1062, such as 5 watts, as the final comprehensive predicted power consumption value and outputs it.

[0133] Step S1065: When the expected host power consumption value is not lower than the preset power consumption threshold, or the trigger probability is not higher than the preset probability threshold, the expected host power consumption value is determined as the comprehensive predicted power consumption value.

[0134] In step S1065, the meaning of the comprehensive predicted power consumption value is the same as in step S1064, and it is the final output of the entire process.

[0135] Specifically, this step follows the execution path based on the "false" result of step S1063. When the system confirms that the expected host power consumption is not lower than a preset power consumption threshold, or the probability of background task triggering is not higher than a preset probability threshold, the system determines that there is no significant "power consumption conflict." This includes two situations: The first situation is that the host itself has relatively high power consumption and there is no expectation of entering a deep power-saving state. In this case, whether the SSD executes a background task has little impact on the overall system power consumption. The second situation is that the probability of the SSD executing a background task is very low and can be ignored. In either case, the system considers the most reasonable prediction to be the expected power consumption of the host itself. Therefore, the system directly determines the input expected host power consumption value, such as 0.8 watts or 2.0 watts, as the final comprehensive predicted power consumption value and outputs it.

[0136] Step S107: Based on the comprehensive predicted power consumption value and combined with the state transition overhead of switching from the current power consumption state to the target power consumption state, determine the optimal target power consumption state among the multiple available power consumption states of the solid-state drive, and instruct the solid-state drive to switch to the optimal target power consumption state.

[0137] In step S107, the available power consumption state refers to the various working modes supported by the solid-state drive hardware. Each mode corresponds to different power consumption levels and performance characteristics, such as the active state running at full speed, the idle state with moderate energy saving, and the hibernation state with deep energy saving. The state transition overhead refers to the extra energy and time consumed when the solid-state drive switches from one power consumption state to another. The optimal target power consumption state is the power consumption state that maximizes overall energy efficiency among all feasible power consumption states after comprehensively considering the energy saving benefits and transition overhead.

[0138] Specifically, the system first obtains the comprehensive predicted power consumption value generated in step S106. Then, the system searches all available power consumption states of the solid-state drive (SSD) and filters out candidate power consumption states whose power consumption range covers or is close to the comprehensive predicted power consumption value. For example, if the comprehensive predicted power consumption value is very low, then hibernation and device sleep states may be candidates. For each candidate power consumption state, the system performs a benefit assessment. The assessment calculates the power saving that can be achieved by switching from the current power consumption state to the candidate state, while subtracting the power consumption overhead of the state transition itself and the energy overhead converted from the performance loss due to state transition latency. This calculation result is a comprehensive benefit value. After calculating the comprehensive benefit value for all candidate power consumption states, the system compares them and selects the state with the largest comprehensive benefit value. This state is the optimal target power consumption state. Finally, the system generates a power management command conforming to its interface specification and sends it to the SSD controller, instructing it to immediately switch to this selected optimal target power consumption state.

[0139] In one possible implementation, the state transition overhead includes state transition power consumption overhead and state transition latency overhead. Based on the comprehensive predicted power consumption value and combined with the state transition overhead of switching from the current power consumption state to the target power consumption state, the optimal target power consumption state is determined among multiple available power consumption states of the solid-state drive. Specifically, this includes steps S1071-S1075, as follows:

[0140] Step S1071: Based on the power consumption characteristics of the solid-state drive, determine multiple candidate power consumption states, each of which corresponds to a power consumption range.

[0141] In step S1071, the power consumption characteristics of the solid-state drive refer to the various operating power consumption levels and related attributes supported by the solid-state drive hardware design and firmware; the power consumption range refers to a power consumption range defined for each power consumption state, used to represent the possible power consumption fluctuation range when the device is working normally in that state. For example, the power consumption range of an "idle" state may be from 1 watt to 3 watts.

[0142] Specifically, the system first accesses a device profile or feature table stored in non-volatile memory. This table is specifically designed for the current SSD model and details all the power states it supports. For each power state, such as "active," "idle," "shallow hibernation," and "deep hibernation," the table explicitly defines a corresponding power consumption range. For example, "active" might correspond to 3 to 8 watts, "idle" to 1 to 3 watts, and "shallow hibernation" to 0.1 to 0.5 watts. The system loads this power state and its power consumption range information into memory, forming a complete list of candidate power states, providing the foundational data for subsequent filtering and decision-making.

[0143] Step S1072: Obtain the current power consumption status of the solid-state drive.

[0144] In step S1072, the current power consumption state of the solid-state drive refers to the specific, defined power consumption state that the solid-state drive is in at the moment this step is executed.

[0145] Specifically, the system proactively obtains the current operating status of the solid-state drive (SSD) by sending a standard query command to the SSD's controller. Upon receiving this command, the SSD's firmware queries its internal status register and returns a value representing the current power consumption state to the system. The system receives this return value, such as an encoding representing an "idle state," and records it as the starting point for calculating state transition overhead.

[0146] Step S1073: From multiple candidate power consumption states, select one or more potential target power consumption states whose corresponding power consumption range contains the comprehensive predicted power consumption value.

[0147] In step S1073, the comprehensive predicted power consumption value refers to the best estimate of the power consumption of the solid-state drive most likely to occur in the future period, calculated by the preceding steps (such as S1061-S1065); the potential target power consumption state refers to the subset of power consumption states selected from all candidate power consumption states whose power consumption range can cover or accommodate the above comprehensive predicted power consumption value.

[0148] Specifically, the system takes the comprehensive predicted power consumption value output from the preceding process, such as 5 watts, as input. Then, the system iterates through all candidate power consumption states determined in step S1071. For each candidate power consumption state, the system checks whether its defined power consumption range includes the predicted value of 5 watts. For example, if the power consumption range of the "active state" is 3 to 8 watts, since 5 watts falls within this range, the system marks the "active state" as a potential target power consumption state. If the power consumption range of the "idle state" is 1 to 3 watts, since 5 watts is not within this range, the state will not be selected. After iterating through and judging all candidate states, the system generates a list of one or more potential target power consumption states, which are reasonable choices from a power consumption matching perspective.

[0149] Step S1074: For each potential target power consumption state, obtain the power consumption overhead and state transition delay overhead of switching from the current power consumption state to the potential target power consumption state, and combine them with the preset evaluation formula to obtain the comprehensive benefit value corresponding to each potential target power consumption state.

[0150] In step S1074, the state transition power consumption overhead refers to the extra energy consumed by the solid-state drive during the process of switching from one power consumption state to another; the state transition latency overhead refers to the time required to complete the above state transition process; the preset evaluation formula is a predefined mathematical expression used to quantitatively evaluate the "goodness" of a state transition, which combines the costs of power consumption overhead and latency overhead into a single score; the comprehensive benefit value is a specific value calculated using the evaluation formula, and the higher the value, the better the overall benefit brought by the state transition, or the lower the comprehensive cost.

[0151] Specifically, the system performs an evaluation calculation for each potential target power consumption state selected in step S1073. For a potential target power consumption state, such as the "active state," the system first looks up data in a preset "state transition overhead matrix." This matrix stores the power consumption overhead and latency overhead required to switch from any power consumption state to another arbitrary power consumption state. Using the current power consumption state obtained in step S1072 as the starting point and the current potential target power consumption state as the ending point, the system finds the corresponding two overhead values. For example, switching from "shallow sleep state" to "active state" requires 10 millijoules of energy and 5 milliseconds of time. Then, the system substitutes these two overhead values ​​into a preset evaluation formula, such as comprehensive benefit value = 1 / (weight A * state transition power consumption overhead + weight B * state transition latency overhead). Here, weight A and weight B are preset coefficients used to balance the importance of power consumption and latency. The system calculates such a comprehensive benefit value for each potential target power consumption state and associates the state with its benefit value.

[0152] Step S1075: Select the potential target power consumption state with the maximum comprehensive benefit value as the optimal target power consumption state.

[0153] In step S1075, the maximum comprehensive benefit value refers to the highest score among all comprehensive benefit values ​​calculated for all potential target power consumption states in step S1074; the optimal target power consumption state is the result of the final decision, which is the power consumption state with the best overall benefit after comprehensively considering the switching cost among all power consumption matching options.

[0154] Specifically, the system performs a simple comparison operation on the list of all potential target power consumption states and their corresponding comprehensive benefit values ​​generated in step S1074. The system iterates through this list to find and determine the largest comprehensive benefit value. Then, the system selects the potential target power consumption state corresponding to this maximum value. This selected power consumption state is determined as the optimal target power consumption state for this decision. This result will be sent as the final instruction to the power management unit of the solid-state drive to execute the corresponding state transition.

[0155] To facilitate understanding, the following example illustrates the technical solution provided in this application. In a data center, the controller of a solid-state drive (SSD) predicts that the host will be under low load for the next 10 minutes by collecting the I / O command stream from the host, and that there will be almost no external I / O requests during this period. Based on the host load prediction, the controller calculates the expected power consumption during the host's idle period to be 1.2W (driven by external requests). Simultaneously, the controller extracts internal status parameters from the SSD's historical operating logs (such as a valid page to invalid page ratio of 20:80, remaining available space of 10%, and a write amplification factor of 3.0), and calculates the garbage collection task trigger probability to be as high as 90% using a background task trigger probability model.

[0156] The controller then performs the following analysis in the power consumption conflict judgment stage: It checks whether the expected power consumption during the host's idle period is lower than the power consumption threshold: The expected power consumption during the host's idle period is 1.2W, lower than the preset power consumption threshold (2W), thus meeting the condition. It checks whether the trigger probability of the garbage collection task is higher than the trigger probability threshold: The trigger probability of the garbage collection task is 90%, higher than the preset probability threshold (75%), also meeting the condition. Since both conditions are met, the controller judges that there is a risk of power consumption conflict and believes that the SSD will perform a garbage collection task during the host's idle period. According to the background task power consumption table, the average power consumption of the garbage collection task is 4W. The controller adds the power consumption of the garbage collection task to the expected power consumption during the host's idle period, generating a comprehensive predicted power consumption value of 1.2W + 4W = 5W.

[0157] The main controller then selects the optimal power consumption state based on the comprehensive predicted power consumption value and state switching overhead. The candidate power consumption states are as follows: High-performance state: 10W power consumption, optimal performance, but excessive energy consumption. Medium-performance state: 6W power consumption, moderate performance, suitable for medium workloads. Low-power state: 3W power consumption, good energy saving effect, but low task completion efficiency.

[0158] Based on the current power consumption status and the overall predicted power consumption, the controller assessed the switching overhead and found that the "medium performance state" could significantly reduce power consumption while ensuring the completion of the garbage collection task. Therefore, the controller instructed the SSD to switch from the current power consumption state to the medium performance state (6W power consumption), and after completing the garbage collection task, the power consumption state would be adjusted again according to changes in the host load.

[0159] The following describes a power consumption prediction and management system based on a solid-state drive from the perspective of hardware processing in an embodiment of this invention. Please refer to [link / reference]. Figure 3 This is a schematic diagram of a power consumption prediction and management system based on a solid-state drive in an embodiment of this application.

[0160] It should be noted that, Figure 3 The structure of a power prediction and management system based on solid-state drives shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.

[0161] like Figure 3 As shown, a solid-state drive-based power prediction and management system includes a central processing unit (CPU) 301, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 302 or programs loaded from storage portion 308 into random access memory (RAM) 303, such as executing the methods in the above embodiments. The RAM 303 also stores various programs and data required for system operation. The CPU 301, ROM 302, and RAM 303 are interconnected via a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.

[0162] The following components are connected to I / O interface 305: input section 306 including audio input devices, push-button switches, etc.; output section 307 including a liquid crystal display (LCD) and audio output devices, indicator lights, etc.; storage section 308 including a hard disk, etc.; and communication section 309 including a network interface card such as a LAN (Local Area Network) card, modem, etc. Communication section 309 performs communication processing via a network such as the Internet. Drive 310 is also connected to I / O interface 305 as needed. Removable media 311, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 310 as needed so that computer programs read from them can be installed into storage section 308 as needed.

[0163] In particular, according to embodiments of the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing computer programs for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 309, and / or installed from removable medium 311. When the computer program is executed by central processing unit (CPU) 301, it performs the various functions defined in the present invention.

[0164] It should be noted that specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0165] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those shown in the drawings.

[0166] Specifically, the solid-state drive-based power prediction and management system of this embodiment includes a processor and a memory. The memory stores a computer program. When the computer program is executed by the processor, it implements the solid-state drive-based power prediction and management method provided in the above embodiment.

[0167] In another aspect, the present invention also provides a computer-readable storage medium, which may be included in the solid-state drive-based power prediction and management system described in the above embodiments; or it may exist independently and not incorporated into the solid-state drive-based power prediction and management system. The storage medium carries one or more computer programs, which, when executed by a processor of the solid-state drive-based power prediction and management system, enable the solid-state drive-based power prediction and management system to implement the solid-state drive-based power prediction and management method based on encrypted data transmission for the Internet of Things provided in the above embodiments.

Claims

1. A method for power consumption prediction and management based on solid state drives, characterized in that, The method comprises: Collecting the I / O instruction stream received by the solid state disk from the host side, and predicting the host workload intensity in a first preset time window in time sequence based on the timing characteristics and type distribution of the I / O instruction stream to obtain an expected host workload curve; Based on the expected host idle time period, determine the expected host idle time period; According to the corresponding relationship between the expected host idle time period and the preset performance power consumption, the expected host power consumption value driven by external request in the expected host idle time period is calculated; Obtain the historical running log data of the solid state disk, and extract the internal state parameters of the solid state disk according to the historical running log data; Based on the internal state parameters and the expected host idle time period, a background task triggering probability model is established, and the triggering probability of starting a high-power background task of the solid state disk in the first preset time window is calculated according to the background task triggering probability model; According to the expected host power consumption value and the triggering probability, the power consumption conflict is judged, and the comprehensive predicted power consumption value is generated; Based on the comprehensive predicted power consumption value, and combining the state transition overhead from the current power consumption state to the target power consumption state, the optimal target power consumption state is determined among the multiple available power consumption states of the solid state disk, and the solid state disk is instructed to switch to the optimal target power consumption state.

2. The method of claim 1, wherein, The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises:

3. The method of claim 1, wherein, The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The method comprises: The A plurality of groups of performance configuration parameters are designed, each group of performance configuration parameters including a master control frequency, a memory frequency, and a number of Flash channels; For each group of performance configuration parameters, key performance indicators of the solid state disk are tested under different data block sizes and queue depths, and power consumption levels corresponding to the key performance indicators are recorded to obtain the preset performance-power consumption correspondence, the key performance indicators including sequential read, sequential write, random read, and random write; A load state of a host request queue is detected, and performance configuration and a corresponding target power consumption level under a current load condition are matched in the preset performance-power consumption correspondence according to the load state; The target power consumption level is taken as a transient power consumption prediction value under the current load condition; Each sampling time point in the expected host idle period is traversed, and a transient power consumption prediction value of each sampling time point is calculated; The transient power consumption prediction values in the expected host idle period are integrated to obtain a cumulative power consumption prediction value driven by external requests as the expected host power consumption value.

4. The method of claim 1, wherein, The internal state parameters and the expected host idle period are used to establish a background task triggering probability model, and a triggering probability of starting a high-power background task of the solid state disk in the first preset time window is calculated according to the background task triggering probability model, specifically including: Based on the historical running log data, the conditional probability distribution of starting a high-power background task of the solid state disk under different internal state parameters is counted, the internal state parameters including the ratio of valid pages to invalid pages in a flash memory block, the remaining available space, and the write amplification factor; Based on the conditional probability distribution, a logistic regression model of internal state parameters and background task triggering conditions is constructed to obtain regression coefficients of each internal state parameter, forming the background task triggering probability model; The expected host idle period is discretized on a time axis and divided into a plurality of time windows with a preset interval, and each time window is defined as a decision time unit; In each decision time unit, the internal state parameter value of the solid state disk is obtained; The internal state parameter value is input into the background task triggering probability model to obtain a probability prediction value of starting a high-power background task under the current internal state; The probability prediction values in all decision time units are integrated to obtain a triggering probability of starting a high-power background task in the first preset time window.

5. The method of claim 4, wherein, The internal state parameters are extracted from the historical running log data, and the internal state parameters are quantitatively grouped to obtain a plurality of parameter gear combinations; The historical frequency of starting a high-power background task of the solid state disk under each parameter gear combination is counted to obtain an experienced conditional probability corresponding to different parameter gear combinations; The experienced conditional probability is Bayes corrected using preset prior knowledge to obtain the conditional probability distribution. ​ 6. The method of claim 1, wherein, The power consumption conflict judgment is performed according to the expected host power consumption value and the trigger probability, and a comprehensive prediction power consumption value is generated, specifically including: History background power consumption data is acquired, and average power consumption of background tasks under different duration is calculated based on the history background power consumption data to generate a background task power consumption table; Duration of the expected host idle period is acquired, and corresponding background task power consumption value is found in the background task power consumption table according to the duration; It is judged whether the expected host power consumption value is lower than a preset power consumption threshold, and whether the trigger probability is higher than a preset probability threshold; When the expected host power consumption value is lower than the preset power consumption threshold, and the trigger probability is higher than the preset probability threshold, the background task power consumption value is determined as the comprehensive prediction power consumption value; When the expected host power consumption value is not lower than the preset power consumption threshold, or the trigger probability is not higher than the preset probability threshold, the expected host power consumption value is determined as the comprehensive prediction power consumption value.

7. The method of claim 1, wherein, The state transition overhead includes state transition power consumption overhead and state transition time delay overhead, and the optimal target power consumption state is determined in the plurality of available power consumption states of the solid state disk based on the comprehensive prediction power consumption value and in combination with the state transition overhead from the current power consumption state to the target power consumption state, specifically including: A plurality of candidate power consumption states are determined based on the power consumption characteristics of the solid state disk, and each candidate power consumption state corresponds to a power consumption interval; The current power consumption state of the solid state disk is acquired; One or more potential target power consumption states corresponding to the power consumption interval containing the comprehensive prediction power consumption value are screened out from the plurality of candidate power consumption states; For each potential target power consumption state, the state transition power consumption overhead and the state transition time delay overhead from the current power consumption state to the potential target power consumption state are acquired, and a comprehensive benefit value corresponding to each potential target power consumption state is obtained in combination with a preset evaluation formula; The potential target power consumption state with the maximum comprehensive benefit value is selected as the optimal target power consumption state.

8. A system for power consumption prediction and management based on solid state drives, characterized by, The power consumption prediction and management system based on a solid state disk includes one or more processors and a memory; the memory is coupled with the one or more processors, and the memory is used to store computer program codes, the computer program codes include computer instructions, and the one or more processors invoke the computer instructions to make the power consumption prediction and management system based on a solid state disk execute the method in any one of claims 1-7.

9. A computer-readable storage medium comprising instructions, characterized in that, When the instructions run on the power consumption prediction and management system based on a solid state disk, the power consumption prediction and management system based on a solid state disk executes the method in any one of claims 1-7.

10. A computer program product, characterised in that, When the computer program product runs on the power consumption prediction and management system based on a solid state disk, the power consumption prediction and management system based on a solid state disk executes the method in any one of claims 1-7.

Citation Information

Patent Citations

  • Solid state disk energy consumption prediction method and system based on deep learning

    CN119127623A

  • Solid state disk power consumption optimization method and system based on load prediction

    CN120610668A