Energy-saving method and device

By selecting a dormant disk in the storage pool based on disk energy consumption, load strength and wear, the problem that storage pools in the prior art is difficult to achieve dormant in the entire pool, and the energy saving benefits of the storage pool are improved.

CN119847312APending Publication Date: 2025-04-18CHENGDU HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311350416.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-18
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

The existing storage pool sleeping method is difficult to achieve the entire pool sleeping, resulting in low energy saving benefits.

Method used

A sleeping of some or all disks is achieved by determining a sleepable disk in the storage pool and determining a sleeping strategy based on the disk's energy consumption, load strength, and wear.

Benefits of technology

Improve the energy-saving benefits of hibernation in storage pools, and optimize the energy consumption management of storage pools by accurately selecting hibernation disks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847312A_ABST
    Figure CN119847312A_ABST
Patent Text Reader

Abstract

An energy saving method and apparatus, applied to the technical field of storage, the method comprising: determining a first disk in a storage pool, the storage pool comprising at least two disks, the at least two disks comprising the first disk, and the expected energy consumption of the storage pool being less than or equal to a first threshold when the first disk is dormant; and sending a first instruction to the first disk, the first instruction being used for indicating dormancy in the first time period. According to the embodiment of the invention, dormancy is carried out by taking the disk as granularity, and the energy-saving benefit of storage pool dormancy can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of storage technology, and in particular to an energy-saving method and device. Background Art

[0002] Storage pool hibernation can reduce the operating power consumption of the storage pool and achieve energy saving. At present, storage pool hibernation is mainly implemented by using the method of pool storage. Specifically, some storage pools in multiple storage pools store hot data, and the remaining storage pools store cold data as much as possible. In this way, the storage pool used to store cold data has a greater probability of hibernation, thereby achieving energy saving. However, it is difficult for a single storage pool to hibernate the entire pool, resulting in low energy saving benefits from storage pool hibernation. Summary of the invention

[0003] The embodiments of the present application provide an energy-saving method and device for improving the energy-saving benefits of storage pool hibernation.

[0004] In a first aspect, the present application provides an energy-saving method, which can be executed by a computing device, or by a computing device cluster, or by a component (such as a chip, etc.) configured in the computing device, without limitation. Taking a computing device as an execution subject as an example, in this method, the computing device determines a first disk in a storage pool, wherein the storage pool includes at least two disks, the at least two disks include the first disk, and the expected energy consumption of the storage pool when the first disk is dormant is less than or equal to a first threshold; and sends a first instruction to the first disk, the first instruction is used to instruct dormancy within a first time period.

[0005] In the embodiment of the present application, hibernation is performed at the granularity of the disks in the storage pool, which means that some or all of the disks in the storage pool can be hibernated. Compared with the solution of hibernating the entire pool, the energy saving benefit of hibernating the storage pool can be improved.

[0006] In a possible implementation, the minimum value of the first threshold is a first energy consumption, which is the minimum expected energy consumption of the storage pool when all or part of the at least two disks except the first disk are in hibernation, so as to obtain the maximum benefit of hibernation of the storage pool.

[0007] In a possible implementation, the expected energy consumption of the storage pool when the first disk is in hibernation is determined according to the energy consumption of the at least two disks, the load intensity of the at least two disks, and the wear degree of the at least two disks.

[0008] Exemplarily, the expected energy consumption of the storage pool may satisfy the following formula:

[0009]

[0010] Among them, the E object is the expected energy consumption of the storage pool, I is the number of the at least two disks, k is the load intensity of the i-th disk among the at least two disks, and p i,k is the expected energy consumption of the i-th disk, and the s i,k is 1 or 0, α is a performance cost parameter, and T i,k is the response delay of the i-th disk, c is the cost of migrating a data block from the i-th disk, n is the number of data blocks migrated from the i-th disk, β is the wear cost parameter, and A is a i Or (1-a i ) i is the degree of wear, and i is a positive integer less than or equal to I.

[0011] Through the above implementation, when calculating the expected energy consumption of the storage pool, the energy consumption of the disk, the load intensity of the disk, and the wear degree of the disk are considered, so as to improve the accuracy of screening the disks to be put into hibernation.

[0012] In a possible implementation, the computing device may also receive a first operation from a user, the first operation being used to instruct execution of a first service based on the storage pool; and send a second instruction to the at least two disks, the second instruction being used to instruct execution of multiple background tasks corresponding to the first service within a second time period, the second time period not overlapping the first time period. Optionally, the first service may be a backup service.

[0013] When the storage pool executes the first business, it will generate at least one foreground task and multiple background tasks, where the execution time of multiple background tasks is not uniform and scattered. Since a disk needs a certain delay to execute tasks after recovering from the energy-saving state, the intermittent execution of multiple background tasks will affect the energy-saving benefits. Through the above implementation method, multiple background tasks are concentrated in the second time period for centralized processing, which can avoid the impact of the intermittent execution of multiple background tasks on the energy-saving benefits, thereby improving the energy-saving benefits.

[0014] In a possible implementation, the start time of the second time period is the completion time of the foreground task of the first business, which can reduce the impact of discrete execution of foreground tasks and background tasks on energy-saving benefits and improve energy-saving benefits.

[0015] In a possible implementation, the computing device may also migrate the hot data in the first disk to a second disk of the at least two disks before the first time period, and the second disk is in operation during the first time period.

[0016] In one possible implementation, the computing device may also receive a second operation before the first time period, where the second operation is used to write the first data to the storage pool; in response to the second operation, the first data is written to a third disk in the storage pool, where the third disk is in operation during the first time period.

[0017] The computing device writes the data written near the first time period to a third disk that does not need to be in sleep mode. Since the newly written data is more likely to be accessed, the above implementation reduces the probability of waking up the sleep disk and improves energy saving benefits.

[0018] In one possible implementation, the computing device may also receive a third operation within the first time period, wherein the third operation is used to write second data to the storage pool; in response to the third operation, the second data is written to a fourth disk in the storage pool, and the fourth disk is in operation during the first time period, thereby avoiding the impact on energy saving benefits caused by waking up the first disk when writing data to the first disk during the first time period.

