深入淺出SSD:固態存儲核心技術、原理與實戰 ( 簡體 字) |
作者:SSDFans 著 | 類別:1. -> 程式設計 -> 綜合 |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 49089 詢問書籍請說出此書號!【有庫存】 NT售價: 445 元 |
出版日:5/1/2018 |
頁數:330 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111599791 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:為什么要寫這本書
這是一個真正的數據大爆炸時代,看得見,摸得著。
我們每天都在生產數據:發朋友圈、發微博、上傳圖片和視頻到社交網站、備份數據到網盤等。我們的這些數據,不是存儲在虛無縹緲的云端,而是存儲在云服務器上。云服務器的核心就是存儲介質。無論是云端存儲,還是本地存儲,有數據的地方就有存儲介質。
傳統數據存儲介質有磁帶、光盤等,但更多的是硬盤(HDD)。隨著數據呈爆炸式增長,對數據存儲介質在速度上、容量上有更高的要求。時勢造英雄,固態硬盤(Solid State Disk,SSD)橫空出世。SSD使用電子芯片存儲數據,沒有HDD的機械式部件,因此在速度、時延、功耗、抗震等方面,與HDD相比有碾壓式優勢。無論是個人存儲,還是企業存儲,都在逐漸用SSD取代HDD。大數據時代,SSD必將是主角。
HDD時代我們錯過了;SSD時代,我們迎來了彎道超車的好機會。國內很多企業都希望抓住這個機遇,所以他們研發、制造SSD,并且取得了不錯的成績,已經有了能自主研發SSD及SSD控制器的公司。國家層面也在大力研發半導體。長江存儲的成立昭示了國家對固態存儲這塊的態度和決心。
國內SSD領域的從業人員,以及日常使用SSD的人越來越多,但是市面上專門介紹SSD技術的中文書籍少之又少。作為國內領先的SSD技術社區——SSDFans有責任、有義務,也有動力推出一本中文版 SSD技術書籍。
我們幾位作者,都工作在SSD的最前線,是工程師出身,雖文筆一般但是熱情十足,愿意分享對技術的理解。希望這塊磚頭能夠幫助您敲開SSD的大門,如果能夠解決您的一些實際問題,或者引發您的一些思考,我們更是不勝榮幸。 讀者對象
計算機、電子相關專業的在校本科生,存儲方向的研究生:通過閱讀本書,能夠更好地將所學的理論與業界實踐結合,對相關知識有更加深刻的理解,為未來加入企業打好堅實的基礎。
SSD研發企業的員工:通過閱讀本書,可以全面學習與SSD相關的硬件、協議、固件以及測試等各方面的基礎知識,提升整體認知,具備完整、系統的理論知識。
企業IT運維人員:通過閱讀本書,可以充分了解SSD的優劣之處及其適用的工作場景,為公司的IT部署過程提供技術支持,實現整體運營成本的最優配置。
廣大的DIY、游戲愛好者:通過閱讀本書,可以學會如何選擇最適合自己的SSD,以合理投入獲得更好的娛樂體驗。
對SSD產業感興趣的投資人:通過閱讀本書,可以全面了解SSD產業的現狀,掌握基本的技術術語,以便更好地與企業溝通。
其他對SSD知識感興趣的人。
本書特色
本書的作者團隊都在業內知名公司任職,具備豐富的理論和實踐知識。同時,日常維護公眾號期間,跟讀者的頻繁互動也保證了知識的更新速度。
在撰寫本書的過程中,作者們能夠對技術原理做深入淺出的闡述,并結合自身工作經驗給出意見。
本書主要內容
本書的內容幾乎覆蓋了SSD各個模塊,既可以作為一本入門書籍進行通讀,也可以在需要的時候作為工具書進行查閱。
本書內容涵蓋: SSD基礎知識、SSD各模塊介紹及SSD測試相關內容。
SSD基礎知識包括:SSD與HDD的比較、SSD的發展歷史、產品形態、整體架構和基本工作原理。
模塊介紹包括:
FTL閃存轉換層:作為SSD固件的核心部分,FTL實現了例如映射管理、磨損均衡、垃圾回收、壞塊管理等諸多功能,本書將一一介紹。
NAND Flash:NAND Flash作為SSD的存儲介質,具有很多與傳統磁介質不同的特性,本書將從器件原理、實戰指南、閃存特性及數據完整性等方面展開。
NVMe存儲協議:作為專門為SSD開發的軟件存儲協議,NVMe正在迅速占領SSD市場。本書將從其優勢、基礎架構、尋址方式、數據安全等方面展開。為了讓讀者對NVMe命令處理有更加直觀的認識,本書結合實際的PCIe trace進行闡述。同時,本書也介紹了NVMe Over Fabric的相關知識,讓讀者能夠對未來網絡與存儲的發展趨勢有所了解。
PCIe協議:PCIe作為目前主流的SSD前端總線,與之前的SATA接口相比有著極大的性能優勢。本書將從PCIe總線拓撲結構、分層結構、TLP類型與路由、配置和地址空間等方面進行介紹。
電源管理:本書詳述了SSD前端總線(包括SATA和PCIe)的各種節能模式、NVMe協議的電源管理方案及在SSD里常用的整體電源管理架構——Power Domain。
ECC:本書介紹了ECC的基本概念,重點介紹了LDPC的解碼和編碼原理,以及在NAND上的應用。
SSD測試的內容包括:本書詳述了常用的測試軟件、測試流程、儀器設備、業界認證及專業的測試標準等。 致謝
借此機會特別感謝一直以來支持SSDFans的各位朋友(排名不分先后)——冬瓜哥、唐杰、路向峰、廖莎、兵哥、邰總、古貓先生、袁戎、顧滄海、山哥(Brown)等。
感謝機械工業出版社華章公司的編輯楊福川和孫海亮,在這一年多的時間中他們始終支持我們這幾個門外漢,他們的鼓勵和幫助引導我們順利完成全部書稿。
謹以此書獻給親愛的家人,以及眾多支持SSDFans的朋友們! |
內容簡介:本書是國內SSD領域的重要著作,由SSD技術社區SSDFans的核心團隊成員撰寫。團隊成員都是SSD領域的技術專家,來自SSD、NAND Flash和存儲行業的各大公司,精通固件開發、驅動開發、硬件邏輯開發和SSD測試等技術。
它從產品、技術和應用3個維度全面、詳細地講解了SSD的發展歷史、產品形態、工作原理、整體架構,以及各個功能模塊的原理和使用,從SSD的前端接口協議到FTL算法,再到后端的閃存和糾錯,本書都有涉及。
全書一共9章:
第1章是對SSD的宏觀介紹,包括SSD與HDD的區別、SSD的發展歷史、SSD產品的各項關鍵指標、SSD的接口形態,以及SSD的市場情況等內容。
第2章詳細講解了SSD控制器和全閃存陣列,對SSD控制器的作用、內外SSD控制器廠商做了全面介紹,包含多個案例。
第3章對閃存的工作原理和各種特性做了深入剖析,這為理解FTL算法打下了理論基礎,因為FTL算法很多都是圍繞著閃存特性設計的。本章還對新型存儲介質3D XPoint做了介紹。
第4章介紹了SSD的核心技術——FTL的常用算法,包括地址映射、垃圾回收、磨損均衡、掉電處理、壞塊管理等,讓讀者對SSD的內部工作原理有了比較清晰的認識。
第5章和第6章講解了SSD前端接口協議技術PCIe和NVMe。PCIe和NVMe正成為SSD接口和協議的趨勢。PCIe/NVMe SSD較SATA/AHCI SSD有著更快的速度和更低的延時,因此無論是企業級還是客戶級SSD,都在慢慢轉向PCIe/NVMe。
第7章介紹了SSD的一些主流性能測試軟件、測試儀器和測試方法。測試驗證是SSD開發的一個重要環節,不經過測試驗證的SSD是無法產品化的。
第8章講解了SATA/PCIe和NVMe中的電源管理技術。
第9章介紹了閃存的糾錯技術LDPC。閃存ECC糾錯一般有BCH和LDPC,而LDPC正成為趨勢和主流。 |
目錄:贊譽 推薦序一 推薦序二 前言 第1章 SSD綜述 1 1.1 引子 1 1.2 SSD vs HDD 3 1.3 固態存儲及SSD技術發展史 6 1.4 SSD基本工作原理 11 1.5 SSD產品核心參數 13 1.5.1 基本信息剖析 15 1.5.2 性能剖析 18 1.5.3 壽命剖析 21 1.5.4 數據可靠性剖析 23 1.5.5 功耗和其他剖析 26 1.5.6 SSD系統兼容性 29 1.6 接口形態 30 1.6.1 2.5寸 32 1.6.2 M.2 32 1.6.3 BGA SSD 35 1.6.4 SDP 37 1.6.5 U.2 38 1.7 固態存儲市場 38 1.7.1 SSD正在取代HDD 38 1.7.2 SSD、HDD應用場合 39 1.7.3 SSD市場情況 39 第2章 SSD主控和全閃存陣列 41 2.1 SSD系統架構 41 2.1.1 前端 42 2.1.2 主控CPU 45 2.1.3 后端 45 2.2 SSD主控廠商 47 2.2.1 Marvell主控 47 2.2.2 三星主控 49 2.2.3 國產主控,誰主沉浮 50 2.3 案例:硅格(SiliconGo)SG9081主控 55 2.4 案例:企業級和消費級主控需求的歸一化設計 56 2.5 案例:DERA(得瑞領新)NVMe控制器TAI和NVMe SSD產品 58 2.6 全閃存陣列AFA 60 2.6.1 整體解剖 60 2.6.2 硬件架構 64 2.6.3 軟件架構 66 2.6.4 工作流程 69 2.6.5 應用場景 74 2.7 帶計算功能的固態硬盤 75 第3章 SSD存儲介質:閃存 77 3.1 閃存物理結構 77 3.1.1 閃存器件原理 77 3.1.2 SLC、MLC和TLC 78 3.1.3 閃存芯片架構 80 3.1.4 讀、寫、擦原理 83 3.1.5 三維閃存 84 3.1.6 Charge Trap型閃存 89 3.1.7 3D XPoint 91 3.2 閃存實戰指南 95 3.2.1 異步時序 95 3.2.2 同步時序 97 3.2.3 閃存命令集 100 3.2.4 閃存尋址 101 3.2.5 讀、寫、擦時序 102 3.2.6 ONFI與Toggle協議之爭 103 3.3 閃存特性 105 3.3.1 閃存存在的問題 105 3.3.2 壽命 107 3.3.3 閃存測試 109 3.3.4 MLC使用特性 110 3.3.5 讀干擾 111 3.3.6 閃存數據保存期 112 3.4 閃存數據完整性 115 3.4.1 讀錯誤來源 115 3.4.2 重讀 117 3.4.3 ECC糾錯碼 118 3.4.4 RAID 119 3.4.5 數據隨機化 120 第4章 SSD核心技術:FTL 122 4.1 FTL綜述 122 4.2 映射管理 124 4.2.1 映射種類 124 4.2.2 映射基本原理 126 4.2.3 HMB 128 4.2.4 映射表刷新 130 4.3 垃圾回收 131 4.3.1 垃圾回收原理 131 4.3.2 寫放大 137 4.3.3 垃圾回收實現 140 4.3.4 垃圾回收時機 147 4.4 Trim 148 4.5 磨損平衡 150 4.6 掉電恢復 152 4.7 壞塊管理 155 4.7.1 壞塊來源 155 4.7.2 壞塊鑒別 155 4.7.3 壞塊管理策略 157 4.8 SLC cache 158 4.9 RD& DR 160 4.10 Host Based FTL 161 4.10.1 Device Based FTL的不足 162 4.10.2 Host Based FTL架構 163 4.10.3 百度的軟件定義閃存 163 第5章 PCIe介紹 166 5.1 從PCIe的速度說起 166 5.2 PCIe拓撲結構 169 5.3 PCIe分層結構 172 5.4 PCIe TLP類型 175 5.5 PCIe TLP結構 179 5.6 PCIe配置和地址空間 184 5.7 TLP的路由 189 5.8 數據鏈路層 197 5.9 物理層 202 5.10 PCIe Reset 205 5.11 PCIe Max Payload Size和Max Read Request Size 210 5.12 PCIe SSD熱插拔 211 5.13 SSD PCIe鏈路性能損耗分析 213 第6章 NVMe介紹 216 6.1 AHCI到NVMe 216 6.2 NVMe綜述 218 6.3 吉祥三寶:SQ、CQ和DB 223 6.4 尋址雙雄:PRP和SGL 229 6.5 Trace分析 236 6.6 端到端數據保護 241 6.7 Namespace 245 6.8 NVMe over Fabrics 250 第7章 SSD測試 258 7.1 主流SSD測試軟件介紹 258 7.1.1 SSD性能測試第一神器——FIO 258 7.1.2 AS SSD Benchmark 263 7.1.3 ATTO Disk Benchmark 264 7.1.4 CrystalDiskMark 264 7.1.5 PCMark Vantage 266 7.1.6 IOMeter 266 7.2 驗證與確認 267 7.3 測試儀器 268 7.3.1 Emulator 268 7.3.2 協議分析儀 269 7.3.3 Jammer 272 7.4 回歸測試 274 7.5 DevSlp測試 275 7.6 PCIe InterOp 278 7.7 WA測試 280 7.8 耐久度測試 281 7.9 認證Certification 288 7.10 SSD Performance測試 290 第8章 SSD電源管理 294 8.1 SATA省電模式Partial和Slumber 294 8.2 SATA超級省電模式DevSlp 295 8.3 SATA終極省電模式RTD3 299 8.4 PCIe省電模式ASPM 301 8.5 PCIe其他省電模式 305 8.6 NVMe動態電源管理 306 8.7 Power Domain 310 第9章 ECC原理 312 9.1 信號和噪聲 312 9.2 通信系統模型 313 9.3 糾錯編碼的基本思想 315 9.3.1 編碼距離 315 9.3.2 線性糾錯碼的基石——奇偶校驗(Parity-Check) 315 9.3.3 校驗矩陣H 和生成矩陣G 316 9.4 LDPC碼原理簡介 317 9.4.1 LDPC是什么 317 9.4.2 Tanner圖 319 9.5 LDPC 解碼 319 9.5.1 Bit-flipping 算法 319 9.5.2 和積信息傳播算法 322 9.6 LDPC 編碼 327 9.7 LDPC 在SSD中的應用 327 9.7.1 NAND 會出錯 328 9.7.2 NAND 糾錯模型 328 9.7.3 LDPC糾錯流程 330 |
序: |