IP Library › Granted Patent US 10,541,038
Granted Patent B2
US 10,541,038 · App. 16/205,165 · Granted Jan 21, 2020

Subgroup selection for verification

Inventors: Yu-Chung Lien (San Jose, CA); Xiang Yang (Santa Clara, CA); Zhenming Zhou (San Jose, CA); Deepanshu Dutta (Fremont, CA); Huai-Yuan Tseng (San Ramon, CA)
Assignee: SANDISK TECHNOLOGIES LLC
G11C16/3459G11C16/0483G11C16/10G11C16/32G11C11/5628G11C11/5671
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,541,038
App. No.
16/205,165
Granted
Jan 21, 2020
Kind
B2
Abstract

An apparatus, system, and method are disclosed for identifying and selecting a subgroup of memory cells for use during a programming or erasing operation, in order to execute the programming or erasing operation in less time, while avoiding over and under programming errors. Memory devices disclosed herein may include a state change/programming circuit, a counting circuit, a determination circuit, an identification circuit, and/or a subgroup selection circuit, where each of these circuits are configured to perform operations related to the overall process of identifying and selecting the subgroup of memory cells for utilization during a programming operation.

Claims (56)

1. An apparatus comprising:

a plurality of memory cells;

a state change circuit configured to alter a data state of each of the memory cells configured to be programmed;

a determination circuit configured to determine a relative rate of state change for at least two subgroups of memory cells; and

an identification circuit configured to identify a subgroup of memory cells that satisfies a state change characteristic based on the relative rate of state change.

2. The apparatus of claim 1 , wherein the identified subgroup of memory cells that satisfies the state change characteristic comprises at least one of:

a fastest subgroup of memory cells; and

a slowest subgroup of memory cells.

3. The apparatus of claim 2 , wherein:

the data state of each of the memory cells comprises at least:

a lower data state; and

a higher data state higher than the lower data state; and

the identification circuit is further configured to identify at least one of:

a fastest subgroup of memory cells when the state change circuit alters the data state of at least some of the memory cells from the lower data state to the higher data state; and

a slowest subgroup of memory cells when the state change circuit alters the data state of at least some of the memory cells from the lower data state to the higher data state.

4. The apparatus of claim 1 , further comprising a counting circuit configured to count a total number of memory cells that satisfy a programming threshold and determine whether the total number of memory cells satisfies a numeric threshold, and wherein the identification circuit is configured to identify the subgroup of memory cells that satisfies the state change characteristic in response to the total number of memory cells that satisfy the programming threshold being greater than the numeric threshold.

5. The apparatus of claim 4 , wherein the numeric threshold comprises at least one of:

a pre-determined number; and

a percentage of the memory cells.

6. The apparatus of claim 1 , wherein the identification circuit is configured to identify the subgroup of memory cells during each programming procedure.

7. The apparatus of claim 1 , wherein the identification circuit is configured to identify the subgroup of memory cells according to a pre-determined schedule.

8. The apparatus of claim 1 , wherein the identified subgroup of memory cells comprises a tier group.

9. A non-volatile memory storage system comprising:

an array of memory cells organized into multiple subgroups;

a programming circuit configured to apply one or more programming pulses to the array of memory cells to program the memory cells to a target data state;

a counting circuit configured to count a first number of cells of a first subgroup that satisfy a threshold and count a second number of cells of a second subgroup that satisfy the threshold; and

an identification circuit configured to identify the first subgroup as a fastest memory cell subgroup and the second subgroup as a slowest memory cell subgroup in response to the first number of cells being greater than the second number of cells.

10. The non-volatile memory storage system of claim 9 , wherein the identification circuit is further configured to identify at least one intermediate programming speed memory cell subgroup.

11. The non-volatile memory storage system of claim 9 , wherein:

the target data state of the memory cells comprises at least one of:

a lower data state; and

a higher data state higher than the lower data state; and

the identification circuit is further configured to identify at least one of:

the fastest memory cell subgroup when the programming circuit programs the memory cells from the lower data state to the higher data state; and

the slowest memory cell subgroup when the programming circuit programs the memory cells from the lower data state to the higher data state.

12. The non-volatile memory storage system of claim 9 , wherein the identification circuit is configured to identify the fastest memory cell subgroup and the slowest memory cell subgroup during each programming procedure.

13. The non-volatile memory storage system of claim 9 , wherein the identification circuit is configured to identify the fastest memory cell subgroup and the slowest memory cell subgroup according to a pre-determined schedule.

14. The non-volatile memory storage system of claim 9 , wherein the fastest memory cell subgroup and the slowest memory cell subgroup comprise tiers.

15. A memory apparatus configured to:

apply one or more programming pulses to subgroups of memory cells in a programming operation;

count a total number of the memory cells that satisfy a programming threshold;

determine whether the total number is greater than a numeric threshold;

determine a number of memory cells within each subgroup that satisfy the programming threshold in response to determining that the total number is greater than the numeric threshold;

identify at least one of a fastest programming subgroup and a slowest programming subgroup based on the determined number of memory cells within each subgroup; and

utilize the identified subgroup for subsequent verification steps of the programming operation.

16. The memory apparatus of claim 15 , wherein:

applying the one or more programming pulses to subgroups of memory cells in the programming operation alters a data state of at least some of the memory cells, the data state comprising at least:

a lower data state; and

a higher data state higher than the lower data state; and

identifying the at least one of the fastest programming subgroup and the slowest programming subgroup further comprises at least one of:

identifying the fastest programming subgroup when the programming operation alters the data state of at least some of the memory cells from the lower data state to the higher data state; and

identifying the slowest programming subgroup when the programming operation alters the data state of at least some of the memory cells from the lower data state to the higher data state.

17. The memory apparatus of claim 15 , further comprising identifying an intermediate programming speed subgroup based on the determined number of memory cells within each subgroup.

18. The memory apparatus of claim 15 , wherein identifying the at least one of the fastest programming subgroup and the slowest programming subgroup is performed during each programming operation.

19. The memory apparatus of claim 15 , wherein identifying the at least one of the fastest programming subgroup and the slowest programming subgroup is performed according to a pre-determined schedule.

20. The memory apparatus of claim 15 , wherein the programming threshold comprises a programming verification level.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2018
From: LIEN, YU-CHUNG; YANG, XIANG; ZHOU, ZHENMING; DUTTA, DEEPANSHU; TSENG, HUAI-YUAN
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 047665/0306 →
Continuity (3)
Provisional Application 62684112 · Jun 12, 2018
Provisional Application 62738365 · Sep 28, 2018
Related Publication 20190378583A1 · Dec 12, 2019