Techniques to Avoid the White Screen of Death in Smartphones
An emerging trend in the mobile handset 3G space has been the adoption and expansion of user friendly applications, nowadays called ‘Apps’. These ‘Apps’ are custom software program applications that are written for a very specific function within a handset. The trend of custom applications has grown so quickly, so that online ‘apps stores’ now exist where a user can select and purchase a desired application within a number of different categories. While often an application is developed and tested thoroughly on one application platform, this very same application may not perform optimally on other hardware/chipset platforms or in conjunction with other service providers. This phenomenon can result in the user experience, known commonly as the ‘White screen of Death’. This paper describes this challenge, how it can manifest itself, and possible solutions to recover normal handset operation.
Market Trends of Today’s Smartphone
Today’s smart phone has truly evolved from a mere communication device, to a multi-media device, that can play audio, video, gaming , send text messages, make a phone call, combined with full web accesses that allows the user to make bank transactions and even buy and sell on EBAY. This revolution is well under way and the adoption rate of the masses is occurring at an increasing rate. This trend is occurring as more people worldwide, expand and adopt applications to the mobile device that can be entirely specific to the user. These custom applications can be regional, culture, age and even gender specific. The expansion of these applications has resulted in the mobile device becoming an increasingly integral part of one’s daily activities, and one which is increasingly relied upon. It is common now to see mobile device users checking EMAIL, stock prices while in line at the grocery store, to get up to the minute information that can be both personal and business related. In the end, these applications have allowed greater time utilization and allocation.
Components of a Mobile System
Today’s mobile device market is comprised of a number of vendors from within three primary vertically integrated segments that comprise a mobile device. These segments are the Service Providers, the Handset Manufacturer’s and the key Chipset Vendors.
The highest levels are the service providers. The service providers allow the connectivity from the mobile device to the local towers, and then into the network. The service providers contract directly with the mobile device user, with a variety of plans and contracts available. Within the service providers, there are various base technologies, such as GSM and CDMA with expansions of each both available and in development. Vast technological differences exist between these technologies, and the interoperability is achieved at the network level through many years worth of software development and evolution. There are dozens of service providers worldwide.
At the mid-level are the handset suppliers. The handset suppliers design and manufacture handheld devices that are customized for the service providers. As an example, a GSM handset operates at very different frequencies and modulation schemes than CDMA handsets. This means that antennas, base chipsets are different as is the software supporting the chipsets. Frequently, handset manufacturers will have several tiers of devices. The high end Smartphone, rich in multi-media functions all switched through the USB port, with voice command features and even some today used with simple medical diagnostics utilizing multiple microprocessors and high speed USB interconnectivity. A mid grade Smartphone can have basic internet connectivity, with texting and basic phone that can be achieved with one system on chip microcontroller. The low end handset, often offers only call functions, with the very basic low cost microprocessor. Again, software is customer centric, and many service providers require custom software for a given service provider brand.
Within the commonly three grades of handsets, are dozens of handset manufacturers in the world, both long term and startup. Many attempt to provide product customized for particular regions, which results in again customized software.
The brains of every handset are the key chipsets. These chipsets come in ranges that typically mimic the handset levels. High end Smartphone’s can have an applications processor, a baseband processor; complex PMICs (Power Management ICs). Sometimes the applications and baseband processor are from the same vendor, other times not. These complex chips work together with memory, WIFI modules, complex USB switching mechanisms, touch screen controllers all controlled with various layers of software. Similar to the handsets, there are dozens of chipset vendors worldwide that customize these chips to the handset providers, and then to the service provider requirements.
A Developing Challenge
As a consumer, as an example, based in Michigan, USA, it should become apparent that a phone purchased at the local store, could have a range of possible service providers, wide range of handset manufacturers combined with various chipset vendors. This particular consumer is a nurse, and wanted to utilize a pedometer application currently available. Yet this same consumer would expect to run the same application on each and every handset platform offered.
Through the description of the major components within a handset, it should become apparent that there is a very wide combination of service providers, handset manufacturers and chipset manufacturers possible to support the same application.
Application Development: Single chipset/hardware/software/network
There are manufacturers where only 1 service provider, 1 handset manufacturer with 1 chipset provider that market a product all in conjunction. In this case, the application validation is likely to be most comprehensive from a user perspective, resulting in the most trouble-free operation.
Application Development: Combinational chipset/hardware/software/network
Because most applications are developed after the hardware platform is available, the application requirements are not necessarily included in as part of the chipset/handset development validation.
In fact, in almost every case, applications are validated after a handset is released to mass production. Manufacturers currently have validation processes to complete before an application can be released. Market pressures are enormous, and the absence of formally recognized application validations standards, can result in a hurried approval. This means that as a consumer, it is possible that the first time an application is utilized under a unique set of hardware (handset and chipset)/software and network circumstances, could be the very first time. This makes the consumer a test case. As with testing, sometimes tests fail.
White Screen of Death
When an application functions on a platform environment for the first time, it is possible that the application freezes the handset operation entirely. Consumers have coined the phrase “Blue screen of death’, from PC’s (Personal Computers) entering states of uncontrolled or frozen operation with the screen turning all blue. This phenomenon has become now known to the handset industry, when running applications and the screen turns white. The ‘White Screen of Death’ is becoming much more prevalent, and has been reported as a substantial reason for mobile devices back to the service providers. What has plagued the PC industry for years has now emerged into the mobile handset space.
Legacy Solutions and Associated Problems in the Mobile Device space
Consumers in the PC world have learned that recovery from the Blue Screen of Death has been a complete system restart. Many times, because the PC is locked up, battery removal is necessary to escape this frozen mode, and initiate a power up from ground zero. In this case, if the suspect mode or function is removed that caused the Blue Screen of Death; a complete restoration of operation can be achieved.
Many mobile devices today, utilized batteries that are non-user serviceable. This is done to achieve small form factors necessary, and also to prevent inferior non OEM batteries installed adding the potential for unreliable operation. Because many mobile device batteries cannot be removed, means that the user cannot reset the device as a result of an application induced fault. The only choice the user has is to let the battery drain to a dead battery state. This can take days or weeks. Alternatively, the locked up device may be returned to the service provider as broken, with a request for replacement.
Techniques to Restore Normal Mobile Device Operation
A separate RESET (Battery Disconnect) switch
A separate high power RESET switch that is normally closed may be installed into the mobile device to directly disconnect the battery from all circuitry, upon user activation. This may be an effective solution, but is generally not chosen because of the resistance drops from the additional switch and cost due to high current wiring involved. There are also safety issues that must be addressed by having the potential for high current at additional locations within the mobile device.
Designated key for Software Reset
It is possible to implement a software reset to the baseband processor. This can be an effective way to restart a baseband processor. However, should the baseband system processor cease operation from a rogue application in a way that is not recognized by additional devices within the mobile device, such as an applications processor, it could be possible to resume normal operation of the baseband processor yet the application processor can remain in an unrecognized state to the baseband. In this case, system operation may resume, but in an unpredictable state, with then secondary system crashes occurring. An additional issue, with a custom defined designated key for software reset is that the user is unlikely to carry the user’s manual with them at all times, that identifies the procedure to reset software.
PMIC (Power Management IC) Control
The Power Management IC can be a good choice to initiate a system reset. PMICs have evolved over time to become much more complex, and themselves include digital control algorithms and power up sequence. These control algorithms efficiently control power to numerous loads within the handset depending on the application and mode of operation. The primary function of these devices is to allow increased functionality while achieving extended battery life. Thus, the PMIC has become integrated into mobile device systems operation with feedback through busses and interrupts. Because the PMIC has become so complex and dependent upon interaction with the baseband applications processors, it is possible that a corrupt state baseband processor can lock up a PMIC, such that the user no longer has control.
Autonomous System Control
A technique borrowed from high reliability market systems, like medical and aircraft, is autonomous system control is making its way into the mobile device space. In this type architecture, a semiconductor device (called a reset chip) may utilized to control or reset PMIC’s and power devices that is independent of the devices that they control. There is normally no feedback mechanism to this chip, thus corrupt states from microcontroller chips cannot affect it. The reset chip can be user activated, in a very simple manner which. in effect mimics the removal of the mobile device battery.
In this case, power is removed from system control chips such as baseband and applications processors, PMIC’s and other control chips and a subsequent normal power up into predictable manner can occur. It is important that this type of system reset is designed in such a manner so that inadvertent activation does not occur. Typical activation implementations of this functionality are hidden keys, a designated extended time press key, or depression of certain designated keys simultaneously.
Mobile handsets will continue to become more complex as the expansion of mobile device applications. Because this expansion is happing so quickly, and because the ‘Apps’ development is subsequent to chipset, mobile device and service provider development, means that ‘Apps’ validation can be performed on a given platform set or sets. The matrix of chipset vendors, mobile device vendors, and service providers is enormous, and there will be always the case of a platform which a given application has not been validated. This adds business risk to the components within a mobile system, but also to the user. The development of a risk free ‘Reset’ mechanism is required in the mobile devices, in order to achieve a reasonable amount of user satisfaction. Without a reliable reset mechanism, the industry can expect increased user frustration, and a financial expense due to an increased number of returned handsets.