OS Memory Manager Isolation of Faulty RAM Regions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Faulty Random Access Memory (RAM) in computer systems can cause software instability and crashes, leading to user dissatisfaction and reputational harm for software developers, and existing diagnostic methods may interfere with the operating system or require error-correcting code (ECC) hardware.
Innovation Solution
The operating system dynamically identifies and excludes faulty RAM regions by performing diagnostic tests on allocated memory areas, using a memory manager to maintain information about faulty regions and prevent their allocation to software components, without requiring ECC hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If diagnostic tests are performed on RAM at start-up before the operating system executes, then memory errors can be detected and faulty pages identified, but the tests alter memory contents which would interfere with an executing operating system or other software components
Solution Approach 1:
The patent performs memory diagnostic tests during system start-up before the operating system executes, identifying and marking faulty memory pages in advance. This preliminary action ensures that faulty pages are detected and excluded from future allocations without interfering with subsequent operating system operations.
Solution Approach 2:
The patent introduces a memory manager component that acts as an intermediary between the operating system and physical memory. The memory manager maintains a data structure tracking faulty pages and intercepts memory allocation requests, preventing the operating system from accessing faulty regions while allowing normal operation to continue.
2Adaptability or versatility
If memory tests are implemented as application programs, then memory can be tested while the operating system is executing, but the tests don't have as much access to memory and system resources as memory tests integrated into the OS
Solution Approach 1:
The patent implements memory testing functionality within the operating system kernel, making the memory manager universal by combining both operating system management and memory diagnostic capabilities in a single integrated component. This allows full access to system resources while maintaining the ability to detect and mitigate memory errors.
3Reliability
If error correcting coding (ECC) is used to correct memory errors, then bit errors in data read from memory can be corrected, but when more errors than can be corrected occur, the errors cannot be corrected and additional faulty pages must be identified
Solution Approach 1:
The patent creates a logical copy or map of physical memory pages in a data structure maintained by the memory manager. This copy tracks the status of each page (healthy, faulty, under test) and allows the system to manage memory allocations based on this virtual representation without requiring complex hardware modifications.
Data Source
AI summary
A system and method for mitigating memory errors in a computer system. Faulty memory is identified and tested by a memory manager of an operating system. The memory manager may perform diagnostic tests while the operating system is executing on the computer system. Regions of memory that are being used by software components of the computer system may also be tested. The memory manager maintains a stored information about faulty memory regions. Regions are added to the stored information when they are determined to be faulty by a diagnostic test tool. Memory regions are allocated to software components by the memory manager after checking the stored information about faulty memory regions. This ensures a faulty memory region is never allocated to a software component of the computer system.


