皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

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

硬件挖的坑真的可以通过软件来填吗?实际上不少硬件产品,都存在一些不尽如人意的地方,这可能是某项技术天生的短板,也有可能是设计不当带来的问题。

为了对付这些硬件方面的不足,业界最常用的填坑大法可能就是软件了!不少厂商会通过一些特定的软件程序,试图修复或者缓解一些硬件方面的问题。这真的有效吗?今天,就一起来盘点一下有什么著名的为硬件填坑的软件方案吧!

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

SSD 现在已经被广泛使用了,如果你现在装机不用 SSD,甚至会被部分 DIY 玩家嘲笑说不懂电脑。不过,SSD 获得如此高的认同度,也并非是常态,起码在早些年,就有很多人对 SSD 的寿命心存芥蒂。

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

SSD 由闪存构成,而闪存是有擦写寿命限制的,例如 MLC 闪存只能够擦写数千次,TLC 闪存只能够擦写数百次等等。

如果就这样普通拿闪存组装成为 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 数据。

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

不过,磨损平衡算法需要主控芯片负责运算,现在还是有一些闪存产品不带有这个算法,导致寿命特别短——例如一些低端 U 盘。在早些年,有不良商家用不带磨损平衡算法的山寨 U 盘冒充 SSD,导致这所谓的“SSD”寿命特别短。SSD 不可靠的坏口碑,或许和这有很大关系。

液晶屏幕拖影多?插黑算法来帮忙

现在液晶屏幕 LCD 已经成为了绝对的主流,不过在早年,液晶是一项不怎么被看好的技术。无论和 CRT 和等离子相比,液晶的显示效果都明显处于下风,其中比较令人诟病的一项,就是拖影了。

由于硬件原理,LCD 在显示动态画面的时候,需要不断对液晶分子进行偏转。

液晶分子偏转是一个持续、稳态的过程,并不是一瞬间完成的。人们可以观察到,无论液晶分子偏转速度有多快,LCD 还是会比 CRT 和等离子有更明显的拖影。

当画面显示高速运动物体,例如飞快驶过的火车、体育比赛中的运动员之类的时候,拖影会更加明显。

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

怎么办?为了解决液晶拖影,插黑算法应运而生。

所谓的插黑算法,其实就是在一祯祯的画面之间,插入黑祯,让 LCD 的稳态式显示转变成近似 CRT、等离子那样的脉冲式显示,让每祯之间有时间差,这可以大大减少残影的出现。

当然,这也带来了闪烁偏暗之类的副作用,不过 LCD 提升刷新率和亮度总比提升液晶分子的偏转速度来得简单,因此插黑算法还是有实用价值的。

OLED 会烧屏?偏移算法来缓解

作为面向未来的显示技术,OLED 相比液晶有很多优点,例如轻薄、省电、对比度高、色域高等等,但也带来了一个不容忽视的问题——烧屏。就算是现在大红大火的 iPhone X,使用 OLED 屏幕后也带来了烧屏问题,这点是苹果官方都予以承认的。

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

iPhoneX 使用了 OLED 屏幕,在说明页面中也提到了烧屏现象

烧屏的确是 OLED 最为令人头疼的问题之一,它和 OLED 的显示原理息息相关。

和传统的 LCD 屏幕不同,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(羿龙)处理器被赋予了迎击 Intel 酷睿处理器的重任,首次使用了三级缓存的设计,一度让 A 饭们寄予厚望。

然而不幸的是,率先登场的 B2 步进的 Phenom 竟然存在 TLB 的 Bug。TLB 是用来连接内存和 CPU 缓存的桥梁,在有 Bug 的 Phenom 处理器中,TLB 会导致 CPU 读取页表出现错误,出现死机等情况。

出了 Bug 就得修,CPU 是难以返厂回炉的了,怎么办?于是 AMD 就用软件来解决问题。

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

AMD 发布了一个新 BIOS,也为 Win 系统提供了一个补丁,无论是那种方法,其作用都是屏蔽某段页表乃至 CPU 缓存。

这当然可以避免 Bug 的出现,不过也会造成性能降低。可以说,这个软件修复的方案只是权宜之计,其实并不完美。

此后 AMD 推出了 B3 步进的 Phenom 处理器,从硬件上修改,才彻底解决了问题,步进改动后的 CPU 还从 9X00 改名为 9X50,可见此次修补之重要。

总结

可以看到,软件的确可以弥补很多硬件方面的缺陷,但也不是此次都能完美填坑,例如 AMD 的 Phenom 就必须靠修改硬件才彻底解决问题,OLED 的偏移显示算法也并不能根治烧屏毛病。

新技术固然会拥有独到的优点,但某些新型硬件也会带来新的问题,希望厂商们能够真正为用户体验着想,带来更出色的产品吧。

转自 http://news.mydrivers.com/1/558/558607.htm

分享到:更多 ()