NAND Flash SSD Over-Provisioning for Write Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND flash memory-based solid state drives face performance degradation due to the inability to overwrite data, requiring complete rewriting and resulting in a significant slowdown of write performance as blocks become filled with invalid data, necessitating inefficient TRIM commands that consume system resources.

Innovation Solution

A method and solid state drive architecture that partitions memory blocks into user-accessible and over-provisioning pools, allowing blocks to be dynamically transitioned between pools without host system intervention, enabling erasure and data reorganization without TRIM or erase commands, thereby maintaining a steady pool of erased blocks for immediate programming.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is written to NAND flash memory blocks, then storage capacity is utilized, but write performance degrades as blocks fill with invalid data

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidwrite performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments memory blocks into two distinct pools: user-accessible pool and over-provisioning pool. This segmentation allows independent management of each pool, where the over-provisioning pool serves as a dedicated resource for maintaining write performance by providing fresh erased blocks without affecting user storage capacity in the user-accessible pool.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The controller automatically manages block transition between pools without requiring host system intervention. The system self-monitors block status and autonomously transitions blocks from the over-provisioning pool to the user-accessible pool when needed, and moves used blocks back to the over-provisioning pool for erasure, eliminating the need for TRIM commands from the host.

Inventive Principle:
Principle #25Self-service

2Reliability

If complete rewriting is performed to update data, then data integrity is maintained, but write performance slows down significantly

Engineering Contradiction:
Improvedata integrityVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The over-provisioning pool is pre-filled with erased blocks ready for immediate programming. When the controller needs to write data, it can directly use these pre-prepared blocks from the over-provisioning pool without waiting for erasure operations, thereby maintaining high write performance while ensuring data integrity through proper programming procedures.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a block lifecycle management system where blocks in the user-accessible pool that have been fully written are automatically transitioned back to the over-provisioning pool. The controller then erases these recovered blocks in the background, preparing them for future use without impacting ongoing write operations, thus maintaining both data integrity and performance.

Inventive Principle:
Principle #34Discarding and recovering

3Productivity

If TRIM commands are issued to erase blocks with invalid data, then write performance is maintained, but system resources are consumed

Engineering Contradiction:
Improvewrite performanceVSAvoidsystem resource usage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The controller autonomously manages the erasure of blocks without requiring TRIM commands from the host system. The system self-monitors when blocks in the user-accessible pool are fully written and automatically transitions them to the over-provisioning pool for erasure, eliminating the need for host system intervention and reducing system resource consumption.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The over-provisioning pool acts as an intermediary buffer between the user-accessible pool and the erasure process. Blocks are first moved to this intermediate pool before being erased, allowing the erasure operation to proceed in the background without blocking write operations or requiring host system resources, thus maintaining write performance while minimizing resource usage.

Inventive Principle:
Principle #24Intermediary (Mediator)

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach maintains write performance by proactively erasing used blocks and reorganizing data internally, reducing the need for host system interconnect bandwidth and minimizing system resource usage, effectively addressing the limitations of unidirectional programming in NAND flash memory.

Implementation Method 1

Data are stored in a NAND flash cell in the form of a charge on the floating gate which, in turn, defines the channel properties of the NAND flash cell

Methodology Applied
Scientific EffectElectrostatic charge storage: Capacitance

Implementation Method 2

The control gate exerts a Fowler-Nordheim (FN) field that causes the injection of electrons into the floating gate by quantum mechanical tunneling

Methodology Applied
Scientific EffectFowler-Nordheim tunneling: Electric Field

Implementation Method 3

The substrate exerts a Fowler-Nordheim field that pulls electrons from the floating gate to deplete the floating gate of any program charge

Methodology Applied
Scientific EffectFowler-Nordheim tunneling: Electric Field

Data Source

PatentUS8489855B2NAND flash-based solid state drive and method of operation
Publication Date: 2013.07.16 KIOXIA CORP
  • US8489855B2 patent drawing
  • US8489855B2 patent drawing
  • US8489855B2 patent drawing

AI summary

A solid state drive that uses over-provisioning of NAND flash memory blocks as part of housekeeping functionality, including deduplication and coalescence of data for efficient usage of NAND flash memory devices and maintaining sufficient numbers of erased blocks to promote write performance.