原创 物联网行业存储方案详解_SPI NAND Flash

2024-9-26 15:40 185 0 分类: 物联网


01

物联网系统中为什么要使用SPI NAND flash


物联网系统中使用SPI NAND Flash的原因主要有以下几点:

高存储密度

SPI NAND Flash相比传统的NOR Flash,在同样的物理尺寸下能够提供更大的存储容量。这一特性使得SPI NAND Flash能够在有限的空间内存储更多的数据,非常适合物联网设备中对于存储容量的高需求。物联网设备通常需要存储大量的数据日志、传感器数据等,而SPI NAND Flash的高存储密度恰好满足了这一需求。

成本效益高

由于NAND Flash具有更高的存储密度,其生产成本相对较低。因此,SPI NAND Flash在提供高容量存储的同时,也具备较高的性价比。这对于物联网设备的制造商来说,是一个重要的考虑因素,因为物联网设备通常需要大规模部署,成本控制尤为重要。

接口简单且低功耗

SPI接口只需要少量的引脚(通常为6个:SCK、CS、MOSI、MISO、WP和HOLD),这使得硬件设计更加简单,减少了PCB空间和成本。同时,SPI NAND Flash的功耗通常较低,非常适合电池供电的便携设备和物联网设备。低功耗特性有助于延长设备的续航时间,减少更换电池或充电的频率,提高用户体验。

数据可靠性和读写性能

选择合适的SPI NAND Flash产品时,需要考虑数据可靠性和读写性能等因素。具备错误校正码(ECC)功能的SPI NAND Flash可以提高数据可靠性,减少数据错误和丢失的风险。同时,根据实际应用需求选择合适的读写性能,可以确保数据的快速访问和处理。

广泛的应用场景

SPI NAND Flash广泛应用于嵌入式系统、物联网设备、消费电子等领域。在物联网系统中,SPI NAND Flash常用于存储固件、配置数据和用户数据等关键信息。这些信息的可靠存储对于物联网设备的正常运行至关重要。 适用于嵌入式系统,尤其是对存储容量和成本敏感的应用,如一些物联网设备。选择合适的Flash类型应基于具体应用需求,考虑性能、功耗、寿命、成本和集成度等因素。

综上所述,物联网系统中使用SPI NAND Flash的原因主要包括高存储密度、成本效益高、接口简单且低功耗、广泛的应用场景以及数据可靠性和读写性能等方面的优势。这些优势使得SPI NAND Flash成为物联网系统中不可或缺的存储解决方案。

本文会再为大家详解存储器家族中的一员——SPI NAND flash。


02

SPI NAND flash的概念


在嵌入式系统领域,作为存储设备的NOR Flash和NAND Flash,而NAND Flash由于采用了地址数据线复用的方式,并且统一了接口标准规定(x 8 bit or x 16 bit),从而在不同容量的兼容性上面基本没有问题,所以这类封装及接口形式沿用了很多年。近些年随着产品小型化的需求越来越强烈,并且对方案成本的要求越来越高,SPI NAND Flash逐渐出圈。

SPI NAND Flash方案的主控(MCU)内可以不需要带有传统NAND的控制器,只需要有SPI的接口,再加入内置ECC,这样可以减少主控的成本,以及省掉MCU做为硬件或软件ECC的功能。

另外,SPI NAND Flash的封装形式多采用 WSON、TFBGA等封装,尺寸比传统的NAND Flash TSOP的封装要小很多,充分节省了PCB板的空间,较少的管脚数量,从而可以减小PCB的尺寸及层数,既满足了市场小型化的需求也降低了产品的成本。


03

SPI NAND flash的读写介绍


对flash芯片的操作,一般包括对flash芯片的擦除,编程和读取,各大厂商的SPI flash芯片都大同小异,操作命令基本是没什么变化的,当我们拿到一款芯片,要特别注意芯片的容量,操作分区等。

其实,无论是对芯片的擦除,编程还是读取操作,我们大致可以按照以下的套路来:写命令---写地址---写(读)数据。正如以下的时序图一样清晰明了,我们先把片选信号拉低,再依次写指令,地址和数据,就可以对FLASH芯片进行操作。

掌握以上方法,就可以轻松操作SPI flash芯片了,当然,对时序这种底层的操作,还需要不断学习和积累,不论是用FPGA还是MCU,最终都是为了产生时序信号,只要静下来认真理解了它,一切问题就迎刃而解了。


04

SPI NAND flash使用注意事项


不同的SPI FLASH芯片可能会提供的擦除方式:扇区擦除(4KBytes),半块擦除(32KBytes),块擦除(64KBytes),片擦除。

不同的SPI FLASH芯片可能会提供的编程方式(也就是写数据):页编程(256Bytes),扇区编程(4KBytes)。

SPI FLASH如果擦除过,在往里面写0xFF这样的数据意义不大,因为它的特性就是擦除后数据就是0xFF。

写入flash时,只能把数据(bit)从1改为0。

传统的EEPROM的特点就是可以随机访问和修改任何一个字节,可以往每个bit中写入0或1。而写入flash时,只能把数据(bit)从1改为0。但是传统的EEPROM容量因成本的缘故收到限制,绝少有超过有512K的。

Nor Flash容量相对小,成本高,基本没坏块,数据线和地址线分开,可以实现随机寻址,读取任何一个字节,擦除任然要按块来擦。NAND FLASH容量大,成本低,坏块经常出现,但可以标记坏块,使软件跳过,数据线和地址线复用,按块擦除按页读取。


05

SPI NAND flash接口介绍


SPI NAND接口

一般来说,SPI的接口就是6个IO,CS, CLK, SI, SO, WP, HOLD。

