Power consumption control method of solid state disk, electronic device

By predicting the power consumption and temperature of solid-state drives (SSDs), and dynamically adjusting bandwidth information and receiving speed, the performance and stability imbalance of SSDs under complex operating conditions is solved, achieving efficient temperature control and resource optimization.

CN121050561BActive Publication Date: 2026-02-03INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511574216.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-10-30
Publication Date
2026-02-03
Estimated Expiration
2045-10-30

AI Technical Summary

Technical Problem

In existing technologies, the power consumption and temperature management of solid-state drives (SSDs) rely on fixed upper limits, which cannot adapt to complex and ever-changing actual operating conditions. This leads to an imbalance between performance and stability or waste of resources. Furthermore, there is a delay in temperature feedback, making it impossible to control the temperature in a timely manner, which poses a risk of performance degradation or even damage.

Method used

By acquiring hard drive bandwidth and host bandwidth information for the current cycle, the power consumption and temperature values ​​for the next cycle are predicted. The bandwidth information is dynamically adjusted to control power consumption. By using linear relationships to predict and inversely adjust the speed of receiving read and write commands, precise temperature control is achieved.

Benefits of technology

It achieves a balance between solid-state drive performance and stability, avoids resource waste and damage risks caused by overheating, extends service life, and improves system energy efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121050561B_ABST
    Figure CN121050561B_ABST
Patent Text Reader

Abstract

The application discloses a solid state disk power consumption control method and electronic equipment, and relates to the technical field of storage. The method comprises the following steps: predicting a first power consumption value in a next period according to first hard disk bandwidth information of a solid state disk in a current period, first host bandwidth information of a host, and a first linear relationship; predicting a second temperature value in the next period according to the first power consumption value, a first temperature value of the solid state disk in the current period, and a second linear relationship; when the second temperature value is greater than a temperature threshold value, determining an expected power consumption value of the solid state disk in the next period according to a temperature difference between the first temperature value and the temperature threshold value or a preset temperature difference; and determining a receiving speed of a read-write command from the host according to the expected power consumption value, the first hard disk bandwidth information, the first host bandwidth information, and the first linear relationship, so as to control the power consumption of the solid state disk. The application can solve the problem that the solid state disk cannot adapt to complex and changeable actual operation states and control the power consumption of the solid state disk.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of storage technology, and in particular to power consumption control methods and electronic devices for solid-state drives. Background Technology

[0002] With the development of storage technology and big data, solid-state drives (SSDs) have gradually become core storage components in cloud computing platforms, artificial intelligence training clusters, and large-scale database systems. Enterprise-grade SSDs, in particular, need to support higher sustained read / write bandwidth, lower access latency, and stronger I / O concurrency capabilities, while maintaining long-term stability and high reliability in uninterrupted operation. Under high loads, prolonged continuous writes, or random I / O intensive workloads, the internal temperature of SSDs rises rapidly, easily triggering thermal throttling mechanisms, leading to a sharp decline in performance and even system-level service interruptions.

[0003] In related technologies, fixed power consumption or temperature limits are typically set. When the solid-state drive's (SSD) temperature exceeds the limit or its power consumption exceeds the limit, power consumption is suppressed by reducing read / write frequency, pausing garbage collection, or shutting down some flash memory channels in the SSD, thus balancing SSD performance and power consumption. However, this approach suffers from significant delays in temperature or power consumption feedback, making it impossible to control the SSD's temperature in a timely manner. This poses a risk of performance degradation or even damage to the SSD due to excessively high temperatures. Furthermore, relying on fixed power consumption and temperature limits cannot adapt to the complex and ever-changing actual operating conditions of SSDs, leading to an imbalance between performance and stability or wasted resources. Summary of the Invention

[0004] This application provides a power consumption control method and electronic device for solid-state drives (SSDs) to at least solve the problem in related technologies where the power consumption and temperature of SSDs are suppressed by relying on fixed power consumption and temperature limits, which cannot adapt to the complex and ever-changing actual operating conditions of SSDs and lead to an imbalance in performance and stability or waste of resources.

[0005] This application provides a power consumption control method for a solid-state drive (SSD). The method includes: acquiring a first temperature value of the SSD, first hard disk bandwidth information, and first host bandwidth information of the host in the current cycle; predicting a first power consumption value of the SSD in the next cycle based on the first hard disk bandwidth information, the first host bandwidth information, and a first linear relationship, wherein the first linear relationship indicates the linear relationship between the power consumption value of the SSD and the hard disk bandwidth information and the host bandwidth information; predicting a second temperature value of the SSD in the next cycle based on the first power consumption value, the first temperature value, and a second linear relationship, wherein the second linear relationship indicates the linear relationship between the power consumption value of the SSD and the temperature difference between two adjacent cycles; when the second temperature value is greater than a temperature threshold, determining the expected power consumption value of the SSD in the next cycle based on the temperature difference between the first temperature value and the temperature threshold or a preset temperature difference, and using the second linear relationship; adjusting the first hard disk bandwidth information to the second hard disk bandwidth information and adjusting the first host bandwidth information to the second host bandwidth information based on the expected power consumption value and the first linear relationship; and determining the receiving speed for receiving read / write commands from the host based on the second hard disk bandwidth information and the second host bandwidth information, so as to receive read / write commands according to the receiving speed to control the power consumption of the SSD.

[0006] This application also provides a power consumption control device for a solid-state drive (SSD). The power consumption control device for the SSD includes: an acquisition module, used to acquire the first temperature value of the SSD, the first hard disk bandwidth information, and the first host bandwidth information of the host in the current period.

[0007] The prediction module is used to predict the first power consumption value of the solid-state drive in the next cycle based on the first hard disk bandwidth information, the first host bandwidth information, and the first linear relationship. The first linear relationship is used to indicate the linear relationship between the power consumption value of the solid-state drive and the hard disk bandwidth information and the host bandwidth information. Based on the first power consumption value, the first temperature value, and the second linear relationship, the module predicts the second temperature value of the solid-state drive in the next cycle. The second linear relationship is used to indicate the linear relationship between the power consumption value of the solid-state drive and the temperature difference between two adjacent cycles.

[0008] The processing module is used to determine the expected power consumption of the solid-state drive in the next cycle based on a second linear relationship, according to the temperature difference between the first temperature value and the temperature threshold or a preset temperature difference, when the second temperature value is greater than the temperature threshold; adjust the first hard drive bandwidth information to the second hard drive bandwidth information and adjust the first host bandwidth information to the second host bandwidth information according to the expected power consumption value and the first linear relationship; and determine the receiving speed of receiving read and write commands from the host according to the second hard drive bandwidth information and the second host bandwidth information, so as to receive read and write commands according to the receiving speed to control the power consumption of the solid-state drive.

[0009] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for implementing the power consumption control method of any of the above-described solid-state drives when executing the computer program.

[0010] This application also provides a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, it implements the steps of any of the above-described solid-state drive power consumption control methods.

[0011] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the power consumption control method of any of the above-described solid-state drives.

[0012] This application demonstrates that, since the power consumption of a solid-state drive (SSD) dynamically changes with host access pressure and its own data processing efficiency, and host bandwidth directly reflects the host's access pressure on the SSD, while SSD bandwidth reflects the SSD's actual input / output processing capability, the power consumption of the SSD in the next cycle can be accurately predicted using the host bandwidth and SSD bandwidth information in the current cycle. This allows the predicted power consumption to match the actual operating state of the SSD, facilitating further accurate prediction of the SSD's temperature value in the next cycle based on the predicted power consumption. Furthermore, based on the predicted SSD temperature value in the next cycle, the bandwidth information of both the host and the SSD can be adjusted in reverse, thereby regulating the receiving speed of host read / write commands, ensuring the stability of the SSD's performance and stability, and avoiding waste of SSD and host resources. In addition, predicting temperature and power consumption values ​​in advance allows for timely control of the SSD's temperature, avoiding the risk of performance degradation or even damage due to excessive temperature, preventing thermal cycling damage caused by sudden temperature rises and falls, reducing problems such as solder joint aging and material fatigue, and extending the lifespan of the SSD. Simultaneously, to avoid resource waste caused by "performance being suppressed despite temperatures far below the upper limit," the system reduces power consumption per unit of data processing while ensuring performance, thereby improving system energy efficiency. Finally, with maximizing performance under temperature constraints as the core objective, the system prioritizes host read / write core performance by dynamically calculating the hard drive bandwidth and host bandwidth information corresponding to the expected power consumption. Under the same temperature constraints, performance loss can be kept within a small range, significantly improving the SSD's sustained output capability under high load scenarios. Attached Figure Description

[0013] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0014] Figure 1 A topology diagram of a power consumption control system for a solid-state drive provided in this application embodiment;

[0015] Figure 2 A flowchart illustrating a power consumption control method for a solid-state drive provided in an embodiment of this application;

[0016] Figure 3 This is a schematic flowchart of a method for establishing a first linear relationship provided in an embodiment of this application;

[0017] Figure 4 This is a schematic flowchart of a method for establishing a second linear relationship provided in an embodiment of this application;

[0018] Figure 5 A device structure block diagram of a power consumption control device for a solid-state drive provided in an embodiment of this application;

[0019] Figure 6 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0020] The technical solutions of the embodiments of this application 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. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.

[0021] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.

[0022] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0023] This application embodiment is applied to a scenario where a solid-state drive receives read / write commands sent by a host and performs read / write operations.

[0024] Solid-state drives (SSDs), especially enterprise-grade SSDs, not only need to support higher sustained read / write bandwidth, lower access latency, and stronger I / O concurrency capabilities, but also need to maintain long-term stability and high reliability in uninterrupted operation. With the development of flash memory technology, the storage density per unit of flash memory in SSDs has significantly increased, but this has also brought higher write amplification, more complex error correction requirements, and more significant heat generation issues. Meanwhile, the computing power of SSD controller units continues to increase to support Low-Density Parity-Check (LDPC) error correction, Redundant Array of Independent Disks (RAID) protection, end-to-end data path protection, hardware encryption, and other functions, further increasing the overall power consumption of SSDs.

[0025] Solid-state drives (SSDs) rely on the operational status of their internal components. Temperature and power consumption are two key, interconnected factors. For example, the SSD's controller and NAND flash memory generate significant heat during high-power operation. If heat dissipation is insufficient, the temperature rapidly rises to a critical value, causing the controller to automatically reduce its operating frequency or suspend some flash memory channel operations, resulting in a decrease in Input / Output Operations Per Second (IOPS) and increased latency. Furthermore, in the multi-channel parallel architecture of SSDs, some flash memory channels become "hot spots" due to frequent access, increasing the probability of read / write errors and affecting overall performance consistency. Finally, under cyclical load fluctuations, SSDs undergo repeated heating and cooling, which can easily cause thermal stress damage between the circuit board and integrated circuits, shortening the SSD's lifespan.

[0026] In related technologies, power consumption and temperature management for enterprise-grade solid-state drives (SSDs) typically involves presetting a fixed power consumption limit in the firmware of the main controller unit. When instantaneous power consumption exceeds this limit, the main controller unit suppresses power consumption by reducing read / write frequency, pausing garbage collection tasks, or shutting down some NAND channels. Alternatively, a digital temperature sensor integrated within the SSD can be used to monitor the temperature of the main controller unit or NAND package in real time. When the temperature exceeds a preset threshold, a temperature management mechanism defined by the storage protocol is triggered, entering a low-power state or reducing performance levels. Furthermore, for multi-channel SSD architectures, dynamically shutting down inactive channels or low-priority NAND chips can reduce unnecessary power consumption. Alternatively, the main controller unit can support an on-demand wake-up mechanism to balance performance and energy consumption. Finally, the main controller unit can predict future power consumption trends by analyzing characteristics such as queue depth, read / write type, and data size of input / output requests, and adjust resource scheduling strategies in advance. For example, when a write-intensive load is detected, the priority of other background tasks can be reduced in advance to reserve power margin. Alternatively, the main control unit can introduce a Dynamic Voltage and Frequency Scaling (DVFS) mechanism to dynamically adjust the core voltage and operating frequency according to the load conditions, thereby achieving fine-grained power consumption regulation.

[0027] The aforementioned methods for managing power consumption and temperature of enterprise-level solid-state drives (SSDs) suffer from significant delays in temperature or power consumption feedback, making it impossible to control SSD temperature in a timely manner. This poses a risk of performance degradation or even damage to the SSD due to excessively high temperatures. Furthermore, relying solely on temperature or power consumption limits fails to consider whether current performance is deteriorating or has stabilized. Additionally, depending on fixed power consumption and temperature limits cannot adapt to the complex and ever-changing actual operating conditions of SSDs, leading to an imbalance between performance and stability or wasted resources. Using a single sensor signal (such as temperature) for decision-making is susceptible to noise interference or misjudgment.

[0028] To address the aforementioned technical problems, this application proposes a power consumption control method for solid-state drives (SSDs). This method predicts the SSD's power consumption in the next cycle based on the SSD's bandwidth information and host bandwidth information in the current cycle. Furthermore, based on the SSD's temperature in the current cycle and the predicted power consumption value for the next cycle, it predicts the SSD's temperature in advance. Before the temperature reaches a safe threshold, it initiates precise adjustment of read / write commands received from the host to reduce power consumption and temperature. This allows for timely temperature control of the SSD, avoiding the risk of performance degradation or even damage due to excessive temperature. Moreover, it can adapt to the complex and ever-changing actual operating conditions of the SSD (drive bandwidth information, host bandwidth information), achieving a balance between SSD performance and stability and avoiding resource waste.

[0029] This application provides a power consumption control system for solid-state drives, such as... Figure 1 As shown, Figure 1 This is a topology diagram of a power consumption control system for a solid-state drive (SSD) provided in an embodiment of this application; the power consumption control system 100 for the SSD may include a host 101 and a solid-state drive 102.

[0030] Here, "host 101" can be a general term for any core hardware system that has independent computing and control capabilities and can manage peripheral devices. For example, a host can be a server, cloud server, rack server, or blade server.

[0031] Solid-state drive 102 can be any hard drive that uses flash memory integrated circuits to store data. Solid-state drive 102 includes a controller unit, flash memory, and cache. The controller unit is responsible for scheduling data read and write operations in the flash memory chip, and also undertakes critical tasks such as bad block management, wear leveling, and data encryption, directly determining the performance and lifespan of the solid-state drive. Flash memory is used for final data storage. Cache is used to temporarily store frequently read and written data, reducing direct access to flash memory and thus significantly improving the read and write speed of the solid-state drive.

[0032] Figure 1 The power control system 100 of the solid-state drive shown is for illustrative purposes only and is not intended to limit the technical solutions of this application. Those skilled in the art should understand that in specific implementations, the power control system 100 of the solid-state drive may also include other devices, without limitation.

[0033] Embodiments of this application provide a power consumption control method for a solid-state drive (SSD), applied to the main control unit included in the SSD 102, such as... Figure 2 As shown, Figure 2 This is a flowchart illustrating a power consumption control method for a solid-state drive (SSD) according to an embodiment of this application. The power consumption control method for the SSD includes the following steps:

[0034] S201, obtain the first temperature value of the solid-state drive, the first hard drive bandwidth information, and the first host bandwidth information of the host within the current cycle.

[0035] The length of the period can be set according to actual needs. For example, the length of the period can be 100ms.

[0036] Hard drive bandwidth information includes hard drive read bandwidth and hard drive write bandwidth; host bandwidth information includes host read bandwidth and host write bandwidth. First hard drive bandwidth information includes first hard drive read bandwidth and first hard drive write bandwidth. First host bandwidth information includes first host read bandwidth and first host write bandwidth. Hard drive bandwidth information is used to indicate flash memory read and write performance. Host bandwidth information is used to indicate host read and write performance.

[0037] In one example, the first temperature value can be any one of the controller temperature value, flash memory temperature value, or cache temperature value.

[0038] In another example, the main control unit calculates the average of the main control temperature, flash memory temperature, and cache temperature, and uses this average as the first temperature value.

[0039] In another example, the main control unit obtains the main control temperature value, the flash memory temperature value, and the cache temperature value; based on the main control temperature value, the first preset weight corresponding to the main control temperature value, the flash memory temperature value, the second preset weight corresponding to the flash memory temperature value, the cache temperature value, and the third preset weight corresponding to the cache temperature value, the first temperature value of the solid-state drive in the current cycle is determined.

[0040] The first preset weight is greater than the second preset weight; the second preset weight is greater than the third preset weight. The sum of the first preset weight, the second preset weight, and the third preset weight equals 1.

[0041] Specifically, the main control unit collects the main control temperature value transmitted by the main control unit's sensor, the flash memory temperature value transmitted by the flash memory sensor, and the cache temperature value transmitted by the cache sensor within the current cycle; calculates the product between the main control temperature value and a first preset weight to obtain a first product; calculates the product between the flash memory temperature value and a second preset weight to obtain a second product; calculates the product between the cache temperature value and a third preset weight to obtain a third product; and calculates the sum of the first product, the second product, and the third product to obtain a first temperature value.

[0042] Understandably, relying solely on the temperature of a single component (such as the controller or flash memory) may mask the overall state due to localized high or low temperatures. By weighted and integrating the temperatures of the controller, flash memory, and cache, a comprehensive reflection of the overall thermal state of the SSD's core components can be obtained, reducing misjudgments caused by temperature fluctuations in a single component. High temperatures in the controller and flash memory are key factors contributing to the degradation of SSD lifespan. Emphasizing their temperature impact through weighted calculations can trigger protection mechanisms earlier, preventing core components from being exposed to high temperatures for extended periods and reducing hardware failures caused by undetected localized overheating.

[0043] In some optional implementations, the system receives a first type of read command, a first type of write command, a second type of read command, and a second type of write command from the host within the current cycle; it counts the number of data to be read corresponding to the first type of read command to obtain the first hard disk read bandwidth; it counts the number of data to be written corresponding to the first type of write command to obtain the first hard disk write bandwidth; it counts the number of data to be read corresponding to the second type of read command to obtain the first host read bandwidth; and it counts the number of data to be written corresponding to the second type of write command to obtain the first host write bandwidth.

[0044] The first type of read command is used to instruct the host to perform a read operation from the flash memory.

[0045] The first type of write command is used to instruct the host to perform a write operation in the flash memory.

[0046] The second type of read command is used to instruct the host to perform a read operation from the cache.

[0047] The second type of write command is used to instruct the host to perform a write operation in the cache.

[0048] Specifically, the main control unit records the cumulative amount of data to be read (Lmediaread), the cumulative amount of data to be written (Lmediawrite), the cumulative amount of data to be read (Lhostread), and the cumulative amount of data to be written (Lhostwrite) corresponding to the first type of read command within the current cycle; and records the cumulative amount of data to be read (Tmediaread), the cumulative amount of data to be written (Tmediawrite), the cumulative amount of data to be read (Thostread), and the cumulative amount of data to be written (Thostwrite) corresponding to the first type of read command and the first type of write command before the current cycle. When the main control unit receives a command, it obtains the amount of data (Lcmd) corresponding to that command. If the command is a first type of read command, it is added to Lmediaread, for example, Lmediaread += Lcmd; the same applies to other first type of write commands, second type of read commands, and second type of write commands, which will not be elaborated here. Statistics are compiled on the first hard drive read bandwidth (Lmediaread-Tmediaread) and the first hard drive write bandwidth (Lmediawrite-Tmediawrite) of the solid-state drive, as well as the first host read bandwidth (Lhostread-Thostread) and the first host write bandwidth (Lhostwrite-Thostwrite) of the host within the current period.

[0049] Understandably, dividing commands into four categories based on the operation object (flash / cache) and operation type (read / write), and separately calculating the corresponding amount of data to be read and written, can distinguish between hard disk bandwidth information and host bandwidth information. This makes the values ​​of the first hard disk bandwidth (flash read / write) and the first host bandwidth (cache read / write) more closely match the actual load, providing an accurate data basis for predicting the power consumption of the solid-state drive in the next cycle.

[0050] S202, based on the first hard disk bandwidth information, the first host bandwidth information, and the first linear relationship, predicts the first power consumption value of the solid-state drive in the next cycle.

[0051] The first linear relationship is used to indicate the linear relationship between the power consumption of the solid-state drive and the bandwidth information of the hard drive and the host bandwidth information.

[0052] In one example, the first linear relationship can be expressed as shown in the following formula:

[0053]

[0054] in, This indicates the power consumption of the solid-state drive in the next cycle; This indicates the hard drive read bandwidth within the current period; This represents the first coefficient corresponding to the hard drive read bandwidth; This indicates the hard drive write bandwidth within the current cycle; This represents the second coefficient corresponding to the hard drive write bandwidth; This indicates the host read bandwidth within the current period; This represents the third coefficient corresponding to the host read bandwidth; This indicates the host's write bandwidth within the current period; This represents the fourth coefficient corresponding to the host write bandwidth.

[0055] For example, the main control unit substitutes the first hard disk read bandwidth, the first hard disk write bandwidth, the first host read bandwidth, and the first host write bandwidth into the first linear relationship to predict the first power consumption value of the solid-state drive in the next cycle.

[0056] S203 predicts the second temperature value of the solid-state drive in the next cycle based on the first power consumption value, the first temperature value, and the second linear relationship.

[0057] The second linear relationship is used to indicate the linear relationship between the power consumption of the solid-state drive and the temperature difference between two adjacent cycles.

[0058] The expression for the second linear relationship can be found in the following formula:

[0059]

[0060] in, This indicates the temperature difference between the solid-state drive's temperature value in the current cycle and the solid-state drive's temperature value in the next cycle; This indicates the predicted power consumption of the solid-state drive in the next cycle; The fifth coefficient represents the power consumption value of the solid-state drive in the current period; This represents the target constant value.

[0061] In one example, the main control unit predicts the temperature difference between the solid-state drive (SSD) temperature in the current cycle and the SSD temperature in the next cycle based on a first power consumption value, a first temperature value, and a second linear relationship; it calculates the sum of the first temperature value and the temperature difference to obtain the predicted second temperature value of the SSD in the next cycle.

[0062] S204, when the second temperature value is greater than the temperature threshold, the expected power consumption value of the solid-state drive in the next cycle is determined based on the temperature difference between the first temperature value and the temperature threshold or the preset temperature difference, according to the second linear relationship.

[0063] In one example, when the second temperature value is greater than the temperature threshold and the temperature difference between the first temperature value and the temperature threshold is less than or equal to a preset temperature difference, the expected power consumption of the solid-state drive in the next cycle is determined based on the temperature difference between the first temperature value and the temperature threshold and the second linear relationship; or, when the second temperature value is greater than the temperature threshold and the temperature difference between the first temperature value and the temperature threshold is greater than the preset temperature difference, the expected power consumption of the solid-state drive in the next cycle is determined based on the preset temperature difference and the second linear relationship.

[0064] The temperature threshold and preset temperature difference can be set according to actual needs and are not limited. For example, the temperature threshold can be 75 degrees Celsius, and the preset temperature difference can be 5 degrees Celsius.

[0065] For example, when the second temperature value is greater than the temperature threshold and the temperature difference between the first temperature value and the temperature threshold is less than or equal to a preset temperature difference, the main control unit substitutes the temperature difference between the first temperature value and the temperature threshold into the second linear relationship to obtain the expected power consumption value of the solid-state drive in the next cycle; when the second temperature value is greater than the temperature threshold and the temperature difference between the first temperature value and the temperature threshold is greater than the preset temperature difference, or when the second temperature value is greater than the temperature threshold and the temperature difference between the first temperature value and the second temperature value is greater than the preset temperature difference, the main control unit substitutes the preset temperature difference into the second linear relationship to obtain the expected power consumption value of the solid-state drive in the next cycle.

