IP Library Granted Patent US 10,430,329
Granted Patent B2
US 10,430,329 · App. 15/631,034 · Granted Oct 1, 2019

Quality of service aware storage class memory/NAND flash hybrid solid state drive

Inventors: Chao Sun (San Jose, CA); Adam Manzanares (Newark, CA); Minghai Qin (Milpitas, CA); Dejan Vucinic (San Jose, CA); Frank R. Chu (Milpitas, CA)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F12/0246G06F3/061G06F3/068G06F3/0631G06F3/0637G06F3/0649G06F3/0653G06F3/0679G06F3/0685
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,430,329
App. No.
15/631,034
Granted
Oct 1, 2019
Kind
B2
Abstract

A device having a controller configured to interface with a host, a storage class memory configured to interface with the controller and a flash memory configured to interface with the controller, wherein both the storage class memory and the flash memory are configured to store data, and wherein the controller is configured to separate the data according to latency critical data and non-latency critical data.

Claims (37)

1. A device, comprising:

a controller configured to interface with a host;

a storage class memory configured to interface with the controller; and

a flash memory configured to interface with the controller, wherein both the storage class memory and the flash memory are configured to store data, and wherein the controller is configured to separate the data according to a read or write bit, a sequential or random identified bit, a latency high or latency low bit, a read frequency high or low bit, a write frequency high or low bit, a read in the future bit, and a write in the future bit.

2. The device according to claim 1 , wherein the interface between the host and the controller is by NVMe standards.

3. The device according to claim 1 , wherein the interface between the host and the controller includes a capability to read data set management hints.

4. The device according to claim 1 , wherein latency crucial data is stored in the storage class memory.

5. The device according to claim 1 , wherein the storage class memory is connected to the flash memory.

6. The device according to claim 1 , wherein the controller is configured with an interface with PCIe, PCI, PCI-X, AGP or NVME standards.

7. The device according to claim 1 , wherein the storage class memory is one of resistive random access memory, phase change memory and magneto-resistive random access memory.

8. The device according to claim 1 , wherein the flash memory is a NAND flash memory.

9. The device according to claim 1 , wherein the flash memory is constructed from one of single level cell, multi-level cell, and triple level cell units.

10. The device according to claim 1 , wherein the controller is configured with an algorithm for evicting data from the storage class memory according to a data set management hint.

11. The device according to claim 1 , wherein the storage class memory is one of resistive random access memory, phase change memory, magneto-resistive random access memory and non-volatile memory.

12. The device according to claim 1 , wherein the host is a computer.

13. The device according to claim 1 , wherein the data with a fast namespace is stored in the storage class memory and the data with a slow namespace is stored in the flash memory.

14. A method, comprising:

checking an attribution code of data in a first memory wherein the data includes a read or write bit, a sequential or random identified bit, a latency high or latency low bit, a read frequency high or low bit, a write frequency high or low bit, a read in the future bit, and a write in the future bit; and

moving the data from the first memory to a second memory when the attribution code indicates that the data is required to be stored in a memory with specific attributes and the second memory has the specific attributes compared to the first memory.

15. The method according to claim 14 , wherein the attribution code is at least one of a read in the future attribute, a write in the future attribute, a read frequency attribute, a write frequency attribute.

16. The method according to claim 14 , wherein the attribution code is a latency attribute.

17. A method for reading data, comprising:

receiving a read command from a host;

reading data from a memory, wherein the data includes a read or write bit, a sequential or random identified bit, a latency high or latency low bit, a read frequency high or low bit, a write frequency high or low bit, a read in the future bit, and a write in the future bit;

determining if the data has a low latency data set management hint;

storing the data in a flash memory when the data does not have a low latency data set management hint; and

storing the data in a storage class memory when the data has a low latency data set management hint.

18. The method according to claim 17 , further comprising:

determining a presence of unused memory over a size of the data in both the flash memory and the storage class memory; and

moving a set of data from the storage class memory to the flash memory when a replacement algorithm determines an eviction proceeding and the flash memory and the storage class memory are full.

19. A method for writing data, comprising:

receiving a write command from a host;

determining if the data has a low latency data set management hint;

writing the data in a flash memory when the data does not have a low latency data set management hint;

determining a presence of unused memory over a size of the write data in both the flash memory and a storage class memory;

moving a set of data from the storage class memory to the flash memory when a replacement algorithm determines an eviction proceeding and the flash memory and the storage class memory are full; and

writing the data in the storage class memory when the data has a low latency data set management hint; wherein the data has a read or write bit, a sequential or random identified bit, a latency high or latency low bit, a read frequency high or low bit, a write frequency high or low bit, a read in the future bit, and a write in the future bit.

Assignments (10)
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 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 Jun 23, 2017
From: SUN, CHAO; MANZANARES, ADAM; QIN, MINGHAI; VUCINIC, DEJAN; CHU, FRANK R.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 042798/0031 →
Continuity (1)
Related Publication 20180373626A1 · Dec 27, 2018