SSD Controller Throttling Ratio for Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid-state storage subsystems face performance degradation due to stalled host write commands when garbage collection commands fail to free up blocks quickly enough, leading to a need for maintaining consistent execution throughput.

Innovation Solution

A garbage collection module determines a throttling ratio based on the number of invalid pages in a block undergoing garbage collection, allowing the controller to dynamically adjust the number of garbage collection commands executed per host system command, optimizing the execution ratio and preventing stalled host system command execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If garbage collection commands are executed frequently to free up blocks quickly, then the availability of free blocks is improved, but the execution throughput of host commands deteriorates due to excessive garbage collection overhead

Engineering Contradiction:
Improveavailability of free blocksVSAvoidexecution throughput of host commands
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements dynamic adjustment of garbage collection execution based on the current state of the storage subsystem. The controller monitors the number of invalid pages in memory blocks and adaptively determines when to execute garbage collection commands, transitioning from static frequent execution to dynamic state-dependent execution. This resolves the contradiction by making garbage collection frequency flexible rather than fixed, optimizing both block availability and host command throughput.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of garbage collection execution frequency based on the invalid page ratio in memory blocks. By monitoring this parameter and adjusting garbage collection timing accordingly, the system executes garbage collection only when the invalid page ratio exceeds a threshold, thereby reducing unnecessary garbage collection operations while maintaining sufficient free block availability.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If garbage collection commands are executed slowly to maintain host command throughput, then the execution throughput of host commands is improved, but the availability of free blocks deteriorates leading to stalled host write commands

Engineering Contradiction:
Improveexecution throughput of host commandsVSAvoidavailability of free blocks
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements a feedback mechanism where the controller continuously monitors the number of invalid pages in memory blocks and uses this information to determine when to execute garbage collection. This feedback loop ensures that garbage collection is triggered only when necessary (when invalid page ratio exceeds threshold), preventing both excessive garbage collection that would stall host commands and insufficient garbage collection that would deplete free blocks.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If unnecessary garbage collection commands are executed on blocks with few invalid pages, then the availability of free blocks is maintained, but performance degradation occurs due to excessive garbage collection overhead

Engineering Contradiction:
Improveavailability of free blocksVSAvoidperformance throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies partial action by executing garbage collection only when the invalid page ratio in a memory block exceeds a predetermined threshold, rather than executing garbage collection on all blocks or all blocks with any invalid pages. This selective approach performs garbage collection only when necessary, avoiding unnecessary overhead while maintaining sufficient free block availability.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8725931B1System and method for managing the execution of memory commands in a solid-state memory
Publication Date: 2014.05.13 WESTERN DIGITAL TECHNOLOGIES INC
  • US8725931B1 patent drawing
  • US8725931B1 patent drawing
  • US8725931B1 patent drawing

AI summary

Embodiments of the invention are directed to a storage subsystem comprising a non-volatile solid-state memory array and a controller. In one embodiment, the controller includes a system operation module configured to manage system memory operations and a queue configured to receive memory commands from a host system and the system operation module. The controller is configured to execute, in the memory array, memory commands from the queue in a sequence that is based at least in part on a throttling ratio provided by the system operation module.