




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 閃存技術最全面解析 大家好,今天為大家準備了閃存技術大餐,內容涉及閃存架構、關鍵技術、顆粒、接口和可靠性等方方面面。部分內容之前在本號上發(fā)布過,但內容不系統(tǒng)、技術不全面,今天我專門花時間進行梳理和總結。內容豐富且基本全是原創(chuàng),請耐心往下看,希望對大家理解閃存有所幫助。 閃存最明顯特點就是穩(wěn)定性能,低時延和高隨機IOPS。對于閃存,在評估性能時,我們一般主要關注90% IO落入規(guī)定的時延范圍(性能是一個線性范圍,而不是某一個點)。數(shù)據(jù)保護等追求所有軟件特性都基于Inline實現(xiàn),如Inline重刪、壓縮、Thin-Provisioning(尤其是重刪,一方面SSD價格還是偏高,重刪壓縮可以節(jié)約
2、投入成本;另一方面也減少了IO下盤次數(shù)提高SSD壽命)。但對于閃存,我們所關注的特性和技術指標遠遠不止這些。閃存架構 閃存的Scale out能力: 橫向擴展能力是應對并發(fā)訪問和提升性能容量的最基本特性,所以閃存是必須具備的功能。目前XtremIO支持16控,solidfire已經(jīng)支持但100個控制器節(jié)點。 控制器對稱A/A 能力: 閃存的主要應用場景如OLTP等,傳統(tǒng)的A/P、ALUA陣列在主控制器故障切換時都需要時間切換,并導致IO歸零;并且在閃存陣列下,一般系統(tǒng)CPU是瓶頸,所以只有無歸屬、性能均衡的A/A對稱架構才能更好應對。目前傳統(tǒng)存儲(如EMC VMAX/VNX,HP 3PAR,
3、HDS USP/VSP)都已經(jīng)支持,但是閃存陣列還沒看見宣傳;好多閃存產(chǎn)品,如 PureStorage還是 A/P模式。元數(shù)據(jù)管理 閃存的設計主要是考慮如何發(fā)揮出SSD的隨機訪問性能,不像HDD那樣,需要通過預取、IO聚合技術來提高下盤的順序性,減少對機械盤的操作來提升性能。所以閃存在設計上要考慮如何優(yōu)化元數(shù)據(jù)(系統(tǒng)元數(shù)據(jù)、重刪壓縮指紋、FTL映射等)管理,IO調度策略,垃圾回收和磨損均衡等設計。 兩層元數(shù)據(jù)管理架構是實現(xiàn)元數(shù)據(jù)管理的趨勢,其基本思想是元數(shù)據(jù)映射基于LBA-塊ID-Block位置的Map形式,卷的數(shù)據(jù)LBA映射到塊ID,而不是磁盤上的物理Block地址;數(shù)據(jù)變化后只需改變對應塊
4、ID映射關系,塊ID就可以映射到新的物理空間,這樣相比單層方式就簡化重刪壓縮實現(xiàn)和效率。 SolidFire采用兩層元數(shù)據(jù)管理架構實現(xiàn)元數(shù)管理,元數(shù)據(jù)管理采用Key-Value方式;元數(shù)據(jù)映射基于LBA-塊ID-位置的Map形式,卷的數(shù)據(jù)LBA對應塊ID,而不是磁盤上的物理地址;所以數(shù)據(jù)變化后計算指紋只需改變對應塊ID映射關系,天然就支持重刪。在垃圾回收時,是采用塊標記法實現(xiàn)對未使用塊的清除。GFTL功能 GFTL稱作Global FTL,閃存陣列可以配合SSD控制器(需要SSD開放內部接口給陣列),通過陣列完成一些如ROW寫滿條帶下盤,全局負載均衡,整塊對齊擦除、垃圾回收等高級優(yōu)化功能。另外
5、,GFLT也可記錄重刪壓縮數(shù)據(jù)庫,指紋元數(shù)據(jù)管理,實現(xiàn)RAID功能,進行IO聚合,通過元數(shù)據(jù)記錄實現(xiàn)RAID滿條帶下盤,從而規(guī)避讀、修改、寫放大操作,解決Write-Hole問題等。 SSD自身的FTL只能完成數(shù)據(jù)LAB/重刪后數(shù)據(jù)塊、到真實顆粒塊(block)的影射,只能實現(xiàn)簡單的垃圾回收和ROW數(shù)據(jù)寫,內部把不同Block組織在一起組成RAID。很多外購SSD磁盤的閃存廠商都還不支持GFTL技術,但是該技術是提高閃存效率和競爭力的有力武器。重刪特性 重刪是閃存最基本特性之一,分為Inline和Postline,但對閃存Inline才能體現(xiàn)真正價值。重刪一般分為HASH指紋算法(以SHA-1
6、為例說明,存在碰撞問題)和按字節(jié)對比法兩種,逐字節(jié)對比可靠性高,但會嚴重影響閃存性能,所以很少使用,只在數(shù)據(jù)一致性要求非常嚴格的場景下使用。 SHA-1算法會有Hash沖突的概率,Hash輸出長度一般為160字節(jié)的數(shù)字,對不同數(shù)據(jù)塊(大小可設置)其輸出是隨機的,在0-2(160-1)間分布,不同數(shù)據(jù)產(chǎn)生相同Hash值的概率2(-160),只有數(shù)據(jù)量(固定數(shù)據(jù)塊大小)超過這些數(shù)字能表示的值時,才會發(fā)生Hash沖突,但到目前位置,所有產(chǎn)生的數(shù)據(jù)量總和都不至于產(chǎn)生Hash沖突。 所以Hash方式在產(chǎn)品中最為常見。場見的強Hash算法有SHA-1, SHA-256等;常見的弱Hash算法有Murmur
7、3, CRC, MD5等;強Hash發(fā)生沖突的概率低。 但是在某些場景,如在8K業(yè)務數(shù)據(jù)塊大小的數(shù)據(jù)庫場景下,Key值基本上是唯一的,如果重刪粒度也是8K則根本起不到重刪的效果,可以讓客戶選擇關閉該功能(XtremIO的Inline重刪功能是無法關閉的),只開啟壓縮。IO基本流程 數(shù)據(jù)從主機下發(fā)到閃存陣列控制器,對于非A/A架構的閃存來說,首先盤判斷IO對應LUN的歸屬,如果LUN歸屬在在本地控制器,IO就寫到到對應Cache并鏡像,否則轉發(fā)給LUN歸屬控制器處理。Cache到水位時再切分塊LBA為相應大小后,交給增值模塊(如重刪壓縮模塊)處理,計算出指紋后,將指紋和數(shù)據(jù)(重復數(shù)據(jù)只保留指紋)
8、交給歸屬控制器來完成下盤,相關模塊下盤時分配分條,湊滿條帶后順序寫入磁盤,記錄真實地址和指紋關系,保存指紋到指紋數(shù)據(jù)庫。Block磨損均衡 Block磨損均衡是為了讓數(shù)據(jù)均勻分布在SSD的所有Block中,從而能達到冷熱點均勻分布提高SSD壽命的目的。閃存必須提供磨損均衡來實現(xiàn),磨損均衡分為動態(tài)磨損均衡和靜態(tài)磨損均衡;動態(tài)磨損均衡是由主機更新數(shù)據(jù)觸發(fā)的,通過主機讀寫保證數(shù)據(jù)的擦寫平均分布到所有的Block上,因為每種應用都有冷熱數(shù)據(jù),所以靜態(tài)磨損均衡并不能保證冷熱度均勻分布。 靜態(tài)磨損均衡是由SSD內部機制實現(xiàn),將冷Block上的數(shù)據(jù)進行轉移(不同于垃圾回收),擦寫冷Block上面的數(shù)據(jù)來接受
9、經(jīng)常變化的熱點數(shù)據(jù),使冷Block有機會成為熱Block,從而使SSD中所有Block的冷熱度達到平衡。SSD掉電保護 為了防止SSD磁盤中緩存數(shù)據(jù)由于掉電丟失,SSD還需要提供掉電保護功能。一般SSD會設計電壓檢測模塊來實時檢測電壓值,當電壓低于設置閾值時,SSD電壓檢測模塊會通知SSD控制器進入掉電數(shù)據(jù)刷寫流程,此時會有超級電容作為備電源供電,把磁盤緩存數(shù)據(jù)刷到Flash顆粒中,防止數(shù)據(jù)丟失。 另一方面,閃存陣列也應該提供一種機制,當陣列主動下電或升級維護時,下發(fā)命令給SSD,讓SSD進入掉電緩存數(shù)據(jù)刷新流程,保證數(shù)據(jù)一致性。 閃存(Flash)是相對于HDD而言的一種非易失性存儲器,F(xiàn)l
10、ash分為NOR Flash和NANDFlash,NOR Flash可以當作內存使用直接執(zhí)行程序,相比DDR 、 SDRAM 或者 RDRAM具有掉電數(shù)據(jù)不丟失等特點,所以在嵌入式設備(ARM/MIPS等體系架構)中,一般采用NOR Flash存儲BootLoader和OS程序。但今天我們的重點是NAND Flash。Flash顆粒解析 學習過模擬電路的同學都知道,在模電原理里三極管分兩種,一種是雙極性三極管,主要基于載流子用來做電流放大,另一種叫做CMOS場效應三極管,通過電場控制的金屬氧化物半導體。NAND Flash就是基于場效應P/N溝道和漏極、柵極技術通過浮柵Mosfet對柵極充電實
11、現(xiàn)數(shù)非易失據(jù)儲存的。一個晶體單元稱作一個Cell,向Cell中充電就是編程或寫入數(shù)據(jù),通過電平的高低來判斷數(shù)據(jù)是0還是1。在SLC顆粒類型的Flash中,沖入電荷讀取到閾值電平為高電平,一般表示數(shù)據(jù)0。 NAND Flash SSD和HDD的最大區(qū)別,其一是SSD通過Flash控制電路選通原理來讀/寫對應地址數(shù)據(jù),不必采用笨拙的機械磁頭定位數(shù)據(jù)外;其二是SSD在充電寫入數(shù)據(jù)前,必需要擦除原有的數(shù)據(jù),每次充電和放電稱為一次P/E(編程/擦出),一塊SSD的壽命和可以執(zhí)行P/E操作的次數(shù)強相關。每種Flash顆粒的P/E操作次數(shù)是不同的,P/E操作次數(shù)越多,對應Flash顆粒的SSD壽命越長,可靠
12、性越好,價格也越高。NAND Flash顆粒分類 NAND Flash可根據(jù)Cell儲存bit數(shù)據(jù)位的不同分為SLC,MLC,TLC,其中MLC還分為eMLC,MLC和cMLC。由于不同類型顆粒結構不同,所有導致了不同顆粒間數(shù)據(jù)儲存能力,性能和可靠性存在差異。 SLC(single level Cell) 是單層存儲單元,一個Cell中只存儲1bit數(shù)據(jù)(0/1),在寫入數(shù)據(jù)后就高低2為電平,由于判定寫入數(shù)據(jù)值電壓的區(qū)間小,所以可擦寫次數(shù)和可靠性也是最好的,一般在5W-10W之間,但是存儲容量相對較少,成本也最高。 MLC(multi-level Cell) 多層式儲存單元,存儲密度較大,一個
13、Cell中可以存儲2bit數(shù)據(jù)(00/01/10/11),相比SLC,判定寫入Cell中電壓值區(qū)間比2bit數(shù)據(jù)就比較復雜了,由于NAND Flash的物理屬性(擦寫會對顆粒的絕緣層造成損壞),也使得隨著擦寫次數(shù)增多,很難判斷出寫入的數(shù)據(jù)具體代表的bit位。其擦寫次數(shù)一般3K左右,另外,2bit數(shù)據(jù)讀寫使得MLC速度比SLC慢,但容量較大,價格比較便宜。 eMLC(enterprise MLC)和cMLC(consumer MLC)都是采用MLC技術,主要差別就是NAND Flash顆粒篩選參數(shù),制作工藝和測試方法不同。通過不同標準來界定顆粒,eMLC是經(jīng)過嚴格測試和企業(yè)級標準篩選,所以可靠性
14、和壽命最高;MLC次之;把挑選完eMLC/MLC之后顆粒成為 cMLC,可靠性和壽命都要稍差一些,但成本低,一般總在個人消費和企業(yè)非關鍵應用中。 TLC(Triple level Cell)三層式存儲單元,一個Cell中存放3bit數(shù)據(jù)(000-111),數(shù)據(jù)密度更大,通過判定電壓確定寫入Cell數(shù)據(jù)的難度更大,所以SLC的擦寫次數(shù)(P/E)操作只有幾百次到上千次;可靠性和性能很低,具有成本優(yōu)勢,一般用在個人消費產(chǎn)品中(不能滿足企業(yè)產(chǎn)品要求)。SSD的可靠性問題 為了進一步提高SSD磁盤的壽命,一方面,存儲(SSD/HDD)廠商還會在顆粒之上通過ECC(隨用戶數(shù)據(jù)生成一起寫入磁盤)糾錯技術糾正
15、靜默錯誤。在數(shù)據(jù)寫入時采用ECC編碼寫入檢驗位,當數(shù)據(jù)由于位翻轉導致靜默錯誤,讀取數(shù)據(jù)時可以利用ECC檢驗位校正數(shù)據(jù),并把正確數(shù)據(jù)返回主機。常用的ECC校正機制有8bit/512bit, 32bit/2KB,分別可以實現(xiàn)512bit中8bit數(shù)據(jù)檢驗和2KB中32bit數(shù)據(jù)錯誤的檢驗,如果錯誤的bit位數(shù)超過8/32bit(稱為Uncorrectable bit error),ECC是無法檢驗恢復的,必須采用RIAD機制來恢復。 另一方面,SSD廠商采用Over-provisioning技術提高閃存壽命。SSD的寫入單位是Page, 擦除單位是Block,對某一塊Block擦寫達到一定次數(shù)就會
16、導致Block失效(寫入的數(shù)據(jù)無法判定識別)作廢,所以SSD也提供了額外的容量(稱為 Over- provisioning),以便替換壞塊提高整個SSD壽命,當失效Block的容量超過Over-provisioning容量(MLC的Over-provisioning一般為SSD總容量的28%,不同介質和廠商有所不同),使得整個SSD容量小于其宣稱容量時,該SSD就失效了。顆粒的發(fā)展和未來 雖然NAND Flash目前處于絕對的王者地位,但是傳統(tǒng)的NAND Flash是一種線性串列的Mosfet存儲結構,這種結果限制其容量很難做大。一個可行的方式就是增加存儲密度,目前NAND Flash的存儲密
17、度已經(jīng)可以做到微米、甚至到納米級別;但是隨著密度增高,存儲單元Cell的浮柵周圍產(chǎn)生電容耦合,存儲數(shù)據(jù)能力和可靠性極速降低。 所以,3D Flash技術的出現(xiàn)給閃存的發(fā)展指明了方向,3D-Flash技術主要有下面三個方向。憶阻Memristor存儲技術 憶阻器本質上是一種有記憶功能的非線性電阻,通過控制電流的變化可改變其阻值,如果把高阻值定義為“1”,低阻值定義為“0”,通過這種電阻變化實現(xiàn)存儲數(shù)據(jù)的功能。 美光/英特爾聯(lián)合推出3D XPoint憶阻器存儲技術,SanDisk/惠普也達成合作協(xié)議,此次合作以惠普憶阻器技術和SanDisk的非易失性存儲器技術創(chuàng)造一個新的企業(yè)級憶阻器存儲方案。憶阻
18、器存儲在訪問速度上Flash存儲快1000倍。 3D XPoint是一種立體化的存儲技術,它看起來與同為3D設計的NAND技術相似,但本質卻不同,3D XPoint并不單純是NAND,而是一種新的非易失性存儲技術。3D XPoint技術還允許存儲單元被堆疊到多個層中,這樣就可以有效提升存儲介質的容量。3D-水平NAND Flash堆疊技術 基本思路實現(xiàn)對現(xiàn)有的NAND浮柵結構進行堆疊,獲得與普通 NAND 浮柵相同的橫向可擴展性和存儲密度,另外采用氮化硅串接技術來代替浮柵的電荷捕獲閃存方法。 串聯(lián)存儲器的存取可通過在低級非存儲器中形成一個反型溝道來避免Cell的浮柵電容耦合。這種反型溝道及其相
19、關耗盡區(qū)為存儲介質中所捕獲的電荷提供了高水平電荷保護,免受應用于這些底部存取器的傳輸電壓的干擾。 此外,這種雙柵結構是公認的良好橫向可微縮性方法,它通過使頂部和底部設備之間實現(xiàn)密切的靜電相互作用來消除短通道效應。3D-垂直NAND Flash堆疊技術 三星電子推出獨家專利3D V-NAND閃存技術,提升了產(chǎn)品的容量、速度和可靠性。3D V-NAND不是使用新工藝來縮小Cell單元和提供存儲密度,而是選擇了堆疊更多層數(shù)。 傳統(tǒng)NAND Flash使用的是浮柵極Mosfet技術,充電/放電容易損壞柵極;三星采用控制柵極和絕緣層將Mosfet環(huán)形包裹起來提升了儲存電荷的的物理區(qū)域,從而提高性能和可靠
20、性。 3D V-NAND技術把Cell3D化,使得在垂直方向無限堆疊擴展,三星放棄了傳統(tǒng)的浮柵極Mosfet,降低了寫入時的電荷消耗,閃存壽命得到大幅提升,為未來SSD的發(fā)展開辟非常廣闊的空間。SSD接口技術 我們知道閃存磁盤是在HDD以后出現(xiàn)的,由于SSD優(yōu)異的隨機性能、越來越大的容量和越來越低的成本等優(yōu)勢,使得閃存熱度上升、乃至替換HDD的趨勢。由于歷史繼承性等原因,SSD在設計是也是借鑒了部分HDD技術,包含接口技術,現(xiàn)在絕大多數(shù)SSD都是采用SATA/SAS接口。SATA接口和AHCI(基于SATA接口和ATA數(shù)據(jù)指令)已是存儲的性能瓶頸凸顯,SCSI/SAS/FC接口(SCSI數(shù)據(jù)指
21、令)組合在閃存中也是昨日黃花, NVMe指令和PCIe的組合將是未來趨勢。PCIe SSD存儲接口 到目前為止,大部分存儲廠商都推出了對應的PCIe閃存卡(如 EMC XtremSF PCIe SSD卡 )和磁盤。 Fusion-io開發(fā)的專利PCIe閃存卡(IO-Drive),可以加入到服務器中進而實現(xiàn)對應用的加速,并達到微秒級的低訪問延遲。SATA/SAS則無論如何無法達到這個水平。因此,閃存浪潮下接口規(guī)范的重大變革勢所難免。NVM Express標準 NVMExpress是硬盤的新傳輸標準,是來取代為機械盤設計AHCI(高級主機控制器接口)的接口標準,AHCI無法發(fā)揮固態(tài)磁盤的優(yōu)勢,每條
22、指令都需要讀取4次寄存器,而VNMe不需要讀取。從下面圖上可以看出NVMExpress的優(yōu)勢。 NVMExpress是一個針對使用PCIExpressSSD的企業(yè)和普通客戶端系統(tǒng)開發(fā)的可擴展的主機控制芯片接口標準。該標準針對PCIeSSD定義了最優(yōu)化的寄存器接口、指令集和功能集,并提供可擴展接口以實現(xiàn)SSD技術現(xiàn)在和將來的性能潛力。NVMe走的是PCIE通道性能高,并且是統(tǒng)一的通信規(guī)范,只要服務器和PCIE接口卡都遵循NVMe規(guī)范,PCIE接口卡可以安裝在任何服務器上而不用擔心兼容性問題。 NVMe標準的也解決了不同PCIe SSD之間的驅動適用性問題。此前的PCIe SSD,均需要安裝驅動程
23、序后才能正常使用,而不同的廠商又各自為政,每個廠商產(chǎn)品都有自己的驅動,SSD也不能作為引導使用。但支持NVMe標準之后,PCIe SSD就可適用于多個不同平臺,也不需要廠商獨立提供驅動支持。目前Windows、Linux、Solaris、Unix、VMware、UEFI等都加入了對NVMe SSD的支持。 針對PCIe接口提出了NVMe標準(但NVMe的使用不僅限于PCIe)。該標準由包括IDT、Dell、Intel、EMC、NetApp、Oracle以及Cisco在內的13家發(fā)起企業(yè)主導,并由80余家業(yè)界領軍公司合作開發(fā)。NVM Express是一個針對使用PCI Express SSD的企業(yè)和普通客戶端系統(tǒng)開發(fā)的可擴展的主機控制芯片接口標準。該標準針對PCIe SSD定義了最優(yōu)化的寄存器接口、指令集和功能集,并提供可擴展接口以實現(xiàn)SSD 技術現(xiàn)在和將來的性能潛力。這讓原始設備制造商無需標準化多個SSD驅動器,從而加速PCIe SSD 的推廣使用。 但是NVMe作為針對下一代存儲設備提出的指令和協(xié)議規(guī)范,除了支持PCIe接口,VNMe規(guī)范可以應用到不同的硬件接口規(guī)范上。如支持U.2接口(即SFF-8639接口,包含4組PCIeLanes和2組SAS/SATA Lanes),SATA Express和M.2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年隔焰板項目可行性研究報告
- 2025年超聲波清洗換能器片項目可行性研究報告
- 2025年純棉繡花毛巾項目可行性研究報告
- 2025年男士絲襪項目可行性研究報告
- 2025-2030中國渦旋式冷水機組行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國海鮮行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2025-2030中國水污染控制設備行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國氮磷鉀肥行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國機場跑道異物碎片(FOD)檢測系統(tǒng)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國智能功率集成電路行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 民營企業(yè)勞動關系調查報告
- 辦公電腦領用申請表
- 小班健康活動怎樣最涼爽
- 2024屆高考英語語法填空專項課件
- 礦井粉塵防治
- 影像醫(yī)學科影像質量評價與持續(xù)改進工作一年記錄(PDCA)
- 主體工程實體質量實測實量檢查表
- 高中物理選擇性必修一同步練習冊電子版
- 基于JSP的校園網(wǎng)站的設計與實現(xiàn)-畢業(yè)設計
- V帶傳動二級圓柱斜齒輪減速器設計說明書
- 單位(子單位)工程質量竣工驗收記錄表
評論
0/150
提交評論