Intel® Arria® 10 SoCs support the following flash devices both as a boot source and for mass data storage:
- Quad serial peripheral interface (QSPI) flash
- NAND flash
- Secure Digital (SD), Secure Digital High Capacity (SDHC), Secure Digital eXtended Capacity (SDXC), MultiMediaCard (MMC), or Extended MMC (eMMC) flash
When choosing a flash device to incorporate with SoCs, it is important to consider the following:
- Will the device work with the Intel FPGA device BootROM?
- The hard processor system (HPS) can only boot from flash devices supported in the BootROM.
- Is the device verified to work and supported by software, such as the U-Boot and Linux?
- For supported devices, Intel provides the U-Boot and Linux software. For other devices, this software must be developed by the user.
- Is the device supported with the HPS Flash Programmer?
- The HPS Flash Programmer enables writing to flash using a JTAG connection. This is primarily intended for programming the initial pre-loader or bootloader image.
- If the device is not supported by the HPS Programmer, other flash programming methods may be used, such as using the HPS to program flash. For example, the flash programming capabilities of U-Boot can be used.
Based on the criteria above, the following categories of flash devices are identified:
- Intel Tested and Supported Flash Devices - These devices meet the criteria listed above. These devices receive regression testing with Intel FPGA tools and their use is fully supported by Intel FPGA Technical Support.
- Known to Work Flash Devices - These devices are not explicitly supported in the Intel FPGA tools, but have been known to work with SoCs. Many of these devices are programmed using U-Boot as an alternate programming method, but source changes to U-Boot might have to be made by users in order to configure a specific device.
- Incompatible Flash Devices - These devices will not work on SoCs.
The following sections present the support level for various flash devices for Arria 10 SoCs.
QSPI Flash Devices
The quad SPI flash devices have the following advantages:
- Reliability: they typically support a minimum of 100,000 erase cycles per sector and a minimum of 20 years data retention. As a result, their management is simpler, with no need for error correction and bad block management.
- Low pin count requirement: a quad SPI flash device typically requires six pins, but it can be used with as few as four pins.
- High bandwidth
A quad SPI flash device typically has smaller storage capacity than other flash devices. They are therefore mostly used as a boot source and not for mass storage.
Up to four quad SPI flash chip selects can be used with Arria 10 SoCs. The device will boot from quad SPI flash connected to the chip select zero.
The current list of tested and supported devices is presented below. Note that the device list applies only to the HPS QSPI controller, and does not apply for FPGA configuration.
|Part Number||Manufacturer||Capacity||Voltage||Support Category||Notes|
|MT25QU01GBBB8E12-0SIT||Micron||1 Gb||1.8 V||Intel Tested and Supported||Available on Arria 10 SoC Development Kit|
|MT25QU01GBBA8E12-0SIT||Micron||1 Gb||1.8 V||Known to Work|
|MT25QU01GBBB8ESF-0SIT||Micron||1 Gb||1.8 V||Known to Work|
|MT25QU02GCBB8E12-0SIT||Micron||2 Gb||1.8 V||Known to Work||U-Boot modifications needed|
|MT25QU512ABB8E12-0SIT||Micron||512 Mb||1.8 V||Known to Work|
|N25Q512A83G1240F||Micron||512 Mb||3.3 V||Known to Work|
|MT25QL512ABA8ESF-0SIT||Micron||512 Mb||3.3 V||Known to Work|
|MT25QL512ABB8ESF-0SIT||Micron||512 Mb||3.3 V||Known to Work|
|MT25QU512ABB8ESF-0SIT||Micron||512 Mb||1.8 V||Known to Work|
|MX66U51235FMI-10G||Macronix||512 Mb||1.8 V||Known to Work||U-Boot modifications needed|
|MX66L51235FMI-10G||Macronix||512 Mb||3.3 V||Known to Work||Programmed with U-Boot|
|MX66L1G45GMI-10G||Macronix||1 Gb||3.3 V||Known to Work||Programmed with modified U-Boot|
|S25FS512SDSBHV210||Cypress||512 Mb||1.8 V||Known to Work|
|S25FL512SAGMFI01||Cypress||512 Mb||3.3 V||Known to Work|
|S70FL01GSAGMFI011||Cypress||1 Gb||3.3 V||Known to Work||Two chip selects. HPS Flash Programmer
and BootROM use only CS0
NAND Flash Devices
The main advantage of the NAND flash devices is large storage capacity.
The disadvantages of NAND flash devices include:
- A high pin count requirement (a minimum of 15 pins are required)
- More difficult to manage, as individual bit reliability is lower compared to quad SPI flash, error correction, and bad block management are required
- Lower maximum bandwidth as compared to quad SPI flash devices
The NAND flash devices are typically used for mass data storage, but they can also be used as a boot source.
The NAND flash devices to be used with Arria® 10 SoC must satisfy at least the following requirements:
- ONFI 1.0 compatibilty
- x8 interface for boot devices, x16 supported for general data storage
- Single-level cell (SLC) or multi-level cell (MLC)
- Only one ce# and rb# pin pair is available for the boot source. Up to three additional pairs are available for mass storage.
- Page size: 512 bytes, 2 KB, 4 KB or 8 KB
- Pages per block: 32, 64, 128, 256, 384, or 512
- Error correction code (ECC) sector size can be programmed to 512 bytes (for 4 , 8, or 16 bit correction) or 1,024 bytes (for 24 bit correction)
The current list of tested and supported devices is presented below:
|Part Number||Manufacturer||Capacity||Voltage||Support Category||Notes|
|MT29F1G08ABBEAH4:E||Micron||1 Gb||1.8 V||Known to Work||Available on Arria 10 SoC Development Kit|
|MT29F2G08ABBEAH4-IT:E||Micron||2 Gb||1.8 V||Known to Work|
|MT29F4G08ABBEAH4-IT:E||Micron||4 Gb||1.8 V||Known to Work|
|MT29F4G08ABBDAH4-IT:D||Micron||4 Gb||1.8 V||Known to Work|
|MT29F8G08ABBCAH4-IT:C||Micron||8 Gb||1.8 V||Known to Work|
|MX30UF1G18AC-TI||Macronix||1 Gb||1.8 V||Known to Work|
|MX30UF2G18AC-TI||Macronix||2 Gb||1.8 V||Known to Work||Programmed with U-Boot|
|MX30UF4G18AB-TI||Macronix||4 Gb||1.8 V||Known to Work|
|S34MS01G200TFI90||Cypress||1 Gb||1.8 V||Known to Work||Programmed with U-Boot|
|S34MS02G200TFI00||Cypress||2 Gb||1.8 V||Known to Work|
|S34MS04G200TFI00||Cypress||4 Gb||1.8 V||Known to Work|
SD/SDHC/SDXC/MMC/eMMC Flash Devices
The SD/SDHC/SDXC/MMC cards have the following advantages:
- Large storage capacities
- Internal error correction, bad block management, and wear levelling
Some of the disadvantages of SD/SDHC/SDXC/MMC are:
- Typically less reliable than quad SPI (although higher reliability industrial versions are available)
- They require a socket, which makes them more vulnerable mechanically
The eMMC flash devices have the following advantages over SD/SDHC/SDXC/MMC flash devices:
- Improved reliability
- Smaller, not removable (soldered down) package
Arria 10 SoCs are compatible with the following devices:
- SD/SDHC/SDXC (including eSD) - version 3.0 compliant
- MMC - version 4.41 compliant
- eMMC - version 4.5 compliant
The current list of tested and supported eMMC devices is presented below:
|Part Number||Manufacturer||Capacity||Support Category||Notes|
|MTFC16GJDDQ-4M IT||Micron||16 GB||Known to Work||eMMC v4.51 compliant|
|MTFC16GAKAENA-4M IT||Micron||16 GB||Known to Work||eMMC v5.0 compliant|
|MTFC16GAKAEDQ-AIT||Micron||16 GB||Known to Work||eMMC v5.0 compliant|
|MTFC8GACAANA-4M IT||Micron||8 GB||Known to Work||eMMC v4.51 compliant|
|MTFC8GACAEDQ-AIT||Micron||8 GB||Known to Work||eMMC v5.0 compliant|
|S40410081B1B2W000||Cypress||8 GB||Known to Work||eMMC v4.51 compliant|
|S40410161B1B2W010||Cypress||16 GB||Known to Work||eMMC v4.51 compliant|