Non-Volatile Memory Checksum Verification for Smart Cards

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The verification of programmed data on smart cards can be time-consuming due to the need for direct comparison of data stored in secure data storage, which limits operation performance and increases the risk of tampered data being programmed.

Innovation Solution

A method involving transferring program data to a page buffer of non-volatile memory, calculating checksum values, and comparing these values to determine if the data has been tampered, with a control unit managing the process to prevent external attacks and ensure data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is verified by direct comparison in secure data storage, then data integrity is ensured, but verification time increases and operation performance decreases

Engineering Contradiction:
Improvedata integrityVSAvoidoperation performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by calculating checksum values during the program operation phase before data is fully written to secure storage. The control unit calculates a first checksum value for program data in the page buffer before writing, and a second checksum value after writing, enabling verification without requiring time-consuming direct comparison operations during subsequent read operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating checksum copies of the program data rather than copying the entire data for verification. The control unit calculates checksum values based on the program data in the page buffer, which serves as a condensed representation of the data integrity, avoiding the need to copy and compare entire data blocks during verification operations.

Inventive Principle:
Principle #26Copying

2Reliability

If verification operation is performed after program data is written, then data integrity can be checked, but the verification process is time-consuming and limits operation performance

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

Solution Approach 1:

The patent performs verification actions preliminarily during the program operation itself. The control unit calculates checksum values for program data in the page buffer before the data is written to secure storage, and compares these checksum values after writing to verify integrity. This eliminates the need for separate, time-consuming verification operations after the program completes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent maintains continuity of useful action by integrating verification into the program operation flow itself. The control unit continuously monitors program data in the page buffer, calculates checksum values during the write process, and performs verification comparisons as part of the same operational sequence, eliminating idle verification time between operations.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If checksum calculation is performed on program data in page buffer, then verification efficiency is improved, but additional processing steps are required

Engineering Contradiction:
Improveverification efficiencyVSAvoidprocessing steps
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies self-service by having the control unit automatically calculate and compare checksum values as part of its inherent control functions. The control unit calculates a first checksum value for program data in the page buffer before writing, and a second checksum value after writing, then automatically compares these values to verify integrity without requiring external verification systems or additional complex processing hardware.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent uses parameter changes by transforming the verification process from binary data comparison to numerical checksum comparison. Instead of comparing entire data blocks directly, the system converts program data into checksum values (first and second checksum values) that can be efficiently calculated and compared, changing the verification parameter from data integrity bits to numerical integrity values.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7992009B2Device and method capable of verifying program operation of non-volatile memory and method card including the same
Publication Date: 2011.08.02 SAMSUNG ELECTRONICS CO LTD
  • US7992009B2 patent drawing
  • US7992009B2 patent drawing
  • US7992009B2 patent drawing

AI summary

A method of verifying programming of an integrated circuit card includes transferring program data to a page buffer of a non-volatile memory, copying the program data to a buffer memory, calculating a first checksum value with respect to program data in the buffer memory, updating the program data in the buffer memory by copying the program data of the page buffer to the buffer memory, calculating a second checksum value with respect to updated program data in the buffer memory, comparing the first checksum value and the second checksum value, and determining, based on the comparison result, whether the program data of the page buffer is tampered.