Storage Controller Write Stream Separation for Lower Write Amplification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing amount of data production, particularly with the rise of IoT devices and complex machine learning models, has made efficient data storage challenging due to resource-intensive write processes and limitations in write cache capacity in non-volatile storage controllers.
Innovation Solution
The method involves forming write stripes using blocks from non-volatile storage channels, grouping them into first and second logical erase units, and assigning these units to store new data and relocation data separately, with sub-page stripe writing to reduce write amplification and improve data retention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is written to non-volatile storage using traditional methods, then data storage capacity is increased, but write amplification increases and data retention deteriorates
Solution Approach 1:
The patent segments write operations into two distinct streams: new data writes and relocation data writes. Each stream is handled separately through dedicated sub-stripes within logical erase units, allowing optimized processing for each type of write operation and reducing overall write amplification
Solution Approach 2:
The patent extracts relocation data from the general write stream and handles it separately through dedicated sub-stripes. This separation allows the controller to optimize new data writes without being constrained by relocation operations, thereby reducing write amplification
2Productivity
If write cache capacity is increased to handle more data, then data writing efficiency is improved, but controller complexity and resource requirements increase
Solution Approach 1:
The patent segments the write cache into dedicated sub-stripes for new data and relocation data within logical erase units. This segmentation allows efficient utilization of existing cache resources without requiring additional cache capacity, thereby improving writing efficiency without increasing controller complexity
Solution Approach 2:
The patent implements dynamic allocation of sub-stripes within logical erase units, where the controller can flexibly assign sub-stripes to different write streams based on current workload requirements. This dynamic approach optimizes cache utilization without requiring fixed additional cache resources
3Loss of energy
If data is stored in separate locations for new data and relocation data, then write amplification is reduced, but storage organization complexity increases
Solution Approach 1:
The patent nests sub-stripes within logical erase units, creating a hierarchical structure where multiple sub-stripes are contained within each logical erase unit. This nesting allows separate handling of new data and relocation data while maintaining a unified storage organization framework, reducing the complexity increase that would result from completely separate storage locations
Data Source
AI summary
A method according to one approach is for organizing blocks in a non-volatile storage controller. The method includes: forming a write stripe using a single block from channels of the non-volatile storage. First and second logical erase units are also formed by grouping the blocks from the formed write stripe into at least first and second sub-stripes. The first sub-stripe is assigned to store new data, and the second sub-stripe is assigned to store relocation data. Moreover, writing data to the respective sub-stripes is performed sub-page stripe by sub-page stripe.


