Parity RAID Discard Command Handling via Write-to-Discard Algorithm
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional parity-based RAID systems fail to validly deliver Discard commands to SSDs, leading to invalid parity data and increased wear on SSDs, as they require data validity for reconstruction, which is not guaranteed after a Discard command.
Innovation Solution
The 'write-to-Discard' algorithm filters the Discard command and writes new data to SSDs with pending Discard commands, effectively reclaiming flash memory without invoking the Discard command, maintaining parity validity and reducing SSD wear.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional parity-based RAID systems deliver Discard commands to SSDs, then flash memory can be reclaimed, but parity data becomes invalid and SSD wear increases
Solution Approach 1:
The patent extracts the Discard command processing from the traditional RAID controller and implements it directly in the SSD firmware. This allows the SSD to handle discarding internally without requiring the RAID controller to recalculate and rewrite parity data, thus maintaining parity validity while still reclaiming flash memory blocks.
Solution Approach 2:
The patent introduces a new data structure called 'discard map' that acts as an intermediary between the host and SSD. This discard map tracks which logical blocks have been discarded, allowing the SSD to skip rewriting these blocks while maintaining consistency with RAID parity operations without requiring parity recalculation.
2Productivity
If Discard commands are delivered to SSDs in parity-based RAID, then unused flash memory is reclaimed, but additional write operations are required
Solution Approach 1:
The patent removes the need for RAID controller-mediated Discard command processing by implementing discard functionality directly in the SSD firmware. This eliminates the intermediate step of reading, rewriting, and rewriting parity data, thereby avoiding additional write operations while still achieving flash memory reclamation.
Solution Approach 2:
The SSD performs flash memory reclamation autonomously through internal garbage collection mechanisms triggered by discard metadata, without requiring external intervention from the RAID controller. This self-service approach prevents unnecessary write amplification while maintaining data integrity.
3Ease of operation
If Discard commands are processed by traditional RAID controllers, then data is marked for deletion, but parity recalculation increases system complexity
Solution Approach 1:
The patent extracts parity recalculation functionality from the RAID controller and transfers it to the SSD firmware. This simplifies the RAID controller's role to merely issuing Discard commands while the SSD handles the complex tasks of tracking discarded blocks and managing flash memory reclamation internally through the discard map mechanism.
Data Source
AI summary
A Discard command is received which includes an address on a specific SSD of a plurality of SSDs configured as a RAID device, wherein the Discard command is associated with data associated with the address. In response to receiving the Discard command, a trim metadata flag is set in an entry associated with the address in a mapping table, wherein a trim metadata flag that is set indicates that a Discard command was received for a corresponding address.


