Power consumption monitoring method and power consumption monitoring system for solid state disk and storage medium
By adding timestamps to request commands and generating power traceability files, the problems of power consumption being untraceable and lacking granular insight in existing technologies are solved, enabling precise positioning and power consumption optimization of NAND flash memory operations.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN SHICHUANGYI ELECTRONICS CO LTD
- Filing Date
- 2025-12-08
- Publication Date
- 2026-05-05
AI Technical Summary
Existing technologies cannot accurately pinpoint the NAND flash memory operations that cause power fluctuations in solid-state drives, resulting in a lack of precise targets for power optimization and power consumption tests failing to reflect real-world application scenarios.
By adding timestamps to request commands, NAND flash memory operation instructions are identified and timestamped. Combined with the instantaneous power consumption of the solid-state drive, a power consumption traceability file is generated, achieving a precise correspondence between NAND operations and power consumption.
It enables precise location of power consumption fluctuations, provides accurate power consumption optimization data support, and can accurately evaluate the power consumption performance of solid-state drives in target applications.
Smart Images

Figure CN121979737A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of solid-state drive (SSD) technology, and in particular to a power consumption monitoring method, power consumption monitoring system, and storage medium for SSDs. Background Technology
[0002] SSD (Solid State Disk or Solid State Drive) is a new type of storage medium that uses NAND flash memory for data storage. Compared with traditional HDD (Hard Disk Drive), it has the advantages of high performance and low latency.
[0003] Solid-state drives (SSDs) power consumption is a key performance indicator, especially in data centers and mobile computing, directly impacting operating costs and battery life. Current SSD power consumption testing technologies are primarily based on maximum power consumption testing methods, focusing on measuring and visualizing maximum power consumption through sequential read / write operations under power states such as PS0 and PS1. However, this approach lacks source identification; it cannot pinpoint the specific underlying NAND flash memory operations or firmware background tasks that cause system-level power consumption fluctuations, leaving power optimization efforts without precise targets. Summary of the Invention
[0004] The purpose of this application is to provide a power consumption monitoring method, power consumption monitoring system, and storage medium for solid-state drives, so as to accurately locate the NAND flash memory operation that causes power consumption fluctuations and provide direct data support for power consumption optimization.
[0005] This application discloses a method for monitoring the power consumption of a solid-state drive, including the following steps: Send a request command with a timestamp; Receive the request command and generate the corresponding NAND operation instructions; Identify the NAND operation commands received by the NAND chips in the solid-state drive and timestamp the NAND operation commands; Calculate the instantaneous power consumption of the solid-state drive and timestamp the instantaneous power consumption; and By combining the request command, the NAND operation instruction, the instantaneous power consumption of the solid-state drive, and the corresponding timestamp, a power consumption traceability file is generated.
[0006] Optionally, the step of issuing a timestamped request command includes: Establish a load model library; At least one test load is retrieved from the load model library according to preset instructions to form a preset usage scenario; Generate a request command with a timestamp based on the preset usage scenario.
[0007] Optionally, the step of retrieving at least one test load from the load model library according to preset instructions to form a preset use scenario includes: Monitor and record the real-world applications involved in the execution of preset commands; Retrieve the test load corresponding to the real application from the load model library; and Based on the test load, a preset usage scenario is formed.
[0008] Optionally, the step of identifying NAND operation commands received by NAND chips in the solid-state drive and timestamping the NAND operation commands includes: The controller chip in the solid-state drive receives the request command, generates corresponding NAND operation instructions, and sends the NAND operation instructions to the corresponding NAND chip; Listen to and analyze the communication bus between the main control chip and the NAND flash memory, and identify the NAND operation commands received by the NAND flash memory; and Extract the NAND operation instructions and timestamp them.
[0009] Optionally, the communication bus between the main control chip and the NAND flash memory can be monitored and analyzed using hardware probes.
[0010] Optionally, the power consumption traceability file includes a two-dimensional coordinate system, a trend line, and multiple marker texts. The horizontal axis of the two-dimensional coordinate system represents time, and the vertical axis of the two-dimensional coordinate system represents the instantaneous power consumption of the solid-state drive. The trend line is located in the two-dimensional coordinate system, and the marker text is located at the peak or abnormal fluctuation of the trend line. The marker text includes the request command and the NAND operation instruction.
[0011] Optionally, after the step of generating a power consumption traceability file by combining the request command, the NAND operation instruction, the instantaneous power consumption of the solid-state drive, and the corresponding timestamp, the method further includes: The system stores power traceability files for multiple different types of the requested commands; and Based on the power consumption traceability files of multiple different types of the requested commands, the total time spent executing each requested command, the power consumption generated by executing each requested command, the number of times the trend line in each power consumption traceability file shows a spike or abnormal fluctuation and the average power consumption, and the power consumption percentage of all spikes or abnormal fluctuations in the trend line in each power consumption traceability file, and a contribution report is generated.
[0012] Optionally, the timestamps of the request command, the NAND operation instruction, and the instantaneous power consumption of the solid-state drive adopt a unified benchmark and are timed simultaneously.
[0013] This application also discloses a power consumption monitoring system for a solid-state drive (SSD), employing the power consumption monitoring method for SSDs described above. The power consumption monitoring system includes a load generator, a probe, a power meter, and a display. The load generator is used to issue a request command with a timestamp. The probe is used to identify NAND operation instructions received by the NAND flash memory chips in the SSD and timestamp the NAND operation instructions. The power meter is used to measure the current and voltage of the SSD to calculate the instantaneous power consumption of the SSD. The display is used to combine the request command, the NAND operation instructions, the instantaneous power consumption of the SSD, and the corresponding timestamps to generate and display a power consumption traceability file.
[0014] This application also discloses a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in the power consumption monitoring method for solid-state drives as described above.
[0015] The beneficial effects of this application's embodiments are as follows: This application's embodiments timestamp request commands, then obtain NAND operation instructions received by the NAND chips and timestamp those instructions, then obtain the instantaneous power consumption of the solid-state drive and timestamp that power consumption, and finally combine the request commands, NAND operation instructions, instantaneous power consumption of the solid-state drive, and corresponding timestamps to generate a power consumption traceability file. This power consumption traceability file reflects the power consumption corresponding to each NAND operation instruction and each request command, accurately correlating the solid-state drive power consumption with the underlying NAND operations on a timeline. This enables precise location of the NAND chips causing power fluctuations, accurate identification of power hotspots, and provides direct data support for power consumption optimization. Furthermore, it transforms power consumption testing from a laboratory indicator to a predictive indicator, accurately evaluating the power consumption performance of the solid-state drive in target applications. Attached Figure Description
[0016] The accompanying drawings, which form part of the specification, are used to provide a further understanding of the embodiments of this application and illustrate the implementation methods of this application, together with the textual description, to explain the principles of this application. Obviously, the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any creative effort. In the drawings: Figure 1This is a flowchart of a power consumption monitoring method for a solid-state drive provided in the first embodiment of this application; Figure 2 Based on Figure 1 A specific flowchart; Figure 3 Based on Figure 2 A specific flowchart; Figure 4 Based on Figure 1 A specific flowchart; Figure 5 This is a flowchart of another solid-state drive power consumption monitoring method provided in the first embodiment of this application; Figure 6 This is a schematic diagram of a power consumption monitoring system for a solid-state drive provided in the second embodiment of this application; Figure 7 This is a schematic diagram of a computer-readable storage medium provided in the third embodiment of this application.
[0017] Among them, 10 is a power consumption monitoring system; 20 is a computer-readable storage medium; 21 is a computer program; 30 is a processor; 100 is a load generator; 200 is a probe; 300 is a power meter; and 400 is a display. Detailed Implementation
[0018] It should be understood that the terminology, specific structural and functional details used herein are merely for describing particular embodiments and are representative. However, this application may be implemented in many alternative forms and should not be construed as being limited to the embodiments set forth herein.
[0019] Furthermore, unless otherwise explicitly specified and limited, "connected" or "linked" should be interpreted broadly. For example, it can refer to a fixed connection, a detachable connection, or an integral connection; it can refer to a mechanical connection or an electrical connection; it can refer to a direct connection or an indirect connection through an intermediate medium, or a connection within two components. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.
[0020] The present application will now be described in detail with reference to the accompanying drawings and optional embodiments.
[0021] Current SSD power consumption testing technologies are primarily based on maximum power consumption testing methods for solid-state drives. These methods mainly focus on measuring and visualizing maximum power consumption through sequential read / write operations under power states such as PS0 and PS1. However, these technologies have three main limitations. First, the test load is singular. Existing technologies rely on standard loads such as sequential read / write, which cannot simulate the random, mixed, and dynamically changing I / O patterns in real-world applications, resulting in test results that are out of touch with actual usage scenarios. Second, there is no way to trace the source. Existing technologies treat the SSD as a whole for power consumption measurement, which is a "black box" test. It is impossible to understand which underlying NAND flash memory operations (such as Page Program, Block Erase, Read) or firmware background tasks (such as garbage collection) cause the system-level power consumption fluctuations. Third, there is a lack of granular insight. It is impossible to correlate power consumption with specific NAND flash memory, making power optimization work lack precise targets and hindering in-depth firmware algorithm optimization and NAND flash memory selection.
[0022] To address the aforementioned problems, the first embodiment of this application provides a method for monitoring the power consumption of a solid-state drive (SSD), such as... Figure 1 As shown, the power consumption monitoring method includes the following steps: S1: Send a request command with a timestamp; S2: Receive the request command and generate the corresponding NAND operation instructions; S3: Identify the NAND operation commands received by the NAND chips in the solid-state drive, and timestamp the NAND operation commands; S4: Calculate the instantaneous power consumption of the solid-state drive and timestamp the instantaneous power consumption; S5: Combine the request command, the NAND operation instruction, the instantaneous power consumption of the solid-state drive, and the corresponding timestamp to generate a power consumption traceability file.
[0023] This application's embodiments generate a power consumption traceability file by timestamping request commands, acquiring NAND operation instructions received by the NAND chips, timestamping these instructions, acquiring the instantaneous power consumption of the solid-state drive (SSD), and timestamping this instantaneous power consumption. Finally, by combining the request commands, NAND operation instructions, SSD instantaneous power consumption, and corresponding timestamps, a power consumption traceability file is generated. This file reflects the power consumption corresponding to each NAND operation instruction and each request command, precisely mapping SSD power consumption to the underlying NAND operations on a timeline. This allows for accurate identification of NAND chips causing power fluctuations and precise pinpointing of power hotspots, providing direct data support for power consumption optimization. Furthermore, it transforms power consumption testing from a laboratory indicator to a predictive indicator, accurately assessing the SSD's power consumption performance in target applications.
[0024] Therefore, the solution of this application can solve the problems of power consumption traceability and lack of granular insight in the current SSD power consumption testing technology. Specifically, this application can capture the most fundamental source of power consumption change (that is, NAND granular operation commands) to achieve power consumption traceability. By establishing a high-precision time synchronization correlation model between solid-state drive power consumption and NAND operation commands, i.e., power consumption traceability trajectory file, the solid-state drive power consumption and the underlying NAND operation are accurately correlated on the timeline to gain insight into the NAND chips. This gives subsequent power consumption optimization work a precise target, thereby enabling in-depth firmware algorithm optimization and NAND chip selection.
[0025] In this embodiment of the application, the timestamp of the request command, the timestamp of the NAND operation instruction, and the timestamp of the instantaneous power consumption of the solid-state drive adopt a unified benchmark. That is, the time format and timing method of the three timestamps are the same, and they are timed simultaneously to ensure the uniformity of the three timestamps. This allows the request command, the NAND operation instruction, and the instantaneous power consumption of the solid-state drive to correspond at each point in time, thereby enabling power consumption traceability of the NAND operation instruction or firmware background task.
[0026] like Figure 2 As shown, in some embodiments, step S1 includes: S11: Establish a load model library; S12: Retrieve at least one test load from the load model library according to the preset instructions to form a preset usage scenario; S13: Generate a request command with a timestamp based on the preset usage scenario.
[0027] Compared to current solutions that use fixed test loads for power consumption testing, this application embodiment establishes a load model library with multiple test loads. It can retrieve test loads from the load model library according to preset instructions to form preset usage scenarios, thereby generating request commands, instead of request commands generated by a fixed test load. Therefore, this application embodiment, by introducing a dynamic and configurable load model library to replace a single fixed load, can simulate random, mixed, and dynamically changing I / O patterns in real-world applications, solving the problems of single test loads, overly idealized loads, and inability to reflect real-world power consumption in existing technologies.
[0028] like Figure 3 As shown, further, step S12 includes: S121: Monitor and record the actual applications involved in the execution of preset instructions; S122: Retrieve the test load corresponding to the real application from the load model library; S123: Based on the test load, a preset usage scenario is formed.
[0029] The load model library constructed in this application embodiment can record and replay I / O trace files of real applications (such as databases, virtual machines, compilers, etc.). Specifically, it monitors the program's execution, recording file write and read sizes. In other words, real applications include both file write and read sizes. Furthermore, the engine of this load model library can dynamically synthesize highly realistic test loads based on user-configured mixing ratios, queue depths, and randomness parameters, rather than executing fixed scripts.
[0030] Specifically, the load generator retrieves test loads from the load model library, which then forms preset use cases based on these loads. Next, the load generator generates timestamped request commands (i.e., I / O request sequences) according to the preset use cases and sends them to the solid-state drive.
[0031] In other embodiments, instead of building a load model library, the load generator can directly select a single fixed load to generate a timestamped request command.
[0032] like Figure 4 As shown, in some embodiments, step S3 includes: S31: The main controller chip in the solid-state drive receives the request command, generates the corresponding NAND operation instruction, and sends the NAND operation instruction to the corresponding NAND chip; S32: Listen to and analyze the communication bus between the main control chip and the NAND flash memory, and identify the NAND operation instructions received by the NAND flash memory; S33: Extract the NAND operation instructions and timestamp the NAND operation instructions.
[0033] Specifically, an FPGA-based hardware probe can be used to listen to and analyze the communication bus between the main control chip and the NAND flash memory, decoding commands transmitted on the communication bus (such as 0x80 (Program)) in real time and adding a timestamp. The communication bus can be an ONFI protocol bus or a Toggle protocol bus. This hardware probe accurately identifies each command (such as READ, PROGRAM, ERASE, RESET) sent to a specific NAND flash memory (identified by the chip select signal CE#) and its associated address and data, and adds a high-precision timestamp to each NAND operation instruction.
[0034] In step S4, the input current and voltage of the solid-state drive are continuously sampled synchronously using a high-precision power meter to calculate the instantaneous power consumption (i.e., instantaneous power) of the solid-state drive, and timestamps are added to form a "power consumption waveform data stream".
[0035] In this embodiment, the global synchronization clock sends synchronization signals to the load generator, power meter, and hardware probe to ensure that the three start recording from the same reference time, so that the request commands from the load generator, the power consumption waveform of the power meter, and the NAND operation instructions from the hardware probe are aligned and merged on a unified time axis.
[0036] In some embodiments, the power consumption traceability file includes a two-dimensional coordinate system, a trend line, and multiple marker texts. The horizontal axis of the two-dimensional coordinate system represents time, and the vertical axis represents the instantaneous power consumption of the solid-state drive. The trend line is located in the two-dimensional coordinate system, and the marker texts are located at the peaks or abnormal fluctuations of the trend line. The marker texts include the request command and the NAND operation instructions. Furthermore, different colored markers can be used to clearly indicate the specific NAND operation instructions and background tasks that caused the fluctuations on the trend line. Through this power consumption traceability file, engineers can intuitively see which specific underlying operation (and its cause) led to the power consumption problem, transforming debugging from "guessing" to "precise localization." For example, a marker on the trend line reads PEAK: 3.5W - Caused by ERASE on Die2, Block 1052 (Associated with GC Task).
[0037] like Figure 5 As shown, step S5 is followed by: S6: Store power consumption trace files for multiple different types of the requested commands; S7: Based on the power consumption traceability files of multiple different types of the request commands, calculate the total time spent executing each request command, the power consumption generated by executing each request command, the number of times the trend line in each power consumption traceability file shows a spike or abnormal fluctuation and the average power consumption, and the power consumption percentage of all spikes or abnormal fluctuations in the trend line in each power consumption traceability file, and generate a contribution report.
[0038] The different types of request commands may include NAND PROGRAM and NAND ERASE. The power consumption percentage is the proportion of the power consumption of all peaks or abnormal fluctuations that appear on the trend line in each power consumption traceability file when the request command is executed. The power consumption percentage can also be called the contribution percentage.
[0039] The contribution report clearly reveals the main directions for power consumption optimization. As shown in Table 1, although the NAND ERASE operation is performed the fewest times, its high single-operation power consumption during spikes or abnormal fluctuations, coupled with its largest contribution to total energy consumption, makes optimizing the garbage collection strategy to reduce the number of erase operations the most effective way to lower power consumption. Therefore, the above design facilitates engineers in performing targeted optimizations.
[0040]
[0041] Table 1: Schematic diagram of a contribution report like Figure 6 As shown, the second embodiment of this application also provides a power consumption monitoring system for a solid-state drive (SSD). The power consumption monitoring system 10 for the SSD employs the power consumption monitoring method for the SSD described above. The power consumption monitoring system 10 includes a load generator 100, a probe 200, a power meter 300, and a display 400. The load generator 100 is used to issue a request command with a timestamp. The probe 200 is used to identify NAND operation instructions received by the NAND chips in the SSD and timestamp the NAND operation instructions. The power meter 300 is used to measure the current and voltage of the SSD to calculate the instantaneous power consumption of the SSD. The display 400 is used to generate and display a power consumption trace file by combining the request command, the NAND operation instructions, the instantaneous power consumption of the SSD, and the corresponding timestamps.
[0042] This application provides an intuitive and quantitative power consumption monitoring system that transforms power consumption testing from a laboratory indicator to a predictive indicator. It can accurately assess the power consumption performance of solid-state drives in target applications and accelerate the iteration cycle of firmware power consumption optimization and hardware selection.
[0043] like Figure 7 As shown, the third embodiment of this application also provides a computer-readable storage medium 20, on which a computer program 21 is stored. When the computer program 21 is executed by the processor 30, it implements the steps in the power consumption monitoring method of the solid-state drive as described above.
[0044] It should be noted that the limitations of each step involved in this solution are not considered as limiting the order of steps, provided that they do not affect the implementation of the specific solution. The steps listed first can be executed first, later, or even simultaneously. Solutions from different embodiments can be combined and applied without conflict. As long as this solution can be implemented, they should be considered to fall within the protection scope of this application.
[0045] The above description, in conjunction with specific optional embodiments, provides a further detailed explanation of this application and should not be construed as limiting the specific implementation of this application to these descriptions. For those skilled in the art, various simple deductions or substitutions can be made without departing from the concept of this application, and all such modifications and substitutions should be considered within the scope of protection of this application.
Claims
1. A method for monitoring the power consumption of a solid-state drive, characterized in that, Including the following steps: Send a request command with a timestamp; Receive the request command and generate the corresponding NAND operation instructions; Identify the NAND operation commands received by the NAND chips in the solid-state drive and timestamp the NAND operation commands; Calculate the instantaneous power consumption of the solid-state drive and timestamp the instantaneous power consumption; as well as By combining the request command, the NAND operation instruction, the instantaneous power consumption of the solid-state drive, and the corresponding timestamp, a power consumption traceability file is generated.
2. The power consumption monitoring method for a solid-state drive as described in claim 1, characterized in that, The step of issuing a timestamped request command includes: Establish a load model library; At least one test load is retrieved from the load model library according to preset instructions to form a preset usage scenario; Generate a request command with a timestamp based on the preset usage scenario.
3. The power consumption monitoring method for a solid-state drive as described in claim 2, characterized in that, The step of retrieving at least one test load from the load model library according to preset instructions to form a preset use scenario includes: Monitor and record the real-world applications involved in the execution of preset commands; Retrieve the test load corresponding to the real application from the load model library; and Based on the test load, a preset usage scenario is formed.
4. The power consumption monitoring method for a solid-state drive as described in claim 1, characterized in that, The step of identifying NAND operation commands received by NAND chips in a solid-state drive and timestamping the NAND operation commands includes: The controller chip in the solid-state drive receives the request command, generates corresponding NAND operation instructions, and sends the NAND operation instructions to the corresponding NAND chip; Listen to and analyze the communication bus between the main control chip and the NAND flash memory, and identify the NAND operation commands received by the NAND flash memory; and Extract the NAND operation instructions and timestamp them.
5. The power consumption monitoring method for a solid-state drive as described in claim 4, characterized in that, The communication bus between the main control chip and the NAND flash memory is monitored and analyzed using hardware probes.
6. The power consumption monitoring method for a solid-state drive as described in claim 1, characterized in that, The power consumption traceability file includes a two-dimensional coordinate system, a trend line, and multiple marker texts. The horizontal axis of the two-dimensional coordinate system represents time, and the vertical axis of the two-dimensional coordinate system represents the instantaneous power consumption of the solid-state drive. The trend line is located in the two-dimensional coordinate system, and the marker text is located at the peak or abnormal fluctuation of the trend line. The marker text includes the request command and the NAND operation instruction.
7. The power consumption monitoring method for a solid-state drive as described in claim 6, characterized in that, After the step of generating a power consumption traceability file by combining the request command, the NAND operation instruction, the instantaneous power consumption of the solid-state drive, and the corresponding timestamp, the method further includes: Store power consumption trace files for multiple different types of the requested commands; Based on the power consumption traceability files of multiple different types of the requested commands, the total time spent executing each requested command, the power consumption generated by executing each requested command, the number of times the trend line in each power consumption traceability file shows a spike or abnormal fluctuation and the average power consumption, and the power consumption percentage of all spikes or abnormal fluctuations in the trend line in each power consumption traceability file, and a contribution report is generated.
8. The power consumption monitoring method for a solid-state drive as described in claim 1, characterized in that, The timestamps of the request command, the NAND operation instruction, and the instantaneous power consumption of the solid-state drive are based on a unified standard and are timed simultaneously.
9. A power consumption monitoring system for a solid-state drive (SSD), employing the power consumption monitoring method for an SSD as described in any one of claims 1-8, characterized in that, The power consumption monitoring system includes: Load generator, used to issue request commands with timestamps; A probe is used to identify NAND operation commands received by NAND chips in a solid-state drive and to timestamp the NAND operation commands. A power meter is used to measure the current and voltage of the solid-state drive (SSD) to calculate the instantaneous power consumption of the SSD; and The display is used to generate and display a power consumption trace file by combining the request command, the NAND operation instruction, the instantaneous power consumption of the solid-state drive, and the corresponding timestamp.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps in the power consumption monitoring method for solid-state drives as described in any one of claims 1-8.