精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當前位置:存儲技術專區 → 正文

閃存技術大餐 架構/顆粒/接口/可靠性全面解析

責任編輯:editor005 |來源:企業網D1Net  2016-08-11 15:45:04 本文摘自:ICT架構師技術交流

閃存最明顯特點就是穩定性能,低時延和高隨機IOPS。對于閃存,在評估性能時,我們一般主要關注90% IO落入規定的時延范圍(性能是一個線性范圍,而不是某一個點)。數據保護等追求所有軟件特性都基于Inline實現,如Inline重刪、壓縮、Thin-Provisioning(尤其是重刪,一方面SSD價格還是偏高,重刪壓縮可以節約投入成本;另一方面也減少了IO下盤次數提高SSD壽命)。但對于閃存,我們所關注的特性和技術指標遠遠不止這些。

閃存架構

閃存的Scale out能力:橫向擴展能力是應對并發訪問和提升性能容量的最基本特性,所以閃存是必須具備的功能。目前XtremIO支持16控,solidfire已經支持但100個控制器節點。

控制器對稱A/A 能力:閃存的主要應用場景如OLTP等,傳統的A/P、ALUA陣列在主控制器故障切換時都需要時間切換,并導致IO歸零;并且在閃存陣列下,一般系統CPU是瓶頸,所以只有無歸屬、性能均衡的A/A對稱架構才能更好應對。目前傳統存儲(如EMC VMAX/VNX,HP 3PAR, HDS USP/VSP)都已經支持,但是閃存陣列還沒看見宣傳;好多閃存產品,如 PureStorage還是 A/P模式。

元數據管理

閃存的設計主要是考慮如何發揮出SSD的隨機訪問性能,不像HDD那樣,需要通過預取、IO聚合技術來提高下盤的順序性,減少對機械盤的操作來提升性能。所以閃存在設計上要考慮如何優化元數據(系統元數據、重刪壓縮指紋、FTL映射等)管理,IO調度策略,垃圾回收和磨損均衡等設計。

兩層元數據管理架構是實現元數據管理的趨勢,其基本思想是元數據映射基于LBA->塊ID->Block位置的Map形式,卷的數據LBA映射到塊ID,而不是磁盤上的物理Block地址;數據變化后只需改變對應塊ID映射關系,塊ID就可以映射到新的物理空間,這樣相比單層方式就簡化重刪壓縮實現和效率。

SolidFire采用兩層元數據管理架構實現元數管理,元數據管理采用Key-Value方式;元數據映射基于LBA->塊ID->位置的Map形式,卷的數據LBA對應塊ID,而不是磁盤上的物理地址;所以數據變化后計算指紋只需改變對應塊ID映射關系,天然就支持重刪。在垃圾回收時,是采用塊標記法實現對未使用塊的清除。

GFTL功能

GFTL稱作Global FTL,閃存陣列可以配合SSD控制器(需要SSD開放內部接口給陣列),通過陣列完成一些如ROW寫滿條帶下盤,全局負載均衡,整塊對齊擦除、垃圾回收等高級優化功能。另外,GFLT也可記錄重刪壓縮數據庫,指紋元數據管理,實現RAID功能,進行IO聚合,通過元數據記錄實現RAID滿條帶下盤,從而規避讀、修改、寫放大操作,解決Write-Hole問題等。

SSD自身的FTL只能完成數據LAB/重刪后數據塊、到真實顆粒塊(block)的影射,只能實現簡單的垃圾回收和ROW數據寫,內部把不同Block組織在一起組成RAID。很多外購SSD磁盤的閃存廠商都還不支持GFTL技術,但是該技術是提高閃存效率和競爭力的有力武器。

重刪特性

重刪是閃存最基本特性之一,分為Inline和Postline,但對閃存Inline才能體現真正價值。重刪一般分為HASH指紋算法(以SHA-1為例說明,存在碰撞問題)和按字節對比法兩種,逐字節對比可靠性高,但會嚴重影響閃存性能,所以很少使用,只在數據一致性要求非常嚴格的場景下使用。

SHA-1算法會有Hash沖突的概率,Hash輸出長度一般為160字節的數字,對不同數據塊(大小可設置)其輸出是隨機的,在0-2^(160-1)間分布,不同數據產生相同Hash值的概率2^(-160),只有數據量(固定數據塊大小)超過這些數字能表示的值時,才會發生Hash沖突,但到目前位置,所有產生的數據量總和都不至于產生Hash沖突。

所以Hash方式在產品中最為常見。場見的強Hash算法有SHA-1, SHA-256等;常見的弱Hash算法有Murmur3, CRC, MD5等;強Hash發生沖突的概率低。

但是在某些場景,如在8K業務數據塊大小的數據庫場景下,Key值基本上是唯一的,如果重刪粒度也是8K則根本起不到重刪的效果,可以讓客戶選擇關閉該功能(XtremIO的Inline重刪功能是無法關閉的),只開啟壓縮。

IO基本流程

數據從主機下發到閃存陣列控制器,對于非A/A架構的閃存來說,首先盤判斷IO對應LUN的歸屬,如果LUN歸屬在在本地控制器,IO就寫到到對應Cache并鏡像,否則轉發給LUN歸屬控制器處理。Cache到水位時再切分塊LBA為相應大小后,交給增值模塊(如重刪壓縮模塊)處理,計算出指紋后,將指紋和數據(重復數據只保留指紋)交給歸屬控制器來完成下盤,相關模塊下盤時分配分條,湊滿條帶后順序寫入磁盤,記錄真實地址和指紋關系,保存指紋到指紋數據庫。

Block磨損均衡

Block磨損均衡是為了讓數據均勻分布在SSD的所有Block中,從而能達到冷熱點均勻分布提高SSD壽命的目的。閃存必須提供磨損均衡來實現,磨損均衡分為動態磨損均衡和靜態磨損均衡;動態磨損均衡是由主機更新數據觸發的,通過主機讀寫保證數據的擦寫平均分布到所有的Block上,因為每種應用都有冷熱數據,所以靜態磨損均衡并不能保證冷熱度均勻分布。

靜態磨損均衡是由SSD內部機制實現,將冷Block上的數據進行轉移(不同于垃圾回收),擦寫冷Block上面的數據來接受經常變化的熱點數據,使冷Block有機會成為熱Block,從而使SSD中所有Block的冷熱度達到平衡。

SSD掉電保護

為了防止SSD磁盤中緩存數據由于掉電丟失,SSD還需要提供掉電保護功能。一般SSD會設計電壓檢測模塊來實時檢測電壓值,當電壓低于設置閾值時,SSD電壓檢測模塊會通知SSD控制器進入掉電數據刷寫流程,此時會有超級電容作為備電源供電,把磁盤緩存數據刷到Flash顆粒中,防止數據丟失。

另一方面,閃存陣列也應該提供一種機制,當陣列主動下電或升級維護時,下發命令給SSD,讓SSD進入掉電緩存數據刷新流程,保證數據一致性。

閃存(Flash)是相對于HDD而言的一種非易失性存儲器,Flash分為NOR Flash和NANDFlash,NOR Flash可以當作內存使用直接執行程序,相比DDR 、 SDRAM 或者 RDRAM具有掉電數據不丟失等特點,所以在嵌入式設備(ARM/MIPS等體系架構)中,一般采用NOR Flash存儲BootLoader和OS程序。但今天我們的重點是NAND Flash。

Flash顆粒解析

學習過模擬電路的同學都知道,在模電原理里三極管分兩種,一種是雙極性三極管,主要基于載流子用來做電流放大,另一種叫做CMOS場效應三極管,通過電場控制的金屬氧化物半導體。NAND Flash就是基于場效應P/N溝道和漏極、柵極技術通過浮柵Mosfet對柵極充電實現數非易失據儲存的。一個晶體單元稱作一個Cell,向Cell中充電就是編程或寫入數據,通過電平的高低來判斷數據是0還是1。在SLC顆粒類型的Flash中,沖入電荷讀取到閾值電平為高電平,一般表示數據0。

NAND Flash SSD和HDD的最大區別,其一是SSD通過Flash控制電路選通原理來讀/寫對應地址數據,不必采用笨拙的機械磁頭定位數據外;其二是SSD在充電寫入數據前,必需要擦除原有的數據,每次充電和放電稱為一次P/E(編程/擦出),一塊SSD的壽命和可以執行P/E操作的次數強相關。每種Flash顆粒的P/E操作次數是不同的,P/E操作次數越多,對應Flash顆粒的SSD壽命越長,可靠性越好,價格也越高。

NAND Flash顆粒分類

NAND Flash可根據Cell儲存bit數據位的不同分為SLC,MLC,TLC,其中MLC還分為eMLC,MLC和cMLC。由于不同類型顆粒結構不同,所有導致了不同顆粒間數據儲存能力,性能和可靠性存在差異。

SLC(single level Cell) 是單層存儲單元,一個Cell中只存儲1bit數據(0/1),在寫入數據后就高低2為電平,由于判定寫入數據值電壓的區間小,所以可擦寫次數和可靠性也是最好的,一般在5W-10W之間,但是存儲容量相對較少,成本也最高。

MLC(multi-level Cell) 多層式儲存單元,存儲密度較大,一個Cell中可以存儲2bit數據(00/01/10/11),相比SLC,判定寫入Cell中電壓值區間比2bit數據就比較復雜了,由于NAND Flash的物理屬性(擦寫會對顆粒的絕緣層造成損壞),也使得隨著擦寫次數增多,很難判斷出寫入的數據具體代表的bit位。其擦寫次數一般3K左右,另外,2bit數據讀寫使得MLC速度比SLC慢,但容量較大,價格比較便宜。

eMLC(enterprise MLC)和cMLC(consumer MLC)都是采用MLC技術,主要差別就是NAND Flash顆粒篩選參數,制作工藝和測試方法不同。通過不同標準來界定顆粒,eMLC是經過嚴格測試和企業級標準篩選,所以可靠性和壽命最高;MLC次之;把挑選完eMLC/MLC之后顆粒成為 cMLC,可靠性和壽命都要稍差一些,但成本低,一般總在個人消費和企業非關鍵應用中。

TLC(Triple level Cell)三層式存儲單元,一個Cell中存放3bit數據(000-111),數據密度更大,通過判定電壓確定寫入Cell數據的難度更大,所以SLC的擦寫次數(P/E)操作只有幾百次到上千次;可靠性和性能很低,具有成本優勢,一般用在個人消費產品中(不能滿足企業產品要求)。

