IP Library Granted Patent US 12,386,564
Granted Patent B2
US 12,386,564 · App. 17/979,687 · Granted Aug 12, 2025

Reducing write amplification and over-provisioning using flash translation layer synchronization

Inventors: Kapil Karkra (Chandler, AZ); Wojciech Malikowski (Gdansk, PL); Mariusz Barczak (Gdansk, PL); Shirish Bahirat (Longmont, CO)
G06F3/0665G06F3/0607G06F3/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 12,386,564
App. No.
17/979,687
Granted
Aug 12, 2025
Kind
B2
Abstract

A host Flash Translation Layer (FTL) synchronizes host FTL operations with the drive FTL operations to reduce write amplification and over-provisioning. Embodiments of FTL synchronization map, at the host FTL software (SW) stack level, logical bands in which data is managed, referred to as host bands, to the physical bands on a drive where data is stored. The host FTL tracks validity levels of data managed in host bands to determine validity levels of data stored in corresponding physical bands, and optimizes defragmentation operations (such as garbage collection processes and trim operations) applied by the host FTL SW stack to the physical bands based on the tracked validity levels.

Claims (69)

1. A computer-implemented method of comprising:

in a processor of a host device to execute a logic for a host flash translation layer (FTL) to manage data written to physical bands of a storage drive having a drive FTL, the logic including:

mapping a host band in which data is managed to a physical band where the data is stored;

tracking a validity level for the host band representing how much of the data managed in the host band is valid;

optimizing defragmentation operations applied to the physical band by the host FTL based on tracking the validity level;

determining a group of host bands mapped to a same physical band;

computing an average validity level based on an average of the validity level tracked for each host band in the group of host bands; and

using the average validity level to represent a physical band validity level of the same physical band to which the group of host bands are mapped.

2. The computer-implemented method of claim 1 , wherein tracking the validity level is based on how much of the data managed in the host band is marked as valid in a logical-to-physical (L2P) table maintained in the host device.

3. The computer-implemented method of claim 1 , the logic further including:

receiving, in the host device, a notification from the storage drive when physical bands are opened; and

mapping the host band in which the data is managed to an open physical band where the data is stored.

4. The computer-implemented method of claim 1 , the logic further including:

maintaining a host band state for the host band mapped to the physical band including updating the host band state to any of:

FREE to indicate that the host band is empty and available to receive more data;

OPEN to indicate that the host band is available to receive more data; and

CLOSED to indicate that the host band is any of full and not available to receive more data.

5. The computer-implemented method of claim 1 , wherein the logic for optimizing defragmentation operations applied to the physical band by the host FTL based on tracking the validity level further includes:

determining the average validity level is at or below a minimum validity level; and

removing all stored data from the same physical band to which the group of host bands are mapped, including:

moving valid data to an available host band mapped to a different available physical band, and

trimming invalid data.

6. The computer-implemented method of claim 1 , wherein the host band represents a logical space for managing data written to the physical band, the logical space including any one or more blocks, zones and chunks.

7. The computer-implemented method of claim 1 , wherein the logic for the host FTL is developed in accordance with a Storage Performance Development Kit (SPDK) FTL library.

8. An apparatus comprising:

a host having a host flash translation layer (FTL) to manage how data is written to a storage drive having a drive FTL;

a controller to perform the host FTL, including to:

map a host band in which data is managed to a physical band of the storage drive where the data is stored,

track a validity level for the host band representing how much of the data managed in the host band is valid, and

optimize defragmentation operations applied to the physical band by the host FTL based on a tracked validity level for the host band; and

wherein to track the validity level, the controller further to:

determine a group of host bands mapped to a same physical band,

compute an average validity level based on an average of the tracked validity level for each host band in the group of host bands, and

use the average validity level to represent a physical band validity level of the same physical band to which the group of host bands are mapped.

9. The apparatus as in claim 8 , wherein the tracked validity level is based on how much of the data managed in the host band is marked as valid in a logical-to-physical (L2P) table maintained in the host.

