坏块管理(Bad Block Management,BBM)

  看了很多坏块管理的文章,加上自己的理解,把整个坏块管理做了个总结。

坏块分类

1、出厂坏块

  又叫初始坏块,厂商会给点最小有效块值(NVB,mininum number of valid blocks)。

2、新增坏块

  使用过程中因为磨损造成的新增坏块,或者使用坏块。

3、假性坏块

  异常掉电等原因被主控误判的假性坏块。

坏块判断

1、对于出厂坏块的判断

  扫描厂商指定地址所对应的byte是否有0xFF标志,若没有0xFF则为坏块。

2、对于新增坏块的判断

(1)当执行擦除指令时出错;

(2)当执行写命令时出错;

(3)当执行读取命令时出错,而且bit的错误超过ECC的纠错能力;

那么,该Block将被判断为坏块。

坏块管理

1、建立和更新坏块表(Bad Block Table)

  对出厂坏块和新增坏块集中(或分别)管理。

  出厂坏块被标识在SA区中;在读取闪存内所有的SA区域后,坏块表就被建立;当坏块表创建后,主控会把坏块表保存在某个好的块里,每次重启后,主控会从那个块里把表调用进缓存(SDRAM)里。

2、坏块表内容

(1)用1bit标识:0表示好块,1表示坏块;

(2)用2bit标识:00表示好块,01表示Program失败的坏块,10表示Read失败的坏块,11表示Erase失败的坏块。

3、坏块不建议擦除

  由于在使用中会产生坏块,所以SSD的主控在每次写入、擦除、读取等操作后都要检查块的状态;其中删除操作前也需要检查块的状态,因为坏块信息被擦除之后无法恢复,所以不建议擦除坏块,擦除前需确保不是坏块。 

4、坏块管理策略

(1)坏块跳过策略:遇到坏块跳过,存放进好块里。

(2)坏块替换策略:替换之后,FTL会将坏块地址重新映射到好块地址。

  基于NAND Flash来讲,用SA区中的好块替换坏块。Spare Area(SA区)一般用来标记坏块,和保存对main区数据的ECC校验码。是基于NAND Flash的概念。

  基于SSD来讲,用OP中的free block替换坏块。Over Provisioning(OP,预留空间)不仅仅只是用来保证垃圾回收的正常完成,还存储着SSD内部的系统数据(包括:出厂坏块信息、SSD固件、Mapping Table等)。是基于SSD的概念。

  OP大小为所有64bytes的总和。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

【专业知识】Android主线程的消息系统(Handler\\Looper)

前言: 之前的文章写的都是关于Bitmap和内存的优化技术,这一篇文章给大家谈谈Handler。 Handler是Android系统中比较重要的一个知识,在A...

3167
来自专栏土豆专栏

计算机网络基础知识整理--数据链路层

小编最近在复习计算机网络基础,整理出来一些我认为比较重要的知识。希望能帮到大家哈,后续会更新~

79612
来自专栏技术小黑屋

关于Android中工作者线程的思考

本文为 InfoQ 中文站特供稿件,首发地址为:http://www.infoq.com/cn/articles/android-worker-thread 如...

442
来自专栏用户画像

1.2.3.1 ISO/OSI参考模型

国际化标准组织(ISO)提出的网络体系结构模型,称为开发系统互联参考模型(OSI/RM),通常简称为OSI参考模型。OSI有七层,自下而上依次为物理层、数据链路...

772
来自专栏开发与安全

linux网络编程之TCP/IP基础(一):TCP/IP协议栈与数据报封装

一、ISO/OSI参考模型 OSI(open system interconnection)开放系统互联模型是由ISO(International Organi...

2105
来自专栏云霄雨霁

传输层协议UDP和TCP

1490
来自专栏王磊的博客

asp.net 操作ftp 通用代码[测试通过]

代码如下: // 建立目录 FtpWebRequest Request = (FtpWebRequest)WebRequest.Crea...

3264
来自专栏吴老师移动开发

TCP/IP协议

1425
来自专栏静默虚空的博客

[协议]ICMP协议剖析

1、ICMP简介 ICMP全名为(INTERNET CONTROL MESSAGE PROTOCOL)网络控制消息协议。 ICMP的协议号为1。 ICMP报文就...

3377
来自专栏C#

HTTP在.NET中的一些应用和解析

     谈到HTTP协议(超文本传输协议),HTTP协议是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给...

1949

扫码关注云+社区