SSD的可靠性問題

為了進一步提高SSD磁盤的壽命,一方面,存儲(SSD/HDD)廠商還會在顆粒之上通過ECC(隨用戶數據生成一起寫入磁盤)糾錯技術糾正靜默錯誤。在數據寫入時采用ECC編碼寫入檢驗位,當數據由于位翻轉導致靜默錯誤,讀取數據時可以利用ECC檢驗位校正數據,并把正確數據返回主機。常用的ECC校正機制有8bit/512bit, 32bit/2KB,分別可以實現512bit中8bit數據檢驗和2KB中32bit數據錯誤的檢驗,如果錯誤的bit位數超過8/32bit(稱為Uncorrectable bit error),ECC是無法檢驗恢復的,必須采用RIAD機制來恢復。

另一方面,SSD廠商采用Over-provisioning技術提高閃存壽命。SSD的寫入單位是Page, 擦除單位是Block,對某一塊Block擦寫達到一定次數就會導致Block失效(寫入的數據無法判定識別)作廢,所以SSD也提供了額外的容量(稱為 Over- provisioning),以便替換壞塊提高整個SSD壽命,當失效Block的容量超過Over-provisioning容量(MLC的Over-provisioning一般為SSD總容量的28%,不同介質和廠商有所不同),使得整個SSD容量小于其宣稱容量時,該SSD就失效了。

顆粒的發展和未來

雖然NAND Flash目前處于絕對的王者地位,但是傳統的NAND Flash是一種線性串列的Mosfet存儲結構,這種結果限制其容量很難做大。一個可行的方式就是增加存儲密度,目前NAND Flash的存儲密度已經可以做到微米、甚至到納米級別;但是隨著密度增高,存儲單元Cell的浮柵周圍產生電容耦合,存儲數據能力和可靠性極速降低。

所以,3D Flash技術的出現給閃存的發展指明了方向,3D-Flash技術主要有下面三個方向。

憶阻Memristor存儲技術

憶阻器本質上是一種有記憶功能的非線性電阻,通過控制電流的變化可改變其阻值,如果把高阻值定義為“1”,低阻值定義為“0”,通過這種電阻變化實現存儲數據的功能。

美光/英特爾聯合推出3D XPoint憶阻器存儲技術,SanDisk/惠普也達成合作協議,此次合作以惠普憶阻器技術和SanDisk的非易失性存儲器技術創造一個新的企業級憶阻器存儲方案。憶阻器存儲在訪問速度上Flash存儲快1000倍。

3D XPoint是一種立體化的存儲技術,它看起來與同為3D設計的NAND技術相似,但本質卻不同,3D XPoint并不單純是NAND,而是一種新的非易失性存儲技術。3D XPoint技術還允許存儲單元被堆疊到多個層中,這樣就可以有效提升存儲介質的容量。

3D-水平NAND Flash堆疊技術

基本思路實現對現有的NAND浮柵結構進行堆疊,獲得與普通 NAND 浮柵相同的橫向可擴展性和存儲密度,另外采用氮化硅串接技術來代替浮柵的電荷捕獲閃存方法。

串聯存儲器的存取可通過在低級非存儲器中形成一個反型溝道來避免Cell的浮柵電容耦合。這種反型溝道及其相關耗盡區為存儲介質中所捕獲的電荷提供了高水平電荷保護,免受應用于這些底部存取器的傳輸電壓的干擾。

此外,這種雙柵結構是公認的良好橫向可微縮性方法,它通過使頂部和底部設備之間實現密切的靜電相互作用來消除短通道效應。

3D-垂直NAND Flash堆疊技術

三星電子推出獨家專利3D V-NAND閃存技術,提升了產品的容量、速度和可靠性。3D V-NAND不是使用新工藝來縮小Cell單元和提供存儲密度,而是選擇了堆疊更多層數。

傳統NAND Flash使用的是浮柵極Mosfet技術,充電/放電容易損壞柵極;三星采用控制柵極和絕緣層將Mosfet環形包裹起來提升了儲存電荷的的物理區域,從而提高性能和可靠性。

3D V-NAND技術把Cell3D化,使得在垂直方向無限堆疊擴展,三星放棄了傳統的浮柵極Mosfet,降低了寫入時的電荷消耗,閃存壽命得到大幅提升,為未來SSD的發展開辟非常廣闊的空間。

SSD接口技術

我們知道閃存磁盤是在HDD以后出現的,由于SSD優異的隨機性能、越來越大的容量和越來越低的成本等優勢,使得閃存熱度上升、乃至替換HDD的趨勢。由于歷史繼承性等原因,SSD在設計是也是借鑒了部分HDD技術,包含接口技術,現在絕大多數SSD都是采用SATA/SAS接口。SATA接口和AHCI(基于SATA接口和ATA數據指令)已是存儲的性能瓶頸凸顯,SCSI/SAS/FC接口(SCSI數據指令)組合在閃存中也是昨日黃花, NVMe指令和PCIe的組合將是未來趨勢。

PCIe SSD存儲接口

到目前為止,大部分存儲廠商都推出了對應的PCIe閃存卡(如 EMC XtremSF PCIe SSD卡 )和磁盤。

