IP Library Granted Patent US 8,867,263
Granted Patent B2
US 8,867,263 · App. 13/740,862 · Granted Oct 21, 2014

Multiport memory with matching address and data line control

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,867,263
App. No.
13/740,862
Granted
Oct 21, 2014
Kind
B2
Abstract

In a multiple port SRAM, a first bit cell is coupled to first and second word lines and a first and second bit line pair. A first data line pair is coupled to the first bit line pair via first switching logic. A second data line pair is coupled to the first bit line pair via second switching logic and to the second bit line pair via third switching logic. If a row address match but not a column address match exists between a first and second access address, the second switching logic selectively connects the second data line pair with the first bit line pair based on a first decoded signal generated from the column address of the second access address and the third switching logic decouples the second data line pair from the second bit line pair.

Claims (67)

1. A multiple port static random access memory (SRAM) having a first port and a second port, comprising:

a first word line and a second word line of a plurality of word lines;

a first bit line pair, a second bit line pair, a third bit line pair, and a fourth bit line pair of a plurality of bit line pairs;

an array of bit cells coupled to the plurality of word lines and the plurality of bit line pairs, wherein the array of bit cells comprises:

a first bit cell having a first storage latch, and coupled to the first word line and the first bit line pair to access the first storage latch, and coupled to the second word line and the second bit line pair to access the first storage latch;

a first read/write data line pair of a first plurality of read/write data line pairs for accessing the array of bit cells, and a second read/write data line pair of a second plurality of read/write data line pairs for accessing the array of bit cells, wherein:

the first read/write data line pair is coupled to the first bit line pair via first switching logic; and

the second read/write data line pair is coupled to the first bit line pair via second switching logic and coupled to the second bit line pair via third switching logic;

a row match detector which provides a row match indicator based on whether a row address of a first access address matches a row address of a second access address; and

a column match detector which provides a column match indicator based on whether a column address of the first access address matches a column address of the second access address, wherein in response to the row match indicator indicating a match and the column match indicator not indicating a match, the second switching logic selectively connects the second read/write data line pair with the first bit line pair based on a first decoded signal generated from the column address of the second access address and the third switching logic decouples the second read/write data line pair from the second bit line pair.

2. The multiple port SRAM of claim 1 , wherein in response to the row match indicator not indicating a match, the third switching logic selectively connects the second read/write data line pair with the second bit line pair based on the first decoded signal generated from the column address of the second access address.

3. The multiple port SRAM of claim 2 , wherein in response to the row match indicator not indicating a match, the second switching logic decouples the second read/write data line pair from the first bit line pair.

4. The multiple port SRAM of claim 3 , wherein the first switching logic selectively connects the first read/write data line pair with the first bit line pair based on a first decoded signal generated from the column address of the first access address.

5. The multiple port SRAM of claim 1 , wherein the array of bit cells comprises:

a second bit cell having a second storage latch, and coupled to the first word line and the third bit line pair to access the second storage latch, and coupled to the second word line and the fourth bit line pair to access the second storage latch;

wherein the first read/write data line pair is coupled to the third bit line pair via fourth switching logic, and the second read/write data line pair is coupled to the third bit line pair via fifth switching logic, and coupled to the fourth bit line pair via sixth switching logic;

wherein the fourth switching logic selectively connects the first read/write data line pair with the third bit line pair based on a second decoded signal generated from the column address of the first access address, and

wherein in response to the row match indicator indicating a match and the column match indicator not indicating a match, the fifth switching logic selectively connects the second read/write data line pair with the third bit line pair based on a second decoded signal generated from the column address of the second access address and the sixth switching logic decouples the second read/write data line pair from the fourth bit line pair.

6. The multiple port SRAM of claim 5 , wherein in response to the row match indicator not indicating a match, the sixth switching logic selectively connects the second read/write data line pair with the fourth bit line pair based on the second decoded signal generated from the column address of the second access address.

7. The multiple port SRAM of claim 6 , wherein in response to the row match indicator not indicating a match, the fifth switching logic decouples the second read/write data line pair from the third bit line pair.

8. The multiple port SRAM of claim 1 , wherein in response to both the row match indicator indicating a match and the column match indicator indicating a match, read/write circuitry coupled to the second read/write data line pair is disabled.

9. The multiple port SRAM of claim 1 , wherein if the first word line is activated based on the first access address and both the row match indicator indicates a match and the column match indicator indicates a match:

the first read/write data line pair selectively accesses the first bit cell based on a first decoded signal generated from the column address of the first access address, and

the second word line is disabled.

10. The multiple port SRAM of claim 9 , wherein in response to:

the first word line being activated based on the first access address,

the first decoded signal generated from the column address of the first access address being asserted, and

both the row indicator indicating a match and the column match indicator indicating a match,

the multiple port SRAM is further characterized by:

if the first access address and the second access address each correspond to a read access, the first read/write data line pair provides read data from the first bit cell, and the read data is provided to both the first port and the second port,

if the first access address corresponds to a write access, the first port receives write data which is provided by the first read/write data line pair to the first bit cell and is provided to the second port as read data, and

if the second access address corresponds to a write access, the first port receives write data which is provided by the first read/write data line pair to the first bit cell and is provided to the first port as read data.

11. The multiple port SRAM of claim 1 , further comprising:

first row decode circuitry coupled to a first subset of the plurality of word lines, including the first word line, wherein the first row decode circuitry activates a word line of the first subset based on the first access address; and

