IP Library Granted Patent US 8,923,089
Granted Patent B2
US 8,923,089 · App. 13/725,028 · Granted Dec 30, 2014

Single-port read multiple-port write storage device using single-port memory cells

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,923,089
App. No.
13/725,028
Granted
Dec 30, 2014
Kind
B2
Abstract

A storage device provides single-port read multiple-port write functionality and includes first and second memory arrays and a controller. The first memory array includes first and second single-port memory cells. The second single-port memory cell stores data in response to a memory access conflict associated with the first single-port memory cell. The second memory array stores location information associated with data stored in the first and second single-port memory cells. The controller is operatively coupled to the first and second memory arrays, and resolves the memory access conflict by determining locations to store data in the first and second single-port memory cells to thereby avoid a collision between concurrent memory accesses to the first single-port memory cell in response to the memory access conflict. The controller determines locations to store data in the first and second single-port memory cells based on the location information.

Claims (32)

1. A storage device that provides single-port read multiple-port write functionality, the storage device comprising:

a first memory array, the first memory array comprising at least a first single-port memory cell and a second single-port memory cell, the second single-port memory cell storing data in response to a memory access conflict associated with the first single-port memory cell during a memory cycle;

a second memory array, the second memory array storing location information associated with data stored in the first and second single-port memory cells; and

a controller operatively coupled to the first and second memory arrays, the controller resolving the memory access conflict by determining locations to store data in the first single-port memory cell and the second single-port memory cell to avoid a collision between concurrent memory accesses to the first single-port memory cell in response to the memory access conflict, the controller determining locations to store data in the first single-port memory cell and the second single-port memory cell based on the location information, the controller determining locations to access data stored in the first single-port memory cell and the second single-port memory cell as a function of the location information;

wherein the second memory array comprises at least one of single-port read or write primitive memory cells, single-port read multiple-port write primitive memory cells, multiple-port read single-port write primitive memory cells, and M+1-port read M-port write monolithic memory cells, M being a positive integer.

2. The storage device defined by claim 1 , wherein the storage device comprises single-port read M-port write functionality, M being a positive integer.

3. The storage device defined by claim 2 , wherein the second memory array comprises M sub-arrays, each of the M sub-arrays comprising M+1 memory banks.

4. The storage device defined by claim 1 , wherein the second memory array comprises M+1-port read M-port write functionality, M being a positive integer.

5. The storage device defined by claim 1 , wherein the second memory array comprises a mapping table, the mapping table providing a physical bank identification based on a logical bank identification and an address offset, an address associated with a memory operation to be performed comprising the logical bank identification and the address offset, the physical bank identification identifying a memory bank associated with the first memory array, the address offset identifying a location in the memory bank.

6. The storage device defined by claim 5 , wherein the mapping table comprises rows and columns, the columns being associated with the logical bank identification, the rows being associated with the address offset, the physical bank identification being located at an intersection of a column associated with the logical bank identification and a row associated with the address offset.

7. The storage device defined by claim 1 , wherein the second memory array comprises a select table, the select table identifying a sub-array in the second memory array.

8. The storage device defined by claim 7 , wherein a mapping table is stored in the sub-array, the mapping table comprising a mapping between a logical bank identification and a physical bank identification.

9. The storage device defined by claim 1 , where at least a portion of the storage device is fabricated in at least one integrated circuit.

10. The storage device defined by claim 1 , wherein the first memory array is organized into a plurality of memory banks, each of the memory banks having a depth d, and wherein a sum of the depths d associated with each of the memory banks in the first memory array is equal to a total depth D of the storage device, where d and D are positive integers, D being greater than or equal to d.

11. The storage device defined by claim 1 , wherein the storage device comprises single-port read M-port write functionality, M being a positive integer, the first memory array comprising M+2 memory banks.

12. The storage device defined by claim 1 , wherein the controller is configured to cause data associated with a write operation to be stored at a location in the second single-port memory cell in response to a concurrent memory access received during a memory cycle requesting access to the same memory bank to which the write operation has requested access.

13. The storage device defined by claim 1 , wherein the second memory array comprises an entry, the entry comprising N+M fields, N being a positive integer representing a quantity of memory banks associated with a plurality of first single-port memory cells, M being a positive integer representing a quantity of memory banks associated with a plurality of second single-port memory cell, each of the fields storing a physical bank identification associated with a memory bank associated with one of the plurality of first single-port memory cells and the plurality of second single-port memory cells.

14. The storage device defined by claim 1 , wherein the first single-port memory cell comprises single-port read write (1RW) static random access memory.

15. The storage device defined by claim 1 , wherein the second single-port memory cell comprises single-port read write (1RW) static random access memory.

16. The storage device defined by claim 1 , wherein the second memory array comprises single-port read single-port write (1R1W) static random access memory.

17. The storage device defined by claim 1 , wherein at least a portion of the storage device is fabricated in at least one integrated circuit.

18. A memory operative to provide single-port read multiple-port write functionality, the memory comprising:

a first memory array, the first memory array comprising at least a first single-port memory cell and a second single-port memory cell, the second single-port memory cell storing data in response to a memory access conflict associated with the first single-port memory cell during a memory cycle;

a second memory array, the second memory array storing location information associated with data stored in the first and second single-port memory cells; and

a controller operatively coupled to the first and second memory arrays, the controller resolving the memory access conflict by determining locations to store data in the first single-port memory cell and the second single-port memory cell to avoid a collision between concurrent memory accesses to the first single-port memory cell in response to the memory access conflict, the controller determining locations to store data in the first single-port memory cell and the second single-port memory cell based on the location information, the controller determining locations to access data stored in the first single-port memory cell and the second single-port memory cell as a function of the location information;

wherein the second memory array comprises at least one of single-port read or write primitive memory cells, single-port read multiple-port write primitive memory cells, multiple-port read single-port write primitive memory cells, and M+1-port read M-port write monolithic memory cells, M being a positive integer.

19. An electronic system, comprising:

an integrated circuit, the integrated circuit comprising at least one memory operative to provide single-port read multiple-port write functionality, the at least one memory comprising:

a first memory array, the first memory array comprising at least a first single-port memory cell and a second single-port memory cell, the second single-port memory cell storing data in response to a memory access conflict associated with the first single-port memory cell during a memory cycle;

a second memory array, the second memory array storing location information associated with data stored in the first and second single-port memory cells; and

a controller operatively coupled to the first and second memory arrays, the controller resolving the memory access conflict by determining locations to store data in the first single-port memory cell and the second single-port memory cell to avoid a collision between concurrent memory accesses to the first single-port memory cell in response to the memory access conflict, the controller determining locations to store data in the first single-port memory cell and the second single-port memory cell based on the location information, the controller determining locations to access data stored in the first single-port memory cell and the second single-port memory cell as a function of the location information;

wherein the second memory array comprises at least one of single-port read or write primitive memory cells, single-port read multiple-port write primitive memory cells, multiple-port read single-port write primitive memory cells, and M+1-port read M-port write monolithic memory cells, M being a positive integer.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER PREVIOUSLY RECORDED ON REEL 047642 FRAME 0417. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT, Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048521/0395 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047642/0417 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2012
From: LIU, SHENG; ZHOU, TING
To: LSI CORPORATION
Reel/Frame 029521/0285 →