0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

芯片内部存储布局及存储操作特点

Q4MP_gh_c472c21 来源:未知 作者:李倩 2018-04-25 14:18 次阅读

由于在裸板或者在uboot存在的情况烧写kernel以及yaffs2 fs的时候 Nand 中oob、bbt、ecc很大程度上影响了烧写的成功率,所以我们下面进行没含义进行了解:

芯片内部存储布局及存储操作特点:

一片Nandflash为一个设备(device), 其数据存储分层为:

1 (Device) =4096 (Blocks)

1 (Block) -= 32 (Pages/Rows)页与行是相同的意思,叫法不一样

1(Page) = 528 (Bytes) =数据块大小(512Bytes) + OOB 块大小(16Bytes)

在每一页中,最后16个字节(又称OOB)用于NandFlash命令执行完后设置状态用,剩余512个字节又分为前半部分和后半部分。可以通过NandFlash命令00h/01h/50h分别对前半部、后半部、OOB进行定位通过

Nand Flash内置的指针指向各自的首地址。

存储操作特点:

1.擦除操作的最小单位是块。

2. NandFlash芯片每一位(bit)只能从1变为0,而不能从0变为1,所以在对其进行写入操作之前要一定将相应块擦除(擦除即是将相应块得位全部变为1).

3.OOB部分的第六字节(即517字节)标志是否是坏块,如果不是坏块该值为FF,否则为坏块。

4.除OOB第六字节外,通常至少把OOB的前3个字节存放Nand Flash硬件ECC码。

BBT:bad blocktable,即坏块表。各家对nand的坏块管理方法都有差异。比如专门用nand做存储的,会把bbt放到block0,因为第0块一定是好的块。但是如果nand本身被用来boot,那么第0块就要存放程序,不能放bbt了。

有的把bbt放到最后一块,当然,这一块不能为坏块。

有的bbt中用2个bits表示1个block的状态,所以1个字节可以表示4个blocks。

bbt的大小跟nand大小有关,nand越大,需要的bbt也就越大。

所以具体代码具体分析。

ECC:

NANDFlash出错的时候一般不会造成整个Block或是Page不能读取或是全部出错,而是整个Page(例如512Bytes)中只有一个或几个bit出错。一般使用一种比较专用的校验——ECC。ECC能纠正单比特错误和检测双比特错误,而且计算速度很快,但对1比特以上的错误无法纠正,对2比特以上的错误不保证能检测。

ECC一般每256字节原始数据生成3字节ECC校验数据,这三字节共24比特分成两部分:6比特的列校验和16比特的行校验,多余的两个比特置1.

当往NANDFlash的page中写入数据的时候,每256字节我们生成一个ECC校验和,称之为原ECC校验和,保存到PAGE的OOB(out-of-band)数据区中。其位置就是eccpos[]。

校验的时候,根据上述ECC生成原理不难推断:将从OOB区中读出的原ECC校验和新ECC校验和按位异或,若结果为0,则表示不存在错(或是出现了ECC无法检测的错误);若3个字节异或结果中存在11个比特位为1,表示存在一个比特错误,且可纠正;若3个字节异或结果中只存在1个比特位为1,表示OOB区出错;其他情况均表示出现了无法纠正的错误。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    446

    文章

    47653

    浏览量

    408561
  • 嵌入式
    +关注

    关注

    4975

    文章

    18225

    浏览量

    287643
  • 存储
    +关注

    关注

    12

    文章

    3843

    浏览量

    84618

