Patent Publication Number: US-2006004895-A1

Title: Apparatus and method for creating a binary file for function-based data storage and a computer-readable storage medium for storing the method

Description:
PRIORITY  
      This application claims priority to an application entitled “APPARATUS AND METHOD FOR CREATING BINARY FILE FOR FUNCTION-BASED DATA STORAGE AND COMPUTER-READABLE STORAGE MEDIUM STORING THE METHOD”, filed in the Korean Intellectual Property Office on Jun. 7, 2004 and assigned Serial No. 2004-41487, the 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 creating a binary file, and more particularly to an apparatus and method for creating a binary file for function-based data storage and a computer-readable storage medium for storing the method.  
      2. Description of the Related Art  
      A mobile terminal generally includes an embedded system that generally stores read-only code and read-only data in a Read Only Memory (ROM) for executing a corresponding program. The code and data stored as binary images in the ROM. A description will now be given of the structure of a binary file used in the mobile terminal.  
       FIG. 1  is a diagram showing the structure of a conventional binary file  100 . The conventional binary file  100  is generally divided into fewer than 10 binary file areas, for example, a boot area  110 , an application area  130 , a resource area  150  and a free area  170  managed by the file system. When the binary file  100  is used in the mobile terminal, instruction data required to boot the mobile terminal is positioned in the boot area  110 . Data required to operate the mobile terminal, other than the data positioned in the boot area  110 , is positioned in the application area  130 . Data required to execute applications is positioned in the resource area  150 . The free area  170  is a spare area for storing new data that will be added in the binary file  100 .  
      As the functions of electronic products including mobile terminals are diversified and become more complex, the structure of software stored in the electronic products is growing increasingly complex and the size of the software is increasing. If a new function is added to an electronic product or if a function of the electronic product is modified, software related to the electronic product must be updated.  
      A conventional method for updating software (i.e., a binary file) will now be described with reference to  FIGS. 2   a  to  2   c.    FIGS. 2   a  to  2   c  are diagrams showing how software is updated in the conventional method. In the conventional method for updating software used for an electronic product, the entirety of the software stored as a single image in a ROM is deleted and a new image is then recorded in the ROM.  
      For example, when software stored in a ROM as shown in  FIG. 2   a  is updated, the entirety of the software stored in the ROM must first be deleted. This is because application data items of the software, all of which are formed as a single image, interact with each other. Accordingly, even when part of the software is updated, new application data items must be stored in the ROM as shown in  FIG. 2   c,  after all of the application data items, which were stored in the application area, as shown in  FIG. 2   a,  are deleted, as shown in  FIG. 2   b.    
      The conventional update method may be effective for small-size software, but, taking into consideration the current tendency toward large-size software, it takes too long to update the software if part of the software to be updated is recorded in binary form, thereby making it difficult to achieve reliable software update.  
     SUMMARY OF THE INVENTION  
      Therefore, the present invention has been made in view of the above problem, and it is an object of the present invention to provide a binary file that can decrease software update time.  
      It is another object of the present invention to provide an apparatus and method for creating a binary file for function-based data storage and a computer-readable storage medium for storing the method.  
      In accordance with one aspect of the present invention, the above and other objects can be accomplished by the provision of a method for creating a binary file for function-based data storage, the method including converting target files created based on functions thereof into individual binary files, respectively; and combining the individual binary files to create a combined binary file, wherein a plurality of invalid data items of a specific size, into which invalid data is divided, are inserted between the individual binary files such that a corresponding invalid data item is inserted between each adjacent pair of the individual binary files.  
      In accordance with another aspect of the present invention, there is provided an apparatus for creating a binary file for function-based data storage, the apparatus including a target file converter for converting target files created based on functions thereof into individual binary files, respectively; an invalid data inserter for inserting a plurality of invalid data items of a specific size, into which invalid data is divided, between the individual binary files such that a corresponding invalid data item is inserted between each adjacent pair of the individual binary files; and a binary file combiner for combining the individual binary files and the inserted invalid data.  
      In accordance with yet another aspect of the present invention, there is provided a computer-readable recording medium storing for instructions for controlling a processor to implement a method for creating a binary file for function-based data storage, the method including converting target files created based on functions thereof to individual binary files, respectively; and combining the individual binary files to create a combined binary file, wherein invalid data items of a specific size, into which invalid data is divided, are inserted between the individual binary files such that a corresponding invalid data item is inserted between each adjacent pair of the individual binary files. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
      The above and other objects, features and other advantages of the present invention will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:  
       FIG. 1  is a diagram showing the structure of a conventional binary file;  
       FIGS. 2   a  to  2   c  are diagrams showing how software is updated in a conventional method;  
       FIG. 3  is a block diagram showing the configuration of an apparatus for creating a binary file for function-based data storage according to an embodiment of the present invention;  
       FIG. 4  is a flow chart showing a method for creating a binary file for function-based data storage according to an embodiment of the present invention; and  
       FIG. 5  is a diagram showing a binary file created in accordance with the method of the present invention described with reference to  FIG. 4 . 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
      Now, preferred embodiments of the present invention will be 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 incorporated herein will be omitted when it may make the subject matter of the present invention unclear.  
       FIG. 3  is a block diagram showing the configuration of an apparatus for creating a binary file for function-based data storage according to an embodiment of the present invention. As shown in  FIG. 3 , the binary file creation apparatus includes a target file converter  10 , an invalid data inserter  20 , a controller  30  and a binary file combiner  40 .  
      The target file converter  10  may comprise a linker, which converts target files, created based on their functions, into individual binary files under the control of the controller  30 .  
      The invalid data inserter  20  inserts invalid data, divided into invalid data items of a specific size, between the converted individual binary files, such that a corresponding invalid data item of a plurality of invalid data items is inserted between each adjacent pair of the individual binary files. Null data defining the free area in  FIG. 1  as a spare area of the binary file is preferably used for the invalid data. The invalid data is not used as actual data, but serves as a space (i.e., a hole) for identifying each of the binary files.  
      The controller  30  controls the overall operation of the binary file creation apparatus. The binary file combiner  40  combines the individual binary files and the inserted invalid data items to create a combined binary file.  
       FIG. 4  is a flow chart showing a method for creating a binary file for function-based data storage according to an embodiment of the present invention. As shown in  FIGS. 3 and 4 , in step S 110  the target file converter  10  converts target files created based on their functions to individual binary files. The target file is a file into which a source file written in a computer language, e.g., C, is compiled so as to be readable by a specific device. For example, a source file is compiled into a target file stored as binary code, e.g., “0101010101”. If the target files have been grouped together, the target file converter  10  classifies the target files based on their functions (for example, using a scatter file) and converts the classified target files respectively to individual binary files.  
      In step S 120  the invalid data inserter  20  inserts invalid data, divided into invalid data items of a specific size, between the individual binary files, such that a corresponding invalid data item of the plurality of data items is inserted between each adjacent pair of the individual binary files. The specific size of each of the invalid data items differs according to both the number of the individual binary files and the size of each of the individual binary files. For example, if the number of the individual binary files is 10, the invalid data is divided into 10 invalid data items, and if the size of each of the individual binary files is 50K, the size of each of the invalid data items is preferably 5 k (one tenth of 50K). In step S 130  the binary file generator  30  combines the individual binary files and the inserted invalid data items to create a combined binary file.  
       FIG. 5  is a diagram showing the binary file created according to the method described with reference to  FIG. 4 . The created binary file is shown as a combined binary file  200 . As shown in  FIG. 5 , the combined binary file  200  includes n individual binary files that have been converted at step S 110  of  FIG. 4  and n invalid data items, each of which has been inserted between a corresponding adjacent pair of the individual binary files at step S 120  ( FIG. 4 ).  
      Specifically, as shown in  FIG. 5 , the combined binary file  200  includes different sets of n individual binary files, for example, n individual boot binary files  200 , n individual application binary files  204  and n individual resource binary files  206 . It also includes different sets of n invalid data items, for example, n invalid boot data items  208 , n invalid application data items  210  and n invalid resource data items  212 .  
      As null data, the invalid data items define the free area in  FIG. 1  and serve to identify or discriminate the individual binary files when updating the combined binary file  200 , thereby allowing partial update thereof.  
      The method described above according to the present invention can be embodied as a program and stored in a computer-readable form in a recording medium, for example, a compact disk (CD), a digital video disk (DVD), a random access memory (RAM,) a floppy disk, a hard disk and a magneto-optical disc).  
      As apparent from the above description, the present invention provides an apparatus and method for creating a binary file for function-based data storage and a computer-readable storage medium storing the method, which have the following features and advantages. The use of a combined binary file created according to the present invention decreases the number of times data in a flash ROM is read/deleted/recorded when a corresponding program is updated. In addition, the use of a combined binary file into which invalid data is inserted to identify individual binary files of the combined binary file according to the present invention makes it possible to update a changed part of the combined binary file, instead of the entirety thereof, when a corresponding program is updated.  
      Although the preferred embodiments of the present invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. Accordingly, the scope of the present invention should not be limited to the above embodiments, but defined by the accompanying claims as well as equivalents thereof.