OpenEdv-开源电子网

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

频繁擦写SPI FLASH是否要加入平衡擦写算法

[复制链接]

7

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
397
金钱
397
注册时间
2013-1-14
在线时间
75 小时
发表于 2014-7-16 10:12:39 | 显示全部楼层 |阅读模式
5金钱
RT,最近一个项目要用频繁使用到SPIFLASH(W25Q32),看了它的DATASHEET似乎没有在平衡擦写这块给出太多说明,所以问下大家,在频繁使用SPIFLASH时候都是如何处理的。

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

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2014-7-16 20:22:59 | 显示全部楼层
加入比较好,每次写数据的开始地址,是上一个数据的结束地址,空间不够的时候,再从头开始。这个实现起来应该不难。
站在巨人的肩膀上不断的前进。。。
回复

使用道具 举报

5

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2013-6-8
在线时间
2 小时
发表于 2014-7-19 16:02:41 | 显示全部楼层
我了解一个叫做电梯调度算法的,linux内核里用于nand flash读写的。

大概好像是这样:有一个队列,队列里缓存了这段时间里将要对块设备的读或者写操作,

比如此时队列是这样的: write, read, read, read, write, read, write, read,write...

当调度到块设备读写时,如果块设备处理程序直接就按照这个队列进行处理的话,那么就要频繁的切换调用读和写,如果使用电梯调度算法进行调整,那么队列就变成: write, write, write, wriite, ... read, read, read, read...  ,也就是把读操作都合并到一起,写操作也合并到一起,相同扇区的操作合并成一次读或者写,这样大大减少了读写的次数。

就好像爬电梯,上升的时候尽量把所有要上去的人都载上去,下来的时候尽可能的把所有要下来的人也给载下来。
即使爬到最高的山上,一次也只能脚踏实地地迈一步。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 16:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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