Nonce-Based Block Erasure Control in Multi-Controller Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage systems with multiple controllers, there is a risk of data corruption or erasure due to simultaneous write operations on the same storage device, leading to performance issues and data integrity problems.
Innovation Solution
The use of a nonce, a non-repeating value associated with data blocks, ensures atomicity in write operations by verifying the erase count stored locally on the storage device, preventing multiple controllers from erasing the same block simultaneously.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple controllers are allowed to access the same storage device simultaneously, then storage system productivity and data sharing capability are improved, but data integrity and reliability deteriorate due to risk of simultaneous write operations corrupting data blocks
Solution Approach 1:
The patent introduces a nonce as an intermediary mechanism that mediates between multiple controllers and the storage device. The nonce acts as a token that controllers must acquire before performing write operations, and it is updated atomically on the storage device to prevent simultaneous erasure of the same block by multiple controllers, thus maintaining data integrity while allowing concurrent access
Solution Approach 2:
The system performs preliminary action by allocating a nonce to a controller before allowing it to execute write operations. This preliminary allocation ensures that the controller has the necessary permission to write to specific blocks, and the nonce is invalidated after use, preventing subsequent controllers from performing conflicting write operations on the same blocks
Data Source
AI summary
A block of a storage device of a plurality of storage devices is allocated for storage of data, wherein the allocation comprises identifying a nonce associated with the block of the storage device. An erase command for the block is transmitted to the storage device, the erase command comprising the nonce, wherein the storage device is to erase the block upon determining that the nonce matches a corresponding nonce stored locally at the storage device.


