0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

硬件缺陷真能用軟件補_盤點軟件填過的硬件坑

h1654155971.7688 ? 來源:未知 ? 作者:鄧佳佳 ? 2018-02-26 14:36 ? 次閱讀

前言

硬件挖的坑真的可以通過軟件來填嗎?實際上不少硬件產(chǎn)品,都存在一些不盡如人意的地方,這可能是某項技術(shù)天生的短板,也有可能是設(shè)計不當(dāng)帶來的問題。為了對付這些硬件方面的不足,業(yè)界最常用的填坑大法可能就是軟件了!不少廠商會通過一些特定的軟件程序,試圖修復(fù)或者緩解一些硬件方面的問題。這真的有效嗎?今天,就一起來盤點一下有什么著名的為硬件填坑的軟件方案吧!

固態(tài)硬盤壽命短?平衡算法來續(xù)命

SSD現(xiàn)在已經(jīng)被廣泛使用了,如果你現(xiàn)在裝機不用SSD,甚至?xí)徊糠?a target="_blank">DIY玩家嘲笑說不懂電腦。不過,SSD獲得如此高的認(rèn)同度,也并非是常態(tài),起碼在早些年,就有很多人對SSD的壽命心存芥蒂。

SSD由閃存組成,但要解決閃存的壽命問題,需要特殊的軟件算法

SSD由閃存構(gòu)成,而閃存是有擦寫壽命限制的,例如MLC閃存只能夠擦寫數(shù)千次,TLC閃存只能夠擦寫數(shù)百次等等。如果就這樣普通拿閃存組裝成為SSD,那么實際的壽命表現(xiàn)可能非常令人失望——讀寫數(shù)據(jù)時,會集中讀寫SSD的其中一部分閃存,這部分的閃存壽命就會損耗得特別快。一旦這部分閃存掛了,那么整塊SSD也就掛了。

硬件缺陷真能用軟件補_盤點軟件填過的硬件坑

閃存擦寫次數(shù)有限,因此要讓整塊SSD的閃存磨損平衡

這種磨損不平衡的情況,可能會導(dǎo)致一塊100G容量的SSD,只因有數(shù)M的閃存耗損,而整塊廢掉。而讓數(shù)M的閃存壽命走向完結(jié),就算是MLC,可能也只需要擦寫數(shù)十G的數(shù)據(jù)。然而我們都知道,現(xiàn)在不存在什么SSD會如此輕易得掛掉,這就和SSD的特殊軟件算法有關(guān)系了。

為了彌補SSD閃存的壽命缺陷、最大程度延續(xù)SSD的壽命,業(yè)界為SSD引入了磨損平衡(Wear Leveling)算法,令所有閃存磨損度盡可能保持一致。SSD的磨損平衡算法大致分為動態(tài)和靜態(tài)兩種。動態(tài)的算法就是當(dāng)寫入新數(shù)據(jù)的時候,會自動往比較新的Block中去寫,老的閃存就放在一旁歇歇;而靜態(tài)的算法就更加先進(jìn),就算沒有數(shù)據(jù)寫入,SSD監(jiān)測到某些閃存Block比較老,會自動進(jìn)行數(shù)據(jù)分配,讓比較老的閃存Block承擔(dān)不需要寫數(shù)據(jù)的儲存任務(wù),同時讓較新的閃存Block騰出空間,平日的數(shù)據(jù)讀寫就在比較新的Block中進(jìn)行——如此一來,各個Block的壽命損耗,就都差不多了。

有了這種軟件算法加持,就算是TLC閃存的SSD,壽命也比較可觀了。例如256G的TLC閃存SSD,壽命是500次擦寫(P/E)的話,那么就需要寫入125TB的數(shù)據(jù),閃存才壽終正寢——就算你每天寫入10G數(shù)據(jù),也需要用三十多年才能把閃存給寫掛,更何況很少人每天往SSD中寫10G數(shù)據(jù)。

某些山寨SSD用U盤的方案,而某些U盤方案是不提供磨損平衡算法的

不過,磨損平衡算法需要主控芯片負(fù)責(zé)運算,現(xiàn)在還是有一些閃存產(chǎn)品不帶有這個算法,導(dǎo)致壽命特別短——例如一些低端U盤。在早些年,有不良商家用不帶磨損平衡算法的山寨U盤冒充SSD,導(dǎo)致這所謂的“SSD”壽命特別短。SSD不可靠的壞口碑,或許和這有很大關(guān)系。

液晶屏幕拖影多?插黑算法來幫忙

現(xiàn)在液晶屏幕LCD已經(jīng)成為了絕對的主流,不過在早年,液晶是一項不怎么被看好的技術(shù)。無論和CRT和等離子相比,液晶的顯示效果都明顯處于下風(fēng),其中比較令人詬病的一項,就是拖影了。

硬件缺陷真能用軟件補_盤點軟件填過的硬件坑

由于硬件原理,LCD在顯示動態(tài)畫面的時候,需要不斷對液晶分子進(jìn)行偏轉(zhuǎn)。液晶分子偏轉(zhuǎn)是一個持續(xù)、穩(wěn)態(tài)的過程,并不是一瞬間完成的。人們可以觀察到,無論液晶分子偏轉(zhuǎn)速度有多快,LCD還是會比CRT和等離子有更明顯的拖影。當(dāng)畫面顯示高速運動物體,例如飛快駛過的火車、體育比賽中的運動員之類的時候,拖影會更加明顯。

插黑禎是改善LCD拖影的典型方案

怎么辦?為了解決液晶拖影,插黑算法應(yīng)運而生。所謂的插黑算法,其實就是在一禎禎的畫面之間,插入黑禎,讓LCD的穩(wěn)態(tài)式顯示轉(zhuǎn)變成近似CRT、等離子那樣的脈沖式顯示,讓每禎之間有時間差,這可以大大減少殘影的出現(xiàn)。當(dāng)然,這也帶來了閃爍偏暗之類的副作用,不過LCD提升刷新率和亮度總比提升液晶分子的偏轉(zhuǎn)速度來得簡單,因此插黑算法還是有實用價值的。

OLED會燒屏?偏移算法來緩解

作為面向未來的顯示技術(shù),OLED相比液晶有很多優(yōu)點,例如輕薄、省電、對比度高、色域高等等,但也帶來了一個不容忽視的問題——燒屏。就算是現(xiàn)在大紅大火的iPhone X,使用OLED屏幕后也帶來了燒屏問題,這點是蘋果官方都予以承認(rèn)的。

iPhoneX使用了OLED屏幕,在說明頁面中也提到了燒屏現(xiàn)象

燒屏的確是OLED最為令人頭疼的問題之一,它和OLED的顯示原理息息相關(guān)。和傳統(tǒng)的LCD屏幕不同,OLED并不通過背光模組照亮液晶像素點發(fā)光,OLED的每一個像素點都可以自發(fā)光。這樣帶來了很多優(yōu)點,例如避免漏光、堆高對比度等等,但存在的一個問題就是,不同的像素點發(fā)光時間不一樣,某些經(jīng)常發(fā)光/不常發(fā)光的像素點會衰減得更快/更慢,亮度對比其他像素點明顯不同。我們觀察到這些亮度衰減更快/更慢的像素點,直接的觀感就是某地方暗了/亮了一塊,這就是“圖像殘留”或者說“燒屏”。

這就是典型的燒屏,除了OLED,等離子屏幕也很容易出現(xiàn)

如何對付燒屏?要么是提高OLED發(fā)光像素點的壽命,讓用戶在使用期間不出現(xiàn)亮度衰減——但這是很難做到的,成本太高。于是,防止燒屏的偏移算法就誕生了。

用軟件解決OLED燒屏的一個思路,就是減少顯示固定的圖像。三星使用OLED屏經(jīng)驗豐富,它就有自己的一套軟件算法來防止OLED燒屏。在很多OLED屏的三星手機中,經(jīng)常固定顯示圖像的位置例如虛擬按鈕,會定期位移,避免相同的像素點長時間發(fā)光/不發(fā)光,這樣可以一定程度上避免燒屏。

三星的一些手機會通過偏移算法移動虛擬按鍵位置,防止燒屏

在iPhone X上,也存在類似的機制。之前有人解包過iOS11的固件,發(fā)現(xiàn)蘋果也針對OLED設(shè)置了防燒屏的程序。此外,iOS上并不存在安卓那樣的虛擬按鈕,iPhone X使用手勢操作,這無疑也大大降低了燒屏出現(xiàn)的概率。

不過,防止OLED燒屏的軟件算法,并不能徹底保證OLED就一定不會燒屏,蘋果自己也不敢這么說。受限于硬件,OLED屏幕燒屏仍會是難以完全避免的問題。不過通過軟件優(yōu)化以及正確的使用習(xí)慣,燒屏的情況還是可以大大減輕甚至不會出現(xiàn)的,希望有更多使用OLED屏的廠商加入防燒屏算法吧。

