SSD的組成:主控淡诗、閃存骇塘、緩存單元(RAM、SRAM韩容、DRAM可選)
主控的作用:1款违、前端實現(xiàn)標(biāo)準(zhǔn)接口,與主機(jī)通信(SATA群凶、SAS奠货、PCIe接口); 2座掘、后端實現(xiàn)與閃存的通信;3柔滔、運(yùn)行SSD內(nèi)部FTL算法
? ? ? ? SATA接口執(zhí)行AHCI協(xié)議溢陪;PCIe執(zhí)行NVMe協(xié)議;
閃存:非易失性存儲器睛廊,存儲單元包括SLC形真、MLC、TLC(分別存儲1bit超全、2bit咆霜、3bit數(shù)據(jù))
?????????一個閃存有若干個Die(或者LUN)連接通道,每個Die有若干個Plane(常見的1嘶朱、2蛾坯、4個)匈睁,每個Plane有若干個Block悼枢,每個Block有若干個Page,每個Page對應(yīng)一個Wordline俩由,每個Wordline有成千上萬個存儲單元組成
? ??????閃存的功能:讀、寫倘零、擦(不能覆蓋寫唱遭,要先擦除;擦除以Block為單位呈驶,讀寫以Page為單位)
? ??????閃存的問題:1拷泽、閃存壞塊 ;2袖瞻、讀干擾司致;3、寫干擾虏辫;4蚌吸、存儲單元間的耦合;5砌庄、電荷泄露
SSD前端通信:通過SATA羹唠、SAS和PCIe等接口與主機(jī)相連,實現(xiàn)對應(yīng)的ATA娄昆、SCSI和NNMe等協(xié)議
SSD后端通信:遵循ONFI或者Toggle協(xié)議佩微,與閃存通信
FTL算法:1、壞塊管理萌焰;2哺眯、地址轉(zhuǎn)換;3扒俯、垃圾回收奶卓;4、磨損均衡撼玄;5夺姑、讀干擾處理;6掌猛、數(shù)據(jù)保持
????????壞塊管理:閃存天生有壞塊盏浙、隨著SSD的使用,壞塊越來越多荔茬。壞塊的癥狀是擦寫失敗或者讀失敺媳臁(ECC不能糾正數(shù)據(jù)錯誤),采用略過策略或替換機(jī)制慕蔚。略過策略導(dǎo)致并行度不高丐黄,替換機(jī)制有木桶效應(yīng),受限于較差的Die
? ? ? ? 地址轉(zhuǎn)換:映射表坊萝,完成主機(jī)的邏輯地址到閃存的物理地址的轉(zhuǎn)換孵稽,映射表大小一般是SSD容量的1/1024许起。映射表存放在主機(jī)內(nèi)存、SSD半載DRAM(常用)菩鲜、或內(nèi)存中园细。映射的方式有三種:塊映射、頁映射接校、混合映射猛频。塊映射的特點是有較好的大尺寸讀寫性、較差的小尺寸數(shù)據(jù)的寫性能蛛勉。頁映射的特點是有較好的讀寫性能鹿寻,缺點是需要更多的空間存儲映射表》塘瑁混合映射所需空間和性能介于塊映射和頁映射之間毡熏。
????????垃圾回收:垃圾是由于數(shù)據(jù)異地更新,原始數(shù)據(jù)無效產(chǎn)生的侣诵。垃圾回收是把一個或多個Block上的有效數(shù)據(jù)搬出來痢法,集中寫到某個空閑的的Block上,有效數(shù)據(jù)搬走后杜顺,擦除這些Block财搁。垃圾回收會引起寫放大(WA)寫放大會磨損閃存、占用帶寬躬络,還會磨損閃存尖奔,影響壽命,寫放大越小越好穷当。預(yù)留空間(OP)越大提茁,寫放大越小,OP越大馁菜,每個閃存塊的有效數(shù)據(jù)越小甘凭,垃圾越多,重新寫入的數(shù)據(jù)越少火邓,寫放大就越小。
? ? ? ? 磨損均衡:閃存有壽命德撬,每個閃存塊擦寫次數(shù)有限制铲咨,F(xiàn)TL要保證每個閃存塊均衡寫入。分為動態(tài)磨損平衡和靜態(tài)磨損平衡蜓洪,動態(tài)磨損平衡指將熱數(shù)據(jù)寫到年輕的塊上纤勒;靜態(tài)磨損平衡指將冷數(shù)據(jù)寫到年老的塊上(冷數(shù)據(jù),不經(jīng)常更新的數(shù)據(jù)隆檀;熱數(shù)據(jù)摇天,經(jīng)常更新胡數(shù)據(jù)粹湃;年老塊,擦寫次數(shù)較多的閃存塊泉坐;年輕塊为鳄,擦寫次數(shù)較少的閃存塊)