IP Library Granted Patent US 10,108,546
Granted Patent B2
US 10,108,546 · App. 14/586,205 · Granted Oct 23, 2018

Method and system for using non-volatile memory as a replacement for volatile memory

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 10,108,546
App. No.
14/586,205
Granted
Oct 23, 2018
Kind
B2
Abstract

A method and system for using non-volatile memory as a replacement for volatile memory are provided. In one embodiment, a host is in communication with a memory system having volatile memory, a first non-volatile memory, and a second non-volatile memory, wherein the first non-volatile memory has a faster performance and a higher endurance than the second non-volatile memory. The host analyzes data to be stored in the volatile memory to determine if it should instead be stored in the first non-volatile memory. If the data should be stored in the volatile memory, the host stores the data in the volatile memory. If the data should be stored in the first non-volatile memory, the host stores the data in the first non-volatile memory.

Claims (35)

1. A method for using non-volatile memory as a replacement for volatile memory, the method comprising:

performing the following in a host in communication with a memory system having volatile memory, a first non-volatile memory, and a second non-volatile memory, wherein the first non-volatile memory has a faster performance and a higher endurance than the second non-volatile memory:

analyzing data to be stored in the volatile memory to determine if it should be stored in the volatile memory or in the first non-volatile memory;

in response to determining that the data should be stored in the volatile memory, storing the data in the volatile memory; and

in response to determining that the data should be stored in the first non-volatile memory, storing the data in the first non-volatile memory instead of in the volatile memory, thereby avoiding reducing available storage space in the volatile memory;

wherein the data is analyzed for its response time and refresh rate, and wherein if the response time is faster than what the first non-volatile memory provides and if the refresh rate is faster than a refresh rate of the volatile memory, it is determined that the data should be stored in the volatile memory; otherwise, it is determined that the data should be stored in the first non- volatile memory.

2. The method of claim 1 , wherein the data is analyzed for its expected number of write operations relative to an endurance of the first non-volatile memory.

3. The method of claim 1 , wherein the data is analyzed for its worst-case latency relative to the performance of the first non-volatile memory.

4. The method of claim 1 further comprising using operating system data to gather characteristics of data stored in the volatile memory and the first non-volatile memory and applying that data as a storage policy.

5. The method of claim 1 , wherein at least one of the volatile memory, the first non-volatile memory, and the second non-volatile memory is a three-dimensional memory.

6. The method of claim 1 , wherein the memory system is embedded in the host.

7. The method of claim 1 , wherein the memory system is removably connected to the host.

8. A host comprising:

an interface configured to communicate with a memory system having volatile memory, a first non-volatile memory, and a second non-volatile memory, wherein the first non-volatile memory has a faster performance and a higher endurance than the second non-volatile memory; and

a controller in communication with the interface, wherein the controller is configured to:

determine if data to be stored in the volatile memory is suitable for storage instead in the first non-volatile memory; and

in response to determining that the data is suitable for storage instead in the first non-volatile memory, routing the data to the first non-volatile memory instead of the volatile memory, thereby avoiding reducing available storage space in the volatile memory;

wherein the controller k configured to analyze the data for its response time and refresh rate, and wherein if the response time is faster than what the first non-volatile memory provides and if the refresh rate is faster than a refresh rate of the volatile memory, it is determined that the data should he stored in the volatile memory; otherwise, it is determined that the data should be stored in the first non-volatile memory.

9. The host of claim 8 , wherein the controller is configured to analyze the data for its expected number of write operations relative to an endurance of the first non-volatile memory.

10. The host of claim 8 , wherein the controller is configured to analyze the data for its worst-case latency relative to the performance of the first non-volatile memory.

11. The host of claim 8 , wherein the controller is further configured to use operating system data to gather characteristics of data stored in the volatile memory and the first non-volatile memory and applying that data as a storage policy.

12. The host of claim 8 , wherein at least one of the volatile memory, the first non-volatile memory, and the second non-volatile memory is a three-dimensional memory.

13. The host of claim 8 , wherein the memory system is embedded in the host.

14. The host of claim 8 , wherein the memory system is removably connected to the host.

15. A host comprising:

an interface configured to communicate with a memory system having volatile memory, a first non-volatile memory, and a second non-volatile memory, wherein the first non-volatile memory has a faster performance and a higher endurance than the second non-volatile memory;

means for analyzing data to be stored in the volatile memory to determine if it should be stored in the volatile memory or in the first non-volatile memory;

means for in response to determining that the data should be stored in the volatile memory, storing the data in the volatile memory; and

means for in response to determining that the data should be stored in the first non-volatile memory, storing the data in the first non-volatile memory instead of in the volatile memory, thereby avoiding reducing available storage space in the volatile memory;

wherein the data is analyzed for its response time and refresh rate, and wherein if the response time is faster than what the first non-volatile memory provides and if the refresh rate is faster than a refresh rate of the volatile memory, it is determined that the data should be stored in the volatile memory; otherwise, it is determined that the data should be stored hi the first non- volatile memory.

16. The host of claim 15 , wherein the data is analyzed for its expected number of write operations relative to an endurance of the first non-volatile memory.

17. The host of claim 15 , wherein the data is analyzed for its worst-case latency relative to the performance of the first non-volatile memory.

18. The host of claim 15 further comprising means for using operating system data to gather characteristics of data stored in the volatile memory and the first non-volatile memory and applying that data as a storage policy.

19. The host of claim 15 , wherein at least one of the volatile memory, the first non-volatile memory, and the second non-volatile memory is a three-dimensional memory.

20. The host of claim 15 , wherein the memory system is embedded in the host.

Assignments (5)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: BAR-OR, SHAHAR; MOUNTANIOL, VSEVOLOD
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 034676/0145 →