← Back to Patent Explorer
US5768621A Expired / Lapsed US ⏱️ 0.0 years remaining

Chain manager for use in executing a chain of I/O command blocks

Assignee: Microsemi Storage Solutions Inc
•
Filing: 1996-03-15
•
Granted: 1998-06-16
•
Expires: 2016-03-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An I/O command block chain structure allows simultaneity of execution, provides a mechanism to inhibit and enable execution of an individual I/O command block, and a mechanism for establishing precedence in the sequence of execution of the I/O command blocks. After the chain is configured and stored in a memory, an I/O command in an I/O command block in the chain is executed first. Upon completion of execution of the I/O command, a chain manager is executed. The chain manager examines the chain control field in an I/O command block pointed to by a next block pointer in the I/O command block, and decides what to do with the next I/O command block based on the state of its chain control byte. The chain manager may post completion of the chain, or may simply decrement the progress count in a following I/O command block on the chain path, and return to an idle loop. Alternatively, the chain manager may decrement the progress count in a following I/O command block on the chain path, enable the following I/O command block for execution, and return to an idle loop.

Inventors

  • 👤 B. Arlen Young

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 22:08
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/10; G06F13/12; G06F13/124; G06F13/126

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 153 words
A method for executing a chain of I/O command blocks comprising: executing an I/O command in an I/O command block in said chain; executing a chain manager upon completion of execution of said I/O command in said I/O command block wherein executing said chain manager further comprises: examining a chain control field in an I/O command block pointed to by a next block pointer in said I/O command block wherein said chain control field includes a hold-off flag and a progress count: and performing at least one operation from a plurality of operations wherein said plurality of operations includes upon said progress count having a first value, said hold-flag is set to a defined state during execution of the chain of I/O command blocks, and further wherein said one operation is selected based on a state of the chain control field of said I/O command block pointed to by said next block pointer.
Claim 2
Independent Claim 153 words
A method for executing a chain of I/O command blocks comprising: executing an I/O command in an I/O command block in said chain; executing a chain manager upon completion of execution of said I/O command in said I/O command block wherein executing said chain manager further comprises: examining a chain control field in an I/O command block pointed to by a next block pointer in said I/O command block wherein said chain control field includes a hold-off flag and a progress count: and performing at least one operation from a plurality of operations wherein said plurality of operations includes upon said progress count having a first value, said hold-flag is set to a defined state during execution of the chain of I/O command blocks, and further wherein said one operation is selected based on a state of the chain control field of said I/O command block pointed to by said next block pointer.
Claim 3
Dependent Claim 32 words
A method for executing a chain of I/O command blocks as in claim 1 wherein said plurality of operations includes posting completion of the execution of the chain of I/O command blocks.
Claim 4
Dependent Claim 46 words
A method for executing a chain of I/O command blocks as in claim 1 wherein said plurality of operations includes: skipping the next I/O command block; decrementing a progress count in a following I/O command block on a chain path; and returning to an idle loop.
Claim 5
Dependent Claim 37 words
A method for executing a chain of I/O command blocks as in claim 1 wherein said plurality of operations includes enabling execution of the next I/O command block by configuring the hold-off flag to a defined state.
Claim 6
Dependent Claim 30 words
A method for executing a chain of I/O command blocks as in claim 1 wherein said plurality of operations includes enabling execution of a string of concurrent I/O command blocks.
Claim 7
Dependent Claim 28 words
A method for executing a chain of I/O command blocks as in claim 1 wherein said plurality of operations includes enabling execution of an offshoot I/O command block.
Claim 8
Dependent Claim 68 words
A method for executing a chain of I/O command blocks as in claim 1 wherein said performing at least one operation from a plurality of operations further comprises: reading said progress count in said chain control byte in the next I/O command block; and checking said progress count to determine whether the next I/O command block is a skipped I/O command block or an unskipped I/O command block.
Claim 9
Dependent Claim 49 words
A method for executing a chain of I/O command blocks as in claim 7 wherein said performing at least one operation from a plurality of operations further comprises: decrementing said progress count upon said progress count indicating that the next I/O command block is an unskipped I/O command block.
Claim 10
Dependent Claim 46 words
A method for executing a chain of I/O command blocks as in claim 8 wherein said performing at least one operation from a plurality of operations further comprises: checking said progress count after decrementing to determine if the next I/O command block is ready for execution.
Claim 11
Dependent Claim 48 words
A method for executing a chain of I/O command blocks as in claim 9 wherein said performing at least one operation from a plurality of operations further comprises: returning to an idle state upon said progress count indicating the next I/O command block is not ready for execution.
Claim 12
Dependent Claim 55 words
A method for executing a chain of I/O command blocks as in claim 9 wherein said performing at least one operation from a plurality of operations further comprises: determining whether the next I/O command block has been enabled for execution upon said progress count indicating that the next I/O command block is ready for execution.
Claim 13
Dependent Claim 52 words
A method for executing a chain of I/O command blocks as in claim 11 wherein said performing at least one operation from a plurality of operations further comprises: posting completion of execution of the chain of I/O command blocks upon determining that the next I/O command block has been enabled for execution.
Claim 14
Dependent Claim 50 words
A method for executing a chain of I/O command blocks as in claim 11 wherein said performing at least one operation from a plurality of operations further comprises: enabling execution of the next I/O command block upon determining that the next I/O command block has not been enabled for execution.
Claim 15
Dependent Claim 58 words
A method for executing a chain of I/O command blocks as in claim 7 wherein said performing at least one operation from a plurality of operations further comprises: skipping to an I/O command block in said chain that is an unskipped I/O command block upon determining that said next I/O command block is a skipped I/O command block.
Claim 16
Dependent Claim 38 words
A method for executing a chain of I/O command blocks as in claim 14 wherein said performing at least one operation from a plurality of operations further comprises: decrementing a progress count in said unskipped I/O command block.
Claim 17
Dependent Claim 52 words
A method for executing a chain of I/O command blocks as in claim 15 wherein said performing at least one operation from a plurality of operations further comprises: checking said progress count in said unskipped I/O command block after decrementing to determine if the unskipped I/O command block is ready for execution.
Claim 18
Dependent Claim 48 words
A method for executing a chain of I/O command blocks as in claim 16 wherein said performing at least one operation from a plurality of operations further comprises: returning to an idle state upon said progress count indicating the unskipped I/O command block is not ready for execution.
Claim 19
Dependent Claim 55 words
A method for executing a chain of I/O command blocks as in claim 16 wherein said performing at least one operation from a plurality of operations further comprises: determining whether the unskipped I/O command block has been enabled for execution upon said progress count indicating that the unskipped I/O command block is ready for execution.
Claim 20
Dependent Claim 52 words
A method for executing a chain of I/O command blocks as in claim 18 wherein said performing at least one operation from a plurality of operations further comprises: posting completion of execution of the chain of I/O command blocks upon determining that the unskipped I/O command block has been enabled for execution.
Claim 21
Dependent Claim 50 words
A method for executing a chain of I/O command blocks as in claim 18 wherein said performing at least one operation from a plurality of operations further comprises: enabling execution of the unskipped I/O command block upon determining that the unskipped I/O command block has not been enabled for execution.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-06-15 2001-12-15 2002-06-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-06-15 2005-12-15 2006-06-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-06-15 2009-12-15 2010-06-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag