Flash Array Data Placement by Longevity for Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage systems face inefficiencies in garbage collection and data placement due to the lack of consideration for data longevity, leading to uneven distribution of invalid pages and increased write amplification.

Innovation Solution

A method where storage devices receive information on the expected longevity of data and determine optimal locations for storage based on similar longevity, adjusting garbage collection schedules and providing statistics to improve data placement and management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If garbage collection is performed without considering data longevity, then storage operations can be simplified, but write amplification increases and storage efficiency decreases

Engineering Contradiction:
Improvegarbage collection processVSAvoidstorage efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system performs preliminary classification of data based on longevity characteristics before garbage collection. Data is tagged with longevity metadata and organized into different zones (short-term, medium-term, long-term) in advance, allowing garbage collection to target specific zones efficiently without examining all data, thus reducing complexity while improving efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The storage device is divided into multiple zones based on data longevity characteristics. Each zone stores data with similar retention requirements, allowing independent garbage collection optimization for each zone. This segmentation enables the system to apply different collection strategies to different zones, reducing overall complexity while improving storage efficiency

Inventive Principle:
Principle #1Segmentation

2Device complexity

If data is placed without considering longevity, then data placement is simpler, but invalid pages become evenly distributed making erase block selection harder

Engineering Contradiction:
Improvedata placement processVSAvoiderase block selection
Core Design Contradiction:
Device complexityVSDifficulty of detecting and measuring

Solution Approach 1:

Different regions of the storage device are assigned different qualities based on data longevity requirements. Short-term data is placed in zones optimized for frequent rewriting, while long-term data is placed in more stable zones. This local differentiation makes it easier to identify suitable erase blocks for each data type, reducing the difficulty of erase block selection

Inventive Principle:
Principle #3Local quality

3Ease of operation

If garbage collection operates without longevity information, then the system is easier to manage, but co-location of migrated valid data to erase blocks becomes inefficient

Engineering Contradiction:
Improvegarbage collection managementVSAvoiddata co-location efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The garbage collection system uses feedback from data longevity metadata to make intelligent decisions about data migration and co-location. By continuously monitoring data access patterns and longevity characteristics, the system can predict which data is likely to become invalid and proactively migrate valid data to appropriate erase blocks, improving co-location efficiency while maintaining manageable complexity

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10198194B2Placing data within a storage device of a flash array
Publication Date: 2019.02.05 PURE STORAGE INC
  • US10198194B2 patent drawing
  • US10198194B2 patent drawing
  • US10198194B2 patent drawing

AI summary

Placing data within a storage device, including: receiving, by a storage device, information describing an expected longevity of data stored on the storage device; determining, by the storage device, a location for storing the data in dependence upon the expected longevity of the data; adjusting a garbage collection schedule in dependence upon data placement; and providing, to a storage array controller, garbage collection statistics.