Windows Vista Tips

Windows Vista Tips > Newsgroups > Windows Vista Drivers > How to write a RAM disk based on a evaluation board

Reply
Thread Tools Display Modes

How to write a RAM disk based on a evaluation board

 
 
flyingfly
Guest
Posts: n/a

 
      06-29-2010
Hi:

I have a ML505 evaluation board with FPGA and DDR RAM on it.
The board is using PCIe.

How can I write a driver to present the DDR RAM as a RAM disk on PC?

I think it's not difficult to write a driver for PCIe and the DMA operation
between host computer and the DDR RAM.

But I've no idea how to combine the driver with file system or anything
necessary that i don't involve?

Thanks a lot
 
Reply With Quote
 
 
 
 
Maxim S. Shatskih
Guest
Posts: n/a

 
      06-29-2010
> I think it's not difficult to write a driver for PCIe and the DMA operation
> between host computer and the DDR RAM.


DMA will only be available if your FPGA supports it.

I would write a SCSIPORT's mininport driver, which will present your board as a SCSI controller with 1 disk LUN to the rest of the OS.

--
Maxim S. Shatskih
Windows DDK MVP

http://www.storagecraft.com

 
Reply With Quote
 
flyingfly
Guest
Posts: n/a

 
      06-30-2010
Thanks for your help!

I've just studied driver development for 2 months and I'm not quite familiar
with all the details.
Plz don't mind if my question involve some stupid or confusing ideas.

From your help, I think I need to write a virtual SCSI port to communicate
with OS and PCIe&DMA driver to communicate with device.

I have some troubles:
1.Storport is only supported for Vista and later OS. So for XP, I need to
write the SCSI port in a more complex way?
2.Is a file system driver needed upon the virtual SCSI port?
3.Is the transmission speed limited to SISI procotol? It must be much slower
than PCIe. That should be a waste.
4.Do i really need a virtual port? Can't I just tell OS that this is a
storage device and the driver can handle the operations needed for a normal
hard disk. For example, If OS send a READ request, the driver will get the
HOST memory address and the device disk address, it then start a DMA
transaction for the device. After the DMA transaction, the READ request is
finished.
Or the OS just know certain storage device such as SCSI,IDE...

Thanks again for your help, much appreciate!
 
Reply With Quote
 
Maxim S. Shatskih
Guest
Posts: n/a

 
      06-30-2010
> 1.Storport is only supported for Vista and later OS. So for XP, I need to
> write the SCSI port in a more complex way?


Yes. Not much more complex if you have a real hardware with interrupt.

> 2.Is a file system driver needed upon the virtual SCSI port?


No. You can use FAT or NTFS.

> 3.Is the transmission speed limited to SISI procotol?


What is SISI? SCSI? No, the speed is not limited to SCSI.

> 4.Do i really need a virtual port? Can't I just tell OS that this is a
> storage device


....and you need a port for this.

--
Maxim S. Shatskih
Windows DDK MVP

http://www.storagecraft.com

 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Windows 7 USB lockup after selective suspend resume dhmot Windows Vista Drivers 11 01-07-2010 02:26 PM
Low disk write performance on Promise EX8350/Raid0/Vista64 Busines Bufi Windows Vista Hardware 4 07-07-2007 04:22 PM
Adding e-SATA Drive Changes Physical Disk 0 in Logical Disk Manager - Any Problem? Ronnie Pincus Windows Vista Hardware 0 06-16-2007 05:29 AM
cloning laptop sata harddrive vista premium Mark Ryan Windows Vista Hardware 5 04-26-2007 06:44 PM
Unresolved items: incredible! Massimo ActiveSync 9 04-18-2006 03:11 PM



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59