Flash Memory Sub-Block Segmentation for Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As the size of flash memory blocks increases, the execution time for full block merges also increases, leading to reduced write performance and fewer controllable blocks, which adversely impacts block operations, especially in systems with time-outs and at the same density.

Innovation Solution

A memory system with flash memory divided into first and second sub-blocks, where the controller copies valid data from first sub-blocks to second sub-blocks during garbage collection, and manages metadata by incorporating these sub-blocks into different areas, allowing for efficient garbage collection and storage space management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the size of flash memory block increases, then storage capacity is improved, but execution time of full block merge increases and write performance is reduced

Engineering Contradiction:
Improvestorage capacityVSAvoidexecution time of full block merge
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The flash memory block is divided into multiple sub-blocks (first sub-blocks and second sub-blocks). Instead of performing full block merge operations on the entire large block, the controller performs garbage collection operations on individual sub-blocks independently. This segmentation allows parallel processing and reduces the execution time of merge operations while maintaining the total storage capacity of the large block.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the size of flash memory block increases, then storage capacity is improved, but the number of controllable blocks is reduced

Engineering Contradiction:
Improvestorage capacityVSAvoidnumber of controllable blocks
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

By dividing each large block into multiple sub-blocks, the controller gains finer-grained control over the storage space. The controller can selectively perform garbage collection, erase, and manage individual sub-blocks independently. This increases the number of controllable units from the number of large blocks to the number of sub-blocks, improving adaptability and versatility in block management while maintaining the same total storage capacity.

Inventive Principle:
Principle #1Segmentation

3Stability of the object's composition

If full block merge operation is performed, then storage space is consolidated, but write performance is reduced

Engineering Contradiction:
Improvestorage space consolidationVSAvoidwrite performance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The controller performs garbage collection operations on individual sub-blocks rather than executing full block merge operations on the entire block. This allows write operations to proceed in parallel with sub-block level consolidation, reducing the impact on write performance while still achieving storage space consolidation through selective erasure of invalid pages in each sub-block.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing complete block merge operations that consolidate entire blocks, the controller performs partial garbage collection operations only on sub-blocks that contain invalid pages. This partial action approach consolidates storage space where needed without unnecessarily delaying write operations on sub-blocks that are still valid or being actively used.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9190155B2Memory system
Publication Date: 2015.11.17 SAMSUNG ELECTRONICS CO LTD
  • US9190155B2 patent drawing
  • US9190155B2 patent drawing
  • US9190155B2 patent drawing

AI summary

A memory system includes a flash memory including a block having first sub-blocks and second sub-blocks different from each other, the second sub-blocks including free pages only; and a controller configured to erase the flash memory in units of the sub-blocks, and in a garbage collection operation, the controller is configured to copy data of a valid page of the first sub-blocks to at least one of the second sub-blocks.