I/O Request Aggregation for Disk Seek Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern disk drives experience significant performance disparities due to seek latency and rotational delay when handling I/O requests in random versus sequential orders, which are exacerbated by the time required for disk heads to position and rotate to desired sectors, impacting overall file system performance.
Innovation Solution
A method that identifies adjacent I/O requests in an I/O queue and generates new data payloads to coalesce multiple requests into a single contiguous I/O request, leveraging information about empty storage locations to optimize I/O operations and reduce the number of requests issued to disk drives, thereby enhancing performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple separate I/O requests are issued to disk drives, then data access requirements are met, but seek latency and rotational delay increase significantly
Solution Approach 1:
The patent merges multiple separate I/O requests into a single aggregated I/O request by combining data payloads from multiple source requests. The aggregation module combines I/O requests based on criteria such as destination storage location, data size, and temporal proximity, resulting in fewer I/O operations to the disk drive and reduced seek latency and rotational delay.
Solution Approach 2:
The patent performs preliminary aggregation of I/O requests before they are issued to the disk drive. The system pre-processes incoming I/O requests by grouping and combining them according to predefined criteria, so that when the aggregated request is finally issued to the disk drive, it represents a consolidated operation that minimizes latency.
2Ease of operation
If I/O requests are processed individually, then each request is handled independently, but the number of I/O operations increases leading to reduced productivity
Solution Approach 1:
The patent combines multiple individual I/O requests into aggregated requests that maintain the independence of data access requirements while reducing the total number of I/O operations. The aggregation module preserves the essential characteristics of individual requests (such as priority, timing constraints, and data integrity requirements) while consolidating them into fewer operations, thereby improving productivity without sacrificing operational independence.
3Reliability
If data payloads are written to non-contiguous storage locations, then individual I/O requests are satisfied, but the number of I/O operations increases and performance decreases
Solution Approach 1:
The patent segments the I/O request processing into two phases: aggregation phase where multiple requests are combined, and execution phase where the aggregated request is written to contiguous storage locations. This segmentation allows the system to maintain the logical independence of individual requests while physically consolidating them into contiguous storage operations, improving I/O efficiency.
Solution Approach 2:
The patent merges multiple I/O requests targeting non-contiguous storage locations into a single aggregated request that writes data to contiguous storage locations. The aggregation module reorganizes the data payloads and their corresponding storage destinations to create a contiguous write pattern, thereby reducing the number of I/O operations and improving overall productivity.
Data Source
AI summary
A computer readable storage medium comprising software instructions, which when executed by a processor, perform a method, the method including obtaining a first non-optional Input/Output (I/O) request from an I/O queue, determining that a second non-optional I/O request and an optional I/O request are adjacent to the first non-optional I/O request, generating a new data payload using a first data payload from the first non-optional I/O request, a second data payload for the second non-optional I/O request, and a third data payload corresponding to the optional I/O request, wherein the third data payload is interposed between the first data payload and the second data payload, generating a new non-optional I/O request comprising the new data payload, and issuing the new non-optional I/O request to a storage pool, wherein the new data payload is written to a contiguous storage location in the storage pool.


