Storage System Segmentation for Fragmentation Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current mass data storage systems face inefficiencies due to data fragmentation, leading to performance penalties and potential depletion of free disk space, as data is not stored contiguously, resulting in the accumulation of 'garbage' blocks that require defragmentation and garbage collection processes to manage.

Innovation Solution

A method and system that divide logical volumes into statistical segments with predefined sizes, assign activity levels based on I/O statistics, and manage background defragmentation and garbage collection processes using these activity levels, selecting segments for processes that fit specific criteria and consolidating data portions for efficient writing to disk drives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is stored in non-contiguous physical space, then storage capacity is increased, but reading performance deteriorates due to fragmentation

Engineering Contradiction:
Improvestorage capacityVSAvoidreading performance
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The storage system is divided into multiple pools with different performance characteristics. Hot data is stored in high-performance pools while cold data is stored in lower-performance pools, allowing the system to maintain high reading performance for frequently accessed data while maximizing overall storage capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the storage system are assigned different quality levels based on access patterns. Frequently accessed data receives higher performance treatment through placement in optimized pools, while less accessed data is placed in standard pools, creating local quality variations that optimize overall system performance.

Inventive Principle:
Principle #3Local quality

2Speed

If defragmentation processes are implemented, then reading performance is improved, but system productivity deteriorates due to additional processing overhead

Engineering Contradiction:
Improvereading performanceVSAvoidsystem productivity
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

Data is pre-positioned in appropriate pools based on predicted access patterns before actual access occurs. The system proactively moves data between pools based on activity levels and access history, eliminating the need for reactive defragmentation operations and maintaining high performance without productivity loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The storage system automatically manages its own data placement and movement between pools based on monitored access patterns. The system self-optimizes without requiring external defragmentation processes, using background threads to continuously adjust data placement based on real-time activity levels.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If garbage collection processes are implemented, then free disk space is maintained, but device complexity increases

Engineering Contradiction:
Improvefree disk spaceVSAvoiddevice complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The garbage collection function is merged with the existing data placement and pool management operations. The same background threads that manage data placement also handle garbage collection by identifying and relocating invalid data blocks, eliminating the need for separate garbage collection processes and reducing overall system complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8788755B2Mass data storage system and method of operating thereof
Publication Date: 2014.07.22 INFINIDAT LTD
  • US8788755B2 patent drawing
  • US8788755B2 patent drawing
  • US8788755B2 patent drawing

AI summary

There are provided a mass storage system comprising a control layer operatively coupled to a physical storage space and operable to interface with one or more clients and to present to said clients a plurality of logical volumes. The method of operating the storage system comprises: dividing one or more logical volumes into a plurality of statistical segments with predefined size; assigning to each given statistical segment a corresponding activity level characterizing statistics of I/O activity with regard to data portions within the given statistical segment, said statistics collected over a plurality of cycles of fixed counting length; and managing one or more data storage processes in the storage system (e.g. a background defragmentation process, a background garbage collection process, a destage management process, etc.) using said activity level.