Fusion-io開發的專利PCIe閃存卡(IO-Drive),可以加入到服務器中進而實現對應用的加速,并達到微秒級的低訪問延遲。SATA/SAS則無論如何無法達到這個水平。因此,閃存浪潮下接口規范的重大變革勢所難免。

NVM Express標準

NVM Express是硬盤的新傳輸標準,是來取代為機械盤設計AHCI(高級主機控制器接口)的接口標準,AHCI無法發揮固態磁盤的優勢,每條指令都需要讀取4次寄存器,而VNMe不需要讀取。從下面圖上可以看出NVM Express的優勢。

閃存技術大餐 架構/顆粒/接口/可靠性全面解析

NVM Express是一個針對使用PCI Express SSD的企業和普通客戶端系統開發的可擴展的主機控制芯片接口標準。該標準針對PCIe SSD定義了最優化的寄存器接口、指令集和功能集,并提供可擴展接口以實現SSD 技術現在和將來的性能潛力。NVMe走的是PCIE通道性能高,并且是統一的通信規范,只要服務器和PCIE接口卡都遵循NVMe規范, PCIE接口卡可以安裝在任何服務器上而不用擔心兼容性問題。

閃存技術大餐 架構/顆粒/接口/可靠性全面解析

NVMe標準的也解決了不同PCIe SSD之間的驅動適用性問題。此前的PCIe SSD,均需要安裝驅動程序后才能正常使用,而不同的廠商又各自為政,每個廠商產品都有自己的驅動,SSD也不能作為引導使用。但支持NVMe標準之后,PCIe SSD就可適用于多個不同平臺,也不需要廠商獨立提供驅動支持。目前Windows、Linux、Solaris、Unix、VMware、UEFI等都加入了對NVMe SSD的支持。

針對PCIe接口提出了NVMe標準(但NVMe的使用不僅限于PCIe)。該標準由包括IDT、Dell、Intel、EMC、NetApp、Oracle以及Cisco在內的13家發起企業主導,并由80余家業界領軍公司合作開發。NVM Express是一個針對使用PCI Express SSD的企業和普通客戶端系統開發的可擴展的主機控制芯片接口標準。該標準針對PCIe SSD定義了最優化的寄存器接口、指令集和功能集,并提供可擴展接口以實現SSD 技術現在和將來的性能潛力。這讓原始設備制造商無需標準化多個SSD驅動器,從而加速PCIe SSD 的推廣使用。

但是NVMe作為針對下一代存儲設備提出的指令和協議規范,除了支持PCIe接口,VNMe規范可以應用到不同的硬件接口規范上。如支持U.2接口(即SFF-8639接口,包含4組PCIeLanes和2組SAS/SATA Lanes),SATA Express和M.2接口等等。另外,PCIe SSD并不一定支持NVMe規范,但是NVMe PCIe 是需要考慮符合NVMe規范。

東芝集團下存儲解決方案提供商OCZ,推出了全新的基于NVMe技術的Z-Drive 6000系列SSD,結合了第三代PCIe和非易失性存儲器專用(NVMe)技術,提供給系統集成商和存儲供應商一個流線型的存儲器接口、命令集、隊列設計,用于快速訪問關鍵性數據和獲取高彈性的能力。

OCZ推出的Z-Drive 6000 SSD的產品有三種型號。它們包括帶有2.5英寸的機箱大小和高達3.2TB的可用容量的Z-Drive 6000 SFF系列、性能略低但是可用容量高達6.4TB的Z-Drive 6300 SFF系列和帶有半高、半長的插卡式外形,同時可用容量可以達到6.4TB的Z-Drive 6300 AIC系列。

NOR flash接口技術

傳統NOR閃存帶有SRAM接口(相比NAND Flash并行接口管腳多、需要統一編址,支持代碼本地執行XIP,但容量比較小),可以在隨意地址存入任意字節數據。

美光也開始探索串行NOR閃存接口。美光技術公司對傳統NOR 閃存進行優化,推出全新XTREMFlash 串行NOR Flash存儲器方案,具有每秒3.2 Gb的強大的數據讀寫能力,而且能夠兼容目前所廣泛使用的串行NOR閃存接口。在性能表現上超越除超大規模NAND閃存陣列之外的全部閃存存儲方案類型。

XTRMFlash將提供并行、串行以及Quad-SPI型NOR閃存產品,且其針腳數量較現有并行NOR閃存將下降75%。兼容目前串行NOR閃存所普遍使用的Quad SPI閃存針腳設計。XTRMFlash能夠以針腳兼容形式運行,而且只需對電路板稍加調整即可達成上述性能參數。

關鍵字:顆粒類型SSD掉電保護

本文摘自:ICT架構師技術交流

x 閃存技術大餐 架構/顆粒/接口/可靠性全面解析 掃一掃
分享本文到朋友圈
當前位置:存儲技術專區 → 正文

閃存技術大餐 架構/顆粒/接口/可靠性全面解析

責任編輯:editor005 |來源:企業網D1Net  2016-08-11 15:45:04 本文摘自:ICT架構師技術交流

