IDC 預測,2010 年至 2015 年,全球固態硬盤出貨量預計將以 52% 的複合年增長率增長。 企業服務器和存儲采用率的相應激增意味著對媒體管理等關鍵組件的更深入了解以及新驅動器與舊驅動器的使用可以幫助管理員更好地管理存儲資源。
IDC 預測,2010 年至 2015 年,全球固態硬盤出貨量預計將以 52% 的複合年增長率增長。 企業服務器和存儲采用率的相應激增意味著對媒體管理等關鍵組件的更深入了解以及新驅動器與舊驅動器的使用可以幫助管理員更好地管理存儲資源。
SSD 可能看起來與傳統的旋轉硬盤驅動器非常相似,但相似之處只是表面上的。 對 SSD 內部工作原理的檢查表明,SSD 實際上與傳統驅動器的共同點很少。 一個關鍵示例是每種類型的驅動器覆蓋現有數據的方式不同——旋轉驅動器只需一步即可覆蓋,而基於 NAND 閃存的 SSD 則需要額外的步驟。 本簡介檢查了 SSD 的“多步寫入過程”。
背景:SSD 設計基礎
要了解 SSD 如何覆蓋數據,首先要了解 SSD 的構造方式。 任何 SSD 都具有以下基本組件:
- 主機界面
- 印刷電路板
- 與非控制器
- NAND閃存
寫入過程差異
日期寫入 NAND 與寫入旋轉硬盤驅動器不同——包含數據(無論有效還是無效)的 NAND 必須首先被擦除; 只有這樣它才能寫入新數據。 簡而言之,擦除過程首先擦除整個塊; 只有這樣,該塊中的頁面才能寫入新數據。
因為已經有數據的 NAND 在寫入新數據之前必須先擦除,所以滿設備(沒有空/已擦除頁面)的寫入順序與空設備(或有足夠的空/擦除頁面來吸收傳入的寫入流量)。
可用的空白/已擦除頁面
假設我們能夠確保隨時準備好空白/已擦除的頁面。 當寫入進入 SSD 時,流程看起來類似於旋轉驅動器:
- 數據從主機接口進入 SSD,導致寫入請求(最終將寫入 NAND)。
- “是否有任何空白/已擦除的頁面”(即準備寫入的頁面)? 在圖 1 中,可以使用空白/已擦除的頁面。
- 將數據寫入可用頁面。
這個寫入過程是一步完成的,就像旋轉驅動器一樣。 通常,這比寫入沒有空白/已擦除頁面的 SSD 快得多(如圖 2 所示)。
可用的空白/擦除頁面不足
假設現在我們有一個 SSD 的空頁/擦除頁不足。 當新數據寫入 SSD 時,需要在寫入發生之前立即擦除單元格:
- 數據從主機接口進入 SSD,導致寫入請求(最終將寫入 NAND)。
- “是否有足夠的空/擦除頁面”(即準備寫入的頁面)? 在圖 2 中,可用的空白/擦除頁面不足。
- 找到一個數據已失效或其有效數據可以移動的塊,使其成為一個很好的擦除候選者,然後調用垃圾收集例程(請參閱下面的新驅動器與舊驅動器部分)以啟用該塊以進行擦除.
- 擦除此塊。 (根據需要重複以將數據存儲在寫入請求中。)
- 將數據寫入新擦除/空頁。
第 4 步完成起來可能會很慢,因為擦除 NAND 比寫入 NAND 需要更長的時間——任何 NAND 擦除週期都很“慢”(通常,寫入 MLC 單元需要 250 微秒 [µs],但擦除它需要 1500µs)。
新驅動器與舊驅動器
如果您使用的是全新的 SSD,寫入過程與圖 1 相同。新 SSD 是空的; 它的所有頁面都將是空的並準備好接收新數據,因此在寫入數據時很少執行擦除步驟。 但是,隨著驅動器填滿,這些空白/已擦除頁面的數量會減少並最終被消耗掉。
SSD 中有一個後台進程可以釋放數據已失效的頁面,使它們成為被擦除的理想候選者。 這個後台進程稱為“垃圾收集”。
結論
如果基於 NAND 的 SSD 已滿,向其寫入新數據與向空 SSD 寫入數據的過程截然不同。 如果驅動器是空的,寫入過程與旋轉驅動器非常相似。 但是,如果 SSD 已經包含數據,則需要額外的步驟:
- SSD 必須確定是否有足夠的可用空間來接受數據。
- 如果不是,它會調用其垃圾收集例程來分組和移動有效數據,以便可以擦除整個塊(以便塊中的頁面可以接收新數據)。
- 該塊被擦除。
- 數據已寫入。
這些額外的步驟都由 SSD 控制器處理,無需主機干預,但會導致性能差異。
請參閱“SSD 性能狀態” Micron.com 上的白皮書以獲取更多信息。
道格·羅林斯 (美光科技企業級固態硬盤高級應用工程師)
Doug Rollins 於 2009 年加入美光,擔任企業 SSD 產品組的應用工程師。 在加入 Micron 之前,Rollins 先生在服務器系統、網絡設備和存儲平台/數據保護設計和製造以及固態存儲領域工作了 17 年。 羅林斯先生是 13 項美國專利的指定發明人,並因其傑出的技術成就而獲得存儲網絡行業協會 (SNIA) 和英特爾公司的認可。 Rollins 先生在洪堡州立大學獲得數學學士學位。