IP Library Granted Patent US 12,517,819
Granted Patent B2
US 12,517,819 · App. 17/987,553 · Granted Jan 6, 2026

Fast LBA/PBA table rebuild by skipping read of metadata of LBA bin that is not mapped

Inventors: James R. Harris (Chandler, AZ); Benjamin Walker (Chandler, AZ); Mateusz Kozlowski (Gdansk, PL); Kapil Karkra (Chandler, AZ); Artur Paszkiewicz (Gdansk, PL)
Assignee: SK Hynix NAND Product Solutions Corp.
G06F12/0246G06F2212/7201
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,517,819
App. No.
17/987,553
Granted
Jan 6, 2026
Kind
B2
Abstract

A method is described. The method includes constructing a bitmap having a first dimension organized into bins of logical block addresses (LBA bins) and a second dimension organized into bins of physical block addresses (PBA bins). Coordinates of the bitmap indicate whether respective physical blocks of non volatile memory within one or more SSDs that fall within a particular PBA bin are being mapped to by an LBA that falls within a particular one of the LBA bins. The method includes using the bitmap during a rebuild of an LBA bin of an LBA/PBA table to avoid reading meta data for physical blocks that are not mapped to by an LBA that falls within the LBA bin.

Claims (49)

1 . An apparatus, comprising:

logic circuitry to:

construct a bitmap having a first dimension organized into bins of logical block addresses (LBA bins) and a second dimension organized into bins of physical block addresses (PBA bins), wherein coordinates of the bitmap indicate whether respective physical blocks of non-volatile memory fall within a particular PBA bin are being mapped to by a logical block address (LBA) that falls within a particular one of the LBA bins,

use the bitmap, during a rebuild of an LBA bin of an LBA/PBA table, to avoid reading meta data, stored in the non-volatile memory, for physical blocks that are not mapped to by an LBA that falls within the LBA bin, and

update the bitmap when a change in the LBA/PBA table results in all physical blocks, in the non-volatile memory, whose respective PBAs fall within a first particular PBA bin to not be mapped to by an LBA that falls within a first particular LBA bin, the update to change a value of the bitmap located in a coordinate of the bitmap that corresponds to the first particular PBA bin and the first particular LBA bin.

2 . The apparatus of claim 1 wherein the logic circuitry is to store the bitmap in the non-volatile memory.

3 . The apparatus of claim 1 wherein the logic circuitry is to store information, for the bitmap, identifies which LBAs are mapping to the respective physical blocks, in the non-volatile memory, whose respective PBAs fall within a particular one of the PBA bins.

4 . The apparatus of claim 3 wherein the information is contained in one or more non-volatile memory pages for each PBA bin.

5 . The apparatus of claim 1 wherein an LBA bin is defined as one or more bands within an SSD.

6 . An apparatus, comprising:

logic circuitry to:

construct a bitmap having a first dimension organized into bins of logical block addresses (LBA bins) and a second dimension organized into bins of physical block addresses (PBA bins), wherein coordinates of the bitmap indicate whether respective physical blocks of non-volatile memory fall within a particular PBA bin are being mapped to by a logical block address (LBA) that falls within a particular one of the LBA bins,

use the bitmap, during a rebuild of an LBA bin of an LBA/PBA table, to avoid reading meta data, stored in the non-volatile memory, for physical blocks that are not mapped to by an LBA that falls within the LBA bin, and

update the bitmap when a change in the LBA/PBA table results in one physical block amongst all physical blocks, in the non-volatile memory, whose respective PBAs fall within a first particular PBA bin to be mapped to by an LBA that falls within a first particular LBA bin, the update to change a value of the bitmap located in a coordinate of the bitmap that corresponds to the first particular PBA bin and the first particular LBA bin.

7 . A computing system, comprising:

a plurality of processors;

a main memory controller coupled to the plurality of processors;

a main memory coupled to the main memory controller, the main memory to store an LBA/PBA table;

an I/O control hub coupled to the main memory controller;

a plurality of SSDs coupled to the I/O control hub; and

program code stored on a storage medium, the program code to cause at least one of the processors to perform a method, comprising:

constructing a bitmap having a first dimension organized into bins of logical block addresses (LBA bins) and a second dimension organized into bins of physical block addresses (PBA bins), wherein coordinates of the bitmap indicate whether respective physical blocks of memory chips within at least one of the SSDs that fall within a particular PBA bin are being mapped to by a logical block address (LBA) that falls within a particular one of the LBA bins,

using the bitmap, during a rebuild of an LBA bin of an LBA/PBA table, to avoid reading meta data, stored in the non-volatile memory, for physical blocks that are not mapped to by an LBA that falls within the LBA bin, and

updating the bitmap when a change in the LBA/PBA table results in all physical blocks, in the non-volatile memory, whose respective PBAs fall within a first particular PBA bin to not be mapped to by an LBA that falls within a first particular LBA bin, the updating to change a value of the bitmap located in a coordinate of the bitmap that corresponds to the first particular PBA bin and the first particular LBA bin.

8 . The computing system of claim 7 wherein the method further comprises storing the bitmap in an SSD of the plurality of SSDs.

9 . The computing system of claim 7 wherein the method further comprises storing information, for the bitmap, identifies which LBAs are mapping to the respective physical blocks, in the non-volatile memory, whose respective PBAs fall within a particular one of the PBA bins.

10 . The computing system of claim 9 wherein the information is contained in one or more non-volatile memory pages for each PBA bin.

11 . The computing system of claim 7 wherein the PBA bins are bins of host side PBAs and the plurality of SSDs internally translate the host side PBAs to actual PBAs of blocks within the SSDs.

12 . A computing system, comprising:

a plurality of processors;

a main memory controller coupled to the plurality of processors;

a main memory coupled to the main memory controller, the main memory to store an LBA/PBA table;

an I/O control hub coupled to the main memory controller;

a plurality of SSDs coupled to the I/O control hub; and

program code stored on a storage medium, the program code to cause at least one of the processors to perform a method, comprising:

constructing a bitmap having a first dimension organized into bins of logical block addresses (LBA bins) and a second dimension organized into bins of physical block addresses (PBA bins), wherein coordinates of the bitmap indicate whether respective physical blocks of memory chips within at least one of the SSDs that fall within a particular PBA bin are being mapped to by a logical block address (LBA) that falls within a particular one of the LBA bins,

using the bitmap, during a rebuild of an LBA bin of an LBA/PBA table, to avoid reading meta data, stored in the non-volatile memory, for physical blocks that are not mapped to by an LBA that falls within the LBA bin, and

updating the bitmap when a change in the LBA/PBA table results in one physical block amongst all physical blocks, in the non-volatile memory, whose respective PBAs fall within a first particular PBA bin to be mapped to by an LBA that falls within a first particular LBA bin, the updating to change a value of the bitmap located in a coordinate of the bitmap that corresponds to the first particular PBA bin and the first particular LBA bin.

13 . A non-transitory machine readable storage medium containing program code that when processed by at least one processor causes the at least one processor to perform a method, comprising:

constructing a bitmap having a first dimension organized into bins of logical block addresses (LBA bins) and a second dimension organized into bins of physical block addresses (PBA bins), wherein coordinates of the bitmap indicate whether respective physical blocks of non volatile memory within one or more SSDs that fall within a particular PBA bin are being mapped to by a logical block address (LBA) that falls within a particular one of the LBA bins;

using the bitmap, during a rebuild of an LBA bin of an LBA/PBA table, to avoid reading meta data, stored in the non-volatile memory, for physical blocks that are not mapped to by an LBA that falls within the LBA bin; and

updating the bitmap when a change in the LBA/PBA table results in all physical blocks, in the non-volatile memory, whose respective PBAs fall within a first particular PBA bin to not be mapped to by an LBA that falls within a first particular LBA bin, the updating to change a value of the bitmap located in a coordinate of the bitmap that corresponds to the first particular PBA bin and the first particular LBA bin.

14 . The non-transitory machine readable storage medium of claim 13 wherein the method further comprises storing information, for the bitmap, identifies which LBAs are mapping to the respective physical blocks, in the non-volatile memory, whose respective PBAs fall within a particular one of the PBA bins.

15 . The non-transitory machine readable storage medium of claim 14 wherein the information is contained in one or more non volatile memory pages for each PBA bin.

16 . The non-transitory machine readable storage medium of claim 13 wherein the PBA bins are bins of host side PBAs and the plurality of SSDs internally translate the host side PBAs to actual PBAs of blocks within the SSDs.

17 . A non-transitory machine readable storage medium containing program code that when processed by at least one processor causes the at least one processor to perform a method, comprising:

constructing a bitmap having a first dimension organized into bins of logical block addresses (LBA bins) and a second dimension organized into bins of physical block addresses (PBA bins), wherein coordinates of the bitmap indicate whether respective physical blocks of non volatile memory within one or more SSDs that fall within a particular PBA bin are being mapped to by a logical block address (LBA) that falls within a particular one of the LBA bins;

using the bitmap, during a rebuild of an LBA bin of an LBA/PBA table, to avoid reading meta data, stored in the non-volatile memory, for physical blocks that are not mapped to by an LBA that falls within the LBA bin; and

updating the bitmap when a change in the LBA/PBA table results in one physical block amongst all physical blocks, in the non-volatile memory, whose respective PBAs fall within a first particular PBA bin to be mapped to by an LBA that falls within a first particular LBA bin, the updating to change a value of the bitmap located in a coordinate of the bitmap that corresponds to the first particular PBA bin and the first particular LBA bin.

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 Dec 21, 2022
From: HARRIS, JAMES R.; WALKER, BENJAMIN; KOZLOWSKI, MATEUSZ; KARKRA, KAPIL; PASZKIEWICZ, ARTUR
To: INTEL CORPORATION
Reel/Frame 062166/0640 →
Continuity (1)
Related Publication 20230076365A1 · Mar 9, 2023
References Cited (5)
US 8407449B1 · Colon · 2013 [cited by examiner]
US 10228878B1 · Mateescu · 2019 [cited by examiner]
US 20210103518A1 · Ju · 2021 [cited by examiner]
Chung, Tae-Sun, et al., “A survey of Flash Translation Layer”, Elsevier, Journal of Systems Architecture 55 (2009) 332-343, Mar. 23, 2009, 12 pages. [cited by applicant]
Park, Jong-Hyeok, et al., “A Crash Recovery Scheme for a Hybrid Mapping FTL in NAND Flash Storage Devices”, MDPI, electronics, Published Feb. 1, 2021, 20 pages. [cited by applicant]