Cache Control Module Selective Write-Back for SSD Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache systems write back all modified blocks to underlying storage devices, regardless of their necessity for maintaining application integrity, which can negatively impact performance, especially in database applications where large amounts of temporary data are involved.

Innovation Solution

Implementing a cache control module within the file system that uses metadata to differentiate between blocks based on their necessity for application integrity, allowing only integral data to be written back to the underlying storage device, while inhibiting non-integral data from being written.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all modified blocks are written back to underlying storage device, then data integrity is maintained, but I/O performance deteriorates due to unnecessary writes

Engineering Contradiction:
Improvedata integrityVSAvoidI/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating between different blocks of data based on their importance for application integrity. Instead of treating all modified blocks uniformly, the system identifies and treats integral blocks (necessary for integrity) differently from non-integral blocks (not necessary). This allows selective write-back behavior where only integral blocks are written to underlying storage, while non-integral blocks can be discarded, thereby improving I/O performance while maintaining data integrity where required.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the data into integral and non-integral blocks based on metadata analysis. By dividing the data into these distinct segments, the system can apply different handling policies to each segment. Integral blocks are written back to maintain integrity, while non-integral blocks are discarded to improve performance. This segmentation enables fine-grained control over write-back behavior.

Inventive Principle:
Principle #1Segmentation

2Productivity

If selective write-back based on metadata is implemented, then I/O performance improves, but device complexity increases due to metadata management

Engineering Contradiction:
ImproveI/O performanceVSAvoidmetadata management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-marking blocks with metadata that indicates whether they are integral or non-integral before write-back operations occur. This metadata is set in advance during data operations, so that when write-back is needed, the system can quickly reference the pre-established metadata to determine handling behavior without complex real-time analysis. This reduces the complexity of make decisions during critical I/O operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses metadata as an intermediary between the block data and the write-back decision logic. Rather than directly analyzing each block to determine its importance, the system uses the metadata as an intermediate representation that encodes the integral/non-integral classification. This intermediary approach simplifies the decision-making process by providing a direct lookup mechanism instead of complex analysis.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9646012B1Caching temporary data in solid state storage devices
Publication Date: 2017.05.09 ARCTERA US LLC
  • US9646012B1 patent drawing
  • US9646012B1 patent drawing
  • US9646012B1 patent drawing

AI summary

Various systems and methods for inhibiting a modified block of data from being written to an underlying persistent storage device are disclosed. A cache is maintained by a file system and the cache is implemented to temporarily cache portions of application data for an application. The application data for the application is stored on the underlying persistent storage device. Metadata is accessed if it is detected that a block of data in the cache has been modified. The metadata indicates that the block of data is not needed for the integrity of the application. In response to the metadata, the modified block of data is inhibited from being written to the underlying persistent storage device.