# US 2013/0159569 A1 · Methods and devices for synchronizing to a remotely generated time base

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159569 A1
- Document ID: US20130159569A1
- Status: Published application
- Kind: A1
- Application number: 13/327,640
- Filed: 2011-12-15
- Published: 2013-06-20
- Earliest claimed: 2011-12-15
- Assignees: Icron Technologies Corporation
- Inventors: Keith Kejser
- Web page: https://patentgrep.com/patent/US20130159569A1

## CPC

- G06F 13/4295: {using an embedded synchronisation}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Devices and methods for generating timing signals at a rate that matches a rate of remotely generated timing signals are provided. In some embodiments, a host generates timing signals in accordance with a USB specification, such as keep-alives, start-of-frame packets, or ITPs. An upstream facing port transmits the timing signals over a network to a downstream facing port. The downstream facing port generates and transmits timing signals to a USB device at a predetermined rate, and alters the predetermined rate based on an analysis of the rate at which timing signals are received from the upstream facing port.

## Claims

### Claim 1

A computing device configurable to provide a downstream facing port (DFP) for allowing a USB device to communicate with a host via an upstream facing port (UFP), wherein the DFP is configured to:
receive a first remote timing signal from the UFP;
transmit local timing signals to the USB device at a predetermined rate; and
adjust the rate of transmission of local timing signals to the USB device based on further timing signals received from the UFP.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein the predetermined rate is based on a connection speed negotiated between the host, the UFP, the DFP, and the USB device.

### Claim 3 (depends on 1)

The computing device of claim 1, wherein transmitting local timing signals at a predetermined rate includes:
setting a timing signal count to a predetermined value;
setting a countdown timer based on the timing signal count; and
transmitting one or more local timing signals based on a value of the countdown timer.

### Claim 4 (depends on 3)

The computing device of claim 3, wherein transmitting local timing signals at a predetermined rate further includes:
detecting that the countdown timer has elapsed; and
resetting the countdown timer based on the timing signal count.

### Claim 5 (depends on 4)

The computing device of claim 4, wherein adjusting the rate of transmission of local timing signals includes:
determining an average duration between reception of remote timing signals from the UFP; and
modifying the timing signal count based on the determined average duration.

### Claim 6 (depends on 5)

The computing device of claim 5, wherein modifying the timing signal count based on the determined average duration comprises:
incrementing the timing signal count by a predetermined amount upon determining that the average duration is longer than a duration represented by the timing signal count; and
decrementing the timing signal count by a predetermined amount upon determining that the average duration is shorter than a duration represented by the timing signal count.

### Claim 7 (depends on 1)

The computing device of claim 1, wherein the DFP is further configured to establish a communication link with the UFP using a communication protocol other than a USB protocol.

### Claim 8 (depends on 1)

The computing device of claim 1, wherein the computing device is configured to communicate with the USB device using one or more of a USB 1.0-compatible protocol; a USB 1.1-compatible protocol; a USB 2.0-compatible protocol, a USB 3.0-compatible protocol; or a protocol that is backward-compatible with USB 1.0, USB 1.1, USB 2.0, or USB 3.0.

### Claim 9 (depends on 1)

The computing device of claim 1, wherein the local timing signals include keep-alive signals.

### Claim 10 (depends on 1)

The computing device of claim 1, wherein the local timing signals include start-of-frame packets.

### Claim 11 (depends on 10)

The computing device of claim 10, wherein the local timing signals include microframe start-of-frame packets.

### Claim 12 (depends on 1)

The computing device of claim 1, wherein the local timing signals include isochronous timestamp packets.

### Claim 13

A method of generating local timing signals, the method comprising:
receiving a first remote timing signal;
generating local timing signals at a predetermined rate; and
adjusting the rate of transmission of local timing signals based on further received remote timing signals.

### Claim 14 (depends on 13)

The method of claim 13, wherein generating local timing signals at a predetermined rate includes basing the predetermined rate on a timing signal count.

### Claim 15 (depends on 14)

The method of claim 14, wherein adjusting the rate of transmission of local timing signals includes:
determining a value based on reception times of the remote timing signals; and
modifying the timing signal count based on the determined value.

### Claim 16 (depends on 15)

The method of claim 15, wherein determining a value based on reception times of the remote timing signals includes determining an average duration between reception of remote timing signals.

### Claim 17 (depends on 16)

The method of claim 16, wherein modifying the timing signal count based on the determined value comprises:
incrementing the timing signal count upon determining that the average duration is longer than a duration represented by the timing signal count; and
decrementing the timing signal count by a predetermined amount upon determining that the average duration is shorter than a duration represented by the timing signal count.

### Claim 18 (depends on 14)

The method of claim 14, wherein basing the predetermined rate on a timing signal count comprises setting a countdown timer to a value of the timing signal count.

### Claim 19 (depends on 18)

The method of claim 18, wherein generating local timing signals at a predetermined rate includes generating local timing signals based on a value of the countdown timer.

### Claim 20 (depends on 13)

The method of claim 13, wherein the local timing signals are one or more of a keep-alive signal, a start-of-frame packet, a microframe start-of-frame packet, and a isochronous timestamp packet.
