Multiprocessing system employing address switches to control mixed broadcast snooping and directory based coherency protocols transparent to active devices
First Claim
1. A multiprocessing system comprising:
- a plurality of processing subsystems, each including a cache memory;
a memory subsystem including a directory;
a network interconnecting said plurality of processing subsystems and said memory subsystem;
wherein the network includes a mode unit separate from the processing subsystems and the memory subsystem, the mode unit being configured to store an indication of whether a given block is a point-to-point mode block or a broadcast mode block, wherein the network is configured to;
receive a given coherency request initiated by a requesting processing subsystem, wherein the given coherency request is not visible to other processing subsystems or the memory subsystem; and
control, in accordance with said indication, whether the given coherency request is transmitted through said networkaccording to a directory protocol or a broadcast protocol; and
wherein an encoding of said given coherency request excludes an indication of whether said given coherence request is to be transmitted according to said directory protocol or said broadcast protocol; and
wherein when said coherency request is transmitted through said network according to said directory protocol, said given coherency request is transmitted through said network to only said memory subsystem.
2 Assignments
0 Petitions
Accused Products
Abstract
A multiprocessor computer system is configured to selectively transmit address transactions through an address network using either a broadcast mode or a point-to-point mode transparent to the active devices that initiate the transactions. Depending on the mode of transmission selected, either a directory-based coherency protocol or a broadcast snooping coherency protocol is implemented to maintain coherency within the system. A computing node is formed by a group of clients which share a common address and data network. The address network is configured to determine whether a particular transaction is to be conveyed in broadcast mode or point-to-point mode. In one embodiment, the address network includes a mode table with entries which are configurable to indicate transmission modes corresponding to different regions of the address space within the node. Upon receiving a coherence request transaction, the address network may then access the table in order to determine the transmission mode, broadcast or point-to-point, which corresponds to the received transaction.
-
Citations
18 Claims
-
1. A multiprocessing system comprising:
-
a plurality of processing subsystems, each including a cache memory; a memory subsystem including a directory; a network interconnecting said plurality of processing subsystems and said memory subsystem; wherein the network includes a mode unit separate from the processing subsystems and the memory subsystem, the mode unit being configured to store an indication of whether a given block is a point-to-point mode block or a broadcast mode block, wherein the network is configured to; receive a given coherency request initiated by a requesting processing subsystem, wherein the given coherency request is not visible to other processing subsystems or the memory subsystem; and control, in accordance with said indication, whether the given coherency request is transmitted through said network according to a directory protocol or a broadcast protocol; and wherein an encoding of said given coherency request excludes an indication of whether said given coherence request is to be transmitted according to said directory protocol or said broadcast protocol; and wherein when said coherency request is transmitted through said network according to said directory protocol, said given coherency request is transmitted through said network to only said memory subsystem. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A multiprocessing system comprising:
-
a memory subsystem including a directory, the directory including a plurality of directory entries corresponding to memory locations mapped to said memory subsystem; a plurality of processing subsystems each including a cache for storing blocks corresponding to selected ones of said memory locations; a network interconnecting said plurality of processing subsystems and said memory subsystem; a mode unit separate from the processing subsystems and the memory subsystem, wherein the mode unit is configured to provide an indication of whether a given block is a point-to-point mode block or a broadcast mode block; wherein the network is configured to route a coherency request for said given block initiated by one of said processing subsystems only to said memory subsystem including said directory in response to said indication indicating said given block is a point-to-point mode block, and wherein said network is configured to broadcast said coherency request to said memory subsystem and to each of said plurality of processing subsystems in response to said indication indicating said given block is a broadcast mode block, whereby a conveyance of said coherency request through said network according to either a directory protocol or a broadcast protocol is performed transparent to said one of said processing subsystems.
-
-
12. A method of operating a multiprocessing system including a plurality of processing subsystems and a memory subsystem interconnected through a network, the method comprising:
-
a first processing subsystem initiating a coherency request; and a mode unit separate from the processing subsystems and the memory subsystem receiving said coherency request and indicating whether said coherency request is to be transmitted through said network according to a directory protocol or a broadcast protocol, the mode unit being configured to store an indication of whether a given block is a point-to-point mode block or a broadcast mode block, wherein the coherency request is not visible to other processing subsystems or the memory subsystem; said network conveying said coherency request using either said directory protocol or said broadcast protocol according to said indication and transparent to said first processing subsystem, wherein when said coherency request is transmitted through said network according to said directory protocol, said given coherency request is transmitted through said network to only said memory subsystem; and accessing a directory entry in response to said coherency request when said coherency request is transmitted through said network according to said directory protocol. - View Dependent Claims (13)
-
-
14. A multiprocessing system comprising:
-
a plurality of processing subsystems; a memory subsystem; a network interconnecting said plurality of processing subsystems and said memory subsystem, wherein said network is configured to receive a coherency request initiated by a requesting processing subsystem, wherein the coherency request is not visible to other processing subsystems or the memory subsystem; and a mode unit separate from the processing subsystems and the memory subsystem, the mode unit being configured to store an indication of whether a given block is a point-to-point mode block or a broadcast mode block and configured to; control, in accordance with said indication, whether the coherency request is transmitted through said network according to a directory protocol or a broadcast protocol, whereby a conveyance of said coherency request through said network according to either said directory protocol or said broadcast protocol is performed transparent to said plurality of processing subsystems; and wherein when said coherency request is transmitted through said network according to said directory protocol, said coherency request is transmitted through said network to only said memory subsystem. - View Dependent Claims (15, 16, 17, 18)
-
Specification