Self-optimizing crossbar switch
First Claim
Patent Images
1. A crossbar switch, comprising:
- a plurality of input sorting units, each input sorting unit capable of receiving from a respective device an access request to any one of a plurality of physical memory devices;
a plurality of merge and interleave units, each merge and interleave unit capable of arbitrating among competing access requests received from any of the input sorting units, selecting one of the competing access requests and forwarding the selected request for implementation on a respective memory device;
wherein each merge and interleave unit includes;
a priority generator for each input sorting unit capable of generating a composite request priority from a plurality of characteristics of the access requests and a plurality of operational characteristics;
a priority compare circuit capable of selecting one access request;
a request multiplexer controlled by the priority compare circuit to output the selected access request;
a plurality of programmable registers;
a decode unit receiving the selected request from the request multiplexer to determine whether the selected request is a register operation and, if so, to send a plurality of control and data signals to the registers; and
an output multiplexer for combining register read data with request data for output.
2 Assignments
0 Petitions
Accused Products
Abstract
A crossbar switch is disclosed. The crossbar switch comprises a plurality of input sorting units and a plurality of merge and interleave units. Each input sorting unit is capable of receiving from a respective device an access request to any one of a plurality of physical memory devices. Each merge and interleave unit is capable of arbitrating among competing access requests received from any of the input sorting units, selecting one of the competing access requests and forwarding the selected request for implementation on a respective memory device. Also disclosed is method implemented by the crossbar switch.
33 Citations
33 Claims
-
1. A crossbar switch, comprising:
-
a plurality of input sorting units, each input sorting unit capable of receiving from a respective device an access request to any one of a plurality of physical memory devices;
a plurality of merge and interleave units, each merge and interleave unit capable of arbitrating among competing access requests received from any of the input sorting units, selecting one of the competing access requests and forwarding the selected request for implementation on a respective memory device;
wherein each merge and interleave unit includes;
a priority generator for each input sorting unit capable of generating a composite request priority from a plurality of characteristics of the access requests and a plurality of operational characteristics;
a priority compare circuit capable of selecting one access request;
a request multiplexer controlled by the priority compare circuit to output the selected access request;
a plurality of programmable registers;
a decode unit receiving the selected request from the request multiplexer to determine whether the selected request is a register operation and, if so, to send a plurality of control and data signals to the registers; and
an output multiplexer for combining register read data with request data for output. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A crossbar switch, comprising a plurality of arbitration and select units, each arbitration and select unit including:
-
a plurality of front ends, each front end comprising;
a translation circuit capable of processing an access request received from a respective device;
an input sorting unit capable of buffering and forwarding the processed access request;
an output management unit capable of receiving read data generated by the access request and forwarding the received read data to the respective device; and
a plurality of back ends, each back end comprising;
a merge and interleave unit capable of arbitrating among competing access requests received from any of the input sorting units, selecting one of the competing access requests, and forwarding the selected request for implementation on a respective memory device;
wherein each merge and interleave unit includes;
a priority generator for each input sorting unit capable of generating a composite request priority from a plurality of characteristics of the access requests and a plurality of received operational characteristics;
a priority compare circuit capable of selecting one access request;
a request multiplexer controlled by the priority compare circuit to output the selected access request;
a plurality of programmable registers;
a decode unit receiving the selected request from the request multiplexer to determine whether the selected request is a register operation and, if so, to send a plurality of control and data signals to the registers; and
an output multiplexer for combining register read data with request data for output; and
a read buffer capable of receiving, buffering, and forwarding read data received from the respective memory device to the output management unit of the front end that issued a previously selected access request that generated the read data. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A crossbar switch, comprising a plurality of arbitration and select units, each arbitration and select unit including:
-
a plurality of front ends, each front end further including an input sorting unit capable of receiving from a respective device an access request to any one of a plurality of physical memory devices;
a plurality of back ends, each back end further including merge and interleave unit capable of arbitrating among competing access requests received from any of the input sorting units, selecting one of the competing access requests and forwarding the selected request for implementation on a respective memory device;
wherein each merge and interleave unit includes;
a priority generator for each input sorting unit capable of generating a composite request priority from a plurality of characteristics of the access requests and a plurality of received operational characteristics;
a priority compare circuit capable of selecting one access request;
a request multiplexer controlled by the priority compare circuit to output the selected access request;
a plurality of programmable registers;
a decode unit receiving the selected request from the request multiplexer to determine whether the selected request is a register operation and, if so, to send a plurality of control and data signals to the registers; and
an output multiplexer for combining register read data with request data for output. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A crossbar switch, comprising a plurality of arbitration and select units, each arbitration and select unit including:
-
a plurality of front ends, each front end comprising;
means for processing an access request received from a respective device;
means for buffering and forwarding the processed access request;
means for receiving read data generated by the access request and forwarding the received read data to the respective device; and
a plurality of back ends, each back end comprising;
means for arbitrating among competing access requests received from the means for processing an access request, selecting one of the competing access requests, and forwarding the selected request for implementation on a respective memory device; and
means for receiving, buffering, and forwarding read data received from the respective memory device to the output management unit of the front end that issued a previously selected access request that generated the read data;
means for generating a composite request priority from a plurality of characteristics for the access requests and a plurality of operational characteristics;
means for selecting one access request; and
means for outputting the selected access request via a multiplexing means, the multiplexing means being controlled by the means for selecting the one access request;
means for storing programmable weights;
a decode unit receiving the selected request from the multiplexing means to determine whether the selected request is a register operation and, if so, to send a plurality of control and data signals to the storage means; and
means for combining register read data with request data for output. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33)
-
Specification