Memory Integrity Protection via Opportunistic MAC Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in maintaining data integrity and minimizing access delays due to the need for frequent updates of Message Authentication Codes (MACs) when sequence numbers expire, which requires substantial storage and causes system unavailability during refresh processes.

Innovation Solution

A system and method that utilize a global epoch counter and local sequence numbers with age and opportunity counters to opportunistically update MACs during normal data operations, reducing the frequency and duration of access delays by minimizing the need for immediate refreshes and allowing updates in the background.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If MACs are updated frequently to maintain data integrity, then data integrity is improved, but storage requirements increase and system availability decreases

Engineering Contradiction:
Improvedata integrityVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The sequence number is divided into two independent counters: a local age counter stored with each memory block and a global epoch counter stored separately. This segmentation allows the age counter to wrap around frequently without requiring immediate MAC updates, reducing storage requirements while maintaining integrity through the global epoch counter validation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs MAC updates opportunistically during normal write operations before the age counter overflows, rather than waiting for overflow events. This preliminary action during routine operations reduces the frequency of urgent refresh processes and minimizes system unavailability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If MACs are updated frequently to maintain data integrity, then data integrity is improved, but system availability decreases

Engineering Contradiction:
Improvedata integrityVSAvoidsystem availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system updates MACs opportunistically during normal write operations before the age counter overflows. By performing updates during routine writes rather than waiting for overflow events, the system maintains data integrity while minimizing interruptions and keeping the memory system available for normal operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory controller automatically manages the age counter and epoch counter synchronization without requiring external intervention. The system self-regulates by detecting when updates are needed and performing them during appropriate opportunities, reducing system unavailability caused by manual refresh processes.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10042780B2Integrity protection for data storage
Publication Date: 2018.08.07 SYNOPSYS INC

AI summary

A method and system for protecting the integrity of a memory system. An age counter and an opportunity counter are provided for each of multiple memory blocks. An epoch counter is provided for the memory system. Data is written in a selected memory block which increases the local sequence number of the selected memory block. The opportunity counter for the selected memory block is updated if the local sequence number of the selected memory block rolls over. A message authentication code (MAC) is generated in the selected memory block based on a global sequence number and the local sequence number. The age counter and the opportunity counter are updated for memory blocks when the opportunity counter for the memory blocks matches the LSB of the epoch counter. A new MAC is generator for any memory block for which the updating is performed.