[0019] In a possible implementation manner, the first disk does not store metadata.

[0020] Exemplarily, the computing device may also determine a fifth disk in the storage pool according to the amount of metadata stored in the storage pool, where the fifth disk is in operation during the first time period; and migrate the metadata in the storage pool to the fifth disk.

[0021] Exemplarily, determining the fifth disk in the storage pool according to the data amount of the metadata in the storage pool includes one or more of the following:

[0022] When the first value is greater than or equal to the second threshold, it is determined that the fifth disk includes the sixth disk and M disks, and the M disks are newly added disks for storing the metadata;

[0023] When the first value is greater than a third threshold value and less than a second threshold value, determining that the fifth disk is a sixth disk;

[0024] Alternatively, when the first value is less than or equal to a third threshold, determining that the fifth disk is a disk other than N disks among the plurality of sixth disks, and the N disks are disks no longer used to store the metadata;

[0025] Among them, the sixth disk is a disk originally used to store the metadata, the number of the sixth disk is one or more, the first value is the ratio between the number of data blocks used by the metadata and the number of data blocks allowed to be used by the metadata, and M and N are both positive integers.

[0026] Exemplarily, the M may satisfy:

[0027]

[0028] The N may satisfy:

[0029]

[0030] Among them, G upper_bound is the second threshold, G lower_bound is the third threshold, N used is the number of data blocks used by the metadata, N total is the number of data blocks allowed to be used by the metadata, N each The number of data blocks allocated to each of the at least two disks.

[0031] Since the probability of metadata being accessed is relatively high, in the above implementation, the metadata in the storage pool is migrated to a non-sleeping disk for centralized storage, so that the metadata is not stored in the disk that is about to sleep. This can reduce the probability of waking up the first disk in the first time period, thereby improving energy saving benefits.

[0032] In a possible implementation, the computing device may also determine the first time period according to the historical load intensity of the storage pool; or the computing device may also receive a fourth operation from the user, the fourth operation being used to indicate the first time period. Exemplarily, before receiving the fourth operation from the user, the computing device may also send a first prompt message to the user, the first prompt message being used to prompt the user to set a sleep time.

[0033] Through the above implementation, the computing device can determine the first time period according to the historical load intensity of the storage pool, or the first time period can be set by the user, and the implementation is flexible.

[0034] In a possible implementation manner, the first disk does not store hot data.

[0035] In a second aspect, the present application provides an energy-saving device, which can be used to implement the method described in the above-mentioned first aspect and any possible implementation method thereof.

[0036] In a third aspect, the present application provides a computing device, the computing device comprising a processor, the processor being configured to read and execute a computer program or instruction stored in a memory, so that the computing device executes the method described in the first aspect and any possible implementation thereof. Optionally, the computing device may also include the memory, the memory storing the computer program or instruction.

[0037] In a fourth aspect, the present application further provides a computing device cluster, including at least one computing device, each computing device including a processor, the processor of the at least one computing device is used to read and execute a computer program or instruction stored in a memory, so that the computing device cluster performs the method described in the first aspect and any possible implementation thereof. Optionally, each computing device may also include the memory, the memory storing the computer program or instruction.

[0038] In a fifth aspect, the present application further provides a chip system, the chip system comprising at least one processor, configured to execute one or more computer programs or instructions in the memory to implement the method described in the first aspect and any possible implementation thereof. Optionally, the at least one processor is coupled to the memory.

[0039] In a sixth aspect, the present application also provides a computer program product comprising computer executable instructions, which are used to enable a computing device to execute the method described in the first aspect and any possible implementation thereof.

[0040] In a seventh aspect, the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computing device to execute the method described in the above-mentioned first aspect and any possible implementation thereof.

[0041] The technical effects that can be achieved in any of the second to seventh aspects mentioned above can refer to the description of the beneficial effects in the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] Figure 1 A schematic diagram of the architecture of a system;

[0043] Figure 2 A schematic diagram of a process for energy saving provided in an embodiment of the present application;

[0044] Figure 3 A schematic diagram of the load intensity of a storage pool provided in an embodiment of the present application;

[0045] Figure 4 A schematic diagram of second prompt information provided in an embodiment of the present application;

[0046] Figure 5 A schematic diagram of the first service execution time provided in an embodiment of the present application;

[0047] Figure 6 A schematic diagram of data migration provided in an embodiment of the present application;

[0048] Figure 7 A schematic diagram of the structure of an energy-saving device provided in an embodiment of the present application;

[0049] Figure 8 A schematic diagram of the structure of another energy-saving device provided in an embodiment of the present application;

[0050] Fig. 9 A schematic diagram of the structure of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0051] The embodiments of the present application will be presented around a system including multiple devices, components, modules, etc. It should be understood that the system may include other devices, components, modules, etc. not mentioned, or may only include some of the devices, components, or modules, etc. mentioned in the embodiments.

[0052] In the embodiments of the present application, "multiple" may refer to two or more than two. In view of this, in the embodiments of the present application, "multiple" may also be understood as "at least two". "At least one" may be understood as one or more, for example, one, two or more. For example, "including at least one" means including one, two or more. For example, including at least one of A, B and C, then A, B, C, A and B, A and C, B and C, or A, B and C may be included. "And / or" describes the association relationship of associated objects. Specifically, there may be three relationships. For example, A and / or B may represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / ", unless otherwise specified, generally indicates that the previously associated objects are in an "or" relationship.

[0053] The ordinal numbers such as "first" and "second" mentioned in the embodiments of the present application are generally used to distinguish different objects, and are not used to limit the order, timing, priority or importance of multiple objects. For example, the first instruction and the second instruction are used to distinguish different instructions, and do not limit the priority or importance of the two instructions.

[0054] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings.

[0055] Figure 1 The schematic diagram of the architecture of a system applicable to the embodiment of the present application is exemplarily shown. The system may be, for example, a storage system, without limitation. The system may include a management device and one or more storage pools. Figure 1 More than two storage pools are used as an example.

