IP Library Granted Patent US 8,848,731
Granted Patent B2
US 8,848,731 · App. 13/186,391 · Granted Sep 30, 2014

System and method for facilitating data transfer using a shared non-deterministic bus

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,848,731
App. No.
13/186,391
Granted
Sep 30, 2014
Kind
B2
Abstract

System and method for facilitating data transfer between logic systems and a memory according to various conditions. Embodiments include systems and methods for facilitating and improving throughput of data transfers using a shared non-deterministic bus, a system and method for managing a memory as a circular buffer, and a system and method for facilitating data transfer between a first clock domain and a second clock domain. Embodiments may be implemented individually or in combination.

Claims (63)

1. A system for facilitating data transfers with a shared non-local memory, comprising:

a radio frequency (RF) subsystem including an antenna for receiving data;

one or more signal processors to process the data; and

a first data transfer controller for facilitating transfer of the data between the system and the shared non-local memory over a non-deterministic bus shared by at least a second data transfer controller, the first data transfer controller to:

receive a real-time data transfer request from the RF subsystem to transfer real-time data to the shared non-local memory;

assign a first priority level to the real-time data transfer request;

receive a playback data transfer request from the one or more signal processors to transfer playback data between the one or more signal processors and the shared non-local memory;

assign a second priority level to the playback data transfer request; and

initiate a real-time data transfer corresponding to the real-time data transfer request based on the first priority level being higher than the second priority level.

2. The system of claim 1 ,

wherein the one or more signal processors include a PreSummer and a Fast Fourier Transform component.

3. The system of claim 2 ,

wherein the real-time data transfer request corresponds to a request to write Global Positioning System (GPS) data or global navigational satellite system (GLONASS) data to the shared non-local memory in order to be processed by the PreSummer and the Fast Fourier Transform component in real-time.

4. The system of claim 1 , wherein the first data transfer controller is further to:

wait, initially, in a fully idle state in which data transfer requests are not accepted;

transition to a ready idle state in which data transfer requests are accepted, wherein the real-time and playback data transfer requests are received when the first data transfer controller is in the ready idle state;

determine that a fatal error has occurred after initiating the real-time data transfer, the fatal error corresponding to either (i) a request for real-time data that has been overwritten in a local buffer of the RF subsystem and not yet transferred to the shared non-local memory, or (ii) a request that the first data transfer controller cease use of the non-deterministic bus; and

in response to determining that the fatal error has occurred, complete the real-time data transfer and transition to the fully idle state until the fatal error is lifted.

5. The system of claim 1 , wherein the first data transfer controller is further to:

wait, initially, in a fully idle state in which data transfer requests are not accepted;

transition to a ready idle state in which data transfer requests are accepted, wherein the real-time and playback data transfer requests are received when the first data controller is in the ready idle state;

determine that a critical error has occurred after initiating the real-time data transfer, the critical error corresponding to either (i) an invalid data transfer request, or (ii) a data transfer request for overwritten data in the shared non-local memory; and

in response to determining that the critical error has occurred, terminate the real-time data transfer and transition to the ready idle state until the critical error is lifted.

6. The system of claim 1 , wherein the system is a global navigational satellite (GNS) system, and wherein the real-time data transfer is for GNS data.

7. The system of claim 6 , wherein the one or more signal processors are to process both global positioning system (GPS) and global navigation satellite system (GLONASS) data.

8. The system of claim 1 ,

wherein the first data transfer controller comprises a finite state machine implemented in hardware.

9. The system of claim 1 ,

wherein the system and the shared non-local memory operate in different clock domains.

10. A method for facilitating data transfers between a system, including a first data transfer controller, and a shared non-local memory over a non-deterministic bus shared by at least a second data transfer controller, the method being performed by the first data transfer controller and comprising:

receiving a real-time data transfer request from a radio frequency (RF) subsystem, included in the system, to transfer real-time data to the shared non-local memory;

assigning a first priority level to the real-time data transfer request;

receiving a playback data transfer request from a signal processor, included in the system, to transfer playback data between the signal processor and the shared non-local memory;

assigning a second priority level to the playback data transfer request; and

initiating a real-time data transfer corresponding to the real-time data transfer request based on the first priority level being higher than the second priority level.

11. The method of claim 10 ,

wherein the signal processor includes a PreSummer and a Fast Fourier Transform component.

12. The method of claim 11 ,

wherein the real-time data transfer request corresponds to a request to write Global Positioning System (GPS) data or global navigational satellite system (GLONASS) data to the shared non-local memory in order to be processed by the PreSummer and the Fast Fourier Transform component in real-time.

13. The method of claim 10 , further comprising:

waiting, initially, in a fully idle state in which data transfer requests are not accepted;

transitioning to a ready idle state in which data transfer requests are accepted, wherein the real-time and playback data transfer requests are received when the first data transfer controller is in the ready idle state;

determining that a fatal error has occurred after initiating the real-time data transfer, the fatal error corresponding to either (i) a request for real-time data that has been overwritten in a local buffer of the RF subsystem and not yet transferred to the shared non-local memory, or (ii) a request that the first data transfer controller cease use of the non-deterministic bus; and

in response to determining that the fatal error has occurred, completing the real-time data transfer and transitioning to the fully idle state until the fatal error is lifted.

14. The method of claim 10 , further comprising:

waiting, initially, in a fully idle state in which transfer requests are not accepted;

transitioning to a ready idle state in which data transfer requests are accepted, wherein the real-time and playback data transfer requests are received when the first data transfer controller is in the ready idle state;

determining that a critical error has occurred after initiating the real-time data transfer, the critical error corresponding to either (i) an invalid data transfer request, or (ii) a data transfer request for overwritten data in the shared non-local memory; and

in response to determining that the critical error has occurred, terminating the real-time data transfer and transitioning to the ready idle state until the critical error is lifted.

15. The method of claim 10 ,

wherein the system is a global navigational satellite (GNS) system, and wherein the real-time data transfer is for GNS data.

16. The method of claim 15 , wherein the signal processor is to process both global positioning system (GPS) and global navigation satellite system (GLONASS) data.

17. The method of claim 10 ,

wherein the system and the shared non-local memory operate in different clock domains.

18. A global navigational satellite (GNS) system, comprising:

a radio frequency (RF) subsystem including an antenna for receiving data;

one or more digital signal processors to process the data; and

a first data transfer controller for facilitating transfer of the data between the GNS system and a shared non-local memory accessible via a non-deterministic bus shared by at least a second data transfer controller, the first data transfer controller to:

receive a real-time data transfer request from the RF subsystem to transfer real-time data to the shared non-local memory;

assign a first priority level to the real-time data transfer request;

receive a playback data transfer request from the one or more digital signal processors to transfer playback data between the one or more digital signal processors and the shared non-local memory;

assign a second priority level to the playback data transfer request; and

initiate a real-time data transfer corresponding to the real-time data transfer request based on the first priority level being higher than the second priority level.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2012
From: QUALCOMM ATHEROS, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 029291/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2011
From: DAS, SRINJOY; CRARY, PHILIP; RAYKHMAN, ALEXANDER
To: QUALCOMM ATHEROS, INC.
Reel/Frame 026616/0581 →