IL148263A

Bridge between parallel buses over a packet-switched network

Abstract

This record has no abstract on file.

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

71 claims: 19 independent, 52 dependent

  1. 1
    PCT/IL00/0O538 (A WO 01/18988 CLAIMS 1. A method for bridging between first and second parallel buses having a common set of bus transactions and ordering rules governing execution of the transactions, the method comprising:receiving at a target address on the first bus a bus command, associated with one of the transactions in the set, which command is issued by an originating device on the first bus for execution by a destination device on the second bus;sending a data packet embodying the received bus command from the target address on the first bus over a packet-switched network to a master address on the second bus;and responsive to receiving the data packet at the master address, delivering the bus command over the second bus to the destination device in accordance with the ordering rules.
  2. 10
    A method according to any of the preceding claims, wherein receiving the bus command comprises receiving a read command for execution by the destination device, and wherein sending the data packet comprises sending a network read request packet.
  3. 15
    A method according to any of claims 1-9, wherein receiving the bus command comprises receiving a write command for execution by the destination device, and wherein sending the data packet comprises sending a network write request packet. 24 WO 01/18988 PCT/IL00/00538
  4. 17
    A method according to any of claims 1-9, wherein receiving the bus command comprises receiving a request to execute a delayed transaction on the second bus, followed before completion of the delayed transaction by a request to execute a posted transaction on the second bus, and wherein delivering the bus command comprises servicing the posted transaction before completing the delayed transaction.
  5. 20
    A method according to any of claims 1-9, wherein receiving the bus command comprises receiving a request to execute a posted transaction on the second bus, followed by a request to execute a further transaction on the second bus before completion of the posted transaction, and wherein delivering the bus command comprises ensuring that the posted transaction is completed before servicing the further transaction.
  6. 21
    A method for bridging between an originating parallel bus and first and second destination parallel buses, all of the buses having a common set of bus transactions and ordering rules governing execution of the transactions, the method comprising:assigning first and second ranges of addresses in an address space on the originating bus to a bridge device for communication with the first and second destination buses respectively;receiving bus commands at first and second target addresses in the first and second ranges, respectively, which bus commands are associated with one or more of the transactions in 25 WO 01/18988 PCT/IL00/00538 the set and are issued by at least one originating device on the originating bus for execution by first and second destination devices on the first and second destination buses, respectively;sending first and second data packets embodying the received bus commands from the bridge device over respective serial links to first and second master addresses on the first and 5 second destination buses, respectively;and responsive to receiving the data packets at the master addresses, delivering the bus commands over the first and second destination buses to the respective destination devices in accordance with the ordering rules.
  7. 28
    30. A method according to any of claims 24-29, wherein receiving the PCI bus command comprises receiving multiple types of PCI write commands selected from a group of commands consisting of Configuration Write, Input/Out (I/O) Write, Memory Write, and Memory Write and Invalidate commands, and wherein sending the data packet comprises mapping the multiple 15 types to a single type of write request packets for transmission over the serial link.
  8. 29
    31. A method according to any of claims 24-29, wherein receiving the PCI bus command comprises receiving multiple, different types of PCI bus commands selected from a group of commands consisting of Configuration commands, Input/Output (I/O) commands and Memory commands, and wherein sending the data packet comprises mapping each of the different types 20 of commands to different, respective channels on the link, such that data packets embodying the different types of commands are transmitted over the respective channels.
  9. 32
    35. A method according to any of claims 24-29, and comprising receiving a response over 5 the second PCI bus at the master address from the destination device responsive to the bus command, and sending a response packet embodying the response over the link to the target address on the first PCI bus.
  10. 33
    36. A method according to any of claims 24-29, wherein receiving the PCI bus command comprises receiving a delayed transaction request, followed by a Posted Memory Write (PMW) 10 before completion of the delayed transaction, and wherein delivering the bus command comprises servicing the PMW before completing the delayed transaction.
  11. 44
    49. A device according to any of claims 38-48, wherein the bus command comprises a read command for execution by the destination device, responsive to which read command the TCA is adapted to generate a network read request packet to be transmitted over the network.
  12. 51
    58. A device according to any of claims 38-48, wherein the TCA is adapted to receive a request to execute a delayed transaction on the second bus, followed before completion of the 15 delayed transaction by a request to execute a posted transaction on the second bus, and to service the posted transaction before completing the delayed transaction.
  13. 53
    61. A device according to any of claims 38-48, wherein the bus command comprises receiving a request to execute a posted transaction on the second bus, followed by a request to 25 execute a further transaction on the second bus before completion of the posted transaction, and wherein the TCA is configured to service the further transaction only after ensuring that the posted transaction is completed.
  14. 54
    62. A device for bridging between an originating parallel bus and first and second destination parallel buses, all of the buses having a common set of bus transactions and ordering rules 30 governing execution of the transactions, the device comprising:31 WO 01/18988 PCT/IL00/00538 10 a target channel adapter (TCA), to which first and second ranges of addresses in an address space on the originating bus are assigned for communication with the first and second destination buses respectively, and which is adapted to receive bus commands at first and second target addresses in the first and second ranges, respectively, which bus commands are associated with one or more of the transactions in the set and are issued by at least one originating device on the originating bus for execution by first and second destination devices on the first and second destination buses, respectively, and to generate first and second data packets embodying the received bus commands;and a network adapter, configured to transmit the first and second data packets over respective serial links to first and second master addresses on the first and second destination buses, respectively, such that responsive to receiving the data packets at the master addresses, the bus commands are delivered over the first and second destination buses to the respective destination devices in accordance with the ordering rules.
  15. 57
    65. A device for bridging between first and second Peripheral Component Interface (PCI) 20 buses, comprising:a target channel adapter (TCA), adapted to receive at a target address on the first PCI bus a PCI bus command issued by an originating device on the first PCI bus, the command instructing a destination device on the second PCI bus to carry out a PCI bus transaction, and to generate a data packet embodying the received bus command;and 25 a network adapter, configured to transmit the data packet over a serial link to a master address on the second PCI bus, such that responsive to receiving the data packet at the master address, the bus command is delivered over the second PCI bus to the destination device in accordance with PCI ordering rules.
  16. 63
    71. A device according to any of claims 65-70, wherein the PCI bus command comprises a 15 PCI write commands selected from a group of commands consisting of Configuration Write, Input/Out (I/O) Write, Memory Write, and Memory Write and Invalidate commands, and wherein the TCA is adapted to map the. multiple types to a single type of write request packets for transmission over the serial link.
  17. 64
    72. A device according to any of claims 65-70, wherein the PCI bus command is selected 20 from a group of commands consisting of Configuration commands, Input/Output (I/O) commands and Memory commands, and wherein the TCA is adapted to map each of the different types of commands to different, respective channels on the link, such that data packets embodying the different types of commands are transmitted over the respective channels.
  18. 68
    76. A device according to any of claims 65-70, wherein the PCI bus command comprises an outgoing command, the data packet comprises an outgoing data packet, and wherein the TCA 5 comprises:a target unit, which is adapted to receive the outgoing PCI bus command on the first PCI bus and to generate the outgoing data packet;and a master unit, which is adapted to receive an incoming data packet sent from the second bus and responsive to the incoming data packet, to deliver an incoming PCI bus command on the 10 first bus.
  19. 70
    78. A device according to any of claims 65-70, wherein the TCA is adapted to receive a 15 delayed transaction request, followed by a Posted Memory Write (PMW) before completion of the delayed transaction, and wherein the device is adapted to service the PMW before completing the delayed transaction.
Independent claims19