IP Library Granted Patent US 8,694,715
Granted Patent B2
US 8,694,715 · App. 12/596,680 · Granted Apr 8, 2014

Methods for adaptively programming flash memory devices and flash memory systems incorporating same

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 8,694,715
App. No.
12/596,680
Granted
Apr 8, 2014
Kind
B2
Abstract

A method for programming a plurality of data sequences into a corresponding plurality of flash memory functional units using a programming process having at least one selectable programming duration-controlling parameter controlling the duration of the programming process for a given data sequence, the method comprising providing at least one indication of at least one varying situational characteristic and determining a value for said at least one selectable programming duration-controlling parameter controlling the duration of the programming process for a given data sequence, for each flash memory functional unit, depending at least partly on said indication of said varying characteristic; and, for each individual flash memory functional unit from among said plurality of flash memory functional units, programming a sequence of bits into said individual flash memory functional unit using a programming process having at least one selectable parameter, said at least one selectable parameter being set at said value determined for said individual flash memory functional unit.

Claims (9)

1. A method for rapidly programming at least two bits per cell, in a population of pages belonging to respective erase sectors in flash memory, the population of pages defining a multiplicity of cells, the method comprising: for at least one cell, initially programming at least one first bit into the cell thereby to induce one of a first plurality of program levels in the cell, said first plurality of program levels including an erase level and at least one program level other than the erase level, skipping, while a cycle count of at least one erase sector that comprises the at least one cell have a predeterminedly low cycle count, a subsequence programming of at least one second bit into the cell of a certain program level that differs from the erase level and allowing the cell to remain in a program level of the first plurality of levels; and subsequently programming, after the cycle count of the at least one erase sectors that include the at least one cell exceeds the predeterminedly low cycle count, the at least one second bit into the cell, thereby to induce one of a second plurality of program levels in the cell if the at least one second bit is of a program level that differs from the certain program level.

2. A method according to claim 1 wherein said second plurality of program levels includes all of the program levels in said first plurality of program levels.

3. A method according to claim 1 wherein said at least one cell comprises only cells in pages belonging to erase sectors having a predeterminedly low cycle count.

4. A method according to claim 1 wherein said at least one cell comprises all cells in pages belonging to erase sectors having a predeterminedly low cycle count.

5. A system for rapidly programming at least two bits per cell, in a population of pages belonging to respective erase sectors in flash memory, the population of pages defining a multiplicity of cells, the system comprising: a bit programmer operative to initially program at least one first bit into at least one cell thereby to induce one of a first plurality of program levels in the cell, said first plurality of program levels including an erase level and at least one program level that differs from the erase level, to skip, while a cycle count of at least one erase sector that comprises the at least one cell have a predeterminedly low cycle count, a subsequence programming of at least one second bit into the cell of a certain program level that differs from the erase level and allowing the cell to remain in a program level of the first plurality of levels; and to subsequently program, after the cycle count of the at least one erase sectors that include the at least one cell exceeds the predeterminedly low cycle count, the at least one second bit into the cell, thereby to induce one of a second plurality of program levels in the cell if the at least one second bit is of a program level that differs from the certain program level.

6. A system according to claim 5 wherein said second plurality of program levels includes all of the program levels in said first plurality of program levels.

7. A system according to claim 5 wherein said at least one cell comprises only cells in pages belonging to erase sectors having a predeterminedly low cycle count.

8. A system according to claim 5 wherein said at least one cell comprises all cells in pages belonging to erase sectors having a predeterminedly low cycle count.

9. A method for rapidly programming at least two bits per cell, in a population of pages belonging to respective erase sectors in flash memory, the population of pages defining a multiplicity of cells, the method comprising: initially programming by a bit programmer at least one first bit into at least one cell thereby to induce one of a first plurality of program levels in the cell, said first plurality of program levels including an erase level and at least one program level that differs from the erase level, skipping, while a cycle count of at least one erase sector that comprises the at least one cell have a predeterminedly low cycle count, a subsequence programming of at least one second bit into the cell of a certain program level that differs from the erase level and allowing the cell to remain in a program level of the first plurality of levels; and subsequently programming, after the cycle count of the at least one erase sectors that include the at least one cell exceeds the predeterminedly low cycle count, the at least one second bit into the cell, thereby to induce one of a second plurality of program levels in the cell if the at least one second bit is of a program level that differs from the certain program level.

Assignments (9)
MERGER Recorded Mar 3, 2023
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED; BROADCOM INTERNATIONAL PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 062952/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
To: BROADCOM INTERNATIONAL PTE. LTD.
Reel/Frame 053771/0901 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2017
From: KREOS CAPITAL IV (EXPERT FUND) LIMITED
To: DENSBITS TECHNOLOGIES LTD.
Reel/Frame 041339/0921 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2016
From: DENSBITS TECHNOLOGIES LTD.
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 037622/0224 →
SECURITY INTEREST Recorded Mar 18, 2015
From: DENSBITS TECHNOLOGIES LTD.
To: KREOS CAPITAL IV (EXPERT FUND) LIMITED
Reel/Frame 035222/0547 →
SECURITY INTEREST Recorded Jul 30, 2014
From: DENSBITS TECHNOLOGIES LTD.
To: KREOS CAPITAL IV (EXPERT FUND) LIMITED
Reel/Frame 033444/0628 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2011
From: WEINGARTEN, HANAN; SABBAG, EREZ; KATZ, MICHAEL
To: DENSBITS TECHNOLOGIES LTD.
Reel/Frame 026352/0082 →