Abstract:
Provided is a method of variably establishing storage areas of a flash memory according to the status of a system in a computer having flash memory in which booting data and execution data are stored. The computer includes: a flash memory including a storage area that is divided into a boot area for storing booting data and a cache area for storing execution data, and supplementing a reading speed of a main storage device; a flash controller designating a location to which the data stored in the flash memory is written; and a main controller calculating an area ratio of the flash memory according to the operating status of a PC, controlling the flash controller, and reestablishing the area ratio between the boot area and the cache area.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present application is related to, and claims priority to, Korean patent application 10-2007-0072433, filed on Jul. 19, 2007, the entire contents of which are hereby incorporated by reference. 
       BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    The present invention relates to a method of variably establishing storage areas of a flash memory according to the status of a system in a computer having a flash memory in which booting data and execution data are stored. 
         [0004]    2. Description of the Related Art 
         [0005]    As generally known in the art, a random access memory (RAM) is used as a main memory device of a computer. Although RAM can read and write data fast, the data is lost after power is switched off. Thus, since data is permanently stored in a hard disk with a slow speed, necessary data is loaded to RAM when the computer system operates. 
         [0006]    However, the data needs to be moved from the hard disk when an application is executed right after the computer system is booted, which causes a reduction in the executing speed of the computer. 
         [0007]    In more detail, when the hard disk transmits the data, since a transmission time is delayed due to a mechanical operating part of the hard disk, a central processing unit (CPU) is quite faster than the hard disk, and a difference in the data transmission speed causes a bottleneck state, which reduces the operating speed of the computer. 
         [0008]    Therefore, the computer system includes another storage means for sharing a part of the data with the hard disk, supporting the hard disk, maintaining the data when the power is turned off, and transmitting the data faster than the hard disk, so that the operating speed of the computer can be increased. 
         [0009]    Recently, a variety of non-volatile memory devices other than the hard disk have been developed. In addition to flash memory, various read only memory (ROM), phase-change RAM (PRAM), resistive RAM (ReRAM), magneto-resistance RAM (MRAM), etc. technologies have been developed, so that these ROM, PRAM, and ReRAM can be expected to serve as devices that support the hard disk. 
         [0010]    The hard disk and other non-volatile memory devices store data basically required for operation of the computer and frequently used data. When the data stored in the non-volatile memory devices is required, the data is supplied from the non-volatile memory devices other than the hard disk. 
         [0011]    The non-volatile memory devices invariably establish a storage space for storing the data required to operate the computer and another storage space for storing the data having the high use frequency, which results in problems of the above conventional technology as described below. 
         [0012]    Although the basically required data for operation of the computer is unnecessary after the computer is fully operational, the data occupies a part of the storage space of the non-volatile memory devices, which relatively reduces the storage space for storing the data having the high use frequency. 
         [0013]    Further, according to the prior art, in order to always store the data basically required to operate the computer while securing a sufficient storage space for storing the frequently used data, it is necessary to increase the capacity of the non-volatile memory devices. 
       SUMMARY OF THE INVENTION 
       [0014]    Accordingly, the present invention has been made to solve the above-mentioned problems occurring in the prior art, and an object of the present invention is to provide a computer having a flash memory capable of variably changing storage areas according to the status of a computer system. 
         [0015]    In order to accomplish this object, there is provided a computer including: a flash memory including a storage area that is divided into a boot area for storing booting data and a cache area for storing execution data, and supplementing a reading speed of a main storage device; a flash controller designating a location to which the data stored in the flash memory is written; and a main controller calculating an area ratio of the flash memory according to the operating status of a PC, controlling the flash controller, and reestablishing the area ratio between the boot area and the cache area. 
         [0016]    The main controller may establish the area ratio as an operating status when the PC is fully operational. 
         [0017]    In the operating status, the area ratio may have a greater cache area than the boot area. 
         [0018]    In the operating status of the PC, the main controller may establish the area ratio in such a manner that all storage areas of the flash memory include the cache area. 
         [0019]    The main controller may establish the area ratio as a standby status when the PC is powered off. 
         [0020]    In the standby status, the area ratio may have a greater boot area than the cache area. 
         [0021]    In the standby status of the PC, the main controller may establish the area ratio in such a manner that all storage areas of the flash memory include the boot area. 
         [0022]    The main controller reestablishes the area ratio of the flash memory according to a change in a mode of the PC depending on an idle time that continues without a user&#39;s input. 
         [0023]    The mode may include a monitor off mode and a power saving mode. 
         [0024]    The main controller may establish the area ratio of the flash memory as an establishing status  1  when the mode is established as the monitor off mode, and an establishing status  2  when the mode is established as the power saving mode, wherein the boot area is greater in the establishing status  2  than in the establishing status  1 . 
         [0025]    In the establishing status  1 , the storage area of the flash memory may be equally allocated as the boot area and the cache area. 
         [0026]    In the establishing status  2 , the storage area of the flash memory may be wholly allocated as the boot area. 
         [0027]    In accordance with another aspect of the present invention, there is provided a method of operating a flash memory in a computer having flash memory that includes a storage area that is divided into a boot area for storing booting data and a cache area for storing execution data, and supplements a reading speed of a main storage device, the method including steps of: establishing an area ratio of the flash memory as an operating status after a PC has been fully operational; when a power off signal is detected, establishing the area ratio of the flash memory as a standby status; and when the area ratio of the flash memory is established as the standby status, storing booting data in the boot area of the flash memory. 
         [0028]    In the operating status of the PC, the area ratio may be established in such a manner that the cache area is greater than the boot area, and all storage areas of the flash memory include the cache area. 
         [0029]    In the standby status of the PC, the area ratio may be established in such a manner that the boot area is greater than the cache area, and all storage areas of the flash memory include the boot area. 
         [0030]    The PC may be operated according to the booting data stored in the boot area. 
         [0031]    In accordance with another aspect of the present invention, there is provided a method of operating a flash memory in a computer having the flash memory that includes a storage area divided into a boot area for storing booting data and a cache area for storing execution data, and supplements a reading speed of a main storing device, the method including the steps of: establishing an area ratio of the flash memory as an operating status after a PC has been fully operational; when the PC enters a monitor off mode, reestablishing the area ratio of the flash memory as an establishing status  1 , and performing the monitor off mode; and when the PC enters a power saving mode according to an idle time, reestablishing the area ratio of the flash memory as an establishing status  2 , and performing the power saving mode. 
         [0032]    The step of reestablishing the area ratio of the flash memory as the establishing status  1  may include: determining whether the idle time exceeds an established time  1 ; if the idle time exceeds the established time  1 , establishing the area ratio of the flash memory as the establishing status  1 , and turning off a monitor; and determining whether there is a user&#39;s input, and if the user&#39;s input exists, establishing the area ratio of the flash memory as the operating status. 
         [0033]    In the established time  1 , the PC may enter the monitor off mode established by the user, and in the establishing status  1 , the storage area of the flash memory may be equally allocated as the boot area and the cache area. 
         [0034]    The step of reestablishing the area ratio of the flash memory as the establishing status  2  may include: determining whether the idle time exceeds an established time  2 ; if the idle time exceeds the established time  2 , establishing the area ratio of the flash memory as the establishing status  2 ; storing the booting data in the boot area of the flash memory; terminating the operation of a hard disk drive (HDD) and entering the power saving mode; and determining whether there is a user&#39;s input, and if the user&#39;s input exists, establishing the area ratio of the flash memory as the operating status. 
         [0035]    In the established time  2 , the PC may enter the power saving mode established by the user, and in the establishing status  2 , the storage area of the flash memory may be wholly allocated as the boot area. 
         [0036]    The method may further include: determining whether the idle time exceeds an established time  3 ; if the idle time exceeds the established time  3 , booting a system of the PC; storing data stored in a random access memory (RAM) in a non-volatile storage space; and turning off the system. 
         [0037]    The established time  3  refers to an idle time taken until the system enters a maximum power saving mode. 
         [0038]    The non-volatile storage space may be the boot area of the HDD or the flash memory. 
         [0039]    In accordance with another aspect of the present invention, there is provided a method of operating a flash memory in a computer having flash memory that includes a storage area that is divided into a boot area for storing booting data and a cache area for storing execution data, wherein an area ratio of the flash memory is variably established according to an operating status of a PC. 
         [0040]    The operating status of the PC may be identified according to the PC that is powered on or off. 
         [0041]    The operating status of the PC may be identified according to a system mode of the PC. 
         [0042]    The area ratio of the flash memory may be determined according to whether the booting data is necessary for a next operating status of the PC, and when the booting data is necessary for the next operating status of the PC, the boot area may be established to be greater than the cache area. 
         [0043]    According to the present invention as described above, it is possible to change a storage area of a single flash memory according to the use state thereof, which enables more efficient and wide use of the storage area of the flash memory. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0044]    The above and other objects, features and advantages of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: 
           [0045]      FIG. 1  is a block diagram of a computer having a flash memory according to an embodiment of the present invention; 
           [0046]      FIG. 2  is a conceptual diagram of storage areas of flash memory according to an embodiment of the present invention; 
           [0047]      FIG. 3  is a flowchart illustrating a method of operating flash memory according to an embodiment of the present invention; and 
           [0048]      FIG. 4  is a flowchart illustrating a method of operating flash memory according to another embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0049]    Hereinafter, a preferred embodiment of the present invention will be described with reference to the accompanying drawings. In the following description and drawings, the same reference numerals are used to designate the same or similar components, and so repetition of the description on the same or similar components will be omitted. 
         [0050]      FIG. 1  is a block diagram of a computer having a flash memory  10  according to an embodiment of the present invention.  FIG. 2  is a conceptual diagram of storage areas of the flash memory  10  according to an embodiment of the present invention. 
         [0051]    Referring to  FIG. 1 , the computer includes the flash memory  10  for storing booting data and execution data. The flash memory  10  is used to supplement a speed of reading data of a main storage device (a hard disk drive (HDD), etc.) to memory (representative, dynamic random access memory (DRAM)). The booting data refers to data necessary for operating a system after the computer is booted. The execution data refers to data which has been frequently used by a user and is thus highly probable to be executed by the user in executing the user&#39;s instruction after the operation of the system. 
         [0052]    The flash memory  10  has separate areas for storing the booting data and the execution data. Hereinafter, an area for storing the booting data is a “boot area,” and an area for storing the execution data is a “cache area.” 
         [0053]    The sizes of the boot area and the cache area are not fixed but are determined by a flash controller  20  connected to the flash memory  10 . In more detail, the flash controller  20  determines data storing locations, and is controlled by a main controller  30  that will be described later (see  FIG. 2 ). 
         [0054]    As described above, the main controller  30  determines an area ratio between the boot area and the cache area according to an operation status of the system to the flash controller  20 . 
         [0055]    The main controller  30  can establish the area ratio of the flash memory  10  in various ways according to the operating status of the system. However, the following description is given on an example in which the area ratio is established when the system is turned on/off and a mode changes according to idle time. 
         [0056]    First, the main controller  30  establishes the area ratio differently when a PC is operational and when a user uses the PC after having been operated. 
         [0057]    In more detail, when the PC is operated, the flash memory  10  stores data necessary for operating the PC so as to increase an operating speed. Therefore, all of the storage space of the flash memory  10  should be allocated as the boot area. Further, booting data should be stored in the booting area. 
         [0058]    However, if the booting data is stored in the booting area after an instruction for operating the PC is input, such a storing process will result in decrease in the operating speed of the system. Therefore, when an instruction for terminating the system is input, the main controller  30  allocates the storage areas of the flash memory  10  as the boot area and stores the booting data in the boot area, before the system is terminated. 
         [0059]    Also, after the PC is fully operational, the main controller  30  allocates all the storage areas of the flash memory  10  as the cache area. Thereafter, the main controller  30  stores data (whose priority is determined according to an execution frequency) executed by the user so as to increase the operating speed of the system when the data is executed. 
         [0060]    Then, the main controller  30  changes the area ratio of the flash memory  10  in accordance with a change in the system mode according to idle time that continues without a user&#39;s input. 
         [0061]    In more detail, when the PC is changed to a monitor off mode, the main controller  30  establishes the area ratio of the flash memory  10  in such a manner that the boot area and the cache area are identical to each other. 
         [0062]    When the idle time further continues and the PC enters a power saving mode, the main controller  30  allocates all the storage areas of the flash memory  10  as the boot area, and stores the booting data in the boot area. 
         [0063]    Meanwhile, when the idle time further continues and the PC enters a maximum power saving mode, the main controller  30  can store data stored in a RAM  40  of the PC in the flash memory  10 . In this regard, when the PC exits the maximum power saving mode, the main controller  30  stores the data stored in the RAM  40  in the flash memory  10  providing a fast access speed in order to return the PC to the status before entering the maximum power saving mode. 
         [0064]    Of course, the data of the RAM  40  can be stored in a HDD  50  in the same manner as the conventional method. 
         [0065]    Hereinafter, a method of operating the flash memory  10  of an embodiment of the present invention will now be described in detail. 
         [0066]      FIG. 3  is a flowchart illustrating the method of operating the flash memory  10  according to an embodiment of the present invention. 
         [0067]    As shown, the method of operating the flash memory  10  of the present embodiment receives an instruction for operating a PC (step S 110 ). 
         [0068]    The main controller  30  having received the instruction for operating the PC operates the PC. The main controller  30  accesses a boot area of the flash memory  10  and operates the PC by using boot data stored in the boot area (step S 120 ). 
         [0069]    Thereafter, when the PC is fully operational (step S 130 ), the main controller  30  establishes an area ratio between the boot area and the cache area of the flash memory  10  to have a value corresponding to an operating status (step S 140 ). 
         [0070]    The operating status refers to an area ratio suitable for executing a user&#39;s instruction in that the cache area is established to be greater than the boot area. More dramatically, all storage areas of the flash memory  10  can be established as the cache area. 
         [0071]    After the main controller  30  establishes the area ratio of the flash memory  10  as the operating status, the main controller  30  receives and performs the user&#39;s instruction, and stores data executed according to the user&#39;s instruction in the cache area. The priority of the data stored in the cache area is determined according to a frequency of executing the data performed by the user. In more detail, since data is more frequently executed by the user, the data is determined to have a higher execution possibility, and as such, the data is first stored in the cache area. 
         [0072]    Thereafter, the user detects whether a power off signal is input (step S 150 ). 
         [0073]    If the power off signal is input, the main controller  30  establishes the area ratio of the flash memory  10  as a standby status (step S 160 ). 
         [0074]    The standby status refers to an area ratio suitable for storing booting data required to operate the PC in that the boot area is established to be greater than the cache area. More dramatically, all storage areas of the flash memory  10  can be established as the boot area. 
         [0075]    After the area ratio of the flash memory  10  is established to the standby status, the main controller  30  stores the booting data in the boot area (step S 170 ). 
         [0076]    The PC is powered off and the system is terminated (step S 180 ). 
         [0077]      FIG. 4  is a flowchart illustrating a method of operating the flash memory  10  according to another embodiment of the present invention. 
         [0078]    Referring to  FIG. 4 , the method of operating the flash memory  10  of the present embodiment receives an instruction for operating a PC (step S 210 ) in the same manner as described with reference to  FIG. 3 . The main controller  30  having received the instruction for operating the PC operates the PC (step S 220 ). If the PC is fully operational, the main controller  30  establishes an area ratio between a boot area and a cache area of the flash memory  10  as an operating status (steps S 230  and S 240 ). 
         [0079]    The main controller  30  counts idle time that continues without a user&#39;s input. The counting of the idle time is required to change a mode of the PC, which reduces power consumption when a system is maintained without any user input. 
         [0080]    If the idle time exceeds an established time  1  (step S 250 ), the main controller  30  establishes the area ratio of the flash memory  10  to an establishing status  1  (step S 252 ). At the established time  1 , the system enters a monitor off mode. In the establishing status  1 , the boot area and the cache area are established to have the same area ratio. Alternatively, the boot area and the cache area can be established to have a similar area ratio, in order to prepare the system of the PC that enters a sleep mode and terminates the monitor off mode. 
         [0081]    The main controller  30  turns off a monitor of the PC (step S 254 ), detects whether the user inputs an instruction, and enters a standby mode (step S 256 ). If the main controller  30  detects that the user inputs the instruction, the main controller  30  exits the monitor off mode (turns on the monitor), and proceeds to step S 240 . 
         [0082]    Meanwhile, if the idle time exceeds an established time  2  without a user input (step S 260 ), the main controller  30  establishes the area ratio of the flash memory  10  to an establishing status  2  (step S 262 ). At the established time  2 , the system enters a power saving mode. 
         [0083]    In the establishing status  2 , the area ratio of the flash memory  10  is established to have the boot area to be greater than the cache area. In the establishing status  2 , all storage areas of the flash memory  10  are established as the boot area. 
         [0084]    The main controller  30  stores booting data in the boot area (step S 264 ), and enters the power saving mode (step S 266 ). At this time also, the main controller  30  enters the standby mode while monitoring if the user inputs an instruction (step S 268 ). 
         [0085]    Thereafter, the main controller  30  detects if the idle time exceeds an established time  3  (step S 270 ). The established time  3  refers to an idle time taken until the system enters a maximum power saving mode. The established time  1 ,  2 , and  3  can be established and changed by the user. 
         [0086]    If the main controller  30  detects in step S 270  that the idle time exceeds the established time  3 , the main controller  30  operates the system (step S 272 ), in order to completely turn the system off after storing a final status of the PC, which is stored in the RAM  40 , in a non-volatile memory (steps S 274  and S 276 ). 
         [0087]    The non-volatile memory refers to the HDD  50  included in the computer. 
         [0088]    However, in the present embodiment, the PC further includes the flash memory  10  as the non-volatile memory. Therefore, the data of the RAM  40  can be stored in the flash memory  10 . 
         [0089]    It is efficient to store the data of the RAM  40  in the boot area of the flash memory  10 . 
         [0090]    According to an embodiment of the present invention having the above described construction, a single flash memory is used to variably change storage spaces thereof according to a use status of a PC, thereby increasing available storage spaces. 
         [0091]    Although a preferred embodiment of the present invention has been described 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.