IP Library Granted Patent US 9,696,934
Granted Patent B2
US 9,696,934 · App. 14/620,971 · Granted Jul 4, 2017

Hybrid solid state drive (SSD) using PCM or other high performance solid-state 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 9,696,934
App. No.
14/620,971
Granted
Jul 4, 2017
Kind
B2
Abstract

Techniques for implementing a hybrid non-volatile memory storage system are disclosed. The hybrid memory system may include a first non-volatile memory; a second non-volatile memory; and a memory controller to analyze a type of an operation and a characteristic of the operation, to determine a state of the second non-volatile memory, and to determine whether another operation is being implemented on the second non-volatile memory, the memory controller selectively implementing an operation on one of the first non-volatile memory and the second non-volatile memory segment based on the type of the operation, the characteristic of the operation, the state of the second non-volatile memory, and whether another operation is being implemented on the second non-volatile memory such that the memory controller implements the operation on the first non-volatile memory concurrently with the other operation being implemented on the second non-volatile memory based on the type of the operation.

Claims (51)

1. A hybrid memory system comprising:

a first non-volatile memory, the first non-volatile memory being a first type of non-volatile memory;

a second non-volatile memory, the second non-volatile memory being a second type of non-volatile memory different from the first type of non-volatile memory; and

a memory controller configured to:

analyze a type of a first operation and a characteristic of the first operation,

determine a state of the second non-volatile memory,

determine whether a second operation is being implemented on the second non-volatile memory,

selectively implement the first operation on one of the first non-volatile memory and the second non-volatile memory based on the type of the first operation, the characteristic of the first operation, the state of the second non-volatile memory, and whether the second operation is being implemented on the second non-volatile memory,

determine that the type of the first operation is a write operation;

determine that the characteristic of the first operation is an amount of data associated with the first operation;

determine that the amount of data associated with the first operation is less than a predetermined threshold; and

cache the data associated with the first operation in the first non-volatile memory based on the determination that the amount of data associated with the first operation is less than the predetermined threshold;

wherein the memory controller is configured to implement the first operation on the first non-volatile memory concurrently with the second operation being implemented on the second non-volatile memory based on the type of the first operation.

2. The hybrid memory system of claim 1 , wherein the first non-volatile memory and the second non-volatile memory are within a single solid state drive.

3. The hybrid memory system of claim 1 , wherein the first non-volatile memory is one of a memristor, ReRam, and phase-change memory (PCM).

4. The hybrid memory system of claim 1 , wherein the second non-volatile memory is NAND flash memory.

5. The hybrid memory system of claim 1 , wherein a size of the first non-volatile memory is smaller than a size of the second non-volatile memory.

6. The hybrid memory system of claim 1 , wherein the first operation is a host operation.

7. The hybrid memory system of claim 1 , wherein the second operation is a background operation.

8. The hybrid memory system of claim 7 , wherein the background operation is one of a background scan, background erase, PLI self test, system data save, system area refresh, background data refresh, background defrag, wear leveling, garbage collection, read disturb data relocation, background media scan, temperature check, flush logs to disk, update drive usage log, and boot flash check.

9. The hybrid memory system of claim 1 , wherein the memory controller is configured to analyze the first operation to determine whether it is a host operation or a background operation.

10. The hybrid memory system of claim 9 , wherein the memory controller is configured to perform the caching of the data corresponding to the write operation to the first non-volatile memory based on a determination that the first operation is the host operation.

11. The hybrid memory system of claim 9 , wherein the memory controller is configured to read data corresponding to a read operation from the second non-volatile memory.

12. The hybrid memory system of claim 1 , wherein the state of the second non-volatile memory is one of busy and idle.

13. The hybrid memory system of claim 12 , wherein when the state is busy, the memory controller implements the first operation on the first non-volatile memory, and when the state is idle, the memory controller implements the first operation on the first non-volatile memory when the type of the first operation is a first type and the second non-volatile memory when the type of the first operation is a second type.

14. The hybrid memory system of claim 1 , wherein the memory controller is configured to queue the first operation based on the state of the second non-volatile memory.

15. The hybrid memory system of claim 14 , wherein the first operation is queued for implementation on the second non-volatile memory based on the type of the first operation.

16. A non-transitory processor readable storage media storing a computer program comprising a series of executable instructions for implementing a hybrid memory system, the instructions including:

storing first data in a first non-volatile memory;

storing second data a second non-volatile memory different from the first non-volatile memory;

analyzing a type of a first operation and a characteristic of the first operation;

determining a state of the second non-volatile memory;

determining whether a second operation is being implemented on the second non-volatile memory;

selectively implementing the first operation on one of the first non-volatile memory and the second non-volatile memory based on the type of the first operation, the characteristic of the first operation, the state of the second non-volatile memory and whether the second operation is being implemented on the second non-volatile memory,

determining that the type of the first operation is a write operation;

determining that the characteristic of the first operation is an amount of data associated with the first operation;

determining that the amount of data associated with the first operation is less than a predetermined threshold; and

caching the data associated with the first operation in the first non-volatile memory based on the determination that the amount of data associated with the first operation is less than the predetermined threshold,

wherein the first operation is implemented on the first non-volatile memory concurrently with the second operation being implemented on the second non-volatile memory based on the type of the first operation.

17. A method for implementing a hybrid memory system comprising:

storing first data in a first non-volatile memory;

storing second data a second non-volatile memory different from the first non-volatile memory;

analyzing a type of a first operation and a characteristic of the first operation;

determining a state of the second non-volatile memory;

determining whether a second operation is being implemented on the second non-volatile memory;

selectively implementing the first operation on one of the first non-volatile memory and the second non-volatile memory based on the type of the first operation, the characteristic of the first operation, the state of the second non-volatile memory and whether the second operation is being implemented on the second non-volatile memory,

determining that the type of the first operation is a write operation;

determining that the characteristic of the first operation is an amount of data associated with the first operation;

determining that the amount of data associated with the first operation is less than a predetermined threshold; and

caching the data associated with the first operation in the first non-volatile memory based on the determination that the amount of data associated with the first operation is less than the predetermined threshold,

wherein the first operation is implemented on the first non-volatile memory concurrently with the second operation being implemented on the second non-volatile memory based on the type of the first operation.

Assignments (11)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040829/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2015
From: ROTHBERG, MICHAEL STEPHEN
To: HGST NETHERLANDS B.V.
Reel/Frame 035614/0786 →