MX500 vs BX500 : DRAM Cache對SSD的影響

MX500 vs BX500 : DRAM Cache對SSD的影響

  • Post Category:3C / SATA SSD
Line / Mail / FB / Bookmark / Copy Link:
  •  
  •  
  •  
  •  
  •  

Micron Crucial MX500 240GB 物超所值

在網路上看了很多網友在討論美光 BX500 SSD,有部分網友的觀點是:【假使認為 BX500 的效能不好或害怕BX500溫度過高,那麼為什麼不直接買 Micron Crucial MX500 呢?】。

有幾點論點覺得還蠻有趣的:

  1. MX500口碑好,價差也不大,實在不需要冒險去買BX500賭人品
  2. BX500適合電腦升級用的;MX500適合當遊戲碟
  3. DRAMless的低階控制晶片(BX500 SSD),缺點就是寫入壓力高的時候容易掉速
    • 通常發生在連續寫入大檔案
    • 密集的小檔案搬移
  4. BX500定位比較像消費級入門,MX500屬於消費級中階

所以,就跟朋友借了一顆美光MX500 SSD 來做一下比較,花點時間來了解為什麼部分網友會推薦MX500,而不是 BX500 …

1、BX500、 MX500 的市場資訊

1-1、Micron Crucial MX500 外觀

MX500的外殼,採用鋁合金類材質。而 BX500 的外殼,卻是採用塑膠材質。

02- MX500 基本資料

1-2、來自 PChome 的資訊

兩款 SSD 在PChome網站的售價差距並不大,看的出來,屬於入門價格導向的 BX500,大概比MX500便宜幾張鈔票。

03- BX500 PChome price 800x346
04- MX500-250GB PChome price 800x353

1-3、Google找到的文章數量

在 Google 搜索引擎找文章的話,相信你也會發現 MX500的數量遠多於 BX500 ,我猜可能的原因應該是: MX500比較早上市販賣,所以累積較多的文章。

09_ MX500-BX500 google search

1-4、使用者的喜好度

userbenchmark 網站中,有一個指標項目是【 Market share 】,而這個指標項目的定義是:

  • 最近30天內,針對 SSD 進行測試的所有用戶當中,使用 Micron Crucial MX500進行測試的百分比是多少;而使用 Micron Crucial BX500 進行測試的百分比又是多少。

所以,將 Micron Crucial MX500與 BX500的數據疊在一起後,就可以看到下面的比例圖。但是,這張圖,比較像是使用者對於 SSD 的喜好度。畢竟,網站中使用的指標項目【 Market share 】,並不是指真正的出貨量。

假使比較【圖1-3】與【圖1-4】的結果後,又會發現,當大家有選擇的話,以入門價格導向的 BX500 ,看起來是比 MX500來的容易讓人買單;從另一個觀點來解釋的話,也可以解讀成一般電腦使用者的確比電腦玩家來的多。

簡單來說,就是近期使用者對 Micron Crucial BX500 比較感興趣!

05_ MX500-BX500 maket share

2、電路板比較: MX500 vs BX500

2-1、PCB大小

從下圖可以看的出來,一個是塑膠外殼(BX500),一個是鋁合金外殼(MX500),很明顯地會反映在散熱效率。而圖中,也可以看到MX500的 PCB ,不僅比較長,也比較寬。

10_ BX500-MX500 PCB

2-2、 MX500 PCB單面打件

MX500的電路板屬於單面打件,在圖中看到背面完全沒有零件上件。而電路板的正面,打上了 4 顆 NAND Flash 、 1 顆 DDR3 或 DDR3L 、 1 顆 SM2258  控制晶片、電源與被動零件,而在 SM2258 控制晶片上面,還貼了一片散熱材質。

11_ micron crucial PCB top-bottom side

2-3、NAND  flash 讀寫速度估算

NAND flash 的讀寫速度計算很複雜,一般來說,需要從使用的 NAND flash datasheet ,找到 AC characteristic table中以下參數的數據,來計算:

  • tCAD
    • Send address and command
  • tWB + tR
    • Read data from the NAND Flash Array into the data register
  • tDQS、tDBSY、tCK、tCCS、…
  • page 大小
  • Lun 數量
  • plane 數量

而讀取與寫入的操作時序圖,又不一樣。所以,簡單來說,大約可以用300Mbps來估算一顆 NAND flash 的讀寫速度。