[0066] S205, based on the expected power consumption value and the first linear relationship, adjust the first hard disk bandwidth information to the second hard disk bandwidth information and adjust the first host bandwidth information to the second host bandwidth information.

[0067] In one example, the main control unit adjusts at least one of the first hard disk read bandwidth, the first hard disk write bandwidth, the first host read bandwidth, and the first host write bandwidth according to a preset ratio based on the first linear relationship and the expected power consumption value, so as to obtain the adjusted second hard disk read bandwidth, the second hard disk write bandwidth, the second host read bandwidth, and the second host write bandwidth.

[0068] The preset ratio can be set according to actual needs and is not limited. For example, the preset ratio can be 1%.

[0069] The second hard drive read bandwidth, second hard drive write bandwidth, second host read bandwidth, and second host write bandwidth all meet preset conditions. The preset conditions are: based on the first linear relationship, the second hard drive read bandwidth, second hard drive write bandwidth, second host read bandwidth, and second host write bandwidth, the target power consumption value of the solid-state drive is determined, and the target power consumption value is less than or equal to the expected power consumption value.

[0070] For example, the main control unit adjusts the first hard disk read bandwidth according to a preset ratio based on the first linear relationship and the expected power consumption value to obtain the adjusted second hard disk read bandwidth. At this time, based on the first linear relationship, the second hard disk read bandwidth, the first hard disk write bandwidth, the first host read bandwidth, and the first host write bandwidth, the power consumption value of the solid-state drive is predicted. If the power consumption value is less than or equal to the expected power consumption value, the adjustment is stopped. At this time, the second hard disk write bandwidth is consistent with the first hard disk write bandwidth, the second host read bandwidth is consistent with the first host read bandwidth, and the second host write bandwidth is consistent with the first host read bandwidth.

[0071] If the predicted power consumption of the solid-state drive is greater than the expected power consumption, the write bandwidth of the first hard drive is adjusted according to a preset ratio based on the first linear relationship and the expected power consumption to obtain the adjusted write bandwidth of the second hard drive. At this time, based on the first linear relationship, the read bandwidth of the second hard drive, the write bandwidth of the second hard drive, the read bandwidth of the first host, and the write bandwidth of the first host, the power consumption of the solid-state drive is predicted. If the power consumption is less than or equal to the expected power consumption, the adjustment is stopped. At this time, the read bandwidth of the second host is consistent with the read bandwidth of the first host, and the write bandwidth of the second host is consistent with the read bandwidth of the first host.

[0072] If the predicted power consumption of the solid-state drive is still greater than the expected power consumption, then the first host read bandwidth or the first host write bandwidth will be adjusted sequentially according to the first linear relationship and the expected power consumption in a preset ratio. The specific adjustment method is the same as the adjustment process of the second hard drive read bandwidth and the second hard drive write bandwidth, and will not be described in detail here.

[0073] Understandably, by establishing a quantitative correlation between hard drive bandwidth (hard drive performance), host bandwidth (host performance), and power consumption through a first linear relationship, and then adjusting the bandwidth parameters in reverse based on the desired power consumption value, the actual power consumption of the solid-state drive (SSD) can be stably controlled within the target range (target power consumption ≤ desired power consumption), avoiding excessive temperature and heat dissipation load caused by excessive power consumption. Adjustments are made step-by-step in the order of hard drive read bandwidth, hard drive write bandwidth, host read bandwidth, and host write bandwidth, with each adjustment made by a preset ratio, prioritizing the adjustment of the hard drive bandwidth directly related to the internal data processing of the SSD. This adjustment method based on the first linear relationship and preset ratios avoids complex nonlinear models or machine learning algorithms, and can be directly implemented through the main control unit without additional hardware support, improving adjustment efficiency.

[0074] S206, Based on the second hard disk bandwidth information and the second host bandwidth information, determine the receiving speed for receiving read and write commands from the host, so as to receive the read and write commands according to the receiving speed and control the power consumption of the solid-state drive.

[0075] The second hard disk bandwidth information includes the second hard disk read bandwidth and the second hard disk write bandwidth; the second host bandwidth information includes the second host read bandwidth and the second host write bandwidth.

[0076] In one example, the main control unit determines the minimum value between the second hard disk read bandwidth and the second host read bandwidth as the first maximum read receiving speed for receiving read commands from the host; and determines the minimum value between the second hard disk write bandwidth and the second host write bandwidth as the first maximum write receiving speed for receiving write commands from the host.

[0077] Furthermore, the main control unit obtains the length of the read command queue that the solid-state drive has received but not yet processed at the current moment; if the read command queue length is less than or equal to the preset queue length, then read commands are received at the first maximum read receiving speed; if the read command queue length is greater than the preset queue length, then the first maximum read receiving speed is reduced proportionally (for example, by 80%) to obtain the second maximum read receiving speed, and read commands from the host are received at the second maximum read receiving speed.

[0078] The preset queue length can be set according to actual needs and is not limited. For example, the preset queue length can be 50% of the queue capacity.

[0079] Understandably, when the read command queue length is less than or equal to the preset queue length, the maximum receiving speed is used to fully utilize the hardware bandwidth and improve data transmission efficiency. When the queue length exceeds the preset queue length, i.e. the hard drive load is too high, the receiving speed is reduced proportionally to avoid queue overflow and excessive command backlog leading to timeouts and data loss. At the same time, it allows the SSD enough time to process received commands, alleviating congestion caused by "receiving speed being much faster than processing speed".

[0080] Similarly, the main control unit can also obtain the remaining free storage space of the cache included in the solid-state drive at the current moment and the total storage space of the cache; calculate the ratio between the remaining free storage space and the total storage space to obtain the cache free ratio; if the cache free ratio is greater than or equal to the preset free ratio, then the write command from the host is received according to the first maximum write receive speed; if the cache free ratio is less than the preset free ratio but greater than or equal to the safe free ratio, then the first maximum write receive speed is reduced proportionally (for example, the ratio is 80%) to obtain the second maximum write receive speed, and the write command from the host is received according to the second maximum write receive speed; if the cache free ratio is less than the safe free ratio, then the receiving of write commands is paused until the solid-state drive completes part of the data writing to the flash memory and the cache free ratio recovers to the above, and then the receiving is restarted proportionally.

[0081] The preset idle ratio and the safe idle ratio can be set according to actual needs without restriction. The preset idle ratio can be 30%, and the safe idle ratio can be 10%.

[0082] Understandably, the write command processing relies on the cache as an intermediary (host data is first written to the cache, then the controller schedules the writing to flash memory). If the cache is full, new write commands may be lost due to lack of space for temporary storage, or data verification errors may occur. When the cache free ratio is greater than or equal to the preset free ratio, data is received at the first maximum write receive speed (hardware bandwidth limit), making full use of the cache's temporary storage capacity, reducing host waiting time, and improving write response speed. When the cache free ratio is between the preset free ratio and the safe free ratio, the receive speed is reduced proportionally to avoid the cache being exhausted quickly while maintaining a certain write efficiency, balancing the remaining cache space and host write demand. If the cache is in a high-occupancy state for a long time, the controller needs to frequently schedule data to be written from the cache to flash memory, which may lead to excessive controller load and temperature rise. Pausing the receiving of write commands reduces the controller's forced disk flushing pressure and also reduces the frequency of invalid flash memory writes, indirectly extending the lifespan of the solid-state drive.

[0083] based on Figure 2The method shown allows the main control unit to acquire the first hard disk bandwidth information of the solid-state drive (SSD), the first host bandwidth information of the host, and the first linear relationship within the current cycle, and predict the first power consumption value of the SSD in the next cycle; based on the first power consumption value, the first temperature value of the SSD within the current cycle, the first temperature value, and the second linear relationship, predict the second temperature value of the SSD in the next cycle; when the second temperature value is greater than a temperature threshold, determine the expected power consumption value of the SSD in the next cycle based on the temperature difference between the first temperature value and the temperature threshold or a preset temperature difference, using the second linear relationship; adjust the first hard disk bandwidth information to the second hard disk bandwidth information and adjust the first host bandwidth information to the second host bandwidth information based on the expected power consumption value and the first linear relationship; and determine the receiving speed for receiving read / write commands from the host based on the second hard disk bandwidth information and the second host bandwidth information.

