Storage pool fault processing method and device, computer equipment, medium and product

By monitoring storage pool failures and transferring their data to hard drives, the problem of faulty storage pools occupying power-protected memory segments was resolved, improving system performance and resource utilization, and ensuring the integrity and security of data dumping.

CN121935007APending Publication Date: 2026-04-28DAWNING INFORMATION IND (BEIJING) CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
DAWNING INFORMATION IND (BEIJING) CO LTD
Filing Date
2025-12-19
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

In storage systems, faulty storage pools consume a large amount of power-protected memory segment resources, leading to reduced system performance and an inability to handle degradation and segment swapping operations, which may result in safe shutdown and MSEG over-redundancy risks.

Method used

By monitoring storage pool failures, the target power-saving memory segment is identified, the data to be dumped is obtained and transferred to the spare storage space of the hard disk, the power-saving memory segment resources are released, and the data transfer is managed using the hard disk storage segment and index area.

Benefits of technology

This effectively freed up the power-protected memory segment resources occupied by the fault storage pool, improved the resource sufficiency of other storage pools in the system, enhanced system performance, and ensured the integrity and security of data dumping.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121935007A_ABST
    Figure CN121935007A_ABST
Patent Text Reader

Abstract

The invention relates to a storage pool fault processing method and device, computer equipment, a medium and a product, and relates to the technical field of data storage. The method comprises the following steps: under the condition that at least one storage pool is monitored to have a pool fault, determining a target power protection memory segment associated with the storage pool with the pool fault; acquiring to-be-dumped data in each target power guarantee memory segment; transferring the to-be-transferred data to a standby storage space of at least one hard disk so as to release storage resources of each target power guarantee memory segment; therefore, the storage pool with the fault is prevented from continuously occupying the resources of the target power guarantee memory segment, the sufficiency of the resources of the power guarantee memory segment which can be used by other normal storage pools can be improved, and the working performance of the system can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data storage technology, and in particular to a storage pool fault handling method, apparatus, computer equipment, medium, and product. Background Technology

[0002] In related technologies, a storage system can contain multiple storage pools, and different storage pools can share all power-protected memory segments within the storage system. If a single storage pool fails, and that failed storage pool handles the majority of the system's I / O (Input / Output) load, the related I / O will consume a significant amount of power-protected memory segment resources. The data in these power-protected memory segments cannot be discarded. If the storage pool failure persists for a long time, the related power-protected memory segment resources will remain occupied, severely limiting the power-protected memory resources available to other storage pools in the system, thus degrading system performance. Summary of the Invention

[0003] Therefore, it is necessary to provide a storage pool fault handling method, apparatus, computer equipment, computer-readable storage medium, and computer program product that can solve the problem of faulty storage pools occupying associated power-protected memory segment resources.

[0004] In a first aspect, this application provides a storage pool fault handling method, the method comprising:

[0005] If at least one storage pool fails, the target power-saving memory segment associated with the storage pool that failed is determined.

[0006] Obtain the data to be dumped from each of the target power-saving memory segments;

[0007] The data to be dumped is transferred to the spare storage space of at least one hard disk to free up the storage resources of each of the target power-saving memory segments.

[0008] In this embodiment, by monitoring whether each storage pool has failed, if at least one storage pool fails, the target power-saving memory segments associated with the failed storage pool are identified to identify these occupied target power-saving memory segments. Further, data in each target power-saving memory segment is acquired to obtain the data to be transferred. This data is then transferred to the spare storage space of at least one hard disk to clear the resource storage space of each target power-saving memory segment, releasing it for use by other undamaged storage pools that require it. This avoids the continuous occupation of target power-saving memory segment resources by the failed storage pool, which helps improve the sufficiency of power-saving memory segment resources available to other normal storage pools, and thus also improves system performance.

[0009] In one embodiment, the spare storage space of the hard disk includes at least one set of associated hard disk storage segments and index areas;

[0010] The step of transferring the data to be dumped to the spare storage space of at least one hard disk includes:

[0011] The data to be dumped is transferred to at least one of the hard disk storage segments, and the transferred index data is stored in the index area of ​​the associated group of the hard disk storage segments.

[0012] The transfer index data includes at least one of the following:

[0013] The first identifier of the hard disk storage segment in the associated group;

[0014] The second identifier of the hard disk storage object used to store the data to be dumped in the hard disk storage segment of the associated group;

[0015] The third identifier of the target power-saving memory segment associated with the data to be dumped stored in the hard disk storage object;

[0016] The fourth identifier of the storage pool corresponding to the target power-saving memory segment of the third identifier.

[0017] In this embodiment, while transferring the data to be dumped to the required hard disk storage segment, a transfer index data for the data stored in the hard disk storage segment of the same group is generated and stored in the index area of ​​each hard disk storage segment. This allows the transfer index data to be used to characterize the index information of the data stored in the hard disk storage segment of the same group, making it easy to know which hard disk storage segment the data stored in the hard disk storage segment of the same group is associated with, which hard disk storage object is the specific one, and which target power-saving memory segment and storage pool are the corresponding ones.

[0018] In one embodiment, after transferring the data to be dumped to spare storage space on at least one hard disk, the method further includes:

[0019] If the storage pool where the pool failure was detected is in a fault-cleared state, the transfer index data of the storage pool in the fault-cleared state is obtained.

[0020] Based on the number of each target power-saving memory segment corresponding to the third identifier in the transfer index data, determine the same number of power-saving memory segments to be used.

[0021] The data to be dumped stored in the hard disk is transferred to each of the standby power-saving memory segments to release the storage resources of the spare storage space of the hard disk.

[0022] In this embodiment, after the fault pool is recovered, the target power-saving memory segment corresponding to the recovered storage pool is identified based on the transfer index data, and the number of these target power-saving memory segments is determined. Then, the same number of standby power-saving memory segments are applied for to transfer the data to be transferred from the hard disk to each of the newly applied standby power-saving memory segments. This releases the storage resources in the spare storage space of the hard disk that were originally used to store this data to be transferred, making it easier for the resources in other power-saving memory segments to use the spare storage space of the hard disk.

[0023] In one embodiment, transferring the data to be dumped to spare storage space on at least one hard disk includes:

[0024] Obtain the amount of data to be dumped, and obtain the total amount of free space in the spare storage space of each hard drive;

[0025] If the amount of data is less than or equal to the total amount of free space, the data to be dumped is transferred to the spare storage space of at least one of the hard disks.

[0026] In this embodiment, by comparing the amount of data to be dumped with the total amount of free space on the hard disk for storing the data to be dumped, and if the comparison result indicates that the spare storage space on the hard disk is sufficient to receive and store the data to be dumped, the data to be dumped is then transferred to the spare storage space on the hard disk. This helps to ensure the smoothness of the data dumping process, avoids the situation where some data to be dumped is transferred to the hard disk but others cannot be transferred to the hard disk, and also helps to ensure the integrity of the data to be dumped.

