一文搞懂安全存储相关的闪存芯片
来源:朱老师IT充电站 发布时间:2024-04-24 分享至微信


一、W25N01G的常规描述


  • W25N01GV 有65536个page(页),每页有2048个字节(2KB)

  • 可以按照64页(64页为1个block)进行擦除,也就是128KB

  • 1个block (块) 有64个页,每个block的大小为:64页*2KB=128KB

  • W25N01GV有1024个block (块)

  • W25N01GV有1G个bit,1Gbit/8=256MB

  • 65536个page*2KB=131072KB 131,072/1024=128MB

  • 1024个block*128KB=131072KB 131,072/1024=128MB

  • W25N01GV是SPI Nand Flash,而好多开发板上挂载的flash是nor flash,比如W25Q64、W25Q128、W25Q256等都是SPI Nor Flash

W25N01GV闪存结构与寻址:

二、W25N10G的写保护

使用非易失性存储器的应用程序必须考虑噪声和其他可能损害数据完整性的不利系统条件的可能性。为了解决这个问题,W25N01GV提供了几种保护数据免受无意写入的方法。

  • 当VCC低于阈值时,设备复位

  • 写入启用/禁用指令,并在擦除或程序后自动写入禁用

  • 使用保护寄存器(SR-1)的软件和硬件(/WP引脚)写保护

  • 保护寄存器(SR-1)的写保护锁定,直到下次上电

  • 使用保护寄存器(SR-1)对存储器阵列进行一次性程序(OTP)写保护

  • 当WP-E设置为1时,使用/WP引脚进行硬件写保护

在上电或下电时,当VCC低于VCC(min)时,(参见“上电-下电时间”)要求”),所有操作都被禁用,没有指令被识别。在上电期间,后VCC电压超过 VCC(min)且tVSL已过,所有程序和擦除相关指令进一步禁用,延时为tPUW。这包括写启用,程序执行,块擦除和写状态寄存器指令。请注意,芯片选择引脚(/CS)必须在上电时跟踪VCC供电电平,直到达到VCC最小电平和tVSL延时,并且还必须在下电时跟踪VCC供电电平,以防止不利的命令序列。如果需要上拉电阻上/CS可以用来完成这一点。

上电后,设备自动被置于状态寄存器写入禁用状态使能闩锁(WEL)设置为0。写使能指令必须在程序执行块之前发出清除或坏块管理指令将被接受。在完成一个程序或擦除指令后,写使能锁存(WEL)自动清除为0的写禁用状态。

软件控制的写保护使用写状态寄存器指令和设置

状态寄存器保护(SRPO,SRP1)和块保护(TB,BP[3:0]位。这些设置允许将一部分或整个内存阵列配置为只读。与写保护(NP)引脚一起使用,可以在硬件控制下启用或禁用对状态寄存器的更改。看到保护注册部分以获取更多信息。

使用写状态寄存器指令,设置状态寄存器保护(SRPO,SRP1)和块保护(TB,BP[3:0]位,便于软件控制的写保护。这些设置允许将一部分或整个内存数组配置为只读。与Write Protect(/WP)管脚一起使用时,状态寄存器的改变可以在硬件控制下启用或禁用。有关更多信息,请参阅保护注册部分。

保护寄存器(SR-1)中的WP-E位用于启用硬件保护。当WP-E设置为1时,将系统中的/WP设置为低将阻塞对W25N01GV的任何写/程序/擦除命令设备将变为只读。当WP-E设置为1时,Quad SPI操作也被禁用。

三、保护、配置和状态寄存器

W25N01GV提供了三个状态寄存器:保护寄存器(SR-1)、配置寄存器(SR-2)和状态寄存器(SR-3)。每个寄存器分别通过读状态寄存器和写状态寄存器命令结合1字节寄存器地址进行访问。

读状态寄存器指令(05h/0Fh)可用于提供闪存阵列的可用性状态、设备是否写启用或禁用、写保护状态、读模式、保护寄存器/0TP区锁状态、擦除程序结果、ECC使用/状态。写状态寄存器指令可用于配置设备写保护特性、软件!硬件写保护、读模式、启用禁用ECC、保护寄存器/OTF区锁。对状态寄存器的写访问由非易失性状态寄存器保护位(SRP0、SRP1)的状态、写使能指令控制,当WP-e设置为1时,NP引脚控制。

01

保护寄存器/状态寄存器-1


  • SRP1:Status Register Protect-1 状态保护寄存器1

  • WP-E:/P Enable Bit /P管脚使能

  • TB: Top/Bottom Protect Bit 顶层、底层保护位

  • BP0、BP1、BP2、BP3:Block Protect Bits 块保护

  • SRP0:StatusRegisterProtect-0 状态寄存器保护

02

配置寄存器/状态寄存器2


  • BUF:Buffer Mode 此位非常重要,牵扯到flash类型和数据读写方式

  • ECC-E: Enable ECC 使能ECC

  • SR1-L:Status Register-1 Lock 状态寄存器1锁存,也就是7.1中描述的状态寄存器1

  • OTP-E:Enter OTP Mode 进入OTP模式

  • OTP-L:OTP Data Pages Lock OPT数据页锁存

03

状态寄存器-3(仅用于状态)


欢迎转发分享给需要的好友!


微信号:zls_it


扫描下方二维码添加充电站小助手微信,可以加入微信交流群


群内每天分享一些大厂的经典C语言、C++面试题以及知识点解析、技术话题分享、常见错误、易混淆的概念答疑等,等你来Get!!


START



[ 新闻来源:朱老师IT充电站,更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj]
存入云盘 收藏
举报
全部评论

暂无评论哦,快来评论一下吧!

查看更多
相关文章
热门搜索
高通进军数据中心市场 海光信息合并中科曙光 华为 台积电 中芯国际 联发科 高通 英特尔 芯片