最近のストレージ選びでは HDD より SSD が選ばれる機会が増えていますが、「SSD、フラッシュ、NAND、何が違うの?」なんて聞かれたことはありませんか?今回は、それらについて簡単にご説明したいと思います。

まず、フラッシュとは

正式には「フラッシュメモリ」と呼ばれます。ROM(Read Only Memory)の一種で、絶縁膜に囲まれた浮遊ゲート(フローティングゲート)に電子を注入することによりデータ記録を行う不揮発性記憶素子の半導体メモリです。電源を切ってもデータが消えないため、急速に普及が進みました。

図 1 – フラッシュメモリの「セル」断面図

ただし、トンネル酸化膜を通して電子を出し入れするため、酸化膜が徐々に劣化を起こし、やがて寿命に達します。

図 2 – フラッシュメモリのトンネル酸化膜

フラッシュメモリの種類 ― NOR 型と NAND 型

フラッシュメモリは、回路構造の違いにより「NOR 型」と「NAND 型」に大別されます。最初に開発された NOR 型は、構成上、書き込みが低速で大容量化に向かないため、携帯電話やルータなどのプログラムを保存するのに使われます。一方、NAND 型は、書き込みが高速で大容量化しやすいという特長があるため、ストレージにはこの NAND 型が多く用いられます。

図 3 – NAND 型フラッシュメモリ

SSD とは

SSD(Solid State Drive)とは、NAND 型フラッシュメモリを記憶媒体として用いた記録装置であり、HDD と同じ接続インタフェース(ATA 規格)で利用できるようになっています。 OS 側からは HDD として認識されるため、ブートドライブ(PC の起動ドライブ)としても使用されます。また、高性能なコントローラと DRAM バッファで構成されているため、NAND 型フラッシュメモリを使った USB メモリと比べて高速な読み書きが可能です。

図 4 – コントローラと DRAM バッファ

コントローラは、SSD における次のような処理を制御します。

  • ウェアレベリング(平準化):
    データの書き換え回数を SSD 内のセルにできるだけ均等に分散させる動作です。
  • ガベージコレクション:
    不要となったデータを削除する動作です。SSD では、データ削除は、書き込み単位よりも大きな単位のブロックで行う必要があります。そのため、ブロック内の有効データを移動した後にブロック全体を削除します。

フラッシュメモリのセルの種類 ― SLC、MLC、TLC

フラッシュメモリのセルには、SLC(single-level cell)、MLC(multi-level cell)、TLC(triple-level cell)という 3 つの種類があります。当初は、1 つのセルに電流が通るか否か(”0”、”1”)の 2 値を保持する SLC が開発されました。その後、容量を増やすためのセルサイズ微細化とともに多値化の開発が進み、MLC および TLC が登場しました。

図 5 – フラッシュメモリのセル
  • SLC
    • 1 つのセルに 1 ビットの情報を保持
    • 書き込み回数の上限は 10 万回/セル
  • MLC
    • 1 つのセルに 2 ビットの情報を保持するため、SLC に比べ大容量だが制御性能が必要
    • ビットエラー用の余剰領域の違いにより、価格が eMLC(エンタープライズ MLC)> cMLC(コンシューマ MLC)となる
    • 書き込み回数の上限は 1 万回〜5000 回/セル
  • TLC
    • 1 つのセルに 3 ビットを保持するため、MLC に比べてより大容量および高い制御性能が必要
    • 書き込み回数の上限は 1000 回/セル

今回は SSD の基礎をご説明しました。次回以降では、SSD をエンタープライズ向けのストレージとして使用する際の懸念事項と、ピュア・ストレージの FlashArray がそれらの懸念事項をどのように解決しているかをご説明したいと思います。