智能手機、筆記型電腦等如何選擇快閃存儲器?
從智能手機、筆記型電腦、以及與各種云端應用相關的服務器,快閃存儲器儲存已經在我們的現實世界中無處不在。快閃存儲器技術已經如此普遍,我們大多數人甚至都沒有意識到快閃存儲器技術本質上并不是一種可靠的儲存媒介。實際上,快閃存儲器單元的使用壽命有限,快閃存儲器的特性意味著需要強大的磨損平衡(Wear-Leveling)技術以便使其有更好的性能表現。
本文引用地址:http://www.104case.com/article/201803/376690.htm業界的好消息是,現代快閃存儲器控制器中的磨損平衡技術已經有顯著進步,能夠克服快閃存儲器儲存介質固有的弱點,并幫助發揮出快閃存儲器的優勢。對于現代快閃存儲器儲存器系統而言,控制器的選擇比快閃存儲器儲存器本身更加重要,借由選擇合適的快閃存儲器控制器進行應用,可以提升系統的耐用性和可靠性。
這對于終端用戶和設備制造商來說是項重大的裨益,因為只要選用合適的高品質控制器,低成本、高容量、多級單元的MLC快閃存儲器儲存器就可以大幅使用在更關鍵的應用中。
由于當今接觸到的所有電子設備幾乎都在使用快閃存儲器儲存器,我們很容易忘記這項技術本身其實是一種苛求完美的媒介,面臨許多可靠性的挑戰。
P/E次數有限為最大挑戰雖然快閃存儲器儲存單元可讀取接近無限次數,但是它們被編程或擦除(P/E)的次數卻很有限。快閃存儲器被編程或擦除的耐久性取決于快閃存儲器儲存器的類型,一般來說,對于SSD或eMMC等大多數采用NAND快閃存儲器儲存設備而言,其中所使用的是商用MLC型快閃存儲器儲存器,通常每個單元只有數千個編程或擦除周期。
盡管快閃存儲器在讀取時沒有太多問題,但快閃存儲器寫入過程的涉入程度更高。快閃存儲器可以在頁面級寫入,大小以千位元為單位。數據在正確寫入之前,頁面必須要維持凈空。不幸的是,快閃存儲器儲存器每次只能擦除一個區塊,其大小為百萬位元。因此,寫入快閃存儲器儲存器之前首先需要擦除包含頁面在內的大區塊存儲器。由于更新快閃存儲器某個單元就必須更新區塊中的所有單元,如此將縮短總體使用壽命。此過程通常被稱為寫入擴增(Write AmplificaTIon)。
為了減少快閃存儲器儲存器單元的磨損,所有快閃存儲器儲存設備必須使用磨損平衡技術。這些技術旨在驅動器上均勻地分散磨損,以最大幅度提高系統的耐久性。在DRAM、SRAM或未使用的快閃存儲器單元中的臨時緩沖區都可用來跟蹤驅動器下一步要寫入的位置以及需要擦除的舊位置。
快閃存儲器驅動器的另一個主要問題是電源故障保護。臨時緩沖區包含驅動器下一步應該寫入的數據以及必須擦除的舊位置等訊息,這些訊息儲存在容易流失的存儲器中,在此情況下,突然斷電會導致緩沖區被擦除,使得傳送數據失敗造成災難性的損失。
隨著光刻制程尺寸的降低以及快閃存儲器儲存器密度和性能的提高,影響快閃存儲器可靠性的最后一個問題是不斷增加的錯誤數量。最初的快閃存儲器驅動器使用單級單元(SLC)快閃存儲器,其中每個單元儲存一位元,但現代快閃存儲器驅動器通常將一個快閃存儲器單元分成多個位元,即MLC/TLC快閃存儲器。每個物理單元支持更多字節以增大儲存密度,但是會降低每個字節開/關狀態之間的閾值。這不僅會增大誤碼率,而且降低使用壽命。隨著光刻制程尺寸的減小,快閃存儲器密度會進一步提高,錯誤率也會增大。
高級控制器技術提升可靠度盡管快閃存儲器儲存可靠性面臨著上述挑戰,但我們仍然能夠將其用于日常的消費類、商業類甚至關鍵任務性的應用,這方面主要得益于先進的快閃存儲器控制器技術。這些控制器結合了在磨損平衡、電源故障管理和糾錯等方面的先進技術,使我們能夠安全可靠地使用當今的高密度快閃存儲器。
磨損平衡快閃存儲器轉換層(FTL)是快閃存儲器控制器其中最重要的面向。透過將主機的邏輯位址轉換為快閃存儲器上的物理位址,可以使SSD磨損平衡。例如,如果主機系統在相同的位址更新數據,FTL會將該邏輯位址轉換為新的物理位址,以便在快閃存儲器驅動器上均勻地分布磨損,大幅度地提高耐用性。
FTL映射邏輯到物理位址的粒度對性能和耐久性都有很大的影響。消費類USB和SD卡等較簡單的快閃存儲器介質使用基于區塊的映射,在區塊層級(大小為百萬位元)執行映射。由于每個邏輯頁面都直接映射到固定的物理頁面,磨損平衡發生在區塊層級,因而在頁面層級無法產生優化。
由于區塊的尺寸就是擦除操作的最小尺寸,所以這種映射實施起來非常簡單且負擔較低。但是,這種簡單的方法會導致大量的寫入擴增,并縮短了元件的使用壽命。
基于頁面的映射通常用于現代SSD,它是將更細粒度的邏輯數據頁面(以千位元為單位)映射到數據的物理頁面。透過這種映射,邏輯頁面可以映射到區塊內的任何物理頁面,同時實現區塊級和頁面級的磨損平衡。但是,對于其他形態因數,SSD基于頁面的映射尚未被廣泛使用。
頁面映射等更細化的方法需要更強大的計算能力,并且必須儲存更大的映射表。但是,不斷增大的粒度可以大幅度降低寫入擴增。
特別是對于工業、嵌入式或物聯網應用而言,較小的隨機I/O操作是常態,粒度、頁面映射可以大大降低寫入擴增,并延長設備的使用壽命。
斷電保護由于SSD磨損平衡算法的映射訊息通常儲存在易于流失的DRAM中,因此電源故障會導致災難性的訊息遺失和驅動器損壞。為防止這種可能性出現,許多工業SSD會采用超級電容器來儲存備用電能,以防備電源故障,使系統有時間把DRAM內容轉存到不易流失的快閃存儲器中。
這種方法雖然可行,但并不理想。依靠超級電容的備用電能,這些SSD不但增加成本,而且還可能引入額外的故障點,因而影響系統的可靠性和使用壽命。微型SD(μSD)等更小形態的設備根本不允許包括DRAM和電容器。
具備Hyperstone hyMap技術快閃存儲器控制器的儲存設備能夠直接在非易失性存儲器中存儲映射訊息,這不僅消除了DRAM和電容器的成本,而且在任何時間、任何情況下都能確保數據的安全。
糾錯糾錯是快閃存儲器儲存可靠性難題中的最后一關。
以前的快閃存儲器可以使用簡單的海明碼(Hamming-Code)糾錯碼(ECC),但新一代高密度MLC快閃存儲器則需要更強的糾錯能力。現代MLC ECC必須能夠校正每個扇區的多個位元。
消費類SSD可能會選擇使用品質和成本較低的LDPC代碼來執行這種類型的ECC,但工業級快閃存儲器具有更嚴格的要求,更傾向于采用BCH或其他更高可靠性的方法。使用96位元的BCH ECC,可以提供多位元糾錯功能,而且毋需給I/O操作增加任何負擔。
遙控器為高可靠/長壽命關鍵構建可靠的快閃存儲器充滿了挑戰。盡管固態儲存沒有可移動元件,物理上比硬盤更可靠。但快閃存儲器單元有限的使用壽命、電源故障以及快閃存儲器的糾錯等問題給數據的可靠性帶來了挑戰,特別是對于嵌入式和工業驅動器等需要長壽命周期的應用領域。
過去,只要購買SLC型快閃存儲器就足以保證一個相對可靠的系統。然而,隨著制程幾何尺寸的縮小和快閃存儲器密度的不斷提高,如今不同快閃存儲器介質之間可靠性和錯誤率的差異已經沒有之前那么明顯,當今儲存系統可靠性的最大決定因素反而是快閃存儲器控制器的設計。
對于要求高可靠性和使用壽命長的應用,重要的是要選擇嵌入式工業市場的控制器為目標,而不是那些以犧牲使用壽命或數據完整性為代價來實現高性能的產品。透過先進的磨損平衡技術、電源故障防護設計和強大的ECC,基于Hyperstone控制器的儲存設備能夠確保實現高可靠度的解決方案。
評論