panxz
驱动牛犊
驱动牛犊
  • 注册日期2002-04-04
  • 最后登录2007-04-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:3465回复:19

如何让移动磁盘产生多个分区?

楼主#
更多 发布于:2002-08-01 11:07
我现在在做一个移动磁盘产品. 用64M NAND flash,另外接一个128M Smartmedia card, 我目前只做到能用其中一个.要么只能用Flash,要么只能用SMC,  出现一个盘符, 我想如何将flash 和SMC 做成两个分区,同时出现两个盘符. 不知如何下手, 请高手指教!!!!
我的email: tonyp@yofun.com
qq: 165410505
icq: 144635767
希望能同各位交流!!

最新喜欢:

PhorittoPhorit...
wchuan
驱动牛犊
驱动牛犊
  • 注册日期2002-06-19
  • 最后登录2006-06-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-01 11:56
你能不能在FLASH里面加入象硬盘一样的分区信息?
panxz
驱动牛犊
驱动牛犊
  • 注册日期2002-04-04
  • 最后登录2007-04-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-01 12:10
我试过了,不行的.
wst100
驱动牛犊
驱动牛犊
  • 注册日期2001-06-23
  • 最后登录2010-11-02
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-08-01 22:30
MAX_LUN = 1
SimonCai
驱动牛犊
驱动牛犊
  • 注册日期2001-09-12
  • 最后登录2010-04-27
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-08-01 23:00
wst100大虾说得对.
Phoritto
驱动小牛
驱动小牛
  • 注册日期2002-06-18
  • 最后登录2002-11-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-08-02 08:31
各位大虾能不能说得详细一点!
panxz
驱动牛犊
驱动牛犊
  • 注册日期2002-04-04
  • 最后登录2007-04-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-08-02 08:59
请教:wst100 及SimonCai 两位, MAX_LUN是什么含义?  欢迎赐教.
dazzy
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-08-12
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望10点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-08-02 13:04
max_lun = 1是一个原因,另外如果你在2k下用2k的USBSTOR.SYS,即使你的磁盘用多个LUN(MAX_LUN > 1),你也只能的到一个分区(因为2K的USBSTOR.SYS不支持多LUN),如果想支持多LUN,你必须重写一个USBSTOR.SYS.
liuwan
驱动小牛
驱动小牛
  • 注册日期2001-10-15
  • 最后登录2004-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-08-07 11:16
各位大虾,请教一个问题,是不是第一个read 10命令过来时就是读取了根扇区的内容?
其CDB如下:
28 00 00 00 00 00 00 00 01 00
我分析了一下,0x28是操作码,代表read 10命令。紧接着的0x00是保留字节,下面的0x00000000是指读到的逻辑块的开始地址,然后下面的0x00字节又是保留字节,然后的0x0001是此次读命令应该传送的逻辑块的数目,这里为1。最后一个0X00是Control字节。
    我现在不清楚的是:RBC协议里所讲的逻辑块和逻辑扇区是一个概念吗?这里的一个逻辑块大小是不是就是一个逻辑扇区的大小,我听说硬盘的读写操作是以簇为基本单位进行的,比如64M的三星FLASH,32个扇区组成一个簇,那么这里读就应该是读了32个扇区的内容而不是一个扇区的内容,对吗?也就是说,这里说的一个逻辑快,其实是指一个簇。到底哪种想法是正确的?恳请大侠们赐教。如能解答,一定加分。
菜菜
panxz
驱动牛犊
驱动牛犊
  • 注册日期2002-04-04
  • 最后登录2007-04-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-08-07 11:36
显然是sector.
liuwan
驱动小牛
驱动小牛
  • 注册日期2001-10-15
  • 最后登录2004-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-08-07 14:45
panxz兄,请去我的帖子“60分贴,请教关于read 10命令的处理过程”中,好给你分数。另外你能不能告诉我,TAT表中LBA模式的读写难道不是以簇为基本单位吗?
菜菜
edwin
驱动牛犊
驱动牛犊
  • 注册日期2002-03-21
  • 最后登录2003-02-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-08-07 17:56
不是以ZONE 为单位的,是以BLOCK 为单位!1 ZONE =1024 BLOCK
panxz
驱动牛犊
驱动牛犊
  • 注册日期2002-04-04
  • 最后登录2007-04-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-08-09 10:13
请教dazzy:
重写usbstor.sys 不大可能,何况在win2000/XP下本来是不需driver的,如果重写先不说难度,即使能改好,也失去了意思.
我的意思是能否直接通过修改firmware实现?
在WinMe下我已可以不用driver出现了多个盘符,为什么win2000/XP 不行?
欢迎高手指教!!!!
tonyp@yofun.com
dazzy
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-08-12
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望10点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-08-09 13:08
请教dazzy:
重写usbstor.sys 不大可能,何况在win2000/XP下本来是不需driver的,如果重写先不说难度,即使能改好,也失去了意思.
我的意思是能否直接通过修改firmware实现?
在WinMe下我已可以不用driver出现了多个盘符,为什么win2000/XP 不行?
欢迎高手指教!!!!
tonyp@yofun.com
 


winme 支持多lun,win xp也支持。就win 2k不支持,因为driver根据(for bulk only)maxlun来建立maxlun个(调用IoCreateDevice)storage deviceobject(当然必须有SerialNumber String)。出现盘符是驱动程序调用IoCreateDevice()(其DEVICE_TYPE 为FILE_DEVICE_MASS_STORAGE).重写usbstor.sys并非不可能。
lpipi
驱动牛犊
驱动牛犊
  • 注册日期2001-07-10
  • 最后登录2003-02-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-08-09 14:04
对不起, 我的WinXP 确实不行, win2000我是未测试过. 是否是我的firmware 有问题.
wchuan
驱动牛犊
驱动牛犊
  • 注册日期2002-06-19
  • 最后登录2006-06-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-08-09 15:38
win xp USB盘不能识别分区信息,而只识别一个盘.
panxz
驱动牛犊
驱动牛犊
  • 注册日期2002-04-04
  • 最后登录2007-04-12
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-08-12 23:10
如果依上面所说, win2000的USB移动磁盘不能实现多个分区, 那外面卖的USB硬盘(5--10G)难道只能有一个分区吗? 只有改写usbstor.sys 才行吗? 我很是怀疑????
liuwan
驱动小牛
驱动小牛
  • 注册日期2001-10-15
  • 最后登录2004-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-08-13 08:02
改写是可以的,我见过这样的U盘了。
菜菜
joyup
驱动牛犊
驱动牛犊
  • 注册日期2002-03-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-08-13 15:28
win2000 sp3支持Multiple LUN

另外,请教一下在winme上你是如何实现多盘符的呢?
liuwan
驱动小牛
驱动小牛
  • 注册日期2001-10-15
  • 最后登录2004-04-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-08-13 16:05
win me自带的驱动和2000自带的驱动是一样的吧,我猜想的。
菜菜
游客

返回顶部