Flash Memory with a Built-In MAC Address Can Really Help During Development
Flash memory is part of nearly every new design for anything from battery-powered wearables to larger, line powered electronic systems. If it runs code, chances are there's NOR flash memory in it, thanks to NOR technology's speedy random access, high reliability, and low power consumption.
In the meantime, the industry continues to bring out new flash technologies that push the envelope for memory density, power, access bandwidth, and performance. Now, developers can use execute-in-place (XIP) NOR flash devices to run code directly from flash, reducing random-access memory (RAM) requirements and eliminating the need to copy code from non-volatile memory to RAM.
Besides improvements in performance characteristics, flash devices keep getting smarter. Emerging flash-based technologies are going beyond storage to integrate capabilities designed to handle more of the processing load for data analysis, cloud interaction, and other services. This trend leads directly to initiatives such as computational storage efforts where flash plays a leading role in feeding the voracious appetite for data of machine learning algorithms.
Sometimes, though, flash enhancements don't have to push the bleeding edge of technology to aid developers. Sometimes, it just takes a good idea.
Take for example Microchip Technology’s SST26VF0xxBEU flash devices, the latest members of Microchip Technology's SST26 SQI family of serial quad I/O (SQI) serial NOR devices. Based on SuperFlash® technology developed by Microchip's subsidiary, Silicon Storage Technology, the SST26 family is built for performance and reliability. They're also simple to use. Developers can easily connect them to quad SPI masters such as Microchip's SAM D51 microcontroller family, based on the Arm® Cortex®-M4F core with floating-point unit (Figure 1).
Figure 1: The Microchip Technology SST26 family of serial NOR flash devices provides four parallel serial I/O channels to enable high-speed transactions with quad SPI (QSPI) masters. (Image source: Microchip Technology)
The new SST26VF0xxBEU series offers the same characteristics but also embeds a globally unique media access control (MAC) address in each device.
MAC addresses: What’s the big deal?
So why is that comparatively simple enhancement such a noteworthy aid to developers? To understand that, we have to go into some facts about MAC addresses and how they're provisioned.
A MAC address is of course a unique identifier attached to any network interface controller (NIC) and used in familiar connectivity options including Ethernet, Wi-Fi, and other Institute of Electrical and Electronics Engineers (IEEE) 802.x technologies. Properly constructed, a MAC address combines a 24-bit organizationally unique identifier (OUI) prefix with a 24-bit or 40-bit value determined by the OUI owner to create a 48-bit extended unique identifier (EUI-48), or a 64-bit EUI-64 value that is globally unique.
To ensure uniqueness, MAC addresses are allocated by the IEEE Standards Association Registration Authority (RA). The IEEE RA doesn't provide individual MAC addresses. Instead, it delivers MAC addresses in three different blocks with the actual deliverables being unique EUI prefixes in three different lengths:
- A 24-bit prefix corresponding to the OUI, allowing the owner to assign the remaining 24 bits to create 224 (>16 million) unique MAC addresses
- A 28-bit prefix, for 220 (>1 million) unique MAC addresses
- A 36-bit prefix, for 212 (4,096) unique MAC addresses
Another fact of particular importance to developers is that not every semiconductor device intended for use in network interface designs comes with a globally unique EUI-48 or EUI-64. Semiconductor manufacturers understand that volume purchasers will want to provision MAC addresses with their own OUIs. Even device families that are specified as including a unique MAC address in production parts might not include them in parts intended as engineering samples.
All of this can make things difficult when it comes to prototyping complex designs like IoT devices or wearables that depend on network connectivity for much of their user features. For prototyping, developers might recycle a unique address maintained just for this purpose or use an ad hoc MAC address that they know is unique to their development network. The difficulty, of course, lies in taking the prototype out of the shop for broader integration tests or eventual customer inspection, which can result in failed demos and awkward explanations.
In the past, the only way engineers could deal with this would be to pay the IEEE. As noted earlier, however, the IEEE only allocates addresses in blocks. Unfortunately, even the smallest block, which IEEE RA calls a MAC Address small (MA-S) block, costs several hundred dollars; not to mention the indirect costs of applying and waiting for the unique prefix. If you're in stealth mode and want to keep your identity off the IEEE public listing, you'll pay over one thousand dollars for the MA-S block each year, and each larger block adds an incremental thousand to that. Aside from the financial cost, if you didn't budget the acquisition delay in your project schedule well before that important off-site demo, you're out of luck.
MAC in flash: A good idea
So, here's why the Microchip Technology SST26VF0xxBEU flash memory devices are so innovative in their own way. Rather than committing to the whole registration process, developers can acquire one globally unique MAC address because these devices are available in single quantities. Microchip provisions each device with a unique EUI-48 and EUI-64 at locations 261H and 268H, respectively, in the device's industry standard serial flash discoverable parameters (SFDP) table. Developers simply perform an SFDP read to sequentially read the six octets of the EUI-48 address or eight octets of the EUI-64 address across a single SPI channel.
Chances are, your design calls for some amount of flash, and Microchip offers these devices in a range of sizes including the 64 megabyte (Mbyte) SST26VF064BEU, 32 Mbyte SST26VF032BEU and 16 Mbyte SST26VF016BEU. Microchip has offered embedded MAC addresses before in some of its 2 kbit EEPROM devices, but their availability in high density flash devices can help reduce the bill of materials and design footprint.
Conclusion
Globally unique MAC addresses are a basic requirement for most IEEE 802.x network technologies, but not every device used for network connectivity comes with such an address. If you're an engineer or maker working on prototypes or small quantities, Microchip Technology's SST26VF flash devices with embedded MAC addresses provide an efficient alternative to buying more MAC addresses than you need. What do you think? Would you use one?

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.
Visit TechForum