Memory Controller Striping for Consistent SSD Write Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The inconsistency in write throughput of non-volatile memory devices, such as SSDs, due to varying program times of word-lines in memory blocks, leads to reduced stability and performance during data write operations.

Innovation Solution

A memory controller that assigns different indices to sub-blocks within memory blocks based on characteristic parameters, allowing parallel data writing across these sub-blocks to construct a super-block, thereby ensuring uniform write throughput without sacrificing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is written to memory blocks in parallel with varying program times, then write throughput increases, but write throughput consistency deteriorates

Engineering Contradiction:
Improvewrite throughputVSAvoidwrite throughput consistency
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The memory block is divided into multiple sub-blocks, and the write operation is segmented into multiple stripes. Each stripe contains data for one sub-block from each memory block in the super-block. This segmentation allows the write operation to be distributed across multiple parallel channels while maintaining consistency within each stripe, resolving the contradiction between parallel write throughput and throughput consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Before executing the parallel write operation, the memory controller performs preliminary actions including: (1) dividing the memory block into sub-blocks and assigning indices, (2) constructing the super-block by selecting one sub-block from each memory block, (3) dividing data into stripes according to the sub-block indices. These preliminary organizing actions ensure that when parallel writing occurs, the varying program times of different word-lines do not cause throughput inconsistency.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If sub-blocks are introduced to enable parallel writing, then write performance improves, but system complexity increases

Engineering Contradiction:
Improvewrite performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The introduced components (indexer, super-block constructor, stripifier) are integrated into the existing memory controller architecture. The indexer assigns indices to sub-blocks, the super-block constructor assembles super-blocks from sub-blocks, and the stripifier divides data into stripes. These multi-functional components handle both the organization of sub-blocks and the execution of parallel writes, improving write performance while minimizing the increase in system complexity through unified control.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20260050399A1Memory controller, method for operating the same, and storage device
Publication Date: 2026.02.19 SAMSUNG ELECTRONICS CO LTD
  • US20260050399A1 patent drawing
  • US20260050399A1 patent drawing
  • US20260050399A1 patent drawing

AI summary

A memory controller comprises a processing circuit configured to control a non-volatile memory to write data to sub-blocks included in a first super-block in a parallel manner to each other, in response to a first write command from a host, an indexer configured to assign respectively different indices from 1 to n to sub-blocks included in each of a plurality of memory blocks of the non-volatile memory based on a characteristic parameter, in response to a stripe request from the processing circuit, in which n is a natural number greater than or equal to 2, and a super-block constructor configured to select one sub-block from each of the plurality of memory blocks and assemble a first selected sub-blocks so that the first selected sub-blocks have at least indices from 1 to n.