Multi-Processor Memory System with Shared Dual-Port RAM

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-media systems with multiple processors, the increasing number of memories required for each processor leads to higher platform area and power consumption, and existing dual-port volatile memories suffer from access collisions due to simultaneous access via different ports.

Innovation Solution

A memory system and management method that utilize a dual-port RAM or pseudo dual-port RAM with access protection, where one non-volatile memory holds system management information for multiple processors, and a shared dual-port memory with assigned access rights and token-based control to prevent collisions, reducing the number of memory components and area while maintaining data speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each micro-processor is equipped with separate non-volatile and volatile memories, then each processor can independently store and access data, but the total number of memory components increases, leading to larger platform area and higher power consumption

Engineering Contradiction:
Improveindependent data storageVSAvoidnumber of memory components
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges separate non-volatile and volatile memories into a unified memory structure where a single non-volatile memory device provides both permanent storage and processing memory spaces for multiple micro-processors. This consolidation reduces the total number of memory components while maintaining independent access capabilities through virtual memory management techniques.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The non-volatile memory device is designed to serve multiple functions simultaneously: it acts as permanent storage for boot codes, provides volatile processing memory spaces for active applications, and supports multiple micro-processors concurrently. This multi-functionality eliminates the need for separate dedicated memories for each processor.

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

2Device complexity

If conventional dual-port volatile memory is used to share memory between processors, then memory components are reduced, but access collisions occur when multiple processors simultaneously access the same memory cells

Engineering Contradiction:
Improvenumber of memory componentsVSAvoidaccess collision prevention
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces a memory management unit that acts as an intermediary between multiple micro-processors and the shared non-volatile memory. This mediator arbitrates access requests, manages memory allocation, and prevents simultaneous access conflicts by coordinating processor interactions with the memory device.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory system dynamically allocates and manages memory spaces for different processors based on current operational needs. The memory management unit can dynamically assign different regions of the non-volatile memory to different processors as volatile processing memory, adapting to changing system requirements and preventing access collisions through intelligent resource management.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8984237B2Memory system and memory management method including the same
Publication Date: 2015.03.17 SAMSUNG ELECTRONICS CO LTD
  • US8984237B2 patent drawing
  • US8984237B2 patent drawing
  • US8984237B2 patent drawing

AI summary

A multi-processor system includes a first processor, a second processor communicable with the first processor, a first non-volatile memory for storing first codes and second codes to respectively boot the first and second processors, the first memory communicable with the first processor, a second volatile memory designated for the first processor, a third volatile memory designated for the second processor, and a fourth volatile memory shared by the first and second processors.