RAID Driver Discard Command Translation for SSD Performance
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If multiple commands are processed for each storage device during file deletion, then data deallocation is complete, but command processing time increases
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.
3Productivity
If thin provisioning is used with on-demand allocation, then storage efficiency is improved, but memory fragmentation occurs
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.
Data Source
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.