閃存最明顯特點就是穩定性能,低時延和高隨機IOPS。對于閃存,在評估性能時,我們一般主要關注90% IO落入規定的時延范圍(性能是一個線性范圍,而不是某一個點)。數據保護等追求所有軟件特性都基于Inline實現,如Inline重刪、壓縮、Thin-Provisioning(尤其是重刪,一方面SSD價格還是偏高,重刪壓縮可以節約投入成本;另一方面也減少了IO下盤次數提高SSD壽命)。但對于閃存,我們所關注的特性和技術指標遠遠不止這些。

閃存架構

閃存的Scale out能力:橫向擴展能力是應對并發訪問和提升性能容量的最基本特性,所以閃存是必須具備的功能。目前XtremIO支持16控,solidfire已經支持但100個控制器節點。

控制器對稱A/A 能力:閃存的主要應用場景如OLTP等,傳統的A/P、ALUA陣列在主控制器故障切換時都需要時間切換,并導致IO歸零;并且在閃存陣列下,一般系統CPU是瓶頸,所以只有無歸屬、性能均衡的A/A對稱架構才能更好應對。目前傳統存儲(如EMC VMAX/VNX,HP 3PAR, HDS USP/VSP)都已經支持,但是閃存陣列還沒看見宣傳;好多閃存產品,如 PureStorage還是 A/P模式。

元數據管理

閃存的設計主要是考慮如何發揮出SSD的隨機訪問性能,不像HDD那樣,需要通過預取、IO聚合技術來提高下盤的順序性,減少對機械盤的操作來提升性能。所以閃存在設計上要考慮如何優化元數據(系統元數據、重刪壓縮指紋、FTL映射等)管理,IO調度策略,垃圾回收和磨損均衡等設計。

兩層元數據管理架構是實現元數據管理的趨勢,其基本思想是元數據映射基于LBA->塊ID->Block位置的Map形式,卷的數據LBA映射到塊ID,而不是磁盤上的物理Block地址;數據變化后只需改變對應塊ID映射關系,塊ID就可以映射到新的物理空間,這樣相比單層方式就簡化重刪壓縮實現和效率。

SolidFire采用兩層元數據管理架構實現元數管理,元數據管理采用Key-Value方式;元數據映射基于LBA->塊ID->位置的Map形式,卷的數據LBA對應塊ID,而不是磁盤上的物理地址;所以數據變化后計算指紋只需改變對應塊ID映射關系,天然就支持重刪。在垃圾回收時,是采用塊標記法實現對未使用塊的清除。

GFTL功能

GFTL稱作Global FTL,閃存陣列可以配合SSD控制器(需要SSD開放內部接口給陣列),通過陣列完成一些如ROW寫滿條帶下盤,全局負載均衡,整塊對齊擦除、垃圾回收等高級優化功能。另外,GFLT也可記錄重刪壓縮數據庫,指紋元數據管理,實現RAID功能,進行IO聚合,通過元數據記錄實現RAID滿條帶下盤,從而規避讀、修改、寫放大操作,解決Write-Hole問題等。

SSD自身的FTL只能完成數據LAB/重刪后數據塊、到真實顆粒塊(block)的影射,只能實現簡單的垃圾回收和ROW數據寫,內部把不同Block組織在一起組成RAID。很多外購SSD磁盤的閃存廠商都還不支持GFTL技術,但是該技術是提高閃存效率和競爭力的有力武器。

重刪特性

重刪是閃存最基本特性之一,分為Inline和Postline,但對閃存Inline才能體現真正價值。重刪一般分為HASH指紋算法(以SHA-1為例說明,存在碰撞問題)和按字節對比法兩種,逐字節對比可靠性高,但會嚴重影響閃存性能,所以很少使用,只在數據一致性要求非常嚴格的場景下使用。

SHA-1算法會有Hash沖突的概率,Hash輸出長度一般為160字節的數字,對不同數據塊(大小可設置)其輸出是隨機的,在0-2^(160-1)間分布,不同數據產生相同Hash值的概率2^(-160),只有數據量(固定數據塊大小)超過這些數字能表示的值時,才會發生Hash沖突,但到目前位置,所有產生的數據量總和都不至于產生Hash沖突。

所以Hash方式在產品中最為常見。場見的強Hash算法有SHA-1, SHA-256等;常見的弱Hash算法有Murmur3, CRC, MD5等;強Hash發生沖突的概率低。

但是在某些場景,如在8K業務數據塊大小的數據庫場景下,Key值基本上是唯一的,如果重刪粒度也是8K則根本起不到重刪的效果,可以讓客戶選擇關閉該功能(XtremIO的Inline重刪功能是無法關閉的),只開啟壓縮。

IO基本流程

數據從主機下發到閃存陣列控制器,對于非A/A架構的閃存來說,首先盤判斷IO對應LUN的歸屬,如果LUN歸屬在在本地控制器,IO就寫到到對應Cache并鏡像,否則轉發給LUN歸屬控制器處理。Cache到水位時再切分塊LBA為相應大小后,交給增值模塊(如重刪壓縮模塊)處理,計算出指紋后,將指紋和數據(重復數據只保留指紋)交給歸屬控制器來完成下盤,相關模塊下盤時分配分條,湊滿條帶后順序寫入磁盤,記錄真實地址和指紋關系,保存指紋到指紋數據庫。

Block磨損均衡