[0056] The management device, which may also be referred to as a manager, a controller, or a control device, is used to manage one or more corresponding memories, for example, storage resource management, load balancing management, or sleep management. The functions of the management device may be implemented by a computing device, or may be implemented by a computing device cluster, or may be implemented by a component configured in a computing device. The embodiments of the present application do not limit the name of the management device and the implementation form of the management device. For example, the management device may monitor the load intensity of the storage units in the storage pool. The management device may send instructions to the storage pool to put the storage pool into a sleep state, etc.

[0057] A storage pool, which may also be referred to as a memory pool, a storage resource pool, or a resource pool, is used to provide data storage services. A storage pool may include one or more storage units. When a storage pool includes multiple storage units, the multiple storage units may be centrally deployed, or they may be distributed deployed, without limitation. For example, the multiple storage units included in the storage pool may be deployed in one storage device, or they may be deployed in multiple storage devices. Exemplarily, the storage unit may be a device or device for data storage such as a disk, a hard disk, an optical disk, a hard disk drive (HDD), a solid state disk (SSD), or a tape. It should be understood that the storage medium of the storage unit is not limited in the embodiments of the present application. For simplicity, the storage unit is described below as a disk. It should be understood that "disk" in the following text may be replaced with "storage unit". Figure 1 In the example, a storage pool includes multiple disks.

[0058] The embodiment of the present application provides an energy-saving method and device for improving the energy-saving benefits of a storage pool. The method and device described in the present application are based on the same technical concept. Since the principles of solving problems by the method and device are similar, the implementation of the device and the method can refer to each other, and the repeated parts will not be repeated. The method can be applied to Figure 1 The system architecture shown is, but not limited to, this.

[0059] Figure 2 The flowchart of an energy-saving method provided by an embodiment of the present application is exemplarily shown. The method can be executed by a computing device, or by a computing device cluster, or by a component configured in a computing device, without limitation. For ease of description, the following text takes a computing device as an example for the execution subject. When the method provided by the embodiment of the present application is applied to Figure 1 The system shown in the figure, the method can be executed by a management device. That is, the computing device can be Figure 1 The management device in the system shown may implement Figure 1Functions of the management device in the system shown.

[0060] S21: The computing device determines a first disk in a storage pool.

[0061] The storage pool may include one or more disks. For the description of the storage pool, please refer to the above content and will not be repeated here. The following description takes the storage pool including at least two disks as an example. In the embodiment of the present application, the at least two disks include a first disk. The first disk may also be called a dormant disk, a dormant disk, or a dormant disk, etc., without limitation. Also, the number of first disks may be one or more, without limitation.

[0062] In an embodiment of the present application, a computing device may determine a dormant disk in a storage pool, that is, determine a first disk. Exemplarily, the computing device may determine the first disk in the storage pool according to the load intensity of the storage pool. For example, the computing device may analyze the load intensity of each disk in the storage pool to determine the load degree of the storage pool. The load degree of the storage pool may be 0 load, or may be a light load, or may be a heavy load, etc., without limitation. Among them, the load intensity may be parameters such as the number of input and output (IO), and / or access bandwidth, without limitation. For example, if the number of IOs in the storage pool per unit time is large, then the load condition of the storage pool may be a heavy load. For another example, if the access bandwidth of the storage pool per unit time is small, then the load condition of the storage pool may be a light load. Among them, the embodiment of the present application does not limit the specific division method of light load and heavy load, and the method of determining the load degree of the storage pool.

[0063] For example, if the load level of the storage pool is 0 load, the computing device may determine that the entire storage pool can be put into hibernation, that is, it is determined that all disks in the storage pool are first disks. Alternatively, if the load level of the storage pool is light load, the computing device may determine that some disks in the storage pool are put into hibernation, that is, it is determined that some disks in the storage pool are first disks. Alternatively, if the load level of the storage pool is heavy load, the computing device may determine that the storage pool is not put into hibernation.

[0064] Optionally, the expected energy consumption of the storage pool when the first disk is dormant is less than or equal to a first threshold. The first threshold may be the current energy consumption of the storage pool, or may be pre-configured, or may be determined based on historical data (such as the historical load intensity of the storage pool, etc.), without pre-restriction. Exemplarily, the computing device may determine a dormant disk in the storage pool based on the expected energy consumption of the storage pool. The dormant disk satisfies: when the dormant disk is dormant, the expected energy consumption of the storage pool is less than or equal to the first threshold.

[0065] In one implementation, the computing device may determine the expected energy consumption of the storage pool according to the energy consumption of at least two disks included in the storage pool, the load intensity of the at least two disks, and the wear degree of the at least two disks.

[0066] The energy consumption of disks under different load intensities is different. Data migration can change the load intensity of a single disk, thereby achieving energy saving for a single disk. For example, the storage pool includes disk 1, disk 2, disk 3, disk 4, disk 5, and disk 6. The load intensities of these six disks are 50%, 50%, 50%, 20%, 20%, and 10% respectively. After data migration, the load intensities of these six disks can be 70%, 70%, 50%, 10%, 0, and 0 respectively. Figure 3 As shown, the load intensity of disk 5 and disk 6 becomes 0 load, which means that after data migration, disk 5 and disk 6 are dormant disks. Therefore, in one embodiment, the computing device uses the data migration cost as one of the reference factors when determining the expected energy consumption of the storage pool, which can improve the accuracy of the determined expected energy consumption. For example, the computing device can determine the expected energy consumption of the storage pool based on the energy consumption of at least two disks included in the storage pool, the load intensity of at least two disks, the wear of at least two disks, and the data migration cost.

[0067] In one implementation, the computing device may migrate hot data on a disk that is expected to be dormant to a disk that does not need to be dormant. This can adjust the storage layout of hot data in the storage pool, reduce the probability of the dormant disk being awakened during the dormant time period (such as the first time period), and improve energy saving benefits. For example, before the first time period, the computing device may migrate hot data from the first disk to the second disk in the storage pool, and the second disk is in operation during the first time period. The number of the second disks may be one or more, without limitation. Among them, the disk that does not need to be dormant may be referred to as a running disk, or a running disk, etc., without limitation.

