throbber
US007203829B2
`
`(12) United States Patent
`US 7,203,829 B2
`(10) Patent N0.:
`
` Lim (45) Date of Patent: Apr. 10, 2007
`
`
`(54) APPARATUS AND METHOD FOR
`INITIALIZING COPROCESSOR FOR USE IN
`
`(52) US. Cl.
`
`.............................. 713/2; 713/1; 713/100;
`717/168
`
`SYSTEM COMPRISED 0F MAIN
`PROCESSOR AND COPROCESSOR
`
`(58) Field of Classification Search ..................... None
`See application file for complete search history.
`
`(75)
`
`Inventor: Chae-Whan Lim, Daegu (KR)
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`(73) Assignee: Samsung Electronics Co., Ltd.,
`Suwon—si (KR)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 326 days.
`
`(21) Appl. N0.: 10/864,459
`
`(22)
`
`Filed:
`
`Jun. 10, 2004
`
`(65)
`
`(30)
`
`Prior Publication Data
`
`US 2004/0255111 A1
`
`Dec. 16, 2004
`
`Foreign Application Priority Data
`
`Jun. 13, 2003
`
`(KR)
`
`...................... 10-2003 -0038386
`
`(51)
`
`Int. Cl.
`G06F 9/22
`G06F 9/44
`G06F 15/1 77
`
`(2006.01)
`(2006.01)
`(2006.01)
`
`START
`
`6/2001 Hayashi ...................... 711/147
`6,253,233 B1*
`6,330,658 B1* 12/2001 Evoy et a1.
`............
`712/31
`
`6,400,717 B1*
`6/2002 Von Ahnen et al.
`714/36
`............ 711/148
`6,604,189 B1 *
`8/2003 Zemlyak et a1.
`........... 717/168
`2002/0170051 A1* 11/2002 Watanabe et al.
`
`* cited by examiner
`
`Primary Examinerilames K. Trujillo
`(74) Attorney, Agent, or FirmiRoylance, Abrams, Berdo &
`Goodman, L.L.P.
`
`(57)
`
`ABSTRACT
`
`An apparatus and method for initializing a coprocessor for
`use in system comprised of a main processor and coproces-
`sor. The apparatus can be provided with fewer required
`memory components, such as a NOR flash memory, by
`enabling a coprocessor to perform a booting function upon
`receiving a control signal from the main processor.
`
`20 Claims, 12 Drawing Sheets
`
`POWER 0N7 “
`YES
`INITIALIZE COPROCESSOR USING
`BOOT PROGRAM OF INTERNAL ROM
`
`353
`
`COMMUNICATE WITH MAIN PROCESSOR
`USING LOADER PROGRAM OF INTERNAL ROM
`
`355
`
`REQUEST TINY FLASH FILE SYSTEM
`TRANSMISSION FROM MAIN PROCESSOR
`
`357
`
`
`
`
`
`
`
`
`INY FLASH FILE SYSTE
`RECEIVED?
`YES
`STORE RECEIVED TINY FLASH
`36‘
`FILE SYSTEM IN INTERNAL RAM
`
`
`MOVE/STORE PROGRAM CODE STORED IN
`SECOND FLASH MEMORY OF COPROCESSOR
`
`USING TINY FLASH FILE SYSTEM IN INTERNAL RAM
`
`
`
`
`
`363
`
`
`COMMAND COPROCESSOR'S PC To JUMP TO
`ENTRANCE POINT OF LOADED CODE AREA
`
`OPERATE COPROCESSOR
`
`
`
`369
`
`
`
`INTEL 1214
`
`INTEL 1214
`
`

`

`U.S. Patent
`
`Apr. 10, 2007
`
`Sheet 1 0f 12
`
`US 7,203,829 B2
`
`100
`
`200
`
`MAIN
`PROCESSOR
`
`COPROCESSOR
`
`FIRST FLASH
`MEMORY
`
`FIRST FLASH
`MEMORY
`
`110
`
`SECOND FLASH
`MEMORY
`
`SECOND FLASH
`
`210
`
`220
`
`
`
`‘TIE.“ 130 PERIPHERAL
`
`DEVICES
`
`I
`. l
`PERIPHERAL
`DEVICES
`
`140
`
`(PRIOR ART)
`
`

`

`U.S. Patent
`
`Apr. 10, 2007
`
`Sheet 2 0f 12
`
`US 7,203,829 B2
`
`1 00
`
`200
`
`MAIN
`
`COPROCESSOR
`PROCESSOR -
`
`
`
`
`SECOND FLASH
`
`220
`
`230
`
`240
`
`MEMORY
`
`
`
`FIRST FLASH
`
`MEMORY
`
`SECOND FLASH
`
`MEMORY
`
`
`OTHER
`PERIPHERAL
`
`DEVICES
`
`
`130
`
` OTHER
`PERIPHERAL
`DEVICES
`
`i
`
`140
`
`FIG.2
`
`

`

`U.S. Patent
`
`Apr. 10, 2007
`
`Sheet 3 of 12
`
`US 7,203,829 B2
`
`omm
`
`omm
`
`ovm
`
`:2:028%
`
`>¢ozmz..
`
`52¢
`
`EEO
`
`J<¢wzaamm
`
`$038.0.
`
`o:
`
`om—
`
`cm—
`
`03
`
`
`
`1min.Emmi
`
`E0292
`
`
`
`:2:028mm
`
`>¢ozm20
`
`53m
`
`meHO
`
`4<¢mIgEm¢
`
`mmOSmo
`
`m.UE
`
`com
`
`03
`
`movEEé
`
`afifié
`
`
`
`
`
`

`

`U.S. Patent
`
`Apr. 10, 2007
`
`Sheet 4 0f 12
`
`US 7,203,829 B2
`
`START
`
`POWER ON? “
`
`YES
`
`INITIALIZE COPROCESSOR USING
`
`BOOT PROGRAM OF INTERNAL ROM
`
`
`
`w Y
`
`ES
`
`COMMAND COPROCESSOR'S PC TO JUMP TO
`ENTRANCE POINT OF LOADED CODE AREA
`
`OPERATE COPROCESSOR
`
`.
`
`I
`
`319
`
`321
`
`FIGA
`
`MOVE/STORE PROGRAM CODE STORED ‘
`IN SECOND FLASH MEMORY OF
`'
`
`COPROCESSOR USING TINY FLASH FILE
`
`SYSTEM OF INTERNAL ROM IN INTERNAL RAM
`
`

`

`U.S. Patent
`
`Apr. 10, 2007
`
`Sheet 5 0f 12
`
`US 7,203,829 B2
`
`POWER ON?I
`
`YES
`
`INITIALIZE COPROCESSOR USING
`BOOT PROGRAM OF INTERNAL ROM
`
`353
`
`COMMUNICATE WITH MAIN PROCESSOR
`
`USING LOADER PROGRAM OF INTERNAL ROM
`
`REQUEST TINY FLASH FILE SYSTEM
`TRANSMISSION FROM MAIN PROCESSOR
`
`TINY FLASH FILE SYSTEM
`RECEIVED?
`
`YES
`
`361II
`
`STORE RECEIVED TINY FLASH
`FILE SYSTEM IN INTERNAL RAM
`
`MOVE/STORE PROGRAM CODE STORED IN
`SECOND FLASH MEMORY OF COPROCESSOR
`USING TINY FLASH FILE SYSTEM IN INTERNAL RAM
`
`
`
`
`
`¢ Y
`
`ES
`
`COMMAND COPROCESSOR'S PC TO JUMP TO '
`
`ENTRANCE POINT OF LOADED CODE AREA
`
`'
`
`FIGS
`
`OPERATE COPROCESSOR
`
`369
`
`

`

`U.S. Patent
`
`Apr. 10, 2007
`
`Sheet 6 of 12
`
`US 7,203,829 B2
`
`omm
`
`08
`
`ca
`
`:93960%
`
`>¢ogm2.
`
`32¢
`
`mmIHO
`
`immigmmm
`
`mmUSwo
`
`om_
`
`om.
`
`o:
`
`:9);5m
`
`E
`
`E0292
`
`
`
`:2:028mm
`
`E032
`
`_2<¢
`
`EEO
`
`._<mm:._n=mmm
`
`mmOSwo
`
`QUE
`
`oom
`
`03
`
`20¢
`
`mom
`
`@339
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Apr. 10, 2007
`
`Sheet 7 0f 12
`
`US 7,203,829 B2
`
`POWER ON? “
`
`INITIALIZE COPROCESSOR USING
`
`BOOT PROGRAM OF INTERNAL ROM
`
`w
`
`MOVE/STORE PROGRAM CODE STORED IN SECOND
`
`FLASH MEMORY OF COPROCESSOR USING TINY FLASH
`
`FILE SYSTEM OF INTERNAL ROM IN EXTERNAL RAM
`
`YES
`
`COMMAND COPROCESSOR'S PC TO JUMP TO
`ENTRANCE POINT OF LOADED CODE AREA
`
`4‘ 9
`
`OPERATE COPROCESSOR
`
`;
`
`421
`
`FIG.7
`
`

`

