Storage Configuration Data Buffering for Transaction Abort

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face challenges in managing transactions for modifying configuration data, particularly when failures occur, leading to stalled processes and data loss due to the inability to revert buffered versions in memory.

Innovation Solution

A method is introduced where a data buffer is created to temporarily hold target configuration data sections during transactions, mapped to a memory sector, and released if the transaction fails, ensuring the buffered version remains unmodified, allowing for transaction abortion and preventing processing stalls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the buffered version of configuration data is directly modified during a transaction, then the modification can be quickly applied, but if the transaction fails, the system cannot revert and data loss or processing stalls occur

Engineering Contradiction:
Improvetransaction processing speedVSAvoidtransaction completion reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent creates a data buffer before the transaction modifies the buffered version of configuration data. This preliminary action prepares a rollback mechanism in advance, allowing the system to revert to the original state if the transaction fails, thus resolving the contradiction between fast modification and reliable rollback capability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent establishes a protective buffer zone (the data buffer) that cushions against potential transaction failures. By having this buffer in place beforehand, the system can absorb the impact of failed transactions without causing data loss or processing stalls, maintaining both speed and reliability

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If a data buffer is created to hold target configuration data sections, then transaction failures can be handled by releasing the buffer, but additional memory management overhead is introduced

Engineering Contradiction:
Improveerror handling capabilityVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The data buffer acts as an intermediary between the original configuration data and the modified buffered version. This intermediary structure simplifies error handling by providing a clear rollback path, and the buffer management is integrated into the existing transaction protocol, minimizing additional complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a copy of the target configuration data section in the data buffer rather than modifying the original directly. This copying approach enables simple rollback by discarding the buffer, and the copy mechanism leverages existing memory allocation and deallocation routines, keeping the implementation straightforward

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11442663B2Managing configuration data
Publication Date: 2022.09.13 EMC IP HLDG CO LLC
  • US11442663B2 patent drawing
  • US11442663B2 patent drawing
  • US11442663B2 patent drawing

AI summary

Techniques involve detecting whether a transaction of modifying configuration data of a storage system is initiated, the configuration data being stored in a database and a buffered version being stored in memory independent of the database. The techniques further involve in accordance with detection that the transaction is initiated, building a data buffer to buffer a section to be modified, the data buffer being mapped to a storage sector of the memory in which the section is expected to be stored. The techniques further involve determining whether the transaction successfully completed and in accordance with a determination that the transaction fails to successfully complete, releasing the data buffer and aborting the transaction, without modifying the buffered version. Accordingly, the configuration data in the memory remains as the previous version and are not modified before the transaction is successfully completed, which makes it possible to abort the transaction.