Stack Error Code Differencing for Fast Corruption Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing information processing systems face challenges in detecting stack destruction during program execution interruptions and resumptions, leading to potential data corruption and system malfunctions due to the overhead of generating and comparing error detection codes for entire stack areas.

Innovation Solution

An information processing apparatus that generates and stores error detection codes for used stack areas, differentiates changes between interruption and resumption times, and collates these codes to detect stack destruction, reducing processing overhead by focusing on differential areas and unused regions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error detection codes are generated and compared for the entire stack area, then stack destruction detection reliability is improved, but processing overhead increases and execution speed deteriorates

Engineering Contradiction:
Improvestack destruction detection reliabilityVSAvoidprogram execution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the stack area into multiple segments and generates error detection codes for each segment separately. When the program is interrupted, only the error detection codes for the used partial area segments are generated and compared, rather than processing the entire stack area. This segmentation approach maintains detection reliability for the active stack regions while significantly reducing the processing overhead compared to whole-stack verification.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If error detection codes are generated at every interruption and resumption, then detection precision is improved, but processing time increases

Engineering Contradiction:
Improvestack destruction detection precisionVSAvoidinterruption and resumption time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by generating error detection codes only for the used partial area of the stack at interruption and resumption points, rather than for the entire stack area. This approach maintains sufficient detection precision for the active code regions while reducing the time loss associated with generating and comparing error detection codes during frequent interrupt operations.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the entire stack area is monitored for destruction, then detection coverage is improved, but device complexity increases

Engineering Contradiction:
Improvedetection coverageVSAvoiderror detection system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements local quality by applying error detection specifically to the used partial area of the stack where active data resides, rather than uniformly monitoring the entire stack area. This approach achieves effective detection coverage for the relevant regions while simplifying the detection system by avoiding unnecessary processing of unused stack regions, thereby reducing overall system complexity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10586039B2Information processing apparatus
Publication Date: 2020.03.10 FSAS TECH INC
  • US10586039B2 patent drawing
  • US10586039B2 patent drawing
  • US10586039B2 patent drawing

AI summary

An information processing apparatus includes a memory and a processor. The memory stores a first string of error detection codes each corresponding to a used partial area of a stack area allocated to a program. The processor generates, when execution of the program is interrupted, a differential string of error detection codes each corresponding to a used partial area of a difference between used partial areas at the time of generating the first string and used partial areas at the interruption. The processor obtains a second string of error detection codes by reflecting the differential string to the first string. The processor generates, when the execution of the program is resumed, a third string of error detection codes each corresponding to a used partial area of the stack area at the resumption. The processor detects stack destruction based on collation between the second string and the third string.