Shared Layered Storage Write Request Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage systems face challenges in managing a large number of write requests efficiently due to high latency and traffic congestion within the internal communication lines between control nodes, especially when acknowledging write requests to hosts before data is fully processed and stored in slower secondary storage layers.

Innovation Solution

Implementing a method where a receiving control node initially stores data in a fast, shared first-layer storage, while a destaging control node handles the slower second-layer storage, with dynamic load balancing and virtual address-based allocation to distribute destaging responsibilities among control nodes, reducing the need for immediate notification between nodes and optimizing data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored directly in second layer storage before acknowledgment, then data durability is improved, but write latency increases

Engineering Contradiction:
Improvedata durabilityVSAvoidwrite latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary storage of data units in the first layer storage before the write operation is complete. This allows the system to acknowledge the write request to the host earlier, reducing write latency, while still ensuring data durability through subsequent destaging to the second layer storage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The storage system is divided into two layers: first layer storage for fast temporary storage and second layer storage for permanent durable storage. This segmentation allows different parts of the storage system to serve different purposes - the first layer provides speed for acknowledgment while the second layer provides durability.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If all control nodes handle both receiving and destaging operations, then system simplicity is maintained, but internal communication traffic increases

Engineering Contradiction:
Improvesystem simplicityVSAvoidinternal communication traffic
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

Multiple control nodes are merged into a collaborative system where they share the destaging workload. Instead of each node handling all its own destaging operations independently, the system combines their efforts by allowing any control node to perform destaging for any data unit, reducing redundant internal communication.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Control nodes are designed with multi-functionality, capable of both receiving write requests and performing destaging operations. This universality allows the system to flexibly assign destaging tasks to any available control node, optimizing resource utilization and reducing internal communication overhead.

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

3Reliability

If notification between receiving and destaging control nodes is performed for each data unit, then data consistency is ensured, but processing overhead increases

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of notifying the destaging control node for every single data unit, the system implements periodic or batched notification. The receiving control node accumulates multiple data units before triggering a destaging operation, reducing the frequency of notifications and improving processing throughput while maintaining data consistency.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system performs partial notification by only notifying the destaging control node when certain conditions are met, such as when a threshold number of data units are ready for destaging. This partial action approach reduces unnecessary notifications while ensuring that destaging occurs when sufficient data is available.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10430087B1Shared layered physical space
Publication Date: 2019.10.01 INFINIDAT LTD
  • US10430087B1 patent drawing
  • US10430087B1 patent drawing
  • US10430087B1 patent drawing

AI summary

A method for managing write requests in a storage system, the method may include receiving, by a receiving control node out of a group of control nodes of the storage system, a write request for writing a data unit to the storage system; storing the data unit in a first layer storage that is shared among the control nodes of the group, by the receiving control node; retrieving the data unit from the first layer storage and destaging the data unit to a second layer storage by a destaging control node that belongs to the group and is responsible for destaging the data unit; wherein at a time of the destaging of the data unit to the second layer storage another control node of the group is responsible for destaging another data unit to the second layer storage; wherein the storing of the data unit in the first layer storage is faster than the destaging of the data unit to the second layer storage; and when the destaging control node differs from the receiving control node then each one of the receiving and the storing is not preceded by notifying the destaging control node about the receiving and the storing, respectively.