PCIe Spec: ARI (Alternate Routing ID)

Comments and questions to the author of the "Down to the TLP" posts (Eli Billauer)

PCIe Spec: ARI (Alternate Routing ID)

Postby Guest » Wed Jun 26, 2013 7:22 am

Hi,
The PCIe spec mentions about ARI(Alternate Routing ID Interpretation) devices and multi function non-ARI devices. What do they mean? You can respond over a mail to my email id, hemanthkrishnan.s@gmail.com.
Thanks in advance,

Regards
Hemanth Krishnan
Guest
 

Re: PCIe Spec.

Postby support » Wed Jun 26, 2013 10:14 am

Hello,

The ARI is a new feature in PCIe 3.0. When enabled, it changes the meaning of the hardware's 16-bit ID on the bus, or more accurately, it changes the meaning of its 8 LSBs. Instead of containing five bits of "device number" and 3 bits of "function", the device number is said to be zero, and the function number takes up all 8 bits.

As a result, there can only be one device on the bus it's allocated on (which isn't so bad, because there can be 256 bus numbers allocated). But this device can expose 256 function entities.

So what is this "function" thing about? The original idea was that sometimes there's a piece of hardware that behaves like a number of independent PCI/PCIe cards. For example, there could be a PCI combo card with a graphics adapter and a sound card, which are complete isolated functionally. So even though they share the same PCI slot (that is, device number on the PCI bus) they should be treated like two separate PCI cards. To achieve this, they are allocated different function numbers, and hence have completely different addresses on the bus.

These days, there's an increasing demand for hardware containing several isolated devices. For example, in some applications involving virtual machines, there's a wish to give each virtual machine a separate network card (NIC) and fool the guest's OS to think it has a real, dedicated NIC attached to a real PCIe bus. This can be achieved by a single hardware NIC that presents itself to the system like, say, 256 network cards (plus some other OS trickery). So you want one piece of hardware with 256 functions. This is where ARI becomes handy.

I hope this clarified things a bit.
Eli
support
 
Posts: 582
Joined: Tue Apr 24, 2012 3:46 pm

Re: PCIe Spec.

Postby ArdenPen » Sun Oct 15, 2017 9:07 am

support wrote:These days, there's an increasing demand for hardware containing several isolated devices. For example, in some applications involving virtual machines, there's a wish to give each virtual machine a separate network card (NIC) and fool the guest's OS to think it has a real, dedicated NIC attached to a real PCIe bus. This can be achieved by a single hardware NIC that presents itself to the system like, say, 256 network cards (plus some other OS trickery). So you want one piece of hardware with 256 functions. This is where ARI becomes handy.

I hope this clarified things a bit.
Eli


Very handy, thanks.
ArdenPen
 
Posts: 1
Joined: Tue Oct 10, 2017 8:27 am


Return to General PCIe

cron