IP Library Granted Patent US 10,649,657
Granted Patent B2
US 10,649,657 · App. 15/933,354 · Granted May 12, 2020

Log-based storage for different data types in non-volatile memory

Inventors: Mikhael Zaidman (Jerusalem, IL); Eyal Ittah (Alfe-Menashe, IL); Rotem Sela (Haifa, IL); Amir Shaharabany (Yair, IL)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F3/0604G06F3/0631G06F3/0652G06F3/0679
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,649,657
App. No.
15/933,354
Granted
May 12, 2020
Kind
B2
Abstract

Apparatuses, systems, and methods are disclosed for log-based storage for different data types in non-volatile memory. An apparatus may include a non-volatile memory element and a controller. A non-volatile memory element may include a first portion of memory, an intermediate storage, and a second portion of memory. A controller may be configured to receive a plurality of data units. A controller may be configured to classify units of data using a first data type and a second data type. A controller may be configured to store a first unit of data having a first data type in a first portion of memory and a second unit of data having a second data type in intermediate storage. Further, a controller may relocate a second unit of data to a second portion of memory.

Claims (27)

1. An apparatus comprising:

a non-volatile memory element comprising a first portion of memory, an intermediate storage, and a second portion of memory; and

a controller configured to:

receive a plurality of units of data;

classify the units of data using at least a first data type and second data type;

store a first unit of data having the first data type in the first portion of memory and a second unit of data having the second data type in the intermediate storage, wherein the controller relocates the second unit of data to the second portion of memory;

perform a first garbage collection operation for the first portion of memory, wherein the first garbage collection operation comprises receiving a discard command and erasing a data block without relocating data; and

perform a second garbage collection operation for the second portion of memory, wherein the second garbage collection operation comprises relocating data within the second portion of memory.

2. The apparatus of claim 1 , wherein the first portion of memory comprises single-level cells configured to store one bit per non-volatile memory cell and the second portion comprises multi-level cells configured to store multiple bits per non-volatile memory cell.

3. The apparatus of claim 1 , wherein the first data type and the second data type indicate an update frequency for the units of data.

4. The apparatus of claim 1 , wherein the discard command is received from a log structured file system.

5. The apparatus of claim 1 , wherein the controller is further configured to assign subdivisions of memory from a common memory pool to the first portion of memory and to the intermediate storage.

6. The apparatus of claim 5 , wherein garbage collection for the first portion of memory and the intermediate storage releases the subdivisions of memory into the common memory pool.

7. A method comprising:

classifying data by log type at a file system level;

storing the data in one of a first portion of memory and a second portion of memory based on the classification, wherein the first portion of memory comprises single-level cells configured to store one bit per non-volatile memory cell and the second portion of memory comprises multi-level cells configured to store multiple bits per non-volatile memory cell; and

performing a first garbage collection operation in the first portion of memory in response to a request from a file system and a second garbage collection operation in the second portion of memory based on entries for the second portion of memory in a flash translation layer, wherein performing the first garbage collection operation comprises receiving a discard command and erasing a data block without relocating data.

8. The method of claim 7 , wherein classifying by log type comprises classifying the data based on an update frequency for the data.

9. The method of claim 7 , further comprising assigning subdivisions of memory from a common memory pool to the first portion of memory and to an intermediate storage, wherein the data stored in the second portion of memory is relocated from the intermediate storage into the second portion of memory.

10. The method of claim 9 , wherein performing the first garbage collection operation in the first portion of memory releases the subdivisions of memory into the common memory pool.

11. An apparatus comprising:

means for storing data in separate storage spaces based on a log type;

means for reclaiming a first portion of memory in a first storage space associated with a first type for the log type, wherein the means for reclaiming the first portion of memory receives a discard command and erases a data block without relocating data; and

means for reclaiming a second portion of memory in a second storage space associated with a second type for the log type,

wherein the first portion of memory comprises single-level cells configured to store one bit per non-volatile memory cell and the second portion of memory comprises multi-level cells configured to store multiple bits per non-volatile memory cell.

12. The apparatus of claim 11 , further comprising means for providing memory subdivisions from a common pool to the first portion of memory and to an intermediate storage.

13. The apparatus of claim 11 , wherein the means for reclaiming the second portion of memory operates within a flash translation layer.

Assignments (10)
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 →
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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
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 Sep 27, 2018
From: ZAIDMAN, MIKHAEL; ITTAH, EYAL; SELA, ROTEM; SHAHARABANY, AMIR
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046998/0165 →