SSD Controller Dynamic Compaction for Write Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In SSDs, the increase in porous blocks due to invalid data reduces the number of usable blocks, leading to inefficient storage and delayed write responses, as the compaction process competes with write requests for resources, especially when the number of free blocks is low.
Innovation Solution
A memory system with a controller that performs data organizing by determining the validity of data blocks and alternately writing valid data to new blocks, using a gear ratio for 1:N compaction, and writing invalid dummy data when invalid determinations exceed a threshold to maintain write performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If compaction is performed to increase free blocks, then storage efficiency is improved, but write response time deteriorates
Solution Approach 1:
The patent applies dynamics by making the compaction execution decision variable rather than fixed. The controller dynamically adjusts whether to perform compaction based on real-time monitoring of free block thresholds and write request frequencies. When free blocks fall below a first threshold and write requests are frequent, compaction is suppressed to prioritize write performance. When free blocks are above the threshold or write requests are infrequent, compaction is executed to maintain storage efficiency. This dynamic adaptation resolves the contradiction by allowing the system to shift between optimizing for storage efficiency and write response time based on current operational conditions.
2Quantity of substance
If compaction is continuously performed to maintain free blocks, then storage efficiency is improved, but system productivity deteriorates
Solution Approach 1:
The patent implements periodic action by scheduling compaction operations at specific intervals or under specific conditions rather than continuously. The controller monitors the frequency of write requests and only performs compaction when write request frequency is below a predetermined threshold. This periodic execution pattern ensures that compaction does not continuously compete with write operations for system resources. By making compaction periodic and conditional, the system maintains usable storage capacity while preserving write operation throughput, thus resolving the contradiction between storage efficiency and productivity.
3Loss of time
If the number of free blocks is maintained high to avoid compaction, then write response time is improved, but storage efficiency deteriorates
Solution Approach 1:
The patent applies parameter changes by introducing and adjusting multiple thresholds for free block counts and write request frequencies. The controller uses a first threshold for triggering compaction suppression and a second threshold for allowing compaction. By dynamically changing these parameter thresholds based on system state, the controller optimizes the balance between maintaining write response time and preserving storage efficiency. When free blocks are above the first threshold, compaction is suppressed to maintain write performance. When free blocks drop below the second threshold, compaction is allowed to restore storage efficiency. This parameter-based control resolves the contradiction by allowing flexible adjustment of the operating point.
Data Source
AI summary
A memory system in embodiments includes a nonvolatile semiconductor memory that stores user data, a forward lookup address translation table and a reverse lookup address translation table, and a controller. The controller is configured to determine that the user data stored in the nonvolatile semiconductor memory is valid or invalid based on these two tables. The controller may perform data organizing of selecting data determined valid and rewriting the data in a new block. The controller may perform write processing and rewriting processing to the new block alternately at a predetermined ratio. The controller may determine whether a predetermined condition is satisfied on a basis of addresses included in write requests and write data in the MLC mode when the condition is satisfied and write data in the SLC mode when the condition is not satisfied.