IP Library Granted Patent US 10,725,853
Granted Patent B2
US 10,725,853 · App. 16/730,589 · Granted Jul 28, 2020

Systems and methods for memory failure prevention, management, and mitigation

Inventors: Yin Zhang (Jersey City, NJ); Nafees Ahmed Abdul (Harrison, NJ); Boyu Ni (Weehawken, NJ); Gautham Reddy Kunta (Harrison, NJ); Andrei Khurshudov (Niwot, CO); Stephen J. Sicola (Monument, CO)
Assignee: Formulus Black Corporation
G06F11/0793G06F3/0688G06F11/073G06F11/076G06F12/0246
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 10,725,853
App. No.
16/730,589
Granted
Jul 28, 2020
Kind
B2
Abstract

Some embodiments described herein are directed to memory page or bad block monitoring and retirement algorithms, systems and methods for random access memory (RAM). Reliability issues or errors can be detected for multiple memory pages using one or more retirement criterion. In some embodiments, when reliability errors are detected, it may be desired to remove such pages from operation before they create a more serious problem, such as a computer crash. Thus, bad block retirement and replacement mechanisms are described herein.

Claims (36)

1. A computer-implemented method of monitoring and retiring memory pages in random access memory (RAM), the computer implemented method comprising:

monitoring, by a computer system, correctable error statistics for each of a plurality of memory pages, wherein the correctable error statistics comprise one or more page retirement criteria, wherein the one or more page retirement criteria comprise a correctable error count, correctable error rate, or a time since a most recent correctable error;

detecting, by the computer system, a high-risk page, wherein detecting the high-risk page comprises determining whether the page retirement criteria of the high-risk page has exceeded a retirement criteria threshold;

placing, by the computer system, page information associated with the high-risk page on a retired page list, wherein the retired page list has a size corresponding to a number of spare pages stored in a reserved space of RAM;

storing, by the computer system, identical data to data stored in the high-risk page in a spare page; and

identifying, by the computer system in a mapping of the plurality of memory pages, the high-risk page such that one or more references to the high-risk page in the mapping are rerouted to the spare page,

wherein the computer system comprises a processor and the RAM.

2. The computer-implemented method of claim 1 , wherein the one or more page retirement criteria comprise a single page retirement criterion.

3. The computer-implemented method of claim 1 , wherein the retirement criteria threshold comprises a predetermined, static threshold.

4. The computer-implemented method of claim 1 , wherein the retirement criteria threshold comprises a dynamically calculated threshold.

5. The computer-implemented method of claim 4 , wherein the dynamically calculated threshold is determined by calculating an outlier value based on a statistical distribution of the one or more page retirement criteria.

6. The computer-implemented method of claim 5 , wherein the statistical distribution comprises a normal distribution.

7. The computer-implemented method of claim 5 , wherein the outlier value is calculated using a formula comprising a mean and a standard deviation of the one or more page retirement criteria of the plurality of memory pages.

8. The computer-implemented method of claim 7 , wherein the outlier value comprises M+Vσ, wherein M comprises the mean, wherein V comprises a variable number, and wherein σ comprises the standard deviation.

9. The computer-implemented method of claim 1 , wherein the monitoring the correctible error statistics and the detecting a high-risk page are completed by a Central Faults Tolerance Manager (CFTM) of the computer system.

10. The computer-implemented method of claim 1 , wherein the one or more page retirement criteria comprises a plurality of page retirement criterion.

11. The computer-implemented method of claim 1 , further comprising reserving, by the computer system, the reserved space of RAM.

12. The computer-implemented method of claim 1 , wherein the reserved space comprises:

a spare pages space comprising the spare pages; and

the retired page list.

13. The computer-implemented method of claim 1 , wherein the RAM comprises:

a watched page list, wherein the page information associated with the high risk page is placed on the watched page list prior to placing the page information on the retired page list.

14. The computer-implemented method of claim 1 , wherein the high-risk page is available for data allocation by the computer system prior to placing the page information on the retired page list.

15. The computer-implemented method of claim 1 , wherein each of the plurality of pages comprises a 4 KB block of memory.

16. The computer-implemented method of claim 1 , wherein the computer system comprises a RAM-based computer system without a hard disk drive or solid state drive.

17. The computer-implemented method of claim 1 , wherein after the one or more references to the high-risk page in the mapping are rerouted to the spare page, the high-risk page is moved to the reserved space of RAM.

18. The computer-implemented method of claim 1 , wherein the computer system does not allocate data to pages in the reserved space of RAM.

19. The computer-implemented method of claim 1 , wherein the spare page is moved to an available space of RAM after the computer system stores the identical data in the spare page.

20. A computing system comprising:

one or more computer readable storage devices configured to store a plurality of computer executable instructions; and

one or more hardware computer processors in communication with the one or more computer readable storage devices and configured to execute the plurality of computer executable instructions in order to cause the system to:

monitor correctable error statistics for each of a plurality of memory pages, wherein the correctable error statistics comprise one or more page retirement criteria, wherein the one or more page retirement criteria comprise a correctable error count, correctable error rate, or a time since a most recent correctable error;

detect a high-risk page, wherein detecting the high-risk page comprises determining whether the page retirement criteria of the high-risk page has exceeded a retirement criteria threshold;

place page information associated with the high-risk page on a retired page list, wherein the retired page list has a size corresponding to a number of spare pages stored in a reserved space of a RAM;

store identical data to data stored in the high-risk page in a spare page; and

identify, in a mapping of the plurality of memory pages, the high-risk page such that one or more references to the high-risk page in the mapping are rerouted to the spare page.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2026
From: MICROMOD AUTOMATION & CONTROLS LLC
To: MICROMOD CONTROLS LLC
Reel/Frame 075296/0221 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2026
From: SICOLA, STEPHEN J.; ZHANG, YIN; REDDY, GAUTHAM
To: FORMULUS BLACK CORPORATION
Reel/Frame 075279/0269 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2026
From: SICOLA, STEPHEN J.; KHURSHUDOV, ANDREI
To: FORMULUS BLACK CORPORATION
Reel/Frame 075279/0557 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2026
From: FORMULUS BLACK CORPORATION
To: MICROMOD AUTOMATION & CONTROLS, LLC
Reel/Frame 075279/0862 →
Continuity (3)
Provisional Application 62787496 · Jan 2, 2019
Provisional Application 62834575 · Apr 16, 2019
Related Publication 20200210272A1 · Jul 2, 2020
Cited By (3)
US 12,488,110 US 12,596,603 US 12,699,763