爲什麼SSD隨機讀和寫性能差別大?

          SSD是一種基於閃存的存儲技術,有着與旋轉磁盤不同的性能特性。由於CPU按順序訪問邏輯磁盤塊,故SSD的順序讀和寫的性能相當,順序讀比寫稍微快一點。不過,當CPU按隨機順序訪問邏輯塊時,寫比讀慢一個數量級。

       造成這種差別是由底層閃存的基本屬性決定的,對閃存來說,數據是以頁爲單位讀寫的,只有在一頁所屬的塊整個被擦除後,才能隨機寫這一頁(通常是指該塊的所有位都被置1),不過,一旦一個塊被擦除了,塊中每一個頁都可以不需要再進行擦除就寫一次。隨機寫很慢的原因有兩個:

            1. 擦除塊需要相對較長的時間,1ms級的,比訪問頁所需時間要高一個多數量級。

            2.如果寫操作試圖修改一個包含已經有數據(也就是不全爲1)的頁,那麼這個塊中所有帶有用數據的頁都必須拷貝到一個新(擦除過的)塊,然後才能進行對頁的寫操作。


        製造商已經在閃存翻譯層中實現了複雜的邏輯,試圖抵消擦寫塊的高昂代價,最小化內部寫的次數,但是隨機寫的性能不太可能可以和讀一樣好。






參考書籍:CSAPP

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章