IP Library Granted Patent US 8,787,255
Granted Patent B2
US 8,787,255 · App. 12/955,202 · Granted Jul 22, 2014

Method and system for improved multi-cell support on a single modem board

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,787,255
App. No.
12/955,202
Granted
Jul 22, 2014
Kind
B2
Abstract

A system for providing multi-cell support within a single SMP partition in a telecommunications network is disclosed. The typically includes a modem board and a multi-core processor having a plurality of processor cores, wherein the multi-core processor is configured to disable non-essential interrupts arriving on a plurality of data plane cores and route the non-essential interrupts to a plurality of control plane cores. Optionally, the multi-core processor may be configured so that all non-real-time threads and processes are bound to processor cores that are dedicated for all control plane activities and processor cores that are dedicated for all data plane activities will not host or run any threads that are not directly needed for data path implementation or Layer 2 processing.

Claims (31)

1. A computer-implemented method of processing data packets in a wireless network with a multi-core processor on a modem board, the method comprising:

while running a queue manager in polling mode, acquiring a buffer for an incoming data packet and enqueuing the data packet onto a frame queue, wherein the frame queue comprises a linked list of frame descriptors to be handled by the queue manager;

using a kernel thread to periodically poll the queue manager for queued up frame descriptors;

dequeuing N frame descriptors from the hardware component, where N is a tunable parameter;

executing a callback function associated with each dequeued frame descriptor in kernel space, wherein the callback function enqueues a buffer pointer of the data packet within the frame descriptor into a kernel-to-user mapped ring of buffer descriptors for processing; and

delivering the data packet to a messaging module without a context switch, wherein the multi-core processor includes one or more data plane cores that are configured to run data plane functions and one or more control plane cores that are configured to run control plane functions and further comprising disabling non-essential interrupts received on the data plane cores and routing the non-essential interrupts to one or more of the control plane cores.

2. The method of claim 1 , wherein the queue manager comprises a hardware component and is configured to run in polling mode during software initialization.

3. The method of claim 1 , wherein a buffer manager provides the buffer for the incoming data packet.

4. The method of claim 1 , wherein the multi-core processor is configured so that non-real-time threads and processes are bound to processor cores that are dedicated for control plane activities and processor cores that are dedicated for data plane activities will not host or run threads that are not directly needed for data path implementation or Layer 2 processing.

5. A system for processing data packets in a wireless network, the system comprising:

a modem board;

a multi-core processor comprising a plurality of processor cores attached to the modem board, wherein the modem board comprises kernel space and user space, and wherein one or more of the processor cores are configured to run data plane functions and one or more of the processor cores are configured to run control plane functions and the multi-core processor is configured to disable non-essential interrupts received on the data plane cores and route the non-essential interrupts to one or more of the control plane cores;

a queue manager that is configured to manage queues and run in polling mode;

a frame manager that is configured to acquire a buffer for an incoming data packet and enqueue the data packet onto a frame queue, wherein the frame queue comprises a linked list of frame descriptors to be handled by the hardware component;

a kernel thread that is configured to periodically poll the queue manager for queued up frame descriptors and dequeue N frame descriptors from the hardware component, where N is a tunable parameter; and

a callback function associated with each dequeued frame descriptor in kernel space that is configured to enqueue a buffer pointer of the data packet within the frame descriptor into a kernel-to-user mapped ring of buffer descriptors for processing

and to deliver the data packet to a messaging module without a context switch.

6. The system of claim 5 , wherein the queue manager comprises a hardware component.

7. The system of claim 5 , wherein the multi-core processor is configured so that non-real-time threads and processes are bound to processor cores that are dedicated for control plane activities and processor cores that are dedicated for data plane activities will not host or run threads that are not directly needed for data path implementation or Layer 2 processing.

8. The system of claim 5 , wherein the multi-core processor is configured to include a core abstraction layer that hides core specific details from application software running on the processor cores.

9. The system of claim 5 , wherein the multi-core processor is configured to serve at least six cells in the telecommunications network.

10. The system of claim 5 , wherein the multi-core processor comprises eight processor cores.

11. The system of claim 5 , wherein a single operating system instance runs on the cores.

12. A system for providing multi-cell support within a single symmetric multiprocessing (SMP) partition in a telecommunications network, the system comprising:

a modem board; and

a multi-core processor having a plurality of processor cores, wherein a plurality of the processor cores are configured to run data plane functions and a plurality of the processor cores are configured to run control plane functions and the multi-core processor is configured to disable non-essential interrupts arriving on a plurality of the processor cores configured to run data plane functions and route the non-essential interrupts to a plurality of the processor cores configured to run control plane functions.

13. The system of claim 12 , wherein the multi-core processor is configured so that non-real-time threads and processes are bound to processor cores that are dedicated for control plane activities and processor cores that are dedicated for data plane activities will not host or run threads that are not directly needed for data path implementation or Layer 2 processing.

14. The system of claim 12 , wherein the multi-core processor is configured to include a core abstraction layer that hides core specific details from application software running on the processor cores.

15. The system of claim 12 , wherein the multi-core processor is configured to serve at least six cells in the telecommunications network.

16. The system of claim 12 , wherein the multi-core processor comprises eight processor cores.

17. The system of claim 12 , wherein a single operating system instance runs on the cores.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 033868/0555 →
SECURITY AGREEMENT Recorded Jan 30, 2013
From: ALCATEL LUCENT
To: CREDIT SUISSE AG
Reel/Frame 029821/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2012
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 027565/0711 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2011
From: KHAWER, MOHAMMAD R.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 025653/0838 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2011
From: ABULIUS, MUGUR
To: ALCATEL LUCENT
Reel/Frame 025653/0860 →