You are here

NOR Flash Improves Over-the-air Firmware Updates | 赛普拉斯半导体

NOR Flash Improves Over-the-air Firmware Updates

The following post contains excerpts from an article published in Embedded in March 2019.

There’s a saying that there isn’t anything so good that there isn’t some bad in it, and there isn’t anything so bad, that there isn’t some good in it. That sums up the increasing number of connected devices. Yes, while being connected makes these devices more vulnerable to attack, however, we see that as an opportunity to make them safe and secure.

Firmware over-the-air (FOTA) updates are used to remotely fix bugs and make system enhancements. FOTA is especially useful for applications that are in remote areas or may need ongoing updates due to the nature of the application, including wireless infrastructure, smart factories, and connected cars. The use of FOTA is gaining momentum, thanks to advances in system connectivity and an industry shift toward more programmable silicon architectures. What’s more, nonvolatile memories have become more reliable, safe, and secure, and make FOTA updates quick and seamless.

Mission-critical systems require extra care when enabling FOTA as they can’t afford to fail during the update process. For these systems, the process must be immune to communication errors and require minimal system pauses during the update process. To ensure reliability, the ability to implement this feature at the system level is mandatory and requires the silicon to have robust FOTA features.

Each device requires storage to hold the software/firmware code, and flash memory is commonly the medium of choice. The primary purpose of the FOTA process is to update that code in the flash memory. Current-generation host devices typically use only internal flash or a combination of internal and external flash. However, as the system complexity increases, it becomes harder to embed flash with the MCU, and most likely will require external flash with a host that can perform FOTA updates.

FOTA update methods that are currently used are as follows:

  • FOTA update without software/firmware backup: With this method, the system uses a single flash device to store the application software. With only a single flash device, the application needs to be paused during the update procedure. Such applications typically have a host MCU with basic features and limited memory.
  • FOTA update with software/firmware backup: In this scenario, a higher-end MCU adds a second flash device to overcome the need to pause the application during the update. The additional flash allows the application to continue while the update is made.
  • FOTA update with "golden" software/firmware backup: With this approach, the system uses three flash memory devices. Typically, one partition (or die) contains the current software, the second is reserved for the updated code, and the third is used to store a “golden” copy of the software that the system can revert to if the current and new software becomes corrupted.

NOR Flash Designed for FOTA

NOR flash devices are designed to enable more reliable FOTA updates, including:

  • Simultaneous Read/Write Operation: The most-advanced NOR flash devices have a flexible bank architecture (i.e., group of sectors) where data can be continuously read from one bank, while executing erase/program functions in another bank. This is known as simultaneous read/write operation and is ideal for the FOTA update process. It improves overall system performance by allowing a host system to program or erase in one bank, then immediately and simultaneously read from another bank. As a result, it can prevent a system from stalling while it waits for the program or erase operations.
  • Program/Erase Resume/Suspend: This is another important feature of NOR flash that can greatly improve the reliability of FOTA operations. It allows the system to interrupt a program/erase operation so that data can be read from any non-program/erase suspended sector and, once the read operation is complete, resume the program/erase operation.
  • Globally Unique Identifiers (GUID) Partition Table: To use this method with a NOR flash device, the host needs to partition the flash memory. The flash device contains a primary (and secondary in case the primary becomes corrupted) partition table that describes how the memory is divided and portioned. The remaining sectors are divided between the two applications.
  • Store and Download (SnD): With this approach, the system copies the NOR flash data to a RAM device immediately after power up. After the MCU copies and stores the data from the NOR flash device to the RAM device, it reads the software from the RAM device for the application and can perform the FOTA update in the flash using any of the three FOTA update approaches.

With features such as high-performance and density, a multi-die packaging solution and simultaneous operation, NOR flash devices enable robust and reliable FOTA updating, while saving board space and reducing overall cost. That’s why Cypress has doubled down on NOR flash for connected applications and autonomous vehicles.

Learn more about our Semper NOR flash portfolio by visiting: https://www.cypress.com/event/semper-nor-flash

Blog: 

本网站上的所有内容和材料均“按原样”提供。赛普拉斯半导体公司及其各个供应商对这些材料用于任何用途的适用性不作陈述,并且对关于这些材料的所有担保和条件概不负责,包括但不限于有关适销性、针对特定用途之适用性、权利和不侵犯任何第三方知识产权的所有暗示担保和条件。赛普拉斯半导体公司不授予任何明示或暗示的许可(无论是以默许方式或是任何其他方式)。使用本网站上的信息可能需要第三方的许可,或赛普拉斯半导体公司的许可。

本网站上的内容可能包含或必须遵守关于使用的特定准则或限制。所有帖子和使用本网站上的内容都必须遵守本网站的条款与条件;使用这些内容的第三方必须同意遵守任何限制或准则,并遵守本网站的条款与条件。赛普拉斯半导体公司及其供应商保留随时对内容和材料、产品、计划和服务进行纠正、删除、修改、增强、改进或其他变更,或者移动或终止任何内容、产品、计划或服务的权利,恕不另行通知。