2-4、DRAM Cache的功能

在下圖中,可以看到整個 SSD 內部介面的理論預估速度。理論上MX500是會支援【寫入快取】的功能,但是卻不知道有沒有支援【讀取快取】,這一點讓專家來說明好了( SMI )。

  • SATA 3.0: 6GBPS
  • DDR3-1600: 25.6Gbps
  • 4 channel NAND flash ONFI 3.0: ~1.2Gbps

所以,當具備 DRAM cache 的SSD,啟動【寫入快取】的話,資料的流向就會從 SATA 介面傳到 SM2258,再從 SM2258 傳送到 DRAM 作暫存,最後才會將 DRAM 的暫存資料寫到 NAND flash。

也就是說,當主機端把資料送到 DRAM 後,雖然還沒有真正的寫入 NAND flash ,主機端也會認為已經完成資料寫入的操作了。在這種情況下,整個傳輸資料的瓶頸就會落在 SATA 3.0 的介面。

另一方面,當寫入資料量大於 DRAM 的可暫存容量的話,那麼整個傳輸速度又會降低下來,約落在沒有 DRAM Cache 時的狀況。這種情況可以用 AMD StoreMI的測試結果,來做類比(可以參考硬碟速度提升的方法, 不再抱怨讀寫速度太慢!) ,當資料量大於2GB的話,明顯看到曲線大幅下降的結果。

12_ SSD NAND flash read write throughput

2-5、SSD 的備用電源設計

在【圖2-2】中,並沒有看到Micron Crucial MX500設計了多顆並聯電容,做為不正常斷電時,可以提供備用電源給 SSD 使用,將 DRAM cache 的資料,完整的寫入 NAND flash 。所以,不清楚廠商是如何克服資料遺失的潛在風險。

雖然,Micron 官方說法是因為改變了 NAND flash 的寫入方式,降低寫入時的耗電量,所以大量的積層陶瓷電容可以被省略,依然可以在意外斷電時,不會讓資料遺失。

但是從目前市面上企業級的 SSD 當中,還是可以看到備用電源的設計,所以對於上述的說法,還是感到困惑。假使 Micron 改變 NAND flash 的寫入方式,將耗電降到極低,進而省略備用電源設計的話,那麼為何企業及 SSD 還會想多花錢放大量的電容在 SSD 上面呢?

常見在備用電源電路的電容類型:

  • 電解電容
  • 積層陶瓷電容
  • 鉭質電容
  • 鋁聚合物固態電容
13_ backup power capacitor

3、BX500 vs MX500 的效能測試結果

這裡提供的測試數據僅供參考,畢竟是用一般等級的個人電腦,對 MX500 與 BX500 做效能方面的比較。所以,數字並不代表這兩款 SSD 的最佳效能結果,只能說在相同的軟體、硬體條件下,看看這兩款 SSD 的效能差距有多大而已。畢竟在章節【1-2】中,我們都看到這兩款 SSD 確實存在價格的差異。

3-1、測試條件

電腦開機後,準備要進行測試的時候,我注意到兩顆 SSD 的待機溫度。MX500只有26度,而BX500卻已經是34度了。看起來,電路板的大小(圖2-1)真的對散熱有絕對的關係。

測試平台如下:

  • Operating System
    Windows 10 專業版 64-bit
  • CPU
    AMD Ryzen 5 3600(使用 AMD Ryzen Master 啟動 High Power mode)
  • RAM
    32 GB
  • Motherboard
    Asus TUF Gaming X570 Plus
  • Storage
  • 測速軟體: IOmeter
    • Outstanding I/Os: 1, 2, 4, 8, 16, 32
    • Data size: 512Byte, 4KByte, 16KByte, 32KByte, 64KByte, 256KByte
    • Access:
      • Sequential
        • Read, Write
      • Random
        • Read, Write
    • 測試時間: 每個 data size 跑 5 分鐘,結束後會休息10秒鐘在跑下一個測試這顆
15_mx500_crystaldiskinfo_smart_500X470
14_bx500_crystaldiskinfo_smart_500X573

3-2、CrystalDiskMark 測試結果

CrystalDiskMark 這個測試軟體,還蠻普遍被大家拿來測試 SSD 速度。在網路上爬文的過程中,可以很容易看到這個軟體的相關測試截圖。

