[心得] NVMe和UFS速度誰快? 淺談ios的記憶體機制

作者: ja9740807 (finallydream)   2018-10-27 22:06:20
關於NVMe和UFS誰快
這點我們先放到後面再來談
我們先來了解 為何iphone 只需要4G的RAM就可流暢
我認為情況是這樣的
Android的RAM運作機制基本上就是給予程式多工佔用
而ios的情況則是
RAM主要是拿來加速快取用的
並不是拿來大量背景多工
當初的設計可能就是認為移動端的設備不適合大量的使用後台程序
對於耗電來說是一大負擔 發熱也是
APP透過預先載入到快取的方式 來大幅度的增加讀寫速度

對於iphone 6曾經混用TLC和MLC的情況可以發現到
安裝超過700個APP就會容易發生問題

左圖為(TLC版本的iphone 6 64G) 右圖為(MLC版本的iphone 6 64G)
TLC版本的佔用RAM更多
原因應該是為了TLC要和MLC版本持平速度
所以才造成的情況 需要佔用更大量的快取來盡可能達到相同速度
(所以P10說的UFS和eMMC如果真的透過記憶體快取貌似有可能達成兩個版本相同體驗)

這情況在01也有人提出 並非是iphone 6 plus獨有的問題
到這裡可以看的出 為何iphone 6s很佛心的給到2G的記憶體
可以從MLC和TLC比較那張判斷出1G給程式快取實在是不夠用

從iphone 7上也可以發現到
32G版本速度明顯慢了128G一大截
(上圖為在實測複製 5 分鐘的 4K 解析度影片(約3.3G)的情況下)
在日常使用的情況下相比大容量的並不明顯
我認為這就是記憶體快取帶來的功勞
於是目前可以得知的是 iphone的快
貌似不完全單單只是NVMe帶來的成果
很大部分都是透過佔用記憶體來快取達成的
說了這麼多 上面主要就是要證明
蘋果的記憶體機制主要是拿來快取使用的
後台的程式可以快速壓縮凍結直接丟在記憶體
要的時候再把他喚醒出來解壓就沒有問題了
再來就是NVMe並不是iphone能快的主要原因
https://goo.gl/WfHzRA
畢竟在01實際的測試下 NVMe和SATA都沒這麼明顯的速度差異
更別說差異不大的NVMe和UFS的4K iops表現了
雖說NVMe的連續讀取快了一大截
但是我認為多半時候 除非是跑單一影片大檔
否則多半的遊戲載入更加看中4K的表現
如果連續讀寫的表現在遊戲中佔比是非常重要的
上面01的測試結果就不會是這樣了

上圖為(S8 UFS 的測IOPS成績)

上圖為(intel 750P的IOPS成績)
說了這麼多 我無法佐證的一點是
Iphone 7的32G版本 明顯比起128G版本在使用上速度更加緩慢
但是可以肯定的是 iphone 7的32G版本用戶
沒有過多的抱怨速度明顯緩慢 如果不是信仰加成
這可以肯定就是快取機制帶來的福利了
也希望安卓能拿出一部份記憶體空間來設計記憶體快取
不然UFS就算到4.0版本 也不見得能超越記憶體的速度

Links booklink

Contact Us: admin [ a t ] ucptt.com