Destaging Cached Data in Storage Systems for Crash Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In extreme failure scenarios, such as total crashes, data stored in cache memory is lost due to the inability to transfer data between cache and storage, and metadata inconsistencies can render stored data unusable, making it unclear whether the data represents a valid order-preservation consistency condition crucial for database and application crash consistency.

Innovation Solution

A method and system for operating a storage system that involves recurring data storage, where dirty data is destaged without overwriting superseded data, metadata is retained to indicate the location of superseded data, and a point-in-time is registered for order-preservation consistency, allowing the system to restore to a previous state and maintain data consistency in case of a crash.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in cache memory for fast access, then data access speed is improved, but data loss occurs in case of total crash

Engineering Contradiction:
Improvedata access speedVSAvoiddata safety
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by repeatedly destaging dirty data from cache to stable storage before a crash can occur. Multiple destaging operations are executed during normal operation, creating intermediate safe copies of data in advance, so that if a crash happens, the system can recover to one of these previous consistent states rather than losing all cached data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention creates a cushion against data loss by maintaining multiple versions of data in stable storage through repeated destaging. This cushion of previously saved data versions protects the system from total data loss in crash scenarios, allowing recovery to the most recent consistent state before the crash occurred.

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

2Loss of information

If metadata is updated frequently to track data changes, then data consistency tracking is improved, but metadata loss occurs in case of crash

Engineering Contradiction:
Improvemetadata consistencyVSAvoidmetadata safety
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

Metadata updates are performed as preliminary actions alongside data destaging operations. Each time data is successfully destaged to stable storage, the metadata is also updated to reflect this consistent state. This preliminary updating of metadata ensures that even if a crash occurs, the metadata in stable storage reflects a known good state before the crash.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If data is overwritten to optimize storage space, then storage efficiency is improved, but ability to recover superseded data is lost

Engineering Contradiction:
Improvestorage efficiencyVSAvoidsuperseded data
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The system implements a discard and recover mechanism where superseded data is discarded from cache to make space for new data, but the superseded data is simultaneously recovered and preserved in stable storage through the repeated destaging process. This allows the system to maintain storage efficiency by freeing cache space while ensuring that superseded data can be recovered if needed for crash consistency.

Inventive Principle:
Principle #34Discarding and recovering

4Reliability

If multiple destaging operations are performed to ensure data safety, then data consistency is improved, but system complexity increases

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system employs periodic destaging operations where dirty data is repeatedly staged to stable storage at regular intervals or under specific conditions during normal operation. This periodic action ensures data consistency without requiring complex real-time synchronization mechanisms, as the system simply performs destaging operations periodically rather than continuously managing complex crash recovery protocols.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9087006B2Destaging cached data in multiple recurrences in a storage system
Publication Date: 2015.07.21 INFINIDAT LTD
  • US9087006B2 patent drawing
  • US9087006B2 patent drawing
  • US9087006B2 patent drawing

AI summary

Storage system(s) for storing data in physical storage in a recurring manner, method(s) of operating thereof, and corresponding computer program product(s). For example, a possible method can include: upon start of a storage recurrence, destaging dirty data which had been accommodated in the cache memory prior to the start of said storage recurrence thus giving rise to destaged data group, wherein destaging is provided with no overwriting of at least superseded data destaged before starting said storage recurrence while enabling retaining metadata indicative of location of said superseded data in the physical storage space; accommodating data obtained in said cache memory subsequent to the start of said storage recurrence while preventing said data from being destaged during said storage recurrence, thus giving rise to accommodated data group; and registering a point-in-time indicative of successful destaging of the destaged data group, thereby providing an order-preservation consistency indication corresponding to said recurrence.