Patent US5644712A successfully refreshed from Google Patents.
US5644712A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Indirect addressing of channels via logical channel groups
Assignee: International Business Machines Corp
•
Filing: 1991-06-05
•
Granted: 1997-07-01
•
Expires: 2011-06-05
Abstract
Abstract A computer system for using logical channel groups to indirectly address channels. The computer system includes a processor, a memory, and an input/output (IO) system for transferring information between devices and the processor. The IO system includes channels, channel path identifiers for identifying the channels, logical channel groups having lists of the channel path identifiers, and subchannels having pointers to the logical channel groups. The IO system also includes one or more switches for routing information between the channels and devices.
Inventors
- 👤 Anthony Coscarella
- 👤 Martin William Sachs
- 👤 Joseph Temple
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-08 09:08
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/10; G06F13/12; G06F13/122
Claims Analysis
Total Claims: 25
Claim 1
Independent Claim
121 words
In a computer system in which a plurality of channels electrically couple an active data unit to one or more devices, an IO subsystem for establishing physical paths between the active data unit and the devices, the subsystem comprising: (1) multiple channel path identifiers for identifying the channels; (2) one or more logical channel groups comprising lists, stored in a memory unit, comprising varying numbers of said channel path identifiers, the respective lengths of said lists being limited only by the storage capacity of said memory unit; and (3) one or more subchannels each exclusively assigned to one of said devices, each of said subchannels maintaining one or more pointers, each of said pointers addressing one of said logical channel groups.
Claim 2
Dependent Claim
121 words
In a computer system in which a plurality of channels electrically couple an active data unit to one or more devices, an IO subsystem for establishing physical paths between the active data unit and the devices, the subsystem comprising: (1) multiple channel path identifiers for identifying the channels; (2) one or more logical channel groups comprising lists, stored in a memory unit, comprising varying numbers of said channel path identifiers, the respective lengths of said lists being limited only by the storage capacity of said memory unit; and (3) one or more subchannels each exclusively assigned to one of said devices, each of said subchannels maintaining one or more pointers, each of said pointers addressing one of said logical channel groups.
Claim 3
Dependent Claim
24 words
The subsystem of claim 1, wherein ranges of said channel path identifiers are represented by first channel path identifiers and last channel path identifiers.
Claim 4
Dependent Claim
49 words
The subsystem of claim 2, wherein each of said logical channel groups comprise: one of said first channel path identifiers; one of said last channel path identifiers; and flag means for identifying optimized channels, wherein said optimized channels represent channels which are each optimized to perform a particular function.
Claim 5
Dependent Claim
116 words
The subsystem of claim 3, further comprising: (4) busy means for identifying busy channels; (5) first mask means, coupled to said flag means, for identifying said optimized channels; (6) second mask means for generating a channel vector according to one of said ranges represented by said first channel path identifier and said last channel path identifier; (7) AND means, coupled to said busy means, first mask means, and second mask means, for generating a result vector; (8) CTLZ means, coupled to said AND means, for analyzing said result vector to determine whether an available channel exists; and (9) means for using said available channel to establish one of said physical paths if said available channel exists.
Claim 6
Dependent Claim
25 words
The subsystem of claim 4, wherein element (7) comprises means for specifying idle channels within said range by AND'ing said busy vector and channel vector.
Claim 7
Dependent Claim
18 words
The subsystem of claim 5, wherein said available channel comprises one of said idle channels within said range.
Claim 8
Dependent Claim
29 words
The subsystem of claim 4, wherein element (7) comprises means for specifying idle and optimized channels within said range by AND'ing said busy vector, mask vector, and channel vector.
Claim 9
Dependent Claim
20 words
The subsystem of claim 7, wherein said available channel comprises one of said idle and optimized channels within said range.
Claim 10
Dependent Claim
46 words
The subsystem of claim 7, wherein element (8) comprises: means for scanning said result vector in a first direction if a START CHANNEL operation is being performed; and means for scanning said result vector in a second direction if a RECONNECT CHANNEL operation is being performed.
Claim 11
Dependent Claim
247 words
A computer system comprising: active data means; a plurality of peripheral devices; and IO means for transferring information between said peripheral devices and said active data means, said IO means comprising: multiple channels electrically coupled to said active data means; one or more switches each electrically coupled to one or more, of said channels and one or more of said peripheral devices, for routing said information between said channels and said peripheral devices; multiple channel path identifiers for identifying said channels; one or more logical channel groups comprising lists, stored in a memory device, of varying numbers of said channel path identifiers, the respective lengths of said lists being limited only by the storage capacity of said memory device, the channel path identifiers in any one of said logical channel groups identifying channels which are electrically coupled to a particular one of said peripheral devices via a particular one of said switches; one or more subchannels each exclusively assigned to one of said peripheral devices, each of said subchannels maintaining one or more pointers, each of said pointers addressing one of said logical channel groups; and means for establishing a physical communication path between said active data means and one of said peripheral devices by selecting one of the channel path identifiers in the logical channel group addressed by one of the pointers maintained by the subchannel assigned to said peripheral device, wherein said physical communication path includes the channel identified by said selected channel path identifier.
Claim 12
Dependent Claim
247 words
A computer system comprising: active data means; a plurality of peripheral devices; and IO means for transferring information between said peripheral devices and said active data means, said IO means comprising: multiple channels electrically coupled to said active data means; one or more switches each electrically coupled to one or more, of said channels and one or more of said peripheral devices, for routing said information between said channels and said peripheral devices; multiple channel path identifiers for identifying said channels; one or more logical channel groups comprising lists, stored in a memory device, of varying numbers of said channel path identifiers, the respective lengths of said lists being limited only by the storage capacity of said memory device, the channel path identifiers in any one of said logical channel groups identifying channels which are electrically coupled to a particular one of said peripheral devices via a particular one of said switches; one or more subchannels each exclusively assigned to one of said peripheral devices, each of said subchannels maintaining one or more pointers, each of said pointers addressing one of said logical channel groups; and means for establishing a physical communication path between said active data means and one of said peripheral devices by selecting one of the channel path identifiers in the logical channel group addressed by one of the pointers maintained by the subchannel assigned to said peripheral device, wherein said physical communication path includes the channel identified by said selected channel path identifier.
Claim 13
Dependent Claim
66 words
The computer system of claim 10, wherein each of said switch means comprises: multiple ports; multiple port identifiers for identifying said ports; one or more path groups comprising subsets of said port identifiers; and one or more path group link addresses for identifying said path groups; wherein each of said path groups identify one or more of said ports which are coupled to a common destination.
Claim 14
Dependent Claim
187 words
In a computer system having an active data unit, a plurality of channels and devices, and a switch, wherein said switch comprises a plurality of ports coupled to said channels and devices, a method for establishing a communication link between the active data unit and one of the devices, the method comprising the steps of: (a) establishing a logical channel between the active data unit and the device; (b) associating one or more of said channels with said logical channel; and (c) establishing a physical path via one of said associated channels between the active data unit and the device; wherein step (a) comprises the steps of: identifying a subchannel associated with the device, wherein said subchannel references one or more logical channel groups; and selecting one of said logical channel groups; wherein said selected logical channel group comprises a first channel path identifier, a last channel path identifier, and a flag means for identifying optimized channels, wherein said first and last channel path identifiers identify a range of said channels, and wherein said optimized channels represent channels which are each optimized to perform a particular function.
Claim 15
Dependent Claim
187 words
In a computer system having an active data unit, a plurality of channels and devices, and a switch, wherein said switch comprises a plurality of ports coupled to said channels and devices, a method for establishing a communication link between the active data unit and one of the devices, the method comprising the steps of: (a) establishing a logical channel between the active data unit and the device; (b) associating one or more of said channels with said logical channel; and (c) establishing a physical path via one of said associated channels between the active data unit and the device; wherein step (a) comprises the steps of: identifying a subchannel associated with the device, wherein said subchannel references one or more logical channel groups; and selecting one of said logical channel groups; wherein said selected logical channel group comprises a first channel path identifier, a last channel path identifier, and a flag means for identifying optimized channels, wherein said first and last channel path identifiers identify a range of said channels, and wherein said optimized channels represent channels which are each optimized to perform a particular function.
Claim 16
Dependent Claim
97 words
The method of claim 12, wherein step (c) comprises the steps of: (1) generating a busy vector for identifying busy channels; (2) generating a mask vector, according to said flag means, for identifying said optimized channels; (3) generating a channel vector, according to said first and last channel path identifiers, for identifying said range; (4) generating a result vector according to said busy vector, mask vector, and channel vector; (5) analyzing said result vector to determine whether an available channel exists; and (6) using said available channel to establish said physical path if said available channel exists.
Claim 17
Dependent Claim
26 words
The method of claim 13, wherein step (4) comprises the step of specifying idle channels within said range by AND'ing said busy vector and channel vector.
Claim 18
Dependent Claim
18 words
The method of claim 14, wherein said available channel comprises one of said idle channels within said range.
Claim 19
Dependent Claim
30 words
The method of claim 13, wherein step (4) comprises the step of specifying idle and optimized channels within said range by AND'ing said busy vector, mask vector, and channel vector.
Claim 20
Dependent Claim
20 words
The method of claim 16, wherein said available channel comprises one of said idle and optimized channels within said range.
Claim 21
Dependent Claim
45 words
The method of claim 16, wherein step (5) comprises the steps of: scanning said result vector in a first direction if a START CHANNEL operation is being performed; and scanning said result vector in a second direction if a RECONNECT CHANNEL operation is being performed.
Claim 22
Dependent Claim
18 words
The method of claim 12, wherein said selected logical channel group identifies one or more of said channels.
Claim 23
Dependent Claim
64 words
The method of claim 19, wherein step (c) comprises the steps of: (1) selecting one of said identified channels; (2) determining whether said selected channel is busy; (3) using said selected channel to establish said physical path when said selected channel is not busy; (4) repeating steps (1)-(3) until said physical path is established, or until all of said identified channels have been selected.
Claim 24
Dependent Claim
31 words
The method of claim 12, further comprising the step of: (d) repeating steps (a)-(c) until said physical path is established, or until all of said logical channel groups have been selected.
Claim 25
Dependent Claim
143 words
The method of claim 12, wherein step (c) comprises the step of establishing a physical connection within said switch between one of said channels and one of said devices, the step of establishing said physical connection comprising the steps of: (1) translating a destination address identifying a destination to a path group link address, wherein said destination represents one of said channels or devices; (2) associating said path group link address with a path group, wherein said path group identifies one or more of said ports coupled to said destination; (3) selecting one of said associated ports; (4) determining whether said selected port is busy; (5) using said selected port to establish said physical connection when said selected port is not busy; and (6) repeating steps (3)-(5) until said physical connection is established, or until all of said identified ports have been selected.
References Cited (Backward Citations)
US4096570A
Cited
US4060849A
Cited
US4155119A
Cited
US4207609A
Cited
US4437157A
Cited
EP0059838A2
Cited
US4491909A
Cited
US4597074A
Cited
US4591973A
Cited
US4665482A
Cited
US4713806A
Cited
US4878216A
Cited
US4964119A
Cited
US5016247A
Cited
US5107489A
Cited
US5206933A
Cited
US5115427A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-06-30 | 2000-12-30 | 2001-07-01 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-06-30 | 2004-12-30 | 2005-07-01 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-06-30 | 2008-12-30 | 2009-07-01 | $7700.00 | Window Closed / Lapsed |