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

Method and system for pipelining the processing of channel command words

Assignee: International Business Machines Corp
•
Filing: 1992-12-10
•
Granted: 1996-06-11
•
Expires: 2012-12-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for pipelining the processing of channel command words is provided. The channel is permitted to send commands and data to the control unit for several channel command words associated with a channel program without having to wait for responses from the control unit for prior commands sent. The channel can pipeline several commands to the control unit and the control unit can then process the commands in the order it receives them. The control unit sends responses to the channel for each command it receives acknowledging receipt of the commands.

Inventors

  • 👤 Daniel F. Casper
  • 👤 John A. deVeer
  • 👤 Edward Loizides
  • 👤 Martin W. Sachs
  • 👤 John H. Sorg, Jr.

Bibliographic Details

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

Claims Analysis

Total Claims: 86
Claim 1
Independent Claim 127 words
A method for pipelining the processing of a plurality of channel command words in a channel program executing in a data processing system, said data processing system comprising a channel coupled to a control unit, said method comprising the steps of: verifying a connection between said channel and said control unit, said verifying step including determining whether pipelining is to occur; sending a plurality of commands from said channel to said control unit when pipelining is to occur, each of said plurality of commands being capable of being sent prior to said channel receiving a response to any one of said plurality of commands; and sending a response from said control unit to said channel for each of said plurality of commands received by said control unit.
Claim 2
Independent Claim 127 words
A method for pipelining the processing of a plurality of channel command words in a channel program executing in a data processing system, said data processing system comprising a channel coupled to a control unit, said method comprising the steps of: verifying a connection between said channel and said control unit, said verifying step including determining whether pipelining is to occur; sending a plurality of commands from said channel to said control unit when pipelining is to occur, each of said plurality of commands being capable of being sent prior to said channel receiving a response to any one of said plurality of commands; and sending a response from said control unit to said channel for each of said plurality of commands received by said control unit.
Claim 3
Dependent Claim 59 words
The method of claim 1, wherein said verifying step comprises the steps of: sending an initial command from said channel to said control unit, said initial command being retrieved from an initial channel command word; and sending an initial response frame from said control unit to said channel, said initial response frame corresponding to said initial channel command word.
Claim 4
Dependent Claim 23 words
The method of claim 2, further comprising the step of sending an accept command response frame from said channel to said control unit.
Claim 5
Dependent Claim 34 words
The method of claim 2, further comprising the step of transferring data associated with said initial channel command word from said channel to said control unit when said initial command specifies a write operation.
Claim 6
Dependent Claim 27 words
The method of claim 4, further comprising the step of sending a control end frame from said channel to said control unit when said data is transferred.
Claim 7
Dependent Claim 34 words
The method of claim 2, further comprising the step of transferring data associated with said initial channel command word from said control unit to said channel when said initial command specifies a read operation.
Claim 8
Dependent Claim 27 words
The method of claim 6, further comprising the step of sending a control end frame from said control unit to said channel when said data is transferred.
Claim 9
Dependent Claim 67 words
The method of claim 2, wherein said initial response frame further comprises a command count, said count specifying to said channel a maximum number of commands said control unit is capable of receiving prior to sending a response to any one of said commands, and wherein said plurality sending step comprises the step of sending said maximum number of commands from said channel to said control unit.
Claim 10
Dependent Claim 30 words
The method of claim 8, further comprising the step of sending a response from said control unit to said channel for at least one of said maximum number of commands.
Claim 11
Dependent Claim 34 words
The method of claim 9, further comprising the step of sending an additional command from said channel to said control unit when said response sent by said control unit is received by said channel.
Claim 12
Dependent Claim 29 words
The method of claim 2, wherein said initial response frame further comprises a channel command word number, said channel command word number corresponding to said initial channel command word.
Claim 13
Dependent Claim 31 words
The method of claim 2, wherein said plurality sending step further comprises the step of determining for each of said plurality of commands an input/output operation being specified by said command.
Claim 14
Dependent Claim 19 words
The method of claim 12, wherein said input/output operation includes one of a write operation and a read operation.
Claim 15
Dependent Claim 41 words
The method of claim 13, wherein said command specifies a write operation and said plurality sending step further includes the step of transferring data associated with said command from said channel to said control unit until a predefined condition is satisfied.
Claim 16
Dependent Claim 52 words
The method of claim 14, wherein said predefined condition comprises having completed said transferring of said data associated with said command, and wherein said plurality sending step further comprises the step of sending a control end frame from said channel to said control unit when said data for said command is transferred.
Claim 17
Dependent Claim 37 words
The method of claim 15, wherein said control end frame comprises a channel command word number, said channel command word number indicating to said control unit which one of said plurality of commands corresponds to said data.
Claim 18
Dependent Claim 36 words
The method of claim 14, wherein said initial response frame comprises a control unit buffer size indicator, said indicator specifying an amount of data capable of being stored in a buffer associated with said control unit.
Claim 19
Dependent Claim 137 words
The method of claim 17, wherein said predefined condition comprises having additional data associated with said command to send to said control unit and further having an amount of data in said control unit buffer equal to an amount specified by said control unit buffer size indicator, and wherein said plurality sending step further comprises the steps of: (a) said channel receiving from said control unit a control unit buffer available frame, said buffer available frame indicating to said channel that said control unit buffer has available space to receive at least a portion of said additional data; and (b) sending an amount of said additional data from said channel to said control unit when said control unit buffer available frame is received by said channel, said amount being specified by said control unit buffer available frame.
Claim 20
Dependent Claim 23 words
The method of claim 18, further comprising the steps of repeating steps (a) and (b) until all of said additional data is sent.
Claim 21
Dependent Claim 40 words
The method of claim 13, wherein said command specifies a read operation and said response sending step comprises the step of transferring data associated with said command from said control unit to said channel until a predefined condition is satisfied.
Claim 22
Dependent Claim 49 words
The method of claim 20, wherein said predefined condition comprises having completed said transferring of said data associated with said command, and wherein said response sending step further comprises the step of sending a control end frame from said control unit to said channel when said data is transferred.
Claim 23
Dependent Claim 36 words
The method of claim 21, wherein said control end frame comprises a channel command word number, said channel command word number indicating to said channel which one of said plurality of commands corresponds to said data.
Claim 24
Dependent Claim 42 words
The method of claim 20, wherein said initial command sending step further comprises the step of sending said initial command to said control unit using a command frame, said command frame including a pipeline indicator for determining whether pipelining is to occur.
Claim 25
Dependent Claim 34 words
The method of claim 23, wherein said command frame further comprises a channel buffer size indicator, said indicator specifying an amount of data capable of being stored in a buffer associated with said channel.
Claim 26
Dependent Claim 126 words
The method of claim 24, wherein said predefined condition comprises having additional data associated with said command to send to said channel and having an amount of data in said channel buffer equal to an amount specified by said channel buffer size indicator, and wherein said response sending step further comprises the steps of: (a) said control unit receiving from said channel a channel buffer available frame, said buffer available frame indicating said channel buffer has available space to receive at least a portion of said additional data; and (b) sending an amount of said additional data from said control unit to said channel when said channel buffer available frame is received by said control unit, said amount being specified by said channel buffer available frame.
Claim 27
Dependent Claim 23 words
The method of claim 25, further comprising the steps of repeating steps (a) and (b) until all of said additional data is sent.
Claim 28
Dependent Claim 36 words
The method of claim 1, further comprising the step of sending a status frame from said control unit to said channel when said response for each of said plurality of commands is received by said channel.
Claim 29
Dependent Claim 13 words
The method of claim 1, further comprising the Step of interrupting said pipelining.
Claim 30
Dependent Claim 24 words
The method of claim 28, wherein said interrupting step includes the step of sending from said control unit to said channel a status frame.
Claim 31
Dependent Claim 37 words
The method of claim 29, wherein said status frame comprises a channel command word number, said channel command word number indicating to said channel which one of said plurality of commands is associated with said status frame.
Claim 32
Dependent Claim 37 words
The method of claim 28, wherein said interrupting step comprises the step of sending a control end frame from said channel to said control unit, said control end frame including a chaining indicator, said indicator being inactive.
Claim 33
Dependent Claim 44 words
The method of claim 31, wherein said control end frame further comprises an end early indicator, said end early indicator specifying to said control unit that a portion of information associated with one of said commands has not been sent to said control unit.
Claim 34
Dependent Claim 61 words
The method of claim 28, wherein said interrupting step comprises the step of sending a control end frame from said channel to said control unit, said control end frame including an end indicator, a ready indicator and a transfer count valid indicator, said end indicator and said ready indicator being set active and said transfer count valid indicator being set inactive.
Claim 35
Dependent Claim 25 words
The method of claim 1, wherein said response sending step comprises the step of sending a response frame from said control unit to said channel.
Claim 36
Dependent Claim 38 words
The method of claim 34, wherein said response frame comprises a channel command word number, said channel command word number indicating to said channel which of one said plurality of commands has been received by said control unit.
Claim 37
Independent Claim 111 words
A method for pipelining the processing of a plurality of channel command words in a channel program executing in a data processing system, said data processing system comprising a channel coupled to a control unit, said method comprising the steps of: sending a first command from said channel to said control unit, said first command being retrieved from a first channel command word; and sending a second command from said channel to said control unit, said second command being retrieved from a second channel command word and said second command being sent to said control unit prior to said channel receiving a response from said control unit to said first command.
Claim 38
Independent Claim 111 words
A method for pipelining the processing of a plurality of channel command words in a channel program executing in a data processing system, said data processing system comprising a channel coupled to a control unit, said method comprising the steps of: sending a first command from said channel to said control unit, said first command being retrieved from a first channel command word; and sending a second command from said channel to said control unit, said second command being retrieved from a second channel command word and said second command being sent to said control unit prior to said channel receiving a response from said control unit to said first command.
Claim 39
Dependent Claim 48 words
The method of claim 36, further comprising the step of sending any data associated with said first command and said second command from said channel to said control unit, said data being sent prior to said channel receiving a response from said control unit to said first command.
Claim 40
Dependent Claim 53 words
The method of claim 37, wherein said data is transferred until one of a plurality of conditions exists, said plurality of conditions comprising said data transfer is complete and a buffer associated with said control unit is incapable of receiving any more data until at least a portion of said buffer is cleared.
Claim 41
Independent Claim 112 words
A system for pipelining the processing of a plurality of channel command words in a channel program executing in a data processing system, said data processing system comprising a channel coupled to a control unit, said system comprising: means for sending a first command from said channel to said control unit, said first command being retrieved from a first channel command word; and means for sending a second command from said channel to said control unit, said second command being retrieved from a second channel command word and said second command being sent to said control unit prior to said channel receiving a response from said control unit to said first command.
Claim 42
Independent Claim 112 words
A system for pipelining the processing of a plurality of channel command words in a channel program executing in a data processing system, said data processing system comprising a channel coupled to a control unit, said system comprising: means for sending a first command from said channel to said control unit, said first command being retrieved from a first channel command word; and means for sending a second command from said channel to said control unit, said second command being retrieved from a second channel command word and said second command being sent to said control unit prior to said channel receiving a response from said control unit to said first command.
Claim 43
Dependent Claim 47 words
The system of claim 39, further comprising means for transferring any data associated with said first command and said second command from said channel to said control unit, said data being transferred prior to said channel receiving said response from said control unit to said first command.
Claim 44
Dependent Claim 62 words
The system of claim 40, wherein said control unit comprises a buffer and said means for transferring data comprises means for transferring said data until one of a plurality of conditions exists, said plurality of conditions comprising said data transfer is complete and said buffer is incapable of receiving any more data until at least a portion of said buffer is cleared.
Claim 45
Independent Claim 132 words
A system for pipelining the processing of a plurality of channel command words in a channel program executing in a data processing system, said data processing system comprising a channel coupled to a control unit, said system comprising: means for verifying a connection between said channel and said control unit, said verifying means including means for determining whether pipelining is to occur; means for sending a plurality of commands from said channel to said control unit when pipelining is to occur, each of said plurality of commands being capable of being sent prior to said channel receiving a response to any one of said plurality of commands; and means for sending a response from said control unit to said channel for each of said plurality of commands received by said control unit.
Claim 46
Independent Claim 132 words
A system for pipelining the processing of a plurality of channel command words in a channel program executing in a data processing system, said data processing system comprising a channel coupled to a control unit, said system comprising: means for verifying a connection between said channel and said control unit, said verifying means including means for determining whether pipelining is to occur; means for sending a plurality of commands from said channel to said control unit when pipelining is to occur, each of said plurality of commands being capable of being sent prior to said channel receiving a response to any one of said plurality of commands; and means for sending a response from said control unit to said channel for each of said plurality of commands received by said control unit.
Claim 47
Dependent Claim 64 words
The system of claim 42, wherein said verifying means comprises: means for sending an initial command from said channel to said control unit, said initial command being retrieved from an initial channel command word; an initial response frame, said initial response frame corresponding to said initial channel command word; and means for sending said initial response frame from said control unit to said channel.
Claim 48
Dependent Claim 22 words
The system of claim 43, further comprising means for sending an accept command response frame from said channel to said control unit.
Claim 49
Dependent Claim 33 words
The system of claim 43, further comprising means for transferring data associated with said initial channel command word from said channel to said control unit when said initial command specifies a write operation.
Claim 50
Dependent Claim 31 words
The system of claim 45, further comprising: a control end frame; and means for sending said control end frame from said channel to said control unit when said data is transferred.
Claim 51
Dependent Claim 33 words
The system of claim 43, further comprising means for transferring data associated with said initial channel command word from said control unit to said channel when said initial command specifies a read operation.
Claim 52
Dependent Claim 31 words
The system of claim 47, further comprising: means for sending a control end frame; and said control end frame from said control unit to said channel when said data is transferred.
Claim 53
Dependent Claim 65 words
The system of claim 43, wherein said initial response frame further comprises a command count, said count specifying to said channel a maximum number of commands said control unit is capable of receiving prior to sending a response to any one of said commands, and wherein said plurality means comprises means for sending said maximum number of commands from said channel to said control unit.
Claim 54
Dependent Claim 29 words
The system of claim 49, further comprising means for sending a response from said control unit to send channel for at least one of said maximum number of commands.
Claim 55
Dependent Claim 33 words
The system of claim 50, further comprising means for sending an additional command from said channel to said control unit when said response sent by said control unit is received by said channel.
Claim 56
Dependent Claim 29 words
The system of claim 43, wherein said initial response frame further comprises a channel command word number, said channel command word number corresponding to said initial channel command word.
Claim 57
Dependent Claim 30 words
The system of claim 43, wherein said plurality sending means further comprises means for determining for each of said plurality of commands an input/output operation being specified by said command.
Claim 58
Dependent Claim 19 words
The system of claim 53, wherein said input/output operation includes one of a write operation and a read operation.
Claim 59
Dependent Claim 39 words
The system of claim 54, wherein said command specifies a write operation and said plurality sending means comprises means for transferring data associated with said command from said channel to said control unit until a predefined condition is satisfied.
Claim 60
Dependent Claim 51 words
The system of claim 55, wherein said predefined condition comprises having completed said transferring of said data associated with said command, and wherein said plurality sending means further comprises means for sending a control end frame from said channel to said control unit when said data for said command is transferred.
Claim 61
Dependent Claim 37 words
The system of claim 56, wherein said control end frame comprises a channel command word number, said channel command word number indicating to said control unit which one of said plurality of commands corresponds to said data.
Claim 62
Dependent Claim 36 words
The system of claim 55, wherein said initial response frame comprises a control unit buffer size indicator, said indicator specifying an amount of data capable of being stored in a buffer associated with said control unit.
Claim 63
Dependent Claim 154 words
The system of claim 58, wherein said predefined condition comprises having additional data associated with said command to send to said control unit and further having an amount of data equal to said control unit buffer size indicator in said control unit buffer, and wherein said plurality sending means further comprises: a control unit buffer available frame, said control unit buffer available frame indicating to said channel that said control unit buffer has available space to receive at least a portion of said additional data; means for sending to said channel from said control unit said control unit buffer available frame; means for receiving from said control unit said control unit buffer available frame; and means for sending an amount of said additional data from said channel to said control unit when said control unit buffer available frame is received by said channel, said amount being specified by said control unit buffer available frame.
Claim 64
Dependent Claim 39 words
The system of claim 54, wherein said command specifies a read operation and said response sending means comprises means for transferring data associated with said command from said control unit to said channel until a predefined condition is satisfied.
Claim 65
Dependent Claim 48 words
The system of claim 60, wherein said predefined condition comprises having completed said transferring of said data associated with said command, and wherein said response sending means further comprises means for sending a control end frame from said control unit to said channel when said data is transferred.
Claim 66
Dependent Claim 36 words
The system of claim 61, wherein said control end frame comprises a channel command word number, said channel command word number indicating to said channel which one of said plurality of commands corresponds to said data.
Claim 67
Dependent Claim 41 words
The system of claim 60, wherein said initial command sending means further comprises means for sending said initial command to said control unit using a command frame, said command frame including a pipeline indicator for determining whether pipelining is to occur.
Claim 68
Dependent Claim 34 words
The system of claim 63, wherein said command frame further comprises a channel buffer size indicator, said indicator specifying an amount of data capable of being stored in a buffer associated with said channel.
Claim 69
Dependent Claim 125 words
The system of claim 64, wherein said predefined condition comprises having additional data associated with said command to send to said channel and having an amount of data in said channel buffer equal to an amount specified by said channel buffer size indicator, and wherein said response sending means further comprises: a channel buffer available frame, said channel buffer available frame indicating said channel buffer has available space to receive said additional data; means for sending said channel buffer available frame from said channel to said control unit; means for receiving from said channel said channel buffer available frame; and means for sending said additional data from said control unit to said channel when said channel buffer available frame is received by said control unit.
Claim 70
Dependent Claim 35 words
The system of claim 42, further comprising means for sending a status frame from said control unit to said channel when said response for each of said plurality of commands is received by said channel.
Claim 71
Dependent Claim 12 words
The system of claim 42, further comprising means for interrupting said pipelining.
Claim 72
Dependent Claim 27 words
The system of claim 67, wherein said interrupting means comprises: a status frame; and means for sending said status frame from said control unit to said channel.
Claim 73
Dependent Claim 37 words
The system of claim 68, wherein said status frame comprises a channel command word number, said channel command word number indicating to said channel which one of said plurality of commands is associated with said status frame.
Claim 74
Dependent Claim 41 words
The system of claim 67, wherein said interrupting means comprises: a control end frame, said control end frame including a chaining indicator, said indicator being inactive; and means for sending said control end frame from said channel to said control unit.
Claim 75
Dependent Claim 41 words
The system of claim 70, wherein said control end frame further comprises an end early indicator, said end early indicator specifying to said control unit that information associated with one of said commands has not been sent to said control unit.
Claim 76
Dependent Claim 65 words
The system of claim 67, wherein said interrupting means comprises: a control end frame, said control end frame including an end indicator, a ready indicator and a transfer count valid indicator, said end indicator and said ready indicator being set active and said transfer count valid indicator being set inactive; and means for sending said control end frame from said channel to said control unit.
Claim 77
Dependent Claim 24 words
The system of claim 42, wherein said response sending means comprises means for sending a response frame from said control unit to said channel.
Claim 78
Dependent Claim 38 words
The system of claim 73, wherein said response frame comprises a channel command word number, said channel command word number indicating to said channel which of one said plurality of commands has been received by said control unit.
Claim 79
Independent Claim 129 words
A method for pipelining the processing of a plurality of channel command words in a channel program executing in a data processing system, said data processing system comprising a channel coupled to a control unit, said method comprising the steps of: sending a plurality of commands from said channel to said control unit; and sending a response from said control unit to said channel for each of said plurality of commands received by said control unit, wherein one or more of said responses is sent prior to said control unit receiving a number of commands equal to a command count, thereby allowing commands to be sent from said channel to said control unit while responses are sent from said control unit to said channel without an interruption in processing.
Claim 80
Independent Claim 129 words
A method for pipelining the processing of a plurality of channel command words in a channel program executing in a data processing system, said data processing system comprising a channel coupled to a control unit, said method comprising the steps of: sending a plurality of commands from said channel to said control unit; and sending a response from said control unit to said channel for each of said plurality of commands received by said control unit, wherein one or more of said responses is sent prior to said control unit receiving a number of commands equal to a command count, thereby allowing commands to be sent from said channel to said control unit while responses are sent from said control unit to said channel without an interruption in processing.
Claim 81
Dependent Claim 81 words
The method of claim 75, further comprising the steps of: transferring data from said channel to said control unit during a write operation specified by one of said plurality of commands; and during said transferring step, sending one or more buffer available frames from said control unit to said channel, thereby allowing data to be sent from said channel to said control unit while buffer available frames are sent from said control unit to said channel without an interruption in processing.
Claim 82
Dependent Claim 81 words
The method of claim 75, further comprising the steps of: transferring data from said control unit to said channel during a read operation specified by one of said plurality of commands; and during said transferring step, sending one or more buffer available frames from said channel to said control unit, thereby allowing data to be sent from said control unit to said channel while buffer available frames are sent from said channel to said control unit without an interruption in processing.
Claim 83
Independent Claim 130 words
A system for pipelining the processing of a plurality of channel command words in a channel program executing in a data processing system, said data processing system comprising a channel coupled to a control unit, said system comprising: means for sending a plurality of commands from said channel to said control unit; and means for sending a response from said control unit to said channel for each of said plurality of commands received by said control unit, wherein one or more of said responses is sent prior to said control unit receiving a number of commands equal to a command count, thereby allowing commands to be sent from said channel to said control unit while responses are sent from said control unit to said channel without an interruption in processing.
Claim 84
Independent Claim 130 words
A system for pipelining the processing of a plurality of channel command words in a channel program executing in a data processing system, said data processing system comprising a channel coupled to a control unit, said system comprising: means for sending a plurality of commands from said channel to said control unit; and means for sending a response from said control unit to said channel for each of said plurality of commands received by said control unit, wherein one or more of said responses is sent prior to said control unit receiving a number of commands equal to a command count, thereby allowing commands to be sent from said channel to said control unit while responses are sent from said control unit to said channel without an interruption in processing.
Claim 85
Dependent Claim 82 words
The system of claim 78, further comprising: means for transferring data from said channel to said control unit during a write operation specified by one of said plurality of commands; and means for sending one or more buffer available frames during said transferring step from said control unit to said channel, thereby allowing data to be sent from said channel to said control unit while buffer available frames are sent from said control unit to said channel without an interruption in processing.
Claim 86
Dependent Claim 82 words
The system of claim 78, further comprising: means for transferring data from said control unit to said channel during a read operation specified by one of said plurality of commands; and means for sending one or more buffer available frames during said transferring step from said channel to said control unit, thereby allowing data to be sent from said control unit to said channel while buffer available frames are sent from said channel to said control unit without an interruption in processing.

References Cited (Backward Citations)

US3488633A Cited
US3688274A Cited
US4296492A Cited
US5060142A Cited
US4866609A Cited
US5182800A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag