Flash Memory Vault for Volatile Cache Data Persistence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face challenges in ensuring data integrity and availability during power failures, as they rely on volatile memory caches that require immediate destaging to prevent data loss, and existing solutions do not effectively manage the transition of cached data to persistent storage during such events.

Innovation Solution

A data storage system utilizing a flash-based memory vault with a controller that operates in two modes: one for continuous copying of cached write data to a primary area and another for copying remaining data to a secondary area upon a vault operation event, such as a power failure, ensuring data persistence and availability through a secondary power source.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If volatile memory cache is used for storing cached write data, then data access speed is improved, but data loss risk increases during power failure

Engineering Contradiction:
Improvedata access speedVSAvoiddata loss risk
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a flash-based memory vault as an intermediary component between the volatile memory cache and the physical storage devices. This vault acts as a mediator that temporarily holds cached write data during power failures, allowing the system to maintain fast write performance while protecting against data loss. The controller manages data transfer between the volatile cache, flash vault, and physical storage, resolving the contradiction between speed and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If continuous copying of cached data to flash memory is performed, then data integrity is improved, but system performance degradation occurs

Engineering Contradiction:
Improvedata integrityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements preliminary action by continuously copying cached write data from the volatile memory cache to the flash-based memory vault in the background before power failures occur. This background copying operation prepares the data for potential power loss scenarios without significantly impacting main processing performance, as it occurs asynchronously. The controller manages this preliminary data protection action separately from the main data processing path.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If flash-based memory vault is implemented with two areas, then data safety is improved during power failure, but device complexity increases

Engineering Contradiction:
Improvedata safetyVSAvoidvault structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the flash-based memory vault into two distinct areas: a first area for storing copies of cached write data during normal operation, and a second area for storing remaining cached write data during power failure events. This segmentation allows the system to handle different operational scenarios separately, improving data safety while maintaining manageable complexity through clear functional separation of the storage areas.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7793061B1Techniques for using flash-based memory as a write cache and a vault
Publication Date: 2010.09.07 EMC IP HLDG CO LLC
  • US7793061B1 patent drawing
  • US7793061B1 patent drawing
  • US7793061B1 patent drawing

AI summary

Described are techniques for managing data in a data storage system. While the data storage system is operating in a first mode, portions of cached write data not yet destaged to a data storage device are copied from the volatile memory cache to a first area in a flash-based memory. In response to a vault operation event, the data storage system operates in a second mode in which all remaining portions of cached write data from the volatile memory cache not currently included in the first area are copied to a second area of the flash-based memory.