`U.S. Patent
`
`Apr. 10, 2007
`
`Sheet 8 of 12
`
`US 7,203,829 B2
`
`START
`
`POWER ON?I
`
`YES
`
`INITIALIZE COPROCESSOR USING
`BOOT PROGRAM OF INTERNAL ROM
`
`COMMUNICATE WITH MAIN PROCESSOR USING
`LOADER PROGRAM OF INTERNAL ROM
`
`REQUEST TINY FLASH FILE SYSTEM
`TRANSMISSION FROM MAIN PROCESSOR
`
`-P4>A0'!(.110'1\I(II00
`
`TINY FLASH FILE SYSTEM
`RECEIVED?
`
`YES
`
`STORE RECEIVED TINY
`FLASH FILE SYSTEM IN EXTERNAL RAM
`
`461
`
`MOVE/STORE PROGRAM CODE STORED lN SECOND
`FLASH MEMORY OF COPROCESSOR USING
`TINY FLASH FILE SYSTEM IN EXTERNAL RAM
`
`465
`
`
`
`
`
`w Y
`
`ES
`
`COMMAND COPROCESSOR'S PC TO JUMP TO ‘
`
`ENTRANCE POINT OF LOADED CODE AREA
`
`OPERATE COPROCESSOR
`
`'
`
`469
`
`FIGS
`
`

`

`U.S. Patent
`
`Apr. 10, 2007
`
`Sheet 9 of 12
`
`US 7,203,829 B2
`
`omm
`
`omm
`
`3m
`
`‘->mozm2;
`
`:2:960%
`
`32¢
`
`EEO
`
`4<¢mzaawm
`
`803%..
`
`0:E952
`:95;5x:
`
`o3>¢O§m§
`
`1mg“.0200mm
`
`
`
`cm:2<¢
`
`oi._<¢m_Im_mmE
`
`mmoSmo
`
`$1.5
`
`QUE
`
`o?
`
`WOFWEEIBF
`
`
`
`
`
`

`

`U.S. Patent
`
`Apr. 10, 2007
`
`Sheet 10 of 12
`
`US 7,203,829 B2
`
`START
`
`POWER ON? “
`
`YES
`
`COPROCESSOR'S STANDBY MODE &
`COPROCESSOR'S INTERNAL RAM INITIALIZED
`BY MAIN PROCESSORS INTERNAL RAM
`
`5‘3
`
`
`
`
`RECEIVE BOOT AND TINY FLASH FILE
`
`
`SYSTEM CODE FILES OF MAIN PROCESSOR'S
`
`
`INTERNAL ROM, & MOVE/STORE RECEIVED
`
`
`CODE FILES IN COPROCESSOR'S INTERNAL RAM
`
`
`
`¢ Y
`
`ES
`
`COMMAND COPROCESSOR TO JUMP
`TO ENTRANCE POINT OF BOOT AND
`TINY FLASH FILE SYSTEM CODE AREA
`
`519
`
`INITIALIZE COPROCESSOR
`
`521
`
`
`
`LOAD PROGRAM CODE STORED IN SECOND
`FLASH MEMORY OF COPROCESSOR IN
`
`INTERNAL RAM USING TINY FLASH FILE SYSTEM
`
`
`
`w Y
`
`ES
`
`COMMAND COPROCESSOR'S PC TO JUMP TO
`ENTRANCE POINT OF LOADED CODE AREA
`
`527
`
`OPERATE COPROCESSOR
`
`529
`
`FIG.1O
`
`

`

`U.S. Patent
`
`Apr. 10, 2007
`
`Sheet 11 0f 12
`
`US 7,203,829 B2
`
`omm
`
`0mm
`
`ovm
`
`:2:028%
`
`$052
`
`52¢
`
`mmIHO
`
`EEEEE
`
`80.50
`
`.
`
`o:
`
`09
`
`cm:
`
`91
`
`
`
`Im<._u_Emmi
`
`>¢O_>_m_2
`
`
`
`Im<._u_ozooww
`
`E952
`
`52¢
`
`mmIHO
`
`EmmImEmm.
`
`$053
`
`HH.05
`
`oom
`
`03
`
`333mg
`
`
`
`
`

`

`U.S. Patent
`
`Apr. 10, 2007
`
`Sheet 12 0f 12
`
`US 7,203,829 B2
`
`START
`
`POWER ON? “
`
`YES
`
`COPROCESSOR'S STANDBY MODE &
`COPROCESSOR'S EXTERNAL RAM INITIALIZED
`BY MAIN PROCESSOR'S INTERNAL RAM
`
`613
`
`
`RECEIVE BOOT AND TINY FLASH FILE
`SYSTEM CODE FILES OF MAIN PROCESSOR'S
`INTERNAL ROM, & MOVE/STORE RECEIVED
`CODE FILES IN COPROCESSOR'S EXTERNAL RAM
`
`
`
`
`¢ Y
`
`ES
`
`COMMAND COPROCESSOR TO JUMP
`
`TO ENTRANCE POINT OF BOOT AND
`TINY FLASH FILE SYSTEM CODE AREA
`
`619
`
`INITIALIZE COPROCESSOR
`
`.
`
`621
`
`LOAD PROGRAM CODE STORED IN SECOND
`
`
`
`FLASH MEMORY OF COPROCESSOR IN
`EXTERNAL RAM USING TINY FLASH FILE SYSTEM
`
`
`
`
`
`YES
`
`COMMAND COPROCESSOR'S PC TO JUMP TO
`ENTRANCE POINT OF LOADED CODE AREA
`
`OPERATE COPROCESSOR
`
`629
`
`FIG' 1 2
`
`

`

`US 7,203,829 B2
`
`1
`APPARATUS AND METHOD FOR
`INITIALIZING COPROCESSOR FOR USE IN
`SYSTEM COMPRISED OF MAIN
`PROCESSOR AND COPROCESSOR
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This application claims the benefit under 35 U.S.C. §
`119(a) of Korean Patent Application No. 2003-38386
`entitled “APPARATUS AND METHOD FOR INITIALIZ-
`ING COPROCESSOR FOR USE IN SYSTEM COM-
`PRISED OF MAIN PROCESSOR AND COPROCES-
`
`SOR”, filed in the Korean Intellectual Property Oflice on
`Jun. 13, 2003, the entire contents of which are incorporated
`herein by reference.
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`
`The present invention relates to an apparatus and method
`for booting a controller. More particularly,
`the present
`invention relates to an apparatus and method for booting a
`coprocessor for use in a system comprised of a main
`processor and a coprocessor.
`2. Description of the Related Art
`Typically, in a system comprised of a main processor and
`a coprocessor, the main processor controls overall opera-
`tions of the system, and the coprocessor controls a specific
`function upon receiving a control signal from the main
`processor. The aforementioned system has been widely used
`in mobile terminals having current hybrid functions. For
`example,
`in the case of a mobile terminal provided for
`processing current video signals, a main processor controls
`overall operations of a communication or mobile terminal,
`and a coprocessor performs the processing of video signals
`upon receiving a control signal from the main processor. The
`aforementioned mobile terminal can be provided with any
`number of devices, such as a mobile terminal for a cam-
`corder, a PDA (Personal Digital Assistant), a VOD (Video
`On Demand) phone, and similar devices.
`A representative example of the aforementioned system,
`including the main processor and the coprocessor, is shown
`in FIG. 1. The following detailed description will hereinafter
`be described with reference to FIG. 1 in which, the example
`of the aforementioned system is provided as a mobile
`terminal.
`
`the main processor 100 controls
`Referring to FIG. 1,
`communication and overall operations of the mobile termi-
`nal. A first flash memory 110 is comprised of a NOR flash
`memory for storing boot and loader programs and main
`operation programs of the main processor 100. A second
`flash memory 120 is comprised of a NAND flash memory
`for storing large amounts of nonvolatile data, for example,
`content data, font data, bitmap data, phonebook data, and
`similar data.
`
`The second flash memory 120 has a limited number of
`correction times associated with the same area, such that
`encounters with an unexpected error in a specified area
`results in an outcome wherein data cannot be recorded or
`
`stored any further in the second flash memory 120. There-
`fore, a flash file system is adapted to access data of the flash
`memory (i.e., 110 and 120). RAM (Random Access
`Memory) 130 can be adapted to function as a work memory
`for use in the main processor 100. Other peripheral devices
`140 are comprised of devices operated by a control signal
`generated from the main processor 100. In this case, the
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`peripheral devices 140 can be keypads, displays, RF (Radio
`Frequency) units, communication units, and similar devices.
`Upon receiving a control signal from the main processor
`100, the coprocessor 200 assumes direction of a specific
`function, and processes the specific function. An additional
`first flash memory 210 is comprised of a NOR flash memory
`for storing boot and loader programs and main operation
`programs of the coprocessor 200. An additional second flash
`memory 220 is comprised of a NAND flash memory for
`storing large amounts of nonvolatile data, for example,
`content data associated with functions of the coprocessor
`200. RAM 230 can be adapted as a work memory of the
`coprocessor 200. Other peripheral devices 240 are com-
`prised of devices operated by a control signal generated
`from the coprocessor 200. In this case, if the mobile terminal
`is a camcorder, the peripheral devices 240 can be devices
`such as multimedia codecs, cameras, displays (e.g., LCDs),
`and similar devices. Content data stored in the second flash
`
`memory 220 can then include video-processed and similar
`data. If the mobile terminal is a PDA terminal, substantially
`all the applications, other than a communication function,
`can be provided by the peripheral devices 240.
`The first flash memories 110 and 210 each can be pro-
`vided as a NOR flash memory. The second flash memories
`120 and 220 can be provided as a NAND flash memory.
`As stated above, the main processor 100 and the copro-
`cessor 200 each include a memory unit comprised of NOR
`and NAND flash memories and RAMs. Therefore, the main
`processor 100 and the coprocessor 200 must each include
`the aforementioned memories, resulting in increased hard-
`ware installation space and increased production cost.
`Therefore,
`it is preferable for either one of the NOR and
`NAND flash memories to be removed.
`
`The NOR flash memory is very expensive, and where it
`is configured in the form of a stable configuration,
`it can
`store boot and loader programs and flash file systems. The
`NAND flash memory has advantages in that it is relatively
`cheaper than the NOR flash memory, and has excellent
`capacity which is higher than that of the NOR flash memory.
`However, the NAND flash memory has a relatively-high
`probability of creating bad sectors in the memory, in which
`the memory stores content data for use in a corresponding
`device. Therefore, when storing the boot and loader pro-
`grams and flash filter systems in the NAND flash memory,
`it is impossible to perform operations of an overall system
`if unexpected bad sectors occur in a specific area for storing
`the programs.
`Accordingly, a need exists for an improved system for
`stably accessing the boot and loader programs and the flash
`file systems in devices wherein the costly NOR flash
`memory is removed.
`
`SUMMARY OF THE INVENTION
`
`Therefore, the embodiments of the present invention have
`been made in view of the above problems, and it is an object
`of the present invention to provide an apparatus and method
`for removing a relatively high-priced NOR flash memory
`from a coprocessor,
`in a system comprised of a main
`processor and the coprocessor, and enabling the coprocessor
`to perform a booting function upon receiving a control
`signal from the main processor.
`It is another object of the present invention to provide an
`apparatus and method for enabling a coprocessor having no
`NOR flash memory to perform a booting frmction using
`boot/loader programs stored in an internal ROM and a tiny
`
`

`

