Storage space management method, management equipment and computing equipment

By setting the heartbeat detection function in the management unit, monitoring the status of the computing device in real time, and reclaiming storage space when power is off abnormally, the problem that CXL storage devices cannot reclaim storage space in time is solved, and the utilization rate of storage resources is improved.

CN119512975APending Publication Date: 2025-02-25XFUSION DIGITAL TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311075065.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-24
Publication Date
2025-02-25

AI Technical Summary

Technical Problem

When the computing device is powered off abnormally, the CXL storage device cannot recycle the allocated storage space in time, resulting in wasted storage resources.

Method used

By setting the heartbeat detection function in the management unit, the status of the computing device is monitored in real time. When the target computing device is powered off abnormally, the management unit will recycle the storage space allocated to the device, or receive the sending of the computing device after the computing device is restored and powered on. return request to recycle storage space.

Benefits of technology

It effectively solves the problem that the storage space cannot be recycled after abnormal power-off of computing devices, improves the utilization rate of storage space, and avoids the waste of storage resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119512975A_ABST
    Figure CN119512975A_ABST
Patent Text Reader

Abstract

The invention discloses a storage space management method, management equipment and computing equipment, relates to the technical field of computers, and can timely recycle storage space allocated to the computing equipment when the computing equipment is powered off abnormally, thereby improving the utilization rate of the storage space. The method is applied to a management unit and comprises the steps of determining abnormal power-off of target computing equipment; the target computing device is any computing device in the plurality of computing devices; or, receiving a return request sent by the target computing device, the return request being used for requesting to return the storage space allocated to the target computing device; the return request is sent to the management unit after the target computing equipment is abnormally powered off and is recovered to be powered on; and recovering the storage space allocated to the target computing device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a storage space management method, management device and computing device. Background Art

[0002] With the development of technologies such as cloud computing, artificial intelligence, and high-performance computing, the computing power of processors continues to increase, and the number of cores of processors is also increasing, which has promoted the demand for large memory capacity and high bandwidth. In order to meet the demand for large memory capacity and high bandwidth, a compute express link (CXL) is proposed. CXL is an open interconnection protocol standard that aims to provide an efficient, high-speed, and low-latency interface between the central processing unit (CPU) and dedicated accelerators and high-performance storage systems to meet the needs of resource sharing, memory pooling, and efficient computing scheduling.

[0003] Related technologies propose a CXL storage device based on CXL that can meet the above requirements. The CXL storage device is connected to the computing device through a physical link. Therefore, the CXL storage device and multiple computing devices are decoupled. When the computing device is powered off abnormally, the CXL storage device is not powered off. At this time, the storage space allocated to the abnormally powered-off computing device will continue to be abnormally occupied, wasting storage resources. Summary of the invention

[0004] The embodiments of the present application provide a storage space management method, a management device, and a computing device, which can promptly reclaim the storage space allocated to the computing device when the computing device is abnormally powered off, thereby improving the utilization rate of the storage space.

[0005] In order to achieve the above technical objectives, the embodiments of the present application adopt the following technical solutions:

[0006] In a first aspect, an embodiment of the present application provides a storage space management method, which is applied to a management unit, wherein the management unit and multiple computing devices are all in communication connection with a CXL storage device, and the management unit is used to manage the storage space of the CXL storage device, and the method includes: determining that a target computing device is abnormally powered off; the target computing device is any one of multiple computing devices; or, receiving a return request sent by the target computing device, the return request is used to request the return of the storage space allocated to the target computing device by the management unit; the return request is sent by the target computing device to the management unit after the abnormal power-off and power-on recovery; and reclaiming the storage space allocated to the target computing device by the management unit.

[0007] It can be understood that the above method can solve the problem of abnormal occupation of storage space after abnormal power-off of computing equipment in related technologies. The implementation method is simple, and can improve the utilization rate of storage space and avoid waste of storage resources.

[0008] In one possible implementation, determining that a target computing device is abnormally powered off includes: sending a heartbeat inquiry message to the target computing device; and determining that the target computing device is abnormally powered off when no heartbeat response message sent by the target computing device is received; the heartbeat response message is a response message to the heartbeat inquiry message.

[0009] It can be understood that the above method is a specific implementation process of the management unit determining whether the target computing device is abnormally powered off. This method sets a heartbeat detection function on the management unit, which enables the management unit to perform heartbeat detection on the computing device, so as to obtain the status of the computing device in time and reclaim the storage space allocated to the computing device in time when the computing device is abnormally powered off. This method has high implementation efficiency.

[0010] In another possible implementation, a heartbeat detection connection is established between the management unit and the target computing device through at least one link; sending a heartbeat inquiry message to the target computing device includes: sending a heartbeat inquiry message to the target computing device through at least one link; the above-mentioned determining that the target computing device is abnormally powered off when no heartbeat response message sent by the target computing device is received includes: determining that the target computing device is abnormally powered off when no heartbeat response message sent by the target computing device is received through each link in at least one link.

[0011] It is understandable that if there are multiple links between the management unit and the target computing device, the management unit sends a heartbeat inquiry message to the target computing device through each link. As long as the management unit receives a heartbeat response message through any one of the links, the target computing device is deemed to be online, that is, there is no abnormal power-off. Conversely, if the management unit does not receive a heartbeat response message sent by the target computing device in all links, it is deemed that the target computing device is abnormally powered off. Setting multiple links can improve the accuracy of the management unit in determining whether the computing device is abnormally powered off, and avoid the subsequent erroneous recovery of the storage space of the computing device.

[0012] In another possible implementation, the method further includes: periodically sending a heartbeat inquiry message to the target computing device.

[0013] It is understandable that the management unit periodically performs heartbeat detection on the computing device, and can promptly detect the abnormal power-off problem of the computing device when the computing device is abnormally powered off.

[0014] In another possible implementation, the method also includes: receiving a request for storage space sent by a target computing device; sending a response to the target computing device; the response is used to feedback information about the storage space allocated to the target computing device; the information includes identifications of one or more logical units and storage capacities of one or more logical units.

[0015] It can be understood that the above method is a specific implementation process of the target computing device applying for storage space from the management unit. After the computing device applies for the storage space, it can provide storage services for the application.

[0016] In another possible implementation, the storage space of the CXL storage device includes multiple logical units, the management unit stores a metadata table, the metadata table includes identifiers of the multiple logical units and allocation status of the multiple logical units, the allocation status of a logical unit includes an allocated state and an identifier of a computing device to which the logical unit belongs, or an unallocated state; reclaiming the storage space allocated to the target computing device includes: determining one or more logical units allocated to the target computing device based on the identifiers of the multiple logical units and the allocation status of the multiple logical units; and reclaiming the one or more logical units.

