大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是英飞凌MirrorBit工艺NOR Flash的扇区架构设计

  NOR Flash 大家都很熟悉,其内部按组织从小到大分为 Page(128B/256B/512B)、Sector(4KB)、Block(32KB/64KB/128KB/256KB)、Chip,其中 Page 是编程单元,Sector/Block/Chip 是擦除单元(一个 Block 由多个 Sector 组成,一颗 Chip 由多个 Block 组成)。关于擦除,Flash 提供了不同大小的单元粒度,也是为需要数据和参数存储的应用程序提供更大的灵活性。

  最近痞子衡在支持 RT1170 客户过程中就在英飞凌 NOR Flash S25HL512T 擦除上遇到了一些问题,后来翻看 Flash 数据手册,才发现它的擦除单元设计有特别之处,今天痞子衡就给大家介绍一下:

一、英飞凌NOR Flash系列

  我们先来看一下目前英飞凌主流 NOR Flash 系列,从接口上看有 Parallel/QSPI/Octal/HyperBus 四种,从工艺上看有 45nm MB/65nm MB/65nm FG 三种:

  其中属于 65nm FG 工艺(也称 ETOX)下的 QSPI Flash S25FL064L 算是我们比较耳熟能详的型号,这和大家常用的 Winbond/GigaDevice/MXIC 家的 NOR Flash 差别不大(这三家的产品也是基于 FG 工艺,一个基本存储单元 CELL 仅存储一个比特位),无需特别注意。

  其它 Flash 均是 45/65nm MB 工艺下的产物,MB 是 MirrorBit 的缩写,这是 Spansion 公司主推的一种闪存技术,其与英特尔的 MLC 方案非常类似,它也是通过让一个基本存储单元 CELL 存储两个(或更多)比特位,实现容量增倍的目的。

  MB 工艺和 FG 工艺各有优缺点,MB 工艺的优点是容量大、价格便宜、擦写快,缺点则是可靠性较差,高温下容易发生 bit 反转导致数据错误(当然这也可以通过增加 ECC 特性来改善)。

二、MirrorBit下不一样的扇区架构

  我们就以英飞凌 S25HL512T 型号为例介绍其扇区架构设计,其余 MirrorBit 工艺下的 Flash 扇区设计也类似。

  S25HL512T 数据手册开篇就直接点明了工艺特性以及扇区架构设计,这其实就是提醒用户这里要特别注意,扇区一共有三种不同的配置选项,用户可根据项目实际情况按需配置(设置 Flash 相应配置寄存器)。

  和扇区架构配置相关的 Flash 寄存器位分别是 CFR3[3]、CFR1[6]、CFR1[2]:

2.1 配置选项一:仅第一个Block能拆分出Sector

  如果 CFR3[3]、CFR1[6]、CFR1[2] 均为 0,这也是 Flash 出厂的默认配置,这种情况下 Flash 第一个 Block(256KB) 里会包含 32个 4KB Sector,即 0x00000000 - 0x0001FFFF 区域可用 Sector Erase 命令(0x20/0x21)去擦除,其余 Block 则无法拆分。

2.2 配置选项二:仅最后一个Block能拆分出Sector

  如果仅将 CFR1[2] 设为 1,这种情况下 Flash 最后一个 Block(256KB) 里会包含 32个 4KB Sector,即 0x03FE0000 - 0x03FFFFFF 区域可用 Sector Erase 命令(0x20/0x21)去擦除,其余 Block 则无法拆分。

2.3 配置选项三:第一个和最后一个Block能拆分出Sector

  如果仅将 CFR1[6] 设为 1,这种情况下 Flash 第一个和最后一个 Block(256KB) 里均会包含 16个 4KB Sector,即 0x00000000 - 0x0001FFFF、0x03FF0000 - 0x03FFFFFF 区域可用 Sector Erase 命令(0x20/0x21)去擦除。

2.4 配置选项四:所有Block均无法拆分

  如果将 CFR3[3] 设为 1,那么 Flash 里所有 Block(256KB) 均无法拆分,此时擦除也只能用 Block Erase 命令(0xD8/0xDC)。

  现在我们知道 MirrorBit 工艺下的 Flash 扇区架构相比 FG 工艺 Flash 在粒度划分上要粗糙得多,灵活性降低了,这在做程序设计、下载算法时均需要特别考虑。

  至此,英飞凌MirrorBit工艺NOR Flash的扇区架构设计痞子衡便介绍完毕了,掌声在哪里~~~

欢迎订阅