[0068] In one implementation, the newly written data has a high probability of being accessed, that is, the newly written data may be hot data, so the computing device may write the newly written data into the running disk to support the user to access the recently written data. For example, before the first time period, the computing device may receive a first operation, and the first operation is used to write the first data into the storage pool; in response to the first operation, the computing device may write the first data into the third disk in the storage pool, and the third disk is in a running state during the first time period. The first data may come from the user, or may also come from the inside of the computing device, without limitation. The number of third disks may be one or more. This implementation can support the user to access the data recently written into the storage pool during the first time period, improve the user experience, and reduce the problem that the first disk is awakened during the first time period due to the first data being written into the first disk, which is not conducive to the energy saving of the storage pool.

[0069] Among them, hot data may include but is not limited to data at the chunk (chunk or block) level, data in a logical unit (logical unit number, LUN), data in a file system, or data at a directory level, and other data with a high access frequency. It should be understood that the embodiments of the present application do not limit the specific division of hot data. Data other than hot data may be referred to as cold data.

[0070] Optionally, the computing device may also use the performance cost of at least two disks and / or the response delay of at least two disks as reference factors when determining the expected energy consumption of the storage pool to improve the accuracy of the expected energy consumption determined. For example, the computing device may determine the expected energy consumption of the storage pool based on the energy consumption of at least two disks included in the storage pool, the load intensity of at least two disks, the wear of at least two disks, the data migration cost, and the performance cost of at least two disks. For another example, the computing device may determine the expected energy consumption of the storage pool based on the energy consumption of at least two disks included in the storage pool, the load intensity of at least two disks, the wear of at least two disks, the data migration cost, and the response delay of at least two disks. For another example, the computing device may determine the expected energy consumption of the storage pool based on the energy consumption of at least two disks included in the storage pool, the load intensity of at least two disks, the wear of at least two disks, the data migration cost, the performance cost of at least two disks, and the response delay of at least two disks. It should be understood that the computing device may also consider other reference factors that affect energy consumption when determining the expected energy consumption of the storage pool, such as disk capacity or load size, etc., and the embodiments of the present application are not limited to this.

[0071] Exemplarily, the reserved energy consumption of the storage pool may satisfy the following formula (1).

[0072]

[0073] Among them, E object is the expected energy consumption of the storage pool. I is the number of at least two disks, that is, the number of disks included in the storage pool. k can be the load intensity of the i-th disk in the at least two disks. p i,k It can be the expected energy consumption of the i-th disk, where i is a positive integer less than or equal to I. i,k It can be 1 or 0. For example, when k=0, s i,k =0; otherwise, s i,k =1. α is the performance cost parameter. T i, can be the response delay of the i-th disk. c can be the cost of migrating a data block from the i-th disk. n can be the number of data blocks migrated from the i-th disk. β is the wear cost parameter. A can be a i Or it can also be (1-a i ), a i is the degree of wear. For example, in a i When it is less than the fourth threshold, A=a i ; Otherwise, A=(1-a i ).

[0074] The computing device can traverse the sleep strategies of all disks in the storage pool (i.e., which disks are in sleep mode and which disks are in operation) according to the above formula (1). object ≤E original When the computing device can determine that E object The corresponding sleep strategy can achieve energy saving benefits. original is the first threshold. For example, when E object When the energy consumption of the storage pool is less than the current energy consumption of the storage pool, the computing device can determine that the E object The corresponding sleep strategy can achieve energy saving benefits.

[0075] For example, assume that the storage pool includes disk 1, disk 2, and disk 3. If disk 1 is set to hibernate, disk 2 is set to hibernate, and disk 3 obtains E object If the E obtained by setting disk 1 to sleep, disk 2 to run, and disk 3 to run is greater than the first threshold, the computing device can determine that the sleep strategy of disk 1 and disk 2 sleeping and disk 3 running cannot obtain energy saving benefits. object If the value is less than or equal to the first threshold, the computing device may determine that the hibernation strategy in which disk 1 is hibernating and disks 2 and 3 are running can achieve energy saving benefits.

[0076] In one implementation, the minimum value of the first threshold may be a first energy consumption, which is the minimum expected energy consumption of the storage pool when all or part of the disks in the storage pool except the first disk are in hibernation, meaning that the expected energy consumption of the storage pool is minimum when the first disk is in hibernation. In other words, the computing device may determine the minimum expected energy consumption of the storage pool according to the above formula (1), so that a greater energy saving benefit can be obtained when hibernation is performed according to the hibernation strategy corresponding to the minimum expected energy consumption.

[0077] For example, suppose the storage pool includes disk 1 and disk 2. If disk 1 is set to hibernate and disk 2 is set to hibernate, the E object If the E obtained by setting disk 1 to sleep and disk 2 to run is greater than the first threshold, the computing device can determine that the sleep strategy of disk 1 and disk 2 cannot obtain energy saving benefits. object is less than or equal to the first threshold, the computing device may determine that the hibernation strategy of disk 1 sleeping and disk 2 running can obtain energy saving benefits. object If the E obtained by setting disk 1 to sleep and disk 2 to run is less than the first threshold, the computing device can determine that the sleep strategy of disk 1 running and disk 2 sleeping can obtain energy saving benefits. object Greater than the E obtained by assuming that disk 1 is running and disk 2 is dormant object , then the computing device can sleep according to the sleep strategy of disk 1 running and disk 2 sleeping, so as to obtain greater energy saving benefits.

[0078] In another implementation, the computing device may also determine the first disk in the storage pool based on algorithms such as machine learning without limitation.

[0079] S22: The computing device sends a first instruction to the first disk.

[0080] The first instruction can be used to indicate hibernation within a first time period. The first instruction can be a hibernation instruction, but the embodiment of the present application does not limit the name of the first instruction. Further, the first disk receives the first instruction and enters a hibernation state within the first time period. Optionally, the storage pool may include other disks in addition to the first disk, and the other disks are in operation within the first time period. That is, the other disks support being accessed, executing tasks, etc. within the first time period. For example, within the first time period, the computing device may receive a third operation, and the third operation is used to write the second data into the storage pool; in response to the third operation, the computing device may write the second data into a fourth disk in the storage pool, and the fourth disk is in operation within the first time period, so that there is no need to wake up the first disk, which can improve energy saving benefits.

