IP Library Granted Patent US 9,059,946
Granted Patent B2
US 9,059,946 · App. 11/349,917 · Granted Jun 16, 2015

Passive optical network (PON) packet processor

Inventors: Gil Levy (Herzliya, IL); Eliezer Weitz (Holon, IL); Eli Elmoalem (Nili, IL); Gal Sitton (Netanya, IL)
Assignee: Broadcom Corporation
H04L49/9094H04L49/90H04L49/9073H04Q11/0067H04Q11/0071
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 9,059,946
App. No.
11/349,917
Granted
Jun 16, 2015
Kind
B2
Abstract

A passive optical network (PON) packet processor for processing PON traffic includes a core processor for executing threads related to the processing of PON traffic and a plurality of hardware (HW) accelerators coupled to the core processor for accelerating the processing of said PON traffic. A memory unit is coupled to the core processor for maintaining program and traffic data. In an embodiment of the present invention, the PON packet processor includes a scheduler that optimizes the execution of PON related tasks.

Claims (62)

1. A passive optical network (PON) packet processor for processing PON traffic, said PON packet processor comprising:

a core processor configured to execute a plurality of threads related to said processing of said PON traffic, said PON traffic comprising upstream data including Ethernet frames and downstream data chunks;

a plurality of hardware (HW) accelerators, coupled to said core processor, configured to accelerate and to optimize execution of said plurality of threads, said plurality of HW accelerators being configured to accelerate execution of said plurality of threads as compared to executing said plurality of threads using only said core processor,

wherein a first HW accelerator of said plurality of HW accelerators comprises:

a scheduler having a first mechanism configured to perform priority-based selection of said plurality of threads and a second mechanism configured to enable requests for execution of said plurality of threads; and

a memory unit, coupled to said core processor, that stores program and traffic data.

2. The PON packet processor of claim 1 , wherein a second HW accelerator of said plurality of HW accelerators comprises:

a media access control (MAC) address search engine, a cyclical redundancy checking (CRC) accelerator, a register file, a direct memory access (DMA) accelerator, an internal interface, or a timer.

3. The PON packet processor of claim 2 , wherein said CRC accelerator comprises:

a plurality of CRC engines, wherein each of said plurality of CRC engines is configured to compute a different CRC polynomial.

4. The PON packet processor of claim 2 , wherein said DMA accelerator is configured to allow data transfers between said memory unit and an external memory.

5. The PON packet processor of claim 1 , wherein said scheduler is configured to enable selection of a selected thread of said plurality of threads to be executed by said core processor based on a priority-based selection of said selected thread and a type of a request.

6. The PON packet processor of claim 5 , further comprising:

a plurality of request generators, coupled to said scheduler, configured to generate said requests for invoking said plurality of threads; and

a context manager, coupled to said scheduler, configured to control context switching between said plurality of threads.

7. The PON packet processor of claim 6 , wherein at least one of said plurality of request generators comprises:

a direct memory access (DMA) accelerator, said core processor, a timer, an external microprocessor, or one or more peripheral units.

8. The PON packet processor of claim 6 , wherein at least one of said plurality of request generators comprises:

one or more peripheral units, said core processor, said timer, or an external microprocessor,

wherein said at least one of said plurality of request generators is configured to arbitrarily generate an asynchronous request.

9. The PON packet processor of claim 7 , wherein at least one of said plurality of request generators comprises:

said DMA accelerator,

wherein said at least one of said plurality of request generators is further configured to generate a synchronous request.

10. The PON packet processor of claim 6 , wherein said context manager is configured to be provided with an identification (ID) number of said selected thread.

11. The PON packet processor of claim 1 , wherein said scheduler is configured to increase a priority of said selected thread to handle burst PON traffic.

12. The PON packet processor of claim 5 , wherein said scheduler is configured to reject disabled requests and masked requests.

13. The PON packet processor of claim 6 , wherein said context manager is configured to:

fetch a context of said selected thread upon receiving an identification (ID) number of said selected thread; and

switch context between said selected thread and a currently executed thread of said plurality of threads.

14. The PON packet processor of claim 13 , wherein said context manager is configured to switch context at approximately zero latency.

15. The PON packet processor of claim 5 , wherein said plurality of threads comprise:

an Ethernet transmit (TX) thread configured to construct Ethernet frames to be sent to a subscriber device coupled to said PON packet processor,

