登录
注册
一键加入QQ群
友善之臂官方网站
首 页
联系我们
淘宝店铺
维基教程
固件下载
资料汇总
搜索帖子!
NanoPC 系列:
NanoPC-T2
NanoPC-T3 Plus
NanoPC-T4
NanoPC-T6
NanoPC-T6 Plus
NanoPi 系列:
NanoPi-NEO
NEO Core
NEO Air
M1 Plus
Duo2
NEO3
NEO4
M4B
M5
M6
M6V2
核心板:
Smart4418
Core4418
Smart6818
Core6818
SOM-RK3399V2
CM3588
CM3588 Plus
迷你R系列:
NanoPi-R1
R1S
R2S
R2S Plus
Zero2
R3S
R76S
R4S
R5S
R5C
R6C
R6S
热门版块:
友善之臂最新动态
开发板实战手册及教程
友善之臂官方客服中心
ROM发布区
NanoPi 玩家交流区
我的论坛我的贴
默认风格
用户中心首页
编辑个人资料
查看个人资料
好友列表
用户权限查看
积分管理
积分转换
特殊组购买
收藏夹
我的主题
基本统计信息
到访IP统计
管理团队
管理统计
在线统计
会员排行
版块排行
帖子排行
个人首页
我的收藏
好友近况
Linux技术交流区
文件存储问题请教
友友粉丝快线
开发板销售中心
嵌入式最新资讯
友善之臂最新动态
友善之臂官方客服中心
开发板实战手册及教程
应用方案和定制开发
NanoPi 交流与讨论
NanoPi 玩家交流区
ROM发布区
硬软DIY及开发
嵌入式交流与讨论
Android技术交流区
Linux技术交流区
U-boot技术交流区
WinCE技术交流区
Ubuntu技术交流区
裸机程序和微型OS
OpenWRT讨论区
开发板硬件讨论区
相关资料下载及使用技巧
站点服务
二手交易区
我的论坛我的贴
站务管理与公告
上一主题
下一主题
新 帖
主题 : 文件存储问题请教
复制链接
|
浏览器收藏
|
打印
wanght
hehe,学习学习~
级别: 新手上路
作者资料
发送短消息
加为好友
UID:
18363
精华:
0
发帖:
5
金钱:
25 两
威望:
5 点
综合积分:
10 分
注册时间:
2010-04-08
最后登录:
2012-04-22
楼主
发表于: 2010-04-11 22:08
只看楼主
|
小
中
大
文件存储问题请教
在NAND里存储文件,需要经常修改,理论上是会导致nand的物理坏块的,文件读写过程中如果存储器产生坏块了,是否会导致文件操作失败?还是系统在擦写过程中识别坏块后自动能把原该坏块内容复制到其他的块中?另外在应用程序层面能否准确定位一个文件的具体物理存储位置,如何定位?谢谢,各位大侠~
顶端
回复
引用
分享
kasim
*無鈳取玳
级别: 论坛版主
作者资料
发送短消息
加为好友
QQ联系
UID:
27
精华:
12
发帖:
5398
金钱:
40120 两
威望:
17929 点
综合积分:
11036 分
注册时间:
2008-01-16
最后登录:
2014-11-22
1楼
发表于: 2010-04-11 22:19
只看该作者
|
小
中
大
文件读写过程中如果存储器产生坏块了,是否会导致文件操作失败?还是系统在擦写过程中识别坏块后自动能把原该坏块内容复制到其他的块中?
如果你用的是针对NAND Flash的文件系统,比如jffs2, yaffs/yaffs2或者更新的ubifs,通常不用担心坏块的问题,文件系统会帮你搞定的。
另外在应用程序层面能否准确定位一个文件的具体物理存储位置,如何定位?
不能,因为文件系统会隐藏这些特性。除非应用程序绕过文件系统,直接读写block设备。但这在NAND Flash上绝对是个糟糕的做法,因为这样应用程序必须自己处理坏块等等一系列问题。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
顶端
回复
引用
分享
wanght
hehe,学习学习~
级别: 新手上路
作者资料
发送短消息
加为好友
UID:
18363
精华:
0
发帖:
5
金钱:
25 两
威望:
5 点
综合积分:
10 分
注册时间:
2010-04-08
最后登录:
2012-04-22
2楼
发表于: 2010-04-11 22:24
只看该作者
|
小
中
大
另外系统启动时提示的“Bad eraseblock xxx at xxxxxxx”和“block xxx is bad”有啥区别?麻烦详细解释一下??
顶端
回复
引用
分享
kasim
*無鈳取玳
级别: 论坛版主
作者资料
发送短消息
加为好友
QQ联系
UID:
27
精华:
12
发帖:
5398
金钱:
40120 两
威望:
17929 点
综合积分:
11036 分
注册时间:
2008-01-16
最后登录:
2014-11-22
3楼
发表于: 2010-04-11 22:32
只看该作者
|
小
中
大
回 2楼(wanght) 的帖子
意思是一样,都表明某个block被标识为bad block了
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
顶端
回复
引用
分享
wanght
hehe,学习学习~
级别: 新手上路
作者资料
发送短消息
加为好友
UID:
18363
精华:
0
发帖:
5
金钱:
25 两
威望:
5 点
综合积分:
10 分
注册时间:
2010-04-08
最后登录:
2012-04-22
4楼
发表于: 2010-04-11 22:33
只看该作者
|
小
中
大
谢谢版主,使用的是yaffs2。还有,为了验证读写文件坏块的问题,我写了了个测试文件,反复打开,修改然后关闭并fflush,已经数千万次了,不知为何从系统启动时打印的信息看并没有增加新的坏块?难道该文件所在nand的block真的没有损坏吗?
顶端
回复
引用
分享
kasim
*無鈳取玳
级别: 论坛版主
作者资料
发送短消息
加为好友
QQ联系
UID:
27
精华:
12
发帖:
5398
金钱:
40120 两
威望:
17929 点
综合积分:
11036 分
注册时间:
2008-01-16
最后登录:
2014-11-22
5楼
发表于: 2010-04-11 22:41
只看该作者
|
小
中
大
回 4楼(wanght) 的帖子
yaffs2有wear leveling功能,可以避免某一block被过度存取而损坏。(参考
http://esslab.tw/wiki/index.php/YAFFS
)
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
顶端
回复
引用
分享
26672624
这个阶段正是我事业的上升期,我怎么能走得开呢?
级别: 精灵王
作者资料
发送短消息
加为好友
UID:
3197
精华:
3
发帖:
770
金钱:
6995 两
威望:
5398 点
综合积分:
1600 分
注册时间:
2008-12-30
最后登录:
2010-12-31
6楼
发表于: 2010-04-11 23:36
只看该作者
|
小
中
大
通俗的说就是yaffs2对flash进行均衡读写,你反复写入一个文件,每次的物理存储位置都是不同的。
顶端
回复
引用
分享
上一主题
下一主题
Linux技术交流区
http://121.40.142.80
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问