0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

硬件的缺陷可以通过软件来补吗?看完这个你就知道了

传感器技术 来源:未知 作者:李建兵 2018-03-14 15:46 次阅读

硬件挖的坑真的可以通过软件来填吗?实际上不少硬件产品,都存在一些不尽如人意的地方,这可能是某项技术天生的短板,也有可能是设计不当带来的问题。为了对付这些硬件方面的不足,业界最常用的填坑大法可能就是软件了!不少厂商会通过一些特定的软件程序,试图修复或者缓解一些硬件方面的问题。这真的有效吗?今天,就一起来盘点一下有什么著名的为硬件填坑的软件方案吧!

固态硬盘寿命短?平衡算法来续命

SSD现在已经被广泛使用了,如果你现在装机不用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的偏移显示算法也并不能根治烧屏毛病。新技术固然会拥有独到的优点,但某些新型硬件也会带来新的问题,希望厂商们能够真正为用户体验着想,带来更出色的产品吧。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4453

    浏览量

    90746
  • 硬件
    +关注

    关注

    11

    文章

    2921

    浏览量

    64746
  • SSD
    SSD
    +关注

    关注

    20

    文章

    2688

    浏览量

    115475

原文标题:硬件缺陷真能用软件补?盘点软件填过的硬件坑

文章出处:【微信号:WW_CGQJS,微信公众号:传感器技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    软件测试的7大原则,漏了几条?

    软件测试报告最需要注意的就是测试思考,而非测试执行。而对软件测试菜鸟来说,初入行,首先要知道软件测试的7条原则,了解这些可以
    发表于 01-18 09:39

    二维插

    主要任务:以单片机为控制器,步进电机为执行器,构建一个二维插系统,该系统能够进行4个象限的直线、圆弧插。目标:设计控制系统硬件电路,编写插软件
    发表于 02-08 15:47

    平衡机有传动方式知道了吗?

    的表面如:风机那样的,那你只能用万向节的平衡机,因为工件表面不光滑不能用皮带拖动,所以万向节是最好选择。还有就是的工件要是自己本身就是带电机,工件本身就是能自转的,那当然是自驱动平衡机
    发表于 06-17 20:56

    请问知道了坐标和强度怎么做mapping?

    知道了坐标和强度怎么做mapping,看强度分布?
    发表于 06-26 15:39

    44ertr知道了。我来了etretret4

    ertertret我知道了。我知道了。我来了。我来了。好了吗。好了吗。嗯。嗯。嗯。嗯。嗯。嗯。嗯。ertretret
    发表于 09-29 21:18

    可以通过这 13 种方法帮助 Linux 发展

    帮助你学习和理解的练习。我再次强调,Linux是社区驱动的,如果自己的编程能力还不错,试着修复喜欢的Linux发行版本或者开源软件公开的Bug。事实上,可以在一些网站上,
    发表于 11-30 17:14

    看看嵌入式系统中的软件是如何控制硬件的?

    是4字节对齐的。以上,CPU只是控制一个硬件,led,但是我们知道,CPU是可以控制很多硬件的,那这又是怎么实现的
    发表于 03-24 09:37

    词汇解析|固件,软件还是硬件

    、巧妙的发挥硬件的作用,而且优秀的固件还可以弥补一些硬件上的缺陷。固件既然是软件,就有大小之分,大的可有几百兆,小的也许只有几K,甚至不足1
    发表于 04-04 13:01

    SPICE是什么看完知道了

    请问一下SPICE是什么?
    发表于 04-09 06:13

    【案例4】肯定不知道的一款良心国产软件

    的PCB。如图:C,加载PCB文件,如图:D,分析PCB,直接点击“一键DFM分析”,然后生成报告就可以。最后是福利时间:如果自己使用这个软件
    发表于 07-06 13:49

    物联网的发展历程看完知道了

    物联网的发展历程看完知道了
    发表于 09-26 09:21

    知道嵌入式软件和嵌入式硬件的区别有哪些吗

    嵌入式是软件还是硬件呢?知道嵌入式软件和嵌入式硬件的区别有哪些吗?
    发表于 12-24 06:10

    芯片测试设备有哪些?看完这篇知道了

    性能及电气连接进行测试检查生产制造缺陷及元器件不良的一种标准测试设备。实际上,芯片测试座,又称IC socket,其实定义没有那么复杂,它只是为了满足某种芯片某种测试需求的内联器(interposer
    发表于 06-17 15:01

    硬件缺陷真能用软件补_盘点软件填过的硬件

    软件了!不少厂商会通过一些特定的软件程序,试图修复或者缓解一些硬件方面的问题。软件的确可以弥补很
    的头像 发表于 02-26 14:36 2982次阅读

    金手指的“金”是黄金嘛?看完文章你就知道了

    之前聊过PCB板上为什么要 贴黄金 ,我们知道了金手指,阅读原文请戳下图。那么金手指的金是黄金嘛?看完文章你就知道了 在电脑内存条、显卡上,我们可以看到一排金黄色的导电触片,它们被叫做金手指
    的头像 发表于 09-14 18:18 9288次阅读
    金手指的“金”是黄金嘛?看完文章你就<b class='flag-5'>知道了</b>