I/O Interceptor Logic for Write Reordering and Intelligent Flush Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The local storage stack in mobile devices becomes a performance bottleneck due to blocked I/Os during flush commands, as processor performance and wireless data speeds improve but storage stack advancements lag, leading to inefficiencies in data consistency and processing.

Innovation Solution

An I/O interceptor logic section with intelligent flush control is implemented, intercepting write I/Os and flush requests, storing them in temporary buffers, reordering, and combining them for efficient writing to non-volatile storage upon predefined conditions, such as a threshold of data accumulation or a specific time period, ensuring data consistency and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If flush requests are used to ensure data consistency, then data reliability is improved, but I/O performance deteriorates because I/Os are blocked during flush commands

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

Solution Approach 1:

The system performs preliminary actions by storing write I/Os in temporary buffers and reordering them before actual storage operations. The I/O interceptor logic section intercepts write I/Os and flush requests, stores them in temporary write holding buffers, and reorders them to optimize storage efficiency before committing to non-volatile storage, thereby reducing the impact of flush operations on overall I/O performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An I/O interceptor logic section is introduced as an intermediary component between the application and the storage stack. This intermediary manages the conflict between data consistency requirements and performance demands by coordinating flush requests with write operations, using temporary buffers and reordering logic to decouple the timing of flush commands from actual storage commitments.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If individual write operations are performed immediately, then data consistency is maintained, but storage efficiency deteriorates due to overhead of frequent small writes

Engineering Contradiction:
Improvedata consistencyVSAvoidstorage overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system merges multiple individual write operations into combined storage operations. The re-order logic section combines re-ordered write I/Os into a combined write I/O, which is then written to non-volatile storage in a single operation. This merging reduces the overhead associated with frequent separate write operations while maintaining data consistency through the intermediary buffer management.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Write operations are performed preliminarily in temporary buffers and reordered to optimize storage patterns before actual commitment to non-volatile storage. This preliminary organization allows multiple small writes to be consolidated into larger, more efficient storage operations, reducing the energy overhead of frequent small writes while preserving data integrity.

Inventive Principle:
Principle #10Preliminary action

3Speed

If processor performance is improved, then computing speed is enhanced, but storage stack becomes a bottleneck due to lack of corresponding advancements

Engineering Contradiction:
Improveprocessor performanceVSAvoidstorage throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system introduces dynamic behavior to the storage stack through the I/O interceptor logic section, which dynamically intercepts, buffers, reorders, and combines write operations based on system conditions. This dynamic approach allows the storage subsystem to adapt to high processor speeds by batching and optimizing write operations, thereby improving storage throughput to match processor performance improvements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The I/O interceptor logic section serves as a mediator between the high-speed processor and the relatively slower storage stack. By introducing this intermediary layer with buffering and reordering capabilities, the system can absorb the speed differential, allowing the processor to continue operating at high speeds while the storage operations are optimized and batched efficiently.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9495102B2Input/output (I/O) interceptor that re-orders a plurality of write I/O into combined with I/O with intelligent flush control logic
Publication Date: 2016.11.15 SAMSUNG ELECTRONICS CO LTD
  • US9495102B2 patent drawing
  • US9495102B2 patent drawing
  • US9495102B2 patent drawing

AI summary

Inventive aspects include an input/output (I/O) interceptor logic section having an I/O interface coupled with a storage stack. The I/O interface can intercept write I/Os, read I/Os, and flush requests from an application. A temporary write holding buffer can store the write I/Os. A re-order logic section can change an order of the write I/Os, and combine the re-ordered write I/Os into a combined write I/O. An intelligent flush control logic section can receive the flush requests from the I/O interface, communicate write I/O completion of the write I/Os to the application without the write I/Os having been written to a non-volatile storage device, and cause the combined write I/O to be written to the non-volatile storage device responsive to at least one of a predefined Nth flush request from among the plurality flush requests, a threshold amount of data being accumulated, or an expiration of a predefined time period.