Transaction Interlocks for Distributed Storage Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face challenges in maintaining data coherency, particularly in scenarios like power failures or system crashes, which can lead to data loss or inconsistency during atomic updates in pipelined architectures.

Innovation Solution

The implementation of a storage unit with non-persistent and persistent memory, coupled with a transaction engine and a transaction interlock, ensures data coherency by transferring logical records as atomic updates, even in the presence of events like power loss or system crashes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a pipelined architecture is used to transfer data from volatile memory to nonvolatile memory, then processing efficiency and write speed are improved, but data coherency and reliability are worsened during power failures or system crashes

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddata coherency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a transaction engine that prepares and validates atomic update operations before execution, using a command queue to stage transactions and an interlock mechanism to pre-check system state. This preliminary preparation ensures that when power failures or crashes occur, only complete and validated transactions are committed, maintaining data coherency while allowing efficient pipelined processing of pre-validated operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The transaction engine acts as an intermediary layer between the pipelined data transfer mechanism and the storage media. It introduces atomic update operations that wrap individual logical records, ensuring that each record transfer is either completely committed or completely aborted. This intermediary mechanism resolves the contradiction by enabling high-speed pipelined transfers while guaranteeing data coherency through atomicity boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If atomic updates are implemented to ensure data coherency, then reliability is improved, but system complexity increases

Engineering Contradiction:
Improvedata coherencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The transaction engine is segmented into distinct functional components: a command queue for transaction staging, an interlock mechanism for state validation, and atomic update execution units. This segmentation allows each component to handle a specific aspect of atomicity enforcement, reducing overall system complexity by creating modular, manageable units rather than a monolithic complex system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The transaction interlock mechanism provides self-service by automatically checking system state and transaction validity without requiring external intervention. When a power failure or crash occurs, the interlock autonomously determines whether to commit or abort transactions based on pre-established criteria, eliminating the need for complex external recovery protocols and reducing system complexity.

Inventive Principle:
Principle #25Self-service

3Reliability

If transaction interlocks are used to guarantee atomic update completion, then data integrity is improved, but processing speed is worsened

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The command queue performs preliminary validation and staging of atomic update transactions before they reach the interlock mechanism. By pre-processing and organizing transactions in advance, the system minimizes the actual interlock wait time during critical operations, maintaining data integrity while reducing the perceived processing delay.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The transaction engine maintains continuous processing by allowing multiple atomic updates to be staged in the command queue simultaneously. While one transaction is being validated by the interlock, other transactions continue to be prepared and organized, ensuring that the useful action of transaction processing continues without interruption, thereby maintaining processing speed alongside data integrity.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20250156215A1Transaction interlocks for a distributed system
Publication Date: 2025.05.15 PURE STORAGE INC
  • US20250156215A1 patent drawing
  • US20250156215A1 patent drawing
  • US20250156215A1 patent drawing

AI summary

A method for a transactional commit in a storage unit is provided. The method includes receiving a logical record from a storage node into a transaction engine of a storage unit of the storage node and writing the logical record into a data structure of the transaction engine. The method includes writing, to a command queue of the transaction engine, an indication to perform an atomic update using the logical record and transferring each portion of the logical record from the data structure of the transaction engine to non-persistent memory of the storage unit as a committed transaction. A storage unit for a storage system is also provided.