ZFS Cloud Object Layer for POSIX Access and Memory-Map Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cloud-based storage systems, particularly object-based storage, face limitations such as restricted data access semantics, high latency, and incompatibility with local file system applications, making it challenging to integrate legacy applications without significant expense or complexity.

Innovation Solution

Layering file system functionality on cloud object interfaces, specifically using POSIX interfaces and semantics, allows for file-based access and data organization in name hierarchies, while enabling memory mapping to ensure consistency between memory changes and writes, thereby transforming disk-based storage systems like ZFS into cloud-based storage solutions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If cloud object storage interfaces are used, then elasticity and scale are improved, but data access semantics are restricted and latency increases

Engineering Contradiction:
Improveelasticity and scaleVSAvoidlatency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent introduces a file system layer as an intermediary between cloud object storage and local file system applications. This mediator translates file system operations into object storage operations, enabling legacy applications to access cloud storage without direct object interface exposure, thus reducing perceived latency while maintaining cloud elasticity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments cloud storage access into discrete objects with metadata, allowing selective caching and prioritization of frequently accessed objects. This segmentation enables optimized access patterns that reduce latency for critical data while maintaining overall system scalability

Inventive Principle:
Principle #1Segmentation

2Volume of stationary object

If cloud object storage is used, then storage capacity is improved, but compatibility with local file system applications deteriorates

Engineering Contradiction:
Improvestorage capacityVSAvoidcompatibility with legacy applications
Core Design Contradiction:
Volume of stationary objectVSAdaptability or versatility

Solution Approach 1:

A file system layer acts as a mediator that presents a familiar file system interface to legacy applications while translating operations to the object storage backend. This allows applications to continue using traditional file operations without modification, maintaining compatibility while accessing expanded cloud storage capacity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The file system layer implements multiple functions including POSIX interface compliance, memory mapping support, and object storage translation, making it universally compatible with various legacy applications while maintaining a single unified backend storage system

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

3Adaptability or versatility

If POSIX interfaces are layered on cloud storage, then compatibility with legacy applications is improved, but system complexity increases

Engineering Contradiction:
Improvecompatibility with legacy applicationsVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The file system layer serves as a standardized intermediary that handles POSIX interface complexity internally, shielding legacy applications from underlying system complexity while providing familiar file operation semantics

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The implementation uses copy-on-write semantics and metadata copying techniques to simplify complex cloud storage operations into familiar file system operations, reducing the apparent complexity for applications while maintaining full POSIX compliance

Inventive Principle:
Principle #26Copying

4Productivity

If memory mapping is implemented, then performance is improved, but consistency between memory changes and writes becomes challenging

Engineering Contradiction:
ImproveperformanceVSAvoidconsistency between memory and storage
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback mechanisms through page fault handling and write-back caching that monitor memory changes and automatically synchronize them to persistent storage, maintaining consistency while enabling high-performance memory-mapped access

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The file system performs preliminary actions by pre-fetching data into memory buffers and maintaining write-back caches before actual storage operations, improving performance while ensuring data is flushed to storage at appropriate synchronization points

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11334528B2ZFS block-level deduplication and duplication at cloud scale
Publication Date: 2022.05.17 ORACLE INT CORP
  • US11334528B2 patent drawing
  • US11334528B2 patent drawing
  • US11334528B2 patent drawing

AI summary

Techniques described herein relate to systems and methods of data storage, and more particularly to providing layering of file system functionality on an object interface. In certain embodiments, file system functionality may be layered on cloud object interfaces to provide cloud-based storage while allowing for functionality expected from a legacy applications. For instance, POSIX interfaces and semantics may be layered on cloud-based storage, while providing access to data in a manner consistent with file-based access with data organization in name hierarchies. Various embodiments also may provide for memory mapping of data so that memory map changes are reflected in persistent storage while ensuring consistency between memory map changes and writes. For example, by transforming a ZFS file system disk-based storage into ZFS cloud-based storage, the ZFS file system gains the elastic nature of cloud storage.