Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NVMCT #1 ~今さら聞けないSSDの基本~

443 views

Published on

2018/10/10に行われた NVMCT #1 ( https://nvmct.connpass.com/event/98375/ ) 発表2前半、近村 啓史の発表資料です。

Published in: Technology
  • Be the first to comment

NVMCT #1 ~今さら聞けないSSDの基本~

  1. 1. NVM Casual Talks ~今更聞けないSSDの基本~ 2018/10/10
  2. 2. アジェンダ 自己紹介 ごあいさつ 古今東西不揮発メモリ Why NAND flash memory SSDの典型的な構造 FTLって何ですか? 2
  3. 3. 自己紹介 3 所属 株式会社フィックスターズ (いろんなハードウェアを使い倒すソフトウェアを作る会社) 過去のお仕事 CPUのマイクロアーキテクチャ設計エンジニア 画像処理ソフトウェア開発チームマネージャ SSD開発チームのマネージャ など 現在のお仕事 いろいろやっています
  4. 4. こんばんは! NANDフラッシュメモリとSSDの 中身をおさらいします – 詳しい人が多そうなのでさらっと SSD(Solid State Drive)と言えば? – NANDフラッシュメモリが使われているらしいよ – HDDに比べて • 値段が高い? – QLC(Quad Level Cell)が出てきた今、お安いSSDも出てきて いる(Intel SSD 660p 2TB $399 ⇔ Seagate HDD 2TB $100) • 速い? – ランダムアクセス性能はQLCでもHDDの2桁速い • メカ的な衝撃に強いよ – でもQLC(Quad Level Cell)の寿命は短い… – そんなQLCヤバい話は後半戦で 4
  5. 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. 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. 7. Why NAND flash memory ダイ当たりの容量にステータス全振りした 不揮発性メモリ どうやって容量を稼ぐのか? – メモリセルあたりの面積 • Cell area factor:4F2で不揮発メモリで最小 – メモリを構成するセルアレイの面積を大きくして、 セルアレイ以外の回路資源(配線)を減らす – メモリセルあたりの容量を増やす • 1bit SLC • 2bit MLC • 3bit TLC • 4bit QLC – 面積が足りない?縦に積めばいいじゃない • 3D NAND 7
  8. 8. Why NAND flash memory (配線資源をけちる) データの読み書きのためには、データを保 持するメモリセルの他に、読出し、書き込 みに必要な配線とロジックを配置する必要 がある 8 Not NAND flash memory NAND flash memory (注)概念図です メモリセルごとのアクセスが可能 配線がメモリセル面積を圧迫 複数のメモリセルにまとめてアクセス 減らした配線分の面積をメモリセルに充当
  9. 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. 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. 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. 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

×