throbber
1111111111111111 IIIIII IIIII 1111111111 11111 11111 1111111111 1111111111 111111111111111 11111111
`US 20110096601Al
`
`c19) United States
`c12) Patent Application Publication
`Gavens et al.
`
`c10) Pub. No.: US 2011/0096601 Al
`Apr. 28, 2011
`(43) Pub. Date:
`
`(54) NON-VOLATILE MEMORY AND METHOD
`WITH ACCELERATED POST-WRITE READ
`TO MANAGE ERRORS
`
`(76)
`
`Inventors:
`
`Lee M. Gavens, Milpitas, CA (US);
`Jian Chen, Menlo Park, CA (US)
`
`(21) Appl. No.:
`
`12/874,064
`
`(22) Filed:
`
`Sep.1,2010
`
`Related U.S. Application Data
`
`(63) Continuation-in-part of application No. 12/642,728,
`filed on Dec. 18, 2009, which is a continuation-in-part
`of application No. 12/607,522, filed on Oct. 28, 2009.
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`GllC 16106
`
`(2006.01)
`
`(52) U.S. Cl. ........... 365/185.09; 365/185.17; 365/185.03
`
`(57)
`
`ABSTRACT
`
`Data errors in non-volatile memory inevitably increase with
`usage and with higher density of bits stored per cell. The
`memory is configured to have a first portion operating with
`less error but of lower density storage, and a second portion
`operating with a higher density but less robust storage. An
`error management provides reading and checking the copy
`after copying to the second portion. If the copy has excessive
`error bits, it is repeated in a different location either in the
`second or first portion. The reading and checking of the copy
`is accelerated by reading only a sample of it. The sample is
`selected from a subset of the copy having its own ECC and
`estimated to represent a worst error rate among the copy it is
`sampling. One embodiment has the sample taken from one bit
`of each multi-bit memory cell of a group.
`
`HOST 80
`
`'
`
`"'
`
`FLASH MEMORY DEVICE 90
`
`Memory Chip 100
`
`On-Chip
`Control
`Circuit
`110
`
`112
`./
`
`State
`Mach-
`ine
`
`' 480 ...,.....--
`430-
`
`440 -
`
`Controller
`102
`
`-
`
`'
`
`~
`
`FIRM-
`WARE
`
`,__ c- 60
`
`ECC
`Processor
`
`,- c- 62
`
`1-C·············►
`
`Memory Array
`200
`
`SENSE MODULES
`
`Data Latches
`1/0
`
`. .
`.
`.
`
`Micron Ex. 1022, p. 1
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 1 of 31
`
`US 2011/0096601 Al
`
`HOST 80
`
`FLASH MEMORY DEVICE 90
`
`Memory Chip 100
`
`On-Chip
`Control
`Circuit
`110
`
`112
`l,./
`
`State
`Mach-
`ine
`
`;~ 480 _,,,,
`430~
`
`440
`
`Controller
`102
`
`~
`
`~
`
`-
`
`,
`
`FIRM-
`WARE
`
`,__ c...-- 60
`
`ECC
`Processor
`
`he-' 62
`
`Memory Array
`200
`
`SENSE MODULES
`
`Data Latches
`1/0
`
`•
`•
`•
`•
`
`FIG. 1
`
`Micron Ex. 1022, p. 2
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication Apr. 28, 2011 Sheet 2 of 31
`
`US 2011/0096601 Al
`
`Control
`gate
`
`10
`✓
`
`20 _130
`~ ........ .
`14 J
`--<- 16
`Drain
`
`FIG. 2
`
`Source
`
`200 v
`
`-T
`
`
`-i .._ 10 --0
`
`~ ....
`
`. ..............
`
`2
`4
`\
`
`3f -
`1'
`11~ 10
`
`-
`(_16 T
`
`--
`T
`
`~ ....
`
`...............
`
`~ t-
`
`--i ~
`
`-T
`
`
`
`0--
`
`(/J
`(I)
`C
`"E
`0 s
`
`-
`T
`
`-
`T
`
`-
`T
`
`-
`T
`
`It-
`
`~ ~ ...............
`
`~ t-
`
`--i ►
`
`34-
`
`~3a
`
`Bit lines
`
`FIG. 3
`
`Micron Ex. 1022, p. 3
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication Apr. 28, 2011 Sheet 3 of 31
`
`US 2011/0096601 Al
`
`BLO BL 1 BL2 BL3 BL4 BL5
`
`Blm-1 Blm
`
`200
`
`44
`SGD
`
`I
`1 :
`Wln
`I:
`,~
`42
`20 /i
`
`WL3
`
`WL2
`
`WL1
`
`WLO
`
`SGS
`44
`
`I
`I
`._ \ _. S1
`50
`
`FIG. 4
`
`Micron Ex. 1022, p. 4
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 4 of 31
`
`US 2011/0096601 Al
`
`READ/WRITE CIRCUITS 270A. 270B
`
`480
`
`Sense u
`
`Module
`1
`
`Sense
`Module
`2
`
`...................
`
`Sense
`Module
`p
`
`'--36
`
`Bit line
`
`drain
`1 0
`"---
`
`Cell
`1
`
`source
`
`i1
`
`...................
`
`Cell
`2
`
`i2
`
`Cell
`p
`
`ip
`
`, '
`
`, ' CLSRC
`
`34
`
`, ' Source (
`Line
`
`iror , '
`
`GND
`
`FIG. 5A
`
`Sense Module 480
`
`Sense Amp
`
`490
`
`FIG. 5B
`
`Micron Ex. 1022, p. 5
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 5 of 31
`
`US 2011/0096601 Al
`
`1 200
`
`ERASE BLOCK m
`
`30 0 v
`
`-
`
`WLy -
`
`--
`
`■
`
`■
`
`■
`
`-
`
`-
`
`WL31 -
`WL16 -
`4 4~
`:r
`WL15
`42
`~
`WL0
`
`■
`
`■
`
`■
`
`ERASE BLOCK 1
`
`ERASE BLOCK 0
`
`~
`3 00
`
`v
`
`BLx
`
`4 47
`
`r-,,
`
`36 ---
`
`BL0
`
`BL1
`
`FIG. 6
`
`Micron Ex. 1022, p. 6
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication Apr. 28, 2011 Sheet 6 of 31
`
`US 2011/0096601 Al
`
`Threshold Window
`
`(2)
`
`Binary Bit}
`
`►
`
`Programming into two states represented by a 1-bit code
`
`FIG. 7
`
`Micron Ex. 1022, p. 7
`Micron v. Vervain
`IPR2021-01549
`
`

