I/O Type-Based Storage Policy for Data Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face inefficiencies due to the lack of differentiation in processing and caching strategies for various types of input/output (I/O) operations, leading to suboptimal performance as they treat all I/Os uniformly without considering their specific characteristics, which affects HDD performance and overall system efficiency.

Innovation Solution

Implementing a method and apparatus that determine the type of I/O request based on an I/O type identifier and process it accordingly, using a fast cache like SSD to selectively promote and cache data for different I/O types, such as metadata, user data, and background data, based on predetermined policies to optimize storage and retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If uniform I/O processing is used for all I/O requests, then system complexity is reduced, but system performance deteriorates due to inability to optimize for different I/O characteristics

Engineering Contradiction:
ImproveI/O processing complexityVSAvoidsystem performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments I/O requests into different types (metadata I/O, user data I/O, background data I/O) and applies different processing and caching strategies to each type. This segmentation allows the system to optimize performance for each I/O type while maintaining manageable complexity through structured classification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic I/O processing by determining I/O types at runtime based on I/O type identifiers and applying different caching policies and processing paths accordingly. The system dynamically adjusts cache promotion policies and processing strategies based on the specific I/O type, enabling performance optimization without permanent structural complexity.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If all I/O requests are processed the same way, then ease of operation is maintained, but response time worsens due to lack of optimized processing paths

Engineering Contradiction:
ImproveI/O processing simplicityVSAvoiduser response time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent segments I/O requests into distinct categories (metadata, user data, background data) with dedicated processing paths for each. This segmentation enables optimized response times for different I/O types while maintaining ease of operation through automated classification and policy-based routing that requires no manual intervention.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes processing parameters based on I/O type identification. Different cache promotion policies, caching strategies, and processing priorities are applied depending on the I/O type, enabling optimized response times for different operations while maintaining simple operation through automatic parameter adjustment based on the I/O type identifier.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If HDD is used for all storage operations, then cost is reduced, but performance deteriorates for small and random I/O operations

Engineering Contradiction:
Improvestorage costVSAvoidI/O operation performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments storage operations by I/O type and directs different types to appropriate storage devices. Small and random I/O operations (particularly metadata I/O) are directed to fast cache (SSD), while larger sequential operations continue to use HDD. This segmentation improves performance for specific I/O types while maintaining cost-effectiveness by not deploying fast cache for all operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces fast cache as an intermediary layer between the upper layer and HDD. The fast cache selectively caches data based on I/O type and access patterns, particularly for metadata and small random I/O operations. This intermediary improves performance for specific operations while the HDD continues to serve as the primary cost-effective storage for bulk operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Loss of time

If fast cache is used for all data, then response time is improved, but device complexity increases due to cache management requirements

Engineering Contradiction:
Improvedata retrieval timeVSAvoidcache management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments cache management by I/O type, implementing different cache promotion and eviction policies for metadata I/O, user data I/O, and background data I/O. This segmentation simplifies cache management complexity by providing structured, type-specific policies rather than requiring complex universal cache management, while still achieving improved response times through selective caching.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes cache management parameters based on I/O type. Different cache promotion policies, cache sizes, and eviction strategies are applied depending on the I/O type identifier. This parameter-based approach improves response times for different operations while maintaining manageable complexity through policy-driven configuration rather than complex runtime decision-making.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10860493B2Method and apparatus for data storage system
Publication Date: 2020.12.08 EMC IP HLDG CO LLC
  • US10860493B2 patent drawing
  • US10860493B2 patent drawing
  • US10860493B2 patent drawing

AI summary

A method and an apparatus for data storage system are provided. The method comprises: receiving an I/O request from an upper layer, the I/O request including an I/O type identifier; determining an I/O type of the I/O request based on the I/O type identifier; and processing the I/O request based on the determined I/O type. The present disclosure also provides a corresponding apparatus. The method and the apparatus according to the present disclosure can determine a storage policy of corresponding data based on different I/O types to improve the overall system performance.