俗話說,一粒老鼠屎壞了一鍋湯。一個事件就有可能毀掉一個行業,例如三鹿奶粉事件機會就摧毀了整個中國乳品產業。PCIe閃存卡應用也是如此,一開始,用戶對于其帶來的超高IOPS性能津津樂道,但也有用戶在應用過程中觸雷,因為PCIe SSD卡的質量問題,出現了數據丟失。
PCIe SSD的這些“坑”是怎么造成的?是設計問題,質量問題?還是用戶的使用問題?恰逢Facebook公司與卡耐基-梅隆大學的研究人員,耗時三年多時間,發布了“閃存失效大規模研究”的專業論文,對影響PCIe SSD卡可靠性的因素進行了分析。
鑒于所涉問題比較專業,為此,我們特別邀請Greenliant亞太營銷副總裁李炫輝從專業技術角度進行了解讀。密度、價格和可靠性的關系
SSD所以能夠走入人們的生活和工作,這是和閃存價格快速下降密不可分。實際上,我們所使用的閃存,有三種NAND顆粒可供選擇:SLC、MLC和TLC,顆粒不同,產品的壽命(耐擦寫程度)以及出錯的概率是不相同的。目前,從價格容量到壽命,能夠被廣泛使用的主要是MLC。“隨著密度的增加(如TLC > MLC >SLC),實際上閃存芯片的可靠性是降低的。如今,大家都知道閃存顆粒越來越便宜了,采用20nm制程工藝制造的芯片,其價格只有25nm的60%, 16nm只有20nm的一半價格,越來越便宜了。但價格便宜了,是以可靠性降低為前提的。如今制造趨勢是回歸高制程工藝,通過多層結構(3D技術)增加容量,提高單個閃存芯片的容量,保持一定可靠性的前提下,降低制造成本。” 李炫輝說。
DWPD性能承諾
閃存和磁盤大一個不同在于隨著設備的不斷使用,閃存的壞塊會不斷增加,由此會帶來產品性能的 下降。好的產品,在產品的生命周期內,應該保障性能衰減不超過10%。對于用戶來說,這是一個非常關鍵的數據。李炫輝指出,這個是數據不是理論推測出來的,而是實際測試出來的。其中有一個術語稱為DWPD(硬盤每日寫入量),10 DWPD,就是每天全盤擦寫10次,通過疲勞測試所得出的性能衰減數據。為什么是10次,而不是50次,100次,其中的原因在于NAND有電子元器件組成,有一個放松時間,用于釋放電子調整電位的抖動狀態。
浴盆曲線和雙曲線磁盤系統的可靠性符合浴盆曲線,開機故障率比較高,穩定使用之后,故障率維持恒定,產品生命周期末端,故障率上升。
與磁盤不同,閃存的 故障率實際呈現雙曲線,剛開始使用故障率高,這點類似磁盤。當閃存大規模使用時,質量不好的顆粒就會出現損壞,故障率上升。這時,閃存可以通過OP( Over-provisioning,是指SSD保留他用的空間)的顆粒替換質量不高的顆粒,替換之后,閃存逐步進入穩定工作的狀態,故障率降低,直至生命周期的末端,故障率提升。
李炫輝表示,對于閃存來說,早期能夠替換臨界狀態的顆粒非常重要。控制供電和溫度Facebook研究顯示,高溫會帶來SSD高錯誤率。
據李炫輝介紹:50℃~55℃是SSD適合的工作溫度,穩定過高會帶來錯誤,導致失敗。溫度過低,也不利于SSD性能的發揮。為了控制溫度,可以通過限電來達到給SSD降溫的目的。例如從25W限制到15瓦,溫度自然就降下來了,溫度和功耗是一個線性的關系。
“但這也是一個危險的辦法。”他說。不論是采用動態還是靜態調整,控制供電將導致IOPS性能不可控、不可知。對于敏感性應用,很有可能會影響前端用戶的體驗。因此,控制溫度,避免熱點的出現,還需要從PCIe SSD卡的設計來解決。
以ECC引擎設計為例,目前一些PCIe SSD卡,只有2個ECC校驗引擎。在應用初期,壞塊較少,所需要計算量不大,這些ECC校驗引擎尚能夠滿足需要。但是隨著使用,ECC引擎很有可能成為瓶頸,很有可能成為熱點,影響卡的質量。好的設計應該采用分布式ECC設計,一來均衡負載,解決瓶頸,二來也可以讓熱量分布均勻,有利于散熱。但ECC引擎增加也會導致成本上升。在成本和可靠性之間應該力求平衡。“用戶避免使用價格便宜一些,但留有隱患的產品。” 李炫輝說。磨損均衡的話題在Facebook的研究中,特別提到了控制器系統優化和緩存對于SSD顆粒擦寫次數的影響。
這就涉及到閃存顆粒的保護問題。閃存耐讀不耐擦寫,為此需要通過策略來提高顆粒的壽命。相關的技術就是磨損平衡,有動態、靜態和全局磨損平衡的方式。這些可以改善產品的耐久性,延長使用的壽命,但這也會影響閃存的性能。先進的磨損平衡算法能夠保障沒有“熱點”顆粒出現,從而提高產品的穩定性和可靠性。
另外需要用戶了解的是SSD的存儲策略。但系統需要對存儲數據的閃存顆粒塊進行擦寫的時候,首先要將塊內的有效數據遷移走,然后對于整個頁進行擦寫(方法就是加電,將所有單元數據置為1)。因此,對于控制系統而言,盡量避免不對齊數據頁的出現(該存儲頁的空余容量,其他調用沒有辦法使用。這是最小的存儲控制調用單元。)
好的調度控制算法,顯然可以提高產品的可靠性和穩定性。另外,緩存的使用,也可以有效減少寫操作,也可以達到同樣的目的。總之,由于專業技術知識的缺乏,技術的選用和使用不當,就會影響用戶的使用體驗,影響用戶使用PCIe SSD閃存卡的信心。因此,為了避免“一粒老鼠屎壞了一鍋湯”,就需要用戶加強對于閃存知識的了解和學習。為此,李炫輝也呼吁:希望有更多的廠商,能夠開放技術,重視技術知識的普及。目前尚沒有一個成熟的辦法能夠區分好的和不好的產品。但隨著用戶知識水平的提升,好的產品,即使價格稍高,也同樣能夠獲得用戶的青睞。這就是真金不怕火煉!