當(dāng)前位置:中美貿(mào)易網(wǎng) > 技術(shù)中心 > 所有分類
對于SSD工業(yè)存儲的使用壽命,我們經(jīng)常會聽到一種說法:寫入放大是SSD壽命的真正殺手。
為什么會這么說?那寫入放大是什么?今天就帶你了解一下。
關(guān)于SSD的擦寫
SSD閃存具有擦寫次數(shù)的限制,也就是說它的壽命是有限的。閃存擦寫一次叫做1次P/E,因此閃存的壽命就以P/E作為單位。
SSD的壽命計算
根據(jù)閃存的操作性質(zhì),我們不難得出SSD壽命的計算公式,即:
以TLC顆粒為例,它的擦寫次數(shù)大約為1000 P/E,如果我們每天給120G SSD寫入10GB的數(shù)據(jù),那么SSD的壽命=120GB*1000/10/365=33年
33年?計算結(jié)果難道出錯了?沒有錯,不過這是理論值,要計算SSD的真正壽命,還要考慮一個重要的影響因素——寫入放大。
什么是寫入放大?
寫入放大是SSD存在的不良現(xiàn)象,即實際寫入的物理數(shù)據(jù)量是寫入數(shù)據(jù)量的多倍。
打個比方,當(dāng)向SSD寫入數(shù)據(jù)時,單元都處于已擦除狀態(tài),因而數(shù)據(jù)可以直接寫入,一次一頁(大小通常為4至8KB)。這時候不存在寫入放大的情況。
但是,如果單元處于寫入狀態(tài),那寫入放大就會產(chǎn)生。我們以8KB Page、1024KB Block(128Page)來計算,并且其中127個Page已經(jīng)寫入了數(shù)據(jù),那么結(jié)果會變成這樣:
小方塊為Page,大方塊是Block,該Block里127個Page都寫入了數(shù)據(jù),只有一個Page是空的。如果恰好有一個8KB的數(shù)據(jù)要寫入,按理說填滿就剛好,然而并不能。此時SSD的操作是,把原本127個Page里的數(shù)據(jù)讀出來,然后擦除整個Block的數(shù)據(jù),再將該8KB數(shù)據(jù)與之前127個Page里的數(shù)據(jù)一起寫入Block中。
這帶來的直接后果就是,我原本只是想寫入8KB的數(shù)據(jù),但實際寫入了1024KB,數(shù)據(jù)容量被放大了128倍。所以說,寫入放大也就成了SSD壽命的一大克星。
如何應(yīng)對寫入放大
為了降低寫入放大帶來的消極影響,用戶在使用SSD的過程中,盡量給SSD留出一部分空間。數(shù)據(jù)寫在空白的塊(die),就不會出現(xiàn)寫入放大的情況。
但是,隨著SSD使用時間的增長,可用空間肯定會越來越少,因此單靠簡單的空白塊是不可行的。還要依靠主控中的GC垃圾回收、Trim、磨損均衡等技術(shù)進行充分保障。