Dynamic Memory Bank Allocation via Stream Striping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing nonvolatile memory devices face delays in storing large amounts of data due to fixed striping policies that do not consider the performance requirements of the host, leading to suboptimal performance and inefficient data distribution across multiple banks.
Innovation Solution
A method and interface protocol that allow a host to select a striping size for each data stream based on its characteristics, enabling dynamic allocation of memory banks for optimal performance, where data is written into allocated banks according to stream identification information and striping size, and the striping size can be adjusted dynamically using directive commands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If a fixed striping size is used in the memory controller, then the striping policy is simple to implement, but the host cannot obtain optimum performance because the same policy is applied to all data regardless of data characteristics
Solution Approach 1:
The patent implements dynamic striping by allowing the host to select different striping sizes for different data streams through stream identification information. The memory controller dynamically adjusts the striping policy based on the selected striping size for each stream, rather than using a fixed striping size for all data. This resolves the contradiction by making the striping policy adaptive to different performance requirements while maintaining manageable complexity through host-controlled selection.
Solution Approach 2:
The patent changes the striping size parameter based on data stream characteristics. The host selects different striping sizes (e.g., 1CHx1BK, 1CHx2BK, 2CHx1BK, 2CHx2BK) for different streams based on their performance requirements. This parameter change allows optimization of host performance for different data types while keeping the implementation straightforward through pre-defined striping size options.
2Quantity of substance
If multiple nonvolatile memory devices are used to store large amounts of data, then the data storage capacity is sufficient, but an excessive delay time occurs due to typical limitations in operating speed
Solution Approach 1:
The patent segments data into different streams with different striping sizes, allowing parallel writing to multiple memory devices. By dividing data into streams and applying appropriate striping, the system can utilize multiple memory devices simultaneously, increasing effective write speed and reducing delay time while maintaining large storage capacity.
Solution Approach 2:
The patent introduces the dimension of stream identification and striping size selection to optimize performance. By adding these control dimensions, the system can parallelize operations across multiple memory devices more effectively, reducing the time penalty associated with using multiple devices while maintaining the necessary storage capacity.
3Productivity
If the striping size is increased to improve write performance, then more banks are allocated for parallel writing, but the complexity of bank allocation increases
Solution Approach 1:
The patent introduces stream identification information as an intermediary between the host and the bank allocation mechanism. The host selects the striping size based on performance requirements, and this selection is used to determine bank allocation. This intermediary simplifies the complexity by providing a clear mapping from host intent to bank allocation without requiring complex real-time decisions in the memory controller.
Data Source
AI summary
A method of operating a multi-bank storage device includes transmitting a write command including stream identification information to the multi-bank storage device, and allocating at least one bank, in which data associated with the write command is to be stored, from among a plurality of banks in the multi-bank storage device, based on striping size information included within the stream identification information. Upon allocation, the data is written into the allocated at least one bank.