[0081] In one implementation, the computing device may determine the first time period based on the historical load intensity of the storage pool. For example, the computing device may learn the historical load pattern of the storage pool based on algorithms such as machine learning, and predict that the sleep time is the first time period. Alternatively, the computing device may also predict the user's sleep time window, and determine the first time period based on the user's sleep time window, such as determining the first time period as the sleep time window. For example, the computing device may predict the user's sleep time window based on the user's historical access information, and the historical access information is information about the user's access to the storage pool. Alternatively, the computing device may also determine the first time period based on the historical load intensity of the storage pool and the user's sleep time window. The sleep time window may be understood as a time period when the user does not access the storage pool. For example, the sleep time window may be a periodic time period when the user does not access the storage pool, without restriction. For example, the sleep time window may be from 1:00 to 5:00 every day, or from 2:00 to 6:00 every day, etc., without restriction.

[0082] Optionally, the sleep time window may be one or more, without limitation. When the number of sleep time windows is multiple, the computing device may determine that one of the multiple sleep time windows is the first time period. Alternatively, the computing device may also send a second prompt message to the user, and the second prompt message may include the multiple sleep time windows; and receive a fifth operation from the user, and the fifth operation is used to indicate the first time period. Further, the computing device may determine the first time period according to the fifth operation. Optionally, the first time period to which the fifth operation refers may belong to the multiple sleep time windows, or may not belong to the multiple sleep time windows, that is, the first time period is set by the user and is not limited. For example, the second prompt message may also be used to prompt the user to set the sleep time. For example, the multiple sleep time windows include 23:30-6:00, 23:30-7:00, and 0:00-7:00, and the second prompt message may include a 23:30-6:00 option, a 23:30-7:00 option, a 0:00-7:00 option, and other time period options, such as Figure 4 When the user selects the other time period option, the user can set one or more sleep times.

[0083] Optionally, if the regularity of the user accessing the storage pool changes, the computing device may send a third prompt message to the user, and the third prompt message may be used to prompt the user to change the energy-saving time period in a timely manner. The third prompt message may be a text message, a ringtone, etc., and the specific implementation form of the third prompt message is not limited in the embodiment of the present application.

[0084] In the above implementation, the computing device may determine the first time period based on the historical load intensity of the storage pool. In another implementation, the user may also actively set the sleep time. For example, the computing device may receive a third operation from the user, and the third operation is used to indicate the first time period, so that a sleep time that suits the user can be selected, which can improve the user experience. Or the user may also set the sleep time in response to the prompt of the computing device. For example, before receiving the third operation from the user, the computing device may also send a first prompt message to the user, and the first prompt message is used to prompt the user to set the sleep time. The first prompt message may be a text message, a ringtone, etc., and the specific implementation form of the first prompt message is not limited in the embodiment of the present application.

[0085] In one possible implementation, a computing device may receive a first operation from a user, and the first operation may be used to instruct execution of a first service based on a storage pool. The first service may be, for example, a backup service, etc., without limitation. The storage pool will generate at least one foreground task and at least one background task when executing the first service. Furthermore, the computing device may send a second instruction to at least two disks, and the second instruction may be used to instruct execution of at least one background task corresponding to the first service within a second time period, and the second time period does not overlap with the first time period. When there are multiple background tasks corresponding to the first service, the execution times of the multiple background tasks are not uniform and are scattered. Since a disk needs a certain delay to execute tasks after recovering from a power-saving state, the intermittent execution of the multiple background tasks will affect the energy-saving benefits, such as Figure 5 In the above implementation, the computing device processes multiple background tasks in the second time period, which can avoid the impact of intermittent execution of multiple background tasks on energy saving benefits, extend the sleep time, and improve energy saving benefits. Figure 5 Optionally, the start time of the second time period may be the completion time of the foreground task of the first service, that is, after the foreground task of the first service is completed, multiple background tasks of the first service may be executed immediately, which can reduce the impact of discrete execution of foreground tasks and background tasks on energy saving benefits, extend the sleep time, and improve energy saving benefits, such as Figure 5 As shown in (3) in . Figure 5 In the example, the first business corresponds to one foreground task and three background tasks (respectively recorded as background task 1, background task 2 and background task 3).

[0086] The metadata and data are stored in the disks in the storage pool in a dispersed manner. Since the metadata is more likely to be accessed, in one implementation, the computing device concentrates the metadata in the storage pool on some running disks for storage, such as Figure 6As shown. For example, the first disk may not store metadata, that is, the first disk does not store metadata. For example, the first disk originally does not store metadata, or the first disk originally stores metadata. After being selected as the dormant disk, the metadata stored in the first disk can be migrated to the running disk (such as the fifth disk). In other words, the disk that is about to go into dormancy does not store metadata, which can reduce the probability of the dormant disk being awakened during the dormant time, thereby improving energy saving benefits.

[0087] The metadata in the storage pool is stored in some running disks. When the amount of metadata in the storage pool increases, the computing device can expand the capacity; or, when the amount of metadata in the storage pool decreases, the computing device can shrink the capacity to improve the utilization of the storage pool. Exemplarily, the computing device can expand or shrink the capacity according to the amount of metadata stored in the storage pool. For example, the computing device can determine the fifth disk in the storage pool according to the amount of metadata stored in the storage pool, and the fifth disk is in operation during the first time period. The number of the fifth disk can be one or more, without limitation. Further, the computing device can migrate the metadata in the storage pool to the fifth disk. For example, the computing device can migrate the metadata in the first disk to the fifth disk. It should be understood that if the fifth disk originally stores metadata, the metadata in the fifth disk can remain unchanged.

