tft每日頭條

 > 科技

 > 安卓手機太卡了刷機有用嗎

安卓手機太卡了刷機有用嗎

科技 更新时间:2024-12-21 02:17:59

安卓手機太卡了刷機有用嗎(為什麼安卓的手機越用越慢)1

也許你和我有一樣的感受,手機剛買時運行還比較流暢,可是過了一段時間(大概一兩年)卻越用卻卡。這在很多中低端手機尤其明顯。你也許會懷疑是不是垃圾應用安裝多了,可你會發現很多時候甚至重刷系統都不能解決問題,還是難以恢複初始的暢快感。這是不是手機廠商的陰謀,逼迫我們升級手機呢?還是CPU老化了,運行速度越來越慢了呢?

其實CPU并不會因為老化而變慢,我在這篇專欄文章中有詳細解釋:

CPU能用多久?會不會因為老化而變慢?

簡單來說就是CPU的速度是恒定的,都是一個基頻乘以一個比例(Ratio)出來的。基頻現在Intel CPU一般是100MHz,我們用的3G CPU,Ratio就是30,下來剛好3GHz。ARM的也類似。而基頻和Ratio在整個生命期是不變的,從而CPU運算速度是不變的。手機裡面其他的子系統也類似。

其實這除了和我們安裝的應用軟件越來越多,而國産app經常不請自來在後台偷偷運行有關外。重刷系統都不能解決速度問題和手機的存儲介質——閃存關系很大。

寫放大(Write Amplification)

我在專欄文章介紹FTL時,介紹了閃存的存儲特性。我們知道一個典型的Flash芯片由Package, die, plane, block和page組成,如下圖:

安卓手機太卡了刷機有用嗎(為什麼安卓的手機越用越慢)2

Package: 也就是chip即Flash芯片,就是我們經常在M.2的SSD上看到的NAND flash顆粒:

安卓手機太卡了刷機有用嗎(為什麼安卓的手機越用越慢)3

Die: 一個NAND顆粒是由一顆或者多顆Die封裝在一起而成,這種封裝可是平排的,也可以是層疊的。die内部可以通過3D 堆疊技術擴展容量,譬如三星的V-NAND每層容量都有128Gb(16GB),通過3D堆疊技術可以實現最多24層堆疊,這意味着24層堆疊的總容量将達到384GB!就像蓋樓房一樣:

安卓手機太卡了刷機有用嗎(為什麼安卓的手機越用越慢)4

Die也是可以單獨執行命令和返回狀态的最小單位。

Plane: 一個die可以包含幾個Plane.

Block: 重要的概念,它是擦除操作的最小單位。

Page:也很重要,它是寫入動作的最小單位。

閃存寫入是以page為單位,而擦除是以block為單位,在寫之前必須擦除。我們也知道了為了延長閃存的生命周期和壽命均衡(Wear Levelling),FTL用LBA/PBA表來映射邏輯和物理操作單位,而一般的消費級SSD和閃存系統有至少7%的空閑塊——OP(Over Provisioning)。OP空間就是閃存主控保留的自有空間,用來負責負載均衡和防止寫放大。一個形象的例子就像我們玩數字華容道:

安卓手機太卡了刷機有用嗎(為什麼安卓的手機越用越慢)5

我們要把方塊1挪到右下角,一定好充分利用唯一的空格位置,将它移來移去,十分的困難。我們想象一下,如果在最下面忽然多出一整排空閑位置,這樣相信就是小學生也可以輕松完成這個簡單版華容道,而不需要很多步驟。我們的OP就是這個空閑塊,多了後就會顯著減少挪動的步數,而步數就可以看作寫放大,對閃存壽命和速度有顯著影響。

因為這個原因,所以SSD和手機廠商必定會空出部分空間來給OP,一般至少7%。高端的SSD和手機的OP空間能夠達到20%到30%以上。OP的大小對性能影響很大,我們今天來看看OP和寫放大對flash性能的影響。

我們假設要寫入一個4KB的數據,可是一個塊裡已經沒有幹淨空間了,但是有失效的數據可以擦除,所以主控就把所有的數據搬到緩存或者OP空間,然後擦除塊,再加上這個4KB新數據寫回去,這個操作就造成了寫入放大,即本來是寫4K的數據,卻造成了整個塊(512KB)的寫入操作,也就是128倍放大。當然我們前文提到LBA/PBA并不是簡單的block,而垃圾收集和Trim對寫放大都有所減緩。但随着閃存空閑空間越來越少,主控的騰挪空間也越來越少。IBM Zurich Research Laboratory做的研究證明寫放大和空閑淨塊關系極大,如下圖:

安卓手機太卡了刷機有用嗎(為什麼安卓的手機越用越慢)6

可以看出,在空閑塊少後,寫放大可以達到3到4倍。

我們新買的SSD和手機,空空如也的數據塊讓寫性能達到最大,而随着程序和數據越來越多,寫入性能也逐漸下降。那究竟空閑塊少到多少才會性能下降,降到什麼程度呢?

數據

根據Anandtech做的實驗數據,我們la如下圖:

安卓手機太卡了刷機有用嗎(為什麼安卓的手機越用越慢)7

橫軸是時間,縱軸是寫入IOPS。随着時間寫入越來越多的随機4KB數據,開始100000的IOPS在某時刻劇烈下降,最後随着空閑幹淨塊慢慢減少,穩定到了10000IOPS,效能下降到原來的10%!

當然最終用戶使用情況沒有這麼惡劣,但數據說明寫放大對效能的影響巨大。這也是為什麼高端企業級SSD的op空間巨大的原因,Intel的SSD DC3700的op空間達到32%,這讓它有了巨大的騰挪空間,它的曲線異常平滑:

安卓手機太卡了刷機有用嗎(為什麼安卓的手機越用越慢)8

這對服務器市場非常重要。

結論

數據表明,我們對手機存儲空間或SSD使用大于75%後,寫入性能就會因為寫放大而大大下降。中低端手機Flash空間本來就小,OP又小,很容易造成寫放大,大大減低了Flash的壽命。而壽命降低,會出現更多壞塊,反過來又加劇寫放大,形成惡性循環。速度會越來越慢,這個靠重刷系統是不能解決問題的。

現在你是不是要考慮買個大容量的手機了?iPhone手機為了提升用戶體驗,op留的很大,所以快滿了後差距并不是很厲害,可以類比Intel那款SSD。

後記

有很多朋友留言問解決辦法,這裡簡單說一下,稍後會寫一篇專欄文章詳細介紹步驟和手機Flash與SSD的使用注意事項。

  1. 首先必須保證手機剩餘存貯空間在25%以上。至于如何做到,就是删删删呗。
  2. 删除流氓軟件、自啟動軟件。必要時分别設置app權限。
  3. 未有改善就隻有重刷系統了。注意保留有價值的信息,如通訊錄、照片等等。
  4. 重刷系統,一般都會有改善。Trim在Android 4.3的手機上自動會打開,無需操作。
  5. 重刷系統還未改善,如果是Android 4.3的系統,很有可能就是壞塊太多了,你會發現可用空間變少了很多。有些軟件可以重置FTL表,但有風險。建議湊合用或者購買新機,畢竟現在低端手機可以看作快消品了。
  6. 壞塊不會死而複生,壞了就是壞了,節哀順變吧。至于壞了的原因見我下面的系列文章。

日常使用時注意不要把存貯空間使用到高于75%,會加速寫放大,加速壞塊的産生。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved