Cylinder ID Index Allocation in Multi-Node Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database systems face issues with duplicate cylinder ID indexes when starting up with missing storage components, leading to corruption and the need to keep affected AMPs offline to prevent allocation errors, as existing solutions like segregating cylinder IDs or maintaining mirror maps are inefficient or require significant memory and disk space.
Innovation Solution
A data structure and set of procedures that track the highest in-use cylinder index, generation number, and device status hash to prevent index reuse, allowing safe allocation of new cylinder IDs during startup and handling changes in missing devices, without the need for a mirrored map or excessive memory/disk space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the system keeps AMPs offline to prevent duplicate cylinder ID allocation, then data integrity is maintained, but system availability and productivity deteriorate
Solution Approach 1:
The system performs preliminary actions by maintaining a persistent record of the highest cylinder ID index seen across all AMPs during previous operations. When AMPs restart after a crash, they consult this pre-established record to determine safe allocation ranges, preventing duplicate cylinder ID assignment before the problem can occur. This allows AMPs to come online without waiting for complex coordination protocols.
Solution Approach 2:
The patent introduces an intermediary mechanism - a persistent file or data structure that stores the highest observed cylinder ID index - that mediates between multiple AMPs to coordinate cylinder ID allocation without requiring them to communicate directly or wait for each other. This intermediary record enables independent AMP startup while maintaining global consistency.
2Reliability
If mirror maps are maintained to track cylinder IDs, then duplicate allocation is prevented, but memory and disk space consumption increases
Solution Approach 1:
The patent extracts only the essential information needed for safe allocation - specifically, the highest cylinder ID index observed - from the complete cylinder ID mapping data. Instead of maintaining or copying entire map structures, the system stores just this critical scalar value in a persistent record, dramatically reducing memory and disk space requirements while still preventing duplicate allocations.
Solution Approach 2:
The system uses a lightweight, minimal persistent record structure that consumes minimal storage resources compared to full mirror maps. This disposable-like approach maintains only the necessary metadata (highest index seen) rather than comprehensive mapping information, achieving the protection goal with minimal resource overhead.
Data Source
AI summary
A system and method for allocating storage devices within a multi-node data storage system. The system maintains a data structure including a generation number indicating an incarnation of the data structure, a highest cylinder ID index value observed to be in use within the data storage system, and a safe index value indicating a lowest cylinder ID index value for use when allocating a new cylinder index. Following receipt of an allocation request, the system assigns a cylinder ID index to the allocation request, the cylinder ID index being greater than the safe index value. The assigned cylinder ID index is compared to the highest cylinder ID index value observed to be in use within said data storage system, and when the cylinder ID index is greater than the highest cylinder ID index value, increments the generation number and highest cylinder ID index value maintained within the data structure.