文章会同时发布到我的 博客园主页CSDN主页知乎主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:英飞凌MirrorBit工艺NOR Flash的扇区架构设计的更多相关文章

  1. 痞子衡嵌入式:16MB以上NOR Flash使用不当可能会造成软复位后i.MXRT无法正常启动

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT上使用16MB以上NOR Flash软复位无法正常启动问题的分析解决经验. 痞子衡这几天在支持一个i.MXRT1050客户项 ...

  2. 痞子衡嵌入式:串行NOR Flash的DQS信号功能简介

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是串行NOR Flash的DQS信号功能. 串行NOR Flash在嵌入式里的应用相当广泛,既可用作数据存储也可以用作代码(XiP)存储, ...

  3. 痞子衡嵌入式:串行NOR Flash的Continuous read模式下软复位后i.MXRT无法启动问题解决方案之RESET#

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT上使能NOR Flash的Continuous read模式在软复位后无法正常启动问题的解决经验. 前一篇文章 <在i ...

  4. 痞子衡嵌入式:串行NAND Flash的两大特性导致其在i.MXRT FlexSPI下无法XiP

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是串行NAND Flash的两大特性导致其在i.MXRT FlexSPI下无法XiP. 在嵌入式世界里,当我们提起XiP设备(支持代码原地 ...

  5. 痞子衡嵌入式:串行NOR Flash的页编程模式对于量产时间的影响

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是串行NOR Flash的页编程模式对于量产时间的影响. 任何嵌入式产品最终都绕不开量产效率话题,尤其是对于主控是非内置 Flash 型 ...

  6. 痞子衡嵌入式:国内外串行NOR Flash厂商官网Cross Reference功能使用体验

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是国内外串行NOR Flash厂商官网Cross Reference功能. 串行 NOR Flash 是一个相对发展稳定的市场,目前全球市场 ...

  7. 痞子衡嵌入式:存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码). 痞子衡之前写过一篇文章 <J-Flash在Micron ...

  8. 痞子衡嵌入式:MCUBootUtility v2.3发布,这次不再放过任何一款Flash

    -- 痞子衡的 NXP-MCUBootUtility 开源项目自2018年8月27日第一笔提交至今已有21个月,目前累计代码已近50000行.相信这个工具为大家开发 i.MXRT 项目提供了一些便利, ...

  9. 痞子衡嵌入式:kFlashFile v1.0 - 一个基于Flash的掉电数据存取方案

    大家好,我是痞子衡,是正经搞技术的痞子.今天给大家带来的是痞子衡的个人小项目 - kFlashFile. 痞子衡最近在参与一个基于 i.MXRT1170 的项目,项目有个需求,需要在 Flash 里实 ...

  10. 痞子衡嵌入式:轻松为i.MXRT设计更新Segger J-Link Flash下载算法文件

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是为i.MXRT设计更新Segger J-Link Flash下载算法文件. 想要在Flash中调试,基本是离不开Flash下载算法的,毕 ...

随机推荐

  1. 日常Bug排查-改表时读数据不一致

    前言 日常Bug排查系列都是一些简单Bug的排查.笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材. Bug现场 线上连续两天出现NP异常,而且都是凌晨低峰期才出现,在凌晨的流量远没有白天高 ...

  2. Linux修改dmesg 显示大小

    背景 由于在调试的时候没有串口,而通过dmesg打印的内容发现其中有截断的现象. 因此为了方便调试.将有关的缓冲区加大. 原理 Linux内核中打印内核消息时用到了一个环形缓冲区. 这个缓冲区的大小由 ...

  3. 中台框架模块开发实践-用 Admin.Core 代码生成器生成通用代码生成器的模块代码

    前言 之前分享中台 Admin.Core 的模块代码生成器,陆续也结合群友们的反馈,完善了一些功能和模板上的优化,而本篇将基于此代码生成器生成一个通用代码生成器模块的基本代码 后续再在此代码的基础上进 ...

  4. Unity中正面视图的相机最大距离定位

    问题背景: Unity中在场景中有这样的需求,就是俯视整个场景或者平视整个场景.这种情况下场景中物体长宽比不一定和相机视口长宽比一致,要保证所有的物体都在视口内,并且距离不能太远,,所以处理起来需要点 ...

  5. Java报表开发工具总结

    Java报表工具,首先可以分成两大类:纯Java报表工具,和支持Java的报表工具. 支持Java的报表工具 支持Java的报表工具.其实就是非Java的报表工具,但是可以在Java程序中调用,这样的 ...

  6. 树莓派4B-MAX9814麦克风模块

    树莓派4B-MAX9814麦克风模块 硬件需求 树莓派 MAX9814模块 杜邦线 MAX9814模块 电子特性 实验电路板 实验电路局部 典型工作特性 引角接线 代码展示 import RPi.GP ...

  7. 从Java开发者到.NET Core初级工程师学习路线:C#语言基础

    1. C#语言基础 1.1 C#语法概览 欢迎来到C#的世界!对于刚从Java转过来的开发者来说,你会发现C#和Java有很多相似之处,但C#也有其独特的魅力和强大之处.让我们一起来探索C#的基本语法 ...

  8. PS工具的基本使用

    常见的图片格式: 切片工具的使用 1.用切片选中图片 2.导出切片 3.切片悬着工具 可以选择指定 切片框 删除. 点击图层 切图 清除切片 基于参考线的切片 切图插件Cutterman

  9. Intellij IDEA 'Error:java: 无效的源发行版:13'

    第一步,依次点击,File - Settings - Bulid, Execution,Deployment - Compiler - Java Compiler,修改版本为13(你使用的java是哪 ...

  10. 基于Java+SpringBoot+vue+element助农平台设计和实现

    \n文末获取源码联系 感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询 系统介绍: 随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自 ...