I/O Router Segments Requests to Multiple Extent Maps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face slowdowns due to serialized access to sparse files, where metadata and log writes block reads/writes of database files, leading to inefficient read/write concurrency.

Innovation Solution

Implementing an I/O router that sorts and routes I/O requests based on characteristics, such as size, to different extent maps and data container zones, allowing parallel access and reducing contention by using multiple extent maps for a single sparse file.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a single extent map is used to manage all I/O requests for a sparse file, then device complexity is reduced and ease of operation is improved, but read/write concurrency deteriorates and productivity decreases due to serialized access

Engineering Contradiction:
Improveease of operationVSAvoidread/write concurrency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent divides the single extent map into multiple extent maps (first extent map, second extent map, third extent map) that are selectively accessed based on I/O request characteristics. This segmentation allows parallel access to different extent maps, improving read/write concurrency while maintaining ease of operation through the I/O router that automatically routes requests to the appropriate extent map based on size thresholds

Inventive Principle:
Principle #1Segmentation

2Device complexity

If a single extent map is used for all I/O requests, then device complexity is minimized, but access speed deteriorates due to serialization bottlenecks

Engineering Contradiction:
Improvedevice complexityVSAvoidaccess speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The extent map is segmented into multiple extent maps with different access patterns. Large I/O requests (≥8 KB) are routed to the first extent map, medium requests (4 KB) to the second extent map, and small requests (<4 KB) to the third extent map. This segmentation enables parallel access paths, improving access speed while keeping the overall system complexity manageable through automated routing

Inventive Principle:
Principle #1Segmentation

3Device complexity

If metadata and log files share the same extent map as database files, then device complexity is reduced, but harmful factors increase as writes block reads/writes of database files

Engineering Contradiction:
Improvedevice complexityVSAvoidblocking behavior
Core Design Contradiction:
Device complexityVSObject-generated harmful factors

Solution Approach 1:

The patent segments the extent map access by routing different types of I/O requests to different extent maps based on size characteristics. This segmentation isolates metadata and log file operations from database file operations in terms of extent map access, reducing blocking behavior where writes to one type of data block reads or writes of another type, while maintaining a unified sparse file structure

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The I/O router acts as an intermediary that receives I/O requests and routes them to appropriate extent maps based on request characteristics. This intermediary layer prevents direct blocking between different types of operations by introducing intelligent routing logic that can direct conflicting operations to different extent maps, reducing harmful blocking behavior

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11113247B1Routing I/O requests to improve read/write concurrency
Publication Date: 2021.09.07 COHESITY INC
  • US11113247B1 patent drawing
  • US11113247B1 patent drawing
  • US11113247B1 patent drawing

AI summary

Systems, apparatuses, methods, and computer readable mediums for implementing an I/O router to route requests based on characteristics of the requests. The I/O router may receive requests targeting a single file, and the I/O router may route requests to multiple extent maps based on characteristics of the requests. For example, requests of a first size may be mapped to a first extent map, requests of a second size may be mapped to a second extent map, requests of a third size may be mapped to a third extent map, and so on. Additionally, the system may utilize different deduplication policies for the different types of requests which are mapped to different extent maps.