Region Lock Module Diverts I/O Requests in Storage Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage controllers face challenges in efficiently determining which I/O processing stack is best suited for processing I/O requests without risking data integrity issues, often leading to the disabling of fast path processing circuits, which degrades performance.
Innovation Solution
Implementing a region lock module within the storage controller to divert I/O requests to the appropriate processing stack based on the status of block addresses, using divert-type locks to manage dirty data and bad blocks, thereby ensuring data integrity and optimizing performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the fast path processing circuit is used to process I/O requests, then processing speed is improved, but data integrity may be compromised due to dirty data in cache memory
Solution Approach 1:
A region lock module is introduced as an intermediary between the fast path processing circuit and the firmware processing stack. This module manages region locks that track dirty data locations in cache memory, allowing the fast path circuit to quickly determine whether it can process an I/O request without directly accessing cache contents, thus maintaining both speed and data integrity
Solution Approach 2:
The system performs preliminary actions by establishing region locks in advance to mark areas of cache memory containing dirty data. These locks are set up before I/O requests arrive, enabling the fast path circuit to quickly check lock status and make routing decisions without needing to analyze cache contents at request time
2Reliability
If the firmware processing stack is used to process all I/O requests, then data integrity is maintained, but processing performance deteriorates
Solution Approach 1:
The processing responsibility is segmented between two paths: the fast path processing circuit handles I/O requests that do not involve dirty data regions, while the firmware processing stack handles requests involving locked regions. This segmentation allows most requests to be processed quickly by the fast path circuit while maintaining data integrity through firmware oversight when needed
Solution Approach 2:
Different processing qualities are applied to different I/O requests based on their characteristics. Requests accessing unlocked regions receive high-speed fast path processing, while requests accessing locked regions are routed to the more cautious firmware stack, optimizing performance for each specific case
3Reliability
If region lock checking is implemented to determine appropriate processing stack, then data integrity is improved, but processing complexity increases
Solution Approach 1:
The complex logic for determining whether to use fast path or firmware processing is extracted from the fast path circuit itself and placed in the region lock module. The fast path circuit only needs to check simple lock status bits, while the region lock module contains the sophisticated logic for managing locks and making routing decisions, simplifying the overall system architecture
Data Source
AI summary
Methods and structure within a storage controller for using region locks to efficiently divert an I/O request received from an attached host system to one of multiple processing stacks in the controller. A region lock module within the controller allows each processing stack to request a region lock for a range of block addresses of the storage devices. A divert-type lock request may be established to identify a range of block addresses for which I/O requests should be diverted to a particular one of the multiple processing stacks.


