A storage controller adapted to couple with one or more host systems and adapted to manage data on one or more storage devices coupled with the storage controller, wherein a host system characterizingly comprises an enhanced driver that is adapted to prepare a fast path formatted I/O request and to thereby utilize its own processing power for any required logical to physical mapping or other required logical volume management computations, the storage controller comprising: a fast path circuit stack being adapted to process an I/O request formatted for fast path processing received from an attached host system comprising an enhanced driver; a firmware processing stack operating on a processor of the controller, the firmware processing stack being adapted to process any format of I/O request; and a region lock module coupled with the fast path circuit stack and coupled with the firmware processing stack, the region lock module being adapted to receive lock request signals from the fast path circuit stack and from the firmware processing stack to lock a specified range of block addresses, wherein a lock request signal identifies a range of block addresses for which a respective stack (102, 104) requires access, wherein the firmware processing stack is further adapted to request that the region lock module establishes a divert-type region lock for a range of block addresses associated with dirty data in cache and/or potential bad block addresses characterized in that the region lock module is further adapted to determine whether a new received fast path formatted I/O request should be diverted to the firmware processing stack based on the status of presently locked ranges of block addresses, namely when the fast path circuit stack attempts to lock a range of blocks to process an I/O request formatted for fast path processing where any portion of the range of blocks is already covered by a divert-type lock, and in that the storage controller is adapted to divert a fast path formatted I/O request to the firmware processing stack for processing in response to the region lock module determining that the fast path circuit stack attempts to lock a range of blocks to process an I/O request formatted for fast path processing where any portion of the range of blocks is already covered by a divert-type lock already granted to the firmware processing stack. a fast path circuit stack being adapted to process an I/O request formatted for fast path processing received from an attached host system comprising an enhanced driver; a firmware processing stack operating on a processor of the controller, the firmware processing stack being adapted to process any format of I/O request; and a region lock module coupled with the fast path circuit stack and coupled with the firmware processing stack, the region lock module being adapted to receive lock request signals from the fast path circuit stack and from the firmware processing stack to lock a specified range of block addresses, wherein a lock request signal identifies a range of block addresses for which a respective stack (102, 104) requires access, wherein the firmware processing stack is further adapted to request that the region lock module establishes a divert-type region lock for a range of block addresses associated with dirty data in cache and/or potential bad block addresses characterized in that the region lock module is further adapted to determine whether a new received fast path formatted I/O request should be diverted to the firmware processing stack based on the status of presently locked ranges of block addresses, namely when the fast path circuit stack attempts to lock a range of blocks to process an I/O request formatted for fast path processing where any portion of the range of blocks is already covered by a divert-type lock, and in that the storage controller is adapted to divert a fast path formatted I/O request to the firmware processing stack for processing in response to the region lock module determining that the fast path circuit stack attempts to lock a range of blocks to process an I/O request formatted for fast path processing where any portion of the range of blocks is already covered by a divert-type lock already granted to the firmware processing stack.