Tagged Memory Architecture for Hardware-Level Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer architectures, such as Von Neumann and Harvard architectures, lack effective memory protection mechanisms, leading to potential corruption or misinterpretation of memory due to bugs in operating systems or programs, especially in systems without centralized operating systems.
Innovation Solution
The implementation of a tagged memory system where each memory chunk is associated with control data, or a 'tag', managed by a memory manager that ensures only authorized memory accesses are performed, providing memory protection without the need for virtual memory mechanisms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtual memory mechanisms are used to isolate memory for each task, then memory protection and isolation are improved, but system complexity and overhead increase
Solution Approach 1:
The patent divides memory into fixed-size chunks (e.g., 16 or 32 bytes) and associates control data with each chunk. This segmentation approach provides memory protection by isolating tasks at the chunk level, eliminating the need for complex virtual memory mechanisms while maintaining reliability.
Solution Approach 2:
The control data embedded in each memory chunk autonomously manages protection and isolation without requiring external virtual memory management. Each memory chunk's control data independently tracks ownership and access permissions, providing self-service memory protection that reduces system overhead and complexity.
2Reliability
If centralized operating systems are used to manage memory, then memory management control is improved, but systems without operating systems lack memory protection
Solution Approach 1:
The memory protection mechanism is self-contained within the hardware architecture through control data embedded in each memory chunk. This eliminates dependency on centralized operating systems, allowing the system to provide memory protection in both OS-based and OS-less environments, thereby improving adaptability across different system configurations.
Solution Approach 2:
The control data acts as an intermediary between memory chunks and access requests, providing automated protection without requiring an operating system mediator. This intermediary mechanism enables memory protection to function independently of centralized OS control, enhancing system versatility.
3Reliability
If memory chunks are divided into small units with control data, then memory isolation and security are improved, but memory management complexity increases
Solution Approach 1:
The patent combines memory data and control data into unified memory chunks, where control data is embedded alongside the actual data. This merging eliminates the need for separate management structures, reducing memory management complexity while maintaining strong isolation through the integrated control data.
Solution Approach 2:
The control data within each memory chunk autonomously handles protection and isolation functions without requiring external management complexity. This self-service approach simplifies memory management despite the fine-grained division into small chunks, as the control data automatically manages access permissions and ownership.
Data Source
AI summary
A tagged memory organized is into memory chunks. Each memory chunk has a data field, a type field and an owner address field. The type field indicates type of data stored in the data field. The owner address field indicates which objects own which memory chunks. A memory manager has exclusive ability to allocate the memory chunks, deallocate the memory chunks, write to the memory chunks and read the memory chunks.


