SSD結構與工作原理
SSD主要有三部分構成:主控(Controller), DRAM快取和NAND快閃記憶體。
主控對於SSD的作用,類似CPU對於電腦的作用,屬於大腦中樞,擁有最高指揮權,管理NAND快閃記憶體,實現資料的儲存。
DRAM快取是Host與SSD主控之間的資料中轉站。在Host寫入資料時,並不會直接交給主控去寫入NAND快閃記憶體,而是先把資料丟到DRAM快取中,之後再傳到主控內部的快取中,最後再由主控寫入NAND快閃記憶體,這樣做的目的是提高資料傳輸的效率。
是不是有點不太好理解?沒關係,舉個簡單的例子:(已經理解的同學可以略過這部分)
比如說,在網購的時候,一件A商品會產生10元郵費,如果要購買5件A商品,我們一次購買5件呢?還是分5次購買呢?很顯然,肯定會一次購買5件呀,這樣只需要付一次郵費(每個人都很聰明,我這裡只是舉個例子哈)。
同理,如果Host每發一筆資料,不管傳輸的資料大小,主控都直接響應,然後寫資料到NAND快閃記憶體,這時主控會花費了大量的精力去處理瑣碎的事情,致使SSD表現不盡如人意,最終被嫌棄。SSD又一次發揮聰明才智,將DRAM這一干將招致麾下,並給DRAM派了個任務量,在Host傳輸資料時,先送到DRAM手裡,如果沒有達到任務量,就不要給領導-主控彙報了。這樣大大地降低了主控的負擔,提高了SSD處理資料的效率。
NAND快閃記憶體是資料歸屬地,NAND顆粒的存在,賦予了SSD儲存資料的使命。為了提高儲存的效能,主控會通過不同的通道(Channel)操作NAND快閃記憶體。
DRAM與NAND的結構與原理會在後續文章中詳細介紹,今天主要分享SSD的司令官-主控。
由於Host和NAND快閃記憶體兩位人士,性格迥異,對資料處理的方式完全不一樣。此時就需要領導者-主控登場了,發揮管理智慧,打造一支和諧共贏的團隊,實現儲存資料的使命。
對於一個稱職的主控,需要有能力完成兩項艱鉅的任務:
1. 為Host和NAND提供適當的對接介面(Interface)以及協議(protocol);
2. 高效地處理資料,優化傳輸速率,同時保證資料的完整性。
目前主流SSD主控架構如下圖:
主要有三大部分組成:與Host對接的介面(Host interface), 快閃記憶體轉換層FTL以及快閃記憶體對接介面(Flash interface)。
Host interface採用的協議(protocol)包括SATA,PCIe/NVMe SSD協議。
快閃記憶體轉換層FTL是主控的核心部分,主要實現磨損平衡(Wear-leveling), 垃圾資料回收(Garbage Collection), 壞塊管理(Bad Block Management)和資料糾錯處理(ECC, Error Correction Code)。
Flash interface包括了SSD主控的flash controller,用來控制主控與NAND快閃記憶體之間的資料傳輸。
NAND快閃記憶體是資料歸屬地,NAND顆粒的存在,賦予了SSD儲存資料的使命。為了提高儲存的效能,主控會通過不同的通道(Channel)操作NAND快閃記憶體。
相關文章
- struts2的工作原理與檔案結構
- 瞭解ansible架構與工作原理架構
- Mysql索引結構與索引原理MySql索引
- Rxjava工作原理總結RxJava
- Attention的基本原理與模型結構模型
- Redis核心原理與實踐--列表實現原理之quicklist結構RedisUI
- [系統架構] AKKA工作原理架構
- MPLS基礎與工作原理
- 工作流引擎的工作原理與功能
- Git概念及工作原理總結Git
- NVMe SSD的GC演算法與模擬原理解析GC演算法
- Tomcat組成與工作原理Tomcat
- PPPoE工作原理與幀格式薦
- 資料結構 — 並查集的原理與應用資料結構並查集
- zt_oracle 12c後臺程式與工作原理架構圖Oracle架構
- 計算機組成與系統結構 cache 原理與計算計算機
- 工作分解結構(轉載)
- Tomcat-結構原理Tomcat
- Metro拆包工作原理與實戰
- 為SSD程式設計(2):SSD的架構和基準程式設計架構
- 結構化與非結構化
- 工作總結--系統架構架構
- Tomcat結構原理詳解Tomcat
- redis 儲存結構原理 2Redis
- SMT上板機工作原理與操作流程
- 順序結構與選擇結構
- 結構與OIL
- Storm架構與執行原理ORM架構
- Apache Arrow DataFusion原理與架構Apache架構
- 由淺入深探究 MySQL索引結構原理、效能分析與優化MySql索引優化
- python分支結構與迴圈結構Python
- 深入淺出理解 Spark:環境部署與工作原理Spark
- SMT貼片機的工作原理與操作流程
- HTTP響應報文與工作原理詳解HTTP
- 搜尋引擎工作的基礎流程與原理
- 微機原理與系統設計筆記2 | 8086CPU結構與功能筆記
- vue@2.0原始碼學習---目錄結構分析與準備工作Vue原始碼
- require工作原理UI