快讯
HOME
快讯
正文内容
电脑主板提示nand 为什么很多用了几十年的主板也没听说过BIOS的数据坏了的呢?
发布时间 : 2024-10-08
作者 : 小编
访问数量 : 23
扫码分享至微信

为什么很多用了几十年的主板也没听说过BIOS的数据坏了的呢?

现代的UEFI BIOS除了传统BIOS的一些配置信息还在CMOS中,绝大部分需要存储的内容都被保存在闪存芯片中,在那里,还居住着BIOS的执行代码、ME的代码和存储部分,以及一些其他固件们(GBe,PMC,TB PHY等等)。闪存,也就是Flash,这个词汇经常出现在我们周围,这不,长江存储又刷屏了 。但是,这种闪存是固态硬盘要用到的NAND Flash,而不是BIOS存储用到的NOR Flash。

BIOS之所以选用NOR,是看中了它的XIP,也就是eXecute in place特性。我粗陋的翻译为原地执行代码 ,而不需要加载Load到某块内存中执行。这个特性十分重要,因为在上电启动后,内存初始化还没有进行,没有内存可供使用,虽然我们可以将Cache偷过来做内存用一段时间(Cache As RAM,CAR),但总是没有直接用起来方便。在CAR好了之前的代码,都是在NOR Flash上直接执行的(XIP)。

BIOS芯片

尽管BIOS使用NOR Flash上已经有很长时间,但它和南桥芯片的接口在经历了从FWH到SPI的转变。十几年前闪存接口是传统的挂在LPC下面的FirmwareHub,那时的BIOS芯片长这样(现在有些古老主板上还可以找到它):

ST FWH 2MB Flash

FWH闪存芯片管脚多,主板走线复杂,成本高,LPC总线速度慢,这些弊病让主板BIOS芯片在十几年前慢慢地向SPI NOR Flash芯片转移。现在的BIOS芯片几乎都是SPI芯片,如果你仔细寻找,你几乎可以在所有的台式机、笔记本、服务器、甚至是嵌入式系统中找到它的身影:

Winbound 25Q64BV

这是两个Winbond 8MB的芯片 ,左边是8个管脚的封装,一般用作笔记本和嵌入式系统上;右边是16 pin的封装,一般用作台式机和服务器中。

BIOS闪存芯片经历了一个逐渐变大的过程。从1MB到2MB,再到8MB,现在很多服务器已经用上了64MB的Flash。闪存内部要也不再仅仅是BIOS了,还有别的小伙伴杂居其中。如果你对闪存芯片内容好奇,可以用UEFITool 打开BIOS Image:

一个BIOS Image例子

可以看到,Flash开头是描述符Descriptor区域。里面的结构是Intel定义的,有其他各个区块的大小、位置和权限等信息,以及SoftStrap等等内容。BIOS的代码和存储只是其中一个区域,尽管在很多情况下是最大的区域。

BIOS区中的可变部分:Variable

BIOS区域中如何划分就是BIOS程序员自己做主了。一般被划分成很多区域(FV),一些是存储代码,一些是存储数据。存储数据是利用了NOR Flash的非易失(NVM)特性,简单来说就是掉电内容不丢失,这样用户的一些选项(setup options)才能长期存储。尽管用在固态硬盘的NAND Flash和BIOS芯片NOR Flash在存储原理上有很大不同,但一点却是相似的,那就是数据可以从1变成0,但不能从0变成1:

想要从0变1,要经历一个擦除操作,这就是闪存所以被称为Flash的原因。而闪存的寿命是由能够擦除多少次来决定的,在NAND Flash是这样,在NOR Flash上也没有不同:

NOR Flash可擦除次数更少

在所有影响寿命的地方,我们一定要精打细算,BIOS 芯片也不能例外,谁也不想用着用着,主板忽然损坏了吧。这就要求BIOS在存储数据的时候,不能采取原地擦除的策略,而只是标记一下无效,在后期一次性擦除,延长Flash寿命 。在NAND Flash里面这个过程叫做GC(Garbage Collection),而在BIOS NOR上我们叫做Reclaim:

从图中,我们看到会有内容搬来搬去和整理的动作,比较两者,就会发现,有效数据一个个拍好了,十分整洁,为下一次的数据加入做好了充分的准备。这个搬迁的过程,不可避免的会将数据搬到内存,再从内存中移到目标块,同学们有没有想过,在搬的过程中,如果出现断电,是不是主板就变砖了?这就是图中有Spare Block的原因,它起到缓存,在搬得过程中,保证数据永远是可用的。它加上其他一些安全特性,就组成了UEFI BIOS存储的基线:高容错(Fault Tolerant)非易失存储系统 -- UEFI Variable。我们在BIOS界面上可见和不可见的改动,都存储在variable中。

