IP Library Granted Patent US 7,149,139
Granted Patent B1
US 7,149,139 · App. 10/925,641 · Granted Dec 12, 2006

Circuitry and methods for efficient FIFO memory

Assignee: Marvell Semiconductor Israel Ltd.
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,149,139
App. No.
10/925,641
Granted
Dec 12, 2006
Kind
B1
Abstract

Circuitry and methods for an efficient FIFO memory are provided. This efficient FIFO memory has two smaller standard single-port memory banks instead of one large dual-port memory bank, as in typical FIFO memories. Whereas the dual-port memory based FIFO memory can read and write data at the same time, a typical single-port memory based FIFO cannot. The operation of the two single-port memory banks are coordinated in order to provide similar or better performance than a dual-port memory based FIFO.

Claims (61)

1. A method of providing an efficient FIFO memory comprising:

receiving data having a plurality of portions;

alternately writing said data to a first memory and a second memory; and

alternately reading said data from said first memory and said second memory, wherein alternately reading said data comprises alternately writing said data to a first data register and a second data register and alternately reading said data from said first data register and said second data register,

wherein each of said first memory and said second memory is not concurrently written and read.

2. The method of claim 1 , wherein the alternately writing comprises writing a first portion of said data to said first memory and writing a second portion of said data to said second memory.

3. The method of claim 1 , wherein the alternately reading comprises writing a first portion of said data from said first memory to a first data register, reading said first portion of said data from said first data register, writing a second portion of said data from said second memory to a second data register, and reading said second portion of said data from said second data register.

4. The method of claim 1 , wherein the alternately writing comprises alternating memory after writing each portion of said data.

5. The method of claim 1 , wherein the alternately reading comprises alternating memory after reading each portion of said data.

6. The method of claim 1 , wherein the alternately reading and the alternately writing are synchronous.

7. Circuitry for providing an efficient FIFO memory comprising:

means for receiving data having a plurality of portions;

means for alternately writing said data to a first memory means and a second memory means; and

means for alternately reading said data from said first memory means and said second memory means, wherein means for alternately reading said data comprises means for alternately writing said data to a first data register means and a second data register means and means for alternately reading said data from said first data register means and said second data register means,

wherein each of said first memory means and said second memory means is not concurrently written and read.

8. The circuitry of claim 7 , wherein the means for alternately writing comprises means for writing a first portion of said data to said first memory means and means for writing a second portion of said data to said second memory means.

9. The circuitry of claim 7 , wherein the means for alternately reading comprises means for writing a first portion of said data from said first memory means to a first data register means, means for reading said first portion of said data from said first data register means, means for writing a second portion of said data from said second memory means to a second data register means, and means for reading said second portion of said data from said second data register means.

10. The circuitry of claim 7 , wherein the means for alternately writing comprises means for alternating memory means after writing each portion of said data.

11. The circuitry of claim 7 , wherein the means for alternately reading comprises means for alternating memory means after reading each portion of said data.

12. The circuitry of claim 7 , wherein the means for alternately reading and the means for alternately writing are synchronous.

13. FIFO memory comprising:

a first memory bank and a second memory bank;

a first data register and a second data register;

WRITE logic operative to receive data having a plurality of portions and to alternately write said data to said first memory bank and said second memory bank; and

READ logic operative to alternately read said data from said first memory bank and said second memory bank, wherein the READ logic is further operative to alternately write said data to said first data register and said second data register and alternately read said data from said first data register and said second data register,

wherein each of said first memory bank and said second memory bank is not concurrently written and read.

14. The FIFO memory of claim 13 , wherein the WRITE logic operative to alternately write said data is further operative to write a first portion of said data to said first memory bank and to write a second portion of said data to said second memory bank.

15. The FIFO memory of claim 13 , wherein the READ logic operative to alternately read said data is further operative to write a first portion of said data from said first memory bank to a first data register, to read said first portion of said data from said first data register, to write a second portion of said data from said second memory bank to a second data register, and to read said second portion of said data from said second data register.