CPU設(shè)計有Bug?補丁BIOS來解決

在很多人的印象中,正常使用的話,CPU應(yīng)該是電腦最不容易出現(xiàn)問題的部件了。但是,如果CPU本身設(shè)計不完善,那也是相當(dāng)令人頭疼的。實際上,還真出現(xiàn)過CPU設(shè)計有Bug、但CPU依然進(jìn)入了消費市場的情況,例如AMD就干過這樣的事。

AMD的phenom處理器存在TLB Bug

AMD的第一代Phenom(羿龍)處理器被賦予了迎擊Intel酷睿處理器的重任,首次使用了三級緩存的設(shè)計,一度讓A飯們寄予厚望。然而不幸的是,率先登場的B2步進(jìn)的Phenom竟然存在TLB的Bug。TLB是用來連接內(nèi)存和CPU緩存的橋梁,在有Bug的Phenom處理器中,TLB會導(dǎo)致CPU讀取頁表出現(xiàn)錯誤,出現(xiàn)死機等情況。出了Bug就得修,CPU是難以返廠回爐的了,怎么辦?于是AMD就用軟件來解決問題。

硬件缺陷真能用軟件補_盤點軟件填過的硬件坑

AMD通過系統(tǒng)補丁及BIOS的方法避開了這個硬件Bug,但會造成性能下降

AMD發(fā)布了一個新BIOS,也為Win系統(tǒng)提供了一個補丁,無論是那種方法,其作用都是屏蔽某段頁表乃至CPU緩存。這當(dāng)然可以避免Bug的出現(xiàn),不過也會造成性能降低??梢哉f,這個軟件修復(fù)的方案只是權(quán)宜之計,其實并不完美。此后AMD推出了B3步進(jìn)的Phenom處理器,從硬件上修改,才徹底解決了問題,步進(jìn)改動后的CPU還從9X00改名為9X50,可見此次修補之重要。

總結(jié)

可以看到,軟件的確可以彌補很多硬件方面的缺陷,但也不是此次都能完美填坑,例如AMD的Phenom就必須靠修改硬件才徹底解決問題,OLED的偏移顯示算法也并不能根治燒屏毛病。新技術(shù)固然會擁有獨到的優(yōu)點,但某些新型硬件也會帶來新的問題,希望廠商們能夠真正為用戶體驗著想,帶來更出色的產(chǎn)品吧。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3113

    瀏覽量

    65848
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    4570

    瀏覽量

    86698

原文標(biāo)題:硬件缺陷真能用軟件補?盤點軟件填過的硬件坑