[0027] In one embodiment, the method further includes:

[0028] During the process of transferring the data to be dumped to the spare storage space of at least one hard disk, the storage pool status of the storage pool that experienced the pool failure is updated to the data dumping status.

[0029] In this embodiment, by marking the storage pool status of the fault pool as being in the process of transferring the data to be dumped associated with the fault pool to the hard disk, it is beneficial for users to know that the relevant fault pool is transferring the data in its associated power-saving memory segment to the hard disk. At this time, the fault pool cannot be used normally.

[0030] In one embodiment, after transferring the data to be dumped to spare storage space on at least one hard disk, the method further includes:

[0031] If the data to be transferred is successfully transferred to the backup storage space, the storage pool status of the storage pool that experienced the pool failure will be updated to the transferred status.

[0032] In this embodiment, after determining that all the data to be dumped associated with the fault pool has been dumped to the backup storage space, the storage pool status of the relevant fault pool is updated from "data dumping status" to "dumped status". This is to inform the user that the data in the power-saving memory segment associated with the fault pool has been dumped to the hard disk. At this time, the relevant fault pool can be repaired, and the repair process will not cause the loss of the data to be dumped that has been dumped to the hard disk, nor will it occupy the data storage resources of the power-saving memory segment. This is beneficial to ensure that other storage pools that can work normally can use the resource space of more power-saving memory segments in the power-saving memory.

[0033] In one embodiment, determining the target power-saving memory segment associated with the storage pool experiencing the pool failure when at least one storage pool is detected includes:

[0034] If at least one storage pool fails, listen for a failed pool dump command; the failed pool dump command is triggered by the management terminal of the storage pool.

[0035] Upon receiving a fault pool dump instruction, the target power-saving memory segment associated with the storage pool where the fault occurred is determined.

[0036] In this embodiment, when a pool failure is detected in any storage pool, the fault pool dump command triggered by the storage pool management terminal is further monitored. Upon receiving the fault pool dump command, it is known that it is appropriate to dump the data stored in the power-protected memory segment associated with the fault pool. This allows for the identification and determination of the power-protected memory segment associated with the fault pool, thereby ensuring the accuracy of the data dump operation.

[0037] In one embodiment, upon receiving a fault pool dump instruction, determining the target power-saving memory segment associated with the storage pool where the pool fault occurred includes:

[0038] Upon receiving a fault pool dump instruction, identify the current status information of the storage pool where the fault occurred;

[0039] If the current status information indicates that the storage pool is offline and the storage pool status is not dumped, the target power-saving memory segment associated with the storage pool where the pool failure occurred is determined.

[0040] In this embodiment, upon receiving a fault pool dump instruction, if it is further confirmed that the storage pool where the fault occurred is offline and the storage pool status is not dumped, it indicates that it is appropriate to dump the data stored in the power-saving memory segment associated with the fault pool to the hard disk. This allows for the identification and determination of the power-saving memory segment associated with the fault pool, thereby ensuring the accuracy of the data dump operation.

[0041] In one embodiment, the spare storage space of the hard disk includes at least one hard disk storage segment;

[0042] The step of transferring the data to be dumped to the spare storage space of at least one hard disk includes:

[0043] The data to be dumped from at least two target power-saving memory segments is transferred to the same hard disk storage segment in the spare storage space of the same hard disk.

[0044] In this embodiment, by transferring the data to be transferred from multiple target power-saving memory segments to the same hard disk storage segment, it is beneficial to unify and centralize the transfer of multiple data to be transferred, and to improve the transfer efficiency and management convenience of the data to be transferred.

[0045] In one embodiment, the spare storage space of the hard disk includes at least one hard disk storage segment;

[0046] The step of transferring the data to be dumped to the spare storage space of at least one hard disk includes:

[0047] The data to be dumped in at least one of the target power-saving memory segments is transferred to the hard disk storage segments in the spare storage spaces of at least two hard disks, respectively.

[0048] In this embodiment, by storing the same data to be dumped in at least two different hard drives, multiple backups of the data to be dumped are achieved on multiple hard drives, which helps to ensure the integrity and security of the data to be dumped and stored on the hard drives.

[0049] Secondly, this application also provides a storage pool fault handling apparatus, the apparatus comprising:

[0050] The fault determination module is used to determine the target power-saving memory segment associated with the storage pool where the pool failure occurred when at least one storage pool is detected to have experienced a pool failure.

[0051] The data acquisition module is used to acquire the data to be transferred from each of the target power-saving memory segments;

[0052] The data dumping module is used to dump the data to be dumped to the spare storage space of at least one hard disk, so as to release the storage resources of each of the target power-saving memory segments.

[0053] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the first aspect.

[0054] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps in the first aspect.

[0055] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps in the first aspect.

[0056] In the storage pool failure handling method, apparatus, computer equipment, computer-readable storage medium, and computer program product provided in this application, the storage pool failure handling method monitors whether each storage pool has failed. If at least one storage pool is detected to have failed, the method identifies the target power-saving memory segments associated with the failed storage pool to identify these occupied resource-saving memory segments. Furthermore, the method acquires data from each target power-saving memory segment to obtain the data to be transferred. This data is then transferred to the spare storage space of at least one hard disk to clear the resource storage space of each target power-saving memory segment, releasing it for use by other undamaged storage pools that require it. This avoids the continuous occupation of target power-saving memory segment resources by the failed storage pool, which helps improve the sufficiency of power-saving memory segment resources available to other normal storage pools, and consequently improves system performance. Attached Figure Description

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

[0058] Figure 1 This is a schematic diagram of the power-saving memory segment space and pool occupancy in the relevant embodiments;

[0059] Figure 2 This is an application environment diagram of a storage pool fault handling method in one embodiment;

[0060] Figure 3 This is a flowchart illustrating a storage pool fault handling method in one embodiment;

[0061] Figure 4 This is a schematic diagram of the dump data structure in one embodiment;

[0062] Figure 5 This is a schematic diagram of mseg dump and dump recovery in one embodiment;

[0063] Figure 6 This is a schematic diagram of the structure of the disk storage segment dumpseg in one embodiment;

[0064] Figure 7 This is a schematic diagram of the process for dumping the power-saving memory segment mseg in one embodiment;

[0065] Figure 8 This is a schematic diagram of the dump recovery and user segment switching process in one embodiment;

[0066] Figure 9 This is a structural block diagram of a storage pool fault handling device in one embodiment;

[0067] Figure 10 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0068] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0069] It should be noted that the terms "first," "second," etc., used in this application can be used to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish the first element from the second element. The terms "comprising" and "having," and any variations thereof, used in this application, are intended to cover non-exclusive inclusion. The term "multiple" used in this application refers to two or more. The term "and / or" used in this application refers to one of the embodiments, or any combination of multiple embodiments.

