痞子衡嵌入式:英飞凌MirrorBit工艺NOR Flash的扇区架构设计
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是英飞凌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的扇区架构设计的更多相关文章
- 痞子衡嵌入式:16MB以上NOR Flash使用不当可能会造成软复位后i.MXRT无法正常启动
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT上使用16MB以上NOR Flash软复位无法正常启动问题的分析解决经验. 痞子衡这几天在支持一个i.MXRT1050客户项 ...
- 痞子衡嵌入式:串行NOR Flash的DQS信号功能简介
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是串行NOR Flash的DQS信号功能. 串行NOR Flash在嵌入式里的应用相当广泛,既可用作数据存储也可以用作代码(XiP)存储, ...
- 痞子衡嵌入式:串行NOR Flash的Continuous read模式下软复位后i.MXRT无法启动问题解决方案之RESET#
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT上使能NOR Flash的Continuous read模式在软复位后无法正常启动问题的解决经验. 前一篇文章 <在i ...
- 痞子衡嵌入式:串行NAND Flash的两大特性导致其在i.MXRT FlexSPI下无法XiP
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是串行NAND Flash的两大特性导致其在i.MXRT FlexSPI下无法XiP. 在嵌入式世界里,当我们提起XiP设备(支持代码原地 ...
- 痞子衡嵌入式:串行NOR Flash的页编程模式对于量产时间的影响
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是串行NOR Flash的页编程模式对于量产时间的影响. 任何嵌入式产品最终都绕不开量产效率话题,尤其是对于主控是非内置 Flash 型 ...
- 痞子衡嵌入式:国内外串行NOR Flash厂商官网Cross Reference功能使用体验
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是国内外串行NOR Flash厂商官网Cross Reference功能. 串行 NOR Flash 是一个相对发展稳定的市场,目前全球市场 ...
- 痞子衡嵌入式:存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码). 痞子衡之前写过一篇文章 <J-Flash在Micron ...
- 痞子衡嵌入式:MCUBootUtility v2.3发布,这次不再放过任何一款Flash
-- 痞子衡的 NXP-MCUBootUtility 开源项目自2018年8月27日第一笔提交至今已有21个月,目前累计代码已近50000行.相信这个工具为大家开发 i.MXRT 项目提供了一些便利, ...
- 痞子衡嵌入式:kFlashFile v1.0 - 一个基于Flash的掉电数据存取方案
大家好,我是痞子衡,是正经搞技术的痞子.今天给大家带来的是痞子衡的个人小项目 - kFlashFile. 痞子衡最近在参与一个基于 i.MXRT1170 的项目,项目有个需求,需要在 Flash 里实 ...
- 痞子衡嵌入式:轻松为i.MXRT设计更新Segger J-Link Flash下载算法文件
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是为i.MXRT设计更新Segger J-Link Flash下载算法文件. 想要在Flash中调试,基本是离不开Flash下载算法的,毕 ...
随机推荐
- C++类与对象详解
什么是类和对象 类和对象的概念 类是对象的抽象,对象是对客观事物的抽象. 用通俗的话来说: 类是类别的意思,是数据类型. 对象是类别下的具体事物. 也就是说: 类是数据类型,对象是变量. 比如: 水果 ...
- AGC044C Strange Dance
在2020年A卷省选day2t2有类似操作trie的技巧. 题目链接 显然是建一棵三叉trie树,代表0/1/2 对这棵trie树,我们需要支持子树交换和全局加1 考虑第一个操作怎么做?直接打个懒标记 ...
- Linux 中 uid、gid、euid、egid、groups 之间的关系
导航 1 权限匹配流程 2 五种身份变化 3 有效用户/组 4 特权对 Shell 脚本无效 5 Sudo 与 SUID/SGID 的优先级 6 SUID.SGID.Sticky 各自的功能 Linu ...
- 详解Web应用安全系列(5)敏感数据泄露漏洞
在最近几年,这是最常见的,最具影响力的攻击.这个领域最常见的漏洞是不对敏感数据进行加密.在数据加密过程中,常见的问题是不安全的密钥生成和管理以及使用弱密码算法,弱协议和弱密码.特别是使用弱的哈希算法来 ...
- mysql判断两个字符串(以逗号分隔)是否存在交集
转载:https://blog.csdn.net/username666/article/details/107815331?utm_medium=distribute.pc_relevant.non ...
- ABC195E
其实我们发现很多博弈论的动态规划都是从后往前的,比如过河卒和本题. 这是因为从某种角度上来说这些动态规划有后效性而无前效性. 所以设计状态 \(dp_{i,j}\) 表示第 \(i\) 次操作 \(T ...
- 痞子衡嵌入式:浅聊恩智浦i.MXRT官方SDK里关于串行Flash相关的驱动与例程资源(上篇)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MXRT官方SDK里关于串行Flash相关的驱动与例程资源. 经常有同事以及 i.MXRT 客户咨询痞子衡,咱们恩智浦官方 S ...
- Spring之拦截器和过滤器
Spring拦截器 拦截器简介 Spring拦截器是一种基于AOP的技术,本质也是使用一种代理技术,它主要作用于接口请求中的控制器,也就是Controller. 因此它可以用于对接口进行权限验证控制. ...
- 题解:CF1957A Stickogon
CF1957A Stickogon 题意 题意十分简单,给予你 \(n\) 个棍子,问这些棍子可以构成多少个正多边形. 思路 说是可以构成多少个正多边形,所以我们可以用边最少的正多边形等边三角形来计数 ...
- vue el-input只能输入正整数 替换e - + 等
示例:输入分页页数,每页显示条数 <el-input type="number" class="resNums" v-model="item.r ...