红旗能打多久?

说了这么多原理,现在我们可以回答很多人关心的一个问题:如果我经常修改BIOS设置,会不会把BIOS写坏了?

我们已知条件有哪些呢?

1.UEFI BIOS在设计的时候,已经采用算法规避大量的擦除操作,将擦除操作归并,以增加闪存芯片寿命。

2. 不是每次BIOS启动,都有数据需要保存的,大多数情况下启动过程中没有写闪存操作。

那么如果你是个电脑爱好者,又十分勤奋,每天重新启动10次电脑,每次都更改BIOS配置,多久电脑会损坏?我们现在就这种脑洞情况进行一个有趣的计算。

假设你的电脑中BIOS UEFI Variable空间是64KB(台式机一般情况,服务器会大些),有一半的内容被固定配置占据,也就是还剩下32KB给BIOS开机设置项:Setup Variable用。不巧的是,主板的BIOS配置又很多,多达要用4KB来保存(极端情况)!这样每次开机会产生4KB的无效数据块,32 / 4 = 8次开机就要Reclaim一次,也就是要擦除一次。主板BIOS闪存芯片是上例中的W25Q64BV。在芯片手册中(参考资料2),它的擦除次数是:

用它的最小擦除次数10万计算,能用多久呢?很简单的算式:

100000 /(10 / 8)= 80000天 = 219年!

那如果你对BIOS设置有着疯狂的爱好,每天重启100次,而每次又都修改BIOS设置呢?理论上,也能用上近22年!

结论

UEFI BIOS已经做了很多优化,作为普通用户,大家完全没有必要担心Flash写坏。但也不是完全高枕无忧,BIOS业内人士还是要注意防止BIOS写坏的情况发生。我曾经做过一个项目,后期要求做压力测试,机器要在各种情况下(Shell,Windows,Linux)各要重启4000次。我拨了一些板子做这项压力测试,这些板子基本在不停的重启中(自动测试驱动)。过了一段时间测试部门报告一个板子坏了,烧不了BIOS了。我开始还不以为意,渐渐的,越来越多的压力测试主板都不能烧片了,这才引起我的注意,一计算才发现,好家伙,是程序的问题,险些引发大规模召回事件 。原来为了快速启动,内存初始化会保存内存training的参数,下次重启就不需要再Training了,节省了很多时间。而这些参数很大,占据了48KB空间(Variable只有64KB)。好死不死,尽管程序增加了逻辑,内容一样,就不会重复存了,但程序员在参数里面加入了时间戳,结果checksum每次不一样,这样每次重启都要存,每存一次都要Reclaim。每次重启需要10秒,一天可以重启:

24 x 60 x 60 / 10 = 1.44万次

而按照最小擦除次数10万次计算,能用:

10/1.44= 7.14天!

怪不得慢慢地一个个都坏了呢!后来去掉了时间戳,才解决问题。

C盘256G卡死 系统盘这么升级

如果您的电脑是两三年前购买的,那么现在很可能会提示C盘空间已满,非常麻烦。别问怎么知道的,我自己就这样。但转了一圈,发现也没太多好办法,今天就把心得和大家分享一下。微信一定单独存!

微信的各种群里,会表情包、图片、小视频乱飞。这直接的结果就是导致微信体积越来越臃肿。这个文件是一个聚沙成塔的过程。

微信单独存放缓存

每个月大约8-10GB,一年就100G,可你的SSD才多大……

就笔者本人的大约有几十个群吧(打工人每天一个群),我比较了一下存储数据,每个月,注意是每个月,缓存的文件仅仅各种视频,就有8G左右。

所以第一条,不能把微信默认安装,一定要指定安装到其它的缓存盘里面。

虚拟内存换个盘

虚拟内存的特点是要频繁的读写。但这种读写的属性,其实并不适合现在SSD固态硬盘的系统盘,更适合过去的磁盘系统。

无论什么系统,虚拟内存尽量别放在SSD上

因此可以在系统设置里面,把虚拟内存设置不大(几个G就足以),然后如果电脑里面有传统磁盘,就安装到普通磁盘上。

无解的只能装C盘的软件

现在有不少软件,安装的时候根本就没有选择路径的选项,默认只能装到C盘,而且软件并不小。典型的比如Chrome……

有些软件可以挪到,但很麻烦,有些只能装C盘

