Tiered Memory Interface for Thread Blocking Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Tiered memory systems face challenges such as poor application software portability and overhead due to blocking other threads during slow memory access, which existing technologies fail to address effectively.

Innovation Solution

A lightweight memory interface that exposes tiered memory access, enabling improved application performance and energy efficiency by allowing the system to detect slow memory accesses and adapt to memory region characteristics on a per-access basis, thereby avoiding blocking other threads and reducing reliance on OS scheduling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a tiered memory system is implemented to reduce costs, then memory capacity and cost-effectiveness are improved, but application software portability deteriorates and system complexity increases

Engineering Contradiction:
Improvememory capacityVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a memory interface as an intermediary layer between the application software and the tiered memory system. This interface abstracts the complexity of tiered memory management, providing a unified access method that maintains software portability while enabling cost-effective large-memory systems through tiered architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If a tiered memory system is implemented to reduce costs, then memory capacity and cost-effectiveness are improved, but application software portability deteriorates

Engineering Contradiction:
Improvememory capacityVSAvoidsoftware portability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The memory interface is designed with universal functionality that works across different tiered memory configurations and application software. It provides a standardized interface that can adapt to various memory tiering schemes while maintaining consistent software behavior, thus improving both cost-effectiveness and software portability simultaneously.

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

3Reliability

If the system waits for slow tier memory access to complete before servicing other threads, then memory access accuracy is maintained, but thread execution efficiency deteriorates due to blocking overhead

Engineering Contradiction:
Improvememory access accuracyVSAvoidthread execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary detection of memory access characteristics before actually accessing the data. By detecting slow memory accesses in advance and identifying their characteristics, the system can take preliminary actions such as prefetching data or adjusting access strategies, thereby maintaining memory access accuracy while reducing blocking overhead and improving thread execution efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8683125B2Tier identification (TID) for tiered memory characteristics
Publication Date: 2014.03.25 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8683125B2 patent drawing
  • US8683125B2 patent drawing
  • US8683125B2 patent drawing

AI summary

A tier identification (TID) is to indicate a characteristic of a memory region associated with a virtual address in a tiered memory system. A thread may be serviced according to a first path based on the TID indicating a first characteristic. The thread may be serviced according to a second path based on the TID indicating a second characteristic.