SSD Memory Controller Scheduling via Variable Reclaim Ratio

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In solid state memory devices, the block reclaiming process competes with user requests for access to storage resources, leading to performance issues due to the need for regular erase operations and the potential for long unit reclaiming durations, which can result in latency spikes and starvation of free units.

Innovation Solution

A memory controller with two queues for user requests and unit reclaiming requests, where the scheduler selects requests based on a variable ratio dependent on the number of free units, prioritizing user requests when free units are ample and prioritizing unit reclaiming requests when free units are scarce, ensuring efficient execution of both classes of requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If unit reclaiming requests are prioritized to ensure free units are available, then the memory device can maintain writing capability, but user request latencies increase due to competition for storage resources

Engineering Contradiction:
Improvewriting capabilityVSAvoiduser request latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The scheduler dynamically adjusts the ratio of unit reclaiming requests to user requests based on the current number of free units in the memory device. When free units are abundant, fewer reclaiming requests are issued; when free units are scarce, more reclaiming requests are issued to prevent starvation, thereby adaptively balancing reliability and latency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the scheduling parameter (ratio of reclaiming to user requests) based on the free unit count threshold. This parameter adjustment allows the system to transition between different operational states, optimizing the balance between maintaining writing capability and minimizing user request latency

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If block reclaiming is performed regularly to free storage space, then free units are replenished for future writes, but current productivity decreases due to competing read and write operations

Engineering Contradiction:
Improvefree unitsVSAvoidstorage throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

Instead of performing full block reclaiming operations frequently, the system performs partial reclaiming by issuing unit reclaiming requests at a controlled ratio. This partial action is sufficient to maintain the free unit count above thresholds while minimizing interference with user storage operations

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The scheduler proactively issues unit reclaiming requests before free units are completely depleted by monitoring the free unit count and comparing it against thresholds. This preliminary action prevents free unit starvation while avoiding excessive reclaiming that would harm productivity

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the scheduler issues many unit reclaiming requests to prevent free unit starvation, then writing capability is maintained, but user perceived performance degrades due to resource contention

Engineering Contradiction:
Improvewriting capabilityVSAvoiduser perceived performance
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The scheduler implements feedback control by continuously monitoring the free unit count and adjusting the ratio of unit reclaiming requests to user requests accordingly. This closed-loop control ensures that reclaiming activity is precisely tuned to maintain writing capability without excessively degrading user performance

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adapts the reclaiming intensity based on real-time free unit measurements. When free units are abundant, the system reduces reclaiming activity to improve user performance; when free units approach critical thresholds, it increases reclaiming activity to maintain writing capability

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9244617B2Scheduling requests in a solid state memory device
Publication Date: 2016.01.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9244617B2 patent drawing
  • US9244617B2 patent drawing
  • US9244617B2 patent drawing

AI summary

An apparatus and method for a memory controller for managing scheduling requests in a solid state memory device. The memory includes a set of units wherein a unit within the set of units is erasable as a whole by a unit reclaiming process resulting in a free unit available for writing data to. The memory controller further includes a first queue for queuing user requests for reading and/or writing data from/to the memory, and a second queue for queuing unit reclaiming requests for executing the unit reclaiming process. A scheduler is provided for selecting user requests from the first queue and unit reclaiming requests from the second queue for execution according to a defined ratio. The defined ratio is a variable ratio, is dependent on the current number of free units, and permits the memory controller to select requests from both the first queue and the second queue.