IP Library Granted Patent US 12688085
Granted Patent B2
US 12688085 · App. 19/116,467 · Granted Jul 21, 2026

Method and apparatus for processing faulty memory module, and electronic device and non-transitory readable storage medium

Inventors: Xiaoyu Ma (Suzhou, CN); Ping Guo (Suzhou, CN); Xinglong Wang (Suzhou, CN)
Assignee: SUZHOU METABRAIN INTELLIGENT TECHNOLOGY CO., LTD.
G06F11/0793G06F11/073
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12688085
App. No.
19/116,467
Granted
Jul 21, 2026
Kind
B2
Abstract

A method for processing faulty memory module and apparatus, and an electronic device and a non-transitory readable storage medium are provided. The method for processing faulty memory module includes: acquiring a first power-down command, the first power-down command being used for instructing a baseboard management controller of a memory resource pool to perform power-down processing on a faulty memory module in the memory resource pool; and in response to the first power-down command, when a first memory module in the memory resource pool is in a fault state and is allowed to be powered down, sending a second power-down command to a target memory expander controller to which the first memory module belongs, the second power-down command being used for instructing the target memory expander controller to perform power-down processing on the first memory module.

Claims (50)

1 . A method for processing a faulty memory module, comprising:

acquiring a first power-down command, wherein the first power-down command is used for instructing a baseboard management controller of a memory resource pool to perform power-down processing on a faulty memory module in the memory resource pool, and the first power-down is sent by a control device; and

in response to: the first power-down command, a first memory module in the memory resource pool is in a fault state and is allowed to be powered down, sending, by the baseboard management controller of the memory resource pool, a second power-down command to a target memory expander controller to which the first memory module belongs, wherein the second power-down command is used for instructing the target memory expander controller to perform power-down processing on the first memory module of a plurality of memory modules subordinate to the target memory expander controller.

2 . The method as claimed in claim 1 ,

wherein the first power-down command carries position information of the first memory module, the position information of the first memory module is used for indicating a position of the first memory module in the memory resource pool, and the first power-down command is used for instructing the baseboard management controller of the memory resource pool to perform power-down processing on the first memory module.

3 . The method as claimed in claim 2 , wherein after acquiring the first power-down command, the method further comprises:

extracting the position information of the first memory module from the first power-down command, wherein the position information of the first memory module comprises first position information and second position information, the first position information is used for indicating a position of the target memory expander controller among a plurality of memory expander controllers connected to the baseboard management controller of the memory resource pool, and the second position information is used for indicating a position of the first memory module in the target memory expander controller; and

determining the first memory module to be powered down according to the first position information and the second position information.

4 . The method as claimed in claim 2 , wherein after acquiring the first power-down command, the method further comprises:

in response to the first power-down command, when the first memory module is in a fault state but is not allowed to be powered down, sending first power-down abnormity indication information to the control device, wherein the first power-down abnormity indication information is used for indicating that power-down of the first memory module fails due to the first memory module being not allowed to be powered down; and

in response to the first memory module is in a normal state, sending second power-down abnormity indication information to the control device, wherein the second power-down abnormity indication information is used for indicating that the power-down of the first memory module fails due to the first memory module being in the normal state.

5 . The method as claimed in claim 1 , wherein after acquiring the first power-down command, the method further comprises:

determining a memory module in a fault state in the memory resource pool according to memory module fault information recorded by the baseboard management controller of the memory resource pool, wherein the memory module fault information is fault information which is recorded in response to the memory module in the fault state is detected and which corresponds to the memory module in the fault state.

6 . The method as claimed in claim 1 , wherein after acquiring the first power-down command, the method further comprises:

sending a state verification command to the target memory expander controller, wherein the state verification command is used for instructing the target memory expander controller to verify the fault state of the first memory module; and

receiving, by the baseboard management controller of the memory resource pool, a first response message sent by the target memory expander controller in response to the state verification command, wherein the first response message is used for indicating whether the first memory module is in the fault state.

7 . The method as claimed in claim 1 , wherein after acquiring the first power-down command, the method further comprises:

sending, by the baseboard management controller of the memory resource pool, a state acquisition command to a baseboard management controller of a target host server corresponding to the first memory module, wherein the state acquisition command is used for acquiring a power-on/off state of the target host server;

receiving, by the baseboard management controller of the memory resource pool, a second response message returned by the baseboard management controller of the target host server in response to the state acquisition command, wherein the second response message is used for indicating the power-on/off state of the target host server; and

when the power-off state of the target host server is determined as claimed in the second response message, determining that the first memory module is allowed to be powered down.

8 . The method as claimed in claim 7 , wherein the baseboard management controller of the memory resource pool and a baseboard management controller of a host server corresponding to each memory module in the memory resource pool are connected to a same network switch.

9 . The method as claimed in claim 7 , wherein the memory resource pool is located on a memory resource pool server, the memory resource pool server is connected to a baseboard management controller of a host server corresponding to each memory module in the memory resource pool through a compute express link (CXL) switch server, and the CXL switch server is used for allocating a memory resource to the host server corresponding to each memory module.

10 . The method as claimed in claim 9 , wherein in response to the first power-down command, when the first memory module in the memory resource pool is in a fault state and is allowed to be powered down, sending the second power-down command to a target memory expander controller to which the first memory module belongs comprises:

in response to the first power-down command, when the first memory module in the memory resource pool is in the fault state and is allowed to be powered down, sending the second power-down command to the target memory expander controller to which the first memory module belongs, and sending, by the baseboard management controller of the memory resource pool, a third power-down command to a memory expander controller to which a memory module in a same memory group as the first memory module belongs, wherein the memory modules in the memory resource pool are allocated to the host server in a manner of a memory group, and the third power-down command is used for instructing the memory expander controller to which the memory module in the same group belongs to perform power-down processing on the memory module in the same group.

11 . The method as claimed in claim 1 , wherein before performing power-down processing on the first memory module, a target host server corresponding to the first memory module is in a power-off state; and after sending the second power-down command to the target memory expander controller to which the first memory module belongs, the method further comprises:

receiving, by the baseboard management controller of the memory resource pool, a first power-up command, wherein the first power-up command is used for indicating power-up processing for the first memory module which has been replaced, and the first power-up is sent by a control device; and

in response to the first power-up command, performing collaborative power-up processing on the first memory module and the target host server.

12 . The method as claimed in claim 11 , wherein in response to the first power-up command, performing collaborative power-up processing on the first memory module and the target host server comprises:

in response to the first power-up command, sending, by the baseboard management controller of the memory resource pool, a first out-of-band control instruction to a baseboard management controller of the target host server, wherein the first out-of-band control instruction is used for indicating power-up processing for the target host server;

receiving a third response message returned by the baseboard management controller of the target host server in response to the first out-of-band control instruction, and sending, by the baseboard management controller of the memory resource pool, a second power-up command to the target memory expander controller, wherein the third response message is sent after the target host server is powered up to a suspend-to-memory state, and the second power-up command is used for indicating power-up processing for the first memory module; and

after the first memory module is powered up, sending, by the baseboard management controller of the memory resource pool, a second out-of-band control instruction to the baseboard management controller of the target host server, wherein the second out-of-band control instruction is used for indicating continuous power-up processing for the target host server such that the target host server switches from the power-off state to a power-on state.

13 . The method as claimed in claim 1 , further comprising:

acquiring a health state of each memory module in the memory resource pool, wherein the health state of each memory module is used for indicating a running condition of each memory module; and

when determining that a second memory module in the memory resource pool is in a fault state based on the health state of each memory module, recording error information corresponding to the second memory module and a position of the second memory module in the memory resource pool in a form of a log, wherein the error information corresponding to the second memory module is used for indicating that the second memory module is in the fault state.

14 . The method as claimed in claim 13 , wherein acquiring the health state of each memory module in the memory resource pool comprises:

acquiring, by the baseboard management controller of the memory resource pool, state reference information corresponding to each memory module from a memory expander controller to which each memory module belongs, wherein the state reference information corresponding to each memory module is used for indicating the running condition of each memory module acquired by the memory expander controller to which each memory module belongs;

acquiring abnormity warning information corresponding to each memory module from a baseboard management controller of a host server corresponding to each memory module, wherein the abnormity warning information corresponding to each memory module is used for indicating an abnormal running condition of each memory module acquired by the host server corresponding to each memory module; and

performing integration processing on the state reference information corresponding to each memory module and the abnormity warning information corresponding to each memory module, so as to obtain the health state of each memory module.

15 . The method as claimed in claim 14 , wherein acquiring state reference information corresponding to each memory module from the memory expander controller to which each memory module belongs comprises:

acquiring parameter information of a set of running parameters of each memory module from the memory expander controller to which each memory module belongs, wherein running state information of each memory module comprises the parameter information of the set of running parameters of each memory module; and

acquiring a mailbox event recording log corresponding to each memory module from the memory expander controller to which each memory module belongs, wherein the running state information of each memory module comprises an error record which is extracted from the mailbox event recording log corresponding to each memory module and which is associated with a running state of each memory module.

16 . The method as claimed in claim 14 , wherein acquiring abnormity warning information corresponding to each memory module from the baseboard management controller of a host server corresponding to each memory module comprises:

acquiring the abnormity warning information corresponding to each memory module from the baseboard management controller of the host server corresponding to each memory module through a redfish command.

17 . The method as claimed in claim 14 , wherein the abnormity warning information corresponding to each memory module is sent to the baseboard management controller of the host server corresponding to each memory module by a basic input/output system of the host server corresponding to each memory module when the host server corresponding to each memory module detects that each memory module has an abnormity during a power-up process.

18 . The method as claimed in claim 14 , wherein performing integration processing on the state reference information corresponding to each memory module and the abnormity warning information corresponding to each memory module, so as to obtain the health state of each memory module comprises:

identifying a data transmission state of each memory module according to the state reference information corresponding to each memory module, and determining a first identifying result corresponding to each memory module;

identifying the data transmission state of each memory module according to the abnormity warning information corresponding to each memory module, and determining a second identifying result corresponding to each memory module; and

determining a memory module of which the data transmission state is an abnormal state indicated by at least one of the corresponding first identifying result and the corresponding second identifying result in the memory resource pool as a faulty memory module.

19 . A non-transitory readable storage medium, storing a computer program therein, wherein the computer program implements the steps of the method for processing the faulty memory module as claimed in claim 1 when being executed by a processor.

20 . An electronic device, comprising a memory, a processor, and a computer program stored on the memory and runnable on the processor, wherein the processor, when executing the computer program, implements the steps of the method for processing the faulty memory module as claimed in claim 1 .