作者:-1????發(fā)布時(shí)間:2023-07-05 16:50 ????瀏覽次數 :
大概總結一下,如果你不做preconditioning的話(huà),直接拿來(lái)測或者測了沒(méi)有寫(xiě)入到的地方,SSD的FTL可能仍然沒(méi)有把顆粒上的這塊空間標記為寫(xiě)入過(guò),結果就是測試根本沒(méi)有落盤(pán)(即沒(méi)有讀寫(xiě)到存儲介質(zhì)本身),硬盤(pán)閉著(zhù)眼反饋00或者FF,直接在主控里解決了。甚至如果preconditioning做的不好的話(huà),SSD仍然可能找出規律使得測試結果出錯。目前已知有2個(gè)人因為這個(gè)問(wèn)題測出了遠高于SSD性能標稱(chēng)的數值,對于不能訪(fǎng)問(wèn)github的人,引用一下上述討論的重點(diǎn)。
同時(shí)作為驗證,使用指令建立一個(gè)空的20GB文件而不進(jìn)行數據寫(xiě)入(即不進(jìn)行preconditioning):
fsutil file createnew E:\iobw2.tst 21474836480
這時(shí)使用diskspd和iometer直接測試這個(gè)文件,就會(huì )得出一個(gè)100多萬(wàn)IOPS(約4GB/s)的結果。這個(gè)結果遠遠超過(guò)了pcie 3.0×4 SSD的隨機帶寬,甚至大幅高于理論順序帶寬。顯然這個(gè)結果是錯誤的。當使用下面指令將數據寫(xiě)入這個(gè)文件也就是正常進(jìn)行precondition以后,測試結果就會(huì )回歸正常。
當然你也可以不格式化直接不斷寫(xiě)入來(lái)做preconditioning,SNIA的SSSPTS建議是全盤(pán)寫(xiě)入2遍。但是這樣寫(xiě)2遍下來(lái)以后,SSD正在進(jìn)行垃圾回收(GC),而且你并不知道它什么時(shí)候會(huì )停,有時(shí)候通電放置幾小時(shí)以后測出來(lái)的性能仍然不正常。你也可以指定測試區域然后對這個(gè)區域進(jìn)行preconditioning,但是這樣的測試會(huì )非常復雜,SSD不確定會(huì )不會(huì )認為寫(xiě)入的數據是有效數據,而且有意避開(kāi)系統環(huán)境這個(gè)影響因素一般也沒(méi)什么實(shí)際意義。
所以個(gè)人建議測試SSD首先創(chuàng )建寫(xiě)入了full random或者pseudo random的隨機數據文件,排除一切潛在威脅,然后進(jìn)行測試。當然此次測試也會(huì )包含RAW的情況作為對比。