Power consumption control method, flash memory device and storage medium

By calculating the power consumption of each package and determining whether it exceeds the power consumption threshold, and deciding whether to send an operation request, the power consumption increase and delay problems caused by the PPM function in large-capacity SSD are solved, and the service quality of the flash memory device is improved.

CN120066230AActive Publication Date: 2025-05-30DAPUSTOR CORP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202411970954.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-05-30
Estimated Expiration
2044-12-30

AI Technical Summary

Technical Problem

In large-capacity SSDs, turning on the PPM function of NAND Flash will lead to an increase in overall power consumption, resulting in higher delays in read, write and erase operations, affecting service quality.

Method used

By calculating the power consumption of each package, before receiving the operation request sent by the host, it is determined whether the power consumption of the package corresponding to the operation request is greater than or equal to the power consumption threshold, and whether to send an operation request to the flash memory space.

Benefits of technology

It effectively avoids the problem of high operation request delay caused by high overall power consumption of flash memory devices, and improves the service quality of flash memory devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120066230A_ABST
    Figure CN120066230A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of flash memory device control, and discloses a power consumption control method, a flash memory device and a storage medium, and the method comprises the steps: calculating the power consumption of each package; when an operation request issued by a host is received, if the power consumption of a package corresponding to the operation request is greater than or equal to a power consumption threshold value, sending of the operation request to the flash memory space is stopped until the power consumption of the package corresponding to the operation request is smaller than the power consumption threshold value, and by calculating the power consumption of each package, the operation request is sent to the flash memory space before the operation request is sent to the flash memory space. Whether the power consumption of the package corresponding to the operation request is larger than or equal to the power consumption threshold value or not is judged, so that whether the operation request is sent to the flash memory space or not is determined, the problem that the time delay of the operation request is high due to the fact that the overall power consumption of the flash memory device is high can be avoided, and the service quality of the flash memory device is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the technical field of flash memory device control, and in particular, to a power consumption control method, a flash memory device, and a storage medium. Background Art

[0002] A flash memory device refers to a storage device manufactured based on flash memory technology (Flash Memory). Flash is an electronic storage medium that stores and reads data using an electric current in semiconductor transistors. For example, NAND flash is a type of flash memory composed of multiple memory cells, where each cell can store a data bit (0 or 1). A flash memory device can be an independent storage unit, such as a USB flash drive, a solid state drive (SSD), etc., or a storage module embedded in other devices, such as eMMC or UFS storage in a smart phone.

[0003] With the development of NAND Flash manufacturing technology, combined with the requirements for the single-disk storage capacity in usage scenarios such as AI and data centers, the single-disk capacity of SSDs is getting larger and larger. In large-capacity disks, the use of high-density NAND flash (such as ODP, HDP) has become a trend. Among them, each ODP (Octo Die Package) encapsulates 8 Dies; each HDP (Hexadeca Die Package) encapsulates 16 Dies.

[0004] Currently, some manufacturers' flash has the PPM function. If the PPM (peak power management) function of the Nand Flash is turned on, it will cause the overall power consumption of the disk to increase, and the latency of some erase, write, and read requests will be relatively high, resulting in a low quality of service (QoS) of the SSD. Summary of the Invention

[0005] The embodiments of the present application provide a power consumption control method, a flash memory device, and a storage medium. By calculating the power consumption of each package, before sending an operation request to the flash memory space, it is determined whether the power consumption of the package corresponding to the operation request is greater than or equal to a power consumption threshold to determine whether to send the operation request to the flash memory space, thereby avoiding the problem of high latency of operation requests caused by high overall power consumption of the flash memory device and improving the quality of service of the flash memory device.

[0006] The embodiments of the present application provide the following technical solutions:

[0007] In a first aspect, the embodiments of the present application provide a power consumption control method, which is applied to a flash memory device. The flash memory device includes a flash memory space, and the flash memory space includes multiple packages;

[0008] The method includes:

[0009] Calculating the power consumption of each package;

[0010] When an operation request sent by the host is received, if the power consumption of the package corresponding to the operation request is greater than or equal to the power consumption threshold, stop sending the operation request to the flash memory space until the power consumption of the package corresponding to the operation request is less than the power consumption threshold.

[0011] In some embodiments, each package includes a plurality of dies, and each die includes a plurality of planes;

[0012] The operation request includes a read operation, a write operation, and an erase operation;

[0013] Calculating the power consumption of each package includes:

[0014] Obtaining the number of first planes of a die;

[0015] Obtaining a first typical power consumption, a second typical power consumption, and a third typical power consumption, where the first typical power consumption is the typical power consumption for a read operation with the number of first planes, the second typical power consumption is the typical power consumption for a write operation with the number of first planes, and the third typical power consumption is the typical power consumption for an erase operation with the number of first planes;

[0016] Calculating the power consumption of each package according to the number of first planes, in combination with the first typical power consumption, the second typical power consumption, and the third typical power consumption.

[0017] In some embodiments, calculating the power consumption of each package according to the number of first planes, in combination with the first typical power consumption, the second typical power consumption, and the third typical power consumption, includes:

[0018]

[0019] Where P package is the power consumption of a package, totalPlane is the number of first planes, pl is the number of planes, P W-pl is the power consumption for a write operation of pl planes, W cnt-pl is the number of operations for a write operation of pl planes in progress, P E-pl is the power consumption for an erase operation of pl planes, E cnt-pl is the number of operations for an erase operation of pl planes in progress, P R-pl is the power consumption for a read operation of pl planes, R cnt-pl is the number of operations for a read operation of pl planes in progress;

[0020] Where pl ≤ totalPlane, P W-pl = (second typical power consumption / totalPlane) * pl, PE-pl = (Third typical power consumption / totalPlane) * pl, P R-pl = (First typical power consumption / totalPlane) * pl.

[0021] In some embodiments,

[0022] The method further includes:

[0023] Calculating a power consumption threshold, including:

[0024] Obtaining a first maximum power consumption, a second maximum power consumption, and a third maximum power consumption, where the first maximum power consumption is the maximum power consumption for read operations with the first number of planes, the second maximum power consumption is the maximum power consumption for write operations with the first number of planes, and the third maximum power consumption is the maximum power consumption for erase operations with the first number of planes;

[0025] Taking the maximum value among the first maximum power consumption, the second maximum power consumption, and the third maximum power consumption as the maximum power consumption value;

[0026] Taking the minimum value among the first typical power consumption, the second typical power consumption, and the third typical power consumption as the minimum power consumption value;

[0027] Obtaining the number of first dies in a package;

[0028] Calculating the power consumption threshold according to the number of first dies, the maximum power consumption value, and the minimum power consumption value.

[0029] In some embodiments, calculating the power consumption threshold according to the number of first dies, the maximum power consumption value, and the minimum power consumption value includes:

[0030] Power consumption threshold = minimum power consumption value * (number of first dies * third coefficient), where the third coefficient is the smaller value of the first coefficient and the second coefficient, the first coefficient = minimum power consumption value / maximum power consumption value, and the second coefficient is a preset coefficient.

[0031] In some embodiments, the method further includes:

[0032] Recording the operation time of each write operation issued to each die in the package;

[0033] Obtaining the current time, and polling the difference between the operation time recorded for each die and the current time within a preset time period to obtain a number of differences;

[0034] Taking the maximum value among the number of differences as the maximum difference, and determining the die corresponding to the maximum difference;

[0035] Updating the second coefficient according to the maximum difference to obtain the updated second coefficient, where the updated second coefficient = original second coefficient - (maximum difference - first time threshold) / second time threshold.

[0036] In some embodiments, the method further includes:

[0037] If the maximum difference is greater than or equal to a third time threshold, set the second coefficient to zero and set the power consumption threshold to zero, such that all dies in the package are not requested by the distribution operation;

[0038] After the write operation of the die corresponding to the maximum difference is completed, reset the second coefficient to the original second coefficient;

[0039] In the next time period, repeat the steps of polling the difference between the operation time recorded for each die and the current time and subsequent steps.

[0040] In some embodiments, the method further includes:

[0041] Create a plurality of operation request queues, where each operation request queue corresponds to a die one by one;

[0042] After receiving an operation request issued by the host, determine the die corresponding to the operation request, and insert the operation request into the operation request queue corresponding to the die, where each operation request corresponds to an insertion time;

[0043] Obtain the first insertion time in each operation request queue to obtain a plurality of first insertion times, where the first insertion time is the longest insertion time in the operation request queue;

[0044] Construct a scheduling linked list, and add the identifier of the die corresponding to each first insertion time to the scheduling linked list in ascending order of the first insertion time.

[0045] In some embodiments, the method further includes:

[0046] If the power consumption of the package corresponding to the operation request is less than the power consumption threshold, search the scheduling linked list in ascending order of the first insertion time;

[0047] If an idle die is found, obtain the first operation request from the operation request queue corresponding to the idle die, issue the first operation request to the flash memory space, update the power consumption of the package corresponding to the first operation request, and delete the identifier of the die corresponding to the idle die from the scheduling linked list, where the first operation request is the operation request corresponding to the first insertion time.

[0048] In some embodiments, the method further includes:

[0049] If the identifier of the die corresponding to the first operation request does not exist in the scheduling linked list, and there is an operation request in the operation request queue corresponding to the die corresponding to the first operation request, then insert the identifier of the die corresponding to the first operation request into the scheduling linked list in ascending order of the first insertion time of the operation request queue.

[0050] In some embodiments,

[0051] The method further includes:

[0052] If the power consumption of the package corresponding to the operation request is less than the power consumption threshold, send the operation request to the flash memory space;

[0053] After the operation request is completed, update the power consumption of the package corresponding to the operation request.

[0054] In a second aspect, an embodiment of the present application provides a flash memory device, including:

[0055] A processor and a memory, the processor is configured to execute the executable program code in the memory, and when the executable program code is executed, the processor executes the instructions of the power consumption control method as described in the first aspect.

[0056] In a third aspect, an embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is executed, the power consumption control method as described in the first aspect is implemented.

[0057] The beneficial effect of the embodiment of the present application is: Different from the prior art, the embodiment of the present application provides a power consumption control method, which is applied to a flash memory device. The flash memory device includes a flash memory space, and the flash memory space includes multiple packages; the method includes: calculating the power consumption of each package; when receiving an operation request sent by the host, if the power consumption of the package corresponding to the operation request is greater than or equal to the power consumption threshold, stop sending the operation request to the flash memory space until the power consumption of the package corresponding to the operation request is less than the power consumption threshold. The present application can calculate the power consumption of each package, and before sending the operation request to the flash memory space, determine whether the power consumption of the package corresponding to the operation request is greater than or equal to the power consumption threshold to determine whether to send the operation request to the flash memory space, thereby avoiding the problem of high latency of the operation request caused by the high overall power consumption of the flash memory device and improving the service quality of the flash memory device. Description of the Drawings

[0058] One or more embodiments are exemplarily illustrated by corresponding drawings. These exemplary illustrations do not constitute a limitation on the embodiments. Elements with the same reference numerals in the drawings are represented as similar elements, unless otherwise stated, and the drawings in the drawings do not constitute a proportional limitation.

[0059] Figure 1It is a schematic structural diagram provided by an embodiment of the present application;

[0060] Figure 2 It is a schematic flowchart of a power consumption control method provided by an embodiment of the present application;

[0061] Figure 3 is Figure 2 a refined flowchart of step S201 in

[0062] Figure 4 It is a schematic flowchart of a process for calculating a power consumption threshold provided by an embodiment of the present application;

[0063] Figure 5 is Figure 4 a refined flowchart of step S401 in

[0064] Figure 6 It is a schematic flowchart of a process for updating a second coefficient provided by an embodiment of the present application;

[0065] Figure 7 It is a schematic flowchart of a process for determining whether a maximum difference is greater than or equal to a third time threshold provided by an embodiment of the present application;

[0066] Figure 8 It is a schematic flowchart of a process for constructing a scheduling linked list provided by an embodiment of the present application;

[0067] Figure 9 It is a schematic structural diagram of an operation request queue provided by an embodiment of the present application;

[0068] Figure 10 It is a schematic flowchart of a process for inserting an identifier of a die corresponding to a first operation request into a scheduling linked list provided by an embodiment of the present application;

[0069] Figure 11 It is a schematic structural diagram of a scheduling linked list provided by an embodiment of the present application;

[0070] Figure 12 It is a schematic flowchart of a process for determining whether a free die is found provided by an embodiment of the present application;

[0071] Figure 13 It is a schematic structural diagram of a flash memory device provided by an embodiment of the present application.

[0072] Explanation of the reference numerals in the drawings:

[0073] Label Name Label Name 130 Flash device 131 Processor 132 Memory Detailed implementation manners

[0074] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of this application. Apparently, the described embodiments are some, but not all, of the embodiments of this application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in this application without creative efforts shall fall within the scope of protection of this application.

[0075] In addition, the technical features involved in the various embodiments of this application described below can be combined with each other as long as they do not conflict with each other.

[0076] Unless otherwise defined, all technical and scientific terms used in this specification have the same meaning as commonly understood by those of ordinary skill in the technical field to which this application belongs. The terms used in this specification in the description of this application are only for the purpose of describing specific embodiments and are not intended to limit this application. The term "and / or" used in this specification includes any and all combinations of one or more of the related listed items.

[0077] The technical solutions of this application will be specifically described below with reference to the accompanying drawings of the specification:

[0078] Please refer to Figure 1 , Figure 1 which is a schematic structural diagram of a package provided by an embodiment of this application;

[0079] As Figure 1 shown, the package in the flash memory device refers to the physical packaging unit of NAND Flash, which is an integrated whole after encapsulating the NAND Flash die and can contain one or more Targets.

[0080] In the embodiments of this application, the packaging form of the Package includes HDP. HDP (Hexadeca Die Package) refers to the NAND Flash packaging form in which each package contains 16 Dies. HDP is the abbreviation of Hexadeca Die Package and refers to the NAND Flash packaging form in which each package contains 16 Dies. This packaging form improves the storage density and capacity of NAND Flash, enabling more storage units to be accommodated in the same physical space.

[0081] Specifically, each Target contains multiple Dies (wafers), which are the basic building blocks of NAND Flash and are used to store data. As the physical package of NAND Flash, the Package provides a protective shell for the Die, enabling it to work more stably and reliably. At the same time, the Package also facilitates the installation and replacement of NAND Flash. A Target contains one or more Dies, and one or more Dies of a Target share a set of data signals. A Die is the smallest unit in NAND Flash that can independently execute commands and report status, corresponding one-to-one with a logic unit. Within a Target, one or more LUNs share a set of data signals, and each Target is controlled by a CE pin (chip select). Among them, LUN (Die) and logic unit are one-to-one in NAND Flash, which means that each LUN (Die) can be regarded as an independent logical storage unit for performing operations such as reading, writing, and erasing.

[0082] A Die is an independent flash memory die that contains multiple Blocks for data storage. In a multi-channel SSD, each Die can independently perform read, write, or erase operations, allowing parallel processing to improve performance. A Plane is an independent storage unit within the flash memory die for storing and managing data. Each Die usually contains multiple Planes (planes). Further, each Plane is composed of multiple Blocks, and each Block contains multiple Pages. The main advantage of planes is that they can independently perform read, write, and erase operations, thus improving the performance of the SSD.

[0083] Multiple Planes form a Die. This means that within an independent flash memory die (Die), there are multiple Planes to share the tasks of data storage and management. This structure helps to improve storage density and performance because more data can be accommodated in a smaller physical space, and the read and write speeds can be increased by parallel processing of multiple data blocks.

[0084] In actual application scenarios, multi-Plane operations utilize the parallelism of NAND flash to simultaneously execute read and write tasks on multiple Planes within the same Die, thus significantly improving the data transfer rate. Asynchronous Plane operations provide higher operation independence, allowing read tasks on different Planes to proceed independently without waiting for the operations of other Planes to complete, thus improving the response speed of random reads.

[0085] Please refer to Figure 2 , Figure 2It is a schematic flowchart of a power consumption control method provided by an embodiment of the present application;

[0086] Among them, the power consumption control method is applied to a flash memory device, and the flash memory device includes a flash memory space, and the flash memory space includes multiple packages.

[0087] As Figure 2 shown, the power consumption control method includes:

[0088] Step S201: Calculate the power consumption of each package;

[0089] Specifically, please refer to Figure 3 , Figure 3 which Figure 2 is a refined flowchart of step S201 in

[0090] As Figure 3 shown, step S201: Calculate the power consumption of each package, including:

[0091] Step S211: Obtain the number of first planes of a die;

[0092] Specifically, each package Package includes multiple dies, and each die includes multiple planes. Obtaining the number of first planes of a die includes: determining the package type of the die, because different types of packages may contain different numbers of dies. For example, a single-chip package (Single Chip Packages, SCP) only contains one die, while a multi-chip package (Multichip Packages, MCP) contains multiple dies. Among them, the multi-chip package includes 4Plane and 6Plane configurations. Among them, 4Plane means that the number of first planes in a die is 4, and 6Plane means that the number of first planes in a die is 6; after determining the package type of the die, by querying the technical specification of the die, obtain the number of first planes of each die. It can be understood that the manufacturer of the die usually provides a technical specification (Datasheet), and the technical specification includes the number of planes contained in each die.

[0093] Step S212: Obtain the first typical power consumption, the second typical power consumption, and the third typical power consumption;

[0094] Specifically, the typical power consumption refers to the electrical energy consumed by a device during normal operation or a specific working mode. For a solid-state drive (SSD), the typical power consumption usually refers to the electrical energy consumed when the SSD performs read and write operations under normal usage conditions. This typical power consumption value is affected by various factors, including the SSD model, capacity, read and write performance, load level, and power management strategy, etc. By referring to the NAND Flash specification sheet or data manual (nand spec), the typical power consumption of flash memory devices with different specifications and capacities can be queried. Among them, the typical power consumption includes the first typical power consumption, the second typical power consumption, and the third typical power consumption. Among them, the first typical power consumption is the typical power consumption for read (R) operation with the first number of planes, the second typical power consumption is the typical power consumption for write (W) operation with the first number of planes, and the third typical power consumption is the typical power consumption for erase (E) operation with the first number of planes.

[0095] It can be understood that the typical power consumption of the write operation (W) refers to the power consumed by the NAND Flash when performing the write operation. The write operation includes programming data into the storage cells of the NAND Flash; the typical power consumption of the erase operation (E) refers to the power consumed by the NAND Flash when performing the erase operation. The erase operation is used to clear the data in the storage cells for reprogramming. The power consumption of the erase operation is usually higher than that of the read and write operations because it involves the erase operation of the entire block or page. The typical power consumption of the read operation (R) refers to the power consumed by the NAND Flash when performing the read operation. The read operation refers to the process of reading data from the NAND Flash. Compared with the write and erase operations, the power consumption of the read operation is usually lower because it does not involve modifying the storage cells.

[0096] Step S213: Calculate the power consumption of each package according to the first number of planes, combined with the first typical power consumption, the second typical power consumption, and the third typical power consumption;

[0097] Specifically, the calculation formula for calculating the power consumption of each package is as follows:

[0098]

[0099] Among them, P package is the power consumption of a package, totalPlane is the first number of planes, pl is the number of planes, P W-pl is the power consumption for write operation of pl planes, W cnt-pl is the number of operations for write operation of pl planes in progress, P E-pl is the power consumption for erase operation of pl planes, E cnt-pl is the number of operations for erase operation of pl planes in progress, P R-pl is the power consumption for read operation of pl planes, Rcnt-pl The number of operations for performing read operations on pl planes;

[0100] where pl ≤ totalPlane, P W-pl = (Second typical power consumption / totalPlane) * pl, P E-pl = (Third typical power consumption / totalPlane) * pl, P R-pl = (First typical power consumption / totalPlane) * pl.

[0101] Please refer to again Figure 4 , Figure 4 which is a schematic flowchart of a process for calculating a power consumption threshold provided by an embodiment of the present application;

[0102] As Figure 4 shown, the process for calculating the power consumption threshold includes:

[0103] Step S401: Calculate the power consumption threshold;

[0104] Specifically, please refer to again Figure 5 , Figure 5 which is Figure 4 a refined flowchart of step S401 in

[0105] As Figure 5 shown, step S401: Calculate the power consumption threshold, includes:

[0106] Step S411: Obtain the first maximum power consumption, the second maximum power consumption, and the third maximum power consumption;

[0107] Specifically, according to the number of the first planes, obtain the first maximum power consumption, the second maximum power consumption, and the third maximum power consumption, where the first maximum power consumption is the maximum power consumption for performing read operations with the number of the first planes, the second maximum power consumption is the maximum power consumption for performing write operations with the number of the first planes, and the third maximum power consumption is the maximum power consumption for performing erase operations with the number of the first planes. For example, taking a 4-pane flash as an example, assuming the number of the first planes is 4, then the first maximum power consumption is the maximum power consumption for performing read operations with 4 planes, the second maximum power consumption is the maximum power consumption for performing write operations with 4 planes, and the third maximum power consumption is the maximum power consumption for performing erase operations with 4 planes.

[0108] It can be understood that when all 4 planes of the flash memory device perform read operations simultaneously, the maximum electrical energy consumed is the first maximum power consumption; when all 4 planes of the flash memory device perform write operations simultaneously, the maximum electrical energy consumed is the second maximum power consumption; when all 4 planes of the flash memory device perform erase operations simultaneously, the maximum electrical energy consumed is the third maximum power consumption.

[0109] Step S412: Use the maximum value among the first maximum power consumption, the second maximum power consumption, and the third maximum power consumption as the maximum power consumption;

[0110] Specifically, by comparing the magnitudes of the first maximum power consumption, the second maximum power consumption, and the third maximum power consumption, determine the maximum value among them, and set the maximum value among the three as the maximum power consumption.

[0111] Step S413: Use the minimum value among the first typical power consumption, the second typical power consumption, and the third typical power consumption as the minimum power consumption;

[0112] Specifically, by comparing the magnitudes of the first typical power consumption, the second typical power consumption, and the third typical power consumption, determine the minimum value among them, and set the minimum value among the three as the minimum power consumption.

[0113] Step S414: Obtain the number of the first bare dies in one package;

[0114] Specifically, obtaining the number of the first bare dies in one package means obtaining the number of Dies in the Flash Package. For example, assume the package is HDP, then the number of the first bare dies of HDP is 16.

[0115] Step S415: Calculate the power consumption threshold according to the number of the first bare dies, the maximum power consumption, and the minimum power consumption;

[0116] Specifically, calculate the power consumption threshold according to the number of the first bare dies, the maximum power consumption, and the minimum power consumption. Among them, the power consumption threshold = the minimum power consumption * (the number of the first bare dies * the third coefficient), where the third coefficient is the smaller value of the first coefficient and the second coefficient, the first coefficient = the minimum power consumption / the maximum power consumption, and the second coefficient is a preset coefficient. It should be noted that this second coefficient can be set according to actual needs. Preferably, the second coefficient is set to 75%.

[0117] Step S202: Determine whether the power consumption of the package corresponding to the operation request is greater than or equal to the power consumption threshold;

[0118] Specifically, determine whether the power consumption of the package corresponding to the operation request is greater than or equal to the power consumption threshold. If the power consumption of the package corresponding to the operation request is greater than or equal to the power consumption threshold, then proceed to step S203; if the power consumption of the package corresponding to the operation request is less than the power consumption threshold, then proceed to step S204.

[0119] Step S203: Stop sending the operation request to the flash memory space until the power consumption of the package corresponding to the operation request is less than the power consumption threshold;

[0120] Specifically, if the power consumption of the encapsulated operation request is greater than or equal to the power consumption threshold, stop sending the operation request to the flash memory space and wait until the flash operation is completed until the power consumption of the encapsulated operation request is less than the power consumption threshold.

[0121] Step S204: Send an operation request to the flash memory space;

[0122] Specifically, if the power consumption of the encapsulated operation request is less than the power consumption threshold, send the operation request to the flash memory space.

[0123] Step S205: After the operation request is completed, update the power consumption of the encapsulation corresponding to the operation request;

[0124] Specifically, while the flash device is performing an operation, the system or controller continuously monitors the actual power consumption. For example, the power consumption of the package is monitored through a built-in power consumption monitoring circuit or an external power consumption measurement device; after the operation request is completed, the system or controller updates the power consumption of the package corresponding to the operation request according to the power consumption data during the actual execution process, so as to determine whether the power consumption of the package corresponding to the next operation request is greater than or equal to the power consumption threshold when the next operation request is issued.

[0125] In the embodiments of the present application, the above calculation process is calculated according to the typical power consumption of W / E / R. However, in actual situations, each operation has a maximum power consumption. For example, W / R both occur at the moment of data transfer burst. The operations on each Die are independent. If multiple Dies hit the maximum power consumption at the same time, the above mechanism still cannot cover it. Especially when a write operation occurs on a certain Die and continuous parallel read operations occur on other Dies, the above situation is very likely to occur. Therefore, on the basis of the above mechanism, the present application also provides a feedback mechanism, which can prevent the operation request from being completed slowly due to the power consumption of the nand particles when too many operation requests are running on the package, thereby causing the QOS of the IO to drop.

[0126] Please refer to Figure 6 , Figure 6 which is a schematic flow diagram of updating the second coefficient provided by the embodiments of the present application;

[0127] As Figure 6 shown, the process of updating the second coefficient includes:

[0128] Step S601: Record the operation time of each write operation issued by each die of the package;

[0129] Specifically, a timestamp generation module or a counter is integrated inside the die. This module or counter is used to automatically record the current time or operation sequence number each time a write operation occurs, and record the operation time of each write operation sent to each die encapsulated through the counter.

[0130] Step S602: Obtain the current time. During a preset time period, poll the difference between the operation time recorded by each die and the current time to obtain a number of differences.

[0131] Specifically, obtain the current time, denoted as t_curr. Through a timer, poll the operation time t_n recorded by each die during a preset time period, and calculate the difference between each operation time and the current time to obtain a number of differences. Among them, the difference = current time - operation time. It should be noted that the preset time period can be set according to actual needs. For example, the preset time period is set to 100 ms, that is, poll the operation time recorded by each die every 100 ms.

[0132] Step S603: Take the maximum value among the number of differences as the maximum difference, and determine the die corresponding to the maximum difference.

[0133] Specifically, according to the number of differences, determine the maximum value among the number of differences, take the maximum value among the number of differences as the maximum difference, and then determine the die corresponding to the maximum difference.

[0134] Step S604: Update the second coefficient according to the maximum difference to obtain the updated second coefficient.

[0135] Specifically, obtain the original second coefficient, update the second coefficient according to the maximum difference to obtain the updated second coefficient, where the updated second coefficient = original second coefficient - (maximum difference - first time threshold) / second time threshold. It should be noted that the first time threshold and the second time threshold can be set according to actual needs. For example, the first time threshold is set to 200 ms and the second time threshold is set to 2 s. Then, when the original second coefficient is 75%, the first time threshold is 200 ms, and the second time threshold is 2 s, the updated second coefficient Factor = 75% - (t_max - 200 ms) / 2 s.

[0136] In the embodiment of the present application, although the above feedback mechanism can improve the QOS of the IO to a certain extent, in order to prevent some operation requests from not being sent to the flash space (Flash) first after reaching the firmware due to the above power consumption limit, resulting in poor QOS, the present application also proposes a scheduling mechanism. Through this scheduling mechanism, it is possible to ensure that requests are scheduled in an orderly manner under power consumption control, and further improve the QOS of the IO.

[0137] Please refer to again Figure 7 , Figure 7 which is a schematic flowchart provided by an embodiment of the present application for determining whether the maximum difference is greater than or equal to a third time threshold;

[0138] As Figure 7 shown, the process of determining whether the maximum difference is greater than or equal to the third time threshold includes:

[0139] Step S701: Obtain the maximum difference;

[0140] Specifically, obtain the current time, denoted as tcurr. Through a timer, poll the operation time tn recorded by each Die within a preset time period, and calculate the difference between each operation time and the current time to obtain several differences. Among them, the difference = current time - operation time. It should be noted that the preset time period can be set according to actual needs. For example, set the preset time period to 100 ms, that is, poll the operation time recorded by each Die every 100 ms. Then, determine the maximum value among the several differences based on the several differences, and use the maximum value among the several differences as the maximum difference, and then obtain the maximum difference.

[0141] Step S702: Determine whether the maximum difference is greater than or equal to the third time threshold;

[0142] Specifically, set the third time threshold. Among them, the third time threshold can be set according to actual needs. For example, set the third time threshold to 1.7 s; determine whether the maximum difference is greater than or equal to the third time threshold. If the maximum difference is greater than or equal to the third time threshold, then enter step S703; if the maximum difference is less than the third time threshold, then enter step S704.

[0143] Step S703: Set the second coefficient to zero and set the power consumption threshold to zero, so that all the dies in the package are not distributed operation requests;

[0144] Specifically, if the maximum difference is greater than or equal to the third time threshold, then the second coefficient Factor takes 0. Combining the above formula for calculating the power consumption threshold, it can be obtained that the power consumption threshold will also be 0. At this time, stop sending any operation requests to the flash memory space, and then enter step S704. For example, if the third time threshold is 1.7 s, then set the second coefficient to zero and set the power consumption threshold to zero, so that all the dies in the package are not distributed operation requests.

[0145] Step S704: After the write operation of the die corresponding to the maximum difference is completed, reset the second coefficient to the original second coefficient;

[0146] Specifically, if the maximum difference is less than the third time threshold, or after setting the second coefficient and the power consumption threshold to zero, then after the write operation of the die corresponding to the maximum difference is completed, reset the second coefficient to the original second coefficient. For example, assume the original second coefficient is 75%, and the current second coefficient is set to 0. Then, after the write operation of the die corresponding to the maximum difference is completed, the second coefficient needs to be set to the original second coefficient of 75%.

[0147] Step S705: In the next time period, repeat the process of polling the difference between the operation time recorded for each die and the current time and subsequent steps;

[0148] Specifically, when entering the next time period, repeat the process of polling the difference between the operation time recorded for each die and the current time to obtain several differences. Take the maximum value among the several differences as the maximum difference, and determine the die corresponding to the maximum difference. Update the second coefficient according to the maximum difference to obtain the updated second coefficient. Determine whether the maximum difference is greater than or equal to the third time threshold. If the maximum difference is greater than or equal to the third time threshold, set the second coefficient to zero and set the power consumption threshold to zero, so that all the dies in the package are not distributed operation requests. If the maximum difference is less than the third time threshold, then after the write operation of the die corresponding to the maximum difference is completed, reset the second coefficient to the original second coefficient for cyclic scheduling. For the specific process, please refer to the above steps S601 to S704, and this application will not elaborate here.

