SSD Controller Dynamic Data Placement for Swap Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage devices with nonvolatile memory, such as solid state drives (SSDs) using NAND flash memory, face challenges in optimizing performance and efficiency due to the limitations of data management and storage across different levels of multi-level cell (MLC) modes, leading to inefficiencies in data write and read operations, especially when the number of processes exceeds a threshold, causing swap out and swap in operations.

Innovation Solution

A controller in the SSD monitors the total number of processes and data usage, dynamically moving data from blocks with lower multi-level cell modes to higher modes, such as from SLC to MLC or TLC, to increase free block counts and improve data access times, thereby enhancing storage efficiency and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in lower multi-level cell modes (SLC) to ensure fast access and reliability, then data access speed and reliability are improved, but storage capacity and cost efficiency deteriorate

Engineering Contradiction:
Improvedata access speedVSAvoidstorage capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The storage device divides data into different segments based on access frequency and importance, storing frequently accessed data in SLC blocks for fast access while storing less frequently accessed data in MLC/TLC blocks for higher capacity utilization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different blocks of the nonvolatile memory are assigned different multi-level cell modes (SLC, MLC, TLC) based on local requirements for speed and capacity, allowing each region to optimize for its specific usage pattern

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If more blocks are allocated for data storage to increase capacity, then storage capacity is improved, but the number of free blocks decreases leading to more frequent swap operations

Engineering Contradiction:
Improvestorage capacityVSAvoidswap operation efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The controller proactively moves data between blocks of different multi-level cell modes before the memory becomes fully occupied, maintaining a reserve of free blocks in SLC mode to prevent frequent swap operations and maintain performance

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If data is frequently moved between blocks to manage free space, then free block management is improved, but the time spent on swap operations increases

Engineering Contradiction:
Improvefree block countVSAvoidswap operation time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The controller performs data movement operations in advance during periods of low activity, preparing free blocks before they are needed, thereby reducing the time spent on swap operations when performance-critical operations occur

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10871920B2Storage device and computer system
Publication Date: 2020.12.22 KIOXIA CORP
  • US10871920B2 patent drawing
  • US10871920B2 patent drawing
  • US10871920B2 patent drawing

AI summary

According to one embodiment, a storage device includes a nonvolatile memory including a plurality of blocks, and a controller. The controller receives from the host information indicative of the total number of processes running on the host. The controller executes processing of moving data stored in at least one block of the nonvolatile memory to at least one block of the other blocks of the nonvolatile memory, after determining that the total number of processes exceeds a first threshold value.