Non-Volatile Memory Controller Data Integrity via MAC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Electronic devices with internal storage, such as solid state drives, face security challenges due to the vulnerability of data stored in host memory to tampering, as existing solutions lack effective mechanisms to ensure data integrity and security.

Innovation Solution

The implementation of a non-volatile memory system with a controller that uses a counter to generate a message authentication code (MAC) for each management area, associating it with the data, to detect and prevent tampering by utilizing a host memory address conversion table and managing data integrity through MAC values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is stored in host memory, then data accessibility and storage capacity are improved, but data integrity and security deteriorate due to vulnerability to tampering

Engineering Contradiction:
Improvedata storage capacityVSAvoiddata integrity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary action by calculating and storing the MAC value along with the data before any potential tampering can occur. The MAC value is computed based on the data and counter value, then stored in association with the data in the host memory. This preliminary protection mechanism ensures that when data is later read, its integrity can be verified against the stored MAC value, preventing undetected tampering while maintaining full data accessibility and storage capacity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If MAC value verification is performed for each data, then data security and integrity are improved, but device complexity and processing time increase

Engineering Contradiction:
Improvedata securityVSAvoidintegrity verification complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system merges the MAC value with the data storage structure, storing both the data and its corresponding MAC value together in the host memory. This merging approach simplifies the verification process by allowing the controller to read and compare MAC values directly with the associated data in a single operation, rather than requiring separate verification steps. The counter value is also integrated into the MAC calculation, providing a straightforward mechanism for tracking and verifying data integrity without adding complex external verification systems.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If counter value is incremented for each data storage, then data integrity tracking is improved, but processing time and operational complexity increase

Engineering Contradiction:
Improveintegrity trackingVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements self-service by having the controller automatically increment the counter value and calculate the MAC value as part of the normal data storage process. The counter is incremented based on the data size, and the MAC value is automatically computed using the counter value and data without requiring external intervention or additional processing steps. This self-service mechanism integrates integrity tracking into the existing storage operations, minimizing additional processing time while maintaining reliable integrity tracking.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12105641B2Electronic device
Publication Date: 2024.10.01 KIOXIA CORP
  • US12105641B2 patent drawing
  • US12105641B2 patent drawing
  • US12105641B2 patent drawing

AI summary

According to one embodiment, an electronic device includes a non-volatile memory; a controller that is electrically connected to the non-volatile memory and configured for accessibility to a memory space including a plurality of management areas in a host; at least one counter that is provided for each of the plurality of management areas and configured to increment a count value each time data is stored in the corresponding one of the plurality of management areas; and a circuit configured to generate a first value relating to integrity of the data for each management area based on the count value and the data. The controller is configured to store the data and the first value associated with the data.