2013年7月18日 星期四

為什麼說手機內存越大越好?




日前在知乎上有用戶發問稱:智能手機,尤其是 Android 手機,發現內存不夠用是限制速度的主要原因。比如標配2GB內存,512M實在卡,1GB勉強夠打所有手機遊戲。那麼,廠家為什麼不把內存做大點?增加0.5GB內存會增加多少成本?

電腦的內存已經相當便宜,儘管今年漲價了,一條4GB的內存條也就250來港幣。還有就是CPU支援的最大內存有限,但是目前的很多芯片應該都已經支援2GB左右的內存了吧。(原標題為:手機內存(RAM)增加512M 成本會增加多少?)

對此知乎上的回答是這樣的:

內存多了怎麼會沒用……可以向手機應用、特別是遊戲或者多媒體應用開發者打聽一下看看內存是多麼稀缺的資源。舉個例子,在搭載512MB內存的iPhone 4S上,一個應用使用的內存總量如果超過了約40MB就會出現內存資源警告,超過約220MB,這個應用就會crash。40MB內存是個什麼概念呢?如果把這40MB內存什麼也不幹,就用來存儲解壓過後的動畫,然後保證60 fps的幀率播放,大約能放0.3秒;要求降低一點,保證30 fps的幀率即可的話,大約能放0.6秒。

這還是把這些內存全部用於存儲內容的情況。實際使用的時候這些內存還要用來存放各種各樣的用戶數據、程式和系統運行所需的數據結構等等,導致開發者在內存裡面多放了幾張圖片沒有及時釋放都會被警告。

這還是在採用人工內存管理的iOS上。而在大量使用垃圾回收機制的系統上(比如JVM),內存更是寶貝。垃圾回收機制要流暢工作,要求空閒內存是實際使用內存的約四倍以上。如果空閒內存不足,垃圾回收的延遲會急劇上升,進而造成主線程阻塞、交互卡頓。Android用戶應該對這個現像很熟悉吧,這也是為什麼現在一些高端旗艦Android機型即便配備了比iPhone多一倍的內存但流暢度還是不夠理想的原因之一(鑑於很多人忽略這兩個字,特此加粗強調。交互卡頓主要是因為UI繪製幀率跟不上用戶輸入。

比如,要維持流暢的60 fps幀率,花在繪製每一幀的時間要維持在17毫秒以內。有很多原因會導致無法在17毫秒內完成繪製一幀,垃圾回收只是其中之一,而垃圾回收消耗超過10毫秒的情況並不罕見)。 甚至可以這麼說,對於任何軟件開發者(不管系統還是應用)而言,如果不考慮任何資源約束,內存總是容量越多越好、帶寬越大越好、延遲越低越好。增加512MB內存的硬件成本相對於整機物料成本而言其實微不足道,拿iPhone 5來說,搭載的1GB LPDDR2內存的成本是$10.45,而整機的物料成本約$200,佔比才5%。所以成本其實不是主要考慮。

那為什麼手機上各個廠商都步調一致的用小容量內存呢?因為在手機上廠商要面臨一個最嚴酷的資源約束——電池。如果拆開在售的任何一款主流智能手機來看,裡面的結構通常是一塊佔據了大部分內部空間的電池和一塊小小的電路板。比如這樣:

按現在的技術水平和未來五到十年技術發展的預估,大規模用於消費電子的化學電池的能量密度不會顯著上升。也就是說無法在保證電力供應的情況下顯著縮小電池體積、或者無法在固定體積的情況下顯著提高電池容量。為了保證手機的續航時間,廠商必須在設計許可的範圍內最大限度的縮減其他零部件的空間以擴大電池體積,同時在經濟可行的前提下儘可能減少系統能耗。

這兩個目標選擇的結果之一便是手機的內存和處理器通常採用所謂的PoP封裝,即內存和處理器是疊放於同一塊芯片包裝內的。這樣做的好處主要有兩點:一是因為兩個部件合二為一,減少了電路板上的空間佔用,讓電路板可以縮小,騰出空間用於放置電池;二是處理器需要通過金屬引線頻繁訪問內存,疊放可以使得引線的長度最短,從而降低線路噪音、訪問延遲、電力損耗。 下圖是ChipWorks拆解的Apple A6芯片中的內存部分。可以看到,內存已經佔據了幾乎整個面積。

在這種情況下,要提高PoP封裝的內存容量,思路有幾個:

1、縮小芯片的製程:縮小製程需要新工藝支援,代價非常昂貴,只有非常有限的幾家有能力做。而且從目前的32nm製程縮小到下一個製程28nm,在面積不變的情況下能夠增加的元器件的數量不過約30%而已。而內存擴容是需要翻倍的(512MB到1GB到2GB),也就是說面積不變,需要從32nm製程跳到22nm才能實現內存擴容,而成熟的22nm製程現在只有Intel才有。

2、擴大芯片的佔地面積:會增大電路板空間佔用,從而擠占電池所需要的空間。和採用PoP封裝的初衷背道而馳。

3、增加重疊的芯片數量:手機內部有沒有足夠空間容納增加的厚度不說,散熱會是個大問題。散熱不好會大幅度影響系統性能,影響體驗。

結論就是由於電池的硬約束,目前的流動系統設計中各方面妥協的結果就是在系統和軟件能夠接受的範圍內採用合適容量的內存,僅當各方麵條件(比如製程和低電壓技術的進步)都合適的時候才擴充內存容量。

Samsung 在2013年四月份開始量產20nm級別( Samsung 的官方說法很含糊,20nm~29nm這個區間都叫20nm級別。應該是28nm,尚不確定)的512MB LPDDR3內存芯片,據說可以在單個內存包裝的0.8mm限高內容納四片合計2GB,而且比30nm級別的LPDDR3能節省20%的能耗。如果散熱也沒有問題,下一代iPhone/iPad或許會搭載2GB內存。



.為什麼說手機內存越大越好?
http://digital1010.blogspot.com/2013/07/blog-post_5184.html