[0070] In all-flash array storage systems, power-protected memory is an extremely valuable resource due to its high performance, data integrity during power loss, and limited scalability. In the system, power-protected memory resources are managed by the MSM module (Memory SegmentManager), whose main operations include power-protected memory loading, replica allocation, data mirroring synchronization, state updates, and recycling. A mseg (Memory Segment) is the basic unit of power-protected memory management, consisting of one or more power-protected memory objects (i.e., mobj).<Memory Object> Composed of multiple modules (mseg), each typically 1MB (Megabyte) in size. Multiple mobj modules within the same mseg are mirrored copies, distributed across different controllers. As a high-performance, highly available, and highly reliable foundational service resource, power-saving memory has a limited size. Its rapid turnover within the system, improving its effective utilization, contributes to enhancing the overall performance of the storage system.

[0071] A storage pool is a unit in a storage system that isolates storage resources; different storage pools do not affect each other. MSegs have pool attributes after allocation but no pool attributes after release. Through allocation and release, MSegs can flow between different storage pools. In related technologies, when a storage pool fails, the storage resources in the pool may be occupied and unable to be released.

[0072] In other words, in related technologies, multiple storage pools can exist in the system, and different storage pools can share all power-protected memory segments in the storage system (different storage pools share the entire system's MSEG space). A failure in a single storage pool will not affect the services of other storage pools. Figure 1 As shown, a schematic diagram of mseg space and pool occupancy is provided; where "pool 1, pool 2 and pool 3" represent: storage pool 1, storage pool 2 and storage pool 3, and "×" indicates that storage pool 1 has failed.

[0073] If a single storage pool fails, and that failed pool handles the majority of the system's I / O (Input / Output) load, the associated I / O will consume significant power-saving memory segment resources; the data in these power-saving memory segments cannot be discarded. If the storage pool failure persists for an extended period (e.g., disks within the pool require factory repair), the associated power-saving memory segment resources will remain occupied. This can lead to several issues: the limited power-saving memory segment resources available to other storage pools in the system, resulting in reduced system performance; and the inability to handle degradation and segment swapping due to the pool's offline state after a failure, leading to limited system functionality, inability to perform safe shutdown, and potential MSEG redundancy risks.

[0074] To address the issue of faulty storage pools occupying associated power-protected memory segments in related technologies, this application provides a storage pool fault handling method. This method monitors whether a storage pool is experiencing a fault. If at least one storage pool is detected to be faulty, the method identifies the target power-protected memory segment associated with the faulty storage pool. Data from each target power-protected memory segment is acquired and used as data to be transferred. This data is then transferred to the spare storage space of at least one hard disk to release the storage resources of each target power-protected memory segment, thereby preventing the faulty storage pool from continuously occupying the target power-protected memory segment.

[0075] The storage pool fault handling method provided in this application embodiment can be applied to, for example, Figure 2 In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104, or it can be located in the cloud or on other network servers. Terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, drones, low-altitude aircraft, and IoT devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart vehicle devices, projection devices, etc. Server 104 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.

[0076] In one exemplary embodiment, such as Figure 3 As shown, a storage pool fault handling method is provided, which can be applied to... Figure 2 Taking terminal 102 as an example, the explanation includes the following steps 301 to 303. Wherein:

[0077] Step 301: If at least one storage pool is detected to have experienced a pool failure, determine the target power-protected memory segment associated with the storage pool that experienced the pool failure.

[0078] In a storage system, a memory pool is a unit used to isolate storage resources. A memory pool is a fixed-size, contiguous area of ​​memory pre-allocated during system initialization. It is used for the efficient and deterministic allocation and release of small blocks of memory, avoiding the performance overhead and memory fragmentation caused by frequent calls to the general-purpose memory manager.

[0079] Among them, the power-saving memory segment is a logically contiguous area artificially partitioned within the power-saving memory. It is used to centrally manage a certain type of data that needs to be retained, and is usually defined by system configuration or user programs. Power-saving memory refers to a type of physical storage that can maintain data without loss by relying on backup power (such as lithium batteries or supercapacitors) or non-volatile storage technology after the main power supply fails.

[0080] For example, the terminal monitors whether each storage pool is experiencing a failure. If one or more storage pools are detected to be experiencing a pool failure, it indicates that the failed storage pool may require maintenance for a period of time. During this period, the power-protected memory segment resources associated with the failed storage pool will be continuously occupied. Other storage pools that are not experiencing pool failures will not be able to use these occupied power-protected memory segment resources when needed. At this time, the terminal can identify the target power-protected memory segment associated with the failed storage pool from all power-protected memory segments in the system to identify these occupied target power-protected memory segments.

[0081] Step 302: Obtain the data to be transferred from each target power-saving memory segment.

[0082] Among them, the target power-saving memory segment is the power-saving memory segment associated with the storage pool that has experienced a pool failure; the power-saving memory segment (target power-saving memory segment) that has an associated matching relationship with the storage pool will definitely store some data and will not be empty.

[0083] The data to be transferred is the data to be processed, which is actually the data contained in each target power-saving memory segment.

[0084] For example, after determining the target power-saving memory segment associated with the storage pool where the pool failure occurred, the terminal can further acquire the data in each target power-saving memory segment to obtain the data to be dumped in each target power-saving memory segment.

[0085] Step 303: Transfer the data to be dumped to the spare storage space of at least one hard disk to free up the storage resources of each target power-saving memory segment.

[0086] A hard disk drive (HDD) is a non-volatile, electromechanical computer data storage device that uses magnetic media to read and write data on a high-speed rotating disk. It is used for long-term storage of digital information such as operating systems, applications, documents, and media files.

[0087] The spare storage space on the hard drive can be reserved in advance specifically for transferring the data to be dumped from the target power-saving memory segment. This spare storage space is not used to store other data. If there is not enough spare storage space reserved on the hard drive, an additional spare hard drive can be added as needed.

[0088] In cases where the terminal's storage system includes multiple hard drives, the spare storage space can be reserved on each hard drive. The size of the spare storage space reserved on each hard drive is not limited in this application.

[0089] For example, after the terminal obtains the data to be dumped in each target power-saving memory segment, it can further transfer this data to the spare storage space of the hard disk to clear the resource storage space of each target power-saving memory segment and release the resource storage space of these target power-saving memory segments for use by other undamaged storage pools that need it.

[0090] In the storage pool failure handling method provided in this application, by monitoring whether each storage pool has failed, if at least one storage pool is detected to have failed, the target power-saving memory segment associated with the failed storage pool is determined to identify these target power-saving memory segments that are occupying resources; furthermore, the data in each target power-saving memory segment is acquired to obtain the data to be transferred in each target power-saving memory segment; this data to be transferred is transferred to the spare storage space of at least one hard disk to clear the resource storage space of each target power-saving memory segment, releasing the resource storage space of these target power-saving memory segments for use by other undamaged storage pools that need it; thereby avoiding the continuous occupation of the target power-saving memory segment resources by the failed storage pool, which is conducive to improving the sufficiency of power-saving memory segment resources that other normal storage pools can use, and thus also conducive to improving system performance.

[0091] In one exemplary embodiment, the spare storage space of the hard disk may optionally include at least one set of associated hard disk storage segments and index areas; please refer to Figure 4 Taking a hard drive with 128GB of spare storage space as an example, all spare storage space can be divided into groups of 4MB + 2GB. Among them, 4MB is used to store the index data generated by the dump, and 2GB is used to store the data in the dumped mseg.

[0092] In one exemplary embodiment, transferring the data to be transferred to the spare storage space of at least one hard disk includes: transferring the data to be transferred to at least one hard disk storage segment, and storing the transferred index data in the index area of ​​the hard disk storage segment association group.

[0093] For example, when the spare space of the hard disk includes at least one or more sets of associated hard disk storage segments and index areas, the terminal will generate and store the transfer index data of the data stored in the hard disk storage segment in the index area of ​​the same group as the hard disk storage segment while transferring the acquired data to be transferred to the hard disk storage segment.

[0094] In this embodiment, while transferring the data to be dumped to the required hard disk storage segment, a transfer index data for the data stored in the hard disk storage segment of the same group is generated and stored in the index area of ​​each hard disk storage segment. This allows the transfer index data to be used to characterize the index information of the data stored in the hard disk storage segment of the same group, making it easy to know which hard disk storage segment the data stored in the hard disk storage segment of the same group is associated with, which hard disk storage object is the specific one, and which target power-saving memory segment and storage pool are the corresponding ones.

[0095] The transferred index data includes at least one of the following:

[0096] The first identifier of the hard disk storage segment in the associated group;

[0097] The second identifier of the hard disk storage object used to store the data to be dumped in the hard disk storage segment of the associated group;

[0098] The third identifier of the target power-saving memory segment associated with the data to be dumped stored in the hard disk storage object;

[0099] The fourth identifier of the storage pool corresponding to the target power-saving memory segment of the third identifier.

[0100] The first identifier can be, for example, the ID of the hard disk storage segment, used to identify which specific hard disk storage segment it is; the second identifier can be, for example, the ID of the hard disk storage object in the hard disk storage segment used to store the data to be dumped, used to identify which specific hard disk storage object it is; the third identifier can be, for example, the ID of the target power-saving memory segment associated with the data to be dumped stored in the hard disk storage object, used to identify which target power-saving memory segment originally stored the data; the fourth identifier can be, for example, the ID of the associated storage pool corresponding to the target power-saving memory segment represented by the third identifier, used to identify which storage pool the associated data is stored.

[0101] In an exemplary embodiment, the spare storage space of the hard disk includes at least one hard disk storage segment; transferring the data to be dumped to the spare storage space of at least one hard disk includes: transferring the data to be dumped in at least two target power-saving memory segments to the same hard disk storage segment in the spare storage space of the same hard disk.

[0102] For example, the terminal can transfer the data to be dumped obtained from two or more target power-saving memory segments to the same hard disk storage segment on the hard disk; for example, it can choose to transfer the data to be dumped obtained from every four target power-saving memory segments to the same hard disk storage segment.

[0103] In other words, please refer to Figure 4 In the aforementioned example of 128GB of spare hard drive storage, all spare storage space can be divided into groups of 4MB + 2GB. 4MB is used to store the index data generated during the dump, and 2GB is used to store the data in the dumped mseg. Furthermore, it can be optionally configured that every 4 msegs (target power-saving memory segments) are dumped into 1 dumpseg (hard drive storage segment), and an 8KB index area describes the mapping relationship between these 4 msegs and 1 dumpseg, including information such as storage pool, msegID, dumpsegID, and dumpobj; where "storage pool, msegID, dumpsegID, and dumpobj" correspond to the aforementioned fourth, third, first, and second identifiers, respectively.

[0104] In this embodiment, by transferring the data to be transferred from multiple target power-saving memory segments to the same hard disk storage segment, it is beneficial to unify and centralize the transfer of multiple data to be transferred, and to improve the transfer efficiency and management convenience of the data to be transferred.

[0105] This embodiment provides a novel hard disk storage space management scheme. It divides the hard disk storage space into groups of 4MB and 2GB, with 4MB used for index storage and 2GB for data storage. Within the data storage area, dumpobj is used as the storage space management unit. Multiple copies of dumpobj from different disks form a dumpseg to ensure high reliability. The dumpseg is used to store the data dumped by mseg.

[0106] This embodiment proposes and implements a disk storage space management scheme that divides the storage space into groups of 4MB + 2GB to store index data and user data respectively. This grouping avoids the problem of large-scale data loss due to bad blocks in the index area. The scheme also implements a dumpseg disk storage management unit, and multiple copies ensure the high reliability of dumpseg.

[0107] In an exemplary embodiment, after transferring the data to be dumped to the spare storage space of at least one hard disk, the storage pool failure handling method provided in this application further includes: when the storage pool where the pool failure occurred is detected to be in a failure-cleared state, obtaining the transfer index data of the storage pool in the failure-cleared state; determining the same number of standby power-saving memory segments based on the number of each target power-saving memory segment corresponding to the third identifier in the transfer index data; and transferring the data to be dumped stored in the hard disk to each standby power-saving memory segment to release the storage resources of the spare storage space of the hard disk.

[0108] In this context, a storage pool in a fault-cleared state indicates that the fault has been resolved and the storage pool can be used normally. In other words, the fault-cleared state signifies that the storage pool has recovered from the fault.

[0109] Among them, the standby power-saving memory segment is a power-saving memory segment that is not matched and used by any storage pool and has free storage resources; data transferred from the hard disk can be stored in it.

[0110] In this process, after the data to be dumped is transferred to the spare storage space of at least one hard drive, the "data to be dumped" can be recorded as "dumped data" on the hard drive.

[0111] For example, after the terminal transfers the data to be dumped from the storage pool that has experienced a pool failure to the hard disk, it monitors the relevant storage pools (failed pools) that have experienced pool failures to identify whether the failure of the failed pool has been resolved. When the terminal detects that a certain failed pool has changed to a failure-cleared state, it indicates that the failure of the failed pool has been resolved and it can be used normally. At this time, the terminal can obtain the transfer index data (including at least a first identifier, a second identifier, a third identifier, and a fourth identifier) ​​related to the data to be dumped (i.e., the data that has already been dumped) in the storage pool on the hard disk, so as to learn about the associated information such as the hard disk storage segment, hard disk storage object, power-saving memory segment, and storage pool related to this data to be dumped (the data that has already been dumped). Then, it determines the target power-saving memory segment corresponding to each third identifier in the transfer index data, and marks each determined target power-saving memory segment as a degraded state. To ensure that users can clearly understand the "degraded status" when reading or querying data in the relevant power-protected memory segments, they can identify whether the power-protected memory segments previously used by the storage pool that is recovering from the fault are unsuitable for use, such as being used by other storage pools, being unsafe, or having faults. In this case, the number of power-protected memory segments in the degraded state can be identified, and then the same number of spare power-protected memory segments (new free power-protected memory segments) can be requested from the power-protected memory to ensure that the resource space of the spare power-protected memory segments can be used to store the data to be dumped (already dumped data) temporarily stored on the hard drive. Then, the data to be dumped (already dumped data) stored on the hard drive is transferred to the spare power-protected memory segments to release the resource space on the hard drive used to temporarily store the data to be dumped (already dumped data), that is, to release the storage resources of the hard drive's spare storage space.

[0112] The term "degraded status" is only one usable status identifier provided in this application, but this application is not limited to it. As long as the relevant status identifier can inform the user that the power-saving memory segment previously matched with the storage pool that is recovering from the fault may be unsuitable for use.

[0113] In this embodiment, after the fault pool is recovered, the target power-saving memory segment corresponding to the recovered storage pool is identified based on the transfer index data, and these target power-saving memory segments are marked as degraded. Based on the number of power-saving memory segments in the degraded state, the same number of standby power-saving memory segments are applied for, so as to transfer the data to be transferred from the hard disk to each of the newly applied standby power-saving memory segments, thereby releasing the storage resources in the spare storage space of the hard disk that were originally used to store this data to be transferred, so as to facilitate the use of the resources in other power-saving memory segments for the spare storage space of the hard disk.

[0114] In an exemplary embodiment, after transferring the data to be dumped to the spare storage space of at least one hard disk, the method further includes: if the storage pool where the pool failure occurred is detected to be in a fault-cleared state, obtaining the dump index data of the storage pool in the fault-cleared state; determining the same number of standby power-saving memory segments based on the number of each target power-saving memory segment corresponding to the third identifier in the dump index data; and transferring the data to be dumped stored in the hard disk to each standby power-saving memory segment to release the storage resources of the spare storage space of the hard disk. This is equivalent to restoring the data to be dumped from the fault-recovered storage pool, originally stored on the hard disk, to the standby power-saving memory segments in the power-saving memory.

[0115] In summary, please refer to Figure 5 In one exemplary embodiment, the storage pool failure handling method provided in this application is equivalent to dumping the data in the mseg occupied by the failed pool (the storage pool that experienced a pool failure) to other hard disk storage devices unrelated to power preservation, and then releasing the mseg in the power preservation memory. After the dump, other storage pools can have more mseg available, and the failed storage pool does not reference the mseg, so it will not affect the mseg processing flow such as degradation and segment switching, and safe shutdown can still be performed normally. After the pool failure is repaired, the data stored in the hard disk is restored to the power preservation memory segment mseg in the power preservation memory. After the restoration is completed, the pool can load the corresponding data when it comes online, that is, the relevant restored storage pool can work normally.

[0116] In other words, the technical solution provided in this application requires reserved hard disk space in the system. When a data dump is needed, this reserved hard disk space is used to receive the dumped MSEG data. The power-saving memory is typically 64GB (there are also 32GB and 128GB specifications; this case uses 64GB for description). Considering the possibility of multiple pool dumps, this case uses 128GB of reserved hard disk space as an example. It should be explained that the reserved hard disk space (the spare storage space on the hard drive) only needs to be at least the same size as the power-saving memory's resource space, but it can also be set to be larger than the power-saving memory's resource space.

[0117] To utilize the reserved hard disk space to accommodate the mseg data to be dumped, this application proposes a hard disk storage segment called dumpseg for managing the dumped data. Please refer to... Figure 6 The structure of the hard disk storage segment dumpseg is as follows: Figure 6As shown, dumpobj is the basic management unit that makes up dumpseg on the dump disk; dumpseg can be composed of multiple copies of dumpobj on different hard drives, and multiple copies help to ensure the high reliability of dumpseg. The size of dumpseg is flexibly configurable, and this case describes it as 4MB.

[0118] One alternative implementation method is that the dump process and the dump recovery process require manual intervention to determine whether dumping and dump recovery can be performed based on the current system status.

[0119] For example, in the dump process, mseg data is written to dumpseg, and the corresponding index area information of dumpseg is updated. In the dump recovery process, the index area information is scanned to construct the mapping relationship between msegID and dumpseg, and then the data in dumpseg is read to recover mseg data, that is, the data read from dumpseg is stored back into mseg.

[0120] In an exemplary embodiment, transferring the data to be dumped to the spare storage space of at least one hard disk includes: obtaining the amount of data to be dumped and obtaining the total amount of free space in the spare storage space of each hard disk; if the amount of data is less than or equal to the total amount of free space, transferring the data to be dumped to the spare storage space of at least one hard disk.

[0121] The amount of data to be dumped can be used to characterize the storage resources occupied by this data in the power-saving memory segment, and can also be used to characterize the storage resources required when dumping it to the spare storage space on the hard drive. The total free amount of spare storage space can be used to characterize the amount of data to be dumped that can be received and stored.

[0122] For example, after the terminal obtains the data to be transferred from each target power-saving memory segment, it can further determine the amount of data to be transferred and simultaneously determine the total amount of free space in the backup storage space on the hard drive. Then, it compares the amount of data to be transferred with the total amount of free space in the backup storage space to obtain a comparison result. If the comparison result shows that the amount of data to be transferred is less than or equal to the total amount of free space in the backup storage space, it means that the backup storage space can store the data to be transferred, and there is no possibility that some of the data to be transferred cannot be stored in the backup storage space of the hard drive. In this case, the terminal can transfer the obtained data to be transferred to the backup storage space of at least one hard drive.

[0123] In this embodiment, by comparing the amount of data to be dumped with the total amount of free space on the hard disk for storing the data to be dumped, and if the comparison result indicates that the spare storage space on the hard disk is sufficient to receive and store the data to be dumped, the data to be dumped is then transferred to the spare storage space on the hard disk. This helps to ensure the smoothness of the data dumping process, avoids the situation where some data to be dumped is transferred to the hard disk but others cannot be transferred to the hard disk, and also helps to ensure the integrity of the data to be dumped.

[0124] In one exemplary embodiment, transferring the data to be dumped to the spare storage space of at least one hard disk includes: obtaining the number of target power-saving memory segments and the number of free hard disk storage segments in the spare storage space of the hard disk; and transferring the data to be dumped to the spare storage space of at least one hard disk when the number of target power-saving memory segments is less than or equal to the number of free hard disk storage segments.

[0125] In an exemplary embodiment, the storage pool failure handling method provided in this application further includes: during the process of transferring the data to be dumped to the spare storage space of at least one hard disk, updating the storage pool status of the storage pool that has experienced a pool failure to a data dumping status.

[0126] The data dump status is used to indicate that the relevant storage pool is dumping data from its associated power-saving memory segment to the hard drive.

[0127] For example, when the terminal is transferring the acquired data to be dumped to the backup storage space of the hard disk, it indicates that the data in the power-saving memory segment associated with the fault pool (storage pool) related to the data to be dumped is being transferred from the power-saving memory segment to the hard disk. At this time, the storage pool status of the storage pool (fault pool) where the pool failure occurred can be updated to the data dumping status.

[0128] When a storage pool is marked as being in a dumping state, the pool state will be fixed. If other failures occur during the dumping process and the data dumping terminal is damaged, the subsequent dumping process can continue based on the dumping state of the pool after the environment is restored, so as to realize the complete dumping of the data to be dumped in the power-saving memory segment associated with the faulty pool to the hard disk.

[0129] In this embodiment, by marking the storage pool status of the fault pool as being in the process of transferring the data to be dumped associated with the fault pool to the hard disk, it is beneficial for users to know that the relevant fault pool is transferring the data in its associated power-saving memory segment to the hard disk. At this time, the fault pool cannot be used normally.

[0130] In an exemplary embodiment, after transferring the data to be dumped to the spare storage space of at least one hard disk, the storage pool failure handling method provided in this application further includes:

[0131] If the data to be dumped is successfully dumped to the backup storage space, the storage pool status of the storage pool that experienced the pool failure will be updated to the dumped status.

[0132] For example, during the process of transferring the data (data to be transferred) in the power-saving memory segment associated with the fault pool to the hard disk, the terminal will monitor the transfer status of the relevant data to be transferred. If the detection result indicates that all the data to be transferred has been transferred to the backup storage space of the hard disk, it indicates that the data to be transferred has been successfully transferred to the backup storage space. At this time, the terminal can update the storage pool status of the storage pool where the pool failure occurred from "data transfer in progress" to "data transfer completed".

[0133] In this embodiment, after determining that all the data to be dumped associated with the fault pool has been dumped to the backup storage space, the storage pool status of the relevant fault pool is updated from "data dumping status" to "dumped status". This is to inform the user that the data in the power-saving memory segment associated with the fault pool has been dumped to the hard disk. At this time, the relevant fault pool can be repaired, and the repair process will not cause the loss of the data to be dumped that has been dumped to the hard disk, nor will it occupy the data storage resources of the power-saving memory segment. This is beneficial to ensure that other storage pools that can work normally can use the resource space of more power-saving memory segments in the power-saving memory.

[0134] For example, based on the set of msegs to be dumped (composed of msegs associated with the fault pool), dumpsegs are requested sequentially, mseg data (data to be dumped) is read and written into dumpsegs. After each mseg data dump is completed, the relevant index data is updated until all mseg data is dumped, thus realizing the update of all index data.

[0135] In an exemplary embodiment, when at least one storage pool is detected to have experienced a pool failure, determining the target power-protected memory segment associated with the storage pool that experienced the pool failure includes: when at least one storage pool is detected to have experienced a pool failure, listening for a failed pool dump instruction; the failed pool dump instruction is triggered based on the management terminal of the storage pool; and upon receiving the failed pool dump instruction, determining the target power-protected memory segment associated with the storage pool that experienced the pool failure.

[0136] The fault pool dump instruction is used to instruct the transfer of data in the target power-saving memory segment associated with the fault pool to the hard disk for storage. The fault pool dump instruction can be automatically triggered based on some data monitored by the management terminal, or it can be manually triggered by the user based on the control of the management terminal. This application does not make specific limitations on this.

[0137] For example, the terminal monitors the status of each storage pool. If a pool failure is detected in any storage pool, the terminal can further monitor the failure pool dump command. If a failure pool dump command is received from the storage pool management terminal, it indicates that it is appropriate to transfer the data stored in the power-saving memory segment associated with the failure pool to the hard disk. Therefore, when the terminal receives the failure pool dump command, it can further determine the target power-saving memory segment associated with the storage pool that has experienced the failure, so as to identify which power-saving memory segments need to be transferred to the hard disk.

[0138] In this embodiment, when a pool failure is detected in any storage pool, the fault pool dump command triggered by the storage pool management terminal is further monitored. Upon receiving the fault pool dump command, it is known that it is appropriate to dump the data stored in the power-protected memory segment associated with the fault pool. This allows for the identification and determination of the power-protected memory segment associated with the fault pool, thereby ensuring the accuracy of the data dump operation.

[0139] In an exemplary embodiment, upon receiving a fault pool dump instruction, determining the target power-protected memory segment associated with the storage pool where the pool fault occurred includes: upon receiving the fault pool dump instruction, identifying the current status information of the storage pool where the pool fault occurred; and if the current status information indicates that the storage pool is offline and the storage pool status is not dumped, determining the target power-protected memory segment associated with the storage pool where the pool fault occurred.

[0140] For example, upon receiving a fault pool dump instruction, to ensure the smooth and complete dumping of data from the power-saving memory segment associated with the fault pool to the hard drive, the terminal can further acquire and identify the current status information of the fault pool to determine whether the fault pool is offline and whether the data in the associated power-saving memory segment has not been dumped to the hard drive. If the current status information of the fault pool indicates that the fault pool is offline and the storage pool is in an un-dumped state, it indicates that it is suitable to dump the data stored in the power-saving memory segment associated with the fault pool to the hard drive. At this time, the terminal can further determine the target power-saving memory segment associated with the storage pool where the pool failure occurred to identify which power-saving memory segments' data needs to be transferred to the hard drive. Similarly, if the current status information of the fault pool indicates that the fault pool is not offline and / or the storage pool is not in an un-dumped state, it means that it is not suitable to dump the data stored in the power-saving memory segment associated with the fault pool to the hard drive at this time, and subsequent dumping operations cannot be performed.

[0141] In this embodiment, upon receiving a fault pool dump instruction, if it is further confirmed that the storage pool where the fault occurred is offline and the storage pool status is not dumped, it indicates that it is appropriate to dump the data stored in the power-saving memory segment associated with the fault pool to the hard disk. This allows for the identification and determination of the power-saving memory segment associated with the fault pool, thereby ensuring the accuracy of the data dump operation.

[0142] In an exemplary embodiment, when at least one storage pool is detected to have experienced a pool failure, determining the target power-protected memory segment associated with the storage pool that experienced the pool failure includes: identifying the current status information of the storage pool that experienced the pool failure when at least one storage pool is detected to have experienced a pool failure; and determining the target power-protected memory segment associated with the storage pool that experienced the pool failure when the current status information indicates that the storage pool is offline and the storage pool status is not dumped.

[0143] In an exemplary embodiment, the spare storage space of the hard disk includes at least one hard disk storage segment; transferring the data to be dumped to the spare storage space of at least one hard disk includes: transferring the data to be dumped in at least one target power-saving memory segment to the hard disk storage segment in the spare storage space of each of at least two hard disks respectively.

[0144] For example, the terminal may choose to transfer at least one copy of the data to be dumped from the same target power-saving memory segment to a hard disk storage segment of one hard disk, and at least another copy to a hard disk storage segment of another hard disk.

[0145] In this embodiment, by storing the same data to be dumped in at least two different hard drives, multiple backups of the data to be dumped are achieved on multiple hard drives, which helps to ensure the integrity and security of the data to be dumped and stored on the hard drives.

[0146] For the storage pool fault handling method provided in this application, please refer to... Figure 7 This application also provides a process for dumping a power-saving memory segment (mseg), specifically including:

[0147] Before the dump: It is necessary to confirm the pool's fault status, whether it is offline, and whether it has not been dumped. If the status is not as expected, the next dump operation cannot be performed. The corresponding steps are: storage pool fault and offline, manually trigger pool dump; pool fault, offline, and not dumped. Figure 7 In this context, "&&" means "and";

[0148] The dump begins by MSM scanning the allocated MSEG list to obtain the set of MSEGs occupied by the fault pool, which is the set of MSEGs to be dumped; this corresponds to the step: MSM scan determines the set of MSEGs to be dumped in this pool. Based on the number of MSEGs to be dumped, the required number of dumpsegs can be calculated, and it can be determined whether the remaining dump space in the current system is sufficient for the dump; this corresponds to the step: whether the dump space is sufficient for this dump. If it is insufficient, it is necessary to consider adding a dump disk.

[0149] If the dumpseg space meets the requirements for this dump, the pool is marked as being in the dumping state. The pool state will be fixed. If other failures occur during the dump, the dumping process can continue after the environment is restored, depending on the dumping state of the pool.

[0150] Based on the set of msegs to be dumped, dumpsegs are requested in sequence, mseg data is read and written into dumpsegs, and the index data is updated after each mseg data dump is completed, until all mseg data has been dumped.

[0151] Once the Mseg data dump is complete, the marker pool is in a dumped state, at which point MSM can release all msegs occupied by the faulty pool.

[0152] For the storage pool fault handling method provided in this application, please refer to... Figure 8This application embodiment also provides a dump recovery and user segment replacement process. Specifically, after the storage pool recovers from a failure, manual confirmation and triggering of the storage pool dump recovery are performed. The recovery process mainly involves MSM scanning the index data in the disk dump space and constructing a mapping relationship between msegID and dumpseg based on the index data. With this mapping relationship, when the mseg user module queries and reads mseg data, MSM can redirect the read request to the corresponding dumpseg. Furthermore, for such msegs, MSM will mark the mseg as degraded. Once the user perceives this, they will quickly request a new mseg, read the old mseg data, and write it to the new mseg, thereby achieving segment replacement. After the user completes the segment replacement, all dumpsegs on the disk storage space can be released.

[0153] In summary, the storage pool failure handling method provided in this application releases potentially long-term occupied MSeg resources by dumping all MSegs occupied in the failed storage pool to dumpseg, thereby improving the performance of the storage system in failed storage pool scenarios. With potentially long-term occupied MSegs released, the storage system can be shut down safely and normally, avoiding issues such as functional limitations and preventing potential MSeg redundancy risks. This MSeg dumping scheme dumps the MSeg data occupied in the failed pool to hard disk storage space to release MSegs in the storage system, thus avoiding problems and risks such as system performance degradation, system functional limitations, and potential MSeg redundancy.

[0154] Furthermore, IO redirection redirects the IO that would normally be used to read data from the mseg to read data from the dumpseg. In practice, the mseg user is notified that the mseg has been downgraded, and the user will switch segments as soon as possible. After the segment switch is complete, the dumpseg can be released, thus implementing the mseg read data redirection function after dump recovery. After dump recovery, the MSM stores a dump mapping table. Users can check the table to confirm whether the mseg is a dumped mseg and then read data from the dumpseg through IO redirection to perform the segment switch operation.

[0155] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps. It is understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by such combinations are within the scope of protection of this application.

[0156] Based on the same inventive concept, this application also provides a storage pool fault handling apparatus for implementing the storage pool fault handling method described above. The solution provided by this apparatus is similar to the implementation scheme described in the above method; therefore, the specific limitations in one or more storage pool fault handling apparatus embodiments provided below can be found in the limitations of the storage pool fault handling method described above, and will not be repeated here.

[0157] In one exemplary embodiment, such as Figure 9 As shown, a storage pool fault handling device 900 is provided, comprising: a fault determination module 91, a data acquisition module 92, and a data dumping module 93, wherein:

[0158] The fault determination module 91 is used to determine the target power-saving memory segment associated with the storage pool that has experienced a pool failure when at least one storage pool is detected to have a pool failure.

[0159] Data acquisition module 92 is used to acquire the data to be transferred in each target power-saving memory segment;

[0160] The data dump module 93 is used to dump the data to be dumped to the spare storage space of at least one hard disk to free up the storage resources of each target power-saving memory segment.

[0161] In an exemplary embodiment, the spare storage space of the hard disk includes at least one set of associated hard disk storage segments and an index area; the data dumping module 93 is used to dump the data to be dumped to the spare storage space of at least one hard disk, specifically used to: dump the data to be dumped to at least one hard disk storage segment, and store dumped index data in the index area of ​​the associated group of hard disk storage segments; wherein, the dumped index data includes at least one of the following: a first identifier of the hard disk storage segment in the associated group; a second identifier of the hard disk storage object in the hard disk storage segment in the associated group used to store the data to be dumped; a third identifier of the target power-saving memory segment associated with the data to be dumped stored in the hard disk storage object; and a fourth identifier of the storage pool corresponding to the target power-saving memory segment with the third identifier.

[0162] In an exemplary embodiment, after the data dump module 93 is used to transfer the data to be dumped to the spare storage space of at least one hard disk, the data acquisition module 92 is further used to acquire the dump index data of the storage pool in the fault-cleared state when the storage pool where the pool failure occurred is detected to be in the fault-cleared state; determine the same number of standby power-saving memory segments based on the number of each target power-saving memory segment corresponding to the third identifier in the dump index data; the data dump module 93 is further used to transfer the data to be dumped stored in the hard disk to each standby power-saving memory segment to release the storage resources of the spare storage space of the hard disk.

[0163] In an exemplary embodiment, the data dumping module 93 is used to transfer the data to be dumped to the spare storage space of at least one hard disk, specifically: to obtain the amount of data to be dumped and to obtain the total amount of free space in the spare storage space of each hard disk; and to transfer the data to be dumped to the spare storage space of at least one hard disk when the amount of data is less than or equal to the total amount of free space.

[0164] In an exemplary embodiment, the data dump module 93 is further configured to update the storage pool status of the storage pool that has experienced a pool failure to a data dumping status during the process of dumping the data to be dumped to the spare storage space of at least one hard disk.

[0165] In an exemplary embodiment, the data dumping module 93 is further configured to, after dumping the data to be dumped to the spare storage space of at least one hard disk, update the storage pool status of the storage pool that experienced the pool failure to a dumped status if it is detected that the data to be dumped to the spare storage space has been successfully dumped.

[0166] In an exemplary embodiment, the fault determination module 91 is used to determine the target power-protected memory segment associated with the storage pool that has experienced a pool failure when at least one storage pool is detected to have a pool failure. Specifically, it is used to: listen for a fault pool dump instruction when at least one storage pool is detected to have a pool failure; the fault pool dump instruction is triggered based on the management terminal of the storage pool; and upon receiving the fault pool dump instruction, determine the target power-protected memory segment associated with the storage pool that has experienced a pool failure.

[0167] In an exemplary embodiment, the fault determination module 91 is used to determine the target power-protected memory segment associated with the storage pool where the pool fault occurred when a fault pool dump instruction is received. Specifically, it is used to: identify the current status information of the storage pool where the pool fault occurred when a fault pool dump instruction is received; and determine the target power-protected memory segment associated with the storage pool where the pool fault occurred when the current status information indicates that the storage pool is offline and the storage pool status is not dumped.

[0168] In an exemplary embodiment, the spare storage space of the hard disk includes at least one hard disk storage segment; the data dumping module 93 is used to transfer the data to be dumped to the spare storage space of at least one hard disk, specifically: to transfer the data to be dumped in at least two target power-saving memory segments to the same hard disk storage segment in the spare storage space of the same hard disk.

[0169] In an exemplary embodiment, the spare storage space of the hard disk includes at least one hard disk storage segment; the data dumping module 93 is used to transfer the data to be dumped to the spare storage space of at least one hard disk, specifically used to: transfer the data to be dumped in at least one target power-saving memory segment to the hard disk storage segment in the spare storage space of each of at least two hard disks respectively.

[0170] Each module in the aforementioned storage pool fault handling device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0171] In one exemplary embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 10As shown, the computer device includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interface. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interface is used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, Near Field Communication (NFC), or other technologies. When executed by the processor, the computer program implements a memory pool fault handling method.

