IP Library Granted Patent US 8,190,848
Granted Patent B2
US 8,190,848 · App. 12/181,010 · Granted May 29, 2012

Interleaver memory allocation method and apparatus

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,190,848
App. No.
12/181,010
Granted
May 29, 2012
Kind
B2
Abstract

According to one embodiment, memory is allocated between an interleaver buffer and a de-interleaver buffer in a communication device based on downstream and upstream memory requirements. The upstream de-interleaver memory requirement is determined based on upstream channel conditions obtained for a communication channel used by the communication device. The memory is allocated between the interleaver and de-interleaver buffers based on the downstream and upstream memory requirements. The downstream interleaver memory requirement may be determined based on one or more predetermined downstream configuration parameters. Alternatively, the downstream interleaver memory requirement may also be determined based on the upstream channel conditions by estimating the downstream capacity of the communication channel based on the upstream channel conditions and determining an interleaver buffer size that satisfies one or more predetermined downstream configuration parameters and the downstream capacity estimate.

Claims (80)

1. A method of allocating memory between an interleaver buffer and a de-interleaver buffer in a communication device, comprising:

determining a downstream interleaver memory requirement;

estimating an upstream capacity of a communication channel used by the communication device, based on upstream channel conditions obtained for the communication channel;

determining an upstream de-interleaver memory requirement based on the upstream capacity estimate; and

allocating the memory between the interleaver and de-interleaver buffers based on the downstream and upstream memory requirements.

2. The method of claim 1 , wherein determining the upstream de-interleaver memory requirement based on the upstream capacity estimate comprises:

determining a de-interleaver buffer size that satisfies one or more predetermined upstream configuration parameters and the upstream capacity estimate.

3. The method of claim 1 , wherein the downstream interleaver memory requirement is determined based on one or more predetermined downstream configuration parameters.

4. The method of claim 1 , wherein determining the downstream interleaver memory requirement comprises:

estimating a downstream capacity of the communication channel based on the upstream channel conditions; and

determining an interleaver buffer size that satisfies one or more predetermined downstream configuration parameters and the downstream capacity estimate.

5. The method of claim 1 , wherein allocating the memory between the interleaver and de-interleaver buffers based on the downstream and upstream memory requirements comprises:

allocating a portion of the memory to the de-interleaver buffer corresponding to the upstream memory requirement; and

allocating the remainder of the memory to the interleaver buffer.

6. The method of claim 1 , wherein allocating the memory between the interleaver and de-interleaver buffers based on the downstream and upstream memory requirements comprises:

computing a correction factor corresponding to a difference between one or more predetermined upstream and downstream configuration parameters;

scaling the downstream and upstream memory requirements based on the correction factor; and

allocating the memory between the interleaver and de-interleaver buffers based on the scaled downstream and upstream memory requirements.

7. The method of claim 6 , wherein allocating the memory between the interleaver and de-interleaver buffers based on the scaled downstream and upstream memory requirements comprises:

determining which one of the buffers has a higher priority;

allocating the memory to the buffer having the highest priority based on the corresponding scaled memory requirement; and

allocating the remainder of the memory to the buffer having the lower priority.

8. The method of claim 7 , wherein determining which one of the buffers has a higher priority comprises evaluating a priority bit extracted from a configuration message received by the communication device.

9. The method of claim 1 , wherein the communication channel is a new communication channel initialized by the communication device.

10. A communication device, comprising:

memory configured to be allocated between an interleaver buffer and a de-interleaver buffer of the communication device; and

a memory allocation unit configured to:

determine a downstream interleaver memory requirement;

estimate an upstream capacity of a communication channel used by the communication device, based on upstream channel conditions obtained for the communication channel;

determine an upstream de-interleaver memory requirement based on the upstream capacity estimate; and

allocate the memory between the interleaver and de-interleaver buffers based on the downstream and upstream memory requirements.

11. The communication device of claim 10 , wherein the memory allocation unit is configured to:

determine a de-interleaver buffer size that satisfies one or more predetermined upstream configuration parameters and the upstream capacity estimate.

12. The communication device of claim 10 , wherein the memory allocation unit is configured to determine the downstream interleaver memory requirement based on one or more predetermined downstream configuration parameters.

13. The communication device of claim 10 , wherein the memory allocation unit is configured to:

estimate a downstream capacity of the communication channel based on the upstream channel conditions; and

determine an interleaver buffer size that satisfies one or more predetermined downstream configuration parameters and the downstream capacity estimate.

14. The communication device of claim 10 , wherein the memory allocation unit is configured to:

allocate a portion of the memory to the de-interleaver buffer corresponding to the upstream memory requirement; and

allocate the remainder of the memory to the interleaver buffer.

15. The communication device of claim 10 , the memory allocation unit is configured to:

