Flash Storage Prefetch Group Release for Buffer Space Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory-based storage devices face inefficiencies in speed improvement due to unmanaged prefetch data in buffer memory, which can affect performance when prefetch data is not properly managed.

Innovation Solution

A storage device that efficiently manages prefetch cache by grouping data in a buffer memory and releasing all prefetch data in groups, utilizing a memory controller to determine sequential logical addresses and release prefetch data when discontinuous addresses are received.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If prefetch data is stored in buffer memory to improve read speed, then data access speed is improved, but buffer memory management complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoidbuffer memory management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The buffer memory is divided into multiple cache lines, each capable of storing prefetch data independently. The memory controller manages each cache line as a separate unit with individual valid bits, allowing granular control over prefetch data storage and retrieval without managing the entire buffer as one complex unit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory controller automatically detects sequential access patterns and performs prefetch operations without external intervention. When sequential reads are detected, the controller autonomously loads adjacent data into the buffer, eliminating the need for complex external management while improving access speed.

Inventive Principle:
Principle #25Self-service

2Speed

If prefetch operations are performed to improve read speed, then data retrieval speed is improved, but buffer memory space is consumed

Engineering Contradiction:
Improvedata retrieval speedVSAvoidbuffer memory space
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The buffer memory allocation is dynamic rather than static. Cache lines are allocated and deallocated based on actual prefetch needs and access patterns. When prefetch data is no longer needed or when the buffer needs to accommodate new prefetch operations, cache lines are automatically freed, allowing the buffer to adapt its usage to current workload requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Data is prefetched into the buffer in advance before it is actually needed by the host. By predicting sequential access patterns and loading adjacent data beforehand, the system prepares data in the buffer during idle periods, ensuring fast access when needed without permanently consuming buffer space.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If prefetch data is released individually to free buffer space, then buffer management flexibility is improved, but processing overhead increases

Engineering Contradiction:
Improvebuffer management flexibilityVSAvoidprocessing overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Multiple cache line invalidation operations are merged into a single batch operation. When multiple prefetch data entries need to be released, the memory controller processes them together in one operation rather than individually, reducing processing overhead while maintaining the ability to selectively free specific cache lines when needed.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12505044B2Storage device based on flash memory and method for managing prefetch data thereof
Publication Date: 2025.12.23 SAMSUNG ELECTRONICS CO LTD
  • US12505044B2 patent drawing
  • US12505044B2 patent drawing
  • US12505044B2 patent drawing

AI summary

Disclosed is a storage device. The storage device includes: a memory device; a buffer memory configured to store partial data among data stored in the memory device; and a memory controller configured to determine prefetch logical addresses expected to be received sequentially after sequential logical addresses are received from a host, to read prefetch data corresponding to the prefetch logical addresses from the memory device to store the prefetch data as a prefetch group of in the buffer memory, and to release the prefetch group from the buffer memory in response to a logical address discontinuous with the logical addresses being received from the host.