Patent ID: 7073010

Claim:
A dual-mode Universal-Serial-Bus (USB) switch comprising: a USB upstream interface to a host USB bus for connecting to a host; a plurality of USB downstream interfaces that connect to USB bus segments for connecting to a plurality of memory blocks; a virtual USB bridge for connecting the USB upstream interface to the plurality of USB downstream interfaces; and a transaction manager, coupled to control the virtual USB bridge to act as a USB hub by passing USB packets from the host to the plurality of memory blocks through the virtual USB bridge when operating in a hub mode, but for acting as a single USB endpoint to the host when operating in a single-endpoint mode; wherein the transaction manager passes data between the host and the memory blocks but intercepts and modifies packets from the host to generates secondary USB packets over the USB bus segments to the memory blocks when operating in the single-endpoint mode; wherein the transaction manager re-orders secondary packets to the memory blocks on the USB bus segments relative to a packet order of corresponding packets on the host USB bus to initiate overlapping accesses of two of the memory blocks; wherein the memory blocks and the USB bus segments are hidden from the host by the transaction manager when operating in the single-endpoint mode, but visible as USB endpoints to the host when operating in hub mode, whereby the dual-mode USB switch operates in modes having multiple endpoints or a single endpoint for multiple downstream memory blocks.