IP Library Granted Patent US 8,902,748
Granted Patent B2
US 8,902,748 · App. 14/089,229 · Granted Dec 2, 2014

Multiplexing and demultiplexing data

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,902,748
App. No.
14/089,229
Granted
Dec 2, 2014
Kind
B2
Abstract

Apparatus arranged to perform data multiplexing or demultiplexing or a non-transitory computer readable medium comprising a computer program which, when executed by a computer, carries out a method of multiplexing or demultiplexing data, the apparatus comprising a memory, an interface, and a processing unit arranged to determine locations of corresponding regions of the memory for corresponding channels based on data sizes and time-unit-numbers that have passed since a previous corresponding quantity of channel data for a corresponding channel was last stored in the memory or processed, wherein the data sizes and time-unit numbers correspond to one or more channels of the plurality of channels, such that the processing unit will not store the corresponding quantity of the channel data, for each corresponding channel of the plurality of channels, at a location in the memory that is currently storing any channel data that has not yet been output or processed.

Claims (29)

1. Apparatus arranged to perform data demultiplexing, the apparatus comprising:

an interface arranged to receive, during each of a series of time-units, multiplexed data, wherein the multiplexed data comprises, for each corresponding channel of a plurality of channels, a corresponding quantity of channel data of a corresponding data size;

a memory; and

a processing unit coupled to the interface and to the memory, the processing unit arranged to store, during each of the series of time-units, for each corresponding channel of the plurality of channels, the corresponding quantity of the channel data received during a corresponding time-unit of the time-units in a contiguous region of the memory associated with the corresponding channel, wherein each of the plurality of channels has a corresponding time-unit-number of time-unit-numbers such that, for each corresponding channel of the plurality of channels, the corresponding quantity of the channel data stored in the corresponding region of the memory for the corresponding channel is to be processed after a number of the time-units equal to the time-unit-number for the corresponding channel has passed since a previous corresponding quantity of the channel data for the corresponding channel was last processed, the processing unit further arranged to determine locations of the regions of the memory based on the data sizes and the time-unit-numbers corresponding to one or more channels from the plurality of channels such that the processing unit will not store the corresponding quantity of the channel data at a location in the memory that is currently storing any channel data that has not yet been processed.

2. The apparatus according to claim 1 , in which the processor is further arranged, for determining the locations of the regions of the memory, to determine a first location of a first region of the memory for a first channel prior to determining a second location of a second region of the memory for a second channel if a first time-unit-number corresponding to the first channel is greater than a second time-unit-number corresponding to the second channel.

3. The apparatus according claim 1 , in which the processor is further arranged to determine the locations of the regions of the memory so that there are substantially no gaps between the regions of the memory within the memory.

4. The apparatus according to claim 1 , in which the processor is further arranged to determine the locations of the regions of the memory so that at least two of the regions of the memory overlap.

5. The apparatus according to claim 1 , in which the processor is further arranged to repeat the determining of the locations of the regions of the memory to update one or more of the locations of one or more of the regions of the memory.

6. The apparatus according to claim 5 , in which the processor is further arranged to determine whether the one or more of the locations of the one or more of the regions of the memory should be updated during a current time-unit of the time-units.

7. The apparatus according to claim 6 , wherein one of the one or more of the locations of one of the one or more regions of the memory corresponding to a selected channel is to be updated during a scheduled time-unit in which selected channel data stored in the memory for the selected channel is processed, the processor being further arranged to update the one of the one or more locations of the one of the one or more regions of the memory after the selected channel data is processed.

8. The apparatus according to claim 6 , wherein one of the one or more of locations of one of the one or more regions of the memory corresponding to a selected channel is to be updated during a scheduled time-unit in which selected channel data is stored in the memory for the selected channel, the processor being further arranged to update the one of the one or more locations of the one of the one or more regions of the memory before the selected channel data is stored in the memory.

9. The apparatus according to claim 1 , in which, for each corresponding channel of the plurality of channels, a corresponding time-unit-number for the corresponding channel is a positive integer multiple of each corresponding time-unit-number for each other channel of the plurality of channels.

10. Apparatus arranged to perform data multiplexing, the apparatus comprising:

a memory;

an interface; and

a processing unit coupled to the memory and to the interface, the processing unit arranged to form, during each of a series of time-units, multiplexed data by outputting via the interface, for each corresponding channel of a plurality of channels, a corresponding quantity of channel data of a corresponding data size of data sizes that is being stored in the memory, wherein each of the plurality of channels has a corresponding time-unit-number of time-unit-numbers, the processing unit further arranged to store, for each corresponding channel of the plurality of channels, the corresponding quantity of the channel data in a corresponding region of regions of the memory for the corresponding channel after a number of the time-units equal to the corresponding time-unit-number for the corresponding channel has passed since a previous corresponding quantity of the channel data for the corresponding channel was last stored in the memory, the processing unit further arranged to determine locations of the regions of the memory based on the data sizes and the time-unit-numbers corresponding to one or more channels of the plurality of channels such that the processing unit will not store the corresponding quantity of the channel data at a location in the memory that is currently storing any channel data that has not yet been output.

