Hybrid Memory Associative Cache Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hybrid memory systems face inefficiencies in managing memory access requests due to limitations in mapping primary and secondary memory spaces, leading to suboptimal performance and fragmentation issues.

Innovation Solution

A hybrid memory system with a fully associative cache structure that maps host logical block addresses (LBAs) directly to secondary memory clusters, allowing any host LBA cluster to be mapped to any secondary memory cluster, utilizing a hybrid controller with layered architecture to optimize data promotion, invalidation, and garbage collection processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional mapping methods are used to map primary memory to secondary memory, then the device complexity is reduced, but memory access efficiency deteriorates and fragmentation issues occur

Engineering Contradiction:
Improvememory access efficiencyVSAvoidmapping complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a hybrid controller as an intermediary component that manages the mapping between primary memory (HDD) and secondary memory (flash memory). This controller implements a fully associative cache structure with translation layers that mediate address mappings, thereby improving memory access efficiency while managing the complexity through a dedicated control unit rather than simple direct mapping.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If fully associative mapping is implemented, then memory access efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvememory access efficiencyVSAvoidcontroller architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The fully associative cache structure implements self-service mechanisms where the cache automatically manages its own mapping and translation operations. The hybrid controller includes components that autonomously handle address translation, cache line validation, and data promotion/invalidation without requiring complex external control logic, thereby reducing the overall system complexity despite the associative nature of the mapping.

Inventive Principle:
Principle #25Self-service

3Productivity

If cache structure is added to hybrid memory system, then performance is improved, but device complexity increases

Engineering Contradiction:
Improveworkload management performanceVSAvoidmemory system architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a nested memory architecture where the flash memory cache is nested within the hybrid memory system, and further nested cache lines are organized within the flash memory structure. This nested organization allows the system to maintain multiple levels of memory hierarchy (HDD, flash cache, and cached data structures) where each level manages its own complexity internally, thereby improving overall performance without proportionally increasing external system complexity.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS9785564B2Hybrid memory with associative cache
Publication Date: 2017.10.10 SEAGATE TECH LLC
  • US9785564B2 patent drawing
  • US9785564B2 patent drawing
  • US9785564B2 patent drawing

AI summary

A hybrid memory system includes a primary memory comprising a host memory space arranged as memory sectors corresponding to host logical block addresses (host LBAs). A secondary memory is implemented as a cache for the primary host memory. A hybrid controller is configured directly map the clusters of host LBAs to clusters of secondary memory. The secondary memory clusters correspond to a memory space of the cache. Mapping of the host LBA secondary memory clusters is fully associative such that any host LBA cluster can be mapped to any secondary memory cluster.