IP Library › Granted Patent US 9,785,365
Granted Patent B1
US 9,785,365 · App. 14/963,098 · Granted Oct 10, 2017

Persistent memory descriptor

Inventors: Aws Shallal (Santa Clara, CA); Collins Williams (Santa Clara, CA); Dan Kunkel (Santa Clara, CA); William Wolf (Santa Clara, CA)
Assignee: Rambus Inc.
G06F3/0619G06F3/065G06F3/0608G06F3/0685G06F11/1446G06F11/1448G06F12/0238G06F12/0246G06F12/0802G06F2212/60
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,785,365
App. No.
14/963,098
Granted
Oct 10, 2017
Kind
B1
Abstract

The present invention is directed to memory systems. More specifically, embodiments of the present invention provide a memory system with a volatile memory, a persistent memory, and a controller. In a save operation, the controller copies contents of the volatile memory to the persistent memory as data units with their corresponding descriptor fields, where the descriptor fields include address information. In a restore operation, the controller copies data units from the persistent memory to their corresponding locations based on addresses stored at descriptor fields. There are other embodiments as well.

Claims (42)

1. A memory system comprising:

a first dynamic random access memory (DRAM) device;

a persistent memory module; and

a memory controller being configured to copy source data from the first DRAM device to a predetermined location of the persistent memory module in a save operation, and to copy backup data from the predetermined location to the first DRAM in a restore operation;

wherein:

in the save operation, the memory controller generates descriptor fields corresponding to segments of the source data, the descriptor fields comprising DRAM addresses, and the persistent memory module stores the segments of the source data with the descriptor fields as data units of the backup data;

in the restore operation, the memory controller reads the data units from the persistent memory module and determines the DRAM addresses of the data units using the descriptor fields.

2. The system of claim 1 wherein the memory controller is configured to initiate the save operation in response to a power failure indication.

3. The system of claim 1 wherein the descriptor fields further comprise version control information.

4. The system of claim 1 wherein the descriptor fields further comprise error correction information.

5. The system of claim 1 wherein the persistent memory module reads data units non-sequentially in the restore operation.

6. The system of claim 1 wherein the memory controller stores a first data unit to a first location of the first DRAM based on information stored at a descriptor field of the first data unit.

7. The system of claim 1 wherein the data units include a first data unit and a second data unit, the first data unit being non-sequential relative to the second data unit, the memory controller receiving the first data unit and the second data sequentially from the persistent memory module.

8. The system of claim 1 wherein the persistent memory module comprises a plurality of flash memory devices.

9. The system of claim 1 further comprising a data buffer coupled to the first DRAM device.

10. The system of claim 1 wherein the first DRAM device is coupled to the memory controller through a system bus.

11. The system of claim 1 wherein the memory controller comprises a cache memory.

12. The system of claim 1 wherein the memory controller comprises a central processing unit (CPU) core.

13. The system of claim 1 further comprising a plurality of DRAM devices.

14. A memory system comprising:

a plurality of DRAM devices including a first DRAM device;

a bus;

a command buffer;

a persistent memory module; and

a memory controller being configured to copy source data via the bus from the first DRAM device to a predetermined location of the persistent memory module in a save operation, and to copy backup data from the predetermined location to the first DRAM in a restore operation;

wherein:

in the save operation, the memory controller generates descriptor fields corresponding to segments of the source data, the descriptor fields comprising DRAM addresses, and the persistent memory module stores the segments of the source data with the descriptor fields as data units of the backup data;

in the restore operation, the memory controller reads the data units from the persistent memory module and determines the DRAM addresses of the data units using the descriptor fields.

15. The system of claim 14 wherein the memory controller comprises a cache memory and a CPU core.

16. The system of claim 14 wherein the persistent memory comprises a flash controller.

17. The system of claim 14 further comprising a backup power module.

18. A memory system comprising:

a plurality of DRAM devices including a first DRAM device;

a bus;

a persistent memory module;

a memory controller being configured to copy source data via the bus from the first DRAM device to a predetermined location of the persistent memory module in a save operation, and to copy backup data from the predetermined location to the first DRAM in a restore operation; and

a command buffer coupled to the memory controller, the plurality of DRAM devices, and the persistent memory module;

wherein:

in the save operation, the memory controller generates descriptor fields corresponding to segments of the source data, the descriptor fields comprising DRAM addresses, and the persistent memory module stores the segments of the source data with the descriptor fields as data units of the backup data;

in the restore operation, the memory controller reads the data units from the persistent memory module and determines the DRAM addresses of the data units using the descriptor fields.

19. The system of claim 18 wherein the memory controller comprises a host memory controller and a persistent memory controller, the command buffer being configured to receive command from the host memory controller and the persistent memory controller.

20. The system of claim 18 wherein the memory controller is configured to check for error when reading the data units from the persistent memory module.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2016
From: INPHI CORPORATION
To: RAMBUS INC.
Reel/Frame 040038/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2015
From: SHALLAL, AWS; WILLIAMS, COLLINS; KUNKEL, DAN; WOLF, WILLIAM
To: INPHI CORPORATION
Reel/Frame 037276/0331 →