基本上接口跟Quad SPI FLASH是一样的。支持一根线,两根线和四根线的模式。

下面是MX35LF1GE4AB 这片SPI NAND 的verilog module的定义

寻址

SPI NAND最大存储单元是PLANE,一个PLANE有多个block,一个block有多个PAGE,PAGE是SPI NAND最小的存储单元。

这里以MX35LF1GE4AB为例,

一个PLANE有2048个block。

一个block有64个page

一个page中2111个byte。

RA是行地址,行地址的16:6位用来寻址Block,行地址的5:0位用来寻址PAGE。CA为列地址,一共12位,寻址空间是4096。但是SPI NAND中只有一部分是可用的,这里只有0到2112个byte是可用的,其余的地址空间都是out of bound。

常用型号

Feature寄存器

Feature寄存器每个芯片的定义都不一样,这里以MX35LFxGE4AB为例

MX35LFxGE4AB一共有三个feature寄存器。

A0 寄存器用做一些Block的写保护

B0寄存器是Secure OTP。QE表示使能Quad模式, ECC表示使能ECC。

C0寄存器是状态寄存器,一般用于查询以下

OIP: FLASH是否处于操作模式,1: Busy, 0: Ready

WEL: 是否写使能,1: write enable, 0: not write enable

E_FAIL: 擦除错误,0: Passed, 1: Failed

P_FAIL:编程错误, 0: Passed, 1: Failed

ECC_S0, ECC_S1,ECC状态,00b = 0 bit error,01b = 1 to 4 bits error corrected,10b = More than 4-bit error not corrected,11b = Reserved

时序


06

优劣势


- 优点:
- 相对较大的存储容量。
- 相对较低的成本。
- 缺点:
- 速度较慢,不适合高速读取。
- 对比SPI NOR Flash,寿命较短。


07


供应商A:江波龙

1、产品能力

(1)选型手册

(2)主推型号1:FS35ND02G-s3Y2QWFI000

对应的产品详情介绍

供应商B:博雅

1、产品能力

(1)选型手册

(2)主推型号1:BY25Q01GFS

对应的产品详情介绍

(3)主推型号2:BY25Q512FSEIG

对应的产品详情介绍

供应商C:华邦电子 1、产品能力

(1)选型手册

(2)主推型号1:W25N01GVZEIG

对应的产品详情介绍

说明

W25N01GV(1G位)串行SLC NAND闪存为具有空间、引脚和电源有限。w25nsipflash系列集成了流行的SPI接口和传统的大NAND非易失性存储空间。他们是理想的代码跟踪到内存,执行直接从双/四SPI(XIP)编码并存储语音、文本和数据。这个装置在一个单独的机器上工作2.7V至3.6V电源,电流消耗低至25mA,有效电流为10µA待命。全部W25N
W25N01GV 1G位内存阵列被组织成65536个可编程页,每个页2048字节。
整个页面可以使用2048字节内部缓冲区的数据一次编程。也可按64组擦除(128KB块擦除)。W25N01GV有1024个可擦除块。
W25N01GV支持标准串行外围接口(SPI)、双/四路I/O SPI:串行时钟,芯片选择、串行数据I/O0(DI)、I/O1(DO)、I/O2(/WP)和I/O3(/HOLD)。SPI时钟频率高达
支持104MHz,允许双I/O和416MHz的等效时钟速率为208MHz(104MHz x 2)(104MHz x 4)用于使用快速读取双/四路I/O指令时的四路I/O。
W25N01GV提供了一种新的连续读取模式,可以有效地访问整个系统具有单个读取命令的内存阵列。此功能非常适合代码阴影应用程序。
一个保持引脚,写保护引脚和可编程写保护,提供进一步的控制灵活性。此外,该设备支持JEDEC标准制造商和设备ID,一个2048字节的唯一ID页,一个2048字节的参数页和十个2048字节的OTP页。提供更好的NAND闪存内存可管理性,用户可配置的内部ECC,坏块管理也可以在W25N01GV。


特征
 新的W25N系列SpiFlash存储器
–W25N01GV:1G位/128M字节
–标准SPI:CLK,/CS,DI,DO,/WP,/保持
–双SPI:CLK,/CS,IO0,IO1,/WP,/Hold
–四SPI:CLK,/CS,IO0,IO1,IO2,IO3


 最高性能串行NAND闪存
–104MHz标准/双/四SPI时钟
–208/416MHz等效双/四SPI
–50MB/S连续数据传输速率
–快速编程/擦除性能
–超过100000次擦除/编程周期
–超过10年的数据保留期


 低功耗,宽温度范围
–单2.7至3.6V电源
–25mA有效,10µ备用电流
– -40°C到+85°C工作范围


 具有128KB块的灵活体系结构
–统一128K字节块擦除
–灵活的页面数据加载方法


 高级功能
–用于存储阵列的片上1位ECC
–ECC状态位表示ECC结果
–错误的块管理和LUT访问
–软件和硬件写保护
–电源锁定和OTP保护
–2KB唯一ID和2KB参数页
–10个2KB OTP页面


 节省空间的包装
–8垫WSON 8x6毫米
–16针SOIC 300密耳
–24球TFBGA 8x6毫米
–联系Winbond获取其他套餐选项



本文章源自奇迹物联开源的物联网应用知识库Cellular IoT Wiki,更多技术干货欢迎关注收藏Wiki:Cellular IoT Wiki 知识库(https://rckrv97mzx.feishu.cn/wiki/wikcnBvAC9WOkEYG5CLqGwm6PHf)  

文章评论0条评论)

登录后参与讨论
我要评论
0
0
关闭 站长推荐上一条 /2 下一条