Memory Module Embedded Access Metadata for Fine-Grained Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory management systems are limited by the coarse-grained nature of page tables, which restrict the amount of space available for storing access information, leading to inefficient data placement and prefetching strategies in processors.

Innovation Solution

Embedding access metadata directly within memory modules, allowing for fine-grained and flexible tracking of memory access patterns, including prefetch stream information, to enhance memory management and reduce overhead at the processor core.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If page tables are used to store access information, then memory management can be implemented, but the coarse-grained nature of page tables limits the space available for storing access information

Engineering Contradiction:
Improveaccess information storage capacityVSAvoidgranularity of access tracking
Core Design Contradiction:
Loss of informationVSMeasurement precision

Solution Approach 1:

The patent divides the memory access tracking into two separate structures: page tables for coarse-grained page-level tracking and row-level metadata for fine-grained access pattern tracking within pages. This segmentation allows each structure to serve its specific purpose optimally, with row-level metadata providing the necessary fine-grained access information without consuming page table space.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of storage by embedding row-level metadata directly within the memory module structure itself, separate from the processor's page tables. This adds a hierarchical level to the memory management architecture, allowing access information to be stored at multiple granularities simultaneously - at the page level through page tables and at the row level through embedded metadata.

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

2Measurement precision

If fine-grained access metadata is stored at the memory module, then detailed access information can be tracked, but the device complexity increases

Engineering Contradiction:
Improvegranularity of access trackingVSAvoidmemory module structure
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent combines multiple functions into the memory module structure itself. The row-level metadata is merged with the physical memory structure, allowing the memory module to simultaneously serve as both data storage and access pattern recording device. This integration eliminates the need for separate complex metadata storage structures in the processor.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory module performs self-tracking of access patterns by automatically recording metadata about reads and writes to specific rows. This self-service capability eliminates the need for the processor to maintain separate complex data structures for tracking access patterns, as the memory module itself provides the necessary information.

Inventive Principle:
Principle #25Self-service

3Productivity

If page tables are used for memory management, then data placement can be controlled, but the overhead at the processor core increases

Engineering Contradiction:
Improvememory management efficiencyVSAvoidprocessor overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the fine-grained access tracking function from the processor core and relocates it to the memory module itself. By taking out the metadata storage and tracking responsibilities from the processor, the system reduces processor overhead while maintaining the ability to perform efficient memory management and data placement decisions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The row-level metadata acts as an intermediary between the processor and the physical memory. Instead of the processor directly tracking all access patterns through complex page table manipulations, the metadata serves as an intermediate structure that records access patterns and can be queried by the processor when needed, reducing processor complexity and overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9934148B2Memory module with embedded access metadata
Publication Date: 2018.04.03 ADVANCED MICRO DEVICES INC
  • US9934148B2 patent drawing
  • US9934148B2 patent drawing
  • US9934148B2 patent drawing

AI summary

A memory module stores memory access metadata reflecting information about memory accesses to the memory module. The memory access metadata can indicate the number of times a particular unit of data (e.g., a row of data, a unit of data corresponding to a cache line, and the like) has been read, written, had one or more of its bits flipped, and the like. Modifications to the embedded access metadata can be made by a control module at the memory module itself, thereby reducing overhead at a processor core. In addition, the control module can be configured to record different access metadata for different memory locations of the memory module.