IP Library Granted Patent US 12,592,288
Granted Patent B2
US 12,592,288 · App. 18/586,943 · Granted Mar 31, 2026

Data storage device and method for managing a hot count difference in sub-block mode

Inventors: Akash Nigam (Bangalore, IN); Manoj M. Shenoy (Bangalore, IN); Lakshmi Sowjanya Sunkavelli (Kochi, IN)
Assignee: Sandisk Technologies, Inc.
G11C16/3427G11C16/102G11C16/3495
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,592,288
App. No.
18/586,943
Granted
Mar 31, 2026
Kind
B2
Abstract

A block of memory in a data storage device can be partitioned into two or more sub-blocks, where each sub-block is independent of the other sub-blocks. If the program-erase counts of the sub-blocks are sufficiently low, the same programming voltage can be used to program each of the sub-blocks. However, for higher program-erase counts, disturb effects can create issues in using the same programming voltage. With the embodiments presented herein, the programming voltage of a given sub-block can be based on the program-erase count of the sub-block. This can avoid the need to compare program-erase counts of various sub-blocks and perform a relocation operation.

Claims (41)

1 . A data storage device comprising:

a memory comprising a block configured to be partitioned into two or more sub-blocks; and

one or more processors, individually or in combination, configured to:

determine whether a program-erase count of each sub-block exceeds a threshold;

in response to determining that the program-erase count of each sub-block does not exceed the threshold, use a same programming voltage to program each sub-block; and

in response to determining that the program-erase count of each sub-block exceeds the threshold, use an adaptive programming voltage to program each sub-block by, for each sub-block;

determining a program-erase count of the sub-block;

determining a programming voltage for the sub-block based on the program-erase count of the sub-block; and

programming the sub-block using the programming voltage determined for the sub-block.

2 . The data storage device of claim 1 , wherein the programming voltage for the sub-block is determined from a data structure that associates a plurality of program-erase counts with a respective plurality of programming voltages.

3 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to avoid both comparing program-erase counts between two sub-blocks of the two or more sub-blocks and performing unselected-sub-block-disturb (USBD) relocation handling.

4 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to partition the block of memory into the two or more sub-blocks.

5 . The data storage device of claim 1 , wherein each sub-block of the two or more sub-blocks occupies a single x-y location but is located in a different z location.

6 . The data storage device of claim 1 , wherein each sub-block of the two or more sub-blocks is connected vertically to a same memory hole.

7 . The data storage device of claim 1 , wherein each sub-block of the two or more sub-blocks comprises its own wordline zone.

8 . The data storage device of claim 1 , wherein each sub-block of the two or more sub-blocks operates independently of other sub-blocks of the two or more sub-blocks.

9 . The data storage device of claim 1 , wherein the block is a single-level cell (SLC) block.

10 . The data storage device of claim 1 , wherein the memory comprises a three-dimensional memory.

11 . In a data storage device comprising a memory comprising a block that comprises two or more sub-blocks, a method comprising:

determining whether a hot count of each sub-block exceeds a threshold;

in response to determining that the hot count of each sub-block does not exceed the threshold, using a same programming voltage to program each sub-block; and

in response to determining that the hot count of each sub-block exceeds the threshold, using an adaptive programming voltage to program each sub-block by, for each sub-block:

determining a hot count of the sub-block;

determining a changing an adaptive programming programing voltage to a level for the sub-block based on the hot count of the sub-block; and

programming the sub-block using the programming voltage determined for the sub-block.

12 . The method of claim 11 , wherein a data structure stores an association of programming voltages and hot counts.

13 . The method of claim 11 , further comprising avoiding both comparing hot counts between two sub-blocks of the two or more sub-blocks and performing unselected-sub-block-disturb (USBD) relocation handling.

14 . The method of claim 11 , wherein each sub-block of the two or more sub-blocks occupies a single x-y location but is located in a different z location.

15 . The method of claim 11 , wherein each sub-block of the two or more sub-blocks is connected vertically to a same memory hole.

16 . The method of claim 11 , wherein each sub-block of the two or more sub-blocks comprises its own wordline zone.

17 . The method of claim 11 , wherein each sub-block of the two or more sub-blocks operates independently of other sub-blocks of the two or more sub-blocks.

18 . The method of claim 11 , wherein the memory comprises a three-dimensional memory.

19 . A data storage device comprising:

a memory comprising a plurality of sub-blocks; and

means for:

determining whether a program-erase count of each sub-block exceeds a threshold;

in response to determining that the program-erase count of each sub-block does not exceed the threshold, using a same programming voltage to program each sub-block; and

in response to determining that the program-erase count of each sub-block exceeds the threshold, using an adaptive programming voltage to program each sub-block by, for each sub-block:

determining a program-erase count of the sub-block;

determining a programming voltage for the sub-block based on the program-erase count of the sub-block; and

programming the sub-block using the programming voltage determined for the sub-block.

Assignments (7)
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 (AR) Recorded May 15, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 067417/0329 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2024
From: NIGAM, AKASH; SHENOY, MANOJ M.; SUNKAVELLI, LAKSHMI SOWJANYA
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 066579/0768 →
Continuity (1)
Related Publication 20250273278A1 · Aug 28, 2025
References Cited (6)
US 20160179617A1 · Lee · 2016 [cited by examiner]
US 20190096487A1 · Nishikawa · 2019 [cited by examiner]
US 20200202938A1 · Reina · 2020 [cited by examiner]
US 20220328112A1 · Yang · 2022 [cited by examiner]
US 20230041476A1 · Yang · 2023 [cited by examiner]
US 20230058038A1 · Zainuddin · 2023 [cited by examiner]