大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是英飞凌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. 【VMware vSphere】使用RVTools中的PowerShell脚本创建导出vSphere环境信息的自动化任务。

    RVTools 是 VMware 生态系统中一个非常受欢迎且免费的 Windows 实用工具,用于收集并显示 VMware vSphere 环境中的相关信息,如虚拟机.主机及集群等相关配置.RVToo ...

  2. SQLCel匹配原数据信息,更新原数据所有信息并插入新数据的过程

    使用SQLCel高效率(速度快,数据完整)的解决了我领导提的问题 "如何更新数据库中原有的数据并插入新的订单数据" 过程如下: 思路:使用字段匹配和修改字段即可解决问题,用时3分钟 ...

  3. CF1093E 题解

    来一发 \(O(n \sqrt n)\) 时间,\(O(n)\) 空间的分块写法. 首先建模,把 数值 \(x\) 在两个数组中出现的位置作为坐标,问题就转化为一个二维动态数点. 考虑用序列分块维护第 ...

  4. SpringCloud学习篇

    什么是SpringCloud Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成.Spring cloud Task,一个生 ...

  5. [oeasy]教您玩转python - 0005- 勇闯地下城

     ​ 继续运行 回忆上次内容 上次从1行代码进化到了2行代码 yy p粘贴剪贴板中的内容 将剪贴板中的代码粘贴9999次 9999p 真的实现了万行代码梦 是真·圆梦 没有撒谎的那种 不过圆梦之后多少 ...

  6. C#实现单例模式的6种方法

    介绍 单例模式是软件工程学中最富盛名的设计模式之一.从本质上看,单例模式只允许被其自身实例化一次,且向外部提供了一个访问该实例的接口.通常来说,单例对象进行实例化时一般不带参数,因为如果不同的实例化请 ...

  7. 手把手帮助你搭建属于自己的个人博客,使用cervel部署,无需后端

    1.项目简介 项目使用了vue+elementUI技术栈,通过读取本地md文件实现博客文章的展示,使用vercel实现自动化部署,纯前端项目,无需后端 第一步:下载源码 仓库地址: github:ht ...

  8. 第四章:springboot整合mybatis

    1,引入mybatis依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifact ...

  9. Django 实现文件上传下载API

    Django 实现文件上传下载API by:授客 QQ:1033553122 欢迎加入全国软件测试交流QQ群7156436 开发环境   Win 10   Python 3.5.4   Django- ...

  10. AS上的基础中级控件-图形定制

    图形Drawable 1.Drawable表达包含了图片色块画布背景等 2.存在res中的Drawable目录下,保存描述性的XML文件 3.各种视图都可以使用该控件如ViewText,Button, ...