← Back to Patent Explorer
US6205501B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Apparatus and method for handling universal serial bus control transfers

Assignee: National Semiconductor Corp
•
Filing: 1998-01-07
•
Granted: 2001-03-20
•
Expires: 2018-01-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for performing a control transfer on a Universal Serial Bus (USB) device. A USB device includes a memory space for reading and writing data transmitted over a USB network. The memory space is shared between a plurality of endpoints. A host initiates a control transfer by transmitting a SETUP token to a first endpoint. The endpoint must accept the SETUP token. If the first endpoint does not expect the SETUP token, or if another endpoint is active, the device stores the token until a buffer is allocated and the first endpoint is made active.

Inventors

  • 👤 David Brief
  • 👤 David J. Fensore
  • 👤 Kent Bruce Waterson
  • 👤 Gregory Lewis Dean

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 10:30
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/38; G06F13/382; G06F13/385; G06F13/42; G06F13/4247; G06F13/426

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 229 words
A method of operating a control endpoint on a Universal Serial Bus comprising the steps of: providing a transceiver operationally coupled with the Universal Serial Bus to send and receive data; providing a controller operationally coupled with the transceiver, wherein the controller provides data to the transceiver for transmission over the Universal Serial Bus and accepts data which the transceiver receives over the Universal Serial Bus; providing a memory operationally coupled with the controller, wherein the controller saves data to the memory and copies data from the memory; providing a function element operationally coupled with the memory and with the controller, wherein the function provides commands to the controller saves data to the memory and copies data from the memory; receiving a SETUP token from a host coupled with the Universal Serial Bus, wherein the SETUP token indicates that the host will perform a control transfer; receiving a first DATA0 packet from the host on the Universal Serial Bus wherein the first DATA0 packet indicates that the control transfer will include a data stage having at least one data transaction; and allocating a portion of the memory for the at least one data transaction wherein the function element performs the allocation and provides a first memory address to the controller, and further wherein the first memory address points to a first memory location within the portion of the memory.
Claim 2
Independent Claim 229 words
A method of operating a control endpoint on a Universal Serial Bus comprising the steps of: providing a transceiver operationally coupled with the Universal Serial Bus to send and receive data; providing a controller operationally coupled with the transceiver, wherein the controller provides data to the transceiver for transmission over the Universal Serial Bus and accepts data which the transceiver receives over the Universal Serial Bus; providing a memory operationally coupled with the controller, wherein the controller saves data to the memory and copies data from the memory; providing a function element operationally coupled with the memory and with the controller, wherein the function provides commands to the controller saves data to the memory and copies data from the memory; receiving a SETUP token from a host coupled with the Universal Serial Bus, wherein the SETUP token indicates that the host will perform a control transfer; receiving a first DATA0 packet from the host on the Universal Serial Bus wherein the first DATA0 packet indicates that the control transfer will include a data stage having at least one data transaction; and allocating a portion of the memory for the at least one data transaction wherein the function element performs the allocation and provides a first memory address to the controller, and further wherein the first memory address points to a first memory location within the portion of the memory.
Claim 3
Dependent Claim 18 words
The method of claim 1 wherein the first DATA0 packet indicates that the data transactions are IN transactions.
Claim 4
Dependent Claim 33 words
The method of claim 2 wherein the step of allocating a portion of memory further comprises allocating a portion of memory sufficient to hold data for all the transactions in the data stage.
Claim 5
Dependent Claim 17 words
The method of claim 3 wherein the first memory location holds data for a first data transaction.
Claim 6
Dependent Claim 42 words
The method of claim 4 wherein the step of allocating a portion of the memory further comprises providing a second memory address to the controller wherein the second memory address points to a second memory location within the portion of the memory.
Claim 7
Dependent Claim 29 words
The method of claim 5 wherein the controller reads data from the first memory location and provides the data to the transmitter to send over the Universal Serial Bus.
Claim 8
Dependent Claim 66 words
The method of claim 6 wherein the step of allocating a portion of the memory further comprises providing a third memory address to the controller wherein the third memory address points to a third memory location within the portion of the memory and further wherein the third memory address is provided to the controller only after the controller has copied data from the first memory location.
Claim 9
Dependent Claim 17 words
The method of claim 7 wherein the third memory address holds data for a third data packet.
Claim 10
Dependent Claim 25 words
The method of claim 1 further comprising the step of receiving an unexpected SETUP token and storing the unexpected SETUP token in a data pipeline.
Claim 11
Dependent Claim 20 words
The method of claim 9 further comprising the step of the controller notifying the function of the unexpected SETUP token.
Claim 12
Dependent Claim 30 words
The method of claim 10 further comprising the step of the function providing a memory address to the controller wherein the memory address points to a buffer in the memory.
Claim 13
Independent Claim 176 words
A device for connecting to a Universal Serial Bus comprising: a buffer memory for storing data; a controller operationally coupled with the buffer memory and with a Universal Serial Bus wherein the controller comprises: a first and second memory address pointer wherein the first and second memory address pointer hold an address within the memory buffer; endpoint pipe state logic for maintaining the current state of an endpoint pipe wherein the endpoint pipe state logic indicates whether the endpoint pipe contains data for transmitting over the Universal Serial Bus; a function operationally coupled with the controller and with the buffer memory wherein the function stores data in the buffer memory and assigns the corresponding address to the first and second buffer memory pointer wherein when the controller receives an IN token of a control read transfer the controller automatically sends a NAK if the endpoint pipe state logic indicates that the endpoint pipe does not contain data and automatically sends the data if the endpoint pipe state logic indicates that the endpoint pipe does contain data.
Claim 14
Independent Claim 176 words
A device for connecting to a Universal Serial Bus comprising: a buffer memory for storing data; a controller operationally coupled with the buffer memory and with a Universal Serial Bus wherein the controller comprises: a first and second memory address pointer wherein the first and second memory address pointer hold an address within the memory buffer; endpoint pipe state logic for maintaining the current state of an endpoint pipe wherein the endpoint pipe state logic indicates whether the endpoint pipe contains data for transmitting over the Universal Serial Bus; a function operationally coupled with the controller and with the buffer memory wherein the function stores data in the buffer memory and assigns the corresponding address to the first and second buffer memory pointer wherein when the controller receives an IN token of a control read transfer the controller automatically sends a NAK if the endpoint pipe state logic indicates that the endpoint pipe does not contain data and automatically sends the data if the endpoint pipe state logic indicates that the endpoint pipe does contain data.
Claim 15
Dependent Claim 85 words
The device of claim 12 wherein the controller further comprises a data pipeline for temporarily storing data received from the Universal Serial Bus and wherein the endpoint pipe state logic further indicates whether the endpoint pipe is in a ready state for receiving a SETUP transaction and wherein when a SETUP token is received over the Universal Serial Bus and the endpoint pipe state logic indicates that the endpoint pipe is not in a ready state the SETUP token is stored in the data pipeline.
Claim 16
Dependent Claim 25 words
The device of claim 13 wherein the controller further comprises an interrupt bit for indicating that the pipe storage is currently storing a SETUP token.
Claim 17
Dependent Claim 40 words
The device of claim 14 wherein when the interrupt bit indicates that the storage pipe is currently storing a SETUP token the function allocates a buffer in memory and assigns said first memory pointer to an address in the buffer.
Claim 18
Dependent Claim 23 words
The device of claim 15 wherein the function assigns the first memory pointer to point to a buffer for storing the SETUP token.
Claim 19
Dependent Claim 21 words
The device of claim 13 wherein the controller automatically sends a NAK while holding the SETUP token in the data pipeline.
Claim 20
Dependent Claim 27 words
The device of claim 17 wherein the controller automatically transfers the setup packet stored in the pipeline to a memory buffer and continues to process subsequent transactions.

References Cited (Backward Citations)

US5901332A Cited
US5911152A Cited
US5751951A Cited
US5848293A Cited
US5729721A Cited
US5875351A Cited
US5835791A Cited
US5841471A Cited
US5818948A Cited
US5778218A Cited
US5933611A Cited
US5987530A Cited
US5974486A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-03-19 2004-09-18 2005-03-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-03-19 2008-09-18 2009-03-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-03-19 2012-09-18 2013-03-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag