# US 12,014,791 B2 · Memory fault handling method and apparatus, device, and storage medium

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,014,791 B2
- Document ID: US12014791B2
- Status: Granted
- Kind: B2
- Application number: 17/582,802
- Filed: 2022-01-24
- Published: 2022-05-12
- Granted: 2024-06-18
- Earliest claimed: 2020-06-20
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Guangyi Qiao; Yangbin Diao; Jiantao Ma
- Web page: https://patentgrep.com/patent/US12014791B2

## CPC

- G11C 29/4401: {for self repair}
- G11C 29/48: Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
- G06F 11/073: {in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00)}
- G06F 11/079: {Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36)}
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- G06F 11/1048: {using arrangements adapted for a specific error detection or correction feature}
- G11C 29/1201: {comprising I/O circuitry}
- G11C 29/24: Accessing extra cells, e.g. dummy cells or redundant cells
- G11C 29/38: Response verification devices
- G11C 29/76: {using address translation or modifications}
- G11C 29/78: {using programmable devices}
- G11C: STATIC STORES (semiconductor memory devices H10B)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present disclosure provides example memory fault handling method, computer device, and computer-readable storage medium. One example method includes starting fault analysis for a memory at a first moment, where the fault analysis includes obtaining a current fault analysis result of the memory by analyzing historical fault information, the historical fault information includes fault information of the memory accumulated in a historical time period, and the historical time period is a time period before the first moment or a time period before the first moment and including the first moment. Fault recovery is started for the memory based on the current fault analysis result of the memory.

## Claims

### Claim 1

A memory fault handling method, wherein the method comprises:
starting fault analysis for a memory of a computer system at a first moment during a running period of the computer system, wherein the fault analysis comprises:
obtaining a current fault analysis result of the memory by analyzing historical fault information, wherein the current fault analysis result comprises a fault mode, wherein the historical fault information comprises fault information of the memory accumulated in a historical time period, wherein the historical time period is a time period before the first moment or a time period before the first moment and comprising the first moment, and wherein obtaining the current fault analysis result of the memory comprises:
obtaining a first statistical feature based on the historical fault information, wherein the first statistical feature indicates a quantity of faulty bits that occur in a memory row of the memory during the historical time period, and wherein the first statistical feature is greater than a first threshold that indicates a quantity of faulty bits tolerable in each memory row; and
determining that the fault mode is the memory row fault; and
starting fault recovery for the memory based on the current fault analysis result of the memory.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the first moment is a time before an uncorrectable error (UCE) fault occurs in the computer system.

### Claim 3 (depends on 2)

The method according to claim 2, wherein the first moment comprises:
a time of periodic starting based on a preset condition or a time of determining that a memory fault occurs in the memory after the computer system runs.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the obtaining a current fault analysis result of the memory by analyzing historical fault information comprises:
inputting the historical fault information into a fault analysis model to obtain the current fault analysis result of the memory, wherein the fault analysis model is an intelligent calculation analysis model.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the starting fault recovery for the memory based on the current fault analysis result of the memory comprises:
when the fault mode is a memory row fault, starting fault recovery for the memory, wherein the fault recovery comprises:
replacing a faulty row with a redundant row; and
recovering data in the redundant row.

### Claim 6 (depends on 5)

The method according to claim 5, wherein the recovering data in the redundant row comprises:
performing a read operation on the redundant row; and
if the data read from the redundant row is erroneous data:
correcting the erroneous data to produce corrected data; and
writing back the corrected data to the redundant row to implement recovery of the data in the redundant row.

### Claim 7 (depends on 6)

The method according to claim 6, wherein when the data read from the redundant row is erroneous data, the method further comprises:
generating a correctable error (CE); and
performing a suppressing operation to suppress the CE.

### Claim 8 (depends on 7)

The method according to claim 7, wherein after the recovery of the data in the redundant row is completed, the method further comprises:
releasing the suppression operation on the CE.

### Claim 9 (depends on 1)

The method according to claim 1, wherein the current fault analysis result further comprises a fault level, and wherein the starting fault recovery for the memory based on the current fault analysis result of the memory comprises:
when the fault mode is the memory row fault and the fault level is a high risk level, starting fault recovery for the memory.

### Claim 10 (depends on 9)

The method according to claim 9, wherein the obtaining a current fault analysis result of the memory further comprises:
obtaining at least one of a second statistical feature or a third statistical feature based on the historical fault information, wherein the second statistical feature indicates a quantity of faults of each fault type that occur in the memory row in the historical time period, and the third statistical feature indicates a quantity of error corrections that occur in the memory row in the historical time period; and
when the second statistical feature is greater than a second threshold, or when the third statistical feature is greater than a third threshold, or when the second statistical feature is greater than the second threshold and the third statistical feature is greater than the third threshold, determining that the fault level is the high risk level, wherein the second threshold indicates a quantity of faults of each fault type that are tolerable in each memory row, and the third threshold indicates a quantity of error corrections that are tolerable in each memory row.

### Claim 11 (depends on 10)

The method according to claim 10, wherein the method further comprises:
displaying a risk mode option on an interaction interface, wherein the risk mode option comprises a high risk mode and a low risk mode.

### Claim 12 (depends on 11)

The method according to claim 11, wherein the first threshold, the second threshold, and the third threshold are variables that are set based on a risk mode selected by a user on the interaction interface.

### Claim 13 (depends on 1)

The method according to claim 1, wherein the current fault analysis result comprises a fault mode, and wherein the starting fault recovery for the memory based on the current fault analysis result of the memory comprises:
when the fault mode is a memory bank fault, starting fault recovery for the memory, wherein the fault recovery comprises:
replacing a faulty bank with a redundant bank; and
recovering data in the redundant bank.

### Claim 14

A computer device, comprising:
one or more processors; and
a memory storing a program to be executed by the one or more processors, wherein the program comprises instructions that cause the computer device to perform operations comprising:
starting fault analysis for a memory of a computer system at a first moment during a running period of the computer system, wherein the fault analysis comprises:
obtaining a current fault analysis result of the memory by analyzing historical fault information, wherein the current fault analysis result comprises a fault mode, wherein the historical fault information comprises fault information of the memory accumulated in a historical time period, wherein the historical time period is a time period before the first moment or a time period before the first moment and comprising the first moment, and wherein obtaining the current fault analysis result of the memory comprises:
obtaining a first statistical feature based on the historical fault information, wherein the first statistical feature indicates a quantity of faulty bits that occur in a memory row of the memory during the historical time period, and wherein the first statistical feature is greater than a first threshold that indicates a quantity of faulty bits tolerable in each memory row; and
determining that the fault mode is the memory row fault; and
starting fault recovery for the memory based on the current fault analysis result of the memory.

### Claim 15 (depends on 14)

The computer device of claim 14, wherein the first moment is a time before an uncorrectable error (UCE) fault occurs in the computer system.

### Claim 16 (depends on 15)

The computer device of claim 15, wherein the first moment comprises: a time of periodic starting based on a preset condition or a time of determining that a memory fault occurs in the memory after the computer system runs.

### Claim 17 (depends on 14)

The computer device of claim 14, wherein the obtaining a current fault analysis result of the memory by analyzing historical fault information comprises:
inputting the historical fault information into a fault analysis model to obtain the current fault analysis result of the memory, wherein the fault analysis model is an intelligent calculation analysis model.

### Claim 18 (depends on 14)

The computer device of claim 14, wherein the starting fault recovery for the memory based on the current fault analysis result of the memory comprises:
when the fault mode is a memory row fault, start fault recovery for the memory, wherein the fault recovery comprises:
replacing a faulty row with a redundant row; and
recovering data in the redundant row.

### Claim 19

A non-transitory computer-readable storage medium storing one or more instructions executable by a computer device to perform operations comprising:
starting fault analysis for a memory of a computer system at a first moment during a running period of the computer system, wherein the fault analysis comprises:
obtaining a current fault analysis result of the memory by analyzing historical fault information, wherein the current fault analysis result comprises a fault mode, wherein the historical fault information comprises fault information of the memory accumulated in a historical time period, wherein the historical time period is a time period before the first moment or a time period before the first moment and comprising the first moment, and wherein obtaining the current fault analysis result of the memory comprises:
obtaining a first statistical feature based on the historical fault information, wherein the first statistical feature indicates a quantity of faulty bits that occur in a memory row of the memory during the historical time period, and wherein the first statistical feature is greater than a first threshold that indicates a quantity of faulty bits tolerable in each memory row; and
determining that the fault mode is the memory row fault; and
starting fault recovery for the memory based on the current fault analysis result of the memory.
