US6880048B1 - Method and apparatus for fault-tolerant update of flash ROM contents - Google Patents
Method and apparatus for fault-tolerant update of flash ROM contents Download PDFInfo
- Publication number
- US6880048B1 US6880048B1 US09/590,936 US59093600A US6880048B1 US 6880048 B1 US6880048 B1 US 6880048B1 US 59093600 A US59093600 A US 59093600A US 6880048 B1 US6880048 B1 US 6880048B1
- Authority
- US
- United States
- Prior art keywords
- memory
- computer system
- new information
- recited
- handheld computer
- 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.)
- Expired - Lifetime, expires
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
Definitions
- the present invention relates to the update of memory contents. More specifically, the present invention pertains to a method and apparatus for updating flash read only memory (ROM) contents in a fault-tolerant manner.
- ROM read only memory
- Computer systems and other electronic devices have become integral tools that are used extensively to perform a wide variety of useful operations in modern society.
- Applications of computer systems can be found in virtually all fields and disciplines, including but not limited to business, industry, scientific research, education and entertainment.
- computer systems are used to analyze financial data, to control industrial machinery, to model chemical molecules, to deliver classroom presentations and to generate special effects for movies.
- computer systems along with other electronic devices are finding new applications as a result of advances in hardware technology and rapid development in software technology. The growing affordability of computer systems and electronic devices together with the abundance of useful new applications have fueled strong demand for such systems and devices.
- PDA personal digital assistant
- a PDA is a portable computer system which is small enough to be held conveniently and comfortably in the hand of its user.
- a popular size for the typical PDA approximates the size of a palm.
- PDAs are such small devices, full-sized keyboards are generally not efficient input devices. For instance, PDAs using keyboards usually have keyboard devices that are so small that a user typically cannot touch-type on them. Many PDAs thus employ a stylus and a digitizer pad as an input system. The stylus and digitizer pad work well for PDAs because the arrangement allows a user to hold the PDA in one hand while writing with the stylus onto the digitizer pad with the other hand. A small on-screen keyboard image can also be used for data entry. By eliminating the need for a keyboard, PDAs are very portable and can be carried along by their users wherever they go, even when on extended travel.
- the PDA is usually a battery-powered device that is typically used as an electronic organizer having the capability to store and display a wide range of information which can include numerous addresses and telephone numbers of business and personal acquaintances, financial information, daily appointments, along with various other personal information.
- the PDA is able to consolidate a wide variety of information and make the information easily accessible by its user. Therefore, PDAs are very useful and have gained wide popularity.
- a method and apparatus for updating flash ROM contents must not require complete revamping of existing computer systems.
- a viable method and apparatus for updating flash ROM components that are well known in the art and are compatible with existing computer systems need to be used so that the cost of realizing the method and apparatus for updating flash ROM contents is low. By so doing, the need to incur costly expenditures for retrofitting existing computer systems or for building custom components is eliminated.
- the present invention provides a method and apparatus for an interruptable fault-tolerant update of flash ROM contents wherein the flash ROM does not become corrupted inadvertently.
- embodiments of the present invention provide greatly enhanced user experience over existing implementations of flash ROM update mechanisms.
- embodiments of the present invention can be efficiently implemented using components that are well known in the art and are compatible with existing computer systems.
- the present invention delivers a method and apparatus that is widely compatible with other systems and applications and does not require extensive retrofitting.
- a method for updating the contents of a first memory of a computer system is provided.
- new information intended for the first memory is received by the computer system from an external source, wherein the first memory is for storing information that is required during startup of the computer system.
- the new information thus received is stored in a second memory of the computer system, where the second memory is capable of retaining information stored therein upon a restart of the computer system.
- the method of this embodiment further includes restarting the computer system without relying on the new information.
- the new ROM image can be pre-flighted before it is flashed into ROM.
- the new information stored in the second memory is verified to ensure that it is safe to load the new information into the first memory.
- the new information is loaded from the second memory into the first memory such that the new information can be used for a subsequent startup of the computer system.
- the present invention includes the above and wherein the first memory comprises a flash ROM.
- the present invention includes the above and wherein the computer system is a PDA.
- the present invention includes the above and wherein the new information is received by the computer system via wireless communication.
- Embodiments of the present invention include the above and wherein the new information comprises boot ROM code. Furthermore, embodiments of the present invention include the above and wherein the new information comprises operating system code.
- FIG. 1 is a system illustration of an exemplary personal digital assistant computer system connected to other computer systems and the Internet via a cradle device.
- FIG. 2A is a top side perspective view of an exemplary personal digital assistant computer system.
- FIG. 2B is a bottom side perspective view of the personal digital assistant computer system of FIG. 2 A.
- FIG. 3 is an exploded view of the components of the exemplary personal digital assistant computer system of FIG. 2 A.
- FIG. 4 is a perspective view of the cradle device for connecting the personal digital assistant computer system to other systems via a communication interface.
- FIG. 5 is a logical block diagram of circuitry located within the exemplary personal digital assistant computer system of FIG. 2 A.
- FIG. 6 is a flow diagram illustrating steps for updating the contents of a first memory of a computer system in accordance with one embodiment of the present invention.
- FIG. 7 is a flow diagram illustrating steps for updating the contents of a first memory of a computer system in accordance with another embodiment of the present invention.
- FIG. 8A is a block diagram illustrating the logical arrangement of error-checking program code and new ROM contents in accordance with one embodiment of the present invention.
- FIG. 8B is a block diagram illustrating the logical arrangement of boot ROM code and OS code in a flash ROM in accordance with one embodiment of the present invention.
- steps executed on a computer system are implemented as program code stored in computer readable memory units of a computer system and are executed by the processor of the computer system.
- steps 600 and 700 are implemented as program code stored in computer readable memory units of a computer system and are executed by the processor of the computer system.
- FIG. 5 an exemplary personal digital assistant computer system is shown in FIG. 5 further below.
- System 50 comprises a host computer system 56 which can either be a desktop unit as shown, or, alternatively, can be a laptop computer system 58 .
- host computer systems can be used within system 50 .
- Host computer systems 58 and 56 are shown connected to a communication bus 54 , which in one embodiment can be a serial communication bus, but could be of any of a number of well known designs, e.g., a parallel bus, Ethernet, Local Area Network (LAN), etc.
- bus 54 can provide communication with the Internet 52 using a number of well known protocols.
- bus 54 is also coupled to a cradle 60 for receiving and initiating communication with a personal digital assistant computer system 100 .
- Cradle 60 provides an electrical and mechanical communication interface between bus 54 (and anything coupled to bus 54 ) and computer system 100 for two way communications.
- Computer system 100 also contains a wireless infrared communication mechanism 64 for sending and receiving information from other devices.
- Top face 110 a contains a display screen 105 surrounded by a bezel or cover.
- a removable stylus 80 is also shown.
- Display screen 105 is a touch screen capable of registering contact between the screen and the tip of stylus 80 .
- Stylus 80 can be fabricated of any material which can make contact with screen 105 .
- Top face 100 a also contains one or more dedicated and/or programmable buttons 75 for selecting information and causing computer system 100 to implement functions.
- An on/off button 95 is also shown.
- a handwriting recognition pad or “digitizer” containing regions 106 a and 106 b is also shown.
- region 106 a is for the drawing of alpha characters therein for automatic recognition
- region 106 b is for the drawing of numeric characters therein for automatic recognition.
- Stylus 80 is used for stroking a character within one of the regions 106 a and 106 b .
- the stroke information is then fed to an internal processor for automatic character recognition. Once characters are recognized, they are typically displayed on screen 105 for verification and/or modification.
- FIG. 2B illustrates the bottom side 100 b of one embodiment of personal digital assistant computer system 100 .
- An optional extendible antenna 85 is shown, and a battery storage compartment door 90 is shown as well.
- a communication interface 108 is also shown.
- the serial communication interface 108 is a serial communication port, but it could also alternatively be of any of a number of well known communication standards and protocols, e.g., parallel, small computer system interface (SCSI), Ethemet, Firewire (IEEE 1394), etc.
- System 100 contains a front cover 210 having an outline of region 106 and holes 75 a for receiving buttons 75 b .
- a flat panel display 105 (both liquid crystal display and touch screen) fits into front cover 210 . Any of a number of display technologies can be used, e.g., liquid crystal display (LCD), field emission device (FED), plasma, etc., for the flat panel display 105 .
- a battery 215 provides electrical power.
- a contrast adjustment (potentiometer) 220 is also shown.
- On/off button 95 is shown along with an infrared emitter and detector device 64 .
- a flex circuit 230 is shown along with a PC board 225 containing electronics and logic (e.g., memory, communication bus, processor, etc.) for implementing computer system functionality.
- the digitizer pad is also included in PC board 225 .
- a midframe 235 is shown along with stylus 80 .
- Position adjustable antenna 85 is also shown.
- a radio receiver/transmitter device 240 is also shown between the midframe and the rear cover 245 of FIG. 3 .
- Radio receiver/transmitter device 240 is coupled to antenna 85 and also coupled to communicate with PC board 225 .
- the Mobitex wireless communication system is used to provide two way communication between system 100 and other networked computers and/or the Internet via a proxy server.
- FIG. 4 is a perspective illustration of one embodiment of the cradle 60 for receiving the personal digital assistant computer system 100 .
- Cradle 60 contains a mechanical and electrical interface 260 for interfacing with serial connection 108 ( FIG. 2B ) of computer system 100 when system 100 is slid into the cradle 60 in an upright position. Once inserted, button 270 can be pressed to initiate two way communication between system 100 and other computer systems coupled to serial communication bus 54 .
- Computer system 100 includes an address/data bus 99 for communicating information, a central processor 101 coupled with bus 99 for processing information and instructions, a volatile memory unit 102 (e.g., random access memory, static RAM, dynamic RAM, etc.) coupled with bus 99 for storing information and instructions for central processor 101 and a non-volatile memory unit 103 (e.g., read only memory, programmable ROM, flash memory, EPROM, EEPROM, etc.) coupled with bus 99 for storing static information and instructions for processor 101 .
- volatile memory unit 102 e.g., random access memory, static RAM, dynamic RAM, etc.
- non-volatile memory unit 103 e.g., read only memory, programmable ROM, flash memory, EPROM, EEPROM, etc.
- computer system 100 also contains a display device 105 coupled to bus 99 for displaying information to the computer user.
- PC board 225 can contain processor 101 , bus 99 , volatile memory unit 102 , and non-volatile memory unit 103 . As described further below, portions of memory units 102 and 103 can be removed from computer system 100 .
- computer system 100 can also include an optional data storage device 104 (e.g., memory stick) for storing information and instructions. In one embodiment, optional data storage device 104 is removable from computer system 100 .
- an optional alphanumeric input device 106 which, in one implementation, is a handwriting recognition pad (“digitizer”) having regions 106 a and 106 b (FIG. 2 A), for instance.
- Device 106 can communicate information and command selections to central processor 101 .
- Computer system 100 also includes an optional cursor control or directing device 107 coupled to bus 99 for communicating user input information and command selections to central processor 101 .
- device 107 is a touch screen device incorporated with screen 105 . In this implementation, device 107 is capable of registering a position on screen 105 where a stylus makes contact.
- Display device 105 utilized with computer system 100 may be a liquid crystal device (LCD), cathode ray tube (CRT), field emission device (FED, also called flat panel CRT) or other display device suitable for creating graphic images and alphanumeric characters recognizable to the user.
- display 105 is a flat panel display.
- Computer system 100 also includes signal communication interface 108 , which is also coupled to bus 99 , and can be a serial port for communicating with cradle 60 .
- Device 108 can also include an infrared communication port.
- computer system 100 described herein illustrates an exemplary configuration of an operational platform upon which embodiments of the present invention can be implemented. Nevertheless, other computer systems with differing configurations can also be used in place of computer system 100 within the scope of the present invention.
- step 610 new information intended for the first memory is received by the computer system from an external source, wherein the first memory is for storing information that is required during startup of the computer system.
- the first memory comprises a flash ROM.
- the computer system is a PDA.
- the external source is also a PDA.
- the new information is received by the computer system via wireless communication (e.g., infrared beaming). It is appreciated that various forms of data communication, wired or wireless-based, can also be used within the scope of the present invention.
- the new information which is intended for the first memory but is stored in the second memory meanwhile, comprises boot ROM code.
- the new information comprises operating system (OS) code (e.g., PalmTM OS code).
- OS operating system
- the new information e.g., ROM code, new OS code
- the startup process is not dependent upon this untested new information.
- the system will not be rendered inoperable because the existing and functional code is unaltered in the first memory.
- this embodiment of the present invention advantageously eliminates the irreversible uninterruptable and error-prone aspects of prior implementations of flash ROM updates.
- the first memory e.g., flash ROM
- the new information e.g., new ROM code
- the first memory has existing contents, except that the first memory will simply be populated rather than having its contents replaced if and when the new information is eventually loaded into the first memory, as will be described in detail with reference to the other steps of the instant process 600 further below.
- the new information is stored in a second memory of the computer system, where the second memory is capable of retaining information stored therein upon a restart of the computer system.
- the second memory comprises a random-access memory (RAM).
- program code for error-checking is “wrapped around,” or appended to, the new information and stored into the memory.
- the new ROM contents 810 with the program code 820 appended thereto resembles a regular Palm application (e.g., in the form of a .prc file written for the PalmTM OS).
- the first memory (e.g., flash ROM) of the system typically comprises two images, namely, boot ROM 880 and OS code 890 . It is appreciated that embodiments of the present invention can be applied to implement fault-tolerant update of boot ROM code 880 , or OS code 890 , or both, provided that proper modifications are made to new information 810 and program code 820 accordingly.
- step 625 existing information in the first memory is copied to the second memory such that the existing information can be restored into the first memory should the first memory become corrupted.
- this embodiment advantageously provides an “undo” capability for the flash ROM update process.
- step 630 the computer system is restarted without relying on the new information.
- the new information remains in the second memory and not stored in the first memory.
- the new information is not used or otherwise relied upon by the computer system.
- step 625 should the first memory become corrupted for an unanticipated reason, the first memory can be restored to its uncorrupted state by using the image stored in the second memory by step 625 .
- step 640 the new information stored in the second memory is verified to ensure that it is safe to load the new information into the first memory.
- the verification as described in step 640 includes checking the version or the date stamp of the new information that is stored in the second memory to ensure that the new information is suitable for the computer system. For instance, the date stamp of the new information is compared against that of the existing information in the first memory to ensure that the new information is indeed newer or more up-to-date than the existing information residing in the first memory. In another embodiment, the version of the new information is verified against hardware specifications of the computer system to ensure that the new information is indeed compatible with the computer system.
- a checksum test is performed on the new information as it is stored in the second memory to ensure that the new information is free from corruption.
- the power level of the computer system is examined to ensure that the loading of the new information from the second memory to the first memory, if performed as described below in step 650 , can be completed without being interrupted by a power failure.
- step 650 when a positive verification result is obtained in step 640 , the new information is loaded from the second memory into the first memory such that the new information can be used for a subsequent startup of the computer system.
- a method for updating the flash ROM contents in accordance with embodiments of the present invention is thus described.
- step 710 new information intended for the first memory is received by the computer system from an external source, wherein the first memory is for storing information that is required during startup of the computer system.
- the first memory comprises a flash ROM.
- the computer system is a PDA.
- the external source is also a PDA.
- the new information is received by the computer system via wireless communication (e.g., infrared beaming). It is appreciated that various forms of data communication, wired or wireless-based, can also be used within the scope of the present invention.
- the new information which is intended for the first memory but is stored in the second memory meanwhile, comprises boot ROM code.
- the new information comprises operating system (OS) code (e.g., PalmTM OS code).
- OS operating system
- the new information e.g., new ROM code, new OS code
- the first memory e.g., flash ROM
- the new information is not loaded into the first memory (e.g., flash ROM)
- the contents of the first memory remains intact.
- the new information turns out to be corrupted, incorrect, or otherwise incompatible with the computer system, the system will not be rendered inoperable because the existing and functional code is unaltered in the first memory.
- this embodiment of the present invention advantageously eliminates the irreversible and error-prone aspects of prior implementations of flash ROM updates.
- the new information is stored in a second memory of the computer system, where the second memory is capable of retaining information stored therein upon a restart of the computer system.
- the second memory comprises a random-access memory (RAM).
- step 730 the computer system is restarted using the new information in the second memory instead of existing information in the first memory to test the new information.
- the new information remains in the second memory and not stored in the first memory.
- step 740 when a positive test result is obtained in step 730 , the new information is loaded from the second memory the first memory such that the new information can be used for a subsequent startup of the computer system.
- step 750 when a negative test result is obtained in step 730 , the computer system is restarted using the existing information in the first memory. In this case, the new information is not loaded from the second memory into the first memory. By so doing, corruption of the first memory is advantageously avoided.
- this embodiment of the present invention provides a mechanism for performing riskless “test runs” of the new information (e.g., new ROM code, new OS code) without the danger of irreversibly corrupting the first memory (e.g., flash ROM). A method for updating the flash ROM contents in accordance with embodiments of the present invention is thus described.
- embodiments of the present invention as described above enable any user or developer who needs to update the flash ROM contents of a computer system to accomplish the task conveniently and in a fault-tolerant manner.
- the user does not have to get directly involved with the underlying aspects of the present invention. More specifically, the user just needs to enable the receipt of the new information (e.g., boot ROM code, OS code) by the computer system (e.g., by beaming the new information from a source PDA to the PDA that needs the update via an infrared port) and the process proceeds automatically in accordance with the present invention without any further user intervention.
- the present invention provides a mechanism which facilitates the fault-tolerant update of flash ROM contents which is superior to prior implementations for the same.
- embodiments of the present invention utilize components that are already parts of the computer system and that are well known in the art, such as flash ROM and RAM, embodiments of the present invention can be efficiently implemented and afford advantageous compatibility with other systems and applications, thereby greatly enhancing the user experience while minimizing the cost to the user.
- the present invention can be advantageously applied to the flash ROM update of numerous other devices, such as digital cameras and media players, among others. Therefore, the present invention enables numerous possibilities in modem society where a wide range of systems and appliances include flash memory of one kind or another whose contents require occasional or periodic updates. It should be clear to a person of ordinary skill in the art, having read the description of embodiments of the present invention herein, that other applications and embodiments not expressly described herein are also possible without departing from the scope and spirit of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Claims (26)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/590,936 US6880048B1 (en) | 2000-06-08 | 2000-06-08 | Method and apparatus for fault-tolerant update of flash ROM contents |
US10/786,969 US6918017B1 (en) | 2000-06-08 | 2004-02-24 | Method and apparatus for fault-tolerant update of flash ROM contents |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/590,936 US6880048B1 (en) | 2000-06-08 | 2000-06-08 | Method and apparatus for fault-tolerant update of flash ROM contents |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/786,969 Continuation US6918017B1 (en) | 2000-06-08 | 2004-02-24 | Method and apparatus for fault-tolerant update of flash ROM contents |
Publications (1)
Publication Number | Publication Date |
---|---|
US6880048B1 true US6880048B1 (en) | 2005-04-12 |
Family
ID=34421862
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/590,936 Expired - Lifetime US6880048B1 (en) | 2000-06-08 | 2000-06-08 | Method and apparatus for fault-tolerant update of flash ROM contents |
US10/786,969 Expired - Lifetime US6918017B1 (en) | 2000-06-08 | 2004-02-24 | Method and apparatus for fault-tolerant update of flash ROM contents |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/786,969 Expired - Lifetime US6918017B1 (en) | 2000-06-08 | 2004-02-24 | Method and apparatus for fault-tolerant update of flash ROM contents |
Country Status (1)
Country | Link |
---|---|
US (2) | US6880048B1 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010047272A1 (en) * | 2000-02-29 | 2001-11-29 | Frietas Nathanial X. | Flexible wireless advertisement integration in wireless software applications |
US20040207405A1 (en) * | 2002-08-24 | 2004-10-21 | Yang Seung Hun | Method for restoring battery data in portable appliance |
US20050068897A1 (en) * | 2003-09-26 | 2005-03-31 | Renesas Technology Corp. | Packet communication apparatus |
US20070178899A1 (en) * | 2000-12-07 | 2007-08-02 | Palm, Inc. | Mobile device capable of registering with multiple servers |
US20070203844A1 (en) * | 2001-05-08 | 2007-08-30 | Palm, Inc. | Activation key for a wireless-enabled device |
US20080184072A1 (en) * | 2007-01-31 | 2008-07-31 | Odlivak Andrew J | Firmware ROM Patch Method |
US20090076906A1 (en) * | 2007-09-14 | 2009-03-19 | Palm, Inc. | System and method for providing advertisement data to a mobile computing device |
US20090197619A1 (en) * | 2001-01-05 | 2009-08-06 | Palm, Inc. | System and method for providing advertisement data to a mobile computing device |
US20100022240A1 (en) * | 2001-01-05 | 2010-01-28 | Palm, Inc. | Requesting a user account for services |
US20100130179A1 (en) * | 2008-11-26 | 2010-05-27 | Palm, Inc. | System and method for providing advertisement data or other content |
US20110171976A1 (en) * | 2001-01-05 | 2011-07-14 | Palm, Inc. | Identifying client patterns using online location-based derivative analysis |
US20120124417A1 (en) * | 2010-11-11 | 2012-05-17 | Samsung Electronics Co., Ltd. | Display apparatus and method for updating micom code thereof |
US20130103937A1 (en) * | 2002-03-22 | 2013-04-25 | Kabushiki Kaisha Toshiba | Information device, storage medium and initial state restoration method |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100778293B1 (en) * | 2005-10-10 | 2007-11-22 | 삼성전자주식회사 | How to Upgrade the Digital Broadcast Processor and Boot Loader |
US8001385B2 (en) * | 2006-06-21 | 2011-08-16 | Intel Corporation | Method and apparatus for flash updates with secure flash |
US20080046710A1 (en) * | 2006-08-17 | 2008-02-21 | Steven Maddocks | Switching firmware images in storage systems |
US8400822B2 (en) * | 2010-03-22 | 2013-03-19 | Qualcomm Incorporated | Multi-port non-volatile memory that includes a resistive memory element |
US20120110562A1 (en) * | 2010-10-27 | 2012-05-03 | David Heinrich | Synchronized firmware update |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5022077A (en) * | 1989-08-25 | 1991-06-04 | International Business Machines Corp. | Apparatus and method for preventing unauthorized access to BIOS in a personal computer system |
US5692190A (en) * | 1994-03-31 | 1997-11-25 | International Business Machines Corporation | Bios emulation of a hard file image as a diskette |
US5793630A (en) * | 1996-06-14 | 1998-08-11 | Xerox Corporation | High precision spatially defined data transfer system |
US5949997A (en) * | 1997-01-03 | 1999-09-07 | Ncr Corporation | Method and apparatus for programming a microprocessor using an address decode circuit |
US5960445A (en) * | 1996-04-24 | 1999-09-28 | Sony Corporation | Information processor, method of updating a program and information processing system |
US5987605A (en) * | 1998-02-28 | 1999-11-16 | Hewlett-Packard Co. | Methods and apparatus for dual-boot memory selection, update, and recovery in a programmable device |
US6044461A (en) * | 1997-09-16 | 2000-03-28 | International Business Machines Corporation | Computer system and method of selectively rebooting the same in response to a system program code update |
US6138233A (en) * | 1997-09-23 | 2000-10-24 | Samsung Electronics Co., Ltd. | Method of updating a BIOS ROM |
US6421777B1 (en) * | 1999-04-26 | 2002-07-16 | International Business Machines Corporation | Method and apparatus for managing boot images in a distributed data processing system |
US6542981B1 (en) * | 1999-12-28 | 2003-04-01 | Intel Corporation | Microcode upgrade and special function support by executing RISC instruction to invoke resident microcode |
US20030074549A1 (en) * | 2001-10-11 | 2003-04-17 | International Business Machines Corporation | Method and system for implementing a diagnostic or correciton boot image over a network connection |
-
2000
- 2000-06-08 US US09/590,936 patent/US6880048B1/en not_active Expired - Lifetime
-
2004
- 2004-02-24 US US10/786,969 patent/US6918017B1/en not_active Expired - Lifetime
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5022077A (en) * | 1989-08-25 | 1991-06-04 | International Business Machines Corp. | Apparatus and method for preventing unauthorized access to BIOS in a personal computer system |
US5692190A (en) * | 1994-03-31 | 1997-11-25 | International Business Machines Corporation | Bios emulation of a hard file image as a diskette |
US5960445A (en) * | 1996-04-24 | 1999-09-28 | Sony Corporation | Information processor, method of updating a program and information processing system |
US5793630A (en) * | 1996-06-14 | 1998-08-11 | Xerox Corporation | High precision spatially defined data transfer system |
US5949997A (en) * | 1997-01-03 | 1999-09-07 | Ncr Corporation | Method and apparatus for programming a microprocessor using an address decode circuit |
US6044461A (en) * | 1997-09-16 | 2000-03-28 | International Business Machines Corporation | Computer system and method of selectively rebooting the same in response to a system program code update |
US6138233A (en) * | 1997-09-23 | 2000-10-24 | Samsung Electronics Co., Ltd. | Method of updating a BIOS ROM |
US5987605A (en) * | 1998-02-28 | 1999-11-16 | Hewlett-Packard Co. | Methods and apparatus for dual-boot memory selection, update, and recovery in a programmable device |
US6421777B1 (en) * | 1999-04-26 | 2002-07-16 | International Business Machines Corporation | Method and apparatus for managing boot images in a distributed data processing system |
US6542981B1 (en) * | 1999-12-28 | 2003-04-01 | Intel Corporation | Microcode upgrade and special function support by executing RISC instruction to invoke resident microcode |
US20030074549A1 (en) * | 2001-10-11 | 2003-04-17 | International Business Machines Corporation | Method and system for implementing a diagnostic or correciton boot image over a network connection |
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010047272A1 (en) * | 2000-02-29 | 2001-11-29 | Frietas Nathanial X. | Flexible wireless advertisement integration in wireless software applications |
US8458286B2 (en) | 2000-02-29 | 2013-06-04 | Hewlett-Packard Development Company, L.P. | Flexible wireless advertisement integration in wireless software applications |
US20100120407A1 (en) * | 2000-12-07 | 2010-05-13 | Palm, Inc. | User registration for wireless service on mobile computing device |
US9332079B2 (en) | 2000-12-07 | 2016-05-03 | Qualcomm Incorporated | Generic activation and registration framework for wireless devices |
US8918100B2 (en) | 2000-12-07 | 2014-12-23 | Qualcomm Incorporated | Providing user interface data on a mobile computing device |
US7894847B2 (en) | 2000-12-07 | 2011-02-22 | Palm, Inc. | Activation of mobile computing device |
US20070178899A1 (en) * | 2000-12-07 | 2007-08-02 | Palm, Inc. | Mobile device capable of registering with multiple servers |
US20080003994A1 (en) * | 2000-12-07 | 2008-01-03 | Palm, Inc. | Generic Activation and Registration Framework for Wireless Devices |
US8744441B2 (en) | 2000-12-07 | 2014-06-03 | Qualcomm Incorporated | Wireless services over different carrier networks |
US20100120428A1 (en) * | 2000-12-07 | 2010-05-13 | Palm, Inc. | Wireless services over different carrier networks |
US20090005039A1 (en) * | 2000-12-07 | 2009-01-01 | Palm, Inc. | Providing user interface data on a mobile computing device |
US8504074B2 (en) | 2001-01-05 | 2013-08-06 | Palm, Inc. | System and method for providing advertisement data to a mobile computing device |
US20090197619A1 (en) * | 2001-01-05 | 2009-08-06 | Palm, Inc. | System and method for providing advertisement data to a mobile computing device |
US20100022240A1 (en) * | 2001-01-05 | 2010-01-28 | Palm, Inc. | Requesting a user account for services |
US8131888B2 (en) | 2001-01-05 | 2012-03-06 | Hewlett-Packard Development Company, L.P. | Activation of mobile computing device on a cellular network |
US7861009B2 (en) | 2001-01-05 | 2010-12-28 | Palm, Inc. | Requesting a user account for services |
US20110171976A1 (en) * | 2001-01-05 | 2011-07-14 | Palm, Inc. | Identifying client patterns using online location-based derivative analysis |
US20110149861A1 (en) * | 2001-01-05 | 2011-06-23 | Palm, Inc. | Activation of mobile computing device on a cellular network |
US8818413B2 (en) | 2001-01-05 | 2014-08-26 | Qualcomm Incorporated | Identifying client patterns using online location-based derivative analysis |
US8812398B2 (en) | 2001-05-08 | 2014-08-19 | Qualcomm Incorporated | Key for a wireless-enabled device |
US20100165938A1 (en) * | 2001-05-08 | 2010-07-01 | Palm, Inc. | Registration of a mobile computing device for a data service on a wireless network |
US20100169217A1 (en) * | 2001-05-08 | 2010-07-01 | Palm, Inc. | Registration of a mobile computing device for a service on a wireless network |
US8036991B2 (en) | 2001-05-08 | 2011-10-11 | Hewlett-Packard Development Company, L.P. | Registration of a mobile computing device for a service on a wireless network |
US9524497B2 (en) | 2001-05-08 | 2016-12-20 | Qualcomm Incorporated | Registration of a mobile computing device for a data service on a wireless network |
US20070203844A1 (en) * | 2001-05-08 | 2007-08-30 | Palm, Inc. | Activation key for a wireless-enabled device |
US9740564B2 (en) | 2002-03-22 | 2017-08-22 | Kabushiki Kaisha Toshiba | Information device storing data for system restoration |
US20130103937A1 (en) * | 2002-03-22 | 2013-04-25 | Kabushiki Kaisha Toshiba | Information device, storage medium and initial state restoration method |
US8862864B2 (en) | 2002-03-22 | 2014-10-14 | Kabushiki Kaisha Toshiba | Information device storing state restoration software |
US8683186B2 (en) * | 2002-03-22 | 2014-03-25 | Kabushiki Kaisha Toshiba | Information device storing state restoration software |
US7061206B2 (en) * | 2002-08-24 | 2006-06-13 | Lg Electronics Inc. | Method for restoring battery data in portable appliance |
US20040207405A1 (en) * | 2002-08-24 | 2004-10-21 | Yang Seung Hun | Method for restoring battery data in portable appliance |
US7428690B2 (en) * | 2003-09-26 | 2008-09-23 | Renesas Technology Corp. | Packet communication apparatus |
US20080177855A1 (en) * | 2003-09-26 | 2008-07-24 | Renesas Technology Corp. | Packet communication apparatus |
US20050068897A1 (en) * | 2003-09-26 | 2005-03-31 | Renesas Technology Corp. | Packet communication apparatus |
US20080184072A1 (en) * | 2007-01-31 | 2008-07-31 | Odlivak Andrew J | Firmware ROM Patch Method |
US9348730B2 (en) | 2007-01-31 | 2016-05-24 | Standard Microsystems Corporation | Firmware ROM patch method |
US9183571B2 (en) | 2007-09-14 | 2015-11-10 | Qualcomm Incorporated | System and method for providing advertisement data to a mobile computing device |
US20090076906A1 (en) * | 2007-09-14 | 2009-03-19 | Palm, Inc. | System and method for providing advertisement data to a mobile computing device |
US9852449B2 (en) | 2007-09-14 | 2017-12-26 | Qualcomm Incorporated | System and method for providing advertisement data to a mobile computing device |
US8688083B2 (en) | 2008-11-26 | 2014-04-01 | Qualcomm Incorporated | System and method for providing advertisement data or other content |
US20100130179A1 (en) * | 2008-11-26 | 2010-05-27 | Palm, Inc. | System and method for providing advertisement data or other content |
US8819480B2 (en) * | 2010-11-11 | 2014-08-26 | Samsung Electronics Co., Ltd. | Display apparatus and method for updating micom code thereof |
KR20120050685A (en) * | 2010-11-11 | 2012-05-21 | 삼성전자주식회사 | Display apparatus and method for updating micom code |
US20120124417A1 (en) * | 2010-11-11 | 2012-05-17 | Samsung Electronics Co., Ltd. | Display apparatus and method for updating micom code thereof |
Also Published As
Publication number | Publication date |
---|---|
US6918017B1 (en) | 2005-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6880048B1 (en) | Method and apparatus for fault-tolerant update of flash ROM contents | |
US7113963B1 (en) | Optimized database technique to enable faster data synchronization | |
US6496979B1 (en) | System and method for managing application installation for a mobile device | |
US7113178B1 (en) | Method and system for on screen text correction via pen interface | |
US7853730B2 (en) | Method and system for automatic peripheral device identification | |
US8001177B2 (en) | Method and apparatus for automated personal information management data transfer for a wireless enabled handheld | |
US6545862B1 (en) | Method and system for an interchangeable modular display screen for a portable computing device | |
US8001288B2 (en) | Method and system for enabling personal digital assistants and protecting stored private data | |
US20110149861A1 (en) | Activation of mobile computing device on a cellular network | |
US8037208B2 (en) | Method and system for device bootstrapping via server synchronization | |
USRE42465E1 (en) | Rule-based, n-way, synchronization of multiple copies of a database | |
WO2002027559A1 (en) | A system for sharing information | |
US6892297B1 (en) | Method and system for searching an updated version of boot code for updating current running boot code prior to loading an operating system | |
JP2005251173A (en) | Method and system for masking dynamic region in user interface to enable testing of user interface consistency | |
US20080162923A1 (en) | Method and system for using email messages to remotely control a computer resource | |
US6959330B1 (en) | Sync-time read only memory image binding for limited resource devices | |
US7714875B2 (en) | Method and apparatus for using a color table scheme for displaying information on either color or monochrome display | |
CN110780908A (en) | Screen display program upgrading method and system and terminal equipment | |
US20020147027A1 (en) | System and method for configuring managed computers using an electronic mobile handheld device | |
US20050125407A1 (en) | System and method for image authentication of a resource-sparing operating system | |
US7007117B2 (en) | Identifying a type of connection and selecting a corresponding form of an application | |
CN113254888B (en) | Method for acquiring hardware information, authorization control system and computing equipment | |
US6810493B1 (en) | Graceful recovery from and avoidance of crashes due to notification of third party applications | |
CN1801087A (en) | Data and application synchronous update system and method | |
CN108228860A (en) | Extra chock wave lithotriptor component mounting method, device and computer storage media |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: PALM, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LEMKE, STEVE;REEL/FRAME:010857/0397 Effective date: 20000606 |
|
AS | Assignment |
Owner name: PALM SOURCE, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALM, INC.;REEL/FRAME:013875/0474 Effective date: 20030212 |
|
AS | Assignment |
Owner name: PALMSOURCE, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALMONE, INC.;REEL/FRAME:014682/0572 Effective date: 20040405 Owner name: PALMSOURCE, INC.,CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PALMONE, INC.;REEL/FRAME:014682/0572 Effective date: 20040405 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: ACCESS SYSTEMS AMERICAS, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:PALMSOURCE, INC.;REEL/FRAME:024892/0374 Effective date: 20061017 |
|
AS | Assignment |
Owner name: ACCESS CO., LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ACCESS SYSTEMS AMERICAS, INC.;REEL/FRAME:025898/0852 Effective date: 20110225 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |