throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2006/0053246A1
`(43) Pub. Date:
`Mar. 9, 2006
`Lee
`
`US 20060053246A1
`
`(54) SYSTEMS AND METHODS FOR PROVIDING
`NONVOLATILE MEMORY MANAGEMENT
`IN WIRELESS PHONES
`(76) Inventor: Schweiray Joseph Lee, San Diego, CA
`(US)
`Correspondence Address:
`KNOBBE MARTENS OLSON & BEAR LLP
`2040 MAIN STREET
`FOURTEENTH FLOOR
`IRVINE, CA 92614 (US)
`(21) Appl. No.:
`11/215,744
`(22) Filed:
`Aug. 30, 2005
`Related U.S. Application Data
`(60) Provisional application No. 60/605,265, filed on Aug.
`30, 2004. Provisional application No. 60/611,219,
`filed on Sep. 20, 2004.
`
`Publication Classification
`
`(51) Int. Cl.
`(2006.01)
`G06F 12/14
`(52) U.S. Cl. .............................................................. 711/100
`(57)
`ABSTRACT
`The present invention is related to memory management,
`and in particular, to methods and Systems for accessing and
`managing nonvolatile, Such as in a wireleSS phone. A wire
`leSS phone memory controller is disclosed that, comprises a
`first interface circuit configured to be coupled to wireleSS
`phone nonvolatile memory, a Second interface circuit con
`figured to be coupled to wireleSS phone volatile memory, a
`first processor interface configured to be coupled to a first
`wireleSS phone processor, wherein the first processor inter
`face is configured to provide the first processor with access
`to the wireleSS phone volatile memory, a Second processor
`interface configured to be coupled to a Second wireleSS
`phone processor, and a controller circuit configured to copy
`at least a portion of wireleSS phone nonvolatile memory data
`to the wireleSS phone volatile memory.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`-----------------------------
`
`external
`electronics
`
`power-on reset
`
`.
`
`.
`
`.
`
`. .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. .
`
`. .
`
`. .
`
`.
`
`. s. s. ss as a a a a aa a as a s is a Ya a a as
`
`a s
`
`at 8 at 8 to 8 × 8 × &
`
`
`
`Control Circuit
`
`Primary
`Processor
`
`
`
`Secondary
`Processor
`
`Secondary
`Processor 2
`
`V 206
`
`Cellular Phone Electronic System V 2O2
`
`201
`
`
`
`Micron Ex. 1033, p. 1
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 1 of 32
`
`US 2006/0053246A1
`
`
`
`
`
`uu??SÁS ÁJOuÐIN
`
`Micron Ex. 1033, p. 2
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 2 of 32
`
`US 2006/0053246A1
`
`
`
`
`
`|usel, GNVN
`
`ÁuepuoO3S
`
`?, JOSS3DOJE
`
`JOSS3OOud
`ÁJeugd
`
`10.Z
`
`L02
`
`
`
`|-----------------??---------------------------------------+-----------------------------;? so?uOJ,03||0 | IeuJe?xe |
`
`
`
`?asej uo-Jawod*-------------------------------~º
`
`
`
`
`
`
`
`
`
`Micron Ex. 1033, p. 3
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication
`
`US 2006/0053246A1
`
`
`
`
`
`
`
`ÁJeugd
`
`JOSS3OOJE
`
`KuepuoO3S
`
`? JOSS30OJc3
`
`ÁJepu000S
`
`Z JOSS3OOld
`
`Micron Ex. 1033, p. 4
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 4 of 32
`
`US 2006/0053246A1
`
`
`
`
`
`J??S1631 LESEYJ
`
`ÁJepu009S
`
`Z JOSS30OJd
`
`Micron Ex. 1033, p. 5
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 5 of 32
`
`US 2006/0053246A1
`
`
`
`Micron Ex. 1033, p. 6
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 6 of 32
`
`US 2006/0053246A1
`
`
`
`9
`O
`O
`e
`
`O
`C)
`U
`
`c
`O
`9.
`Ol
`O
`
`&
`O
`
`y
`
`8
`
`O
`rt
`O
`O
`CD
`
`5
`E
`O
`O
`
`t
`
`(N
`O O
`
`s
`
`CD
`D
`
`D
`C
`Ol
`C
`
`R
`
`Z
`CC
`2
`C
`
`U
`
`Micron Ex. 1033, p. 7
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 7 of 32
`
`US 2006/0053246A1
`
`9
`
`
`
`C
`
`O
`O
`9)
`s
`O
`
`C
`O
`t
`C
`Cl
`s
`D
`
`CD
`o
`(5
`Ol
`
`?
`Z
`CC
`Z
`CC
`
`10/
`
`Micron Ex. 1033, p. 8
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 8 of 32
`
`US 2006/0053246A1
`
`
`
`8
`
`r
`
`h
`D
`.9)
`O)
`CD
`line
`s
`
`us
`CD
`wd
`.
`
`Micron Ex. 1033, p. 9
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 9 of 32
`
`US 2006/0053246A1
`
`FIG. 9
`
`902 N
`
`boot
`Section
`
`FMM program code
`
`system boot code
`
`901
`
`Entire NAND
`flash logical
`storage space
`
`FMM-
`controlled
`section
`l/
`
`903
`
`Other program codes
`(e.g. operating System,
`application software
`etc.), user data and
`FMM book-keeping
`records
`
`/ 906
`No address
`translation
`
`
`
`904
`No address
`translation
`
`905
`
`/ 907
`Logical-to-physical
`translation based on
`FMM algorithms
`
`FMM program code
`
`system boot code
`
`Other program codes
`(e.g. operating system,
`application Software,
`etc.), user data and
`FMM book-keeping
`records
`
`908
`
`/
`Entire NAND
`flash physical
`storage space
`
`Micron Ex. 1033, p. 10
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 10 of 32
`
`US 2006/0053246A1
`
`1001
`
`1002
`
`BOOT CTLR generates
`first PPA of boot Section
`
`BOOT CTLR configures FLASHCTLR
`to read NAND flash page of this PPA
`
`BOOT. CTLR activates FLASH CTLR
`
`1003
`
`1004
`
`FLASH CTLR idle?
`
`yes
`
`1 OO6
`
`FIG. 10
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FMM program code
`
`FMM program code or
`t
`?
`system boot code
`
`System boot code
`1008
`
`BOOTCTLR copies data
`from PAGE BUFF to
`FMMRAM
`
`BOOT CTLR copies data
`from PAGE BUFF to
`BOOT RAM
`
`1010
`
`BOOT CTLR
`generates the next
`PPA
`
`1009
`
`More pages
`irred
`in boot section
`
`d
`
`BOOT CTLR initializes SDRAM
`
`BOOTCTLR releases FMM from idle
`
`
`
`FMM executes FMM program and
`initializes FMM Scheme
`
`1014
`
`yes
`
`BOOT. CTLR releases Primary
`Processor from reset
`
`BOOTCTLR becomes idle and
`Primary Processor executes system
`initialization program in BOOT RAM
`
`Normal Operation Mode
`
`1017
`
`1011
`
`1012
`
`1013
`
`1015
`
`1016
`
`Micron Ex. 1033, p. 11
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 11 of 32
`
`US 2006/0053246A1
`
`FIG. 1 1
`
`Primary Processor programs
`DMA CONFIG register
`
`1101
`
`1 102
`
`Primary Processor issues "Download
`DMA Transfer" Command
`
`CMD CTLR activates DMA CTLR
`
`DMA CTLR generates first NAND flash
`LPA & corresponding SDRAM address
`
`1103
`
`1 104
`
`X
`
`1105
`
`DMA CTLR activates FMM to read
`from NAND flash LPA
`
`FMM converts LPA to PPA and
`configures FLASHCTLR for page read
`
`1106
`
`1107
`
`FMM activates FLASH CTLR
`
`
`
`FLASHCTLR idle? d
`
`yeS
`DMA CTLR requests to access
`SDRAM
`
`granted by MAD?
`
`
`
`yes
`DMACTLR transfers one burst of
`page data from PAGE BUFF to
`SDRAM
`
`1113
`
`
`
`
`
`
`
`
`
`1115
`
`
`
`DMA CTLR generates
`next LPA 8.
`corresponding SDRAM
`address
`
`DMA CTLR
`1112
`generates
`yes SDRAM address
`for next burst
`
`1114
`
`ore bursts in page data
`O
`
`More pages to transfer?
`
`O
`CMD CTLR interrupts Primary
`Processor
`
`1116
`
`Micron Ex. 1033, p. 12
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 12 of 32
`
`US 2006/0053246A1
`
`1201
`
`12O2
`
`12O3
`
`1204
`
`FIG. 12
`
`Primary Processor programs
`DMA CONFIG register
`
`Primary Processor issues "Upload
`DMA Transfer" Command
`
`CMD CTLR activates DMA CTLR
`
`DMA CTLR generates first NAND flash
`LPA & corresponding SDRAM address
`
`DMACTLR requests to access
`SDRAM
`
`ro- granted by MAD?
`yes
`DMA CTLR transfers one burst of
`page data from SDRAM to
`PAGE BUFF
`
`1208
`
`5More bursts in page data
`
`O
`
`DMA CTLR activates FMM to write to
`NAND flash LPA
`
`FMM converts LPA to PPA and
`configures FLASHCTLR for page
`write
`
`
`
`
`
`
`
`
`
`DMA CTLR
`generates SDRAM
`address for next
`burst
`
`no
`
`FMM activates FLASHCTLR
`
`FLASHCTLR idle?
`yes
`More pages to transfer?
`O
`CMD CTLR interrupts Primary
`Processor
`
`
`
`1214
`
`
`
`DMA CTLR generates
`next LPA 8.
`corresponding SDRAM
`address
`
`1216
`
`Micron Ex. 1033, p. 13
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 13 of 32
`
`US 2006/0053246A1
`
`FIG. 13
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Primary Processor
`programs DMA CONFIG
`register to set up DMA to
`download next program to
`SDRAM
`
`Normal Operation Mode
`
`1301
`
`Primary Processor identifies software
`programs needed for user mode
`
`Primary Processor programs
`DMA CONFIG register to set up DMA
`to download first program from NAND
`flash to SDRAM
`
`1302
`
`1303
`
`1304
`
`Primary Processor issues "Download
`DMA Transfer" Command
`
`Primary Processor waits for
`CMD CTLR to interrupt
`
`1305
`
`1306
`
`CMD CTLR interrupt?
`
`yes
`
`1307
`
`yes
`
`more programs
`or user mode?
`
`O
`
`1309
`
`Primary Processor branches to
`execute programs in SDRAM
`
`1310
`
`Micron Ex. 1033, p. 14
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 14 of 32
`
`US 2006/0053246A1
`
`Primary Processor receives user
`Command to launch an application
`
`Primary Processor identifies software
`programs needed for this application
`
`Primary Processor programs
`DMA CONFIG register to set up DMA
`to download first program from NAND
`flash to SDRAM
`
`1401
`
`1402
`
`1403
`
`1404
`
`Primary Processor issues "Download
`DMA Transfer" Command
`
`Primary Processor waits for
`CMD CTLR to interrupt
`
`1405
`
`1406
`
`CMD CTLR interrupt?
`
`SS
`y
`
`1407
`
`yes
`
`more programs
`or application?
`O
`
`Primary Processor executes
`application in SDRAM
`
`1409
`
`
`
`
`
`
`
`
`
`Primary Processor
`programs DMA CONFIG
`register to set up DMA to
`download next program to
`SDRAM
`
`Micron Ex. 1033, p. 15
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 15 of 32
`
`US 2006/0053246A1
`
`FIG. 15
`
`Primary Processor receives user command to
`activate a Secondary Processor application
`
`Primary Processor identifies software programs
`needed by the Secondary Processor
`
`Primary Processor programs DMA CONFIG
`register to set up DMA to download first
`program from NAND flash to SDRAM
`
`
`
`Primary Processor issues "Download DMA
`Transfer" Command
`
`1501
`
`1502
`
`1503
`
`1504
`
`
`
`
`
`Primary Processor
`programs DMA CONFIG
`register to set up DMA to
`download next program to
`SDRAM
`
`Primary Processor waits for
`CMD CTLR to interrupt
`
`MD CTLR interrupt
`yes
`
`1505
`
`1506
`
`1507
`
`SS
`
`ore programs
`needed?
`
`O
`Primary Processor programs
`SDRAMPARTITION register to set SDRAM
`address offset for Secondary Processor
`
`Primary Processor writes to RESET register to
`release Secondary Processor from reset
`
`Secondary Processor executes programs in
`SDRAM at the offset SDRAM address
`
`
`
`
`
`1509
`
`1510
`
`1511
`
`interrupt received?
`yes
`
`Primary Processor reads iNTRECORD
`register to determine interrupt source
`
`1512
`
`1513
`
`1514
`
`Primary Processor writes to RESET register to
`put Secondary Processor back into reset
`
`Micron Ex. 1033, p. 16
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication
`
`Mar. 9, 2006 Sheet 16 of 32
`
`US 2006/0053246A1
`
`
`
`?SelJ ONV/N
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`.
`
`ÁJepuOO3S
`
`? JOSS30OJc3
`
`.
`
`Z JOSS30OJd
`
`Micron Ex. 1033, p. 17
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 17 of 32
`
`US 2006/0053246A1
`
`FIG. 17
`
`BOOTCTLR generates
`first PPA of boot Section
`
`17
`O2
`
`BOOT CTLR configures FLASHCTLR
`to read NAND flash page of this PPA
`
`1703
`
`1704
`
`BOOTCTLR activates FLASHCTLR
`-6. 1705
`FLASHCTLR idle?
`yes
`
`1708
`
`1706
`FMM program code
`System boot Code
`FMM program code
`BOOTCTLR requests to
`access 1 SDRAM address
`or system boot Code?
`no-a
`1709
`granted by MAD?
`1710
`yes
`BOOT CTLR transfers one
`burst of page data from
`PAGE BUFF to SDRAM
`
`BOOT CTLR copies
`data from
`PAGE BUFF to
`FMM RAM
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`BOOT CTLR yes
`generates the
`next PPA
`
`a-
`ore pages in boot section
`O
`
`1714.
`
`BOOTCTLR releases FMM from idle
`
`1711
`
`O
`
`1713
`
`ore bursts in page
`yes
`
`BOOT. CTLR
`generates
`SDRAM
`address for
`next burst
`
`1715
`
`
`
`1716
`
`
`
`FMM executes FMM program and
`initializes FMM Scheme
`
`1717
`
`yeS
`BOOT CTLR releases Primary
`Processor from reset
`
`BOOT CTLR becomes idle and
`Primary Processor executes system
`boot Code in SDRAM
`
`Normal Operation Mode
`
`1720
`
`1718
`
`1719
`
`Micron Ex. 1033, p. 18
`Micron v. Vervain
`IPR2021-01547
`
`

`

