小知识大作用:U盘的芯片,为什么会有坏块?
坏块的种类:
第一种是出厂时就有的坏块,也就是,你买到的新的,还没用过的Nand Flash,就可能包含了坏块。此类出厂时就有的坏块,被称作factory (masked) bad block 或initial bad/invalid block,在出厂之前,就会做对应的标记,标为坏块。
第二种是在使用过程中产生的坏块,由于使用过程时间长了,在擦块除的时候,出错了,说明此块坏了,也要在程序运行过程中,发现,并且标记成坏块的。具体标记的位置,和上面一样。这类块叫做worn-out bad block。即用坏了的块。
坏块标记:
NAND Flash坏块标记的位置三种情况:每个块的第1页、第1页和第2页、最后1页。对于小页(512Bytes大小),坏块标记是在OOB区域的第6个字节。对于大页(如2K大小),坏块标记是在OOB区域的第1个字节。如果坏块标记字节是0xff,则说明这个块是好块,否则就是坏块。
坏块管理:
在linux系统中会使用坏块表(BBT)对坏块进行管理。在加载NAND驱动时,如果你没有加入参数主动要求跳过坏块扫描,那么系统都会扫描坏块,并建立BBT。使用中可以通过BBT来查询某个块是否是坏块。使用过程中如果发现坏块,也需要更新BBT。坏块表有两种存放方式:
第一种是存放在内存中,这就要求在每次系统上电后都要重新扫描一次NAND Flash,建立bbt。缺点是使系统启动速度变慢,优点是不需要占用NAND Flash空间。
第二种是存放在NAND Flash中,这种方式就不需要在系统上电后重新扫描NAND Flash,只需要去读取就可以了。
固态硬盘如果发现坏块就完蛋了
硬盘是电脑不可或缺的存储设备。硬盘的故障或者性能下降,往往会严重影响到电脑的正常使用和整体性能,甚至危及到我们的数据安全。
坏块、坏道是我们经常遇到的硬盘问题,它们严重的影响硬盘的性能,甚至会导致我们的硬盘报废,数据丢失。那么什么是坏块和坏道呢?坏块,bad block,block是硬盘里最小的擦写单位,坏块意思是该块已经无法进行擦写。而坏道Bad track,是机械硬盘里出现了坏块的磁道。
在机械硬盘上发现,坏块、坏道是比较正常的。机械硬盘的坏道分为物理坏道,逻辑坏道。前面的文章我们讲过两个修复机械硬盘坏道的工具和使用方法。一般机械硬盘的坏道如果少的话,都是可以通过擦除、重映射、再生/修复等方法解决的。
而如果我们在固态硬盘发现坏块,那么几乎可以宣告这个
固态硬盘可以寿终正寝了。为什么这样说呢?
固态硬盘不容易出现坏块。准确的说是,固态硬盘的坏块不容易被我们察觉。固态硬盘坏块由BBT管理,执行坏块替换策略。在出厂时,固态硬盘NAND里的坏块会被屏蔽替换,坏块率不超过2%。在使用时,固态硬盘主控仍在对NAND执行着坏块管理、坏块替换,以保证固态硬盘的寿命和性能。
固态硬盘坏块替换策略,一般有两种策略:一是、用固定的预留空间的好块替换,当坏块太多,可替换的空间用完,固态硬盘就意味着报废了,这是较老的主控或个别主控的策略;二是,用整个SSD空闲空间的好块替换,这是现在大多数主控的坏块替换策略,然而尽管现在主控非常给力了,但是如果坏块太多依然会使得固态硬盘性能大降或者导致固态硬盘、掉盘、报废等。
固态硬盘坏块都被屏蔽了,替换了,因此我们很难看到固态硬盘上出现坏块的。如果我们发现了固态硬盘坏块,那么可能意味着,这个固态硬盘闪存坏块太多了,已经不堪使用了,固态硬盘可以寿终正寝了。
固态硬盘耐用与否,使用时性能下降严重与否,很大程度取决于闪存的好坏,以及固态硬盘厂家的闪存测试能力。上游厂商把控着闪存供应,目前消费市场上主流的固态硬盘仍然存在着严重的溢价,而大多数性价比高的固态硬盘都是使用的镁光原厂降级片SpecTek闪存片,俗称白片。
SpecTek闪存片虽然在上游厂家就已经经过了严格的测试。但是只有固态硬盘厂商拥有强大的闪存测试能力才能保证固态硬盘最终质量。因此,我们在购买性价比高的固态硬盘时,需要注意的是一定不要选择小厂商生产的固态硬盘。那些在设备上投资数亿,光是闪存测试设备就投资上千万的厂商所生产出产品和那些小作坊的产品品质是完全不一样的。我们在追求性价比的同时,也需要产品质量注意是否靠谱。
相关问答
emmc与 nand flash哪个好?1、NANDFlash是一种存储介质,要在上面读写数据,外部要加主控和电路设计。2、eMMC是NANDflash+主控IC,对外的接口协议与SD、TF卡类似;对厂家而言简化了电...
为什么手机储存卡会自动格式化?-ZOL问答特别是大容量的内存卡用的是NANDFLASH材质,寿命缩短不说,还会增加坏块,也就是会破坏数据,容量缩小等。不过那是理论上,你又不天天格式化。我做研发的,一天擦...
程序员在写代码的时候bug太多会给计算机造成损坏吗?为什么?原则上程序员写代码调试对于计算机的冲击是有限的,但编程来讲不是什么都是绝对的,如果是windows编程写的代码对于cpu或者硬盘有非常大的冲击,也会造成计算机损...
在线的大神有没有谁了解,哪里有固体废弃物存储箱一般需要多...[回答]从上图可以看出,eMMC存储器里面的主要存储单元是NANDFlash,她的结构及生产工艺,不能保证每个存储单元是好的,会随机产生无效块。这些无效块无法确定...
如果固态硬盘在使用过程中掉电,里面的数据怎么办? 10元买的16G的U盘会好用吗?奇客敢100%确定的是:不好用。先来算一下U盘成本:USB2.0主控板:0.6元/片(最廉价产品,安国芯邦低端主控芯片)闪存颗粒:16g/4.5元(一般是有坏块的打磨片,...所以...
SSD固态硬盘分多个分区是否影响性能-ZOL问答垃圾回收和坏块映射。一般情况下这一步骤厂商已经帮我们设定好了,例如NAND容量128G的SSD,厂家会标称120G,剩下的部分就被设置成了预留空间。当然如果你十分注...
为什么固态硬盘一些是120G有些是128g呢?哪种好点? - 159****7...大部分的SSD主板上焊接的闪存颗粒是4或8或16,早期有10个的或在4、8、16基础上再增加1个,所以类似120-128G的盘可能实际颗粒是128G或再多一些,多余的...
如何根据u盘固件相关主控参数对译码表修复u盘,提取数据 - ah...数据一般不会丢失,如果仅是主控板部分故障,简单的维修好主控部分就可以解决,或者干脆换同型号的主控板,数据即可恢复。如果是闪存芯片的...如果是...
如何根据u盘固件相关主控参数对译码表修复u盘,提取数据 - YG...如果是闪存芯片的主控区域出现坏块导致的故障,换主控板也不行,那么就需要取下flash芯片,用设备读取芯片内容,由于flash数据格式不一,各种主控的算法...