[0084] Since the power consumption of a solid-state drive (SSD) dynamically changes with host access pressure and its own data processing efficiency, host bandwidth directly reflects the host's access pressure on the SSD, while hard drive bandwidth reflects the SSD's actual input / output processing capability. Therefore, by using the host and hard drive bandwidth information in the current cycle, the SSD's power consumption in the next cycle can be accurately predicted. This allows the predicted power consumption to match the actual operating state of the SSD, facilitating further accurate prediction of the SSD's temperature value in the next cycle based on the predicted power consumption. Furthermore, based on the predicted SSD temperature value in the next cycle, the bandwidth information of both the host and the SSD can be adjusted in reverse, thereby regulating the receiving speed of host read / write commands, ensuring the stability of SSD performance and avoiding wasted SSD and host resources. In addition, predicting temperature and power consumption values ​​in advance allows for timely control of SSD temperature, avoiding the risk of performance degradation or even damage due to excessive temperature, preventing thermal cycling damage caused by sudden temperature rises and falls, reducing problems such as solder joint aging and material fatigue, and extending the SSD's lifespan. Simultaneously, it avoids the waste of resources caused by "temperatures far below the upper limit but performance being suppressed," reducing power consumption per unit of data processing while ensuring performance, thus improving the system's energy efficiency ratio. Finally, with maximizing performance under temperature constraints as the core objective, the system dynamically calculates the hard drive bandwidth and host bandwidth information corresponding to the expected power consumption, prioritizing the host's read and write core performance. Under the same temperature constraints, performance loss can be kept within a small range, significantly improving the SSD's sustained output capability under high-load scenarios.

[0085] Based on any of the foregoing embodiments, before predicting the first power consumption value of the solid-state drive in the next cycle according to the first hard disk bandwidth information, the first host bandwidth information, and the first linear relationship, it is necessary to pre-establish the first linear relationship. This may include the following method steps, see details below. Figure 3 As shown, Figure 3A flowchart illustrating the method for establishing a first linear relationship provided in this application embodiment includes:

[0086] S301 obtains the voltage and current of the solid-state drive at multiple moments within each historical period, as well as the historical read bandwidth, historical write bandwidth, historical read bandwidth, and historical write bandwidth of the host for each historical period.

[0087] Each historical period can be 100ms. Multiple historical periods can be 100s. The number of moments within each historical period can be 10.

[0088] For example, the main control unit periodically acquires the voltage and current of the solid-state drive at a frequency of once every 10ms in multiple historical cycles, and acquires the historical hard drive read bandwidth, historical hard drive write bandwidth, historical host read bandwidth, and historical host write bandwidth of the solid-state drive in each cycle (100ms).

[0089] S302 determines the historical power consumption value of the solid-state drive in each historical cycle based on the voltage and current at each moment.

[0090] In one example, the main control unit determines the real-time power consumption value at each moment based on the product of voltage and current at each moment; then filters the real-time power consumption value to obtain the filtered effective power consumption value; and calculates the average of the effective power consumption values ​​at multiple moments within each historical period to obtain the historical power consumption value of the solid-state drive within each historical period.

[0091] Specifically, when the main control unit obtains the real-time power consumption value at the current moment, it determines the filtered historical power consumption value within the historical period of the current moment based on the weighted moving average filtering algorithm, according to the real-time power consumption value at the current moment and the real-time power consumption values ​​at N moments prior to the current moment. For example, taking each historical period as 100ms, each historical power consumption value represents 100Hz of valid data.

[0092] The weighted moving average filtering algorithm can be represented by the following expression:

[0093] / N

[0094] in, This is the filtered historical power consumption value at the current moment; This represents the real-time power consumption value at the current moment. is the smoothing coefficient; N is the sliding window size.

[0095] It's understandable that real-time power consumption is calculated using real-time voltage and current, but this value is susceptible to hardware noise and instantaneous current fluctuations, resulting in poor data stability. Weighted moving average filtering, by averaging the current value with N historical values, preserves the timeliness of the current data while smoothing out historical fluctuations and filtering out occasional spikes or troughs, making the final effective power consumption value closer to the actual power consumption level.

[0096] S303 divides multiple historical power consumption values ​​into M historical power consumption groups.

[0097] Where M is a positive integer. Each historical power consumption group includes a preset number of historical power consumption values. The preset number is 4.

[0098] S304, in the first iteration round, generates the intermediate coefficient group corresponding to the first iteration round based on the first historical power consumption group, the historical hard disk read bandwidth, historical hard disk write bandwidth, historical host read bandwidth, and historical host write bandwidth corresponding to the first historical power consumption group.

[0099] The coefficient group includes coefficients corresponding to hard disk read bandwidth, hard disk write bandwidth, host read bandwidth, and host write bandwidth.

[0100] For example, taking the historical power consumption value as an example, which shows a linear correlation with the corresponding historical hard disk read bandwidth, historical hard disk write bandwidth, historical host read bandwidth, and historical host write bandwidth, that is... In the first iteration, the first historical power consumption group, the corresponding historical hard disk read bandwidth, historical hard disk write bandwidth, historical host read bandwidth, and historical host write bandwidth can be determined. , , , The initial values ​​of the four coefficients are used to obtain the first set of intermediate coefficients.

[0101] S305, in the i-th iteration round, based on the intermediate coefficient group generated in the (i-1)-th iteration round, the i-th historical power consumption group, the historical hard disk read bandwidth, historical hard disk write bandwidth, historical host read bandwidth, and historical host write bandwidth corresponding to the i-th historical power consumption group, the intermediate coefficient group for the i-th iteration round is generated.

[0102] Where i > 1 and is a positive integer.

[0103] In one example, the main control unit generates the i-th set of intermediate calculated values ​​based on the i-th historical power consumption group, the historical hard disk read bandwidth, historical hard disk write bandwidth, historical host read bandwidth, and historical host write bandwidth corresponding to the i-th historical power consumption group; and obtains the intermediate coefficient group of the i-th iteration based on the i-th set of intermediate calculated values ​​and the intermediate coefficient group generated in the (i-1)-th iteration round.

[0104] Specifically, the intermediate coefficient set generated in the (i-1)th iteration includes , , , For example, the main control unit generates intermediate calculated values ​​for the i-th group based on the i-th historical power consumption group, the corresponding historical hard disk read bandwidth, historical hard disk write bandwidth, historical host read bandwidth, and historical host write bandwidth. The intermediate calculated values ​​for the i-th group include... , , , The intermediate coefficient set for the i-th iteration is calculated according to the preset algorithm.

[0105] The expression of the preset algorithm can be found in the following formula:

[0106]

[0107]

[0108]

[0109]

[0110] in, The coefficient corresponding to the hard disk read bandwidth calculated for the i-th iteration; The coefficient corresponding to the hard disk write bandwidth calculated for the i-th iteration; The coefficient corresponding to the host read bandwidth calculated for the i-th iteration round; The coefficient corresponding to the host write bandwidth calculated for the i-th iteration round; These are the weight values ​​corresponding to the intermediate coefficient group; This represents the weight value corresponding to the intermediate calculated value.

[0111] S306, when the number of iterations to be executed is determined to be equal to M, the corresponding Mth intermediate coefficient group is determined to be generated, and the Mth intermediate coefficient group is used as the target coefficient group corresponding to the first linear relationship.

[0112] The target coefficient group includes the first coefficient, the second coefficient, the third coefficient, and the fourth coefficient.

[0113] S307 generates a first linear relationship based on the target coefficient group, hard disk read bandwidth, hard disk write bandwidth, host read bandwidth, host write bandwidth, and the power consumption of the solid-state drive in the next cycle.

