Embedded Software Memory Access Control via Error-Code State Indicators
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing embedded software development is lengthy and costly due to memory access unreliability in programming languages like C and C++, leading to crashes and security vulnerabilities, and existing solutions are complex and resource-intensive.
Innovation Solution
A method and device for controlling memory access in embedded software development by using error codes and state indicators to detect memory access errors, without requiring substantial system modifications or additional resources, by storing state indicators in error code storage spaces to identify allocation, initialization, and deallocation issues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing memory access control solutions are implemented, then memory access reliability is improved, but device complexity and resource requirements increase
Solution Approach 1:
The patent reuses the existing error code storage space for dual purposes: storing traditional error detection codes and storing state indicators for memory access control. This multi-functionality approach eliminates the need for separate control structures, thereby improving memory access reliability without increasing device complexity
Solution Approach 2:
The system uses its own existing storage resources (error code space) to provide memory access control functionality. By having the error code storage space serve as the state indicator storage space, the system performs self-service control without requiring external additional resources or complex control mechanisms
2Reliability
If existing memory access control solutions are implemented, then memory access reliability is improved, but computing resources and memory requirements increase
Solution Approach 1:
The patent makes the error code storage space serve multiple functions: it stores both traditional error detection codes and state indicators for tracking memory allocation status. This eliminates the need for separate memory structures, thereby improving reliability without increasing memory resource consumption
Solution Approach 2:
The patent repurposes the existing error code storage capacity to serve as state indicator storage. By recovering and reusing the same storage space for a different function (state tracking), the system avoids duplicating memory resources while achieving enhanced memory access control
3Difficulty of detecting and measuring
If state indicator storage is added to detect memory access errors, then error detection capability is improved, but device complexity increases
Solution Approach 1:
The patent merges the state indicator storage function with the existing error code storage space. By combining these two functions into a single storage location, the system improves error detection capability while avoiding the complexity of maintaining separate storage structures
Solution Approach 2:
The error code storage space is designed to serve multiple purposes: storing error detection codes during normal operation and storing state indicators during development/testing phases. This multi-functionality enables enhanced error detection without adding separate storage infrastructure
Data Source
AI summary
A method for controlling memory access for an embedded computer program, during the development phase, the computer program being executed in a device comprising a memory unit, the memory unit comprising a payload storage space and a corresponding space for storing error detector or corrector codes, the method comprising storing a state indicator in a location of the error code storage space, the stored state indicator being independent of a payload stored in a corresponding location of the payload storage space and being representative of a state of the location of the payload storage space, and detecting a memory access error in a location of the payload storage space depending on a state indicator stored in a corresponding location of the error code storage space.


