本文へ移動

フラッシュメモリ(不揮発性ソリッドステートストレージ)

フラッシュメモリの包括的な解説。動作原理、NOR・NAND、SLC・MLC・TLC・QLC、コントローラ、耐久性、用途、EEPROM・RAM・HDDとの比較、性能、形状、実用上の考慮点を扱う。

フラッシュメモリは、コンピューティング機器や民生用電子機器で広く用いられる、不揮発性のソリッドステートストレージの一種である。ランダムアクセスメモリ(RAM)のような揮発性メモリとは異なり、電源を取り外してもデータを保持する。フラッシュメモリは1980年代に、従来の電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)の実用的な後継として登場し、現在ではリムーバブルメディア、組み込みストレージ、高性能ソリッドステートドライブの基盤となっている。

画像ギャラリー

6 画像

基本原理

デバイスレベルでは、フラッシュメモリは電荷を保持する半導体セルに情報を記憶する。セルはページ、さらに大きなブロックまたはセクタへとグループ化される。通常、個々のバイトまたはビットは直接読み出せる一方、消去は一般にブロック単位で実行される。フラッシュメモリは再書き込みの前に消去を必要とするため、コントローラはコピーと消去のサイクルを管理しなければならない。また、多くのシステムでは、OSに従来型のブロックインターフェースを提供するため、バッファリングとマッピング層が利用される。

アーキテクチャとセルの種類

主なアーキテクチャはNORとNANDの2種類である。NORフラッシュは高速なランダム読み出しとバイトアドレス可能なアクセスをサポートするため、ファームウェアやブートコードの保存に適している。NANDフラッシュはより高密度でビット当たりのコストが低く、逐次処理のスループットに最適化されている。USBドライブやSSDなどの大容量ストレージではNANDが主流である。NANDでは、各セルに1ビット以上を格納する。シングルレベルセル(SLC)は1セル当たり1ビットを格納し、より高い耐久性と性能を提供する。マルチレベルセル(MLC)、トリプルレベルセル(TLC)、クアッドレベルセル(QLC)は、1セル当たりの格納ビット数を増やして容量を高めるが、その代償として耐久性が低下し、書き込み性能も低くなる場合がある。

コントローラと管理

フラッシュデバイスには、メモリの生の特性をホストから隠蔽するコントローラが含まれる。代表的なコントローラ機能には、書き込みをセル全体に均等に分散させるウェアレベリング、不良ブロック管理、破損データを検出・訂正する誤り訂正符号(ECC)、空き領域を回収するガーベジコレクション、SSDにおけるTRIMなどのホストコマンドのサポートがある。これらの技術は、継続的なワークロード下で使用可能な寿命を延ばし、性能を維持する。詳細な実装はベンダーおよび製品クラスによって異なる。

耐久性と信頼性

フラッシュセルは、プログラム/消去サイクルによって劣化する。読み出し操作は通常、摩耗を引き起こさないが、書き込みと消去を繰り返すと、セルの電荷保持能力は徐々に低下する。一般的な耐久性はセルの種類および製造世代によって異なり、SLCデバイスはMLC、TLC、QLCよりもはるかに多くのサイクルに耐える。摩耗を軽減するため、デバイスはオーバープロビジョニングとウェアレベリングのアルゴリズムを使用し、再マッピング用の予備セルを確保する。リテンション、すなわちリフレッシュなしにデータが有効な状態で残る期間も、温度および経年によって左右される。

性能とインターフェース

フラッシュは、多くのワークロードでハードディスクドライブより高速であり、特にランダムアクセスや低レイテンシの読み出しで優位である。ただし、生のレイテンシでは一般に揮発性DRAMより遅い。性能はフラッシュの種類、コントローラ、ホストインターフェースに依存する。SSDではSATAとNVMeが一般的なインターフェースである。PCIe上のNVMeは、フラッシュの並列性を活用し、プロトコルのオーバーヘッドを低減して、より高いスループットと低いレイテンシを実現するよう設計されている。リムーバブルメディアでは、USBなどのホストプロトコルが最大転送速度を決定する。

