Non-idempotent Primitives in Fault-Tolerant Memory Fabric

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current fault-tolerant data storage systems using protocol-layer end-to-end retransmission sequences are unsafe for non-idempotent primitives, as they cannot determine whether a request or response packet is lost, leading to potential duplicate delivery and data corruption.

Innovation Solution

Modifying the retransmission sequence to utilize storage redundancy through RAID, where a redundancy controller reads other data cachelines, regenerates potentially corrupted data, and recalculates parity, allowing safe reissue of non-idempotent primitives on alternate fabric routes, eliminating the need for dedicated replay buffers and reducing memory fabric overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If end-to-end retransmission scheme is used to ensure reliable data transmission, then data availability is improved, but non-idempotent primitives may be delivered multiple times causing data corruption

Engineering Contradiction:
Improvedata availabilityVSAvoiddata corruption from duplicate delivery
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The system performs preliminary actions by storing redundant data in RAID configuration before transmission. When a primitive is lost or duplicated, the redundant data allows the system to regenerate the correct state, preventing corruption from duplicate deliveries of non-idempotent primitives.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses RAID redundancy to create copies of data across multiple storage locations. These copies serve as backup representations that can be used to reconstruct the original data state if duplicate transmissions occur, thereby preventing data corruption.

Inventive Principle:
Principle #26Copying

2Reliability

If replay buffers are used to track and retransmit lost packets, then transmission reliability is improved, but memory fabric overhead and storage costs increase

Engineering Contradiction:
Improvetransmission reliabilityVSAvoidmemory fabric overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent makes the RAID redundancy system multi-functional by using it both for its primary fault tolerance purpose and simultaneously for tracking and recovering lost transmission packets. This eliminates the need for separate replay buffers, reducing memory overhead while maintaining transmission reliability.

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

Solution Approach 2:

The system merges the replay buffer functionality into the existing RAID redundancy infrastructure. By combining these two functions into a single system, the patent eliminates duplicate storage requirements and reduces overall memory fabric overhead while maintaining both data protection and transmission reliability.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10409681B2Non-idempotent primitives in fault-tolerant memory
Publication Date: 2019.09.10 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10409681B2 patent drawing
  • US10409681B2 patent drawing
  • US10409681B2 patent drawing

AI summary

According to an example, a retransmission sequence involving non-idempotent primitives in a fault-tolerant memory fabric may be modified. For example, a redundancy controller may request a sequence to access a stripe in the fault-tolerant memory fabric, wherein the sequence involves a non-idempotent primitive. In response to determining an expiration of a time threshold for the non-idempotent primitive, the redundancy controller may read other data in other cachelines in the stripe, calculate a new parity value by performing an idempotent exclusive-or primitive on the new data with the other data in the stripe, and write the new parity to the stripe using an idempotent write primitive.