Memory Controller Hot Cold Data Relocation for SSD Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid state drives (SSDs) using NAND flash memory face performance degradation due to the garbage collection process, which requires erasing blocks and relocating valid data, leading to inefficiencies in write performance as the system needs to manage free regions and equalize erase counts across blocks.

Innovation Solution

A memory system with a memory controller that selectively relocates valid data between blocks to maintain free regions and equalize erase counts, separating hot and cold data to optimize the garbage collection and wear leveling processes, and concurrently executing these processes in units smaller than blocks to minimize performance degradation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If garbage collection is executed to generate free regions by relocating valid data, then free regions are generated for future writes, but write performance degrades due to the relocating process

Engineering Contradiction:
Improvefree regionsVSAvoidwrite performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system performs preliminary classification of valid data into hot data and cold data before the relocating process. By identifying and separating cold data (data not frequently accessed) from hot data (frequently accessed data) in advance, the system prepares the relocation strategy beforehand, allowing cold data to be prioritized for relocation to minimize the impact on write performance while ensuring free regions are generated efficiently.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The garbage collection process is segmented into multiple stages: classification stage (identifying hot and cold data), selection stage (choosing relocation targets), and execution stage (relocating data). This segmentation allows the system to selectively relocate only cold data while preserving hot data in high-performance blocks, thereby reducing the overall relocating workload and minimizing write performance degradation.

Inventive Principle:
Principle #1Segmentation

2Reliability

If wear leveling is executed to equalize erase counts across blocks, then block wear is distributed evenly, but write performance degrades due to the relocating process

Engineering Contradiction:
Improveblock wear distributionVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary classification of valid data into hot data and cold data before the relocating process. By identifying and separating cold data (data not frequently accessed) from hot data (frequently accessed data) in advance, the system prepares the relocation strategy beforehand, allowing cold data to be prioritized for relocation to minimize the impact on write performance while ensuring free regions are generated efficiently.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Different relocation strategies are applied to different types of data based on their access characteristics. Cold data is relocated using wear leveling algorithms that prioritize equalizing erase counts across blocks, while hot data is preserved in blocks with better performance characteristics. This local quality approach ensures that each data type is handled according to its specific requirements.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If valid data is relocated from source blocks to destination blocks, then free regions are created in source blocks, but the relocating process consumes time and reduces write performance

Engineering Contradiction:
Improvefree regionsVSAvoidrelocating time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

Instead of relocating all valid data during garbage collection, the system performs partial action by selectively relocating only cold data while leaving hot data in place. This reduces the total amount of data that needs to be relocated, thereby decreasing the time consumed by the relocating process while still generating sufficient free regions for future writes.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary classification of valid data into hot data and cold data before the relocating process. By identifying and separating cold data (data not frequently accessed) from hot data (frequently accessed data) in advance, the system prepares the relocation strategy beforehand, allowing cold data to be prioritized for relocation to minimize the impact on write performance while ensuring free regions are generated efficiently.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10310766B2Memory system and data relocating method
Publication Date: 2019.06.04 KIOXIA CORP
  • US10310766B2 patent drawing
  • US10310766B2 patent drawing
  • US10310766B2 patent drawing

AI summary

A memory system includes a nonvolatile semiconductor memory and a memory controller circuit. The memory controller circuit selects first and second blocks of the nonvolatile semiconductor memory, the first block being a garbage collection target block, the second block being a wear leveling target block or a refresh target block, relocates first data which is valid data stored in the first block in a series of write operations to a third block including first and second write operations, the third block being a block of the nonvolatile semiconductor memory having a free region, and relocates second data which is valid data stored in the second block in a series of write operations to a fourth block including a third write operation, the fourth block having a free region and being different from the third block, wherein the third write operation is performed between the first and second write operations.