[0088] For example, the computing device may determine the fifth disk by one or more of the following: when the first value is greater than or equal to the second threshold, the computing device may determine that the fifth disk includes the sixth disk and M disks, where the M disks are newly added disks for storing metadata, and M is a positive integer; when the first value is greater than the third threshold and less than the second threshold, the computing device may determine that the fifth disk is the sixth disk; or, when the first value is less than or equal to the third threshold, the computing device may determine that the fifth disk is a disk other than N disks among the plurality of sixth disks, where N disks are disks no longer used to store metadata, and N is a positive integer. Among them, the sixth disk is a disk originally used to store metadata. The sixth disk is in operation during the first time period. The number of sixth disks is one or more. The first value may be the ratio between the number of data blocks used for metadata and the number of data blocks allowed to be used by metadata. For example, the first value may be recorded as N used / N total . N used The number of data blocks that can be used for metadata. N total It can be the total number of data blocks that the metadata is allowed to use. total / N each Can be greater than or equal to the maximum number of metadata columns. each The number of data extents that can be allocated to each disk in the storage pool.

[0089] It should be pointed out that when the computing device is expanded, a new disk can be added to store metadata. The added metadata will be written to the new disk first, and data balancing will be performed on the newly added disk instead of the disk originally used to store metadata. This can reduce data migration and extend the life of the disk.

[0090] Exemplarily, the above M may satisfy the following formula (2).

[0091]

[0092] Among them, X∈(X1,X2) means that X is greater than X1 and less than X2. upper_bound It can be the second threshold. lower_bound It can be the third threshold. used The number of data blocks that can be used for metadata. N total The total number of data blocks that can be used for metadata. N each The number of data extents that can be allocated to each disk in the storage pool.

[0093] Exemplarily, the above M may also satisfy the following formula (3).

[0094]

[0095] The parameters in formula (3) can refer to the description of formula (2) and will not be described in detail.

[0096] In other words, the value of M can be determined by formula (2), or by formula (3), or by both formula (2) and formula (3).

[0097] Exemplarily, the above N may satisfy the following formula (4).

[0098]

[0099] The parameters in formula (4) can refer to the description of formula (2) and will not be described in detail.

[0100] Exemplarily, the above N may also satisfy the following formula (5).

[0101]

[0102] The parameters in formula (5) can refer to the description of formula (2) and will not be described in detail.

[0103] In other words, the value of N can be determined by formula (4), or can be determined by formula (5), or can be determined by both formula (4) and formula (5).

[0104] Since the probability of hot data being accessed is relatively high, in one implementation, the computing device may migrate the hot data in the dormant disk to some running disks, such as Figure 6 As shown. For example, the first disk does not store hot data. For example, before the first time period, the computing device can migrate the hot data in the first disk to the second disk in the storage pool, and the second disk is in operation during the first time period, so that the second disk can provide access to the hot data during the first time period, which can reduce the probability of the first disk being awakened during the first time period, and can improve energy saving benefits.

[0105] exist Figure 6 In the example, the storage pool includes 8 disks, which are respectively recorded as disk 1, disk 2, disk 3, disk 4, disk 5, disk 6, disk 7, and disk 8. Disk 1, disk 2, disk 3, disk 4, and disk 5 are running disks, and disk 6, disk 7, and disk 8 are dormant disks. Each disk includes a metadata area and a data area. The metadata area is used to store metadata, and the data area is used to store data. The metadata in disk 6 is migrated to disk 2, so that disk 6, disk 7, and disk 8 do not store metadata. The hot data in disk 7 is migrated to disk 5, and the hot data in disk 8 is migrated to disk 4, so that disk 6, disk 7, and disk 8 do not store hot data.

[0106] An embodiment of the present application provides an energy-saving device. Figure 7 The schematic diagram of the structure of an energy-saving device provided in an embodiment of the present application is exemplarily shown. Optionally, the energy-saving device 700 may be a computing device, or a component in a computing device, for implementing Figure 2 The contents of the embodiment shown in FIG. Figure 7 As shown, the energy-saving device 700 may include a disk sleep / wake-up decision module, a background disk access service control module, and a sleep disk selection module. It should be understood that the division and names of the various modules of the energy-saving device 700 are no longer limited in the embodiment of the present application.

[0107] Among them, the disk sleep / wake-up decision module can sense the load intensity of the storage pool, analyze the load intensity of the storage pool, determine whether to put the storage pool into sleep mode, or determine whether to wake up the dormant disk. The disk sleep / wake-up decision module can also determine a first time period, such as determining the first time period based on historical load intensity and / or dormancy time window. For details, please refer to the content of the aforementioned method embodiment, which will not be repeated. The background disk access service regulation module can query background tasks, suspend background tasks, or resume background tasks, etc., without restriction. The background disk access service regulation module can concentrate multiple background tasks corresponding to the first business in the second time period for processing, and / or can immediately execute multiple background tasks corresponding to the first business after executing the foreground tasks corresponding to the first business, so as to increase the sleep time and improve energy saving benefits. For the specific implementation process, please refer to the content of the aforementioned method embodiment, which will not be repeated. The dormant disk selection module can determine the number of dormant disks and select dormant disks based on disk energy consumption, disk load intensity, and disk wear. For the specific implementation process, please refer to the content of the aforementioned method embodiment, which will not be repeated. The dormant disk selection module can also be used to migrate metadata in the dormant disk to the running disk, etc. For the specific implementation process, please refer to the content of the aforementioned method embodiment, which will not be repeated.

[0108] Furthermore, the energy-saving device 700 may send a first instruction to the storage pool to make the dormant disk selected in the storage pool dormant within a first time period. It should be understood that the energy-saving device 700 may include a storage pool or may not include a storage pool, without limitation. Figure 7 In the example, the energy-saving device does not include the storage pool. In addition, the entire storage pool can be hibernated, or some disks in the storage pool can be hibernated, without restriction. Figure 7 The hibernation of some disks in a storage pool is used as an example.

[0109] It should be pointed out that both the background disk access service regulation module and the dormant disk selection module are optional modules. In other words, the energy-saving device 700 may only include a disk dormant / wake-up decision module. For example, the disk dormant / wake-up decision module may determine whether the entire storage pool is dormant, or determine whether some disks in the storage pool are dormant, based on algorithms such as machine learning. Alternatively, the energy-saving device 700 may only include a disk dormant / wake-up decision module and a background disk access service regulation module. Alternatively, the energy-saving device 700 may also only include a disk dormant / wake-up decision module and a dormant disk selection module.

[0110] The embodiment of the present application also provides an energy-saving device. Figure 8 The schematic diagram of the structure of another energy-saving device provided in the embodiment of the present application is exemplarily shown. The energy-saving device can be used to perform Figure 2 The method in the illustrated embodiment.

