Nonvolatile Memory FTL Partitioning for Lower Write Amplification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems with nonvolatile memories face challenges in managing complex control operations, leading to increased resource consumption, degraded I/O performance, and reduced SSD lifespan due to write amplification and noisy neighbor issues, particularly in systems with shared address translation and garbage collection responsibilities between hosts and storage devices.

Innovation Solution

A memory system architecture that shares the role of Flash Translation Layer (FTL) between the host and the flash storage device, where the host manages logical-to-physical address translation and global FTL functions, while the flash storage device handles low-level abstraction, including garbage collection and defective page handling, to optimize resource usage and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the host manages all FTL functions including address translation and garbage collection, then control flexibility is improved, but device complexity and resource consumption increase

Engineering Contradiction:
Improvecontrol flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The FTL functionality is segmented into two parts: address translation is performed by the host, while garbage collection is performed by the storage device. This segmentation allows each component to handle specific tasks, reducing overall system complexity while maintaining control flexibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A command queue mechanism acts as an intermediary between the host and storage device, enabling coordinated operation. The host manages address translation through logical block addresses, while the storage device autonomously handles garbage collection, reducing direct communication overhead and system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the host performs address translation, then I/O performance is improved, but memory resource consumption increases

Engineering Contradiction:
ImproveI/O performanceVSAvoidmemory resource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The host maintains a mapping table that stores logical-to-physical address translations in host memory rather than requiring large buffers in the storage device. This copying approach allows the host to manage address translation efficiently using available memory resources.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system moves address translation from the storage device dimension to the host dimension, allowing the host to utilize its memory resources and processing capabilities for translation tasks, thereby improving I/O performance while distributing memory consumption appropriately.

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

3Loss of energy

If garbage collection is performed by the storage device, then write amplification is reduced, but control complexity increases

Engineering Contradiction:
Improvewrite amplificationVSAvoidcontrol complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The storage device autonomously performs garbage collection operations based on commands from the host, managing its own internal block and page operations. This self-service approach reduces write amplification while keeping control complexity localized to the storage device rather than the entire system.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The host issues garbage collection commands in advance, specifying source and destination blocks. The storage device then autonomously executes the garbage collection by copying valid pages and erasing source blocks, reducing write amplification through pre-planned operations rather than reactive management.

Inventive Principle:
Principle #10Preliminary action

4Duration of action of stationary object

If block-level operations are managed by the storage device, then SSD lifespan is extended, but device complexity increases

Engineering Contradiction:
ImproveSSD lifespanVSAvoiddevice complexity
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

The storage device autonomously manages block-level operations including garbage collection, wear leveling, and bad block management. This self-service capability extends SSD lifespan by optimizing write patterns and distributing wear evenly across blocks without requiring complex host-side management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The storage device performs preliminary actions such as pre-allocation of blocks, wear leveling before writes occur, and proactive garbage collection. These preliminary actions extend SSD lifespan by preventing excessive wear on any single block and maintaining optimal write patterns throughout the device lifecycle.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12443524B2Memory system and method for controlling nonvolatile memory
Publication Date: 2025.10.14 KIOXIA CORP
  • US12443524B2 patent drawing
  • US12443524B2 patent drawing
  • US12443524B2 patent drawing

AI summary

According to one embodiment, a memory system includes a nonvolatile memory including plural blocks each including plural pages, and a controller. When receiving a write request designating a first logical address and a first block number from the host, the controller determines a first location in a first block having the first block number to which data from the host should be written, and writes the data from the host to the first location in the first block. The controller notifies the host of either an in-block physical address indicative of the first location, or a group of the first logical address, the first block number and the first in-block physical address.