IP Library Granted Patent US 9,129,674
Granted Patent B2
US 9,129,674 · App. 13/928,694 · Granted Sep 8, 2015

Hybrid memory device

Inventor: Raj K. Ramanujan (Federal Way, WA)
Assignee: Intel Corporation
G11C14/0009G06F12/00
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,129,674
App. No.
13/928,694
Granted
Sep 8, 2015
Kind
B2
Abstract

Memory devices, controllers, and electronic devices comprising memory devices are described. In one embodiment, a memory device comprises a volatile memory, a nonvolatile memory, and a controller comprising a memory buffer, and logic to transfer data between the nonvolatile memory and the volatile memory via the memory buffer in response to requests from an application, wherein data in the memory buffer is accessible to the application. Other embodiments are also disclosed and claimed.

Claims (67)

1. A memory device comprising:

a volatile memory;

a nonvolatile memory; and

a controller comprising:

a memory buffer; and

logic to transfer data between the nonvolatile memory and the volatile memory via the memory buffer in response to requests from an application, wherein data in the memory buffer is accessible to the application;

logic to receive a page-in request, and in response to the page-in request, to:

move a page of data from the nonvolatile memory to the memory buffer;

provide a signal to the application that the page of data is available; and

in response to a read operation from the application, write a page of data from the memory buffer to the volatile memory.

2. The memory device of claim 1 , wherein:

the volatile memory comprises dynamic random access memory (DRAM); and

the nonvolatile memory comprises a 3 dimensional cross-point memory.

3. The memory device of claim 1 , wherein the nonvolatile memory provides a backup for the volatile memory.

4. The memory device of claim 1 , wherein:

the memory buffer comprises a plurality of cache lines; and

the controller further comprises logic to invalidate the cache lines in the memory buffer when the cache line is written to the volatile memory.

5. The memory device of claim 1 , wherein the controller comprises logic to receive a page-out request, and in response to the page-out request, to:

receive a read operation to a predetermined address;

in response to the read operation, reading a page of data from the nonvolatile memory to the memory buffer; and

writing the page of data to the nonvolatile memory.

6. An electronic device, comprising:

a processor to execute an operating system and at least one application;

a memory device comprising:

a volatile memory;

a nonvolatile memory; and

a controller comprising:

a memory buffer; and

logic to transfer data between the nonvolatile memory and the volatile memory via the memory buffer in response to requests from the application, wherein data in the memory buffer is accessible to the application; and

a driver to manage memory access operations between the at least one application and the memory device, wherein the driver comprises logic to:

generate a page-in request to move a page of data from non-volatile memory to volatile memory; and

invalidate one or more cache lines in the processor for the page.

7. The electronic device of claim 6 , wherein:

the volatile memory comprises dynamic random access memory (DRAM); and

the nonvolatile memory comprises a 3 dimensional cross-point memory.

8. The electronic device of claim 6 , wherein the nonvolatile memory provides a backup for the volatile memory.

9. The electronic device of claim 6 , wherein the controller comprises logic to receive the page-in request, and in response to the page-in request, to:

move a page of data from the nonvolatile memory to the memory buffer;

provide a signal to the application that the page of data is available; and

in response to a read operation from the application, write a page of data from the memory buffer to the volatile memory.

10. The electronic device of claim 9 , wherein:

the memory buffer comprises a plurality of cache lines; and

the controller comprises logic to invalidate the cache lines in the memory buffer when the cache line is written to the volatile memory.

11. The electronic device of claim 6 , wherein the driver comprises logic to:

generate a page-out request to move a page of data from non-volatile memory to volatile memory.

12. The electronic device of claim 6 , wherein the controller comprises logic to receive the page-out request, and in response to the page-out request, to:

receive a read operation to a predetermined address;

in response to the read operation, reading a page of data from the nonvolatile memory to the memory buffer; and

write the page of data to the nonvolatile memory.

13. A controller for a memory device comprising a volatile memory and a nonvolatile memory, the controller comprising:

a memory buffer; and

logic to transfer data between the nonvolatile memory and the volatile memory via the memory buffer in response to requests from an application, wherein data in the memory buffer is accessible to the application;

logic to receive a page-in request, and in response to the page-in request, to:

move a page of data from the nonvolatile memory to the memory buffer;

provide a signal to the application that the page of data is available; and

in response to a read operation from the application, write page of data from the memory buffer to the volatile memory.

14. The controller of claim 13 , wherein:

the volatile memory comprises dynamic random access memory (DRAM); and

the nonvolatile memory comprises a 3 dimensional cross-point memory.

15. The controller of claim 13 , wherein the nonvolatile memory provides a backup for the volatile memory.

16. The controller of claim 13 , wherein:

the memory buffer comprises a plurality of cache lines; and

the controller further comprises logic to invalidate the cache lines in the memory buffer when the cache line is written to the volatile memory.

17. The controller of claim 13 , further comprising logic to receive a page-out request, and in response to the page-out request, to:

receive a read operation to a predetermined address;

in response to the read operation, reading a page of data from the nonvolatile memory to the memory buffer; and

writing the page of data to the nonvolatile memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2013
From: RAMANUJAN, RAJ K.
To: INTEL CORPORATION
Reel/Frame 031274/0413 →
Continuity (1)
Related Publication 20150003175A1 · Jan 1, 2015