東芝RC100是NVMe固態硬盤中一個比較另類的存在。它給人的第一印象是“小”,由于采用了東芝BiCS3高密度3D閃存以及MCP多芯片融合封裝技術,小巧的身軀內蘊含了極大的能量。
NVMe SSD是固態硬盤當中的佼佼者。為什么采用NVMe協議的固態硬盤擁有比SATA更強的性能?這不僅僅是因為PCIe通道的帶寬優勢。
固態硬盤的表面性能與實際影響:
就像CPU的運算包含整數和浮點類型一樣,電腦對固態硬盤的訪問也有順序讀寫和隨機讀寫兩類。雖然我們可以通過測試軟件分別去測出固態硬盤在兩種訪問方式下的理論能力,但是卻無法講出這樣的數據對于電腦速度的直接影響。
PCIe通道的帶寬優勢主要體現在順序讀寫速度上,即下圖中AS SSD Benchmark的Seq(順序)這一行。但是順序讀寫通常只會發生在兩塊硬盤間拷貝文件的情景之下,對于家用電腦的系統盤來說屬于不太常見的使用方式。同樣的,系統盤IO雖然是以隨機讀寫為主,但卻并不是單純只有4KB粒度,也并不是讀取和寫入分離進行的。
歸根到底,AS SSD Benchmark提供的這些數字主要是印證理論參數,并不具備很強的實用參考價值。
影響固態硬盤使用性能的關鍵:
順序讀寫帶寬和4K隨機讀寫IOPS比較容易衡量,卻不具備很強的使用價值。硬盤直接影響電腦性能的關鍵在于IO延遲。所謂IO延遲就是一次讀寫操作從開始到結束所消耗的時間。延遲越低,表明硬盤響應電腦主機讀寫請求的速度越快,用戶體驗越好。
有朋友可能會問,延遲不能直接用IOPS指標來代替嗎?答案是不能。除非當IO是一個接一個到來時,延遲才能等于1/IOPS。這種情況太過于理想,以至于在現實中根本不存在。
不管是機械硬盤還是固態硬盤,都會面臨一個IO尚未完成,另一個IO讀寫請求又已經到來的情況。機械硬盤由于同一時間只能有一個磁頭執行讀寫操作,只有等待上個IO完成才能執行下一個IO請求,后來的IO請求延遲必然增加。
雖然從AHCI協議就已經引入的NCQ特性已經允許隊列中的個別IO指令在合適的時機下“插隊”,調整執行順序讓硬盤磁頭有機會減少尋道次數,但無論如何優化,IO還是只能一個一個的執行,隊列深度的增加看似增加了每秒內完成的讀寫次數(IOPS),但實際上IO的延遲卻增加了。
固態硬盤使用無活動部件的閃存存儲數據,省去了機械硬盤中磁頭尋道的時間,還能通過多通道以及CE交錯等技術實現并發數據讀寫。但是硬盤性能由IO延遲決定的本質沒有改變。
PCMark 8存儲性能測試以一系列實際應用的硬盤活動腳本衡量硬盤對性能的影響,在它的成績背后依然是存取延遲的體現。當我們把PCMark 8存儲測試成績另存為XML格式后就能看到average access time,即平均存取延遲。
IO延遲是一個比較難以定量的指標,硬盤在處理不同實際應用時會有不同的表現。要降低延遲,除了從閃存接口、主控設計方面入手之外,NVMe協議也是其中一個“捷徑”。針對閃存優化NVMe協議針對低延遲做出了一系列改進,有效降低了延遲開銷。
正是因為有了NVMe協議的幫助,東芝RC100在面對眾多復雜應用時也能夠輕松應對,高效地完成數據讀寫工作,以低延遲優勢提升電腦使用體驗。
(新聞稿 2019-07-23)