文章出處:【微信號:weixin21ic,微信公眾號:21ic電子網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    斑馬技術(shù):用軟件創(chuàng)造需求,硬件滿足需求

    “簡單地說,很多時候用戶解決問題的關(guān)鍵還是通過軟件體現(xiàn)的:軟件更多地需要創(chuàng)造用戶需求;而硬件更在于... “簡單地說,很多時候用戶解決問題的關(guān)鍵還是通過軟件體現(xiàn)的:
    的頭像 發(fā)表于 08-19 16:50 ?203次閱讀
    斑馬技術(shù):用<b class='flag-5'>軟件</b>創(chuàng)造需求,<b class='flag-5'>硬件</b>滿足需求

    揭秘:單片機硬件軟件延時之大不同!

    在嵌入式項目中,軟件開發(fā)基本上都會使用到延時,那么,該用軟件延時還是硬件延時?它們又有什么區(qū)別呢?今天就來講講關(guān)于硬件延時和軟件延時的內(nèi)容,
    的頭像 發(fā)表于 07-25 08:11 ?504次閱讀
    揭秘:單片機<b class='flag-5'>硬件</b>與<b class='flag-5'>軟件</b>延時之大不同!

    嵌入式硬件VS軟件,到底哪個更難?

    在嵌入式系統(tǒng)開發(fā)中,硬件軟件是密不可分的兩個方面。但是,究竟是硬件開發(fā)更具挑戰(zhàn)性,還是軟件開發(fā)更難以應(yīng)對呢?本文將就這一問題展開討論,探究嵌入式
    的頭像 發(fā)表于 06-13 08:10 ?844次閱讀
    嵌入式<b class='flag-5'>硬件</b>VS<b class='flag-5'>軟件</b>,到底哪個更難?

    軟件看門狗和硬件看門狗的區(qū)別

    軟件看門狗和硬件看門狗都是用于監(jiān)控系統(tǒng)崩潰的工具,它們的作用是在系統(tǒng)出現(xiàn)故障或異常情況時自動恢復(fù)系統(tǒng)。 ?軟件看門狗是一種程序,運行在操作系統(tǒng)中,通過定時檢測系統(tǒng)是否正常運行來判斷系統(tǒng)是否崩潰。如果
    的頭像 發(fā)表于 04-16 15:10 ?703次閱讀

    fpga是硬件還是軟件

    FPGA(現(xiàn)場可編程門陣列)本質(zhì)上是一種硬件設(shè)備,但它在功能實現(xiàn)上結(jié)合了硬件軟件的特性。
    的頭像 發(fā)表于 03-27 14:14 ?773次閱讀

    fpga是硬件還是軟件

    FPGA(現(xiàn)場可編程門陣列)屬于硬件設(shè)備,而不是軟件。它是一種可編程的硬件設(shè)備,由大量的邏輯單元、存儲單元和互連資源組成,能夠?qū)崿F(xiàn)復(fù)雜的數(shù)字電路和系統(tǒng)設(shè)計。
    的頭像 發(fā)表于 03-14 17:08 ?1404次閱讀

    硬件spi和軟件spi的區(qū)別

    硬件SPI(串行外設(shè)接口)和軟件SPI是兩種不同的SPI傳輸方式。SPI是一種同步串行數(shù)據(jù)通信協(xié)議,通常用于連接微控制器和外部設(shè)備,如存儲器、傳感器和顯示屏等。 硬件SPI是通過專用的硬件
    的頭像 發(fā)表于 12-26 16:55 ?4840次閱讀

    嵌入式硬件軟件哪個好?

    嵌入式硬件軟件哪個好? 嵌入式軟硬件工程師哪個更有前途呢?一起來看看。 嵌入式是分為軟硬件工程師的,首先我們先來看看嵌入式硬件工程師吧!
    發(fā)表于 12-05 15:17

    硬件電路設(shè)計有這么多,如何少走彎路?看大牛怎么說

    硬件電路設(shè)計有這么多,如何少走彎路?看大牛怎么說
    的頭像 發(fā)表于 11-27 17:34 ?533次閱讀

    軟件中斷與硬件中斷的區(qū)別

    現(xiàn)在我們來繼續(xù)看看這些名詞,這是因為其實因為操作的都是物聯(lián)網(wǎng)設(shè)備,那么基本上都是基于ARM體系的硬件。但是剛剛查的資料都是繼續(xù)x86的,雖然都是linux操作系統(tǒng)。于是這里先繼續(xù)來豐富點自己
    的頭像 發(fā)表于 11-07 16:52 ?852次閱讀
    <b class='flag-5'>軟件</b>中斷與<b class='flag-5'>硬件</b>中斷的區(qū)別

    如何直觀地區(qū)分硬件spi與軟件spi?

    請問大家,如何直觀地區(qū)分 硬件spi與軟件spi; 硬件IIC和軟件IIC。
    發(fā)表于 10-28 06:46

    PLC編程軟件離開了硬件,能模擬應(yīng)用嗎?

    PLC編程軟件通常用于編寫和調(diào)試PLC(可編程邏輯控制器)的程序。雖然PLC編程軟件可以模擬PLC的運行環(huán)境,但是在缺乏實際硬件的情況下,它可能無法完全模擬實際的應(yīng)用。 通過PLC編程軟件
    的頭像 發(fā)表于 10-24 10:45 ?794次閱讀
    PLC編程<b class='flag-5'>軟件</b>離開了<b class='flag-5'>硬件</b>,能模擬應(yīng)用嗎?

    軟件sdk開發(fā)環(huán)境與硬件是如何通信的?

    軟件sdk開發(fā)環(huán)境與硬件是如何通信的?如何編程實現(xiàn)控制的?
    發(fā)表于 10-24 08:19

    半主動式電子標(biāo)簽硬件軟件的設(shè)計方案

    電子發(fā)燒友網(wǎng)站提供《半主動式電子標(biāo)簽硬件軟件的設(shè)計方案.pdf》資料免費下載
    發(fā)表于 10-23 09:46 ?0次下載
    半主動式電子標(biāo)簽<b class='flag-5'>硬件</b>和<b class='flag-5'>軟件</b>的設(shè)計方案