Weitere ähnliche Inhalte Ähnlich wie NVMCT #1 ~今さら聞けないSSDの基本~ (20) Mehr von Fixstars Corporation (20) NVMCT #1 ~今さら聞けないSSDの基本~5. 古今東西不揮発メモリ
ストレージを作るには?
– データの蓄積と参照ができる
– 書き込んだデータが永続的に参照できる
不揮発デバイスが必要
不揮発性メモリ
– 電源供給を行わない状態でも書き込まれたデータが消えない半導
体メモリの総称
– 例えば
• FeRAM(強誘電体型)
• MRAM(磁気抵抗型)
• PCM(相変化型)
• ReRAM(抵抗変化型)
• フラッシュメモリ
– EEPROM
(Electrically Erasable Programmable Read-Only Memory)
– NOR Flash Memory
– NAND Flash Memory
– 何が一番いいの?
• ストレージの容量対コストの観点で、NANDフラッシュめちゃ強い
5
詳しくは
福田昭のセミコン業界最前線
https://pc.watch.impress.co.jp/docs/column/semicon/
6. Why NAND flash memory
様々なメモリ素子があるが、所詮は集積されたトランジスタ
ご存知の通り微細化には限界が見えてきている
集積回路のトランジスタ数は18か月毎に倍になるという例のアレ
ダイ面積≒コスト
bits/面積でメモリの容量密度が決まる
6
“Microprocessors no longer scale at the level of performance they used to
— the end of what you would call Moore’s Law,
Jensen Huang(nVIDIA CEO)@COMPUTEX TAIPEI2017も
こう言っています
微細化界のグル、2018年9月 An Steegen氏、imecを去る
https://www.semiconportal.com/archive/blog/insiders/hattori/181005-minitualization.html
7. Why NAND flash memory
ダイ当たりの容量にステータス全振りした
不揮発性メモリ
どうやって容量を稼ぐのか?
– メモリセルあたりの面積
• Cell area factor:4F2で不揮発メモリで最小
– メモリを構成するセルアレイの面積を大きくして、
セルアレイ以外の回路資源(配線)を減らす
– メモリセルあたりの容量を増やす
• 1bit SLC
• 2bit MLC
• 3bit TLC
• 4bit QLC
– 面積が足りない?縦に積めばいいじゃない
• 3D NAND
7
8. Why NAND flash memory
(配線資源をけちる)
データの読み書きのためには、データを保
持するメモリセルの他に、読出し、書き込
みに必要な配線とロジックを配置する必要
がある
8
Not NAND flash memory NAND flash memory
(注)概念図です
メモリセルごとのアクセスが可能
配線がメモリセル面積を圧迫
複数のメモリセルにまとめてアクセス
減らした配線分の面積をメモリセルに充当
9. Why NAND flash memory
(配線資源をけちった代償)
読み/書き/消去単位が大きい
– Program:ページごと(同一ページの上書き不可)
– Read:ページごと
– Erase:ブロックごと
例
– ページ 16KB
– ブロック 1152ページ(約18MB)
9
Cell array
Plane 0
Cell array
Plane n
Page Buffer Page Buffer
Peripheral
Rowdecoder
Rowdecoder
Rowdecoder
Rowdecoder
ISSCC2018
東芝-WDの3D NANDフラッシュ
「福田昭のセミコン業界最前線」
https://pc.watch.impress.co.jp/docs/column/semicon/1108255.html
10. Why NAND flash memory(多値化、積層)
メモリセルあたりの多値化
積層構造による更なる高集積化
10
東芝メモリHPより
SLC MLC TLC QLC
Bits/cell 1 2 3 4
P/E cycles 100,000 3,000 1,000 100?
Read time 25us 50us 75us >100us?
Program time 200-300us 600-900us 900us-1350us >1500us?
Erase time 1.5-2ms 3ms 5ms >6ms?
出展:https://flashdba.com/2014/07/03/understanding-flash-slc-mlc-and-tlc/
11. NAND controller
SSDの典型的な構造
OSからはブロックレイヤドライバからLBA(Logical
Block Address)空間に対してIOコマンドが発行される
NANDコントローラがホストインタフェース経由でコマ
ンドを解釈
FTL(Flash Translation Layer)が論理アドレスと物理アド
レスの対応関係を管理
– 不良ブロック管理
• 初期不良ブロック
(歩留まりと製造コストとのトレードオフ)
• 後発不良ブロック
(経年劣化)
– Wear leveling
– 必要に応じて誤り訂正
– Read disturb対策
– Data retention対策
– NANDフラッシュメモリへのインターリーブアクセス
11
OS
File system
Low-level driver
Host interface
Flash Translation Layer(FTL)
不良ブロック管理 Wear leveling
Interleave
Error collection
Garbage collection
Logical to physical
Address mapping
NAND interface
NAND flash memory
12. FTL(Flash Translation Layer)って何ですか?
ホストから見たリニアな論理アドレス空間を、NANDフラシュメモ
リの物理アドレスと関連付ける
FTLの実装によってNANDフラッシュメモリがはじめてストレージ
になる
– 性能や寿命も支配する超重要な役割
– NANDフラッシュメモリちゃんはとってもわがまま
• 世代が変わると性格も変わっちゃう
– 「QLC怖い」に人類はどう立ち向かうのか!!!
12
Host view
LBA space
#0 addr0 write
#1 addr1 write #2 addr1 read
#3 addr1 overwrite
#4 addr1 read
NAND flash
PBA space
#0 addr0 write
#1 addr1 write
#3 addr1 overwrite
#0 LBA0:PBA0
#1 LBA1:PBA1
#3 LBA1:PBA2
NAND flash
LBA-PBA table