[0149] Please refer to again Figure 8 , Figure 8 is a schematic flowchart of a process for constructing a scheduling linked list provided by an embodiment of the present application;

[0150] As Figure 8 shown, the process of constructing a scheduling linked list includes:

[0151] Step S801: Create several operation request queues;

[0152] Specifically, create an operation request queue for each die, that is, each operation request queue corresponds to a die one by one to generate several operation request queues. Each die has a queue Queuen to manage the operation requests (hereinafter referred to as req) of the die. This operation request queue is specifically used to perform an enqueue operation on the operation request req of the firmware coming to the SSD.

[0153] Step S802: After receiving the operation request sent by the host, determine the die corresponding to the operation request, and insert the operation request into the operation request queue corresponding to the die;

[0154] Specifically, each operation request corresponds to a die. After receiving the operation request sent by the host, determine the die corresponding to the operation request, and insert the operation request into the operation request queue corresponding to the die, where the operation request refers to the W / E / R request for operating on the NAND after passing through the FE and FTL of the SSD.

[0155] Step S803: Obtain the first insertion time in each operation request queue to obtain a number of first insertion times.

[0156] Specifically, each req corresponds to an insertion time Treq. Obtain the first insertion time in each operation request queue to obtain a number of first insertion times, where the insertion time corresponding to each operation request refers to the time when the operation request is inserted into the operation request queue. Obtain the insertion times corresponding to all operation requests in each operation request queue and the current time. By calculating the first difference between the current time and the insertion time, determine the largest first difference, and determine the insertion time corresponding to the largest first difference as the first insertion time, that is, the first insertion time is the insertion time with the longest insertion time in the operation request queue.

[0157] Step S804: Construct a scheduling linked list, and add the identifier of the die corresponding to each first insertion time to the scheduling linked list in ascending order of the first insertion time.

[0158] Specifically, construct a scheduling linked list scheduleList, which is used to store the identifier of the die corresponding to the first insertion time. The specific storage method is to add the identifier of the die corresponding to each first insertion time to the scheduling linked list in ascending order of the first insertion time Tdie.

[0159] Please refer to Figure 9 , Figure 9 which is a schematic structural diagram of an operation request queue provided by an embodiment of the present application;

[0160] As Figure 9 shown, assume that the flash memory device includes dies Die 0, Die 1, Die 2...Dien. Each Die corresponds to an operation request queue. Each operation request queue includes a head Head and a tail Tail. The operation request queue is used to cache operation requests req. The operation requests inside the operation request queue are sorted in the order of the insertion time of enqueueing. After receiving the operation request sent by the host, determine the die corresponding to the operation request, and insert the operation request into the operation request queue corresponding to the die from the tail of the operation request queue. It can be understood that when an operation request needs to be taken out, the operation request dequeues from the head of the operation request queue.

[0161] Please refer to again Figure 10 , Figure 10 which is a schematic flowchart for determining whether an idle die is searched in an embodiment of the present application;

[0162] As Figure 10 shown, the process of determining whether an idle die is searched;

[0163] Step S1001: If the power consumption of the package corresponding to the operation request is less than the power consumption threshold, search the scheduling linked list in ascending order of the first insertion time;

[0164] Specifically, if the power consumption of the package corresponding to the operation request is less than the power consumption threshold, obtain the first insertion time corresponding to each die, sort the first insertion times in descending order, and search the scheduling linked list in ascending order of the first insertion time to obtain an idle die.

[0165] Please refer to again Figure 11 , Figure 11 which is a schematic structural diagram of a scheduling linked list provided in an embodiment of the present application;

[0166] As Figure 11 shown, assume that the flash memory device includes Diex, Diey... Diez, where the first insertion time corresponding to Diex is Tx, the first insertion time corresponding to Diey is Ty, the first insertion time corresponding to Diez is Tz, and so on, and Tx < Ty <... < Tz. Then, when the power consumption of the package corresponding to the operation request is less than the power consumption threshold, search the scheduling linked list in ascending order of the first insertion time, that is, first search the die Diex corresponding to the minimum first insertion time Tx, then search the die Diey corresponding to the first insertion time Ty, and so on, and finally search the die Diez corresponding to the maximum first insertion time Tz.

[0167] Step S1002: Determine whether an idle die is searched;

[0168] Specifically, determine whether an idle die is searched. If an idle die is searched, go to step S1003; if no idle die is searched, go to step S1004.

[0169] Step S1003: Obtain the first operation request from the operation request queue corresponding to the idle die, send the first operation request to the flash memory space, update the power consumption of the package corresponding to the first operation request, and delete the identification of the die corresponding to the idle die from the scheduling linked list;

[0170] Specifically, if a free die is found, obtain the first operation request from the operation request queue corresponding to the free die, send the first operation request to the flash memory space, update the power consumption of the package corresponding to the first operation request, and delete the identifier of the die corresponding to the free die from the scheduling linked list. Here, the free die refers to a die in an idle state. Since only one operation can be performed on a Die at the same time, the idle state means that no operation is being performed on the current die. The first operation request is the operation request corresponding to the first insertion time.

[0171] Step S1004: Suspend the first operation request until a free die is found;

[0172] Specifically, if no free die is found, it means that there is no Die in the idle state in the current scheduling linked list. First, suspend the first operation request until a free die is found, then obtain the first operation request from the operation request queue corresponding to the free die, send the first operation request to the flash memory space, update the power consumption of the package corresponding to the first operation request, and delete the identifier of the die corresponding to the free die from the scheduling linked list.

[0173] Please refer to Figure 12 , Figure 12 which is a schematic flow diagram of inserting the identifier of the die corresponding to the first operation request into the scheduling linked list provided by an embodiment of the present application;

[0174] As Figure 12 shown, the process of inserting the identifier of the die corresponding to the first operation request into the scheduling linked list includes:

