Abstract:
A mobile communication device ( 100 ) includes a volatile memory ( 110 ) and a non-volatile memory ( 112 ). Instruction code for operating the mobile communication device is permanently stored in the non-volatile memory, and copied to the volatile memory for execution. The mobile communication device enters a hibernate mode which involves shutting down most of the mobile communication device except power to the volatile memory, which allows a nearly instant apparent start up of the mobile communication device at a later time.

Description:
TECHNICAL FIELD  
       [0001]     This invention relates in general to mobile communication devices, and more particularly to reducing the apparent start up latency of the mobile communication device.  
       BACKGROUND OF THE INVENTION  
       [0002]     Mobile communication devices are in widespread use throughout the world and in metropolitan regions in particular. Mobile communication devices have become so common in many areas that it is often presumed that a given person in such regions will have a mobile communication device. To remain competitive, manufactures have added features to mobile communication devices to attract customers to their products. Mobile communication devices are now sophisticated enough to have operating systems, JAVA support, internet browsers, and so on. A consequence of this sophistication is that an mobile communication device may requires significant period of time to start up from being powered off. At the least, this start up time can be an annoyance, but in an emergency, it can be critical. Therefore, there is a need to be able to start up an mobile communication device in a rapid manner that is virtually instantaneous. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0003]      FIG. 1  shows a block schematic diagram of a mobile communication device, in accordance with an embodiment of the invention;  
         [0004]      FIG. 2  shows a flow chart of a method of operating a mobile communication device, in accordance with an embodiment of the invention;  
         [0005]      FIG. 3  shows a flow chart diagram of a method of pre-booting a mobile communication device, in accordance with an embodiment of the invention;  
         [0006]      FIG. 4  shows a method of reducing an apparent start up latency of a mobile communication device, in accordance of the invention; and  
         [0007]      FIG. 5  shows a method of learning a usage pattern of the mobile communication device for implementing and automatic pre-boot mode or hibernate mode, in accordance with an embodiment of the invention. 
     
    
     DETAILED DESCRIPTION  
       [0008]     While the specification concludes with claims defining the features of the invention that are regarded as novel, it is believed that the invention will be better understood from a consideration of the following description in conjunction with the drawing figures, in which like reference numerals are carried forward.  
         [0009]     The invention solves the problem of long start up time of the mobile communication device by use of a hibernate mode where, for example, the state of the mobile communication device may be preserved in a volatile memory of the mobile communication device by maintaining power to the volatile memory while shutting off other portions of the mobile communication device so that the mobile communication device appears to be off. As a result, the hibernate mode draw less power than an idle mode of the mobile communication device. The mobile communication device may also pre-boot itself when off, if a scheduled start up time is known. Likewise, the mobile communication device can set itself into the hibernate mode from an active mode at a scheduled time. Otherwise, the hibernate mode may be initiated by the user upon pressing the on/off button of the mobile communication device.  
         [0010]     Referring now to  FIG. 1 , there is shown a block schematic diagram  100  of a mobile communication device, in accordance with an embodiment of the invention. The mobile communication device contains a radio frequency (RF) transceiver  102  coupled to an antenna  104 . The RF transceiver performs all radio frequency operations, including modulation, demodulation, filtering, amplification, and so on. The antenna is used for both transmitting signals and receiving signals over an air interface. The RF transceiver is closely coupled to a baseband processor  106  which processes digital information received and demodulated by the RF transceiver, and prepares digital information for modulation and transmission by the RF transceiver. Overall operation of the mobile communication device is controlled by a controller  108 . The controller operates according to instruction code in a volatile memory  110 , such as a random access memory (RAM). However, being a volatile memory, information in the volatile memory will not persist once power is removed form the memory. The instruction code may be stored in a non-volatile memory  112  such as a flash memory. Upon powering up the mobile communication device, the controller must copy the instruction code from the non-volatile memory to the volatile memory. Typically this is performed over a serial link  114  between the non-volatile memory and the controller. The link between the controller and the volatile memory is typically a parallel bus  116 . To facilitate voice communication the mobile communication device further comprises an audio processor  118 . The audio processor converts acoustic audio signals received at a microphone  120  into digital form for the baseband processor. Similarly, digital audio signals received from the baseband processor are converted to analog audio signals to be played over a speaker  122 , such as an earpiece. The mobile communication device interact with a user via a user interface  124 . Although shown abstracted here as a single block, it will be appreciated by those skilled in the art there are a variety of circuits and circuitry included here, such as display drivers, filters, keypad circuits, debounce circuits, software detection of button presses, and so on. The mobile communication user interface operates via a number of interface devices  126 , including, for example, one or more graphical displays  128 , a keypad and other buttons  130 , including a power on/off button  132 , and audio components  134 . All portions of the mobile communication device are capable of power control, being put into low power states, powered on or off, as necessary. For example, a controller can put itself into a low power mode and is periodically awakened by an external interrupt clock. Various switches can control power to other parts of the mobile communication device as well.  
         [0011]     Referring now to  FIG. 2 , there is shown a flow chart diagram  200  of a method of operating a mobile communication device, in accordance with an embodiment of the invention. At the start  202  of the method, the mobile communication device is operating in an active mode, meaning the mobile communication device is conventionally powered up, ready to send and receive RF signals and interact with a user of the mobile communication device. At some point in time, the user decides to turn off the mobile communication device, and presses an on/off button  204 , for example. However, rather than shutting down the mobile communication device to an off mode, where information in the volatile memory is lost, the mobile communication device enters a hibernate mode  206 . The hibernate mode is characterized by a preservation of a present state of the mobile communication device by continuing to provide power to the volatile memory, and the mobile communication device has the appearance of being turned off. That is, the graphical display is turned off along with any light sources, and the mobile communication device doesn&#39;t send or receive RF signals. The mobile communication device then periodically checks to see if the on/off button is subsequently pushed  208 . This may be monitored with an external free running interrupt circuit as is conventional. Upon detecting actuation of the on/off button, the mobile communication device immediately powers up the graphical display and other portions of the mobile communication device, recommences RF communication with a communication system, and resumes operation from the last active state as preserved in the volatile memory. Upon resume active operation, the method ends  216 . However, it is contemplated that, in addition to checking the on/off button, the mobile communication device may initiate a hibernate timer for timing a hibernate period. Alternatively, upon entering the hibernate mode  206 , the mobile communication device may check the battery capacity to determine a hibernate time period. While in the hibernate mode, the mobile communication device checks to see if the hibernate timer has expired  212 . If it has, then the mobile communication device simply goes to a conventional off mode  214  where the volatile memory is shut off, and the information in the volatile memory will be lost. The hibernate time may be set for maximum hibernate time period, as determined by the user or the manufacturer of the mobile communication device, or it may be shortened if the remaining battery capacity is below a preselected threshold which may also be selected by the user or set by the manufacturer. It is also contemplated that the shortened time period may correspond to the remaining battery capacity. The lower the remaining battery capacity, the shorter the hibernate time period.  
         [0012]     Referring now to  FIG. 3 , there is shown a flow chart diagram of a method of pre-booting a mobile communication device, in accordance with an embodiment of the invention. At the start  302  the mobile communication device is in an off mode, but periodically checks to see if the onset of scheduled start up is approaching, or has arrived  304 . The start up time may be selected by the user, and programmed into the mobile communication device, or the mobile communication device may learn a usage pattern of the user, and predict the scheduled turn on time. Once the mobile communication device has determined that the scheduled turn on time has arrived or is imminent, the mobile communication device commences powering up the volatile memory  306  and then copying instruction code from the non-volatile memory to the volatile memory  308 . Once the mobile communication device has finished copying the necessary code, the mobile communication device is in hibernate mode  310 . While in hibernate mode the mobile communication device check the on/off button to detect an actuation of the on/off button  312 . When the actuation of the on/off button is detected while in the hibernate mode, the mobile communication device will transition to the on or active mode  314 , and normal operation proceeds, ending the method  316 . While in the hibernate mode, the mobile communication device may run a hibernate timer  318 , based either on a preselected maximum hibernate time period or a shortened hibernate time period, as discussed in reference to  FIG. 2 . If the hibernate time period expires while in the hibernate mode, the mobile communication device will revert to the off mode  320 , terminating the method.  
         [0013]     Referring now to  FIG. 4 , there is shown a flow chart diagram  400  of a method of reducing an apparent start up latency of a mobile communication device, in accordance of the invention. At the start  402  of the method the mobile communication device is operating in an on or active mode, able to receive and transmit RF signals and interact with a user. At some point while in the active mode, a scheduled turn off or shut down time  404  occurs. In response, the mobile communication device places itself in the hibernate mode  406 , as in  FIGS. 2-3 . The present method embodiment anticipates a regular time usage pattern of the mobile communication device by a user, and appears to turn off and on at scheduled or otherwise appropriate times, but retaining the ability to turn on instantly in case of an emergency or an exception to the schedule. While in the hibernate mode the mobile communication device checks for actuation of the on/off button  408 , as in  FIGS. 2-3 . If the on/off button is pressed, the mobile communication device resumes normal operation  410 , and the method terminates  414 . Alternatively, while in the hibernate mode, if a scheduled turn on time occurs,  412 , the mobile communication device will also leave the hibernate mode and go to the active mode  410 . The mobile communication device in the present method embodiment may also run a hibernate timer with one of several different time values corresponding to the remaining battery capacity. If the hibernate timer expires  416 , the mobile communication device will go to the off mode to avoid draining the battery.  
         [0014]     Referring now to  FIG. 5 , there is shown a flow chart diagram  500  of a method of learning a usage pattern of the mobile communication device for implementing and automatic pre-boot mode or hibernate mode, in accordance with an embodiment of the invention. At the start  502 , the mobile communication device has no information as to the usage pattern of the user. Each time the user turns on or off the mobile communication device  504 , the mobile communication device notes the time of the turn on or turn off event  506 . The mobile communication device then compares the times of preceding similar events  508  to determine if a use pattern is indicated  510 . If a use pattern is indicated by the turn on or turn off history of use, the mobile communication device may prompt the user  512  to allow automatic turn on or turn off using the hibernate or pre-boot methods discussed in reference to  FIGS. 2-4 .  
         [0015]     Thus, the invention provides a method for reducing an apparent boot time of a mobile communication device. The mobile communication device has a power on/off button, and the method commences by, while the mobile communication device is in an active mode, detecting actuation of the on/off button. When actuation is detected, the mobile communication device commences entering a hibernate mode. The hibernate mode includes placing the mobile communication device in a low power state so as to appear to be powered off, and maintaining a volatile memory of the mobile communication device containing instruction code copied from a non-volatile memory of the mobile communication device in a powered state to preserve the last active state of the mobile communication device in the volatile memory. While in the hibernate mode, the mobile communication device monitors the on/off button, and upon detection of actuation of the on/off button while in the hibernate mode, resumes the active mode in the last active state as preserved in the volatile memory. While in the hibernate mode, the mobile communication device may run a hibernate timer, and if the timer expires before the user reactivates the mobile communication device by pressing the on/off button, the mobile communication device shuts off by going to an off mode where information in the volatile memory is lost. The duration of the hibernate mode may be a preselected maximum time, or it may be dependent on remaining battery capacity. If the mobile communication device shuts off after expiration of the hibernate period, it may detect the onset of a scheduled turn on time, at which time the mobile communication device may pre-boot, waiting for the user to resume normal operation. Pre-booting is essentially placing the mobile communication device in a hibernate mode from an initial state, rather than a last active state. The benefit of hibernate mode is that the mobile communication device appears to turn on much faster than from the off mode. The pre-boot process may also be used as a regularly scheduled event, rather than in response to a previous expiration of the hibernate timer. The mobile communication device may use hibernate mode at scheduled times, indicated by user input, or by usage pattern.  
         [0016]     While the preferred embodiments of the invention have been illustrated and described, it will be clear that the invention is not so limited. Numerous modifications, changes, variations, substitutions and equivalents will occur to those skilled in the art without departing from the spirit and scope of the present invention as defined by the appended claims.