Page Cache Write Logging for Block Storage Durability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Block-based storage systems face performance latency and durability issues due to increased I/O demands, as they struggle to handle write requests efficiently, leading to potential data loss in the event of system failures since page cache updates are not persisted.

Innovation Solution

Implementing page cache write logging at storage nodes to persistently store updates in a log, allowing for recovery of page cache data in case of failures and dynamically modifying durability properties based on incoming write request rates to optimize performance and durability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If page cache write logging is implemented to persist updates, then data durability is improved, but I/O performance and latency are worsened

Engineering Contradiction:
Improvedata durabilityVSAvoidI/O latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by writing log records to persistent storage in advance of actual data updates. When a write request arrives, the system first writes a log record describing the intended update to persistent storage, then performs the actual page cache update. This preliminary logging ensures that even if the system fails before completing the update, the log record can be used to recover the intended state, thereby improving durability without significantly impacting latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - the write log - that mediates between write requests and page cache updates. The log records serve as an intermediate representation of intended updates, allowing the system to acknowledge write requests based on log completion while defer ring actual data modification. This intermediary layer decouples the durability guarantee from the performance-critical update path, resolving the contradiction between reliability and latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If page cache updates are performed quickly without persistent logging, then I/O performance is improved, but data integrity is worsened due to potential data loss on failure

Engineering Contradiction:
ImproveI/O throughputVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary logging of intended updates before executing actual page cache modifications. By writing log records to persistent storage in advance, the system creates a safety net that protects against data loss without blocking the high-speed page cache update path. This allows the system to maintain high I/O throughput while ensuring data integrity through the preliminary log records.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating log records that describe intended updates without immediately applying them to the page cache. These log records serve as copies of the intended state changes, allowing the system to process write requests quickly by acknowledging them based on log completion, while the actual data copies in the page cache can be updated asynchronously or deferred, thus maintaining both throughput and integrity.

Inventive Principle:
Principle #26Copying

3Reliability

If write logging is always enabled, then data recovery capability is improved, but system complexity and overhead are worsened

Engineering Contradiction:
Improverecovery capabilityVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamics by making write logging configurable and adaptable rather than static and mandatory. The system can dynamically enable or disable write logging based on workload characteristics, performance requirements, and durability needs. This dynamic approach allows the system to optimize between reliability and complexity by applying logging only when and where it is most beneficial, reducing unnecessary overhead in scenarios where full recovery capability is not required.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes parameters by allowing configuration of write logging behavior through durability properties that can be modified based on incoming write request rates and performance conditions. This parameter-based control enables the system to adjust its logging intensity and scope, transforming a fixed complex system into an adaptable one that can scale its complexity according to actual needs, thereby improving recovery capability only when necessary without incurring constant overhead.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11188469B2Page cache write logging at block-based storage
Publication Date: 2021.11.30 AMAZON TECH INC
  • US11188469B2 patent drawing
  • US11188469B2 patent drawing
  • US11188469B2 patent drawing

AI summary

A block-based storage system may implement page cache write logging. Write requests for a data volume maintained at a storage node may be received at a storage node. A page cache for may be updated in accordance with the request. A log record describing the page cache update may be stored in a page cache write log maintained in a persistent storage device. Once the write request is performed in the page cache and recorded in a log record in the page cache write log, the write request may be acknowledged. Upon recovery from a system failure where data in the page cache is lost, log records in the page cache write log may be replayed to restore to the page cache a state of the page cache prior to the system failure.