IP Library › Granted Patent US 11,397,698
Granted Patent B2
US 11,397,698 · App. 16/777,206 · Granted Jul 26, 2022

Asynchronous communication protocol compatible with synchronous DDR protocol

Inventors: Dimin Niu (Sunnyvale, CA); Mu-Tien Chang (Santa Clara, CA); Hongzhong Zheng (Los Gatos, CA); Sun Young Lim (Hwasung, KR); Indong Kim (Hwasung, KR); Jangseok Choi (Campbell, CA); Craig Hanson (Champlin, MN)
G06F13/1673G06F13/4068G06F13/42
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 11,397,698
App. No.
16/777,206
Granted
Jul 26, 2022
Kind
B2
Abstract

A memory module includes: a non-volatile memory; and an asynchronous memory interface to interface with a memory controller. The asynchronous memory interface may use repurposed pins of a double data rate (DDR) memory channel to send an asynchronous data to the memory controller. The asynchronous data may be device feedback indicating a status of the non-volatile memory.

Claims (33)

1. A memory module comprising:

a non-volatile memory; and

an asynchronous memory interface to interface with a memory controller,

wherein the asynchronous memory interface uses one or more repurposed pins of a double data rate (DDR) memory channel that is operable for synchronous data communication between the memory controller and the memory module to asynchronously access data stored in the non-volatile memory and synchronously or asynchronously send the data to the memory controller using the one or more repurposed pins via the DDR memory channel.

2. The memory module of claim 1 , further comprising a volatile memory, wherein the asynchronous memory interface uses one or more pins of the DDR memory channel in addition to the one or more repurposed pins of the DDR memory channel to synchronously or asynchronously send the data to the memory controller via the DDR memory channel.

3. The memory module of claim 2 , wherein the non-volatile memory and the volatile memory are co-located in the DDR memory channel.

4. The memory module of claim 1 , wherein the memory module asynchronously sends a device feedback indicating a status of the memory module to the memory controller using the one or more repurposed pins of the DDR memory channel in response to a data access request received from the memory controller, and

wherein the memory controller synchronously sends data requested by the data access request using the one or more pins of the DDR memory channel based on the status of the memory module.

5. The memory module of claim 4 , wherein the device feedback indicates that the data requested by the data access request from the memory controller is located in a data buffer of the non-volatile memory or loaded into a volatile memory included in the memory module.

6. The memory module of claim 4 , wherein the device feedback includes row address select (RAS) information of the memory module.

7. The memory module of claim 1 , wherein the one or more repurposed pins include one or more dedicated data pins that are dedicated to a specific dual in-line memory module (DIMM).

8. The memory module of claim 7 , wherein the one or more repurposed pins include shared data pins that are shared by multiple DIMMs.

9. The memory module of claim 8 , wherein the memory module asynchronously sends a device feedback to the memory controller using the one or more dedicated data pins and the shared data pins.

10. The memory module of claim 9 , wherein the device feedback includes a plurality of time slots for the multiple DIMMs.

11. The memory module of claim 10 , wherein each of the plurality of time slots of the device feedback includes a transaction ID.

12. A system comprising:

a memory controller;

a memory module comprising a non-volatile memory; and

a double data rate (DDR) memory channel for providing an asynchronous memory interface between the memory controller and the memory module,

wherein the asynchronous memory interface uses one or more repurposed pins of the DDR memory channel to asynchronously access data stored in the non-volatile memory and send the data to the memory controller via the DDR memory channel, and

wherein the asynchronous memory interface uses one or more pins of the DDR memory channel that are used for synchronous data communication between the memory module and the memory controller in addition to the one or more repurposed pins of the DDR memory channel to synchronously or asynchronously send the data to the memory controller using the one or more repurposed pins via the DDR memory channel.

13. The system of claim 12 , wherein the memory module asynchronously sends a device feedback indicating a status of the memory module to the memory controller using the one or more repurposed pins of the DDR memory channel in response to a data access request received from the memory controller, and

wherein the memory controller synchronously sends data requested by the data access request using one or more pins of the DDR memory channel that are different from the one or more repurposed pins of the DDR memory channel based on the status of the memory module.

14. The system of claim 12 , wherein the one or more repurposed pins include one or more dedicated data pins that are dedicated to a specific dual in-line memory module (DIMM).

15. The system of claim 14 , wherein the one or more repurposed pins include shared data pins that are shared by multiple DIMMs.

16. The system of claim 15 , wherein the memory module asynchronously sends a device feedback to the memory controller using the one or more dedicated data pins and the shared data pins.

17. The system of claim 16 , wherein the device feedback includes a plurality of time slots for the multiple DIMMs.

18. The system of claim 17 , wherein each of the plurality of time slots of the device feedback includes a transaction ID.

19. The system of claim 12 , wherein the memory module further comprises a volatile memory, and the non-volatile memory and the volatile memory of the memory module are co-located in the DDR memory channel.

20. A method comprising:

providing an asynchronous memory interface between a memory controller and a memory module over a double data rate (DDR) memory channel that is operable for synchronous data communication between the memory controller and the memory module, wherein the memory module comprises a non-volatile memory;

asynchronously accessing data stored in the non-volatile memory of the memory module, from the memory controller; and

synchronously or asynchronously sending the data to the memory controller using one or more repurposed pins via the DDR memory channel.

Continuity (4)
Continuation 15233850 · Aug 10, 2016
Provisional Application 62347569 · Jun 8, 2016
Provisional Application 62303349 · Mar 3, 2016
Related Publication 20200167297A1 · May 28, 2020