Multi-core Processor Address Allocator for Inter-Core Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-core processors face performance degradation due to increased computational overhead from frequent address translation operations during inter-process communication (IPC) between cores, which hampers data processing efficiency.

Innovation Solution

A multi-core processor design that includes a shared memory with a message queue and address allocators, which perform address translation operations based on an access count to reduce the frequency of address translations, allowing cores to access memory regions in sequence and thereby minimize computational burden.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If address translation operations are performed frequently during inter-process communication between cores, then data can be accessed in shared memory, but computational overhead increases and processing efficiency decreases

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidinstruction cycles for address translation
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-establishing address mapping relationships between message queue memory regions and shared memory regions before inter-process communication occurs. The address allocator pre-translates and stores mapping information, so that during actual IPC operations, cores can directly use pre-computed addresses without performing address translation operations, thereby eliminating computational overhead and instruction cycle delays.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If multiple memory regions are accessed sequentially in message queues, then inter-process communication can be performed, but frequent address translation operations increase computational burden

Engineering Contradiction:
Improveinter-process communication capabilityVSAvoidcomputational overhead from address translation
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an address allocator as an intermediary component between cores and shared memory. The address allocator maintains and manages address mapping tables that translate logical addresses from message queue operations into physical addresses in shared memory. This intermediary handles all address translation operations centrally, allowing cores to perform simple sequential memory accesses without bearing the computational burden of address translation, thus simplifying the overall system operation while maintaining full IPC functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12019581B2Multi-core processor and storage device
Publication Date: 2024.06.25 SAMSUNG ELECTRONICS CO LTD
  • US12019581B2 patent drawing
  • US12019581B2 patent drawing
  • US12019581B2 patent drawing

AI summary

A multi-core processor includes a plurality of cores, a shared memory, a plurality of address allocators, and a bus. The shared memory has a message queue including a plurality of memory regions for transmitting messages between the plurality of cores. The plurality of address allocators are configured to, each time addresses in a predetermined range corresponding to a reference memory region among the plurality of memory regions are received from a corresponding core among the plurality of cores, control the plurality of memory regions to be accessed in sequence by applying an offset determined according to an access count of the reference memory region to the addresses in the predetermined range. The bus is configured to connect the plurality of cores, the shared memory, and the plurality of address allocators to one another.