Dynamic Memory Bank Allocation via Stream Striping

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesimplicity of striping policy implementationVSAvoidhost performance
Core Design Contradiction:
Ease of manufactureVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvedata storage capacityVSAvoiddelay time
Core Design Contradiction:
Quantity of substanceVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvewrite performanceVSAvoidbank allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11537324B2Memory systems and methods that allocate memory banks using striping size and stream identification information contained within directive commands
Publication Date: 2022.12.27 SAMSUNG ELECTRONICS CO LTD
  • US11537324B2 patent drawing
  • US11537324B2 patent drawing
  • US11537324B2 patent drawing

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.