`US 7,203,829 B2
`
`3
`flash file system, in a system comprised of a main processor
`and the coprocessor including a ROM and a RAM.
`It is yet another object of the present invention to provide
`an apparatus and method for enabling a coprocessor having
`no NOR flash memory to perform a booting function using
`boot/loader programs stored in an internal ROM and a tiny
`flash file system stored in a NOR or NAND flash memory of
`a main processor,
`in a system comprised of the main
`processor and the coprocessor including a ROM and a RAM.
`It is yet another object of the present invention to provide
`an apparatus and method for enabling a coprocessor having
`no NOR flash memory to perform a booting function using
`boot/loader programs stored in an internal ROM and a tiny
`flash file system in a system comprised of a main processor
`and the coprocessor including only ROM.
`It is yet another object of the present invention to provide
`an apparatus and method for enabling a coprocessor having
`no NOR flash memory to perform a booting function using
`boot/loader programs stored in an internal ROM and a tiny
`flash file system stored in a NOR or NAND flash memory of
`a main processor,
`in a system comprised of the main
`processor and the coprocessor including only ROM.
`It is yet another object of the present invention to provide
`an apparatus and method for enabling a coprocessor having
`no NOR flash memory to perform a booting function using
`boot/loader programs and a tiny flash file system that are all
`stored in a NOR or NAND flash memory of a main proces-
`sor, in a system comprised of the main processor and the
`coprocessor and having no internal ROM.
`It is yet another object of the present invention to provide
`an apparatus and method for enabling a coprocessor having
`no NOR flash memory to perform a booting function using
`boot/loader programs and a tiny flash file system, that are all
`stored in a NOR or NAND flash memory of a main proces-
`sor, in a system comprised of the main processor and the
`coprocessor and having no internal ROM and RAM.
`In accordance with the embodiments of the present inven-
`tion, the above and other objects can be accomplished by
`providing an apparatus including a main device and an
`auxiliary device, comprising in part, the following compo-
`nents.
`
`The main device can include a main processor, including
`a ROM (Read Only Memory) and a RAM (Random Access
`Memory), for controlling overall operations of the main
`device, a first flash memory for storing principal programs
`of the main device, a second flash memory for storing
`content data of the main device, and a RAM acting as a work
`memory of the main device.
`The auxiliary device can include a second flash memory
`for storing principal programs and content data of the
`auxiliary device, an external RAM acting as a work memory
`of the auxiliary device, and a coprocessor for including a
`ROM and a RAM which store boot, loader, and tiny flash file
`system code files. The coprocessor is further provided for
`booting the auxiliary device using a boot program stored in
`the internal ROM when it is initially powered on by the main
`processor. The coprocessor is still further provided for
`controlling a loader program to load principal programs
`stored in the second flash memory by operating the tiny flash
`file system, and for controlling the operations of the auxil-
`iary device.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The above and other objects, features and other advan-
`tages of the present invention will be more clearly under-
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`stood from the following detailed description taken in con-
`junction with the accompanying drawings, in which:
`FIG. 1 is a block diagram illustrating a conventional
`system comprised of a main processor and a coprocessor;
`FIG. 2 is a block diagram illustrating a system comprised
`of a main processor and a coprocessor in accordance with an
`embodiment of the present invention;
`FIG. 3 is a block diagram illustrating a system comprised
`of a main processor and a coprocessor in accordance with a
`first exemplary embodiment of the present invention;
`FIG. 4 is a flow chart illustrating a booting procedure for
`use in a coprocessor when an internal ROM of the copro-
`cessor of FIG. 3 includes a boot program and a tiny flash file
`system in accordance with the first embodiment of the
`present invention;
`FIG. 5 is a flow chart illustrating a booting procedure for
`use in a coprocessor when an internal ROM of the copro-
`cessor includes boot and loader programs and the other
`internal ROM of the main processor includes a tiny flash file
`system in accordance with the first embodiment of the
`present invention;
`FIG. 6 is a block diagram illustrating a system comprised
`of a main processor and a coprocessor in accordance with a
`second exemplary embodiment of the present invention;
`FIG. 7 is a flow chart illustrating a booting procedure for
`use in a coprocessor when an internal ROM of the copro-
`cessor of FIG. 6 includes a boot program and a tiny flash file
`system in accordance with the second embodiment of the
`present invention;
`FIG. 8 is a flow chart illustrating a booting procedure for
`use in a coprocessor when an internal ROM of the copro-
`cessor includes boot and loader programs and the other
`internal ROM of the main processor includes a tiny flash file
`system in accordance with the second embodiment of the
`present invention;
`FIG. 9 is a block diagram illustrating a system comprised
`of a main processor and a coprocessor in accordance with a
`third exemplary embodiment of the present invention;
`FIG. 10 is a flow chart illustrating a booting procedure for
`use in a coprocessor when an internal ROM of the main
`processor of FIG. 9 includes a boot program and a tiny flash
`file system in accordance with the third embodiment of the
`present invention;
`FIG. 11 is a block diagram illustrating a system comprised
`of a main processor and a coprocessor in accordance with a
`fourth exemplary embodiment of the present invention; and
`FIG. 12 is a flow chart illustrating a booting procedure for
`use in a coprocessor when an internal ROM of the main
`processor of FIG. 11 includes a boot program and a tiny flash
`file system in accordance with the third embodiment of the
`present invention.
`
`DETAILED DESCRIPTION OF THE
`EXEMPLARY EMBODIMENTS
`
`invention will be
`The embodiments of the present
`described in detail with reference to the annexed drawings.
`In the drawings, the same or similar elements are denoted by
`the same reference numerals even though they are depicted
`in different drawings. In the following description, a detailed
`description of known functions and configurations incorpo-
`rated herein will be omitted when it may make the subject
`matter of the present invention unclear.
`it should be
`Prior to describing the present invention,
`noted that the following terms will hereinafter be used in the
`detailed description of the embodiments of the present
`invention.
`
`

`

