STM32MP1 – EXTMEM
外部メモリの概要

1.0 版

こんにちは、STM32MP1 シリーズ外部メモリの概要のプレゼンテーションへようこそ。
このプレゼンテーションでは、外部メモリの選択のいくつかの重要なポイントと、STM32MP1 シリーズデバイスを使用するアプリケーションに関連する制約を簡単にまとめます。

1

2

Flash メモリ

STM32MP1 シリーズで使用できる Flash メモリの種類を見てみましょう。

2

概要

3

• Flash メモリはコードやデータを保存するために使用される不揮発性メモリです。
• マイクロプロセッサをベースにした高速システムでは、外部 Flash テクノロジーや外部インタフェースが性能のボトルネックになります。
• 中間ワークスペースとして作業メモリ（通常、Linux などのリッチオペレーティングシステムに必要なサイズのダイナミック RAM）が必要です。

• オペレーティングシステム環境（Linux など）では、Flash メモリは常にファイルシステムドライバで使用されます。
• 新しい Flash デバイスのサポートには、SW／開発エコシステムを適応させることが必要になる場合があります。

• 必要であれば以下のように、システムで複数の Flash を使用できます。
• それぞれのテクノロジーの長所を活かす（たとえば、信頼性のためには NOR、価格のためには NAND）• 内容のタイプで分ける（たとえば、Linux カーネル用に 1 つの Flash、データファイルシステム用に 1 つのFlash）

Flash メモリはコードやデータを保存するために使用されます。
高い処理性能が必要なため、コードやデータへのアクセスがボトルネックになり、外部 DDR などの中間ワークスペースが必ず必要になります。
オペレーティングシステム環境では、Flash メモリはファイルシステムとして管理されるため、XIP（Execute In Place：インプレース実行）は不可能であり、Flash メモリには常に特定のデバイスごとに調整された特定のドライバが必要です。
ほとんどのシステムでは、各タイプの Flash テクノロジーの長所または短所に対処するため、またはストレージを分けて、性能、セキュリティ、ユーザの柔軟性を高めるために、複数の Flash が装備されます。

3

Flash デバイスと特性Flash
テクノロジーFlash デバイス

PCB 上の面積

コスト／容量

信頼性

読出し性能

消去／書込み性能

シリアル NOR

NORシリアル NAND

SLC-NAND



Raw-NANDSLC-NAND





e•MMC

SLC/MLC-NAND





4

リムーバブルデバイス

SD カードMLC-NAND

USB スティック

MLC-NAND









SLC = シングルレベルセル
MLC = マルチレベルセル

この表は、STM32MP1 マイクロプロセッサシステムで使用できるさまざまな Flash テクノロジーの違いの大部分をまとめたものです。
シリアル NOR Flash テクノロジーは、シリアルデバイスのピン数が少ないため、非常に優れた PCB 面積と非常に優れた信頼性を備えています。高容量でのコストと書込み性能は、大容量ストレージに NOR Flash メモリを使用する場合のボトルネックです。
シリアル NAND Flash テクノロジーは、非常に優れた PCB 面積と、シリアル NOR Flash テクノロジーよりも優れたコストと書込み性能を備えています。信頼性は、シリアル NOR Flash テクノロジーよりも低いと見られがちですが、エラー修正はハードウェアに組み込まれ、ファイルシステムに対して透過的です。
Raw-NAND テクノロジーにはパラレルインタフェースがあり、PCB 面積的には良くありませんが、コストとパフォーマンスのバランスがとれています。
ほとんどのRaw-NAND メモリにはエラー訂正が組み込まれていないため、不良ブロック管理やウェアレベリングなどの追加の ハードウェア やファイルシステム管理などが必要です。
eMMC デバイスは携帯電話市場で広く使用されているため、非常に優れた価格とパフォーマンスを提供します。eMMC メモリには、エラー訂正、および完全自動の不良ブロック管理とウェアレベリングが組み込まれています。
SD カードや USB スティックなどのリムーバブルデバイスは、大容量で非常に優れたコストを提供していますが、ユーザアクセスと機械的な制約により柔軟性と信頼性が低下します。
4

Flash デバイスのインタフェース
QUADSPI

配線の数

シリアル NOR4～6

シリアル NAND



4～6

Flash デバイス

USBH

SDMMC

Raw-NANDFMC

e•MMC5

コメント

1～4bit最大 2x4bit デバイス

14～22

8 または 16bit、8bit ECC
8bit デバイスでは 2xCS

3～10

1～8bit 幅

61～4bit 幅

リムーバブルデバイス

SD カード
USB スティック（ブート不可）（UHS-I では 10 本）

2

ブート可能ではなく、別の Flash なしでは使用できないので、参考用です

STM32MP1 シリーズでは、最大 2 つの 4bit デバイスをサポートできる QUADSPI インタフェースを介して、シリアル NOR およびシリアル NAND メモリデバイスを接続できます。STM32MP15シリーズは、最初の QUADSPI デバイスからのみブートできます。
Raw-NAND メモリは、フレキシブルメモリコントローラ（FMC）に接続できます。可能な構成は、1 つの 8bit または 16bit デバイス、または同じデータバスを共有する 2 つの 8bit デバイスです。
最大 8bit の ECC を必要とする SLC デバイスのみがサポートされています。STM32MP1 シリーズはRaw-NAND メモリデバイスからブートできます。
eMMC メモリは、任意の SDMMC インタフェースに接続できます（SDMMC3 には 4データビットしかありません）。 eMMC デバ
イスは、1、4、または 8bit のデータ幅をサポートしています。
STM32MP15 シリーズは、SDMMC2 インタフェースに接続された eMMC メモリからブートできます。
SD カードは、任意の SDMMC インタフェースに接続できます。
STM32MP15 シリーズは、外部レベルシフタのオプションの制御を提供します（3V、次に 1.8V の信号を必要とする UHS-I モードのサポートには必須）。STM32MP1 シリーズは、SDMMC1 インタフェースに接続された SD カードからブートできます。
5

通常の Flash 容量の概要
オペレーティングシステムの保存用に使用されるときのFlash のサイズ

6SD カード

SDMMC
e•MMC
FMC

Raw SLC-NAND （e•MMC に比べて大容量では費用対効果が劣る）
シリアル SLC-NANDQUADSPI
シリアル NOR
8Mb
1MB512Mb
64MB

1Gb
128MB

2Gb
256MB

4Gb
512MB

8Gb
1GB16Gb
2GB2Tb256GB

容量

このスライドは、テクノロジーごとに利用可能な通常の Flash の容量を示しています。
サイズが 1Gbit（128MB）未満の Flash メモリは、そのサイズではオペレーティングシステムを格納できないため、単独で使用することはできませんが、オペレーティングシステムを保持している別の大容量の Flash と併せて使う場合はデータを保存することができます。

67

DRAM メモリ

次に、STM32MP1 シリーズでサポートされている DRAM メモリを見てみましょう。

7

DDR の基本

8• DDR は ダブルデータレート同期ダイナミックランダムアクセスメモリの略です。
• DDR テクノロジーでは「リフレッシュ」が必要• 「ダイナミック」メモリセル（つまり、小さなコンデンサ）を使用し、「リフレッシュ」されないと、数十ミリ秒後にデータが失われます。
• 「リフレッシュ」は、STM32MP1 シリーズの DDR コントローラによって自動的に実行されるか、またはシステムが低電力モード（セルフリフレッシュモード）のときにメモリ内で発生します。

• データはバーストでアクセスされます（通常、それぞれ 16bit または 32bit の 4 または 8データ）。
• STM32MP1 シリーズの DDR コントローラは、最大の性能を得るために読出し／書込み／更新をインターリーブし、それらの制御を最適化する役割を担っています。

ここでは、DRAM テクノロジーに関するいくつかの基本事項を説明します。
ダイナミック RAM は固有の複雑さと制約にもかかわらず、手頃な価格で非常に大きな容量で利用できる唯一のメモリであるため、多くのデバイスで使用されています。

8

DRAM デバイスと特性
DRAM
デバイス

電源

PCB 上の面積

コスト／容量

動的消費
電力

STANDBY
電力

性能

DDR3

1.5V







DDR3L

1.35V

LPDDR2

1.2V および1.8V





LPDDR3

1.2V および1.8V



9

DDR3 テクノロジーは、同じ性能を提供するが消費電力が少な
い DDR3L テクノロジーに取って代わられています。
LPDDR2 テクノロジーは、DDR3/DD3L よりもパッケージが小さく、PCB 上の信号数が少なく、消費電力も良好ですが、通常は価格が高く、2 つの異なる電源電圧が必要です。

9SDRAM デバイスへのインタフェース
DRAM
デバイス

データ
幅

最大周波数

CSの数

ICの数

配線の数

DDR3 /
DDR3L

16bit

533MHz

1150

32bit

533MHz1272

LPDDR2 /LPDDR316bit

533MHz113632bit

533MHz

1158

10

コメント
新設計では DDR3L を推奨

16bit は 32bit より普及してない• DDR インタフェースは、他の目的に再使用できない専用のピンを使用• 32bit インタフェースは、LFBGA448 および TFBGA361 パッケージでのみ使用可能STM32MP1 シリーズは、16bit または 32bit のインタフェース構成（一部のパッケージのみ）で DDR3 または DDR3L メモリデバイスをサポートしています。32bit インタフェースを備えた DDR3または DDR3L メモリデバイスは存在しないため、この構成には、多くの PCB スペースを使用する 2 つのデバイスが必要になります。パッケージのボールピッチは産業用ロバスト性に適応した0.8mm です。
LPDDR2 または LPDDR3 メモリデバイスは主に 32bit バージョンが多く、DDR3/DDR3L デバイスよりも信号数が少なくなっています。パッケージは小さくなりますが、ピッチは 0.65mm、0.5mm以下になる可能性があり、追加の基板コストが必要になります。

