Memory Controller Dummy Program for Secure Key Erasure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in securely erasing encrypted data from nonvolatile memories without reducing the limited number of program-erase cycles and efficiently managing security keys.

Innovation Solution

A memory controller with a key generator and encryption/decryption circuit that generates and manages security keys, allowing encrypted data to be stored alongside security keys, enabling a dummy program operation instead of actual erasure when requested, thus preserving the memory's program-erase cycles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If actual erasing of encrypted data is performed in nonvolatile memories, then data security is improved, but the limited number of program-erase cycles is reduced

Engineering Contradiction:
Improvedata securityVSAvoidprogram-erase cycles
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The patent creates a copy of the security key (first encrypted security key) and stores it separately from the original security key. When data needs to be erased, the system uses the copied encrypted key to invalidate the original key, thereby securing the data without physically erasing it from the memory. This copying approach allows multiple erasure operations without consuming program-erase cycles.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary mechanism (the first encrypted security key stored in a separate location) that mediates between the original security key and the encrypted data. By manipulating this intermediary (performing dummy program operations on it), the system can secure data without directly erasing the original key or data, thus preserving program-erase cycles while maintaining security.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If security keys are stored separately from encrypted data, then key management flexibility is improved, but device complexity increases

Engineering Contradiction:
Improvekey management flexibilityVSAvoidstorage management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the storage system into distinct components: one location stores the original security key, another location stores the first encrypted security key (a copy), and a third location stores the encrypted data. This segmentation allows independent management of keys and data, providing flexibility in key management operations while distributing the complexity across separate storage locations rather than requiring a complex unified system.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3955116B1Memory controller, and memory system including the same
Publication Date: 2024.01.10 SAMSUNG ELECTRONICS CO LTD
  • EP3955116B1 patent drawingFigure 1
  • EP3955116B1 patent drawingFigure 2
  • EP3955116B1 patent drawingFigure 3

AI summary

A memory controller includes a key generator, an encryption and decryption circuit, and a processor. The key generator generates a first security key and a second security key based on a write request from a host. The encryption and decryption circuit encrypts write data corresponding to the write request based on the first security key to generate encrypted write data, and encrypts the first security key based on the second security key to generate a first encrypted security key. The processor controls nonvolatile memories such that the encrypted write data, the first encrypted security key, and the second security key are programmed in at least one of the nonvolatile memories, and controls the nonvolatile memories such that a dummy program operation is performed on a page of the nonvolatile memories in which the second security key is programmed instead of erasing the encrypted write data.