Dynamic TRIM Processing with Disk Caching for SSD Responsiveness

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

TRIM operations on Solid State Drives (SSDs) can take a long time to complete, negatively impacting overall system responsiveness to Input/Output (I/O) operation requests due to large Data Set Ranges (DSRs), which reduces overall system responsiveness.

Innovation Solution

Implementing dynamic TRIM processing with disk caching by queuing I/O and TRIM operations, analyzing their completion times, and selectively dividing TRIM operations into smaller chunks if the estimated time exceeds a threshold, allowing for prioritization and queuing of I/O operations to maintain system responsiveness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If TRIM operations are performed on large Data Set Ranges (DSRs), then SSD performance is improved by marking blocks for deletion, but system responsiveness deteriorates due to long completion time

Engineering Contradiction:
ImproveSSD performanceVSAvoidsystem responsiveness
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the large TRIM operation into multiple smaller TRIM operations by segmenting the Data Set Range into smaller blocks. Each smaller TRIM operation processes a portion of the total range, completing faster individually while collectively achieving the same SSD performance benefit. This segmentation allows the system to maintain responsiveness by processing trim operations in manageable chunks rather than monolithically.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic TRIM processing where the system adjusts the TRIM operation behavior based on real-time conditions. The controller dynamically determines when to perform TRIM operations, how large the data set ranges should be, and prioritizes operations based on current system state. This dynamic approach allows the system to balance SSD performance maintenance with responsiveness by adapting TRIM processing to current workload conditions.

Inventive Principle:
Principle #15Dynamics

2Productivity

If TRIM operations are queued to improve system responsiveness, then I/O operation throughput is improved, but TRIM operation completion time increases

Engineering Contradiction:
ImproveI/O operation throughputVSAvoidTRIM operation completion time
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The patent implements preliminary action by queuing TRIM operations in advance and processing them in batches. The system prepares and queues TRIM operations before they are needed, allowing I/O operations to proceed while TRIM operations are processed in the background. This batching and queuing mechanism maintains I/O throughput by overlapping TRIM processing with productive I/O operations, while the queued TRIM operations complete eventually without blocking immediate I/O response.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By segmenting large TRIM operations into smaller operations that can be queued and processed in batches, the system maintains I/O throughput while ensuring TRIM completion. The segmented TRIM operations can be interleaved with I/O operations, allowing both to progress concurrently rather than sequentially, thus maintaining productivity while controlling completion time.

Inventive Principle:
Principle #1Segmentation

3Speed

If disk caching is used to improve read performance, then data access speed is improved, but TRIM operation efficiency deteriorates due to cache management complexity

Engineering Contradiction:
Improvedata access speedVSAvoidcache management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the disk cache into multiple smaller cache regions or blocks that can be independently managed. When TRIM operations are applied, only the specific cache regions corresponding to the trimmed blocks need to be processed, rather than managing the entire cache complexly. This segmentation simplifies cache management during TRIM operations while preserving the performance benefits of caching for read operations in other regions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by treating different cache regions differently based on their usage patterns and TRIM requirements. Cache regions that are frequently accessed remain optimized for read performance, while regions subject to TRIM operations are managed separately with appropriate TRIM processing. This localized approach maintains high read performance in active cache regions while efficiently handling TRIM operations in relevant regions, reducing overall management complexity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3659036B1Dynamic trim processing with disk caching
Publication Date: 2024.11.27 CITRIX SYSTEMS INC
  • EP3659036B1 patent drawingFigure 1
  • EP3659036B1 patent drawingFigure 2~3
  • EP3659036B1 patent drawingFigure 4~5

AI summary

Systems and methods for handling operation requests in a computing device. The methods comprise: queuing a first I/O operation and first TRIM operation in a first list of operations; analyzing the first TRIM operation for a plurality of block portions of a disk cache to determine a size thereof; estimating a first amount of time to complete the first TRIM operation; comparing the first amount of time to a first threshold value; selectively dividing the first TRIM operation into at least a second TRIM operation for first block portions contained in the block portions and at least a third TRIM operation for second block portions contained in the block portions, if the first amount of time is greater than the first threshold value; performing the first I/O operation followed by the second TRIM operation; and queuing the third TRIM operation in a second list of operations.