Block磨損均衡是為了讓數據均勻分布在SSD的所有Block中,從而能達到冷熱點均勻分布提高SSD壽命的目的。閃存必須提供磨損均衡來實現,磨損均衡分為動態磨損均衡和靜態磨損均衡;動態磨損均衡是由主機更新數據觸發的,通過主機讀寫保證數據的擦寫平均分布到所有的Block上,因為每種應用都有冷熱數據,所以靜態磨損均衡并不能保證冷熱度均勻分布。

靜態磨損均衡是由SSD內部機制實現,將冷Block上的數據進行轉移(不同于垃圾回收),擦寫冷Block上面的數據來接受經常變化的熱點數據,使冷Block有機會成為熱Block,從而使SSD中所有Block的冷熱度達到平衡。

SSD掉電保護

為了防止SSD磁盤中緩存數據由于掉電丟失,SSD還需要提供掉電保護功能。一般SSD會設計電壓檢測模塊來實時檢測電壓值,當電壓低于設置閾值時,SSD電壓檢測模塊會通知SSD控制器進入掉電數據刷寫流程,此時會有超級電容作為備電源供電,把磁盤緩存數據刷到Flash顆粒中,防止數據丟失。

另一方面,閃存陣列也應該提供一種機制,當陣列主動下電或升級維護時,下發命令給SSD,讓SSD進入掉電緩存數據刷新流程,保證數據一致性。

閃存(Flash)是相對于HDD而言的一種非易失性存儲器,Flash分為NOR Flash和NANDFlash,NOR Flash可以當作內存使用直接執行程序,相比DDR 、 SDRAM 或者 RDRAM具有掉電數據不丟失等特點,所以在嵌入式設備(ARM/MIPS等體系架構)中,一般采用NOR Flash存儲BootLoader和OS程序。但今天我們的重點是NAND Flash。

Flash顆粒解析

學習過模擬電路的同學都知道,在模電原理里三極管分兩種,一種是雙極性三極管,主要基于載流子用來做電流放大,另一種叫做CMOS場效應三極管,通過電場控制的金屬氧化物半導體。NAND Flash就是基于場效應P/N溝道和漏極、柵極技術通過浮柵Mosfet對柵極充電實現數非易失據儲存的。一個晶體單元稱作一個Cell,向Cell中充電就是編程或寫入數據,通過電平的高低來判斷數據是0還是1。在SLC顆粒類型的Flash中,沖入電荷讀取到閾值電平為高電平,一般表示數據0。

NAND Flash SSD和HDD的最大區別,其一是SSD通過Flash控制電路選通原理來讀/寫對應地址數據,不必采用笨拙的機械磁頭定位數據外;其二是SSD在充電寫入數據前,必需要擦除原有的數據,每次充電和放電稱為一次P/E(編程/擦出),一塊SSD的壽命和可以執行P/E操作的次數強相關。每種Flash顆粒的P/E操作次數是不同的,P/E操作次數越多,對應Flash顆粒的SSD壽命越長,可靠性越好,價格也越高。

NAND Flash顆粒分類

NAND Flash可根據Cell儲存bit數據位的不同分為SLC,MLC,TLC,其中MLC還分為eMLC,MLC和cMLC。由于不同類型顆粒結構不同,所有導致了不同顆粒間數據儲存能力,性能和可靠性存在差異。

SLC(single level Cell) 是單層存儲單元,一個Cell中只存儲1bit數據(0/1),在寫入數據后就高低2為電平,由于判定寫入數據值電壓的區間小,所以可擦寫次數和可靠性也是最好的,一般在5W-10W之間,但是存儲容量相對較少,成本也最高。

MLC(multi-level Cell) 多層式儲存單元,存儲密度較大,一個Cell中可以存儲2bit數據(00/01/10/11),相比SLC,判定寫入Cell中電壓值區間比2bit數據就比較復雜了,由于NAND Flash的物理屬性(擦寫會對顆粒的絕緣層造成損壞),也使得隨著擦寫次數增多,很難判斷出寫入的數據具體代表的bit位。其擦寫次數一般3K左右,另外,2bit數據讀寫使得MLC速度比SLC慢,但容量較大,價格比較便宜。

eMLC(enterprise MLC)和cMLC(consumer MLC)都是采用MLC技術,主要差別就是NAND Flash顆粒篩選參數,制作工藝和測試方法不同。通過不同標準來界定顆粒,eMLC是經過嚴格測試和企業級標準篩選,所以可靠性和壽命最高;MLC次之;把挑選完eMLC/MLC之后顆粒成為 cMLC,可靠性和壽命都要稍差一些,但成本低,一般總在個人消費和企業非關鍵應用中。

TLC(Triple level Cell)三層式存儲單元,一個Cell中存放3bit數據(000-111),數據密度更大,通過判定電壓確定寫入Cell數據的難度更大,所以SLC的擦寫次數(P/E)操作只有幾百次到上千次;可靠性和性能很低,具有成本優勢,一般用在個人消費產品中(不能滿足企業產品要求)。

SSD的可靠性問題

