RAID Driver Discard Command Translation for SSD Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current RAID systems face performance degradation during file deletion operations due to inefficient handling of non-contiguous logical sectors, requiring multiple commands from the operating system for each storage device, leading to suboptimal storage deallocation and memory fragmentation.

Innovation Solution

A method and system that issue a single discard command to each storage device in a RAID system to free contiguous physical sectors corresponding to non-contiguous logical sectors, using a RAID driver module to translate logical sectors into physical sectors and manage the free list efficiently, thereby improving storage deallocation performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If multiple commands are issued from the operating system for each storage device during file deletion, then non-contiguous logical sectors can be handled, but storage device performance is degraded

Engineering Contradiction:
Improvehandling of non-contiguous logical sectorsVSAvoidstorage device performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent combines multiple scatter commands into a single discard command. The RAID driver receives a discard command with a range of logical sectors, translates this to physical sectors across multiple storage devices, and issues a single discard command to each device instead of multiple separate commands. This merging approach maintains the ability to handle non-contiguous logical sectors while improving storage device performance by reducing command count.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The RAID driver acts as an intermediary between the operating system and storage devices. It receives discard commands from the OS, translates logical sector ranges to physical sector ranges considering the RAID stripe configuration, and formats appropriate discard commands for each storage device. This intermediary function enables efficient handling of non-contiguous sectors without directly issuing multiple commands to storage devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple commands are processed for each storage device during file deletion, then data deallocation is complete, but command processing time increases

Engineering Contradiction:
Improvedata deallocation completenessVSAvoidcommand processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The RAID driver performs preliminary translation of the discard command, converting the logical sector range to the corresponding physical sector ranges for each storage device before issuing commands. By pre-calculating which physical sectors correspond to the requested logical sector range and preparing the discard commands in advance, the system reduces the time spent during actual command processing while ensuring complete data deallocation.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If thin provisioning is used with on-demand allocation, then storage efficiency is improved, but memory fragmentation occurs

Engineering Contradiction:
Improvestorage efficiencyVSAvoidmemory fragmentation
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent implements proper discard and recovery mechanisms for freed blocks. When a file is deleted, the discard command frees the logical sectors, and the file system recovers these blocks by adding them to the free list. This ensures that blocks are properly discarded from active use and recovered for future allocation, preventing memory fragmentation while maintaining thin provisioning efficiency.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS9009388B2Performing discard commands on RAID storage devices
Publication Date: 2015.04.14 RED HAT INC
  • US9009388B2 patent drawing
  • US9009388B2 patent drawing
  • US9009388B2 patent drawing

AI summary

A method and system for efficiently freeing storage in a Redundant Array of Independent Disks (RAID) system. A computer system is coupled to storage devices that are organized as a RAID with block-level striping. Each storage device is partitioned into multiple physical sectors. The computer system receives a request to free a contiguous range of logical sectors that are mapped to the storage devices. In response, the computer system issues, for each storage device, a discard command to free contiguous physical sectors in the storage device that correspond to non-contiguous logical sectors.