根據一份16頁文件中做出的詳細解釋,微軟希望通過Silica項目探索在石英玻璃板內存儲多層歸檔數據的可能性,而且目前距離成熟產品已越來越近。
微軟對其玻璃歸檔存儲項目的更新,已經以學術論文的形式被提交至第29屆ACM操作系統原理大會(SOSP 2023)。
其目的是開發一套能夠讀取和寫入數據的云規模歸檔介質系統。編碼技術是在方形玻璃板內的點上生成具有偏振圖案的區域,可由3D坐標進行定義并分為幾百層。
這些偏振圖案點被稱為“立體像素”(簡稱體素),由飛秒激光脈沖所產生。每個體素能夠編碼3到4位數據。體素首先被并排寫入由玻璃板XY平面的2D層內,之后再被組織成矩形扇區,由此在XY平面上形成超10萬個體素二維組,對應約100 KB數據容量。一組3D扇區則構成一條存儲軌,意味著每塊玻璃板能夠容納幾個TB的數據。
整個設計與Cerebyte技術頗為相似,后者同樣使用飛秒激光脈沖在方形玻璃板上的陶瓷涂層中激發物理變化。這些變化就是納米級的孔,類似于高科技版本的打孔卡。但Cerabyte的孔是作為二維碼的一部分所生成,而Silica項目中的體素則被放置在存儲軌之上。整塊玻璃板將旋轉在平臺上,由平臺的讀寫頭設備(即激光與偏光顯微鏡)從左到右、自上而下地移動操作。相比之下,Cerabyte的玻璃載體只能向前或向后移動,且僅可容納單層介質。總之,Silica項目的玻璃真正成為一種能夠隨機訪問的存儲介質。
Cerabyte和微軟都設想用圖書庫機架的形式來容納這種數據存儲介質——在Cerabyte的設計中,這些方形玻璃數據載體將被容納在一個個盒子當中;而在微軟這邊,玻璃則可以獨立存在、不必額外借助容器。庫內有一套機器人傳輸系統,包含多臺由獨立電池供電的機器人拾取器(穿梭機)。它們就如同一群蜜蜂,能夠穿越書庫機架間的多乏善可陳水平導軌并垂直上下翻轉,輕松完成讀取和寫入任務。微軟將其比作“受最先進倉庫機器人系統啟發而來的一組用于數據操作的免費漫游班車”。
微軟Silica項目的庫內,兩臺獨立機器人拾取器正在運行。
微軟表示,“讀取驅動器會以單向快速Z軸模式掃描扇區,并對生成的圖像進行解碼處理。不同的讀取驅動器選項對應不同的數據吞吐量以及較為均衡的成本和性能。”
也就是說,Silica項目的系統提供多種讀寫驅動器選項。
寫入機架與庫機架之間還有一個意向系統,防止玻璃盤片被覆寫。與Cerabyte一樣,Silica項目技術本質上也只能寫入一次,屬于物理WORM系統。微軟表示,“一旦玻璃介質被寫入,機器人就無法將玻璃盤再次插入寫入設備。”也就是說在庫系統層級上保留實體氣隙,單個玻璃盤片會被一次性寫入并用盡全部容量。
寫入驅動器為全機架大小,可同時對多張盤片進行寫入;包含多個驅動器的讀取驅動器機架也采用相同設計。讀寫驅動器機架都需要配備冷卻、電源和網絡連接。
寫入的盤片在放入庫中之前先要接受讀取驗證。也就是說,新寫入的驅動器將由穿梭機攜帶至讀取驅動器。微軟在論文中指出,“為了實現更高的驅動器執行效率,可以在單一讀取驅動器內同時安裝兩塊盤片;其一接受驗證,其二供客戶讀取,且客戶流量優先于驗證流量。”
從Silica盤片中讀取(掃描)到的體素圖像將通過機器學習算法被轉換為二進制數據。讀取驅動器在XY平面上尋找相應的存儲軌,之后在Z(深度)方向上通過單次掃描讀取整個存儲軌內的扇區。讀取驅動器的吞吐量以30 MBps為倍數進行擴展。
微軟研究人員還分析了Azure歸檔IO模式,發現小文件IO(即256 MiB到256 GiB)在實際應用中占主導地位,而且不同規模IO在數據中心層面的性能差異極大。也就是說,“應當最大限度減少庫內機械運動的延遲,從而實現最佳性能”,而Silica庫應可針對不同的工作負載模式進行定制。
Silica項目的庫系統使用兩種錯誤編碼技術——LDPC(低密度奇偶校驗)扇區間錯誤編碼以及網絡擦除編碼(NC),包括軌內、大規模組(多軌)及跨盤等多種NC變體。
Silica庫的讀取性能、接收讀取請求與庫讀取/發送的最后一個字節間的延遲,由第99.9百分位結果定義,即由尾部完成時間定義。微軟假設“到最后一個字節的服務質量目標(SLO)為15小時,即與現有歸檔服務保持一致。”
然而,這里的完成時間并不包括機器學習算法用于解碼的部分。
微軟在論文中總結道,“玻璃介質的獨特屬性,以及軟件層面全新的云優先協同設計,使Silica從根本上獲得了更好的可持續性,且相較于磁帶存儲顯著降低了數據歸檔成本。”
評論
這種基于玻璃的歸檔方案,標志著首個有望取代磁帶歸檔的可靠技術,而且比DNA存儲更具現實意義。微軟和Cerabyte正著力推進這項磁帶歸檔替代成果,有望在未來五年內推出可交付產品。磁帶廠商更應該關注相關動態,思考如何將其納入自家產品規劃路線圖。