USB extension for lossy channel
AssigneeValens Semiconductor Ltd.
InventorsAviv Salamon, Eyran Lida
Life of this patent
Estimating the term…
Abstract
Methods and systems for operating a USB extension over a lossy channel. The USB extension includes at least a state machine and packet loss inference mechanism. The state machine includes a first state in which the USB extension receives a USB data packet from a standard USB host, a second state, unsupported by the USB Specification, in which the packet loss inference mechanism may indicate the state machine to switch back to its first state, and a third state in which the USB extension switches the state machine back to its first state.
Claims27
A Universal Serial Bus (USB) extension designed for a lossy channel, comprising:
- a state machine comprising first, second and third states for the USB extension;
- a packet loss inference mechanism configured to identify loss of at least one of a USB IN token, and a reply to the USB IN token;
- wherein the lossy channel is characterized by a packet loss ratio higher than zero, and the packet loss inference mechanism is capable of indicating the state machine to switch to the first state;
- when the state machine is in its first state, the USB extension is configured to receive a USB IN token from a standard USB host coupled to the USB extension, return Negative-Acknowledgment (NAK) to the standard USB host, transmit the USB IN token over the lossy channel to another USB extension, and switch the state machine to its second state;
- the state machine is configured to stay in its second state until at least one of the following occurs:
- (a) the packet loss inference mechanism identifies loss of the USB IN token or the reply, and as a result indicates the state machine to switch back to its first state, or (b) the USB extension receives, from the another USB extension, data packet without error, in reply to the USB IN token, and as a result switches the state machine to its third state;
- while the state machine is in its second state, the USB extension is further configured to return NAK to additional USB IN tokens received from the standard USB host, and not transmit the additional USB IN tokens over the lossy channel to the another USB extension;
- and
- while the state machine is in its third state, the USB extension is configured to receive a new USB IN token from the standard USB host, return the data packet to the standard USB host as reply to the new USB IN token, and switch the state machine back to its first state.
A method for operating a Universal Serial Bus (USB) extension over a lossy channel, comprising:
- utilizing a state machine comprising first, second and third states for the USB extension;
- when the state machine is in its first state, receiving a USB IN token from a standard USB host coupled to the USB extension, returning Negative-Acknowledgment (NAK) to the standard USB host, transmitting the USB IN token over the lossy channel to another USB extension, and switching the state machine to its second state;
- retaining the state machine in its second state until at least one of the following occurs:
- (a) identifying loss of the USB IN token or loss of reply to the USB IN token, and as a result switching the state machine back to its first state, or (b) receiving, from the another USB extension, data packet without error, in reply to the USB IN token, and as a result switching the state machine to its third state;
- while the state machine is in its second state, the USB extension returning NAK to additional USB IN tokens received from the standard USB host, and not transmitting the additional USB IN tokens over the lossy channel to the another USB extension;
- and
- while the state machine is in its third state, the USB extension receives a new USB IN token from the standard USB host, returning the data packet to the standard USB host as reply to the new USB IN token, and switching the state machine back to its first state.
A Universal Serial Bus (USB) extension designed for a lossy channel, comprising:
- a state machine comprising first, second and third states for the USB extension;
- a packet loss inference mechanism configured to identify loss of at least one of a USB data packet, and a reply to the USB data packet;
- wherein the lossy channel is characterized by a packet loss ratio higher than zero, and the packet loss inference mechanism is capable of indicating the state machine to switch to its first state;
- when the state machine is in its first state, the USB extension is configured to receive a USB data packet from a standard USB host coupled to the USB extension, return Negative-Acknowledgment (NAK) to the standard USB host, transmit the USB data packet over the lossy channel to another USB extension, and switch the state machine to its second state;
- the state machine is configured to stay in its second state until at least one of the following occurs:
- (a) the packet loss inference mechanism identifies loss of the USB data packet or the reply, and as a result indicates the state machine to switch back to its first state, or (b) the USB extension receives, from the another USB extension, a USB handshake packet in reply to the USB data packet, and as a result switches the state machine to its third state;
- while the state machine is in its second state, the USB extension is further configured to return NAK to USB data packets received from the standard USB host, and not transmit the USB data packets over the lossy channel to the another USB extension;
- and
- while the state machine is in its third state, the USB extension is configured to receive a new USB data packet from the standard USB host, return the USB handshake packet to the standard USB host as reply to the new USB data packet, and switch the state machine back to its first state.
A method for operating a Universal Serial Bus (USB) extension over a lossy channel, comprising:
- utilizing a state machine comprising first, second and third states for the USB extension;
- when the state machine is in its first state, receiving a USB data packet from a standard USB host coupled to the USB extension, returning Negative-Acknowledgment (NAK) to the standard USB host, transmitting the USB data packet over the lossy channel to another USB extension, and switching the state machine to its second state;
- retaining the state machine in its second state until at least one of the following occurs:
- (a) identifying loss of the USB data packet or loss of reply to the USB data packet, and as a result switching the state machine back to its first state, or (b) receiving, from the another USB extension, a USB handshake packet in reply to the USB data packet, and as a result switching the state machine to its third state;
- while the state machine is in its second state, the USB extension is returning NAK to USB data packets received from the standard USB host, and not transmitting the USB data packets over the lossy channel to the another USB extension;
- and
- while the state machine is in its third state, the USB extension receives a new USB data packet from the standard USB host, returning the USB handshake packet to the standard USB host as reply to the new USB data packet, and switching the state machine back to its first state.
Dependencies are inferred from the claim text.