SSD Memory Controller Scheduling via Variable Reclaim Ratio
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
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
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
Data Source
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.


