Cache Tail Cutting for Prefetch Pollution in Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache management systems face challenges in efficiently prefetching and managing data units in cache memory, leading to cache pollution and administrative overhead due to the need for detailed knowledge of each prefetch task to release old data units, which complicates the architecture and reduces cache efficiency.

Innovation Solution

A method for prefetching data units into cache memory that uses meta-data with timestamp information to track and manage data units, allowing for efficient identification and release of old prefetched data units, and includes a prefetch management system that tracks and deallocates unused cache memory space based on read requests and timestamp criteria, reducing cache pollution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential prefetching is used to read blocks of adjacent data-units, then data availability from cache memory is improved, but cache pollution increases due to storing data-units that are not likely to be accessed

Engineering Contradiction:
Improvedata availabilityVSAvoidcache pollution
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the cache memory into different regions: a prefetch region for storing prefetched data-units and a working region for actively accessed data. This segmentation allows the system to maintain both prefetch performance and cache cleanliness by isolating potentially useless prefetched data from the active working data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic cache management where the system can flexibly allocate and deallocate cache regions based on actual access patterns. The prefetch task can dynamically adjust which data-units are stored in the prefetch region versus the working region, allowing the system to adapt to changing data access requirements and reduce cache pollution.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If detailed knowledge of each prefetch task is required to release old data units, then cache management precision is improved, but device complexity increases

Engineering Contradiction:
Improvecache management precisionVSAvoidarchitecture complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the complex task of tracking individual prefetch task details by introducing a simplified tail cutting mechanism that only tracks the oldest data-unit in the prefetch region. This extraction approach maintains sufficient precision for cache management while dramatically reducing the complexity of tracking requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses a simple timestamp mechanism that acts as a disposable marker to track data-unit age. Instead of maintaining complex, long-lived tracking structures for each prefetch task, the system uses simple timestamp updates that are easy to implement and remove, reducing overall system complexity while maintaining effective cache management.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS7873791B1Methods and systems for incorporating improved tail cutting in a prefetch stream in TBC mode for data storage having a cache memory
Publication Date: 2011.01.18 EMC IP HLDG CO LLC
  • US7873791B1 patent drawing
  • US7873791B1 patent drawing
  • US7873791B1 patent drawing

AI summary

A cache management system and method monitors and controls the contents of cache memory coupled to at least one host and at least one data storage device where data-units are prefetched and stored into a cache memory in a data-set format, comprising the data-units and meta-data associated with the data units. The meta-data contain time stamp information encoded with information whether the cached prefetched information is available for reuse by additional prefetched data. Prefetched data-units are controlled by executing a first prefetch task to prefetch a first prefetch series of data-units from off-cache. A first prefetch operation is executed to prefetch and store a first selected set of data units. The prefetch task contains three dedicated pointers into cache memory. Decisions to prefetch data are made about the first prefetch task, subsequent prefetch operations and prefetch tasks based on these pointers, in-cache data-sets associated with the first prefetch task and on other data-sets that are read from off-cache but that are not associated with the first prefetch task. The cache management system and method reviews data-sets and controls the allocation and deallocation of space in the cache memory.