# US 9,436,654 B1 · Methods and systems for processing task management functions in a cluster having an intelligent storage adapter

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,436,654 B1
- Document ID: US9436654B1
- Status: Granted
- Kind: B1
- Application number: 14/312,130
- Filed: 2014-06-23
- Granted: 2016-09-06
- Earliest claimed: 2014-06-23
- Assignees: QLOGIC, Corporation
- Applicants: QLOGIC, Corporation
- Inventors: Anurag Verma
- Web page: https://patentgrep.com/patent/US9436654B1

## CPC

- G06F 9/485: {Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence)}
- G06F 12/0868: Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
- G06F 2212/1024: Latency reduction
- G06F 2212/263: Network storage, e.g. SAN or NAS
- G06F 2212/314: In storage network, e.g. network attached cache
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 2)

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

### Claim 4 (depends on 2)

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

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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

### Claim 7 (depends on 1)

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.

### Claim 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.

### Claim 9 (depends on 8)

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

### Claim 10 (depends on 9)

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.

### Claim 11 (depends on 9)

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

### Claim 12 (depends on 8)

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.

### Claim 13 (depends on 8)

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

### Claim 14 (depends on 8)

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.

### Claim 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.

### Claim 16 (depends on 15)

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

### Claim 17 (depends on 16)

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

### Claim 18 (depends on 16)

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

### Claim 19 (depends on 15)

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.

### Claim 20 (depends on 15)

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

### Claim 21 (depends on 15)

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.
