痞子衡嵌入式:英飞凌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下载算法的,毕 ...
随机推荐
- Ubuntu 18.04安装xdrp以使用远程桌面
背景 开发环境有一台服务器默认没有屏幕(被我拿走用来拓展屏幕了),有时候需要使用到界面但嫌弃拆显示器太麻烦,因此使用远程桌面来解决这个需求. 做法 安装xrdp sudo apt install -y ...
- WOE编码与IV值
参考: WOE与IV值浅谈 机器学习-变量筛选之IV值和WOE 0. Introduction WOE (weight of evidence): 证据权重 IV (information value ...
- Mybatis xxxMapper.xml 三表关联,配置文件
VideoMapper.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mappe ...
- mybatis 逆行工程 附源码
导读 逆向工程说白了,就可以简化开发工作量,自动生成一些死板的东西,比如POJO.映射文件等等,然后在将代码拷贝至实际工程,直接拿来用! 项目结构 GeneratorSqlMap.java impor ...
- 解决方案 | 预装win11如何退回win10?
0.定义 本文所说的[退回]并不指的是win10升级后的变成win11再变为win10的退回.退回应该理解为[降级],或者叫作返回上一个版本.本文的适用范围局限于,预装系统是win11,想要不通过u盘 ...
- 如何去除字符串中的 "\n" ?80% 的同学错了!
大家好,我是鱼皮,今天分享一个小知识. 我最近负责的工作是设计一个 SQL 解析引擎.简单来说,就是将一个 SQL 表达式字符串,解析为一颗对象树,从而执行查询等一系列操作. 在最开始,我就遇到了一个 ...
- 安装和引入方式在Element UI (Vue 2)和Element Plus (Vue 3)中的不同
安装和引入方式 Element UI (Vue 2): // main.js import Vue from 'vue'; import ElementUI from 'element-ui'; im ...
- [oeasy]python0125_汉字打印机_点阵式打字机_汉字字形码
汉字字形码 回忆上次内容 IBM 将 ASCII 扩展之后 规定了 一个字节的字符集 并制作了 相应的字形库 添加图片注释,不超过 140 字(可选) 这种显示模式和字符大小之下 中文 ...
- oeasy教您玩转python - 010 - # 不换行输出
不换行输出 回忆上次内容 \n 就是换行 他对应着 ascii 字符的代码是(10)10进制 他的英文是 LF,意思是Line Feed 这样我就可以自由的控制哪里换行了! 可以做下面这个框架标题吗? ...
- P10244 String Minimization 题解
P10244 String Minimization 题意 给你四个长度为 \(n\) 的字符串,分别是 \(abcd\). 你可以选择一个 \(i\) 然后交换 \(a[i]\) 和 \(c[i]\ ...