通過群聯的GuaranteedFlush™確保數據正確性

作者 | 2021 年 2 月 15 日 | 全部, 消費者, 企業, 技術

NAND 閃存是一種非易失性存儲器,由數百萬個浮柵晶體管組成,這些晶體管捕獲柵極內的電子。這些浮柵晶體管可以被認為是存儲單元。當數百萬個存儲單元連接起來時,它們形成一個陣列。每個數組由塊組成,每個塊包含多個頁。

圖 1 給出了 NAND 陣列 f 原理圖的簡要說明。

 

每個字線 (WL) 構成一個頁,這是 NAND 中讀/編程操作的基本單位。然而,在單級單元(SLC)、多級單元(MLC)和三級單元(TLC)類型的NAND中,每個WL的頁數是不同的。

圖2顯示MLC NAND中的兩個頁(下頁和上頁)共享相同的WL,以及TLC NAND中的三個頁(下頁、中頁和上頁)共享相同的WL。共享相同 WL 的頁面稱為配對頁面。

 

 

由於 NAND 閃存的物理特性,NAND 編程操作需要遵循以下兩條黃金法則:

  1. 編程操作需要遵循根據NAND Flash特性指定的順序。
  2. 如果字線(WL)上的編程操作未完成,則無法保證該WL的數據完整性。

 

對於MLC或TLC NAND閃存來說,單頁數據編程將不是一步操作。 MLC/TLC頁需要編程兩次或三次才能完成數據編程要求。這種現像是閃存的物理特性。

 

配對頁面中用戶數據的完整性問題

 

在當前的消費類固態硬盤(SSD)市場中,MLC和TLC閃存是最受歡迎的內存類型。 MLC和TLC閃存可以以更低的成本提供更大的存儲容量,尤其是TLC。但MLC和TLC閃存的編程操作比SLC複雜。如果以TLC flash為例,則需要對同一WL上的配對頁進行3次編程才能完成整個操作。

圖3說明了TLC閃存的完整編程操作。只有當對WL_x的第三次編程操作完成時,WL_x中存儲的數據才成為可靠數據。

 

不幸的是,編程操作的這種複雜性增加了數據損壞的風險。由於數據的完整性僅發生在整個編程序列完成之後(即第一編程+第二編程+第三編程),因此在編程操作完成之前發生的任何意外事件將導致數據損壞或丟失。

圖 4 顯示瞭如果任何意外事件中斷數據編程操作將會發生的情況。在這種情況下,在WL_2的編程操作完成之前發生斷電,這意味著僅保證WL_0/WL_1中存儲的數據。換句話說,其他數據可能會因斷電而損壞。

 

群聯專有技術GuaranteedFlush™旨在防止我們的存儲設備因編程操作期間的任何意外中斷而導致數據損壞。

GuaranteedFlush™ 並不針對每個數據編程命令運行。相反,一旦存儲設備收到 FLUSH_CACHE 命令,GuaranteedFlush™ 就會在後台觸發。因此,該技術保證了在 FLUSH_CACH 命令之前編程到器件中的所有數據的完整性。

圖5是GuaranteedFlush™能夠覆蓋的用戶數據范圍的圖示。

 

 

GuaranteedFlush™是多層算法的實現。有兩種基本方法可用於保護用戶數據免受突然斷電的影響。

 

概念1:虛擬數據補償

第一種方法是加快編程操作。不同類型的NAND Flash的編程順序可能不同。無論編程順序如何變化,單個WL上數據編程的持續時間決定了由於意外中斷而導致數據丟失的風險。如果這個時間越長,發生中斷的可能性就越高。為了解決這個問題,將虛擬數據插入到特定的WL中,以確保允許存儲用戶數據的WL完成整個編程操作(即,第一編程+第二編程+第三編程),如圖6所示。

 

通過將虛擬數據插入到隨後的WL中,可以完成用戶數據編程操作。這樣,即使任何意外事件中斷即將進行的編程序列,也可以保證用戶數據的完整性。

 

概念二:實時數據備份

第二種可用於保護 SSD 免受配對頁面效應導致的數據損壞的方法是直接將數據備份到頁面,而不會首先遇到配對頁面問題。配置為SLC模式的頁面能夠滿足此要求。這可能感覺像是一種保護用戶數據安全的激進方法。然而,SLC模式的容量是TLC內存的三分之一。實時數據備份的實現成為另一個問題。

 

選擇群聯,保障數據安全

GuaranteedFlush™是群聯的另一項專有技術,旨在確保意外斷電期間數據的正確性。 GuaranteedFlush™增強了群聯SSD產品的可靠性。

 

 

 

加速創新的基礎™

zh_TW繁體中文