Storage I/O Scheduling with Host Request Bypass for Block Conflicts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage devices experience performance degradation due to characteristics of I/O requests and commands, necessitating efficient processing methods to mitigate this issue.
Innovation Solution
A method and storage device that utilize a parameter check table to schedule and delay or bypass I/O requests causing performance degradation, by comparing request parameters with a table containing information on memory blocks undergoing specific operations, thereby isolating and managing I/O requests to prevent overall device performance deterioration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If I/O requests are processed in the order received without selective delay, then the simplicity of operation is maintained, but performance degradation occurs due to conflicting operations on memory blocks
Solution Approach 1:
The storage device performs preliminary actions by checking the parameter check table before processing each I/O request. The controller determines in advance whether a memory block is undergoing a first operation (such as garbage collection or wear leveling) and proactively delays conflicting I/O requests before they can cause performance degradation, rather than reacting after the conflict occurs
Solution Approach 2:
A parameter check table serves as an intermediary data structure between the buffer memory and the I/O request processing logic. This table stores information about memory blocks undergoing first operations and acts as a mediator to identify and isolate conflicting I/O requests, separating the decision-making process from the request processing flow
2Productivity
If all I/O requests are processed immediately without delay, then the response time to host requests is minimized, but performance degradation occurs due to concurrent operations on the same memory blocks
Solution Approach 1:
The storage device applies local quality by treating different I/O requests differently based on their target memory blocks. Instead of uniformly processing all requests or delaying all requests, the controller selectively delays only those requests that target memory blocks undergoing first operations, while allowing other requests to proceed immediately with normal latency
Solution Approach 2:
The controller changes the timing parameter of I/O request processing dynamically based on the state of target memory blocks. By comparing request parameters against the parameter check table, the system adjusts the latency parameter selectively - extending it only for requests that would conflict with ongoing first operations, while maintaining normal latency for non-conflicting requests
Data Source
AI summary
In a method of operating a storage device, the method receives a first data input/output (I/O) request for performing a first data I/O operation on a first memory block from a host device, where the first data I/O request includes an address of the first memory block. The method receives a parameter check table including a plurality of parameters from the buffer memory. By scheduling the first data I/O request using a first parameter corresponding to the address of the first memory block and the parameter check table, when the first parameter is equal to one of the plurality of parameters, the method transmits a first data I/O command to non-volatile memories, such that a first latency from a time at which the first data I/O request is received to a time at which the first data I/O command is transmitted becomes longer than a reference latency.


