Tagged Memory Architecture for Hardware-Level Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvememory protectionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #25Self-service

2Reliability

If centralized operating systems are used to manage memory, then memory management control is improved, but systems without operating systems lack memory protection

Engineering Contradiction:
Improvememory protectionVSAvoidsystem compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If memory chunks are divided into small units with control data, then memory isolation and security are improved, but memory management complexity increases

Engineering Contradiction:
Improvememory isolationVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10613860B2Computer architecture
Publication Date: 2020.04.07 ARM LTD
  • US10613860B2 patent drawing
  • US10613860B2 patent drawing
  • US10613860B2 patent drawing

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.