单片机上搭配的SPI NOR FLASH容量告急!扩容新选择

news2024/12/23 22:38:56

文章目录

  • 前言:
  • 正文:


为便于理解并省去容量单位转换的麻烦,以下容量单位均使用Byte单位(128Mbit=16MByte)

前言:

NOR FLASH 是市场上两种主要的非易失闪存技术之一。Intel于1988年首先开发出NOR Flash 技术(实际上是东芝的富士雄率先开发出来的),彻底改变了原先由EPROM(Erasable Programmable Read-Only-Memory电可编程序只读存储器)和EEPROM(电可擦只读存储器Electrically Erasable Programmable Read - Only Memory)一统天下的局面。紧接着,1989年,东芝公司发表了NAND Flash 结构,强调降低每比特的成本,有更高的性能,并且像磁盘一样可以通过接口轻松升级。NOR Flash 的特点是芯片内执行(XIP ,eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。NOR 的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能。NAND的结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于Flash的管理需要特殊的系统接口。通常读取NOR的速度比NAND稍快一些,而NAND的写入速度比NOR快很多,在设计中应该考虑这些情况。

在这里插入图片描述

这个图是一个存储单元的基本模型,中间红色的浮置栅极是一个金属片,能够存放电荷。 可以简化为下图:

在这里插入图片描述

去掉浮置栅极就是一个标准的MOS管,通过给控制栅极加上电压,让在D和S之间流通的电子,隧穿到浮置栅极中存储起来,达到了掉电不会丢失数据(电子/电荷)的功能。
上图就是浮栅晶体管大致的组成图,是在NMOS的基础上在控制栅极下的绝缘层之间加入了一层浮栅层,用于储存电子。
其中与沟道接近的绝缘层二氧化硅厚度比较薄,电子在比价大的电场作用下,会隧穿进入浮栅层。
在写入电子时,在控制栅极施加相对于衬底高压时,离子井的电子被吸引并隧穿进入浮栅层被存储在其中,如果撤销电压之后,因为浮栅层被绝缘层包裹,浮栅层电子还是存储在这个部位,此状态计为逻辑0。

在擦除电子时,需要在衬底加一个相对于栅极的高压,浮栅层存储的电子就会在电场作用下隧穿回到下面的P型半导体里。

了解了存储的基本构成,下面我们再来看看存储的应用。

正文:

随着物联网的兴起,MCU的应用也越来越广泛了,以前基本上用内置的EEPROM或者外置小容量NOR Flash就可以满足大部分需求,随着技术发展和应用要求的提高,逐渐的MCU需要实现的功能也越来越多,实现更多功能的同时需要存储的数据量也在增大,比如系统增大、存储音频、图片(GUI)、视频缓存、协议栈等等…
  
  一般情况下NOR FLASH的用户在容量不够用时直接升级为更高一级容量的NOR FLASH 就可以了,不过也有二般情况,由于NOR的单元结构相对较大的原因,当容量达到一定程度时性价比会异常的低,结合生产工艺和目前的市场情况来看,16MB是一个分水岭,比16MB NOR Flash大一级的32MB NOR Flash 的价格相对于16MB NOR Flash 高出一大截,甚至比128MB的NAND Flash还要贵,雪上加霜的是这货供应状况还不佳,即使能接受32MB NOR Flash的价格并且把方案也开发好了,前期调试和试产都通过了,等到正式量产的时候买不到货… 就可能会错过整机产品销售的最佳时机。
  
  这个时候有人会说:这些我都知道啊!我也想用NAND Flash啊!不过我的MCU不!支!持!NAND Flash啊!难不成我还要换平台从头再开发?
  
  非也,今时不同往日,有个叫SD NAND的东东可供选择,NAND 架构、SD协议,只要是支持SD2.0 协议的MCU均可以使用。正常情况下使用SPI 模式,如果需要更快的速度并且IO口够用时可以使用SD模式。内置ECC、坏块管理、均衡擦写等等功能,这意味着用户不需要额外写驱动来管理NAND ,当然性能弱的MCU也做不到^^

在这里插入图片描述

SD NAND的更多信息可以参考下列文章
  
  传送门: 技术问答-什么是SD NAND? (longsto.com)
  
  由于SD NAND存储单元使用的是NAND 架构,所以NAND 持有的基础特性也继承了下来,SD NAND在这个基础上进一步做了优化,使得易用性和应用兼容性上大大提升。
  
  我们先看一看NOR 与 NAND的区别都有哪些。
  
  1.NOR Flash支持随机访问,所以支持XIP(execute In Place),NAND Flash需要按块进行读取,所以不支持XIP 。
  
  2.NAND FLASH理论读取速度与NOR Flash相近,实际情况会根据接口不同有些差异。
  
  3.NOR 与 NAND 写入前都需要先擦除,NOR在擦除时以64~128KB的块进行,执行一个写入/擦除操作的时间约5s,NAND在擦除时以8~32KB的块进行,执行一个写入/擦除操作的时间约4ms。
  
  4.NAND 理论最大擦除次数比NOR多
  
  5.NOR 驱动比NAND简单,NAND FLASH需要通过专门的NFI(NAND FLASH Interface)与Host端进行通信,驱动相对复杂。
  
  6.所有Flash 都会有位反转的问题,NAND 位反转概率要比NOR高,NAND Flash 必须要使用ECC。
  
  7.NAND的单元尺寸几乎是NOR器件的一半,所以NAND成本更低。

在这里插入图片描述

总结: NOR 与 NAND 各有特点,应用场景与应用难度也不同,SD NAND 在保留了NAND架构优质特性的同时改进了不足之处,内置的控制器能自行管理NAND Flash,用户无需在外部处理ECC和进行坏块管理,免去了MTD层,用户不需要写繁琐的驱动代码。这些特性也使得NOR用户升级NAND 成为可能。
  
  插播广告^^:CS创世现提供128MB,512MB,4GB 等容量,同时提供商业级和工业级可选项,用户根据自身需求选择即可。
  
  128MB 详情页:128MB SD NAND
  
  PS. 除了SD NAND 之外还有一种次选升级方案,那就是使用TF卡,不过这种解决方案需要看具体应用环境。SD NAND 与TF卡对比资料可以参考下列文章,希望大家能找到适合自己的产品。
  
  传送门:SD NAND与TF卡的区别-技术问答 (longsto.com)
  
退路. 如果因为某些原因暂时无法升级SD NAND 时,也可以考虑下列高性价比 NOR FLASH,目前有8MB(64Mbit)、16MB(128Mbit)容量可供选择,有兴趣的朋友可以跳转到产品详情页查看。

传送门:

  • 8MB/64Mbit SPI NOR
  • 16MB/128Mbit SPI NOR

亲爱的卡友们,欢迎光临雷龙官网,如果看完文章之后还是有疑惑或不懂的地方,请联系我们,自己去理解或猜答案是件很累的事,请把最麻烦的事情交给我们来处理,术业有专攻,闻道有先后,深圳市雷龙发展专注存储行业13年,专业提供小容量存储解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2103832.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码审计总结

代码审计总结 概述 一、代码审计 1.1什么是代码审计? 1.2为什么要执行代码审核? 1.3代码审计的好处 二、代码审计流程 2.1代码检查方法 2.2代码检查项目 2.3编码规范 2.4代码检查规范 2.5缺陷检查表 2.6代码审计复查 2.7代码审计结果总结 三…

由一个 SwiftData “诡异”运行时崩溃而引发的钩深索隐(一)

概述 从 WWDC 23 开始,苹果推出了全新的数据库框架 SwiftData。它借助于 Swift 语言简洁而富有表现力的特点,抛弃了以往数据库所有的额外配置文件,只靠纯代码描述就可以干脆利索的让数据库的创建和增删改查(CRUD)一气…

10分钟了解OPPO中间件容器化实践

背景 OPPO是一家全球化的科技公司,随着公司的快速发展,业务方向越来越多,对中间件的依赖也越来越紧密,中间件的集群的数量成倍数增长,在中间件的部署,使用,以及运维出现各种问题。 1.中间件与业…

CAD图纸防泄密有哪些方法?五个防泄密方法分享

CAD图纸作为工程设计的重要资料,其防泄密工作至关重要。以下将分享五个有效的CAD图纸防泄密方法,旨在确保图纸的安全性和机密性。 1. 使用CAD软件自带的加密功能 大多数CAD软件,如AutoCAD,都内置了加密功能。在保存CAD图纸时&am…

MySQL主从复制(Linux篇)

1.概述 MySQL的主从复制(Master-Slave Replication)是一种数据复制解决方案,将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而是的从库…

MES系统:现代工厂生产车间的科技与管理创新

一、现代工厂生产车间:高度集成、自动化与智能化 在当今这个日新月异的工业时代,工厂生产车间已经远远超越了传统意义上的简单生产线概念,它们正逐步演变为一个高度集成、自动化与智能化的生态系统。这一变革不仅极大地提升了生产效率&#…

实战项目:俄罗斯方块(七)

文章目录 🍊自我介绍🍊图形存储及输出设置类型设计图形输出代码设计要实现的结果展示user_global.c(全局变量的C文件)user_print.huser_print.cmain.c 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞关注评论收藏(一…

股指期货与股指期权为什么是熊市中的风险管理利器?

在如今波动剧烈的熊市环境中,期货市场的多空双边机制和T0的交易制度显得尤为灵活和必要。对于投资者而言,利用期货市场对冲股票现货风险成为了一种重要的策略。在期货市场中,股指期货、股指期权以及股票期权是三大得力工具,它们为…

Windows下安装ELK8(elasticsearch、logstash、kibana)及相关工具插件

目录 概述 ELK简介 安装elasticsearch 下载elasticsearch 解压 配置不用登录及关闭SSL 启动elasticsearch 访问elasticsearch 安装elasticsearch-head 提前准备node.js 下载elasticsearch-head 解压 浏览器打开index.html 安装kibana 下载kibana 解压 运行kib…

渠道招商经理岗位职责和任职要求?

渠道经理,作为企业与投资者之间的沟通桥梁,角色是非常重要。 作为一名手工酸奶品牌的创始人,我一直扮演渠道招商经理的角色,我来为大家分享职责和任职要求! 一、渠道经理的职责! 1、渠道开发 负责公司渠…

Vue3+TypeScript+Vite集成mars3d.layer.WeiVectorTileLayer加载本地shp文件

前景提要,在新建的vite项目中,想要实现mars3d的矢量瓦片方式加载geojson数据。加载本地shp文件。 代码说明: 1.在项目中集成mars3d后,构造map后开始在map上增加读取数据的操作: mars3d.Util.fetchJson({ url: "…

Git学习尚硅谷(003 git分支操作)

尚硅谷Git入门到精通全套教程(涵盖GitHub\Gitee码云\GitLab) 总时长 4:52:00 共45P 此文章包含第15p-第p18的内容 文章目录 git分支操作分支介绍分支的好处 分支的操作查看分支创建分支切换分支&修改分支合并分支正常合并分支冲突合并 git分支操作…

10,sql约束(2)

MySQL中primary key和unique的区别 在sql、oracle中的constrain有两种约束,都是对列的唯一性限制:unique与primary key,它们的区别如下: 1、unique key要求列唯一,但不包括Null字段,也就是约束的列可以为空…

docker制作达梦数据库驱动的Python镜像记录

docker制作达梦数据库驱动的Python镜像记录 使用Sqlalchemy ORM 操作达梦 提供构建好的docker镜像 docker pull chongjing001/python:3.12 使用虚拟环境(source /venv/bin/activate) 后pip其他库 镜像中安装Python参考上一篇 下载DM8安装包 版本选择 官网 Linux安装包只有 r…

完整指南:CNStream流处理多路并发框架适配到NVIDIA Jetson Orin (二) 源码架构流程梳理、代码编写

目录 1 视频解码代码编写----利用jetson-ffmpeg 1.1 nvstream中视频解码的代码流程框架 1.1.1 类的层次关系 1.1.2 各个类的初始化函数调用层次关系 1.1.3 各个类的process函数调用层次关系 1.2 编写视频解码代码 1.2.1 修改VideoInfo结构体定义 1.2.2 修改解封装代码 …

Kafka【五】Buffer Cache (缓冲区缓存)、Page Cache (页缓存)和零拷贝技术

【1】Buffer Cache (缓冲区缓存) 在Linux操作系统中,Buffer Cache(缓冲区缓存)是内核用来优化对块设备(如磁盘)读写操作的一种机制(故而有一种说法叫做块缓存)。尽管在较新的Linux内核版本中&a…

Spring Cloud全解析:熔断之Hystrix服务监控

Hystrix服务监控 Hystrix除了熔断降级之外,还提供了准实时的调用监控,持续的记录所有通过Hystrix发起的请求的执行信息,并以统计报表的形式展示出来,包括有每秒执行多少请求,多少成功,多少失败等&#xff…

【C++】vector类:模拟实现(适合新手手撕vector)

在实现本文的vector模拟前,建议先了解关于vector的必要知识:【C】容器vector常用接口详解-CSDN博客https://blog.csdn.net/2301_80555259/article/details/141529230?spm1001.2014.3001.5501 目录 一.基本结构 二.构造函数(constructor&…

【算法】位运算

【ps】本篇有 10 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1)位1的个数 .1- 题目解析 .2- 代码编写 2)比特位计数 .1- 题目解析 .2- 代码编写 3)汉明距离 .1- 题目解析 .2- 代码编写 4)只出现一次的数字 .…

3000字带你了解SD提示词用法,一点就通,小白轻松上手(附提示词生成器)(1.4 SD提示词运用)

提示词是什么 提示词是我们向AI模型发出的指令。正确的提示词能让AI准确反馈所需的输出,而优质的提示词则能使AI生成的内容更优质、更符合你的期望。这与编写程序代码颇为相似,准确的代码逻辑是程序正常运行的前提,而优秀的代码则能减少运行…