IP Library Granted Patent US 9,239,753
Granted Patent B2
US 9,239,753 · App. 14/629,770 · Granted Jan 19, 2016

DRAM address protection

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,239,753
App. No.
14/629,770
Granted
Jan 19, 2016
Kind
B2
Abstract

In one embodiment, a system includes a memory, and a memory controller coupled to the memory via an address bus, a data bus, and an error code bus. The memory stores data at an address and stores an error code at the address. The error code is generated based on a function of the corresponding data and address.

Claims (33)

1. A memory controller comprising:

a data interface coupled to a memory via a data bus, the data interface configured to write data to an address in the memory;

an address interface coupled to the memory via an address bus, the address interface to provide the address to the memory;

an error code generation module configured to generate an error code based on a function of the data and the address, the error code being a combination of a check bit code and a gray code; and

an error interface configured to, responsive to a write request for the data, store the error code at a portion of the memory corresponding to the address.

2. The memory controller of claim 1 , wherein the data interface is further configured to enable performing both sequential accesses and interleaved accesses to memory.

3. The memory controller of claim 1 , wherein the memory controller is coupled to the memory absent an address parity line or an address parity error line, such that protecting integrity of bits on the address bus is performed by the error code transmitted via the error code bus.

4. The memory controller of claim 1 , wherein the error code indicates detection of a single error of the address.

5. The memory controller of claim 1 , wherein the error code indicates correction of a single error of the data and detection of a double error of the data.

6. The memory controller of claim 1 , wherein the error code protects both the address and the data between the memory and the memory controller.

7. The memory controller of claim 1 , wherein the error code is 8 bits.

8. The memory controller of claim 1 , wherein a user can select a mode of error code protection of the data among at least one of protecting the data, protecting the address, and protecting both the data and the address.

9. The memory controller of claim 1 , wherein the error code generation module is further configured to generate the error code by an exclusive-or operation of selected bits of the data and selected bits of the address.

10. The memory controller of claim 1 , wherein the address interface is further configured to write address information to a register of the memory, the register being configured to receive the address information and relay the address information to a corresponding portion of the memory.

11. The memory controller of claim 10 , wherein the register includes at least one of an address parity line and an address parity error line.

12. The memory controller of claim 11 , wherein the address parity line and the address parity error line are unused.

13. A method comprising:

writing data to a memory by a data interface coupled to the memory via a data bus;

providing an address to the memory by an address interface coupled to the memory via an address bus;

generating an error code based on a function of the data and the address, the error code being a combination of a check bit code and a gray code; and

responsive to a write request for the data, storing the error code at a portion of the memory corresponding to the address.

14. The method of claim 13 , further comprising performing both sequential accesses and interleaved accesses to the memory.

15. The method of claim 13 , wherein the error code is configured to protect integrity of bits on the address bus.

16. The method of claim 13 , wherein the error code indicates detection of a single error of the address.

17. The method of claim 13 , wherein the error code indicates correction of a single error of the data and detection of a double error of the data.

18. The method of claim 13 , wherein the error code protects both the address and the data between the memory and the memory controller.

19. The method of claim 13 , wherein the error code is 8 bits.

20. The method of claim 13 , wherein a user can select a mode of error code protection of the data among at least one of protecting the data, protecting the address, and protecting both the data and the address.

21. The method of claim 13 , wherein the error code is generated by an exclusive-or operation of selected bits of the data and selected bits of the address.

22. The method of claim 13 , wherein the memory includes a register, and further comprising:

at the register:

receiving address information; and

relaying the address information to a corresponding portion of the memory.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CERTIFICATE OF CONVERSION AND CERTIFICATE OF FORMATION Recorded Oct 2, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047185/0422 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2015
From: MAHESHWARI, ASEEM; BERTONE, MICHAEL S.; KESSLER, RICHARD E.
To: CAVIUM, INC.
Reel/Frame 035679/0393 →