PCIe Spec: ARI (Alternate Routing ID)

Post a reply

Confirmation code
Enter the code exactly as it appears. All letters are case insensitive.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:
BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON
Topic review
   

Expand view Topic review: PCIe Spec: ARI (Alternate Routing ID)

Re: PCIe Spec.

Post by ArdenPen »

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.

Re: PCIe Spec.

Post by support »

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

PCIe Spec: ARI (Alternate Routing ID)

Post by Guest »

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

Top

cron