Memory Address Protection System for Multi-Processor Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing number of processing cores and threads in computer systems leads to communication bottlenecks due to high latencies and software overheads, as most systems rely on message passing rather than shared memory, making it difficult to effectively apply parallelism to applications.

Innovation Solution

A memory device with an address protection system that allows efficient, low-latency access by multiple processors by creating protected memory locations, ensuring data coherency and reducing software overhead through protected references and a simplified memory controller design.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of processing cores and threads is increased to enhance parallel processing performance, then system performance is improved, but communication latency and software overhead increase disproportionately

Engineering Contradiction:
Improveparallel processing performanceVSAvoidcommunication latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges message passing and shared memory access into a unified memory interface. Multiple processors access a common memory space through a shared bus, eliminating the need for separate message passing protocols. This combining of access methods reduces communication latency while maintaining support for multiple processing cores and threads.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory device is designed to serve multiple functions: it acts as both shared memory for data storage and communication medium for inter-processor communication. The same memory infrastructure supports both traditional memory access patterns and message passing operations, reducing hardware complexity and software overhead while enabling efficient parallel processing.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Device complexity

If message passing is used to communicate between processors, then system architecture is simplified, but communication latency and software overhead increase

Engineering Contradiction:
Improvesystem architecture complexityVSAvoidcommunication latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent combines message passing and shared memory access into a unified memory interface. Multiple processors access a common memory space through a shared bus, eliminating the need for separate message passing protocols. This combining of access methods reduces communication latency while maintaining support for multiple processing cores and threads.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If protected memory locations are implemented to ensure data coherency, then data coherency is improved, but device complexity increases

Engineering Contradiction:
Improvedata coherencyVSAvoidmemory controller complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The memory controller pre-establishes protection statuses for memory locations before access occurs. When a processor needs to access protected memory, the controller has already configured the appropriate access permissions and coherency protocols. This preliminary setup eliminates the need for complex runtime coherency management, reducing operational complexity while maintaining strong data coherency guarantees.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9032145B2Memory device and method having on-board address protection system for facilitating interface with multiple processors, and computer system using same
Publication Date: 2015.05.12 MICRON TECHNOLOGY INC
  • US9032145B2 patent drawing
  • US9032145B2 patent drawing
  • US9032145B2 patent drawing

AI summary

A memory device includes an address protection system that facilitates the ability of the memory device to interface with a plurality of processors operating in a parallel processing manner. The protection system is used to prevent at least some of a plurality of processors in a system from accessing addresses designated by one of the processors as a protected memory address. Until the processor releases the protection, only the designating processor can access the memory device at the protected address. If the memory device contains a cache memory, the protection system can alternatively or additionally be used to protect cache memory addresses.