METHOD AND APPARATUS FOR INCREASING THE BATTERY LIFE OF PORTABLE ELECTRONIC DEVICES

Abstract: A system (100) includes a first device (104) that can store and transfer data. The first device (104) is capable of transferring data at a first rate, although it may transfer data at other rates. An intermediate storage location (108) is coupled to the first device, and a second device (102) is coupled to the first device and to the intermediate storage location. The second device includes a processor (106) that is adapted to execute a computer program that requires data to be transferred to the processor at a second rate which is lower than the first rate. The intermediate storage location (108) preferably is selected to consume less power when powered on than the first device (104) consumes when powered on, and computer program code (110) preferably is provided to power down the first device (104) following the transfer of data from the first device to the intermediate storage location (108).

Description: METHOD AND APPARATUS FOR INCREASING HE BATTERY LIFE OF PORTABLE ELECTRONIC DEVICES The present invention relates generally to portable electronic devices, and more particularly to increasing the battery life of portable electronic devices. For a portable electronic device such as a personal data assistant (PDA), a digital audio player (e.g., an MPEG3 or "MP3" player), a digital video player (e.g., a DVD player) or the like to play digital audio or video, or to perform other data intensive operations, a continuous stream of data at rates of up to 1.5 Mbytes/min must be supplied to the portable electronic device. Due to limited internal memory capacity, portable electronic devices typically cannot store sufficient data to sustain continuous data intensive operations (e.g., the playing of digital audio or video) for any meaningful time period (e.g., long enough to play an entire piece of music or video) . To compensate for limited internal memory capacity, most portable electronic devices employ removable storage devices to supply data to the portable electronic devices. Common removable storage devices include removable disk drives, hard drives or compact flash™ memory devices. As used herein, removable storage devices include devices that may be external to or internal to a portable electronic device. While removable storage devices contain sufficient memory and can sustain most data rates required by portable electronic devices, these storage devices also consume significant electrical power and thereby severely reduce the battery life of portable electronic devices. For example, the battery life of a typical PDA running an MP3 player application is about 30-45 minutes if the PDA uses a removable storage device to continuously supply digitised audio data to the PDA. Such a short battery life renders the use of portable electronic devices that perform data intensive operations both expensive and inconvenient. According to one aspect of the present invention, a system is provided adapted to increase the battery life of a portable electronic device, when the portable electronic device employs a removable storage device, the system comprising: a removable storage device adapted to store data and to transfer data, the removable storage device capable of transferring data at a first rate; a portable electronic device coupled to the removable storage device, the portable electronic device having a processor adapted to execute a computer program that requires data to be transferred to the processor at a second rate which is lower than the first rate; a cache memory adapted to receive data from the removable storage device and to transfer data to the processor; and computer program code adapted to: initiate a transfer of data at the first rate from the removable storage device to the cache memory; initiate a transfer of data at the second rate from the cache memory to the processor; and power down the removable storage device following the transfer of data from the removable storage device to the cache memory. According to a second aspect of the present invention, a system comprises: a first device adapted to store data and to transfer data, the first device capable of transferring data at a first rate; an intermediate storage location coupled to the first device; a second device coupled to the first device and to the intermediate storage location, the second device having a processor, the processor being adapted to execute a computer program that requires data to be transferred to the processor at a second rate which is lower than the first rate; and computer program code adapted to initiate a transfer of data at the first rate from the first device to the intermediate storage location and to initiate a transfer of data at the second rate from the intermediate storage location to the processor. Preferably in the system of the second aspect, the first device consumes more power when powered on than the intermediate storage location consumes when powered on. Preferably also this system further comprises computer program code adapted to power down the first device following the transfer of data from the first device to the intermediate storage location. Also, advantageously in this system the intermediate storage location and the computer program code are within the second device. The first device may with advantageously comprise a device selected from the group consisting of a hard drive, a computer, a flash memory device, a tape drive, a CD-ROM drive and a DVD drive. Also, advantageously, the second device comprises a personal data assistant. The second device may comprise a device adapted to play compressed audio data In one embodiment of the second aspect of the invention, the intermediate storage location comprises a cache memory Preferably, the cache memory comprises a memory selected from the group consisting of a first-m first-out buffer, a random access memory, a static memory and a dynam1c memory . According to a third aspect of the present invention, a device comprises . an intermediate storage location adapted to couple to a storage device that is capable of transferring data at a first rate; a processor coupled to the intermediate storage location and adapted to couple to the storage device, the processor being adapted to execute a computer program that requires data to be transferred to the processor at a second rate which is lower than the first rate, and computer program code adapted to initiate a transfer of data at the first rate from the storage device to the intermediate storage location and to initiate a transfer of data at the second rate from the intermediate storage location to the processor. In this device of the storage device preferably consumes more power when powered on than the intermediate storage location consumes when powered on Preferably, also, the device further comprises computer program code adapted to power down the storage device following the transfer of data from the storage device to the intermediate storage location According to a fourth aspect of the present invention, a computer program product comprises, a medium readable by a computer, the computer readable medium having- means for initiating a transfer of data at a first rate between a first device and an intermediate storage location, and means for initiating a transfer of data at a second rate between the intermediate storage location and a processor, wherein the second rate is lower than the first rate. Preferably the computer product further comprises means for powering down the first device following the transfer of data from the first device to the intermediate storage location. According to a fifth aspect of the present invention, a method of transferring data between a first device and a second device comprises- providing a first device for storing data and for transferring data, the first device capable of transferring data at a first rate; providing a second device, the second device requiring data at a second rate which is lower than the first rate; transferring data at the first rate from the first device to an intermediate storage location; and transferring data at the second rate from the intermediate storage location to the second device . Preferably when using this method, the first device consumes more power when powered on than the intermediate storage location consumes when powered on Preferably also, the method further comprises powering down the first device following the transfer of data from the first device to the intermediate storage location To address the needs of the prior art, systems, devices, computer program products, and methods are provided which may significantly increase the battery life of a portable electronic device that performs data intensive operations such as playing digital audio or video While particularly beneficial for increasing the battery life of the above described portable electronic devices, the present invention may be employed m other applications including portable DVD players, wearable computers and automobile personal computers Examples of a first device or storage device that can store data and transfer data are a removable storage device such as a hard drive, a tape drive, a CD-ROM drive, a DVD drive or a flash memory device such as a compact flash™ memory device, a Smart Media™ or a Memory Stick™ The first device is capable of transferring data at a first rate. An intermediate storage location (e.g., a cache memory such as a first-in first-out buffer, a random access memory, a static memory or a dynamic memory) is coupled to the first device, and a second device (e.g., a portable electronic device such as a PDA, an MP3 player, a video player, etc ) is coupled both to the first device and to the intermediate storage location In described embodiments, the second device includes a processor that is adapted to execute a computer program that requires data to be transferred to the processor at a second rate which is lower than the first rate Computer program code is provided that can initiate the transfer of data at the first rate from the first device to the intermediate storage location and that can initiate the transfer of data at the second rate from the intermediate storage location to the processor The intermediate storage location preferably is selected to consume less power when powered on than the first device consumes when powered on Computer program code preferably is provided to power down the first device following the transfer of data from the first device to the intermediate storage location As used herein, 'powered on" means being n an operational state that is suitable for data transfer (e g., a state having a spinning hard disk or CD-ROM) and "powered down" means being in an operational state that reduces power consumption, such as a state with all power removed from the device or an idle state (e.g , a state having a stationary hard disk or CD-ROM) In other aspects of the invention, devices, computer program products and methods are provided for use within (or for use independent from) the above described system Each inventive computer program product is carried by a medium readable by a computer (e g , a carrier wave signal, a floppy disc, a hard drive, a random access memory, etc ) Other features and advantages of the present invention may become more fully apparent from the following detailed description with reference to the drawings of, by way of example, presently preferred embodiments of the invention The present invention will now be described with reference to the accompanying drawings, in which, by way of example FIG. 1 is a schematic diagram of a first novel system for increasing the battery life of a portable electronic device such as a personal data assistant, FIG 2 is a flow chart of a preferred process for the first system of FIG 1, FIG 3 is a schematic diagram of a second novel system for increasing the battery life of a portable electronic device such as a digital audio and/or video player, FIG 4 is a flow chart of a preferred process for the second system of FIG 3 and FIG 5 is a schematic diagram of a third novel system for increasing the battery l fe of a portable electronic device In the drawings, 1 ke reference numbers indicate identical or functionally similar elements. Additionally, the leftmost digit of a reference number identifiej the figure of the drawings m which the reference number first appears. The present invention takes advantage of two observations: (1) that many data intensive operations such as playing digital audio and/or video require sustained data transfer rates (e.g , about 1.5 Mbytes/mm for MP3 audio) that are far less than the data transfer rates of many removable storage devices (e.g., about 2.5 Mbytes/sec for an IBM Microdrive Model No DMDM-10340); and (2) that removable storage devices such as hard drives, disk drives, CD-ROM drives, tape drives, flash memory devices, etc , typically consume significantly more power than smaller, internal memories such as first-in first-out buffers, random access memory (RAM), static memory or dynamic memory (e.g , about 270 mA for a removable IBM Microdrive versus 15 mA for an internal RAM) . Power savings thereby may be realised by employing a low power, internal memory to continuously stream data at a relatively low transfer rate (e.g., about 1.5 Mbytes/mm) to a portable electronic device, and by employing a high power, removable storage device to transfer data at a relatively high transfer rate (e.g., about 2 5 Mbytes /sec) to the internal memory only when the portable electronic device has read out all (or nearly all) of the data within the low power, internal memory. The internal memory thus serves as an intermediate storage location for the portable electronic device that reads ahead" data from the removable storage device for use by the portable electronic device. The removable storage device preferably is powered down immediately after transferring data to the low power, internal memory so as to maximise power savings. Due to the high transfer rates of removable storage devices, these devices need only be powered on for a short time period. For example, n about 2-3 seconds, an IBM Microdrive can power on, transfer about 1 minute's worth of digital audio data to a PDA's internal RAM, and power down. During data intensive operations that require the use of a removable storage device, such as when a PDA runs an MP3 player application, the present invention has been found to extend the battery life of a PDA by up to 10 hours from the conventional limit of 30-45 minutes. While particularly beneficial for increasing the battery life of PDAs and MP3 players, the present invention may be employed m many other applications including portable DVD players, wearable computers and automobile personal computers . FIG. 1 is a schematic diagram of a first novel system 100 for increasing the battery life of a portable electronic device such as a personal data assistant (PDA) 102. The first system 100 comprises a removable storage device 104 coupled to the PDA 102. The removable storage device 104 is adapted to store data and to transfer data, and may comprise, for example, a hard drive, a personal computer, a tape drive, a CD-ROM drive, a DVD drive, a flash memory device such as a compact flash™ memory device, a Smart Media™ or a Memory Stick™, or any other conventional storage device. The PDA 102 includes a processor 106 coupled to a cache memory 108, and computer program code 110 for controlling the operation of the processor 106 The processor 106 may comprise, for example, any conventional microprocessor. The cache memory 108 preferably comprises a portion of the PDA 102 ' s internal random access memory (RAM) 112, but m general may comprise any other known memory device such as a first-m first-out buffer, a static memory, a dynamic memory, etc. To increase the battery life of the PDA 102, the cache memory 108 should consume less power when powered on than the removable storage device 104 consumes when powered on. The computer program code 110 includes program code that begins or otherwise 'initiates" a plurality of events within the PDA 102 or the removable storage device 104. Events initiated by the computer program code 110 preferably include: 1. a transfer of data at a first rate from the removable storage device 104 to the cache memory 108; 2 a transfer of data at a second rate which is lower than the first rate from the cache memory 108 to the processor 106, and 3 powering down the removable storage device 104 following the transfer of data from the removable storage device 104 to the cache memory 108. It will be understood that tne computer program code 110 initiates an event by directing the processor 106 to initiate the event. The computer program code 110 may be programmed using any programming language such as C, C++, Pascal or the like. Preferably the computer program code 110 resides within a device driver of the PDA 102. For example, if the PDA 102 employs the Microsoft Windows CE operating system, the computer program code 110 preferably resides within a device driver of the Microsoft™ Windows CE™ operating system. As stated previously, the present invention increases the battery life of a portable electronic device (such as the PDA 102) by "reading ahead" data from the removable storage device 104 at a relatively high data transfer rate, by storing the read ahead data in an intermediate storage location (e.g., the cache memory 108) and by supplying data to the processor 106 from the cache memory 108 (at a relatively low transfer rate) rather than from the removable storage device 104. While the processor 106 accesses data stored within the cache memory 108, the removable storage device 104 is powered down until all (or nearly all) of the data stored within the cache memory 108 is read out by the processor 106. Thereafter, the removable storage device 104 is powered on only long enough to fill the cache memory 108 with new data, and the above process repeats. Because the removable storage device 104 consumes significantly more power than the cache memory 108 (e.g., about 270 mA for an IBM Microdrive versus 15 mA for an internal RAM) , powering down the cache memory 108 can result in very large power savings. The battery life of the PDA 102 thereby is greatly extended. FIG. 2 is a flow chart of a preferred process 200 for the first system 100 of FIG. 1 that significantly increases the battery life of the PDA 102 during a data intensive operation. During the processor 106 's execution of a computer program that performs data intensive operations such as playing digital audio or video, a continuous stream of data is required by the processor 106, at rates of up to about 1.5 Mbytes/min. The supplying of continuous data to the processor 106 is referred to herein as "data streaming". With reference to FIG. 2, the process 200 begins with step 201 when the PDA 102 runs the computer program code 110. In step 202, the computer program code 110 designates a portion of the RAM 112 for use as the cache memory 108 (e.g., for use as a read ahead cache) . The processor 106 then requests (step 203) an amount of data that is required by the PDA 102 for data streaming (e.g., to play digital audio or video or to perform some other data intensive operation) . In step 204, the computer program code 110 determines if the requested data resides within the cache memory 108. If the requested data does not reside within the cache memory 108, the process 200 proceeds with steps 205-207; otherwise the process proceeds with step 208. In step 205, the computer program code 110 powers on the removable storage device 104 (via a command sent from the processor 106 to the removable storage device 104), and the computer program code 110 then initiates the transfer of the requested data from the removable storage device 104 to the cache memory 108 (step 206) . While the removable storage device 104 is powered on, enough data to fill the cache memory 108 is also transferred from the removable storage device 104 to the cache memory 108 Preferably all data transferred from the removable storage device 104 to the cache memory 108 is transferred at the maximum transfer rate of the removable storage device 104 so as to minimise the time the removable storage device 104 is powered on. Following data transfer to the cache memory 108, the computer program code 110 powers down the removable storage device 104 (step 207). In step 208, the computer program code 110 initiates the transfer of the requested data from the cache memory 108 to the processor 106 The requested data is transferred at a rate required by the PDA 102 for data streaming (e.g., the rate required by a computer program executed by the processor 106, such as a computer program that plays digital audio or video or performs some other data intensive operation) . The data transfer rate from the cache memory 108 to the processor 106 preferably is significantly lower than the data transfer rate from the removable storage device 104 to the cache memory 108. In this manner, the time the removable storage device 104 is powered on is reduced, and the battery life of the PDA 102 is increased. In step 209, the processor 106 processes the data transferred thereto from the cache memory 108. In step 210, the computer program code 110 determines if the processor 106 requires additional data for processing (e.g., if the computer program the PDA 102 is executing requires more data) and if so, the process 200 returns to step 203 to request additional data; otherwise, the process 200 ends in step 211. FIG 3 is a schematic diagram of a second novel system 300 for increasing the battery life of a portable electronic device such as a digital audio and/or video player 302 The second system 300 is similar to the first system 100 and comprises a removable storage device 304 coupled to the digital audio and/or video player 302. The removable storage device 304 may comprise, for example, a hard drive such as an IBM Microdrive, a flash memory device, a tape drive, a CD-ROM drive, a DVD drive or any other convencional storage device. The digital audio and/or video player 302 includes a processor 306 coupled to a cache memory 308, and computer program code 310 for controlling the operation of the processor 306. The processor 306 may comprise, for example, any conventional microprocessor. Unlike the PDA 102 which preferably employs a portion of internal RAM for use as a cache memory, the cache memory 308 preferably is an additional memory device such as a RAM separate from the digital audio and/or video player 302 's internal RAM (not shown) , a first-in first-out buffer, a static memory, a dynamic memory, etc. The cache memory 308 should consume less power when powered on than the removable storage device 304 consumes when powered on. The computer program code 310 includes program code that initiates a plurality of events within the digital audio and/or video player 302 or the removable storage device 304. Events initiated by the computer program code 310 preferably include: 1. a transfer of data at a first rate from the removable storage device 304 to the cache memory 308; 2. a transfer of data at a second rate which is lower than the first rate from the cache memory 308 to the processor 306; and 3. powering down the removable storage device 304 following the transfer of data from the removable storage device 304 to the cache memory 308. FIG. 4 is a flow chart of a preferred process 400 for the second system 300 of FIG. 3 that significantly increases the battery life of the digital audio and/or video player 302 when the digital audio and/or video player 302 plays digital audio and/or video. With reference to FIG. 4, the process 400 begins with step 401 when the digital audio and/or video player 302 runs the computer program code 310. In step 402, the processor 306 requests an amount of data that is required by the digital audio and/or video player 302 to play streaming digital audio and/or video. In step 403, the computer program code 310 determines if the amount of unread data within the cache memory 308 has fallen below a predetermined threshold (e.g., whether there is enough unread data within the cache memory 308 to continue data streaming) . A preferred predetermined threshold is about 10% unread data within the cache memory 308, or about five seconds before the cache memory 308 runs out of unread data (e.g., sufficient time for an IBM Microdrive to power on and transfer data to the cache memory 308) . If the amount of unread data within the cache memory 308 is below the predetermined threshold, the process 400 proceeds with steps 404-406; otherwise the process 400 proceeds with step 407. In step 405, the computer program code 310 powers on the removable storage device 304. Thereafter the computer program code 310 initiates the transfer of enough data from the removable storage device 304 to fill the cache memory 308 (step 405) and powers down the removable storage device 304 (step 406) . Preferably all data transferred from the removable storage device 304 is transferred at the maximum transfer rate of the removable storage device 304 to minimise the time the removable storage device 304 is powered on. In step 407, the computer program code 310 initiates the transfer of the requested data from the cache memory 308 to the processor 306 at a rate required by the processor 306 to play digital audio and/or video. The data transfer rate from the cache memory 308 to the processor 306 preferably is significantly lower than the data transfer rate from the removable storage device 304 to the cache memory 308. In this manner, the time the removable storage device 304 is powered on is reduced, and the battery life of the digital audio and/or video player 302 is increased. In step 408, the processor 306 processes the data transferred thereto from the cache memory 308. In step 409, the computer program code 310 determines if the processor 306 requires additional data for processing (e.g., if the digital audio and/or video player 302 is still playing digital audio or video), and if so, the process 400 returns to step 402 to request additional data; otherwise, the process 400 ends in step 410. FIG 5 is a schematic diagram of a third novel system 500 for increasing the battery life of a portable electronic device 502 (e.g., a PDA, a digital audio and/or video player, etc.) . The third system 500 is similar to the first system 100 and the second system 300. However, unlike the first system 100 and the second system 300, the third system 500 employs a read ahead cache within a removable storage device rather than within a portable electronic device. With reference to FIG. 5, the third system 500 comprises a removable storage device 504 coupled to the portable electronic device 502. The removable storage device 504 includes a conventional data storage medium 506 such as a hard drive, a flash memory device, a tape drive, a CD-ROM drive, a DVD drive or any other conventional storage device. Additionally, the removable storage device 504 includes a processor 508 coupled to the data storage medium 506 and to a cache memory 510, and computer program code 512 for controlling the operation of the processor 508. The processor 508 may comprise, for example, any conventional microprocessor. The cache memory 510 preferably is a low power memory device such as an internal RAM, a first-m first-out buffer, a static memory, a dynamic memory, etc. The cache memory 510 should consume less power when powered on than the data storage medium 506 consumes when powered on The portable electronic device 502 includes its own processor 514. The third system 500 operates similar to the process 200 or the process 400 previously described, with the exceptions that step 202 is not required and only the data storage medium 506 of the removable storage device 504 is powered on and powered down in steps 205/404 and 207/406, respectively Further, the processor referred to m steps 208-210 or m steps 407-409 is the processor 514 of the portable electronic device 502, not the removable storage device 504 's processor 508. The foregoing description discloses only the preferred embodiments of the invention, modifications of the above disclosed apparatus and method which fall within the scope of the invention will be readily apparent to those of ordinary skill m the art. For instance, the particular portable electronic devices, removable storage devices and cache memories described herein are merely exemplary, and any other devices /memories may be similarly employed. Further, each of the computer program code 110, the computer program code 310 and the computer program code 510 may comprise a computer program product. Accordingly, while the present invention has been disclosed m connection with the preferred embodiments thereof, it should be understood that other embodiments may fall within the scope of the invention, as defined by the following claims.

