Byte-Addressable Flash Memory Prefetching via Accuracy Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory modules face challenges in achieving high performance and endurance compared to DRAM, with longer latency for read and write operations and limited access granularity, making them less suitable for datacenters seeking high capacity, low power, and low cost solutions.

Innovation Solution

The implementation of an improved flash-based memory module with an in-module prefetcher, prefetch buffer, memory controller, and write controller, which uses prefetch mode registers to determine prefetch and write back modes based on address history and accuracy, enabling efficient data storage and reduced latency through strategic prefetching and write scheduling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If flash memory is used to provide high capacity and low power usage, then storage capacity and power efficiency are improved, but access latency and performance are worsened

Engineering Contradiction:
Improvestorage capacityVSAvoidaccess latency
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent implements a prefetch buffer and prefetcher that proactively load data into the buffer before it is actually needed by the processor. This preliminary action reduces access latency by having data ready in advance, while maintaining the high capacity benefits of flash memory.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a prefetch buffer as an intermediary layer between the flash memory and the processor. This buffer acts as a mediator that decouples the slow flash memory from the fast processor, allowing the processor to access data quickly from the buffer while the flash memory operates at its own slower pace.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If flash memory is used to reduce cost, then economic efficiency is improved, but performance and endurance are worsened

Engineering Contradiction:
ImprovecostVSAvoidperformance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

By implementing prefetching mechanisms, the system proactively prepares data in the buffer before it is needed, reducing the performance gap between flash memory and traditional DRAM, thereby making flash memory a more viable cost-effective alternative.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent modifies operational parameters such as prefetch buffer size, prefetch timing, and write back strategies to optimize performance. These parameter adjustments enable flash memory to achieve performance levels that compete with DRAM while maintaining cost advantages.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If flash memory is made byte-addressable, then access flexibility is improved, but access granularity is worsened to 2 KB or 4 KB

Engineering Contradiction:
Improveaccess flexibilityVSAvoidaccess granularity
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the flash memory access into smaller units by implementing a prefetch buffer that can hold and manage multiple granules. This segmentation allows the system to present byte-addressable access to the processor while the underlying flash memory operates with larger 2 KB or 4 KB granules.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The prefetch buffer serves as an intermediary that translates between the fine-grained byte-addressable access required by the processor and the coarse-grained 2 KB or 4 KB access required by the flash memory. This mediation enables byte-addressable flexibility without being constrained by the larger physical access granularity.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Speed

If prefetching is implemented to reduce latency, then access speed is improved, but device complexity is worsened

Engineering Contradiction:
Improveaccess speedVSAvoiddevice complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements a prefetcher that autonomously monitors access patterns and automatically initiates prefetch operations without requiring complex external control logic. This self-service approach reduces the overall system complexity while maintaining improved access speed through intelligent prefetching.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates feedback mechanisms where the prefetcher monitors actual access patterns and adjusts prefetching behavior accordingly. This feedback loop enables the system to optimize prefetching dynamically without requiring complex predetermined control logic, thereby improving access speed while managing device complexity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10866897B2Byte-addressable flash-based memory module with prefetch mode that is adjusted based on feedback from prefetch accuracy that is calculated by comparing first decoded address and second decoded address, where the first decoded address is sent to memory controller, and the second decoded address is sent to prefetch buffer
Publication Date: 2020.12.15 SAMSUNG ELECTRONICS CO LTD
  • US10866897B2 patent drawing
  • US10866897B2 patent drawing
  • US10866897B2 patent drawing

AI summary

A method of storing data in a memory module including an in-module prefetcher, an in-module prefetch buffer, memory, and a memory controller, the method including sending address information from the in-module prefetcher to the memory controller and to the prefetch buffer, determining prefetch accuracy based on a comparison of the address information sent to the memory controller and the address information sent to the prefetch buffer, determining a prefetch mode based on the prefetch accuracy, and storing the data in the memory based on the prefetch mode.