Data Access Device Lock Sequence Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data access technologies suffer from deadlocks and impaired processing concurrency due to excessive locking of data units, leading to decreased throughput and frequent exclusive errors, especially during concentrated data access processing.
Innovation Solution
A data access device and method that prioritize data access requests based on a predetermined sequence, storing requests in a sequence storage section and executing them in a sorted order to minimize lock times on frequently accessed data units, while releasing locks only after all requests are processed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all data items to be accessed are locked in advance and locks are released only after access processing is completed, then data consistency is maintained, but processing concurrency is impaired and throughput deteriorates
Solution Approach 1:
The patent segments the locking mechanism into two distinct phases: a read-ahead phase where data is loaded into buffer memory without locking, and an execution phase where locks are acquired and held only for the duration of actual data processing. This segmentation allows concurrent read operations to proceed without blocking other processing units, while write operations acquire locks only when necessary, thereby maintaining data consistency without unnecessarily impeding throughput.
Solution Approach 2:
The patent implements preliminary data loading into buffer memory before actual processing begins. Data is read ahead and stored in buffer memory in advance, allowing multiple processing units to access the buffered data concurrently without requiring locks during the read operation. Locks are acquired only when data needs to be updated, not during the preliminary reading phase, thus improving concurrency while maintaining consistency.
2Productivity
If data is read in a virtual area and locks are applied only after arithmetic processing, then processing concurrency improves, but exclusive errors occur frequently and processing performance deteriorates
Solution Approach 1:
The patent incorporates a feedback mechanism where the system monitors data access patterns and dynamically adjusts locking strategies. When multiple processing units attempt to access the same data simultaneously, the system detects the conflict and applies appropriate locking or serialization mechanisms, preventing exclusive errors while maintaining optimal concurrency. This feedback-driven approach allows the system to adapt to varying workloads and minimize both errors and unnecessary locking.
3Ease of operation
If data access requests are processed in arbitrary order, then processing simplicity is maintained, but deadlocks occur when processing units wait for each other's data locks
Solution Approach 1:
The patent applies preliminary ordering of data access requests based on a predetermined sequence assigned to different data units. Before processing begins, the system establishes a global access order that all processing units must follow. This preliminary ordering prevents circular wait conditions that cause deadlocks, as processing units cannot acquire locks in an order that would create cycles. The ordering constraint is applied transparently, maintaining ease of operation while eliminating deadlocks.
Data Source
AI summary
A data access device provided with a sequence storage unit which stores in advance a sequence for accessing the data contained in each of the multiple data units stored in a data storage section. The data access device receives and stores in the data access request storage section multiple data access requests for any of the multiple stored data units, determines an execution sequence for the multiple stored data access requests that corresponds to the aforementioned sequence stored in the sequence storage unit, locks the data units to be accessed as per the data access requests, sequentially implements the data access requests in the determined execution sequence, and removes all the locks after implementing all of the stored data access requests.


