Pipelined dual port integrated circuit memory
DCFirst Claim
1. An integrated circuit memory, comprising:
- a plurality of memory cells, each of the plurality of memory cells being coupled to a single word line and to a single bit line pair;
an address decoder, coupled to the plurality of memory cells, for selecting a memory cell of the plurality of memory cells in response to receiving an address;
a first address port, coupled to the address decoder, for providing a first address to the address decoder for accessing the plurality of memory cells;
a second address port, coupled to the address decoder, for providing a second address to the address decoder for accessing the plurality of memory cells;
a read data port, coupled to the plurality of memory cells, for reading data from the plurality of memory cells in response to either the first or the second address;
a write data port, coupled to the plurality of memory cells, for writing data to the plurality of memory cells in response to either the first or the second address; and
a control circuit, coupled to the address decoder, to the first and second address ports, and to the read and write data ports, the control circuit for controlling access to the plurality of memory cells, wherein substantially simultaneous requests for access to the plurality of memory cells are serviced sequentially within a single clock cycle of a clock signal of a data processor accessing the integrated circuit memory.
19 Assignments
Litigations
0 Petitions

Accused Products

Abstract
A pipelined dual port integrated circuit memory (20) includes an array (30) of static random access memory (SRAM) cells, where each of the memory cells (80) is connected to a single word line (72) and to a single bit line pair (74, 76). A control circuit (32) controls access to the memory cells, where substantially simultaneous requests for access are serviced sequentially within a single cycle of a clock signal of a data processor that is accessing the memory (20). An address collision detector (110) compares addresses provided to the two ports, and generates a match signal that is used for determining which of the two ports are serviced first, independent of which port is read from, or written to. Because dual port functionality is obtained using a single port SRAM array (30), the memory (20) may be manufactured using relatively less integrated circuit surface area, and therefore at a lower cost.
69 Citations
19 Claims
-
1. An integrated circuit memory, comprising:
-
a plurality of memory cells, each of the plurality of memory cells being coupled to a single word line and to a single bit line pair; an address decoder, coupled to the plurality of memory cells, for selecting a memory cell of the plurality of memory cells in response to receiving an address; a first address port, coupled to the address decoder, for providing a first address to the address decoder for accessing the plurality of memory cells; a second address port, coupled to the address decoder, for providing a second address to the address decoder for accessing the plurality of memory cells; a read data port, coupled to the plurality of memory cells, for reading data from the plurality of memory cells in response to either the first or the second address; a write data port, coupled to the plurality of memory cells, for writing data to the plurality of memory cells in response to either the first or the second address; and a control circuit, coupled to the address decoder, to the first and second address ports, and to the read and write data ports, the control circuit for controlling access to the plurality of memory cells, wherein substantially simultaneous requests for access to the plurality of memory cells are serviced sequentially within a single clock cycle of a clock signal of a data processor accessing the integrated circuit memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A pipelined dual port static random access memory, comprising:
-
a plurality of static random access memory cells, each of the plurality of static random access memory cells being coupled to a single word line and to a single bit line pair; an address decoder, coupled to the plurality of static random access memory cells, for selecting a memory cell of the plurality of static random access memory cells in response to receiving an address; a first address port, coupled to the address decoder, for providing a first address to the address decoder for accessing the plurality of static random access memory cells; a second address port, coupled to the address decoder, for providing a second address to the address decoder for accessing the plurality of static random access memory cells; a first read/write data port, coupled to the plurality of static random access memory cells, for reading data from the plurality of static random access memory cells in response to either the first address or the second address; a second read/write data port, coupled to the plurality of memory cells, for writing data to the plurality of static random access memory cells in response to either the first or the second address; and a control circuit, coupled to the address decoder, to the first and second address ports, and to the first and second read/write data ports, the control circuit for controlling access to the plurality of static random access memory cells, wherein substantially simultaneous requests for access to the plurality of static random access memory are serviced sequentially within a single clock cycle of a clock signal of a data processor accessing the pipelined dual port static random access memory. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A pipelined dual port static random access memory, comprising:
-
a plurality of static random access memory cells, each of the plurality of static random access memory cells being coupled to a single word line and to a single bit line pair; an address decoder, coupled to the plurality of static random access memory cells, for selecting a memory cell of the plurality of static random access memory cells in response to receiving an address; a first address port, coupled to the address decoder, for providing a first address to the address decoder for accessing the plurality of static random access memory cells; a second address port, coupled to the address decoder, for providing a second address to the address decoder for accessing the plurality of static random access memory cells; an address collision detector, coupled to the first and second address ports, for receiving the first and second addresses, and in response, providing a match signal of a first logic state when the first address is the same as the second address, and for providing the match signal of a second logic state when the first address is not the same as the second address; a first read/write data port, coupled to the plurality of static random access memory cells, for reading data from the plurality of static random access memory cells in response to either the first address or the second address; a second read/write data port, coupled to the plurality of static random access memory cells, for writing data to the plurality of static random access memory cells in response to either the first address or the second address; and a control circuit, coupled to the address decoder, to the first and second address ports, to the address collision detector, and to the first and second read/write data ports, the control circuit for controlling access to the plurality of memory cells wherein substantially simultaneous requests for access to the plurality of static random access memory cells are serviced sequentially within a single clock cycle of a clock signal of a data processor that is accessing the pipelined dual-port static random access memory, and wherein the match signal determines which of the first and second read/write data ports are serviced first. - View Dependent Claims (16, 17, 18, 19)
-
Specification