IP Library Granted Patent US 9,250,832
Granted Patent B2
US 9,250,832 · App. 14/284,276 · Granted Feb 2, 2016

Confirmed divert bitmap to synchronize raid firmware operations with fast-path hardware I/O processing

Inventors: Robert L. Sheffield (Longmont, CO); Gerald E. Smith (Longmont, CO)
Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
G06F3/0689G06F3/0619G06F3/0665
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,250,832
App. No.
14/284,276
Granted
Feb 2, 2016
Kind
B2
Abstract

A storage controller system is provided for the monitoring of fast path processing of I/Os to a storage device where the storage controller system allows for processing of I/Os to be monitored through the use of counters in a storage controller based upon the type of I/O issued to the storage controller as well as the conditions associated with the I/O, while providing a bitmap and associated divert bits and counters to monitor the processing of the I/Os in the storage controller. Methods for monitoring the processing of I/Os issued to the storage controller are also provided where the processing of the I/Os is based upon the type fast path I/Os issued to the storage controller and the conditions associated with the issued I/Os while providing a bitmap and associated divert bits and counters to monitor the processing of the I/Os in the storage controller, are also disclosed.

Claims (42)

1. A method for monitoring the processing of one or more I/Os in a storage controller comprising:

initiating a condition that requires synchronization of RAID operations of said storage controller with one or more affected I/Os;

asserting a divert bit of said storage controller corresponding to affected virtual drive address ranges;

issuing and transmitting one or more I/Os from a driver to said storage controller;

fast tracking said one or more I/Os from said storage controller to completion based on the absence of a collision with said asserted bit;

diverting said one or more I/Os to firmware wherein said one or more I/Os have a condition that collides with said asserted bit;

maintaining a count of the number of outstanding I/Os mapped to said asserted bit; and

issuing a completion confirmation message to said firmware when said counter reaches zero.

2. The method of claim 1 , wherein upon receipt of a completion message, firmware synchronizes RAID operations of said storage controller.

3. The method of claim 1 , further comprising:

incrementing the appropriate counter by one for each newly initiated I/O.

4. The method of claim 1 , further comprising:

decrementing the appropriate counter by one for each I/O completion.

5. The method of claim 1 , further comprising:

diverting I/Os for processing by firmware in coordination with said affected RAID operation.

6. The method of claim 1 , further comprising:

pending diverted I/Os by firmware until the internal RAID operation is complete.

7. A storage control system comprising:

a storage controller coupled to a host system to receive storage I/O requests;

the storage controller configured to assert a divert bit when initiating a condition that requires synchronization of RAID operations of said storage controller with one or more affected said I/Os;

the storage controller configured to divert to firmware said I/Os with a condition that collides with said asserted bit;

wherein I/Os with a condition that does not collide with an asserted divert bit are transmitted to a storage device; and

the storage controller comprises a counter configured to maintain a count of outstanding completions of said I/O requests from said host mapped to said asserted divert bit.

8. The storage control system of claim 7 , wherein said counter is configured to increment said counter by one for each newly initiated I/O.

9. The storage control system of claim 7 , wherein said counter is configured to decrement said counter by one for each I/O completion.

10. The storage control system of claim 7 , wherein said storage system issues a completion confirmation message to said firmware when said counter reaches zero.

11. The storage control system of claim 10 , wherein upon receipt of said completion confirmation message, firmware synchronizes RAID operations of said storage controller.

12. The storage control system of claim 7 , where the storage controller is further configured to maintain one or more bitmaps of I/Os requests for processing by said firmware running on the said storage controller.

13. The storage controller system of claim 7 , wherein the storage controller is further configured to transmit said I/Os processed by firmware from firmware to a storage device.

14. A non-transitory computer readable medium having instructions stored thereon for operating a storage control system that, when executed by a computer, at least instructs the computer to:

initiate by storage controller firmware, a condition that requires synchronization of RAID operations of said storage controller with one or more affected I/Os;

assert by storage controller firmware, a divert bit of said storage controller corresponding to affected virtual drive address ranges;

receive, by the storage controller driver, a first I/O transaction request;

process said I/O request based on attributes associated with said I/O request, wherein said I/Os with a condition that requires processing are diverted to firmware running on said storage controller, as indicated an asserted divert bit that the I/O maps to; and

wherein I/Os without a condition that that does not collide with an asserted divert bit are transmitted to a storage device; and

maintain a count, by means of a counter, of outstanding completions of said I/O requests from said host mapped to said asserted divert bit.

15. The medium of claim 14 , wherein said counter is incremented by one for each newly initiated I/O.

16. The medium of claim 14 , wherein said counter is decremented by one for each completed I/O.

17. The medium of claim 14 , wherein said storage system issues a completion confirmation message to said firmware when said counter reaches zero.

18. The medium of claim 17 , wherein, firmware synchronizes RAID operations of said storage controller upon receipt of said completion confirmation message.

19. The medium of claim 14 , wherein the storage controller maintains a bitmap of I/Os for processing by said firmware running on the said storage controller.

20. The medium of claim 14 , wherein the bitmap is stored in memory shared by the storage controller driver and the firmware running on the storage controller.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2014
From: SHEFFIELD, ROBERT L.; SMITH, GERALD E.
To: LSI CORPORATION
Reel/Frame 032948/0651 →
Continuity (2)
Provisional Application 61830237 · Jun 3, 2013
Related Publication 20140359216A1 · Dec 4, 2014