SSD Flash Memory Segmentation for Write Speed Stabilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional solid state drives face inefficiencies in garbage collection, leading to decreased writable space and fluctuating write speeds due to the interlaced storage of moved valid data and write data, requiring repeated garbage collection and block erase operations.

Innovation Solution

A data programming method for a solid state drive that separates storage zones for moved valid data and write data, allowing them to be programmed into distinct blocks, thereby avoiding simultaneous storage and reducing the need for repeated garbage collection and block erasures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If moved valid data and write data are stored interlaced in the same block, then the flash memory structure is simple, but the write speed fluctuates and garbage collection frequency increases

Engineering Contradiction:
Improveflash memory structureVSAvoidwrite speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the flash memory into distinct first blocks for storing moved valid data and second blocks for storing write data. This segmentation prevents interlaced storage, allowing independent management of garbage collection and write operations, thereby stabilizing write speed without significantly increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If moved valid data and write data are stored interlaced in the same block, then the flash memory utilization is high, but the frequency of garbage collection and block erase operations increases

Engineering Contradiction:
Improveflash memory utilizationVSAvoidgarbage collection frequency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

By segmenting flash memory into first blocks for moved valid data and second blocks for write data, the patent enables independent garbage collection on first blocks without affecting write operations on second blocks. This reduces the frequency and impact of garbage collection operations while maintaining efficient memory utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the moved valid data storage function into separate first blocks, distinct from second blocks used for write data. This extraction allows garbage collection to be performed independently on first blocks, reducing the interference with ongoing write operations and decreasing garbage collection frequency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If separate blocks are used for moved valid data and write data, then write speed is stabilized, but the flash memory structure becomes more complex

Engineering Contradiction:
Improvewrite speedVSAvoidflash memory structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements segmentation by dividing flash memory into first blocks for moved valid data and second blocks for write data. This segmentation stabilizes write speed by preventing interlaced storage issues, while the block division remains a manageable structural change that does not overly complicate the overall flash memory architecture.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10055143B2Solid state drive and data programming method thereof
Publication Date: 2018.08.21 SOLID STATE STORAGE TECH CORP
  • US10055143B2 patent drawing
  • US10055143B2 patent drawing
  • US10055143B2 patent drawing

AI summary

A data programming method for a solid state drive is provided. The solid state drive has a flash memory with plural blocks. If a garbage collection is determined to be performed, a first open block is selected from the plural blocks of the flash memory for storing a moved valid data corresponding to the garbage collection. Then, the moved valid data corresponding to the garbage collection is programmed into the first open block. A second open block is selected from the plural blocks of the flash memory for storing a write data from a host.