11. The apparatus according to claim 10 , in which the processor is further arranged, for determining the locations of the regions of the memory, to determine a first location of a first region of the memory for a first channel prior to determining a second location of a second region of the memory for a second channel if a first time-unit-number corresponding to the first channel is greater than a second time-unit-number corresponding to the second channel.

12. The apparatus according claim 11 , in which the processor is further arranged to determine the locations of the regions of the memory so that there are substantially no gaps between the regions of the memory within the memory.

13. The apparatus according claim 10 , in which the processor is further arranged to determine the locations of the regions of the memory so that there are substantially no gaps between the regions of the memory within the memory.

14. The apparatus according to claim 10 , in which the processor is further arranged to determine the locations of the regions of the memory so that at least two of the regions of the memory overlap.

15. The apparatus according to claim 10 , in which the processor is further arranged to repeat the determining the locations of the regions of the memory to update one or more of the locations of one or more of the regions of the memory.

16. The apparatus according to claim 15 , in which the processor is further arranged to determine whether the one or more locations of one or more of the regions of the memory should be updated during a current time-unit of the time-units.

17. The apparatus according to claim 16 , wherein one of the one or more of the locations of the one of the one or more regions of the memory corresponding to a selected channel is to be updated during a scheduled time-unit in which selected channel data stored in the memory for the selected channel is processed, the processor being further arranged to update the one of the one or more locations of the one of the one or more regions of the memory after the selected channel data is processed.

18. The apparatus according to claim 16 , wherein one of the one or more locations of one of the one or more regions of the memory corresponding to a selected channel is to be updated during a scheduled time-unit in which selected channel data is stored in the memory for the selected channel, the processor being further arranged to update the one of the one or more locations of the one of the one or more regions of the memory before the selected channel data is stored in the memory.

19. The apparatus according to claim 10 , in which, for each corresponding channel of the plurality of channels, a corresponding time-unit-number for the corresponding channel is a positive integer multiple of each corresponding time-unit-number for each other channel of the plurality of channels.

20. A non-transitory computer readable medium comprising a computer program which, when executed by a computer, carries out a method of multiplexing data, the method comprising:

during each of a series of time-units, forming multiplexed data by outputting, for each corresponding channel of a plurality of channels, a corresponding quantity of channel data of a corresponding data size of data sizes that is being stored in a memory;

wherein each corresponding channel of the plurality of channels has a corresponding time-unit-number of time-unit-numbers, for each corresponding channel of the plurality of channels, storing the corresponding quantity of the channel data in a corresponding region of regions of the memory for the corresponding channel after a number of the time units equal to the corresponding time-unit-number for the corresponding channel has passed since a previous corresponding quantity of the channel data for the corresponding channel was last stored in the memory;

determining locations of the regions of the memory based on the data sizes and the time-unit-numbers corresponding to one or more channels of the plurality of channels such that the step of storing will not store the corresponding quantity of the channel data at a location in the memory that is currently storing any channel data that has not yet been output.

Assignments (30)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE LISTED CHANGE OF NAME SHOULD BE MERGER AND CHANGE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0180. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 12, 2017
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 041354/0148 →
CHANGE OF NAME Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040652/0180 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FILING AND REMOVE APPL. NO. 14085520 REPLACE IT WITH 14086520 PREVIOUSLY RECORDED AT REEL: 037515 FRAME: 0390. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Mar 1, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037926/0642 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT APPL. NO. 14/085,520 PREVIOUSLY RECORDED AT REEL: 037515 FRAME: 0420. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 11, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037879/0581 →
CORRECTIVE ASSIGNMENT OF INCORRECT APPL. NO. 14/085,520 PREVIOUSLY RECORDED AT REEL: 037515 FRAME: 0390. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 11, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037792/0227 →
CORRECTIVE ASSIGNMENT OF INCORRECT NUMBER 14085520 PREVIOUSLY RECORDED AT REEL: 037458 FRAME: 0420. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTON OF SECURITY INTEREST IN PATENTS. Recorded Feb 11, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037785/0568 →
CORRECTIVE ASSIGNMENT OF INCORRECT PATENT APPLICATION NUMBER 14085520 ,PREVIOUSLY RECORDED AT REEL: 037458 FRAME: 0399. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 11, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037785/0454 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 037458 FRAME 0420. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Jan 14, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037515/0420 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 037458 FRAME 0399. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Jan 14, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037515/0390 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FOUNDING, INC.
Reel/Frame 037458/0420 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FOUNDING, INC.
Reel/Frame 037458/0399 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0790 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Mar 13, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., COLLATERAL AGENT
Reel/Frame 032445/0689 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Mar 13, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032445/0577 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Mar 13, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032445/0493 →