IP Library Granted Patent US 7,743,230
Granted Patent B2
US 7,743,230 · App. 11/704,908 · Granted Jun 22, 2010

Memory array programming circuit and a method for using the circuit

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,743,230
App. No.
11/704,908
Granted
Jun 22, 2010
Kind
B2
Abstract

A multi-level cell (MLC) memory array may be programmed using a programming circuit having a binary input register to store data to be input into the MLC array and a register to store a programming vector, where each element in the programming vector corresponds to a charge storage region of an MLC in the array. A controller may map pairs of bits from the input register to elements in the programming vector, such that mapping a pair of bits to an element of the programming vector may set the vector element to a “program” value if the pair of bits corresponds to at least one specific program state associated with the programming vector.

Claims (35)

1. A method of programming a multi-level cell (MLC) memory array comprising deriving a programming vector associated with at least one specific program state, wherein the programming vector is derived by mapping a first pair of bits from a binary input register to a first element in the programming vector.

2. The method according to claim 1 , wherein each element in the programming vector corresponds to a single charge storage region of an MLC in the memory array.

3. The method according to the claim 2 , further comprising mapping a second pair of bits from a binary input register to a second element in a programming vector.

4. The method according to claim 1 , wherein mapping a pair of bits to an element of the programming vector comprises setting the element value to a “program” value if the pair of bits corresponds to the at least one specific program state with which the programming vector is associated.

5. The method according to claim 1 , wherein mapping a pair of bits to an element of said programming vector comprises setting the element value to a “do-not-program” value if said pair of bits does not correspond to the at least one specific program state with which the programming vector is associated.

6. The method according to claim 1 , wherein the vector is associated with each of two or more specific program states.

7. The method according to claim 6 , wherein the two or more specific program states comprise at least a first program state and a second program state, wherein the second program state is associated with a higher threshold voltage than the first program state.

8. The method according to claim 7 , further comprising concurrently programming a set of cells, wherein at least two cells in the set of cells are programmed to different threshold voltages.

9. A method of programming a multi-level cell (MLC) memory array comprising: deriving at least one programming vector associated with at least two specific program states, and concurrently programming a set of cells, wherein at least two cells in the set of cells are designated for programming to different threshold voltages corresponding to the at least two specific program states.

10. A multi-level cell (“MLC”) memory array programming circuit comprising: a controller adapted to map a first pair of bits from an input register to a first element of a programming vector associated with at least one specific program state.

11. The circuit according to the claim 10 , further comprising a binary input register adapted to store data to be written into an MLC array.

12. The circuit according to claim 10 , further comprising a programming vector register adapted to store a programming vector.

13. The circuit according to claim 12 , wherein each element in the programming vector corresponds to a charge storage region of an MLC in the array.

14. The circuit according to claim 13 , wherein said controller is further adapted to map a second pair of bits from said binary input register to a second element in the programming vector.

15. The circuit according to claim 10 , wherein said controller maps a pair of bits to an element of the programming vector by setting the element value to a “program” value if the pair of bits corresponds to the at least one specific program state with which the programming vector is associated.

16. The circuit according to claim 10 , wherein said controller maps a pair of bits to an element of the programming vector by setting the element value to a “do-not-program” value if the pair of bits does not correspond to the at least one specific program state with which the programming vector is associated.

17. The circuit according to claim 15 , wherein said controller causes a programming pulse to be applied to each MLC charge storage region in the array corresponding to a vector element whose value is set at a “program” value.

18. The circuit according to claim 17 , wherein said controller causes a vector element value to be se to “do-not-program” once the MLC corresponding to the element is programmed to the at least one program state with which the programming vector is associated.

19. The circuit according to claim 10 , wherein said controller is adapted to map pairs of bits from said binary input register to the elements of a second programming vector associated with a second program state and wherein mapping a pair of bits to an element of the second programming vector comprises setting the element to a “program” value if the pair of bits corresponds to the second program state with which the second vector is associated.

20. The circuit according to claim 10 , wherein the vector is associated with each of two or more specific program states.

21. The circuit according to claim 20 , wherein the two or more specific program states comprise at least a first program state and a second program state, wherein the second program state is associated with a higher threshold voltage than the first program state.

22. The circuit according to claim 21 , wherein said controller is adapted to cause concurrent program of a set of cells, wherein at least two cells in the set of cells are programmed to different threshold voltages.

23. A multi-level cell (“MLC”) memory device comprising a non-volatile memory array; and a controller adapted to map a first pair of bits from an input register to a first element of a programming vector associated with at least one specific program state.

24. The device according to the claim 23 , further comprising a binary input register adapted to store data to be written into an MLC array.

25. The device according to claim 23 , further comprising a programming vector register adapted to store a programming vector.

26. The device according to claim 25 , wherein each element in the programming vector corresponds to a charge storage region of an MLC in the array.

27. The device according to claim 26 , wherein said controller is further adapted to map a second pair of bits from said binary input register to a second element in the programming vector.

28. The device according to claim 23 , wherein said controller maps a pair of bits to an element of the programming vector by setting the element value to a “program” value if the pair of bits corresponds to the at least one specific program state with which the programming vector is associated.

29. The device according to claim 23 , wherein said controller maps a pair of bits to an element of the programming vector by setting the element value to a “do-not-program” value if the pair of bits does not correspond to the at least one specific program state with which the programming vector is associated.

30. The device according to claim 28 , wherein said controller causes a programming pulse to be applied to each MLC charge storage region in the array corresponding to a vector element whose value is set at a “program” value.

31. The device according to claim 30 , wherein said controller causes a vector element value to be se to “do-not-program” once the MLC corresponding to the element is programmed to the at least one program state with which the programming vector is associated.

32. The device according to claim 23 , wherein said controller is adapted to map pairs of bits from said binary input register to the elements of a second programming vector associated with a second program state and wherein mapping a pair of bits to an element of the second programming vector comprises setting the element to a “program” value if the pair of bits corresponds to the second program state with which the second vector is associated.

33. The device according to claim 23 , wherein the vector is associated with each of two or more specific program states.

34. The device according to claim 33 , wherein the two or more specific program states comprise at least a first program state and a second program state, wherein the second program state is associated with a higher threshold voltage than the first program state.

35. The device according to claim 34 , wherein said controller is adapted to cause concurrent program of a set of cells, wherein at least two cells in the set of cells are programmed to different threshold voltages.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Mar 16, 2022
From: MUFG UNION BANK, N.A.
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 059410/0438 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FOLLOWING NUMBERS 6272046,7277824,7282374,7286384,7299106,7337032,7460920,7519447 PREVIOUSLY RECORDED ON REEL 039676 FRAME 0237. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 16, 2018
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MORGAN STANLEY SENIOR FUNDING
Reel/Frame 047797/0854 →
SECURITY INTEREST Recorded Aug 15, 2016
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039676/0237 →
CHANGE OF NAME Recorded Jan 26, 2015
From: SAIFUN SEMICONDUCTORS LTD.
To: SPANSION ISRAEL LTD.
Reel/Frame 034817/0256 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Dec 30, 2014
From: BARCLAYS BANK PLC
To: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY INC.; SPANSION TECHNOLOGY LLC
Reel/Frame 034715/0305 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2007
From: POLANSKY, YAN; LAVAN, AVI
To: SAIFUN SEMICONDUCTORS LTD
Reel/Frame 019006/0901 →