SoC Memory Module Switching with Read Prefetch Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing devices face power wastage and thermal issues due to the inability to dynamically shut down or replace memory modules, especially when not actively accessing memory, leading to reduced battery life and potential data corruption.
Innovation Solution
A system-on-chip (SoC) with a memory management system that allows for on-the-fly shutdown and replacement of memory modules, using a hierarchy of memories and cache to prefetch data from slower memories, thereby extending battery life and maintaining system performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If memory modules remain continuously active, then data accessibility and system performance are maintained, but power consumption increases and battery life is reduced
Solution Approach 1:
The system performs preliminary actions by prefetching data from slow memory into fast cache memory before actual read requests occur. The memory controller predicts which data will be needed and proactively loads it into the cache hierarchy, ensuring data is ready for rapid access when required, thus resolving the contradiction between power saving and data accessibility
Solution Approach 2:
The patent implements dynamic memory module switching where the system can dynamically activate or deactivate memory modules based on actual access patterns. The memory controller monitors access patterns and dynamically adjusts which memory modules remain active, allowing the system to optimize between power consumption and data accessibility in real-time
2Duration of action of moving object
If memory modules are shut down to save power, then battery life is extended, but data access speed decreases and performance degradation occurs
Solution Approach 1:
The system employs a nested memory hierarchy structure where multiple levels of cache memory are embedded within the memory system. Fast cache memory is nested within the slower main memory, creating a multi-level storage architecture that allows the system to maintain high-speed data access for frequently used data while shutting down slower memory modules to save power
Solution Approach 2:
Data is preliminarily loaded from slow memory into fast cache memory before actual access is needed. This prefetching mechanism ensures that when data is required, it is already available in the fast cache tier, eliminating the speed penalty that would otherwise result from accessing shut-down memory modules
3Device complexity
If a single memory module is used, then device complexity is reduced, but thermal management becomes difficult and data corruption risks increase
Solution Approach 1:
The memory system is segmented into multiple independent memory modules that can be individually managed. Each memory module can be independently activated, deactivated, or replaced based on thermal conditions and system needs. This segmentation allows the system to distribute thermal load and isolate failures to individual modules rather than affecting the entire memory system
Solution Approach 2:
The system dynamically changes operational parameters of memory modules based on thermal feedback. When a module exceeds thermal thresholds, the system can change its state by deactivating it or switching to alternative modules. This parameter-based control allows the system to maintain data integrity and manage thermal issues without requiring complex hardware redesign
Data Source
AI summary
A system and method are provided for using a system-on-chip (SoC) memory manager to optimize the use of off-chip memory modules. A SoC memory controller receives a request for a first data block, subsequent to shutting the first memory down, and determines that the first data block is stored in the first memory. A SoC memory switching core uses a memory map to translate the first data block address in the first memory module to a first data block address in the second memory module. If the first data block is present in an on-SoC cache, the first data block is supplied on the SoC data bus from the cache. Then, the cache is loaded with a plurality of data blocks from a corresponding plurality of addresses in the second memory module, associated with the first data block address.


