Storage Flush Notification for Data Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face challenges in ensuring data consistency due to the reordering of operations in non-volatile memory, leading to potential data inconsistencies and performance degradation when using flush commands or Forced Unit Access (FUA) writes.

Innovation Solution

Implementing notification commands that allow a storage device to notify the system when specified data items have been committed to non-volatile memory, enabling data consistency without requiring all cached data to be committed or monopolizing communication channels, and utilizing ordering commands to enforce write barriers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If flush commands are implemented to ensure data consistency, then data reliability is improved, but system performance deteriorates due to time-consuming operations

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by implementing targeted flush operations only for specific data items or cache lines that require consistency guarantees, rather than flushing the entire cache. This selective approach maintains data reliability for critical items while avoiding the performance penalty of comprehensive cache flushing, thus resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements local quality by applying different flush policies to different regions or types of data in the cache. Critical data items receive strict consistency guarantees through flush operations, while less critical items use more performance-oriented policies. This differentiated approach allows the system to maintain data consistency where needed without uniformly degrading overall system performance.

Inventive Principle:
Principle #3Local quality

2Reliability

If FUA writes are used to ensure each write is committed before command completion, then data reliability is improved, but write speed deteriorates significantly

Engineering Contradiction:
Improvewrite commitment guaranteeVSAvoidwrite speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies partial action by using FUA writes selectively only for data items that require strong consistency guarantees, while allowing non-FUA writes for items where eventual consistency is acceptable. This selective application maintains write commitment reliability for critical operations without significantly impacting overall write speed, as the majority of writes can proceed through the faster non-FUA path.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements preliminary action by pre-classifying data items into categories based on their consistency requirements before write operations occur. This classification allows the system to prepare appropriate write strategies in advance, ensuring that FUA writes are applied only when necessary, thereby maintaining write commitment guarantees for critical data while preserving overall write performance through optimized pathways for other data.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If cache memory is used to increase storage speed, then system performance is improved, but data consistency deteriorates due to reordering of operations

Engineering Contradiction:
Improvestorage speedVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms that monitor cache state and write completion status to dynamically adjust consistency enforcement. The system receives feedback about which cache lines have been committed to non-volatile storage and uses this information to determine when consistency guarantees can be safely provided. This feedback-driven approach allows the cache to operate at high speed while maintaining data consistency through intelligent enforcement based on actual cache state information.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies dynamics by making consistency enforcement flexible and adaptive rather than static. The system dynamically adjusts the level of consistency enforcement based on workload characteristics, cache state, and data criticality. This dynamic approach allows the cache to maintain high performance under normal conditions while automatically strengthening consistency guarantees when needed, resolving the contradiction between storage speed and data consistency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9632711B1Processing flush requests by utilizing storage system write notifications
Publication Date: 2017.04.25 WESTERN DIGITAL TECHNOLOGIES INC
  • US9632711B1 patent drawing
  • US9632711B1 patent drawing
  • US9632711B1 patent drawing

AI summary

Systems and methods for utilization of notification or ordering commands are disclosed that can enable more efficient processing of flush requests from software programs and increase data consistency in storage devices. For example, when an application requests that a data cache be flushed, a computing device may—instead of completely emptying the data cache—notify the application of a successful flush once relevant data of the application has been committed to non-volatile memory. Targeted notifications, which may identify the relevant data in the data cache, can limit the scope of a flush request, such that the speed and efficiency of the command is increased relative to a non-specific full-cache flush. Such increases in efficiency of flush requests may greatly increase the speed and efficiency of storage devices, and consequently the performance of programs utilizing such storage devices.