second row decode circuitry coupled to a second subset of the plurality of word lines, including the second word line, wherein the first subset and the second subset are mutually exclusive.

12. The multiple port SRAM of claim 11 , wherein:

when the row match indicator does not indicate a match, the second row decode circuitry activates a word line of the second subset based on the second access address, and

when the row match indicator indicates a match, the second row decode circuitry is disabled, in which the second word line is disabled.

13. The multiple port SRAM of claim 1 , wherein, when the row match indicator does not indicate a match, the first plurality of read/write data line pairs accesses a first set of bit cells of the array of bit cells in response to the first access address, and the second plurality of read/write data line pairs accesses a second set of bit cells of the array of bit cells, mutually exclusive of the first set of bit cells, in response to the second access address.

14. The multiple port SRAM of claim 13 , wherein the access of the first plurality of read/write data line pairs occurs simultaneously with the access of the second plurality of read/write data line pairs.

15. A method for accessing a multiple port static random access memory (SRAM) having a plurality of word lines, a plurality of bit line pairs, and a plurality of bit cells coupled to the plurality of word lines and the plurality of bit line pairs, wherein each of the plurality of bit cells is coupled to a first bit line pair and a second bit line pair of the plurality of bit line pairs and a first word line and a second word line of the plurality of word lines, the method comprising:

providing a first access address and a second access address to the multiple port SRAM;

providing a row match indicator based on a comparison between a row address of the first access address and a row address of the second access address, and providing a column match indicator based on a comparison between a column address of the first access address and a column address of the second access address; and

if the row match indicator indicates a match and the column match indicator does not indicate a match:

deactivating the second word line for each bit cell of the plurality of bit cells;

for each bit cell selected by the first access address, using a first read/write data line pair of the multiple port SRAM to access the bit cell selected by the first access address using the first bit line pair and the first word line,

for each bit cell selected by the second access address, using a second read/write data line pair of the multiple port SRAM to access the bit cell selected by the second access address using the first bit line pair and the first word line, and

decoupling the second read/write data line pairs from the second bit line pairs of the plurality of bit cells.

16. The method of claim 15 , wherein, if the row match indicator does not indicate a match, the method comprises:

for each bit cell selected by the first access address, using the first read/write data line pair to perform a read or write access to the bit cell selected by the first access address using the first bit line pair and the first word line; and

for each bit cell selected by the second access address, using the second read/write data line pair to perform a read or write access the bit cell selected by the second access address using the second bit line pair and the second word line.

17. The method of claim 15 , wherein, if both the row match indicator indicates a match and the column match indicator indicates a match, the method comprises:

if the first access address and the second access address each correspond to a read access, using the first read/write data line pair to access read data from bit cells selected by the first access address, and providing the read data as read data outputs at each of a first port and a second port of the multiple port SRAM;

if the first access address corresponds to a write access, receiving write data at the first port, providing the received write data as the read data output at the second port, and using the first read/write data line pair to store the received write data to bit cells selected by the first access address; and

if the second access address corresponds to a write access, receiving write data at the first port, providing the received write data as the read data output at the first port, and using the first read/write data line pair to store the received write data to bit cells selected by the first access address.

18. A multiple port static random access memory (SRAM) having a first port for receiving a first access address and a second port for receiving a second access address, the multiple port SRAM comprising:

a row match detector which provides a row match indicator based on whether a first row address derived from the first access address matches a second row address derived from the second access address;

a column match detector which provides a column match indicator based on whether a first column address derived from the first access address matches a second column address derived from the second access address;

a first bit cell having a first storage latch, and coupled to a first word line, a first true bit line, and a first complementary bit line to access the first storage latch, and coupled to a second word line, a second true bit line, and a second complementary bit line to access the first storage latch;

a second bit cell having a second storage latch, and coupled to the first word line, a third true bit line, and a third complementary bit line to access the second storage latch, and coupled to the second word line, a fourth true bit line, and a fourth complementary bit line to access the second storage latch;

a first data line pair, wherein the first true bit line and first complementary bit line is coupled to the first data line pair via first switching logic that is responsive to a first column decode signal generated from the first access address; and

a second data line pair, wherein the first true bit line and first complementary bit line is coupled to the first data line pair via second switching logic that is responsive to a first logical combination of a first column decode signal generated from the second access address, a row match indicator, and a column match indicator, and wherein the second true bit line and the second complementary bit line are coupled to the second data line pair via third switching logic that is responsive to a second logical combination of the first column decode signal generated from the second access address and the row match indicator.

19. The multiple port SRAM of claim 18 , wherein:

the second switching logic connects the first true bit line and first complementary bit line to the second data line pair when the first column decode signal generated from the second access address is asserted, the row match indicator indicates a match, and the column match indicator does not indicate a match, and otherwise decouples the first true bit line and first complementary bit line from the second data line pair; and

the third switching logic connects the second true bit line and the second complementary bit line to the second data line pair when the first column decode signal generated from the second access address is asserted and the row match indicator does not indicate a match, and otherwise decouples the second true bit line and the second complementary bit line from the second data line pair.

20. The multiple port SRAM of claim 19 , wherein:

the first switching logic connects the first true bit line and the first complementary bit line to the first data line pair when the first column decode signal generated from the first access address is asserted, and decouples the first true bit line and the first complementary bit line from the first data line pair when the first column decode signal generated from the first access address is not asserted.

Assignments (17)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
MERGER Recorded Jan 3, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041144/0363 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0704 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0744 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0725 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2013
From: PELLEY, PERRY H.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 029623/0689 →