16. The FIFO memory of claim 13 , wherein the WRITE logic operative to alternately write said data is further operative to alternate memory banks after writing each portion of said data.

17. The FIFO memory of claim 13 , wherein the READ logic operative to alternately read said data is further operative to alternate memory banks after reading each portion of said data.

18. The FIFO memory of claim 13 , wherein the WRITE logic and READ logic are synchronous.

19. A method of providing an efficient FIFO memory comprising:

receiving data having a plurality of portions;

alternately writing said data to a first memory and to a second memory, wherein at least two consecutive portions of data are written to one of said first memory and said second memory; and

alternately reading said data from said first memory and said second memory,

wherein each of said first memory and said second memory is not concurrently written and read.

20. The method of claim 19 , wherein a plurality of consecutive portions of data are written to said first memory and said second memory.

21. The method of claim 19 , wherein alternately writing and alternately reading comprise alternating memory in accordance with a predetermined pattern.

22. The method of claim 19 , further comprising:

writing a first portion of said data to a data register; and

reading said first portion of said data from said data register.

23. Circuitry for providing an efficient FIFO memory comprising:

means for receiving data having a plurality of portions;

means for alternately writing said data to a first memory means and to a second memory means, wherein at least two consecutive portions of data are written to one of said first memory means and said second memory means; and

means for alternately reading said data from said first memory means and said second memory means,

wherein each of said first memory means and said second memory means is not concurrently written and read.

24. The circuitry of claim 23 , wherein a plurality of consecutive portions of data are written to said first memory means and said second memory means.

25. The circuitry of claim 23 , wherein alternately writing means and alternately reading means comprise alternating memory means in accordance with a predetermined pattern.

26. The circuitry of claim 23 , further comprising:

means for writing a first portion of said data to a data register means; and

means for reading said first portion of said data from said data register means.

27. FIFO memory comprising:

a first memory bank and a second memory bank;

WRITE logic operative to receive data having a plurality of portions and to alternately write said data to said first memory bank and to said second memory bank, wherein at least two consecutive portions of data are written to one of said first memory bank and said second memory bank; and

READ logical operative to alternately read said data from said first memory bank and said second memory bank,

wherein each of said first memory bank and said second memory bank is not concurrently written and read.

28. The FIFO memory of claim 27 , wherein a plurality of consecutive portions of data are written to said first memory bank and said second memory bank.

29. The FIFO memory of claim 27 , wherein the WRITE logic operative to alternately write said data and the READ logic operative to alternately read said data are further operative to alternate memory banks in accordance with a predetermined pattern.

30. The FIFO memory of claim 27 , further comprising:

a data register operative to store a portion of said data; and

READ logic operative to read said first portion of said data from said data register.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF ASSIGNOR PREVIOUSLY RECORDED ON REEL 021018 FRAME 0240. ASSIGNOR(S) HEREBY CONFIRMS THE MISSPELLING OF THE NAME OF ASSIGNOR WAS A TYPO WHEN FILED; THE ASSIGNOR NAME IS CORRECT ON THE ASSIGNMENT DOCUMENT. Recorded Aug 4, 2020
From: MARVELL SEMICONDUCTOR ISRAEL LTD.
To: MARVELL ISRAEL (M.I.S.L.) LTD.
Reel/Frame 053398/0078 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S NAME PREVIOUSLY RECORDED AT REEL: 021018 FRAME: 0240. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Jul 30, 2020
From: MARVELL SEMICONDUCTOR ISRAEL LTD.
To: MARVELL ISRAEL (M.I.S.L.) LTD.
Reel/Frame 053365/0378 →
CHANGE OF NAME Recorded May 27, 2008
From: MARVELL SEMICONDUCTOR ISREAL LTD.
To: MARVELL ISRAEL (M.I.S.L.) LTD.
Reel/Frame 021018/0240 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2004
From: ROSEN, EITAN
To: MARVELL SEMICONDUCTOR ISRAEL LTD.
Reel/Frame 015738/0461 →
Continuity (1)
Provisional Application 6053976400 · Jan 28, 2004