`US 7,203,829 B2
`
`5
`The coprocessor is comprised of a processor for operating
`application programs or specific functions requiring a high
`speed, for example, a GUI (Graphic User Interface), a
`multimedia codec, and similar devices.
`be main processor is comprised of a processor for
`controlling overall operations of a system. For example,in
`the case of a mobile terminal, an MSM chip may be adapted
`as the main processor.
`The boot module is comprised of a software module for
`initializing operations of a controller to enter a main soft-
`ware routine.
`
`The loader module is comprised of a software module for
`initializing a number of necessary modules after performing
`a booting function, and moving the remaining main software
`coce parts to a specific memory area capable of operating a
`controller.
`
`
`
`The boot-loader module is comprised of a software mod-
`ule wherein the boot module and the loader module are
`
`integrated in one module.
`The flash file system is comprised of a software module
`for writing data on a NAND flash memory or reading data
`from the NAND flash memory without generating errors.
`he tiny flash file system is comprised of a minimum
`sofware module for reading data from the NAND flash
`me nory without generating errors.
`It should be noted that
`the aforementioned flash file
`
`system and the tiny flash file system can be separately
`adapted to the present invention. Specifically, the tiny flash
`file system is comprised of a flash file system having a
`minimum data read function that is capable of guaranteeing
`integrity of data stored in the NAND flash memory. The
`flash file system is comprised of a file system for overcom-
`ing a variety of problems,
`for example, a problem of
`generating bad sectors of the NAND flash memory, and an
`aging problem generated when a specific position is repeat-
`edly used such that further corrections (i.e., higher than a
`predetermined number of correction times) are made
`unavailable. In doing so, the flash file system can be used for
`stably writing or reading data on/from a memory. The tiny
`flash file system can be used where a memory is an equiva-
`len to a NAND flash memory A detailed description of the
`NOR flash memory is described1n greater detail below.
`he first flash memory is comprised of a NOR flash
`me nory.
`The second flash memory is comprised of a NAND flash
`me nory.
`The embodiments of the present invention remove a flash
`me nory for storing initialization information of a coproces-
`sor from a system, the system including a main processor
`anc the coprocessor, and stores initialization information of
`the coprocessor in either another memory of the coproces-
`sor, or a memory of the main processor, such that the system
`initialization is established. The memory can be either one of
`a ROM, a RAM,
`first and second flash memories, and
`similar devices. The initialization information can be either
`
`
`
`one of a boot program module, a loader program, a boot
`loader program, and a tiny flash file system of the copro-
`cessor.
`
`In the implementation of the aforementioned configura-
`tions, a main device for use in the embodiments of the
`present invention can include a main processor for operating
`overall operations of the main device, a first flash memory
`for storing the principal programs of the main processor, and
`a second flash memory for storing content data of the main
`processor. An auxiliary device for use in the embodiments of
`the present invention can include a coprocessor for control-
`ling overall operations of the auxiliary device, and a second
`
`6
`flash memory for storing the principal programs and content
`data of the auxiliary device. Initialization information of the
`auxiliary device, for example, a boot program, a loader
`program, a boot-loader program, and tiny flash file systems,
`can be stored in an internal ROM of the coprocessor, an
`internal ROM of the main processor, the first flash memory
`or the second flash memory. A detailed description of the
`aforementioned initialization information is described in
`
`greater detail below with reference to the following pre-
`ferred embodiments.
`for
`initialization information,
`The
`aforementioned
`example, a boot program, a loader program, a boot-loader
`program, and a tiny flash file system, can be stored in the
`coprocessor’s ROM, the main processor’s ROM and/or the
`main processor’s flash memory. The flash memory of the
`main processor can be comprised of NOR and NAND flash
`memories. The boot program, the loader program, the boot-
`loader program, and the tiny flash file systems are comprised
`of programs operated in the coprocessor.
`In accordance with the system initialization operations for
`use in the system, which is comprised of the main device and
`the auxiliary device, a system booting operation can be
`performed by a boot program stored in the main processor’s
`memory or the coprocessor’s internal ROM, and the prin-
`cipal programs stored in the second flash memory of the
`coprocessor are loaded by the tiny flash file system, such that
`operations of the auxiliary device can be performed.
`FIG. 2 is a block diagram illustrating a system comprised
`of a main processor and a coprocessor in accordance with an
`embodiment of the present invention. Specifically, FIG. 2 is
`a block diagram of a system for removing a first flash
`memory from the coprocessor 200.
`Referring to FIG. 2, the remaining block diagram con-
`figurations, from which the first flash memory is removed
`from the coprocessor 200, are equal to those of FIG. 1. In
`this case,
`the first flash memory 110,
`the second flash
`memory 120, external RAM 130, and other peripheral
`devices 140 are driven by a control signal received from the
`main processor 100. The first flash memory 110 is comprised
`of a memory for storing a boot module, a loader module, a
`flash file system, and other execution program modules of
`the main processor 100. The second flash memory 120 is
`comprised of a memory for storing nonvolatile data gener-
`ated by a control signal of the main processor 100, for
`example, content data, font data, bit data, phonebook data,
`and similar data. The main processor 100 performs its
`initialization operation using individual software modules
`stored in the first flash memory 110 when it
`is initially
`powered on, and provides the coprocessor 200 with a
`power-supply voltage such that it is able to initialize the
`coprocessor 200.
`In this case, the first flash memory is removed from the
`coprocessor 200. This first flash memory removed from the
`coprocessor 200 is comprised of a memory for storing a boot
`module, a loader module, a flash file system, and other
`coprocessors’ program modules. Therefore, the embodiment
`of the present invention shown in FIG. 2 distributes the boot
`module,
`the loader module, and a tiny flash file system
`needed to read the data of the NAND flash memory from
`among the flash file system, and stores the above distributed
`parts in another memory. Further, upon receiving a control
`signal from the main processor 100, the embodiment of the
`present invention initializes the coprocessor 200, and loads/
`operates the remaining program modules, including a flash
`file system, using a tiny flash file system.
`In accordance with a first exemplary embodiment of the
`present invention which is capable of removing the first flash
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`

`