[0114] For example, a first linear relationship is generated based on the first coefficient, the second coefficient, the third coefficient, the fourth coefficient, the hard disk read bandwidth, the hard disk write bandwidth, the host read bandwidth, the host write bandwidth, and the power consumption value of the solid-state drive in the next cycle.

[0115] Understandably, host bandwidth information reflects the pressure on the host when accessing the SSD. Ultimately, this access translates into access to the flash memory within the SSD, and to a lesser extent, access to the SSD's cache. When the host reads and writes to the SSD, it triggers the operation of the SSD's controller unit, causing computation. This operation, along with the operation of the controller unit and flash memory, determines the primary source of power consumption. Therefore, by establishing a linear relationship between power consumption and host and SSD performance (bandwidth information), the power consumption value for the next cycle can be accurately predicted.

[0116] based on Figure 3 The method shown allows for the accurate prediction of SSD power consumption in the next cycle by using the host bandwidth information and hard disk bandwidth information. This is because the host bandwidth directly reflects the host's access pressure on the SSD, while the hard disk bandwidth reflects the SSD's actual input / output processing capability.

[0117] Based on any of the foregoing embodiments, before predicting the second temperature value of the solid-state drive in the next cycle according to the first power consumption value, the first temperature value, and the second linear relationship, it is necessary to pre-establish the second linear relationship. This may include the following method steps, see details below. Figure 4 As shown, Figure 4 A flowchart illustrating the method for establishing a second linear relationship provided in this application embodiment includes:

[0118] S401 retrieves the historical temperature values ​​of the solid-state drive for each of multiple historical periods.

[0119] For details on how to obtain historical temperature values, please refer to [link to relevant documentation]. Figure 2 Step S201 of the illustrated embodiment will not be described again here.

[0120] S402, calculate the historical temperature difference between the temperature value in the j-th historical period and the temperature value in the (j-1)-th historical period to obtain the historical temperature difference in the j-th historical period.

[0121] Where j > 1 and is a positive integer.

[0122] S403, based on the historical temperature difference and historical power consumption value in the j-th historical period, and the historical temperature difference and historical power consumption value in the (j-1)-th historical period, determine the initial coefficient corresponding to the power consumption value of the solid-state drive in the j-th historical period.

[0123] In one example, based on the first algorithm, the initial coefficient corresponding to the power consumption value of the solid-state drive in the j-th historical period is determined according to the historical temperature difference and historical power consumption value in the j-th historical period, and the historical temperature difference and historical power consumption value in the (j-1)-th historical period.

[0124] The first algorithm is expressed in the following formula:

[0125]

[0126] in, The initial coefficients corresponding to the power consumption value of the solid-state drive in the j-th historical period; The historical temperature difference of the solid-state drive within the j-th historical period; The historical temperature difference of the solid-state drive within the (j-1)th historical period; The historical power consumption value of the solid-state drive during the j-th historical period; This represents the historical power consumption value of the solid-state drive during the (j-1)th historical period.

[0127] S404 determines the fifth coefficient corresponding to the power consumption value of the solid-state drive in the current period based on the initial coefficient corresponding to the power consumption value of the solid-state drive in each historical period within multiple historical periods.

[0128] In one example, the average value of the initial coefficients corresponding to the power consumption value of the solid-state drive in each historical period is calculated to determine the fifth coefficient corresponding to the power consumption value of the solid-state drive in the current period.

[0129] S405, based on the historical temperature difference and historical power consumption value within the j-th historical period, and the fifth coefficient, determine the constant value corresponding to the j-th historical period.

[0130] In one example, based on the second algorithm, the constant value corresponding to the j-th historical period is determined according to the historical temperature difference and historical power consumption value within the j-th historical period, as well as the fifth coefficient.

[0131] The expression of the second algorithm is shown in the following formula:

[0132]

[0133] in, This is the constant value corresponding to the j-th historical period. It is the fifth coefficient.

[0134] S406, determine the target constant value for the current period based on the constant value corresponding to each historical period within multiple historical periods.

[0135] In one example, the main control unit calculates the average value of the constant values ​​corresponding to each historical period within multiple historical periods to obtain the target constant value corresponding to the current period.

[0136] S407 establishes a second linear relationship based on the fifth coefficient, the target constant value, the power consumption value of the solid-state drive in the next cycle, and the temperature difference between the temperature value of the solid-state drive in the current cycle and the temperature value of the solid-state drive in the next cycle.

[0137] based on Figure 4 This method, by determining the impact coefficient of power consumption changes on temperature changes based on historical temperature differences and power consumption values, and thus establishing a linear correlation between the power consumption value in the next cycle and the temperature difference between the current cycle's SSD temperature value and the next cycle's SSD temperature value, can more accurately reflect the actual power consumption and temperature change patterns of the SSD. Predicting temperature changes based on expected power consumption values, or deducing the allowable power consumption limit based on the target temperature difference, can prevent excessively high temperatures from causing SSD throttling or disk failure, and can also prevent excessive power consumption control from sacrificing SSD performance.

[0138] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.

[0139] Embodiments of this application also provide a power consumption control device for a solid-state drive, such as... Figure 5 As shown, Figure 5 This application provides a block diagram of a power consumption control device for a solid-state drive (SSD). The SSD power consumption control device includes an acquisition module 501, used to acquire the first temperature value of the SSD, the first hard disk bandwidth information, and the first host bandwidth information of the host in the current period.

[0140] The prediction module 502 is used to predict a first power consumption value of the solid-state drive (SSD) in the next cycle based on first hard disk bandwidth information, first host bandwidth information, and a first linear relationship. The first linear relationship indicates the linear relationship between the SSD's power consumption value and the hard disk bandwidth information and the host bandwidth information. Based on the first power consumption value, a first temperature value, and a second linear relationship, the module predicts a second temperature value of the SSD in the next cycle. The second linear relationship indicates the linear relationship between the SSD's power consumption value and the temperature difference between two adjacent cycles.

[0141] The processing module 503 is used to determine the expected power consumption of the solid-state drive in the next cycle based on the temperature difference between the first temperature value and the temperature threshold or a preset temperature difference when the second temperature value is greater than the temperature threshold; adjust the first hard disk bandwidth information to the second hard disk bandwidth information and adjust the first host bandwidth information to the second host bandwidth information according to the expected power consumption value and the first linear relationship; and determine the receiving speed of receiving read and write commands from the host according to the second hard disk bandwidth information and the second host bandwidth information, so as to receive read and write commands according to the receiving speed to control the power consumption of the solid-state drive.

[0142] In some optional implementations, the hard disk bandwidth information includes hard disk read bandwidth and hard disk write bandwidth; the host bandwidth information includes host read bandwidth and host write bandwidth; the expression of the first linear relationship is shown in the following formula:

[0143]

[0144] in, This indicates the power consumption of the solid-state drive in the next cycle; This indicates the hard drive read bandwidth within the current period; This represents the first coefficient corresponding to the hard drive read bandwidth; This indicates the hard drive write bandwidth within the current cycle; This represents the second coefficient corresponding to the hard drive write bandwidth; This indicates the host read bandwidth within the current period; This represents the third coefficient corresponding to the host read bandwidth; This indicates the host's write bandwidth within the current period; This represents the fourth coefficient corresponding to the host write bandwidth.

[0145] In some optional implementations, before predicting the first power consumption value of the solid-state drive (SSD) in the next cycle based on the first hard disk bandwidth information, the first host bandwidth information, and the first linear relationship, the acquisition module 501 is further configured to acquire the voltage and current of the SSD at each moment in each historical cycle, as well as the historical hard disk read bandwidth, historical hard disk write bandwidth, historical host read bandwidth, and historical host write bandwidth of the SSD in each historical cycle; the processing module 503 is further configured to determine the historical power consumption value of the SSD in each historical cycle based on the voltage and current at each moment; and divide the multiple historical power consumption values ​​into M historical power consumption groups, each historical power consumption group including a preset number of historical power consumption values, where M is a positive integer. In the first iteration, based on the first historical power consumption group, the historical hard disk read bandwidth, historical hard disk write bandwidth, historical host read bandwidth, and historical host write bandwidth corresponding to the first historical power consumption group, an intermediate coefficient group for the first iteration is generated. The coefficient group includes the coefficients corresponding to the hard disk read bandwidth, the hard disk write bandwidth, the host read bandwidth, and the host write bandwidth. In the i-th iteration, based on the intermediate coefficient group generated in the (i-1)-th iteration, and the i-th historical power consumption group, the historical hard disk read bandwidth, historical hard disk write bandwidth, historical host read bandwidth, and historical host write bandwidth corresponding to the i-th historical power consumption group, an intermediate coefficient group for the i-th iteration is generated, where i > 1 and is a positive integer.

[0146] When the number of iterations to be executed is determined to be equal to M, the corresponding Mth intermediate coefficient group is generated, and the Mth intermediate coefficient group is used as the target coefficient group corresponding to the first linear relationship. The target coefficient group includes the first coefficient, the second coefficient, the third coefficient, and the fourth coefficient. Based on the target coefficient group, the hard disk read bandwidth, the hard disk write bandwidth, the host read bandwidth, the host write bandwidth, and the power consumption value of the solid-state drive, the first linear relationship is generated.

[0147] In some optional implementations, the processing module 503 is specifically used to determine the initial power consumption value of the solid-state drive at each moment based on the voltage and current at each moment; to filter the multiple initial power consumption values ​​to obtain the filtered power consumption value of the solid-state drive at each moment in multiple moments within each historical period; and to calculate the average value of the multiple filtered power consumption values ​​to obtain the historical power consumption value of the solid-state drive within each historical period.

[0148] In some alternative implementations, the second linear relationship is expressed as shown in the following formula:

[0149]

[0150] in, This indicates the temperature difference between the solid-state drive's temperature value in the current cycle and the solid-state drive's temperature value in the next cycle; This indicates the predicted power consumption of the solid-state drive in the next cycle; The fifth coefficient represents the power consumption value of the solid-state drive in the current period; This represents the target constant value.

[0151] In some optional implementations, before predicting the second temperature value of the solid-state drive in the next cycle based on the first power consumption value, the first temperature value, and the second linear relationship, the acquisition module 501 is further configured to acquire the historical temperature value of the solid-state drive in each of multiple historical cycles.

[0152] The processing module 503 is further configured to calculate the historical temperature difference between the temperature value in the j-th historical period and the temperature value in the (j-1)-th historical period, obtaining the historical temperature difference in the j-th historical period, where j > 1 and is a positive integer; determine the initial coefficient corresponding to the power consumption value of the solid-state drive in the j-th historical period based on the historical temperature difference and historical power consumption value in the j-th historical period, and the historical temperature difference and historical power consumption value in the (j-1)-th historical period; determine the fifth coefficient corresponding to the power consumption value of the solid-state drive in the current period based on the initial coefficient corresponding to the power consumption value of the solid-state drive in each historical period within multiple historical periods; determine the constant value corresponding to the j-th historical period based on the historical temperature difference and historical power consumption value in the j-th historical period, and the fifth coefficient; determine the target constant value corresponding to the current period based on the constant value corresponding to each historical period within multiple historical periods; and establish a second linear relationship based on the fifth coefficient, the target constant value, the power consumption value of the solid-state drive in the next period, and the temperature difference between the temperature value of the solid-state drive in the current period and the temperature value of the solid-state drive in the next period.

[0153] In some optional implementations, the first hard disk bandwidth information includes the first hard disk read bandwidth and the first hard disk write bandwidth; the first host bandwidth information includes the first host read bandwidth and the first host write bandwidth; the processing module 503 is specifically used to adjust at least one of the first hard disk read bandwidth, the first hard disk write bandwidth, the first host read bandwidth, and the first host write bandwidth according to a preset ratio based on the first linear relationship and the expected power consumption value, to obtain the adjusted second hard disk read bandwidth, the second hard disk write bandwidth, the second host read bandwidth, and the second host write bandwidth, wherein the second hard disk read bandwidth, the second hard disk write bandwidth, the second host read bandwidth, and the second host write bandwidth meet preset conditions, the preset conditions being that the target power consumption value of the solid-state drive is determined based on the first linear relationship, the second hard disk read bandwidth, the second hard disk write bandwidth, the second host read bandwidth, and the second host write bandwidth, and the target power consumption value is less than or equal to the expected power consumption value.

[0154] In some optional implementations, the solid-state drive consists of a main control unit, flash memory, and cache; the acquisition module 501 is specifically used to acquire the main control temperature value of the main control unit, the flash memory temperature value of the flash memory, and the cache temperature value of the cache; and to determine the first temperature value of the solid-state drive in the current period based on the main control temperature value, a first preset weight corresponding to the main control temperature value, the flash memory temperature value, a second preset weight corresponding to the flash memory temperature value, the cache temperature value, and a third preset weight corresponding to the cache temperature value.

[0155] In some optional implementations, the first hard disk bandwidth information includes the first hard disk read bandwidth and the first hard disk write bandwidth; the first host bandwidth information includes the first host read bandwidth and the first host write bandwidth; the acquisition module 501 is specifically used to receive a first type of read command, a first type of write command, a second type of read command, and a second type of write command sent by the host in the current period. The first type of read command is used to instruct the host to perform a read operation from the flash memory, the first type of write command is used to instruct the host to perform a write operation in the flash memory, the second type of read command is used to instruct the host to perform a read operation from the cache, and the second type of write command is used to instruct the host to perform a write operation in the cache; the number of data to be read corresponding to the first type of read command is counted to obtain the first hard disk read bandwidth; the number of data to be written corresponding to the first type of write command is counted to obtain the first hard disk write bandwidth; the number of data to be read corresponding to the second type of read command is counted to obtain the first host read bandwidth; and the number of data to be written corresponding to the second type of write command is counted to obtain the first host write bandwidth.

[0156] For a description of the features of the solid-state drive power control device in the corresponding embodiment, please refer to the relevant description of the solid-state drive power control method in the corresponding embodiment, which will not be repeated here.

[0157] Embodiments of this application also provide an electronic device, such as... Figure 6 As shown, Figure 6 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application. The electronic device includes a processor 10 and a memory 20, in which a computer program is stored. The processor 10 is configured to run the computer program to execute the steps in any of the above-described embodiments of the power consumption control method for solid-state drives.

[0158] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above embodiments of the power consumption control method for solid-state drives when it is run.

[0159] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0160] The embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above embodiments of the power consumption control method for solid-state drives.

[0161] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the above-described embodiments of the power consumption control method for solid-state drives.

