新聞中心

NAND閃存中控制器的重要性

  • 發布時間: 2022-10-09

        基于NAND閃存的固態硬盤(SSD)正在取代許多應用中的硬盤驅動器(HDD),尤其是便攜式和消費類設備。由于閃存固有的高性能,這種技術也正在進軍企業存儲領域,同樣由于其堅固性(robustness),也得以進軍工業應用領域。閃存控制器在這些系統中起著至關重要的作用,能夠提供主機和閃存設備之間的物理接口,也可以高效地利用閃存來實現所需的可靠性和性能。

 

控制器架構

065dda0355813de74c4a76169bf016ad_1517636146772043

 

圖1: 一個通常的閃存控制器架構

 

        圖1所示為一個典型的閃存控制器的簡單框圖,其中主要包括三個部分:與NAND閃存的接口,與主機系統的接口,以及執行所有管理功能的中央處理器。 ROM只提供初始引導代碼,控制器的固件存儲在閃存中,因而便于更新升級。選擇使用何種CPU是決定控制器性能、功能和功耗的關鍵。

 

        主機和閃存接口包含用于數據讀寫的緩沖區。由于主機和閃存采用的速度和數據大小不同,而且主機上的數據在寫入之前可能需要重新組織,因而緩沖區是必需的。控制器應該能夠透明地交叉訪問多個閃存,以達到所需的讀寫速度。

 

為了達到要求的性能、可靠性和使用壽命,控制器必須能夠管理閃存的許多特性。

 

地址轉換和映射

 

        基于文件系統的扇區大小并使用“邏輯塊地址”,主機通常以塊為單位寫入閃存。控制器必須管理這些傳輸到閃存存儲器頁和塊的數據,并跟蹤主機邏輯地址和閃存中物理地址之間的映射,如圖2所示。出于速度考慮,映射信息將保留在RAM中,但需要儲存到閃存,以便在斷電時能夠得以保存。

所使用的映射類型和更新方法將決定性能和堅固性,例如電源意外斷開的情況。

52e9fa398d8767d017c147162db0d83d_1517636146507381

 

圖2: 基本的基于塊的地址映射

糾錯碼

        與所有存儲設備一樣,數據讀取時可能會出現錯誤。這些可能是由輻射引起的偶然錯誤,或者是附近的單元被讀取或編程時存儲值被擾亂引起的暫時故障,或者是編程單元時的失效。使用閃存時,由于閃存單元的編程/擦除周期有限,這些錯誤隨著時間的推移會變得更加頻繁。為此,控制器使用糾錯碼(ECC)來檢測和糾正錯誤。這意味著當數據寫入閃存時,會寫入包含ECC的額外字節。為了檢查錯誤,當數據被讀取時,ECC被重新計算,并且與存儲的值進行比較。通常情況下,允許校正單字節的錯誤,并且可檢測多字節的錯誤。重復的故障可能表示壞塊(bad block)。然后控制器需要跟蹤壞塊,一面它們被再次使用。

 

        因此,高質量的ECC實施是確保閃存存儲器中數據完整性的關鍵。可以使用的ECC類型有很多,這些都包括非常復雜的數學函數,可以在校正速度和質量、硬件要求和處理性能方面提供不同的權衡。ECC的選擇需要與原始誤碼率和誤碼分布等閃存的特性相匹配。一個好的控制器需要認真考慮這些因素,并有足夠的處理能力來實現最佳的ECC算法。

磨損平衡

 

        為了最大限度地減少閃存單元有限的編程/擦除耐久性的影響,并最大限度地延長閃存的使用壽命,控制器使用磨損平衡(wear levelling)算法來確保所有塊的均勻使用。這意味著控制器在寫入數據時必須從未使用的塊中選擇使用最少的頁。此外,有幾種方法可以用于在有效性和處理性能之間進行不同的取舍。

 

        閃存的一個特點是數據只能寫入擦除的頁面。因此,如果對小于一頁的數據塊進行隨機寫入,則當前在頁中的數據可能需要被重新定位到新的已擦除頁面。這是產生寫入放大的主要原因之一,即閃存的實際寫入比主機要求的寫入要多。控制器必須確保數據重新定位期間的數據完整性,并需要更新邏輯地址映射。

 

        由于數據是以頁的形式寫入,但卻只能以由多個頁面組成的塊進行擦除,因此控制器將必須進行垃圾收集(garbage collection)。這需要復制數據以便把已經使用的頁整合到塊,并釋放可被擦除進而重新使用的空白塊。垃圾收集的時間和頻率需要進行管理,以減少對主機系統性能的影響,還需要確保斷電時數據不會丟失。

 

        控制器可以利用閃存中塊的超量配置,從而使壞塊不會降低閃存的可用容量或壽命。可用的備用塊也能夠提高垃圾收集和隨機寫入的性能。

 

半導體可靠性

 

       系統可靠性的一個重要方面是控制器本身的質量。首先,通過嚴格的設計和測試流程可以確保設備在特定的環境中可靠地工作。另外,由于半導體對輻射的敏感性,所選擇的封裝對于最小化α粒子的影響非常重要。同樣,封裝和互連材料也需要耐受使用期間由溫度變化引起的應力。生產測試中使用的方法是加速老化來確認設備能夠滿足故障率和平均無故障時間(MTBF)的要求。

 

健康監測

 

        與任何其他存儲系統一樣,閃存的使用壽命有限。控制器可以監控和記錄總的擦除和編程周期次數、壞塊和備用塊的數量、以及由ECC檢測到的錯誤率等數據,由此可向主機系統和用戶提供關于閃存的健康狀態信息。這樣可以提前預警潛在的故障,以便在發生數據丟失風險之前更換設備。對于通過標準ATA接口連接的SSD設備,可以通過自我監測、分析和報告技術(SMART)協議來報告此類信息。

 

 

 

 

 

本文網址: //thequittershow.com/news/20.html
找不到任何內容
在線客服