Heterogeneous Memory System SRAM DRAM Caching
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Speed
If data is cached in SRAM for fast access, then access speed is improved, but cost and transistor usage increase
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.
2Ease of manufacture
If data is cached in DRAM for cost-effectiveness, then manufacturing cost is reduced, but access speed decreases
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.
3Productivity
If MMU manages data placement in heterogeneous cache, then memory bandwidth is optimized, but device complexity increases
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.
4Reliability
If data is frequently accessed from non-volatile storage, then data availability is improved, but access time increases
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.
Data Source
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.


