Distributed ZFS Storage for High-Performance Small-Block I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional storage systems are limited by mechanical latencies of magnetic disk drives, high costs and volatility of semiconductor memories, and centralized architectures that hinder scaling in performance, capacity, and interconnects, especially in handling high rates of small-block, random data access requests.

Innovation Solution

The implementation of a scalable storage system using multiple independent ZFS instances across a pool of servers, with Flash memory and non-volatile RAM, employing a low-latency memory-mapped network and global management for wear leveling and redundancy, and redirecting I/O requests to optimize performance and extend the lifespan of Flash storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If magnetic disk drives are used for storage, then storage capacity is achieved, but mechanical latencies limit performance in handling high rates of small-block random data access requests

Engineering Contradiction:
Improvedata access rateVSAvoidaccess speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The storage system is divided into multiple independent ZFS instances distributed across multiple servers, each handling specific data access requests. This segmentation allows parallel processing of I/O operations, thereby increasing overall data access rate while maintaining manageable access speeds through distributed architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A global management system acts as an intermediary between clients and the distributed storage resources. It coordinates I/O requests across multiple servers and ZFS instances, optimizing the path for data access and balancing load to improve productivity without overwhelming individual storage components

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If semiconductor memories are used for storage, then high-speed data access is achieved, but high costs and volatility are problematic

Engineering Contradiction:
Improveaccess speedVSAvoiddata persistence
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The storage hierarchy is segmented into different memory types with ZFS instances managing specific portions. Flash memory provides high-speed access for active data while non-volatile RAM and magnetic disks provide persistent storage. This segmentation allows the system to achieve high access speeds for frequently accessed data while maintaining reliability through redundant persistent storage layers

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically changes storage parameters by moving data between different memory types based on access patterns. Hot data is placed in faster but more expensive and volatile semiconductor memory, while cold data is moved to slower but more reliable and cheaper magnetic storage. ZFS manages these parameter changes transparently to maintain both speed and reliability

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If centralized storage architecture is used, then simplified management is achieved, but scaling in performance, capacity, and interconnects is hindered

Engineering Contradiction:
Improvesystem complexityVSAvoidscalability
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The centralized storage system is segmented into multiple independent ZFS instances distributed across multiple servers. Each instance manages its own portion of storage resources independently. This segmentation enables linear scaling of both capacity and performance by simply adding more servers and ZFS instances to the distributed network, while each individual component remains relatively simple to manage

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The distributed ZFS architecture provides universal functionality across multiple servers, where each server can independently provide storage services. The system can scale from a single server to many servers while maintaining the same ZFS management interface and data access protocols, enabling flexible scaling without increasing operational complexity

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

Data Source

PatentUS9164689B2Data storage system and method of processing a data access request
Publication Date: 2015.10.20 SUN MICROSYSTEMS INC
  • US9164689B2 patent drawing
  • US9164689B2 patent drawing
  • US9164689B2 patent drawing

AI summary

A data storage system includes a plurality of servers, a plurality of external interface providers each deployed on one of the servers, and a plurality of data storage controllers each deployed on one of the servers. Each of the providers is configured to receive a data access request, to identify one of the controllers that can satisfy the request, and to forward the request to the identified controller. The system further includes a plurality of data storage modules independent of the servers. The providers, controllers and modules are in communication with each other. Each of the controllers exclusively manages a portion of data content in at least one of the modules, and satisfies data access requests received from the providers by accessing the portion of data content in the at least one module.