当前位置: 首页 > 科技观察

固态硬盘寿命短?平衡算法延长寿命

时间:2023-03-16 16:37:15 科技观察

硬件挖的坑真的可以用软件填吗?事实上,很多硬件产品都有一些不尽如人意的地方。这可能是某种技术天生的缺点,也可能是设计不当造成的问题。为了应对这些硬件上的不足,业界最常用的填坑方式可能就是软件了!许多制造商会使用一些特定的软件程序来尝试修复或缓解一些硬件问题。这真的有效吗?今天,我们就来盘点几款著名的硬件填坑软件方案吧!SSD现在被广泛使用。如果你的电脑不用固态硬盘,你甚至可能会被一些DIY玩家嘲笑看不懂电脑。不过,SSD能够获得如此高的认可度,实属不正常。至少在早些年,很多人都对SSD的寿命存有疑虑。SSD由闪存组成,闪存的擦写寿命有限。比如MLC闪存只能擦写几千次,TLC闪存只能擦写几百次。如果闪存这样组装成SSD,实际的续航表现可能会非常令人失望——读写数据时,会集中读写SSD的一部分闪存,而这块的寿命部分闪存会很快耗尽。一旦这部分闪存出现故障,整个SSD也会出现故障。这种不均衡的磨损可能会导致一块100G容量的SSD因为几兆闪存的磨损而彻底毁掉。而让几兆闪存的寿命走到尽头,即使是MLC,也可能只需要擦除几十GB的数据。但是,众所周知,没有SSD会这么容易挂掉,这与SSD特殊的软件算法有关。为了弥补SSD闪存的寿命缺陷,最大程度的延长SSD的寿命,业界引入了SSD的磨损均衡(WearLeveling)算法,让所有闪存的磨损程度保持一致可能的。SSD有两种磨损均衡算法:动态和静态。动态算法是当有新数据写入时,会自动写入一个比较新的block,旧的flashmemory会被搁置起来休息;而静态算法更高级,即使没有写入数据,SSD也会监测到一些比较老的闪存块,会自动分配数据,让老的闪存块承担不需要写入数据的存储任务。同时,让较新的闪存块腾出空间,平时的数据读写都在较新的块中进行——这样一来,每个块的寿命损耗就差不多了。在这种软件算法的加持下,即使是TLC闪存的SSD也有相当长的使用寿命。例如256GTLCflashSSD的寿命为500次擦除(P/E),那么在flashmemory用完之前需要写入125TB的数据——即使你每天写入10G的数据,它也会需要30多年。闪存是用来写的,更何况很少有人每天向SSD写入10G的数据。但是,磨损均衡算法需要主控芯片负责计算。还有一些闪存产品没有这个算法,导致寿命特别短——比如一些低端的U盘。早些年,不法商家使用不带磨损均衡算法的假冒U盘冒充SSD,导致这种所谓的“SSD”寿命特别短。SSD不可靠的坏名声可能与此有很大关系。液晶屏污迹很多?插黑算法来帮忙现在液晶屏LCD已经成为了绝对的主流,但是在早些年,LCD还是一个不太被看好的技术。与CRT和等离子相比,LCD的显示效果明显处于劣势,其中一项比较受诟病的项目就是拖影。由于硬件原理,LCD在显示动态图像时需要不断地偏转液晶分子。液晶分子的偏转是一个连续的稳态过程,并不是一瞬间就完成的。可以观察到,无论液晶分子的偏转速度有多快,LCD仍然比CRT和等离子有更明显的拖影。当画面显示高速移动的物体时,如快速驶过的火车、体育比赛中的运动员等,拖影会更加明显。该怎么办?为了解决液晶拖影,插黑算法应运而生。所谓插黑算法,其实就是在一帧帧的帧与帧之间插入黑帧,使LCD的稳态显示转变为类似CRT和等离子的脉冲显示,这样就有了时间差在每帧之间,这可以显着减少残像的出现。当然,这也会带来闪烁、变暗等副作用,但提高LCD的刷新率和亮度比提高液晶分子的偏转速度更容易,所以插黑算法还是有实用价值的。OLED会烧屏吗?偏移算法缓解作为面向未来的显示技术,OLED相对于LCD有很多优势,比如轻薄、省电、高对比度、高色域等,但同时也带来了一个不容忽视的问题——屏幕老化。即便是现在很火的iPhoneX,使用OLED屏幕带来的烧屏问题,也是苹果官方认可的。iPhoneX采用的是OLED屏幕,在描述页中也提到,烧屏现象确实是OLED最头疼的问题之一,与OLED的显示原理息息相关。与传统液晶屏不同,OLED不通过背光模组点亮液晶像素点发光,OLED的每个像素点都可以自行发光。这样带来很多好处,比如避免漏光、堆叠高对比度等,但是有一个问题就是不同的像素点发光的时间不同,一些经常发光/不经常发光的像素点会衰减得更快/更慢,与其他像素相比,亮度明显不同。我们观察这些亮度衰减较快/较慢的像素点,直接感知是某处较暗/较亮,即“残像”或“烧屏”。如何处理烧屏?要么是提高OLED发光像素的寿命,让用户在使用过程中不会体验到亮度衰减——但这很难做到,成本也太高。于是,防止烧屏的offset算法就诞生了。使用软件解决OLED老化的一种方法是减少固定图像的显示。三星有丰富的OLED屏幕使用经验,有自己的一套软件算法来防止OLED屏幕烧屏。在很多采用OLED屏幕的三星手机中,显示图像的位置往往是固定的,比如一个虚拟按键,会周期性的移位,避免同一个像素点长时间发光或者不发光,这样可以避免屏幕烧到一定程度。在iPhoneX上,也存在类似的机制。之前有人解压过iOS11的固件,发现苹果也为OLED设置了防烧屏程序。此外,iOS上没有像Android那样的虚拟按键,iPhoneX采用手势操作,无疑大大降低了烧屏的概率。不过,防止OLED烧屏的软件算法并不能完全保证OLED不会烧屏,苹果自己也不敢这么说。受限于硬件,OLED屏幕烧屏仍将是一个无法回避的问题。但是通过软件优化和正确的使用习惯,可以大大减少甚至消除烧屏的情况。希望更多使用OLED屏幕的厂商加入防烧屏算法。在很多人的印象中,CPU应该是电脑在正常使用下最不容易出问题的了。但如果CPU本身设计不好,也是一件很头疼的事情。其实也有过CPU设计有bug,但CPU还是进入了消费市场的情况,比如AMD就做过这样的事情。AMD第一代Phenom(飞龙)处理器被委以与英特尔酷睿处理器对抗的重任,并采用了第一代L3缓存设计,一度让A粉寄予厚望。然而不幸的是,第一个B2-steppedPhenom有一个TLB错误。TLB是用来连接内存和CPU缓存的桥梁。在有bug的Phenom处理器中,TLB会导致CPU读取页表出错、死机等情况。如果出现错误,则必须对其进行修复。CPU返厂比较困难。我应该怎么办?所以AMD用软件来解决问题。AMD发布了新的BIOS,也为Win系统提供了补丁,不管是哪种方式,其作用都是屏蔽了某个页表甚至CPU缓存。这样当然可以避免bug,但是也会造成性能下降。可以说,本软件修复方案只是治标不治本,并非十全十美。后来AMD推出了B3步进Phenom处理器,通过修改硬件彻底解决了这个问题。步进修改后,CPU从9X00更名为9X50,可见此次修复的重要性。综上所述,我们可以看出,软件确实可以弥补很多硬件缺陷,但这次并不能完全填补漏洞。比如AMD的Phenom必须靠修改硬件才能彻底解决问题,OLED的偏移显示算法不行。无法保证老化。虽然新技术会有独特的优势,但一些新的硬件也会带来新的问题。希望厂商能够真正考虑用户体验,带来更好的产品。