[0017] It can be understood that in the above method, the management unit can clearly know which storage space is allocated to which computing devices through the metadata table. When the computing device is abnormally powered off, it can quickly obtain the storage space corresponding to the computing device that is abnormally powered off from the metadata table and reclaim this part of the storage space in time.

[0018] In another possible implementation, reclaiming one or more logical units includes: deleting data in the one or more logical units; and setting the state of the one or more logical units to an unallocated state.

[0019] It can be understood that deleting the data in the logical unit can ensure that the data of the last computing device that uses the logical unit will not be acquired by the next computing device that uses the logical unit, thereby ensuring data security.

[0020] In a second aspect, an embodiment of the present application provides a storage space management method, which is applied to a computing device, wherein the computing device and a management unit are both communicatively connected to a CXL storage device, and the management unit is used to manage the storage space of the CXL storage device, and the method comprises: establishing a heartbeat detection connection with the management unit; receiving a heartbeat inquiry message sent by the management unit when there is no abnormal power-off; the heartbeat inquiry message is used to determine whether the computing device is abnormally powered off; sending a heartbeat response message to the management unit; the heartbeat response message is a response message to the heartbeat inquiry message; and in the case of abnormal power-off, failing to receive the heartbeat inquiry message sent by the management unit.

[0021] It can be understood that the method of the second aspect described above can help the management unit to promptly determine whether the computing device is abnormally powered off, thereby improving the efficiency of storage space management.

[0022] In a third aspect, an embodiment of the present application provides a storage space management method, which is applied to a computing device, wherein the computing device and a management unit are both communicatively connected to a CXL storage device, and the management unit is used to manage the storage space of the CXL storage device. The method includes: when the computing device is abnormally powered off and then powered on again, the computing device restarts; and the computing device sends a return request to the management unit to request the return of the storage space allocated to the computing device by the management unit.

[0023] It can be understood that this method can return the storage space allocated to the computing device after the computing device is abnormally powered off and then powered on again, thereby avoiding the problem of abnormal occupation of storage space due to abnormal power off. This method is simple to implement, can reduce the workload of manually recovering storage space, and improve the utilization rate of storage space.

[0024] In a fourth aspect, an embodiment of the present application provides a management device, wherein the management device is applied to various modules of the storage space management method of the first aspect or any possible implementation manner of the first aspect.

[0025] In a fifth aspect, an embodiment of the present application provides a computing device, wherein the computing device is applied to various modules of the storage space management method of the second aspect or any possible implementation of the second aspect; or, the computing device is applied to various modules of the storage space management method of the third aspect or any possible implementation of the third aspect.

[0026] In a sixth aspect, an embodiment of the present application provides a management device, including a processor, the processor is coupled to a memory, the memory is used to store programs or instructions, when the program or instructions are executed by the processor, the management device executes a storage space management method such as the first aspect and any possible implementation method thereof.

[0027] In the seventh aspect, an embodiment of the present application provides a computing device, comprising a memory and at least one processor connected to the memory, the memory being used to store computer program code, the computer program code comprising computer instructions, and when the computer instructions are executed by at least one processor, the management device executes a storage space management method such as the second aspect and any possible implementation thereof; or, when the computer instructions are executed by at least one processor, the management device executes a storage space management method such as the third aspect and any possible implementation thereof.

[0028] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, which includes computer instructions. When the computer instructions are executed on a management device, the management device executes the storage space management method of the first aspect and any possible implementation thereof; or, when the computer instructions are executed on a computing device, the computing device executes the storage space management method of the second aspect and any possible implementation thereof; or, when the computer instructions are executed on a computing device, the computing device executes the storage space management method of the third aspect and any possible implementation thereof.

[0029] In a ninth aspect, an embodiment of the present application provides a computer program product, which includes computer instructions. When the computer instructions are executed on a management device, the management device executes the storage space management method of the first aspect and any possible implementation thereof; or, when the computer instructions are executed on a computing device, the computing device executes the storage space management method of the second aspect and any possible implementation thereof; or, when the computer instructions are executed on a computing device, the computing device executes the storage space management method of the third aspect and any possible implementation thereof.

[0030] For the specific description of the fourth to ninth aspects and their various implementations in the embodiments of the present application, reference can be made to the detailed description in the first, second or third aspect and their various implementations; and for the beneficial effects of the fourth to ninth aspects and their various implementations, reference can be made to the beneficial effect analysis in the first, second or third aspect and their various implementations, which will not be repeated here.

[0031] These and other aspects of the embodiments of the present application will be more clearly understood in the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Figure 1 A system architecture diagram of a storage space management method proposed in an embodiment of the present application;

[0033] Figure 2 A flowchart of a storage space management method provided in an embodiment of the present application;

[0034] Figure 3 A flowchart of another storage space management method provided in an embodiment of the present application;

[0035] Figure 4 A flowchart of another storage space management method provided in an embodiment of the present application;

[0036] Figure 5 A schematic diagram of the structure of a management device provided in an embodiment of the present application;

[0037] Figure 6 A schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0038] Figure 7 A schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0039] Figure 8 A schematic diagram of the structure of another device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0040] In the following, the terms "first", "second", "third", etc. are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first", "second", or "third", etc. may explicitly or implicitly include one or more of the features.

[0041] In the description of the embodiments of the present application, unless otherwise specified, " / " means "or", for example, A / B can mean A or B. "And / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, "at least one" means one or more, and "a plurality" means two or more.

[0042] Based on the description in the background technology, it can be known that the CXL storage device is connected to the computing device through a physical link, and the CXL storage device is decoupled from multiple computing devices and is powered by different power supply systems. When the computing device is powered off abnormally, the CXL storage device is not powered off, which will cause the storage space allocated to the abnormally powered-off computing device to continue to be abnormally occupied, wasting storage resources.

[0043] Based on this, the embodiment of the present application proposes a storage space management method, which is applied to a management unit for managing the storage space of a CXL storage device. The management unit can determine whether the connected computing device has an abnormal power-off situation. If there is an abnormal power-off situation, the storage space allocated to the computing device is recovered, or the computing device that has abnormal power-off sends a return request to the management unit after powering on again, so as to return the storage space. It can be understood that the above two methods can solve the problem of abnormal occupation of storage space after abnormal power-off of computing devices in related technologies, are simple to implement, can improve the utilization rate of storage space, and avoid waste of storage resources.

[0044] The implementation of the embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0045] Please refer to Figure 1 , which shows a schematic diagram of a system architecture involved in the storage space management method provided in the embodiment of the present application. Figure 1 As shown, the system architecture may include: a computing device 110 , a CXL storage device 120 , and a CXL connection device 130 .

[0046] The computing device 110 and the CXL storage device 120 are communicatively connected via a CXL connection device 130 .

