
雖然我知道在 USB 隨身碟上執行寫入操作會降低裝置的預期壽命。我聽說寫入量在10萬到1000萬之間,但我沒有聽說過讀取操作數。從設備讀取的資料是否計入總數?
我感興趣的是只向閃存驅動器寫入一次並將其設置為唯讀。然後每天從設備讀取文件一千次或更多次,但我想知道(假設每天讀取 1,000 次)閃存驅動器是否需要在 100 天內更換(假設 100,000 次讀取/寫入循環壽命)?
答案1
出於實際目的,沒有讀取限制。實際上也沒有寫入限制,而是擦除限制。 (而且,如果您之前寫入過某個區塊,則需要擦除它才能向其中寫入新資料。)
答案2
大衛·施瓦茨的回答涵蓋了所有「實際目的」。這個答案將集中在「不切實際的目的」。無限讀取規則有一個理論上的例外,但它有一個簡單的解決方案。
寫入快閃記憶體有壽命限制,但讀取也會影響它。它的弱點之一是所謂的「讀取乾擾錯誤」1 讀取快閃記憶體會稍微降低周圍儲存的值,這最終可能導致錯誤。
透過控制器追蹤讀取次數並在退化成為問題之前複製區塊來避免錯誤。只需將區塊複製到其他地方,然後擦除原始區塊即可重置所有內容,並且可以再次使用原始區塊。 來源
MLC 的經驗法則是 100,000 次讀取;對於 SLC,其讀取次數為 1,000,000 2(多級單元 (MLC) 和單級單元 (SLC)兩種類型的快閃記憶體)。因此,在「正常」使用情況下,這些閾值甚至可能不是控制器需要處理的問題。
這給我們帶來了不切實際的場景。假設您將快閃記憶體用於本問題中的用途(寫入一次,然後在很長一段時間內大量讀取)。只要有至少一個空閒塊,控制器就可以用數據玩搶椅子遊戲。然而,如果您用資料填充最後一個區塊,您最終可能會達到控制器無法避免讀取乾擾錯誤的程度。
在這種牽強的情況下,控制器可能會透過凍結卡片或快閃磁碟機來避免損壞,因此沒有經濟有效的方法來讀取它。按照本問題中所述的使用級別,這可能會在幾個月或幾年內發生,具體取決於快閃記憶體的類型。
當然,考慮到備份磁碟機的價格以及您尚未寫入任何新資料的事實,只需擁有備份磁碟機即可解決這個問題。或者,您可以確保至少留出少量可用空間。
註:以下兩個來源均為直接下載連結;點擊 PDF 檔案即可下載。
1 http://users.ece.cmu.edu/~omutlu/pub/flash-read-disturb-errors_dsn15.pdf
2 http://www.dslreports.com/r0/download/1507743~59e7b9dda2c0e0a0f7ff119a7611c641/flash_mem_summit_jcooke_inconvenient_truths_nand.pdf
答案3
回答起來沒那麼簡單。當您寫入文件時,正在寫入新的區塊。使用過的區塊被標記為“髒”。因此,如果您在 1MB 裝置上寫入 10KB 文件,則該 10KB 檔案很可能會跨 1MB 裝置中的所有區塊寫入。只有當不再有「乾淨」區塊時,快閃記憶體控制器才可能會擦除「髒」區塊。
您的隨身碟的使用壽命將比在 1MB 裝置上寫入 10K 檔案 100,000 次要長得多。
答案4
衡量隨身碟(SSD 或 USB)的使用壽命並不像表述數位或平均故障間隔時間 (MTBF) 那麼簡單。因為失敗的問題不是襯裡。
硬碟機(磁性介質)會遇到與 (1) 控制器電路板 (2) 驅動器的讀寫頭 (3) 軸承疲勞相關的故障,但很少是介質本身的故障。
隨機存取記憶體磁碟機(通常稱為快閃磁碟機)會過期,因為記憶體區塊在完全失效之前只能擦除/寫入 X 次。 「閃存RAM」驅動器的工程師透過「平衡」塊的使用來改善這種損失。基本上,他們將最終的損失分散到所有可用的區塊中,從而減少任何一個區塊的過度使用。
這是一篇關於研究人員在測試各種快閃 RAM 驅動器組件時發現的內容的文章。正如我之前所說…這取決於一些關鍵數據和製造方法。
最後一句話,請記住您的磁性媒體驅動器或 RAM 驅動器的結束日期,因為兩者最終都會出現故障。隨著時間的推移,日復一日、月復一月、年復一年,進行更頻繁的備份。
http://www.zdnet.com/article/usb-drive-life-fact-or-fiction/