这种情况目前来说是无解的……因为有的软件相互之间是有关联的,开发者并不知道你的电脑里面除了C盘还有没有其它盘、它是叫D盘还是叫F盘?这都无法预测,只能都塞在C盘里面。

SSD多大合适

SSD现在主流已经是512GB或是1TB了,如果不买白片盘,靠谱的产品1TB目前来看是大几百元的水平。这里我们可以不用过于在意传输速度是多少,因为普通用户来说,也没有考验这种高速读取和大量吞吐的环境、需求。

1TB的产品目前处在价格甜区

所有SSD都有价格甜区,现在处于甜区的基本是500G-1TB这个量级的产品,2TB乃至更大的价格会贵上不少,如果促销的时候价格合适,可以考虑2TB的产品。

未来主流2T起?

NAND型闪存是个典型的吃工艺的产品,在3D NAND技术成熟后,固态硬盘能造多大,要看层数和具体的工艺。现如今主流的技术是100多层,比如三星和镁光。未来这个层数可能达到数百层,虽然芯片会略厚,但容量会更大。

3D NAND的制程越先进、层数越多容量越大

现在的M.2的固态硬盘其实是受制于体积,被限制在了2TB,我们看到新的主板上,也是通过更多接口数量来提高这种高速固态硬盘的容量,未来层数高了可能会有4GB乃至更大容量的产品出现。

总结来说,除了能做的一些设置,我们对于C盘空间越来越小这件事情,很多时候是无能为力的,因为现在软件的环境就是这样。所以及时的升级硬件是当务之急,目前主流的产品是500G-1TB,在这里面选好合适的价位入手很关键,最近还在年底促销的周期内,时不时的还有神价,出现了别犹豫,对改善电脑的使用体验至关重要。

(7815960)

相关问答

苹果5开机出现 nand 怎么处理-ZOL问答

是NAND硬盘错误,多数为FLASH闪存或周边其电路故障,属于主板电路故障。造成的原因:1、手机进水腐蚀:手机进水后应及时断电并对其电路进行全面清洗,待水分烘干...

expressgatecloud是什么东西?

..由整个系统体积比较小,因此可以完全嵌入到一块固化的存储芯片中去,但即便如此,专门存储ExpressGate系统的Flash芯片容量依然达到了512M。既然这里说到了Ex...

asus express gate cloud是什么?

既然这里说到了ExpressGate专用芯片,就简单介绍一下,这块直接焊接在主板上面的NAND型flash芯片由ST(意法半导体)开发,编号为NAND04GW3B2BN6,采用的是70nm工艺...

新苹果手机怎么从icloud恢复备份恢复?

使用电脑备份在如今这个快节奏的时代好像有点不合时宜,不过每种方法都有存在的必要。像这位网友出现的情况可能比较特殊,属于PC端备份丢失,所以小编的建议是在...

为何苹果4S信号上面显示的是字母-ZOL问答

苹果手机一直都不显示中国移动总是英文字母,是NAND硬盘错误,多数为FLASH闪存或周边其电路故障,属于主板电路故障。造成的原因:1、手机进水腐蚀:手机进水后应...

傲腾内存是什么?

欢迎在点击右上角关注:「太平洋电脑网」,更多有趣资讯等着您哦。我来介绍一下傲腾内存。傲腾内存是啥?傲腾内存,虽名为内存Memory,它并不是传统意义...4、傲...

怎么样把内置硬盘转换为不接电源的移动硬盘-ZOL问答

系统是刷写在主板NAND里,不在硬盘里。不过自制系统需要的一些软件和程序需要安装在硬盘或者U盘上启动。没有内置硬盘,可以把那些东西装在位置U盘或者移动硬盘...

电脑 内存和硬盘大小是什么意思 - 166****0593 的回答 - 懂得

如下图:现在主流硬盘有两种,一是机械硬盘,它的存储介质是磁存储,靠磁头读写;二是固态硬盘,使用NANDFLASH存储。它们共同的特点是断电后数据不会丢...

NOGBA存档位置-ZOL问答

这些闪存芯片一般位于游戏机主板上的NAND闪存模块中。当用户进行游戏时,NOGBA会将游戏数据和进度写入到闪存芯片中,并在下次启

手机系统闪存(Flash Memory)包含哪些。。-ZOL问答

3条回答:【推荐答案】ram就相当于我们电脑的内存,显示300M说明系统本身占用了,很正常,闪存是4G意思是你的内存卡是4G的就是那个可以抽插的卡,rom是就相当于你电...

 崇阳提琴戏  小泽玛丽娅 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部