`yseyONVN
`Y1LOHSV14
`
`ysei}
`GNYN
`
`US 2006/0053246 Al
`
`Patent Application Publication Mar. 9, 2006 Sheet 18 of 32
`
`8b‘Sid
`ei
`
`ZL8b
`
`Y1LO
`LOO8
`
`Micron Ex. 1033, p. 19
`Micron v. Vervain
`IPR2021-01547
`
`snq
`Ajowaw
`
`Z J
`
`OSSa90lq
`
`syaNs9}U!
`
`yes9J
`
`Asepuosas
`
`snq
`{iowa+
`
`| J
`
`OSSa0014
`
`yansayul
`
`y9sas
`
`: S
`
`LL
`
`Asepuosas
`
`snq
`Aiowaut
`
`yesal
`
`ydnueajul
`
`viel
`
`Arewud
`
`JOSS8901d
`
`jaSaJ
`uo-Jamod
`
`}
`SOIUOIa|O
`
`jeUla}xo
`
`Micron Ex. 1033, p. 19
`Micron v. Vervain
`IPR2021-01547
`
`
`
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 19 of 32
`
`US 2006/0053246A1
`
`FIG. 19
`
`BOOTCTLR generates
`first PPA of boot Section
`
`1902
`
`BOOTCTLR configures FLASHCTLR
`to read NAND flash page of this PPA
`
`BOOTCTLR activates FLASHCTLR
`
`1903
`
`1904
`
`FLASHCTLR idle?
`
`1906
`
`yes
`
`BOOT. CTLR copies
`data from
`PAGE BUFF to
`FMM RAM
`
`
`
`
`
`
`
`
`
`BOOT. CTLR yes
`generates the
`next PPA
`
`
`
`
`
`More pages in
`boot section?
`
`O
`
`1908
`
`
`
`
`
`
`
`BOOTCTLR releases FMM from idle,
`FMM performs initialization including
`copying system boot code from NAND
`flash to SDRAM
`
`=-FMM ided-l
`
`yes
`BOOTCTLR releases Primary
`Processor from reset
`
`BOOT CTLR becomes idle and
`Primary Processor executes system
`boot code in SDRAM
`
`1907
`
`1909
`
`1910
`
`1911
`
`1912
`
`Normal Operation Mode
`
`1913
`
`Micron Ex. 1033, p. 20
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication
`
`US 2006/0053246A1
`
`
`
`
`
`8 LOZ-^ <----------------------
`
`
`
`?asau uo-Jawod
`
`|euJ??X3
`
`Micron Ex. 1033, p. 21
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 21 of 32
`
`US 2006/0053246A1
`
`
`
`
`
`
`
`
`
`??nOJIO ?OJ?uOO
`
`90), Z
`
`/01. Z
`
`| JOSS300/c}
`
`
`
`u30.JOS GOT
`
`Micron Ex. 1033, p. 22
`Micron v. Vervain
`IPR2021-01547
`
`

`

`US 2006/0053246A1
`
`ü?jš?Š??öü?W····---···---···---····---······---···---·····---·····---···---·······---···
`:----
`
`Patent Application Publication
`
`Mar. 9, 2006 Sheet 22 of 32
`
`/ | ZZ
`
`}}TI O LO
`
`TLOOG
`
`
`
`
`
`
`
`
`
`
`
`u30.JOS CIOT
`
`Micron Ex. 1033, p. 23
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 23 of 32
`
`US 2006/0053246A1
`
`FIG. 23
`
`
`
`
`
`
`
`
`
`
`
`
`
`LCD CTLR generates
`SDRAM address for next
`burst transfer
`
`Primary Processor programs
`LCD CONFIG register
`
`Primary Processor issues "LCD Write"
`Command
`
`CMD CTLR activates LCD CTLR to
`copy data from SDRAM to LCD screen
`
`LCD CTLR generates SDRAM
`address for first burst transfer
`
`2301
`
`2302
`
`2303
`
`2304
`
`a
`
`2305
`
`LCD CTLR requests to access
`SDRAM
`
`re- granted by MAD?
`yes
`
`2306
`
`LCD CTLR transfers one burst of data
`from SDRAM to LCD Screen
`
`2307
`
`2308
`
`O
`LCD CTLR interrupts Primary
`Processor
`
`231 O
`
`Micron Ex. 1033, p. 24
`Micron v. Vervain
`IPR2021-01547
`
`

`

`eeeeoeeoeeeeeweemeedecasesetessecceeteseeeeeeeeeee!
`
`yeSa1
`":
`UO-Jamod
`feaeeeceeenene
`eensnnnnnnnecened!:
`SOIUDIP9|9 ;:
`
`LLP?
`
`jeusayxo
`
`Patent Application Publication Mar. 9, 2006 Sheet 24 of 32
`
`US 2006/0053246 Al
`
`Micron Ex. 1033, p. 25
`Micron v. Vervain
`IPR2021-01547
`
`ysel
`ONVWN
`
`WVYdSs
`
`vObe
`
`: y
`
`dnuajul
`
`jasal
`
`Ole
`
`;sngAiowew+
`jossaooig
`
`{ g0vz
`
`GNWN
`
`:]
`Avewid:i
`
`esol
`Sore
`
`Micron Ex. 1033, p. 25
`Micron v. Vervain
`IPR2021-01547
`
`
`
`
`

`

`WNIT
`JONUOD
`ozGe
`6LSZ
`
`|
`
`US 2006/0053246 Al
`
`‘‘
`
`sngAiowaw}
`
`:
`
`i|JOSSa001qg
`
`pane:
`uepuosas
`
`;:dWW
`::
`[wa]‘sngAKsowauu
`
`Micron Ex. 1033, p. 26
`Micron v. Vervain
`IPR2021-01547
`
`: }
`
`OS91
`
`yesar
`
`Gz‘O/dOLGe
`BSerenerrnnnnnene,
`
`LbLSZ
`
`yo
`LOCA
`
`yesaJ
`uo-samod
`
`jeusa}xo|
`
`}
`SO|UdI}Oa|a
`
`Patent Application Publication Mar. 9, 2006 Sheet 25 of 32
`
`|A
`
`nD
`
`Micron Ex. 1033, p. 26
`Micron v. Vervain
`IPR2021-01547
`
`
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 26 of 32
`
`US 2006/0053246A1
`
`FIG. 26
`
`Primary Processor programs
`M
`FIG redi
`C-CON
`register
`
`26O1
`
`26O2
`
`Primary Processor issues "MC Write"
`Command
`
`CMD CTLR activates MC CTLR to
`copy data from SDRAM to MC
`
`MCCTLR generates SDRAM address
`for first burst transfer
`
`
`
`MCCTLR requests to access SDRAM
`
`granted by MAD?
`
`yes
`
`MCCTLR transfers one burst of data
`from SDRAM to MC
`
`2603
`
`2604
`
`2605
`
`26O7
`
`MC CTLR generates
`SDRAM address for next
`burst transfer
`
`
`
`S
`
`2608
`
`O
`MC CTLR interrupts Primary
`Processor
`
`2610
`
`
`
`
`
`Micron Ex. 1033, p. 27
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 27 of 32
`
`US 2006/0053246A1
`
`
`
`
`
`??s?j uo-Jawod--------------------------------}
`
`Jossepold
`
`ÁJeu?Jd
`
`| 0.1%
`
`Micron Ex. 1033, p. 28
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 28 of 32
`
`US 2006/0053246A1
`
`• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •(~~~~
`
`/ | 82
`
`HTLOTLOOG
`
`DOEJ
`
`9097 || 9082
`
`
`
`
`
`
`
`
`
`
`
`
`
`Micron Ex. 1033, p. 29
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 29 of 32
`
`US 2006/0053246A1
`
`
`
`
`
`
`
`
`
`
`
`Micron Ex. 1033, p. 30
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 30 of 32
`
`US 2006/0053246A1
`
`
`
`Micron Ex. 1033, p. 31
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 31 of 32
`
`US 2006/0053246A1
`
`FIG. 31
`
`Primary Processor programs
`DMA CONFIG register
`
`31 O1
`
`3102
`
`Primary Processor issues "Flash Read"
`Command
`
`CMDCTLR activates DMA CTLR and
`asserts "wait" signal
`
`DMA CTLR generates first NAND flash
`LPA & BOOT RAM address
`
`DMA CTLR activates FMM to read
`from NAND flash LPA
`
`FMM converts LPA to PPA and
`configures FLASHCTLR for page read
`
`FMM activates FLASH CTLR
`
`3103
`
`3104
`
`3105
`
`31 O6
`
`31 O7
`
`e
`
`3.108
`
`FLASHCTLR idle?
`
`yes
`
`3109
`
`s
`
`DMA CTLR transfers page data from
`PAGE BUFF to BOOT RAM
`
`CMD CTLR deasserts "wait"
`
`.
`
`Primary Processor reads from
`BOOT RAM
`
`3112
`
`3110
`
`3111
`
`CMD-CTLR aSSertS
`wait" signal
`
`More pages to transfer?
`
`O
`CMD CTLR interrupts Prima
`
`3115
`
`next LPA 8.
`BOOT RAM address
`
`3114
`
`
`
`
`
`
`
`
`
`
`
`
`
`Micron Ex. 1033, p. 32
`Micron v. Vervain
`IPR2021-01547
`
`

`

`Patent Application Publication Mar. 9, 2006 Sheet 32 of 32
`
`US 2006/0053246A1
`
`FIG. 32
`
`Primary Processor programs
`DMA CONFI
`ist
`G register
`
`32O1
`
`- 3202
`
`Primary Processor issues "Flash Write"
`Command
`
`CMD CTLR activates DMA CTLR
`
`Primary Processor writes data to
`BOOT RAM
`m
`
`DMA CTLR transfers page data from
`BOOT RAM to PAGE BUFF
`
`DMA CTLR generates NAND flash
`LPA
`
`DMA CTLR activates FMM to write to
`NAND flash LPA
`
`FMM converts LPA to PPA and
`configures FLASHCTLR for page
`Write
`
`FMM activates FLASHCTLR
`
`3203
`
`3204
`
`3205
`
`32O6
`
`32O7
`
`3208
`
`3209
`
`- FLASH CTLR idle?
`
`
`
`3210
`
`S
`ye
`
`3211
`
`More pages to transfer?
`
`O
`CMD CTLR interrupts Primary
`Processor
`
`3212
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Micron Ex. 1033, p. 33
`Micron v. Vervain
`IPR2021-01547
`
`

`

`US 2006/0053246 A1
`
`Mar. 9, 2006
`
`SYSTEMS AND METHODS FOR PROVIDING
`NONVOLATILE MEMORY MANAGEMENT IN
`WIRELESS PHONES
`
`PRIORITY APPLICATION
`0001) This application claims the benefit under 35 U.S.C.
`119(e) of U.S. Provisional Application 60/605,265 (filed
`Aug. 30, 2004), and U.S. Provisional Patent Application
`60/611,219 (filed Sep. 20, 2004). The entire disclosure of
`both of these applications is hereby incorporated by refer
`ence herein.
`
`COPYRIGHT RIGHTS
`0002 A portion of the disclosure of this patent document
`contains material that is Subject to copyright protection. The
`copyright owner has no objection to the facsimile reproduc
`tion by any one of the patent document or the patent
`disclosure, as it appears in the Patent and Trademark Office
`patent file or records, but otherwise reserves all copyright
`rights whatsoever.
`
`BACKGROUND OF THE INVENTION
`0003) 1. Field of the Invention
`0004. The present invention is related to memory man
`agement, and in particular, to methods and Systems for
`accessing and managing nonvolatile memory, Such as in a
`wireleSS phone.
`0005 2. Description of the Related Art
`0006 With the advent of Smaller, faster and less power
`consuming electronic components Such as processors,
`memories and ASICs, many cellular phones provide increas
`ingly complex capabilities Such as multimedia information
`and entertainment, commonly referred to as the “applica
`tions”. A cellular phone further includes wireleSS commu
`nication modulation/demodulation capabilities, commonly
`referred to as the “modem”. To handle the modem and the
`application functions, many cellular phone designs include
`two processors whereby the “application processor controls
`the application functions and the “modem processor con
`trols the communication functions. Some cellular phones
`include yet another processor Specifically designed to per
`form digital signal processing (DSP) algorithms. Although
`Single-processor cellular phones do exist, many current
`complex cellular phones include multiple processors. In
`many conventional applications, each processor utilizes both
`non-volatile and volatile memory to perform their functions.
`0007. In addition, traditionally, NOR Flash memory has
`been commonly used as the cellular phone's non-volatile
`memory. In recent years, Several new Flash memory tech
`nologies have emerged on the market. These relatively new
`high density Flash memories, such as AND Flash memory
`and NAND Flash memory, are designed to have lower costs,
`Smaller sizes and higher Storage capacities than NOR Flash
`memory. Thus high density Flash memory technology is
`often the preferred technology for non-volatile mass data
`Storage in complex cellular phones. However, many con
`ventional cellular phones that currently use NOR Flash
`cannot use AND or NAND Flash memory as a drop-in
`replacement without making design and/or circuit board
`modification. This is because these high-density Flash tech
`
`nologies have different characteristics than NOR Flash
`memory, and So necessitate Special treatment.
`0008 For example, high-density Flash memory is typi
`cally accessed in page-mode, with Significant initial access
`time, and thus is not Suitable for a processor to execute
`program code out of, as processor's typically need random
`acceSS on a byte or word level. Therefore, program code
`Stored in high-density Flash memory is usually first moved
`to RAM memory and then the processor executes the
`program codes from the RAM. In addition, high-density
`Flash memory often has a higher probability of introducing
`errors to the data stored therein as compared to NOR Flash
`memory, and thus Error Correction Coding (ECC) often
`needs to be applied when accessing the high-density Flash.
`Further, high-density Flash memory typically can only
`endure a limited number of erase-rewrite cycles. Flash
`media management techniqueS Such as wear-leveling, gar
`bage collection, bad-block replacement and power-failure
`recovery are often employed to increase the endurance and
`reliability of these Flash memory devices.
`0009. To take advantage of high-density Flash technolo
`gies, many cellular phone System designs have incorporated
`very complex Flash media management algorithms and
`procedures in the System Software to accommodate the
`above-mentioned special characteristics of the high-density
`Flash. These complex algorithms and procedures use up
`plenty of computational/control capacity of the Flash-ac
`cessing processor and thus degrade the performance of the
`System. Therefore, it would be advantageous to have a
`control circuit included in the cellular phone where the
`control circuit performs the algorithms and procedures of the
`Flash media management techniques as well as ECC and
`releases the Flash-accessing processor from Such duties.
`0010. In an electronic system which includes a processor,
`non-volatile memory and Volatile memory, a task commonly
`performed by the processor is moving data from one
`memory to another. An example data movement operation
`involves moving program code from a non-volatile page
`mode memory device to a Volatile random access memory
`device to allow the processor to execute the program code.
`Another example data movement operation involves moving
`data from volatile memory to nonvolatile memory to thereby
`permanently Store the data. Furthermore, in cellular phones
`which provide multimedia functions, Such as graphics and
`Video, the processor(s) often moves image data from memo
`ries to the cellular phone display (e.g., an LCD display) to
`thereby display images. Moving data in and out of memories
`is a very repetitive proceSS which consumes a large amount
`of processor computational/control capacity.
`SUMMARY OF THE INVENTION
`0011. In view of the foregoing, in order to reduce costs
`and the size of the overall size of a wireleSS phone design,
`Such as a cellular phone design, it would be advantageous to
`have a memory management circuit which accommodates
`the multiple processors need for memory capacity without
`requiring that each processor have its own, Separate memory
`management circuit. Reducing the number of cellular
`memory Systems not only reduces the number of memory
`devices, but also makes the data transfer among the proces
`SorS more efficient.
`0012 Further, in view of the foregoing, it would be
`advantageous for a cellular phone to have a memory System
`
`Micron Ex. 1033, p. 34
`Micron v. Vervain
`IPR2021-01547
`
`

`

