Claims Analysis
Total Claims: 16
Claim 1
Independent Claim
106 words
An input/output data channel for use with a virtual memory computer including a CPU and a memory divided into memory frames comprising: means for fetching a control word containing a virtual command address referring to a channel program; means for translating the virtual command address in said control word to a real memory address for accessing said virtual memory; means for storing said virtual and real addresses; and registering means responsive to said real addresses for storing an indication that the real memory frame corresponding to said real memory address is being used by said channel to prevent the CPU from accessing the same memory frame.
Claim 2
Dependent Claim
106 words
An input/output data channel for use with a virtual memory computer including a CPU and a memory divided into memory frames comprising: means for fetching a control word containing a virtual command address referring to a channel program; means for translating the virtual command address in said control word to a real memory address for accessing said virtual memory; means for storing said virtual and real addresses; and registering means responsive to said real addresses for storing an indication that the real memory frame corresponding to said real memory address is being used by said channel to prevent the CPU from accessing the same memory frame.
Claim 3
Dependent Claim
59 words
The combination according to claim 1 inclUding further means for fetching a control word stored at said real address, said control word containing a virtual data address referring to a memory location to or from which data are to be transferred, and means for translating the virtual data address to a real data address for accessing said memory location.
Claim 4
Dependent Claim
59 words
The combination according to claim 1 wherein said registering means includes an I/O bit array containing a count mechanism for each memory frame which may be addressed by a channel and means operative each time a particular memory frame is addressed by any one of a plurality of channels for incrementing the count corresponding to said particular memory frame.
Claim 5
Dependent Claim
20 words
The combination according to claim 3 including means operative at the end of a channel operation for decrementing said count.
Claim 6
Dependent Claim
127 words
An input/output data channel for use with a virtual memory computer including a CPU comprising: means for fetching a channel address word (CAW) containing a virtual command address referring to the beginning of a channel program; means for translating the virtual command address in said CAW to a real memory address for accessing said virtual memory; means for translating virtual data addresses and command address contained in said channel program to real addresses for accessing said virtual memory; means for storing said virtual and real addresses; and registering means responsive to said real addresses for storing on indication that the real memory frame corresponding to said real memory address is being used by said channel to thereby prevent the CPU from paging out the same memory frame.
Claim 7
Dependent Claim
127 words
An input/output data channel for use with a virtual memory computer including a CPU comprising: means for fetching a channel address word (CAW) containing a virtual command address referring to the beginning of a channel program; means for translating the virtual command address in said CAW to a real memory address for accessing said virtual memory; means for translating virtual data addresses and command address contained in said channel program to real addresses for accessing said virtual memory; means for storing said virtual and real addresses; and registering means responsive to said real addresses for storing on indication that the real memory frame corresponding to said real memory address is being used by said channel to thereby prevent the CPU from paging out the same memory frame.
Claim 8
Dependent Claim
59 words
The combination according to claim 5 wherein said registering means includes an I/O bit array containing a count mechanism for each memory frame which may be addressed by a channel and means operative each time a particular memory frame is addressed by any one of a plurality of channels for incrementing the count corresponding to said particular memory frame.
Claim 9
Dependent Claim
20 words
The combination according to claim 6 including means operative at the end of a channel operation for decrementing said count.
Claim 10
Dependent Claim
175 words
In an input/output data channel for use with a virtual memory computer wherein a channel operation is commenced with the execution of an instruction which initiates a virtual channel program comprised of a sequence of control words containing virtual command or data addresses, means for translating said virtual channel program to real and for interlocking the operation of said channel with said computer, comprising: means responsive to said instruction for transferring to said channel control information for referencing translation tables; buffer storage means including means for holding active virtual data addresses and command addresses for said channel; said buffer storage means also provided with means for storing said control information in conjunction with real data and real command address; means operative in cooperation with said buffer storage means and said control information for translating virtual addresses to real addresses; and means for storing said virtual and real addresses in said buffer storage means, whereby as virtual addresses are translated during the execution of said channel program the real addresses are stored with the virtual addresses.
Claim 11
Dependent Claim
175 words
In an input/output data channel for use with a virtual memory computer wherein a channel operation is commenced with the execution of an instruction which initiates a virtual channel program comprised of a sequence of control words containing virtual command or data addresses, means for translating said virtual channel program to real and for interlocking the operation of said channel with said computer, comprising: means responsive to said instruction for transferring to said channel control information for referencing translation tables; buffer storage means including means for holding active virtual data addresses and command addresses for said channel; said buffer storage means also provided with means for storing said control information in conjunction with real data and real command address; means operative in cooperation with said buffer storage means and said control information for translating virtual addresses to real addresses; and means for storing said virtual and real addresses in said buffer storage means, whereby as virtual addresses are translated during the execution of said channel program the real addresses are stored with the virtual addresses.
Claim 12
Dependent Claim
195 words
The combination according to claim 8 further comprising: means operative in conjunction with said buffer storage means for fetching command and data addresses in accordance with said real addresses translated from said control words; means for incrementing a fetched data address to point to the next successive data address; registering means responsive to said real addresses for storing indications of I/O references to said memory including a count mechanism for each frame which may be addressed by each of a plurality of channels similar to said channel, wherein upon each reference to a memory frame the corresponding count is incRemented and wherein said count is decremented by said channel when it releases said frame from use, whereby so long as there is an outstanding access to said memory frame, there is a non-zero count in the corresponding count position; means responsive to said registering means for generating an I/O summary bit which indicates the non-zero condition of an addressed memory frame count; and means for transmitting said bit to a storage protect area whereby interlocking is provided between memory users to prevent the other users from accessing the memory frame that said channel is using.
Claim 13
Dependent Claim
231 words
In an input/output data channel for use with a virtual memory computer operating with a paging supervisor wherein a channel operation is commenced with the execution of a start I/O instruction which transfers a channel address word (CAW) from a real area in memory to the channel, said CAW containing a virtual command address pointing to the beginning of a virtual channel program comprised of a sequence of channel command words (CCW''s) containing virtual command or data addresses, means for translating said virtual channel program to real and for interlocking the operation of said channel with said computer, comprising: means responsive to said start I/O instruction for transferring from an I/O control area to said channel a segment table origin word (STO) and translation control bits (TCR), said means including means for energizing a relocate mode bit in said CAW; a channel look-aside buffer containing a virtual address stack for holding active virtual data address and command addresses for said channel; said channel look-aside buffer provided with means for storing said STO, TCR, and relocate mode bits; and means operative in cooperation with said channel look-aside buffer for translating virtual addresses to real addresses, said means including means for storing said virtual addresses in said virtual address stack, whereby as virtual addresses are translated during the execution of said channel program the virtual addresses are stored in said virtual address stack.
Claim 14
Dependent Claim
231 words
In an input/output data channel for use with a virtual memory computer operating with a paging supervisor wherein a channel operation is commenced with the execution of a start I/O instruction which transfers a channel address word (CAW) from a real area in memory to the channel, said CAW containing a virtual command address pointing to the beginning of a virtual channel program comprised of a sequence of channel command words (CCW''s) containing virtual command or data addresses, means for translating said virtual channel program to real and for interlocking the operation of said channel with said computer, comprising: means responsive to said start I/O instruction for transferring from an I/O control area to said channel a segment table origin word (STO) and translation control bits (TCR), said means including means for energizing a relocate mode bit in said CAW; a channel look-aside buffer containing a virtual address stack for holding active virtual data address and command addresses for said channel; said channel look-aside buffer provided with means for storing said STO, TCR, and relocate mode bits; and means operative in cooperation with said channel look-aside buffer for translating virtual addresses to real addresses, said means including means for storing said virtual addresses in said virtual address stack, whereby as virtual addresses are translated during the execution of said channel program the virtual addresses are stored in said virtual address stack.
Claim 15
Dependent Claim
214 words
The combination according to claim 10, further comprising: means operative in conjunction with said channel look-aside buffer for fetching command and data addresses in accordance with addresses provided by said CAW and said channel command words, said means including means for sequentially incrementing said data addresses to point to successive data addresses; means for fetching successive memory frames at locations specified by said successive data addresses; registering means responsive to said real addresses for storing indications of I/O references to said memory including a count mechanism for each frame which may be addressed by each of a plurality of channels similar to said channel, wherein upon each reference to a memory frame the corresponding count is incremented and wherein said count is decremented by said channel when it releases said frame from use, whereby so long as there is an outstanding access to said memory frame, there is a non-zero count in the corresponding count position; means responsive to said interlocking means for generating an I/O summary bit which indicates the non-zero condition of an addressed memory frame; and means for transmitting said I/O summary bit to a storage protect area whereby interlocking is provided between memory users to prevent the other users from paging out said memory frame that said channel is using.
Claim 16
Dependent Claim
64 words
The combination according to claim 10 wherein said channel includes means for creating a channel status word (CSW) and, means in said CSW for indicating by a predetermined selectable state, that a paging fault has occurred, means for transferring to a control area a page fault address, and means for turning on a page fault indicator, whereby interfacing with said paging supervisor is provided.