IP Library Granted Patent US 12,488,844
Granted Patent B2
US 12,488,844 · App. 18/229,873 · Granted Dec 2, 2025

Systems and methods to avoid over programming at infrequent smart verify acquisition for high-performance 3D NAND

Inventors: Kyeongran Yoo (Mountain View, CA); Henry Chin (Fremont, CA); Hua-Ling Hsu (Fremont, CA); Yanwei He (Fremont, CA)
Assignee: Sandisk Technologies, Inc.
G11C16/3459G11C16/08G11C16/102
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,488,844
App. No.
18/229,873
Filed
Aug 3, 2023
Granted
Dec 2, 2025
Kind
B2
Art Unit
2824
USPC
365/185.22
Abstract

A method of programming a memory device is disclosed herein. The method comprises the steps of: performing a smart verify operation to acquire an initial programming voltage; performing a program operation on a selected wordline starting with the initial programming voltage; performing a bitscan operation of a highest state being verified; and based on a result of the bitscan operation, adjusting the initial programming voltage for programming of subsequent wordlines.

Claims (57)

1 . A method of programming a memory device, comprising the steps of:

performing a smart verify operation to acquire an initial programming voltage;

performing a program operation on a selected wordline starting with the initial programming voltage;

performing a bitscan operation of a highest state being verified;

based on a result of the bitscan operation, adjusting the initial programming voltage for programming of subsequent wordlines; and

in response to the result of the bitscan operation failing, reducing a value of the initial programming voltage for programming of subsequent wordlines.

2 . The method as set forth in claim 1 , further including the step of:

in response to the result of the bitscan operation passing, maintaining a value of the initial programming voltage for programming of subsequent wordlines.

3 . The method as set forth in claim 1 , further including the step of:

in response to the result of the bitscan operation failing, determining if the highest state is of an ‘S 1 ’ data state and if a current program loop is a first loop of a plurality of program loops of the program operation;

in response to determining that the highest state is of the ‘S 1 ’ data state and the current program loop is the first loop, reducing a value of the initial programming voltage for programming of subsequent wordlines.

4 . The method as set forth in claim 1 , further including the step of:

based on a number of high threshold bit fails, reducing a value of the initial programming voltage for programming of subsequent wordlines.

5 . The method as set forth in claim 1 , further including the step of:

based on a number of high threshold bit fails, initiating a verify of a next data state in a next program loop of a plurality of program loops of the program operation.

6 . A method of programming a memory device, comprising the steps of:

performing a smart verify operation to acquire an initial programming voltage;

performing a program operation on a selected wordline starting with the initial programming voltage;

performing a bitscan operation of a highest state being verified;

based on a result of the bitscan operation, adjusting the initial programming voltage for programming of subsequent wordlines; and

in response to the result of the bitscan operation failing, initiating a verify of a next data state in a next program loop of a plurality of program loops of the program operation.

7 . A memory device, comprising:

at least one memory block that includes a plurality of memory cells arranged in a plurality of word lines;

control circuitry configured to program the memory cells of the at least one memory block in a plurality of program loops, the control circuitry being configured to:

perform a smart verify operation to acquire an initial programming voltage;

perform a program operation on a selected wordline starting with the initial programming voltage;

perform a bitscan operation of a highest state being verified;

based on a result of the bitscan operation, adjust the initial programming voltage for programming of subsequent wordlines; and

in response to the result of the bitscan operation being failing, reduce a value of the initial programming voltage for programming of subsequent wordlines.

8 . The memory device as set forth in claim 7 , wherein the control circuitry is further configured to:

in response to the result of the bitscan operation being failing, initiate a verify of a next data state in a next program loop of a plurality of program loops of the program operation.

9 . The memory device as set forth in claim 7 , wherein the control circuitry is further configured to:

in response to the result of the bitscan operation being passing, maintain a value of the initial programming voltage for programming of subsequent wordlines.

10 . The memory device as set forth in claim 7 , wherein the control circuitry is further configured to:

in response to the result of the bitscan operation being failing, determine if the highest state is of an ‘S 1 ’ data state and if a current program loop is a first loop of a plurality of program loops of the program operation;

in response to determining that the highest state is of the ‘S 1 ’ data state and the current program loop is the first loop, reduce a value of the initial programming voltage for programming of subsequent wordlines.

11 . The memory device as set forth in claim 7 , wherein the control circuitry is further configured to:

based on a number of high threshold bit fails, reduce a value of the initial programming voltage for programming of subsequent wordlines.

12 . The memory device as set forth in claim 7 , wherein the control circuitry is further configured to:

based on a number of high threshold bit fails, initiate a verify of a next data state in a next program loop of a plurality of program loops of the program operation.

13 . An apparatus, comprising:

at least one memory block that includes a plurality of memory cells arranged in a plurality of word lines;

a programming means for programming user data into the plurality of memory cells and configured to program the memory cells of the at least one memory block in a plurality of program loops, the programming means being configured to:

perform a smart verify operation to acquire an initial programming voltage;

perform a program operation on a selected wordline starting with the initial programming voltage;

perform a bitscan operation of a highest state being verified;

based on a result of the bitscan operation, adjust the initial programming voltage for programming of subsequent wordlines; and

in response to the result of the bitscan operation failing, reduce a value of the initial programming voltage for programming of subsequent wordlines.

14 . The apparatus as set forth in claim 13 , wherein the control circuitry is further configured to:

in response to the result of the bitscan operation failing, initiate a verify of a next data state in a next program loop of a plurality of program loops of the program operation.

15 . The apparatus as set forth in claim 13 , wherein the control circuitry is further configured to:

in response to the result of the bitscan operation passing, maintain a value of the initial programming voltage for programming of subsequent wordlines.

16 . The apparatus as set forth in claim 13 , wherein the control circuitry is further configured to:

in response to the result of the bitscan operation failing, determine if the highest state is of an ‘S 1 ’ data state and if a current program loop is a first loop of a plurality of program loops of the program operation;

in response to determining that the highest state is of the ‘S 1 ’ data state and the current program loop is the first loop, reduce a value of the initial programming voltage for programming of subsequent wordlines.

17 . The apparatus as set forth in claim 13 , wherein the control circuitry is further configured to:

based on a number of high threshold bit fails, reduce a value of the initial programming voltage for programming of subsequent wordlines.

Assignments (8)
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- A&R Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065656/0649 →
PATENT COLLATERAL AGREEMENT - DDTL Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065657/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2023
From: YOO, KYEONGRAN; CHIN, HENRY; HSU, HUA-LING; HE, YANWEI
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 065154/0620 →