CXL memory fault tolerance method, and server system, storage medium and electronic device
By predicting the operating status of CXL memory devices and migrating data, the problem of low memory utilization caused by hot spare memory occupying slots is solved, and more efficient memory resource utilization is achieved.
Patent Information
- Application Number
- PCT/CN2025/083541
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-29
- Filing Date
- 2025-03-19
- Publication Date
- 2025-11-06
Smart Images

Figure CN2025083541_06112025_PF_FP_ABST
Abstract
Description
CXL memory fault-tolerant method, server system, storage medium and electronic device
[0001] Cross-reference to Related Applications
[0002] This application claims priority to the Chinese patent application No. 202410532219.X, filed on April 29, 2024, entitled “CXL memory fault-tolerant method, server system, storage medium and electronic device”, the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0003] Embodiments of the present application relate to the field of computers, in particular to a CXL memory fault-tolerant method, a server system, a storage medium and an electronic device. BACKGROUND
[0004] At present, in order to improve the performance and availability of cloud infrastructure, CXL (Compute Express Link) memory devices can be used to expand the memory capacity of cloud infrastructure. When the CXL memory device fails, not only will it cause data loss and other problems, but in severe cases it may even cause system crash and server downtime. Therefore, in order to improve system availability, it is necessary to manage CXL memory and provide fault-tolerant solutions.
[0005] In related technologies, memory hot backup technology can be used to hot backup memory to control fault tolerance of memory. In the memory hot backup technology, the hot backup memory is not used under normal circumstances; when the number of failures of the working memory reaches the preset condition, the system automatically transmits the data in the faulty memory to the hot backup memory, and the faulty memory is no longer used.
[0006] However, the hot backup memory occupies the server slot, thereby reducing the available memory space of the server. As can be seen, the CXL memory fault-tolerant method in related technologies has the problem of low memory utilization of the server due to the hot backup memory occupying the server slot. SUMMARY
[0007] Embodiments of the present application provide a CXL memory fault-tolerant method, a server system, a storage medium and an electronic device to at least solve the problem of low memory utilization of the server due to the hot backup memory occupying the server slot in the CXL memory fault-tolerant method in related technologies.
[0008] According to an aspect of some embodiments of the present application, a CXL memory fault-tolerant method is provided, applied to a server system, the server system comprising a CXL memory device group, a CXL switch group and a CXL host group, the CXL memory device group and the CXL host group being connected to the CXL switch group through a CXL bus, and the CXL switch group being configured to connect the CXL memory device group and the CXL host group; the method comprising: obtaining parameter values of a set of operating parameters of a CXL memory device in the CXL memory device group, wherein the CXL memory devices in the CXL memory device group are all in an operating state, and the set of operating parameters are used to represent the operating state of the corresponding CXL memory device; predicting the operating state of the CXL memory device in the CXL memory device group according to the obtained parameter values of the set of operating parameters; in the case that an abnormal memory device with operating abnormality is predicted to exist in the CXL memory device group, performing a migration operation on the memory data in the abnormal memory device to migrate the memory data in the abnormal memory device to a target memory device with normal operating state in the CXL memory device group, wherein the abnormal memory device after the data migration is removed from the CXL memory device group.
[0009] According to another aspect of some embodiments of the present application, a server system is provided, comprising a CXL memory device group, a CXL switch group, a CXL host group and a control device, the CXL memory device group and the CXL host group being connected to the CXL switch group through a CXL bus, and the CXL switch group being configured to connect the CXL memory device group and the CXL host group, wherein the control device is configured to obtain parameter values of a set of operating parameters of a CXL memory device in the CXL memory device group, wherein the CXL memory devices in the CXL memory device group are all in an operating state, and the set of operating parameters are used to represent the operating state of the corresponding CXL memory device; predict the operating state of the CXL memory device in the CXL memory device group according to the obtained parameter values of the set of operating parameters; in the case that an abnormal memory device with operating abnormality is predicted to exist in the CXL memory device group, perform a migration operation on the memory data in the abnormal memory device to migrate the memory data in the abnormal memory device to a target memory device with normal operating state in the CXL memory device group, wherein the abnormal memory device after the data migration is removed from the CXL memory device group.
[0010] According to still another aspect of some embodiments of the present application, a computer program product or computer program is provided, the computer program product or computer program comprising computer instructions stored in a computer readable storage medium. A processor of a computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the steps in any of the method embodiments described above.
[0011] According to a further aspect of the embodiments of the present application, a computer readable storage medium is also provided, and the computer readable storage medium stores a computer program. The computer program is configured to perform the steps in any of the method embodiments described above when executed.
[0012] According to a further aspect of the embodiments of the present application, an electronic device is also provided, and the electronic device comprises a memory and a processor. The memory stores a computer program, and the processor is configured to execute the computer program to perform the steps in any of the method embodiments described above.
[0013] According to the present application, for a server system comprising a CXL memory device group, a CXL switch group and a CXL host group, the parameter value of a group of running parameters of the CXL memory device indicating the running state of the CXL memory device can be obtained, so that the running state of the CXL memory device is predicted based on the obtained parameter value, and if the running state of the CXL memory device is predicted to be abnormal, the memory data in the CXL memory device with running abnormality can be migrated to the CXL memory device with normal running. Since the CXL memory device can still run (i.e., not in a down state) when the prediction is made, the memory data in the CXL memory device with running abnormality can be migrated out before the CXL memory device with running abnormality is down, which can reduce the impact of device abnormality on the server system. At the same time, since a separate memory storage backup data is not required, the problem of low memory utilization of the server caused by the hot backup memory occupying the server slot in the CXL memory fault tolerance method in the related art can be solved, and the technical effect of improving the memory utilization of the server is achieved. BRIEF DESCRIPTION OF DRAWINGS
[0014] FIG. 1 is a hardware structure block diagram of a server device of a CXL memory fault tolerance method according to an embodiment of the present application.
[0015] FIG. 2 is a structure block diagram of an optional server system according to an embodiment of the present application.
[0016] FIG. 3 is a flow diagram of an optional CXL memory fault tolerance method according to an embodiment of the present application.
[0017] FIG. 4 is a structure block diagram of another optional server system according to an embodiment of the present application.
[0018] FIG. 5 is a structure block diagram of an optional CXL memory device according to an embodiment of the present application.
[0019] FIG. 6 is a schematic diagram of an optional CXL memory management information table according to an embodiment of the present application.
[0020] FIG. 7 is a flow diagram of another optional CXL memory fault tolerance method according to an embodiment of the present application.
[0021] FIG. 8 is a structural block diagram of yet another optional server system according to an embodiment of the present application.
[0022] FIG. 9 is a structural block diagram of an optional computer system according to an embodiment of the present application. DETAILED DESCRIPTION
[0023] Hereinafter, the embodiments of the present application will be described in detail with reference to the accompanying drawings and in conjunction with embodiments.
[0024] It should be noted that the terms "first", "second" and the like in the description and claims of the present application and the above drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or sequence.
[0025] The method embodiments provided in the embodiments of the present application can be executed in a server device or similar computing device. Taking an example of running on a server device, FIG. 1 is a hardware structural block diagram of a server device of a CXL memory fault-tolerant method according to an embodiment of the present application. As shown in FIG. 1, the server device can include one or more (only one is shown in FIG. 1) processors 102 (the processor 102 can include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the above-mentioned server device can further include a transmission device 106 for communication function and an input and output device 108. Those skilled in the art can understand that the structure shown in FIG. 1 is only schematic, which does not limit the structure of the above-mentioned server device. For example, the server device can further include more or less components than those shown in FIG. 1, or have a different configuration from that shown in FIG. 1.
[0026] The memory 104 can be configured to store computer programs, for example, software programs of application software and modules, such as a computer program corresponding to the CXL memory fault-tolerant method in the embodiments of the present application. The processor 102 performs various functional applications and data processing by running the computer programs stored in the memory 104, that is, implements the above-mentioned method. The memory 104 can include a high-speed random access memory, and can further include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some examples, the memory 104 can further include a memory remotely arranged with respect to the processor 102, which can be connected to the server device through a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0027] The transmission device 106 is configured to receive or send data via a network. The above-mentioned optional example of the network can include a wireless network provided by a communication provider of a server device. In an example, the transmission device 106 includes a network adapter (NIC) which can be connected to other network devices through a base station so as to be able to communicate with the Internet. In an example, the transmission device 106 can be a radio frequency (RF) module which is used to communicate with the Internet in a wireless manner.
[0028] In the embodiment, a CXL memory fault-tolerant method is provided, which can be applied to a server system as shown in FIG. 2. The server system can include a CXL memory device group 202, a CXL switch group 204 and a CXL host group 206. The CXL memory device group 202 and the CXL host group 206 are connected to the CXL switch group 204 through CXL buses. The CXL switch group 204 is configured to connect the CXL memory device group 202 and the CXL host group 206. Here, the CXL memory device group 202 can include a plurality of CXL memory devices. The CXL switch group 204 can include one or more CXL switch groups. The CXL host group 206 can include one or more CXL hosts.
[0029] With the rapid development of the Internet and cloud computing services, higher requirements are put forward for the performance and availability of cloud infrastructure. New CXL memory devices can effectively expand the memory capacity of cloud infrastructure and thus improve performance. However, if the memory failure rate is high, the faulty memory will affect the operation of the system, and the most serious consequence is to directly cause the system to crash and the server to be down, thereby causing serious losses to the relevant personnel.
[0030] In order to reduce the impact of CXL memory failure, a CXL memory management and fault-tolerant design scheme is needed to improve system availability. In the related art, memory fault-tolerant technologies such as memory hot standby technology can be used for acute memory management. In the memory hot standby technology, the hot standby memory (which can be a memory bank) is not used under normal circumstances. When the number of failures of the working memory reaches the maximum value of the preset ECC (Error Correcting Code), the system automatically transfers the data in the faulty memory to the hot standby memory, and the faulty memory is no longer used. However, in the memory hot standby technology, the hot standby memory occupies the server slot, thereby reducing the available memory space of the server and reducing the utilization rate of the server memory.
[0031] In addition, other CXL memory fault tolerance methods can also be used, for example, 1-2 bit memory errors can be corrected using ECC technology, and memory information can be obtained through system commands or BMC (Board Management Controller), and the information profile of each memory can be viewed. However, the above method only obtains an overview of the memory information and does not provide memory-related fault tolerance design, and cannot avoid or reduce the loss caused by memory failure. Alternatively, other memory fault tolerance techniques can also be used, such as memory mirroring technology. In the memory mirroring technology, there are two copies of memory data, which avoids data loss due to memory failure, and the working memory and the mirror memory are not in the same channel, which also avoids data loss caused by memory channel errors. However, the memory mirroring technology does not affect the available memory space of the server, but its cost is relatively high.
[0032] To at least partially solve the above technical problems and avoid serious loss caused by CXL memory failure, the CXL memory fault tolerance method provided in the embodiment provides CXL memory management and fault tolerance design related to CXL memory, obtains parameter values of a set of operating parameters of a CXL memory device for indicating the operating state of the CXL memory device, and thus predicts the operating state of the CXL memory device based on the obtained parameter values; if it is predicted that the operating state of the CXL memory device is abnormal, the memory data in the CXL memory device with operating abnormality can be migrated to the CXL memory device with normal operation. Since the CXL memory device can still operate when predicting, the memory data in the CXL memory device with operating abnormality can be migrated out before the CXL memory device with operating abnormality is shut down, and the influence of device abnormality on the server system can be reduced.
[0033] Here, CXL is an interconnection technology standard, in which the CXL 3.0 standard breaks the limitation that a certain physical memory belongs to a certain server, and realizes the ability of multiple machines to access the same memory device on the hardware. According to the CXL 3.0 specification, the CXL memory device can be connected to the CXL host through the CXL switch, and the CXL memory device serves as a logical device of the CXL host and exposes the memory capacity of the device. The system can switch the topology connection of the CXL switch as needed to determine the link relationship between the CXL host and the CXL memory device.
[0034] In some embodiments, the CXL memory in this embodiment can be a DDR5 (Double Data Rate Synchronous Dynamic Random Access Memory) memory. Compared with other DDR memories, the DDR5 memory increases the particle level error correction mechanism. During the running of the server, the CPU (Central Processing Unit) will perform read and write operations on the memory. In order to avoid the occurrence of ECC in the memory during the normal running of the server, the DDR5 memory can use the ECS (Error Check and Scrub) function to perform error checking and correction on the ECC error of the particle in the idle area without read and write operations.
[0035] FIG. 3 is a flowchart of an optional CXL memory fault-tolerant method according to an embodiment of the present application. As shown in FIG. 3, the flow includes the following steps S302 to S306.
[0036] In step S302, the parameter values of a set of operating parameters of the CXL memory devices in the CXL memory device group are obtained.
[0037] For the foregoing server system, it can include a control device, which can be a CXL host in the CXL host group 206, or another device independent of the CXL memory device group 202, the CXL switch group 204 and the CXL host group 206, such as an FM (Fabric Manager, a tool for managing the switch). The FM is responsible for managing the devices on the CXL bus, including configuring the CXL switch to connect the CXL devices on the bus to a specific host. The control device can obtain the parameter values of a set of operating parameters of each CXL memory device in the CXL memory device group. For different CXL memory devices, the corresponding set of operating parameter values will be obtained. The CXL memory devices in the CXL memory device group are all in the running state. A set of operating parameters is used to represent the running state of the corresponding CXL memory device, such as one or more of the erase-write speed, the running frequency, the average running temperature, and the average running voltage. Other operating parameters can also be included, which are not limited in this embodiment.
[0038] In some embodiments, the control device can communicate with all or part of the CXL memory device group 202, the CXL switch group 204 and the CXL host group 206 through the CXL bus or a designated bus, where the designated bus is a bus different from the CXL bus. Correspondingly, the control device can obtain the parameter values of the corresponding set of operating parameters from the CXL memory devices in the CXL memory device group through the CXL bus or the designated bus. The designated bus can belong to the network used for interaction between the CXL memory device group 202, the CXL switch group 204 and the CXL host group 206, or it can belong to a separate network, for example, a management network. Correspondingly, the control device can obtain the parameter values of the corresponding set of operating parameters from the CXL memory devices in the CXL memory device group through the management network, for example, the control device can obtain the parameter values of the set of operating parameters of each CXL memory device from each CXL memory device in the CXL memory device group through the management network.
[0039] In some embodiments, obtaining the parameter values of the set of operating parameters of the CXL memory device can be performed periodically or triggered by an event. When obtaining the parameter values of the set of operating parameters of the CXL memory device, the parameter values of the set of operating parameters of all or part of the CXL memory devices in the CXL memory device group 202 can be obtained in a polling manner or other manners. The manner and timing of obtaining the parameter values of the set of operating parameters are not limited in this embodiment.
[0040] For example, for the server system as shown in FIG. 4, the server system can include: host 1 to host n, CXL network (containing one or more CXL switches), CXL memory 1 to CXL memory N, and FM. The FM can obtain the operating parameter information (i.e., the parameter values of the set of operating parameters) of the memory from the CXL memory device through the management network, including: erase speed v, runtime frequency f, runtime average temperature te and average voltage vo.
[0041] Step S304, according to the obtained parameter values of the set of operating parameters, the operating state of the CXL memory devices in the CXL memory device group is predicted.
[0042] According to the parameter values of the obtained set of operating parameters, the control device can predict the operating state of the corresponding CXL memory device. The prediction can be a prediction of the memory health state, and can also be a prediction of the memory life. The way of predicting the operating state can be: fusing the parameter values of the set of operating parameters to obtain a state reference value of the corresponding CXL memory device, and predicting the operating state of the corresponding CXL memory device based on the obtained state reference value; or inputting the parameter values of the obtained set of operating parameters into a pre-trained prediction model to obtain a prediction result output by the prediction model. In this embodiment, the prediction method is not limited.
[0043] In some embodiments, the parameter values fused in the fusion step can include current acquisition parameter values and historical acquisition parameter values. Here, the current acquisition parameter values refer to the latest parameter values used for prediction. If a parameter value obtained at a certain time and a parameter value obtained before the certain time are used for prediction, the parameter value obtained at the certain time is the current acquisition parameter value. The fusion method used in the fusion step can include but is not limited to at least one of the following: convolution fusion, weighted fusion, and other fusion methods.
[0044] In step S306, if it is predicted that there is an abnormal memory device with operating abnormity in the CXL memory device group, a migration operation is performed on the memory data in the abnormal memory device.
[0045] The running state prediction can be performed for each CXL memory device respectively. If it is predicted that the CXL memory devices in the CXL memory device group are running normally, the prediction can be ignored, and the parameter values of the set of running parameters obtained this time can be saved, which can be used for subsequent running state prediction. If it is predicted that there is a CXL memory device running abnormally in the CXL memory device group, that is, an abnormal memory device, the control device can control the migration operation of the memory data in the abnormal memory device, and after the migration operation is performed, the memory data in the abnormal memory device is migrated to a target memory device in the CXL memory device group running normally. Here, the migration operation can be performed by the control device directly controlling the abnormal memory device and the target memory device, or by the CXL host (i.e., the target host) connected to the abnormal memory device, or by the control device and the target memory device cooperatively. In addition to migrating the memory data in the abnormal memory device to the target memory device, the configuration information related to the memory data in the abnormal memory device can also be modified synchronously, or the related configuration information is deleted first, and then the modification of the configuration information is triggered based on the access to the memory data in the abnormal memory device. After the data migration is completed, the abnormal memory device can be removed from the CXL memory device group to avoid the influence of the abnormal memory device on the running of the server system.
[0046] In some embodiments, the CXL memory devices in the CXL memory device group 202 allow the virtual machine system running on the CXL host in the CXL host group 206 to be assigned, and the VMM (Virtual Machine Monitor) can also run on the CXL host in the CXL host group 206. For the target host, the virtual machine manager running on the target host is the target virtual machine manager, and the virtual machine system assigned to the abnormal memory device is the target virtual machine system. In the case of predicting the abnormal memory device, the memory migration for the target virtual machine can be controlled, which can include controlling the migration operation of the memory data in the abnormal memory device, and can also include other information modification operations, such as modifying the configuration information related to the memory data in the abnormal memory device, etc.
[0047] By the above steps, the parameter values of a set of running parameters of the CXL memory devices in the CXL memory device group are obtained, wherein the CXL memory devices in the CXL memory device group are all in a running state, and the set of running parameters are used to represent the running state of the corresponding CXL memory device; the running state of the CXL memory devices in the CXL memory device group is predicted according to the obtained parameter values of the set of running parameters; in the case that it is predicted that there is an abnormal memory device with a running exception in the CXL memory device group, a migration operation is controlled to be performed on the memory data in the abnormal memory device, so as to migrate the memory data in the abnormal memory device to a target memory device with a normal running state in the CXL memory device group, wherein the abnormal memory device after the data migration is removed from the CXL memory device group, thereby solving the problem of low memory utilization rate of the server caused by the hot backup memory occupying the server slot in the CXL memory fault tolerance method in the related art, and improving the memory utilization rate of the server.
[0048] In some example embodiments, obtaining the parameter values of the set of running parameters of the CXL memory devices in the CXL memory device group comprises: periodically performing, by the control device, the parameter value collection operation of the set of running parameters on the CXL memory devices in the CXL memory device group via the specified bus to obtain the collected parameter values of the set of running parameters.
[0049] In the present embodiment, the server system further comprises a control device, which can perform the parameter value collection operation of the set of running parameters on the CXL memory devices in the CXL memory device group to obtain the collected parameter values of the set of running parameters, wherein the collected parameter values of the set of running parameters comprise the parameter values of the set of running parameters corresponding to each CXL memory device. In some embodiments, the control device can be connected to the CXL memory device group, the CXL switch group and the CXL host group respectively via a specified bus, wherein the specified bus is different from the CXL bus, for example, the specified bus can be a management network bus. Correspondingly, the parameter value collection operation can be performed via the specified bus, that is, the control device can perform the parameter value collection operation of the set of running parameters on the CXL memory devices in the CXL memory device group via the specified bus.
[0050] In some embodiments, the parameter value collection operation can be periodically performed, that is, the control device can periodically perform the parameter value collection operation of the set of running parameters on the CXL memory devices in the CXL memory device group.
[0051] For example, for the server system as shown in FIG. 4, the FM periodically performs the state detection step to monitor the CXL memory state in real time, and the above state detection step comprises: obtaining the working parameter information of the memory from the CXL memory device via the management network.
[0052] Through the embodiment, the control device acquires the parameter values of the running parameters of the CXL memory device via the specified bus, without occupying the CXL bus used for interaction between the CXL devices, so that the efficiency and success rate of information acquisition can be improved.
[0053] In some example embodiments, the parameter values used for predicting the running state of the CXL memory devices in the CXL memory device group further include parameter values of the running parameters acquired before the current acquisition, in addition to the parameter values of the running parameters acquired in the current acquisition. Correspondingly, predicting the running state of the CXL memory devices in the CXL memory device group according to the parameter values of the acquired set of running parameters includes predicting the running state of the CXL memory devices in the CXL memory device group according to the parameter values of the set of running parameters collected in the continuous multiple periods.
[0054] Here, the parameter values of the set of running parameters collected in the continuous multiple periods can include parameter values of the set of running parameters collected in the t th period, and parameter values of the set of running parameters collected in the L periods before the t th period, where L is a positive integer greater than or equal to 1, and t is a positive integer greater than L.
[0055] Through the embodiment, predicting the running state of the CXL memory device based on the parameter values of the running parameters of the CXL memory device acquired multiple times can improve the accuracy of predicting the running state of the CXL memory device.
[0056] In some example embodiments, predicting the running state of the CXL memory devices in the CXL memory device group according to the parameter values of the set of running parameters collected in the continuous multiple periods includes predicting the current running state of the CXL memory devices in the CXL memory device group according to the parameter values of the set of running parameters collected in the t th period, the parameter values of the set of running parameters collected in the t-1 th period, and the parameter values of the set of running parameters collected in the t-2 th period.
[0057] In the embodiment, L = 2, that is, the running state of the CXL memory devices in the CXL memory device group is predicted according to the parameter values of the set of running parameters collected in the t th period and the parameter values of the set of running parameters collected in the two periods (i.e., the t-1 th period and the t-2 th period) before the t th period. The predicted running state can be the running state of the CXL memory devices in the CXL memory device group in the t th period.
[0058] In some embodiments, in the present embodiment, the set of operating parameters includes the erase speed v, the runtime frequency f, the runtime average temperature te, and the runtime average voltage vo. The parameter values of the set of operating parameters collected in the nth cycle are vn, fn, ten, and von, respectively, where n is a positive integer greater than or equal to 1, for example, n can be t, t-1, t-2, etc.
[0059] Through the present embodiment, the running state of the CXL memory device is predicted based on the parameter values of the operating parameters of the CXL memory device obtained in the consecutive three cycles, which can improve the accuracy and convenience of the running state prediction of the CXL memory device.
[0060] In some example embodiments, when predicting the running state of the CXL memory device in the CXL memory device group, the parameter values of the set of operating parameters collected in the consecutive multiple cycles can be fused to obtain a parameter fusion value; the state reference value H t of the CXL memory device in the CXL memory device group is determined according to the parameter fusion value, the parameter values of at least part of the set of operating parameters collected in the tth cycle, and the row error unit number reference value; and the running state of the CXL memory device in the CXL memory device group is predicted based on the state reference value of the CXL memory device in the CXL memory device group and the maximum row error unit number of the CXL memory device in the CXL memory device group in the tth cycle. Here, each CXL memory device can be predicted in the running state in the foregoing manner, and the data used is corresponding to each CXL memory device.
[0061] The row error unit number reference value is a value obtained by dividing the difference between the maximum row error unit number of the corresponding CXL memory device in the tth cycle and the configuration average value of the row error unit number of the corresponding CXL memory device by the configuration standard deviation of the row error unit number of the corresponding CXL memory device, and the maximum row error unit number is the error unit number of the row with the most errors of the corresponding CXL memory device. Here, the configuration average value can be the average value of the row error unit number of the corresponding CXL memory device configured in advance, which can be obtained from the corresponding CXL memory device, for example, extracted from the configuration information obtained from the corresponding CXL memory device, or obtained from other devices.
[0062] The way of fusing the parameter values of the set of operating parameters collected in the consecutive multiple cycles can be weighted fusion of the parameter values. In some embodiments, in order to improve the rationality of information fusion, a target data matrix D t can be constructed according to the parameter values of the set of operating parameters collected in the consecutive multiple cycles, and a preset convolution kernel I is used to obtain a parameter fusion value. tThe convolution processing is performed to obtain a target convolution value G t The target convolution value G t is the fusion parameter value described above.
[0063] In some embodiments, in the present embodiment, D t = (S t-2 , S t-1 , S t ), the feature vector of the nth period corresponding to a set of operating parameters V is the configured erase-write speed, F is the configured maximum operating frequency, TE is the configured average temperature during operation, and VO is the configured average voltage during operation. The preset convolution kernel is a convolution kernel configured based on an influence factor corresponding to an operating parameter in the set of operating parameters, and the influence factor corresponding to the operating parameter in the set of operating parameters is used to represent the degree of association between the operating parameter in the set of operating parameters and the memory failure of the corresponding memory device.
[0064] In some embodiments, the configuration parameter value of each operating parameter of each CXL memory device (for example, the configured erase-write speed V, the configured maximum operating frequency F, the configured average temperature during operation TE, the configured average voltage during operation VO, etc.) can be a pre-configured parameter value of each operating parameter of the corresponding CXL memory device, which can be obtained from the corresponding CXL memory device, for example, extracted from the configuration information of each CXL memory device obtained from each CXL memory device, or obtained from other devices.
[0065] For example, before performing the state detection step, the FM reads the configuration information of the CXL memory device through the management network, including the configured erase-write speed V of the memory, the configured maximum operating frequency F of the memory, the configured average temperature during operation TE of the memory, and the configured average voltage during operation VO of the memory, etc.; obtains the average value of the row error unit number of the CXL memory device and the standard deviation S.
[0066] Here, the CXL memory device has SPD (Serial Presence Detect), and the average value of the row error unit number of the CXL memory device The configuration information such as the standard variance S can be set according to the test and pre-stored in the SPD of the CXL memory device. The SPD is an erasable EEPROM (Electrically Erasable Programmable read only memory) on the memory module, in which a plurality of important information of the memory is recorded, such as the chip and module manufacturers of the memory, working frequency, working voltage, speed, capacity, voltage and row and column address bandwidth and other parameters. In addition, the CXL memory device can also save the used time of the device in the SPD.
[0067] The structure of the CXL memory device is shown in FIG. 5. The CXL memory device can include a CXL port, an address mapping unit, an access permission unit, a memory control unit, a DRAM (Dynamic Random Access Memory), a SPD, a monitoring and alarm unit, a communication unit, and a memory management unit.
[0068] When the state detection step is performed, the FM periodically acquires the working parameter information of the memory from the CXL memory device through the management network, including the erase-write speed v, the runtime frequency f, the runtime average temperature te, the average voltage vo, vt, ft, te t and vo t respectively represent the erase-write speed, the runtime frequency, the runtime average temperature and the average voltage collected in the tthperiod. It is assumed that the characteristic vector of the tthperiod, and a data matrix D t is constructed. t-2 = (S t-1 , S t ), t > 2, if t ≤ 2, continue to acquire the working parameter information of the next period.
[0069] The data matrix D t is subjected to convolution calculation, and the calculation formula is shown in formula (1). G t = (I * D t ) 2 (1)
[0070] Wherein, * represents convolution calculation, and I is a convolution kernel.
[0071] The convolution kernel I is as follows:
[0072] Wherein, α 11 , α 21 , α 31 , α 41 , α 12 , α 22 , α32 , a 42 , a 13 , a 23 , a 33 , and a 43 are set based on the influence factors of write speed, runtime frequency, runtime average temperature, and runtime average voltage on memory failure.
[0073] In determining the state reference value H t of the CXL memory device in the CXL memory device group, the parameter fusion value (i.e., the target convolution value), the parameter value of at least part of the running parameters collected in the tth cycle, and the row error cell number reference value can be directly weighted and fused. The above-mentioned at least part of the running parameters can be one or more running parameters in a group of running parameters, for example, can include runtime average temperature and runtime average voltage.
[0074] In some embodiments, the state reference value H t of the CXL memory device in the CXL memory device group can be calculated by formula (2):
[0075] wherein μ, δ, ε and ρ are set weighting coefficients, E t is the maximum row error cell number of the corresponding CXL memory device in the tth cycle, is the configuration average value of the row error cell number of the corresponding CXL memory device, S is the configuration standard deviation of the row error cell number of the corresponding CXL memory device, and the maximum row error cell number is the error cell number of the row with the most errors of the corresponding CXL memory device. Here, the calculated state reference value H t of the CXL memory device can be a health index of the CXL memory.
[0076] For example, the FM reads the error cell number E t of the row with the most errors in the memory grain detected by the ECS (Error Check and Scrub) function of the CXL memory device through the management network. When the ECS record of the CXL memory device is read, the CXL memory clears the record and then counts the next cycle.
[0077] By the embodiment, the parameter values of the running parameters of the CXL memory device collected in the continuous multiple periods are vectorized to obtain a data matrix to be processed, the data matrix is convolved based on the influence factors of different running parameters, and the convolution value obtained by convolution, the parameter values of at least part of the running parameters, and the reference value of the number of row error units are used to determine the state reference value of the CXL memory device. The state reference value determined in the above manner can more accurately represent the running state of the CXL memory device, and improve the accuracy of the prediction of the running state of the CXL memory device. Meanwhile, the maximum number of row error units is also referred to for predicting the current running state of the CXL memory device, which can further improve the accuracy of the prediction of the running state of the CXL memory device.
[0078] In some example embodiments, similar to the foregoing embodiments, the server system further includes a control device connected to the CXL memory device group, the CXL switch group and the CXL host group through a designated bus respectively, and the designated bus is different from the CXL bus. As has been described, no further description is given here.
[0079] In the embodiment, before predicting the running state of the CXL memory device in the CXL memory device group, the control device can obtain the configuration information of the CXL memory device in the CXL memory device group from the CXL memory device in the CXL memory device group. The configuration information of the CXL memory device in the CXL memory device group is contained in the SPD data of the CXL memory device in the CXL memory device group.
[0080] The configuration information of the CXL memory device in the CXL memory device group can include configuration information indicating at least one of: a configuration erase speed V, a configuration running maximum frequency F, a configuration average temperature TE during running, a configuration average voltage VO during running, a configuration average value of the number of row error units , and a configuration standard deviation S of the number of row error units.
[0081] In the embodiment, the control device obtaining the configuration information of the CXL memory device in the CXL memory device group can be obtained via the foregoing designated bus. The timing of the configuration of the first memory device can be when the control device starts, or at any timing after the control device starts, for example, in response to an information acquisition instruction, in response to detecting a newly added CXL memory device, when a designated acquisition time arrives, etc.
[0082] Through the embodiment, the configuration parameter value of the running parameter is indicated by the configuration information of the CXL memory device, which can improve the convenience and controllability of the prediction of the running state of the CXL memory device.
[0083] In some example embodiments, the parameter values of the set of operating parameters of the CXL memory device can be obtained by traversing a CXL device information list, i.e., traversing the CXL device information list and obtaining the parameter values of the set of operating parameters of the CXL memory device being traversed, where the CXL device information list is configured to record device information of CXL devices in the server system, and the device types of the CXL devices in the server system can include CXL memory devices, CXL switches, and CXL hosts.
[0084] Here, the CXL device information list can be pre-configured, i.e., the CXL device information list can be read from a configuration file of the server system, or the CXL device information list can be established based on device information of the CXL devices in the server system obtained by interacting with the CXL devices in the server system. Correspondingly, before the configuration information of the CXL memory device in the CXL memory device group is obtained from the CXL memory device in the CXL memory device group by the control device, the above method further comprises: obtaining device information of the CXL devices in the server system by the control device via a specified bus from the CXL devices in the server system, to obtain device information of the CXL devices in the server system; and constructing the CXL device information list based on the obtained device information of the CXL devices in the server system.
[0085] Here, the device types of the CXL devices in the server system include CXL memory devices, CXL switches, and CXL hosts, and the device type of a CXL device in the server system is one of the CXL memory device, the CXL switch, and the CXL host. The constructed CXL device information list contains device information of the CXL memory devices in the CXL memory device group, device information of the CXL switches in the CXL switch group, and device information of the CXL hosts in the CXL host group.
[0086] For example, the FM obtains information of the CXL memory device, the CXL host, and the CXL switch, etc. through a management network in the MCTP (Management Component Transport Protocol) protocol (or other protocols), and establishes a CXL device information list, which can include the type of the device (including four types: host, memory, switch, or other), the vendor ID (identifier), the product ID, and necessary device information. In addition, the aforementioned configuration erase speed, configuration maximum operating frequency, configuration average temperature during operation, and configuration average voltage during operation, etc. of the CXL memory device can be saved in the device information of the CXL device information list.
[0087] Through the embodiment, by obtaining device information from the CXL devices in the server system, constructing a CXL device information list based on the obtained device information, and predicting the running state of the CXL memory device by traversing the CXL device information list, the comprehensiveness of the running state prediction of the CXL memory device can be improved (that is, the running state of all CXL memory devices in the server system can be predicted).
[0088] In some example embodiments, St, St-1 and St-2 are all column vectors containing 4 rows and 1 column, and the target data matrix is a 4-row 3-column data matrix obtained by combining St, St-1 and St-2 in a periodic time sequence. Correspondingly, the target convolution value G t is obtained by performing convolution processing on the target data matrix D t Before that, the above method further includes: constructing a preset convolution kernel I.
[0089] Here, the preset convolution kernel is a 4-row 3-column matrix, each row in the preset convolution kernel matches an operating parameter in a group of operating parameters, the element value of the first element of each row in the preset convolution kernel I is the first coefficient multiplied by the influence factor corresponding to the matched operating parameter, the element value of the second element is 0, and the element value of the third element is the second coefficient multiplied by the influence factor corresponding to the matched operating parameter. The second coefficient is a positive integer greater than or equal to 2 (for example, the second coefficient = 2), and the first coefficient is the opposite number of the second coefficient (for example, the first coefficient = -2).
[0090] For example, in the aforementioned convolution kernel I,
[0091] α 11 =-2θ1, α 21 =-2θ2, α 31 =-2θ3, α 41 =-2θ4, α 12 = α 22 = α 32 = α 42 = 0, α 13 = 2θ1, α 23 = 2θ2, α 33 = 2θ3, α 34 = 2θ4, θ1, θ2, θ3 and θ4 are the influence factors of write speed, running frequency, average running temperature and average running voltage on memory failure, respectively.
[0092] Through the embodiment, the data matrix is constructed in combination with the parameter values of the operating parameters of the CXL memory device collected in three periods, and the preset convolution kernel is constructed, so that the amount of data required for processing can be reduced while ensuring the accuracy of the running state prediction.
[0093] In some example embodiments, the current running state of the CXL memory device in the CXL memory device group can be predicted using preset threshold values, which can include a first specified threshold value corresponding to the state reference value of the CXL memory device in the CXL memory device group, and a second specified threshold value corresponding to the maximum number of row error units of the CXL memory device in the CXL memory device group in the tth cycle. Correspondingly, based on the state reference value H t and the maximum number of row error units E t of the CXL memory device in the CXL memory device group in the tth cycle, the current running state of the CXL memory device in the CXL memory device group is predicted, including: when the state reference value H t of the CXL memory device in the CXL memory device group is greater than or equal to the first specified threshold value, it is determined that the corresponding CXL memory device is running abnormally; and when the maximum number of row error units E t of the CXL memory device in the CXL memory device group in the tth cycle is greater than or equal to the second specified threshold value, it is determined that the corresponding CXL memory device is running abnormally.
[0094] Here, as long as any one of the state reference value of the CXL memory device being greater than or equal to the first specified threshold value and the maximum number of row error units of the CXL memory device in the tth cycle being greater than or equal to the second specified threshold value is satisfied, it is determined that the CXL memory device is running abnormally. The first specified threshold value and the second specified threshold value can be the same or different. In addition, the first specified threshold value and the second specified threshold value corresponding to different CXL memory devices can be the same or different, which is not limited in the embodiment.
[0095] For example, the FM judges the health status of each CXL memory device, and the judgment standard is: if H t >H max or E t >E max , it is considered that the CXL memory device is in an abnormal state; otherwise, it is considered that the CXL memory device is in a normal working state. Wherein, E max is the maximum threshold value of the number of memory error units in the cycle, and H max is the maximum threshold value of the health index.
[0096] Through the embodiment, the running state of the CXL memory device is predicted based on the state reference value of the CXL memory device and the corresponding threshold value, and the maximum number of row error units of the CXL memory device and the corresponding threshold value, which can improve the convenience of predicting the running state of the CXL memory device.
[0097] In some example embodiments, similar to the foregoing embodiments, the server system further comprises a control device, the CXL memory devices in the CXL memory device group allow the virtual machine system running on the CXL host assigned to the CXL host group, and the VMM also runs on the CXL host in the CXL host group. Since the access delay of CXL memory is higher than that of local memory, the CXL memory can be used entirely for the virtual machine system, and managed and allocated by the VMM of the server.
[0098] In this embodiment, in the case where it is predicted that there is an abnormal memory device running abnormally in the CXL memory device group, the control of the migration operation of the memory data in the abnormal memory device comprises: in the case where it is predicted that there is an abnormal memory device running abnormally in the CXL memory device group, determining, by the control device, a target host in the CXL host group connected to the abnormal memory device; and sending, by the control device, a first notification message to the target virtual machine manager to notify the target virtual machine manager to perform the migration operation on the memory data in the abnormal memory device.
[0099] If the abnormal memory device running in an abnormal state is predicted, the control device can determine the target host in the CXL host group connected to the abnormal memory device, and the way to determine the CXL host connected to the abnormal memory device can be to search the device node adjacency table, which is used to record CXL device information and connection conditions, and the construction of the device node adjacency table is similar to the construction of the foregoing CXL device information list, which will not be described here.
[0100] The virtual machine manager running on the target host is the target virtual machine manager. After the target host is determined, the control device can send a first notification message to the target virtual machine manager to perform the migration operation on the memory data in the abnormal memory device through the target virtual machine manager, and the first notification message carries the device information of the abnormal memory device, so that the target virtual machine manager can determine the CXL memory device to which the memory data is to be migrated.
[0101] For example, the FM queries the device node adjacency table, searches out the CXL host connected to the CXL memory with an abnormal health degree, and sends a message to the server VMM through the management network, the message including: CXL memory device information and health degree indicators, and connection topology information of the CXL memory device and the host. After receiving the message, the server VMM can migrate the memory data in the abnormal CXL memory device to the normal CXL memory device.
[0102] Through this embodiment, by sending a notification message to the virtual machine manager of the CXL host connected to the abnormal CXL memory device, the virtual machine manager is controlled to perform the migration operation of the memory data in the abnormal CXL memory device, which can improve the convenience of memory data migration.
[0103] In some example embodiments, the CXL host connected with the abnormal memory device can be determined by the control device querying a device node adjacency table indicating the connection relationship between the CXL memory devices in the CXL memory device group and the CXL hosts in the CXL host group. For the abnormal memory device with the predicted running state abnormality, the target host connected with the abnormal memory device in the CXL host group is determined by the control device, including: the control device queries the device node adjacency table to determine the CXL host connected with the abnormal memory device in the CXL host group, and the determined CXL host is the target host.
[0104] The device node adjacency table can be pre-configured or obtained from other devices. In order to improve the accuracy of the device node adjacency table, the control device can interact with the CXL switches in the CXL switch group, and construct the device node adjacency table based on the connection relationship between the CXL hosts and the CXL memory devices obtained in real time. Correspondingly, before determining the target host connected with the abnormal memory device in the CXL host group by the control device, the above method further includes: obtaining a set of specified information of the CXL switches in the CXL switch group from the CXL switches in the CXL switch group by the control device; and establishing the device node adjacency table based on the obtained set of specified information of the CXL switches in the CXL switch group.
[0105] Here, the control device can obtain the set of specified information of the CXL switches in the CXL switch group from the CXL switches in the CXL switch group through the management network (for example, via a specified bus). The set of specified information can include port information and device information connected with the port, and can also include configuration information. Based on the obtained set of specified information of the CXL switches in the CXL switch group, the control device can establish the device node adjacency table. The execution time of the above obtaining operation can be similar to the acquisition time of the CXL device information list, or can be after the CXL device information list is acquired, which is not limited in the embodiment.
[0106] For example, a command is sent to the CXL switch through the management network to obtain the configuration, port, and device information connected with the port of the CXL switch; and the device node adjacency table is established.
[0107] Through the embodiment, the port and the device information connected with the port of the CXL switch are obtained by interacting with the CXL switch, and the device node adjacency table is established based on the obtained information, which can improve the timeliness of establishing the device node adjacency table.
[0108] In some example embodiments, in order to avoid the exception caused by data migration, a memory migration operation can be performed for the virtual machine system, the memory migration operation involves modification of configuration information and the like in addition to migration of memory data, so as to realize allocation of the CXL memory device to which the memory data is migrated to the corresponding virtual machine system.
[0109] The virtual machine system to which the abnormal memory device is allocated is a target virtual machine system. After the first notification message is sent to the target virtual machine manager through the control device, the method further includes determining, by the target virtual machine manager, the target virtual machine system to which the abnormal memory device is allocated, and performing a memory migration operation for the target virtual machine system to migrate the memory data in the abnormal memory device to a target memory device, and allocate the target memory device to the target virtual machine system.
[0110] The target virtual machine manager determining the virtual machine system to which the abnormal memory device is allocated can be achieved by querying a target information table, the target information table being saved in the target virtual machine manager and being used to record the CXL memory devices connected to the target host and the virtual machine systems to which the CXL memory devices connected to the target host are allocated, and the target virtual machine manager can query the target information table to determine the target virtual machine system to which the abnormal memory device is allocated.
[0111] For example, a CXL memory management information table (i.e., a target information table) is saved in the server VMM, the memory management information table records the CXL memory device information connected to the CXL host and the memory allocation information of the CXL memory device, and the memory allocation information includes the relative address, size, allocation state (free or allocated) and UUID (Universally Unique Identifier) of the corresponding virtual machine. As shown in FIG. 6.
[0112] After the server VMM receives the message, the server VMM queries the CXL memory management information table to obtain the UUID of the virtual machine system using the memory of the device and the memory occupation, and finds suitable memory for the virtual machine system to complete the memory migration.
[0113] Through the embodiment, the CXL memory management information table saved by the virtual machine manager is queried to determine the virtual machine system to which the abnormal CXL memory device is allocated, and the memory migration for the virtual machine system is completed, which can improve the convenience and accuracy of memory migration.
[0114] In some example embodiments, before performing the memory migration operation for the target virtual machine system by the target virtual machine manager, the above method further comprises: querying, by the target virtual machine manager, the target information table to find whether there is a CXL memory device meeting the memory data migration condition among the CXL memory devices connected to the target host; and in the case that a CXL memory device meeting the memory data migration condition is found, determining the found CXL memory device as the target memory device.
[0115] In order to determine the CXL memory device to which the memory migration is migrated, the target virtual machine manager can first query the target information table to find whether there is a CXL memory device meeting the memory data migration condition among the CXL memory devices connected to the target host, i.e., a CXL memory device (a CXL memory device running normally) in an idle state allowing memory data in the abnormal memory device to be written. If a CXL memory device meeting the memory data migration condition is found, the found CXL memory device is the target memory device.
[0116] If no CXL memory device meeting the memory data migration condition is found, the target virtual machine manager can send a device application request message to the control device to apply for accessing a CXL memory device meeting the memory data migration condition for the target host, i.e., to allocate a new CXL memory device. In response to the received device application request message, the control device can determine a CXL memory device meeting the memory data migration condition from the CXL memory devices not being occupied (or part of the memory area not being occupied), and if there is a CXL memory device meeting the memory data migration condition, it can be indicated through a device application response message.
[0117] For the target virtual machine manager, in the case that the device application response message returned by the control device in response to the device application request is received, it can determine the CXL memory device indicated by the device application response message as the target memory device. If there is no CXL memory device meeting the memory data migration condition, the execution of the above memory migration operation can be ended, and various abnormal alarms can be performed to prompt the abnormal CXL memory device to be updated as soon as possible.
[0118] For example, the server VMM finds a suitable memory in the CXL memory management information table for the virtual machine system. If the local CXL memory is not enough, a new CXL memory device is applied to the FM, the FM searches the device node adjacency table to find a suitable memory device, and configures the CXL switch to access the new CXL memory device to the host. The VMM starts to perform memory migration for the virtual machine system.
[0119] Through the embodiment, by first searching for a CXL memory device satisfying a memory data migration condition in a CXL memory device of the host, and then applying to a control device to access the CXL memory device satisfying the memory data migration condition to the host, the convenience and success rate of memory device searching can be improved.
[0120] In some example embodiments, the memory data in the CXL memory device can be saved in the form of memory pages, and the virtual machine system records the correspondence (i.e., the conversion relationship between the virtual address and the physical address) between the virtual address and the physical address of the memory page allocated to it through the EPT (Extended Page Table). Accordingly, the memory migration not only contains the migration of the data in the memory page, but also contains the update of the conversion record in the EPT.
[0121] Accordingly, the target virtual machine manager performs a memory migration operation for the target virtual machine system, including: the target virtual machine manager migrates the data in the first memory page of the abnormal memory device to the second memory page of the target memory device, and updates the first conversion record corresponding to the abnormal memory device in the target extended page table of the target virtual machine system to the second conversion record, to complete the memory migration of the target virtual machine system.
[0122] The extended page table of the target virtual machine system is the target extended page table. The target virtual machine manager can migrate the data in the first memory page of the abnormal memory device to the second memory page of the target memory device, and update the first conversion record corresponding to the abnormal memory device in the target extended page table of the target virtual machine system to the second conversion record, to complete the memory migration of the target virtual machine system. Here, the first conversion record is used to indicate the correspondence between the memory page address of the first memory page and the physical memory address of the first memory page, and the second conversion record is used to indicate the correspondence between the memory page address of the second memory page and the physical memory address of the second memory page.
[0123] In some embodiments, the update operation of the first conversion record can be directly executed after the migration of the data in the memory page is completed, or can be executed in multiple stages, wherein the operation of one stage is executed after the migration of the data in the memory page is completed, and the operation of the other stage can be executed through event triggering, for example, based on the access operation to the first memory page, or other execution manners, which are not limited in the embodiment.
[0124] Through the embodiment, the memory migration is completed by the migration of the data in the memory page in combination with the update of the record in the extended page table, which can improve the integrity and comprehensiveness of the memory migration.
[0125] In some example embodiments, during the memory migration, the updates to the data in the first memory page cannot be accurately reflected in the data in the second memory page, for example, the updates to the data that has been migrated to the second memory page can not be synchronized to the second memory page. In order to ensure the accuracy and timeliness of the data in the second memory page, the memory page update record can be used to record the updates to the data in the memory page of the abnormal memory device during the migration of the data in the first memory page to the second memory page.
[0126] Correspondingly, after the data in the first memory page of the abnormal memory device is migrated to the second memory page of the target memory device by the target virtual machine manager, the above method further comprises: obtaining the memory page update record by the target virtual machine manager; updating the data in the memory page of the target memory device according to the memory page update record. The data in the memory page of the target memory device after the update is the latest data.
[0127] Here, the memory page update record can only record what kind of update has been made to the data in the first memory page, and the data in the first memory page can not be updated. During the updating of the data in the memory page of the target memory device according to the memory page update record, if there is a new update operation, it can be recorded as a new memory page update record until all memory page update records have been used to avoid the situation of data update disorder.
[0128] Through this embodiment, the updates to the data in the memory page during the memory migration are recorded by the memory page update record, and the migrated data is updated according to the recorded data update mode, which can ensure the accuracy and timeliness of the data in the memory page.
[0129] In some example embodiments, the update of the first conversion record in the target extended page table can be triggered based on an access operation to the data of the first memory page. Before updating the first conversion record corresponding to the abnormal memory device in the target extended page table of the target virtual machine system to the second conversion record, the above method further comprises: adding a third conversion record in the memory conversion relationship table by the target virtual machine manager, and deleting the first conversion record from the target extended page table. Here, the memory conversion relationship table is used to record the correspondence between the memory page address (virtual memory address) of the data migrated memory page of the state abnormal CXL memory device and the memory page address of the data migration memory page.
[0130] After the deletion operation of the first translation record, if there is an access operation to the memory page address of the first memory page, a target page fault exception is triggered since there is no translation record corresponding to the memory page address of the first memory page. In response to the obtained target page fault exception, the target virtual machine manager can traverse the memory translation relationship table based on the memory page address of the first memory page to obtain a third translation record. Based on the memory page address of the second memory page in the third translation record, the target extended page table can be updated, which can be adding the second translation record in the target extended page. In the above manner, the first translation record is updated to the second updated record.
[0131] For example, first, the data in the abnormal CXL memory device memory page is copied to a new memory page, and an abnormal memory translation relationship table is established, which saves the conversion relationship of the abnormal CXL memory device memory address in the virtual machine system EPT page table and the correspondence relationship between the new and old memory page addresses; at the same time, all memory page modifications in the migration process are monitored and recorded. Then, the abnormal CXL memory device memory address conversion relationship in the EPT page table of the virtual machine system is deleted, and the abnormal memory translation relationship table and the memory modification record in the memory migration process are searched to update the memory modification to the new memory page.
[0132] When the virtual machine accesses the memory page of the abnormal CXL memory device, since there is no corresponding conversion in the EPT page table, the CPU will throw an EPT Violation exception, which is processed by the VMM. The VMM will traverse the abnormal memory translation table to update the conversion relationship of all GPs (Guest-Physical Address, virtual machine physical address) corresponding to the abnormal CXL memory device in the EPT page table. At this point, the memory migration of the virtual machine system is completed. After the server VMM completes the memory migration of all virtual machine systems, a message is sent to the FM, which includes the CXL memory device information and the information that the virtual machine system memory migration is successful.
[0133] Through the embodiment, the corresponding relationship between the memory page address of the memory page whose data has been migrated of the state abnormal CXL memory device and the memory page address to which the data is migrated is recorded in the memory translation relationship table, and the abnormal CXL memory device memory address conversion relationship in the EPT page table is deleted. When a page fault exception is triggered by a memory page access request, the extended page table is updated, which ensures the accuracy of data access while avoiding the system burden caused by concentrated data operations.
[0134] In some example embodiments, after controlling the migration operation on the memory data in the abnormal memory device, the method further comprises: displaying abnormal alarm information on a specified display interface, wherein the abnormal alarm information is used to indicate the device location of the abnormal memory device and the abnormal reason of the abnormal memory device; and sending a second notification message to the abnormal memory device, wherein the second notification message is used to notify the abnormal memory device to alarm.
[0135] After controlling the migration operation on the memory data in the abnormal memory device, in order to ensure that the abnormal CXL memory device can be discovered and replaced in time, the control device can display abnormal alarm information on a specified display interface. The specified display interface can be the display interface corresponding to the control device. The abnormal alarm information can be issued in one or more ways, such as through text, a prompt light, a prompt sound, or other ways.
[0136] In addition, the control device can send a second notification message to the abnormal memory device to notify the abnormal memory device to alarm. After receiving the alarm, the abnormal memory device can alarm through an indicator light, a prompt sound, or other ways to indicate its own failure.
[0137] For example, after the FM receives messages from all CXL hosts connected to the abnormal CXL memory device about the successful memory migration of the virtual machine system, it can alarm to prompt the maintenance personnel to repair, improve the system reliability, and avoid downtime and losses caused by memory failure. The alarm can be: sending a command through the management network to notify the CXL memory device to alarm itself, and at the same time, the system status diagram interface of the FM also provides a conspicuous alarm mark. The alarm information includes the physical location of the CXL memory device and the abnormal reason. The CXL memory device in the abnormal state alarms through an indicator light to indicate its own failure.
[0138] Through this embodiment, by displaying abnormal alarm information on a specified display interface and notifying the abnormal CXL memory device to alarm, the maintenance personnel can be prompted to repair, the system reliability can be improved, and downtime and losses caused by memory failure can be avoided.
[0139] In some example embodiments, after predicting the running state of the CXL memory device in the CXL memory device group according to the parameter values of the obtained set of running parameters, the method further comprises: in the case where the CXL memory device in the CXL memory device group is predicted to be running normally, saving the parameter values of the set of running parameters.
[0140] In this embodiment, for any CXL memory device, if it is predicted that the CXL memory device is running normally, at this time, the control device can save the parameter values of the set of operating parameters of the CXL memory device obtained this time, and the saved parameter values of the set of operating parameters of the CXL memory device can be used in the subsequent process of predicting the running state of the CXL memory device. In addition, in order to save storage space, some saved parameter values can be deleted, for example, parameter values that are not needed in the subsequent prediction process.
[0141] For example, when the CXL memory device is in a normal working state, the step of periodically monitoring the CXL memory state (i.e., the aforementioned state detection step) is repeatedly performed; when the CXL memory device is abnormal, the memory migration step is performed.
[0142] Through this embodiment, when it is predicted that the CXL memory device is running normally, the parameter values of the set of operating parameters of the CXL memory device obtained this time are saved, which can improve the convenience and accuracy of the CXL memory device running state prediction.
[0143] The CXL memory fault-tolerant method in this embodiment will be explained and described below in combination with an optional example. In this optional example, the control device is an FM, and the target information table is a CXL memory management information table.
[0144] In order to solve the problem of serious loss caused by CXL memory device failure, this optional example provides a CXL memory management and fault-tolerant design method, which periodically monitors the state of the CXL memory device and predicts its health state, when it is predicted that the health state of the CXL memory is abnormal, automatically migrates the virtual machine system related to the CXL memory device to the CXL memory device in a healthy state, and then prompts the operation and maintenance personnel for maintenance.
[0145] As shown in FIG. 7, the flow of memory migration in this optional example can include the following steps S702 to S716.
[0146] Step S702, the FM detects that the CXL memory device is abnormal. Here, the FM periodically performs the aforementioned state detection step to monitor the health state of the CXL memory device in real time. At the same time, the FM can notify the VMM of the CXL host connected to the abnormal CXL memory device to perform memory migration for the virtual machine system allocated by the VMM to the abnormal CXL memory device.
[0147] Step S704, the server VMM allocates new memory for the virtual machine system.
[0148] Step S706, the memory migration starts.
[0149] Step S708, the VMM copies the memory data to the new memory, establishes the abnormal memory conversion relationship table, and records the memory modification during the migration.
[0150] Step S710, the VMM deletes the abnormal memory address conversion relationship in the EPT, and updates the memory modification to the new memory.
[0151] Step S712, the virtual machine accesses the abnormal memory, triggering the EPT page fault (Violation) exception.
[0152] Step S714, the VMM processes the exception and updates the EPT page table.
[0153] Step S716, the memory migration is completed.
[0154] Through the optional example, the FM collects the states of the CXL memory devices from the CXL host and the CXL memory devices through the management network bus, monitors and predicts the health states in real time, and when predicting that a CXL memory device is in an abnormal state, notifies the VMM of the server to migrate the virtual machine system using the CXL memory device to a memory device in a healthy state, and simultaneously alarms and prompts to check and repair, which can improve the system reliability and avoid downtime and loss caused by memory failure.
[0155] Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be realized by means of software and the necessary general hardware platform, and of course, it can also be realized by hardware, but in many cases, the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a storage medium (such as a ROM / RAM, a magnetic disk, an optical disk), and includes a plurality of instructions for causing a terminal device (which can be a mobile phone, a computer, a server, or a network device) to execute the method described in each embodiment of the present application.
[0156] In the present embodiment, a server system is also provided, which is used to implement the above embodiments and optional embodiments, which have been described and will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware is also possible and is contemplated.
[0157] Figure 8 is a structural block diagram of yet another optional server system according to an embodiment of the present application, as shown in Figure 8, the server system comprises: a CXL memory device group 802, a CXL switch group 804, a CXL host group 806 and a control device 808, wherein the CXL memory device group 802 and the CXL host group 806 are connected to the CXL switch group 804 through a CXL bus, and the CXL switch group 804 is configured to connect the CXL memory device group 802 and the CXL host group 806.
[0158] The control device 808 is configured to: obtain parameter values of a set of operating parameters of the CXL memory devices in the CXL memory device group 802, wherein the CXL memory devices in the CXL memory device group 802 are all in an operating state, and the set of operating parameters are used to represent the operating state of the corresponding CXL memory device; predict the operating state of the CXL memory devices in the CXL memory device group 802 according to the obtained parameter values of the set of operating parameters; in the case that an abnormal memory device with an operating abnormality is predicted to exist in the CXL memory device group 802, control a migration operation to be performed on the memory data in the abnormal memory device, so as to migrate the memory data in the abnormal memory device to a target memory device in the CXL memory device group 802 with a normal operating state, and the abnormal memory device after the data migration is completed is excluded from the CXL memory device group 802.
[0159] In some embodiments, steps S302 to S306 in the foregoing embodiments can be performed by the control device 808 in the present embodiment.
[0160] Through the present server system, parameter values of a set of operating parameters of the CXL memory devices in the CXL memory device group are obtained, wherein the CXL memory devices in the CXL memory device group are all in an operating state, and the set of operating parameters are used to represent the operating state of the corresponding CXL memory device; the operating state of the CXL memory devices in the CXL memory device group is predicted according to the obtained parameter values of the set of operating parameters; in the case that an abnormal memory device with an operating abnormality is predicted to exist in the CXL memory device group, a migration operation is controlled to be performed on the memory data in the abnormal memory device, so as to migrate the memory data in the abnormal memory device to a target memory device in the CXL memory device group with a normal operating state, and the abnormal memory device after the data migration is completed is excluded from the CXL memory device group, thereby solving the problem of low memory utilization rate of the server due to the hot backup memory occupying the server slot in the CXL memory fault tolerance method in the related art, and improving the memory utilization rate of the server.
[0161] In some example embodiments, the control device 808 is connected with the CXL memory device group 802, the CXL switch group 804 and the CXL host group 806 respectively through a designated bus, and the designated bus is different from the CXL bus. The control device 808 is further configured to periodically perform a parameter value collection operation of a set of running parameters on the CXL memory devices in the CXL memory device group 802 via the designated bus, and obtain the collected parameter values of the set of running parameters.
[0162] In some example embodiments, the control device 808 is further configured to predict the running state of the CXL memory devices in the CXL memory device group 802 according to the parameter values of the set of running parameters collected in the consecutive multiple periods.
[0163] In some example embodiments, the control device 808 is further configured to predict the running state of the CXL memory devices in the CXL memory device group 802 according to the parameter values of the set of running parameters collected in the tth period, the parameter values of the set of running parameters collected in the (t-1)th period and the parameter values of the set of running parameters collected in the (t-2)th period.
[0164] In some example embodiments, the set of running parameters includes an erase-write speed v, a running frequency f, an average running temperature teand an average running voltage vo, and the parameter values of the set of running parameters collected in the nth period are vn, fn, tenand vonrespectively, where n is a positive integer greater than or equal to 1.
[0165] The control device 808 is further configured to construct a target data matrix D t , corresponding to the set of running parameters. t = (St-2, St-1, St), where St-2, St-1and Stare the feature vectors of the CXL memory devices in the CXL memory device group 802 corresponding to the set of running parameters in the (t-2)th, (t-1)th and tth periods respectively. V is a configured erase-write speed, F is a configured maximum running frequency, TE is a configured average running temperature, and VO is a configured average running voltage; and the target data matrix D t is subjected to convolution processing using a preset convolution kernel I to obtain a target convolution value Gt, where the preset convolution kernel I is a convolution kernel configured based on influence factors corresponding to the running parameters in the set of running parameters, and the influence factors corresponding to the running parameters in the set of running parameters are used to represent the degree of association between the running parameters in the set of running parameters and the memory failures of the corresponding memory devices; and the state reference value H t of the CXL memory devices in the CXL memory device group 802 is calculated by the following formula:
[0166] Based on the state reference value H tand the maximum number of row error units of the CXL memory device in the CXL memory device group 802 in the tth cycle E t The running state of the CXL memory device in the CXL memory device group 802 is predicted. Wherein μ, δ, ε and ρ are the set weighting coefficients, E t is the maximum number of row error units of the corresponding CXL memory device in the tth cycle, is the configuration average of the number of row error units of the corresponding CXL memory device, S is the configuration standard deviation of the number of row error units of the corresponding CXL memory device, and the maximum number of row error units is the number of error units of the row with the most errors of the corresponding CXL memory device.
[0167] In some exemplary embodiments, the server system further comprises a control device 808 connected to the CXL memory device group 802, the CXL switch group 804 and the CXL host group 806 respectively through a designated bus, and the designated bus is different from the CXL bus.
[0168] The control device 808 is further configured to, before predicting the running state of the CXL memory device in the CXL memory device group 802 according to the parameter values of the group of running parameters collected in the continuous multiple cycles, obtain the configuration information of the CXL memory device in the CXL memory device group 802 from the CXL memory device in the CXL memory device group 802 via the designated bus, wherein the configuration information of the CXL memory device in the CXL memory device group 802 is contained in the SPD data of the CXL memory device in the CXL memory device group 802, and the configuration information of the CXL memory device in the CXL memory device group 802 is used to indicate the following configuration information of the CXL memory device in the CXL memory device group 802: configuration erase speed V, configuration running maximum frequency F, configuration running average temperature TE, configuration running average voltage VO, configuration average of the number of row error units and configuration standard deviation S of the number of row error units.
[0169] In some example embodiments, the control device 808 is further configured to obtain device information of the CXL devices in the server system via the specified bus from the CXL devices in the server system before obtaining the configuration information of the CXL memory devices in the CXL memory device group 802 via the specified bus from the CXL memory devices in the CXL memory device group 802, wherein the device types of the CXL devices in the server system include the CXL memory devices, the CXL switches and the CXL hosts; construct a CXL device information list based on the obtained device information of the CXL devices in the server system, wherein the CXL device information list contains the device information of the CXL memory devices in the CXL memory device group 802, the device information of the CXL switches in the CXL switch group 804, and the device information of the CXL hosts in the CXL host group 806, and the configuration information of the abnormal memory device is obtained by traversing the CXL device information list.
[0170] In some example embodiments, St, St-1 and St-2 are all column vectors of 4 rows and 1 column, and the target data matrix Dt is a data matrix of 4 rows and 3 columns.
[0171] The control device 808 is further configured to construct a preset convolution kernel I, wherein, α 11 = -2θ1,α 21 = -2θ2,α 31 = -2θ3,α 41 = -2θ4,α 12 = α 22 = α 32 = α 42 = 0,α 13 = 2θ1,α 23 = 2θ2,α 33 = 2θ3,α 43 = 2θ4,θ1, θ2, θ3 and θ4 are respectively the influence factors of the write speed v, the runtime frequency f, the runtime average temperature te and the runtime average voltage vo on the memory failure.
[0172] In some example embodiments, the control device 808 is further configured to determine that the corresponding CXL memory device is running abnormally in a case where the state reference value H t of the CXL memory device in the CXL memory device group 802 is greater than or equal to a first specified threshold value; and determine that the corresponding CXL memory device is running abnormally in a case where the maximum number of row error units E t of the CXL memory device in the CXL memory device group 802 in the tth cycle is greater than or equal to a second specified threshold value.
[0173] In some example embodiments, the server system further comprises a control device 808, the CXL memory devices in the CXL memory device group 802 allow a virtual machine system running on a CXL host in the CXL host group 806 to which the CXL memory devices are allocated, and a virtual machine manager is also running on a CXL host in the CXL host group 806.
[0174] The control device 808 is further configured to, in the case where it is predicted that there is an abnormal memory device running abnormally in the CXL memory device group 802, determine a target host in the CXL host group 806 connected to the abnormal memory device, and send a first notification message to the target virtual machine manager to notify the target virtual machine manager to perform a migration operation on the memory data in the abnormal memory device, wherein the target virtual machine manager is a virtual machine manager running on the target host, and the first notification message carries device information of the abnormal memory device.
[0175] In some example embodiments, the control device 808 is further configured to, before determining the target host in the CXL host group 806 connected to the abnormal memory device, obtain a set of specified information of the CXL switches in the CXL switch group 804 from the CXL switches in the CXL switch group 804, wherein the set of specified information includes port information and device information connected to the port; based on the obtained set of specified information of the CXL switches in the CXL switch group 804, establish a device node adjacency table, wherein the device node adjacency table is used to indicate the connection relationship between the CXL memory devices in the CXL memory device group 802 and the CXL hosts in the CXL host group 806; and in the case where it is predicted that there is an abnormal memory device running abnormally in the CXL memory device group 802, query the device node adjacency table to determine that the CXL host in the CXL host group 806 connected to the abnormal memory device is the target host.
[0176] In some example embodiments, the target virtual machine manager stores a target information table, wherein the target information table is used to record the CXL memory devices connected to the target host and the virtual machine systems to which the CXL memory devices connected to the target host are allocated. The target virtual machine manager is further configured to, in response to the received first notification message, query the target information table to determine the target virtual machine system to which the abnormal memory device is allocated, perform a memory migration operation on the target virtual machine system to migrate the memory data in the abnormal memory device to a target memory device, and allocate the target memory device to the target virtual machine system.
[0177] In some example embodiments, the target virtual machine manager is further configured to query the target information table to find whether there is a CXL memory device meeting the memory data migration condition in the CXL memory devices connected to the target host before performing the memory migration operation for the target virtual machine system; in the case that a CXL memory device meeting the memory data migration condition is found, determine the found CXL memory device as the target memory device; in the case that no CXL memory device meeting the memory data migration condition is found, send a device application request message to the control device 808, wherein the device application request message is used to apply for accessing a CXL memory device meeting the memory data migration condition for the target host; in the case that a device application response message returned by the control device 808 in response to the device application request is received, determine the CXL memory device indicated by the device application response message as the target memory device; wherein the memory data migration condition is that the idle memory in an idle state allows the memory data in the abnormal memory device to be written.
[0178] In some example embodiments, the target virtual machine manager is further configured to migrate the data in the first memory page of the abnormal memory device to the second memory page of the target memory device, and update the first translation record corresponding to the abnormal memory device in the target extended page table of the target virtual machine system to the second translation record, to complete the memory migration of the target virtual machine system, wherein the first translation record is used to indicate the correspondence between the memory page address of the first memory page and the physical memory address of the first memory page, and the second translation record is used to indicate the correspondence between the memory page address of the second memory page and the physical memory address of the second memory page.
[0179] In some example embodiments, the target virtual machine manager is further configured to obtain a memory page update record after migrating the data in the first memory page of the abnormal memory device to the second memory page of the target memory device, wherein the memory page update record is used to record the update of the data in the memory page of the abnormal memory device in the process of migrating the data in the first memory page to the second memory page; and update the data in the memory page of the target memory device according to the memory page update record.
[0180] In some example embodiments, the target virtual machine manager is further configured to, before updating the first translation record corresponding to the abnormal memory device in the target extended page table of the target virtual machine system to the second translation record, add a third translation record in the memory translation relationship table and delete the first translation record from the target extended page table, wherein the memory translation relationship table is used to record the correspondence between the memory page address of the data migrated memory page of the CXL memory device in the abnormal state and the memory page address to which the data is migrated; in response to the obtained target page fault exception, the memory translation relationship table is traversed based on the memory page address of the first memory page to obtain the third translation record, and the target extended page table is updated based on the memory page address of the second memory page in the third translation record.
[0181] In some example embodiments, the control device 808 is further configured to, after controlling the migration operation on the memory data in the abnormal memory device, display abnormal alarm information on the specified display interface, wherein the abnormal alarm information is used to indicate the device location of the abnormal memory device and the abnormal reason of the abnormal memory device; and send a second notification message to the abnormal memory device, wherein the second notification message is used to notify the abnormal memory device to alarm.
[0182] In some example embodiments, the control device 808 is further configured to, after predicting the running state of the CXL memory devices in the CXL memory device group 802 according to the parameter values of the obtained set of running parameters, save the parameter values of the set of running parameters in the case that the CXL memory devices in the CXL memory device group 802 are predicted to be running normally.
[0183] It should be noted that the above various modules can be implemented by software or hardware, and for the latter, the following implementation manners can be used, but are not limited thereto: all the above modules are located in the same processor; or the above various modules are located in different processors in any combination.
[0184] According to an aspect of the present application, there is provided a computer program product including a computer program / instructions containing program codes for executing the methods shown in the flowcharts. FIG. 9 schematically shows a structural block diagram of a computer system of an electronic device for implementing the embodiments of the present application. As shown in FIG. 9, the computer system 900 includes a CPU 901 which can perform various appropriate actions and processes according to programs stored in a ROM 902 (Read-Only Memory) or programs loaded from a storage section 908 into a RAM 903 (Random Access Memory). In the RAM 903, various programs and data required for system operation are also stored. The CPU 901, the ROM 902, and the RAM 903 are connected to each other through a bus 904. An I / O interface 905 (Input / Output interface) is also connected to the bus 904.
[0185] The following components are connected to the input / output interface 905: an input section 906 including a keyboard, a mouse, and the like; an output section 907 including a display such as a CRT (Cathode Ray Tube), an LCD (Liquid Crystal Display), and the like, and a speaker, and the like; a storage section 908 including a hard disk, and the like; and a communication section 909 including a network interface card such as a LAN card, a modem, and the like. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the I / O interface 905 as necessary. A removable medium 911 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, and the like is attached to the drive 910 as necessary, so that a computer program read therefrom is installed in the storage section 908 as necessary.
[0186] In particular, according to the embodiments of the present application, the processes described in each of the method flowcharts can be implemented as a computer software program. For example, the embodiments of the present application include a computer program product including a computer program carried on a computer-readable medium, the computer program containing program codes for executing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network by the communication section 909, and / or installed from the removable medium 911. When the computer program is executed by the central processing unit 901, various functions defined in the system of the present application are performed.
[0187] It should be noted that the computer system 900 of the electronic device shown in FIG. 9 is only an example, and should not impose any limitation on the functions and use range of the embodiments of the present application.
[0188] The embodiment of the present application further provides a computer readable storage medium, which stores a computer program and can be a non-volatile readable storage medium, wherein the computer program is arranged to execute the steps in any of the method embodiments when running.
[0189] In an exemplary embodiment, the computer readable storage medium can include, but is not limited to, a U disk, a ROM, a RAM, a mobile hard disk, a magnetic or optical disk, and various media that can store computer programs.
[0190] The embodiment of the present application further provides an electronic device, which comprises a memory and a processor, wherein the memory stores a computer program, and the processor is arranged to execute the computer program to perform the steps in any of the method embodiments.
[0191] In an exemplary embodiment, the electronic device can further comprise a transmission device and an input and output device, wherein the transmission device is connected with the processor, and the input and output device is connected with the processor.
[0192] The optional examples in the embodiment can refer to the examples described in the above embodiments and exemplary implementation manners, and the embodiment will not be described herein again.
[0193] Obviously, those skilled in the art should understand that the modules or steps of the present application described above can be realized by general computing devices, which can be concentrated on a single computing device or distributed on a network composed of multiple computing devices, and can be realized by program codes executable by the computing devices, so that they can be stored in storage devices and executed by the computing devices, and in some cases, the steps shown or described can be executed in different sequences, or they can be manufactured into individual integrated circuit modules or multiple modules or steps into a single integrated circuit module. Thus, the present application is not limited to any specific combination of hardware and software.
[0194] The above is only the optional embodiment of the present application and is not used to limit the present application. For those skilled in the art, the present application can have various modifications and changes. Any modification, equivalent replacement, improvement, etc. within the principles of the present application shall be included in the protection scope of the present application.
Claims
1. A CXL memory fault-tolerant method, applied to a server system, the server system comprising a CXL memory device group, a CXL switch group and a CXL host group, the CXL memory device group and the CXL host group being connected to the CXL switch group through a CXL bus, and the CXL switch group being configured to connect the CXL memory device group and the CXL host group; the method comprising: obtaining parameter values of a set of operating parameters of CXL memory devices in the CXL memory device group, wherein the CXL memory devices in the CXL memory device group are all in an operating state, and the set of operating parameters are used to represent the operating state of the corresponding CXL memory device; predicting the operating state of the CXL memory devices in the CXL memory device group according to the obtained parameter values of the set of operating parameters; and in the case that an abnormal memory device with an operating abnormality is predicted to exist in the CXL memory device group, performing a migration operation on memory data in the abnormal memory device to migrate the memory data in the abnormal memory device to a target memory device in the CXL memory device group with a normal operating state, and the abnormal memory device is removed from the CXL memory device group after the data migration is completed.
2. The method of claim 1, wherein: the server system further comprises a control device, the control device being connected to the CXL memory device group, the CXL switch group and the CXL host group through a specified bus respectively, and the specified bus is different from the CXL bus; and the obtaining of the parameter values of the set of operating parameters of the CXL memory devices in the CXL memory device group comprises: periodically performing, by the control device through the specified bus, parameter value collection operations of the set of operating parameters on the CXL memory devices in the CXL memory device group to obtain the collected parameter values of the set of operating parameters.
3. The method of claim 1, wherein: the predicting of the operating state of the CXL memory devices in the CXL memory device group according to the obtained parameter values of the set of operating parameters comprises: predicting the operating state of the CXL memory devices in the CXL memory device group according to the parameter values of the set of operating parameters collected in a plurality of continuous periods.
4. The method of claim 3, wherein: the predicting of the operating state of the CXL memory devices in the CXL memory device group according to the parameter values of the set of operating parameters collected in the plurality of continuous periods comprises: predicting the operating state of the CXL memory devices in the CXL memory device group according to the parameter values of the set of operating parameters collected in a tth period, the parameter values of the set of operating parameters collected in a (t-1)th period and the parameter values of the set of operating parameters collected in a (t-2)th period.
5. The method of claim 4, wherein: The set of operating parameters comprises an erase-write speed v, an operating frequency f, an average operating temperature te, and an average operating voltage vo, and parameter values of the set of operating parameters collected in the nth cycle are vn, fn, ten, and von, where n is a positive integer greater than or equal to 1; The prediction of the operating state of the CXL memory device in the CXL memory device group according to the parameter values of the set of operating parameters collected in the tth cycle, the parameter values of the set of operating parameters collected in the (t-1)th cycle, and the parameter values of the set of operating parameters collected in the (t-2)th cycle comprises: constructing a target data matrix Dt, where Dt = (St-2, St-1, St), a feature vector of an nth period corresponding to the set of operating parameters V is a configured erase-write speed, F is a configured maximum operating frequency, TE is a configured average operating temperature, and VO is a configured average operating voltage; The target data matrix Dt is convoluted using a preset convolution kernel I to obtain a target convolution value Gt, where the preset convolution kernel I is a convolution kernel configured based on an influence factor corresponding to an operating parameter in the set of operating parameters, and the influence factor corresponding to the operating parameter in the set of operating parameters is used to represent the degree of association between the operating parameter in the set of operating parameters and the memory failure of the corresponding memory device; A state reference value H of a CXL memory device in the CXL memory device group is calculated by the following formula t : wherein μ, δ, ε and ρ are weighting factors set, E t is the maximum number of row error units of the corresponding CXL memory device in the tth cycle, is a configured average value of the number of row error units of the corresponding CXL memory device, S is a configured standard deviation of the number of row error units of the corresponding CXL memory device, and the maximum number of row error units is the number of error units of the row with the most errors of the corresponding CXL memory device; a state reference value H for a CXL memory device in the group of CXL memory devices t a maximum number of error cells E for a CXL memory device in the group of CXL memory devices at a t-th cycle t predicting an operating state of a CXL memory device in the group of CXL memory devices.
6. The method of claim 5, wherein The server system further comprises a control device connected to the CXL memory device group, the CXL switch group, and the CXL host group through a designated bus, and the designated bus is different from the CXL bus; Before the prediction of the operating state of the CXL memory device in the CXL memory device group according to the parameter values of the set of operating parameters collected in the continuous multiple cycles, the method further comprises: acquire, by the control device, configuration information of the CXL memory device in the CXL memory device group from the CXL memory device in the CXL memory device group via the specified bus, wherein the configuration information of the CXL memory device in the CXL memory device group is contained in SPD data of the CXL memory device in the CXL memory device group, and the configuration information of the CXL memory device in the CXL memory device group contains configuration information for indicating at least one of the CXL memory device in the CXL memory device group: a configuration erase speed V, a configuration maximum running frequency F, a configuration average temperature TE at running time, a configuration average voltage VO at running time, a configuration average value of the number of row error units and a configured standard deviation S of the number of row error units.
7. The method of claim 6, wherein Before the acquisition of the configuration information of the CXL memory device in the CXL memory device group by the control device from the CXL memory device in the CXL memory device group through the designated bus, the method further comprises: The device information of the CXL device in the server system is obtained by the control device from the CXL device in the server system through the designated bus, where the device types of the CXL device in the server system comprise a CXL memory device, a CXL switch, and a CXL host; and construct a CXL device information list based on the obtained device information of the CXL devices in the server system, wherein the CXL device information list contains device information of the CXL memory devices in the CXL memory device group, device information of the CXL switches in the CXL switch group, and device information of the CXL hosts in the CXL host group, and the configuration information of the abnormal memory device is obtained by traversing the CXL device information list.
8. The method of claim 5, wherein, St, St-1 and St-2 are all column vectors of 4 rows and 1 column, and the target data matrix Dt is a data matrix of 4 rows and 3 columns; Before the target data matrix Dt is convolved using the preset convolution kernel I to obtain a target convolution value Gt, the method further comprises: constructing the preset convolution kernel I, wherein a 11 = -2θ1,α 21 = -2θ2,α 31 = -2θ3,α 41 = -2θ4,α 12 = α 22 = α 32 = α 24 = 0,α 13 = 2θ1,α 23 = 2θ2,α 33 = 2θ3,α 34 = 2θ4,α θ1, θ2, θ3, θ4 are the impact factors of the write speed v, the running time frequency f, the running time average temperature te and the running time average voltage vo on the memory failure, respectively.
9. The method of claim 5, wherein, a state reference value H of a CXL memory device in the CXL memory device group t a maximum number of row error units E of a CXL memory device in the CXL memory device group in the tth cycle t predicting a current running state of a CXL memory device in the CXL memory device group, comprising: A state reference value H of a CXL memory device in the CXL memory device group t In a case where the state reference value H is greater than or equal to a first specified threshold value, it is determined that the corresponding CXL memory device is operating abnormally. The maximum number of row error units E of the CXL memory device in the CXL memory device group at the t-th cycle t In a case where the number of row error units is greater than or equal to a second specified threshold value, it is determined that the corresponding CXL memory device is operating abnormally.
10. The method of claim 1, wherein, The server system further comprises a control device, the CXL memory devices in the CXL memory device group are allowed to be allocated to a virtual machine system running on the CXL hosts in the CXL host group, and a virtual machine manager is also running on the CXL hosts in the CXL host group; In the case where it is predicted that there is an abnormal memory device running abnormally in the CXL memory device group, the control of the migration operation on the memory data in the abnormal memory device comprises: In the case where it is predicted that there is an abnormal memory device running abnormally in the CXL memory device group, the target host connected to the abnormal memory device in the CXL host group is determined by the control device; A first notification message is sent to the target virtual machine manager by the control device to inform the target virtual machine manager to perform a migration operation on the memory data in the abnormal memory device, wherein the target virtual machine manager is a virtual machine manager running on the target host, and the first notification message carries device information of the abnormal memory device.
11. The method of claim 10, wherein, Before the target host connected to the abnormal memory device in the CXL host group is determined by the control device, the method further comprises: a set of specified information of the CXL switches in the CXL switch group is obtained from the CXL switches in the CXL switch group by the control device, wherein the set of specified information includes port information and device information connected to the port; and a device node adjacency table is established based on the obtained set of specified information of the CXL switches in the CXL switch group, wherein the device node adjacency table is used to indicate a connection relationship between the CXL memory devices in the CXL memory device group and the CXL hosts in the CXL host group. The method further includes: in response to the first notification message, querying, by the target virtual machine manager, the target information table to determine the target virtual machine system to which the abnormal memory device is allocated.
12. The method of claim 10, wherein the target virtual machine manager stores a target information table, the target information table recording the CXL memory device connected to the target host and a virtual machine system allocated by the CXL memory device connected to the target host. The method further includes: in response to the first notification message, querying, by the target virtual machine manager, the target information table to determine the target virtual machine system to which the abnormal memory device is allocated. performing, by the target virtual machine manager, a memory migration operation on the target virtual machine system to migrate memory data in the abnormal memory device to the target memory device and allocate the target memory device to the target virtual machine system.
13. The method of claim 12, wherein the method further includes: before performing, by the target virtual machine manager, the memory migration operation on the target virtual machine system, the method further includes: querying, by the target virtual machine manager, the target information table to find whether there is a CXL memory device meeting a memory data migration condition among the CXL memory devices connected to the target host; in a case where a CXL memory device meeting the memory data migration condition is found, determining the found CXL memory device as the target memory device; in a case where no CXL memory device meeting the memory data migration condition is found, sending, by the target virtual machine manager, a device application request message to the control device, the device application request message being used to apply for connecting a CXL memory device meeting the memory data migration condition to the target host; in a case where a device application response message returned by the control device in response to the device application request is received, determining a CXL memory device indicated by the device application response message as the target memory device; wherein the memory data migration condition is that an idle memory in an idle state allows memory data in the abnormal memory device to be written.
14. The method of claim 12, wherein the performing, by the target virtual machine manager, the memory migration operation on the target virtual machine system includes: migrate, by the target virtual machine manager, data in a first memory page of the abnormal memory device into a second memory page of the target memory device, and update a first translation record corresponding to the abnormal memory device in a target extended page table of the target virtual machine system into a second translation record, to complete the memory migration of the target virtual machine system, wherein the first translation record is used to indicate a correspondence between a memory page address of the first memory page and a physical memory address of the first memory page, and the second translation record is used to indicate a correspondence between a memory page address of the second memory page and a physical memory address of the second memory page.
15. The method of claim 14, wherein, after the migrating, by the target virtual machine manager, data in a first memory page of the abnormal memory device into a second memory page of the target memory device, the method further comprises: obtaining, by the target virtual machine manager, a memory page update record, wherein the memory page update record is used to record an update made to data in a memory page of the abnormal memory device in a process of migrating the data in the first memory page into the second memory page; updating data in a memory page of the target memory device according to the memory page update record.
16. The method of claim 14, wherein, before the updating, by the target virtual machine manager, a first translation record corresponding to the abnormal memory device in a target extended page table of the target virtual machine system into a second translation record, the method further comprises: adding, by the target virtual machine manager, a third translation record in a memory translation relationship table and deleting the first translation record from the target extended page table, wherein the memory translation relationship table is used to record a correspondence between a memory page address of a memory page of a CXL memory device in an abnormal state and a memory page address of a memory page to which data of the memory page has been migrated; in response to a target page fault exception obtained, traversing, by the target virtual machine manager, the memory translation relationship table based on a memory page address of the first memory page to obtain the third translation record, wherein the target page fault exception is triggered based on an access operation on the memory page address of the first memory page, and the target extended page table is updated based on a memory page address of the second memory page in the third translation record.
17. The method of claim 1, wherein, after the controlling to perform a migration operation on memory data in the abnormal memory device, the method further comprises: displaying abnormal alarm information on a specified display interface, wherein the abnormal alarm information is used to indicate a device location of the abnormal memory device and an abnormal reason of the abnormal memory device; sending a second notification message to the abnormal memory device, wherein the second notification message is used to notify the abnormal memory device to perform alarm.
18. The method of any one of claims 1-17, wherein, After predicting the running state of the CXL memory devices in the CXL memory device group according to the parameter values of the set of running parameters, the method further comprises: In the case of predicting that the CXL memory devices in the CXL memory device group are running normally, saving the parameter values of the set of running parameters. 19.A server system, comprising: a CXL memory device group, a CXL switch group, a CXL host group and a control device, the CXL memory device group and the CXL host group being connected to the CXL switch group through a CXL bus, the CXL switch group being configured to connect the CXL memory device group and the CXL host group, wherein the control device is configured to acquire parameter values of a set of running parameters of CXL memory devices in the CXL memory device group, wherein the CXL memory devices in the CXL memory device group are all in a running state, the set of running parameters being configured to represent the running state of the corresponding CXL memory device; predict the running state of the CXL memory devices in the CXL memory device group according to the acquired parameter values of the set of running parameters; in the case of predicting that there is an abnormal memory device in the CXL memory device group, control a migration operation of memory data in the abnormal memory device to migrate the memory data in the abnormal memory device to a target memory device in the CXL memory device group which is in a normal running state, wherein the abnormal memory device is removed from the CXL memory device group after the data migration is completed. 20.A computer program product, comprising: the computer program product comprises computer programs / instructions, wherein the computer programs / instructions are executed by a processor to implement the steps of the method in any one of claims 1 to 18. 21.A computer readable storage medium, comprising: the computer readable storage medium stores a computer program, wherein the computer program is executed by a processor to implement the steps of the method in any one of claims 1 to 18. 22.An electronic device, comprising a memory, a processor and a computer program stored in the memory and executable on the processor, wherein: the processor executes the computer program to implement the steps of the method in any one of claims 1 to 18.
Citation Information
Patent Citations
Memory fault processing method and device, electronic equipment and storage medium
CN111708653A
Virtual machine live migration method and device, electronic equipment and storage medium
CN115048183A
Memory fault prediction method and device, storage medium and electronic device
CN115686909A
Fault memory bank processing method and device, electronic equipment and storage medium
CN116483613A
Memory allocation method and device, network manager and storage medium
CN116932229A
Cited By
Joint dynamic memory allocation method of CXL heterogeneous memory system
CN122111882A
A Joint Dynamic Memory Allocation Method for CXL Heterogeneous Memory Systems
CN122111882B