Event-Based Pre-Fetch Cache Controller for Non-Sequential Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face performance issues with non-sequential read requests, as they generate multiple requests for non-continuous data blocks, leading to decreased performance and increased latency.

Innovation Solution

Implementing a cache management technology that pre-fetches non-sequential data based on defined events, creating a pre-fetch list of read requests and storing them in cache memory to reduce subsequent read requests to storage devices, thereby improving read performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If multiple read requests are issued for non-sequential storage blocks, then data can be retrieved from storage, but read performance decreases and latency increases

Engineering Contradiction:
Improveread speedVSAvoidread latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system performs preliminary actions by detecting defined events (such as virtual device boot sequences or virus scans) and pre-fetching non-sequential data blocks into cache memory before they are actually requested by the host. This advance preparation ensures that when the host subsequently requests this data, it can be served from the faster cache rather than from the slower storage device, thereby resolving the contradiction between retrieval capability and read performance/latency.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data is pre-fetched to cache memory, then subsequent read requests are faster, but cache memory resources are consumed

Engineering Contradiction:
Improveread performanceVSAvoidcache memory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system applies preliminary action by selectively pre-fetching only those data blocks that are associated with defined events (such as boot sequences or virus scans) into cache memory in advance. This targeted approach ensures that cache resources are allocated to data that is most likely to be requested soon, improving read performance while avoiding wasteful consumption of cache memory on data that may not be needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes parameters by dynamically determining which data blocks to pre-fetch based on event detection and validity checks of pre-fetch lists. The controller adjusts cache usage parameters by validating pre-fetch lists against current host requests, ensuring that cache memory is used efficiently for data that actually improves productivity rather than being statically allocated.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If a pre-fetch list is created and validated, then data retrieval efficiency improves, but controller processing complexity increases

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidcontroller processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system applies self-service by implementing automatic event detection mechanisms that identify when defined events (such as virtual device boot sequences or virus scans) occur. The controller automatically creates pre-fetch lists, validates them against actual host requests, and manages cache allocation without requiring manual intervention or complex external control logic. This automation improves data retrieval efficiency while keeping the added processing complexity manageable through systematic self-management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback by validating pre-fetch lists against actual host read requests. The controller continuously monitors whether pre-fetched data is actually requested by the host and adjusts its pre-fetching behavior accordingly. This feedback mechanism ensures that the increased controller processing complexity is justified by tangible improvements in data retrieval efficiency, as the system learns from actual usage patterns to optimize future pre-fetching decisions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9983997B2Event based pre-fetch caching storage controller
Publication Date: 2018.05.29 FUTUREWEI TECHNOLOGIES INC
  • US9983997B2 patent drawing
  • US9983997B2 patent drawing
  • US9983997B2 patent drawing

AI summary

A cache management system and method allowing data stored in non-sequential storage blocks on a storage system to be retrieved to a cache memory in advance of a call for the data based on a defined event in a host. The system and method detects a defined event from the host. The defined event issues an event read sequence of read requests for data from non-sequential storage blocks of a storage system. The event data read sequence of read requests is recorded to create a pre-fetch list. The read requests in the event read sequence are then issued for the pre-fetch list associated with the defined event to store the requested data in the cache memory.