Parity RAID Discard Command Handling via Write-to-Discard Algorithm

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveflash memory reclamationVSAvoidparity data validity
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If Discard commands are delivered to SSDs in parity-based RAID, then unused flash memory is reclaimed, but additional write operations are required

Engineering Contradiction:
Improveflash memory reclamationVSAvoidSSD write operations
Core Design Contradiction:
ProductivityVSLoss of substance

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If Discard commands are processed by traditional RAID controllers, then data is marked for deletion, but parity recalculation increases system complexity

Engineering Contradiction:
Improvediscard command processingVSAvoidparity recalculation mechanism
Core Design Contradiction:
Ease of operationVSDevice 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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9891826B1Discard command support in parity based redundant array of flash memory disk
Publication Date: 2018.02.13 SK HYNIX INC
  • US9891826B1 patent drawing
  • US9891826B1 patent drawing
  • US9891826B1 patent drawing

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.