眾所周知,SSD固態(tài)硬盤的存儲(chǔ)介質(zhì)是Nand Flash顆粒,那么如何延長(zhǎng)SSD的壽命,實(shí)際上就是如何延長(zhǎng)Nand閃存顆粒的壽命了。
為了實(shí)現(xiàn)這些目標(biāo),閃存的特性是控制器必須適應(yīng)的關(guān)鍵因素。寫入數(shù)據(jù)的過(guò)程、閃存單元的有限編程/擦除周期以及錯(cuò)誤處理只是這些特性的幾個(gè)示例,下面將更詳細(xì)地描述這些特性。
Nand閃存的一個(gè)關(guān)鍵特性是,數(shù)據(jù)是在頁(yè)面中寫入和編程的。這些頁(yè)面的大小通常在4kB到16kB之間,并且只能通過(guò)擦除由多個(gè)頁(yè)面組成的整個(gè)塊來(lái)擦除。頁(yè)和塊中的一個(gè)單元需要“在瞬間”編程和擦除,這就是為什么它被稱為閃存的原因。任何已編程為0的單元格只能通過(guò)擦除整個(gè)塊重置為1。最后,在將新數(shù)據(jù)編程到已經(jīng)包含數(shù)據(jù)的頁(yè)面之前,必須將頁(yè)面的當(dāng)前內(nèi)容復(fù)制到另一個(gè)空頁(yè)面,或者在不再需要時(shí)刪除。如果沒(méi)有可用的空頁(yè),則在將數(shù)據(jù)復(fù)制到塊中的頁(yè)之前,必須刪除塊。然后舊頁(yè)被標(biāo)記為無(wú)效,可以擦除和重用。
控制器管理決定要使用哪些頁(yè)面以及跟蹤需要擦除的無(wú)效頁(yè)面的過(guò)程。此外,它還執(zhí)行一個(gè)名為“垃圾收集”的函數(shù),將有效數(shù)據(jù)頁(yè)合并到塊中,創(chuàng)建空塊以供擦除和重復(fù)使用。在所有數(shù)據(jù)處理過(guò)程中,控制器管理從主機(jī)的邏輯地址到內(nèi)存中物理位置的映射。控制器的另一個(gè)關(guān)鍵特性是,如果在移動(dòng)數(shù)據(jù)時(shí)發(fā)生電源故障,可以確保數(shù)據(jù)的完整性。在醫(yī)療技術(shù)等重要行業(yè)發(fā)生停電時(shí),這一點(diǎn)尤為關(guān)鍵。
上述過(guò)程包括復(fù)雜的物理特性和相對(duì)高的電壓,正因?yàn)槿绱耍W存單元所能完成的有限的編程和擦除周期使得選擇要使用的塊和頁(yè)變得更加復(fù)雜。為了防止頁(yè)面的早期故障,控制器會(huì)執(zhí)行一個(gè)稱為“磨損均衡”的過(guò)程,以確保所有閃存塊都得到平等使用。
控制器的另一個(gè)重要任務(wù)是盡可能有效地使用糾錯(cuò)編碼(ECC)來(lái)檢測(cè)讀取數(shù)據(jù)時(shí)的錯(cuò)誤。最近的ECCs可以在1kByte的用戶數(shù)據(jù)中糾正超過(guò)120位的錯(cuò)誤。這意味著,在70位讀取中有1位與原始誤碼率(RBER)有關(guān)的預(yù)計(jì)是不正確的!
如果某個(gè)塊中出現(xiàn)重復(fù)故障或某個(gè)塊未能擦除,則該塊將被標(biāo)記為壞塊,以后將不再使用。閃存的一個(gè)重要特性是,它們是用額外的備用塊構(gòu)建的。因此,如果某個(gè)塊顯示的錯(cuò)誤率超出了公差限制,則該塊將不被使用,并將被標(biāo)記為壞塊。相反,將使用另一個(gè)備用塊。
最后,讓我們看看如何跟蹤閃存的當(dāng)前狀態(tài)和預(yù)期壽命。此過(guò)程用于避免意外故障和數(shù)據(jù)丟失。與硬盤驅(qū)動(dòng)器一樣,標(biāo)準(zhǔn)的自我監(jiān)控、分析和報(bào)告技術(shù)(SMART)允許控制器報(bào)告閃存的運(yùn)行狀況。
因此,最先進(jìn)的Nand Flash控制器技術(shù)是實(shí)現(xiàn)基于Flash的存儲(chǔ)產(chǎn)品的關(guān)鍵,與硬盤存儲(chǔ)相比,它確保了高水平的耐久性、可靠性和運(yùn)行壽命。