Prefetching Execution Order Inspection Information in Semiconductor Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing control flow integrity (CFI) inspection methods incur high processing overhead, making it difficult to maintain device security while reducing processing costs.

Innovation Solution

A semiconductor device and method that includes a cache for prefetched execution order inspection information, predicted using prediction auxiliary information and a control flow graph, to reduce processing overhead during CFI inspection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CFI inspection is performed during program execution to maintain device security, then device security is improved, but processing overhead increases

Engineering Contradiction:
Improvedevice securityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent pre-calculates and stores execution order inspection information for multiple possible code block execution sequences before program execution. During runtime, the inspection unit directly retrieves pre-computed inspection information based on the actual execution path, avoiding time-consuming calculations during program execution. This preliminary preparation significantly reduces processing overhead while maintaining security inspection capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of execution order inspection information for different possible control flow paths and stores them in advance. When inspection is needed, the system retrieves the appropriate pre-computed copy corresponding to the actual execution path, eliminating the need to perform complex inspection calculations during program execution, thus reducing processing overhead while ensuring security.

Inventive Principle:
Principle #26Copying

2Measurement precision

If detailed processing is performed for CFI inspection, then inspection accuracy is improved, but processing overhead increases

Engineering Contradiction:
Improveinspection accuracyVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs detailed inspection information preparation in advance, calculating and storing verification information for all possible execution paths before program execution. During runtime, it simply retrieves the pre-computed information corresponding to the actual path, maintaining high inspection accuracy while minimizing processing overhead during execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the inspection task into two segments: offline preparation of inspection information for multiple possible paths, and online retrieval of the specific path's inspection information. This segmentation allows detailed processing to occur when computation resources are abundant (offline), while runtime processing remains lightweight (online), resolving the contradiction between accuracy and overhead.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If execution order inspection information is stored in main memory, then data availability is improved, but access speed deteriorates

Engineering Contradiction:
Improvedata availabilityVSAvoidaccess speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent extracts frequently accessed execution order inspection information from main memory into a specialized cache memory structure. This cache stores pre-computed inspection information for quick retrieval during program execution, significantly improving access speed while maintaining data availability through the cache-memory hierarchy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a cache memory as an intermediary between main memory and the inspection unit. The cache holds copies of frequently accessed execution order inspection information, acting as a buffer that provides fast access to inspection data while the comprehensive data remains stored in main memory, thus resolving the speed-availability tradeoff.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11860762B2Semiconductor device, control flow inspection method, non-transitory computer readable medium, and electronic device
Publication Date: 2024.01.02 NEC CORP
  • US11860762B2 patent drawing
  • US11860762B2 patent drawing
  • US11860762B2 patent drawing

AI summary

A semiconductor device (100) includes: first storage means (110) storing, in advance, a plurality of pieces of execution order inspection information (111˜11n) used for inspection of an execution order of a plurality of code blocks in a predetermined program, second storage means (120), which is a cache for the first storage means, and prediction means (130) for predicting a storage area of the execution order inspection information based on prediction auxiliary information in a first code block of the plurality of code blocks and a control flow graph of the program, the storage area being a prefetch target to be prefetched from the first storage means to the second storage means.