IP Library Granted Patent US 7,292,603
Granted Patent B2
US 7,292,603 · App. 10/356,205 · Granted Nov 6, 2007

Memory-efficient conversion between differing data transport formats of SONET overhead 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 7,292,603
App. No.
10/356,205
Granted
Nov 6, 2007
Kind
B2
Abstract

In a SONET apparatus, the data flow differences between OC-768 and OC-192 can be exploited to effectuate conversion between OC-768 and OC-192 using as little as 256 bytes of memory.

Claims (59)

1. A method of processing overhead data bytes from SONET data frames, comprising:

receiving during a predetermined period of time a data frame having a first data format, said data frame comprising a plurality of groups of overhead data bytes, each said group carrying overhead information associated only with a respectively corresponding one of a plurality of SONET data frames;

converting, while said data frame is received, said plurality of groups of overhead data bytes from said first data format into a second data format; and

said converting step including, for one of said groups, storing a predetermined number of said overhead data bytes thereof respectively into a plurality of storage locations equal in number to said predetermined number at a first data rate;

said converting step further including obtaining, at a second data rate, said predetermined number of said overhead data bytes from said plurality of storage locations; and

said converting step further including storing a further said predetermined number of said overhead data bytes of said one group respectively into said plurality of storage locations at said first data rate,

wherein said first and second data rates are determined such that said overhead data bytes of said one of said groups are concurrently stored into and obtained from said plurality of storage locations during said predetermined period of time.

2. The method of claim 1 , wherein said SONET frames are OC-192 frames.

3. The method of claim 1 , wherein said first data format is a time division multiplexed data format.

4. The method of claim 3 , wherein said SONET frames are OC-192 frames, and wherein said time division multiplexed data format is OC-768.

5. The method of claim 4 , wherein said predetermined number is 64.

6. The method of claim 4 , wherein, in said second data format, said groups of overhead data bytes that respectively correspond to OC-192 frames are arranged in parallel with one another.

7. The method of claim 3 , wherein, in said second data format, said groups of overhead data bytes are arranged in parallel with one another.

8. The method of claim 1 , wherein, in said first data format, respective portions of said groups of overhead data bytes are time division multiplexed with one another.

9. The method of claim 8 , wherein, each of said portions consists of said predetermined number of bytes.

10. The method of claim 1 , wherein, in said second data format, said groups of overhead data bytes are arranged in parallel with one another.

11. The method of claim 1 , wherein said converting step includes, for each of the remainder of said groups:

storing said predetermined number of said overhead data bytes of said group respectively into a plurality of storage locations associated with said group and equal in number to said predetermined number;

obtaining said predetermined number of said overhead data bytes of said group from the associated storage locations; and

after said last-mentioned obtaining step, storing a further said predetermined number of said overhead data bytes of said group respectively into the associated storage locations.

12. The method of claim 1 , wherein, in said first data format, said groups of overhead data bytes are arranged in parallel with one another.

13. The method of claim 12 , wherein, said second data format is a time division multiplexed data format.

14. The method of claim 13 , wherein said SONET frames are OC-192 frames, and wherein said time division multiplexed data format is OC-768.

15. The method of claim 14 , wherein said predetermined number is 64.

16. The method of claim 14 , wherein, in said first data format, said groups of overhead data bytes that respectively correspond to OC-192 frames arc arranged in parallel with one another.

17. The method of claim 1 , wherein said second data format is a time division multiplexed data format.

18. The method of claim 1 , wherein, in said second data format, respective portions of said groups of overhead data bytes are time division multiplexed with one another.

19. The method of claim 18 , wherein, each of said portions consists of said predetermined number of bytes.

20. An apparatus for processing overhead data bytes from SONET data frames, comprising:

an input for receiving during a predetermined period of time a data frame having a first data format, said data frame comprising a plurality of groups of overhead data bytes, each said group carrying overhead information associated only with a respectively corresponding one of a plurality of SONET data frames; and

a converter coupled to said input for converting, while said data frame is received, said plurality of groups of overhead data bytes from said first data format into a second data format, said converter including a memory having a plurality of storage locations, said memory operable with respect to one of said groups for storing a predetermined number of said overhead data bytes of said one group respectively into a number of said storage locations equal to said predetermined number at a first data rate, said memory for outputting said predetermined number of overhead data bytes from said predetermined number of storage locations at a second data rate, and said memory further operable, after having output said predetermined number of overhead data bytes, for storing a further said predetermined number of said overhead data bytes of said one group respectively into said predetermined number of storage locations at said first data rate, wherein said first and second data rates are determined such that said overhead data bytes of said one of said groups are concurrently stored into and obtained from said plurality of storage locations during said predetermined period of time.

21. The apparatus of claim 20 , wherein said memory is further operable with respect to each of the remainder of said groups for: (a) storing said predetermined

number of said overhead data bytes of said group respectively into further said storage locations associated with said group and equal in number to said predetermined number; (b) outputting

said predetermined number of overhead data bytes of said group from the associated storage locations; and (c) after having output said predetermined number of overhead data bytes, storing a further said predetermined number of said overhead data bytes of said group respectively into the associated storage locations.

22. The apparatus of claim 20 , wherein said SONET frames are OC-192 frames.

23. The apparatus of claim 20 , wherein said first data format is a time division multiplexed data format.

24. The apparatus of claim 23 , wherein said SONET frames are OC-192 frames, and wherein said time division multiplexed data format is OC-768.

25. The apparatus of claim 24 , wherein said predetermined number is 64.

26. The apparatus of claim 24 , wherein, in said second data format, said groups of overhead data bytes that respectively correspond to OC-192 frames are arranged in parallel with one another.

27. The apparatus of claim 23 , wherein, in said second data format, said groups of overhead data bytes are arranged in parallel with one another.

28. The apparatus of claim 20 , wherein, in said first data format, respective portions of said groups of overhead data bytes are time division multiplexed with one another.

29. The apparatus of claim 28 , wherein each of said portions consists of said predetermined number of bytes.

30. The apparatus of claim 20 , wherein, in said second data format, said groups of overhead data bytes are arranged in parallel with one another.

31. The apparatus of claim 20 , wherein, in said first data format, said groups of overhead data bytes are arranged in parallel with one another.

32. The apparatus of claim 31 , wherein said second data format is a time division multiplexed data format.

33. The apparatus of claim 32 , wherein said SONET frames are OC-192 frames, and wherein said time division multiplexed data format is OC-768.

34. The apparatus of claim 33 , wherein said predetermined number is 64.

35. The apparatus of claim 33 , wherein, in said second data format, said groups of overhead data bytes that respectively correspond to OC-192 frames are arranged in parallel with one another.

36. The apparatus of claim 20 , wherein said second data format is a time division multiplexed data format.

37. The apparatus of claim 20 , wherein, in said first data format, respective portions of said groups of overhead data bytes are time division multiplexed with one another.

38. The apparatus of claim 37 , wherein each of said portions consists of said predetermined number of bytes.

39. The apparatus of claim 20 , wherein said memory includes a FIFO memory.

40. The apparatus of claim 39 , wherein said FIFO memory includes only said predetermined number of storage locations.

41. The apparatus of claim 21 , wherein said memory includes a plurality of FIFO memories which respectively correspond to said groups, each of said FIFO memories including only said predetermined number of storage locations associated with the group to which said FIFO memory corresponds.

42. An apparatus for processing overhead data bytes from SONET data frames, comprising:

an input for receiving during a predetermined period of time a data frame having a first data format, said data frame comprising a plurality of groups of overhead data bytes, each said group carrying overhead information associated only with a respectively corresponding one of a plurality of SONET data frames;

a converter coupled to said input for converting, while said data frame is received, said plurality of groups of overhead data bytes from said first data format into a second data format, said converter including a memory having a plurality of storage locations, said memory operable with respect to one of said groups for storing a predetermined number of said overhead data bytes of said one group respectively into a number of said storage locations equal to said predetermined number, said memory for outputting said predetermined number of overhead data bytes from said predetermined number of storage locations, and said memory further operable, after having output said predetermined number of overhead data bytes, for storing a further said predetermined number of said overhead data bytes of said one group respectively into said predetermined number of storage locations;

an overhead processor coupled to said converter for receiving said groups of overhead data bytes arranged in said second data format and for processing said groups to produce corresponding groups of processed overhead data bytes arranged in said second format; and

a further converter coupled to said overhead processor for converting said groups of processed overhead data bytes from said second data format into said first data format, said further converter including a further memory having a further plurality of storage locations, said further memory operable with respect to one of said groups of processed overhead data bytes for storing a predetermined number of said processed overhead data bytes of said one group respectively into a number of said further storage locations equal to said predetermined number of said processed overhead data bytes, said further memory for outputting said predetermined number of processed overhead data bytes from said number of said further storage locations and said further memory operable, after having output said predetermined number of processed overhead data bytes, for storing a further said predetermined number of said processed overhead data bytes of said one group respectively into said number of said further storage locations.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jun 23, 2021
From: MUFG UNION BANK, N.A.
To: MAXLINEAR, INC.; EXAR CORPORATION; MAXLINEAR COMMUNICATIONS LLC
Reel/Frame 056656/0204 →
SUCCESSION OF AGENCY (REEL 042453 / FRAME 0001) Recorded Jul 1, 2020
From: JPMORGAN CHASE BANK, N.A.
To: MUFG UNION BANK, N.A.
Reel/Frame 053115/0842 →
MERGER AND CHANGE OF NAME Recorded Oct 4, 2017
From: EAGLE ACQUISITION CORPORATION; EXAR CORPORATION; EXAR CORPORATION
To: EXAR CORPORATION
Reel/Frame 044126/0634 →
SECURITY AGREEMENT Recorded May 12, 2017
From: MAXLINEAR, INC.; ENTROPIC COMMUNICATIONS, LLC (F/K/A ENTROPIC COMMUNICATIONS, INC.); EXAR CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042453/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2015
From: STIFEL FINANCIAL CORP.
To: EXAR CORPORATION; CADEKA MICROCIRCUITS, LLC
Reel/Frame 035168/0384 →
SECURITY INTEREST Recorded May 29, 2014
From: EXAR CORPORATION; CADEKA MICROCIRCUITS, LLC
To: STIFEL FINANCIAL CORP.
Reel/Frame 033062/0123 →