[0172] Those skilled in the art will understand that Figure 10 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0173] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the memory pool fault handling method described above.

[0174] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps of the storage pool fault handling method described above.

[0175] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps of the storage pool fault handling method described above.

[0176] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.

[0177] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.

[0178] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0179] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A storage pool fault handling method, characterized in that, The method includes: If at least one storage pool fails, the target power-saving memory segment associated with the storage pool that failed is determined. Obtain the data to be dumped from each of the target power-saving memory segments; The data to be dumped is transferred to the spare storage space of at least one hard disk to free up the storage resources of each of the target power-saving memory segments.

2. The method according to claim 1, characterized in that, The spare storage space of the hard disk includes at least one set of associated hard disk storage segments and index areas; The step of transferring the data to be dumped to the spare storage space of at least one hard disk includes: The data to be dumped is transferred to at least one of the hard disk storage segments, and the transferred index data is stored in the index area of ​​the associated group of the hard disk storage segments. The transfer index data includes at least one of the following: The first identifier of the hard disk storage segment in the associated group; The second identifier of the hard disk storage object used to store the data to be dumped in the hard disk storage segment of the associated group; The third identifier of the target power-saving memory segment associated with the data to be dumped stored in the hard disk storage object; The fourth identifier of the storage pool corresponding to the target power-saving memory segment of the third identifier.

3. The method according to claim 2, characterized in that, After transferring the data to be dumped to spare storage space on at least one hard disk, the method further includes: If the storage pool where the pool failure was detected is in a fault-cleared state, the transfer index data of the storage pool in the fault-cleared state is obtained. Based on the number of each target power-saving memory segment corresponding to the third identifier in the transfer index data, determine the same number of power-saving memory segments to be used. The data to be dumped stored in the hard disk is transferred to each of the standby power-saving memory segments to release the storage resources of the spare storage space of the hard disk.

4. The method according to claim 1, characterized in that, The step of transferring the data to be dumped to the spare storage space of at least one hard disk includes: Obtain the amount of data to be dumped, and obtain the total amount of free space in the spare storage space of each hard drive; If the amount of data is less than or equal to the total amount of free space, the data to be dumped is transferred to the spare storage space of at least one of the hard disks.

5. The method according to claim 1, characterized in that, The method further includes: During the process of transferring the data to be dumped to the spare storage space of at least one hard disk, the storage pool status of the storage pool that experienced the pool failure is updated to the data dumping status.

6. The method according to claim 1, characterized in that, After transferring the data to be dumped to spare storage space on at least one hard disk, the method further includes: If the data to be transferred is successfully transferred to the backup storage space, the storage pool status of the storage pool that experienced the pool failure will be updated to the transferred status.

