Shared Write Buffer for SSD Block Group Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In non-volatile memory systems, such as solid state drives (SSDs) with NAND flash memory, the time required to fill a block with data can be excessively long, leading to reliability issues and making it difficult for hosts to complete writing operations within a given time limit.

Innovation Solution

The implementation of a memory system that includes a controller managing block groups and zones, where write data is temporarily stored in a shared write buffer before being copied to dedicated block groups, allowing for efficient data distribution and reducing the time needed to fill blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If write data is directly written to blocks in non-volatile memory, then the writing operation is simple, but the time required to fill a block becomes excessively long, compromising reliability

Engineering Contradiction:
Improveblock reliabilityVSAvoidwriting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The controller performs preliminary actions by creating a shared write buffer and pre-filling it with dummy data before actual write operations. This allows the block to be in a full state before writing begins, satisfying the time limit requirement while maintaining reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A shared write buffer is introduced as an intermediary between the host and the non-volatile memory blocks. This buffer temporarily stores write data and is managed by the controller, allowing decoupling of the write operation timing from the block filling timing, thus resolving the contradiction between speed and reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the host is required to allow blocks to be in a full state within a time limit, then block reliability is ensured, but it becomes difficult to complete writing operations within the time limit

Engineering Contradiction:
Improveblock reliabilityVSAvoidwriting throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The controller performs self-service by autonomously managing the shared write buffer, pre-filling it with dummy data, and handling the block full state requirement without host intervention. This allows the host to focus on productive write operations while the controller ensures reliability requirements are met

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The controller performs preliminary actions by pre-filling the shared write buffer with dummy data before host write operations begin. This ensures that blocks can transition to a full state within the required time limit, maintaining reliability while enabling higher writing throughput

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a shared write buffer is introduced to manage write data, then writing efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvewriting efficiencyVSAvoidcontroller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The shared write buffer serves multiple functions: it stores write data from the host, provides dummy data to fill blocks, and acts as a temporary storage area during write operations. This multi-functionality improves writing efficiency while minimizing the need for additional separate components, thus limiting the increase in device complexity

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

Data Source

PatentUS20250068354A1Memory system and control method
Publication Date: 2025.02.27 KIOXIA CORP
  • US20250068354A1 patent drawing
  • US20250068354A1 patent drawing
  • US20250068354A1 patent drawing

AI summary

A controller manages a plurality of block groups each including one or more blocks among a plurality of blocks provided in a non-volatile memory. The controller assigns one of the plurality of block groups to each of plurality of zones. The controller writes write data which is to be written to a first zone to a shared write buffer and writes write data which is to be written to a second zone to the shared write buffer. When a total size of the write data in the first zone stored in the shared write buffer reaches a capacity of the first zone, the controller copies the write data in the first zone stored in the shared write buffer to the first block group assigned to the first zone.