IP Library Granted Patent US 7,809,902
Granted Patent B2
US 7,809,902 · App. 10/350,296 · Granted Oct 5, 2010

Method and system for copying DMA with separate strides by a modulo-n counter

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,809,902
App. No.
10/350,296
Granted
Oct 5, 2010
Kind
B2
Abstract

Provided is a system and method for de-interleaving a data stream stored in a buffer having a plurality of memory locations. Each location has a memory width of (W) bytes and the data stream is formed of a number of data words each including (N) number of data bytes, and (N) is a non-integer multiple of the width (W). The method includes storing the data words into respective memory locations and appending each of the stored data words with number (X) of dummy bytes, a sum of (N)+(X) being an integer multiple of the width (W). The appended dummy bytes are then stored in the respective memory locations.

Claims (30)

1. A method for de-interleaving a data stream stored in a buffer having a plurality of memory locations, each location having a memory width of (W) bytes, the data stream being formed of a number of data words each including (N) number of data bytes, wherein (N) is a non-integer multiple of the width (W), the method comprising:

storing the data words into respective memory locations;

appending each of the stored data words with number (X) of dummy bytes, a sum of (N)+(X) being an integer multiple of the width (W);

storing the appended dummy bytes into the respective memory locations.

2. The method of claim 1 , wherein the data words include codeword-size data blocks.

3. The method of claim 2 , wherein the interleaved data stream includes an interleave depth (D); and

wherein the method is implemented based upon operation of a direct memory access (DMA) engine.

4. The method of claim 3 , further comprising de-interleaving the data bytes stored in the respective memory locations based upon operation of the DMA engine and a number of parameters;

wherein the parameters include first and second memory strides, an offset increment value, and an offset modulo value.

5. A method for storing a data stream in a modem buffer having a plurality of memory locations, each location having a memory width of (W) bytes, the data stream being formed of a number of data words each including (N) number of data bytes, wherein (N) is a non-integer multiple of the width (W), the method comprising:

(a) copying (N) data bytes of a first data word into first [(n)(W)] bytes of a first location, where (n) is an integer that (i) equals one when W>N and (ii) is a smallest among all integers satisfying the expression [(n)(W)>N] when W<N; and

(b) appending the (N) copied bytes with (X) number of dummy bytes, a sum of (X)+(N) being an integer multiple of the width W.

6. The method of claim 5 , wherein the copied first number (N) of data bytes and the copied (X) dummy bytes correspond to the first data word.

7. The method of claim 5 , further comprising copying the (N) data bytes of the data words into the remaining memory locations in accordance with (a) through (b).

8. The method of claim 7 , wherein the interleaved data stream includes an interleave depth (D) and the method includes a memory access technique having at least first and second memory strides.

9. The method of claim 8 , further comprising de-interleaving the data bytes in the memory based upon operation of the DMA engine, the DMA engine ignoring the dummy bytes (X).

10. The method of claim 9 , wherein the de-interleaving is based upon operation of the DMA engine and at least the first and second strides.

11. The method of claim 10 , wherein the de-interleaving occurs based upon the operation of the DMA engine, values of the first and second strides, an offset increment value, and an offset modulo value.

12. The method of claim 11 , wherein a value of the first stride is equal to the interleave depth, and a value of the second stride is equal to the interleave depth plus (X).

13. The method of claim 12 , wherein the second stride is used instead of the first stride; and

wherein the second stride is used based a modulo of the offset increment value.

14. An apparatus for de-interleaving a data stream stored in a buffer having a plurality of memory locations, each location having a memory width of (W) bytes, the data stream being formed of a number of data words each including (N) number of data bytes, wherein (N) is a non-integer multiple of the width (W), the apparatus comprising:

means for storing the data words into respective memory locations;

means for appending each of the stored data words with number (X) of dummy bytes, a sum of (N)+(X) being an integer multiple of the width (W); and

means for storing the appended dummy bytes into the respective memory locations.

15. The apparatus of claim 14 , wherein the data words include codeword-size data blocks.

16. The apparatus of claim 15 , wherein the interleaved data stream includes an interleave depth (D); and

wherein the apparatus is implemented based upon operation of a direct memory access (DMA) engine.

17. The apparatus of claim 16 , further comprising means for de-interleaving the data bytes stored in the respective memory locations based upon operation of the DMA engine and a number of parameters;

wherein the parameters include first and second memory strides, an offset increment value, and an offset modulo value.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2003
From: EFLAND, GREGORY H.; GUAN, JEFF Z.; YIN, LIN
To: BROADCOM CORPORATION
Reel/Frame 014213/0386 →