As part of the comprehensive 2015 EMF Survey of Embedded Developers (1,334 respondents), engineers and managers were asked, “Once deployed, how often is your current embedded project likely to be updated in the field?” The survey was filtered on this question, as it was answered by developers that indicated that they were using storage technology (capturing, collecting, or creating data) as part of their embedded developments.
The information in Table 1 presents the results to this question for general embedded developments as well as for IoT developments.
It’s clear, but not unexpected, that IoT developments have substantially more upgrade requirements than those of the broader embedded industry
Developers were asked the follow on question, “What are the cost implications of losing or corrupting the data stored in your current embedded project?” The results are shown in Table 2.
It’s clear that the cost associated with data loss due to upgrades is greater for IoT developments than for similar embedded developments. System updates are a key point of vulnerability for embedded systems. If not handled properly, a power loss or other unexpected shutdown can disable the entire system. So what can developers do to protect themselves?
EMF turned to Datalight for their many decades of expertise in data storage and retrieval. In particular, they explained how their Reliance Family of file systems can prevent data loss during power failures as well as during system upgrades. EMF is not advocating any storage vendor herein, but feels that the Datalight solution is instructive for developers to learn from when designing systems that will require upgrading.
One major advantage of the Reliance family of file systems is the nature of its Dynamic Transaction Point technology. Writes and file updates occur in the working state of the media, and only following a successful transaction point are these updates designated as part of the “known good” state. This means that any data previously stored on the media will be intact in the event of an unexpected shutdown. The timing of a transaction point can be controlled by an application, and can even be suspended for a time when necessary. These key features allow a seamless system update to be completely reliable without having to write complex logic within the application software to account for possible interruptions.
Here’s what happens behind the scenes: Through a simple API, the application saves the existing transaction mask (a series of flags indicating which system transaction points are enabled) and then clears that mask. A manual transaction point is issued, which performs a final empty of the cache and establishes the known good state—in some ways, this is similar to the “checkpoint” done by a Microsoft Windows desktop. Any power interruption after this point will quickly boot the system to this state with no existing files lost or damaged.
New system or application files can then be installed and perhaps other files modified or deleted. Verification routines can also be run to validate the new system state. There’s no rush to finish the process before a bored user hits the power button! Once the new system is ready to go, a manual transaction point is performed, which commits all the changes. Note that this process can be interrupted by a power drop. Until the transaction point is successfully completed, the system will always revert to the known good state.
The final step is to restore the previous transaction mask, allowing the device to operate as it was previously designed. Through one update or many, reliability is completely guaranteed.
EMF data clearly shows the frequency of systems upgrades and their potential associated cost. EMF believes that developers should take upgrades as a requirement when undertaking their designs.
Jerry Krasner, Ph.D., MBA is Vice President of Embedded Market Forecasters and its parent company, American Technology International. A recognized authority with over 30 years of embedded industry experience, Dr. Krasner has extensive clinical research and medical industrial experience, including the successful filing of over twenty 510k submissions. He earned BSEE and MSEE degrees from Washington University, a Ph.D. in Medical Physiology/Biophysics from Boston University and an MBA from Nichols College. He has been a visiting professor at the Universidad de Las Palmas (Spain) where he was recognized for his work in neurosciences and computer technology.