Hybrid Memory Control Circuit with Delay Buffer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data centers face challenges in processing and storing increasing amounts of data due to the large access latencies of Solid-State Drives (SSDs) when combined with standard DRAM, as multicore processors cannot handle these latencies without sacrificing performance.
Innovation Solution
A circuit and method for controlling a memory system that includes a memory control circuit with a profiler to determine threshold values, a delay buffer to compensate for access time differences between SSDs and DRAM, and a circuit for merging output data to generate ordered output data, enabling effective use of SSDs with DRAM in a memory hierarchy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If SSDs are combined with DRAM in a memory hierarchy, then storage density and cost-effectiveness are improved, but access latency increases and processor performance deteriorates
Solution Approach 1:
The memory system is segmented into multiple memory types (SSD and DRAM) with different characteristics, allowing data to be distributed across tiers based on access patterns. The controller divides memory space into regions that can be independently managed, enabling fast access to frequently used data in DRAM while maintaining large capacity in SSD.
Solution Approach 2:
The system performs preliminary actions by pre-loading data into DRAM from SSD before it is needed, and by maintaining a cache of frequently accessed data. The controller anticipates access patterns and proactively manages data movement between memory tiers to minimize actual access latency.
2Quantity of substance
If data is stored in SSD to reduce cost and increase storage density, then storage capacity is improved, but access speed decreases
Solution Approach 1:
Different portions of the memory system have different quality characteristics - DRAM provides high-speed local access for active data, while SSD provides high-capacity storage for less frequently accessed data. The system assigns data to appropriate memory locations based on access requirements, giving each data segment the quality it needs.
Solution Approach 2:
The memory controller acts as an intermediary between the processor and the SSD, managing data transfer and caching operations. It intercepts access requests, determines whether data resides in fast or slow memory, and handles data movement between tiers transparently to the processor, thereby masking the speed difference.
3Productivity
If a hybrid memory system with different access times is used, then storage efficiency is improved, but system complexity increases
Solution Approach 1:
The memory controller is designed as a universal component that can manage multiple types of memory devices with different characteristics. It implements a unified interface and control logic that works across DRAM, SSD, and potentially other memory types, reducing the need for separate control circuits for each memory type.
Solution Approach 2:
The system implements self-service mechanisms where the memory controller automatically monitors access patterns, makes decisions about data placement and movement, and manages caching operations without external intervention. This autonomy reduces the complexity of external control logic and simplifies system integration.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
A circuit for controlling the operation of a memory system having different types of memory is described. The circuit comprises a first memory (208) having a first type of memory element and having a first access time; a second memory (212) having a second type of memory element and having a second access time, wherein the second type of memory element is different than the first type of memory element; a memory control circuit (203) enabling access to the first memory (208) and the second memory (212); a delay buffer (214) coupled to the second memory to compensate for a difference in the first access time and the second access time; and a circuit (216) for merging outputs of the first memory and delayed outputs of the second memory to generate ordered output data. A method (Fig. 7) of controlling the operation of a memory system is also disclosed.