NAND Flash Storage Controller Block Segmentation for GC Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND flash memory systems face performance deterioration and reduced capacity efficiency due to the need for garbage collection (GC) when handling diverse workloads, as they can only perform sequential writes, leading to the creation of 'missing blocks' and reduced physical capacity utilization.

Innovation Solution

A storage system that allocates exclusive physical blocks to each logical volume based on workload characteristics, using a namespace identification number to manage data storage, thereby reducing GC frequency and improving I/O access performance and endurance by preventing mixed workloads within the same block.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If garbage collection is performed concurrently with normal I/O access to improve capacity efficiency, then data capacity efficiency is improved, but I/O performance deteriorates

Engineering Contradiction:
Improvedata capacity efficiencyVSAvoidI/O performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The storage system segments physical blocks into multiple types (first type for new data, second type for updates, third type for GC) and assigns different workloads to different block types. This segmentation allows GC operations to be isolated from normal I/O access paths, preventing GC from deteriorating I/O performance while maintaining capacity efficiency through dedicated update blocks.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If sequential write is used in NAND flash to achieve high degree of integration and large capacity, then storage capacity is improved, but random write capability is lost

Engineering Contradiction:
Improvestorage capacityVSAvoidrandom write capability
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The system segments physical blocks into first type blocks for new data (enabling sequential write for high capacity) and second type blocks for update data (enabling random write through update operations). This segmentation allows the system to maintain large storage capacity through sequential write optimization while providing random write capability through dedicated update blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces second type blocks as intermediary storage for update data. When update writes occur, data is written to second type blocks rather than overwriting first type blocks directly. This intermediary mechanism enables random write operations while preserving the sequential write optimization for capacity efficiency in first type blocks.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If multiple workloads are stored in the same block to improve capacity utilization, then physical capacity utilization is improved, but garbage collection frequency increases

Engineering Contradiction:
Improvephysical capacity utilizationVSAvoidgarbage collection frequency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system segments blocks into different types with different purposes: first type blocks for new data, second type blocks for updates, and third type blocks for GC. This segmentation allows the system to maintain high capacity utilization by using all block types while reducing GC frequency through the isolation of update operations in second type blocks, preventing mixed workloads from triggering frequent GC.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10884630B2Storage system
Publication Date: 2021.01.05 HITACHI VANTARA LTD
  • US10884630B2 patent drawing
  • US10884630B2 patent drawing
  • US10884630B2 patent drawing

AI summary

A storage system includes a controller and a nonvolatile memory drive, in which the controller transmits a write request that designates a volume identifier of a volume to be provided to a host, to the nonvolatile memory drive; the nonvolatile memory drive exclusively allocates a free block selected from a plurality of blocks to the volume identifier; write data of the write request is written to the free block; when the write data is update write data, an area that stores data to be updated is changed to an invalid data area; and after valid data of a block including the invalid data area is migrated to another block, all data of the block including the invalid data area is erased.