Persistent Cache Logging for Write Performance and Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Write-through cache implementations provide high security but suffer performance issues in write-intensive environments, while write-back caches may experience data loss in certain failure modes.

Innovation Solution

A method for persistent cache logging that involves storing data in a cache, recording an ordered sequence of log entries on a persistent storage medium, and maintaining associations between cache data and log entries until the data is written to a backing store, with mechanisms to detect and recover from failure conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If write-through cache implementation is used, then data security is improved, but write performance deteriorates

Engineering Contradiction:
Improvedata securityVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the write operation into two independent parts: (1) writing data to the cache memory, and (2) logging the write operation to persistent storage. This segmentation allows the system to acknowledge write completion after cache writing without waiting for persistent storage operations, thereby improving write performance while maintaining data security through the log.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a write log as an intermediary mechanism between the cache and persistent storage. The log records write operations sequentially and provides a recovery mechanism without blocking write performance. This intermediary allows the system to achieve both fast writes (via cache) and data security (via logged operations).

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If write-back cache implementation is used, then write performance is improved, but data loss risk increases

Engineering Contradiction:
Improvewrite performanceVSAvoiddata security
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary logging of write operations to a persistent storage medium before the actual data write-back to cache completes. By recording the write intent in advance, the system ensures that even if power is lost during cache writing, the logged operations can be recovered and re-executed, preventing data loss while maintaining write performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the system continuously monitors cache state and write log status. When power is restored after a failure, the system reads the write log and determines which cache data needs to be recovered or re-written, providing feedback-driven data integrity assurance without impacting normal write performance.

Inventive Principle:
Principle #23Feedback

3Reliability

If log entries are maintained for all cache data, then data recovery capability is improved, but system complexity increases

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by maintaining detailed log entries only for cache data that has been modified but not yet written to persistent storage. The log structure is simple and localized, containing only essential information (write address, data, timestamp) needed for recovery. This localized logging approach provides data recovery capability without requiring complex logging infrastructure for all cache data.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9842053B2Systems and methods for persistent cache logging
Publication Date: 2017.12.12 SAMSUNG ELECTRONICS CO LTD
  • US9842053B2 patent drawing
  • US9842053B2 patent drawing
  • US9842053B2 patent drawing

AI summary

A cache log module stores an ordered log of cache storage operations sequentially within the physical address space of a non-volatile storage device. The log may be divided into segments, each comprising a set of log entries. Data admitted into the cache may be associated with respective log segments. Cache data may be associated with the log segment that corresponds to the cache storage operation in which the cache data was written into the cache. The backing store of the data may be synchronized to a particular log segment by identifying the cache data pertaining to the segment (using the associations), and writing the identified data to the backing store. Data lost from the cache may be recovered from the log by, inter alia, committing entries in the log after the last synchronization time of the backing store.