坏块管理在工业闪存中的重要性
2022年09月09日 | admin
坏块由来主要包含:
1.出厂坏块):
工业闪存从工厂出来,就或多或少的有一些坏块。
2.提高坏块:
随着工业闪存的应用,一些前期好块也会变成坏块。变坏的原因,通常是擦写损坏。
坏块辨别:
厂商在工业闪存出厂时,会让出厂坏块做特殊标记。一般来说,刚出厂的工业闪存也被擦掉,里边的数据是全0xFF。但是对坏块而言,工业闪存厂商会加上不同的标识。
客户使用工业闪存时,首先应该依照工业闪存文档,扫描每一个工业闪存块,把坏块去除出去、创建一张坏块表。
还有些工业闪存厂商,它能把坏块信息存储在工业闪存内部某个地方(断电不遗失),客户在创建坏块表的时候,没必要扫描每一个工业闪存块来鉴别坏块,仅需载入工业闪存的那个特殊地区。例如Micron,它工业闪存内部有个叫OTP的地区,出厂坏块信息能够存有里边。
对提高坏块来讲,它的出现会通过读写擦等操作反映出来。例如看到UECC(数据没办法根据ECC改错修复)、擦掉失败、写失败,这都是一个坏块发生的病症。客户应当把这些坏块添加坏块表,不再使用。
坏块管理模式:
一般有两种策略管理坏块,一是忽略对策,二是更换对策。
1.忽略对策
客户依据建立的坏块表,在写工业闪存时,一旦遇到坏块就越过它,写出一个Block。
SSD的存储空间是工业闪存列阵,不论是M.2SSD或是SATASSD一般都有几个并行通道,每个通道上连接了多个工业闪存。
SSD向四个Die先后载入。假定Die1上有个BlockB是坏块,若固件采用坏块忽略对策,则写完BlockA时,下面就会越过BlockB提到Die2的BlockC上边去。
2、更换体制
与忽略对策不同,当某一Die上发觉坏块时,它能被该Die里的某一好块更换。客户在写数据的时候,不是越过这一Die,而是提到更换块上边去。选用此对策,除正常用户使用的工业闪存块,还需附加保存一部分好的工业闪存块,用以更换用户空间的坏块。全部Die上工业闪存块就划分成2个地区:用户空间和预埋空间。
还是以上边的状况为例:客户载入数据时,当遇到坏块B,它不会忽略Die1不写,而是提到BlockB的更换者BlockB’上边去。
选用更换对策,SSD内部需维护一张重映射表):坏块到更换块的投射,例如B→B’。当SSD必须浏览BlockB时,它需要搜索重映射表,具体浏览的物理Block该是B’。
忽略策略的缺点在于特性不稳。以4个Die为例,忽略对策可能造成Die的并行度在1和4个Die中间,而更换对策并行度一直4个Die,不容置疑,前者特性表现不如后者。但更换对策有木桶效应,假如某一Die品质很差,则全部SSD可用的工业闪存块则受制于那个坏的Die。