Claims: CLAIMS 1. A method of transferring data between a first device and a second device comprising: providing a first device for storing data and for transferring data, the first device being capable of transferring data at a first rate; providing a second device, the second device requiring data at a second rate which is lower than the first rate; transferring data at the first rate from the first device to an intermediate storage location; and transferring data at the second rate from the intermediate storage location to the second device. 2. A computer program product having a medium readable by a computer, the computer readable medium incorporating: means for initiating a transfer of data at a first rate between a first device and an intermediate storage location; and means for initiating a transfer of data at a second rate between the intermediate storage location and a processor, wherein the second rate is lower than the first rate. 3. A system comprising: a first device adapted to store data and to transfer data, the first device being capable of transferring data at a first rate; an intermediate storage location coupled to the first device,- a second device coupled to the first device and to the intermediate storage location, the second device having a processor, the processor being adapted to execute a computer program that requires data to be transferred to the processor at a second rate which is lower than the first rate; and computer program code adapted to initiate a transfer of data at the first rate from the first device to the intermediate storage location and to initiate a transfer of data at the second rate from the intermediate storage location to the processor. 4. A device comprising: an intermediate storage location adapted to couple to a storage device that is capable of transferring data at a first rate; a processor coupled to the intermediate storage location and adapted to couple to the storage device, the processor being adapted to execute a computer program that requires data to be transferred to the processor at a second rate which is lower than the first rate; and computer program code adapted to initiate a transfer of data at the first rate from the storage device to the intermediate storage location and to initiate a transfer of data at the second rate from the intermediate storage location to the processor. 5. A method, computer product, system, or device according to one of the preceding claims wherein said first device or said storage device consumes more power when powered on than the intermediate storage location consumes when powered on. 6. A method, computer product, system, or device according to one of the preceding claims further comprising computer program code adapted to power down said first device or said storage device following the transfer of data from the first device or the storage device to the intermediate storage location. 7. A system according to claim 3 or claim 5 or 6 appended to claim 3, wherein the intermediate storage location and the computer program code are within the second device. 8. A system comprising: a removable storage device adapted to store data and to transfer data, the removable storage device being capable of transferring data at a first rate; a portable electronic device coupled to the removable storage device, the portable electronic device including a processor that, in operation, requires data to be transferred thereto at a second rate which is lower than the first rate; a cache memory to receive data from the removable storage device and to transfer data to the processor; and means adapted to : initiate a transfer of data at the first rate from the removable storage device to the cache memory; initiate a transfer of data at the second rate from the cache memory to the processor; and power down the removable storage device following the transfer of data from the removable storage device to the cache memory. 9. A method of saving consumption of power in a system which comprises a portable electronic device and a removable storage device for data required by the portable electronic device, wherein the storage device is capable of transferring data at a first rate higher than a second rate that is required for data input to the portable electronic device, the method including the steps of: providing an intermediate storage device that consumes less power when powered on than does the removable storage device; transferring data at said first rate from the removable storage device to the intermediate storage device ; transferring data at said second rate from the intermediate storage device to the portable electronic device; and powering down the removable storage device following the transfer of data therefrom to the intermediate storage device.

Inventors: MORCOM DANIEL JOSEPH, MORCOM, DANIEL, JOSEPH
Applicants: IBM, IBM UK, IBM UNITED KINGDOM LIMITED, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 2001
Main classification: G06F5
IPC codes: G06F3, G06F5, G06F12, G06F13