固態硬碟越用越慢的原因是什麼
回首過去5到10年,還來有過其他像固態硬碟這樣能夠成百上千倍提升效能的電腦部件。如今固態硬碟的順序讀寫速度是機械盤的數倍、隨機讀寫速度是機械盤數百到數萬倍,但依然有玩家抱怨在使用中遇到卡頓問題。
顯然,我們日常看到的硬碟效能引數中忽略了一些資訊,導致理論效能強悍、實際使用卻可能卡殼的瓶頸出現。
在微軟Windows硬體相容性計劃(WHCP)對硬碟的要求中,除了順序讀寫頻寬(MB/s)、隨機讀寫IOPS之外,還有對延遲(Latency)的要求。微軟要求最大響應延遲不應超過500毫秒。同時,在1個小時的使用時長之內,所有可覺察的延遲(響應時間>100毫秒)總和不超過20秒。
什麼是延遲?為什麼延遲會影響使用體驗?舉個例子,開車上班通勤,多個車道,類似於頻寬,並且每小時能夠通行的車輛總數具有一定的容量,這類似於IOPS。問題是,即使你知道這兩個值,你也無法回答最重要的問題:上班需要多長時間?
延遲是完成通勤(資料讀寫)所需的時間,這個數值越低越好。到我們的比喻,如果你行駛在在沒有擁堵的高速公路上,增加車道數量不會減少你的通勤時間。同樣,如果高速公路沒有擁堵,增加高速公路可以通行的汽車數量也不會對效能產生任何影響。
如果你需要在上午9點到辦公室,知道平均通勤時間不會有多大幫助。您需要知道的是最糟糕的通勤時間。瞭解這個價值將確保您準時到達。評估儲存系統的效能時,"保證最大延遲"是關鍵性指標,優秀的固態硬碟/快閃記憶體陣列應該在各種條件下努力保持始終如一的低延遲。
儘管我們電腦在日常使用中硬碟以輕度使用為主,但爆發性的讀寫需求如果無法得到滿足,或者延遲忽高忽低,就難免會有可感知的卡頓出現。所以固態硬碟評測會加入滿盤容量4K隨機寫入穩定態測試,這個測試使用IOMeter填充滿全盤空間,然後使用4K QD32隨機寫入,對固態硬碟施加很重的負擔。
使用Excel開啟IOMeter生成的每秒記錄檔案,其中就有IO延遲區間統計。下圖是東芝RC500 500GB的測試結果,所有隨機寫入操作的延遲都在1毫秒到5毫秒這個區間內,表現出色。
在路由器中經常能看到QoS服務質量這個名詞,對於固態硬碟來說QoS優化也是一個複雜的系統工程,它在主控和韌體層面上工作,確保合理的最大延遲,避免卡頓。
作為對照,下圖中某個同類產品的延遲分佈就比較分散,其中既然有低於200μs的出色表現,同時也有不少大於200毫秒,甚至是大於500毫秒的高延遲。如果這些IO出現在電腦系統盤日常使用過程當中,將表現為使用者可以感知到的嚴重卡頓。
韌體層面的內容我們普通消費者是難以掌握的,如果有條件的話,儘量選擇帶有DRAM快取的固態硬碟,這是邁向減少卡頓的第一步。