Embedded Memory Security via ECC Access Identifier Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional digital control systems require additional registers for managing memory access between parallel executing programs, which is resource-intensive and lacks efficient protection mechanisms to prevent unauthorized access to shared memory areas.
Innovation Solution
Implementing an error correction code (ECC) scheme that uses access identifiers to protect memory areas by combining data with the identifier during read and write operations, allowing only authorized programs to access specific memory regions through ECC logic that checks for matching values, thereby preventing unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional memory management methods (MMU or memory protection registers) are used to protect memory areas, then memory access security is improved, but device complexity and resource requirements increase due to additional registers
Solution Approach 1:
The patent combines the memory protection function with the existing ECC logic by integrating the access identifier verification into the same hardware module. Instead of adding separate protection registers, the ECC logic is enhanced to perform both error correction and access authorization functions, thereby merging two functions into one existing component and avoiding additional registers.
Solution Approach 2:
The ECC logic is transformed into a multi-functional component that serves both its original purpose (error detection and correction) and a new security function (access identifier verification). By making the ECC logic universal, the system achieves memory protection without requiring dedicated protection hardware, thus reducing overall device complexity.
2Reliability
If additional registers are added for task/program management, then memory protection capability is improved, but resource requirements and device complexity increase
Solution Approach 1:
The patent merges the memory protection function with the existing ECC logic by integrating the access identifier verification into the same hardware module. Instead of adding separate protection registers, the ECC logic is enhanced to perform both error correction and access authorization functions, thereby merging two functions into one existing component and avoiding additional registers.
Solution Approach 2:
The ECC logic serves itself by extending its functionality to include access identifier verification. Rather than requiring external protection hardware, the existing ECC module performs both error correction and security verification, making the system self-sufficient and eliminating the need for additional protection registers.
3Productivity
If time-sharing method is used to execute multiple programs, then processor utilization is improved, but the risk of program interference increases
Solution Approach 1:
The system implements feedback by having the ECC logic verify the access identifier against the stored identifier for each memory access request. This continuous verification provides feedback on whether the accessing program is authorized, enabling real-time detection and prevention of unauthorized access during time-sharing execution.
Solution Approach 2:
The ECC logic acts as an intermediary between the processor and memory, intercepting memory access requests and verifying access identifiers before allowing access. This intermediary function ensures that even during time-sharing, each program can only access its designated memory areas, preventing interference while maintaining high processor utilization.
Data Source
AI summary
A method and apparatus for embedded memory security is disclosed. One embodiment protects data in a memory block from unauthorized reading. When writing or reading data to or from the memory block an error correction code is used to calculate an ECC value, wherein the calculation of the ECC value is based on a combination of the data and a access identifier provided to the memory block prior to reading. The access identifier identifies the requesting program. A read error is signalled in case the calculated ECC value does not match a stored value thus indicating an access violation.

