SSD Write Amplification Reduction via Separate Logical Erase Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional solid-state drives (SSDs) face high write amplification due to the need for garbage collection and out-of-place writes, which increases the number of write operations and reduces the endurance of NAND flash memory, leading to performance degradation and shorter device lifespan.

Innovation Solution

The solution involves maintaining separate open logical erase blocks for user writes and relocate writes, allowing for active separation of different write operations, thereby reducing the frequency of garbage collection and minimizing the number of write operations required.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If separate logical erase blocks are maintained for user writes and relocate writes, then write amplification is reduced and NAND flash memory lifespan is extended, but device complexity increases

Engineering Contradiction:
ImproveNAND flash memory lifespanVSAvoidSSD controller complexity
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

The patent divides the logical erase block into two separate blocks: one dedicated to user writes and another for relocate writes. This segmentation allows independent management of user data and garbage collection operations, reducing write amplification by preventing user writes from interfering with relocate operations, thereby extending NAND flash memory lifespan while maintaining manageable complexity through structured separation

Inventive Principle:
Principle #1Segmentation

2Productivity

If garbage collection is deferred to maximize invalidated data in block, then the number of valid pages to relocate is reduced, but write amplification increases due to delayed relocation operations

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidwrite amplification
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The patent performs preliminary separation of user writes and relocate writes into different logical erase blocks before garbage collection occurs. This preliminary action ensures that when garbage collection is deferred, only relocate writes need to be moved, not user data, thereby reducing the number of valid pages to relocate and minimizing write amplification while maintaining garbage collection efficiency

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If user writes and relocate writes are mixed in the same logical erase block, then device complexity is reduced, but performance degrades due to increased garbage collection frequency

Engineering Contradiction:
Improveblock management complexityVSAvoidSSD performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the logical erase block into separate blocks for user writes and relocate writes. This segmentation improves SSD performance by allowing independent management of user data and garbage collection operations, reducing the frequency of garbage collection interruptions, and enhancing overall productivity despite the increased structural organization required

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10579270B2Reducing write amplification in solid-state drives by separating allocation of relocate writes from user writes
Publication Date: 2020.03.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10579270B2 patent drawing
  • US10579270B2 patent drawing
  • US10579270B2 patent drawing

AI summary

A computer program product, according to one embodiment, includes a computer readable storage medium having program instructions embodied therewith. The computer readable storage medium is not a transitory signal per se. Moreover, the program instructions are readable and/or executable by a processor to cause the processor to perform a method which includes: maintaining a first open logical erase block for user writes, and a second open logical erase block for relocate writes. A first data stream having the user writes is received, and transferred to the first open logical erase block. A second data stream having the relocate writes is also received, and transferred to the second open logical erase block. Furthermore, a third data stream is received, and is mixed with the first, second, and/or another data stream in response to determining that an open logical erase block is not available for assignment to the third data stream.