Cached File I/O Fast Path Using External Lock Status Flags

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern file systems face challenges in managing latencies associated with input/output operations while maintaining synchronization and scalability, particularly due to the use of high-level external locking mechanisms that introduce additional latency by resolving conflicts among multiple threads accessing cached data.

Innovation Solution

Implementing a direct access path for file system operations using an optimization flag to determine the status of external locks, allowing threads to bypass conflict checks and minimize latency by ensuring safe access when locks are inactive.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If external locking mechanisms are used to ensure file-level synchronization, then reliability is improved, but latency increases due to conflict resolution overhead

Engineering Contradiction:
Improvefile-level synchronizationVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the locking mechanism into two levels: external locks for file-level synchronization and internal latches for page-level operations. This segmentation allows threads to acquire fine-grained internal latches for cache operations without needing to resolve external lock conflicts, thereby reducing latency while maintaining file-level synchronization reliability through the external lock optimization flag.

Inventive Principle:
Principle #1Segmentation

2Speed

If direct access path is used to reduce latency, then speed is improved, but reliability deteriorates due to potential external lock conflicts

Engineering Contradiction:
Improveaccess speedVSAvoidconsistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements preliminary action by checking the optimization flag associated with the external lock before allowing direct access through the fast path. This preliminary check ensures that threads only take the direct access path when it is safe to do so (when no external lock conflicts exist), thereby maintaining reliability while achieving speed improvements for conflict-free operations.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If fine-grained internal latches are used for cache operations, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improveoperation throughputVSAvoidlocking mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism where internal latches act as mediators between threads and cached data. These fine-grained internal latches allow multiple threads to perform cache operations concurrently on different pages without acquiring external locks, thereby improving productivity. The complexity is managed by keeping internal latches simple page-level locks that work in conjunction with the external lock optimization flag.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12530323B2Streamlined file system memory input/output operations
Publication Date: 2026.01.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12530323B2 patent drawing
  • US12530323B2 patent drawing
  • US12530323B2 patent drawing

AI summary

The techniques disclosed herein enable file systems to streamline operations on cached file data. This is accomplished by utilizing a direct access path and an optimization flag that indicates the status of an external lock for a given file data. External locks can be utilized to lock some or all of a file to prevent unexpected changes during an operation and ensure consistency in file data. A direct access path is a file system method that enables a thread to directly access the storage locations defined by a cache map structure which reduces latency by omitting determinations of external lock conflicts. However, this omission must be performed safely, that is, when the external lock is inactive. By checking the optimization flag prior to executing an operation, the file system can determine whether it is safe to omit the determination of external lock conflicts thereby minimizing latency.