[0111] In one implementation, the communication device 800 may include a processing module 801 and a transceiver module 802. The processing module 801 may be used to perform data processing, such as executing the processing-related steps in any of the above method embodiments. The transceiver module 802 may be used to implement corresponding communication functions, such as receiving or sending relevant data, information or messages. The transceiver module 802 may also be referred to as a communication interface, a communication module, a transceiver unit, etc.

[0112] Optionally, the communication device 800 may further include a storage module. Figure 8 The storage module may be used to store instructions and / or data, and the processing module 801 may read the instructions and / or data in the storage module so that the communication device 800 implements the aforementioned method embodiment.

[0113] Optionally, the transceiver module 802 may include a sending module and a receiving module. The sending module is used to perform the sending operation in the above method embodiment. The receiving module is used to perform the receiving operation in the above method embodiment.

[0114] It should be noted that the communication device 800 may include a sending module but not a receiving module. Alternatively, the communication device 800 may include a receiving module but not a sending module. Specifically, it may depend on whether the above solution executed by the communication device 800 includes a sending action and a receiving action.

[0115] Optionally, the communication device 800 can be used to perform the above Figure 2 For details of the actions performed by the computing device in the embodiment shown, please refer to the above Figure 2 The relevant introduction in the illustrated embodiment will not be repeated here. For example, the communication device 800 may execute the following scheme:

[0116] The processing module 801 can be used to determine a first disk in a storage pool, wherein the storage pool includes at least two disks, the at least two disks include the first disk, and the expected energy consumption of the storage pool when the first disk is dormant is less than or equal to a first threshold.

[0117] The transceiver module 802 may be configured to send a first instruction to the first disk, where the first instruction is used to instruct the disk to sleep within a first time period.

[0118] In a possible implementation, the minimum value of the first threshold is a first energy consumption, and the first energy consumption is the minimum expected energy consumption of the storage pool when all or part of the at least two disks except the first disk are in sleep mode.

[0119] In a possible implementation, the expected energy consumption of the storage pool when the first disk is in hibernation is determined according to the energy consumption of the at least two disks, the load intensity of the at least two disks, and the wear degree of the at least two disks.

[0120] In a possible implementation, the transceiver module 802 may also be used to receive a first operation from a user, the first operation being used to instruct execution of a first service based on the storage pool; and to send a second instruction to the at least two disks, the second instruction being used to instruct execution of multiple background tasks corresponding to the first service within a second time period, the second time period not overlapping the first time period. Optionally, the first service may be a backup service. Optionally, the start time of the second time period is the completion time of the foreground task of the first service.

[0121] In a possible implementation, the processing module 801 may also be configured to migrate the hot data in the first disk to a second disk among the at least two disks before the first time period, and the second disk is in operation during the first time period.

[0122] In a possible implementation, before the first time period, the transceiver module 802 can also be used to receive a second operation, and the second operation is used to write the first data into the storage pool; the processing module 801 can also be used to write the first data into a third disk in the storage pool in response to the second operation, and the third disk is in operation during the first time period.

[0123] In a possible implementation, the transceiver module 802 can also be used to receive a third operation within the first time period, and the third operation is used to write the second data into the storage pool; the processing module 801 can also be used to write the second data into a fourth disk in the storage pool in response to the third operation, and the fourth disk is in operation during the first time period.

[0124] In one possible implementation, the processing module 801 can also be used to determine the fifth disk in the storage pool based on the amount of metadata stored in the storage pool, and the fifth disk is in operation during the first time period; and migrate the metadata in the storage pool to the fifth disk.

[0125] Exemplarily, the processing module 801 may also be used to perform one or more of the following:

[0126] When the first value is greater than or equal to the second threshold, it is determined that the fifth disk includes the sixth disk and M disks, and the M disks are newly added disks for storing the metadata;

[0127] When the first value is greater than a third threshold value and less than a second threshold value, determining that the fifth disk is a sixth disk;

[0128] Alternatively, when the first value is less than or equal to a third threshold, determining that the fifth disk is a disk other than N disks among the plurality of sixth disks, and the N disks are disks no longer used to store the metadata;

[0129] Among them, the sixth disk is a disk originally used to store the metadata, the number of the sixth disk is one or more, the first value is the ratio between the number of data blocks used by the metadata and the number of data blocks allowed to be used by the metadata, and M and N are both positive integers.

[0130] In a possible implementation, the processing module 801 may also be used to determine the first time period according to the historical load strength of the storage pool; or the transceiver module 802 may also be used to receive a fourth operation from the user, the fourth operation being used to indicate the first time period. Exemplarily, before receiving the fourth operation from the user, the transceiver module 802 may also be used to send a first prompt message to the user, the first prompt message being used to prompt the user to set a sleep time.

[0131] The above specific implementation process can be referred to Figure 2 The relevant description of the illustrated embodiment will not be repeated here.

[0132] It is understandable that the above-mentioned multiple functional modules can be implemented based on software, hardware or a combination of software and hardware, and the multiple functional modules can be arbitrarily combined or divided based on the specific implementation.

[0133] The present application embodiment also provides a computing device 900. The computing device 900 may be a server, etc., without limitation. Fig. 9 As shown, the computing device 900 may include a processor 901. The processor 901 may implement Figure 2 It should be understood that the embodiment of the present application does not limit the number of processors in the computing device 900. The processor 901 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0134] Optionally, the computing device 900 may further include a memory 902 ( Fig. 9Memory 902 may include volatile memory, such as random access memory (RAM). Memory 902 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD) or solid state drive (SSD). Executable program code is stored in memory 902, and processor 901 executes the executable program code to implement Figure 2 The method of the corresponding embodiment.