[0175] Step S1201: If the identifier of the die corresponding to the first operation request does not exist in the scheduling linked list, and there is an operation request in the operation request queue corresponding to the die corresponding to the first operation request, then insert the identifier of the die corresponding to the first operation request into the scheduling linked list in ascending order of the first insertion time of the operation request queue;

[0176] Specifically, each die corresponds to a unique identifier. When an operation on the Flash is completed, the power consumption of the package is updated. If the identifier of the die corresponding to the first operation request does not exist in the scheduling linked list, and there is an operation request in the operation request queue corresponding to the die corresponding to the first operation request, insert the identifier of the die corresponding to the first operation request into the scheduling linked list in ascending order of the first insertion time of the operation request queue, and wait for the scheduling of steps S1001 to S1002.

[0177] In an embodiment of the present application, the present application provides a power consumption control method, which is applied to a flash memory device. The flash memory device includes a flash memory space, and the flash memory space includes multiple packages. The method includes: calculating the power consumption of each package; when receiving an operation request sent by a host, if the power consumption of the package corresponding to the operation request is greater than or equal to a power consumption threshold, stop sending the operation request to the flash memory space until the power consumption of the package corresponding to the operation request is less than the power consumption threshold. By calculating the power consumption of each package and determining whether the power consumption of the package corresponding to the operation request is greater than or equal to the power consumption threshold before sending the operation request to the flash memory space to determine whether to send the operation request to the flash memory space, the present application can avoid the problem of high latency of operation requests caused by high overall power consumption of the flash memory device and improve the service quality of the flash memory device.

[0178] Please refer to Figure 13 , Figure 13 which is a schematic structural diagram of a flash memory device provided by an embodiment of the present application;

[0179] As Figure 13 shown, the flash memory device 130 includes one or more processors 131 and a memory 132. Among them, Figure 13 one processor 131 is taken as an example in

[0180] The processor 131 and the memory 132 can be connected through a bus or other means. Figure 13 Taking the connection through a bus as an example in

[0181] The processor 131 is used to provide computing and control capabilities to control the flash memory device 130 to execute corresponding tasks. For example, the processor 131 controls the flash memory device 130 to execute the power consumption control method in any one of the above method embodiments. The power consumption control method is applied to a flash memory device. The flash memory device includes a flash memory space, and the flash memory space includes multiple packages. The method includes: calculating the power consumption of each package; when receiving an operation request sent by a host, if the power consumption of the package corresponding to the operation request is greater than or equal to a power consumption threshold, stop sending the operation request to the flash memory space until the power consumption of the package corresponding to the operation request is less than the power consumption threshold.

[0182] By calculating the power consumption of each package and determining whether the power consumption of the package corresponding to the operation request is greater than or equal to the power consumption threshold before sending the operation request to the flash memory space to determine whether to send the operation request to the flash memory space, the present application can avoid the problem of high latency of operation requests caused by high overall power consumption of the flash memory device and improve the service quality of the flash memory device.

[0183] The processor 131 may be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), a hardware chip, or any combination thereof; it may also be a Digital Signal Processing (DSP), an Application Specific Integrated Circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The above PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0184] The memory 132, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the program instructions / modules corresponding to the power consumption control method in the embodiments of the present application. By running the non-transitory software programs, instructions, and modules stored in the memory 132, the processor 131 can implement the power consumption control method in any of the above method embodiments. Specifically, the memory 132 may include a volatile memory (VM), such as a random access memory (RAM); the memory 132 may also include a non-volatile memory (NVM), such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid-state drive (SSD), or other non-transitory solid-state storage devices; the memory 132 may further include a combination of the above types of memories.

[0185] The memory 132 may include a high-speed random access memory and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage devices. In some embodiments, the memory 132 may optionally include a memory remotely disposed relative to the processor 131, and these remote memories may be connected to the processor 131 through a network. Examples of the above networks include, but are not limited to, the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.

[0186] One or more modules are stored in the memory 132, and when executed by one or more processors 131, they perform the power consumption control method in any of the above method embodiments. For example, they perform the various steps described above. Figure 2 shown.

[0187] In the embodiment of the present application, the flash memory device 130 may also have components such as a wired or wireless network interface, a keyboard, and an input / output interface for input / output. The flash memory device 130 may also include other components for implementing the functions of the device, which will not be elaborated here.

[0188] The embodiment of the present application also provides a non-volatile computer-readable storage medium, such as a memory including program code, and the above program code can be executed by a processor to complete the power consumption control method in the above embodiments. For example, the non-volatile computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CDROM), a magnetic tape, a floppy disk, and an optical data storage device, etc.

[0189] The embodiment of the present application also provides a non-volatile computer-readable storage medium, such as a memory including program code, and the above program code can be executed by a processor to complete the power consumption control method in the above embodiments. For example, the non-volatile computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CDROM), a magnetic tape, a floppy disk, and an optical data storage device, etc.

[0190] The embodiment of the present application also provides a computer program product, which includes one or more program codes, and the program codes are stored in a non-volatile computer-readable storage medium. The processor of the flash memory device reads the program codes from the non-volatile computer-readable storage medium, and the processor executes the program codes to complete the method steps of the power consumption control method provided in the above embodiments.

[0191] Those of ordinary skill in the art can understand that all or part of the steps to implement the above embodiments can be completed by hardware, or by hardware related to program codes. The program can be stored in a non-volatile computer-readable storage medium, and the above-mentioned storage medium can be a read-only memory, a magnetic disk, or an optical disc, etc.

[0192] Through the description of the above embodiments, those of ordinary skill in the art can clearly understand that each embodiment can be implemented by means of software plus a general hardware platform, and of course, it can also be implemented by hardware. Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program, and the program can be stored in a non-volatile computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above methods. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM), etc.

[0193] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, and are not intended to limit them; under the idea of the present application, the technical features in the above embodiments or different embodiments can also be combined, and the steps can be implemented in any order, and there are many other changes in different aspects of the present application as described above. For the sake of brevity, they are not provided in detail; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A power consumption control method, characterized in that: Applied to a flash memory device, the flash memory device comprises a flash memory space, and the flash memory space comprises a plurality of packages; The method comprises: Calculate the power consumption of each package; When receiving an operation request sent by the host, if the power consumption of the package corresponding to the operation request is greater than or equal to the power consumption threshold, stop sending the operation request to the flash memory space until the power consumption of the package corresponding to the operation request is less than the power consumption threshold.

