Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

If you use Windows 7 to mirror a volume across an SSD drive and a mechanical hard drive, will the read performance be similar to a single SSD drive?

I.e. is Windows smart enough to read from them both and use the data that comes back first?

share|improve this question
    
Wouldn't this be a question of your motherboard/chipset I/O bandwidth? –  wag2639 Jun 18 '10 at 7:45
    
It does sound theoretically possible, but my guess is your RAID controller would have to know that your SSD is faster than the HDD. I'm no expert on RAID, but I'm guessing no RAID controllers support this. –  Benjotron Jun 24 '10 at 16:58
    
I think you are going to just have to try it and let us know how it went. ;) –  NitroxDM Aug 10 '10 at 6:59
    
You don't want to read from both. Remember that rotating disks can almost always convert writes to fast sequential writes (you end up with fragmentation, not seeking during write). On the other hand, seeking during read is unavoidable. Reading from the HDD would kill its write performance, better to always read the SSD. –  Ben Voigt Jan 13 '11 at 22:24
    
@Benjotron: I don't think the OP has a RAID controller, otherwise Windows would hardly know there are multiple drives. In case you mean a fake RAID: those things are useless at best. –  maaartinus Sep 9 '11 at 23:49
add comment

3 Answers

up vote 13 down vote accepted
+25

In my test with two conventional hard drives, read performance was as good as the fastest hard drive but write performance was as bad as the slowest.

(Note the scales are different.)

Slow Drive - 46 MB/s

Fast Drive - 60 MB/s

Mirrored - 46 MB/s

share|improve this answer
2  
You'd need to use something like --write-behind available on Linux. –  maaartinus Sep 9 '11 at 23:52
add comment

(Disclaimer: it's really all theory for me - I've only played with RAID arrays once!)

This sounds like a really bad idea to me - as I understand things you want to have similar performance characteristics for drives mounted in RAID arrays. Maybe you wanted to mix a highspeed 'traditional' drive's continuous read speed with an SSD's low seek times? If so, you might be interested in a hybrid drive (NB it doesn't stripe data, but it does try to intelligently cache).

is Windows smart enough to read from them both and use the data that comes back first?

It doesn't quite work like that: the controller doesn't ask for the same information from both drives and then wait to see which comes back first. If you've got simple mirroring (ie RAID 1) then I'd imagine the controller will ask for 1/n of the total size wanted from each of n drives. For example, if you want to read 1024KB from an array of four drives. I imagine the controller will ask drive 1 for the first 256KB, drive 2 for the second, drive 3 for the third, and drive 4 for the last. The speed-up comes from four similarly performant drives delivering the data in parallel (so you'd expect total time to be quartered, with a little extra for overhead). Now if three of the drives are high performance, and one of the drives is dead slow, the slow drive's going to be the bottle-neck. So if you marry an SSD and a traditional HD you might end up with the worst of both worlds.


Edit:

I agree that in the simplest implementation, the slowest drive will be the bottleneck. However there are some smarter raid implementations out there. I'd like to know if Windows 7's implementation is smart enough to avoid that bottleneck.

I'm not sure what you mean by 'avoid that bottleneck'... what do you expect it to do? The performance gain comes from having drives performing reads in parallel. Now it depends what your usage patterns will be, but if you're performing lots of small reads for example, your traditional HD might never finish seeking (I'm imagining an 'intelligent' controller that doesn't just wait for the HD, but requests the same data from the SSD if it's sitting idle - dunno if that's realistic). So you get normal SSD speeds and thrash your traditional HD. You can also expect your write speeds to be bottle-necked. So what's the point?

share|improve this answer
    
I agree that in the simplest implementation, the slowest drive will be the bottleneck. However there are some smarter raid implementations out there. I'd like to know if Windows 7's implementation is smart enough to avoid that bottleneck. –  Jon-Eric Jun 21 '10 at 17:18
    
@Andy, you seem to have completely missed the point about using Windows 7 software RAID, we have no interest in what the controller does. Windows will issue requests to one or both of the drives - the controller has no choices to make. –  mjaggard Feb 19 '13 at 15:48
    
@mjaggard My argument isn't affected by whether it's h/ware of s/ware RAID: wherever you see controller in my answer, I'm referring to whatever is handling the RAID. The principle of having a weak link in a RAID array is what I'm getting at. –  Andy Mar 1 '13 at 15:15
add comment

Windows 7 is support RAID-1 and it is work great for mirrored volumes. Read performance will be faster than single SSD drive because OS can use split seeks technology, in other words OS can read data from both hard drives in parallel. Check wiki page about RAID for details.

share|improve this answer
    
p.s. OS didn't read same data, it read different parts of file at one moment and then join it in memory. –  mOlind Jun 21 '10 at 14:35
    
The key is that if one of the drives is really slow (non-SSD) and the other is fast (SSD), I think you DON'T want to blindly split the seeks. I want to know if Windows 7 is smart enough to handle this situation. –  Jon-Eric Jun 21 '10 at 17:15
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.