Interprocess Memory Controller Pointer Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current interprocess communication techniques in multi-process devices are inefficient, leading to increased memory and bandwidth requirements, processing cycles, and instability due to lack of memory management enforcement, resulting in complex and power-intensive systems.

Innovation Solution

An interprocess memory controller that enforces access rights to shared memory, allowing efficient communication by passing pointers to buffers in shared memory, thereby avoiding data copying and ensuring authorized access and freeing of memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is copied from source process memory to destination process memory for interprocess communication, then data can be shared between processes, but memory storage requirements and bandwidth requirements increase

Engineering Contradiction:
Improveinterprocess communication reliabilityVSAvoidmemory storage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent uses a pointer copy mechanism instead of data copying. The source process memory region stores a pointer to the actual data, and the destination process receives this pointer. This allows the destination process to access the source process's memory directly without duplicating the data, thereby reducing memory storage requirements while maintaining communication reliability

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The source process memory region acts as an intermediary structure that contains the pointer. This intermediary enables indirect access to the actual data, allowing interprocess communication without direct data copying. The pointer serves as the mediator between the source and destination processes

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is copied from source process memory to destination process memory, then interprocess communication is enabled, but processing cycles and bus clock cycles are consumed

Engineering Contradiction:
Improveinterprocess communication reliabilityVSAvoidprocessing cycles
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of copying the actual data bytes, the system copies only the pointer (a small fixed-size value) from the source process memory region to the destination process. This reduces the number of processing cycles and bus clock cycles required compared to copying the entire data set

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical data copying process with a pointer-based indirect access mechanism. This substitution eliminates the need for byte-by-byte data transfer operations, significantly reducing processing time and cycle consumption

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If memory size and bandwidth requirements are increased to support interprocess communication, then communication capability is improved, but space requirements and power requirements increase

Engineering Contradiction:
Improveinterprocess communication capabilityVSAvoidpower requirements
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The pointer copying mechanism enables interprocess communication capability without requiring additional memory bandwidth for data transfer. Since the pointer size is fixed and small compared to the actual data, the bandwidth consumption is minimized while maintaining full communication adaptability

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The source process memory region serves multiple functions: it stores the actual data and simultaneously stores the pointer to that data. This multi-functionality allows the same memory structure to support both data storage and communication routing, reducing the need for separate communication infrastructure and associated power consumption

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

4Ease of operation

If processes self-manage shared memory usage without enforcement mechanisms, then memory access flexibility is improved, but system stability decreases due to potential unauthorized access

Engineering Contradiction:
Improvememory access flexibilityVSAvoidsystem stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The source process memory region acts as an enforced intermediary structure that mediates all access to the shared data. This intermediary enforces the rule that only the source process can modify the data while the destination process can only read it via the pointer, providing both flexibility and stability through structured access control

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses self-enforcing memory protection mechanisms where the memory architecture itself prevents unauthorized access. The destination process cannot directly access or modify source process memory without going through the pointer mechanism, and the source process memory region structure inherently protects the data, eliminating the need for external enforcement while maintaining stability

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8286188B1Method and apparatus for advanced interprocess communication
Publication Date: 2012.10.09 MARVELL ASIA PTE LTD
  • US8286188B1 patent drawing
  • US8286188B1 patent drawing
  • US8286188B1 patent drawing

AI summary

An interprocess memory controller is described that may be used to provide multiple processes within a multi-process device with access to a shared physical memory. The described interprocess memory controller may enforce access rights to shared memory that has been allocated to the respective processes, thereby guarding the multi-process device from instability due to the unauthorized overwriting and/or unauthorized freeing of allocated memory. The described interprocess memory controller approach may streamline interprocess communication by allowing data associated with an interprocess communication to be passed from a first process to a second process by passing a pointer as well as access rights to a buffer in shared memory that contains the message data. In this manner, the described interprocess memory controller approach may avoid the inefficiency of interprocess communication approaches that copy message data from a shared memory controlled by a first process to a shared memory controlled by a second process.