Asynchronous Storage System Dynamic Write Threshold Coalescing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Synchronous write operations in storage systems result in degraded performance due to the need for confirmation of each write request, leading to delays and inefficient use of storage device capacity, especially when requests are segmented to fit network restrictions.

Innovation Solution

An asynchronous storage system that dynamically sets a write threshold based on storage device performance and operational parameters, coalescing non-consecutive synchronous write requests into batched operations to maximize data written per storage operation, allowing for near-instantaneous execution and improved performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous write requests are processed individually with confirmation for each request, then data integrity and reliability are ensured, but storage performance and write throughput are significantly degraded

Engineering Contradiction:
Improvedata integrityVSAvoidstorage performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple synchronous write requests into a single batched write operation. The storage system accumulates incoming write requests in a buffer and processes them collectively as one batch operation, thereby reducing the total number of confirmation cycles while maintaining data integrity through the atomic nature of the batch operation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The storage system performs preliminary buffering and coalescing of write requests before executing the actual write operation. By pre-processing and consolidating multiple requests into a single batch operation, the system reduces subsequent confirmation overhead and improves overall write throughput while preserving reliability.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If write requests are sent in small segments to fit network restrictions, then network compatibility is improved, but the number of write operations increases and storage performance decreases

Engineering Contradiction:
Improvenetwork compatibilityVSAvoidwrite throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent combines multiple small segmented write requests that arrive over the network into larger batched operations. By coalescing these network-compliant small requests into bulk write operations at the storage layer, the system maintains network compatibility while dramatically improving storage write throughput by reducing the total operation count.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent resolves the network segmentation constraint by operating in a different dimension - while network protocols enforce small request sizes, the storage system performs aggregation in the time domain by buffering requests and processing them as batches, thus decoupling network transmission constraints from storage operation efficiency.

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

3Reliability

If confirmation messages are sent for each write request, then data reliability is ensured, but transmission time and system overhead increase

Engineering Contradiction:
Improvewrite confirmationVSAvoidround-trip time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges multiple individual confirmation messages into a single batch confirmation response. Instead of sending acknowledgments for each individual write request, the storage system processes a batch of requests and returns one consolidated confirmation message, thereby reducing total transmission time and network overhead while maintaining reliability through batch-atomic execution.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent enables continuous processing of write requests by buffering incoming requests and processing them in batches without interrupting the data flow. This continuous batching approach eliminates the stop-start pattern of individual request-response cycles, reducing idle time and improving overall system throughput while maintaining confirmation reliability.

Inventive Principle:
Principle #20Continuity of useful action

4Productivity

If storage devices write data in large blocks, then storage efficiency is improved, but synchronous request handling becomes bottlenecked by round-trip time

Engineering Contradiction:
Improvestorage efficiencyVSAvoidround-trip delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The storage system performs preliminary buffering and coalescing of multiple small synchronous requests into a single large batch operation that matches the storage device's optimal block size. This pre-processing step eliminates the round-trip time bottleneck by preparing data in advance, allowing the storage device to operate at full efficiency without waiting for individual request confirmations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic batching where the system adaptively groups requests based on incoming data patterns and storage device capabilities. This dynamic approach allows the system to optimize batch sizes and timing in real-time, enabling large efficient writes to storage devices while maintaining responsiveness to varying request patterns and minimizing idle round-trip delays.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11010100B1Systems and methods for asynchronous writing of synchronous write requests based on a dynamic write threshold
Publication Date: 2021.05.18 OPEN DRIVES INC
  • US11010100B1 patent drawing
  • US11010100B1 patent drawing
  • US11010100B1 patent drawing

AI summary

An asynchronous storage system may perform asynchronous writing of data from different sets of received non-consecutive synchronous write requests based on a dynamic write threshold that varies according to parameters of the storage device and/or synchronous write request patterns. The asynchronous writing may include coalescing data from a set of non-consecutive write requests in a plurality of received write requests that contain different data for a particular file, issuing a single asynchronous write request with the data that is coalesced from each write request of the set of non-consecutive write requests to the storage device instead of each write request of the set of non-consecutive write requests, and writing the data that is coalesced from each write request of the set of non-consecutive write requests to the storage device with a single write operation that is executed in response to the single asynchronous write request.