為了進一步提高SSD磁盤的壽命,一方面,存儲(SSD/HDD)廠商還會在顆粒之上通過ECC(隨用戶數據生成一起寫入磁盤)糾錯技術糾正靜默錯誤。在數據寫入時采用ECC編碼寫入檢驗位,當數據由于位翻轉導致靜默錯誤,讀取數據時可以利用ECC檢驗位校正數據,并把正確數據返回主機。常用的ECC校正機制有8bit/512bit, 32bit/2KB,分別可以實現512bit中8bit數據檢驗和2KB中32bit數據錯誤的檢驗,如果錯誤的bit位數超過8/32bit(稱為Uncorrectable bit error),ECC是無法檢驗恢復的,必須采用RIAD機制來恢復。

另一方面,SSD廠商采用Over-provisioning技術提高閃存壽命。SSD的寫入單位是Page, 擦除單位是Block,對某一塊Block擦寫達到一定次數就會導致Block失效(寫入的數據無法判定識別)作廢,所以SSD也提供了額外的容量(稱為 Over- provisioning),以便替換壞塊提高整個SSD壽命,當失效Block的容量超過Over-provisioning容量(MLC的Over-provisioning一般為SSD總容量的28%,不同介質和廠商有所不同),使得整個SSD容量小于其宣稱容量時,該SSD就失效了。

顆粒的發展和未來

雖然NAND Flash目前處于絕對的王者地位,但是傳統的NAND Flash是一種線性串列的Mosfet存儲結構,這種結果限制其容量很難做大。一個可行的方式就是增加存儲密度,目前NAND Flash的存儲密度已經可以做到微米、甚至到納米級別;但是隨著密度增高,存儲單元Cell的浮柵周圍產生電容耦合,存儲數據能力和可靠性極速降低。

所以,3D Flash技術的出現給閃存的發展指明了方向,3D-Flash技術主要有下面三個方向。

憶阻Memristor存儲技術

憶阻器本質上是一種有記憶功能的非線性電阻,通過控制電流的變化可改變其阻值,如果把高阻值定義為“1”,低阻值定義為“0”,通過這種電阻變化實現存儲數據的功能。

美光/英特爾聯合推出3D XPoint憶阻器存儲技術,SanDisk/惠普也達成合作協議,此次合作以惠普憶阻器技術和SanDisk的非易失性存儲器技術創造一個新的企業級憶阻器存儲方案。憶阻器存儲在訪問速度上Flash存儲快1000倍。

3D XPoint是一種立體化的存儲技術,它看起來與同為3D設計的NAND技術相似,但本質卻不同,3D XPoint并不單純是NAND,而是一種新的非易失性存儲技術。3D XPoint技術還允許存儲單元被堆疊到多個層中,這樣就可以有效提升存儲介質的容量。

3D-水平NAND Flash堆疊技術

基本思路實現對現有的NAND浮柵結構進行堆疊,獲得與普通 NAND 浮柵相同的橫向可擴展性和存儲密度,另外采用氮化硅串接技術來代替浮柵的電荷捕獲閃存方法。

串聯存儲器的存取可通過在低級非存儲器中形成一個反型溝道來避免Cell的浮柵電容耦合。這種反型溝道及其相關耗盡區為存儲介質中所捕獲的電荷提供了高水平電荷保護,免受應用于這些底部存取器的傳輸電壓的干擾。

此外,這種雙柵結構是公認的良好橫向可微縮性方法,它通過使頂部和底部設備之間實現密切的靜電相互作用來消除短通道效應。

3D-垂直NAND Flash堆疊技術

三星電子推出獨家專利3D V-NAND閃存技術,提升了產品的容量、速度和可靠性。3D V-NAND不是使用新工藝來縮小Cell單元和提供存儲密度,而是選擇了堆疊更多層數。

傳統NAND Flash使用的是浮柵極Mosfet技術,充電/放電容易損壞柵極;三星采用控制柵極和絕緣層將Mosfet環形包裹起來提升了儲存電荷的的物理區域,從而提高性能和可靠性。

3D V-NAND技術把Cell3D化,使得在垂直方向無限堆疊擴展,三星放棄了傳統的浮柵極Mosfet,降低了寫入時的電荷消耗,閃存壽命得到大幅提升,為未來SSD的發展開辟非常廣闊的空間。

SSD接口技術

我們知道閃存磁盤是在HDD以后出現的,由于SSD優異的隨機性能、越來越大的容量和越來越低的成本等優勢,使得閃存熱度上升、乃至替換HDD的趨勢。由于歷史繼承性等原因,SSD在設計是也是借鑒了部分HDD技術,包含接口技術,現在絕大多數SSD都是采用SATA/SAS接口。SATA接口和AHCI(基于SATA接口和ATA數據指令)已是存儲的性能瓶頸凸顯,SCSI/SAS/FC接口(SCSI數據指令)組合在閃存中也是昨日黃花, NVMe指令和PCIe的組合將是未來趨勢。

PCIe SSD存儲接口

到目前為止,大部分存儲廠商都推出了對應的PCIe閃存卡(如 EMC XtremSF PCIe SSD卡 )和磁盤。

Fusion-io開發的專利PCIe閃存卡(IO-Drive),可以加入到服務器中進而實現對應用的加速,并達到微秒級的低訪問延遲。SATA/SAS則無論如何無法達到這個水平。因此,閃存浪潮下接口規范的重大變革勢所難免。

NVM Express標準

