EP1710697A1 - Procédé et appareil d'exécution d'une application dans un système ayant une mémoire flash NON-ET - Google Patents

Procédé et appareil d'exécution d'une application dans un système ayant une mémoire flash NON-ET Download PDF

Info

Publication number
EP1710697A1
EP1710697A1 EP06007126A EP06007126A EP1710697A1 EP 1710697 A1 EP1710697 A1 EP 1710697A1 EP 06007126 A EP06007126 A EP 06007126A EP 06007126 A EP06007126 A EP 06007126A EP 1710697 A1 EP1710697 A1 EP 1710697A1
Authority
EP
European Patent Office
Prior art keywords
application
flash memory
storage area
data storage
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP06007126A
Other languages
German (de)
English (en)
Inventor
Byoung-Seoup Moon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of EP1710697A1 publication Critical patent/EP1710697A1/fr
Ceased legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A46BRUSHWARE
    • A46DMANUFACTURE OF BRUSHES
    • A46D1/00Bristles; Selection of materials for bristles
    • A46D1/006Antimicrobial, disinfectant bristles, handle, bristle-carrier or packaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • AHUMAN NECESSITIES
    • A46BRUSHWARE
    • A46DMANUFACTURE OF BRUSHES
    • A46D1/00Bristles; Selection of materials for bristles
    • A46D1/02Bristles details
    • A46D1/0207Bristles characterised by the choice of material, e.g. metal
    • AHUMAN NECESSITIES
    • A46BRUSHWARE
    • A46BBRUSHES
    • A46B2200/00Brushes characterized by their functions, uses or applications
    • A46B2200/10For human or animal care
    • A46B2200/1066Toothbrush for cleaning the teeth or dentures

Definitions

  • the present invention relates to a method and apparatus for executing an application in a system having a NAND flash memory.
  • a flash memory which has low power consumption, is miniaturized and can permanently store data, and may be classified as a NAND type memory and a NOR type memory.
  • a NAND flash memory has a low price and high degree of integration, but does not basically support an Executable in Place (XIP) function, in comparison with a NOR flash memory.
  • An XIP function enables a program to be directly executed on a flash memory instead of loading the program into a Random Access Memory (RAM).
  • an apparatus using a NAND flash memory is limited in that_it must copy a code having the same capacity as that of an executable code into a RAM and execute the copied code in the RAM for booting, in order to execute the executable code. Since a NAND flash memory has a low price and high degree of integration in comparison with a NOR flash memory, it achieves high capacity and high processing speed in terms of hardware. Therefore, use of a NAND flash memory is increasing in mobile terminals, etc., and products employing a NAND flash memory are rapidly increasing.
  • a NAND flash memory provides only a scheme of a block unit in a basic I/O. Further, a NAND flash memory has relatively high writing speed and high degree of integration in comparison with a NOR flash memory, but cannot support an XIP function. Accordingly, in order to store an executable code in a NAND flash memory and use it as an executable Read Only Memory (ROM), it is necessary to use a scheme in which the executable code is copied into a RAM area of the same size and is executed in the RAM.
  • ROM Read Only Memory
  • the NAND flash memory 10 includes an area 12 for storing the executable code and an area 14 for storing a non-executable code such as resource data. Further, the NAND flash memory 10 includes a storage area 16 for storing user data, etc.
  • the storage area 16 is used as a database and stores data input by a user, data downloaded by the user, etc. This storage area 16 may be formatted for initialization.
  • an application execution module copies the executable code stored in the NAND flash memory 10 into the area 22 of the RAM 20 and executes the executable code in the RAM 20.
  • the NAND flash memory 10 in order to use the NAND flash memory 10 as a basic ROM, the area 22 for executing the executable code is always necessary. Therefore, additional storage capacity of the RAM 20 is required and additional cost is generated. Moreover, the cost per degree of integration is more expensive in the RAM 20 than that in a flash memory. Accordingly, when the NAND flash memory 10 is used as the ROM as described above, advantages obtained by using the NAND flash memory 10 are offset by additional requirements for RAM capacity. Therefore, it is difficult to acquire a price advantage.
  • the present invention has been made to solve the above-mentioned problems occurring in the prior art.
  • the present invention can decrease the use of a high-priced RAM, thereby reducing the volume and the cost of a system.
  • an apparatus for executing an application including a Read Only Memory (ROM) including a data storage area, the ROM storing an application code in a memory area for storing non-executable data; a Random Access Memory (RAM) including a heap memory area required when an application is executed; an application installation module for installing the application code in the data storage area when a predetermined condition occurs; and an application execution module for loading the application code installed in the data storage area into the heap memory area and executing the application code when the application code is executed.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the present invention provides a method capable of largely reducing costs associated with the need for a high-priced Random Access Memory (RAM) by preventing all executable codes from being loaded into the RAM as in the prior art while using a NAND flash memory with a low price and high capacity.
  • RAM Random Access Memory
  • the present invention does not store a part corresponding to an executable code in a Read Only Memory (ROM) code area, but stores the executable code part in a resource area or an area not included in an extra RAM. Then, the present invention copies the stored part into an internal file system for installation for initial booting. Further, the present invention loads the executable code copied into the file system into a heap memory of a RAM and executes the executable code when execution of the executable code copied into the file system is requested. According to the present invention, it is not always necessary to store the executable code in the RAM, so that the RAM space can be saved.
  • ROM Read Only Memory
  • FIG. 2 is a diagram of an apparatus for executing an application according to an embodiment of the present invention.
  • the apparatus includes an application installation module 100, a ROM 30, an application execution module 200, and a RAM 40.
  • the ROM 30 may include a NAND flash memory according to the present invention.
  • the ROM 30 includes a first flash memory area 32 for storing an executable code, a second flash memory area 34 for storing non-executable data, and a third flash memory area 36 for storing user data, etc.
  • the second flash memory area 34 is used for storing built-in data such as images and sound, and stores an executable code.
  • the second flash memory area 34 stores an executable code corresponding to an application A and an executable code corresponding to an application B, although the present invention is not limited to these executable codes. That is, the second flash memory area 34 can store executable codes for additional applications.
  • the executable code corresponding to the application A and the executable code corresponding to the application B are copied into the third flash memory area 36 by the application installation module 100 for installation when booting is performed.
  • the third flash memory area 36 is a storage area used as a database, etc. Further, the third flash memory area 36 may be a file system. Accordingly, when the file system is formatted, the data stored in the third flash memory area 36 are deleted.
  • the application installation module 100 determines if the application code stored in the second flash memory area 34 is stored (i.e., has been installed) in the third flash memory area 36 at a time when an operating system is booted. For example, the application installation module 100 has a list of applications which must be installed in the third flash memory area 36, and can determine if executable codes for these applications have been installed in the third flash memory area 36 when booting is performed. If the application code has not been installed in the third flash memory area 36, the application installation module 100 copies the application code stored in the second flash memory area 34 into the third flash memory area 36 for installation. This application code may be installed in a specific area of the third flash memory area 36 as a file or a database. Further, the application installation module 100 registers the application installed in the third flash memory area 36 in the application execution module 200 for managing applications.
  • the application execution module 200 can load the application code stored in the third flash memory area 36 into a heap memory 44 of the RAM 40 and execute the application code.
  • the heap memory 44 is a memory assigned to the RAM 40 in order to provide a memory space required when an application is executed.
  • the heap memory 44 of the RAM 40 into which the application code stored in the third flash memory area 36 is loaded is a memory used only when the application is executed. That is, the heap memory 44 is a memory capable of being reused when another application is executed after the heap memory 44 is automatically released at the end of an application.
  • the RAM 40 includes an area 42 for storing executable codes, and this area 42 has the same size as that of the first flash memory area 32 in the ROM 30.
  • the application installed in the third flash memory area 36 may be used by a user without any difference from the application of the existing executable code storage area 32. Further, it is not always necessary to store the executable code in the RAM, so that the RAM can be saved. Hereinafter, the operation of the application installation module 100 will be described with reference to FIG. 3.
  • FIG. 3 is a flow diagram illustrating the operation of the application installation module 100 according to one embodiment of the present invention.
  • the application installation module 100 determines if an operating system is being booted.
  • the application installation module 100 can determine if formatting is being performed. When the formatting is being performed, steps 320, 330 and 340 may also be performed.
  • step 320 is performed.
  • the application installation module 100 determines if the application code stored in the second flash memory area 34 of the ROM 30 is stored (i.e., has been installed) in the third flash memory area 36. If it has been installed, the process ends. If the application code that must be installed in the third flash memory area 36 is not stored, step 330 is performed. In step 330, the application installation module 100 copies the application code stored in the second flash memory area 34 into the third flash memory area 36 and installs the copied application code. This application code may be installed in a specific area of the third flash memory area 36 as a file or a database as described above. In step 340, the application installation module 100 registers the application installed in the third flash memory area 36 in the application execution module 200 for managing applications. Hereinafter, the operation of the application execution module 200 will be described with reference to FIG. 4.
  • step 410 the application execution module 200 determines if execution of the application installed in the third flash memory area 36 is requested. If the execution of the application installed in the third flash memory area 36 is requested, step 420 is performed. In step 420, the application execution module 200 loads the application code stored in the third flash memory area 36 into the heap memory 44 of the RAM 40. In step 430, the application execution module 200 executes the corresponding application. That is, the application execution module 200 can load the application code stored in the third flash memory area 36 into the heap memory 44 of the RAM and execute the application code.
  • the heap memory 44 is a memory used only when an application is executed, which is a memory capable of being reused when another application is executed after the heap memory 44 is automatically released at the end of an application.
  • the executable codes corresponding to the applications A and B are loaded into the heap memory 44 and executed.
  • the application execution module 200 may be constructed by integrating a launcher for managing application information and a loader of an operating system for loading an application into the heap memory.
  • the NAND flash memory when a NAND flash memory is used as an executable ROM, the NAND flash memory is usually loaded into a storage and then is loaded into a RAM only in execution, in contrast with the existing scheme in which a RAM of the same size is always necessary. Therefore, the use of a high-priced RAM can be reduced. As a result, the unit cost of a product can be significantly reduced.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
EP06007126A 2005-04-06 2006-04-04 Procédé et appareil d'exécution d'une application dans un système ayant une mémoire flash NON-ET Ceased EP1710697A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050028576A KR100640389B1 (ko) 2005-04-06 2005-04-06 Nand플래시 메모리를 구비한 장치에서 어플리케이션을실행하는 방법 및 그 장치

Publications (1)

Publication Number Publication Date
EP1710697A1 true EP1710697A1 (fr) 2006-10-11

Family

ID=36588367

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06007126A Ceased EP1710697A1 (fr) 2005-04-06 2006-04-04 Procédé et appareil d'exécution d'une application dans un système ayant une mémoire flash NON-ET

Country Status (4)

Country Link
US (1) US20060230190A1 (fr)
EP (1) EP1710697A1 (fr)
KR (1) KR100640389B1 (fr)
CN (1) CN100573450C (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2015561A1 (fr) 2007-07-10 2009-01-14 Nagracard S.A. Procédé d'envoi d'un code exécutable à un dispositif de réception et procédé d'exécution de ce code
KR101404721B1 (ko) * 2008-04-28 2014-06-10 시게이트 테크놀로지 엘엘씨 하드디스크 드라이브의 공정방법
CN101686340A (zh) * 2008-09-26 2010-03-31 深圳市朗科科技股份有限公司 扩展图像通信设备功能的方法及系统
CN108255526B (zh) * 2016-12-28 2020-07-31 深圳市中兴微电子技术有限公司 一种系统启动及运行的方法、装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023761A (en) * 1997-08-13 2000-02-08 Vlsi Technology, Inc. Method and system for using decompression on compressed software stored in non-volatile memory of an embedded computer system to yield decompressed software including initialized variables for a runtime environment
US6601167B1 (en) * 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6442660B1 (en) 2001-03-21 2002-08-27 Sharp Laboratories Of America, Inc. Dynamic system relocation based on availability of system memory
US6895463B2 (en) 2001-10-30 2005-05-17 Pioneer Digital Technologies, Inc. Method and apparatus for efficiently running an execution image using volatile and non-volatile memory
US6988163B2 (en) * 2002-10-21 2006-01-17 Microsoft Corporation Executing binary images from non-linear storage systems
US7055145B2 (en) * 2002-10-30 2006-05-30 Intel Corporation Dynamic management of execute in place applications
GB2404748B (en) * 2003-08-01 2006-10-04 Symbian Ltd Computing device and method
US7594135B2 (en) * 2003-12-31 2009-09-22 Sandisk Corporation Flash memory system startup operation
US20050268077A1 (en) * 2004-05-11 2005-12-01 Peter Kuan Memory system for an electronic device and the method for controlling the same

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DAGAN S.: "Designing The DiskOnChip as a Flash Disk & Boot Device Replacement", 2001, pages 1 - 13, XP002294422, Retrieved from the Internet <URL:http://www.m-sys.com/files/documentation/doc/App_Note_047_Des_DOC_FD_Boot_Rev1.0.pdf> [retrieved on 20040830] *
DETLEF LANGE: "Extended ROM optimieren. Erstinstallation nach eigenen Wünschen", 3 March 2004 (2004-03-03), XP007921082, Retrieved from the Internet <URL:http://web.archive.org/web/20040403184331/http://www.smartphone4u.de/xda2/tipps_tricks/extended_rom.html> [retrieved on 20120924] *
DETLEF LANGE: "Extended ROM Switch", 3 April 2004 (2004-04-03), XP007921081, Retrieved from the Internet <URL:http://web.archive.org/web/20040403182244/http://www.smartphone4u.de/xda2/grundlagen/extended_rom.html> [retrieved on 20120924] *
ENS D ET AL: "Computer Basics: IBM/PC", UNIVERSITY OF NORTH CAROLINA, 4 February 1998 (1998-02-04), The Office of Information Technology at The University of North Carolina, pages 1 - 7, XP002387747, Retrieved from the Internet <URL:http://web.archive.org/web/19980204075723/http://www.ku.edu.tr/text/help/ibm_pc.html> [retrieved on 20060628] *
INTERNET CITATION: "Windows Mobile Professional (Pocket PC Phone) - Extended ROM - XDA IIs", 26 November 2004 (2004-11-26), XP007908707, Retrieved from the Internet <URL:http://www.ppcsg.com/index.php?act=Print&client=printer&f=16&t=40417> [retrieved on 20090604] *

Also Published As

Publication number Publication date
US20060230190A1 (en) 2006-10-12
KR20060106134A (ko) 2006-10-12
CN1848086A (zh) 2006-10-18
KR100640389B1 (ko) 2006-10-30
CN100573450C (zh) 2009-12-23

Similar Documents

Publication Publication Date Title
CN109634645B (zh) 固件升级方法及终端
US7934209B2 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
US9507604B2 (en) Boot method and boot system
US7512777B2 (en) Method and system for maintaining system management BIOS
US6988163B2 (en) Executing binary images from non-linear storage systems
US20080010446A1 (en) Portable apparatus supporting multiple operating systems and supporting method therefor
EP3267308B1 (fr) Procédé et dispositif de chargement d&#39;application
US20100235617A1 (en) System recovery method and embedded system with automatic recovery function
US20060064576A1 (en) Boot systems and methods
US7908469B2 (en) Method for executing power on self test on a computer system and updating SMBIOS information partially
KR101555210B1 (ko) 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치
US20090054045A1 (en) Device and Method for Warm Boot Persistence
CN109408122B (zh) 一种设备启动方法、电子设备和计算机存储介质
CN112130926B (zh) 应用程序运行的方法、装置、终端设备及存储介质
EP1710697A1 (fr) Procédé et appareil d&#39;exécution d&#39;une application dans un système ayant une mémoire flash NON-ET
CN114385251A (zh) 基于存储器的操作系统引导方法、系统、终端及存储介质
US8874981B2 (en) Method of creating target storage layout table referenced for partitioning storage space of storage device and related electronic device and machine-readable medium
CN115994003A (zh) 操作系统中共享对象的处理方法及处理装置
CN102915246A (zh) 终端设备以及支持多固件加载的方法
CN115421902A (zh) 一种芯片中应用程序的管理方法和装置
KR20070108646A (ko) 압축 바이너리 파일을 관리하는 단말기 및 그 방법
CN112667444A (zh) 一种系统升级方法、存储介质及终端设备
KR101420026B1 (ko) 부팅 프로세스 중에 파일들을 로딩하기 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체
EP2613254A2 (fr) Appareil et procédé de partitionnement de zone mémoire de préchargement d&#39;application dans un terminal sans fil
KR100673999B1 (ko) 이동통신 단말기의 부팅방법

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20060404

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK YU

17Q First examination report despatched

Effective date: 20061120

AKX Designation fees paid

Designated state(s): DE FR GB

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SAMSUNG ELECTRONICS CO., LTD.

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20130128