Stream-Aware Nonvolatile Memory Writes With Smaller Buffers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in efficiently managing multiple streams of data writes to nonvolatile memory, leading to the need for large buffer sizes and increased traffic, which increases costs and reduces performance.
Innovation Solution
A memory system that classifies write commands into groups based on stream identifiers and only transfers data to internal buffers when the minimum write size is reached, reducing the required buffer size and minimizing traffic between the controller and DRAM.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is continuously transferred to internal buffers for multiple streams, then write performance is maintained, but buffer size increases and costs increase
Solution Approach 1:
The patent segments the buffer management by creating separate command queues for different streams (stream0, stream1, etc.) instead of using a single large buffer. Each stream's write commands are independently tracked and processed, allowing the system to maintain multiple streams with smaller, dedicated buffer regions rather than requiring one large buffer for all streams.
Solution Approach 2:
The patent performs preliminary classification of write commands into stream-specific queues before data transfer occurs. By organizing commands by stream identifier in advance and tracking accumulated write sizes per stream, the system determines exactly when minimum write sizes are reached, enabling efficient batch transfers without needing to pre-allocate large buffers for all possible data.
2Stability of the object's composition
If large buffers are allocated for multiple streams, then data transfer continuity is improved, but device complexity and cost increase
Solution Approach 1:
The patent implements dynamic buffer management where the buffer occupancy tracking is updated in real-time as write commands are processed. The system dynamically determines when to transfer data based on accumulated write sizes reaching minimum thresholds, rather than using static buffer allocation. This dynamic approach maintains transfer continuity while adapting buffer usage to actual write patterns.
Solution Approach 2:
The patent uses feedback mechanisms by continuously monitoring the accumulated write size for each stream and comparing it against minimum write size thresholds. This feedback triggers data transfer operations automatically when conditions are met, ensuring continuous data flow without requiring large pre-allocated buffers or complex manual management.
3Quantity of substance
If data is transferred frequently to meet minimum write sizes, then buffer occupancy is reduced, but data transfer overhead increases
Solution Approach 1:
The patent applies partial action by transferring only the necessary amount of data when minimum write sizes are reached for each stream, rather than transferring all accumulated data regardless of size. This selective transfer approach reduces unnecessary data movement and associated overhead while still maintaining efficient buffer utilization by triggering transfers at appropriate thresholds.
4Adaptability or versatility
If multiple streams are supported with separate buffers, then stream independence is improved, but buffer size and traffic increase
Solution Approach 1:
The patent creates a universal buffer management structure where a single buffer resource serves multiple streams through logical segmentation via command queues. Each stream has its own command queue for independent management, but they share the same physical buffer space, allowing the system to support multiple independent streams without requiring separate physical buffers for each stream.
Data Source
AI summary
According to one embodiment, a memory system determines, for each of groups corresponding to streams, whether or not a length of write data associated with a set of write commands belonging to a same group reaches a minimum write size of a nonvolatile memory. When a length of write data associated with a set of write commands belonging to a first group corresponding to a first stream reaches the minimum write size, the memory system transfers the write data associated with the set of write commands belonging to the first group from a write buffer in a memory of the host to a first buffer in the memory system, and writes the write data transferred to the first buffer to a first write destination block corresponding to the first stream.