10. The apparatus as in claim 8 , wherein to perform the host FTL the controller further to:

receive, at the host, a notification from the storage drive when physical bands are opened;

map the host band in which data is managed to an open physical band where the data is stored; and

maintain a host band state for the host band mapped to the physical band including to update the host band state to any of:

FREE to indicate that the host band is empty and available to receive more data,

OPEN to indicate that the host band is available to receive more data, and

CLOSED to indicate that the host band is any of full and not available to receive more data.

11. The apparatus as in claim 8 , wherein the host band represents a logical space for managing data written to the physical band, the logical space including any one or more blocks, zones and chunks.

12. The apparatus as in claim 8 , wherein the host FTL is developed in accordance with a Storage Performance Development Kit (SPDK) FTL library.

13. The apparatus as in claim 8 , wherein to optimize defragmentation operations applied to the physical band by the host FTL the controller further to:

determine the average validity level is at or below a minimum validity level; and

remove all stored data from the same physical band to which the group of host bands are mapped, including:

to move valid data to an available host band mapped to a different available physical band, and

to trim invalid data.

14. A system comprising:

a non-volatile memory (NVM) storage drive;

a processor of a host communicatively coupled to the NVM storage drive, the processor to execute a host flash translation layer (FTL) to manage data in logical bands for storage in physical bands of the NVM storage drive, the host FTL to:

map a logical band of data in the host to a physical band in which the data is stored, track a validity level of the logical band indicating how much of the data managed in the logical band is valid, and

perform garbage collection on the physical band based on a tracked validity level of one or more logical bands mapped to the physical band; and

wherein to track the validity level of the logical band the processor is further to:

determine a group of logical bands mapped to a same physical band,

compute an average validity level based on an average of the tracked validity level for each logical band in the group, and

use the average validity level to represent a physical band validity level of the same physical band to which the group is mapped.

15. The system as in claim 14 , the host FTL further to:

receive a notification from a drive FTL of the NVM storage drive when a physical band is opened; and

map a logical band of data in the host to an opened physical band in which the data is stored.

16. The system as in claim 14 , wherein:

the logical bands include any one or more of blocks, zones and chunks of a host-managed space; and

the host FTL is developed in accordance with a Storage Performance Development Kit (SPDK) FTL library.

17. The system as in claim 14 , wherein to perform garbage collection on the physical band based on the tracked validity level, the processor is further to:

determine the average validity level is at or below a minimum validity level; and

remove all stored data from the same physical band to which the group of logical bands is mapped, including:

moving valid data to an available logical band mapped to a different available physical band, and

trimming invalid data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2025
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP. (DBA SOLIDIGM)
Reel/Frame 072549/0289 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2022
From: KARKRA, KAPIL; MALIKOWSKI, WOJCIECH; BARCZAK, MARIUSZ; BAHIRAT, SHIRISH
To: INTEL CORPORATION
Reel/Frame 061643/0619 →
Continuity (1)
Related Publication 20230051806A1 · Feb 16, 2023
References Cited (7)
US 10592408B2 · Li et al. · 2020 [cited by applicant]
US 10860228B1 · Mulani · 2020 [cited by examiner]
US 20130166826A1 · Franceschini · 2013 [cited by examiner]
US 20180121344A1 · Seo · 2018 [cited by examiner]
US 20220404966A1 · Kanno · 2022 [cited by examiner]
Malikowski, Storage Performance Development Kit (SPDK) Flash Translation Layer Library for Zoned Namespace SSDs, Aug. 6, 2019, Flash Memory Summit (Year: 2019). [cited by examiner]
Yang, Jingpei, et al., “Don't stack your Log on my Log”, SanDisk Corporation, Inflow'14, 2nd Workshop on Interactions of NVM/Flash with Operating Systems and Workloads, held Oct. 5, 2014, Broomfield, CO, USA., 10 pages. [cited by applicant]