形状と主な用途

  • リムーバブルストレージ:USBフラッシュドライブおよびペンドライブは、携帯可能なファイル転送を可能にし、NANDフラッシュを使用する(USBフラッシュドライブ)。
  • メモリーカードとカメラ:デジタルカメラやモバイル機器では、写真やアプリ向けにフラッシュベースのメモリーカードと内部フラッシュが一般的に使われる(デジタルカメラ)。
  • ソリッドステートドライブ:多くのノートPC、デスクトップPC、サーバーは、起動およびアプリケーションの読み込みを高速化するため、フラッシュベースのSSDに依存している。
  • 組み込み・産業システム:通信、自動車、産業オートメーションのマイクロコントローラやデバイスは、ファームウェアおよび設定用にフラッシュを使用する(電子機器、コンピュータ)。
  • 民生機器とゲーム:ゲーム機、携帯型機器、ゲームカートリッジは、ストレージおよびファームウェアにフラッシュを用いる(ビデオゲーム)。
  • 周辺機器のファームウェア:グラフィックスカードや拡張モジュールには、ファームウェアと設定を保存するオンボードフラッシュが搭載されていることが多い(グラフィックスカード)。

他のメモリとの比較

揮発性RAMと比べると、フラッシュは永続性を提供する一方で、書き込み速度は遅く、レイテンシは高い。RAMは依然として、実行中の計算とシステムの作業用メモリに必要である。磁気ハードディスクドライブと比べると、フラッシュは耐衝撃性が高く、静かで、多くのアクセスパターンで高速であるが、通常はギガバイト当たりのコストが高い。EEPROMとの主な違いは消去粒度である。EEPROMは多くの実装でバイト単位の消去と書き込みをサポートするのに対し、フラッシュは一般により大きなブロックを消去する。この違いは、ファームウェアおよび小規模なデータ構造の更新戦略に影響する(バイトアドレス可能性)。フラッシュ容量は通常ギガバイトで表され、民生用および企業向け製品では複数テラバイトの範囲に及ぶ。

実用上の考慮点とベストプラクティス

フラッシュストレージを選定する際は、耐久性、性能、インターフェース、環境許容範囲を考慮する。書き込み負荷の高い用途では、より高耐久なクラスまたはエンタープライズグレードのドライブを選び、対応している場合はオーバープロビジョニングを有効にする。堅牢な管理機能を備えたデバイスであっても故障する可能性があるため、定期的なバックアップが重要である。開発者にとっては、ウェアレベリングを意識したファイルシステム、慎重なブロック割り当て、不必要な書き込みの削減が、デバイス寿命の最大化に役立つ。ストレージ容量とライフサイクル管理を計画する際には、詳細な容量選定の指針および製品データシートが有用な資料となる(ストレージ容量の選定)。

規格、参考資料、関連技術

業界規格およびベンダーのデータシートには、コマンドセット、耐久性仕様、インターフェースが記載されている。フラッシュは、より広範な不揮発性メモリ技術群(不揮発性RAM)に属し、代替となる永続性メモリについての研究も続けられている。実用的な比較と設計上の考慮点については、容量単位、アドレス可能性、耐久性のトレードオフに関する文書を参照するとよい(バイトアドレス可能性、ストレージ容量の選定)。製造業者や標準化団体は、デバイス固有の挙動と推奨されるホスト側の扱いを説明したガイドや技術ノートを公開している。

特定の製品カテゴリでのフラッシュの利用方法、ならびにベンダーおよび規格に関する資料については、民生用機器(デジタルカメラ、USBフラッシュドライブ)、ストレージ製品(SSD)、携帯用メディア(メモリーカード)に関する資料を参照されたい。より広いシステムレベルの議論は、コンピュータおよび組み込み電子機器を扱う資料(コンピュータ、電子機器)、ならびにストレージ技術と容量に関する業界概要(ギガバイト、テラバイト)で取り上げられることが多い。

関連項目

著者

AlegsaOnline.com フラッシュメモリ(不揮発性ソリッドステートストレージ)

URL: https://ja.alegsaonline.com/art/35020

共有