一份并不及格的“閃存”答卷

責(zé)任編輯:editor04

作者:宋家雨

2015-05-04 21:07:46

摘自:存儲(chǔ)在線

磨損平衡也是如此,由于存在擦寫(xiě)次數(shù)的限制,盡可能通過(guò)算法讓每個(gè)撒謊內(nèi)存塊擦寫(xiě)次數(shù)相同,以增加閃存設(shè)備的壽命。文件系統(tǒng)優(yōu)化同樣重要除了閃存控制器等硬件層面設(shè)計(jì)之外,文件系統(tǒng)對(duì)于閃存系統(tǒng)性能和可靠性的影響也非常大。

對(duì)于閃存系統(tǒng),很多人和我一樣,最初的認(rèn)知是來(lái)自筆記本電腦的SSD盤(pán),也許你也沒(méi)有覺(jué)得SSD快了多少,但如果使用SSD后再來(lái)使用傳統(tǒng)磁盤(pán),你就會(huì)發(fā)現(xiàn)磁盤(pán)速度難以忍受。

為了追求更高的速度,我們開(kāi)始使用SSD盤(pán),如果僅僅如此,那么我們對(duì)于閃存的認(rèn)知將是不級(jí)格的,這就像使用SSD盤(pán)仍然堅(jiān)持碎片整理,實(shí)際上人的認(rèn)知,并沒(méi)有跟上閃存技術(shù)的步伐。企業(yè)級(jí)應(yīng)用更是如此,企業(yè)級(jí)閃存應(yīng)用需要關(guān)注的內(nèi)容更多。

企業(yè)級(jí)可靠性和穩(wěn)定性

企業(yè)級(jí)應(yīng)用對(duì)于可靠性和穩(wěn)定性有很高的需求,如果不能夠達(dá)到這個(gè)要求,就沒(méi)有辦法在市場(chǎng)普及開(kāi)來(lái)。影響閃存系統(tǒng)可靠性和穩(wěn)定性的因素,一是來(lái)閃存顆粒訪問(wèn)的調(diào)度和管理,另外一個(gè)文件系統(tǒng)的優(yōu)化;二者都將會(huì)影響到閃存系統(tǒng)的可靠性和穩(wěn)定性。如果漠視這些重要的內(nèi)容,將閃存應(yīng)用理解為:“使用SSD盤(pán)”,這是非常膚淺的,也會(huì)給系統(tǒng)的穩(wěn)定安全預(yù)埋下隱患和危機(jī),這并不是危言聳聽(tīng)。

閃存的隱患和缺陷

閃存優(yōu)勢(shì)在于高I/O速度和低功耗,但也存在著耐久性、數(shù)據(jù)保持性、讀寫(xiě)干擾、制造工藝等缺陷。其中,閃存耐讀,但不耐擦寫(xiě),其擦寫(xiě)次數(shù)有一定的限制,此外,電子泄漏、電子輻射都可能導(dǎo)致干擾,造成數(shù)據(jù)錯(cuò)誤或丟失;閃存讀寫(xiě),也有可能對(duì)于臨近存儲(chǔ)單元構(gòu)成干擾,所有這些都要通過(guò)技術(shù)手段,如Error-correcting code (ECC校驗(yàn))、RAID保護(hù)機(jī)制、Wear leveling(磨損平衡)、Bad block mapping(壞塊管理)、Read/write disturb management(讀寫(xiě)干擾管理)、Garbage collection(垃圾收集)等加以克服,所采用的技術(shù)手段不同,其效果也會(huì)有很大的差異。

以ECC為例,當(dāng)讀取時(shí)候,系統(tǒng)從顆粒里面讀出數(shù)據(jù)和ECC校驗(yàn)碼,如果驗(yàn)證一致就送出數(shù)據(jù),如果不一致,則需要通過(guò)ECC校驗(yàn)獲得正確數(shù)據(jù)。不同的閃存控制系統(tǒng)設(shè)計(jì),使用初期差別并不大。但是隨著使用時(shí)間和數(shù)據(jù)量的增長(zhǎng),壞塊會(huì)逐漸增加,這時(shí)就會(huì)產(chǎn)生大量的ECC Error,如果ECC引擎存在瓶頸,就會(huì)導(dǎo)致設(shè)備性能和可靠性會(huì)大幅度下降(參見(jiàn):請(qǐng)問(wèn)你用了多少ECC引擎),因此不同的設(shè)計(jì)方案對(duì)于系統(tǒng)性能和數(shù)據(jù)安全影響很大。

