Non-volatile Buffering for Storage Deduplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face limitations in response time and efficiency due to mechanical performance of disk drives, wear-out issues in flash memory, and ineffective data reduction techniques for mixed workloads, especially in virtualized computing environments with diverse storage requirements.

Innovation Solution

A data storage system with redundant non-volatile buffer memories and processors that acknowledge data receipt only after secure storage, allowing for in-line deduplication and compression to reduce latency and optimize storage operations, while maintaining low latency and high I/O rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is written directly to disk storage devices, then storage capacity is maintained, but response time is limited by mechanical performance

Engineering Contradiction:
Improveresponse timeVSAvoidmechanical performance limitation
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The storage system is segmented into multiple layers: a fast flash memory cache layer and a slower disk storage layer. Frequently accessed data resides in the flash cache while less frequently accessed data is stored on disks, allowing the system to provide fast response times for hot data while maintaining large storage capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A controller acts as an intermediary between the host system and the storage devices. The controller manages data caching, prefetching, and buffering operations, translating host I/O requests into optimized storage operations that leverage both flash speed and disk capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If flash memory is used to replace disk storage, then response time improves, but hardware cost increases and wear-out problems occur

Engineering Contradiction:
Improveresponse timeVSAvoidhardware cost and wear management
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system dynamically changes the operational parameters of flash memory based on workload characteristics. Write amplification is reduced through techniques like write buffering and sequential write optimization. Wear leveling algorithms redistribute write operations across different flash blocks to extend device lifespan.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Data is preliminarily processed and organized before being written to flash memory. Write coalescing combines multiple small writes into larger sequential writes. Data is pre-allocated in contiguous blocks to minimize erase operations, reducing wear and improving write performance.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If post-storage deduplication is performed, then disk performance is optimized, but computational cost and volatile metadata storage requirements increase

Engineering Contradiction:
Improvedisk performanceVSAvoidcomputational cost
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

Deduplication is performed preliminarily at the time of data ingestion rather than after storage. When data arrives, its fingerprint is computed and checked against existing data immediately. Duplicate data is identified and eliminated before being written to storage, reducing the actual storage volume and avoiding subsequent deduplication processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of storing duplicate data, the system stores a single copy and maintains references to it. When duplicate data is detected, only a pointer or reference to the original data is stored, dramatically reducing storage requirements and eliminating the need for expensive post-storage deduplication processing.

Inventive Principle:
Principle #26Copying

4Quantity of substance

If in-line deduplication is performed to reduce storage amount, then storage efficiency improves, but processing latency increases

Engineering Contradiction:
Improvestorage amountVSAvoidprocessing latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The deduplication process operates continuously in the background without blocking I/O operations. Data flows through the system while deduplication processing occurs concurrently. The system maintains data flow continuity by using asynchronous processing and buffering, ensuring that I/O performance is not degraded by deduplication computations.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system performs partial deduplication by processing only the necessary portions of data. Fingerprints are computed for critical data blocks while less critical data may be processed with lower priority. The system accepts some degree of processing latency for non-critical data to maintain overall system throughput and responsiveness.

Inventive Principle:
Principle #16Partial or excessive action

5Adaptability or versatility

If virtualization is implemented to support multiple applications, then resource utilization improves, but storage operation patterns become fragmented

Engineering Contradiction:
Improveresource utilizationVSAvoidstorage operation fragmentation
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The storage system implements a universal interface and control layer that handles multiple virtual machines and workloads through a single unified architecture. The controller provides multi-functionality by managing different storage protocols, data formats, and access patterns through a common processing framework, eliminating the need for separate storage paths for each application.

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

Solution Approach 2:

Multiple virtual storage operations are merged and consolidated at the controller level. I/O requests from different virtual machines are combined into batch operations where possible. Data from multiple sources is coalesced into single physical write operations, reducing fragmentation and improving storage efficiency while maintaining virtualization benefits.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9817602B2Non-volatile buffering for deduplication
Publication Date: 2017.11.14 INNOVATIONS IN MEMORY LLC
  • US9817602B2 patent drawing
  • US9817602B2 patent drawing
  • US9817602B2 patent drawing

AI summary

A system and method for storage of data is described where the data and commands received by a storage system is processed using at least a pair of redundant channels, configured so that received data buffered in a first channel is also buffered by a second channel prior to acknowledgement of the completion of the command execution. This permits a low latency of response to commands while securely storing the data. Data that is buffered in the first channel may be processed for storage, or for deduplication or compression prior to sending to the storage system subsequent to the acknowledgement of completion of the command and the data may then be purged from the data buffers in the redundant channels. A file identified as being smaller in size than the size allocated to associated metadata may be stored as part of the metadata without being sent to the storage system.