Reservation Persistence in Distributed Block Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed block storage systems, the loss of reservations due to instance termination or detachment can lead to unexpected errors in data storage, as the reservation is typically removed, potentially causing data inconsistency.

Innovation Solution

A block storage service creates an additional slot in the volume's reservation table to represent a storage controller, which remains attached even if all instances terminate. This slot is only released by an explicit user command, preventing inadvertent reservation loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the reservation is removed upon instance termination or detachment, then the storage system can free up resources and allow new instances to access the volume, but the reservation may be inadvertently lost causing data inconsistency and unexpected errors

Engineering Contradiction:
Improveresource availabilityVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The reservation table is segmented into multiple slots, with one slot specifically designated for the storage controller. This segmentation allows the storage controller's reservation to be independently maintained without being affected by instance attachment/detachment operations. The storage controller's reservation slot remains persistent while other slots can be dynamically allocated and released.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The storage controller's reservation slot is pre-configured and maintained in advance, before any instance termination or detachment events occur. This preliminary reservation ensures that when instances are terminated or detached, the storage controller already has a reserved slot that prevents inadvertent reservation loss and maintains data consistency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If an additional reservation slot is created for the storage controller, then reservation persistence is maintained preventing data inconsistency, but the device complexity increases

Engineering Contradiction:
Improvereservation persistenceVSAvoidreservation table structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The additional reservation slot serves multiple functions: it maintains the storage controller's reservation persistence, prevents inadvertent reservation loss, and provides a foundation for implementing retention settings. By making this slot multi-functional, the patent reduces the need for separate mechanisms for each function, thereby managing complexity.

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

Solution Approach 2:

The patent introduces retention settings as a parameter that can be applied to access permissions records. This parameter change allows flexible control over whether reservations are retained or released upon detachment events, enabling the system to adapt to different reliability requirements without fundamentally changing the reservation table structure.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If retention settings are enforced for access permissions records, then reservation loss is prevented maintaining data consistency, but the ease of operation decreases due to additional configuration requirements

Engineering Contradiction:
Improveaccess permissions retentionVSAvoidconfiguration complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The storage controller automatically maintains its reservation in the dedicated slot without requiring explicit user commands for each attachment/detachment event. The system self-manages the reservation persistence, reducing the operational burden on users while maintaining reliability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces dynamic retention settings that can be configured on a per-volume basis. Users can choose whether to retain or release access permissions records upon detachment events, allowing the system to adapt to different operational requirements. This dynamic configuration enables users to balance reliability and ease of operation based on their specific needs.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250199727A1Reservation persistence in distributed block storage systems
Publication Date: 2025.06.19 AMAZON TECH INC
  • US20250199727A1 patent drawing
  • US20250199727A1 patent drawing
  • US20250199727A1 patent drawing

AI summary

A storage object and an associated permissions record is stored at a storage server. The permissions record indicates that some storage consumers are not permitted to perform a type of I/O operation on the storage object. In response to detecting that an event of a deletion triggering type with respect to the records, a modified version of the permissions record is stored at the server, indicating that the storage consumers remain prohibited from performing the I/O operations. In response to receiving a command to perform a particular I/O at the server after the modified version has been stored, the modified version is used to process the command.