what237
驱动牛犊
驱动牛犊
  • 注册日期2010-06-29
  • 最后登录2012-11-01
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3075回复:7

如何从PCI设备直接读写硬盘?

楼主#
更多 发布于:2010-06-29 19:57
如何从PCI设备直接读写硬盘?

我的设备是这样工作的:PCI设备DMA到Memory,然后在CPU控制下
将内存块数据写入硬盘。这种方式已经实现了,但是工作效率不高,
由于该设备应用场合是高速连续大数据量传输,我希望将工作方式改到
PCI设备直接写入硬盘的方式。
即:不经过CPU主控,不经过Memory倒数据,由PCI设备直接写数据到
硬盘,请问
1。采用这种改进方式后PCI传输效率会提高多少?Pci利用率可否达到60%以上

2。PCI设备如何寻址到硬盘。
xp4105
论坛版主
论坛版主
  • 注册日期2006-04-02
  • 最后登录2014-03-29
  • 粉丝1
  • 关注0
  • 积分905分
  • 威望570点
  • 贡献值1点
  • 好评度162点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2010-07-01 22:59
一般来说
读写硬盘都是在FS的调控下进行
如果你非要直接读写
也可以实现
但是要付出很大风险
这方面的资料不多
也不提倡
你目前的效率多少?
我以前做过读写60MB/S
应该是够用的
时光如流水 抓紧时间实现自我价值
what237
驱动牛犊
驱动牛犊
  • 注册日期2010-06-29
  • 最后登录2012-11-01
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-07-03 14:16
回 1楼(xp4105) 的帖子
我现在的效率很低,大概只有35MB/S
就是因为速度太低,所有想直接读写,提高效率
向您请教一下,您是怎么做到60MB/S的?
ali_tong
驱动牛犊
驱动牛犊
  • 注册日期2009-01-09
  • 最后登录2010-07-17
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-07-04 10:03
硬盘DMA是否开启?
xp4105
论坛版主
论坛版主
  • 注册日期2006-04-02
  • 最后登录2014-03-29
  • 粉丝1
  • 关注0
  • 积分905分
  • 威望570点
  • 贡献值1点
  • 好评度162点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2010-07-04 10:15
你用的是什么PCI设备?
驱动是WD的?
还是自己写的?
时光如流水 抓紧时间实现自我价值
what237
驱动牛犊
驱动牛犊
  • 注册日期2010-06-29
  • 最后登录2012-11-01
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2010-07-04 16:20
回 4楼(xp4105) 的帖子
硬盘DMA开启了,驱动是用DriverStudio自己写的;
从PCI设备直接写入硬盘可实现吗?或者有没有什么其它提高效率的方法?
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2010-07-14 22:24
硬盘的速度对读写也有直接影响,不知道楼上的两位使用的硬盘都是什么型号的。
另外DS的驱动效率应该可以优化,但瓶紧应该不在这里,写盘采用的方式应该有重要影响,使用异步方式应该比同步要好很多。
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
what237
驱动牛犊
驱动牛犊
  • 注册日期2010-06-29
  • 最后登录2012-11-01
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2010-07-17 09:22
回 6楼(AllenZh) 的帖子
硬盘的速度应该不是瓶颈,是从一个盘通过PCI接口读出再写入另外一个盘,因此效率很低,想从第一个盘读出的同时能写入另外一个盘。
请教一下高手,你说的异步方式应该要怎样实现呢?谢谢了
游客

返回顶部