10

使用できる DRAM 容量の概要（産業用、長期製品、ワンチップセレクトのみ）

11x 32（2 x 16）

DDR3DDR3Lx 16x 32

LPDDR3x 16x 32

LPDDR2x 16
1Gb
128MB2Gb256MB4Gb
512MB8Gb
1GB

STM32MP1 シリーズでは最大 1GB

容量

STM32MP1 シリーズでは、1Gbit（128MB）〜8Gbit（1GB）のDRAM メモリをサポートしています。

11

DDR インタフェースの PCB 制約（1/2）

12• すべての DDR DRAM は、データ送信に立ち上がりと立ち下がりのクロックエッジを使用します。
• 533MHz は、938 ピコ秒ごとに 1 つのデータがサンプリングされることを意味します。
• データの 8bit ごとに 1 組の双方向データ修飾子（DQSP/DQSN）があります。
• DDR3 では オンダイターミネーション（ODT：On Die Termination）を使用して、インピーダンスをPCB 接続（ストリップライン）に適合させています。
• LPDDR2 および LPDDR3 には ODT はありません。追加のシグナルインテグリティの制約を犠牲にして、節電するためです。
• x32bit で使用される DDR3 には 2 つの x16 デバイスが必要なので、アドレス／コマンドは 2 つのパッケージにルーティングされます。
• アドレス／コマンドラインに中間電源（VTT 電圧）で終端抵抗が必要。
• STM32MP15 とメモリの両方に中間電源リファレンス（VREF）が必要。
• ノイズに非常に敏感で、慎重にフィルタリングする必要があります。

DDR システムを設計するときは、DDR の制約を完全に考慮する必要があります。詳細は、AN5031 および AN5122 を参照してください。

12

DDR インタフェースの PCB 制約（2/2）

13• たとえば以下の設計ガイドラインに慎重に従ってください。
• 制約された信号線の長さ（例：DQS を含むバイト内のすべての信号線内で +/- 500µm）• PCB マイクロストリップのインピーダンスの制御（シングルエンドで 55Ω、差動で 100Ωなど）• CLKP/CLKN、DQSP/DQSN の差動配線• 低いクロックジッター• 良好な電源デカップリングおよび電源プレーン• STM32CubeMx では、DDR のパラメータを調整し、最終的なターゲットのシグナルイ
ンテグリティをチェックするためのツールが提供されています。

STM32CubeMx では、DDR のパラメータを調整し、最終的なターゲットで直接シグナルインテグリティをチェックするのに役立つツールが提供されています。
詳細は、開発エコシステムのトレーニングパートで提供されています。

13

標準

14

• DRAM は次の JEDEC 規格で規定されています。
• 標準インタフェースとコマンド• 標準タイミング• 標準パッケージとボールアウト• DDR3

 JESD79-3F• DDR3L

 JESD79-3-1A（DDR3 の補遺）

• LPDDR2

 JESD209-2B• LPDDR3

 JESD209-3C

関連するすべての DDR 仕様は、JEDEC を通じて標準化されています。

14

まとめ15• 要点• すべての SMT32MP1 シリーズシステムで外部 Flash が必要• DDR SDRAM は複雑な高速デバイスであり、慎重な PCB 設計が必要• コストと価格に敏感なソリューションには DDR3L（1.35V）を推奨するが、電力が懸念される場合はLPDDR2 または LPDDR3 を推奨• LPDDR2 または LPDDR3 x32 は 2 つの DDR3L よりも小さいが、0.5mm ピッチのため、より高コストのPCB が必要• STM32CubeMx では、ターゲットの DDR パラメータ調整をサポート• 推奨サイズ
オペレーティングシステム

FlashSDRAM

最小推奨

最小推奨

Bare Linux

128MB

2GB 以上

128MB

512MB

Weston またはAndroid

4GB

8GB 以上512MB

1GB

このプレゼンテーションで覚えておくべき重要なポイントは次のとおりです。
• STM32MP1 シリーズでは、常に外部 Flash メモリデバイスが必要です。
• DDR3/DDR3L や LPDDR2/LPDDR3 デバイスなどの外部DRAM には、慎重な PCB 設計とシグナルインテグリティ分析が必要です。
• STM32CubeMx は、最終ターゲットで DDR メモリを設定および検証するのに役立ちます。
Flash または SDRAM の推奨サイズは、オペレーティングシステ
ムの構成によって異なります。

15

関連資料

16

• 関連資料• AN5122 STM32MP1 Series DDR memory routing guidelines• AN5031 Getting started with STM32MP1 Series hardware development

製品のデータシートとリファレンスマニュアルに加えて、これらの2 つのアプリケーションノートを、STM32MP1 マイクロプロセッサを使用する設計段階の前に読むことを推奨します。

16