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

作者: ja9740807 (finallydream)   2018-10-27 22:06:20
關於NVMe和UFS誰快
這點我們先放到後面再來談
我們先來了解 為何iphone 只需要4G的RAM就可流暢
我認為情況是這樣的
Android的RAM運作機制基本上就是給予程式多工佔用
而ios的情況則是
RAM主要是拿來加速快取用的
並不是拿來大量背景多工
當初的設計可能就是認為移動端的設備不適合大量的使用後台程序
對於耗電來說是一大負擔 發熱也是
APP透過預先載入到快取的方式 來大幅度的增加讀寫速度
https://imgur.com/3Zfmvby
對於iphone 6曾經混用TLC和MLC的情況可以發現到
安裝超過700個APP就會容易發生問題
https://imgur.com/VAEhfrR
左圖為(TLC版本的iphone 6 64G) 右圖為(MLC版本的iphone 6 64G)
TLC版本的佔用RAM更多
原因應該是為了TLC要和MLC版本持平速度
所以才造成的情況 需要佔用更大量的快取來盡可能達到相同速度
(所以P10說的UFS和eMMC如果真的透過記憶體快取貌似有可能達成兩個版本相同體驗)
https://imgur.com/jHOvLnA
這情況在01也有人提出 並非是iphone 6 plus獨有的問題
到這裡可以看的出 為何iphone 6s很佛心的給到2G的記憶體
可以從MLC和TLC比較那張判斷出1G給程式快取實在是不夠用
https://imgur.com/9RQsDBu
從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的測試結果就不會是這樣了
https://imgur.com/j1TCH2F
上圖為(S8 UFS 的測IOPS成績)
https://imgur.com/pWx2e4n
上圖為(intel 750P的IOPS成績)
說了這麼多 我無法佐證的一點是
Iphone 7的32G版本 明顯比起128G版本在使用上速度更加緩慢
但是可以肯定的是 iphone 7的32G版本用戶
沒有過多的抱怨速度明顯緩慢 如果不是信仰加成
這可以肯定就是快取機制帶來的福利了
也希望安卓能拿出一部份記憶體空間來設計記憶體快取
不然UFS就算到4.0版本 也不見得能超越記憶體的速度

Links booklink

Contact Us: admin [ a t ] ucptt.com