compute a correction factor corresponding to a difference between one or more predetermined upstream and downstream configuration parameters;

scale the downstream and upstream memory requirements based on the correction factor; and

allocate the memory between the interleaver and de-interleaver buffers based on the scaled downstream and upstream memory requirements.

16. The communication device of claim 15 , wherein the memory allocation unit is configured to:

determine which one of the buffers has a higher priority;

allocate the memory to the buffer having the highest priority based on the corresponding scaled memory requirement; and

allocate the remainder of the memory to the buffer having the lower priority.

17. The communication device of claim 16 , wherein the memory allocation unit is configured to evaluate a priority bit extracted from a configuration message received by the communication device to determine which one of the buffers has a higher priority.

18. The communication device of claim 10 , wherein the communication channel is a new communication channel initialized by the communication device.

19. A method of allocating memory between an interleaver buffer and a de-interleaver buffer in a communication device, comprising:

determining upstream channel conditions for a communication channel used by the communication device;

estimating a downstream capacity of the communication channel based on the upstream channel conditions;

determining an upstream de-interleaver memory requirement based on the upstream channel conditions;

determining a downstream interleaver memory requirement based on the upstream channel conditions; and

allocating the memory between the interleaver and de-interleaver buffers based on the downstream and upstream memory requirements.

20. The method of claim 19 , wherein estimating a downstream capacity of the communication channel based on the upstream channel conditions comprises:

determining a ratio of a predetermined upstream configuration parameter to an upstream capacity estimate; and

scaling a predetermined downstream configuration parameter by the ratio.

21. The method of claim 19 , further comprising scaling the downstream capacity estimate to account for an expected difference in the upstream and downstream channel conditions.

22. A method of allocating memory between an interleaver buffer and a de-interleaver buffer in a communication device, the method comprising:

determining upstream and downstream data rate estimates for a communication channel based on a plurality of configuration parameters obtained before the communication channel is initialized;

generating an initial estimate of how the memory should be allocated between the interleaver and de-interleaver buffers based on the upstream and downstream data rate estimates;

revising the initial estimate of how the memory should be allocated between the interleaver and de-interleaver buffers based on either upstream or downstream capacity of the channel as observed by the communication device during or after initialization of the communication channel; and

allocating the memory between the interleaver and de-interleaver buffers based on the revised estimate.

23. A communication device, comprising:

memory configured to be allocated between an interleaver buffer and a de-interleaver buffer of the communication device; and

a memory allocation unit configured to:

determine upstream and downstream data rate estimates for a communication channel based on a plurality of configuration parameters obtained before the communication channel is initialized;

generate an initial estimate of how the memory should be allocated between the interleaver and de-interleaver buffers based on the upstream and downstream data rate estimates;

revise the initial estimate of how the memory should be allocated between the interleaver and de-interleaver buffers based on either upstream or downstream capacity of the channel as observed by the communication device during or after initialization of the communication channel; and

allocate the memory between the interleaver and de-interleaver buffers based on the revised estimate.

24. A communication device, comprising:

an input to receive priority information indicating that one of upstream and downstream is prioritized;

memory configured to be allocated between an interleaver buffer and a de-interleaver buffer of the communication device; and

a memory allocation unit configured to:

determine upstream and downstream data rate estimates for a communication channel based on a plurality of configuration parameters obtained before the communication channel is initialized;

generate an initial estimate of how the memory should be allocated between the interleaver and de-interleaver buffers based on the upstream and downstream data rate estimates;

revise the initial estimate of how the memory should be allocated between the interleaver and de-interleaver buffers based on the priority information; and

allocate the memory between the interleaver and de-interleaver buffers based on the revised estimate.

Assignments (6)
SECURITY AGREEMENT Recorded Jul 9, 2021
From: MAXLINEAR, INC.; MAXLINEAR COMMUNICATIONS, LLC; EXAR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 056816/0089 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2020
From: INTEL CORPORATION
To: MAXLINEAR, INC.
Reel/Frame 053626/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2020
From: LANTIQ BETEILIGUNGS-GMBH & CO. KG
To: INTEL CORPORATION
Reel/Frame 053259/0678 →
MERGER AND CHANGE OF NAME Recorded Jan 17, 2018
From: LANTIQ DEUTSCHLAND GMBH; LANTIQ BETEILIGUNGS-GMBH & CO. KG
To: LANTIQ BETEILIGUNGS-GMBH & CO. KG
Reel/Frame 045085/0292 →
MERGER Recorded Dec 18, 2017
From: LANTIQ DEUTSCHLAND GMBH
To: LANTIQ BETEILIGUNGS-GMBH & CO. KG
Reel/Frame 044907/0045 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 025413/0340 AND 025406/0677 Recorded Apr 17, 2015
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LANTIQ BETEILIGUNGS-GMBH & CO. KG
Reel/Frame 035453/0712 →