Stream-Aware Nonvolatile Memory Write Control for 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 increased buffer requirements and higher costs due to the need for large-capacity DRAM, especially in server environments with numerous end users.
Innovation Solution
A memory system with a controller that checks the total size of data lengths for each stream and only fetches and writes data when the total size meets the minimum write size of the nonvolatile memory, reducing the need for large buffer resources by optimizing data transfer and allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the memory system allocates large-capacity DRAM buffers to handle multiple data streams simultaneously, then the data write capability and stream handling capacity are improved, but the memory resource requirements and system cost increase significantly
Solution Approach 1:
The patent segments the data write operations by introducing stream identifiers to categorize different data streams. The controller checks the total size of data for each stream separately and only fetches data when the cumulative size meets the minimum write threshold. This segmentation allows efficient handling of multiple streams without requiring large buffers for each individual stream, thereby improving productivity while controlling memory resource usage.
Solution Approach 2:
The controller performs preliminary checking of the total data size for each stream before initiating the data fetch operation. By accumulating data from multiple write commands and checking whether the total size reaches the minimum write threshold in advance, the system avoids unnecessary buffer allocations and fetch operations, thus reducing memory resource requirements while maintaining effective data write capability.
2Quantity of substance
If the system checks and accumulates data from multiple write commands before fetching, then the buffer capacity requirements are reduced, but the data processing time and complexity increase
Solution Approach 1:
The controller automatically tracks the cumulative data size for each stream and autonomously determines when the minimum write threshold is met, triggering the fetch operation without requiring external intervention or complex coordination. This self-service mechanism reduces processing overhead and time while effectively managing buffer capacity requirements.
3Productivity
If the memory system writes data from multiple streams to different blocks, then the data organization and retrieval efficiency are improved, but the controller complexity and management overhead increase
Solution Approach 1:
The patent applies local quality by associating specific stream identifiers with specific write destination blocks. Each stream is routed to dedicated blocks based on its identifier, creating a localized mapping relationship. This approach improves data organization and retrieval efficiency while keeping the controller management logic relatively simple, as it only needs to maintain the stream-to-block mapping rather than complex global allocation algorithms.
Data Source
AI summary
According to one embodiment, a memory system checks a first total size indicative of a sum of data lengths specified by first write commands stored in a first submission queue of a host corresponding to a first stream. When the first total size is greater than or equal to a minimum write size, the memory system fetches a set of first write commands stored in the first submission queue, transfers first write data associated with the set of first write commands from a memory of the host to the memory system, and writes the first write data into a first write destination block allocated for the first stream.