磨損平衡也是如此,由于存在擦寫(xiě)次數(shù)的限制,盡可能通過(guò)算法讓每個(gè)撒謊內(nèi)存塊擦寫(xiě)次數(shù)相同,以增加閃存設(shè)備的壽命。如此一來(lái),數(shù)據(jù)存儲(chǔ)的邏輯塊地址LBA,在不同的時(shí)間會(huì)指向不同的物理地址PBA。這是閃存不同于磁盤(pán)的地方。磨損平衡算法有動(dòng)態(tài)、靜態(tài)磨損平衡以及全局磨損平衡的區(qū)分。方法不同效果會(huì)有很大的差異。

文件系統(tǒng)優(yōu)化同樣重要

除了閃存控制器等硬件層面設(shè)計(jì)之外,文件系統(tǒng)對(duì)于閃存系統(tǒng)性能和可靠性的影響也非常大。

文件系統(tǒng)是一個(gè)比較復(fù)雜的系統(tǒng),從文件系統(tǒng)到底層設(shè)備,其路徑很長(zhǎng),這會(huì)影響到閃存性能和延時(shí)優(yōu)勢(shì)的發(fā)揮。為此, 2012年英特爾提出NVMe標(biāo)準(zhǔn),目的就在于縮短閃存設(shè)備的訪問(wèn)路徑,提升訪問(wèn)堆棧性能,發(fā)揮閃存高IO性能和低延時(shí)優(yōu)勢(shì)。

換句話說(shuō),文件系統(tǒng)存在根據(jù)閃存特性進(jìn)行優(yōu)化的空間。很多時(shí)候,傳統(tǒng)的文件管理和調(diào)度系統(tǒng),以及存儲(chǔ)陣列管理軟件都是針對(duì)磁盤(pán)的特點(diǎn)而設(shè)計(jì)的,很多并不適用于閃存。因此,為了充分發(fā)揮閃存的特點(diǎn),需要對(duì)于軟件進(jìn)行優(yōu)化,后者重寫(xiě),或者關(guān)閉掉一些不利于閃存管理的特性。

如今,Linux最新的Btrfs文件系統(tǒng)已經(jīng)基于閃存特性做了訪問(wèn)優(yōu)化,而ZFS文件系統(tǒng)在設(shè)計(jì)之初,就考慮了通過(guò)閃存進(jìn)行性能加速的方法。當(dāng)前比較熱門(mén)的Ceph文件系統(tǒng),更像是在底層文件系統(tǒng)之上的文件服務(wù),如今也大量采用閃存進(jìn)行性能加速。

不同文件系統(tǒng)配套,對(duì)于閃存系統(tǒng)的穩(wěn)定性、可靠性和安全性的影響絲毫不亞于硬件。因此,需要用戶在應(yīng)用中重點(diǎn)加以關(guān)注。小結(jié)

閃存作為存儲(chǔ)介質(zhì)的革命,其影響將是非常深遠(yuǎn)的。對(duì)于用戶的使用習(xí)慣也提出了非常高的要求。對(duì)此,需要用戶深入了解、區(qū)分不同技術(shù)和方法,如此才能夠興利除弊,最大程度發(fā)揮閃存科技的最新成果。

如果過(guò)于簡(jiǎn)單化,就會(huì)給未來(lái)埋下隱患,而這是應(yīng)該極力加以避免的。

今年7月,Dostor、DoIT、易會(huì)將舉辦2015年中國(guó)閃存峰會(huì),屆時(shí)將有權(quán)威的閃存技術(shù)講解和介紹,可以全面開(kāi)闊讀者和用戶的視野,歡迎參會(huì),詳情敬請(qǐng)關(guān)注。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)