daor
驱动牛犊
驱动牛犊
  • 注册日期2001-05-16
  • 最后登录2018-04-15
  • 粉丝0
  • 关注0
  • 积分-25分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2017回复:11

做u盘的一些问题(坏块管理等)

楼主#
更多 发布于:2002-11-27 15:48
    在win2k环境下,做u盘时,pc端的驱动程序和设备端的
固件程序需要做坏块管理吗?
    另外,ddk中关于Storage Drivers的资料那么多,我该看哪些部分?用DriverStudio好不好摆平(我用这个比较习惯)?
    请知情大侠给我指点指点,感激不尽!
    
daor
驱动牛犊
驱动牛犊
  • 注册日期2001-05-16
  • 最后登录2018-04-15
  • 粉丝0
  • 关注0
  • 积分-25分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-27 16:38
    如果由固件来做坏块管理的话,那么flash的地址影射算法
就会有点复杂,而且读写速度也受影响。
    我们的猜测是,win2k的某一层系统已经有了坏块管理功能,
当发现坏块时,windows会修改fat表上的文件链接,使它避开坏块,
以后windows对u盘进行访问时,就会发出正确的逻辑地址,而不会
对坏块进行读写操作。
    不知道我的猜测有无可能?
    谢谢!
daor
驱动牛犊
驱动牛犊
  • 注册日期2001-05-16
  • 最后登录2018-04-15
  • 粉丝0
  • 关注0
  • 积分-25分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-27 17:46
 
刚才写了许多,但网断了,又得重写一次

我的U盘是没有坏块管理的,因为Fat读写是Windwos自己的事,因此,如果你的Flash中有坏块,你应该在格式化的时候在对应的文件分配表项中标出来(即手工将Fat表中的对应项标为已坏),这些Windows在分配空间的时候就不会分配,

在实际存取文件的时候,PC机会给出数据,并告诉写到哪里,你只要保证可以成功写入就可以了.

我所指的格式化是指你的固件对Flash进行格式化,Windows系统的格式化我不知道为什么总是讲我的U盘格式化不成功.
--------------------------------------------------------------------------------


    你说你能把坏块信息写到fat中去?fat好象没有存储这种信息的地方啊!
    
daor
驱动牛犊
驱动牛犊
  • 注册日期2001-05-16
  • 最后登录2018-04-15
  • 粉丝0
  • 关注0
  • 积分-25分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-27 22:05
 
如果用FLASH则firmware部分是需要做坏块管理的,因为FLASH上如果有一个坏块,则坏块所在的整个物理BLOCK必须登记为不可使用,这部分工作需要由FIRMWARE来完成



   既然坏块管理需要固件自己来完成,那么固件中的地址影射情况对于win2k来说,应该是透明的才对,那固件如何记录坏块(是只标记该块为不可用,或者是标记整个物理block为不可用),都可以的吧?只要保证逻辑--》物理地址转换是正确的。
    不知道我的理解对不对?
    
daor
驱动牛犊
驱动牛犊
  • 注册日期2001-05-16
  • 最后登录2018-04-15
  • 粉丝0
  • 关注0
  • 积分-25分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-11-28 14:27
    明白了,还是要自己来管理。不过我看肯定不是通过修改fat来
管理的,fat没有有效的表项,再说,通过固件自己来访问fat表,
还是有点麻烦,至少是容易出错。
    另外,还是麻烦大家帮我回答我的第二个问题:
    win2k ddk里关于存储驱动的资料那么多,我要速成的话应该
怎么看?时间太紧张了,而且我显示器不好,看起来很痛苦的呵呵。望大侠们出手,谢谢!
    今天放分!
游客

返回顶部