4829|10

65

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

IDE硬盘PIO写数据,开始非常快,但之后每写入32K数据就必须等待10秒左右!为何??? [复制链接]

各位大侠:

WindowsXP环境下,PIO写磁盘,
第一次写数据大约1M内速度都还可以,到达约4.7M时,速度变慢,每写入32K数据要等10秒左右;
第二次写数据(同一位置开始写),上一次写过的范围内速度都很快,
如:上一次写了100M,本次写100M范围内都比较快,但一超过100M,每写入32K数据又要等10秒左右;
第二次写数据(同一位置开始写),上一次写过的范围内速度都很快,
如:上一次写了200M,本次写200M范围内都比较快,但一超过200M,每写入32K数据又要等10秒左右;

极度奇怪啊!做磁盘驱动的大侠,有碰过这种奇怪的问题吗???



                                                       谢谢!

最新回复

楼主,请问你是如何解决的,谢谢!   详情 回复 发表于 2010-2-21 21:59
点赞 关注

回复
举报

82

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
是不是跟你的算法有关系啊
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
怎么个PIO法?是自己outs吗?执行哪行代码慢?
 
 
 

回复

97

帖子

0

TA的资源

一粒金砂(初级)

4
 
主要是等硬盘状态慢的,代码、算法都没有速度障碍的!现在就是觉得硬盘反应不过来(估计是cache问题)!但不知道具体是什么原因,怎么解决!
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

5
 
你还是把相关代码贴上吧。另外,你读写硬盘的过程中系统有没有同时访问硬盘?
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

6
 
贴代码有困难,怕被告哦~~~只能从原理上探讨了。是同时和XP竞争磁盘操作的,我怀疑这32K的问题和某个cache有关,但手上没有更多资料了。
另外就是想知道提交cache的ATA指令。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

7
 
这问题应该不会与cache有关,如果是cache的问题你在第1次写100MB的时候就会出错。
如果的操作中途被中断且操作系统执行了访问硬盘的操作就会出问题,你至少应该设法确保每次操作中途不让系统访问硬盘,每次操作开始时应重新输出命令。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

8
 
有处理相关寄存器状态的,我写盘的时候,操作系统是没法访问磁盘的,估计是我每次写一个镞,写8次(32K)后,我允许了中断,操作系统迫不急待的插上一脚……它忙了10秒后又被我抢过来写……
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

9
 
操作系统不会占用10秒那么长的时间。你没有使用分页内存吧?
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

10
 
问题已解决,结帖。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 9 楼 rogeremail 的回复:
问题已解决,结帖。

楼主,请问你是如何解决的,谢谢!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表