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区出错;其他情况均表示出现了无法纠正的错误。

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

    关注

    455

    文章

    50817

    浏览量

    423680
  • 嵌入式
    +关注

    关注

    5082

    文章

    19126

    浏览量

    305255
  • 存储
    +关注

    关注

    13

    文章

    4314

    浏览量

    85851

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

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

收藏 人收藏

    评论

    相关推荐

    NAND 闪速存储器的内部结构

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

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

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

    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次下载

    ISD4004语音芯片内部存储信息管理

    文章分析了ISD4004语音芯片内部存储信息管理机制, 以具体实例介绍了录音控制过程, 实现了对语音地址的准确控制。
    发表于 09-29 16:31 105次下载

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

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

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

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

    浪潮存储在全闪存储领域的产品及威廉希尔官方网站 布局

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

    外部存储内部存储的区别

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

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

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

    微控制器内部存储器有哪些

    微控制器(MCU)内部存储器是微控制器系统的重要组成部分,它负责存储程序代码、数据以及控制逻辑等信息。这些存储器类型多样,各具特点,共同支
    的头像 发表于 08-22 10:41 773次阅读

    内部存储器有哪些

    内部存储器,也称为内存(Memory),是计算机系统中用于暂时存储程序和数据的重要组件。它直接与CPU相连,是CPU处理数据的主要来源。内部存储
    的头像 发表于 09-05 10:42 1666次阅读

    存储芯片内部结构及其引脚类型

    内部结构和引脚类型对于它们的功能和与外部设备的兼容性至关重要。 存储芯片内部结构 存储单元 :存储
    的头像 发表于 09-18 11:04 964次阅读