Storage System Fragmentation Stride for Heterogeneous Erase Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage systems with heterogeneous erase block sizes face challenges in managing data across varying block sizes, leading to inefficiencies in memory allocation, increased access times, and difficulties in metadata lookup during boot processes, especially when dealing with evolving flash memory technologies and mixed vendor environments.

Innovation Solution

The implementation of a storage system that allocates erase blocks and metadata efficiently across heterogeneous erase block sizes, using a fragmentation stride to manage data segments and RAID stripes, allowing for flexible allocation and rebuilding of data across different block sizes, and optimizing metadata placement for quick access during boot processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If the smallest erase block size is used as a least common denominator for physical memory allocation, then memory allocation becomes simpler, but wasted memory space occurs in larger erase blocks

Engineering Contradiction:
Improvememory allocation simplicityVSAvoidwasted memory space
Core Design Contradiction:
Ease of manufactureVSLoss of substance

Solution Approach 1:

The patent divides the storage system into multiple independent allocation units, each corresponding to a specific erase block size. Each allocation unit maintains its own mapping structures and metadata, allowing different portions of storage to be managed with their native block sizes rather than forcing a uniform smallest block size across the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects appropriate allocation units based on the size and requirements of incoming data. When data arrives, the system determines the appropriate erase block size allocation unit to use, allowing flexible adaptation to varying data sizes and erase block configurations without waste or oversimplification.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If a very large erase block size is used, then fewer blocks are needed for storage, but access times and latencies increase

Engineering Contradiction:
Improvenumber of erase blocksVSAvoidaccess time and latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the storage space into multiple allocation units with different erase block sizes. Small data operations can be directed to allocation units with smaller block sizes for faster access, while large data operations can utilize allocation units with larger block sizes to reduce the total number of blocks needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the storage system are assigned different erase block size characteristics based on local requirements. Frequently accessed or small data workloads are placed in allocation units optimized for fast access, while bulk storage requirements are met by allocation units with larger block sizes.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If metadata is fragmented into multiple pieces and written at known offsets, then metadata can be distributed across fragments, but finding these fragments during boot massively increases system load

Engineering Contradiction:
Improvemetadata distribution flexibilityVSAvoidboot time metadata lookup speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent establishes predetermined, known offset positions for metadata within each allocation unit before the system operates. During boot, the system can directly jump to these pre-specified locations to retrieve metadata without needing to search or fragment-assembly processes, significantly reducing boot time overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces allocation unit metadata structures that act as intermediaries between the fragmented data blocks and the system boot process. These metadata structures contain consolidated information about data locations and can be retrieved efficiently at boot time, eliminating the need to search through multiple fragmented metadata pieces.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If heterogeneous flash memory from multiple vendors is supported, then storage system adaptability increases, but managing varying erase block sizes becomes more complex

Engineering Contradiction:
Improvevendor and block size compatibilityVSAvoiderase block management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal allocation unit framework that can accommodate multiple vendor-specific erase block sizes through a common interface. The system presents a unified view of storage management to higher-level software while handling the heterogeneity of underlying flash memories through the allocation unit abstraction layer.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system dynamically adapts its management approach based on the detected erase block sizes of installed flash memory. When new hardware is added or detected, the system automatically creates appropriate allocation units with matching characteristics, allowing seamless support for heterogeneous vendors without requiring manual reconfiguration or complex hard-coded vendor-specific logic.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3652649B1Overlapping raid groups
Publication Date: 2023.12.06 PURE STORAGE INC
  • EP3652649B1 patent drawingFigure 1A
  • EP3652649B1 patent drawingFigure 1B
  • EP3652649B1 patent drawingFigure 1C

AI summary

A method of using boot-time metadata in a storage system is provided. The method includes writing a fragmentation stride to a solid-state storage device of the storage system, the fragmentation stride defining a granularity on which fragmentation of erase blocks of the solid-state storage device occurs. The method includes allocating portions of erase blocks for at least one process in the storage system, in accordance with the fragmentation stride and writing boot up metadata at offsets that are based on the fragmentation stride, in the solid-state storage device.