SSD

透過 FDP 和延遲監控增強儲存裝置復原能力

Steven Wells

簡介–FDP 和延遲監控是高彈性 SSD 架構的額外要素。

在我最近的兩篇部落格中,我專注於看似不相關的主題,但最近在與業界同事進行一些對話之後,我得出的結論是這類議題比我意識到的更相關,而這篇部落格將進一步探討這種關聯性;探索延遲緩解以及 NVM Express 彈性資料放置(FDP)和 OCP 儲存工作組延遲監控(LM)等策略可以如何被視為垂直整合的高彈性要素。
 

重點複習–垂直整合的彈性

在我的部落格中,《透過左移方法徹底改變 SSD 的復原力》我概述了與建立高復原力相關的所有主機和儲存裝置要素。從第 1 版 OCP SSD 規格開始,到今日的第三版(第 2.5 版),加入了逐漸增加的彈性要素。討論了恐慌偵測、恐慌復原和標準化遙測。但是,我想深入探討兩個方面:1)彈性資料放置和 2)延遲監控

垂直整合彈性的功能摘要

圖 1 - 垂直整合彈性的功能摘要

 

NVM Express™ 彈性資料放置(FDP)透過尾部延遲緩解增強垂直整合的復原能力

增強 SSD 復原力的 FDP 似乎合理且顯而易見,因為減輕寫入放大問題可為主機應用程式提供更長的耐用性。我的同事已在業界和其他美光部落格貼文中對此進行了廣泛討論。這類討論也顯示了多個範疇,其中 FDP 可用於提高績效。這並不令人意外。與減少垃圾收集一樣,業界觀察到的實際工作負載也會有所改善。

但延遲異常情況緩解能否被視為垂直整合的恢復功能,FDP 可以提供協助嗎? 我之前的部落格標題為《資料中心 SSD 延遲為何重要,以及美光如何成為業界最佳》企業,探索延遲異常值在橫向擴展解決方案中造成如此痛苦的理論,以及我們美光為世界級解決方案所實施的技術。然而,該文並未假設垂直整合,以及垂直整合的 FDP 解決方案如何進一步改善延遲。

如果 FDP 的角色是減少垃圾收集(GC)的數量,那麼 FDP 顯然也會減少延遲異常值。當然,即使沒有 GC 和 WAF=1,仍然會有因不同通道晶粒、帶有讀取、程式和清除的平面而產生的延遲變化。然而,當寫入放大約為 2-3 或更多時,發生衝突的可能性也會隨之增加,進而導致更嚴重的延遲離群值影響。但 FDP 可以增強多少延遲異常值?

影響 NAND 營運之主機與內部營運的高階摘要

圖 2 - 影響 NAND 營運之主機與內部營運的高階摘要。這些內部操作會增加流量,通常被測量為「寫入放大」

使用業界常用的方法,並在我的延遲部落格中詳細討論,讓我們來看看 70% 讀取的全壓、30% 寫入 4KiB 隨機工作負載,並繪製讀取延遲分佈圖。覆蓋非 FDP 案例是簡單明瞭的,並且遵循行業慣例。為了測量 WA 為 1 作為 FDP 最佳案例的代理,在執行 70/30 工作負載之前,建立一個新的命名空間,並且僅預先調整了總容量的一部分。在這種情況下,8TB 的 Micron 7500 SSD 預先調節為 1TB,IO 則限制為 1TB(以防止讀取未映射的 LBA),直到實體媒體填滿並啟動 GC。

下面的圖 3 顯示讀取延遲分佈,先沒有寫入壓力,然後是持續寫入壓力。許多先前的結果顯示 FDP WA 約為 1,因此預期尾部延遲變化會減少 30%。

透過 FDP 降低垃圾收集壓力,可大幅降低尾部延遲分配

圖 3 - 透過 FDP 降低垃圾收集壓力,可大幅降低尾部延遲分布。

 

OCP 儲存工作組的延遲監控可增強 SSD 的彈性

在我之前的延遲緩解部落格中,我解釋說,當資料庫查詢分成平行執行的多個子查詢時,尾部延遲對總延遲的影響很低,但影響很大。該部落格討論了如何找到和修復延遲異常值的原因是困難的。沒有討論到的是,如何證明延遲異常值與預期一樣。FIO 等工具可以在系統層級對每筆交易進行時間戳記,並計算所需的延遲直方圖。然而,由於現今的硬碟能夠提供數百萬個 IOPS,在實際應用中運算過於昂貴,無法建立系統層級的即時區塊追蹤並尋找異常值。即使我們可以,在主機偵測到異常值並傳送包含所需偵錯資料的遙測主機發起請求時,SSD 偵錯資訊可能會消失。

我個人在 FMS 2017 論文中研究了這一點;SSD 控制器已證實有足夠的運算能力,可以記錄每個指令的到達和離開時間,並測量延遲,建立詳細的直方圖,並在數值過高時觸發斷言。在這種情況下,資料是在內部收集,以供日後擷取和分析。所呈現的資料都是由 SSD 本身在內部產生。

基於該工作加上一些關鍵需求,Meta 將 SSD 延遲監控的概念正式化,並首次納入 OCP 資料中心 NVMe SSD 規格的第 2 版中。在高層級上,每個輸出指令都會加上時間戳記,而相關的輸入時間戳記則會計算延遲。建立四個主機可設定的長條圖分段與時間戳記。若要解決主機要求偵錯記錄的相關延遲,如果超過命令延遲閾值,則立即在命令輸出時儲存內部偵錯記錄,以供之後的供應商分析。隨著 OCP Storage 的標準化遙測技術部署,延遲離群值的除錯資訊也隨之增加。

2022 年的儲存裝置開發會議(Storage Developer Conference) 上,Meta 的 Vineet Parekh 和 Venkat Ramesh 討論了延遲監控部署到其機群中,以及他們發現的關鍵問題範例。他們指出假設,如果他們的整個機群在 1000 IOPS 時擁有 1 秒的 9 尼特異常值,每天會產生超過 5000 個延遲事件!Parekh 和 Ramesh 展示了一個部署延遲監控的問題 SSD 硬碟範例,該硬碟能夠有效偵錯延遲監控前幾個月未解決的延遲異常問題。下面的圖 4 總結了延遲監控架構,以及其異常值偵錯成功的成果。

延遲監控的另一個好處是能夠識別之前在儲存裝置上被歸咎的主機延遲問題。最近有兩個例子。與 Linux 有關的問題,由於延遲異常,導致 NVMe 規格增強的擴展。另一部文章是在部落格中由我的美光同事 Sayali Shirode 討論,他使用延遲監控來顯示測量的延遲異常值並非由 SSD 所造成。

高效偵錯延遲監控日誌

圖 4 - Meta 在 Storage Developer Conference 2022 中呈現的延遲異常偵錯範例

 

結論 – 美光擁抱高彈性 SSD 架構和設計

在我的 2023 年 11 月部落格中,我談到恢復力革命需要「左移」。此生態系統需要測量和偵測,同時垂直整合以涵蓋主機和供應商的互動。我已經提到了一些要素,例如恐慌報告、驚慌恢復和大幅減少尾部延遲。我想強調結合這兩個想法的兩大要素。

  1. OCP 中的延遲監控功能對於消除延遲異常值至關重要,不僅在 SSD 裝置中,也在軟體生態系統中。
  2. 資料放置,尤其是 FDP,有助於提高耐用性和效能,並減少高達 30% 的延遲異常值。

其他兩個最終想法

  • 在 FMS,我正在主持超大規模應用程式的課程,Meta 將新增有關他們大規模部署延遲監控的進一步細節。請加入我們。我預期今年秋天在會議上會有許多關於 FDP 的精彩對話。
  • OCP Storage 的 NVMe-CLI 外掛程式是不受廠商限制且順暢的方式,可設定和回報 FDP 和延遲監控,以及其他關鍵輸入,例如解碼標準化遙測。

 

致謝

  • 我要感謝美光的 Chandra Guda 對 FDP 實驗設計以及 John Mazie 對測試執行的支持。

 

進一步閱讀

透過左移方法徹底改變 SSD 的復原力 | Micron Technology Inc.

資料中心 SSD 延遲為何重要,以及美光如何成為業界最佳企業 | Micron Technology Inc.

大規模超大規模環境中觀察到的快閃記憶體問題除錯 - SNIA SDC 2022 (sniadeveloper.org)

在工作負載測試中找出延遲異常值 | Micron Technology Inc.

透過 I/O 決定避免 SSD 中代價高昂的讀取延遲變化(flashmemorysummit.com)

使用 Aerospike 在實際工作負載上靈活放置資料的好處 | Micron Technology Inc.

消除 I/O 競爭:彈性資料放置的承諾 | Micron Technology Inc.

架構儲存系統研究員

Steven Wells

Steven Wells 是美光的研究員,專注於次世代 SSD 解決方案,在非揮發性儲存裝置領域擁有超過 65 項專利。自 1987 年以來,他一直從事快閃記憶體元件和 SSD 的設計工作,並在多個會議上發表過文章,包括 ISSCC、JSSC、快閃記憶體高峰會、儲存裝置開發者大會和 OCP 全球高峰會,他還是 NVM Express 的董事會成員。

Related blogs