硬件挖的坑真的可以通過軟件來填嗎?實(shí)際上不少硬件產(chǎn)品,都存在一些不盡如人意的地方,這可能是某項(xiàng)技術(shù)天生的短板,也有可能是設(shè)計(jì)不當(dāng)帶來的問題。
為了對(duì)付這些硬件方面的不足,業(yè)界最常用的填坑大法可能就是軟件了!不少?gòu)S商會(huì)通過一些特定的軟件程序,試圖修復(fù)或者緩解一些硬件方面的問題。這真的有效嗎?今天,就一起來盤點(diǎn)一下有什么著名的為硬件填坑的軟件方案吧!
固態(tài)硬盤壽命短?平衡算法來續(xù)命
SSD現(xiàn)在已經(jīng)被廣泛使用了,如果你現(xiàn)在裝機(jī)不用SSD,甚至?xí)徊糠諨IY玩家嘲笑說不懂電腦。不過,SSD獲得如此高的認(rèn)同度,也并非是常態(tài),起碼在早些年,就有很多人對(duì)SSD的壽命心存芥蒂。
SSD由閃存構(gòu)成,而閃存是有擦寫壽命限制的,例如MLC閃存只能夠擦寫數(shù)千次,TLC閃存只能夠擦寫數(shù)百次等等。
如果就這樣普通拿閃存組裝成為SSD,那么實(shí)際的壽命表現(xiàn)可能非常令人失望——讀寫數(shù)據(jù)時(shí),會(huì)集中讀寫SSD的其中一部分閃存,這部分的閃存壽命就會(huì)損耗得特別快。一旦這部分閃存掛了,那么整塊SSD也就掛了。
這種磨損不平衡的情況,可能會(huì)導(dǎo)致一塊100G容量的SSD,只因有數(shù)M的閃存耗損,而整塊廢掉。而讓數(shù)M的閃存壽命走向完結(jié),就算是MLC,可能也只需要擦寫數(shù)十G的數(shù)據(jù)。然而我們都知道,現(xiàn)在不存在什么SSD會(huì)如此輕易得掛掉,這就和SSD的特殊軟件算法有關(guān)系了。
為了彌補(bǔ)SSD閃存的壽命缺陷、最大程度延續(xù)SSD的壽命,業(yè)界為SSD引入了磨損平衡(Wear Leveling)算法,令所有閃存磨損度盡可能保持一致。
SSD的磨損平衡算法大致分為動(dòng)態(tài)和靜態(tài)兩種。
動(dòng)態(tài)的算法就是當(dāng)寫入新數(shù)據(jù)的時(shí)候,會(huì)自動(dòng)往比較新的Block中去寫,老的閃存就放在一旁歇歇;而靜態(tài)的算法就更加先進(jìn),就算沒有數(shù)據(jù)寫入,SSD監(jiān)測(cè)到某些閃存Block比較老,會(huì)自動(dòng)進(jìn)行數(shù)據(jù)分配,讓比較老的閃存Block承擔(dān)不需要寫數(shù)據(jù)的儲(chǔ)存任務(wù)。
同時(shí)讓較新的閃存Block騰出空間,平日的數(shù)據(jù)讀寫就在比較新的Block中進(jìn)行——如此一來,各個(gè)Block的壽命損耗,就都差不多了。
有了這種軟件算法加持,就算是TLC閃存的SSD,壽命也比較可觀了。
例如256G的TLC閃存SSD,壽命是500次擦寫(P/E)的話,那么就需要寫入125TB的數(shù)據(jù),閃存才壽終正寢——就算你每天寫入10G數(shù)據(jù),也需要用三十多年才能把閃存給寫掛,更何況很少人每天往SSD中寫10G數(shù)據(jù)。
不過,磨損平衡算法需要主控芯片負(fù)責(zé)運(yùn)算,現(xiàn)在還是有一些閃存產(chǎn)品不帶有這個(gè)算法,導(dǎo)致壽命特別短——例如一些低端U盤。在早些年,有不良商家用不帶磨損平衡算法的山寨U盤冒充SSD,導(dǎo)致這所謂的“SSD”壽命特別短。SSD不可靠的壞口碑,或許和這有很大關(guān)系。
液晶屏幕拖影多?插黑算法來幫忙
現(xiàn)在液晶屏幕LCD已經(jīng)成為了絕對(duì)的主流,不過在早年,液晶是一項(xiàng)不怎么被看好的技術(shù)。無論和CRT和等離子相比,液晶的顯示效果都明顯處于下風(fēng),其中比較令人詬病的一項(xiàng),就是拖影了。
由于硬件原理,LCD在顯示動(dòng)態(tài)畫面的時(shí)候,需要不斷對(duì)液晶分子進(jìn)行偏轉(zhuǎn)。
液晶分子偏轉(zhuǎn)是一個(gè)持續(xù)、穩(wěn)態(tài)的過程,并不是一瞬間完成的。人們可以觀察到,無論液晶分子偏轉(zhuǎn)速度有多快,LCD還是會(huì)比CRT和等離子有更明顯的拖影。
當(dāng)畫面顯示高速運(yùn)動(dòng)物體,例如飛快駛過的火車、體育比賽中的運(yùn)動(dòng)員之類的時(shí)候,拖影會(huì)更加明顯。
怎么辦?為了解決液晶拖影,插黑算法應(yīng)運(yùn)而生。
所謂的插黑算法,其實(shí)就是在一禎禎的畫面之間,插入黑禎,讓LCD的穩(wěn)態(tài)式顯示轉(zhuǎn)變成近似CRT、等離子那樣的脈沖式顯示,讓每禎之間有時(shí)間差,這可以大大減少殘影的出現(xiàn)。
當(dāng)然,這也帶來了閃爍偏暗之類的副作用,不過LCD提升刷新率和亮度總比提升液晶分子的偏轉(zhuǎn)速度來得簡(jiǎn)單,因此插黑算法還是有實(shí)用價(jià)值的。
OLED會(huì)燒屏?偏移算法來緩解
作為面向未來的顯示技術(shù),OLED相比液晶有很多優(yōu)點(diǎn),例如輕薄、省電、對(duì)比度高、色域高等等,但也帶來了一個(gè)不容忽視的問題——燒屏。就算是現(xiàn)在大紅大火的iPhone X,使用OLED屏幕后也帶來了燒屏問題,這點(diǎn)是蘋果官方都予以承認(rèn)的。
iPhoneX使用了OLED屏幕,在說明頁面中也提到了燒屏現(xiàn)象
燒屏的確是OLED最為令人頭疼的問題之一,它和OLED的顯示原理息息相關(guān)。
和傳統(tǒng)的LCD屏幕不同,OLED并不通過背光模組照亮液晶像素點(diǎn)發(fā)光,OLED的每一個(gè)像素點(diǎn)都可以自發(fā)光。
這樣帶來了很多優(yōu)點(diǎn),例如避免漏光、堆高對(duì)比度等等,但存在的一個(gè)問題就是,不同的像素點(diǎn)發(fā)光時(shí)間不一樣,某些經(jīng)常發(fā)光/不常發(fā)光的像素點(diǎn)會(huì)衰減得更快/更慢,亮度對(duì)比其他像素點(diǎn)明顯不同。
我們觀察到這些亮度衰減更快/更慢的像素點(diǎn),直接的觀感就是某地方暗了/亮了一塊,這就是“圖像殘留”或者說“燒屏”。
如何對(duì)付燒屏?要么是提高OLED發(fā)光像素點(diǎn)的壽命,讓用戶在使用期間不出現(xiàn)亮度衰減——但這是很難做到的,成本太高。于是,防止燒屏的偏移算法就誕生了。
用軟件解決OLED燒屏的一個(gè)思路,就是減少顯示固定的圖像。三星使用OLED屏經(jīng)驗(yàn)豐富,它就有自己的一套軟件算法來防止OLED燒屏。
在很多OLED屏的三星手機(jī)中,經(jīng)常固定顯示圖像的位置例如虛擬按鈕,會(huì)定期位移,避免相同的像素點(diǎn)長(zhǎng)時(shí)間發(fā)光/不發(fā)光,這樣可以一定程度上避免燒屏。
在iPhone X上,也存在類似的機(jī)制。之前有人解包過iOS11的固件,發(fā)現(xiàn)蘋果也針對(duì)OLED設(shè)置了防燒屏的程序。此外,iOS上并不存在安卓那樣的虛擬按鈕,iPhone X使用手勢(shì)操作,這無疑也大大降低了燒屏出現(xiàn)的概率。
不過,防止OLED燒屏的軟件算法,并不能徹底保證OLED就一定不會(huì)燒屏,蘋果自己也不敢這么說。
受限于硬件,OLED屏幕燒屏仍會(huì)是難以完全避免的問題。不過通過軟件優(yōu)化以及正確的使用習(xí)慣,燒屏的情況還是可以大大減輕甚至不會(huì)出現(xiàn)的,希望有更多使用OLED屏的廠商加入防燒屏算法吧。
CPU設(shè)計(jì)有Bug?補(bǔ)丁BIOS來解決
在很多人的印象中,正常使用的話,CPU應(yīng)該是電腦最不容易出現(xiàn)問題的部件了。但是,如果CPU本身設(shè)計(jì)不完善,那也是相當(dāng)令人頭疼的。實(shí)際上,還真出現(xiàn)過CPU設(shè)計(jì)有Bug、但CPU依然進(jìn)入了消費(fèi)市場(chǎng)的情況,例如AMD就干過這樣的事。
AMD的第一代Phenom(羿龍)處理器被賦予了迎擊Intel酷睿處理器的重任,首次使用了三級(jí)緩存的設(shè)計(jì),一度讓A飯們寄予厚望。
然而不幸的是,率先登場(chǎng)的B2步進(jìn)的Phenom竟然存在TLB的Bug。TLB是用來連接內(nèi)存和CPU緩存的橋梁,在有Bug的Phenom處理器中,TLB會(huì)導(dǎo)致CPU讀取頁表出現(xiàn)錯(cuò)誤,出現(xiàn)死機(jī)等情況。
出了Bug就得修,CPU是難以返廠回爐的了,怎么辦?于是AMD就用軟件來解決問題。
AMD發(fā)布了一個(gè)新BIOS,也為Win系統(tǒng)提供了一個(gè)補(bǔ)丁,無論是那種方法,其作用都是屏蔽某段頁表乃至CPU緩存。
這當(dāng)然可以避免Bug的出現(xiàn),不過也會(huì)造成性能降低??梢哉f,這個(gè)軟件修復(fù)的方案只是權(quán)宜之計(jì),其實(shí)并不完美。
此后AMD推出了B3步進(jìn)的Phenom處理器,從硬件上修改,才徹底解決了問題,步進(jìn)改動(dòng)后的CPU還從9X00改名為9X50,可見此次修補(bǔ)之重要。
總結(jié)
可以看到,軟件的確可以彌補(bǔ)很多硬件方面的缺陷,但也不是此次都能完美填坑,例如AMD的Phenom就必須靠修改硬件才徹底解決問題,OLED的偏移顯示算法也并不能根治燒屏毛病。
新技術(shù)固然會(huì)擁有獨(dú)到的優(yōu)點(diǎn),但某些新型硬件也會(huì)帶來新的問題,希望廠商們能夠真正為用戶體驗(yàn)著想,帶來更出色的產(chǎn)品吧。