USB endpoint controller flexible memory management
AssigneeNEC Electronics America, Inc.
InventorPeter Chu Tin Teng
Life of this patent
Estimating the term…
Abstract
Disclosed is an apparatus and method for flexible controlling endpoint memory within an USB device. In one embodiment, the method includes a USB device receiving a first token packet from a USB host, wherein the first token packet includes a first endpoint number. The first endpoint number is stored into a first tag in memory corresponding to a first data buffer in the USB device. The USB device then receives a data packet from the USB host, wherein the data packet comprises endpoint data. The; endpoint data of the data packet is stored into the first data buffer.
Claims14
A method comprising:
- a USB device receiving a first token packet from a USB host, wherein the first token packet comprises a first endpoint number, wherein the first endpoint number designates a first endpoint of the USB device;
- storing the first endpoint number into a first tag in response to receiving the first token packet, wherein the first tag corresponds to a first data buffer;
- the USB device receiving a first data packet from the USB host, wherein the first data packet comprises first endpoint data;
- storing first endpoint data of the first data packet into the first data buffer
- storing the first endpoint number into a second tag corresponding to a second data buffer;
- storing second endpoint data of the first data packet data into the second data buffer.
A USB device comprising:
- a plurality of data buffers for storing data;
- a plurality of tags;
- an instruction memory storing instructions executable within the USB device, wherein a method is implemented when the instructions are executed, the method comprising:
- storing a first endpoint number into a first tag of the plurality of tags in response to the USB device receiving a first token packet comprising the first endpoint number, wherein the first endpoint number designates a first endpoint of the USB device;
- storing first endpoint data into a first data buffer of the plurality of data buffers;
- wherein the first tag corresponds to the first data buffer;
- storing the first endpoint number into a second tag of the plurality of tags;
- storing first endpoint data into a second data buffer of the plurality of data buffers;
- wherein the second tag corresponds to the second data buffer.
A USB device comprising:
- a plurality of data buffers for storing data;
- a plurality of tags;
- an instruction memory storing instructions executable within the USB device, wherein a method is implemented when the instructions are executed, the method comprising:
- storing a first endpoint number into a first tag of the plurality of tags in response to the USB device receiving a first token packet comprising the first endpoint number, wherein the first endpoint number designates a first endpoint of the USB device;
- storing first endpoint data into a first data buffer of the plurality of data buffers;
- wherein the first tag corresponds to the first data buffer;
- storing a second endpoint number into the first tag such that the first endpoint number is overwritten with the second endpoint number;
- storing second endpoint data into the first data buffer such that the first endpoint data is overwritten with the second endpoint data.
A USB device comprising:
- a plurality of data buffers for storing data;
- a plurality of tags stored in one or more memory devices, wherein the plurality of tags correspond to the plurality of data buffers, respectively;
- a tag controller circuit for modifying each of the plurality tags;
- an endpoint controller circuit configured to receive a first token packet from a USB host, wherein the first token packet comprises a first endpoint number, wherein the first endpoint number designates a first endpoint of the USB device;
- wherein the tag controller circuit is configured to store the first endpoint number into a field of a first tag of the plurality of tags in response to the endpoint controller receiving the first token packet;
- wherein the endpoint controller circuit is configured to receive a second token packet from the USB host, wherein the second token packet comprises a second endpoint number;
- wherein the tag controller circuit is configured to overwrite the first endpoint number in the field of the first tag with the second endpoint number in response to the endpoint controller circuit receiving the second token packet.
A memory medium storing instructions executable a USB device comprising a processor, a plurality of data buffers, and a plurality of tags, wherein the USB device performs a method in response to executing the instructions, the method comprising:
- storing a first endpoint number in a first tag in response to the USB device receiving a first token packet comprising the first endpoint number, wherein the first endpoint number designates a first endpoint of the USB device;
- storing first endpoint data into a first data buffer in response to the USB device receiving a first data packet comprising the first endpoint data,
- wherein the first data buffer corresponds to the first tag;
- storing the first endpoint number into a second tag after the first endpoint number is stored in the first tag;
- storing first endpoint data of the first data packet into the second data buffer;
- wherein the second tag corresponds to the second data buffer.
Dependencies are inferred from the claim text.