Patent US6081849A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6081849A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and structure for switching multiple contexts in storage subsystem target device

Assignee: Avago Technologies International Sales Pte Ltd
•
Filing: 1996-10-01
•
Granted: 2000-06-27
•
Expires: 2016-10-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A storage target device controller (such as an embedded controller in a SCSI disk drive) processes multiple commands concurrently in accordance with the methods and structures of the present invention. Each command is stored within its own context within the target device controller to retain all unique parameters required for the processing of each command. Processing of multiple commands permits switching of command contexts within the target device to improve utilization of resources associated with the target device. For example, when a first, active, command context is prevented from further processing due to the status of the disk channel, an inactive command context may be swapped with the active command context to better utilize the host channel communication bandwidth. Similarly, a first active command context may be configured to automatically switch to a linked command context upon completion of processing to further ease management of multiple contexts. In a preferred embodiment of the present invention, a set of registers contain the active context while a second set of registers contains an inactive command context. The sets of registers are configured in such a way that the active and inactive context may be rapidly switched with no intervention by the microprocessor. The inactive register set may be read or written directly by the microprocessor, or may be automatically loaded/stored from/to a buffer memory in the target device by shifting a predetermined context structure into the inactive register set through an interface pad with the buffer memory.

Inventors

  • 👤 Richard M. Born
  • 👤 Jackson L. Ellis
  • 👤 David M. Springberg
  • 👤 David R. Noeldner
  • 👤 Graeme M. Weston-Lewis

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 22:23
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/061; G06F3/0611; G06F3/0628; G06F3/0655; G06F3/0659; G06F3/0668; G06F3/0671; G06F3/0673; G06F3/0674

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 129 words
In a storage target device having a host channel and context storage means for storing the context of a plurality of commands, a method for improving utilization of resources of said target device comprising the steps of: processing an active command in an active context in said context storage means; storing at least one inactive command in at least one inactive context in said context storage means; determining that processing of another command selected from said at least one inactive command would better utilize said resources of said target device; and swapping said active context and one of said at least one inactive context to process said another command in response to said determination that processing of said another command would better utilize said resources of said target device.
Claim 2
Dependent Claim 129 words
In a storage target device having a host channel and context storage means for storing the context of a plurality of commands, a method for improving utilization of resources of said target device comprising the steps of: processing an active command in an active context in said context storage means; storing at least one inactive command in at least one inactive context in said context storage means; determining that processing of another command selected from said at least one inactive command would better utilize said resources of said target device; and swapping said active context and one of said at least one inactive context to process said another command in response to said determination that processing of said another command would better utilize said resources of said target device.
Claim 3
Dependent Claim 45 words
The method of claim 1 wherein the step of determining includes the step of determining that the communication bandwidth of said host channel is underutilized, and wherein said swapping step is responsive to said determination that said communication bandwidth of said host channel is underutilized.
Claim 4
Dependent Claim 42 words
The method of claim 1 wherein the step of determining includes the step of determining that processing of said active command has completed, and wherein said swapping step is responsive to said determination that said processing of said active command is completed.
Claim 5
Dependent Claim 51 words
The method of claim 3 wherein a command context includes information linking said active command to a next command of said at least one inactive command and wherein the step of swapping includes: copying the context of said next command to said active context; and initiating processing of said next command.
Claim 6
Dependent Claim 85 words
The method of claim 1 wherein said context storage means includes storage for a plurality of inactive contexts for storage of inactive commands and wherein the step of swapping includes the steps of: selecting one of said plurality of inactive commands stored in one of said plurality of inactive contexts; and swapping said active context and said inactive context to process the selected inactive command in response to said determination that processing of said another command would better utilize said resources of said target device.
Claim 7
Dependent Claim 27 words
The method of claim 5 wherein said active context and said plurality of inactive contexts are stored in a buffer memory associated with said storage target device.
Claim 8
Dependent Claim 47 words
The method of claim 5 wherein said storage target device includes an active register set for storage of said active context and wherein said storage target device further includes at least one inactive register set for storage of at least one of said plurality of inactive contexts.
Claim 9
Dependent Claim 25 words
The method of claim 7 wherein said storage target device includes a plurality of inactive register sets for storage of said plurality of inactive contexts.
Claim 10
Dependent Claim 108 words
Apparatus in a storage target device controller to provide multiple contexts for concurrently performing a plurality of commands generated by an initiator device, said apparatus comprising: a host channel; an active context storage for storing active parameters relevant to the performance of an active one of said plurality of commands; at least one inactive context storage for storing inactive parameters relevant to the performance of at least one inactive command of said plurality of commands; and a swapping configuration coupled to said active context storage and said at least one inactive context storage, wherein the swapping configuration is responsive to a determination that said host channel is underutilized.
Claim 11
Dependent Claim 108 words
Apparatus in a storage target device controller to provide multiple contexts for concurrently performing a plurality of commands generated by an initiator device, said apparatus comprising: a host channel; an active context storage for storing active parameters relevant to the performance of an active one of said plurality of commands; at least one inactive context storage for storing inactive parameters relevant to the performance of at least one inactive command of said plurality of commands; and a swapping configuration coupled to said active context storage and said at least one inactive context storage, wherein the swapping configuration is responsive to a determination that said host channel is underutilized.
Claim 12
Dependent Claim 42 words
The apparatus of claim 9 further comprising: a buffer memory having segments wherein one of said segments corresponds to said active context storage means and wherein each of said at least one inactive context storage means corresponds to one of said segments.
Claim 13
Dependent Claim 45 words
The apparatus of claim 9: wherein said active context storage means includes an active register set for storage of said active parameters; and wherein said at least one inactive context storage means includes at least one inactive register set for storage of said inactive parameters.
Claim 14
Dependent Claim 29 words
The apparatus of claim 11 wherein each of said at least one inactive context storage means corresponds to a unique set of said at least one inactive register set.
Claim 15
Dependent Claim 78 words
The apparatus of claim 11 wherein said at least one inactive register set comprises a single inactive register set and wherein said apparatus further comprises: a buffer memory for storage of additional inactive contexts of said at least one inactive context; storing means for storing said single inactive register set into an identified one of said additional inactive contexts; and loading means for loading an identified one of said additional inactive contexts into said single inactive register set.
Claim 16
Dependent Claim 59 words
The apparatus of claim 13 wherein said loading means comprises: means for sequentially loading each of said inactive parameters of said identified one of said additional inactive contexts into one register of said single inactive register set; and means for shifting each loaded inactive parameter from said one register to an appropriate register in said single inactive register set.
Claim 17
Dependent Claim 107 words
In a storage target device controller having a host channel for exchange of information with an attached host and having a disk channel for exchange of information with the storage medium, a system for processing multiple command contexts comprising: an active context register set for storage of active parameters related to processing of an active command; an inactive context register set for storage of inactive parameters related to processing of an inactive command; and means for swapping the contents of said active context register set with said inactive context register set, wherein said means for swapping is responsive to a determination that said host channel is underutilized.
Claim 18
Dependent Claim 107 words
In a storage target device controller having a host channel for exchange of information with an attached host and having a disk channel for exchange of information with the storage medium, a system for processing multiple command contexts comprising: an active context register set for storage of active parameters related to processing of an active command; an inactive context register set for storage of inactive parameters related to processing of an inactive command; and means for swapping the contents of said active context register set with said inactive context register set, wherein said means for swapping is responsive to a determination that said host channel is underutilized.
Claim 19
Dependent Claim 32 words
The system of claim 15 further comprising: means for determining that said host channel is underutilized wherein said means for swapping is responsive to the determination that said host channel is underutilized.
Claim 20
Dependent Claim 40 words
The system of claim 16 wherein said means for determining that said host channel is underutilized includes: means for determining that said active command is presently inactive with respect to said host channel due to interactions with said disk channel.
Claim 21
Dependent Claim 42 words
The system of claim 15 further comprising: link means in said active context register set to indicate a next one of said multiple command contexts to be copied to said active context register set following completion of processing of said active command.
Claim 22
Dependent Claim 57 words
The system of claim 18 wherein said next one of said multiple commands is said inactive command stored in said inactive context register set and wherein said means for swapping is responsive to said link means to copy said inactive context register set to said active context register set upon completion of processing of said active command.
Claim 23
Dependent Claim 60 words
The system of claim 15 further comprising: means for determining that said disk channel requires additional exchange of information by said host channel to continue operation of said disk channel, wherein said means for swapping is responsive to the determination that said disk channel requires additional exchange of information by said host channel to continue operation of said disk channel.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-06-27 2003-12-27 2004-06-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-06-27 2007-12-27 2008-06-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-06-27 2011-12-27 2012-06-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag