Heterogeneous Memory System SRAM DRAM Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems inefficiently manage data access and caching, relying on SRAM for fast access but DRAM for cost-effectiveness, leading to suboptimal performance and reliability, especially when data is retrieved from non-volatile storage.

Innovation Solution

A heterogeneous memory system with a memory management unit (MMU) that determines data layout by analyzing start times and access durations, caching data in either SRAM or DRAM within a first-level cache to maximize availability and minimize write operations to flash memory, thereby optimizing access times and reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is cached in SRAM for fast access, then access speed is improved, but cost and transistor usage increase

Engineering Contradiction:
Improvedata access speedVSAvoidmanufacturing cost
Core Design Contradiction:
SpeedVSEase of manufacture

Solution Approach 1:

The patent applies local quality by creating a heterogeneous cache structure where different types of memory (SRAM and DRAM) are used in different regions of the first-level cache. SRAM is used for frequently accessed data requiring fast access, while DRAM is used for less frequently accessed data where cost is more important. This allows each part of the cache to have optimized properties for its specific function, resolving the contradiction between speed and manufacturing cost.

Inventive Principle:
Principle #3Local quality

2Ease of manufacture

If data is cached in DRAM for cost-effectiveness, then manufacturing cost is reduced, but access speed decreases

Engineering Contradiction:
Improvemanufacturing costVSAvoiddata access speed
Core Design Contradiction:
Ease of manufactureVSSpeed

Solution Approach 1:

The patent uses local quality by assigning DRAM to specific regions of the first-level cache where cost-effectiveness is prioritized over maximum speed. The MMU intelligently directs data placement based on access patterns, ensuring that data in DRAM regions is accessed at speeds adequate for its usage frequency, while critical data resides in SRAM regions.

Inventive Principle:
Principle #3Local quality

3Productivity

If MMU manages data placement in heterogeneous cache, then memory bandwidth is optimized, but device complexity increases

Engineering Contradiction:
Improvememory bandwidthVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by having the MMU analyze data access patterns and pre-determine optimal cache placement decisions before data is actually accessed. The MMU uses stored information about start times and access durations to proactively place data in the appropriate cache region (SRAM or DRAM) during program execution, optimizing memory bandwidth without requiring complex real-time management during data access.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If data is frequently accessed from non-volatile storage, then data availability is improved, but access time increases

Engineering Contradiction:
Improvedata availabilityVSAvoiddata access time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses preliminary action by having the MMU proactively identify data that will be frequently accessed based on stored timing information (start times and access durations). The MMU pre-loads this data into the first-level cache (either SRAM or DRAM regions) before the processing element needs it, ensuring high data availability while eliminating the time penalty of frequent non-volatile storage access.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9043557B1Heterogeneous memory system
Publication Date: 2015.05.26 MARVELL ASIA PTE LTD
  • US9043557B1 patent drawing
  • US9043557B1 patent drawing
  • US9043557B1 patent drawing

AI summary

A heterogeneous memory system includes a main memory arrangement, a first-level cache, and a memory management unit (MMU). The first-level cache includes an SRAM arrangement and a DRAM arrangement. The MMU is configured and arranged to read first data from the main memory arrangement in response to a stored first value associated with the first data and indicative of a start time. The MMU selects one of the SRAM arrangement or the DRAM arrangement for storage of the first data and stores the first data in the selected one of the SRAM arrangement or DRAM arrangement. The MMU reads second data from one of the SRAM arrangement or DRAM arrangement and writes the data to the main memory arrangement in response to a stored second value associated with the second data and indicative of a duration.