Cache Entry Aging via Key Alias for Flash Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems, particularly hard disk drives, have not scaled effectively to keep pace with the rapid growth in data generation, leading to performance bottlenecks in accessing and storing large volumes of data, even with advancements in data transmission rates.

Innovation Solution

A networked storage system utilizing redundant components and Flash-based storage with cache management services, including Flash-backed DRAM and dual inline memory modules, to enhance data access and storage performance through caching and redundancy mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If Flash-based storage with cache management is implemented, then data access speed is improved, but device complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoiddevice complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces a cache management service as an intermediary layer between the host and Flash storage devices. This service includes a cache controller that manages data in a DRAM cache buffer, intercepting I/O commands from hosts and determining whether to service them from the cache or forward them to the storage device. This mediator approach enables high-speed cache access while abstracting the complexity from individual storage devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The storage system is segmented into multiple independent components: cache controllers, I/O circuits, Flash storage devices, and a cache management service. Each component operates semi-independently, allowing the cache subsystem to be optimized separately from the storage devices. The cache controller can be implemented as a separate circuit board or integrated component, enabling modular deployment that balances performance gains against complexity increases.

Inventive Principle:
Principle #1Segmentation

2Reliability

If redundant components are added to enhance reliability, then system reliability is improved, but device complexity increases

Engineering Contradiction:
Improvesystem reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the cache management service with the existing storage system architecture, combining multiple functions into integrated components. The cache controller can be implemented as part of the I/O circuit board or as a separate but coordinated component, allowing redundancy to be achieved through functional integration rather than complete duplication. This merging approach provides reliability through component coordination while limiting the complexity increase compared to full redundancy of all subsystems.

Inventive Principle:
Principle #5Merging (Combining)

3Speed

If cache memory is used to buffer data, then data access rate is improved, but loss of information risk increases

Engineering Contradiction:
Improvedata access rateVSAvoiddata loss risk
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The cache management service implements feedback mechanisms to monitor cache status, data integrity, and system conditions. The cache controller receives completion status information from storage devices and uses this feedback to determine whether cached data is still valid or needs to be refreshed from the persistent storage. This feedback loop ensures that the high-speed cache does not serve stale or corrupted data, mitigating information loss risk while maintaining speed advantages.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9384147B1System and method for cache entry aging
Publication Date: 2016.07.05 SANMINA CORP
  • US9384147B1 patent drawing
  • US9384147B1 patent drawing
  • US9384147B1 patent drawing

AI summary

A system comprises a host device and a cache controller. The host device includes a command buffer and a host application that posts a cache command that includes a cache key and a key aging alias in the command buffer. The cache controller includes logic circuitry configured to load the cache command from the command buffer of the first host device into the buffer memory, identify a match, if any, for the cache key in the command queue, perform the cache command, and return cache completion status information to the first host application, wherein the cache completion status information includes a value of the key aging alias in cache metadata when a match for the cache key is found and includes a value of the key aging alias provided by the first host application when a match for the cache key is not found.