[0135] Optionally, the computing device 900 may further include a communication interface 904 ( Fig. 9 The communication interface 904 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 900 and other devices or a communication network.

[0136] Optionally, the computing device 900 may further include a bus 903. The processor 901, the memory 902 and the communication interface 904 communicate with each other via the bus 903. The bus 903 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus 903 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig. 9 The bus 903 may include a path for transmitting information between various components of the computing device 900 (eg, the processor 901, the memory 902, and the communication interface 904).

[0137] Based on the above embodiments, the present application also provides a computer program product, which includes: a computer program (also referred to as code, or instructions), which enables a computer to execute the methods described in the embodiments of the present application when the computer program is executed.

[0138] Based on the above embodiments, the present application further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a computer, the computer executes the methods described in the embodiments of the present application.

[0139] Based on the above embodiments, the present application also provides a chip, which is used to read a computer program stored in a memory to implement the methods described in the embodiments of the present application.

[0140] Based on the above embodiments, the present application provides a chip system, which includes a processor for supporting a computer device to implement the methods described in the embodiments of the present application. In one possible design, the chip system also includes a memory, which is used to store the necessary programs and data for the computer device. The chip system can be composed of a chip, or it can include a chip and other discrete devices.

[0141] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0142] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0143] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0144] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0145] Obviously, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the scope of the embodiments of the present application. Thus, if these modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. An energy saving method, characterized in that: Methods include: Determine a first disk in a storage pool, wherein the storage pool includes at least two disks, the at least two disks include the first disk, and an expected energy consumption of the storage pool when the first disk is dormant is less than or equal to a first threshold; A first instruction is sent to the first disk, where the first instruction is used to instruct hibernation within a first time period.

2. The method according to claim 1, characterized in that The minimum value of the first threshold is a first energy consumption, and the first energy consumption is a minimum expected energy consumption of the storage pool when all or part of the at least two disks except the first disk are in hibernation.

3. The method according to claim 1 or 2, characterized in that: The expected energy consumption of the storage pool when the first disk is dormant is determined according to the energy consumption of the at least two disks, the load intensity of the at least two disks, and the wear degree of the at least two disks.

4. The method according to claim 3, characterized in that The expected energy consumption of the storage pool meets: Among them, E object is the expected energy consumption of the storage pool, I is the number of at least two disks, k is the load intensity of the i-th disk among the at least two disks, and p i,k is the expected energy consumption of the ith disk, s i,k is 1 or 0, α is the performance cost parameter, T i,k is the response delay of the i-th disk, c is the cost of migrating a data block from the i-th disk, n is the number of data blocks migrated from the i-th disk, β is the wear cost parameter, and A is a i Or (1-a i ), a i is the degree of wear, and i is a positive integer less than or equal to I.

5. The method according to any one of claims 1 to 4, characterized in that The method also includes: receiving a first operation from a user, where the first operation is used to instruct execution of a first service based on a storage pool; A second instruction is sent to at least two disks, where the second instruction is used to instruct to execute multiple background tasks corresponding to the first business within a second time period, and the second time period does not overlap with the first time period.

6. The method according to claim 5, characterized in that The start time of the second time period is the completion time of the foreground task of the first service.

7. The method according to any one of claims 1 to 6, characterized in that The method also includes: Before the first time period, hot data in the first disk is migrated to a second disk of the at least two disks, and the second disk is in a running state during the first time period.

8. The method according to any one of claims 1 to 7, characterized in that The method also includes: Before the first time period, receiving a second operation, where the second operation is used to write the first data into the storage pool; In response to the second operation, the first data is written to a third disk in the storage pool, and the third disk is in a running state during the first time period.

9. The method according to any one of claims 1 to 8, characterized in that The method also includes: In the first time period, a third operation is received, where the third operation is used to write the second data into the storage pool; In response to the third operation, the second data is written to a fourth disk in the storage pool, and the fourth disk is in a running state during the first time period.

10. The method according to any one of claims 1 to 9, characterized in that The first disk does not store metadata.

11. The method according to claim 10, characterized in that The method also includes: Determine, according to the data volume of the metadata stored in the storage pool, a fifth disk in the storage pool, where the fifth disk is in a running state during the first time period; Migrate the metadata in the storage pool to the fifth disk.

12. The method according to claim 11, characterized in that Determining the fifth disk in the storage pool according to the amount of metadata in the storage pool includes one or more of the following: When the first value is greater than or equal to the second threshold, it is determined that the fifth disk includes the sixth disk and M disks, and the M disks are newly added disks for storing metadata; When the first value is greater than the third threshold value and less than the second threshold value, the fifth disk is determined to be the sixth disk; or, When the first value is less than or equal to the third threshold, determining that the fifth disk is a disk other than N disks in the plurality of sixth disks, and the N disks are disks no longer used to store metadata; Among them, the sixth disk is a disk originally used to store metadata, the number of sixth disks is one or more, the first value is the ratio between the number of data blocks used by metadata and the number of data blocks allowed to be used by metadata, and M and N are both positive integers.

13. The method according to claim 12, characterized in that M satisfies: N satisfies: Among them, G upper_bound is the second threshold, G lower_bound is the third threshold, N used is the number of data blocks used by metadata, N total N is the number of data blocks allowed for metadata use. each The number of data blocks allocated for each of at least two disks.

14. The method according to any one of claims 1 to 13, characterized in that The method also includes: The first time period is determined according to the historical load intensity of the storage pool.

15. The method according to any one of claims 1 to 13, characterized in that The method also includes: A fourth operation is received from the user, where the fourth operation is used to indicate the first time period.

16. The method according to claim 15, characterized in that The method also includes: Before receiving the fourth operation from the user, a first prompt message is sent to the user, where the first prompt message is used to prompt the user to set a sleep time.

17. The method according to any one of claims 1 to 16, characterized in that The first disk does not store hot data.

18. An energy-saving device, characterized in that: The method comprises a module or a unit for executing the method according to any one of claims 1 to 17.

19. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor; The processor of at least one computing device is configured to read the computer program or instructions stored in the memory, so that the computing device cluster executes the method according to any one of claims 1 to 17.

20. A computer-readable storage medium, characterized in that: The method comprises computer program instructions, which, when executed by a computing device cluster, cause the computing device cluster to perform a method as claimed in any one of claims 1 to 17.

21. A computer program product, characterized in that The computer program product comprises instructions, which, when executed by a computer device cluster, cause the computer device cluster to perform the method according to any one of claims 1 to 17.