`US 7,203,829 B2
`
`7
`memory from the coprocessor 200, the coprocessor 200 can
`perform its booting operation under the following two cases,
`i.e., a first case in which the coprocessor 200 includes
`internal ROM and RAM and the internal ROM includes a
`
`8
`Referring to FIG. 4, if the coprocessor 200 is powered on
`when the main processor 100 is initialized, it detects the
`powered-on state at step 311, and gains access to the boot
`module stored in the internal ROM 203 such that
`the
`
`boot module, a loader module, and a tiny flash file system,
`and a second case in which the internal ROM includes only
`boot and loader modules and a tiny flash file system of the
`coprocessor 200 is included in either the first flash memory
`110 or the second flash memory 120.
`In accordance with a second exemplary embodiment of
`the present invention, the coprocessor 200 can perform its
`booting operation under the following two cases, i.e., a first
`case in which the coprocessor 200 includes an internal ROM
`and the internal ROM includes a boot module, a loader
`module, and a tiny flash file system, and a second case in
`which the internal ROM includes only boot and loader
`modules and a tiny flash file system of the coprocessor 200
`is included in either the first flash memory 110 or the second
`flash memory 120.
`In accordance with the first exemplary embodiment of the
`present invention, a RAM is included in the coprocessor, and
`a tiny flash file system is stored in the internal RAM of the
`coprocessor.
`In accordance with the second exemplary
`embodiment of the present invention, a RAM is not included
`in the coprocessor, but is stored in an external RAM of the
`coprocessor.
`In accordance with a third exemplary embodiment of the
`present
`invention,
`the coprocessor 200 can perform its
`booting operation in the case where it includes only a RAM,
`and wherein either the first flash memory 110 or the second
`flash memory 120 of the main processor 100 includes a boot
`module, a loader module, and a tiny flash file system of the
`coprocessor 200.
`In accordance with a fourth exemplary embodiment of the
`present
`invention,
`the coprocessor 200 can perform its
`booting operation in the case where it does not include a
`RAM and a ROM, and wherein either the first flash memory
`110 or the second flash memory 120 of the main processor
`100 includes a boot module, a loader module, and a tiny
`flash file system of the coprocessor 200.
`FIG. 3 is a block diagram illustrating an overall system
`associated with the aforementioned case in which the ROM
`
`203 and the RAM 205 are included in the coprocessor 200
`in a system comprised of the main processor 100 and the
`coprocessor 200.
`Referring to FIG. 3, the coprocessor 200 includes the
`ROM 203 and the RAM 205. The internal ROM 203 stores
`
`a boot module, a loader module, and a tiny flash file system
`of the coprocessor 200, as denoted by ‘boot+loader+tiny
`flash file system’. Also, the boot module and the loader
`module are stored in the internal ROM 203, as denoted by
`‘boot+loader’. The tiny flash file system of the coprocessor
`200 is stored in either the first flash memory 110 or the
`second flash memory 120 of the main processor 100.
`FIG. 4 is a flow chart illustrating an initialization proce-
`dure of the coprocessor 200 in the case where the ROM 203
`and the RAM 205 are included in the coprocessor 200, and
`the internal ROM 203 stores a boot module, a loader
`module, and a tiny flash file system of the coprocessor 200.
`FIG. 5 is a flow chart illustrating an initialization procedure
`of the coprocessor 200 in the case where the ROM 203 and
`the RAM 205 are included in the coprocessor 200,
`the
`internal ROM 203 stores the boot and loader modules, and
`the tiny flash file system of the coprocessor 200 is stored in
`either the first flash memory 110 or the second flash memory
`120.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`coprocessor 200 is initialized at step 313. A loader module
`of the coprocessor 200, which is provided for storing the
`loader module in the second flash memory 220, reads a
`program code of the coprocessor 200 using a tiny flash file
`system of the internal ROM 203, and the read program data
`is stored in the internal RAM 205 at step 315.
`The aforementioned operations are repeated until a code
`that is capable of performing basic operations i

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