您的位置:首頁>科技>正文

端到端一致性保障,讓資料在全快閃記憶體存儲上更安全

在當今移動互聯的時代, 每時每刻都在產生資料, 比如一張照片、一條朋友圈、一個位置定位……資料已經成為生活的重要一部分, 並涉及日常的方方面面。

在企業中, 資料的重要性則顯得更具關鍵意義, 因為資料是企業資訊化的重要核心, 存儲的本質即是資料。

在讀、寫、存儲、傳輸和處理過程中, 資料出現了錯誤, 但是錯誤沒有立即檢測出來, 這種現象叫做靜默資料破壞(Silent Data Corruption)。 產生靜默資料破壞的原因有很多, 主要有以下幾類:

● 硬體錯誤:記憶體、CPU、硬碟、FC或SAS鏈路等

● Firmware錯誤:HBA、RAID控制器、硬碟等

● 軟體bug:軟體庫、作業系統、應用程式、設備驅動等

硬體錯誤通常能通過ECC或CRC等校驗發現, 而Firmware錯誤和軟體bug更易產生靜默資料破壞。

現實中發生靜默資料破壞的實例很多。 某知名存儲廠商寫的《An Analysis of Latent Sector Errors in Disk Drives》一書中, 對153萬塊硬碟進行了長達41個月的統計, 一共出現了40萬次以上的資料被破壞情況, 分佈在3855塊磁片上。 說明靜默損壞並不是一個小概率事件, 而是一個常見的事件。 作為存儲系統, 防止靜默資料破壞是一個必須的資料保護要求。

硬碟靜默故障在全快閃記憶體時代仍然存在

全快閃記憶體時代, 陣列系統在大力度提速的情況下, 低時延的背後, 系統可靠性依然重點關注資料的一致性和正確性。

相比HDD, SSD會有較多中繼資料和Cache資料緩存處理, 而且存儲介質為電子元件(存在Data Retention、顆粒磨損等場景),

由於資料經過的通道依然有各個軟硬體模組的傳遞, 硬體器件故障、鏈路故障或軟體bug導致的靜默錯誤依然會存在, 所以需要有一種技術能處理靜默資料故障。 華為OceanStor Dorado V3繼承了華為高端存儲在這方面的一系列技術成果, 能有效保證端到端的資料一致性。

如何解決資料靜默故障

靜默資料破壞成為一個全球共識的問題, 因此2003年資訊技術標準國際委員會的“T10小組”提出一個解決方案, 即Data Integrity Field (DIF), 資料完整性區域, 對外也叫Protection Information (PI), 資料保護資訊。

T10 PI(Protection Information)標準是在ANSI T10 SCSI協定中定義的一種資料完整性校驗方法, 這種校驗通過在資料塊後增加8位元組的保護資訊來實現。

▲DIF欄位

DIF主要用來防止和檢測靜態資料破壞, 包括資料通道上的硬體故障和軟體bug導致的資料破壞,

以及磁片不可檢測和糾正的資料錯誤等。 核心原理就是資料摘要的思想, 在資料剛生成的時候根據資料內容計算出摘要資訊, 插入DIF欄位。 在後續資料流程過的關鍵通道上設置校驗點, 如果資料有變動, 新計算出的摘要資訊一定不會和初始插入的摘要資訊吻合, 從而知道資料發生了錯誤。

主機和應用層資料校驗推出DIX

傳統的DIF資料保護只定義了從IO控制器到存儲之間的鏈路保護, 沒有涉及主機作業系統以及應用層。 因此Oracle基於業務對資料靜默損壞防護的需求, 將DIF作為Oracle Linux OS和Oracle中的資料保護, 稱之為DIX(Data Integrity Extensions)。

DIX(Data Integrity Extensions)延伸了PI的保護範圍, 實現了從應用到主機HBA的資料保護。

DIX+T10 PI(DIF)可以實現從應用到硬碟的端到端資料保護。

DIX保證應用、HBA卡的資料完整性, T10 PI (DIF)保證HBA 、陣列和硬碟的資料完整性。

▲DIX與DIF

華為的全路徑資料保護方案

E2E(端到端)的資料保護是由DIX+T10 PI(DIF)組成, DIX主要包含應用為Oracle、OS為Linux等伺服器層面。

華為全快閃記憶體存儲OceanStor Dorado V3支援端到端的PI功能, 包含:

(1)主機側對PI的支援(DIX)

(2)陣列內部各業務模組對PI的支援(陣列級DIF)

(3)後端SAS晶片到盤對PI的支援(硬碟級DIF)

(4)SSD盤到NAND Flash對PI的支援(晶片級DIF)

華為後臺一致性校驗, 讓資料一致性更加可靠

PI可以有效預防和檢測以下錯誤:

●寫操作時資料寫錯位址

●寫到磁片上的資料不完整

●資料傳輸通道的鏈路故障、部件故障或者軟體bug導致的資料錯誤

● 以上情況以外的磁片不能檢測的資料錯誤

PI雖然可以檢測預防陣列內大部分的資料不一致的情況, 但也不是包治百病。 比如, 對於第一次寫對但是第二次寫錯位置的情況就不一定能檢測出來, 例如write NEW A Wrong(write to C)、read A OK,BUT DATA IS OLD。

比如在第二次寫操作完成後,後續的操作首先讀到的是C block,就可以發現錯誤,並可以利用RAID糾正C block的錯誤,如果是首先讀到的A block,那錯誤就不可避免了。

但是華為OceanStor Dorado V3存儲提供了父子校驗,資料的DIF部的CRC校驗資訊會在其中繼資料節點中保存一份,資料讀取時不僅要對資料做DIF校驗,還要和其中繼資料節點中的CRC做校驗,以及分條一致性檢查功能,可以有效避免上述場景的資料錯誤,及時識別並修復。

如何打造快速的資料端到端校驗

資料校驗在每個業務層級都需要進行對應的校驗運算,對性能有一定影響,在全快閃記憶體這種高性能訴求的場景影響更為明顯。

在存儲網路層,華為SmartIO介面晶片提供DIF校驗演算法的硬體卸載,在開啟DIF校驗後性能幾乎不下降,在存儲層,華為採用Intel晶片提供的T10 PI CRC演算法的硬體加速指令,相對于傳統的資料校驗演算法有10倍以上的效率提升,很好的滿足了全快閃記憶體存儲對於性能和可靠性的訴求。

在SSD內部,華為自研SSD控制晶片集成了DIF校驗功能,同時該功能採用硬體卸載的方式,保證了SSD持續處於穩定的低時延。

結合前端網路硬體卸載,CPU硬體加速以及SSD晶片硬體卸載,保障了華為新一代全快閃記憶體存儲OceanStor Dorado V3在使用DIF提供端到端資料一致性校驗後,依然可以提供業界領先的性能以及0.5ms的穩定低時延。

可靠,不能只看單點,華為OceanStor Dorado V3存儲提供端到端的資料保護解決方案,帶來極致穩定高性能的同時,也為企業資料安全保駕護航。

比如在第二次寫操作完成後,後續的操作首先讀到的是C block,就可以發現錯誤,並可以利用RAID糾正C block的錯誤,如果是首先讀到的A block,那錯誤就不可避免了。

但是華為OceanStor Dorado V3存儲提供了父子校驗,資料的DIF部的CRC校驗資訊會在其中繼資料節點中保存一份,資料讀取時不僅要對資料做DIF校驗,還要和其中繼資料節點中的CRC做校驗,以及分條一致性檢查功能,可以有效避免上述場景的資料錯誤,及時識別並修復。

如何打造快速的資料端到端校驗

資料校驗在每個業務層級都需要進行對應的校驗運算,對性能有一定影響,在全快閃記憶體這種高性能訴求的場景影響更為明顯。

在存儲網路層,華為SmartIO介面晶片提供DIF校驗演算法的硬體卸載,在開啟DIF校驗後性能幾乎不下降,在存儲層,華為採用Intel晶片提供的T10 PI CRC演算法的硬體加速指令,相對于傳統的資料校驗演算法有10倍以上的效率提升,很好的滿足了全快閃記憶體存儲對於性能和可靠性的訴求。

在SSD內部,華為自研SSD控制晶片集成了DIF校驗功能,同時該功能採用硬體卸載的方式,保證了SSD持續處於穩定的低時延。

結合前端網路硬體卸載,CPU硬體加速以及SSD晶片硬體卸載,保障了華為新一代全快閃記憶體存儲OceanStor Dorado V3在使用DIF提供端到端資料一致性校驗後,依然可以提供業界領先的性能以及0.5ms的穩定低時延。

可靠,不能只看單點,華為OceanStor Dorado V3存儲提供端到端的資料保護解決方案,帶來極致穩定高性能的同時,也為企業資料安全保駕護航。

Next Article
喜欢就按个赞吧!!!
点击关闭提示