Non-Volatile Memory Code Validation via Interrupt Override

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Code written by outside entities in non-volatile memory can potentially compromise computer systems, necessitating secure validation and interruption mechanisms to prevent data corruption.

Innovation Solution

A method that receives Seeprom code, determines its origin, generates an interrupt code to prevent execution, and overrides it using Otprom code with secure validation, ensuring secure validation and execution of the code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code from outside entities is allowed to execute in non-volatile memory, then system functionality and adaptability are improved, but security and reliability deteriorate due to potential data corruption and system compromise

Engineering Contradiction:
Improvecode execution capabilityVSAvoiddata integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary validation of code before allowing execution. A validation routine is executed prior to code operation to verify integrity, ensuring that only authenticated code can execute while maintaining system security and preventing data corruption from unvalidated external code

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An intermediary validation mechanism is introduced between code storage and execution. The validation routine acts as a mediator that checks code authenticity and integrity before permitting execution, thereby enabling external code execution while protecting data integrity through this intermediate security layer

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If validation routines are implemented to secure code execution, then reliability and security are improved, but device complexity and processing time increase

Engineering Contradiction:
Improvecode validation securityVSAvoidvalidation mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The validation mechanism is segmented into distinct components: a validation routine that checks code integrity, an interrupt generation mechanism that prevents unauthorized execution, and an override path for authenticated code. This segmentation allows each component to be optimized independently while maintaining overall security functionality

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements feedback through interrupt signals that respond to validation results. When validation fails, an interrupt is generated to prevent execution; when validation succeeds, the interrupt is overridden to allow execution. This feedback mechanism provides clear security control while managing complexity through automated responses

Inventive Principle:
Principle #23Feedback

3Reliability

If interrupt codes are generated to prevent unauthorized code execution, then security is improved, but ease of operation deteriorates due to execution blocks

Engineering Contradiction:
Improveexecution securityVSAvoidcode execution availability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The interrupt mechanism provides feedback-based control: it blocks execution when validation fails (enhancing security) but automatically removes the block when validation succeeds (maintaining ease of operation). This feedback loop ensures that security restrictions are dynamically adjusted based on code authenticity, balancing security and operational smoothness

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11775694B2Validating and securing non-volatile memory
Publication Date: 2023.10.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11775694B2 patent drawing
  • US11775694B2 patent drawing
  • US11775694B2 patent drawing

AI summary

Validating code that is stored in non-volatile memory. In some instances, code that is written and/or processed by an outside entity that is brought into a local non-volatile memory setting can potentially compromise a given computer system. In order to ensure that this type of code is secure, there are methods to generate interrupt signals that can later be overridden by Otprom code in order to properly validate this outside code.