Non-Volatile Memory Data Verification via Programmable Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems with non-volatile system memory, the process of instant restart is hindered by the need to verify data integrity, which involves transferring large amounts of data from system memory to processing cores, consuming significant time and potentially defeating the performance benefits of non-volatile memory.

Innovation Solution

Implementing programmable logic circuitry within the hardware to perform data checking functionality, partitioning the data checking process across processing cores, memory controllers, and DIMM cards, allowing data verification to occur independently of software execution and reducing the need for large data transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data checking is performed by transferring data from system memory to processing cores, then data verification can be performed, but the time required for restart increases significantly

Engineering Contradiction:
Improvedata verificationVSAvoidrestart time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the data checking function from the main processing cores and places it in dedicated checking logic within the memory controller. This separation allows data verification to occur independently during memory operations, eliminating the need to transfer data to processing cores for verification, thus resolving the contradiction between ensuring data reliability and minimizing restart time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements preliminary data checking by performing verification operations during normal memory write operations. Checksum values are calculated and stored alongside data in the non-volatile memory during the write process, so that when a restart occurs, the data can be quickly verified by comparing stored checksums without requiring time-consuming data transfers or recalculation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If large amounts of data are transferred from system memory to processing cores for verification, then data integrity can be checked, but the performance benefits of non-volatile memory are defeated

Engineering Contradiction:
Improvedata integrityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the data checking function from the main processing cores and places it in dedicated checking logic within the memory controller. This separation allows data verification to occur independently during memory operations, eliminating the need to transfer data to processing cores for verification, thus resolving the contradiction between ensuring data reliability and minimizing restart time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces checksum values as intermediary data that represents the integrity of large data blocks. Instead of transferring and verifying entire data sets, the system transfers and verifies only the compact checksum values, which serve as intermediaries to prove data integrity without requiring the actual data to be moved to processing cores.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If data checking is performed during system restart, then data corruption can be detected, but the restart process becomes slower

Engineering Contradiction:
Improvecorruption detectionVSAvoidrestart speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent implements preliminary data checking by performing verification operations during normal memory write operations. Checksum values are calculated and stored alongside data in the non-volatile memory during the write process, so that when a restart occurs, the data can be quickly verified by comparing stored checksums without requiring time-consuming data transfers or recalculation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates compact copies of data integrity information in the form of checksum values that are stored with the data. These checksum copies allow for rapid verification during restart by comparing the stored checksum against a recalculated checksum, providing corruption detection without requiring the time-consuming transfer and processing of the actual data.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10387259B2Instant restart in non volatile system memory computing systems with embedded programmable data checking
Publication Date: 2019.08.20 INTEL CORP
  • US10387259B2 patent drawing
  • US10387259B2 patent drawing
  • US10387259B2 patent drawing

AI summary

An apparatus is described. The apparatus includes a memory controller having a programmable component. The programmable component is to implement a data checking function. The programmable component is to receive and process partial results of the data checking function from two or more DIMM cards that are coupled to the memory controller.