The first thing that must be considered here is that since you are able to boot from USB, it means your PC's BIOS supports booting from a USB device. This in turn means that the BIOS has embedded firmware that includes a USB protocol stack, and can control a target device like a USB HDD over the Universal Serial Bus. After the USB handshake protocol is established between the USB host (the PC that needs to boot) and the USB gadget (USB HDD), the control and data mechanism provided by USB can be abstracted away, and upper layers of the BIOS boot code can treat the USB HDD just like an internal HDD. That is, the first sector of the "disk drive" has to be read in order to obtain its Master Boot Record (MBR).
However some problems like yours start because of some changes made to the way USB initializes.Previously , each usb had a sleeping time of 100ms as a part of the initialization.However, the new usbs' use the delayed work mechanism to schedule the next initialization step 100ms in the future. For kernels which have the USB change built-in, this allows the boot thread to do other work, rather than block waiting for these delays. However, kernels which do not have this functionality took a longer time to boot due to the change of future delay.