Virtual Storage Block Parallel Data Writing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data access methods in storage systems face performance degradation due to low IO speeds and the need for serialization in multi-user, multi-threaded environments, which can lead to increased management overhead and potential deadlocks.
Innovation Solution
The introduction of virtual storage blocks allows for parallel data transfers by temporarily writing data to a virtual block when the target storage block is unavailable, with data being copied to the actual block once it becomes available, thereby optimizing data writing performance and avoiding deadlocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is written directly to storage blocks, then data integrity is ensured, but writing performance deteriorates due to serialization requirements and low IO speed
Solution Approach 1:
The patent applies preliminary action by writing data to a virtual storage block before the target storage block is available. This allows the data transfer to begin in advance, and once the storage block becomes available, the data is copied from the virtual block to the actual block, thereby reducing the overall data copy time and improving writing performance.
2Productivity
If the unit of disk management is decreased to reduce conflict, then the chance of request conflict is reduced, but management overhead and consumption increase greatly
Solution Approach 1:
The patent introduces a virtual storage block as an intermediary between the data source and the target storage block. This intermediary allows multiple write operations to proceed in parallel without directly conflicting for the same storage resources. The virtual block acts as a buffer that decouples the parallel write operations from the serialized access to actual storage blocks, thereby enabling parallel data transfers while avoiding the need to decrease disk management units and the associated management overhead.
3Reliability
If locks are used to control serialization in multi-user operations, then data consistency is maintained, but system performance degrades due to serialization overhead
Solution Approach 1:
The patent segments the storage block into a virtual storage block and the actual storage block. This segmentation allows the system to maintain locks on the actual storage blocks for data consistency while enabling parallel operations on virtual storage blocks. By separating the virtual representation from the physical storage, the system can process multiple write requests concurrently at the virtual level, then serialize access only when copying to actual blocks, thereby maintaining data consistency while improving overall system performance.
Data Source
AI summary
A method and apparatus for managing data access comprises: receiving a write request for writing data into one or more storage blocks; in response to determining that a storage block is unavailable, writing a part of the data into a virtual storage block corresponding to the storage block, the part of the data being required to be written into the storage block; and in response to determining that the storage block becomes available, copying the part of the data from the virtual storage block to the storage block. The embodiments of the present disclosure further disclose a corresponding apparatus. By introducing the virtual storage blocks in the data access, the embodiments of the present disclosure can realize the parallel data transfers of a plurality of writes and thus greatly improve the data writing performance of the system.


