Patent ID: 7149833
Filing Date: 2006-12-12
Classification: G06F

Abstract:
1. An enhanced high-speed method for transmitting a data stream between a high speed host controller and a full speed or low speed peripheral device over an extended distance, on a signal distribution system, wherein said transmission of said data stream is conducted using a USB-Extended Range Protocol (USB-ERP), wherein data flows from said peripheral device to said host controller, and said data stream being transmitted is encapsulated in split transactions, said method comprising: a. receiving, at a local expander, an original requcst to start the transfer of a data packet from said peripheral device to said host controller; b. optionally, generating a negative acknowledgement packet at said local expander and forwarding said negative acknowledgement packet to said host controller; c. forwarding said original request for the start of data transfer from said local expander to a Remote Expander-Field Programmable Gate Array (REX-FPGA) over a transmission system; d. receiving at said REX-FPGA said forwarded original request for the start of data transfer; e. delivering said forwarded original request for the start of data transfer from said REX-FPGA to a USB hub; f. receiving at said REX-FPGA an acknowledgement of the start of data transfer from said USB hub; g. forwarding said acknowledgement of the start of data transfer from said REX-FPGA to said local expander; h. receiving at said local expander said forwarded acknowledgement of the start of data transfer; i. storing in a packet buffer at said local expander, said forwarded acknowledgement of the start of data transfer; j. optionally receiving, at said local expander, a subsequent request to start the transfer of a data packet from said peripheral device to said host controller; and k. receiving, at a local expander, an original request to complete the transfer of a data packet from said peripheral device to said host controller; l. generating a synthetic not-yet packet at said local expander and forwarding said synthetic not-yet packet to said host controller; m. forwarding said original request for the completion of data transfer from said local expander to said REX-FPGA over a transmission system; n. receiving at said REX-FPGA said forwarded original request for the completion of data transfer; o. delivering said forwarded original request for the completion of data transfer from said REX-FPGA to a USB hub; p. receiving at said REX-FPGA a completed data packet from said USB hub: q. forwarding said completed data packet from said REX-FPGA to said local expander; r. receiving at said local expander said forwarded completed data packet; s. storing in a packet buffer at said local expander, said forwarded completed data packet; t. receiving, at said local expander. a subsequent request to complete the transfer of a data packet from said peripheral device to said host controller; and