an Ethernet receive (RX) thread configured to process Ethernet frames received from said subscriber device,

a PON TX thread configured to transmit said PON traffic to said optical line terminal (OLT), or

a PON RX thread configured to receive said PON traffic from said OLT.

16. The PON packet processor of claim 15 , wherein said core processor comprises:

an Ethernet media access control (MAC) adapter configured to receive data chunks of Ethernet frames sent from a subscriber device,

wherein said core processor is further configured to reassemble said data chunks into a data packet,

send said data packet to a PON MAC adapter; and

transmit said data packet to said OLT based upon a grant from an OLT to execute said PON TX thread.

17. The PON packet processor of claim 15 , wherein said core processor is further configured to:

receive data chunks sent from an OLT of an optical network;

reassemble said data chunks into a data packet;

perform correctness checks of said data packet; and

forward said packet to a subscriber device through an Ethernet MAC adapter to execute said PON RX thread.

18. A method of executing passive optical network (PON) traffic processing related threads, said method comprising:

receiving requests for invoking said PON traffic processing related threads, wherein each of said PON traffic processing related thread is at least one of: an Ethernet transmit (TX) thread to construct Ethernet frames to be sent to a subscriber device coupled to an optical line unit (ONU), an Ethernet receive (RX) thread to process Ethernet frames received from said subscriber device connected, a PON transmit (TX) thread to transmit traffic to an optical line terminal (OLT), or a PON receive (RX) thread to receive traffic from said OLT;

selecting a thread of said PON traffic processing related threads to be executed based on a priority policy and a request to execute said PON traffic processing related threads

executing said selected thread using a hardware (HW) accelerator that is separate from a core processor, said executing of said selected thread using said HW accelerator being accelerated as compared to executing said thread using only said core processor; and

sending an identification (ID) number of said selected thread.

19. The method of claim 18 , wherein said received requests comprise asynchronous requests and synchronous requests.

20. The method of claim 19 , wherein said asynchronous requests are generated by at least one of: said core processor, said timer, said external microprocessor, or one or more peripheral devices.

21. The method of claim 19 , wherein said synchronous requests are generated by said DMA accelerator.

22. The method of claim 19 , further comprising:

rejecting disabled requests and masked requests.

23. The method of claim 22 , further comprising:

increasing a priority of said selected thread to handle burst PON traffic.

24. The method of claim 18 , further comprising:

fetching a context of said selected thread upon receiving said ID number; and

switching context between said selected thread and a current executed thread of said PON traffic processing related threads.

25. The method of claim 24 , wherein said switching context comprises:

switching context at approximately zero latency.

Assignments (12)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 9,385,856 TO 9,385,756 PREVIOUSLY RECORDED AT REEL: 47349 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 051144/0648 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE PREVIOUSLY RECORDED ON REEL 047229 FRAME 0408. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047349/0001 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047229/0408 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2012
From: BROADCOM INTERNATIONAL LIMITED
To: BROADCOM CORPORATION
Reel/Frame 029256/0939 →
CHANGE OF NAME Recorded Nov 7, 2012
From: BROADLIGHT LTD.
To: BROADCOM BROADBAND ACCESS LTD.
Reel/Frame 029259/0975 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2012
From: BROADCOM BROADBAND ACESS LTD.
To: BROADCOM INTERNATIONAL LIMITED
Reel/Frame 029256/0895 →
RELEASE OF SECURITY INTEREST Recorded Jan 7, 2010
From: PLENUS II, LIMITED PARTNERSHIP; PLENUS II (D.C.M.), LIMITED PARTNERSHIP
To: BROADLIGHT LTD.
Reel/Frame 023741/0609 →
SECURITY AGREEMENT Recorded Mar 8, 2007
From: BROADLIGHT LTD.
To: PLENUS II, LIMITED PARTNERSHIP; PLENUS II (D.C.M.), LIMITED PARTNERSHIP
Reel/Frame 018981/0325 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2006
From: LEVY, GIL; WEITZ, ELIEZER; ELMOALEM, ELI; SITTON, GAL
To: BROADLIGHT LTD.
Reel/Frame 017557/0503 →
Continuity (2)
Continuation In Part 11238022 · Sep 29, 2005
Related Publication 20070074218A1 · Mar 29, 2007