NORフラッシュとは?種類や特徴、設計時のポイントを解説
2026年8月24日更新
この記事を書いた人

大手メーカー「コマツ」、「オムロン」などで7年間、アナログ回路エンジニアとして設計・評価業務に従事。
ECU、PLCなどのエレキ開発経験を多数持つほか、機械商社での就労経験も有する。
株式会社アイズ運営の機電系フリーランスエンジニア求人情報「FREEAID」専属ライターとして、
機電分野の知識と実務経験を活かし、専門性の高い記事執筆を行っている。
NORフラッシュは不揮発性メモリの一種であり、読み出し速度が速いことからマイコンのプログラムコードやファームウェア、設定データなどの保存に利用されています。本記事では、NORフラッシュの種類や特徴、設計時に確認したいポイントを解説します。
NORフラッシュとは?

NORフラッシュは、電源を切ってもデータを保持できる不揮発性メモリの一種です。アドレスを指定して必要なデータを読み出せるため、マイコンのプログラムコードやファームウェアなど、特定のデータを読み出す用途に適しています。
一方で、書き込みや消去には一定の制約があります。特に、消去はセクタやブロックなどのまとまった単位で行うため、データを頻繁に書き換える場合には注意が必要です。
NORフラッシュの種類

NORフラッシュには、大きく分けてパラレルタイプとシリアルタイプがあります。両者はデータの転送方法が異なり、必要な端子数やアクセス方法、マイコンとの接続方法などにも違いがあります。
シリアルNORフラッシュ
シリアルNORフラッシュは、SPIなどのシリアルインターフェースを使用してマイコンと接続する製品です。一般的なSPIでは、クロックを入力するSCLK、データを入力するSI、データを出力するSO、通信対象を選択するCSなどの信号線を使用します。パラレルタイプのようにアドレス線や複数のデータ線を用意する必要がないため、少ない端子数で接続でき、基板上の配線も抑えやすいことが特徴です。
また、一般的なSPIだけでなく、データ線を2本、4本、8本使用して一度に転送するDual SPI、Quad SPI、Octal SPIなどに対応した製品もあります。データ線を増やすことで、少ない信号線でありながら高速なデータ転送を実現できます。
パラレルNORフラッシュ
パラレルNORフラッシュは、アドレスバスとデータバスを使用してマイコンと接続する製品です。例えば16bit幅の製品では、データを16本のデータ線で並列に転送し、さらにメモリ容量に応じた本数のアドレス線を使用します。
シリアルNORフラッシュと比べて多くの信号線が必要になる分、複数ビットのデータを一度に転送でき、高速なメモリアクセスを実現しやすいことが特徴です。一方で、信号線が増えることで配線や信号のタイミングを考慮する必要があり、シリアルタイプと比べてハードウェア設計が複雑になりやすい点には注意が必要です。
NORフラッシュと他の不揮発性メモリの使い分け

不揮発性メモリには、NORフラッシュのほかにもEEPROMやNANDフラッシュなどがあります。これらのメモリの使い分けをどのようにするか解説します。
EEPROMとの使い分け
EEPROMは、比較的小容量のデータを部分的に書き換える用途に適した不揮発性メモリです。機器の設定値や校正値、各種パラメータなど、数バイトから数十KB程度のデータを保存し、必要に応じて更新する用途でよく使用されます。
一方、NORフラッシュは、プログラムコードやファームウェアなど、より大きなデータを保存する用途に適しています。そのため、保存するデータが小さく、個々の設定値などを頻繁に更新する場合はEEPROM、比較的大きなデータを保存して読み出す場合はNORフラッシュを候補として検討します。
NANDフラッシュとの使い分け
NANDフラッシュは、画像や動画、ログデータなど、まとまったデータを大量に保存する用途に適しています。例えば、ストレージのように多くのデータを保存する場合はNANDフラッシュが候補になります。
一方、NORフラッシュは、マイコンのプログラムコードやファームウェアなど、アドレスを指定してデータを読み出す用途に適しています。そのため、プログラムを保存して実行するためのメモリにはNORフラッシュ、大量のデータを保存するストレージ用途にはNANDフラッシュを選ぶ、というように使い分けます。
NORフラッシュを設計する際のポイント

