IP Library Granted Patent US 6,934,770
Granted Patent B1
US 6,934,770 · App. 10/429,005 · Granted Aug 23, 2005

Method for aborting data transfer commands

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 6,934,770
App. No.
10/429,005
Granted
Aug 23, 2005
Kind
B1
Abstract

A single hardware I/O control block is used to efficiently abort a target I/O command for a target I/O device, e.g., one target I/O device in a plurality of target I/O devices. The abort command is included in the same hardware I/O control block that specified the target I/O command to be aborted. Execution of both the target I/O command and the abort command returns only one hardware I/O control block pointer and generates only one interrupt to a host system when both the target I/O command and the abort command are completed. All time relationships between the execution of the abort command and execution of the original target I/O command are supported. There are no holes where the abort command is lost or where the host system is advised of target I/O command completion prematurely, or is not advised of completion at all.

Claims (58)

1. A method comprising:

receiving, by a host adapter, a hardware I/O command block including a target I/O command for a target I/O device;

modifying said hardware I/O command block to include an abort command; and

checking a state of a flag in said hardware I/O command block to determine whether both said abort command and said target I/O command have completed.

2. The method of claim 1 further comprising:

scheduling said hardware I/O command block for execution by said host adapter following said modifying.

3. The method of claim 1 wherein said modifying does not affect information is said hardware I/O command block for said target I/O command.

4. The method of claim 1 wherein said modifying is performed by a host adapter manager executing on a host system.

5. The method of claim 1 wherein said modifying is performed by a sequencer of said host adapter.

6. The method of claim 1 further comprising:

notifying a host system of completion of both said abort command and said target I/O command when said flag has an asserted state.

7. The method of claim 6 further comprising:

leaving said flag asserted only following completion of execution of both said abort command and said target I/O command.

8. A method comprising:

receiving, by a host adapter, a hardware I/O command block including a target I/O command for a target I/O device;

modifying said hardware I/O command block to include an abort command;

scheduling said hardware I/O command block for execution by said host adapter following said modifying;

checking a state of a flag in said hardware I/O command block to determine whether both said abort command and said target I/O command have completed; and

notifying a host system of completion of both said abort command and said target I/O command when said flag has an asserted state.

9. The method of claim 8 wherein said modifying does not affect information is said hardware I/O command block for said target I/O command.

10. The method of claim 8 wherein said modifying is performed by a host adapter manager executing on a host system.

11. The method of claim 8 wherein said modifying is performed by a sequencer of said host adapter.

12. The method of claim 8 further comprising:

leaving said flag asserted only following completion of execution of both said abort command and said target I/O command.

13. A method comprising:

configuring a done flag in a hardware I/O control block, which includes a target I/O command, to a first state wherein said first state indicates said target I/O command has not been executed by a host adapter; and

configuring said hardware I/O control block to include an abort command for said target I/O command wherein said hardware I/O control block includes both said target I/O command and said abort command.

14. The method of claim 13 further comprising:

configuring said done flag to a second state upon completion of said target I/O command and said abort command.

15. The method of claim 13 further comprising:

scheduling said hardware I/O command block for execution by said host adapter following said configuring said hardware I/O control block to include said abort command.

16. The method of claim 13 further comprising:

determining whether both said abort command and said target I/O command have completed.

17. The method of claim 16 wherein said determining further comprises:

checking a state of said done flag in said hardware I/O command block.

18. The method of claim 17 further comprising:

notifying a host system of completion of both said abort command and said target I/O command when said done flag has a second state.

19. A method comprising:

configuring a done flag in a hardware I/O control block, which includes a target I/O command, to a first state wherein said first state indicates said target I/O command has not been executed by a host adapter;

configuring said hardware I/O control block to include an abort command for said target I/O command wherein said hardware I/O control block includes both said target I/O command and said abort command;

scheduling said hardware I/O command block for execution by said host adapter following said configuring said hardware I/O control block to include said abort command;

determining whether both said abort command and said target I/O command have completed; and

configuring said done flag to a second state upon completion of said target I/O command and said abort command.

20. The method of claim 19 wherein said determining further comprises:

checking a state of said done flag in said hardware I/O command block.

21. The method of claim 20 further comprising:

notifying a host system of completion of both said abort command and said target I/O command when said done flag has a second state.

22. A method comprising:

determining whether a hardware I/O command block including a target I/O command to be aborted is in a host adapter execution queue;

removing said hardware I/O command block from said execution queue upon said determining finding that said hardware I/O command block is in said host adapter execution queue; and

determining a state of a done flag in said hardware I/O command block upon said determining finding that said hardware I/O command block is not in said host adapter execution queue.

23. The method of claim 22 further comprising:

modifying said hardware I/O command block to include an abortion command for said target I/O command upon said determining said state of said done flag finding that said done flag is unasserted.

24. The method of claim 23 further comprising:

scheduling said hardware I/O command block for execution by said host adapter following said modifying said hardware I/O control block to include said abort command.

25. A method comprising:

using a single hardware I/O command block structure for both a target I/O command and an abortion command for said target I/O command; and

asserting a done flag in said single hardware I/O command block structure when both said target I/O command and said abortion command for said target I/O command are completed.