NVDIMM Controller Error Scanning for Persistent Memory Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile dual in-line memory modules (NVDIMMs) face challenges in handling uncorrected errors in persistent memory, which can lead to data loss and system failures due to the inability of BIOS to access and manage device physical addresses (DPAs) within the NVDIMM, as these errors persist across reboots and are not recoverable by basic input/output systems (BIOS).
Innovation Solution
A controller resident on the NVDIMM scans for uncorrected errors in the device physical address range and indicates these errors to the BIOS, which then converts them to system physical addresses (SPAs) to prevent system access, utilizing a data structure to store this information and manage error scanning status, allowing the operating system or device driver to avoid mapping affected memory locations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of stationary object
If non-volatile memory is used to provide persistent memory, then data retention is improved, but uncorrected errors persist across reboots causing data loss
Solution Approach 1:
The controller performs preliminary error scanning of the non-volatile memory before the operating system boots, identifying uncorrected errors in advance. This preliminary action allows the system to prepare error location information and prevent future data loss by avoiding mapping faulty memory addresses, thus resolving the contradiction between data retention and data integrity.
2Ease of operation
If BIOS is used to manage memory addresses, then system booting is simplified, but BIOS cannot access or manage device physical addresses within NVDIMM
Solution Approach 1:
The controller acts as an intermediary between the BIOS and the non-volatile memory. It translates device physical addresses into system physical addresses and provides error location information to the BIOS, enabling the BIOS to manage memory addresses without directly accessing the complex DPA structure within the NVDIMM.
Solution Approach 2:
The controller extracts and presents only the necessary error location information to the BIOS, separating the complex address management functionality from the BIOS. This allows the BIOS to operate simply while the controller handles the complexity of DPA to SPA conversion and error identification.
3Quantity of substance
If large memory capacity is implemented, then storage capability is improved, but OS cannot sense power failure and prevent data loss
Solution Approach 1:
The NVDIMM controller autonomously performs error scanning and generates error location information without requiring OS intervention. This self-service capability allows the system to detect and report uncorrected errors independently, enabling the OS to prevent data loss by avoiding faulty addresses even with large memory capacities.
Data Source
AI summary
Examples may include a basic input/output system (BIOS) for a computing platform communicating with a controller for a non-volatile dual in-line memory module (NVDIMM). Communication between the BIOS and the controller may include a request for the controller to scan and identify error locations in non-volatile memory at the NVDIMM. The non-volatile memory may be capable of providing persistent memory for the NVDIMM.


