EP1661003A2

Dynamic memory allocation and sharing in electronic systems

Abstract

This record has no abstract on file.

Term

Term ended

Projected expiry passed 10 August 2024, 2.1 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

1 claim: 1 independent, 0 dependent

  1. 1
    Claims of equivalent WO 2005022300 A2 CLAIMS What we claim is:1. An electronic system, comprising: a central processing unit (CPU);a signal processing system coupled to the CPU, the signal processing system comprising, a plurality of subsystems, including an input sample subsystem and at least one other subsystem;a memory device configurable into a plurality of configurations, dependent upon an operational mode of the signal processing system, wherein the memory device is configurable into regions, wherein each region stores a type of data, and each region is accessed in one of a plurality of manners, and each region is accessed by particular subsystems, and wherein at least one of the regions stores data words from the CPU that determine the configuration of the memory device, including sizes of different regions, and manners of access to be used for accessing particular regions. 2. The electronic system of claim 1, wherein the signal processing system is configurable to process satellite signals in a satellite-based positioning system. 3. The electronic system of claim 2, wherein the input sample subsystem receives satellite data and produces input data samples, and wherein the at least one other subsystem comprises a signal processing subsystem that produces coherent data, and a fast fourier transform (FFT) subsystem that processes the coherent data and produces noncoherent data. 4. The electronic system of claim 3, wherein the regions include an input sample memory that stores the input data samples, a coherent memory that stores the coherent data, and a noncoherent summation (NCS) memory that stores the noncoherent data. 5. The electronic system of claim 4, wherein the plurality of configurations include a cold start configuration, wherein the regions of memory include an input sample memory, and an NCS memory, and wherein: the input sample memory is of significantly greater size than the NCS memory;and the input sample memory is filled with input data samples in a one-shot manner such that the signal processing subsystem processes data in the filled input sample memory at least once before the data is overwritten. 6. The electronic system of claim 5, wherein in the cold start configuration, the signal processing system produces coherent data and transmits the coherent data to the FFT subsystem, and wherein the FFT subsystem produces noncoherent data and stores the noncoherent data in the NCS memory. 7. The electronic system of claim 6, wherein in the cold start configuration, the NCS memory is configured to include a scratch region and a peak region, wherein: the scratch region includes an area for storage of noncoherent data for a satellite currently being processed in the cold start mode, and noncoherent data for other satellites not being processed in the cold start mode;and the peak region includes areas for storage of data peak values for individual satellites. 8. The electronic system of claim 4, wherein the plurality of configurations include a coarse acquisition configuration, wherein the regions of memory include an input sample memory, a coherent memory, and an NCS memory, and wherein: the NCS memory is of significantly greater size than either of the input sample memory and the coherent memory;and the input sample memory is filled with input data samples in a cyclic manner such that the signal processing subsystem reads out data to be processed from one area of the input sample memory while the input sample subsystem writes data into the input sample memory. 9. The electronic system of claim 8, wherein in the coarse acquisition configuration, the signal processing subsystem produces coherent data and stores the coherent data in the coherent memory while the FFT subsystem reads coherent data out of the coherent memory. 10. The electronic system of claim 9, wherein the coarse acquisition configuration, the FFT subsystem produces noncoherent data and stores the noncoherent data in the NCS memory. 11. The electronic system of claim 10, wherein in the coarse acquisition configuration, the NCS memory is configured to include an NCS region and a peak region, wherein: the NCS region includes areas for storage of noncoherent data for individual satellites;and the peak region includes areas for storage of data peak values for individual satellites. 12. The electronic system of claim 4, wherein the plurality of configurations include a hot start configuration, wherein the regions of memory include an input sample memory, a coherent memory, and an NCS memory, and wherein: the NCS memory is of significantly greater size than either of the input sample memory and the coherent memory;the input sample memory is filled with input data samples in a cyclic manner such that the signal processing subsystem reads out data to be processed from one area of the input sample memory while the input sample subsystem writes data into the input sample memory;and the signal processing subsystem produces coherent data and stores the coherent data in the coherent memory, wherein the coherent memory is configured to include a scratch area and a plurality of coherent areas, each for storage of coherent data from a satellite. 13. The electronic system of claim 12, wherein in the hot start configuration, the signal processing subsystem writes coherent data into the coherent memory while the FFT subsystem reads coherent data out of the coherent memory. 14. The electronic system of claim 13, wherein the hot start configuration, the FFT subsystem produces noncoherent data and stores the noncoherent data in the NCS memory. 15. The electronic system of claim 14, wherein in the hot start configuration, the NCS memory is configured to include an NCS region and a peak region, wherein: the NCS region includes areas for storage of noncoherent data for individual satellites;and the peak region includes areas for storage of data peak values for individual satellites. 16. The electronic system of claim 4, wherein the plurality of configurations include a tracking configuration, wherein the regions of memory include an input sample memory, a coherent memory, and an NCS memory, and wherein: the NCS memory is of significantly greater size than either of the input sample memory and the coherent memory;the input sample memory is filled with input data samples in a cyclic manner such that the signal processing subsystem reads out data to be processed from one area of the input sample memory while the input sample subsystem writes data into the input sample memory;the signal processing subsystem produces coherent data and stores the coherent data in the coherent memory, wherein the coherent memory is configured to include a scratch area and a plurality of coherent areas, each for storage of coherent data from a satellite;and the FFT subsystem reads coherent data out of the coherent memory, and produces noncoherent data and stores the noncoherent data in the NCS memory, wherein the NCS memory is configured to include an NCS region and a peak region, and a track region, and wherein, the NCS region includes areas for storage of noncoherent data for individual satellites;the peak region includes areas for storage of data peak values for individual satellites;and The track history region includes areas for storage of track history data, including coherent data, for individual satellites. 17. A method for multi-channel signal processing, comprising: continuously receiving a plurality of discrete signals;processing the plurality of discrete signals in a signal processing component on a time-multiplexed basis, including, configuring the signal processing component for one of a plurality of operational modes, including allocating a memory into areas for storage of types of data, wherein certain areas are accessed by certain signal processing subsystems in certain manners, wherein configuring includes configuring the signal processing component to operate in different modes concurrently for different discrete signals;and continuously reconfiguring the signal processing component based on evaluation of output of the signal processing component, wherein reconfiguring includes configuring the signal processing component to operate in different modes concurrently for different discrete signals. 18. The method of claim 17, wherein the discrete signals comprise global positioning system (GPS) satellite signals, and wherein the operational modes include: modes in which a wide, low-resolution search for GPS satellites is performed modes in which a narrow, high resolution search for GPS satellites is perfonned;and modes in which previously acquired GPS satellites are tracked, wherein configuring the signal processing system comprises configuring the memory to be used concurrently to process the plurality of discrete signals in different operational modes. 19. The method of claim 18, wherein configuring the signal processing system further comprises storing data words in a discrete signals region of the memory, wherein the data words include: information for configuring the signal processing system for a discrete signal;and status information for a discrete signal being processed, including pointers to locations in the allocated areas for storage of different types of data. 20. The method of claim 19, wherein configuring the signal processing system further comprises receiving the data words from software, wherein the software evaluates an output of the signal processing system and continuously updates the data words according to the evaluation. 21. The method of claim 20, wherein the allocated areas for storage include: an input sample area for storing input data samples from GPS satellites;a coherent data areas for storing coherent data produced by a subsystem;and a noncoherent data (NCS) areas for storing noncoherent data produced by another subsystem, wherein the NCS area if further for storing report data and history data that is evaluated by the software. 22. The method of claim 21, wherein configuring the signal processing system further comprises designating different modes of storing data in the allocated areas of the memory, wherein the different modes of storage include a circular buffer mode and a one-shot mode. 23. The method of claim 17, wherein processing the plurality of discrete signals in a signal processing component on a time-multiplexed basis further comprises: determining an underflow condition and an underflow condition when more than one subsystem accesses an allocated area of memory;in response to determination of an underflow condition, stalling a subsystem that is waiting to read data from the allocated area of memory, and sending an error indication to the software;and in response to determination of an overflow condition, processing invalid data until valid data is available, and sending an error indication to the software. 24. The method of claim 21, wherein allocating the memory in the modes in which a wide, low-resolution search for GPS satellites is performed includes allocating a significant majority of the memory to the input sample area for storing input data samples from GPS satellites in a one-shot mode. 25. The method of claim 21 , wherein allocating the memory in the modes in which a narrow, high resolution search for GPS satellites is performed includes allocating a significant majority of the memory to the NCS area. 26. The method of claim 21 , wherein allocating the memory in the modes in which previously acquired GPS satellites are tracked includes allocating a significant majority of the memory to the NCS area. 27. The method of claim 25, wherein the NCS area is further allocated to include an NCS region and a peak region, wherein: the NCS region includes areas for storage of noncoherent data for individual GPS satellites;and the peak region includes areas for storage of data peak values for individual GPS satellites. 28. The method of claim 26, wherein the NCS area is further allocated to include an NCS region and a peak region, and a track region, and wherein, the NCS region includes areas for storage of noncoherent data for individual satellites;the peak region includes areas for storage of data peak values for individual satellites;and The track history region includes areas for storage of track history data, including coherent data, for individual satellites. 29. An electronic system, comprising: a processing means;a signal processing system coupled to the processing means, the signal processing system comprising, a plurality of signal processing means, including an input sample means and at . least one other signal processing means;a memory device configurable into a plurality of configurations, dependent upon an operational mode of the signal processing system, wherein the memory device is configurable into regions, wherein each region stores a type of data, and each region is accessed in one of a plurality of manners, and each region is accessed by particular signal processing means, and wherein at least one of the regions stores data words from the processing means that determine the configuration of the memory device, including sizes of different regions, and manners of access to be used for accessing particular regions. 30. The electronic system of claim 29, wherein the signal processing system is configurable to process satellite signals in a satellite-based positioning system. 31. The electronic system of claim 30, wherein the input sample means receives satellite data and produces input data samples, and wherein the at least one other signal processing means comprises a first signal processing means that produces coherent data, and a second signal processing means that processes the coherent data and produces noncoherent data. 32. The electronic system of claim 31, wherein the regions include an input sample memory that stores the input data samples, a coherent memory that stores the coherent data, and a noncoherent summation (NCS) memory that stores the noncoherent data. 33. The electronic system of claim 32, wherein the plurality of configurations include a cold start configuration, wherein the regions of memory include an input sample memory, and an NCS memory, and wherein: the input sample memory is of significantly greater size than the NCS memory;and the input sample memory is filled with input data samples in a one-shot manner such that the signal processing subsystem processes data in the filled input sample memory at least once before the data is overwritten. 34. The electronic system of claim 33, wherein in the cold start configuration, the first signal processing means produces coherent data and transmits the coherent data to the second signal processing means, and wherein the second signal processing means produces noncoherent data and stores the noncoherent data in the NCS memory. 35. The electronic system of claim 34 wherein in the cold start configuration, the NCS memory is configured to include a scratch region and a peak region, wherein: the scratch region includes an area for storage of noncoherent data for a satellite currently being processed in the cold start mode, and noncoherent data for other satellites not being processed in the cold start mode;and the peak region includes areas for storage of data peak values for individual satellites. 36. The electronic system of claim 35, wherein the plurality of configurations include a coarse acquisition configuration, wherein the regions of memory include an input sample memory, a coherent memory, and an NCS memory, and wherein: the NCS memory is of significantly greater size than either of the input sample memory and the coherent memory;and the input sample memory is filled with input data samples in a cyclic manner such that the signal processing subsystem reads out data to be processed from one area of the input sample memory while the input sample subsystem writes data into the input sample memory. 37. The electronic system of claim 36, wherein in the coarse acquisition configuration, the first signal processing means produces coherent data and stores the coherent data in the coherent memory while the second signal processing means reads coherent data out of the coherent memory. 38. The electronic system of claim 37, wherein the coarse acquisition configuration, the second signal processing means produces noncoherent data and stores the noncoherent data in the NCS memory. 39. The electronic system of claim 38, wherein in the coarse acquisition configuration, the NCS memory is configured to include an NCS region and a peak region, wherein: the NCS region includes areas for storage of noncoherent data for individual satellites;and the peak region includes areas for storage of data peak values for individual satellites. 40. The electronic system of claim 32, wherein the plurality of configurations include a hot start configuration, wherein the regions of memory include an input sample memory, a coherent memory, and an NCS memory, and wherein: the NCS memory is of significantly greater size than either of the input sample memory and the coherent memory;the input sample memory is filled with input data samples in a cyclic manner such that the first signal processing means reads out data to be processed from one area of the input sample memory while the input sample subsystem writes data into the input sample memory;and the first signal processing means produces coherent data and stores the coherent data in the coherent memory, wherein the coherent memory is configured to include a scratch area and a plurality of coherent areas, each for storage of coherent data from a satellite. 41. The electronic system of claim 40, wherein in the hot start configuration, the first signal processing means writes coherent data into the coherent memory while the second signal processing means reads coherent data out of the coherent memory. 42. The electronic system of claim 41, wherein the hot start configuration, the second signal processing means produces noncoherent data and stores the noncoherent data in the NCS memory. 43. The electronic system of claim 42, wherein in the hot start configuration, the NCS memory is configured to include an NCS region and a peak region, wherein: the NCS region includes areas for storage of noncoherent data for individual satellites;and the peak region includes areas for storage of data peak values for individual satellites. 44. The electronic system of claim 32, wherein the plurality of configurations include a tracking configuration, wherein the regions of memory include an input sample memory, a coherent memory, and an NCS memory, and wherein: the NCS memory is of significantly greater size than either of the input sample memory and the coherent memory;the input sample memory is filled with input data samples in a cyclic manner such that the first signal processing means reads out data to be processed from one area of the input sample memory while the input sample means writes data into the input sample memory;the first signal processing means produces coherent data and stores the coherent data in the coherent memory, wherein the coherent memory is configured to include a scratch area and a plurality of coherent areas, each for storage of coherent data from a satellite;and the second signal processing means reads coherent data out of the coherent memory, and produces noncoherent data and stores the noncoherent data in the NCS memory, wherein the NCS memory is configured to include an NCS region and a peak region, and a track region, and wherein, the NCS region includes areas for storage of noncoherent data for individual satellites;the peak region includes areas for storage of data peak values for individual satellites;and The track history region includes areas for storage of track history data, including coherent data, for individual satellites. 45. A machine readable medium having instructions stored thereon, which when executed, cause a signal processing method to be performed, the method comprising: continuously receiving multiple channels, wherein each channel comprises a discrete signal;processing the multiple channels in a signal processing component on a time- multiplexed basis, including, configuring the signal processing component for one of a plurality of operational modes, including allocating a memory into areas for storage of types of data, wherein certain areas are accessed by certain signal processing subsystems in certain manners, wherein configuring includes configuring the signal processing component to operate in different modes concurrently for different channels;and continuously reconfiguring the signal processing component based on evaluation of output of the signal processing component, wherein reconfiguring includes configuring the signal processing component to operate in different modes concurrently for different channels. 46. The machine readable medium of claim 45, wherein the discrete signals comprise global positioning system (GPS) satellite signals, and wherein the operational modes include: modes in which a wide, low-resolution search for GPS satellites is performed modes in which a narrow, high resolution search for GPS satellites is performed;and modes in which previously acquired GPS satellites are tracked, wherein I configuring the signal processing system comprises configuring the memory to be used concurrently to process multiple channels in different operational modes. 47. The machine readable medium of claim 46, wherein configuring the signal processing system further comprises storing data words in a channel region of the memory, wherein the data words include: information for configuring the signal processing system for a channel;and status information for a channel being processed, including pointers to locations in the allocated areas for storage of different types of data. 48. The machine readable medium of claim 47, wherein configuring the signal processing system further comprises receiving the data words from software, wherein the software evaluates an output of the signal processing system and continuously updates the data words according to the evaluation. 49. The machine readable medium of claim 48, wherein the allocated areas for storage include: an input sample area for storing input data samples from GPS satellites;a coherent data areas for storing coherent data produced by a subsystem;and a noncoherent data (NCS) areas for storing noncoherent data produced by another subsystem, wherein the NCS area if further for storing report data and history data that is evaluated by the software. 50. The machine readable medium of claim 49, wherein configuring the signal processing system further comprises designating different modes of storing data in the allocated areas of the memory, wherein the different modes of storage include a circular buffer mode and a one-shot mode. 51. The machine readable medium of claim 45, wherein processing the multiple channels in a signal processing component on a time-multiplexed basis further comprises: determining an underflow condition and an underflow condition when more than one subsystem accesses an allocated area of memory;in response to determination of an underflow condition, stalling a subsystem that is waiting to read data from the allocated area of memory, and sending an error indication to the software;and in response to determination of an overflow condition, processing invalid data until valid data is available, and sending an error indication to the software. 52. The machine readable medium of claim 49, wherein allocating the memory in the modes in which a wide, low-resolution search for GPS satellites is performed includes allocating a significant majority of the memory to the input sample area for storing input data samples from GPS satellites in a one-shot mode. 53. The machine readable medium of claim 49, wherein allocating the memory in the modes in which a narrow, high resolution search for GPS satellites is performed includes allocating a significant majority of the memory to the NCS area. 54. The machine readable medium of claim 49, wherein allocating the memory in the modes in which previously acquired GPS satellites are tracked includes allocating a significant majority of the memory to the NCS area. 55. The machine readable medium of claim 53, wherein the NCS area is further allocated to include an NCS region and a peak region, wherein: the NCS region includes areas for storage of noncoherent data for individual GPS satellites;and the peak region includes areas for storage of data peak values for individual GPS satellites. 56. The machine readable medium of claim 54, wherein the NCS area is further allocated to include an NCS region and a peak region, and a track region, and wherein, the NCS region includes areas for storage of noncoherent data for individual satellites;the peak region includes areas for storage of data peak values for individual satellites;and The track history region includes areas for storage of track history data, including coherent data, for individual satellites.