Hybrid Memory Controller Abstraction Layers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hybrid memory systems face inefficiencies in managing memory access requests due to the disparity in access times and storage capacity between main and secondary memory types, leading to suboptimal performance in caching strategies.

Innovation Solution

A hybrid memory controller with a hierarchy of abstraction layers utilizing processors communicating through an API, which manages memory access requests by determining caching criteria, promoting data between caches, and optimizing request routing to minimize access to slower main memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a cache is used to store frequently accessed data, then access speed is improved, but memory capacity is reduced

Engineering Contradiction:
Improveaccess speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The memory system is segmented into multiple abstraction layers (first abstraction layer, second abstraction layer, third abstraction layer) with different caching strategies. Each layer manages a portion of the data hierarchy, allowing the system to balance between fast access and large capacity by distributing data across layers with different access characteristics.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a dimensional approach by organizing memory access management across multiple abstraction layers rather than a single level. This layered structure adds a dimension to the traditional cache-memory hierarchy, enabling more flexible management of the speed-capacity tradeoff through inter-layer communication via APIs.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If multiple cache layers are implemented, then cache management flexibility is improved, but system complexity increases

Engineering Contradiction:
Improvecache management flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Application Programming Interfaces (APIs) serve as intermediaries between the different abstraction layers. These standardized interfaces enable communication and data exchange between layers without requiring direct knowledge of each layer's internal structure, thereby reducing the complexity burden while maintaining management flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The abstraction layers are designed with universal APIs that can handle multiple types of memory access requests (read, write, invalidate, promote). This multi-functional design allows the same layered structure to adapt to different caching scenarios and workloads without requiring custom complexity for each case.

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

3Productivity

If data is promoted between caches based on access patterns, then throughput is improved, but processing time increases

Engineering Contradiction:
ImprovethroughputVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by proactively promoting data between abstraction layers based on predicted access patterns before actual access occurs. This speculative promotion strategy prepares frequently accessed data in advance, reducing future access latency while the overhead is amortized across multiple accesses.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache management system continuously monitors access patterns and uses this feedback to dynamically adjust data promotion decisions. By learning from actual access behavior and refining promotion strategies based on observed patterns, the system optimizes the balance between processing time investment and throughput gains.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9529724B2Layered architecture for hybrid controller
Publication Date: 2016.12.27 SEAGATE TECH LLC
  • US9529724B2 patent drawing
  • US9529724B2 patent drawing
  • US9529724B2 patent drawing

AI summary

Approaches for implementing a controller for a hybrid memory that includes a main memory and a cache for the main memory are discussed. The controller comprises a hierarchy of abstraction layers, wherein each abstraction layer is configured to provide at least one component of a cache management structure. Each pair of abstraction layers utilizes processors communicating through an application programming interface (API). The controller is configured to receive incoming memory access requests from a host processor and to manage outgoing memory access requests routed to the cache using the plurality of abstraction layers.