`US 20080140918Al
`
`c19) United States
`c12) Patent Application Publication
`Sutardja
`
`c10) Pub. No.: US 2008/0140918 Al
`Jun. 12, 2008
`(43) Pub. Date:
`
`(54) HYBRID NON-VOLATILE SOLID STATE
`MEMORY SYSTEM
`
`(76)
`
`Inventor:
`
`Pantas Sutardja, Los Gatos, CA
`(US)
`
`Correspondence Address:
`HARNESS, DICKEY & PIERCE P.L.C.
`5445 CORPORATE DRIVE, SUITE 200
`TROY, MI 48098
`
`(21) Appl. No.:
`
`11/952,648
`
`(22) Filed:
`
`Dec. 7, 2007
`
`Related U.S. Application Data
`
`(60) Provisional application No. 60/869,493, filed on Dec.
`11, 2006.
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`G06F 12102
`(2006.01)
`G06F 12100
`(2006.01)
`(52) U.S. Cl. ................. 711/103; 711/154; 711/E12.008;
`711/E12.001
`
`(57)
`
`ABSTRACT
`
`A solid state memory system comprises a first nonvolatile
`semiconductor (NVS) memory that has a first write cycle
`lifetime, a second nonvolatile semiconductor (NVS) memory
`that has a second write cycle lifetime that is different than the
`first write cycle lifetime, and a wear leveling module. The
`wear leveling module generates first and second wear levels
`for the first and second NVS memories based on the first and
`second write cycle lifetimes and maps logical addresses to
`physical addresses of one of the first and second NVS memo(cid:173)
`ries based on the first and second wear levels.
`
`450··(
`~=::··········~·~~~······················ ················s~1i;,:si;t~·oi;k··············································--·······
`,--------------------1
`I
`I
`Controller
`I
`I
`I
`I
`472
`I ~-----------...i First
`I
`- . - - - - - - -~
`Memory
`I
`-------.---'
`Interface
`
`462
`
`I
`
`First Solid-State
`Nonvolatile Memory
`
`:::::.
`
`DATA
`
`ADDR
`
`Host
`
`480
`
`Mapping Module
`
`465
`
`Wear Leveling
`Module
`
`260
`
`Second
`Memory -----'-(cid:173)
`Interface
`
`Second Solid•Slate
`Nonvolatile Memory
`
`474
`
`464
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`'--------------------
`-----················································································
`
`Micron Ex. 1011, p. 1
`Micron v. Vervain
`IPR2021-01547
`
`
`
`Patent Application Publication
`
`Jun. 12, 2008 Sheet 1 of 16
`
`US 2008/0140918 Al
`
`0
`0 ......
`.-J
`
`'V
`
`0 ...... w
`
`N
`
`0 ...... w
`
`~
`0
`E
`CD
`:a:
`s:::.
`rn
`cu
`U::
`
`j
`
`,
`
`...
`~ e -C
`
`0 u
`
`...
`0
`-
`·c
`LI. a.
`
`~
`<I)
`
`0
`
`(l) -<G -en I
`
`:2
`0 en
`
`Micron Ex. 1011, p. 2
`Micron v. Vervain
`IPR2021-01547
`
`
`
`Patent Application Publication
`
`Jun. 12, 2008 Sheet 2 of 16
`
`US 2008/0140918 Al
`
`~
`(IJ
`
`i5
`
`CL> -<U -00
`
`I
`
`:'2
`0
`Cl)
`
`N
`
`■
`
`(!) -LL.
`
`~
`0
`
`~
`
`-
`
`Q)
`
`~
`Q) 0
`ro E
`u.> :i
`:2 (I) a=
`(/) ro
`-15
`~ >
`·- C
`LL O z
`
`U)
`0
`C\I
`
`L,
`
`.!!~
`<U 0
`.... E
`~ (I)
`:'2~
`0
`(I)
`C/) ~
`"'O <U
`C: 0
`0 >
`0 C
`(I) 0
`en z
`
`f
`
`r-1
`
`0
`0
`C\I
`
`' . '
`
`... a,
`0 ... -C
`
`0
`(.)
`
`,.
`
`'
`
`-(IJ
`
`0
`J:
`
`(\I
`0
`(\I
`~
`
`0
`N
`N
`1.-J
`
`Micron Ex. 1011, p. 3
`Micron v. Vervain
`IPR2021-01547
`
`
`
`? ....
`2'
`.... 0 =
`~ .....
`O" = (')
`a'
`.... 0 =
`('D = ..... t "e -....
`
`~ .....
`
`(')
`
`~ .....
`""O
`
`> ....
`....
`QO --- 0 ....
`
`QO
`
`1,0
`0
`.i;...
`
`c
`
`0
`0
`N
`rJJ
`
`~
`
`O'I
`....
`0 .....
`.....
`rJJ =(cid:173)
`
`('D
`('D
`
`QO
`0
`0
`N
`j'-J
`
`:
`:
`:
`:
`!
`.----L----j
`.
`:
`:
`:
`.
`.
`.
`
`L-______ __J
`
`Nonvolatile Memory
`
`First Solid•State
`
`204
`
`o
`
`•
`
`I
`I
`I
`I
`-------~
`
`262
`
`Solid•State Disk·························································:
`
`250··· • . .
`
`······················································· ............................................................................ .J
`:
`L---------------~ I ~------Ji
`:
`l
`I
`I
`j
`I
`I
`I
`:
`I r--------. l
`I
`!
`I
`I
`
`FIG. 3
`
`206
`
`-----
`
`Nonvolatile Memory
`261 L--.1 Memory 14------,,---.a Second ~olid•State
`
`Interface
`
`Second
`
`,........ ........ __
`
`260
`
`Data Shifting
`
`Module
`
`...._---r--'
`Interface
`Memory 14-----1~-.a
`
`.--------
`_________ ....,. _ _i First
`
`ear Leveling Module
`
`.
`
`W
`
`1
`
`I
`I
`I
`I
`
`I
`
`I
`
`ADDR •
`
`DATA
`
`220
`
`Host
`
`Controller
`· r------------
`:
`l
`: 252--.
`.
`.
`.
`l
`:· ---------•••••• -•• -------. -••••••••••• 1 •••••••••••••••• -------------------
`
`Micron Ex. 1011, p. 4
`Micron v. Vervain
`IPR2021-01547
`
`
`
`> ....
`....
`QO --- 0 ....
`
`QO
`
`1,0
`0
`.i;...
`
`c
`
`0
`0
`N
`rJJ
`
`....
`0 ....
`.i;...
`""""
`rJJ =(cid:173)
`
`('D
`('D
`
`O'I
`
`? ....
`2'
`.... 0 =
`.... 0 = ""O = O" -....
`('D = """" t "e -... . (')
`
`""""
`~
`(')
`
`""""
`~
`
`""""
`~
`""O
`
`QO
`0
`0
`N
`N
`
`~
`
`. . . . . ------------------------.. ----------------------------------------------------------------------.. -.... -------------· ...... --------.
`. :
`:
`• .
`. I
`: •
`: . I
`:
`.
`. •
`. I
`.
`. •
`I
`. I .
`. I
`. . .
`I
`.
`: .
`I
`ADDR:
`I
`
`,
`
`-
`
`-
`
`262
`
`,
`
`-
`
`-
`
`-
`
`-Controller -
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`Jnterface
`
`-;. Memory~
`
`First
`.
`,
`
`(
`302-
`
`I
`i--
`
`: I
`
`I
`
`DATA:
`
`I
`I
`I
`
`I
`
`I
`I
`I
`
`.
`. .
`.
`.
`. . I
`
`.......................................................... ············· ...... ························································-.
`
`Solid•State Disk
`
`300··: . ~
`
`EIG. 4A
`
`--------------------~
`I
`I
`
`306
`
`L2os
`
`Nonvolatile Memory
`Second Solid·State
`
`Nonvolatile Memory
`
`First Solid•State
`
`I
`
`f 2°4
`
`I
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`L2s4
`Interface
`~ Memory
`Second
`
`,.
`
`Module
`
`~
`
`,
`
`Write Monitoring
`
`L~6o
`
`'
`
`-Wear Leveling Module
`
`I
`
`I
`
`I
`
`l.220
`
`,~
`
`~
`
`Host
`
`Micron Ex. 1011, p. 5
`Micron v. Vervain
`IPR2021-01547
`
`
`
`? ....
`2'
`.... 0 =
`.... 0 = ""O = O" -....
`('D = ..... t "e -....
`
`~ .....
`
`(')
`
`~ .....
`
`(')
`
`~ .....
`""O
`
`> ....
`....
`QO --- 0 ....
`
`QO
`
`1,0
`0
`.i;...
`
`c
`
`0
`0
`N
`rJJ
`
`....
`0 ....
`Ul
`.....
`rJJ =(cid:173)
`
`('D
`('D
`
`O'I
`
`QO
`0
`0
`N
`N
`
`~
`
`. . . . . . . . . . . • . . •
`
`. • . I
`. I
`.
`. .
`i . I
`! r --------Controlle;--
`:
`!
`·-. --··············-----------------____ , ____________ ........ ------------------------------. ----------------------·. -....... -------.. --.
`
`. • .
`. . I
`.
`. I
`i
`. I
`. I . . .
`. .
`. I .
`.
`.
`I
`:
`•
`I . .
`•
`' . .
`. I
`.
`: I
`ADDR !
`:
`•
`:
`
`DATA
`
`-
`
`,_
`
`-
`
`L220
`
`Host
`
`I
`
`'
`
`\
`-352
`
`350··.: . . •
`
`: ________________________________ ---------········ ........................... -----------------------------------------·---·----------···-······ :
`
`FIG. 4B
`
`_________ J
`I
`
`356
`
`I2os
`
`Nonvolatile Memory
`Second Solid-State
`
`-.-
`
`Nonvolatile Memory
`
`First Solid-State
`
`I
`
`f 204
`
`-,,
`
`I
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`l
`
`Interface
`
`-;. Memory -
`
`,
`
`-
`
`First
`\
`-262 -
`
`-
`
`-
`
`-
`
`-
`
`Solid-State Disk
`
`Module
`
`,~
`
`Write Mapping
`
`.
`
`-
`
`i........t
`
`L2s4
`Interface
`; Memory
`Second
`
`260
`
`Wear Leveling Module
`
`I
`I
`
`Micron Ex. 1011, p. 6
`Micron v. Vervain
`IPR2021-01547
`
`
`
`> ....
`....
`QO --- 0 ....
`
`QO
`
`1,0
`0
`.i;...
`
`0
`0
`N
`rJJ
`c
`
`? ....
`2'
`.... 0 =
`.... 0 = ""O = O" -....
`('D = ..... t "e -....
`
`~ .....
`
`(')
`
`~ .....
`
`(')
`
`~ .....
`""O
`
`....
`0 ....
`O'I
`.....
`rJJ =(cid:173)
`
`('D
`('D
`
`O'I
`
`QO
`0
`0
`N
`N
`
`~
`
`. . . . . : .
`
`•
`I
`I
`
`F'IG.5
`
`......... ---. -------. --................... ---------------------. --.. -----------. -... ------------........................... ---------·. ········-.. -
`
`___________ _.
`
`,~
`
`Testing Module
`
`Degradation
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`r-------------------,
`
`I
`I
`I
`I
`I
`. I
`I
`I
`I
`I
`I .
`! I
`
`I
`
`ADDR
`
`DATA
`
`L220
`
`Host
`
`!
`l
`.. ---..............•........ --------------. -... ---. --------. ---................... -----. ------... ----------. --------------···. ---.... -...... ..
`
`Solid-State Disk
`
`400··: . I .
`
`I
`I
`I
`
`l.206
`
`Nonvolatile Memory
`Second Solid-State
`
`~
`
`Nonvolatile Memory
`
`First Solid-State
`
`.
`
`2
`
`.
`
`264j
`
`Interface
`--. Memory
`Second
`
`~
`
`Interface
`Memory
`
`•
`
`First
`
`I
`
`\.!ti.!
`
`)_260
`
`~
`
`i
`
`406{
`
`Wear Leveling Module
`
`(
`402--
`
`Micron Ex. 1011, p. 7
`Micron v. Vervain
`IPR2021-01547
`
`
`
`> ....
`....
`QO --- 0 ....
`
`QO
`
`1,0
`0
`.i;...
`
`c
`
`0
`0
`N
`rJJ
`
`....
`0 ....
`-....J
`.....
`rJJ =(cid:173)
`
`('D
`('D
`
`O'I
`
`? ....
`2'
`.... 0 =
`.... 0 = ""O = O" -....
`~ "e -....
`('D = .....
`~ .....
`""O
`
`~ .....
`
`(')
`
`~ .....
`
`(')
`
`QO
`0
`0
`N
`N
`
`~
`
`l4s4
`
`Nonvolatile Memory
`Second Solid-State
`
`Nonvolatile Memory
`
`First Solid-State
`
`.
`-462
`
`•
`:
`.
`.
`.
`!
`
`FIG. 6
`
`.................................. ---------------------------------........ --........... -------.. ---------.... -----·-·· .............. .
`.
`
`-------
`
`-
`
`-
`
`l_ -----
`I
`
`-____ I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`L474
`
`Interface
`
`-Memory~
`
`Second
`
`~
`
`Interface
`Memory
`
`First
`
`\4/:.!
`
`260
`
`Module
`
`Wear Leveling
`
`I <-465
`
`-
`
`Mapping Module
`
`-
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`. . . . . . . : • . : . . : . . . . • . : : . . :
`
`: . . . . • . : . . .
`
`ADDR
`
`DATA
`
`-
`
`L4ao
`
`Host
`
`·····----••••••••••• -•• ------••••••••••• 1. --............ _ --·· ----· --• --•••••••••••••••• ----------. ·----• -•••••••••••••• -•• --•••• ------------
`
`I
`'
`: ,--------------------1
`.
`.
`.
`!
`
`Controller
`
`Solid-State Disk
`
`(
`
`460 -
`
`450··: . . . .
`
`Micron Ex. 1011, p. 8
`Micron v. Vervain
`IPR2021-01547
`
`
`
`Patent Application Publication
`
`Jun. 12, 2008 Sheet 8 of 16
`
`US 2008/0140918 Al
`
`502
`
`Start
`
`!500
`
`Receive Write Frequencies For
`Logical Addresses From Host
`
`Map Logical Addresses With
`Low Write Frequencies To
`First Memory
`
`Map Logical Addresses With
`High Write Frequencies To
`Second Memory
`
`504
`
`506
`
`508
`
`Write Data According
`To Mapping
`
`510
`
`Measure Actual Write Frequencies
`And Update Mapping
`
`512
`
`FIG. 7A
`
`Micron Ex. 1011, p. 9
`Micron v. Vervain
`IPR2021-01547
`
`
`
`Patent Application Publication
`
`Jun. 12, 2008 Sheet 9 of 16
`
`US 2008/0140918 Al
`
`N
`
`N
`
`N
`
`FIG. 7B
`
`Micron Ex. 1011, p. 10
`Micron v. Vervain
`IPR2021-01547
`
`
`
`Patent Application Publication
`
`Jun. 12, 2008 Sheet 10 of 16
`
`US 2008/0140918 Al
`
`N
`
`N
`
`y
`
`Map Corresponding Logical
`Addresses To A Block Of Second
`Memory
`
`522
`
`y
`
`Identify LUB In Second Memory
`
`Map Corresponding Logical
`Addresses To A Block Of First
`Memory
`
`526
`
`528
`
`FIG. 7C
`
`Micron Ex. 1011, p. 11
`Micron v. Vervain
`IPR2021-01547
`
`
`
`Patent Application Publication
`
`Jun. 12, 2008 Sheet 11 of 16
`
`US 2008/0140918 Al
`
`Write Data To A
`Physical Address
`At A First Time
`
`Write Data To
`The Physical
`Address At A
`Second Time
`
`Read Back
`
`Generate A
`Degradation
`Value For The
`Physical Address
`Based On The
`Two Readbacks
`
`Update Mapping
`Based On
`Degradation
`Value
`
`530
`
`532
`
`534
`
`536
`
`538
`
`540
`
`FIG. 7D
`
`Micron Ex. 1011, p. 12
`Micron v. Vervain
`IPR2021-01547
`
`
`
`Patent Application Publication
`
`Jun. 12, 2008 Sheet 12 of 16
`
`US 2008/0140918 Al
`
`Generate Wear Levels For
`First And Second Memories
`
`542
`
`y
`
`y
`
`546
`
`Map All Logical
`Addresses To
`First Memory
`
`550
`
`Map All Logical
`Addresses To
`Second Memory
`
`N
`
`N
`
`FIG. 7E
`
`Micron Ex. 1011, p. 13
`Micron v. Vervain
`IPR2021-01547
`
`
`
`Patent Application Publication
`
`Jun. 12, 2008 Sheet 13 of 16
`
`US 2008/0140918 Al
`
`602
`
`Start
`
`/600
`
`Receive data related to write
`frequency, access time
`requirement, etc., for writing data
`to logical addresses from host
`
`604
`
`Map logical addresses where data is
`written more frequently and/or requires
`faster access time to second memory
`
`606
`
`Map logical addresses where data is
`written less frequently and/or requires
`slower access time to first memory
`
`608
`
`Write Data According
`To Mapping
`
`610
`
`Measure Actual Write Frequencies
`And Update Mapping
`
`612
`
`614
`
`FIG. 8
`
`Micron Ex. 1011, p. 14
`Micron v. Vervain
`IPR2021-01547
`
`
`
`> ....
`....
`QO --- 0 ....
`
`QO
`
`1,0
`0
`.i;...
`
`c
`
`0
`0
`N
`rJJ
`
`FIG_._9B
`
`FIG. 9A
`
`....
`0 ....
`....
`.....
`rJJ =- ('D
`
`.i;...
`
`('D
`
`O'I
`
`? ....
`2'
`
`QO
`0
`0
`N
`j'-J
`
`. • • • • • • • • • . :
`
`.... 0 =
`~ .....
`O" =
`= a'
`~ ..... o·
`('D = ..... t "e -....
`
`(')
`
`~ .....
`
`(')
`
`948
`
`. ········------························---------------------•JI
`
`~----························· .. ······-----------------------
`
`I Supply
`
`Power
`
`Vehicle
`
`r·946
`
`950 ---C
`. ~
`
`System
`
`Vehicle Control
`
`947
`
`954
`
`Device
`Storage j I Memory I I Network I c-952
`
`• Interface
`
`t
`
`I Supply I ! '-940
`
`Power
`
`Storage I I Memory I
`
`.
`
`941
`
`:
`------·················-----·'·····························~
`
`High Definition Television
`
`I ...
`~--937
`
`942~ Device
`
`939
`
`Display
`
`. Interface I (...943
`Network
`,--
`
`I
`
`Module
`Control
`HDTV
`
`I
`
`I
`
`• • • • • • • . • . • • .
`
`I
`
`938-,:
`
`·----------···············-----------------------------------·
`
`Micron Ex. 1011, p. 15
`Micron v. Vervain
`IPR2021-01547
`
`
`
`? ....
`2'
`.... 0 =
`~ .....
`O" = (')
`a'
`.... 0 =
`('D = ..... t "e -....
`
`~ .....
`
`(')
`
`~ .....
`""O
`
`> ....
`....
`QO --- 0 ....
`
`QO
`
`1,0
`0
`.i;...
`
`c
`
`0
`0
`N
`rJJ
`
`....
`0 ....
`Ul
`....
`.....
`rJJ =(cid:173)
`
`('D
`('D
`
`O'I
`
`QO
`0
`0
`N
`j'-J
`
`FIG_._9_D
`
`FIG. 9C
`
`981
`
`Display
`
`'••··············································-'
`
`987
`
`Interface
`Network
`
`Module
`Control
`Set Top
`
`985
`
`r983
`
`Memory
`
`Device
`I Storage
`
`lr-982
`
`Supe!L,_
`Power
`
`. .
`
`980, !
`
`9841:
`
`........................................ . ____ ...................... .
`
`978··: . .
`
`Set Top Box
`
`962
`
`968
`
`Sul)ply
`Power
`
`Interface
`Network
`
`964
`
`Memory
`
`............. --............ --------· ... -. -. -. --------------------. ------
`
`Cellular Phone
`
`•:;958
`
`: .
`
`974
`
`972
`
`Display
`
`Audio Out
`
`~970
`
`I
`
`967._J;
`
`Module
`Control
`Phone
`
`96071.
`
`Device
`Storage
`
`966
`
`Micron Ex. 1011, p. 16
`Micron v. Vervain
`IPR2021-01547
`
`
`
`Patent Application Publication
`
`Jun. 12, 2008 Sheet 16 of 16
`
`US 2008/0140918 Al
`
`.....
`
`O>
`0)
`
`········~-···--·············--·--·····
`,..._
`co
`(0
`CJ) C) O')
`0)
`(J)
`CJ)
`
`a.
`
`-:::,
`C: -L..
`
`G)
`ti)
`::,
`
`-:,
`a. -:,
`"O :, <
`
`0
`.Q
`
`>-cu a. Cl) ·-□
`
`(IJ
`0
`"> -
`Q)
`QJ O -
`L..
`-
`:::,
`"O
`L..I
`-
`_o
`Q) C 0
`:co:i
`0
`~
`
`w a,
`C, -LL
`
`•
`
`0
`CJ)
`O>
`
`.... ~ I a.
`
`0 a.
`Q_~
`
`~
`0,
`O'>
`
`~ Cl)
`
`0 0 !~
`a, s
`Z.E
`
`N
`O> c:n
`
`Cl) Q)
`CD U
`cu·(cid:173)
`L. >
`0 Q)
`ci) Cl
`
`······-·······--
`
`t •
`--··-············ ........... .
`
`C")
`O>
`O>
`
`Micron Ex. 1011, p. 17
`Micron v. Vervain
`IPR2021-01547
`
`
`
`US 2008/0140918 Al
`
`Jun. 12,2008
`
`1
`
`HYBRID NON-VOLATILE SOLID STATE
`MEMORY SYSTEM
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`[0001] This application claims the benefit of U.S. Provi(cid:173)
`sional Application No. 60/869,493 filed on Dec. 11, 2006.
`The disclosure of the above application is incorporated herein
`by reference in its entirety.
`
`FIELD
`
`[0002] The present disclosure relates to solid state memo(cid:173)
`ries, and more particularly to hybrid non-volatile solid state
`memones.
`
`BACKGROUND
`
`[0003] The background description provided herein is for
`the purpose of generally presenting the context of the disclo(cid:173)
`sure. Work of the presently named inventors, to the extent it is
`described in this background section, as well as aspects of the
`description that may not otherwise qualify as prior art at the
`time of filing, are neither expressly nor impliedly admitted as
`prior art against the present disclosure.
`[0004] Flash memory chips, which use charge storage
`devices, have become a dominant chip type for semiconduc(cid:173)
`tor-based mass storage devices. The charge storage devices
`are particularly suitable in applications where data files to be
`stored include music and image files. Charge storage devices,
`however, can sustain a limited number of write cycles after
`which the charge storage devices can no longer reliably store
`data.
`[0005] A limited number of write cycles may be acceptable
`for many applications such as removable USB (universal
`serial bus) drives, MP3 (MPEG Layer 3) players, and digital
`camera memory cards. However, when used as general
`replacements for built-in primary data drives in computer
`systems, a limited number of write cycles may not be accept(cid:173)
`able.
`[0006] Lower density flash devices, where a single bit is
`stored per storage cell, typically have a usable lifetime on the
`order of 100,000 write cycles. To reduce cost, flash devices
`may store 2 bits per storage cell. Storing 2 bits per storage
`cell, however, may reduce the usable lifetime of the device to
`a level on the order of 10,000 write cycles.
`[0007] Flash devices may not have a long enough lifetime
`to serve as mass storage, especially where part of the mass
`storage is used as virtual memory paging space. Virtual
`memory paging space is used by operating systems to store
`data from RAM (random access memory) when available
`space in RAM is low. For purposes of illustration only, a flash
`memory chip may have a capacity of 2 GB (gigabytes), may
`store 2 bits per cell, and may have a write throughput of about
`4 MB/s (megabytes per second). In such a flash memory chip,
`it is theoretically possible to write every bit in the chip once
`every 500 seconds (i.e., 2E9 bytes/4E6 bytes/s).
`[0008]
`It is then theoretically possible to write every bit
`10,000 times in only 5E6 seconds (1E4 cycles*5E2 seconds),
`which is less than two months. In reality, however, most drive
`storage will not be written with 100% duty cycle. A more
`realistic write duty cycle may be 10%, which may happen
`when a computer is continuously active and performs virtual
`memory paging operations. At 10% write duty cycle, the
`usable lifetime of the flash device may be exhausted in
`
`approximately 20 months. By contrast, the life expectation
`for a magnetic hard disk storage device typically exceeds 10
`years.
`[0009] Referring now to FIG. 1, a functional block diagram
`of a solid-state disk according to the prior art is presented. The
`solid-state disk 100 includes a controller 102 and a flash
`memory 104. The controller 102 receives instructions and
`data from a host (not shown). When a memory access is
`requested, the controller 102 reads or writes data to the flash
`memory 104, and communicates this information to the host.
`[001 OJ An area of the flash memory 104 may become unre(cid:173)
`liable for storage after it has been written to or erased a
`predetermined number of times. This predetermined number
`of times is referred to as the write cycle lifetime of the flash
`memory 104. Once the write cycle lifetime of the flash
`memory 104 has been exceeded, the controller 102 can no
`longer reliably store data in the flash memory 104, and the
`solid-state disk 100 may no longer be usable.
`
`SUMMARY
`
`[0011] A solid state memory system comprises a first non(cid:173)
`volatile semiconductor (NVS) memory that has a first write
`cycle lifetime, a second nonvolatile semiconductor (NVS)
`memory that has a second write cycle lifetime that is different
`than the first write cycle lifetime, and a wear leveling module.
`The wear leveling module generates first and second wear
`levels for the first and second NVS memories based on the
`first and second write cycle lifetimes and maps logical
`addresses to physical addresses of one of the first and second
`NVS memories based on the first and second wear levels.
`[0012]
`In other features, the first wear level is based on a
`ratio of a first number of write operations performed on the
`first NVS memory to the first write cycle lifetime. The second
`wear level is based on a ratio of a second number of write
`operations performed on the second NVS memory to the
`second write cycle lifetime. The wear leveling module maps
`the logical addresses to the physical addresses of the second
`memory when the second wear level is less than the first wear
`level. The first NVS memory has a first storage capacity that
`is greater than a second storage capacity of the second NVS
`memory.
`[0013]
`In further features, the solid state memory system
`further comprises a mapping module that receives first and
`second frequencies for writing data to first and second of the
`logical addresses. The wear leveling module biases mapping
`of the first of the logical addresses to the physical addresses of
`the second NVS memory when the first frequency is greater
`than the second frequency and the second wear level is less
`than the first wear level.
`[0014]
`In still other features, the wear leveling module
`biases mapping of the second of the logical addresses to the
`physical addresses of the first NVS memory. The solid state
`memory system further comprises a write monitoring module
`that monitors subsequent frequencies of writing data to the
`first and second of the logical addresses and that updates the
`first and second frequencies based on the subsequent frequen(cid:173)
`cies.
`[0015]
`In other features, the solid state memory system
`further comprises a write monitoring module that measures
`first and second frequencies of writing data to first and second
`of the logical addresses. The wear leveling module biases
`mapping of the first of the logical addresses to the physical
`addresses of the second NVS memory when the first fre(cid:173)
`quency is greater than the second frequency and the second
`
`Micron Ex. 1011, p. 18
`Micron v. Vervain
`IPR2021-01547
`
`
`
`US 2008/0140918 Al
`
`Jun. 12,2008
`
`2
`
`wear level is less than the first wear level. The wear leveling
`module biases mapping of the second of the logical addresses
`to the physical addresses of the first NVS memory.
`[0016]
`In further features, the solid state memory system
`further comprises a degradation testing module that writes
`data at a first predetermined time to one of the physical
`addresses; generates a first stored data by reading data from
`the one of the physical addresses; writes data to the one of the
`physical addresses at a second predetermined time; generates
`a second stored data by reading data from the one of the
`physical addresses; and generates a degradation value for the
`one of the physical addresses based on the first and second
`stored data.
`[0017]
`In still other features, the wear leveling module
`maps one of the logical addresses to the one of the physical
`addresses based on the degradation value. The wear leveling
`module maps the logical addresses to the physical addresses
`of the first NVS memory when the second wear level is
`greater than or equal to a first predetermined threshold; and
`the wear leveling module maps the logical addresses to the
`physical addresses of the second NVS memory when the first
`wear level is greater than or equal to a second predetermined
`threshold.
`[0018]
`In other features, when write operations performed
`on a first block of the physical addresses of the first NVS
`memory during a predetermined period are greater than or
`equal to a predetermined threshold, the wear leveling module
`biases mapping of corresponding ones of the logical
`addresses from the first block to a second block of the physi(cid:173)
`cal addresses of the second NVS memory. The wear leveling
`module identifies a first block of the physical addresses of the
`second NVS memory as a least used block (LUB).
`[0019]
`In further features, the wear leveling module biases
`mapping of corresponding ones of the logical addresses from
`the first block to a second block of the physical addresses of
`the first NVS memory when available memory in the second
`NVS memory is less than or equal to a predetermined thresh(cid:173)
`old. The first NVS memory comprises a flash device and the
`second NVS memory comprises a phase-change memory
`device. The first NVS memory comprises a Nitride Read(cid:173)
`Only Memory (NROM) flash device. The first write cycle
`lifetime is less than the second write cycle lifetime.
`[0020] A method comprises generating first and second
`wear levels for first and second nonvolatile semiconductor
`(NVS) memories based on first and second write cycle life(cid:173)
`times. The first and second write cycle lifetimes correspond to
`the first and second NVS memories, respectively; and map(cid:173)
`ping logical addresses to physical addresses of one of the first
`and second NVS memories based on the first and second wear
`levels.
`[0021]
`In other features, the first wear level is based on a
`ratio of a first number of write operations performed on the
`first NVS memory to the first write cycle lifetime. The second
`wear level is based on a ratio of a second number of write
`operations performed on the second NVS memory to the
`second write cycle lifetime. The method further comprises
`mapping the logical addresses to the physical addresses of the
`second memory when the second wear level is less than the
`first wear level.
`[0022]
`In further features, the first NVS memory has a first
`storage capacity that is greater than a second storage capacity
`of the second NVS memory. The first write cycle lifetime is
`less than the second write cycle lifetime. The method further
`comprises receiving first and second frequencies for writing
`
`data to first and second of the logical addresses; and biasing
`mapping of the first of the logical addresses to the physical
`addresses of the second NVS memory when the first fre(cid:173)
`quency is greater than the second frequency and the second
`wear level is less than the first wear level.
`[0023]
`In still other features, the method further comprises
`biasing mapping of the second of the logical addresses to the
`physical addresses of the first NVS memory. The method
`further comprises monitoring subsequent frequencies of writ(cid:173)
`ing data to the first and second of the logical addresses; and
`updating the first and second frequencies based on the sub(cid:173)
`sequent frequencies.
`[0024]
`In other features, the method further comprises
`measuring first and second frequencies of writing data to first
`and second of the logical addresses; and biasing mapping of
`the first of the logical addresses to the physical addresses of
`the second NVS memory when the first frequency is greater
`than the second frequency and the second wear level is less
`than the first wear level. The method further comprises bias(cid:173)
`ing mapping of the second of the logical addresses to the
`physical addresses of the first NVS memory.
`[0025]
`In further features, the method further comprises
`writing data at a first predetermined time to one of the physi(cid:173)
`cal addresses; generating a first stored data by reading data
`from the one of the physical addresses; writing data to the one
`of the physical addresses at a second predetermined time;
`generating a second stored data by reading data from the one
`of the physical addresses; and generating a degradation value
`for the one of the physical addresses based on the first and
`second stored data.
`[0026]
`In still other features, the method further comprises
`mapping one of the logical addresses to the one of the physi(cid:173)
`cal addresses based on the degradation value. The method
`further comprises mapping the logical addresses to the physi(cid:173)
`cal addresses of the first NVS memory when the second wear
`level is greater than or equal to a first predetermined thresh(cid:173)
`old; and mapping the logical addresses to the physical
`addresses of the second NVS memory when the first wear
`level is greater than or equal to a second predetermined
`threshold.
`[0027]
`In other features, when write operations performed
`on a first block of the physical addresses of the first NVS
`memory during a predetermined period are greater than or
`equal to a predetermined threshold, biasing mapping of cor(cid:173)
`responding ones of the logical addresses from the first block
`to a second block of the physical addresses of the secondNVS
`memory. The method further comprises identifying a first
`block of the physical addresses of the second NVS memory as
`a least used block (LUB).
`[0028]
`In further features, the method further comprises
`biasing mapping of corresponding ones of the logical
`addresses from the first block to a second block of the physi(cid:173)
`cal addresses of the first NVS memory when available
`memory in the second NVS memory is less than or equal to a
`predetermineed threshold. The first NVS memory comprises
`a flash device and the second NVS memory comprises a
`phase-change memory device. The first NVS memory com(cid:173)
`prises a Nitride Read-Only Memory (NROM) flash device.
`[0029] A computer program stored for use by a processor
`for operating a solid state memory system comprises gener(cid:173)
`ating first and second wear levels for first and second non(cid:173)
`volatile semiconductor (NVS) memories based on first and
`second write cycle lifetimes. The first and second write cycle
`lifetimes correspond to the first and second NVS memories,
`
`Micron Ex. 1011, p. 19
`Micron v. Vervain
`IPR2021-01547
`
`
`
`US 2008/0140918 Al
`
`Jun. 12,2008
`
`3
`
`respectively; and mapping logical addresses to physical
`addresses of one of the first and second NVS memories based
`on the first and second wear levels.
`In other features, the first wear level is based on a
`[0030]
`ratio of a first number of write operations performed on the
`first NVS memory to the first write cycle lifetime. The second
`wear level is based on a ratio of a second number of write
`operations performed on the second NVS memory to the
`second write cycle lifetime. The computer program further
`comprises mapping the logical addresses to the physical
`addresses of the second memory when the second wear level
`is less than the first wear level.
`In further features, the first NVS memory has a first
`[0031]
`storage capacity that is greater than a second storage capacity
`of the second NVS memory. The first write cycle lifetime is
`less than the second write cycle lifetime. The computer pro(cid:173)
`gram further comprises receiving first and second frequencies
`for writing data to first and second of the logical addresses;
`and biasing mapping of the first of the logical addresses to the
`physical addresses of the second NVS memory when the first
`frequency is greater than the second frequency and the second
`wear level is less than the first wear level.
`In still other features, the computer program further
`[0032]
`comprises biasing mapping of the second of the logical
`addresses to the physical addresses of the first NVS memory.
`The computer program further comprises monitoring subse(cid:173)
`quent frequencies of writing data to the first and second of the
`logical addresses; and updating the first and second frequen(cid:173)
`cies based on the subsequent frequencies.
`In other features, the computer program further
`[0033]
`comprises measuring first and second frequencies of writing
`data to first and second of the logical addresses; and biasing
`mapping of the first of the logical addresses to the physical
`addresses of the second NVS memory when the first fre(cid:173)
`quency is greater than the second frequency and the second
`wear level is less than the first wear level. The computer
`program further comprises biasing mapping of the second of
`the logical addresses to the physical addresses of the first
`NVSmemory.
`In further features, the computer program further
`[0034]
`comprises writing data at a first predetermined time to one of
`the physical addresses; generating a first stored data by read(cid:173)
`ing data from the one of the physical addresses; writing data
`to the one of the physical addresses at a second predetermined
`time; generating a second stored data by reading data from the
`one of the physical addresses; and generating a degradation
`value for the one of the physical addresses based on the first
`and second stored data.
`In still other features, the computer program further
`[0035]
`comprises mapping one of the logical addresses to the one of
`the physical addresses based on the degradation value. The
`computer program further comprises mapping the logical
`addresses to the physical addresses of the first NVS memory
`when the second wear level is greater than or equal to a first
`predetermined threshold; and mapping the logical addresses
`to the physical addresses of the second NVS memory when
`the first wear level is greater than or equal to a second prede(cid:173)
`termined threshold.
`In other features, when write operations performed
`[0036]
`on a first block of the physical addresses of the first NVS
`memory during a predetermined period are greater than or
`equal to a predetermined threshold, biasing mapping of cor(cid:173)
`responding ones of the logical addresses from the first block
`to a second block of the physical addresses of the secondN