[0047] The computing device 110 is a computing device with data processing, logic operation and storage functions. For example, the computing device 110 may include computing devices such as a server, a tablet computer, a desktop computer, a laptop computer, a notebook computer, a computing node or a netbook. The server may be a rack server, a blade server or a tower server. The server may include one computing node or multiple computing nodes, each computing node includes at least one CPU. When the server includes multiple computing nodes, multiple CPUs in the multiple computing nodes share a set of operating systems.

[0048] In the embodiment of the present application, there may be more than one computing device 110 . When there are more than one computing device, each computing device 110 is connected to the CXL storage device 120 via the CXL connection device 130 .

[0049] The CXL storage device 120 may include a CXL control chip and a memory. The memory may include a dual inline memory module (DIMM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a solid state disk (SSD), or a persistent memory (PMEM). The memory is an actual physical carrier that provides storage space for the computing device 110.

[0050] The CXL control chip is used to write data to the memory in the CXL storage device 120 or read data from the memory according to the read / write data request sent by the computing node 110. The CXL control chip is also called a memory expansion (CXL memory expander) chip, a CXL memory controller (CXL memory expander controller) or a CXL memory pooling (CXL memory expander pooling) chip.

[0051] In the embodiment of the present application, the number of memories in the above-mentioned CXL storage device 120 can be one or more. When there is one memory, the memory can be a DIMM or an SSD. When there are multiple memories, the multiple memories can all be DIMMs, or the multiple memories can all be SSDs, or some of the multiple memories can be DIMMs and some can be SSDs.

[0052] Of course, in other embodiments, when there is one memory, the memory may also be other types of memory such as SDRAM or PMEM. When there are multiple memories, the multiple memories may all be other types of memory such as SDRAM or PMEM, or the multiple memories may include at least two of SDRAM, PMEM, DIMM or SSD. The above flexible implementation and deployment methods can make the CXL storage device 120 compatible with memories of more media types. The embodiments of the present application do not limit the media type, quantity and deployment method of the memory.

[0053] The CXL connection device 130 can provide an expansion interface to connect multiple computing devices 110 to the CXL storage device 120. The CXL connection device 130 can be independently configured or integrated into any computing device 110 or the CXL storage device 120.

[0054] Exemplarily, when the CXL connection device 130 is independently provided, the CXL connection device 130 may be a CXL switch, which includes a CXL switch chip; or the CXL connection device 130 may be a multi-head CXL memory expansion card. In the case that the number of CXL storage devices 120 is one, the CXL connection device 130 may be integrated on the CXL storage device 120, and the CXL connection device 130 may be a multi-head CXL memory expansion card, which may serve as a CXL control chip of the CXL storage device 120. When the CXL connection device 130 is integrated on a computing device, the CXL connection device 130 may be a CXL switch, a CXL switch chip, or a multi-head CXL memory expansion card. In addition to the expansion function, the CXL Switch also has a processor, and has a processing function, such as being able to run FM.

[0055] In the embodiment of the present application, the computing device 110 can be operated by a management process (eg, Figure 1In the example, the local CXL space management daemon (LMD) is used to manage the storage space on the computing device 110. For example, the management process allocates storage space to applications (APPs) in the operating system of the computing device 110, or reclaims the storage space allocated to the applications. In addition, the management process can send requests to management units (e.g. Figure 1 Middle: A fabric manager (FM) applies for or returns storage space, wherein the fabric manager is used to manage all storage spaces in the CXL storage device 120 .

[0056] The CXL storage space on the computing device 110 is the storage space allocated to the computing device 110 by the CXL storage device 120 .

[0057] In an embodiment of the present application, the above-mentioned LMD is a user-mode process running in the operating system of the computing device 110, which can interact with the above-mentioned FM, and can also interact with the application running in the operating system of the computing device 110 through an interface provided by a software development kit (SDK).

[0058] Exemplarily, SDK is a software that provides multiple interfaces for applications, such as: CXL_malloc interface for applying for storage space, CXL_free for returning storage space, CXL_dd interface for performing IO write operations on device files, CXL_open interface for opening device files corresponding to storage space, CXL_read interface for reading device files, CXL_write interface for writing device files, and CXL_close interface for closing device files.

[0059] In the embodiment of the present application, the FM is a process for managing the storage space of the CXL storage device 120. The FM may run in a CPU or a baseboard management controller (BMC) of any computing device 110, or in a processor of the CXL connection device 130. Alternatively, the FM may also run in a CPU, a BMC, or a controller of an independent device. The embodiment of the present application does not limit the specific running location of the FM.

[0060] It should be noted that different computing devices have different names for BMC, for example, some computing devices are called BMC, some computing devices are called iLO (Integrated lights-out), and some computing devices are called Integrated Dell Remote Access Controller (iDRAC). Whether it is called BMC, iLO or iDRAC, it can be understood as the BMC in the embodiment of the present invention.

[0061] In some implementations, the FM is provided with a patrol function, which can perform regular heartbeat patrols on the computing device 110 that has applied for the storage space of the CXL storage device, so as to determine whether the computing device 110 is online normally.

[0062] In some implementations, FM can also be used to abstract the storage space in the CXL storage device 120 into multiple logical units (logical devices, LDs). For example, when there is one CXL storage device 120, FM can divide the storage space of one CXL storage device 120 into multiple sub-storage spaces, which can be called logical units. When there are multiple CXL storage devices 120, FM can manage the storage spaces of multiple CXL storage devices 120 in a unified manner and divide them into multiple sub-storage spaces, which can be called logical units. Optionally, the capacities of multiple logical units can be the same or different. Generally, for ease of management, FM divides the storage space of one or more CXL storage devices 120 into multiple logical units of the same capacity.

[0063] In some implementations, FM uses the above logical units as the minimum allocation granularity, allocates one or more logical units to one or more computing devices 110, or reclaims one or more logical units allocated to computing devices 110. Optionally, FM records metadata of the above multiple logical units, including identification, allocation status, and storage capacity of the logical units.

[0064] For example, assuming that the storage space of the CXL storage device 120 is 128 GB, and the capacity of each logical unit is set to 16 GB, the FM divides the storage space of the CXL storage device 120 into 8 logical units, and sets an identifier for each logical unit, for example: LD-0, LD-1...LD-7. The FM can allocate one or more logical units of LD-0, LD-1...LD-7 to the computing device 110, so that the computing device 110 can use the storage space corresponding to the one or more logical units to read and write data.

[0065] When the FM divides the storage space of the CXL storage device 120 into a plurality of logical units, the size of the logical unit can be flexibly set based on the application scenario requirements.

[0066] In some implementations, the FM may be run on any one of the plurality of computing devices 110, and the other computing devices 110 are connected to the computing device running the FM via a network and / or a 485 link (a link using the RS-485 serial bus standard), etc. The CXL connection device 130 connects the plurality of computing devices 110 and the CXL storage device 120 via a bus (e.g., UART, universal asynchronous receiver / transmitter (UART) integrated circuit bus (inter-integrated circuit, IIC) or system management bus (system management bus, SMBus)).

[0067] In another possible implementation, the FM may run in the CXL connection device 130 , and the CXL connection device 130 is respectively connected to the plurality of computing devices 110 and the CXL storage device 120 via a bus (eg, a UART, an IIC, or an SMBUS bus).

[0068] For example, in the embodiment of the present application, the CXL connection device 130 may abstract the storage space of the CXL storage device 120 into multiple logical units, and allocate one or more logical units to one or more computing devices 110 with the logical unit as the minimum granularity. Optionally, the capacity of the multiple logical units may be the same or different. Generally, for ease of management, the CXL connection device 130 divides the storage space of the CXL storage device 120 into multiple logical units of the same capacity.

[0069] The following is an explanation of the storage space management method provided by the embodiment of the present application:

[0070] Please refer to Figure 2 , is a flow chart of a storage space management method provided in an embodiment of the present application. The method is applied to a management unit, the management unit is in communication connection with multiple computing devices and CXL storage devices, and the management unit is used to manage the storage space of the CXL storage device.

[0071] It can be understood that the storage space management method provided in the embodiment of the present application mainly includes two aspects:

[0072] In the first aspect, the management unit allocates storage space in the CXL storage device to the computing device.

[0073] Second aspect: the management unit reclaims the storage space allocated to the computing device based on the status of the computing device.

[0074] The status of the computing device includes being online or abnormally powered off.

[0075] First, the storage space management method provided by the embodiment of the present application is described from the perspective of the first aspect. Figure 2 As shown, the method may include S101-S104.

[0076] S101: After the target computing device is powered on, a communication connection is established with a management unit.

[0077] The target computing device is any one of a plurality of computing devices connected to the management unit.

[0078] In one embodiment, after the target computing device is powered on, the CPU of the target computing device executes an initialization program, which includes a management process. During the initialization of the management process, a request for establishing a communication connection is sent to the management unit, and the request carries the identifier of the target computing device (e.g., the MAC address of the target computing device). After receiving the request for establishing a communication connection, the management unit records the identifier of the target computing device carried in the request, and sends a response message to the target computing device, thereby establishing a communication connection with the target computing device.

[0079] The above implementation is described using the target computing device as an example. In fact, all computing devices connected to the management unit need to execute the initialization program after powering on to establish a communication connection with the management unit. This process only needs to be executed once after the computing device is powered on. After the computing device establishes a communication connection with the management unit, it can subsequently communicate with the management unit normally, such as applying for storage space from the management unit. The subsequent method is also described using the target computing device as an example. The embodiments of the present application do not limit the specific target computing device.

[0080] S102: The target computing device sends a request for storage space to the management unit.

[0081] The request for applying for storage space carries storage capacity information of the storage space applied for by the target computing device, such as the first storage capacity.

[0082] Exemplarily, the target computing device sends a request for "applying for 16 GB (first storage capacity) storage space" to the management unit.

[0083] Specifically, the management process running in the CPU of the target computing device sends a request for applying for storage space to the management unit.

[0084] The computing device may trigger the management process to send a request for storage space under a trigger condition.

[0085] In one case, the triggering condition includes: after the computing device is powered on, the management process triggers sending a request for applying for storage space to the management unit based on the configuration information in the configuration file during the initialization process.

[0086] Configuration file: A computer file that can configure parameters and initial settings for some computer programs. For example, a configuration file is pre-configured to obtain a storage space of a first storage capacity.

[0087] Exemplarily, the request for applying for storage space carries the first storage capacity configured in the configuration file.

[0088] In some implementations, technicians can modify the first storage capacity configured in the configuration file as required. Generally, the configured first storage capacity is an integer multiple of the capacity of a logical unit.

[0089] In another case, when an application in the computing device requests storage space from the management process, if the storage space of the computing device is insufficient, the management process is triggered to send a first request to the management unit.

[0090] S103: The management unit allocates one or more logical units to the computing device from available logical units in the CXL storage device.

[0091] A sum of storage capacities of the one or more logical units is greater than or equal to the first storage capacity.

[0092] The management unit divides the storage space in the CXL storage device into multiple logical units and manages them at the granularity of the logical units.

[0093] The available logical unit is a logical unit that is not allocated to any computing device among the multiple logical units of the CXL storage device.

[0094] In some implementations, as shown in Table 1, the management unit stores a metadata table, in which the metadata table records the identifiers of multiple logical units and the allocation status of multiple logical units, and optionally, also includes the storage capacity of the logical unit. The allocation status of the logical unit includes an allocated status and an identifier of a computing device to which the logical unit belongs, or an unallocated status.

[0095] Table 1

[0096] Logical unit identification Storage capacity of logical unit Allocation status of the logical unit LD-1 16 GB Allocated state, assigned to device 1 LD-2 16 GB Allocated state, assigned to device 2 LD-3 16 GB Unassigned status LD-4 16 GB Unassigned status

[0097] Based on the information of the multiple logical units recorded in Table 1, the management unit allocates the unallocated logical units to the computing device, and modifies the “allocation status of the logical unit” in Table 1.

[0098] In some implementations, after receiving the request for storage space sent by the target computing device, the management unit first parses the storage capacity information carried in the request to determine that the capacity of the storage space requested by the target computing device is the first storage capacity. Secondly, the management unit determines from the metadata table shown in Table 1 whether the total storage capacity of the unallocated logical units in the managed storage space can meet the first storage capacity requested by the target computing device. If so, any logical unit that meets the first storage capacity can be selected from the unallocated logical units and allocated to the target computing device. If not, all the remaining unallocated logical units can be allocated to the target computing device, or a response message of failure to allocate storage space can be sent to the target computing device.

[0099] When the storage capacity of a logical unit in an unallocated state satisfies a first storage capacity, the method for a management unit to allocate logical units to a computing device includes: when the first storage capacity is an integer multiple of the capacity of a logical unit, the number of logical units allocated by the management unit to the computing device is equal to the integer multiple; when the first storage capacity is not an integer multiple of the capacity of a logical unit, the management unit rounds up the value of the first storage capacity divided by the capacity of a logical unit, and the number of logical units allocated by the management unit to the computing device is equal to the rounded value.

[0100] In one example, if the capacity of each logical unit is 16GB, the first storage capacity is 30GB, and 30GB divided by 16GB is equal to 1.875, the management unit rounds 1.875 to get 2. The management unit allocates two unallocated logical units, i.e., 32GB of storage capacity, to the computing device. If the target computing device is identified as "computing device 1", as shown in Table 1, the management unit allocates LD-3 and LD-4 in Table 1 to "computing device 1", and the management unit modifies the allocation status of the logical units LD-3 and LD-4 in Table 1 from "unassigned status" to "allocated status, assigned to computing device 1".

[0101] Since the management unit manages the storage space with a logical unit as the smallest granularity, when the storage capacity of the storage space applied for by the computing device is less than the storage capacity of a logical unit, the management unit allocates it according to one logical unit.

[0102] S104: The management unit sends a response to the target computing device. Correspondingly, the target computing device receives the response from the management unit.

[0103] The response is used to feed back information about the storage space allocated to the target computing device; the information includes identifications of one or more logical units and storage capacities of the one or more logical units.

[0104] In one example, as shown in Table 1, the management unit allocates LD-3 and LD-4 in Table 1 to the target computing device. At this time, the second response includes: LD-3, LD-4 and 32GB.

[0105] In some implementations, after receiving the first response, the management process maps the logical unit allocated by the management unit into a device file, and stores the device file name, the identification of the logical unit, the storage capacity and other information in the computing device according to the corresponding relationship. It can be understood that the device file name, the identification of the logical unit, the storage capacity and other information can be called the metadata of the logical unit.

[0106] The device file is the interface of the device driver, allowing the application to interact with the device through the standard input and output system calls. It can be understood that in the embodiment of the present application, the device file is the interface of the driver of the logical unit in the CXL storage device, and the application can write data to the logical unit corresponding to the device file through the device file, or read data in the logical unit corresponding to the device file.

[0107] In one example, as shown in Table 2, Table 2 is metadata recorded by a computing device, which includes: "identification of a logical unit", "storage capacity of a logical unit" and "device file name".

[0108] Table 2

[0109] Logical unit identification Storage capacity of logical unit Device file name LD-3 16 GB / dev / dax.1 LD-4 16 GB / dev / dax.2

[0110] After the management process mounts the device files of the logical units in Table 2 above to the specified directory, it can provide storage services for applications in the computing device, such as allocating storage space in the mounted logical units to the applications, or reclaiming the storage space allocated to the applications.

[0111] In the above S101-S104, if the computing device applies for storage space in advance, when the application needs to use the storage space, the required storage space can be directly allocated to the application from the pre-applied logical unit, without the need to apply for storage space across nodes, thereby reducing waiting time and improving the efficiency of allocating storage space to the application.

[0112] After the management unit allocates storage space to the target computing device in the first aspect, the management unit executes the second aspect to determine the status of the target computing device in real time.

[0113] The following describes the storage space management method provided by the embodiment of the present application from the perspective of the second aspect. Figure 3 As shown, the method may include S201-S203.

[0114] S201: The management unit determines whether the target computing device is abnormally powered off.

[0115] When it is determined that the target computing device is abnormally powered off, the management unit executes S202;

[0116] When it is determined that the target computing device is not abnormally powered off, the management unit executes S203 .

[0117] In one embodiment, a heartbeat detection function is provided in the management unit, which can detect the heartbeat of the computing device to which the management unit allocates storage space. When the management unit detects the heartbeat of the computing device, it indicates that the computing device is online. When the management unit does not detect the heartbeat of the computing device, it indicates that the computing device is abnormally powered off. Therefore, the management unit establishes a heartbeat detection connection with the target computing device, so that the subsequent management unit can determine whether the target computing device is abnormally powered off.

[0118] The following is a specific implementation step of establishing a heartbeat connection, including: S201a-S201c.

[0119] S201a: The target computing device sends a request to establish a heartbeat detection connection to the management unit.

[0120] The heartbeat detection connection request is used to request the management unit to perform a heartbeat detection on the target computing device.

[0121] Exemplarily, the heartbeat detection connection request includes: an identifier of the target computing device and the content of the request, for example: a request for heartbeat detection.

[0122] S201b: After receiving the heartbeat detection connection request sent by the target computing device, the management unit sends a heartbeat inquiry message to the target computing device.

[0123] The heartbeat inquiry message is used to inquire whether the target computing device is abnormally powered off.

[0124] S201c: The target computing device sends a heartbeat response message to the management unit.

[0125] The above-mentioned heartbeat response message is a response message of the heartbeat inquiry message.

[0126] In one embodiment, the heartbeat response message may carry a response message to the heartbeat inquiry message agreed upon with the management node. For example, the heartbeat response message carries the character "1". When the management unit receives the heartbeat response message carrying the character "1", it determines that it is online with the target computing device. At this time, the management unit adds the target computing device to the computing devices that need to perform heartbeat detection subsequently.

[0127] S201a-S201c are the specific implementation methods of establishing a heartbeat detection connection between the target computing device and the management unit. After the target computing device and the management unit establish a heartbeat detection connection, the management unit determines whether the target computing device is abnormally powered off by detecting the heartbeat of the target computing device.

[0128] The above S201a-S201c can be executed after the computing device establishes a communication connection with the management unit, or after the management unit allocates storage space to the computing device. This application does not limit when the computing device establishes a heartbeat detection connection with the management unit.

[0129] On the basis of S201a-S201c, for S201, the embodiment of the present application proposes a specific implementation method, including S201A-S202C.

[0130] S201A: The management unit sends a heartbeat inquiry message to the target computing device.

[0131] When the target computing device is abnormally powered off, the target computing device cannot receive the heartbeat inquiry message sent by the management unit. At this time, the target computing device cannot send a heartbeat response message to the management unit either, and S201B is executed.

[0132] When the target computing device is not abnormally powered off, a heartbeat inquiry message sent by the management unit is received, and a heartbeat response message is sent to the management unit, and S201C is executed at this time.

[0133] S201B: When the management unit does not receive a heartbeat response message sent by the target computing device, the management unit determines that the target computing device is abnormally powered off.

[0134] S201C: The management unit determines that the target computing device is not abnormally powered off.

[0135] The above S201A-S201C can be executed after the computing device establishes a communication connection with the management unit, or after the management unit allocates storage space to the computing device. The present application does not limit when the computing device establishes a heartbeat detection connection with the management unit. It is understandable that the above S201A-S201C is executed after the management unit allocates storage space to the computing device, avoiding invalid steps when the management unit does not allocate storage space to the computing device, thereby simplifying the process.

[0136] In some implementations, a patrol thread runs in the management unit, and the thread cyclically executes patrol tasks within a time interval. The patrol tasks include heartbeat detection, and the management unit periodically performs heartbeat detection on the target computing device.

[0137] It is understandable that the management unit periodically performs heartbeat detection on the computing device, can obtain the status of the computing device in real time, and promptly discover the abnormal power-off problem of the computing device when the computing device is abnormally powered off. The shorter the cycle, the more timely the management unit can discover whether the computing device has abnormal power-off. However, considering the computing resource usage of the management unit, the cycle interval cannot be too short, and a suitable cycle can be selected between computing resources and detection timeliness. In addition, the management unit can perform heartbeat inspections on computing devices that have allocated storage space, while computing devices that have not allocated storage space do not have the problem of storage space occupation, and there is no need to inspect the heartbeats of computing devices that have not allocated storage space. This setting method can reduce the workload of the management unit and further save computing resources.

[0138] In some implementations, a specific method in which the management unit periodically performs heartbeat detection on the target computing device may include: the management unit periodically sends a heartbeat inquiry message to the target computing device.

[0139] Optionally, each time the management unit performs a heartbeat detection on the target computing device, the management unit sends a heartbeat inquiry message to the target computing device through at least one link.

[0140] At least one link is a physical link between the management unit and the target computing device, such as a network cable, an RS485 link, etc.

[0141] In some implementations, a technician may connect the management unit to the target computing device through multiple physical links, and the management unit sends a heartbeat inquiry message to the target computing device through each link.

[0142] Correspondingly, when the management unit does not receive the heartbeat response message sent by the target computing device, it determines that the target computing device is abnormally powered off.

[0143] The heartbeat response message is a response message to the heartbeat inquiry message sent by the management unit to the target computing device.

[0144] If the management unit sends a heartbeat inquiry message to the target computing device through each link, then if no heartbeat response message sent by the target computing device is received through each link in at least one link, it is determined that the target computing device is abnormally powered off.

[0145] It is understandable that if there are multiple links between the management unit and the target computing device, the management unit sends a heartbeat inquiry message to the target computing device through each link. As long as the management unit receives a heartbeat response message through any one of the links, the target computing device is deemed to be online, that is, there is no abnormal power-off. Conversely, if the management unit does not receive a heartbeat response message sent by the target computing device in all links, it is deemed that the target computing device is abnormally powered off. Sending heartbeat inquiry messages through multiple links can improve the accuracy of the management unit in determining whether the computing device is abnormally powered off, and avoid the subsequent erroneous recovery of the storage space of the computing device.

[0146] In some other implementations, the management unit sends a heartbeat inquiry message to the target computing device multiple times.

[0147] Correspondingly, when the management unit does not receive a heartbeat response to at least one heartbeat inquiry message among the multiple heartbeat inquiry messages, it determines that the target computing device is abnormally powered off.

[0148] It is understandable that the management unit sends heartbeat inquiry messages to the target computing device multiple times. As long as it receives a heartbeat response message to at least one heartbeat inquiry message, it is determined that the target computing device is online, that is, there is no abnormal power-off. Otherwise, it is determined that the target computing device is abnormally powered off. This method increases the frequency of sending heartbeat inquiry messages by sending heartbeat inquiry messages multiple times, thereby improving the accuracy of determining whether the computing device is abnormally powered off and avoiding subsequent erroneous recovery of the computing device's storage space.

[0149] In some implementations, in addition to determining whether the computing device is abnormally powered off by the above-mentioned heartbeat inspection method, the management unit may also determine whether the target computing device is abnormally powered off by receiving information from a third device. The third device may be a device independent of the computing device and the management unit, capable of detecting the status of the computing device, and when the computing device is abnormally powered off, sending a message of abnormal power off of the computing device to the management unit.

[0150] S202: The management unit reclaims the storage space allocated to the target computing device.

[0151] In some implementations, the specific method of S202 may include:

[0152] S202a: The management unit determines one or more logical units to be allocated to the target computing device according to the identifiers of the multiple logical units and the allocation states of the multiple logical units.

[0153] Specifically, the management unit determines the identifiers of one or more logical units corresponding to the identifier of the target computing device from the metadata table shown in Table 1.

[0154] S202b: The management unit deletes data in one or more logical units.

[0155] For example, if the management unit wants to delete the data in LD-3 in Table 1, it may execute the CXL_unbind LD-3 instruction to delete the data in the storage space corresponding to LD-3 in the CXL storage device.

[0156] Deleting the data in the logical unit can ensure that the data of the last computing device that uses the logical unit will not be acquired by the next computing device that uses the logical unit, thereby ensuring data security.

[0157] S202c: The management unit sets the status of one or more logical units to an unallocated state.

[0158] The management unit timely sets the status of the recovered logical unit, and can accurately evaluate the amount of currently unallocated storage space when a computing device subsequently applies for storage space, and allocate the unallocated storage space to other computing devices that need storage space, thereby improving the utilization rate of the storage space. In addition, timely recovery of storage space can reduce the storage capacity configuration of the CXL storage device and reduce the use cost of the CXL storage device.

[0159] S203: The management unit continues to determine whether the next computing device is abnormally powered off.

[0160] Optionally, the management unit performs a heartbeat detection on the next computing device.

[0161] In the storage space management method proposed in the embodiment of the present application, the management unit first determines the state of the computing device, and when the computing device is abnormally powered off, the storage space allocated to the computing device is promptly recovered. This method can solve the problem in the related art that when the computing device is abnormally powered off, the storage space in the abnormally powered off computing device cannot be promptly recovered, resulting in a reduced storage space utilization rate. Therefore, the method proposed in the embodiment of the present application can improve the utilization rate of the storage space.

[0162] Please refer to Figure 4 , which is a flowchart of another storage space management method provided in an embodiment of the present application. Figure 4 The method shown is based on Figure 1 The architecture of this method is applied to management units, such as Figure 4 As shown, the method may include S301-S304.

[0163] S301: After the target computing device is abnormally powered off and then powered on again, a communication connection is established with the management unit.

[0164] After abnormal power-off and power-on again, the target computing device restarts and establishes a communication connection with the management unit.

[0165] Please refer to S101 for a detailed description of establishing a communication connection between the target computing device and the management unit.

[0166] S302: The target computing device sends a return request to the management unit. Correspondingly, the management unit receives the return request sent by the target computing device.

[0167] The return request is used to request the return of the storage space allocated to the target computing device. The return request is sent by the target computing device to the management unit after abnormal power-off and power-on recovery.

[0168] In some implementations, the CPU of the target computing device is provided with a function of sending a return request after abnormal power-off and power-on recovery. This function can be set in the management process running by the CPU. Of course, this function can also be set in other processes running by the CPU. This embodiment of the present application does not limit this.

[0169] Since the target computing device may abnormally occupy storage space in the CXL storage device after abnormal power failure, in order to return the storage space allocated to the target computing device, the target computing device sends a request to the management unit to return the storage space after power is restored.

[0170] S303: After receiving the return request sent by the target computing device, the management unit confirms whether storage space is allocated to the target computing device.

[0171] In one implementation, the return request carries an identifier of the computing device, and the computing device determines whether storage space is allocated to the computing device in the allocation status of the logical unit recorded in Table 1 based on the identifier of the computing device.

[0172] When it is confirmed that storage space is allocated to the target computing device, the management unit executes S304;

[0173] When it is confirmed that no storage space is allocated to the target computing device, this process ends.

[0174] S304: The management unit reclaims the storage space allocated to the target computing device.

[0175] For a detailed description of S304, please refer to S202.

[0176] Figure 4 In the storage space management method shown, the storage space allocated to the computing device can be returned after the computing device is abnormally powered off and then powered on again, thereby avoiding the problem of abnormal occupation of storage space due to abnormal power off. The method is simple to implement, can reduce the workload of manually recovering storage space, and improve the utilization rate of storage space.

[0177] It should be noted that the above Figure 4The method shown is based on the assumption that the target computing device can be successfully powered on after abnormal power failure. If the target computing device cannot be successfully powered on after abnormal power failure, a technician needs to manually reclaim the storage space allocated to the target computing device in the management unit.

[0178] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. In order to achieve the above functions, it includes hardware structures and / or software modules corresponding to the execution of each function. It should be easy to realize that the technical goals in this field are combined with the units and algorithm steps of each example described in the embodiments disclosed in this article, and the embodiments of the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical goals can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the embodiments of the present application.

[0179] The present application embodiment also provides a management device 200. Figure 5 FIG. 2 is a schematic diagram of a management device 200 provided in an embodiment of the present application. The device running the above FM is a management device.

[0180] The management device 200 includes: a determination unit 201, used to determine that the target computing device is abnormally powered off; the target computing device is any one of the multiple computing devices; or a receiving unit 202, used to receive a return request sent by the target computing device, the return request is used to request the return of the storage space allocated to the target computing device by the management device; the return request is sent by the target computing device to the management unit after abnormal power-off and power-on again; a recovery unit 203, used to recover the storage space allocated to the target computing device by the management device. For example, in combination with Figure 3 The determination unit 201 can be applied to S201 in the method embodiment, combined with Figure 4 The receiving unit 202 can be applied to S302 in the method embodiment, and the recycling unit can be applied to S202 or S304 in the method embodiment.

[0181] In one implementation, the determination unit 201 is specifically configured to send a heartbeat inquiry message to the target computing device; if no heartbeat response message sent by the target computing device is received, determine that the target computing device is abnormally powered off; and the heartbeat response message is a response message to the heartbeat inquiry message. For example, the determination unit 201 can be applied to S201 in the method embodiment.

[0182] In one implementation, a heartbeat detection connection is established between the management unit and the target computing device via at least one link; the determination unit 201 is specifically configured to send a heartbeat inquiry message to the target computing device via at least one link; and when no heartbeat response message sent by the target computing device is received via each of the at least one link, it is determined that the target computing device is abnormally powered off. For example, the determination unit 201 may be applied to S201 in the method embodiment.

[0183] In one implementation, the management device further includes a sending unit 204, which is used to periodically send a heartbeat inquiry message to the target computing device. For example, the sending unit 204 can be applied to S201 in the method embodiment.

[0184] In one embodiment, the receiving unit 202 is further used to receive a request for storage space sent by the target computing device; the sending unit 204 is further used to send a response to the target computing device; the response is used to feedback information about the storage space allocated to the target computing device; the information includes the identification of one or more logical units and the storage capacity of one or more logical units. Figure 2 The receiving unit 202 can be applied to S103 in the method embodiment.

[0185] In one implementation, the storage space of the CXL storage device includes multiple logical units, the management unit stores a metadata table, the metadata table includes identifiers of the multiple logical units and allocation states of the multiple logical units, the allocation state of a logical unit includes an allocated state and an identifier of a computing device to which the logical unit belongs, or an unallocated state; the recycling unit 203 is specifically used to determine one or more logical units allocated to a target computing device according to the identifiers of the multiple logical units and the allocation states of the multiple logical units; and to recycle the one or more logical units. For example, the recycling unit 203 can be applied to S202 or S304 in the method embodiment.

[0186] In one implementation, the recycling unit 203 is specifically used to delete data in one or more logical units and set the state of one or more logical units to an unallocated state. For example, the recycling unit 203 can be applied to S202 or S304 in the method embodiment.

[0187] The present application embodiment also provides a computing device 300. Figure 6 FIG. 3 is a schematic diagram of a computing device 300 provided in an embodiment of the present application. Figure 1 Any computing device among multiple computing devices in.

[0188] Among them, the computing device 300 includes: a connection unit 301, used to establish a heartbeat detection connection with the management unit; a receiving unit 302, used to receive a heartbeat inquiry message sent by the management unit when there is no abnormal power-off; the heartbeat inquiry message is used to determine whether the computing device is abnormally powered off; a sending unit 303, used to send a heartbeat response message to the management unit; the heartbeat response message is a response message to the heartbeat inquiry message; in the case of abnormal power-off, the heartbeat inquiry message sent by the management unit cannot be received.

[0189] The present application embodiment also provides a computing device 400. Figure 7 FIG. 4 is a schematic diagram of a computing device 400 provided in an embodiment of the present application. Figure 1 Any computing device among multiple computing devices in.

[0190] The computing device 400 includes: a restart unit 401, which is used to restart the computing device when the power is restored after abnormal power failure; and a sending unit 402, which is used to send a return request to the management unit to request the management unit to return the storage space allocated to the computing device. Figure 4 The restart unit 401 and the sending unit 402 recycling unit can be applied to S301 in the method embodiment.

[0191] Of course, the management device 200, computing device 300 and computing device 400 provided in the embodiments of the present application include but are not limited to the above modules.

[0192] The present application also provides a device 500, which can be Figure 1 Management devices or computing devices in. Figure 8 As shown, Figure 8 is a schematic diagram of the structure of the device 500 provided in the embodiment of the present application. Figure 8 As shown, the device 500 includes a processor 501 , a memory 502 , and a network interface 503 .

[0193] The processor 501 includes one or more CPUs, which may be single-core CPUs or multi-core CPUs.

[0194] The memory 502 includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or optical storage.

[0195] In one implementation, the processor 501 implements the storage space management method provided in the embodiment of the present application by reading instructions stored in the memory 502, or the processor 501 implements the storage space management method provided in the embodiment of the present application by internally stored instructions. In the case where the processor 501 implements the method in the above embodiment by reading instructions stored in the memory 502, the memory 502 stores instructions for implementing the storage space management method provided in the embodiment of the present application.

[0196] The network interface 503 is a device including a transmitter and a receiver, and is used to communicate with other devices or communication networks. It can be a wired interface (port), such as a fiber distributed data interface (FDDI) or a gigabit Ethernet interface (GE). Alternatively, the network interface 503 is a wireless interface. It should be understood that the network interface 503 includes multiple physical ports, and the network interface 503 is used for communication, etc.

[0197] In one implementation, the management device 500 further includes a bus 504 , and the processor 501 , the memory 502 , and the network interface 503 are generally connected to each other via the bus 504 , or are connected to each other in other ways.

[0198] In actual implementation, the determination unit 201, the receiving unit 202, the recovery unit 203 and the sending unit 204, or the connection unit 301, the receiving unit 302 and the sending unit 303, or the restart unit 401 and the sending unit 402 can be implemented by the processor calling the computer program code in the memory. The specific execution process can refer to the description of the above method part, which will not be repeated here.

[0199] Another embodiment of the present application also provides a management device, including a processor, wherein the processor is coupled to a memory, and the memory is used to store programs or instructions. When the programs or instructions are executed by the processor, the management device executes the various steps of the storage space management method shown in the above method embodiment.

[0200] In the seventh aspect, an embodiment of the present application provides a computing device, comprising a memory and at least one processor connected to the memory, wherein the memory is used to store computer program code, and the computer program code comprises computer instructions. When the computer instructions are executed by the at least one processor, the computing device executes the various steps of the storage space management method shown in the above method embodiment.

[0201] Another embodiment of the present application further provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed on a management device, the management device executes each step executed by the management device in the storage space management method process shown in the above method embodiment; or, when the computer instructions are executed on a computing device, the computing device executes each step executed by the computing device in the storage space management method process shown in the above method embodiment.

[0202] Another embodiment of the present application also provides a chip system, which is applied to a management device. The chip system includes one or more interface circuits and one or more processors. The interface circuit and the processor are interconnected through lines. The interface circuit is used to receive a signal from the memory of the management device and send a signal to the processor, and the signal includes a computer instruction stored in the memory. When the management device processor executes the computer instruction, the management device executes each step performed by the management device in the storage space management method process shown in the above method embodiment; or, when the computing device processor executes the computer instruction, the computing device executes each step performed by the computing device in the storage space management method process shown in the above method embodiment.

[0203] In another embodiment of the present application, a computer program product is also provided, which includes computer instructions. When the computer instructions are executed on a management device, the management device executes each step executed by the management device in the storage space management method process shown in the above method embodiment; or, when the computer instructions are executed on a computing device, the computing device executes each step executed by the computing device in the storage space management method process shown in the above method embodiment.

[0204] The above embodiments may be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using a software program, the above embodiments may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer execution instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, a server or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or may include one or more servers, data centers and other data storage devices that can be integrated with the medium. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a solid state disk (SSD)).

[0205] The above is only a specific implementation of the present application. Those skilled in the art may conceive of changes or substitutions based on the specific implementation provided by the present application, which should all be included in the protection scope of the present application.

Claims

1. A storage space management method, characterized in that: Applied to a management unit, the management unit and a plurality of computing devices are all in communication connection with a computing interconnect protocol CXL storage device, the management unit is used to manage the storage space of the CXL storage device, the method comprises: Determining that a target computing device is abnormally powered off; the target computing device is any one of the multiple computing devices; or receiving a return request sent by the target computing device, the return request being used to request the return of the storage space allocated to the target computing device by the management unit; the return request is sent by the target computing device to the management unit after being abnormally powered off and then powered on again; The storage space allocated by the management unit to the target computing device is reclaimed.

2. The method according to claim 1, characterized in that The determining that the target computing device is abnormally powered off includes: Sending a heartbeat inquiry message to the target computing device; In the case where the heartbeat response message sent by the target computing device is not received, it is determined that the target computing device is abnormally powered off; the heartbeat response message is a response message to the heartbeat inquiry message.

3. The method according to claim 2, characterized in that The management unit establishes a heartbeat detection connection with the target computing device via at least one link; and sending a heartbeat inquiry message to the target computing device comprises: sending a heartbeat inquiry message to the target computing device via the at least one link; The step of determining that the target computing device is abnormally powered off when no heartbeat response message sent by the target computing device is received includes: In a case where no heartbeat response message sent by the target computing device is received through each of the at least one link, it is determined that the target computing device is abnormally powered off.

4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: Receiving a request for storage space sent by the target computing device; A response is sent to the target computing device; the response is used to feed back information about the storage space allocated to the target computing device; the information includes identifications of the one or more logical units and storage capacities of the one or more logical units.

5. The method according to claim 4, characterized in that The storage space of the CXL storage device includes a plurality of logical units, the management unit stores a metadata table, the metadata table includes identifiers of the plurality of logical units and allocation states of the plurality of logical units, the allocation state of a logical unit includes an allocated state and an identifier of a computing device to which the logical unit belongs, or an unallocated state; The reclaiming the storage space allocated to the target computing device comprises: Determining one or more logical units allocated to the target computing device according to the identifiers of the plurality of logical units and the allocation states of the plurality of logical units; The one or more logical units are reclaimed.

6. The method according to claim 5, characterized in that The recycling of the one or more logical units comprises: deleting data in the one or more logical units; The state of the one or more logical units is set to an unallocated state.

7. A storage space management method, characterized in that: Applied to a computing device, the computing device and the management unit are both in communication connection with a computing interconnect protocol CXL storage device, the management unit is used to manage the storage space of the CXL storage device, and the method includes: Establishing a heartbeat detection connection with the management unit; In the case where the power is not abnormally off, receiving a heartbeat inquiry message sent by the management unit; the heartbeat inquiry message is used to determine whether the computing device is abnormally powered off; Sending a heartbeat response message to the management unit; the heartbeat response message is a response message to the heartbeat inquiry message; In case of abnormal power failure, the heartbeat inquiry message sent by the management unit cannot be received.

8. A storage space management method, characterized in that: Applied to a computing device, the computing device and the management unit are both in communication connection with a computing interconnect protocol CXL storage device, the management unit is used to manage the storage space of the CXL storage device, and the method includes: When the computing device is powered on again after abnormal power failure, the computing device restarts; The computing device sends a return request to the management unit to request the management unit to return the storage space allocated to the computing device by the management unit.

9. A management device, characterized in that: The device comprises a processor, wherein the processor is coupled to a memory, wherein the memory is used to store programs or instructions. When the programs or instructions are executed by the processor, the management device executes the method according to any one of claims 1 to 6.

10. A computing device, characterized in that The method comprises a memory and at least one processor connected to the memory, wherein the memory is used to store computer program code, and the computer program code comprises computer instructions. When the computer instructions are executed by the at least one processor, the computing device executes the method according to claim 7 or 8.