7. The method according to claim 1, characterized in that, The step of determining the target power-saving memory segment associated with the storage pool that experienced the pool failure when at least one storage pool is detected includes: If at least one storage pool fails, listen for a failed pool dump command; the failed pool dump command is triggered by the management terminal of the storage pool. Upon receiving a fault pool dump instruction, the target power-saving memory segment associated with the storage pool where the fault occurred is determined.

8. The method according to claim 7, characterized in that, Upon receiving a fault pool dump instruction, determining the target power-saving memory segment associated with the storage pool where the fault occurred includes: Upon receiving a fault pool dump instruction, identify the current status information of the storage pool where the fault occurred; If the current status information indicates that the storage pool is offline and the storage pool status is not dumped, the target power-saving memory segment associated with the storage pool where the pool failure occurred is determined.

9. The method according to any one of claims 1-8, characterized in that, The spare storage space of the hard disk includes at least one hard disk storage segment; The step of transferring the data to be dumped to the spare storage space of at least one hard disk includes: The data to be dumped from at least two target power-saving memory segments is transferred to the same hard disk storage segment in the spare storage space of the same hard disk.

10. The method according to any one of claims 1-8, characterized in that, The spare storage space of the hard disk includes at least one hard disk storage segment; The step of transferring the data to be dumped to the spare storage space of at least one hard disk includes: The data to be dumped in at least one of the target power-saving memory segments is transferred to the hard disk storage segments in the spare storage spaces of at least two hard disks, respectively.

11. A storage pool fault handling device, characterized in that, The device includes: The fault determination module is used to determine the target power-saving memory segment associated with the storage pool where the pool failure occurred when at least one storage pool is detected to have experienced a pool failure. The data acquisition module is used to acquire the data to be transferred from each of the target power-saving memory segments; The data dumping module is used to dump the data to be dumped to the spare storage space of at least one hard disk, so as to release the storage resources of each of the target power-saving memory segments.

12. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method described in any one of claims 1-10.

13. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method described in any one of claims 1-10.

14. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method described in any one of claims 1-10.