Write-Behind Covering Cache for Database I/O Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face performance issues and increased costs due to scaling demands, leading to memory and I/O capacity exhaustion, especially with large numbers of transactions and data replication, which existing technologies struggle to adequately support.

Innovation Solution

Implementing a non-volatile data cache with write-behind optimization, using a resilient SSD cache for aggregate writes of contiguous data pages, and decoupling database data cache and storage writes, checkpoints, and recovery processes to reduce fragmentation and storage costs, while maintaining performance through optimistic concurrency control and background processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If database systems scale to support large numbers of transactions and data replication, then database capacity and availability improve, but memory and I/O capabilities are exhausted

Engineering Contradiction:
Improvedatabase scaling capacityVSAvoidmemory and I/O resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the database storage system into multiple data files distributed across different storage devices. Each data file can be independently managed and accessed, allowing the system to scale horizontally by adding more storage devices without proportionally increasing memory and I/O resources at each individual device.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of storage organization by implementing aggregate writes that operate on groups of data pages rather than individual pages. This dimensional change in the write operation granularity reduces the total number of I/O operations required, thereby reducing the I/O capability burden while maintaining database scaling capacity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If aggregate writes of contiguous data pages are used, then I/O operations are reduced, but data file fragmentation increases

Engineering Contradiction:
ImproveI/O operation efficiencyVSAvoiddata file fragmentation
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent implements dynamic management of data files with separate control of data pages and free pages. The system dynamically tracks and manages fragmentation through metadata that records the physical location and status of each page, allowing it to adapt to fragmentation patterns while maintaining the benefits of aggregate writes.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters of write operations from individual page writes to aggregate writes of multiple contiguous pages. This parameter change in write granularity improves I/O efficiency by reducing the number of operations, while the system compensates for resulting fragmentation through its page management mechanisms.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If write-behind operations are performed synchronously, then data consistency is maintained, but database performance deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoiddatabase performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements write-behind operations where data is preliminarily written to the data cache before being written to the underlying data file. This preliminary action allows the database to acknowledge writes immediately to maintain performance, while the actual write to storage occurs asynchronously in the background, preserving both performance and data consistency through the cache layer.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a data cache as an intermediary layer between the database system and the underlying storage. This intermediary buffer allows write operations to be decoupled, enabling the database to maintain high performance by writing to the fast cache while ensuring data consistency through eventual persistence to the underlying storage medium.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If storage writes are decoupled from data cache, then storage resilience is improved, but complexity of managing checkpoints and recovery increases

Engineering Contradiction:
Improvestorage resilienceVSAvoidcheckpoint and recovery management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the storage write operation from the data cache management process, allowing them to operate independently. Data can be written to the cache without immediately writing to storage, and storage writes can proceed independently based on their own checkpoint requirements. This separation improves storage resilience by allowing independent failure domains while the system manages the complexity through coordinated checkpointing mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12169455B2Write-behind optimization of covering cache
Publication Date: 2024.12.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12169455B2 patent drawing
  • US12169455B2 patent drawing
  • US12169455B2 patent drawing

AI summary

Data base performance is improved using write-behind optimization of covering cache. Non-volatile memory data cache includes a full copy of stored data file(s). Data cache and storage writes, checkpoints, and recovery may be decoupled (e.g., with separate writes, checkpoints and recoveries). A covering data cache supports improved performance by supporting database operation during storage delays or outages and/or by supporting reduced I/O operations using aggregate writes of contiguous data pages (e.g., clean and dirty pages) to stored data file(s). Aggregate writes reduce data file fragmentation and reduce the cost of snapshots. Performing write-behind operations in a background process with optimistic concurrency control may support improved database performance, for example, by not interfering with write operations to data cache. Data cache may store (e.g., in metadata) data cache checkpoint information and storage checkpoint information. A stored data file may store storage checkpoint information (e.g., in a file header).