2345技术员联盟

硬件缺陷真能用软件补

  • 来源:未知 原创
  • 时间:2018-06-21
  • 阅读:
  • 本文标签:

     硬件挖的坑真的可以通過軟件來填嗎?實際上不少硬件產品,都存在一些不盡如人意的地方,這可能是某項技術天生的短板,也有可能是設計不當帶來的問題。為了對付這些硬件方面的不足,業界最常用的填坑大法可能就是軟件了!不少廠商會通過一些特定的軟件程序,試圖修復或者緩解一些硬件方面的問題。這真的有效嗎?今天,就一起來盤點一下有什麽著名的為硬件填坑的軟件方案吧,固態硬盤壽命短?平衡算法來續命lSSD現在已經被廣泛使用了,如果你現在裝機不用SSD,甚至會被部分DIY玩家嘲笑說不懂電腦。不過,SSD獲得如此高的認同度,也並非是常態,起碼在早些年,就有很多人對SSD的壽命心存芥蒂。SSD由閃存組成,但要解決閃存的壽命問題,需要特殊的軟件算法,SSD由閃存構成,而閃存是有擦寫壽命限制的,例如MLC閃存只能夠擦寫數千次,TLC閃存只能夠擦寫數百次等等。如果就這樣普通拿閃存組裝成為SSD,那麽實際的壽命表現可能非常令人失望——讀寫數據時,會集中讀寫SSD的其中一部分閃存,這部分的閃存壽命就會損耗得特別快。一旦這部分閃存掛了,那麽整塊SSD也就掛了。


    閃存擦寫次數有限,因此要讓整塊SSD的閃存磨損平衡,這種磨損不平衡的情況,可能會導致一塊100G容量的SSD,只因有數M的閃存耗損,而整塊廢掉。而讓數M的閃存壽命走向完結,就算是MLC,可能也只需要擦寫數十G的數據。然而我們都知道,現在不存在什麽SSD會如此輕易得掛掉,這就和SSD的特殊軟件算法有關系了。了彌補SSD閃存的壽命缺陷、最大程度延續SSD的壽命,業界為SSD引入了磨損平衡(Wear Leveling)算法,令所有閃存磨損度盡可能保持一致。SSD的磨損平衡算法大致分為動態和靜態兩種。動態的算法就是當寫入新數據的時候,會自動往比較新的Block中去寫,老的閃存就放在一旁歇歇;而靜態的算法就更加先進,就算沒有數據寫入,SSD監測到某些閃存Block比較老,會自動進行數據分配,讓比較老的閃存Block承擔不需要寫數據的儲存任務,同時讓較新的閃存Block騰出空間,平日的數據讀寫就在比較新的Block中進行——如此一來,各個Block的壽命損耗,就都差不多了。


     有了這種軟件算法加持,就算是TLC閃存的SSD,壽命也比較可觀了。例如256G的TLC閃存SSD,壽命是500次擦寫(P/E)的話,那麽就需要寫入125TB的數據,閃存才壽終正寢——就算你每天寫入10G數據,也需要用三十多年才能把閃存給寫掛,更何況很少人每天往SSD中寫10G數據。某些山寨SSD用U盤的方案,而某些U盤方案是不提供磨損平衡算法的,不過,磨損平衡算法需要主控芯片負責運算,現在還是有一些閃存產品不帶有這個算法,導致壽命特別短——例如一些低端U盤。在早些年,有不良商家用不帶磨損平衡算法的山寨U盤冒充SSD,導致這所謂的“SSD”壽命特別短。SSD不可靠的壞口碑,或許和這有很大關系液晶屏幕拖影多?插黑算法來幫忙現在液晶屏幕LCD已經成為了絕對的主流,不過在早年,液晶是一項不怎麽被看好的技術。無論和CRT和等離子相比,液晶的顯示效果都明顯處於下風,其中比較令人詬病的一項,就是拖影了。


     由於硬件原理,LCD在顯示動態畫面的時候,需要不斷對液晶分子進行偏轉。液晶分子偏轉是一個持續、穩態的過程,並不是一瞬間完成的。人們可以觀察到,無論液晶分子偏轉速度有多快,LCD還是會比CRT和等離子有更明顯的拖影。當畫面顯示高速運動物體,例如飛快駛過的火車、體育比賽中的運動員之類的時候,拖影會更加明顯。插黑禎是改善LCD拖影的典型方案.怎麽辦?為了解決液晶拖影,插黑算法應運而生。所謂的插黑算法,其實就是在一禎禎的畫面之間,插入黑禎,讓LCD的穩態式顯示轉變成近似CRT、等離子那樣的脈沖式顯示,讓每禎之間有時間差,這可以大大減少殘影的出現。當然,這也帶來了閃爍偏暗之類的副作用,不過LCD提升刷新率和亮度總比提升液晶分子的偏轉速度來得簡單,因此插黑算法還是有實用價值的。


    OLED會燒屏?偏移算法來緩解,作為面向未來的顯示技術,OLED相比液晶有很多優點,例如輕薄、省電、對比度高、色域高等等,但也帶來了一個不容忽視的問題——燒屏。就算是現在大紅大火的iPhone X,使用OLED屏幕後也帶來了燒屏問題,這點是蘋果官方都予以承認的。iPhoneX使用了OLED屏幕,在說明頁面中也提到了燒屏現象燒屏的確是OLED最為令人頭疼的問題之一,它和OLED的顯示原理息息相關。和傳統的LCD屏幕不同,OLED並不通過背光模組照亮液晶像素點發光,OLED的每一個像素點都可以自發光。這樣帶來了很多優點,例如避免漏光、堆高對比度等等,但存在的一個問題就是,不同的像素點發光時間不一樣,某些經常發光/不常發光的像素點會衰減得更快/更慢,亮度對比其他像素點明顯不同。我們觀察到這些亮度衰減更快/更慢的像素點,直接的觀感就是某地方暗了/亮了一塊,這就是“圖像殘留”或者說“燒屏”。


     這就是典型的燒屏,除了OLED,等離子屏幕也很容易出現,如何對付燒屏?要麽是提高OLED發光像素點的壽命,讓用戶在使用期間不出現亮度衰減——但這是很難做到的,成本太高。於是,防止燒屏的偏移算法就誕生了。用軟件解決OLED燒屏的一個思路,就是減少顯示固定的圖像。三星使用OLED屏經驗豐富,它就有自己的一套軟件算法來防止OLED燒屏。在很多OLED屏的三星手機中,經常固定顯示圖像的位置例如虛擬按鈕,會定期位移,避免相同的像素點長時間發光/不發光,這樣可以一定程度上避免燒屏。三星的一些手機會通過偏移算法移動虛擬按鍵位置,防止燒屏,在iPhone X上,也存在類似的機制。之前有人解包過iOS11的固件,發現蘋果也針對OLED設置了防燒屏的程序。此外,iOS上並不存在安卓那樣的虛擬按鈕,iPhone X使用手勢操作,這無疑也大大降低了燒屏出現的概率。


   不過,防止OLED燒屏的軟件算法,並不能徹底保證OLED就一定不會燒屏,蘋果自己也不敢這麽說。受限於硬件,OLED屏幕燒屏仍會是難以完全避免的問題。不過通過軟件優化以及正確的使用習慣,燒屏的情況還是可以大大減輕甚至不會出現的,希望有更多使用OLED屏的廠商加入防燒屏算法吧。CPU設計有Bug?補丁BIOS來解決,在很多人的印象中,正常使用的話,CPU應該是電腦最不容易出現問題的部件了。但是,如果CPU本身設計不完善,那也是相當令人頭疼的。實際上,還真出現過CPU設計有Bug、但CPU依然進入了消費市場的情況,例如AMD就幹過這樣的事。AMD的phenom處理器存在TLB Bug,AMD的第一代Phenom(羿龍)處理器被賦予了迎擊Intel酷睿處理器的重任,首次使用了三級緩存的設計,一度讓A飯們寄予厚望。然而不幸的是,率先登場的B2步進的Phenom竟然存在TLB的Bug。TLB是用來連接內存和CPU緩存的橋梁,在有Bug的Phenom處理器中,TLB會導致CPU讀取頁表出現錯誤,出現死機等情況。出了Bug就得修,CPU是難以返廠回爐的了,怎麽辦?於是AMD就用軟件來解決問題。


     AMD通過系統補丁及BIOS的方法避開了這個硬件Bug,但會造成性能下降,AMD發布了一個新BIOS,也為Win系統提供了一個補丁,無論是那種方法,其作用都是屏蔽某段頁表乃至CPU緩存。這當然可以避免Bug的出現,不過也會造成性能降低。可以說,這個軟件修復的方案只是權宜之計,其實並不完美。此後AMD推出了B3步進的Phenom處理器,從硬件上修改,才徹底解決了問題,步進改動後的CPU還從9X00改名為9X50,可見此次修補之重要。總結可以看到,軟件的確可以彌補很多硬件方面的缺陷,但也不是此次都能完美填坑,例如AMD的Phenom就必須靠修改硬件才徹底解決問題,OLED的偏移顯示算法也並不能根治燒屏毛病。新技術固然會擁有獨到的優點,但某些新型硬件也會帶來新的問題,希望廠商們能夠真正為用戶體驗著想,帶來更出色的產品吧。


本文来自电脑技术网www.it892.com),转载本文请注明来源.
本文链接:http://www.it892.com/content/pcnews/software_news/20180621/102739.html

无觅相关文章插件,快速提升流量