DRAM Buffer Reduces SSD Write Amplification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid-state drives (SSDs) face write amplification issues due to the need to erase and rewrite data in blocks, leading to a reduction in the number of available write operations over their lifespan, as existing technologies require rewriting data to new blocks after erasing valid data, resulting in extra writes and reduced capacity for user data.

Innovation Solution

The use of dynamic random access memory (DRAM) to alleviate write amplification by writing collected data directly to DRAM instead of rewriting it to new SSD blocks, allowing for overwriting without erasing, thereby reducing the number of write operations and extending the SSD's write cycle life.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is rewritten to new SSD blocks after erasing valid data, then storage capacity is maintained, but write amplification increases and write cycle life decreases

Engineering Contradiction:
Improvestorage capacityVSAvoidwrite cycle life
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent introduces a buffer memory (DRAM) as an intermediary between the host and NAND flash memory. When write commands are received, data is first written to the buffer memory which has unlimited write cycles, instead of directly writing to NAND flash blocks. This mediator absorbs the write operations, preventing direct wear on the flash memory and eliminating the need for frequent erase-write cycles on the SSD blocks, thereby reducing write amplification while maintaining storage capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If data is rewritten to new SSD blocks, then data integrity is maintained, but the number of write operations increases

Engineering Contradiction:
Improvedata integrityVSAvoidwrite operations
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The buffer memory enables continuous write operations without interruption for erase cycles. Data can be continuously written to the buffer memory which does not require erasing before rewriting, maintaining data integrity through proper buffer management while eliminating the discontinuous erase-write cycles that characterize traditional SSD operation. This continuous action reduces the total number of write operations on the flash memory blocks.

Inventive Principle:
Principle #20Continuity of useful action

3Device complexity

If traditional erase-write cycles are used in SSD blocks, then storage management is simplified, but write amplification occurs

Engineering Contradiction:
Improvestorage managementVSAvoidwrite amplification
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The storage system is segmented into two distinct parts: a buffer memory segment for handling write operations and a NAND flash memory segment for permanent storage. This segmentation allows each component to operate in its optimal mode - the buffer handles frequent writes without erasure, while the flash memory undergoes fewer, more controlled erase-write cycles. The controller manages the interaction between these segments, reducing overall write amplification while maintaining manageable complexity through clear separation of functions.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8892816B1System and method for writing data to a memory
Publication Date: 2014.11.18 MARVELL ASIA PTE LTD
  • US8892816B1 patent drawing
  • US8892816B1 patent drawing
  • US8892816B1 patent drawing

AI summary

In first and second memories, respectively, data cannot and can be overwritten on prewritten locations without first erasing the prewritten locations. A selection module selects memory blocks of first memory, which are partially written with first data, in response to receiving a write command to write second data to the memory blocks. A control module, prior to erasing the first data from the memory blocks, writes the first data in a portion of second memory instead of writing the first data in first memory. A location description module generates a description table indicating whether data in memory locations in the portion of second memory are valid or invalid. A rate of adding data to the portion becomes equal to a rate at which data in memory locations in the portion becomes invalid so that the first data is written in the portion without first merging the first data.