メモリ基本講座「NAND応用製品(eMMC & SSD)」
NAND 大容量化の工夫
「NORとNANDとは何ぞや」でお話したとおり、NAND Flash は少しでも大容量化を進めようと、SLC → MLC → TLC → QLC → PLC とその記憶セルの構造を工夫してきました。
PLCは開発中です。
MLCまでは並行して、プロセスシュリンクもどんどん進めて、集積度を上げてきました。しかし、そのシュリンクも、プロセスルール 16~19 nm あたりでついに技術的に限界を向かえ、これ以上の微細化は難しくなりました。
そこで、「平面が無理なら、メモリセルを縦に積んじゃえ!」という発想に基づき、誕生したのが 3D NAND です。
3D NAND に対して、これまでの NAND は プレーナ NAND や、2D NAND と言う呼び方をします。平屋(プレーナ NAND) を高層マンション(3D NAND)にして部屋(記憶セル)を増やす、というイメージです。
3D化する際には、プレーナの2世代ほど前(20~30nm 台)のプロセスルールを適用しています。(正式なプロセスは非公開)
高層マンションにして、かつ部屋を広くすると思ってください。部屋が広くなったので、各部屋の住民を増やす(MLC→TLC)のも容易です。こうすることで、容量を増やすとともに、信頼性も確保できるということになります。
ちなみに、Micronは96層、Samsung は128層、KIOXIAは96層で、各社この積層数がどれだけ積めるかが技術競争になっています。
Micron は「浮遊ゲート方式」、他2社は「チャージトラップ方式」という方法を採用しており、それぞれ一長一短がありますが、浮遊ゲート方式は各層の厚みが大きくなるという欠点があります。
現在、NANDが搭載された製品はほとんどがTLCになります。2019年にはQLCが搭載されたSSDがリリースされ、2020年はmicroSDがリリースされています。
QLCは1メモリセルで管理できるビットが4ビットのため、1ビットのSLCと比較すると4倍のコストメリットがあります。
その反面、信頼性が低くなる懸念点はありますが、現在リリースされているQLC搭載の製品は、コントローラでうまくエラーマネージメントされているため、安心してお使いいただけます。
NAND は面倒なデバイス
そのようなわけで、ますます大容量化が進む NAND Flash ではありますが、「NORとNANDとは何ぞや」でお話させていただいたとおり、不揮発メモリにもかかわらず使っていくうちに壊れていくので、なるべく壊れないように、また壊れたところは直しながら使っていかなくてはなりません。プロセスシュリンクが進み、多値化が進んだ今、それには非常に高い技術力が必要です。NAND 専用のコントローラがないと制御は不可能と思っていただいてかまいません。
こんなにも使いにくいデバイスですが、容量の大きさとビット単価が安いことがとても魅力的なので、「だったらコントローラを組み込んだ製品を作っちゃえばいいじゃん」という発想になるのは、ごく自然な流れだと思います。
そうして作られたのが、eMMC, SSD, USBメモリ, SDカード, CFカード等 NAND 応用製品の数々です。
そもそも NAND コントローラって何をしないといけないの?
やることはたくさんありますが、主なものは3つです。
Wear Leveling (ウェアレベリング)
日本語にすると、「書き換えの平準化」 といったところでしょうか。 NAND は、セルの書き換え限度回数が決まっているので、一部の領域に書き換えが集中しないように、アクセスを分散させる必要があります。
Block Management
NAND は、Block という単位が集まって全容量を構成しています。 例えば、128Gb NAND は 8KByte の Block が 2048個集まって出来ている、などです。 すべての Block が使えるわけではなく、出荷時からすでに壊れている "Bad Block" が存在します。 Bad Block には 「使えません」 というしるしが特定の場所に書かれているので、 NAND を使う前にそのしるしを読み出して、Bad Block にはアクセスしないようにする必要があります。
また、NAND を使っていく間にもどんどん Block は壊れていくので、壊れたものを "Bad Block" として省く必要があります。
ECC (Error-Correction Code)
「NORとNANDとは何ぞや」をご参照ください。 NAND が生まれた頃は、"256Byte のデータに対して、1ビットのデータ化けを訂正"という程度でよかったのですが、今では、"1024Byte のデータに対して、60ビットのデータ化けを訂正"などの高い能力が求められるようになっています。
eMMC
eMMC とは、Embedded Multi Media Card の略です。
といってもカードではなく、12mm x 14mm くらいの BGA Package です。最大 8 Die の NAND とそのコントローラが内蔵されているので、上記の Wear Leveling や Bad Block を意識する必要はなく、MMC IF があれば大容量の不揮発メモリ領域を実現することができます。
eMMC
-
- ▶ NANDとコントローラを1チップ化 ( BGA Package )
- ▶ ホストコントローラとはMMC ( Multi Media Card ) IFで接続
- ▶ 容量帯:2GB ~ 12GB
- ▶ パフォーマンス
- ・Seq. Write : Up to 50MB/s
・Seq. Read : Up to 280MB/s
現行の eMMC は、20nm プロセスのプレーナ MLC NAND が搭載されているものが主流ですが、2018年ごろより 3D TLC NAND が搭載されたものに変わってきました。それに伴い、eMMC も大容量化が避けられず、2GB や 4GB といった少量用の製品はEOLになり、流通量が少なくなることが予想されます。
eMMC も DRAM と同様、その仕様は JEDEC で規定されています。
(JEDEC については「DRAMとは何ぞや」をご参照ください。)
Micronの eMMC は JEDEC v5.0、v5.1 が主流です。Version は互換性があり、例えば v4.51 の eMMC を使っている場合、v5.0 に乗せ変えることが可能です。(Version が上がると新機能が追加されたり、アクセススピードが速くなったりしますが、 基本的な仕様は踏襲されます。)
また、NOR を使いたいけど容量が足りない、NAND を使うことを考えている、というみなさまはぜひ、eMMC をご検討ください。
SSD
もうひとつの NAND 応用製品の主流は SSD です。
SSD は Solid State Drive の略です。
サンディスクが、HDD (Hard Disk Drive) や光ディスクを Flash メモリに置き換えることを狙って開発を始めたそうです。
SSD ( Solid State Drive )
- ▶ NANDとコントローラと、それぞれの接続IFを備えたドライブ
- ▶ IFはSATA, mSATA, M.2, SAS, PCI express, など
- ▶ 容量帯:64GB~3.2TB
- ▶ パフォーマンス
- ・SATA
✔ Seq. Write : 500MB/s
✔ Seq. Read : 530MB/s - ・PCIe
✔ Seq. Write : 2.2GB/s
✔ Seq. Read : 2.8GB/s
DRAMはDDR4がメイン。製品によってはDRAMなしのSSDもある。
その歴史から、HDD と比較されることが多いのですが、以下のような特徴があります。
- 利 点
- ・ランダムアクセスが速い(HDD は、ヘッドがディスク上の目的の読み出し位置に到達するまでの時間が要る)
・物理的な稼動部がないため、省電力で、静かで、振動・衝撃に強い
- 欠 点
- ・HDDに比べて値段が高い
・中身は NAND なので寿命が存在する
・故障時にデータ復旧できない
値段が高い、とは言いつつも急速にその差はかなり縮まっており、回転数によってはHDDに近い価格になっています。
SSDはコストを上回る利点(パフォーマンスや耐振動性など)を見出せるアプリケーションで採用が増えています。
・データセンター
・放送機器のレコーダ
・CPU ボード(OSブート用)
・4K カメラ
・ドライブレコーダ
・マイクロサーバ
・RAID システム
・監視カメラ
・・・等
そんな SSD ですが、採用時に技術的なところで気にされるのは、パフォーマンスと信頼性です。
パフォーマンスについては、データシート等に記載はされていますが、Max の値しか記載されていません。
通常気にされるのは、「最低どこまで速度が落ちこむのか」 という点です。
Max 500MBps とあっても、実測で 120MBps まで落ち込む場合があって、動画がコマ落ちしてしまう、、という事態に陥ることは避けねばなりません。しかし、最低値は使用する環境に依存するため、SSDメーカーから提示することはできません。
ここが歯がゆいところなのではありますが、ご自身で測定していただく必要があります。そのためのPALTEKではサンプルをできる限り用意しています。
信頼性については、各 SSD ごとに TBW (Total Byte Written) や DWPD (Drive Write Per Day) という指標がありますので、まずはこの値を参考にしていただければと思います。また、上記で説明したとおり、今後は SSD も 3D TLC NAND の搭載が主流で、QLC搭載のSSDもリリースされています。
QLC なんて大丈夫? と思われると思いますが、
・プロセスルールが2世代ほど戻るから大丈夫
・コントローラを工夫して、3D TLC 搭載 SSD と同程度の信頼性は確保しているから大丈夫
です。
また、Micronの話にはなってしまいますが、「NAND メーカーである」 ということが大きな強みでもあります。NAND はこれまでご説明のとおり、非常に癖のあるデバイスで、その仕様を熟知して使いこなす必要があります。 Micron の SSD コントローラはコントローラーメーカーの技術者と共同で開発しています。 搭載 NAND の性能を最大限に引き出し、信頼性を高める工夫を凝らしたコントローラが出来上がるように、NAND の情報を提供しつつ、各 SSD 毎に最適なコントローラを作り上げます。
今回はここまでとさせていただきます。SSD の種類、インタフェース等は多岐にわたるので、ここですべて説明はできませんが、また機会があればご紹介させていただきます。
今回は「NAND応用製品(eMMC & SSD)」について解説しました。次回は「メモリカード」について解説する予定です。
PALTEKでは、DRAM、NOR Flash、NAND Flashについては Micron 、SRAMについては GSIテクノロジー の取り扱いをしています。