Dual domain data processing network with cross-linking data queues and selective priority arbitration logic
First Claim
1. A data processing network linking two separate first local and second remote data processing systems for enabling the transmission of Read/Write commands and messages between sending/receiving modules within each first local or each second remote data processing system or between modules of said first local and second remote data processing systems, said network comprising:
- (a) a first local data processing system and second remote data processing system, each said system including;
(a1) a common system bus means;
(a2) a Central Processing Module (CPM), an Input/Output module (IOM), a Bus Exchange Module (BEM), and System Control Module (SCM), each of which is connected to said common system bus means;
(a3) said Central Processing Module (CPM) having a cache memory means and an invalidation register queue for holding addresses of bus Write OPs which are to be invalidated in said cache memory means;
(a4) said bus exchange module (BEM) having (i) a message queue for holding multiple numbers of messages being transmitted between said first local system and said second remote system, and (ii) a snoop-Write address queue for storing Write OP addresses snooped from said common system bus means for subsequent passage to said invalidation register queue;
(a5) said system control module (SCM) including an arbiter means for selectively regulating access priority to said common system bus means for bus access requests from said CPM, IOM and BEM, said arbiter means including;
(i) means for granting first priority of a bus access to said BEM when it has a pending request to said common system bus means;
(ii) means for granting second priority of bus access to said IOM if the CPM was the last module served with access to said common system bus means;
(iii) means for granting second priority of bus access to said CPM if the IOM was the last module served with access to said common system bus means;
(iv) means, when said BEM, CPM and IOM are simultaneously contending for access to said common system bus means, to grant bus access priority first to said BEM and then grant second priority of bus access to said CPM and IOM according to which module did not have the last system bus access;
(v) means for delaying the assertion of priority by each of said BEM'"'"'s until the BEM has completely filled its message queue or its write address queue.
9 Assignments
0 Petitions
Accused Products
Abstract
A two domain network linking a first and second data processing system enables efficient data transfers between modules in the first system and modules in the second system through linkage by bus exchange modules having message queues and snoop-write address queues in each domain. Each system also allocates bus access using a selectively adjusting bus access priority arbitration logic unit. The Snoop-Write address queues in each bus exchange module can temporarily hold a sequence of Write OP addresses snooped from one domain for invalidation in another domain without requiring the bus exchange module to dominate its access priority over other requesting modules.
63 Citations
13 Claims
-
1. A data processing network linking two separate first local and second remote data processing systems for enabling the transmission of Read/Write commands and messages between sending/receiving modules within each first local or each second remote data processing system or between modules of said first local and second remote data processing systems, said network comprising:
(a) a first local data processing system and second remote data processing system, each said system including; (a1) a common system bus means; (a2) a Central Processing Module (CPM), an Input/Output module (IOM), a Bus Exchange Module (BEM), and System Control Module (SCM), each of which is connected to said common system bus means; (a3) said Central Processing Module (CPM) having a cache memory means and an invalidation register queue for holding addresses of bus Write OPs which are to be invalidated in said cache memory means; (a4) said bus exchange module (BEM) having (i) a message queue for holding multiple numbers of messages being transmitted between said first local system and said second remote system, and (ii) a snoop-Write address queue for storing Write OP addresses snooped from said common system bus means for subsequent passage to said invalidation register queue; (a5) said system control module (SCM) including an arbiter means for selectively regulating access priority to said common system bus means for bus access requests from said CPM, IOM and BEM, said arbiter means including; (i) means for granting first priority of a bus access to said BEM when it has a pending request to said common system bus means; (ii) means for granting second priority of bus access to said IOM if the CPM was the last module served with access to said common system bus means; (iii) means for granting second priority of bus access to said CPM if the IOM was the last module served with access to said common system bus means; (iv) means, when said BEM, CPM and IOM are simultaneously contending for access to said common system bus means, to grant bus access priority first to said BEM and then grant second priority of bus access to said CPM and IOM according to which module did not have the last system bus access; (v) means for delaying the assertion of priority by each of said BEM'"'"'s until the BEM has completely filled its message queue or its write address queue. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A network linking first and second data processing means for enabling efficient data transfer operations between sending and receiving modules located within the domain of each said first and second data processing means or sending and receiving modules located in different domains of said network, said network comprising:
-
(a) first and second common system bus means; (b) a first and second central processing module (CPM), each holding a cache memory and invalidation queue, a first and second Input/Output Module (IOM), and a first and second Bus Exchange Module (BEM), each said first and second CPM, IOM, BEM modules respectively connected to said first and second common system bus means and each said CPM, IOM, BEM modules acting as a bus access requester to transmit data on said common system bus means; (c) a first and second System Control Module (SCM) each holding a first and second bus access arbitration means for determining bus access priority for said requesters; (d) said first and second Bus Exchange Modules (BEM) connected to both said first and second common system bus means, each said BEM including; (d1) message register queue means for holding multiple numbers of message data transmitted between modules of said first and second data processing systems; (d2) snoop-Write address register queue means for copying and storing a multiple number of Write addresses from said common system bus means, including; (d2a) means to convey said copied Write addresses to the said invalidation queue of the CPM in the opposite data processing system. - View Dependent Claims (9, 10)
-
-
11. In a network linking first and second computer systems each of which have a first and second common bus means connecting requester modules and a system control module, a system for coupling said first and second computer systems for data transfers while preventing deadlock and starvation of any requester, comprising:
-
(a) said first computer system having a first common system bus means connecting a first system control module having a first arbiter state machine means, and a plurality of requester modules, said requester modules including; (i) a first central processing module (CPM) having a invalidation queue within and connected to a first cache memory module; (ii) a first input/output module (IOM) for connecting peripheral devices to said first computer system; (iii) a first bus exchange module (BEM) connecting to said first and second common system bus means, said first bus exchange module including; (a) a first message queue for temporary storage of a multiplicity of messages being transferred from said first computer system to said second computer system; (b) a first Write address register queue for holding a multiplicity of addresses snooped from said second common system bus means for subsequent transfer to said first invalidation queue of said first CPM via said first common system bus means; (b) said second computer system having a second common system bus means connecting a second system control module having a second arbiter state machine means, and a plurality of requester modules, said requester modules including; (i) second central processing module (CPM) having a second invalidation queue and connected to a second cache memory means; (ii) a second input/output module (IOM) connecting external peripheral devices to said second computer system; (iii) a second bus exchange module (BEM) including; (a) a second message queue for holding a multiplicity of messages received from said second common system bus means for transfer to said first common system bus means; (iv) a second Write address register queue for holding a multiplicity of Write addresses snooped from said first common system bus for subsequent transfer to said second invalidation queue of said second CPM via said second common system bus means; (c) said first and second arbiter state machine means each including selective priority access algorithms for determining priority of access to each of said first and second common system bus means by said respective first and second CPM'"'"'s, IOM'"'"'s and BEM'"'"'s, each said selective priority access algorithms including; (c1) means for selectively regulating the priority of access among said BEM'"'"'s, said IOM'"'"'s, and said CPM'"'"'s, in order to prevent any deadlock condition from occurring and to prevent any requesting module from being starved out of access to said common system bus means; (c2) means for limiting the number of retry cycles for any requester module having an incomplete transfer operation to enable bus access for other concurrent requester modules. - View Dependent Claims (12, 13)
-
Specification