但是,使用過後卻發現,這個軟體可以調整的參數有點少,只能看到 4KiB 的隨機讀取結果與 1024KiB 的連續讀取結果。既然已經跑完了,就把數據放上來給大家參考好了。下面這張圖是:

  • Seq Q32T1:連續讀取、寫入測試
    • 1024K 位元 & 佇列深度為 32 & 1 個線程
    • 測試總檔案大小: 50MiB 到 32GiB
    • 結論:
      • 讀取: 只有在小檔案(50MiB)的時候,BX500會比MX500差一點,其餘的檔案大小,兩款 SSD 幾乎是一樣的速度。
      • 寫入:  從結果看起來,似乎BX500比較好一點。
  • 4KiB Q32T1:隨機讀取、寫入測試
    • 4K 位元組 & 佇列深度為 32 & 1 個線程
    • 測試總檔案大小: 50MiB 到 32GiB
    • 結論:
      • 不論是讀取或寫入,MX500 的數據呈現穩定的水平線,不像 BX500 ,在大檔案的讀寫會降低效能。  
16_ MX500 BX500 CrystalDiskMark result (1)

下面這張圖則是:

  • 4KiB Q16T1:隨機讀取、寫入測試
    • 4K 位元組 & 佇列深度為 16 & 1 個線程
    • 測試總檔案大小: 50MiB 到 32GiB
    • 結論:
      • 趨勢上與【4KiB Q32T1】的結論一致。
  • 4KiB Q1T1:隨機讀取、寫入測試
    • 4K 位元組 & 佇列深度為 1 & 1 個線程
    • 測試總檔案大小: 50MiB 到 32GiB
    • 結論:
      • 讀取效能居然比寫入效能差,與觀念有出入,可能要繼續爬文找答案了。不過,大致上的趨勢與【4KiB Q32T1】的結論相近。
17_ MX500 BX500 CrystalDiskMark result- random RW (1)

3-3、IOmeter 測試參數設定

下方兩張圖就是這次用 IOmeter 測試所設定的參數:

  • Topology 欄位: 因為 Ryzen 3600 是 6 cores / 12 threads,所以會看到 12 個 Worker
  • Targets 欄位: 有做格式化的硬碟,會用黃色來表示;未格式化會用藍色來表示。編號 1 與 2 就是這次要測試的 SSD ,編號 1 是MX500,編號 2 是 BX500 。在前方方塊點一下,出現紅色X就是等一下要測試的 SSD 。
  • Maximum Disk Size: 預設【 0 】,代表整顆 SSD 的容量都會進行測試。
  • Starting Disk Sector: 預設【 0 】,代表從編號 0 的 sector 開始測試。
  • # of Outstanding I/Os: 就是 Queue Depth的意思。
  • Run Time: 每個 Script 執行 180 秒。
  • Ramp Up Time: 在執行每個測試 Script 之前,要先處於閒置狀態 120 秒。
  • Cycling Options: 選擇【Cycle # Outstanding I/Os and Targets — run step outstanding I/Os on step targets at a time】,程式會自動增加 # of Outstanding I/Os 的值,從 1, 2, 4, 8, 16 到 32,跑完後才會進行下一個 Script 。
18-IOmeter setting

3-4、IOmeter Sequential Read / Write 結果

再提醒一次,測試結果的數字並不代表這兩款 SSD 的最佳效能,只能說在相同的軟體、硬體條件下,觀察這兩款 SSD 效能差距有多大的不同而已。

  • 藍色曲線: 代表 MX500 的效能
  • 橘色曲線: 代表 BX500 的效能
  • 水平軸的數字: 代表用固定的封包大小(512Byte, 4KiByte, 16KiByte,…, 256KiByte)進行測試,測試時間為180秒。
  • 垂直軸數字: 代表每秒可讀/寫多少 MByte
IOmeter result_ sequential Read Write-1

3-5、IOmeter Random Read / Write 結果

下圖中的參數意義與章節【3-4】相同。

IOmeter result_ random Read Write-2
IOmeter result_ random Read Write-3

結論

從上面的數據來看,整體而言,MX500的效能的確是比BX500來的高,至於這些效能差距是不是值得多花點錢來購買,就見仁見智了。

以我而言,工作機的確是將作業系統安裝在 BX500 ,但是家用機就是使用 WD SN750 PCIe NVMe SSD 。原因不外乎,既然要得到較高的效能,就寧願多花一點錢,買到倍數差異的 PCIe NVMe SSD,而不是幾十%的效能差異。