Processor I/O Request Translation for SSD Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems face low data processing efficiency due to the lengthy time SSDs take to process I/O requests, leading to processor resource occupation and reduced processing capability, as the processor repeatedly queries for results with a sleep duration often shorter than the actual processing time.

Innovation Solution

Implementing a data processing method where the processor performs address translation on I/O requests using an FTL mapping table before sending them to SSDs, determining the need for garbage collection or wear leveling, and setting accurate sleep durations based on historical processing times to synchronize with SSD processing times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the processor sends I/O requests to the SSD and repeatedly queries for processing results with a fixed sleep duration, then the processor can obtain processing results, but the data processing efficiency is low because the sleep duration is often shorter than the actual processing time required by the SSD

Engineering Contradiction:
Improvesleep duration accuracyVSAvoiddata processing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The processor performs address translation on the I/O request before sending it to the SSD. This preliminary action allows the processor to know in advance how long the SSD will take to process the request, enabling accurate setting of the sleep duration without repeated querying

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The SSD feeds back the processing duration of the I/O request to the processor. The processor uses this feedback information to accurately determine the sleep duration for subsequent queries, eliminating the need for repeated querying with fixed sleep duration

Inventive Principle:
Principle #23Feedback

2Ease of operation

If the SSD performs address translation based on the FTL mapping table after receiving the I/O request, then the logical address is translated into a physical address, but the processing time is extended

Engineering Contradiction:
Improveaddress translation automationVSAvoidI/O request processing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The processor performs address translation on the I/O request before sending it to the SSD. This preliminary action eliminates the need for the SSD to perform address translation after receiving the request, thereby reducing the SSD's processing time while maintaining automated address translation functionality

Inventive Principle:
Principle #10Preliminary action

3Speed

If the processor repeatedly queries the processing result with frequent intervals, then the processing result is obtained sooner, but the processor occupies resources for a long time affecting its processing capability

Engineering Contradiction:
Improveresult query speedVSAvoidprocessor resource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The processor performs address translation before sending the I/O request to the SSD, which provides information about the processing time required. This allows the processor to set an accurate sleep duration and query the result only once after the appropriate waiting period, avoiding repeated queries and reducing resource consumption

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11481318B2Method and apparatus, and storage system for translating I/O requests before sending
Publication Date: 2022.10.25 HUAWEI TECH CO LTD
  • US11481318B2 patent drawing
  • US11481318B2 patent drawing
  • US11481318B2 patent drawing

AI summary

A data processing method and a corresponding system are provided. The method is implemented by a processor and includes: obtaining a to-be-processed I/O request, where the to-be-processed I/O request may include a first address, and the first address is a logical address of to-be-read, to-be-written, or to-be-erased data in a target SSD; performing address translation on the to-be-processed I/O request based on an FTL mapping table, to translate the first address into a second address, where the second address is used to indicate a physical address of the to-be-read, to-be-written, or to-be-erased data in the target SSD, and the FTL mapping table may be used to record a translation relationship between physical addresses and logical addresses in the n SSDs; sending a to-be-processed I/O request obtained after address translation is performed; and after a sleep duration is preset, querying a processing result of the to-be-processed I/O request.