數據完整性是數據存儲系統中關(guān)鍵的元素之一,對于企業(yè)而言,不一致的數據可能導致錯誤的業(yè)務(wù)決策,因此保障數據的完整性與一致性至關(guān)重要。
一、靜默數據錯誤
在數據存儲系統中,數據從主機端生成直至寫(xiě)入SSD NAND中,會(huì )經(jīng)過(guò)多個(gè)部件、多種傳輸通道和復雜的軟件處理過(guò)程,其中任意一個(gè)環(huán)節發(fā)生錯誤都可能會(huì )導致數據錯誤。但是這種錯誤一般無(wú)法被立即檢測出來(lái),而是后續通過(guò)應用在訪(fǎng)問(wèn)數據過(guò)程中才會(huì )發(fā)現,這種情況被稱(chēng)為靜默數據破壞(Silent Data Corruption)。
靜默數據錯誤問(wèn)題是存在存儲系統中最難解決的數據一致性問(wèn)題之一。在數據通路傳輸過(guò)程中,每百萬(wàn)億(10^13)比特中就會(huì )有概率出現bit錯誤,而鏈路傳輸大多采用CRC進(jìn)行檢錯,CRC存在碰撞概率導致bit錯誤無(wú)法發(fā)現;在SSD內部數據傳遞過(guò)程中,大部分路徑會(huì )經(jīng)過(guò)SRAM,SRAM存在bit翻轉概率,控制器一般采用ECC+CRC對路徑保護,但仍然無(wú)法避免bit靜默錯誤(極低概率)。
對于數據中心而言,維護數據安全至關(guān)重要。發(fā)生靜默錯誤對應用層有很高的風(fēng)險,如果應用系統可靠性設計不完善,一旦出現靜默錯誤,會(huì )存在數據損壞且不可恢復的可能,因此支持DIF/DIX特性端到端的數據鏈路保護對SSD部件及系統層都十分重要。
二、NVMe SSD端到端保護
為確保主機與閃存之間數據的完整性,NVMe SSD提供了一個(gè)端到端的功能,即主機寫(xiě)入閃存的數據與最初主機寫(xiě)的數據必須一致,以及主機讀到的數據與最初從閃存上讀上來(lái)的數據也一致。
在OCP Clould Spec對端到端的需求定義中,要求每一段傳輸路徑都應有糾/檢錯算法,降低數據傳輸過(guò)程中每一個(gè)環(huán)節出錯的可能,規避靜默錯誤的發(fā)生。如PCIe 每個(gè)TLP會(huì )通過(guò)ECRC(End-to-end CRC)進(jìn)行校驗、RAM有ECC保護、Flash接口有 RAID 保護,Scrambler 增加擾碼以及CRC編解碼保護和LDPC重讀保護。
NVMe則是在控制器內添加保護信息(PI)來(lái)檢驗數據一致性,這部分數據一般存放在DDR中(DDR有ECC保護)。具體則是給用戶(hù)邏輯塊(Logical Block)通過(guò)增加額外的8字節保護信息(PI),或者由主機軟件添加≥8字節的元數據(Metadata),支持DIF/DIX模式,使得控制器和/或主機軟件可以校驗用戶(hù)數據邏輯塊的數據完整性和一致性。
三、什么是PI?
在端到端數據保護中,PI的使用尤為重要。PI全稱(chēng)Protection Information,即保護信息,是元數據的一種。
NVMe協(xié)議里定義SSD控制器可以支持給每個(gè)邏輯塊(也就是用戶(hù)數據)增加額外的元數據,以及主機如何使用元數據區域自定義(如分布式文件系統的元數據),元數據最常見(jiàn)的用途之一是傳遞PI端到端保護信息(end-to-end protection information)。
PI相當于邏輯塊數據的保鏢,有DIF和DIX兩種數據保護機制,兩者主要區別是 PI 信息的位置不同。具體選擇哪種格式,要根據應用場(chǎng)景的具體需求。
DIF( Data Integrity Field ):保證HBA 、陣列和硬盤(pán)的數據完整性。
DIF實(shí)現的PI
DIX( Data Integrity Extensions ): 保證應用、HBA卡的數據完整性。
DIX實(shí)現的PI
·PI信息的處理
Protection Information Field(PRINFO) 包括PRACT(Protection Information Action)和PRCHK(Protection Information Check) 字段。PRACT指明了PI信息生成的機制,PRCHK指明了controller收到包時(shí)檢查的PI信息。
PRACT
=1時(shí),
MD = 8B, SSD controller生成新的PI替代host傳入的PI,并將其寫(xiě)入NAND;
MD>8B,host生成的PI直接傳入SSD,替換MD的前8或者后8字節(這里還需要注意kernel是否支持)。
=0時(shí), controller獲取上層應用下發(fā)的PI信息,將檢查PI信息并寫(xiě)入NAND。
PRCHK
Bit2=1,SSD在收到packet時(shí),檢查CRC;
Bit1=1,SSD在收到packet時(shí),檢查App Tag;
Bit0=1,SSD在收到packet時(shí),檢查Reference Tag。
四、憶聯(lián)SSD端到端保護方案
作為一家領(lǐng)先的存儲廠(chǎng)商,憶聯(lián)長(cháng)期以保障用戶(hù)數據安全作為產(chǎn)品的核心基礎,旗下企業(yè)級固態(tài)硬盤(pán)(ESSD)與數據中心級固態(tài)硬盤(pán)(DSSD)均支持DIF/DIX特性,以此提升硬盤(pán)的全鏈路數據保護能力。
·延伸至主機系統、應用的端到端保護
憶聯(lián)SSD支持多種DIF配置,滿(mǎn)足512+8、4K+8、4K+64字節多種情況的數據和元數據(含PI)的存儲要求,支持從應用到Flash的端到端數據保護,并能有效杜絕data replacement故障發(fā)生的可能。
·端到端冗余校驗,提升數據可靠
憶聯(lián)SSD通過(guò)保護整個(gè)傳輸路徑中的數據來(lái)保障數據的完整性。在DDR內存上,采用ECC和CRC來(lái)防止DDR內存異常導致的數據錯誤和篡改;在NAND flash上,采用LDPC和CRC來(lái)防止由于NAND flash上的異常而導致的數據丟失;在DIE內,采用 XOR 算法來(lái)防止由于 DIE 或隨機故障造成的數據丟失。
·應用級數據冗余校驗 ,且業(yè)務(wù)性能不受影響
憶聯(lián)SSD還通過(guò)支持DIF、DIX兩種傳輸方式,不僅在盤(pán)內提供DPP數據路徑保護,更能夠與系統配合,實(shí)現端到端的保護,確保從系統到盤(pán)片整個(gè)通路的數據安全,從而為多種極端場(chǎng)景下系統的正常運維提供雙重保護。
數據安全一直是信息技術(shù)中的一個(gè)重要問(wèn)題。伴隨著(zhù)數字化轉型進(jìn)程的不斷深入,風(fēng)險也隨之而來(lái),企業(yè)數據的存儲安全問(wèn)題也越來(lái)越突出。憶聯(lián)憑借在存儲領(lǐng)域多年的積累,為用戶(hù)提供極致體驗的同時(shí),更能為企業(yè)數據存儲做好堅實(shí)的保障。
地址:深圳市南山區記憶科技后海中心B座19樓
電話(huà):0755-2681 3300
郵箱:support@unionmem.com