IP Library Granted Patent US 7,924,625
Granted Patent B2
US 7,924,625 · App. 12/755,610 · Granted Apr 12, 2011

Segmented bitscan for verification of programming

Assignee: SanDisk Corporation
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 7,924,625
App. No.
12/755,610
Granted
Apr 12, 2011
Kind
B2
Abstract

A set non-volatile storage elements are subjected to a programming process in order to store a set of data. During the programming process, one or more verification operations are performed to determine whether the non-volatile storage elements have reached their target condition to store the appropriate data. Decisions about whether to continue programming or whether the programming is successful are made based on whether overlapping groups of the non-volatile storage elements have less than a threshold number of non-volatile storage elements that are not properly programmed.

Claims (21)

1. A method for programming non-volatile storage, comprising:

subjecting a set of non-volatile storage elements to programming;

determining whether a first subset of said set of non-volatile storage elements have less than a first number of non-volatile storage elements that have not been properly programmed;

determining whether a second subset of said set of non-volatile storage elements have less than a second number of non-volatile storage elements that have not been properly programmed, said first subset overlaps with said second subset; and

continuing to subject said set of non-volatile storage elements to programming if said first subset does not have less than said first number of non-volatile storage elements that have not been properly programmed or said second subset does not have less than said second number of non-volatile storage elements that have not been properly programmed.

2. A method according to claim 1 , wherein:

said first number is equal to said second number.

3. A method according to claim 1 , further comprising:

stopping programming of said set of non-volatile storage elements if said first subset has less than said first number of non-volatile storage elements that have not been properly programmed and said second subset has less than said second number of non-volatile storage elements that have not been properly programmed.

4. A method according to claim 1 , wherein said determining whether a first subset of said set of non-volatile storage elements has less than said first number of non-volatile storage elements that have not been properly programmed comprises:

determining a first amount of redundant non-volatile storage elements that have not been properly programmed;

determining a second amount of original non-volatile storage elements for said first subset that have not been properly programmed; and

computing a sum of said first amount and said second number, said continuing to subject at least a portion of said set of non-volatile storage elements to programming includes comparing said sum to said first number.

5. A method according to claim 1 , wherein:

said non-volatile storage elements store data in sectors; and

said first subset and said second subset are bigger than one sector and span at least portions of two sectors.

6. A method according to claim 1 , wherein said determining whether a first subset of said set of non-volatile storage elements have less than a first number of non-volatile storage elements that have not been properly programmed comprises:

(a) performing a binary search on said first subset to find a first non-volatile storage element that is not properly programmed;

(b) updating a count of non-volatile storage elements that are not properly programmed;

(c) tagging said first non-volatile storage element so that it will not be counted again;

(d) repeating steps (a), (b) and (c) to determine how many non-volatile storage elements are not properly programmed.

Assignments (6)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2011
From: SANDISK CORPORATION
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 026226/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2010
From: LI, YAN; KAMEI, TERUHIKO; LUTZE, JEFFREY W.
To: SANDISK CORPORATION
Reel/Frame 024198/0773 →
Continuity (3)
Division 12431573 · Apr 28, 2009
Division 11563585 · Nov 27, 2006
Related Publication 20100195405A1 · Aug 5, 2010