`

`> ....
`0 ....
`
`--- 0
`....
`0 ....
`N
`rJJ
`c
`
`O'I
`O'I
`1,0
`0
`
`~ ....
`0 ....
`-....J
`.....
`rJJ =(cid:173)
`....
`0 ....
`
`('D
`('D
`
`N
`~CIO
`N
`
`t :-:
`.... 0 =
`.... 0 = ""O = O" -....
`('D = ..... t "e -....
`
`~ .....
`
`(')
`
`~ .....
`
`(')
`
`~ .....
`""O
`
`FIG. 8
`
`Programming into four states represented by a 3-bit code
`
`I
`Vrn J
`
`I
`:
`ILower Bit:
`I
`I
`
`I
`I
`
`Upper Bit JI~
`
`Middle Bit
`
`(2)
`
`( 1)
`
`(0)
`
`Threshold Window
`
`Erase
`
`Micron Ex. 1022, p. 8
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 8 of 31
`
`US 2011/0096601 Al
`
`- - - - - - - - - - Data Page 70' - - - - - - - -
`
`User Data
`
`72'7
`
`74'7 76'7
`
`FIG. 9
`
`3cr
`
`FIG. 10A
`
`Sigma Value
`
`Cumulative value
`
`Cumulative %
`
`1 cr
`1.645cr
`1.960cr
`2cr
`2.576cr
`3cr
`3.2906cr
`4cr
`5cr
`6cr
`7cr
`
`1.59E-01
`5.00E-02
`2.50E-02
`2.28E-02
`5.00E-03
`1.35E-03
`5.00E-04
`3.17E-05
`2.87E-07
`9.86E-10
`1.28E-12
`
`15.86500000%
`5.00000000%
`2.50000000%
`2.27500000%
`0.50000000%
`0.13500000%
`0.05000000%
`0.00316700%
`0.00028670%
`0.00000010%
`0.00000000%
`
`FIG. 10B
`
`Example Error
`Rate at EOL
`...
`1 bits
`...
`2 bits
`...
`4 bits
`...
`8 bits
`30 bits
`42 bits
`...
`
`Micron Ex. 1022, p. 9
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 9 of 31
`
`US 2011/0096601 Al
`
`ERROR
`SOURCE
`
`DESCRIPTION
`
`(A)
`
`Epw(Neve)
`
`Bit errors that are present soon after the page is
`written. They increase with Ncyc, the number of
`program-erase cycling, which is a measure of the
`endurance of a block.
`
`(8)
`
`EoR(T, Neye)
`
`Bit errors due to data retention at EOL ("end of life")
`T = Temperature
`
`(C)
`
`ERo(NR, Neve)
`
`Bit errors due to read disturb which increase with the
`number of reads NR and endurance
`
`FIG. 11
`
`(A)
`
`(B)
`
`(C)
`
`ETOT(Neve, NR)
`
`= Epw(Neve) + EoR(T, Neve) + ERo(NR, Neve)
`
`(fresh after 1 year) Epw(Ncyc) + EoR(85°C, 1) + ERo(1 M, 1)
`= 3 + 2 + 0 = 5 bits
`ETOT(1, 1M)
`
`(memory at EOL) Epw(10K) ~ 10, EoR(85°C, 10K) ~ 10, and ERo(1M,
`10K) ~ 1
`ETOT(10K, 1M)
`= 10+10+1 = 21 bits
`
`Examples of Total Errors at the beginning and end of life
`FIG. 12
`
`ECCoESIGN
`
`Must be designed to correct for worst case
`ETOT(after EOL cycling, Data Retention specification)
`
`FIG. 13
`
`Micron Ex. 1022, p. 10
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 10 of 31
`
`US 2011/0096601 Al
`
`MEMORY ARRAY 200
`Second Portion 420
`(less robust but higher density storage)
`
`WRITE
`Input data
`page
`
`►
`
`t:2222 222-2; first copy of data page 1 zzzzzzzz1
`
`First Portion 410
`(more robust but lower density storage)
`
`FIG. 14A
`
`Micron Ex. 1022, p. 11
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 11 of 31
`
`US 2011/0096601 Al
`
`MEMORY ARRAY 200
`Second Portion 420
`(less robust but higher density storage)
`
`Input data
`
`page ---~
`
`If Post-Write
`Read
`FAILED
`
`REWRITE
`
`First Portion 410
`(more robust but lower density storage)
`
`razzzz second copy of data page tzaan
`
`FIG. 14B
`
`Micron Ex. 1022, p. 12
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 12 of 31
`
`US 2011/0096601 Al
`
`Configuring the memory into first and second portions, the first
`portion having memory cells operating with a margin of error
`larger than that of the second portion
`
`500
`_.,)
`
`Write to Second Portion
`
`,ir
`
`Programming a first copy of a group of input data in the second
`portion
`
`510
`_.,)
`
`Post-Write Read
`
`w
`
`Reading the first copy from the second portion to check for error
`after a predefined time
`
`520
`_.,)
`
`Does the error exceed a predetermined number of error bits?
`
`530
`__,/
`
`,,,
`
`YES
`Rewrite to Robust First Portion ,,,
`
`NO
`
`Programming a second copy of the
`group of input data in the first portion
`
`540
`__.,;
`
`,,,
`Identifying the last written copy as valid data for subsequent read
`
`,,.
`
`The group of input data is done storing in the nonvolatile memory
`
`550
`__,/
`560
`__,/
`
`FIG. 15
`
`Micron Ex. 1022, p. 13
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 13 of 31
`
`US 2011/0096601 Al
`
`MEMORY ARRAY 200
`Second Portion 420
`(less robust but higher density storage)
`
`122222222~ first copy of data page •z:22222221
`
`WRITE
`
`Input data
`page
`
`\
`
`~
`
`First Portion 410
`(more robust but lower density storage)
`Second Section 412 (for rewrites)
`
`First Section 411 (for caching)
`
`cached copy of data page
`
`FIG. 16A
`
`Micron Ex. 1022, p. 14
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 14 of 31
`
`US 2011/0096601 Al
`
`MEMORY ARRAY 200
`Second Portion 420
`
`Post-Write
`Read
`PASSED
`
`First Portion 410
`
`Second Section 412 (for rewrites)
`
`,22222222« first copy of data page •222222221
`~
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`\
`\
`\
`\
`~
`
`First Section 411 (for caching)
`
`FIG. 16B
`
`Micron Ex. 1022, p. 15
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication Apr. 28, 2011 Sheet 15 of 31
`
`US 2011/0096601 Al
`
`MEMORY ARRAY 200
`Second Portion 420
`
`I
`I
`I
`I
`I
`Post-Write 1
`Read
`1
`FAILED
`I
`I
`I
`I
`\
`\
`
`IZZZZZZZZZZ first copy of data page '!:ZZZZZZZl
`
`First Portion 410
`
`Second Section 412 (for rewrites)
`
`second copy of data page
`
`First Section 411 (for caching)
`
`cached copy e>f data pafJe
`
`FIG. 16C
`
`I\
`
`RE tN RITE
`
`Micron Ex. 1022, p. 16
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 16 of 31
`
`US 2011/0096601 Al
`
`Configuring the memory into first and second portions, the first
`portion having memory cells operating with a margin of error
`larger than that of the second portion
`
`600
`_./
`
`Caching in Robust First Portion r-
`
`Programming a cached copy of a group of input data in a first
`section of the first portion
`
`602
`_./
`
`Write to Second Portion
`'r'
`Programming a first copy of the group of input data in the second
`portion
`
`610
`_./
`
`,,,
`Post Write Read
`Reading the first copy from the second portion to check for error
`after a predefined time
`
`620
`__./
`
`Does the error exceed a predetermined number of error bits?
`
`630
`__,I
`
`,,,
`
`YES
`R ewrite to Robust First Portion , •
`
`NO
`
`632
`Reading the cached copy of the group of
`input data from the first section of the first __,I
`portion
`
`Programming the cached copy as a
`642
`second copy of the group of input data in __,I
`a second section of the first portion
`
`,.
`'
`Identifying the last written copy as valid data for subsequent read
`
`The group of input data is done storing in the nonvolatile memory
`
`650
`__,I
`660
`__,I
`
`FIG. 17
`
`Micron Ex. 1022, p. 17
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 17 of 31
`
`US 2011/0096601 Al
`
`/ 200
`
`I Neve (m) -
`
`30 2
`
`30 0
`/
`
`ERASE BLOCK m
`
`■
`
`■
`
`■
`
`-
`
`WLy -
`
`--
`
`■
`
`■
`
`■
`
`I Neve (1) -
`
`30 2
`
`ERASE BLOCK 1
`
`I Neve (OJ -
`
`ERASE BLOCK 0
`
`"" 3 00
`
`____,
`
`------3 02
`
`36 -
`
`BL1
`
`I '
`
`BL0
`
`FIG. 18
`
`BLx
`
`-- -- 4
`
`WL31
`
`WL16
`
`4
`
`~
`
`WL15
`_T
`42
`-::::i....
`WL0
`4 47
`
`Micron Ex. 1022, p. 18
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 18 of 31
`
`US 2011/0096601 Al
`
`Providing a non-volatile memory organized into ~
`700
`erase blocks of memory cells, wherein the memory
`cells of each erase block are erased together and
`age with the number of erase/program cycling of
`each block
`
`,,
`
`Providing an error management for correcting errors ~ 710
`associated with an aging memory device
`
`,,
`
`Tracking the age of each block by maintaining a hot
`count that records the number of erase/program
`cycling each block has undergone
`
`~ 720
`
`,,
`
`Is the Hot Count of a memory block > ~
`730
`a predetermined hot count threshold?
`
`y
`
`1'
`
`~740
`
`N
`
`H
`
`~750
`
`Enable the error
`management for the
`rest of the life of the
`memory
`
`Do not enable the
`error management
`yet
`
`FIG. 19
`
`Micron Ex. 1022, p. 19
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 19 of 31
`
`US 2011/0096601 Al
`
`MEMORY ARRAY 200
`
`Second Portion 420 (D3)
`
`(4) 1st Post(cid:173)
`Write Read on
`D3 Block m
`PASSED
`
`f
`
`I
`I
`
`(3)1 s1 D3
`:
`Page n
`1
`Write (Folding~
`I
`\
`\
`\../
`!
`
`(2) D1
`Page n
`STAGING
`
`D3 Block m
`1st copy of D3 page n zz::2::zzi22Z1
`
`First Portion 410 (D1)
`
`Second Section 412 (D1 for staging)
`
`m.3
`m.2
`01 Virtual Block m, 1
`S1aged D1 copy of
`data Jat= es n.1) n.2. n.3 ~~~1
`
`First Section 411
`(D1 for caching small fragments)
`
`Example of successful D1 to D3 Folding
`
`FIG. 20A
`
`Micron Ex. 1022, p. 20
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication Apr. 28, 2011 Sheet 20 of 31
`
`US 2011/0096601 Al
`
`MEMORY ARRAY 200
`Second Portion 420 (D3)
`
`(6) 2nd Post-
`Write Read on
`D3 Block m
`PhSSED
`
`~
`
`Block m'
`tzzz.z:z 2nd copy of D3 data page
`
`~
`
`BlocK m
`~ 1st copy of 03 data page
`:
`
`First Portion 410
`
`Second Section 412 (D1 for staging)
`
`(4') 1st Post-
`Write Read on
`D3 Block m
`EAILED
`~
`I
`I
`I
`I
`I
`I
`(3) 1st D3
`I
`Page n
`I
`w rite (Folding)
`I
`I
`rn3
`\
`(2) D1
`m,2
`\
`Page n ~
`D1 Virtual Block m, 1
`STAGING
`.
`....... ~# -'''
`-- ~ Staqed D 1 copv of
`J
`data paQes n. 1. n1 n.3
`· · ·
`~ .
`
`I
`I
`
`C
`
`-
`(1 )From HOST
`
`, , , , , , ,
`
`First Section 411
`(D1 for caching small fragments)
`
`...
`
`( 5) 2nd D3
`Block m
`Write
`
`V
`
`Example of Read Error after 1st D1 to D3 Folding
`
`FIG. 20B
`
`Micron Ex. 1022, p. 21
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 21 of 31
`
`US 2011/0096601 Al
`
`MEMORY ARRAY 200
`Second Portion 420 (D3)
`
`(5) 2nd D3
`ock /'
`Write
`~Bl
`
`~
`
`V
`
`(7) Use D1
`ock i
`Bl
`
`(6') 2nd Post-
`Write Read on
`D3 Block m
`F,l,\ILED
`
`~
`
`(4') 1st Post-
`Write Read on
`D3 Block m
`F:AILED
`-
`
`11
`I
`I
`I
`I
`I
`I
`I
`
`(3) 1st D3
`Page n
`w
`rite (Folding~
`I
`I
`(2) D1
`\
`Page n ' ~
`STAGING'"\
`-
`
`-C
`
`-
`(1 )From HOST
`
`Biock r
`2nd copy of D:3 data page
`
`'
`
`,
`
`Block i
`1st copy of D3 data page
`
`, ,
`
`First Portion 410
`
`Second Section 412 (D1 for staging)
`
`I
`I
`
`..r ;•,,. ,ir . ✓· .,r
`
`.;,·
`
`m.3
`m.2
`D1 Virtual Block m.1
`Staged D1 copy of
`data paqes n.1, n.2, n.3
`
`;,;r,;;·,,ir,r
`
`F
`
`
`
`First Section 411
`(D1 for caching small fragments)
`
`Example of Read Error after 2nd D1 to D3 Folding
`
`FIG. 20C
`
`Micron Ex. 1022, p. 22
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 22 of 31
`
`US 2011/0096601 Al
`
`File System Configuration File
`
`PARAMETER
`
`DESCRIPTION
`
`E_pw_check
`
`a variable set in File System Configuration File to specify at
`what# of ECC bits level, a D3 block is consider high risk
`and restart of D1 to D3 folding to a new D3 block is
`required
`
`a variable is needed in File System Configuration File for
`ECC _threshold
`- maintaining SLC threshold to compare against in order to
`SLC
`make a decision to continue with EPWR or not
`
`EPWR enable
`-
`flag
`
`controlled in File System Configuration File.
`0 = not set (Default);
`1 = set when EPWR is enabled
`
`Hot_count_
`enable_flag
`
`0 = not enabled;
`1 = enabled
`
`a variable set in File System Configuration File to specify at
`Hot_count_
`what hot count level, EPWR is needed. If hot count of all
`threshold_EPWR D3 blocks is< hot count threshold, even EPWR enable flag
`is on, EPWR process is not triggered
`
`EPWR_verify_
`page_budget
`
`a variable set in File System Configuration File to specify
`how many pages can be read during 1 phase of EPWR
`
`EPWR_retries
`
`a variable in File System Configuration File to limit number
`of retry attempts
`
`D3_Block_max a variable in File System Configuration File to limit the total
`- retries
`number of retry attempts on a D3 block over lifetime
`
`FIG. 21
`
`Micron Ex. 1022, p. 23
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 23 of 31
`
`US 2011/0096601 Al
`
`(
`
`Start
`
`800
`
`--,,
`r+ D1 to D3 Folding __., 810
`
`~
`
`N
`
`Is a D3 block
`completed?
`y
`,,
`
`__., 812
`
`,,-- 820
`N
`
`EPWR enabled?
`
`y
`,,
`Process EPWR
`r+ ("Enhanced Post Write Read")
`,,-- 840
`
`(830
`
`,,
`
`_,--850
`
`N
`
`-
`
`~
`
`Retain D3 block;
`Retire D1 copies of
`D3 block
`
`Process more blocks?
`
`(860
`
`(870
`
`y
`
`-
`
`N
`
`Error Rate>
`Threshold?
`'Y
`I
`I
`
`'
`
`Redo D3 block on N
`a new block?
`
`y
`
`1r
`
`(869
`
`Redo D1 to D3
`folding on a new
`block
`
`-
`-
`
`Retire D3 block;
`Retain D 1 copies of
`D3 block
`
`Put Card in Read
`Only Mode
`
`--
`
`v872
`
`,..
`(
`
`1r
`
`8 90
`
`DONE
`
`FIG. 22A
`
`Micron Ex. 1022, p. 24
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 24 of 31
`
`US 2011/0096601 Al
`
`Do EPWR? 820
`
`N -
`
`, '
`N
`
`N --
`No EPWR
`Pr,
`ocessing
`D 3 Block
`med good
`assu
`G OTO 850
`
`N -
`
`EPWR_enable_flag = enabled?
`y
`,,
`Hot_count_enable_flag = enabled?
`y
`,,
`D3 Block's Hot Count>
`Hot count threshold EPWR?
`-
`-
`-
`y
`'--- 826
`
`'--- 822
`
`'---- 824
`
`--
`
`,,
`y
`
`Process EPWR
`GOTO 830
`
`FIG. 22B
`
`Micron Ex. 1022, p. 25
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 25 of 31
`
`US 2011/0096601 Al
`
`Process EPWR 830
`
`FROM 820
`
`-~ ,,
`
`Process time
`available?
`y
`
`N - Remember the
`-
`"-- 832
`
`last EPWR
`step
`
`~ Start/Continue on
`-
`a D3 block
`
`"--- 834
`
`Transfer page with
`ECC to Controller ~
`for EDC checking
`
`~
`
`, .
`
`"--- 836
`
`"-- 838
`
`Select next
`page
`
`' . "--- 844
`
`# ECC errors >
`E_pw_check?
`
`N
`
`N
`-
`Reach end of
`- the D3 block?
`
`"-- 840
`
`y
`
`1 r
`
`Y"-- 842
`
`I
`
`I
`
`862
`
`Redo D3 block? 860
`r - - - - - - - , ... J/ 868
`(Optional)
`1
`1
`Is this retry> EPWR_retries?
`Correct D1 data I
`N _t
`1
`1 with ECC and
`y
`\
`I
`I restaged in D1 1
`r - - - - - - - - -
`._ -
`-
`-
`-
`-
`-
`-
`I
`•
`(Optional)
`I
`866 ~ :.............. y
`D3 block
`:
`1
`N I
`Check D1 data;
`total retries >
`I-.___ - 864
`Is ECC errors > ....-, Block_max_retries? :
`,---------
`ECC_threshold
`Retire D3 block L i---865
`____ 7" ____ J
`SLC?
`1
`-
`N
`j
`··················►~·················································'
`
`,,
`
`Redo 03 Block
`GOTO 869
`
`, .
`
`No redo 1,
`MEMORY OLD 03 BLOCK GOOD
`GOTO 870
`GOTO 850
`
`FIG. 22C
`
`Micron Ex. 1022, p. 26
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication Apr. 28, 2011 Sheet 26 of 31
`
`US 2011/0096601 Al
`
`(0)
`
`( 1)
`
`(2)
`
`(3)
`
`Threshold Window
`
`"Erased or
`Ground"
`
`De
`
`I
`I
`I
`I
`PagelProgr
`I
`I
`I
`I
`I
`
`Upper Bit
`
`Lower Bit
`
`►
`
`Logical-Page-by-Logical-Page Programming
`(2-bit LM Gray Code)
`FIG. 23
`
`Micron Ex. 1022, p. 27
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication Apr. 28, 2011 Sheet 27 of 31
`
`US 2011/0096601 Al
`
`Upper Bit ~ ~ Lower Bit
`"01"
`"00"
`
`"11"
`
`"10"
`
`Lower Bit= "O"
`
`Lower Page Read (LM Gray Code)
`
`FIG. 24A
`
`Upper Bit= "O"
`
`De
`
`"11"
`
`"01"
`
`"00"
`
`"10"
`
`Upper Page Read (LM Gray Code)
`FIG. 24B
`
`Micron Ex. 1022, p. 28
`Micron v. Vervain
`IPR2021-01549
`
`

`

`> ....
`0 ....
`
`--- 0
`....
`0 ....
`c
`
`N
`rJJ
`
`O'I
`O'I
`1,0
`0
`
`~ ....
`0 ....
`
`('D
`('D
`
`CIO
`N
`.....
`rJJ =(cid:173)
`....
`0 ....
`
`N
`~CIO
`N
`
`t :-:
`.... 0 =
`.... 0 = ""O = O" -....
`('D = ..... t "e -....
`
`~ .....
`
`(')
`
`~ .....
`
`(')
`
`~ .....
`""O
`
`VTH
`
`Logical-Page-by-Logical-Page Programming (3-bit LM Gray Code)
`
`FIG. 25
`
`Upper Bit J t ~ Lower Bit
`
`Middle Bit
`
`MiddlelPare Prog
`
`I
`
`xxO
`ne
`
`I
`I
`
`1
`
`ower Pag~ Progra
`
`:
`
`DG
`
`\.1 Do
`
`/
`
`De
`
`Ds
`
`Threshold Window
`
`I
`
`Ground"
`"Erased or
`
`(4)
`
`(3)
`
`(2)
`
`( 1)
`
`(0)
`
`Micron Ex. 1022, p. 29
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 29 of 31
`
`US 2011/0096601 Al
`
`- - - - - - ECC Page 80 - - - - - -
`
`User Data
`
`84 7 86 7
`
`FIG. 26A
`
`ECC Page 1 ECC Page 2 ECC Page 3
`
`ECC Page N
`
`80
`
`80
`
`FIG. 26B
`
`Micron Ex. 1022, p. 30
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 30 of 31
`
`US 2011/0096601 Al
`
`Providing multiple groups of memory cells, the memory cells in
`each group for operating in parallel
`
`I'--
`
`900
`
`, '
`Programming multiple subsets of data into a first group of memory I'-- 902
`cells, each subset of data being provided with an ECC
`
`1'
`
`Selecting a sample of the data programmed in the first group of
`memory cells, the sample being selected from a subset of data
`said multiple subsets of data programmed into the first group
`
`I'-- 910
`
`, '
`
`Reading said sample
`
`~'
`
`Checking said sample for errors
`
`1'
`
`I'-- 920
`
`I'-- 922
`
`Reprogramming said multiple subsets of data into a second group
`of memory cells whenever the errors checked from the sample is
`more than a predetermined number of error bits
`
`I'--
`
`930
`
`Accelerated PWR
`FIG. 27
`
`Micron Ex. 1022, p. 31
`Micron v. Vervain
`IPR2021-01549
`
`

`

`Patent Application Publication
`
`Apr. 28, 2011 Sheet 31 of 31
`
`US 2011/0096601 Al
`
`Selecting a sample of the data programmed in the first group of
`memory cells, the sample being selected from a subset of data
`said multiple subsets of data programmed into the first group and
`the sample is a subset of data estimated to have a highest error
`rate among said multiple subsets of data programmed into the
`first group
`
`I'--- 910'
`
`FIG. 28
`
`'--- 40
`
`WL
`Decoder
`
`142 WL
`
`82
`
`Upper
`
`Middle
`
`Lower
`
`ECC Page 9
`
`ECC Page 10 ECC Page 11
`
`ECC Page 5
`
`ECC Page 6
`
`ECC Page 7
`
`ECC Page 8
`
`ECC Page 1
`7
`80
`
`ECC Page 2
`
`ECC Page 3
`
`ECC Page 4
`
`3 Data Pages stored on WL
`FIG. 29
`
`Micron Ex. 1022, p. 32
`Micron v. Vervain
`IPR2021-01549
`
`

`

`US 2011/0096601 Al
`
`Apr. 28, 2011
`
`1
`
`NON-VOLATILE MEMORY AND METHOD
`WITH ACCELERATED POST-WRITE READ
`TO MANAGE ERRORS
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`[0001] This application is a continuation-in-part of U.S.
`application Ser. No. 12/642,728 filed on Dec. 18, 2009, which
`is a continuation-in-part of U.S. application Ser. No. 12/607,
`522 filed on Oct. 28, 2009.
`
`BACKGROUND OF THE INVENTION
`
`[0002] This application relates to the operation of re-pro(cid:173)
`grammable non-volatile memory systems such as semicon(cid:173)
`ductor flash memory, and, more specifically, to handling and
`efficient managing of errors in memory operations.
`[0003] Solid-state memory capable of nonvolatile storage
`of charge, particularly in the form of EEPROM and flash
`EEPROM packaged as a small form factor card, has recently
`become the storage of choice in a variety of mobile and
`handheld devices, notably information appliances and con(cid:173)
`sumer electronics products. Unlike RAM (random access
`memory) that is also solid-state memory, flash memory is
`non-volatile, and retaining its stored data even after power is
`turned off. Also, unlike ROM (read only memory), flash
`memory is rewritable similar to a disk storage device. In spite
`of the higher cost, flash memory is increasingly being used in
`mass storage applications. Conventional mass storage, based
`on rotating magnetic medium such as hard drives and floppy
`disks, is unsuitable for the mobile and handheld environment.
`This is because disk drives tend to be bulky, are prone to
`mechanical failure and have high latency and high power
`requirements. These undesirable attributes make disk-based
`storage impractical in most mobile and portable applications.
`On the other hand, flash memory, both embedded and in the
`form of a removable card are ideally suited in the mobile and
`handheld environment because of its small size, low power
`consumption, high speed and high reliability features.
`[0004] Flash EEPROM is similar to EEPROM ( electrically
`erasable and programmable read-only memory) in that it is a
`non-volatile memory that can be erased and have new data
`written or "programmed" into their memory cells. Both uti(cid:173)
`lize a floating (unconnected) conductive gate, in a field effect
`transistor structure, positioned over a channel region in a
`semiconductor substrate, between source and drain regions.
`A control gate is then provided over the floating gate. The
`threshold voltage characteristic of the transistor is controlled
`by the amount of charge that is retained on the floating gate.
`That is, for a given level of charge on the floating gate, there
`is a corresponding voltage (threshold) that must be applied to
`the control gate before the transistor is turned "on" to permit
`conduction between its source and drain regions. In particu(cid:173)
`lar, flash memory such as Flash EEPROM allows entire
`blocks of memory cells to be erased at the same time.
`[0005] The floating gate can hold a range of charges and
`therefore can be programmed to any threshold voltage level
`within a threshold voltage window. The size of the threshold
`voltage window is delimited by the minimum and maximum
`threshold levels of the device, which in tum correspond to the
`range of the charges that can be programmed onto the floating
`gate. The threshold window generally depends on the
`memory device's characteristics, operating conditions and
`history. Each distinct, resolvable threshold voltage level
`
`range within the window may, in principle, be used to desig(cid:173)
`nate a definite memory state of the cell.
`It is common in current commercial products for
`[0006]
`each storage element of a flash EEPROM array to store a
`single bit of data by operating in a binary mode, where two
`ranges of threshold levels of the storage element transistors
`are defined as storage levels. The threshold levels of transis(cid:173)
`tors correspond to ranges of charge levels stored on their
`storage elements. In addition to shrinking the size of the
`memory arrays, the trend is to further increase the density of
`data storage of such memory arrays by storing more than one
`bit of data in each storage element transistor. This is accom(cid:173)
`plished by defining more than two threshold levels as storage
`states for each storage element transistor, four such states (2
`bits of data per storage element) now being included in com(cid:173)
`mercial products. More storage states, such as 16 states per
`storage element, are also being implemented. Each storage
`element memory transistor has a certain total range (window)
`of threshold voltages in which it may practically be operated,
`and that range is divided into the number of states defined for
`it plus margins between the states to allow for them to be
`clearly differentiated from one another. Obviously, the more
`bits a memory cell is configured to store, the smaller is the
`margin of error it has to operate in.
`[0007] The transistor serving as a memory cell is typically
`programmed to a "programmed" state by one of two mecha(cid:173)
`nisms. In "hot electron injection," a high voltage applied to
`the drain accelerates electrons across the substrate channel
`region. At the same time a high voltage applied to the control
`gate pulls the hot electrons through a thin gate dielectric onto
`the floating gate. In "tunneling injection," a high voltage is
`applied to the control gate relative to the substrate. In this way,
`electrons are pulled from the substrate to the intervening
`floating gate. While the term "program" has been used his(cid:173)
`torically to describe writing to a memory by injecting elec(cid:173)
`trons to an initially erased charge storage unit of the memory
`cell so as to alter the memory state, it has now been used
`interchangeable with more common terms such as "write" or
`"record."
`[0008] The memory device may be erased by a number of
`mechanisms. For EEPROM, a memory cell is electrically
`erasable, by applying a high voltage to the substrate relative to
`the control gate so as to induce electrons in the floating gate to
`tunnel through a thin oxide to the substrate channel region
`(i.e., Fowler-Nordheim tunneling.) Typically, the EEPROM
`is erasable byte by byte. For flash EEPROM, the memory is
`electrically erasable either all at once or one or more mini(cid:173)
`mum erasable blocks at a time, where a minimum erasable
`block may consist of one or more sectors and each sector may
`store 512 bytes or more of data.
`[0009] The memory device typically comprises one or
`more memory chips that may be mounted on a card. Each
`memory chip comprises an array of memory cells supported
`by peripheral circuits such as decoders and erase, write and
`read circuits. The more sophisticated memory devices also
`come with a controller that performs intelligent and higher
`level memory operations and interfacing.
`[0010] There are many commercially successful non-vola(cid:173)
`tile solid-state memory devices being used today. These
`memory devices may be flash EEPROM or may employ other
`types of nonvolatile memory cells. Examples of flash memory
`and systems and methods of manufacturing them are given in
`U.S. Pat. Nos. 5,070,032, 5,095,344, 5,315,541, 5,343,063,
`and 5,661,053, 5,313,421 and 6,222,762. In particular, flash
`
`Micron Ex. 1022, p. 33
`Micron v. Vervain
`IPR2021-01549
`
`

`

`US 2011/0096601 Al
`
`Apr. 28, 2011
`
`2
`
`memory devices with NAND string structures are described
`in U.S. Pat. Nos. 5,570,315, 5,903,495, 6,046,935. Also non(cid:173)
`volatile memory devices are also manufactured from memory
`cells with a dielectric layer for storing charge. Instead of the
`conductive floating gate elements described earlier, a dielec(cid:173)
`tric layer is used. Such memory devices utilizing dielectric
`storage element have been described by Eitan et al., "NROM:
`A Novel Localized Trapping, 2-Bit Nonvolatile Memory
`Cell," IEEE Electron Device Letters, vol. 21, no. 11, Novem(cid:173)
`ber 2000, pp. 543-545. An ONO dielectric layer extends
`across the channel between source and drain diffusions. The
`charge for one data bit is localized in the dielectric layer
`adjacent to the drain, and the charge for the other data bit is
`localized in the dielectric layer adjacent to the source. For
`example, U.S. Pat. Nos. 5,768,192 and 6,011,725 disclose a
`nonvolatile memory cell having a trapping dielectric sand(cid:173)
`wiched between two silicon dioxide layers. Multi-state data
`storage is implemented by separately reading the binary
`states of the spatially separated charge storage regions within
`the dielectric.
`[0011]
`In order to improve read and program performance,
`multiple charge storage elements or memory transistors in an
`array are read or programmed in parallel. Thus, a "page" of
`memory elements are read or programmed together. In exist(cid:173)
`ing memory architectures, a row typically contains several
`interleaved pages or it may constitute one page. All memory
`elements of a page will be read or progrannned together.
`
`Errors in Written Data
`
`[0012]
`In the types of memory systems described herein, as
`well as in others, including magnetic disc storage systems, the
`integrity of the data being stored is maintained by use of an
`error correction technique. Most commonly, an error correc(cid:173)
`tion code (ECC) is calculated for each sector or other unit of
`data that is being stored at one time, and that ECC is stored
`along with the data. The ECC is most commonly stored
`together with a unit group of user data from which the ECC
`has been calculated. The unit group of user data may be a
`sector or a multi-sector page. When this data is read from the
`memory, the ECC is used to determine the integrity of the user
`data being read. Erroneous bits of data within the unit group
`of data can often be corrected by use of the ECC.
`[0013] The trend is to reduce the size of the memory sys(cid:173)
`tems in order to be able to put more memory cells in the
`system and to make the system as small as possible to fit in
`smaller host devices. Memory capacity is increased by a
`combination of higher integration of circuits and configuring
`each memory cell to store more bits of data. Both techniques
`require the memory to operate with increasing tighter margin
`of error. This in tum places more demand on the ECC to
`correct errors.
`[0014] The ECC can be designed to correct a predeter(cid:173)
`mined number of error bits. The more bits it has to correct, the
`more complex and computationally intensive will the ECC
`be. For quality assurance, conventional ECC is designed
`based on the expected worst-case cell error rate at the end of
`life of t

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket