Cache Consistency via Selective Generation Count Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache systems face performance issues due to frequent updates of generation numbers on both primary and SSD storage devices during write transactions, leading to slowed updates and potential data inconsistency.

Innovation Solution

Implementing a method where the generation count is selectively increased only when necessary, using in-memory flags to inhibit updates on the SSD after the initial write transaction, and synchronizing counts during file system freezes to maintain cache consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the generation count is increased on both primary storage device and SSD device during every write transaction, then data consistency is maintained, but update performance deteriorates due to frequent updates

Engineering Contradiction:
Improvedata consistencyVSAvoidupdate performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the generation count update operation from the standard write transaction flow. Instead of incrementing generation counts on both primary storage device and SSD device during every write, the update is removed from routine operations and only performed selectively when actually needed, thereby eliminating unnecessary update overhead while preserving consistency

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameter update strategy from frequent incremental updates to selective updates based on actual consistency needs. The generation count parameter is only modified when data consistency requires it, rather than being automatically incremented with every write transaction, thus improving update performance while maintaining reliability

Inventive Principle:
Principle #35Parameter changes

2Productivity

If generation count updates are reduced to improve update performance, then productivity increases, but data consistency may be compromised leading to stale data

Engineering Contradiction:
Improveupdate performanceVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the system monitors whether generation count updates are actually needed before performing them. This feedback-driven approach ensures that updates are only executed when data consistency requires it, preventing stale data from being served while avoiding unnecessary updates that would degrade performance

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary checks to determine if a generation count update is necessary before executing the update operation. By assessing the actual need for consistency maintenance in advance, the system can selectively apply updates only when required, thus maintaining data reliability without sacrificing update performance

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9892041B1Cache consistency optimization
Publication Date: 2018.02.13 ARCTERA US LLC
  • US9892041B1 patent drawing
  • US9892041B1 patent drawing
  • US9892041B1 patent drawing

AI summary

Various methods and systems for optimizing cache consistency are disclosed. For example, one method involves writing data to a file during a write transaction. The file is stored in a persistent storage device and cached in a non-volatile storage device. The method determines if an in-memory flag associated with the persistent storage device set. If the in-memory flag is not set, the method increases a generation count associated with the persistent storage device before a write transaction is performed on the file. The method then sets the in-memory flag before performing the write transaction on the file. In other examples, the method involves using a persistent flag associated with the non-volatile storage device to maintain cache consistency during a data freeze related to the taking of a snapshot by synchronizing generation counts associated with the persistent storage device and the non-volatile storage device.