IP Library Granted Patent US 8,649,200
Granted Patent B2
US 8,649,200 · App. 13/471,483 · Granted Feb 11, 2014

Enhanced programming and erasure schemes for analog memory cells

Inventors: Eyal Gurgi (Petah-Tikva, IL); Yoav Kasorla (Even Yehuda, IL); Ofir Shalvi (Raanana, IL)
Assignee: Apple Inc.
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,649,200
App. No.
13/471,483
Granted
Feb 11, 2014
Kind
B2
Abstract

A method for data storage includes setting a group of analog memory cells to respective analog values by performing an iterative process that applies a sequence of pulses to the memory cells in the group. During the iterative process, a progress of the iterative process is assessed, and a parameter of the iterative process is modified responsively to the assessed progress. The iterative process is continued in accordance with the modified parameter.

Claims (34)

1. A method for data storage, comprising:

setting a group of analog memory cells to respective analog values by performing an iterative process that applies a sequence of pulses to the memory cells in the group;

during the iterative process, assessing a progress of the iterative process, and modifying a parameter of the iterative process responsively to the assessed progress; and

proceeding performing the iterative process in accordance with the modified parameter.

2. The method according to claim 1 , wherein performing the iterative process comprises programming the memory cells in the group with data.

3. The method according to claim 1 , wherein performing the iterative process comprises erasing the group of the memory cells.

4. The method according to claim 1 , wherein assessing the progress comprises assessing that a number of the memory cells in the group that have reached respective intended analog values as a result of the pulses exceeds a predefined number.

5. The method according to claim 4 , wherein modifying the parameter comprises modifying an increment in amplitude or duration between successive pulses in the sequence.

6. The method according to claim 1 , wherein assessing the progress comprises assessing that a number of the pulses applied to the memory cells in the group exceeds a predefined number.

7. The method according to claim 1 , wherein modifying the parameter comprises modifying at least one parameter type selected from a group of types consisting of an increment in amplitude or duration between successive pulses in the sequence, an amplitude or duration of an initial pulse in the sequence, a programming word line voltage applied to the group of the memory cells, an unselected word line voltage applied to another group of the memory cells, a programming bit line voltage applied to the memory cells in the group that are intended to receive subsequent pulses, and an inhibiting bit line voltage applied to the memory cells in the group that are intended to be inhibited from receiving the subsequent pulses.

8. The method according to claim 1 , wherein modifying the parameter comprises modifying, depending on a programming bit line voltage applied to the memory cells in the group that are intended to receive subsequent pulses, a programming word line voltage applied to the group of the memory cells, an unselected word line voltage applied to another group of the memory cells, or an inhibiting bit line voltage applied to the memory cells in the group that are intended to be inhibited from receiving the subsequent pulses.

9. Apparatus for data storage, comprising:

a memory, which comprises multiple analog memory cells; and

storage circuitry, which is configured to set a group of the analog memory cells to respective analog values by performing an iterative process that applies a sequence of pulses to the memory cells in the group, to assess a progress of the iterative process, to modify a parameter of the iterative process responsively to the assessed progress and to proceed performing the iterative process in accordance with the modified parameter.

10. The apparatus according to claim 9 , wherein the iterative process comprises a programming process that programs the memory cells in the group with data.

11. The apparatus according to claim 9 , wherein the iterative process comprises an erasure process that erases the group of the memory cells.

12. The apparatus according to claim 9 , wherein the storage circuitry is configured to assess the progress by assessing that a number of the memory cells in the group that have reached respective intended analog values as a result of the pulses exceeds a predefined number.

13. The apparatus according to claim 12 , wherein the storage circuitry is configured to modify the parameter by modifying an increment in amplitude or duration between successive pulses in the sequence.

14. The apparatus according to claim 9 , wherein the storage circuitry is configured to assess the progress by assessing that a number of the pulses applied to the memory cells in the group exceeds a predefined number.

15. The apparatus according to claim 9 , wherein the storage circuitry is configured to modify at least one parameter type selected from a group of types consisting of an increment in amplitude or duration between successive pulses in the sequence, an amplitude or duration of an initial pulse in the sequence, a programming word line voltage applied to the group of the memory cells, an unselected word line voltage applied to another group of the memory cells, a programming bit line voltage applied to the memory cells in the group that are intended to receive subsequent pulses, and an inhibiting bit line voltage applied to the memory cells in the group that are intended to be inhibited from receiving the subsequent pulses.

16. The apparatus according to claim 9 , wherein the storage circuitry is configured to modify, depending on a programming bit line voltage applied to the memory cells in the group that are intended to receive subsequent pulses, a programming word line voltage applied to the group of the memory cells, an unselected word line voltage applied to another group of the memory cells, or an inhibiting bit line voltage applied to the memory cells in the group that are intended to be inhibited from receiving the subsequent pulses.

17. A method for data storage, comprising:

in a memory that includes multiple analog memory cells, programming one or more of the memory cells with data by performing a programming operation;

assessing a performance measure of the programming operation performed on the programmed memory cells;

after performing the programming operation, configuring an erasure operation based on the performance measure of the programming operation, and erasing a group of the memory cells of the memory by performing the configured erasure operation.

18. The method according to claim 17 , wherein assessing the performance measure comprises measuring a duration of the programming operation.

19. The method according to claim 17 , wherein configuring the erasure operation comprises setting at least one parameter type selected from a group of types consisting of an increment in amplitude or duration between successive erasure pulses in the erasure operation, an amplitude or duration of an initial pulse in the erasure operation, a word line voltage applied during the erasure operation, and a bit line voltage applied during the erasure operation.

20. The method according to claim 17 , wherein estimating the performance measure comprises determining a number of programming and erasure cycles applied to the programmed memory cells, and wherein configuring the erasure operation comprises configuring the erasure operation based on the determined number of the programming and erasure cycles.

21. Apparatus for data storage, comprising:

a memory, which comprises multiple analog memory cells; and

storage circuitry, which is configured to program one or more of the memory cells with data by performing a programming operation, to assess a performance measure of the programming operation performed on the programmed memory cells, to configure, after performing the programming operation, an erasure operation based on the performance measure of the programming operation, and to erase a group of the memory cells of the memory by performing the configured erasure operation.

22. The apparatus according to claim 21 , wherein the storage circuitry is configured to assess the performance measure by measuring a duration of the programming operation.

23. The apparatus according to claim 21 , wherein the storage circuitry is configured to set at least one parameter type selected from a group of types consisting of an increment in amplitude or duration between successive erasure pulses in the erasure operation, an amplitude or duration of an initial pulse in the erasure operation, a word line voltage applied during the erasure operation, and a bit line voltage applied during the erasure operation.

24. The apparatus according to claim 21 , wherein the storage circuitry is configured to estimate the performance measure by determining a number of programming and erasure cycles applied to the programmed memory cells, and to configure the erasure operation based on the determined number of the programming and erasure cycles.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2012
From: ANOBIT TECHNOLOGIES LTD.
To: APPLE INC.
Reel/Frame 028399/0733 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2012
From: GURGI, EYAL; KASORLA, YOAV; SHALVI, OFIR
To: ANOBIT TECHNOLOGIES LTD
Reel/Frame 028206/0541 →
Continuity (5)
Continuation In Part 13356694 · Jan 24, 2012
Provisional Application 61486341 · May 16, 2011
Provisional Application 61436619 · Jan 27, 2011
Provisional Application 61486341 · May 16, 2011
Related Publication 20120224404A1 · Sep 6, 2012