Hybrid Multi-Stream SSD Data Placement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing SSD technologies face inefficiencies due to the lack of control over data writes to SLC NAND buffers and the resulting frequent data migrations, especially when dealing with large data sets.
Innovation Solution
A hybrid multi-stream SSD is introduced, featuring a high-access memory with higher endurance and IOPS, and a normal-access memory, both accessible by external applications. The SSD uses stream IDs to direct data streams to either memory type, allowing applications to control where data is written.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is written to SLC NAND buffer without control, then write performance is improved, but data migration frequency increases and system complexity worsens
Solution Approach 1:
The patent segments the SSD storage into multiple streams with different QoS parameters. Each stream can be independently configured to write to SLC or TLC/QLC memory based on its specific requirements. This segmentation allows controlled data placement rather than uncontrolled writing to SLC buffer, reducing unnecessary migrations while maintaining write performance for appropriate data types.
Solution Approach 2:
The patent applies local quality by assigning different quality attributes (QoS parameters) to different data streams. Each stream can have customized write endurance limits, latency requirements, and performance targets. This allows SLC memory to be used selectively for streams requiring high write performance while TLC/QLC memory handles streams with less stringent requirements, optimizing overall system efficiency and reducing migrations.
2Speed
If SLC buffer is used for caching, then write speed is improved, but endurance is reduced due to frequent program/erase cycles
Solution Approach 1:
The patent implements dynamic stream management where streams can be migrated between SLC and TLC/QLC memory based on changing workload characteristics. The system monitors stream behavior and dynamically adjusts placement decisions, allowing SLC buffer usage to be optimized for current write speed requirements while managing overall endurance through controlled migration rather than frequent P/E cycles.
Solution Approach 2:
The patent changes the parameter of write endurance allocation by assigning different endurance budgets to different streams. Instead of uniform high-endurance SLC caching for all data, the system adjusts endurance parameters per-stream based on QoS requirements, allowing SLC to be used intensively for streams needing high write speed while protecting overall device endurance through selective placement.
3Quantity of substance
If multiple data streams are handled without stream IDs, then storage capacity is maximized, but data placement control is lost and performance deteriorates
Solution Approach 1:
The patent implements feedback mechanisms where the system monitors stream performance metrics, access patterns, and QoS compliance. Based on this feedback, the system dynamically adjusts data placement decisions, migrating streams between SLC and TLC/QLC memory to maintain optimal performance while maximizing storage capacity utilization across both memory types.
Solution Approach 2:
The patent creates a universal stream management system that handles multiple data streams with diverse requirements through a common interface. The stream ID mechanism provides universal control across all streams, allowing the system to simultaneously optimize performance for different workload types while maintaining full storage capacity availability through flexible, policy-based data placement.
Data Source
AI summary
A multi-stream solid-state device (SSD) includes a normal-access memory associated with a first stream ID, a high-access memory having a higher endurance than the normal-access memory and being associated with a second stream ID, a controller processor, and a processor memory coupled to the controller processor, wherein the processor memory has stored thereon instructions that, when executed by the controller processor, cause the controller processor to perform identifying a data stream ID of an input data stream as one of the first and second stream IDs, in response to identifying the data stream ID as the first stream ID, storing the input data stream in the normal-access memory, and in response to identifying the data stream ID as the second stream ID, storing the input data stream in the high-access memory.


