Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

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

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

  • Loggen Sie sich ein, um Kommentare anzuzeigen.

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

×