原文标题:嵌入式 Nand 中oob、bbt、ecc含义小结

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NAND 闪速存储器的内部结构

    TC58V64的内部结构如图所示。闪速存储器的容量增大,则块数也将增加,但内部的基本结构没有改变。NAND 闪速存储器的特点①按顺序存取数据
    发表于 04-11 10:11

    请教AD9954的内部存储器问题

    你好,我当前正在运用ADI公司的AD9954芯片,我想用它自带的内部存储器来产生任意波形,可是搞了10天了还是没有任何的进展,在此希望能够得到ADI技术人员的帮助,或是给我们些有关内部
    发表于 11-26 10:07

    DRAM存储原理和特点

    阻,因此每个位单元都必须不断地、周期性地对进行充电,以维持原来的数据不丢失,此行为称之为刷新。  DRAM特点  由于每个存储位仅用一个晶体管和小电容,因此集成度比较高。就单个芯片存储
    发表于 12-10 15:49

    EEPROM的存储原理/选型/特点/应用

    写入。但由于EEPROM的存储容量一般不大,因此主要应用在小存储数据的场合,比如电脑的BIOS ROM芯片和配置信息存储等。 EEPROM选型 EEPROM
    发表于 12-16 16:27

    SRAM存储的容量及基本特点

    解析SRAM存储容量及基本特点
    发表于 12-31 06:35

    STM32控制器芯片内部的程序存储空间

    以下内容整理自《STM32中文参考手册》、正点原子《STM32F1开发指南--库函数版》、野火《零死角玩转STM32F103霸道V2》,仅为个人学习方便所整理1.STM32控制器芯片内部有一定大小
    发表于 08-05 06:55

    详细介绍关于SRAM随机存储器的特点及结构

    随机存储器的特点及结构。SRAM随机存储器的特点随机存储器最大的特点就是可以随时对它进行读写
    发表于 11-17 16:58

    智能卡操作系统中存储管理设计

    介绍了智能卡操作系统中存储管理的设计方法,给出了存储管理所涉及的数据结构,分析了各种存储管理的特点及应用。
    发表于 09-14 15:05 18次下载

    智能卡操作系统中存储管理设计

    介绍了智能卡操作系统中存储管理的设计方法,给出了存储管理所涉及的数据结构,分析了各种存储管理的特点及应用。
    发表于 09-22 11:42 6次下载

    大容量闪烁存储芯片AT45D081的内部结构、特点及应用

    AT45D081的主要引脚功能见表1所列。当AT45D081的CS由高变低时,芯片启动一次操作,而当CS由低变高时,终止操作。这时SI上的任何数据都被忽略,SO处于高阻态。 当WP为低时,主
    的头像 发表于 05-25 08:05 3440次阅读
    大容量闪烁<b class='flag-5'>存储</b>器<b class='flag-5'>芯片</b>AT45D081的<b class='flag-5'>内部</b>结构、<b class='flag-5'>特点</b>及应用

    随机存取存储器的最大特点

    随机存取存储器(randomaccessmemory,RAM)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为
    的头像 发表于 11-24 10:59 4.3w次阅读

    内部部署存储和云存储有什么差异

    内部部署存储和云存储位于两个不同的位置。内部存储利用内部部署的硬件和软件。也就是说,硬件由企业和
    发表于 12-05 09:45 953次阅读

    浪潮存储在全闪存储领域的产品及技术布局

    存储作为新存储引领者,以“云存智用 运筹新数据”理念,加快布局闪存存储步伐,针对用户不同的应用场景和需求,创新研发了浪潮新一代全闪存储平台
    的头像 发表于 08-10 14:32 2168次阅读

    外部存储内部存储的区别

    Android中根据数据是否为应用私有、是否需要给外部应用暴露以及数据的大小可以有以下几种选择: * Shared Preferences * 内部存储 * 外部存储 * 本地数据库
    的头像 发表于 05-26 11:30 1033次阅读
    外部<b class='flag-5'>存储</b>和<b class='flag-5'>内部</b><b class='flag-5'>存储</b>的区别

    存储主控芯片是什么 主控芯片存储芯片怎么选

    存储主控芯片是一种集成电路芯片,用于控制和管理存储设备。它负责管理多个存储单元(如内存、固态硬盘、闪存卡等)之间的数据传输和存取
    发表于 07-10 15:50 3052次阅读