Copying to Ram Drive question

pilks

Well-Known Member
Joined
Oct 9, 2009
Messages
129
Reaction score
0
The scenario

I often find myself having to copy lots of data from one drive to another drive. I do have 12 gigs of ram.
Would it be quicker to handle the copying of the files like this?

Source drive -> Ram Disk -> Destination drive.

This would happen for every different file. Essentially I want to use RAM DISK as a buffer or cache .

Next question
(Bet you thought I had posted this in the wrong section didn't you :) )
Does source code for an application like this exist or would I have to write one from scratch.?

If I have to write one from scratch can I access the RAM directly from C#.NET and not have to create a RAM Disk? If so anyone got any guidance on how to do this ?

Thanks
 
Last edited:
Just download teracopy & call it a day.

You'll get minimal gains if any. In fact I predict an increase in total time: The bottle neck is the physical perf of the disks. By doing what you want you lose the benefit of them reading & writing simultaneously.
 
TeraCopy is rather nice

Only crashes every so often :S
 
I might have a habit of trying too many things at once. It seems to work fine when I take me time. But nothing is more fun that trying to copy things to 6 different drives all at once.
Will try to write my own application later in the week and will post my results
 
nothing is more fun that trying to copy things to 6 different drives all at once.
Which is pretty much the worst thing you could do. It increases the *overall* time the copy jobs take dramatically due to extra unnecessary hdd movements. This is why teracopy automatically queues jobs. Refrain from interfering & you'll have a lot less trouble.

Will try to write my own application later in the week and will post my results
Been there done that. Teracopy & co are already heavily optimized. Aside from a few fringe cases you won't beat them.

A better approach is to temporarily disable real-time AV protection.
 
Having slept on it , my time could be better spent on other things such as going outside.

It's when Teracopy is queueing large files and I have a about 8 lined up in the queue that it seems to crash the one that is copying.But as you said I really should just wait and have a little more patience. In theory though , on the topic of thrashing per say, If I have 4 drive A,B,C,D it should be fine to have 2 concurrent coping operations happening. One from A-B and one from C-D or is there a piece of the puzzle I missing ?
 
TeraCopy is rather nice

Only crashes every so often :S

I've never seen it crash. :confused:

You're lucky then. It always seems to crash on me when I've got a lot of stuff in the copy queue. Thank goodness for the report saving function, which allows you to reload the queue.

OP - you could also try microsoft's RichCopy - you'll need to search their site for it. It is gui based, but does support commandline options, although even launching from commandline, it pops up the gui while it does its thing.
 
In theory though , on the topic of thrashing per say, If I have 4 drive A,B,C,D it should be fine to have 2 concurrent coping operations happening. One from A-B and one from C-D or is there a piece of the puzzle I missing ?

That should be good. I usually start additional copies in this case, but bear in mind that there will be additional CPU overhead as well, however these days on multi-core systems, this is pretty negligible.
 
Copying files into volatile memory before dumping it to drive again will only add additional overhead in the file-path. What you are effectively doing is trying to add a 2nd layer of buffer.
Modern SATA drives come with 32/64Megs of cache exactly to try to speed up reads even more,but with copying your bottleneck tends to be the effective write speed.

The only situations where a bigger buffer would assist would be where read speed is lower( or fluctuating wildly ) than write like with burning to DVD where IO operation could lock up reads. Another situation where a bigger buffer would create real-world results would be with a networked storage device where more memory is added to the destination system which could keep IO buffered in RAM and written to disk
 
Last edited:
If I have 4 drive A,B,C,D it should be fine to have 2 concurrent coping operations happening. One from A-B and one from C-D or is there a piece of the puzzle I missing ?
Yeah that should work. I usually manually start the ones in the queue that I think can run concurrently nicely.

There was another app...killcopy I think that had way way more configurability than teracopy. Not as stylish though.

One area where I think there might be room to beat existing products is copying lots of small files if you want to program something in this direction.
 
One area where I think there might be room to beat existing products is copying lots of small files if you want to program something in this direction.

Richcopy

Very very very powerful app if you need to automate or speed up many copy/move tasks including the one you mentioned
 
Top
Sign up to the MyBroadband newsletter
X