Flash Storage

一般的になり,バリエーションも増えてきたので簡単に整理してみる.NAND Flash Memory の特徴とか性能とか内部機能、Flash 利用のための最適化の話とかはまた今度.

SSD (Solid State Drive)

半導体不揮発メモリを記憶媒体とした記憶装置.本来の名称としては記憶媒体としての不揮発メモリはどんなものでもよく,メジャーな NAND Flash Memory に限定されない.が,今のところ NAND Flash Memory を記憶媒体としたドライブのことを指すことが多い.そのため,Flash Storage とほぼ同義で使われることもある.また,形状についても幅広く,HDD (Hard Disk Drive) と同型のドライブ型に限定されず,PCI Express (PCIe) カード型やコンパクトな M.2 型など,まとめて SSD と呼称される.

最も身近なのは,PC に内蔵されている SATA 接続のドライブ型 SSD で,高速な HDD という位置付けである.タブレットや薄型ラップトップ PC など向けに,省スペース省電力のためにメイン基板に直付けされた BGA タイプもある.

メジャーなデータ転送方式は SATA(AHCI), SAS, SATA Express, NVM Express がある.正確には,物理層コネクタ形状,転送プロトコルなどの組み合わせがややこしいので,ここでは転送方式と言ってしまう.SATA Express や NVMe Express は PCI Express を用いた転送のため,SATA に比べて帯域幅が広い.現在普及している SATA3 は 600MB/s, PCIe Gen.3 x4 で 4GB/s.もちろん PCIe のレーン数や SSD 内部を制御する SSD コントローラ (さらにはその上で動く firmware) によって性能は異なる.SATA SSD が主流ではあるが,性能面のメリットを享受した NVMe SSD が増え始めている.

USB Memory, SD Card

主に NAND Flash Memory をコンパクトに搭載した記憶装置.携帯性が重視されたものである.PC の一時データ格納や携帯端末の外部記憶装置としての利用が主である.一昔?前までは Flash Storage と言えば USB Memory や SD カードを指していた.省スペース省電力が重要であるため,SSD に比べて性能は高くない.そもそも USB などの接続方式がボトルネックになることが多い.また,用途的に低負荷のアクセスを想定しているため,寿命やデータ保護の点で SSD に劣る.一方で,用途を限定した事による低価格化を実現している.

eMMC, UFS

省電力,省スペースに重きを置きつつ,汎用性も確保されている組み込み向け Flash Storage.普通には見かけない基盤直付けの BGA タイプが主である.UFS は eMMC の後継と目されており,各種スペックが強化されている規格である.UFS 2.0 では最大 11.6Gb/s とされており,SATA よりも高速である.そのため近年性能向上が著しいスマホに UFS が搭載され始めた.

Enterprise Flash Storage

見かけること,使うことが少ないであろうエンタープライズ向け Flash Storage.用途は何でもありの幅広さで,超高負荷 I/O を必要とするシステムを支えたり,主記憶の拡張や大容量ストレージのキャッシュ,省電力なコールドストレージ(滅多にアクセスされない用途)として使用されたりする.基本的には上記の SSD であり、コンシューマ(一般)向けに比べて高性能,高信頼,長寿命な SSD のゴツイやつである.形態も幅広く,ドライブ型,カード型 SSD だけでなく、ラックマウントの筐体に多数の SSD を搭載して束ねた上で重複排除や圧縮機能などで多機能化し,単なる記憶デバイスというよりもストレージシステム化したもの(All Flash Array)を含むことも多い。接続方式も多様で,SAS を始め Fibre Channel, PCIe, ethernet などなど.通常の SSD と同様に高速な HDD として普及が始まったが,現在では上記のような用途があり、多様化している.また,近年は,購入初期やベンチマーク時だけの見かけの性能よりも,レイテンシにバラツキがない,高負荷でも性能が持続するなど,性能安定性を重視している製品が多くなった.

なぜかふと始めてみる

社会人6年目な software engineer やっている。もう若くないよ。でもそれなりに自由に生きている。今のところは。前とか現職とかそのうち書くかも。

まずは頭の中で考えていることを備忘録的に書いてみる。余裕がある時や不意に書きたくなった時に、割と真面目に、近い未来に「あの時はこんなことを考えてたのかぁ」と自分で振り返ることができる程度に。あとできれば技術的なことも書きたい。