[0162] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0163] The power consumption control method and electronic device for a solid-state drive provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only intended to help understand the method and core ideas of this application. It should be noted that those skilled in the art can make several improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A method for controlling the power consumption of a solid-state drive, characterized in that, The method includes: The voltage and current of the solid-state drive (SSD) at each time point within each historical period are obtained, as well as the historical read bandwidth, historical write bandwidth, historical read bandwidth, and historical write bandwidth of the SSD in each historical period. Based on the voltage and current at each said moment, determine the historical power consumption value of the solid-state drive within each said historical period; The multiple historical power consumption values ​​are divided into M historical power consumption groups, and each historical power consumption group includes a preset number of historical power consumption values, where M is a positive integer. In the first iteration round, based on the first historical power consumption group, the historical hard disk read bandwidth, historical hard disk write bandwidth, historical host read bandwidth, and historical host write bandwidth corresponding to the first historical power consumption group, an intermediate coefficient group for the first iteration round is generated. The coefficient group includes the coefficients corresponding to the hard disk read bandwidth, the hard disk write bandwidth, the host read bandwidth, and the host write bandwidth. In the i-th iteration round, based on the intermediate coefficient group generated in the (i-1)-th iteration round, and the i-th historical power consumption group, the historical hard disk read bandwidth, historical hard disk write bandwidth, historical host read bandwidth, and historical host write bandwidth corresponding to the i-th historical power consumption group, the intermediate coefficient group for the i-th iteration round is generated, where i > 1 and is a positive integer; When the number of iterations executed is determined to be equal to M, the corresponding Mth intermediate coefficient group is generated, and the Mth intermediate coefficient group is used as the target coefficient group corresponding to the first linear relationship. The first linear relationship is generated based on the target coefficient set, the hard disk read bandwidth, the hard disk write bandwidth, the host read bandwidth, the host write bandwidth, and the power consumption value of the solid-state drive; Obtain the first temperature value of the solid-state drive, the first hard drive bandwidth information, and the first host bandwidth information of the host within the current period; Based on the first hard disk bandwidth information, the first host bandwidth information, and the first linear relationship, the first power consumption value of the solid-state drive in the next cycle is predicted. The first linear relationship is used to indicate the linear relationship between the power consumption value of the solid-state drive and the hard disk bandwidth information and the host bandwidth information. Based on the first power consumption value, the first temperature value, and the second linear relationship, the second temperature value of the solid-state drive in the next cycle is predicted. The second linear relationship is used to indicate the linear relationship between the power consumption value of the solid-state drive and the temperature difference between two adjacent cycles. When the second temperature value is greater than the temperature threshold, the expected power consumption value of the solid-state drive in the next cycle is determined based on the second linear relationship according to the temperature difference between the first temperature value and the temperature threshold or the preset temperature difference. Based on the expected power consumption value and the first linear relationship, the first hard disk bandwidth information is adjusted to the second hard disk bandwidth information, and the first host bandwidth information is adjusted to the second host bandwidth information. Based on the second hard disk bandwidth information and the second host bandwidth information, the receiving speed for receiving read and write commands from the host is determined, so as to receive the read and write commands according to the receiving speed, thereby controlling the power consumption of the solid-state drive.

2. The method according to claim 1, characterized in that, The target coefficient group includes a first coefficient, a second coefficient, a third coefficient, and a fourth coefficient; the hard disk bandwidth information includes hard disk read bandwidth and hard disk write bandwidth; the host bandwidth information includes host read bandwidth and host write bandwidth; the expression of the first linear relationship is shown in the following formula: P = α×A + β×B + γ×C + δ×D Wherein, P represents the power consumption of the solid-state drive in the next cycle; A represents the read bandwidth of the hard drive in the current cycle; α represents the first coefficient corresponding to the read bandwidth of the hard drive; B represents the write bandwidth of the hard drive in the current cycle; β represents the second coefficient corresponding to the write bandwidth of the hard drive; C represents the read bandwidth of the host in the current cycle; γ represents the third coefficient corresponding to the read bandwidth of the host; D represents the write bandwidth of the host in the current cycle; and δ represents the fourth coefficient corresponding to the write bandwidth of the host.

3. The method according to claim 2, characterized in that, The step of determining the historical power consumption value of the solid-state drive within each historical period based on the voltage and current at each time point includes: Based on the voltage and current at each said moment, determine the initial power consumption value of the solid-state drive at each said moment; The initial power consumption values ​​are filtered to obtain the filtered power consumption value of the solid-state drive at each of the multiple times within each historical period. The average value of the multiple filtered power consumption values ​​is calculated to obtain the historical power consumption value of the solid-state drive in each historical period.

4. The method according to claim 1, characterized in that, The second linear relationship can be expressed in the following formula: in, This indicates the temperature difference between the temperature value of the solid-state drive in the current cycle and the temperature value of the solid-state drive in the next cycle; This indicates the predicted power consumption value of the solid-state drive in the next cycle; The fifth coefficient represents the power consumption value of the solid-state drive during the current period; This represents the target constant value.

5. The method according to claim 4, characterized in that, Before predicting the second temperature value of the solid-state drive in the next cycle based on the first power consumption value, the first temperature value, and the second linear relationship, the method further includes: Obtain the historical temperature value of the solid-state drive within each of multiple historical periods; Calculate the historical temperature difference between the temperature value in the j-th historical period and the temperature value in the (j-1)-th historical period to obtain the historical temperature difference in the j-th historical period, where j > 1 and is a positive integer; Based on the historical temperature difference and historical power consumption value in the j-th historical period, and the historical temperature difference and historical power consumption value in the (j-1)-th historical period, determine the initial coefficient corresponding to the power consumption value of the solid-state drive in the j-th historical period; Based on the initial coefficient corresponding to the power consumption value of the solid-state drive in each of the multiple historical periods, the fifth coefficient corresponding to the power consumption value of the solid-state drive in the current period is determined; Based on the historical temperature difference and historical power consumption value within the j-th historical period, and the fifth coefficient, determine the constant value corresponding to the j-th historical period; The target constant value corresponding to the current period is determined based on the constant value corresponding to each of the multiple historical periods. The second linear relationship is established based on the fifth coefficient, the target constant value, the power consumption value of the solid-state drive in the next cycle, and the temperature difference between the temperature value of the solid-state drive in the current cycle and the temperature value of the solid-state drive in the next cycle.

6. The method according to claim 1, characterized in that, The first hard disk bandwidth information includes the first hard disk read bandwidth and the first hard disk write bandwidth; the first host bandwidth information includes the first host read bandwidth and the first host write bandwidth; the step of adjusting the first hard disk bandwidth information to the second hard disk bandwidth information and adjusting the first host bandwidth information to the second host bandwidth information according to the expected power consumption value and the first linear relationship includes: Based on the first linear relationship and the expected power consumption value, at least one of the first hard disk read bandwidth, the first hard disk write bandwidth, the first host read bandwidth, and the first host write bandwidth is adjusted according to a preset ratio to obtain the adjusted second hard disk read bandwidth, the second hard disk write bandwidth, the second host read bandwidth, and the second host write bandwidth. The second hard disk read bandwidth, the second hard disk write bandwidth, the second host read bandwidth, and the second host write bandwidth meet a preset condition. The preset condition is that, based on the first linear relationship, the second hard disk read bandwidth, the second hard disk write bandwidth, the second host read bandwidth, and the second host write bandwidth, the target power consumption value of the solid-state drive is determined, and the target power consumption value is less than or equal to the expected power consumption value.

7. The method according to claim 1, characterized in that, The solid-state drive (SSD) consists of a controller unit, flash memory, and cache; obtaining the first temperature value of the SSD within the current period includes: The main control temperature value of the main control unit, the flash memory temperature value of the flash memory, and the cache temperature value of the cache are obtained. The first temperature value of the solid-state drive in the current period is determined based on the main controller temperature value, the first preset weight corresponding to the main controller temperature value, the flash memory temperature value, the second preset weight corresponding to the flash memory temperature value, the cache temperature value, and the third preset weight corresponding to the cache temperature value.

8. The method according to claim 7, characterized in that, The first hard disk bandwidth information includes the first hard disk read bandwidth and the first hard disk write bandwidth; the first host bandwidth information includes the first host read bandwidth and the first host write bandwidth; obtaining the first hard disk bandwidth information of the solid-state drive and the first host bandwidth information of the host within the current period includes: Within the current period, the host sends a first type of read command, a first type of write command, a second type of read command, and a second type of write command. The first type of read command instructs the host to perform a read operation from the flash memory, the first type of write command instructs the host to perform a write operation in the flash memory, the second type of read command instructs the host to perform a read operation from the cache, and the second type of write command instructs the host to perform a write operation in the cache. The first hard disk read bandwidth is obtained by counting the number of data to be read corresponding to the first type of read command; the first hard disk write bandwidth is obtained by counting the number of data to be written corresponding to the first type of write command; the first host read bandwidth is obtained by counting the number of data to be read corresponding to the second type of read command; and the first host write bandwidth is obtained by counting the number of data to be written corresponding to the second type of write command.

9. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the power consumption control method of the solid-state drive as described in any one of claims 1 to 8 when executing the computer program.

Citation Information

Patent Citations

  • Control method of many-core processor, server and storage medium

    CN120103936A

  • Power consumption optimization method and device for solid state disk controller, equipment and medium

    CN120406851A