搜索
bottom↓
回复: 35

fatfs 如何在spi flash上实现擦写均衡

[复制链接]

出0入0汤圆

发表于 2019-1-18 09:39:12 | 显示全部楼层 |阅读模式
fatfs 如何在spi flash上实现擦写均衡?  看资料 fatfs 不支持读写均衡,主要是fat表不停擦写会有问题

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2019-1-18 09:52:46 | 显示全部楼层
用jffs2吧

出0入25汤圆

发表于 2019-1-18 10:49:21 | 显示全部楼层
最近坛子里推荐的那个 littleFs 也不错哦~~

出0入0汤圆

发表于 2019-1-18 12:43:36 | 显示全部楼层
FatFS 扇区 = 512B
Flash扇区  = 4096B
循环使用 4096 / 512 = 8次

出0入0汤圆

发表于 2019-1-18 13:29:36 来自手机 | 显示全部楼层
GitHub上有个开源项目spiffs,转为SPI flash设计的文件系统

出0入0汤圆

发表于 2019-1-18 13:31:20 来自手机 | 显示全部楼层
GitHub上有个开源项目spiffs,转为SPI flash设计的文件系统

出0入0汤圆

 楼主| 发表于 2019-1-18 19:24:19 | 显示全部楼层

{:mad:感谢答复,我没有说全。。。。。。。因为要实现U盘读取内容

出0入0汤圆

 楼主| 发表于 2019-1-18 19:26:30 | 显示全部楼层
fnems 发表于 2019-1-18 13:31
GitHub上有个开源项目spiffs,转为SPI flash设计的文件系统

感谢答复,我没有说全。。。。。。。因为要实现U盘读取内容,考虑嵌入式文件系统肯定是最好的,但是为了兼容FAT啊。。只怪自己懂的少,仓皇快工。

出0入0汤圆

 楼主| 发表于 2019-1-18 19:28:44 | 显示全部楼层
yy625 发表于 2019-1-18 12:43
FatFS 扇区 = 512B
Flash扇区  = 4096B
循环使用 4096 / 512 = 8次

也就是说没擦写fatfs一个扇区,需要一块擦掉其它七个扇区呗,加速game over速度。

出0入0汤圆

发表于 2019-1-18 20:23:10 | 显示全部楼层
yirenonege 发表于 2019-1-18 19:26
感谢答复,我没有说全。。。。。。。因为要实现U盘读取内容,考虑嵌入式文件系统肯定是最好的,但是为了 ...

现成的你只能用keil 自带的 RL-FlashFS   

出0入362汤圆

发表于 2019-1-18 20:57:18 | 显示全部楼层
不要求性能的话, 有个笨办法, 底层用spiffs/littlefs之类, 上面建立一个文件,然后把对fatfs的操作都映射成对这个文件的操作。
速度肯定慢多了, 但应该能工作。

出130入129汤圆

发表于 2019-1-18 21:34:22 | 显示全部楼层
not_at_all 发表于 2019-1-18 20:23
现成的你只能用keil 自带的 RL-FlashFS

要在spi flash上支持fat格式,看这图,也是没现成的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2019-1-19 08:42:14 | 显示全部楼层
68336016 发表于 2019-1-18 21:34
要在spi flash上支持fat格式,看这图,也是没现成的

你没有理解截图的意思。    如果不会搞底层,只能网上找别人移植好的程序了。  

出0入8汤圆

发表于 2019-1-19 09:45:02 | 显示全部楼层
本帖最后由 kebaojun305 于 2019-1-19 09:48 编辑

https://github.com/nickfox-taterli/nor_flash_wl   这里有个 磨损均衡得中间层。
好用的NOR Flash磨损平衡算法
因为SPI Flash也是有寿命的,所以要磨损平衡.一般Flash自己擦改写,总在一个位置嘛,容易死,不总在又不知道怎么写算法,我现在写了一个简单的算法,有个算法例子和核心文件.本系统只需60Byte+Buffer Size的RAM,另外3级优化下只需要1KB的Flash,NOR的冗余和数据占用根据Flash不同会有所改变.

需要移植以下内容.

SPI Flash的写(Multi-Byte),读(Multi-Byte),擦(SubSector).
Malloc的实现,我用FreeRTOS了.
CRC的实现,一般单片机有硬件支持.
使用磨损平衡中间层的好处是什么?

基于SPIFFS能实现磨损平衡,但是不支持Windows/Linux/Mac操作系统读写.也就是仅能MCU自己处理.
一般系统中基于FATFS不能实现磨损平衡,如果添加这个磨损平衡中间层,就能实现了.
SPI FLASH典型100K寿命,但是EEPROM典型1KK寿命,使用磨损平衡后,如果储存的数据只有1MByte,那么16Mbyte的SPI FLASH也能达到1KK寿命以上.而1MByte的EEPROM远比16MByte的SPI Flash贵.
SPI FLASH + 磨损平衡读写速度优于EEPROM.

出0入8汤圆

发表于 2019-1-19 09:58:54 | 显示全部楼层
kebaojun305 发表于 2019-1-19 09:45
https://github.com/nickfox-taterli/nor_flash_wl   这里有个 磨损均衡得中间层。
好用的NOR Flash磨损平 ...

楼主的问题点,解决方案就是要在  FATFS 和 SPI FLASH 之间额外加入一个磨损中间层。

这个现成的,看起来不错,多谢分享!

出0入0汤圆

 楼主| 发表于 2019-1-19 10:13:20 | 显示全部楼层
not_at_all 发表于 2019-1-19 08:42
你没有理解截图的意思。    如果不会搞底层,只能网上找别人移植好的程序了。   ...

不支持的 rl-flashfs 不支持的

出0入0汤圆

 楼主| 发表于 2019-1-19 10:14:02 | 显示全部楼层
68336016 发表于 2019-1-18 21:34
要在spi flash上支持fat格式,看这图,也是没现成的

SD卡带不带均衡,或者坏块管理

出0入8汤圆

发表于 2019-1-19 10:16:33 | 显示全部楼层
yirenonege 发表于 2019-1-19 10:14
SD卡带不带均衡,或者坏块管理

SD 卡自带了,你直管任性用就是了。

出0入0汤圆

 楼主| 发表于 2019-1-19 10:28:43 | 显示全部楼层
security 发表于 2019-1-19 10:16
SD 卡自带了,你直管任性用就是了。

有这方面资料么,心里不太踏实,我百度半天都很少有说的。。。另外有便宜好用的SD卡推荐么,客户提要求只需要10M存储空间,所以选了spi flash。最开始开始觉得芯片更可靠,没想到弄到最后才忽略这个Fat表这个问题。

出0入8汤圆

发表于 2019-1-19 10:33:22 | 显示全部楼层
yirenonege 发表于 2019-1-19 10:28
有这方面资料么,心里不太踏实,我百度半天都很少有说的。。。另外有便宜好用的SD卡推荐么,客 ...

SD  TF  EMMC  都是自带坏块管理和擦写均衡得。

出0入8汤圆

发表于 2019-1-19 10:37:40 | 显示全部楼层
yirenonege 发表于 2019-1-19 10:28
有这方面资料么,心里不太踏实,我百度半天都很少有说的。。。另外有便宜好用的SD卡推荐么,客 ...

但是 SD  和TF的一个问题得注意 就是卡座得质量问题。

出0入8汤圆

发表于 2019-1-19 10:39:31 | 显示全部楼层
http://www.xtxtech.com/products.asp?sid=62  可以看看这个  1Gbit的  不到10元。  小批量价格。

出0入0汤圆

 楼主| 发表于 2019-1-19 10:45:02 | 显示全部楼层
kebaojun305 发表于 2019-1-19 10:33
SD  TF  EMMC  都是自带坏块管理和擦写均衡得。

谢谢,有便宜好用的SD卡推荐么,户外环境,要较为可靠的。容量 10M以上

出0入0汤圆

 楼主| 发表于 2019-1-19 10:45:34 | 显示全部楼层
kebaojun305 发表于 2019-1-19 10:39
http://www.xtxtech.com/products.asp?sid=62  可以看看这个  1Gbit的  不到10元。  小批量价格。 ...

刚看到,好的谢谢 我研究下

出130入129汤圆

发表于 2019-1-19 10:52:15 | 显示全部楼层
楼主还是想继续用FATFS系统,SPI 接口操作SD卡?
以前我用的SPI接口,FATFS,操作TF卡,总是几次就将TF卡彻底报废了,后来才改到SPI FLASH上。
如果楼主验证了这样操作安全可靠,记得到时来帖子更新下。

出0入0汤圆

 楼主| 发表于 2019-1-19 10:56:16 | 显示全部楼层
68336016 发表于 2019-1-19 10:52
楼主还是想继续用FATFS系统,SPI 接口操作SD卡?
以前我用的SPI接口,FATFS,操作TF卡,总是几次就将TF卡彻 ...

你怎么解决擦写均衡的问题,我就是看你的帖子,才选的SPI flash芯片 。。。说到底还是你经验更多。

出0入0汤圆

 楼主| 发表于 2019-1-19 10:57:23 | 显示全部楼层
几次就挂,是不是环境干扰? 室内条件也很容易挂么

出130入129汤圆

发表于 2019-1-19 11:10:26 | 显示全部楼层
yirenonege 发表于 2019-1-19 10:56
你怎么解决擦写均衡的问题,我就是看你的帖子,才选的SPI flash芯片 。。。说到底还是你经验更多 ...

没经验啊
我就几年前只用过FATFS做过一个产品,而且是测量装置,不测量平时不需要频繁记录数据。
所以当时直接就这么用了,没考虑擦写均衡,不过我这设备客户少,只有100来台,运气好现在还没问题而已。

出0入8汤圆

发表于 2019-1-19 11:35:00 | 显示全部楼层
yirenonege 发表于 2019-1-19 10:28
有这方面资料么,心里不太踏实,我百度半天都很少有说的。。。另外有便宜好用的SD卡推荐么,客 ...

可以去这里看看https://media.kingston.com/pdfs/MKF_283.1_Flash_Memory_Guide_CN.pdf
搜索关键字:磨损均衡。

这些应该是 SD 卡的基本素养吧,不提供的话,应该不好卖吧。

出100入113汤圆

发表于 2019-1-19 12:20:41 | 显示全部楼层
底层驱动自己想想办法  Fatfs 也只关注你的几个读写函数。

出0入0汤圆

发表于 2019-1-19 13:32:59 | 显示全部楼层
yirenonege 发表于 2019-1-18 19:28
也就是说没擦写fatfs一个扇区,需要一块擦掉其它七个扇区呗,加速game over速度。 ...

写8次才擦除1次,寿命延长8倍!
难道我的语文又要体育老师来背锅了!

出0入0汤圆

 楼主| 发表于 2019-1-19 16:48:17 | 显示全部楼层
本帖最后由 yirenonege 于 2019-1-19 16:58 编辑
yy625 发表于 2019-1-19 13:32
写8次才擦除1次,寿命延长8倍!
难道我的语文又要体育老师来背锅了!


底层没细研究过,不好意思

出0入0汤圆

发表于 2019-1-19 17:18:17 | 显示全部楼层
这个要看你SPI Flash的类型了,如果NOR型的,当前支持的littleFS, FlashFS等都是采用的嵌入式文件系统,均不兼容FAT。

如果是NAND型的,使用这个帖子的方案即可,FlashFS支持FAT和嵌入式文件系统两种方式,之前一位网友使用512MB的 SPI NAND型号GD5F4GQ4xBxIG测试成功

【原创】开源基于RL-USB和FlashFS的完整NAND方案,稳定可量产
https://www.amobbs.com/thread-5693540-1-1.html
(出处: amoBBS 阿莫电子论坛)

出0入0汤圆

发表于 2019-1-19 17:49:27 | 显示全部楼层
楼主是不是考虑用两套文件系统

出0入0汤圆

发表于 2020-9-14 22:39:19 来自手机 | 显示全部楼层
向大老学习
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-19 22:56

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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