IP Library Granted Patent US 8,555,011
Granted Patent B1
US 8,555,011 · App. 13/297,171 · Granted Oct 8, 2013

Apparatus and method for a synchronous multi-port memory

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,555,011
App. No.
13/297,171
Granted
Oct 8, 2013
Kind
B1
Abstract

A method of and apparatus for arbitrating a memory access conflict to a memory array. The apparatus may include selection logic coupled with a plurality of ports and a memory array to arbitrate among a plurality of contending memory access requests and to conditionally block write data from accessing the memory array when write data arrives late in time.

Claims (23)

1. A method comprising: shifting a memory address of a memory array, a first write-enable value, and a first write data stored in a first input stage to a first delay stage, wherein the first delay stage is configured to store the memory address, first write-enable value, and the first write data; shifting the memory address, a second write-enable value, and a second write data stored in a second input stage to a second delay stage, wherein the second delay stage is configured to store the memory address, second write-enable value, and the second write data; selecting the memory address from the second input stage and asserting a read enable signal at the memory array; and clearing the second write-enable value from a control delay element in the second delay stage to assert a write disable signal at the memory array, the write disable signal conditionally blocking the second write data from accessing the memory array.

2. The method of claim 1 , wherein the first write-enable value accesses the memory array before the second write data.

3. The method of claim 1 , wherein clearing the second write-enable value from the second delay stage comprises clearing a control delay element storing the second write-enable value in the second delay stage.

4. The method of claim 1 , further comprising asserting a write disable signal when the second write data arrives at the memory array after the first write data.

5. The method of claim 1 , wherein the first write-enable value and first write data arrive first in time, wherein the second write-enable value and second write data arrive second in time, and wherein the conditionally blocking of the second write data from accessing the memory array is based on the second write data arriving second in time.

6. An apparatus, comprising: a plurality of ports; and selection logic coupled with the plurality of ports and configured to arbitrate among a plurality of contending memory access requests to a memory array and configured to select a prevailing memory access request from a prevailing one of the plurality of ports, wherein the selection logic is configured to shift a memory address, a write-enable value and a write data from a first input stage to a first delay stage of a memory array, shift the memory address and a read-enable value from a second input stage to a second delay stage of the memory array, select a memory address from a second input stage of a plurality of input stages, assert a read enable signal at a memory array comprising a plurality of memory addresses, and clear a control delay element in a non-prevailing port, wherein the non-prevailing port is configured to assert a disable signal at the memory array in response to the cleared control delay element.

7. The apparatus of claim 6 , wherein each port comprises an address multiplexer coupled with an address input element and address delay element.

8. The apparatus of claim 6 , wherein each port comprises a data multiplexer coupled with an output element and a data delay element of the port.

9. The apparatus of claim 6 , wherein the selection logic is configured to selectively shift contending memory access requests to corresponding delay stages based on a type of memory access the contending memory access requests are configured to request.

10. The apparatus of claim 9 , wherein the selection logic is configured to shift write requests to corresponding delay stages.

11. The apparatus of claim 9 , wherein the selection logic is configured to bypass corresponding delay stages for read requests.

12. The apparatus of claim 6 , wherein the control delay element is configured to store a control signal for memory access requests corresponding to the non-prevailing port.

13. A method, comprising:

shifting a memory address, a write-enable value and a write data from a first input stage to a first delay stage of a memory array;

shifting the memory address and a read-enable value from a second input stage to a second delay stage of the memory array;

selecting the memory address from the second input stage and asserting a read enable signal at the memory array; and

clearing the write-enable value from a control delay element in the first delay stage to assert a write disable signal at the memory array.

14. The method of claim 13 , further comprising:

selecting a location where valid read data can be found from one of the memory array, the first input stage, the first delay stage and the second delay stage; and

shifting the valid read data from the location to an output storage element of the second port.

15. The method of claim 14 , further comprising:

asserting the write-enable value at the memory array; and

writing the write data to the memory array.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE 8647899 PREVIOUSLY RECORDED ON REEL 035240 FRAME 0429. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTERST. Recorded Nov 3, 2020
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058002/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2016
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MONTEREY RESEARCH, LLC
Reel/Frame 040911/0238 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 11, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 039708/0001 →
SECURITY INTEREST Recorded Mar 21, 2015
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035240/0429 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2012
From: YADAV, RISHI
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 028100/0103 →