2. The method according to claim 1, characterized in that Each package includes several dies, and each die includes several planes; The operation request includes a read operation, a write operation, and an erase operation; Calculate the power consumption of each package, including: Obtaining the number of a first plane of the die; Obtaining a first typical power consumption, a second typical power consumption, and a third typical power consumption, wherein the first typical power consumption is a typical power consumption for performing a read operation with the first number of planes, the second typical power consumption is a typical power consumption for performing a write operation with the first number of planes, and the third typical power consumption is a typical power consumption for performing an erase operation with the first number of planes; The power consumption of each package is calculated according to the first number of planes in combination with the first typical power consumption, the second typical power consumption, and the third typical power consumption.

3. The method according to claim 2, characterized in that The calculating the power consumption of each package according to the first number of planes in combination with the first typical power consumption, the second typical power consumption, and the third typical power consumption includes: Among them, P package is the power consumption of a package, totalPlane is the number of first planes, pl is the number of planes, P W-pl The power consumption of writing to pl planes, W cnt-pl is the number of write operations in progress for pl planes, P E-pl is the power consumption of erasing operation on pl planes, E cnt-pl is the number of operations of erasing pl planes, P R-pl is the power consumption of reading operations on pl planes, R cnt-pl is the number of read operations on pl planes in progress; Among them, pl≤totalPlane, P W-pl =(second typical power consumption / totalPlane)*pl,P E-pl =(third typical power consumption / totalPlane)*pl,P R-pl =(first typical power consumption / totalPlane)*pl.

4. The method according to claim 2, characterized in that: The method further comprises: Calculating the power consumption threshold includes: Obtain a first maximum power consumption, a second maximum power consumption, and a third maximum power consumption, wherein the first maximum power consumption is the maximum power consumption for a read operation using the first number of planes, the second maximum power consumption is the maximum power consumption for a write operation using the first number of planes, and the third maximum power consumption is the maximum power consumption for an erase operation using the first number of planes; taking the maximum value among the first maximum power consumption, the second maximum power consumption, and the third maximum power consumption as the maximum power consumption; Taking the minimum value among the first typical power consumption, the second typical power consumption, and the third typical power consumption as the minimum power consumption; Obtaining a first die quantity of the package; The power consumption threshold is calculated according to the first number of bare chips, the maximum power consumption, and the minimum power consumption.

5. The method according to claim 4, characterized in that The calculating the power consumption threshold according to the first number of bare chips, the maximum power consumption, and the minimum power consumption includes: Power consumption threshold=minimum power consumption*(first die quantity*third coefficient), wherein the third coefficient is the smaller value of the first coefficient and the second coefficient, the first coefficient=minimum power consumption / maximum power consumption, and the second coefficient is a preset coefficient.

6. The method according to claim 5, characterized in that The method further comprises: Recording the operation time of each write operation issued by each bare chip of the package; Obtain the current time, and poll the difference between the operation time recorded by each die and the current time within a preset time period to obtain a number of difference values; Taking the maximum value among the plurality of differences as the maximum difference, and determining the die corresponding to the maximum difference; The second coefficient is updated according to the maximum difference to obtain an updated second coefficient, wherein the updated second coefficient=the original second coefficient-(maximum difference-first time threshold) / second time threshold.

7. The method according to claim 6, characterized in that The method further comprises: If the maximum difference is greater than or equal to a third time threshold, the second coefficient is set to zero, and the power consumption threshold is set to zero, so that all the dies of the package are not distributed with operation requests; After the write operation of the die corresponding to the maximum difference is completed, resetting the second coefficient to the original second coefficient; In the next time period, the difference between the operation time recorded by each die and the current time and the subsequent steps are repeatedly polled.

8. The method according to claim 2, characterized in that: The method further comprises: Create several operation request queues, where each operation request queue corresponds to one bare chip; After receiving the operation request sent by the host, determine the bare chip corresponding to the operation request, and insert the operation request into the operation request queue corresponding to the bare chip, wherein each operation request corresponds to an insertion time; Obtaining a first insertion time in each of the operation request queues to obtain a plurality of first insertion times, wherein the first insertion time is an insertion time with the longest insertion time in the operation request queue; A scheduling chain table is constructed, and the identifier of the die corresponding to each first insertion time is added to the scheduling chain table in the order of the first insertion time from small to large.

9. The method according to claim 8, characterized in that The method further comprises: If the power consumption of the package corresponding to the operation request is less than the power consumption threshold, searching the scheduling linked list in ascending order of the first insertion time; If an idle bare chip is searched, a first operation request is obtained from the operation request queue corresponding to the idle bare chip, and the first operation request is sent to the flash memory space, and the power consumption of the package corresponding to the first operation request is updated, and the identifier of the bare chip corresponding to the idle bare chip is deleted from the scheduling linked list, wherein the first operation request is the operation request corresponding to the first insertion time.

10. The method according to claim 9, characterized in that The method further comprises: If the identifier of the bare chip corresponding to the first operation request does not exist in the scheduling linked list, and there is an operation request in the operation request queue corresponding to the bare chip corresponding to the first operation request, the identifier of the bare chip corresponding to the first operation request is inserted into the scheduling linked list in ascending order of the first insertion time of the operation request queue.

11. The method according to claim 1, characterized in that: The method further comprises: If the power consumption of the package corresponding to the operation request is less than the power consumption threshold, sending the operation request to the flash memory space; After the operation request is completed, the power consumption of the package corresponding to the operation request is updated.

12. A flash memory device, characterized in that: include: A processor and a memory, wherein the processor is used to execute an executable program code in the memory, and when the executable program code is executed, the processor executes instructions of the power consumption control method according to any one of claims 1 to 11.

13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed, the power consumption control method according to any one of claims 1 to 11 is implemented.

Citation Information

Patent Citations

  • Dynamic allocation of power budget to a system having a non-volatile memory and a processor

    CN102375788A

  • Performance-aware power capping control of data storage devices

    CN105487814A

  • Programmable peak power management

    CN112133352A

  • Method and device for controlling hard disk power consumption

    CN112214095A

  • Power consumption determination method and flash memory device

    CN117453491A