OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4722|回复: 14

关于NAND Flash随机读写的问题

[复制链接]

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2017-7-9
在线时间
19 小时
发表于 2019-5-21 13:04:26 | 显示全部楼层 |阅读模式
1金钱
我想请教一下NAND FLash随机读写问题,正点原子设计的FafFS+FTL对NAND Flash读写时是以扇区512字节为单位的,页面大小是4K,但是FTL层的底层驱动读写时没有采用随机读写,而是直接给出页内地址进行读写的。NAND Flash不是只能以页为单位进行读写吗?这样难道不需要随机读写吗?驱动层中只有对空闲区的ECC校验值的读写是采用随机读写的。
NAND Flash规定只能按页读写,那给出的五个周期中的页内地址有什么用,如果不用随机读写,这个是不是只能从页的最开头读写了,页地址也就没用了?但是我实验,不使用随机读写命令,通过改变页内地址,也是可以从任意位置读写数据的啊!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2017-7-9
在线时间
19 小时
 楼主| 发表于 2019-5-21 14:18:56 | 显示全部楼层
回复

使用道具 举报

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2017-7-9
在线时间
19 小时
 楼主| 发表于 2019-5-21 14:39:49 | 显示全部楼层
@正点原子  帮忙解答一下
回复

使用道具 举报

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2017-7-9
在线时间
19 小时
 楼主| 发表于 2019-5-21 15:35:07 | 显示全部楼层
@zuozhongkai 帮忙看一下,谢谢
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-5-22 02:40:37 | 显示全部楼层
你怎么定义随机读写? NAND只要给正确的地址就可以开始操作了。  FATFS访问的时候,以扇区寻址,没毛病。
回复

使用道具 举报

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2017-7-9
在线时间
19 小时
 楼主| 发表于 2019-5-22 09:46:21 | 显示全部楼层
正点原子 发表于 2019-5-22 02:40
你怎么定义随机读写? NAND只要给正确的地址就可以开始操作了。  FATFS访问的时候,以扇区寻址,没毛病。

原子哥:
1、NAND Flash只要给出具体的页内地址就可以在页内任意位置读写吗?这样读写属于随机读写吗,需要使用随机读写命令来操作实现还是进行普通读写命令就可以?
2、我看正点原子FTL代码数据区存储时没有使用随机读写命令(FTL读写以扇区为单位,所以每次写入或读出肯定得需要页内寻址,而不是整页读写,这样算不算随机读写,算的话为什么不用随机读写命令。)
3、为什么仅仅在读写spare区的ECC校验码时使用随机读写。谢谢!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-5-23 02:56:50 | 显示全部楼层
fskofcpu 发表于 2019-5-22 09:46
原子哥:
1、NAND Flash只要给出具体的页内地址就可以在页内任意位置读写吗?这样读写属于随机读写吗, ...

从你给的地址读,但是可以连续输出数据(地址自增)。你要读其他地址,重新给。
实在搞不明白,你自己写一个吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2017-7-9
在线时间
19 小时
 楼主| 发表于 2019-5-23 10:28:54 | 显示全部楼层
本帖最后由 fskofcpu 于 2019-5-23 10:47 编辑
正点原子 发表于 2019-5-23 02:56
从你给的地址读,但是可以连续输出数据(地址自增)。你要读其他地址,重新给。
实在搞不明白,你自己写 ...

原子哥,我明白你说的随机读取的意思,我的意思是正点原子的FTL层的底层驱动这样随机读写时为什么没有用随机读写命令?

读

写
回复

使用道具 举报

233

主题

957

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1790
金钱
1790
注册时间
2011-10-9
在线时间
222 小时
发表于 2019-5-23 11:33:47 | 显示全部楼层
...page_r  page_w  这2个函数和 FTL 没有关系   这2个函数就是读写指定地址  而已.....................  随机读写 是FTL层的事  不是这2个最底层函数的事,FTL让读写那个地址就读写那个地址。
回复

使用道具 举报

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2017-7-9
在线时间
19 小时
 楼主| 发表于 2019-5-23 19:39:16 | 显示全部楼层
simms01 发表于 2019-5-23 11:33
...page_r  page_w  这2个函数和 FTL 没有关系   这2个函数就是读写指定地址  而已.....................   ...

那这两个底层函数不是就与NAND Flash的随机读写有关吗?NAND Flash除了整页写和整页读的话对任意地址的读、写不应该用随机读写命令吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-5-24 02:34:59 | 显示全部楼层
fskofcpu 发表于 2019-5-23 10:28
原子哥,我明白你说的随机读取的意思,我的意思是正点原子的FTL层的底层驱动这样随机读写时为什么没有用 ...

随机读命令是哪个?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2017-7-9
在线时间
19 小时
 楼主| 发表于 2019-5-24 09:20:04 | 显示全部楼层
本帖最后由 fskofcpu 于 2019-5-24 09:22 编辑
正点原子 发表于 2019-5-24 02:34
随机读命令是哪个?

随机读命令根据NAND Flash手册上的时序必须在读命令后使用
123.png
123.png
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-5-25 03:20:46 | 显示全部楼层
fskofcpu 发表于 2019-5-24 09:20
随机读命令根据NAND Flash手册上的时序必须在读命令后使用

按你的需求改试试吧
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

12

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-12-31
在线时间
8 小时
发表于 2020-11-27 14:49:23 | 显示全部楼层
fskofcpu 发表于 2019-5-24 09:20
随机读命令根据NAND Flash手册上的时序必须在读命令后使用

兄弟,你给出的Random data output in a page时序图上已经说明一切了,前面的0x00,0x30指令组合代表从给定的页内起始地址开始连续读N个字节,后面如果接着想要读其他任意地址则必须要发送0x05,0xe0指令组合才能读
回复

使用道具 举报

9

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
479
金钱
479
注册时间
2019-12-6
在线时间
149 小时
发表于 2023-12-2 18:23:03 | 显示全部楼层
前面的整页写命令操作完成后已经确定了页地址了,后面的随机写命令,只需要给列地址,也就页内地址就行了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 17:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表