Flash Memory Data Grouping for SSD Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid-state drives (SSDs) face challenges in leveraging the unique characteristics of flash memory due to design compatibility with hard disk drives, particularly in lifecycle management and efficiency, as flash memory is erased in blocks, leading to inefficiencies in data storage and retrieval.

Innovation Solution

A method involving erasure coding and analytics to distribute user data across multiple non-volatile solid-state storage nodes within a single chassis, where data is sorted and written to flash memory blocks based on analytics results, optimizing block usage and reducing garbage collection time by minimizing holes in flash blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is written to flash memory blocks without analytics-based grouping, then storage operations are simpler, but garbage collection efficiency deteriorates due to holes in flash blocks

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoiddata distribution complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs analytics on incoming data before writing it to flash memory blocks, grouping data by characteristics such as access patterns, file types, or size. This preliminary classification ensures that data is written to appropriate blocks in advance, minimizing future garbage collection needs and reducing holes in flash blocks, thereby improving garbage collection efficiency without adding operational complexity.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If SSDs are designed to conform to hard disk drive standards, then compatibility is improved, but the ability to leverage unique flash memory characteristics deteriorates

Engineering Contradiction:
ImprovecompatibilityVSAvoidflash memory efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements a hybrid architecture where the SSD maintains compatibility with hard disk drive standards at the interface level while employing flash-optimized data management internally. Analytics-based data grouping and selective block writing exploit flash memory's strengths (block-level operations, high write speed) for performance-critical operations, while preserving standard compliance for general compatibility, thus achieving both adaptability and productivity.

Inventive Principle:
Principle #3Local quality

3Reliability

If data is distributed without erasure coding, then storage operations are faster, but data reliability deteriorates

Engineering Contradiction:
Improvedata recovery capabilityVSAvoiddata distribution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies erasure coding to data before distributing it across multiple storage nodes, preparing redundant data representations in advance. This preliminary encoding ensures that even if some nodes fail, the original data can be recovered from remaining nodes without requiring real-time computation during recovery operations, thus maintaining high reliability while minimizing the time penalty associated with error correction.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9817750B2Profile-dependent write placement of data into a non-volatile solid-state storage
Publication Date: 2017.11.14 PURE STORAGE INC
  • US9817750B2 patent drawing
  • US9817750B2 patent drawing
  • US9817750B2 patent drawing

AI summary

A method for storing user data is provided. The method includes distributing the user data throughout a plurality of storage nodes through erasure coding, wherein the plurality of storage nodes are housed within a single chassis that couples the storage nodes as a cluster, each of the plurality of storage nodes having nonvolatile solid-state memory for user data storage. The method includes performing analytics on user data and grouping portions of the user data according to results of the analytics. The method includes writing the user data to blocks of flash memory in the non-volatile solid-state memory, wherein each block receives portions of the user data grouped according to at least one of the results of the analytics.