最後に、NORフラッシュを実際に選定する際、設計上注意すべきポイントを解説します。
インターフェースと端子を確認する
まず、マイコン側のインターフェースとNORフラッシュの仕様が適合しているか確認します。シリアルNORフラッシュでは、SPIの通信方式や対応するSPIモード、最大クロック周波数などを確認します。
Quad SPIやOctal SPIを使用する場合は、マイコン側が対応していることに加え、使用するデータ線の本数や通信コマンド、ダミーサイクルなどがメモリの仕様と一致している必要があります。また、CS(Chip Select)、RESET、WP(Write Protect)などの制御端子についても、端子の機能や論理、電源投入時の状態を確認します。
パラレルNORフラッシュでは、マイコンが対応するデータ幅やアドレス幅を確認します。例えば16bit幅のメモリを使用する場合、マイコン側も16bitの外部メモリインターフェースに対応している必要があります。
アドレス線やデータ線に加えて、CS、読み出し、書き込みなどの制御信号も必要になるため、マイコン側の端子数や外部メモリインターフェースの仕様確認も必要です。
アクセス速度とタイミングを確認する
NORフラッシュの選定では、必要な読み出し速度を満たせるかと、マイコンとNORフラッシュのタイミング条件が適合しているかを確認することも重要です。シリアルNORフラッシュでは、最大クロック周波数を始め、コマンドやアドレスを送信した後にデータを読み出すまでの時間、ダミーサイクルなども確認します。
特にQuad SPIやOctal SPIでは、通信速度を高くできる一方、使用する動作モードによって必要な設定が異なるため、マイコンとメモリのデータシートを確認して設定します。
一方、パラレルNORフラッシュでは、アドレスを出力してからデータが有効になるまでのアクセス時間や、読み出し・書き込み時のセットアップ時間、ホールド時間などを確認します。マイコン側のバスタイミング設定がメモリの要求を満たしていないと、データを正常に読み出せない可能性があります。
また、パラレルタイプはアドレス線やデータ線など信号数が多いため、配線長や信号の反射、クロストークなどの影響も受けやすくなります。高速動作させる場合は、配線をできるだけ短くする、信号線を適切に引き回す、GNDを確保するなど、信号品質も考慮して基板を設計する必要があります。
メモリ容量とアドレス方式を確認する
保存するプログラムやデータがメモリ容量を超えると、当然ながら必要なデータを格納できません。また、容量が大きくなるとアドレス方式や必要な信号線の数が変わる場合があるため、単純に必要な容量だけでなく、マイコン側の対応状況も確認する必要があります。
シリアルNORフラッシュでは、容量によって3バイトアドレス方式と4バイトアドレス方式を使い分ける製品があります。大容量品を使用する場合は、マイコンやドライバが4バイトアドレスに対応しているか、またメモリ側で必要な設定があるかを確認します。
パラレルNORフラッシュでは、メモリ容量に応じて必要なアドレス線の本数が変わります。そのため、必要な容量だけでなく、マイコン側のアドレスバスの幅や使用できる端子数も考慮して製品を選定します。
書き換え耐久性を確認する
NORフラッシュには、消去・書き込みを繰り返せる回数に上限があります。同じ領域を頻繁に書き換えると、その領域に劣化が集中するため、保存するデータの更新頻度に対して十分な耐久性を持つ製品か確認することが重要です。
例えば、プログラムコードや更新頻度の低い設定データであれば問題になりにくい一方、カウンタ値やログなどを頻繁に更新する用途では注意が必要です。書き換え頻度が高い場合は、NORフラッシュだけでなくEEPROMなど、より適した不揮発性メモリを選択肢に入れることも検討します。
実際にNORフラッシュへ頻繁にデータを書き込む場合は、複数の領域を順番に使用するウェアレベリングによって、特定の領域への書き換えの集中を抑える方法もあります。
電源断によるデータ破損を考慮する
NORフラッシュでは、データの書き込みや消去の途中で電源が切れると、更新中のデータが正常に保存されない可能性があります。そのため、電源断によって設定値や管理情報などの重要なデータが破損しても、システムを復旧できるように設計する必要があります。
例えば、重要なデータを複数の領域に保存して新旧のデータを判別できるようにしたり、CRCなどを利用して読み出したデータの正常性を確認したりする方法があります。どのような対策が必要かは、保存するデータの重要度や電源断が発生した場合のシステムへの影響を考慮して決定します。
書き込み・消去の仕様を確認する
NORフラッシュでは、ページプログラムによってデータを書き込む製品が一般的です。1回の書き込みで扱えるデータ量には上限があり、ページサイズとして規定されています。そのため、書き込むデータのサイズや配置がページ境界をまたぐ場合の動作などを確認する必要があります。
また、消去はセクタやブロックなど、一定の単位で行います。1バイト単位で自由に消去できるわけではないため、データを更新する場合は、消去単位を考慮してデータの配置や更新方法を設計します。
書き込みや消去には読み出しよりも長い時間がかかるため、処理中にマイコンがどのような動作を行う必要があるかも確認します。リアルタイム性が求められるシステムでは、書き込み・消去中のアクセス制限や処理時間がシステム動作に影響しないかの検討も必要です。
まとめ
NORフラッシュは、アドレスを指定してデータを読み出せる不揮発メモリで、マイコンのプログラムコードやファームウェアなどの保存に広く利用されています。シリアルタイプは少ない信号線で接続でき、Quad SPIやOctal SPIなどを利用することで高速な読み出しにも対応できます。
一方、パラレルタイプは多くの信号線を使用してデータを並列転送できるため、高速なメモリアクセスが求められる用途に適しています。NORフラッシュを選定する際は、保存するデータの容量や更新頻度だけでなく、マイコンとのインターフェース、アクセス速度やタイミング、アドレス方式などの確認が重要となります。
用途によってはEEPROMやNANDフラッシュとの使い分けも重要なので、各種特性を理解した上で、製品を選定するようにしてください。
フリーランス×機電系エンジニア!高単価求人はこちら ▶この記事の運営元:日総工産株式会社
さまざまな分野において事業を展開しています。
「アウトソーシング」「ビジネスソリューション」「エンジニアリング」「ファクトリーオートメーション」の4つの事業を柱に、製造業やICT分野の課題解決を力強くサポートする、
フリーランスの機電系エンジニア求人情報サイト「FREE AID」を運営しています。
機電系求人はこちら
設計技術者(樹脂、金属部品)
- 単価
40~50万円
- 職種
- 機械設計
- 詳細を見る
FPGAの設計開発:電気電子設計
- 単価
70~80万円
- 職種
- 電気電子設計
- スキル
- ・FPGA論理設計、RTLコーディング、論理検証環境構築、論理検証・RTLコード:VHDL・論理検証ツール:Siemens製Questa/ModelSIM
- 地域
- 東京
- ポイント
- #高単価
- 詳細を見る
UI画面の設計業務:電気電子設計
- 単価
64〜万円
- 職種
- 開発
- 電気電子設計
- スキル
- 必要スキル: ・電源回路は複数回経験し、設計動作確認など、一人でもある程度やるべきことが分かる。 ・数十頁のデータシートを読み、要求仕様(タイミング/電圧など)が理解できる ・その他左記の回路の種類の中で、回路設計の実務経験が1回以上ある。 ・回路修正ができる(半田付け、ジャンパー処理)
- 地域
- 関西
- ポイント
- #業務委託#駅近
- 詳細を見る
【急募】工作機械メーカーにおける自社製品の制御設計
- 単価
40~50万円
- 職種
- 電気電子設計
- スキル
- 基本的なPCスキル産業用機械・装置の電気設計経験
- 地域
- 山梨県
- ポイント
- #業務委託
- 詳細を見る


