This article series aims to be an introduction to QSPI NOR Flash devices from the point of view of their features and characteristics. This series isn’t meant to be an introduction to NOR flash technology or even to the QSPI protocol itself. It is more about what differentiates one QSPI NOR flash from another. And as is usual with our articles, this series put special emphasis on the impact of the features and characteristics of the devices on the software. Especially what are the important features and performance metrics to consider when choosing a NOR flash device for embedded data storage. As mentioned in NOR vs NAND, when hosting an embedded file system, NOR flash may have very attractive performances for certain applications but this may depend on choosing the right part.
In this first article, we’ll go over some important considerations to keep in mind when using a NOR for code shadowing or execute in place, and explain how these considerations may change when using the NOR for data storage with a file system. Then we’ll take a quick look at the hardware characteristics of QSPI NOR devices. While the hardware and board-level considerations aren’t the focus of this series, some of the important hardware specifications such as form factor, voltage and temperature range may have some impact on the available choice of NOR devices.
Code or Data?
Choosing a QSPI flash device for code storage can be “relatively” easy. Whether it is for execute in place (XIP) or code shadowing where the application binary is copied into RAM, the requirements are rather straightforward. From a system or software point of view, it is important that the flash supports the boot method used by the SoC (XIP or otherwise) and that the read performance meets the application requirements. Other factors such as write and erase performance are less important. Afterwards, it is simply a matter of selecting a device that meets the hardware requirements (form factor, temp grade, voltage etc..) and that it is of a sufficient capacity to fit the application binary and others read only data.
When hosting a file system things get a bit more complicated as the overall application performance and feature set depends on a wide variety of characteristics. For example, write and erase speeds determine the average file system write performance, while the worst case erase performance may have a considerable impact on worst-case write latency, especially for real-time applications. Choosing the appropriate capacity of the device is also a more challenging task. Obviously, the device must be large enough to accommodate the application data. But on top of that, file systems and flash translation layers (FTL) typically require additional room to support wear-levelling, copy-on-write or to improve overall performance.
Second Sourcing and Alternate Parts
While the price and availability of NOR flash are not as volatile as, say, high density NAND flash or SDRAM memory, they are nonetheless affected by supply and demand as well as supply line disruptions. For this, QSPI NOR flash have a considerable advantage over other serial NOR devices is the wide availability of electrically and protocol compatible devices. As such, it might be a good idea to pre-select an alternative NOR part which can be used as an alternative to second-sourcing or just to guarantee availability at a decent price when it’s time to go to manufacturing. This is especially true for higher density parts.
When selecting an alternative part, it is important to look at the feature set of the primary device. While it may be tempting to choose the QSPI NOR with the absolute highest performance or leverage a unique device feature in a design, this reduces the choice of alternatives. Again, this is especially true for high density devices or for automotive grade and high temperature grade devices, which are rarer.
Many hardware characteristics, such as the package and temperature grade do not have a very direct impact on software. Yet, these hardware considerations can affect the available choices of NOR device which, in turn, may impact the performance or features of the selected part. Also the hardware requirements are usually known early in a design cycle and are often defined much more precisely than software or application-level requirements. Most of the time, they also supersede other requirements. It’s easier to change and adapt the software than the hardware after all. So for example if an extended industrial temperature range is required or an automotive grade device these requirements must be met before all others.
In the next few paragraphs, we go over the hardware or board-level specifications that may have an indirect impact on the application. Either by limiting the range of device choices or by affecting the operating conditions of the device.
Due to the low number of necessary pins, most QSPI NOR flash are available in a selection of compact 8 pin packages such as the 8-pin SOIC or DFN/SON packages. However, the capacity of the NOR is an important factor that must be considered. Higher capacity NOR require larger packages. This can be the difference, for example, between a narrow SOIC versus a wider SOIC package. And for capacities above 256 Mbit (32 MiB) larger packages such as the 16 pin SOIC or a larger BGA are necessary to accommodate the die size.
Voltage choice is usually between 1.8 V or 3.3 V as is usual for general-purpose ICs nowadays. However some variations are available, for example Winbond and Macronix both have a line of low power 1.2V NOR while many manufacturers offer wide voltage range devices that can operate continually from 1.7 V to 3.7 V and for some devices even wider.
The operating voltage has little impact on the software or a file system. However performance may differ between voltage range. Performance can differ in two key areas with respect to the voltage. First the maximum clock frequency of the QSPI interface is often different when comparing different voltage ranges within the same NOR family. Second, erase and programming performances may differ, usually being slightly slower at lower voltages. This last statement is also true for individual devices, for example a 3.3 V NOR flash may be able to operate down to 2.7 V but with an increased erase and programming times.
Temperature Grade and Operating Temperature
The choice of temperature grade has more to do with the intended application than anything else. It does, however, have some impact on the available choices of parts. Moreover it is important to note that the operating temperature can have a considerable impact on a NOR flash performance. First, it can affect the erase and programming speed, both at the specification level and at runtime. This means that a wide temperature NOR may have slightly worst stated performance. But also operating farther from the typical 25 C temperature will tend to bring practical performance farther from the typical values stated in the datasheet.
Furthermore, the operating temperature affects the device endurance and retention time. Usually, a higher temperature decreases the retention time, which in a way also reduces the endurance of the device for a given application. It is also important to note that there is both some cumulative and instantaneous effects from extreme temperatures. This could mean that for a device with a large number of erase cycles may operate fine at 25 C but start showing data corruption when operating at higher temperature. It also means that a device that was operated mostly at 25 C for most of its life will last longer than one that is operated consistently at high temperature.
Automotive, Military, Radiation-hardened and other Industry Specific Qualifications
Similarly to the above temperature grade discussion, and they often go hand-in-hand, any required product and manufacturer qualification will further reduce the available choice of device families and manufacturers. For example, automotive grade (AEC-Q100) NOR flash are fairly common with multiple manufacturers offering an automotive grade lineup. However military grade and aerospace radiation tolerant parts are quite rare and, depending on the operating conditions may need to be sourced from specialized manufacturers.
The purpose of this first article was to highlight important hardware characteristics that should be considered early on in the application design process. This could be either by restricting the possible choices of QSPI NOR parts or by affecting the operating conditions of the selected device which may have performance implications.
With the hardware stuff out of the way, we can move on to other features of QSPI NOR flash closer to the software. The next article will focus on the storage capacity as well as the block, sector and page configuration of QSPI NOR devices.
If you have any questions or would like some guidance about selecting the best flash device or file system for your application please do not hesitate to contact us.