Drivers manipulate data within the USB system using a simple data buffer structure known as a USB Request Buffer(URB). URBs are used in much the same way as MBufs are used in the RISC OS networking system.
URBs are allocated by the USB system from a central memory pool which can be accessed in all contexts within RISC OS (I.E. RMA or Dynamic area). URBs may also use storage provided by the driver which must also be in memory available from all contexts.