Storage System Write Conflict Prevention via Backend State Check
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face write conflicts between client write operations and backend operations like rebuilding or re-striping, which can deteriorate the storage system and are difficult to manage with existing locking mechanisms.
Innovation Solution
A method that determines the state of backend operations for a stripe set when a write operation is received, stopping the write operation if a backend operation is in progress and allowing it if no backend operation is occurring, thereby avoiding conflicts and improving system stability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If write operations are allowed to execute concurrently with backend operations, then system productivity is improved, but write conflicts occur that deteriorate storage system reliability
Solution Approach 1:
The patent checks the state of backend operations before allowing write operations to proceed. By performing this preliminary check, the system prevents write conflicts from occurring in the first place, rather than detecting and resolving them after they occur. This is implemented through determining whether a backend operation is currently being executed on the stripe before permitting a write operation.
Solution Approach 2:
The patent introduces an intermediary control mechanism that mediates between write operations and backend operations. This intermediary checks the state of backend operations and makes the decision whether to allow or stop write operations, acting as a buffer between the two operation types to prevent direct conflict.
2Reliability
If locking mechanisms are implemented to prevent write conflicts, then storage system reliability is improved, but device complexity increases
Solution Approach 1:
The patent extracts the conflict prevention logic from complex locking mechanisms and implements it through a simpler state checking approach. Instead of using traditional locking protocols with multiple states and coordination overhead, the system simply checks whether a backend operation is currently executing and makes a binary decision about allowing write operations.
Solution Approach 2:
The system performs self-service by autonomously determining the state of backend operations and making decisions about write operation execution without requiring complex external coordination or locking protocols. The storage system manages its own operation scheduling and conflict prevention through internal state monitoring.
Data Source
AI summary
Techniques for processing write conflicts involve determining, in response to receiving a write operation for a stripe, a state of a backend operation of a stripe set, wherein the backend operation includes one of a rebuilding or re-striping operation. The techniques further involve stopping the write operation in response to the state of the backend operation indicating that the backend operation is being executed in the stripe. The techniques further involve executing the write operation in response to the state of the backend operation indicating that the backend operation is not being executed in the stripe. Accordingly, write conflicts between a write operation and a backend operation for the same stripe can be favorably avoided, and concurrent execution of the write operation and the backend operation simultaneously for the same stripe is prevented, thus preventing the deterioration of a storage system and improving storage system security and stability.


