<option id="saim6"><xmp id="saim6"><acronym id="saim6"></acronym>
<tr id="saim6"><optgroup id="saim6"></optgroup></tr>
<rt id="saim6"><small id="saim6"></small></rt> <tr id="saim6"></tr>
<rt id="saim6"><small id="saim6"></small></rt>
<rt id="saim6"></rt>

SSD硬盘坏块管理方法

来源:Goldendisk 浏览:921 发表时间:2020-11-14

SSD坏块的管理那么坏块主要来源有哪些呢?坏块来源主要有两个一个是出坏块(Factory Bad Block) .闪存从工厂出来,就或多或少的有一些坏块。另外一个是增长环块(Grown Bad Block) . 随着闪存的使用,一些初期好块也会变成坏块,变坏的原因,主要是擦写磨损。

坏块鉴别:闪存厂商在闪存出厂时,会对出厂坏块做特殊标记。一般来说,刚出厂的闪存都被擦,里面的数据是全OxFF。但悬对坏块来说,闪存厂商会打上不同的标记。拿TOSHIBA某模型号闪存来说,它是这样标记出厂的坏块的:

图片1.jpg 

它会在出厂坏块的第一个闪存页和最后一个闪存页的数据区第一个字节和Spare 区第一个字节写上一个非OxFF的值。

用户在使用闪存的时候,首先应该按照闪存文档,扫描所有的闪存块,把坏块剔除出来,建立一张坏块表?;故悄蒙厦娴纳链胬此?,TOSHIBA 建议按照下面的流程来建立坏块表:


图片2.jpg 

还有些闪存厂商,它会把坏块信息存储在闪存内部基个地方(掉电不丢失), 用户在建

立坏块表的时候,没有必要扫描所有的闪存块来识别坏块、只需读取闪存的那个特定区域。

比如 Micron, 它的闪存内部有个叫OTP (One Time Programming) 的区域,出厂环块信息可以存在里面。

对增长坏块言,它的出现会通过读写擦等操作反映出来。比如读到UECUlncorrectable Error Correction Code, 数据没有办法通过ECC. 纠错恢复)、擦除失败、写失、这都是一个坏块出现的症状。用户应该把这些坏块加入坏块表,不再使用。

 坏块管理策略,一般有两种策略管理坏块一是略过(Skip) 策略,二是替换(Replace) 策略。

1. 过策路

用户根据建立的坏块表,在写闪存的时候,一旦遇到坏块就跨过它,写下一个Block。

SSD的存储空间是闪存阵列,一般有几个并行通道,每个通道上连接了若干个闪存。

为列,该SSD有四个通道,每个通道上挂了一个闪存Die。


图片3.jpg 

S5D向四个Die依次写人,假设Dic1上有个Block B是坏块,若固件采取坏块略过策略,写完BlockA时,接下来便会跨过 Block B写到 Die 2Block C上面去。

替换策略 略过策略不,当某个Dic发现坏块时,它会被该Die上的某个好块替换。用写数据的时候,不是跨过这个Dic 而是写到换块上面去。采用此策略,除正常用使用的闪仔块,还需额外保留一部分好的闪块,用于替换用户空间的坏块。整个 Die上闪存块就划分为两个区域:用户空间和预留空间。如下图所示。

还是以上面的情况为例:用户写人数据时,当碰到坏块B, 它不会略过 Die 1不写,而

是写入到 Block B 的替换者Block B'上面去。

图片4.jpg

采用替换策略,SSD内部需维护一张重映射表(Remap Table) : 坏块到替换块的映射,比如图B-B'。SSD 需要访问 Block B时,它需要查找重映射表,实际访向的物理 Block 应该B'。

我们看看两者策略的优劣略过策略的劣势在于性能不稳定。以4Die为例,略过策略可能导致Die的并行度在14Die之间,而替换策略并行度总是4Die, 毋庸置疑,前者性能表现不如后者。但替换策略有木桶效应,如果某个Die质量比较差,则整个SSD可用的闪存块则受限于那个坏的 Die。


溧阳读搜影视文化发展有限公司 量具有限公司| 北京浩宏育业财务顾问有限公司| 惠州市全通物流有限公司| 测量仪表有限公司| 钉扣机有限公司| http:// http://