Hardware Region Lock Circuit Diverts Conflicting Requests
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cache and data transmission systems face challenges in managing region locks efficiently, particularly in handling overlapping data requests and ensuring data integrity while enabling fast-path data access mechanisms, which often require disabling caching due to potential conflicts.
Innovation Solution
The implementation of a hardware-based region lock management circuit that supports DIVERT and DIVERT_CHECK region lock types, allowing the diversion of data requests to a storage controller firmware processor for handling conflicts, thereby reducing the need for region lock data structures and improving system performance by leveraging both hardware and firmware processing capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a hardware based region lock management circuit is implemented to manage region locks, then data access speed is improved, but device complexity increases
Solution Approach 1:
The patent segments the region lock management functionality into two distinct types: DIVERT_CHECK region locks that are handled by the hardware circuit without creating data structures, and DIVERT region locks that are handled by the firmware processor. This segmentation allows the hardware circuit to focus on simple, fast path operations while complex operations are offloaded to firmware, thereby improving data access speed without significantly increasing hardware complexity.
Solution Approach 2:
The patent introduces an intermediary mechanism where the hardware based region lock management circuit acts as a mediator between the data requester and the storage controller firmware processor. The circuit determines whether a data request conflicts with existing region locks and either grants access directly or diverts the request to firmware processing. This intermediary approach enables fast-path data access for non-conflicting requests while maintaining proper conflict resolution, improving speed without requiring all requests to go through complex firmware processing.
2Reliability
If region lock data structures are created for every data request, then data integrity is ensured, but resource consumption increases
Solution Approach 1:
The patent extracts the creation of region lock data structures from the general data request processing flow. Specifically, region lock data structures are only created for DIVERT region locks that require firmware handling, while DIVERT_CHECK region locks are managed by the hardware circuit without creating data structures. This extraction eliminates unnecessary resource consumption while maintaining data integrity through the hardware-based tracking of DIVERT_CHECK locks.
Solution Approach 2:
The patent changes the parameter of region lock management by introducing two distinct lock types with different handling characteristics. DIVERT_CHECK locks use a hardware-based tracking mechanism that does not require full data structure creation, while DIVERT locks use traditional firmware-based data structures. This parameter change allows the system to optimize resource consumption by using the lighter-weight DIVERT_CHECK mechanism for requests that can be handled by hardware, while reserving the more resource-intensive DIVERT mechanism for complex cases requiring firmware intervention.
3Reliability
If caching is disabled to avoid conflicts with fast-path data access, then data consistency is maintained, but productivity decreases
Solution Approach 1:
The patent introduces dynamic region lock types that can be selectively applied based on the data access pattern. DIVERT_CHECK locks provide dynamic, hardware-based tracking that works well with caching and fast-path access, while DIVERT locks provide more traditional, firmware-based control for cases requiring stricter consistency. This dynamic approach allows the system to enable caching and fast-path access while maintaining data consistency through appropriate lock type selection, thereby improving productivity without sacrificing reliability.
Solution Approach 2:
The patent creates a hardware-based copy of the region lock management functionality through the DIVERT_CHECK mechanism. Instead of relying solely on firmware-based data structures, the hardware circuit maintains a simplified copy of region lock state that enables fast-path access with caching. This hardware copy operates in parallel with the firmware-based DIVERT lock mechanism, allowing the system to leverage both hardware speed and firmware reliability, thereby improving productivity while maintaining data consistency.
Data Source
AI summary
Methods for managing region lock in a storage controller are disclosed. Upon receiving in a hardware based region lock management circuit a data request, the region lock management circuit determines a lock type of a region lock specified in the data request and conditionally creates a region lock data structure, wherein the region lock data structure is conditionally created based on the type of the region lock requested. The region lock management circuit further determines whether the data request is requesting access to at least a portion of a locked data region and the lock type of the locked data region. If the data request is requesting access to at least a portion of the locked data region and the lock type of the locked data region permits firmware diversion, the region lock management circuit diverts the data request to a storage controller firmware processor for further processing.


