Memory Controller ECC Logging for NVDIMM Backup Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software-based NVDIMMs (NVDIMM-SWs) face challenges in ensuring data integrity during backup operations, particularly when in System Management Mode (SMM), as they cannot detect or correct memory errors, leading to uncertainty about data integrity upon system reset.

Innovation Solution

Implementing a machine check register to store error checking data, which is scanned by the main processor during backup operations, allowing for continuous error checking and logging of integrity issues, ensuring data integrity is maintained even when in SMM.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If NVDIMM-SWs are used to emulate hybrid memory functions with independent volatile and non-volatile memory, then cost is reduced compared to hardware-based NVDIMM-Ns, but data integrity cannot be ensured during backup operations when in System Management Mode

Engineering Contradiction:
Improvedata integrityVSAvoidbackup operation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by implementing error detection and logging mechanisms before backup operations complete. The system proactively detects potential data integrity issues during the backup process and logs them in advance, so that when the backup finishes or the system resets, the integrity status is already known and can be acted upon without requiring complex post-backup verification procedures.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses an intermediary approach by introducing a logging mechanism that acts as a mediator between the backup operation and the integrity verification process. The log file serves as an intermediary record that captures error information during backup, allowing the system to separate the backup function from the integrity verification function, thereby simplifying the overall system architecture while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the main processor enters System Management Mode to handle memory errors, then memory errors can be detected and corrected, but the processor cannot perform normal operations including operating system execution, creating operational downtime

Engineering Contradiction:
Improveerror detection capabilityVSAvoidsystem operational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by detecting and logging errors during backup operations before they disrupt normal system operation. By proactively identifying data integrity issues during the backup process and recording them in advance, the system prevents unexpected errors from occurring during critical operations, thereby maintaining continuous productivity while still ensuring error detection capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by continuously monitoring backup operations and logging error information in real-time. This feedback mechanism allows the system to track data integrity status without interrupting normal processor operations, enabling the system to maintain both error detection capability and operational efficiency through continuous information flow rather than interruptive error handling.

Inventive Principle:
Principle #23Feedback

3Reliability

If error checking bits are stored in DRAM alongside data bits, then data integrity can be verified through EDC or ECC codes, but additional memory space is required increasing the memory module capacity

Engineering Contradiction:
Improvedata integrity verificationVSAvoidmemory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies copying by creating a log file that replicates error information separately from the main data storage. Instead of requiring additional error checking bits in the primary memory array, the system copies relevant integrity information into a dedicated log structure during backup operations, thereby maintaining data integrity verification capability without increasing the capacity requirements of the main memory modules.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10310926B2Data error detection in computing systems
Publication Date: 2019.06.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10310926B2 patent drawing
  • US10310926B2 patent drawing
  • US10310926B2 patent drawing

AI summary

Embodiments of ensuring data integrity in computing devices and associated methods of operations are disclosed therein. In one embodiment, a method includes receiving, at a memory controller, a data request from the persistent storage to copy data from the memory. In response to the received data request, the requested data is retrieved from the memory. The retrieved data contains data bits and corresponding error correcting bits. The method can also include determining, at the memory controller, whether the retrieved data bits contain one or more data integrity errors based on the error correcting bits associated with the data bits. In response to determining that the retrieved data bits contain one or more data integrity errors, the memory controller can write data representing existence of the one or more data integrity errors into a memory location accessible by the processor for ensuring data integrity.