インテル® Arria® 10 SoC FPGA がサポートするフラッシュデバイス

概要

インテル® Arria® 10 SoC は、ブートソースおよび大容量データストレージの両方として以下のフラッシュデバイスをサポートしています。

  • QSPI (Quad Serial Peripheral Interface) フラッシュ
  • NAND フラッシュ
  • SD (Secure Digital)、SDHC (Secure Digital High Capacity)、SDXC (Secure Digital eXtended Capacity)、MMC (MultiMediaCard)、または eMMC (Extended MMC) フラッシュ

フラッシュデバイスを選定して SoC に組み込むときは、以下を考慮することが重要です。

  • そのデバイスはインテル® FPGA デバイスの BootROM で動作しますか? 
    • ハード・プロセッサー・システム (HPS) は、BootROM がサポートするフラッシュデバイスでのみブートできます。
  • そのデバイスは U-Boot や Linux* などのソフトウェアで動作することが検証され、それらのサポート対象になっていますか? 
    • インテルは、サポート対象デバイスに U-Boot および Linux* ソフトウェアを提供しています。その他のデバイスについては、ユーザーがソフトウェアを開発する必要があります
  • そのデバイスは HPS フラッシュ・プログラマーのサポート対象ですか? 
    • HPS フラッシュ・プログラマーにより、JTAG 接続を使用してフラッシュに書き込むことができます。この主な目的は、プリローダーやブートローダーの初期イメージをプログラムすることです。
    • HPS プログラマーがサポートしないデバイスの場合は、HPS を使用してフラッシュをプログラムするなど、その他のフラッシュ・プログラミング手法を使用できます。例えば、U-Boot のフラッシュ・プログラミング機能を使用できます。

フラッシュデバイスは、上記の条件に基づいて以下のカテゴリーに分類できます。

  • インテルがテストしてサポートするフラッシュデバイス - このカテゴリーのデバイスは上記の条件を満たします。また、インテル® FPGA のツールを使用した回帰テストを受けており、インテル® FPGA のテクニカルサポートがその使用を全面的にサポートします。 
  • 動作することが判明したフラッシュデバイス -  このカテゴリーのデバイスはインテル® FPGA のツールで明示的にサポートされていないものの、SoC で動作することが判明したものです。これらのデバイスの多くは U-Boot を代替プログラミング手法として使用してプログラムしますが、特定のデバイスをコンフィグレーションするにはユーザーが U-Boot のソースを変更しなければならない場合があります。
  • 非互換フラッシュデバイス - このカテゴリーのデバイスは SoC で動作しません。

以降のセクションでは、インテル® Arria® 10 SoC での各種フラッシュデバイスのサポートレベルを解説します。

QSPI フラッシュデバイス

4 線式 SPI フラッシュデバイスには以下の利点があります。

  • 信頼性:一般に、セクターあたり 10 万回以上の消去サイクルと 20 年以上のデータ保持期間をサポートします。その結果、管理が簡単になり、誤り訂正と不良ブロック管理の必要がありません。
  • 必要なピン数が少ない:4 線式 SPI フラッシュデバイスには一般に 6 本のピンが必要ですが、使用モードによっては、4 本のピンで使用できます。
  • 高帯域幅

一般に、4 線式 SPI フラッシュデバイスはその他のフラッシュデバイスよりストレージ容量が小さくなります。そのため、ほとんどの場合、大容量ストレージ用ではなくブートソースとして使用されます。

インテル® Arria® 10 SoC FPGA は 4 線式 SPI フラッシュ・チップ・セレクトを 4 つまで使用できます。デバイスは、チップ・セレクト・ゼロに接続された 4 線式 SPI フラッシュからブートされます。

テストしてサポートしているデバイスの最新リストを以下に示します。

パーツナンバー ベンダー 容量 電圧 サポートカテゴリー 備考
MT25QU01GBBB8E12-0SIT Micron 1 Gb 1.8 V インテルがテストしてサポート インテル® Arria® 10 SoC 開発キットで使用可能
MT25QU01GBBA8E12-0SIT Micron 1 Gb 1.8 V 動作を確認  
MT25QU02GCBB8E12-0SIT Micron 2 Gb 1.8 V 動作を確認 U-Boot の変更が必要
MT25QU512ABB8E12-0SIT Micron 512 Mb 1.8 V 動作を確認  
N25Q512A83G1240F Micron 512 Mb 3.3 V 動作を確認  
MT25QL512ABA8ESF-0SIT Micron 512 Mb 3.3 V 動作を確認  
MX66U51235FMI-10G Macronix 512 Mb 1.8 V 動作を確認 U-Boot の変更が必要
MX66L51235FMI-10G Macronix 512 Mb 3.3 V 動作を確認 U-Boot でプログラム
MX66L1G45GMI-10G Macronix 1 Gb 3.3 V 動作を確認 U-Boot でプログラム
S25FS512SDSBHV210 Cypress 512 Mb 1.8 V 動作を確認  
S25FL512SAGMFI01 Cypress 512 Mb 3.3 V 動作を確認  
S70FL01GSAGMFI011 Cypress 1 Gb 3.3 V 動作を確認 2 つのチップセレクト。HPS フラッシュ・プログラマーと BootROM は CS0 のみ使用

NAND フラッシュデバイス

NAND フラッシュデバイスの主な利点はストレージ容量が大きいことです。

NAND フラッシュデバイスには以下のような不便な点があります。

  • 必要なピン数が多い (15 本以上必要)
  • 4 線式 SPI フラッシュより個々のビットの信頼性が低いため、誤り訂正と不良ブロック管理が必要
  • 4 線式 SPI フラッシュデバイスより最大帯域幅が低い

NAND フラッシュデバイスは一般に大容量データストレージに使用されますが、ブートソースとしても使用できます。

インテル® Arria® 10 SoC で使用する NAND フラッシュデバイスは、少なくとも以下の要件を満たす必要があります。

  • ONFI 1.0 との互換性
  • ブートデバイス用に x8 インターフェイス、一般的なデータストレージ用に x16 をサポート
  • SLC (Single-Level Cell) または MLC (Multi-Level Cell)
  • ブートソースには 1 つの ce# および rb# ピンペアのみ使用可能。大容量ストレージには、追加ペアを 3 つまで使用可能。
  • ページサイズ:512 バイト、2 KB、4 KB、または 8 KB
  • ブロックあたりページ数:32、64、128、256、384、または 512
  • 誤り訂正コード (ECC) のセクターサイズを 512 バイト (4、8、または 16 ビット訂正) もしくは 1,024 バイト (24 ビット訂正) にプログラム可能

テストしてサポートしているデバイスの最新リストを以下に示します。

パーツナンバー ベンダー 容量 電圧 サポートカテゴリー 備考
MT29F1G08ABBEAH4:E Micron 1 Gb 1.8 V 動作を確認 インテル® Arria® 10 SoC 開発キットで使用可能
MT29F2G08ABBEAH4-IT:E Micron 2 Gb 1.8 V 動作を確認  
MT29F4G08ABBEAH4-IT:E Micron 4 Gb 1.8 V 動作を確認  
MT29F4G08ABBDAH4-IT:D Micron 4 Gb 1.8 V 動作を確認  
MX30UF1G18AC-TI Macronix 1 Gb 1.8 V 動作を確認  
MX30UF2G18AC-TI Macronix 2 Gb 1.8 V 動作を確認 U-Bootでプログラム
MX30UF4G18AB-TI Macronix 4 Gb 1.8 V 動作を確認  
S34MS01G200TFI90 Cypress 1 Gb 1.8 V 動作を確認 U-Bootでプログラム
S34MS02G200TFI00 Cypress 2 Gb 1.8 V 動作を確認  
S34MS04G200TFI00 Cypress 4 Gb 1.8 V 動作を確認  

SD/SDHC/SDXC/MMC/eMMC フラッシュデバイス

SD/SDHC/SDXC/MMC カードには以下の利点があります。

  • ストレージ容量が大きい
  • 内部誤り訂正、不良ブロック管理、およびウェアレベリング
  • 安価である

SD/SDHC/SDXC/MMC には以下のような不便な点があります。

  • 一般に 4 線式 SPI より信頼性が低い (信頼性が向上した産業用バージョンもあります。)
  • ソケットを必要とするため、機械的な脆弱性が高い

eMMC フラッシュデバイスは、以下の点で SD/SDHC/SDXC/MMC フラッシュデバイスより有利です。

  • 信頼性の向上
  • 取り外しできない (はんだ付けされた) 小型パッケージ

インテル® Arria® 10 SoC は以下のデバイスをサポートします。

  • SD/SDHC/SDXC (eSD を含む) - バージョン 3.0 に準拠
  • MMC - バージョン 4.41 に準拠
  • eMMC - バージョン 4.5 に準拠

テストしてサポートしている eMMC デバイスの最新リストを以下に示します。

パーツナンバー ベンダ- 容量 サポートカテゴリー 備考
MTFC16GJDDQ-4M IT Micron 16 GB 動作を確認 eMMC v4.51 に準拠
MTFC16GAKAENA-4M IT Micron 16 GB 動作を確認 eMMC v5.0 に準拠
MTFC16GAKAEDQ-AIT Micron 16 GB 動作を確認 eMMC v5.0 に準拠
MTFC8GACAANA-4M IT Micron 8 GB 動作を確認 eMMC v4.51に準拠
MTFC8GACAEDQ-AIT Micron 8 GB 動作を確認 eMMC v5.0 に準拠
S40410081B1B2W000 Cypress 8 GB 動作を確認 eMMC v4.51 に準拠
S40410161B1B2W010 Cypress 16 GB 動作を確認 eMMC v4.51 に準拠