`US 2006/0053246 A1
`
`Mar. 9, 2006
`
`containing high-density Flash memory, RAM memory, and
`a control circuit that, under the control of one or multiple
`processors, provides a DMA function to transfer data among
`memories, displays (e.g., LCD Screens), and/or an externally
`inserted memory card.
`0013. It would be further advantageous for a cellular
`phone to have a memory System that performs ECC and
`user-defined Flash media management autonomously with
`minimal processor intervention, and allows the processor(s)
`to access the memories within the memory System. Such a
`memory System would allow for consolidating memory
`needs of multiple processors into fewer or even a Single
`memory System, thus reducing the cost and the size of the
`cellular phone. The use of high-density Flash memory for
`mass data Storage can further reduce the phone cost and size.
`In addition, it would be advantageous to relieve the proces
`sors from having to perform the low level functions of
`moving data, performing ECC and Flash media manage
`ment, to thereby improve cellular phone System perfor
`CC.
`However, it should be understood that not all the
`0.014.
`advantages referred to herein need to be achieved by a given
`embodiment of the present invention.
`0.015. One embodiment provides a wireless phone
`memory controller, comprising: a nonvolatile memory con
`troller circuit coupled to nonvolatile memory; a volatile
`memory controller circuit coupled to volatile memory; a
`boot controller circuit coupled to the nonvolatile memory
`controller circuit, the boot controller circuit configured to
`cause user-defined boot program code to be read from
`nonvolatile memory into memory controller memory; a first
`processor interface, including a first reset Signal, coupled to
`a first wireleSS phone processor, wherein, the memory con
`troller is configured to release the first wireleSS phone
`processor from a reset State after the user-defined code is
`read into the memory controller memory; a Second processor
`interface, including a Second reset Signal, coupled to a
`Second wireleSS phone processor, wherein the Second reset
`Signal is configured to be controlled at least in part by the
`first processor.
`0016. Another embodiment provides a method of trans
`ferring data from wireleSS phone nonvolatile memory, the
`proceSS comprising: after a power-on reset, generating a first
`address using a boot circuit; accessing data from the wireleSS
`phone's nonvolatile Flash memory, including at least data
`Stored at the first address, Storing the accessed data in a page
`buffer; determining whether the accessed data is boot code
`or Flash memory management code; if the accessed data is
`boot code, copying the data from the page buffer to a boot
`random acceSS memory; and if the accessed data is Flash
`memory management code, copying the data from the page
`buffer to Flash memory management random acceSS
`memory.
`0017 Still another embodiment provides a wireless
`phone memory controller, comprising: a first interface cir
`cuit configured to be coupled to wireleSS phone nonvolatile
`memory; a Second interface circuit configured to be coupled
`to wireleSS phone volatile memory; a first processor inter
`face configured to be coupled to a first wireleSS phone
`processor, wherein the first processor interface is configured
`to provide the first processor with access to the wireleSS
`phone volatile memory; a Second processor interface con
`
`figured to be coupled to a Second wireleSS phone processor;
`and a controller circuit configured to copy at least a portion
`of wireleSS phone nonvolatile memory data to the wireleSS
`phone volatile memory without intervention by the first
`processor or the Second processor.
`0018 Yet another embodiment provides a method of
`operating a wireleSS phone memory circuit, the method
`comprising: deasserting a reset Signal, generating a first
`address corresponding to boot data Stored in wireleSS phone
`nonvolatile memory; reading boot program code from the
`wireleSS phone nonvolatile memory beginning at the first
`address, providing error detection with respect to the boot
`program code; correcting at least a first error if a first error
`is detected; loading the boot code, including corrected boot
`code if Such is present, into volatile random acceSS memory;
`loading Flash memory management program code, includ
`ing wear leveling code, from the wireleSS phone nonvolatile
`memory into Flash memory management volatile memory;
`enabling the Flash memory management program code to be
`executed by a Flash memory management circuit, releasing
`a first wireleSS phone processor, coupled to the wireleSS
`phone memory circuit, from a reset State; providing the first
`wireleSS phone processor with access to the boot program
`code; and providing a Second wireleSS phone processor with
`access to code Stored in the volatile memory.
`0019. One embodiment provides a method of performing
`error correction on data Stored or being Stored in a wireleSS
`phone's nonvolatile memory, the method comprising:
`receiving a first page of data configured to be Stored in a
`wireleSS phone nonvolatile memory, the first page including
`user data Stored in a user portion and Spare data Stored in a
`Spare portion; generating page parity data for the first page
`of data; Storing the page parity data in the wireleSS phone
`nonvolatile memory; Storing spare data in the wireleSS phone
`nonvolatile memory; wherein the Spare data includes book
`keeping data for nonvolatile memory management and/or
`System flags, Storing parity data for the Spare data in the
`wireleSS phone nonvolatile memory; reading the Spare data
`from the wireleSS phone nonvolatile memory; reading the
`parity data for the Spare data from the wireleSS phone
`nonvolatile memory; and performing error detection and
`error correction, if needed, on the Spare data from the
`wireleSS phone nonvolatile memory using the Spare data
`parity information.
`0020. One embodiment provides a wireless phone
`memory System, comprising: a first port coupled to wireleSS
`phone nonvolatile memory; a Second port circuit coupled to
`wireleSS phone volatile memory; a first processor interface
`coupled to a first wireleSS phone processor, wherein the first
`processor interface is configured to provide the first proces
`Sor with access to the wireleSS phone volatile memory; and
`a Second processor interface coupled to a Second wireleSS
`phone processor, wherein one of the first and Second pro
`ceSSorS is configured to provide modem control.
`0021 Another embodiment provides a wireless phone
`memory controller device, comprising: a first port config
`ured to be coupled to wireleSS phone nonvolatile memory; a
`Second port circuit configured to be coupled to a modem
`processor of a wireleSS phone; a volatile boot memory; a
`boot controller configured to copy boot code from the
`wireless phone nonvolatile memory to the volatile boot
`memory; a direct memory access controller configured to
`
`Micron Ex. 1033, p. 35
`Micron v. Vervain
`IPR2021-01547
`
`

`

`US 2006/0053246 A1
`
`Mar. 9, 2006
`
`copy data from the nonvolatile memory to the volatile boot
`memory

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