Cache Invalidation Data Area for Atomic Write Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Caches without an invalidation data area face performance slowdowns and data loss due to deferred eviction and lack of atomic operations during write-back mode, especially when dealing with multiple storage devices and interrupted caching processes.

Innovation Solution

Implementing a cache system with a separate invalidation data area that tracks invalidated data blocks, allowing for sequential writes, reducing read and write operations, and enabling efficient recovery by mapping journal blocks to invalidation records, thus maintaining data consistency and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the cache defers evicting or deleting old cache entries to speed up write operations, then write operation performance is improved, but data consistency and reliability deteriorate due to potential data loss during interruptions

Engineering Contradiction:
Improvewrite operation performanceVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The cache is segmented into multiple independent regions: a journal region for tracking data blocks and an invalidation data area for tracking invalidated blocks. This segmentation allows the system to maintain reliability information separately from the main cache operations, enabling recovery without compromising write performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by maintaining invalidation records in advance that map journal blocks to their corresponding invalidated data blocks. When an interruption occurs, these pre-established mappings enable immediate recovery without data loss, while normal write operations continue unaffected during the deferral period.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If the cache uses a single region for both journal and data storage, then device complexity is reduced, but performance deteriorates due to increased read and write operations overhead

Engineering Contradiction:
Improvecache structure simplicityVSAvoidcache operation performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The cache storage is divided into distinct segments: a journal region for metadata tracking and an invalidation data area for invalidation records. This physical or logical separation reduces the overhead of read and write operations by allowing independent access patterns and optimization for each region's specific function.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invalidation data area acts as an intermediary structure between the journal and the main cache data. It provides a mapping mechanism that enables efficient tracking of invalidated blocks without requiring direct interaction between the journal and all cache entries, thereby reducing operation overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If the cache aggregates multiple write operations into a single write operation, then write overhead is reduced and performance is improved, but the ability to handle interrupted operations and ensure atomicity deteriorates

Engineering Contradiction:
Improvewrite overhead efficiencyVSAvoidatomic operation capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Before aggregating write operations, the system establishes preliminary tracking records in the invalidation data area that map journal blocks to their corresponding data blocks. This pre-established mapping ensures that even if aggregation occurs, each operation can be individually tracked and recovered, maintaining atomicity while benefiting from aggregation performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms through the invalidation records that continuously track the state of aggregated write operations. This feedback allows the system to monitor and manage the aggregation process, ensuring that atomicity requirements are met while maintaining the performance benefits of reduced write overhead.

Inventive Principle:
Principle #23Feedback

4Reliability

If the cache maintains detailed tracking of all data blocks for recovery, then data reliability is improved, but space utilization and cache footprint deteriorate

Engineering Contradiction:
Improverecovery capabilityVSAvoidcache space utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system extracts only the essential recovery information into a separate invalidation data area, rather than maintaining complete detailed tracking of all data blocks within the main cache. This extraction focuses storage on critical metadata (journal block mappings) while keeping the main cache space available for actual data storage, thus improving space utilization without compromising recovery capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of maintaining full copies of all data block information for recovery, the system creates compact copies or references in the invalidation data area that map journal blocks to their corresponding data blocks. These condensed representations provide sufficient recovery information while occupying minimal cache space, preserving both reliability and space efficiency.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11372771B2Invalidation data area for cache
Publication Date: 2022.06.28 WESTERN DIGITAL TECHNOLOGIES INC
  • US11372771B2 patent drawing
  • US11372771B2 patent drawing
  • US11372771B2 patent drawing

AI summary

The present disclosure relates to caches, methods, and systems for using an invalidation data area. The cache can include a journal configured for tracking data blocks, and an invalidation data area configured for tracking invalidated data blocks associated with the data blocks tracked in the journal. The invalidation data area can be on a separate cache region from the journal. A method for invalidating a cache block can include determining a journal block tracking a memory address associated with a received write operation. The method can also include determining a mapped journal block based on the journal block and on an invalidation record. The method can also include determining whether write operations are outstanding. If so, the method can include aggregating the outstanding write operations and performing a single write operation based on the aggregated write operations.