Why AXI4 and AXI5 have no support for interleaving transactions?

In AMBA AXI3 we have the support for Interleaving transactions but in Version 4 and 5 we have removed that support, So I wanted to know in depth like:

If it was carrying drawbacks then why we have considered that feature(Interleaving) as an part of the protocol, like I wanted to know the specific use cases.

Also,

What are the drawbacks of interleaving if there is any.

What enhancement came after removing interleaving support?

  • Support for write data interleaving was removed in AXI4 mainly because most designers were not using the feature. To support interleaving you need to add complexity to the interfaces, mainly at the destination component, to store the write data transfers in the correct transaction ID storage.

    Instead designs tended to add buffering to store up write data before passing it out to the interconnect in one compact burst. This still made maximum use of the available bus bandwidth, but wasn't such a complex solution.

    Interleaving is still supported for read data transactions, so interconnects can try to make use of any gaps in the data streams, and as the AXI manager already has the multi-data-stream support when it is using multiple IDs, it isn't added complexity to then support interleaved read data.

    So interleaving was first added to maximise data bus bandwidth, and it was then removed as buffering write data before the AXI manager issued it was a simpler solution.