IP Library Granted Patent US 9,990,160
Granted Patent B2
US 9,990,160 · App. 15/193,686 · Granted Jun 5, 2018

Methods and apparatus for smart memory interface

Inventor: Chee Hak Teh (Bayan Lepas, MY)
Assignee: Altera Corporation
G06F3/0664G06F3/0604G06F3/0619G06F3/0632G06F3/0683G06F11/1068G11C29/52
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 9,990,160
App. No.
15/193,686
Granted
Jun 5, 2018
Kind
B2
Abstract

One embodiment relates to a memory structure that includes a bank group and a port emulation circuit module. The bank group includes a plurality of memory banks, each memory bank having one read port and one write port. The port emulation circuit module provides a group read/write port and a group read port for the bank group. Another embodiment relates to a port emulation circuit module. The port emulation circuit module includes a port emulation control circuit that receives control signals including a first address for a group read/write port and a second address for a group read port, a first data path circuit for the group read/write port, and a second data path circuit for the group read port, wherein the second data path circuit outputs a second read data. Other embodiments and features are also disclosed.

Claims (38)

1. A memory structure comprising:

a bank group comprising a plurality of memory banks, each memory bank having one read port and one write port; and

a port emulation circuit module that provides a group read/write port and a group read port for the bank group wherein the port emulation control circuit includes a command decode path circuit,

wherein the port emulation circuit module reconstructs data requested by a data read command received from the group read/write port when there is a bank conflict with a data read command received from the group read port.

2. The memory structure of claim 1 , wherein the port emulation circuit module comprises:

a port emulation control circuit that receives control signals including a first address for the group read/write port and a second address for the group read port.

3. The memory structure of claim 1 , wherein the port emulation control circuit includes a command decode path circuit.

4. The memory structure of claim 3 , wherein the port emulation circuit module further comprises:

a first data path circuit for the group read/write port, wherein the first data path circuit receives write data and outputs first read data; and

a second data path circuit for the group read port, wherein the second data path circuit outputs second read data.

5. The memory structure of claim 4 , wherein the first data path circuit includes circuitry for atomic operations.

6. The memory structure of claim 5 , wherein the circuitry for atomic operations includes binary adder logic, Boolean operation logic, compare logic, and data swap logic.

7. The memory structure of claim 1 , wherein the data requested by the data read command received from the group read/write port is reconstructed by reading data from a same address in all other memory banks in the bank group.

8. The memory structure of claim 1 , wherein, after receiving a data write command from the group read/write port to write new data to a targeted entry, the port emulation circuit module reads previous data of the targeted entry.

9. The memory structure of claim 8 , wherein, after receiving the data write command from the group read/write port to write the new data to the targeted entry, the port emulation circuit module also calculates an updated parity and writes the updated parity into a corresponding entry in a parity bank of the bank group.

10. A port emulation circuit module, the circuit module comprising:

a port emulation control circuit that receives control signals including a first address for a group read/write port and a second address for a group read port;

a first data path circuit for the group read/write port, wherein the first data path circuit receives write data and outputs first read data; and

a second data path circuit for the group read port, wherein the second data path circuit outputs a second read data,

wherein the port emulation circuit module reconstructs data requested by a data read command received from the group read/write port when there is a bank conflict with a data read command received from the group read port.

11. The circuit module of claim 10 , wherein the port emulation control circuit includes a command decode path circuit.

12. The circuit module of claim 10 , wherein the first data path circuit includes circuitry for atomic operations.

13. The circuit module of claim 12 , wherein the circuitry for atomic operations includes binary adder logic, Boolean operation logic, compare logic, and data swap logic.

14. The circuit module of claim 10 , wherein the data requested by the data read command received from the group read/write port is reconstructed by reading data from a same address in all other memory banks in the bank group.

15. The circuit module of claim 10 , wherein, after receiving a data write command from the group read/write port to write new data to a targeted entry, the port emulation circuit module reads previous data of the targeted entry.

16. The circuit module of claim 15 , wherein, after receiving the data write command from the group read/write port to write the new data to the targeted entry, the port emulation circuit module also calculates an updated parity and writes the updated parity into a corresponding entry in a parity bank of the bank group.

17. A port emulation circuit module, the circuit module comprising:

a port emulation control circuit that receives control signals including a first address for a group read/write port and a second address for a group read port;

a first data path circuit for the group read/write port, wherein the first data path circuit receives write data and outputs first read data; and

a second data path circuit for the group read port, wherein the second data path circuit outputs a second read data,

wherein the first data path circuit includes circuitry for atomic operations, and

wherein the circuitry for atomic operations includes binary adder logic, Boolean operation logic, compare logic, and data swap logic.

18. A port emulation circuit module, the circuit module comprising:

a port emulation control circuit that receives control signals including a first address for a group read/write port and a second address for a group read port;

a first data path circuit for the group read/write port, wherein the first data path circuit receives write data and outputs first read data; and

a second data path circuit for the group read port, wherein the second data path circuit outputs a second read data,

wherein, after receiving a data write command from the group read/write port to write new data to a targeted entry, the port emulation circuit module reads previous data of the targeted entry.

19. The circuit module of claim 18 , wherein, after receiving the data write command from the group read/write port to write the new data to the targeted entry, the port emulation circuit module also calculates an updated parity and writes the updated parity into a corresponding entry in a parity bank of the bank group.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061827/0686 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2022
From: ALTERA CORPORATION
To: INTEL CORPORATION
Reel/Frame 060778/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2016
From: TEH, CHEE HAK
To: ALTERA CORPORATION
Reel/Frame 039146/0369 →
Continuity (1)
Related Publication 20170371594A1 · Dec 28, 2017