FLASH简介:

按内部存储介质来分,可以将flash分成nor flash和nand flash。
按访问方式来分,可以将flash分成串行(serial)flash和并行(parallel)flash。
有一些特性是对所有类型的flash都有效的,比如,都有擦除(erase)和写入(program)步骤。擦除操作可以让bit由0变成1,而写操作只能让bit由1变成0。即,想写数据到flash,一般都要先擦除再写入。
另外,flash一般都有page,block(sector)这样的层次结构。

最先出现的是nor flash,它是并行的。它有大量的地址线和数据线,可以像ddr那样直接挂在总线上被cpu访问,设备上电时,可以直接在flash上执行程序。由于这种flash信号线较多,各个厂家的产品不兼容,因此制定了CFI接口来进行统一。
并行nor flash一般可以随机读取(random read)。
并行nor flash一般可以按字节写入。
并行nor flash一般可以按block擦除。

随后出现了串行nor flash,一般是spi接口的,因此也叫spi nor flash。它对外提供的就是标准spi的那些di,do信号了,并不能直接挂在总线上被cpu访问。但这种flash一般也会提供一个xip(execute in place)功能。想要用这个功能,cpu也要有相应的适配(比如有一个额外的模块,将spi信号和AHB总线信号进行相互转化)。
串行nor flash一般可以按字节读取。
串行nor flash一般是按page写入(注意partial page program)。
串行nor flash一般可以按block擦除。

另外一大类是nand flash。
常规的nand flash是并行的(比如由IO0~7用于地址和数据的输入和输出)。串行的nand flash一般也是用spi接口,即spi nand flash(应该是在flash芯片内部做了串并转换?)。
nand flash(包括spi nand flash)一般都是按页读写,按block擦除。

注意点1,并行nor flash一般可以按字节写入,一般理解,按字节写入和随机写入应该也没有什么差别了。但由于flash写(program)操作只能让bit由1变成0,因此这样的随机写入并没有意义。

注意点2,串行nor flash(spi nor flash)一般是按page写入,但它一般也支持部分页写入(partial page program)。发送page写入命令时,指定的page地址可以不是page对齐的,而是指定到page内部,只要写入数据的长度不超过该page的末尾即可(当然写操作之前也要有擦除操作)。

存储器Flash页、扇区、块的区别_strongerHuang的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值