NVM Express是硬盤的新傳輸標準,是來取代為機械盤設計AHCI(高級主機控制器接口)的接口標準,AHCI無法發揮固態磁盤的優勢,每條指令都需要讀取4次寄存器,而VNMe不需要讀取。從下面圖上可以看出NVM Express的優勢。

閃存技術大餐 架構/顆粒/接口/可靠性全面解析

NVM Express是一個針對使用PCI Express SSD的企業和普通客戶端系統開發的可擴展的主機控制芯片接口標準。該標準針對PCIe SSD定義了最優化的寄存器接口、指令集和功能集,并提供可擴展接口以實現SSD 技術現在和將來的性能潛力。NVMe走的是PCIE通道性能高,并且是統一的通信規范,只要服務器和PCIE接口卡都遵循NVMe規范, PCIE接口卡可以安裝在任何服務器上而不用擔心兼容性問題。

閃存技術大餐 架構/顆粒/接口/可靠性全面解析

NVMe標準的也解決了不同PCIe SSD之間的驅動適用性問題。此前的PCIe SSD,均需要安裝驅動程序后才能正常使用,而不同的廠商又各自為政,每個廠商產品都有自己的驅動,SSD也不能作為引導使用。但支持NVMe標準之后,PCIe SSD就可適用于多個不同平臺,也不需要廠商獨立提供驅動支持。目前Windows、Linux、Solaris、Unix、VMware、UEFI等都加入了對NVMe SSD的支持。

針對PCIe接口提出了NVMe標準(但NVMe的使用不僅限于PCIe)。該標準由包括IDT、Dell、Intel、EMC、NetApp、Oracle以及Cisco在內的13家發起企業主導,并由80余家業界領軍公司合作開發。NVM Express是一個針對使用PCI Express SSD的企業和普通客戶端系統開發的可擴展的主機控制芯片接口標準。該標準針對PCIe SSD定義了最優化的寄存器接口、指令集和功能集,并提供可擴展接口以實現SSD 技術現在和將來的性能潛力。這讓原始設備制造商無需標準化多個SSD驅動器,從而加速PCIe SSD 的推廣使用。

但是NVMe作為針對下一代存儲設備提出的指令和協議規范,除了支持PCIe接口,VNMe規范可以應用到不同的硬件接口規范上。如支持U.2接口(即SFF-8639接口,包含4組PCIeLanes和2組SAS/SATA Lanes),SATA Express和M.2接口等等。另外,PCIe SSD并不一定支持NVMe規范,但是NVMe PCIe 是需要考慮符合NVMe規范。

東芝集團下存儲解決方案提供商OCZ,推出了全新的基于NVMe技術的Z-Drive 6000系列SSD,結合了第三代PCIe和非易失性存儲器專用(NVMe)技術,提供給系統集成商和存儲供應商一個流線型的存儲器接口、命令集、隊列設計,用于快速訪問關鍵性數據和獲取高彈性的能力。

OCZ推出的Z-Drive 6000 SSD的產品有三種型號。它們包括帶有2.5英寸的機箱大小和高達3.2TB的可用容量的Z-Drive 6000 SFF系列、性能略低但是可用容量高達6.4TB的Z-Drive 6300 SFF系列和帶有半高、半長的插卡式外形,同時可用容量可以達到6.4TB的Z-Drive 6300 AIC系列。

NOR flash接口技術

傳統NOR閃存帶有SRAM接口(相比NAND Flash并行接口管腳多、需要統一編址,支持代碼本地執行XIP,但容量比較小),可以在隨意地址存入任意字節數據。

美光也開始探索串行NOR閃存接口。美光技術公司對傳統NOR 閃存進行優化,推出全新XTREMFlash 串行NOR Flash存儲器方案,具有每秒3.2 Gb的強大的數據讀寫能力,而且能夠兼容目前所廣泛使用的串行NOR閃存接口。在性能表現上超越除超大規模NAND閃存陣列之外的全部閃存存儲方案類型。

XTRMFlash將提供并行、串行以及Quad-SPI型NOR閃存產品,且其針腳數量較現有并行NOR閃存將下降75%。兼容目前串行NOR閃存所普遍使用的Quad SPI閃存針腳設計。XTRMFlash能夠以針腳兼容形式運行,而且只需對電路板稍加調整即可達成上述性能參數。

關鍵字:顆粒類型SSD掉電保護

本文摘自:ICT架構師技術交流

電子周刊
回到頂部

關于我們聯系我們版權聲明隱私條款廣告服務友情鏈接投稿中心招賢納士

企業網版權所有 ©2010-2024 京ICP備09108050號-6 京公網安備 11010502049343號

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 绍兴县| 清徐县| 梧州市| 儋州市| 孝昌县| 星座| 永定县| 静安区| 扶风县| 安乡县| 辽中县| 澜沧| 焦作市| 阿瓦提县| 固镇县| 贵港市| 高陵县| 井陉县| 神池县| 安吉县| 平度市| 尼勒克县| 慈溪市| 郴州市| 含山县| 浦江县| 肇东市| 中阳县| 合江县| 沁阳市| 灵武市| 社旗县| 永靖县| 平阳县| 阳西县| 贺兰县| 绵竹市| 汨罗市| 芦溪县| 江口县| 许昌县|