IP Library Granted Patent US 8,174,905
Granted Patent B2
US 8,174,905 · App. 12/721,585 · Granted May 8, 2012

Programming orders for reducing distortion in arrays of multi-level analog memory cells

Assignee: Anobit Technologies Ltd.
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,174,905
App. No.
12/721,585
Granted
May 8, 2012
Kind
B2
Abstract

A method for data storage includes predefining an order of programming a plurality of analog memory cells that are arranged in rows. The order specifies that for a given row having neighboring rows on first and second sides, the memory cells in the given row are programmed only while the memory cells in the neighboring rows on at least one of the sides are in an erased state, and that the memory cells in the given row are programmed to assume a highest programming level, which corresponds to a largest analog value among the programming levels of the cells, only after programming all the memory cells in the given row to assume the programming levels other than the highest level. Data is stored in the memory cells by programming the memory cells in accordance with the predefined order.

Claims (24)

1. A method for data storage, comprising:

defining different first and second orders of programming of a plurality of analog memory cells;

storing first data by programming the analog memory cells in accordance with the first order;

evaluating a predefined switching condition with respect to the memory cells; and

responsively to meeting the switching condition, switching from the first order to the second order, and storing second data by programming the analog memory cells in accordance with the second order.

2. The method according to claim 1 , wherein the switching condition depends on a number of programming and erasure cycles that were applied to the memory cells.

3. The method according to claim 1 , wherein the switching condition depends on a time that elapsed since a last erasure operation that was applied to the memory cells.

4. The method according to claim 1 , wherein the switching condition depends on a time that elapsed since a last programming operation that was applied to the memory cells.

5. The method according to claim 1 , wherein the switching condition depends on an expected time discontinuity in programming the memory cells.

6. The method according to claim 1 , wherein the switching condition depends on a level of distortion in the memory cells.

7. The method according to claim 1 , wherein the switching condition depends on an operating condition of the memory cells.

8. The method according to claim 1 , wherein the memory cells are arranged in rows, wherein the memory cells in each row are associated with a respective word line, wherein each memory cell is programmable to assume programming levels corresponding to respective analog values written to the memory cell, and wherein one of the first and second orders specifies that for a given row having neighboring rows on first and second sides, the memory cells in the given row are programmed only while the memory cells in the neighboring rows on at least one of the sides are in an erased state, and that the memory cells in the given row are programmed to assume a highest programming level, which corresponds to a largest analog value among the analog values, only after programming all the memory cells in the given row to assume the programming levels other than the highest level.

9. The method according to claim 1 , wherein the memory cells are arranged in rows, wherein the memory cells in each row are associated with a respective word line, wherein each memory cell is programmable to assume programming levels corresponding to respective analog values written to the memory cell, and wherein the second order specifies that all the memory cells in a given row are programmed to contain at least a certain number of the programming levels before any of the memory cells in the given row are programmed to contain a full number of the programming levels.

10. Apparatus for data storage, comprising:

a memory, which comprises a plurality of analog memory cells; and

a control module, which is coupled to define different first and second orders of programming the analog memory cells, to store first data by programming the analog memory cells in accordance with the first order, to evaluate a predefined switching condition with respect to the memory cells and, responsively to meeting the switching condition, to switch from the first order to the second order and to store second data by programming the analog memory cells in accordance with the second order.

11. The apparatus according to claim 10 , wherein the switching condition depends on a number of programming and erasure cycles that were applied to the memory cells.

12. The apparatus according to claim 10 , wherein the switching condition depends on a time that elapsed since a last erasure operation that was applied to the memory cells.

13. The apparatus according to claim 10 , wherein the switching condition depends on a time that elapsed since a last programming operation that was applied to the memory cells.

14. The apparatus according to claim 10 , wherein the switching condition depends on an expected time discontinuity in programming the memory cells.

15. The apparatus according to claim 10 , wherein the switching condition depends on a level of distortion in the memory cells.

16. The apparatus according to claim 10 , wherein the switching condition depends on an operating condition of the memory cells.

17. The apparatus according to claim 10 , wherein the memory cells are arranged in rows, wherein the memory cells in each row are associated with a respective word line, wherein each memory cell is programmable to assume programming levels corresponding to respective analog values written to the memory cell, and wherein one of the first and second orders specifies that for a given row having neighboring rows on first and second sides, the memory cells in the given row are programmed only while the memory cells in the neighboring rows on at least one of the sides are in an erased state, and that the memory cells in the given row are programmed to assume a highest programming level, which corresponds to a largest analog value among the analog values, only after programming all the memory cells in the given row to assume the programming levels other than the highest level.

18. The apparatus according to claim 10 , wherein the memory cells are arranged in rows, wherein the memory cells in each row are associated with a respective word line, wherein each memory cell is programmable to assume programming levels corresponding to respective analog values written to the memory cell, and wherein the second order specifies that all the memory cells in a given row are programmed to contain at least a certain number of the programming levels before any of the memory cells in the given row are programmed to contain a full number of the programming levels.

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 Mar 11, 2010
From: SHALVI, OFIR; GURGI, EYAL; PERLMUTTER, URI; GOLOV, OREN
To: ANOBIT TECHNOLOGIES LTD
Reel/Frame 024061/0984 →
Continuity (7)
Continuation In Part PCTIL2008001188 · Sep 3, 2008
Provisional Application 60973453 · Sep 19, 2007
Provisional Application 61012424 · Dec 8, 2007
Provisional Application 61012933 · Dec 12, 2007
Provisional Application 61054493 · May 20, 2008
Provisional Application 61244506 · Sep 22, 2009
Related Publication 20100157675A1 · Jun 24, 2010