IP Library Granted Patent US 9,436,654
Granted Patent B1
US 9,436,654 · App. 14/312,130 · Granted Sep 6, 2016

Methods and systems for processing task management functions in a cluster having an intelligent storage adapter

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,436,654
App. No.
14/312,130
Granted
Sep 6, 2016
Kind
B1
Abstract

Methods and systems for processing task management requests are provided. A cache client adapter receives a task management request other than an abort for a logical storage object owned by a cache owner adapter and determines if there are any pending input/output (I/O) requests associated with the storage object. The cache client adapter sends an abort request to the cache owner adapter when there are pending I/O requests and sends the task management request directly to a controller that manages a storage device whose space is presented as the logical storage object; and sends only the task management request to the controller when there are no pending I/O requests for the logical storage object.

Claims (40)

1. A machine implemented method, comprising;

receiving a task management request other than an abort task request at a cache client adapter from a client system for a logical storage object that is presented to the client system by the cache client adapter while being owned and managed by a cache owner adapter that communicates with the cache client adapter via a network connection;

wherein both the cache client adapter and the cache owner adapter communicate with a controller that manages a storage device whose storage space is used for the logical storage object to store data;

determining by the cache client adapter if there are any pending input/output (I/O) requests associated with the logical storage object that have been sent to the cache owner adapter;

sending an abort request by the cache client adapter to the cache owner adapter to abort pending I/O requests, when there are pending I/O requests;

sending the task management request directly to the controller instead of the cache owner adapter;

receiving a completion notification by the cache client adapter directly from the controller, after the task management request is executed; and

notifying the client system of the completion by the cache client adapter.

2. The method of claim 1 , wherein the logical storage object is a logical unit number (LUN).

3. The method of claim 2 , wherein the LUN is based on a storage space at the storage device accessible via a storage area network.

4. The method of claim 2 , wherein the task management request is a LUN reset request to reset the LUN.

5. The method of claim 1 , further comprising

receiving a second task management request that is an abort task request; and

forwarding the second task management request to the cache owner adapter.

6. The method of claim 1 , wherein the cache client adapter and the cache owner adapter operate within a cluster identified by a unique identifier.

7. The method of claim 1 , wherein the cache client adapter maintains a data structure to track I/O requests that are sent to the cache owner adapter by the cache client adapter for the logical storage object to store data or read data.

8. A non-transitory, machine readable storage medium storing executable instructions, which when executed by a machine, causes the machine to perform a method, the method comprising:

receiving a task management request other than an abort task request at a cache client adapter from a client system for a logical storage object that is presented to the client system by the cache client adapter while being owned and managed by a cache owner adapter that communicates with the cache client adapter via a network connection;

wherein both the cache client adapter and the cache owner adapter communicate with a controller that manages a storage device whose storage space is used for the logical storage object to store data;

determining by the cache client adapter if there are any pending input/output (I/O) requests associated with the logical storage object that have been sent to the cache owner adapter;

sending an abort request by the cache client adapter to the cache owner adapter to abort pending I/O requests, when there are pending I/O requests;

sending the task management request directly to the controller instead of the cache owner adapter;

receiving a completion notification by the cache client adapter directly from the controller, after the task management request is executed; and

notifying the client system of the completion by the cache client adapter.

9. The storage medium of claim 8 , wherein the logical storage object is a logical unit number (LUN).

10. The storage medium of claim 9 , wherein the LUN is based on a storage space at the storage device accessible via a storage area network.

11. The storage medium of claim 9 , wherein the task management request is a LUN reset request to reset the LUN.

12. The storage medium of claim 8 , wherein the method further comprises:

receiving a second task management request that is an abort task request; and

forwarding the second task management request to the cache owner adapter.

13. The storage medium of claim 8 , wherein cache client adapter and the cache owner adapter operate within a cluster identified by a unique identifier.

14. The storage medium of claim 8 , wherein the cache client adapter maintains a data structure to track I/O requests that are sent to the cache owner adapter by the cache client adapter for the logical storage object to store data or read data.

15. A system, comprising:

a cache client adapter for receiving a task management request other than an abort from a client system for a logical storage object that is presented to the client system by the cache client adapter while being owned and managed by a cache owner adapter that communicates with the cache client adapter via a network connection and determining if there are any pending in-put/output (I/O) requests associated with the logical storage object; wherein the cache client adapter sends an abort request to the cache owner adapter to abort pending I/O requests and sends the task management request directly to a controller that manages a storage device whose space is presented as the logical storage object to store data; and wherein the controller executes the task management request and sends a completion notification directly to the cache client adapter that notifies the client system of the completion notification.

16. The system of claim 15 , wherein the logical storage object is a logical unit number (LUN).

17. The system of claim 16 , wherein the LUN is based on a storage space at the storage device accessible via a storage area network.

18. The system of claim 16 , wherein the task management request is a LUN reset request to reset the LUN.

19. The system of claim 15 , wherein when the cache client adapter accepts a task management request that is the abort task request, then the abort task request is forwarded by the cache client adapter to the cache owner adapter.

20. The system of claim 15 , wherein the cache client adapter and the cache owner adapter operate within a cluster identified by a unique identifier.

21. The system of claim 15 , wherein the cache client adapter maintains a data structure to track I/O requests that are sent to the cache owner adapter by the cache client adapter for the logical storage object to store data or read data.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Oct 8, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047205/0953 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
MERGER Recorded Oct 18, 2017
From: QLOGIC CORPORATION
To: CAVIUM, INC.
Reel/Frame 044812/0504 →
SECURITY AGREEMENT Recorded Mar 1, 2017
From: QLOGIC CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 041854/0119 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DOCUMENT DATE PREVIOUSLY RECORDED ON REEL 033159 FRAME 0447. ASSIGNOR(S) HEREBY CONFIRMS THE DOCUMENT DATE SHOULD BE JUNE 19, 2014 INSTEAD OF JUNE 17, 2014. Recorded Sep 11, 2014
From: VERMA, ANURAG
To: QLOGIC, CORPORATION
Reel/Frame 033726/0374 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2014
From: VERMA, ANURAG
To: QLOGIC, CORPORATION
Reel/Frame 033159/0447 →