cxx_will
驱动牛犊
驱动牛犊
  • 注册日期2003-07-06
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3397回复:4

我想用磁盘阵列的方法提高FLASH的读写速度!!

楼主#
更多 发布于:2003-09-20 17:35
作为一个学术研究的课题,本人需要采用大容量FLASH作为存储介质,但同时也对速度提出了要求。由于采用的是三星公司的K9K4GXXX0M――FLASH芯片,其只有8(16)个I/O端口,需要多个周期才能完成编程/擦除/读取操作,速度很慢,因此想借鉴磁盘阵列的方式对其操作,换句话说就是想对若干个FLASH的数据进行并行的读取或写入,但是具体到磁盘阵列的算法实现,我还没有解决,请问诸位,有没有对磁盘阵列算法比较了解或能够提供相关信息的,请多给予帮助,如果有兴趣也可以与本人讨论此技术话题。我的联系方式:cxx_will@yahoo.com.cn 电话13072860704,成都!再次感谢支持。
diy99
驱动牛犊
驱动牛犊
  • 注册日期2003-02-08
  • 最后登录2005-11-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-03 22:02
我的几点建议。供你参考。

1。软件要支持多线程,最好支持中断。否则要用轮询的方式。
2。以raid 0的方式把flash条带化(stripe),如同你有8个硬盘一样。
3。每一个flash对应一个flash线程,这个线程就是一个虚拟的硬盘,可以接受读写命令,并异步的对flash进行编程/擦除/读取操作。
4。创建一个监视线程,采样flash的状态,以唤醒相应的flash线程。
4。创建一个分发线程或中断处理程序,把接受的一个读写命令分割为1到8个读写命令,分别发给对应的flash线程。
5。创建一个收集线程,把1到8个数据块合为一块,发给需求方。

算法并不难,但涉及多线程,中断。编写,调试会很复杂。


walkonthesky
驱动中牛
驱动中牛
  • 注册日期2003-11-26
  • 最后登录2012-11-06
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-14 14:16
建议看RAD BOOK
全E文的

很累
[img]http://www.driverdevelop.com/forum/upload/walkonthesky/2004-07-08_2004-07-07_b847.gif[/img]
paladinii
驱动中牛
驱动中牛
  • 注册日期2003-10-28
  • 最后登录2012-03-09
  • 粉丝0
  • 关注0
  • 积分282分
  • 威望74点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-15 20:11
d :)
Ideas for life!
jiajia20050307
驱动牛犊
驱动牛犊
  • 注册日期2005-04-23
  • 最后登录2005-04-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-04-23 09:58
 :) :)ding
游客

返回顶部