Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller
First Claim
1. A broadcast bridge apparatus, comprising:
- a first port, for receiving data transmitted on a first local bus;
a second port, coupled to said first port, for receiving said data from said first port and providing said data for retransmission on a second local bus to a first memory subsystem; and
a third port, coupled to said first port, for receiving a copy of said data from said first port and selectively providing said copy of said data for retransmission on a third local bus to a second memory subsystem.
3 Assignments
0 Petitions
Accused Products
Abstract
A bus bridge apparatus for performing broadcasted writes to redundant memory subsystems in a network storage controller is disclosed. The bus bridge includes a PCI-X target that receives a write command on a first PCI-X bus on one side of the bridge. The target is coupled to two PCI-X masters coupled to primary and secondary memory subsystems by respective PCI-X buses on the other side of the bridge. A first FIFO buffers the write command data between the target and the first master, and a second FIFO buffers a copy of the data between the target and the second master. The first and second masters concurrently retransmit the write command on their respective PCI-X buses to the primary and secondary memory subsystems. However, the second master only retransmits if broadcasting is enabled and the write command address is in a broadcast address range known by the bus bridge.
75 Citations
37 Claims
-
1. A broadcast bridge apparatus, comprising:
-
a first port, for receiving data transmitted on a first local bus;
a second port, coupled to said first port, for receiving said data from said first port and providing said data for retransmission on a second local bus to a first memory subsystem; and
a third port, coupled to said first port, for receiving a copy of said data from said first port and selectively providing said copy of said data for retransmission on a third local bus to a second memory subsystem. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A bus bridge apparatus for broadcasting data from a first local bus on one side of the bridge to a plurality of redundant storage controllers coupled to second and third local buses on an opposite side of the bridge to relieve the redundant controllers from copying the data to one another, the apparatus comprising:
-
a first FIFO memory, coupled to receive data from the first local bus, said data associated with a first write transaction on the first local bus;
first master logic, coupled to said first FIFO memory, for causing a second write transaction on the second local bus to transfer said data from said first FIFO memory to a first of the plurality of redundant storage controllers;
a second FIFO memory, coupled to receive said data from the first local bus; and
second master logic, coupled to said second FIFO memory, for causing a third write transaction on the third local bus to transfer said data from said second FIFO memory to a second of the plurality of redundant storage controllers. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A PCI-X bus bridge, for bridging a first PCI-X bus to second and third PCI-X buses, comprising:
-
first, second, and third PCI-X interfaces, coupled to the first, second, and third PCI-X buses, respectively, said first PCI-X interface configured to receive a plurality of write transactions from the first PCI-X bus; and
a plurality of broadcast bridge circuits, coupling said first PCI-X interface to said second and third PCI-X interfaces, each for causing both of said second and third PCI-X interfaces to retransmit a respective one of said plurality of write transactions on the second and third PCI-X buses, respectively. - View Dependent Claims (23, 24, 25)
-
-
26. A PCI-X bus bridge, comprising:
-
a PCI-X target circuit, for receiving a PCI-X write command from a first PCI-X bus coupled to one side of the bus bridge, said PCI-X write command specifying an address of data to be written;
a control input to said PCI-X target circuit, for indicating whether said address is within an address range of an address space of said first PCI-X bus;
a write FIFO, coupled to said PCI-X target circuit, for receiving said data from said first PCI-X bus for retransmission on a second PCI-X bus coupled to a side of the bus bridge opposite said first PCI-X bus; and
a broadcast FIFO, coupled to said PCI-X target circuit, for receiving a copy of said data from said first PCI-X bus for retransmission on a third PCI-X bus coupled to said opposite side of the bus bridge, wherein said broadcast FIFO receives said copy of said data only if said address is within said address range. - View Dependent Claims (27, 28)
-
-
29. A method for selectively performing a broadcast data transfer across a bus bridge to a plurality of redundant memory subsystems in a storage controller, comprising:
-
receiving data on a first bus on one side of the bus bridge;
writing said data to a first of the plurality of memory subsystems on a second bus on an opposite side of the bus bridge from said first bus;
determining whether the bus bridge is enabled to perform broadcast data transfers; and
writing a copy of said data to a second of the plurality of memory subsystems on a third bus on said opposite side of the bus bridge only if the bus bridge is enabled to perform broadcast data transfers, wherein the bus bridge writes said copy of said data to said second of the plurality of memory subsystems on said third bus substantially concurrently with said writing said data to said first of the plurality of memory subsystems on said second bus. - View Dependent Claims (30, 31, 32, 33)
-
-
34. A redundant network storage controller, comprising:
-
at least one I/O interface circuit, for receiving data from a host computer and writing said data to one or more storage devices;
a primary memory subsystem, for buffering said data before being written to said storage devices;
a secondary memory subsystem, for storing a redundant copy of said data; and
a plurality of bus bridges, for bridging a bus coupled to said at least one I/o interface circuit with a plurality of buses coupled to said primary and secondary memory subsystems, configured to write said data received on said bus concurrently to said primary and secondary memory subsystems on first and second of said plurality of buses, respectively. - View Dependent Claims (35, 36, 37)
-
Specification