Cache Management for Solid-State Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache management systems face challenges in efficiently managing data in solid-state storage devices, particularly in identifying and handling hot and cold cache data to optimize performance and prevent data loss due to mechanical failures in electro-mechanical hard disk drives.

Innovation Solution

The system identifies cache slots in a backend cache system filled with cold data and overwrites them with hot data, and further configures a frontend cache system as a data array cache portion to store cold data before overwriting, utilizing a least-recently-used approach to manage cache slots and reduce access to electro-mechanical storage devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cold cache data is overwritten with hot cache data in backend cache system, then cache performance is improved, but data loss occurs

Engineering Contradiction:
Improvecache performanceVSAvoiddata loss
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system performs preliminary action by copying cold cache data from backend cache slots to the data array cache portion before overwriting those slots with hot cache data. This advance preservation ensures data is saved before the overwrite operation, resolving the contradiction between improving cache performance through overwriting and preventing data loss.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If electro-mechanical hard disk drives are used for storage, then persistent content storage is achieved, but seek time and latency increase

Engineering Contradiction:
Improvepersistent content storageVSAvoidseek time and latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the storage architecture into multiple layers: a fast solid-state cache layer (frontend and backend cache systems) for frequently accessed data, and a slower electro-mechanical storage layer for persistent content. This segmentation allows hot data to be served from the fast cache, reducing seek time and latency, while cold data remains in the reliable electro-mechanical storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces solid-state cache systems as intermediary layers between the electro-mechanical hard disk drives and the processing system. These cache systems act as mediators that buffer data access operations, eliminating the need for frequent mechanical seek operations while maintaining data persistence through the backend cache and data array.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If solid-state storage devices replace electro-mechanical hard disk drives, then seek time and latency are reduced, but data loss risk increases due to mechanical failure prevention

Engineering Contradiction:
Improveseek time and latencyVSAvoiddata loss risk
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system implements beforehand cushioning by maintaining redundant data copies across multiple layers (frontend cache, backend cache, and data array cache portion). This multi-layer redundancy acts as a cushion against data loss, ensuring that if any single component fails, data can be recovered from other layers, thus mitigating the inherent data loss risk in solid-state storage systems.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS9286219B1System and method for cache management
Publication Date: 2016.03.15 EMC IP HLDG CO LLC
  • US9286219B1 patent drawing
  • US9286219B1 patent drawing
  • US9286219B1 patent drawing

AI summary

A method, computer program product, and computing system for defining a portion of a frontend cache system for use as a data array cache portion. One or more cache slots included within a backend cache system are identified that are going to be overwritten with hot cache data and are currently filled with cold cache data. The cold cache data included within the one or more cache slots included within the backend cache system is written to one or more cache slots included within the data array cache portion.