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架構與工作原理架構
- Rxjava工作原理總結RxJava
- Attention的基本原理與模型結構模型
- Redis核心原理與實踐--列表實現原理之quicklist結構RedisUI
- [系統架構] AKKA工作原理架構
- 工作流引擎的工作原理與功能
- MPLS基礎與工作原理
- Git概念及工作原理總結Git
- Tomcat-結構原理Tomcat
- NVMe SSD的GC演算法與模擬原理解析GC演算法
- 計算機組成與系統結構 cache 原理與計算計算機
- Tomcat結構原理詳解Tomcat
- Metro拆包工作原理與實戰
- 結構化與非結構化
- redis 儲存結構原理 2Redis
- SMT上板機工作原理與操作流程
- 順序結構與選擇結構
- python分支結構與迴圈結構Python
- 微機原理與系統設計筆記2 | 8086CPU結構與功能筆記
- Storm架構與執行原理ORM架構
- Apache Arrow DataFusion原理與架構Apache架構
- SMT貼片機的工作原理與操作流程
- 類與結構體結構體
- Redis資料結構—連結串列與字典的結構Redis資料結構
- KubernetesAPIserver工作原理APIServer
- Mybatis工作原理MyBatis
- require工作原理UI
- HTTPS工作原理HTTP
- Nginx工作原理Nginx
- pr工作原理
- SpringMVC工作原理SpringMVC
- Python(二):選擇結構與迴圈結構Python
- 資料結構知識點--儲存結構與邏輯結構資料結構
- HP EVA系列儲存結構原理研究
- 【資料結構】ArrayList原理及實現資料結構
- jMeter結構體系及執行原理JMeter結構體
- JAVA常用資料結構及原理分析Java資料結構