Multi SSD Management Segregating Garbage Collection from Writes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash-based SSDs face performance inconsistencies due to the inability to overwrite data, requiring data erasure before writing, which affects the management of multiple virtual machines sharing SSD resources and leads to inefficiencies in garbage collection across SSDs.

Innovation Solution

A management method for a multi-SSD system that segregates SSDs into groups for writing, reading, and garbage collection, using a manager to copy valid data and erase invalid data, optimizing SSD group allocation based on elapsed times and valid page ratios to maintain performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If pages of different VMs are included in a block of the SSD and garbage collection is performed, then garbage collection can be executed, but a time is required to manage pages of the other VMs which degrades performance

Engineering Contradiction:
Improvegarbage collection executionVSAvoidtime to manage pages of other VMs
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the SSD into multiple independent blocks, where each block is dedicated to storing pages of a specific virtual machine. This segmentation prevents the need to manage pages of different VMs within the same block, eliminating the time loss associated with managing mixed VM pages during garbage collection. When garbage collection is needed for a specific VM, only its dedicated block needs to be processed, not blocks containing pages from other VMs.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data is written to flash memory, then data storage is achieved, but overwriting is not possible requiring data erasure before writing which affects performance consistency

Engineering Contradiction:
Improvedata storage capabilityVSAvoidperformance consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a wear-leveling mechanism that performs preliminary actions to distribute write operations evenly across different SSD blocks before any block becomes fully worn out. By proactively managing block usage and performing wear-leveling migrations before performance degradation occurs, the system maintains consistent write performance over time. The controller tracks block usage and proactively redistributes data to prevent any single block from being overused, thus maintaining performance consistency.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If SSD resources are shared among multiple virtual machines, then resource utilization is improved, but performance degradation and bandwidth fluctuations occur

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidperformance stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments SSD resources into dedicated blocks for each virtual machine, allowing resource sharing at the system level while maintaining isolation at the block level. Each VM has its own dedicated blocks that are not accessed by other VMs, preventing performance interference. The controller manages the allocation and migration of these dedicated blocks, enabling flexible resource sharing while ensuring that garbage collection and write operations for one VM do not impact the performance of other VMs.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10521156B2Apparatus and method of managing multi solid state disk system
Publication Date: 2019.12.31 UNIST (ULSAN NAT INST OF SCI & TECH)
  • US10521156B2 patent drawing
  • US10521156B2 patent drawing
  • US10521156B2 patent drawing

AI summary

A management apparatus of a multi-solid state disk (SSD) system implemented by a computer is provided. The management apparatus of the multi-SSD system may include a first SSD group including a plurality of SSDs arranged in rows or columns and configured to execute a received write command using segments in the plurality of SSDs, a second SSD group including a plurality of SSDs arranged in rows or columns and configured to execute a read command for valid data in the plurality of SSDs, and a manager configured to copy a valid page in the second SSD group while a write command for the first SSD group being executed and to erase all data in the second SSD group when the copying is completed.