Hello,
I was browsing some of the old forum posts, and was alarmed by some of the misinformation I was seeing. One in particular, {http://www.tomshardware.com/forum/244351-32-partion-hard-drive-performance}, I was like wow. This poor gent just wanted to know if he could set up RAID 0, and partition a part of it off to get better performance. The short answer all along was yes, but nobody seemed to give it. In fact, many people over complicated the answers, or just plain lied to him. I believe this is because there is a lot of outdated info stuck in our brains about how HDDs work. First of all, HDDs store data from the outside to the inside. This is because the outermost tracks are a lot longer, and therefore can hold more data. since the drive spins at a constant speed, more data can be read/written per second (or rotation, however you want to look at it). One person said partitions are divided up like pies. NO, operating systems treat drives as one line string of addresses (just like ram). Because of logical addressing, they have no knowledge of the underlying structure of a drive. When a drive writes data, it starts at the outer-most track (ring). However, all the platters work together, at the same time (not fill one, then move on). data is broken up and written to a track across all platters, what's why they call it a cylinder (imaging track 1, for 2 platters, is really 4 tracks, 2 on each side, at once). Also, tracks are VERY Thin, so there are MANY of them, and they are read in seqence from outside to inside. Imaging you have 3x 750 GB drive, and you have them on RAID 0. You write 3 megs at the beginning, what happens? That 3 megs is broken up into chunks (say, for example 32k each), and then chunk 1 goes to drive 1, cylindar 1, chunk 2 goes to drive 2 cylindar 1, chunk 3 goes to drive 3, cynindar 1. (let's say that cylindar one only holds 32 k for exampel), the next pieces, chunk 4 goes to drive 1, cylindar 2, 5 goes to drive 2 cylindar 2, etc etc. In this way, the drives together get 3x the throughput. Now, throughput is find, but what about seek times? Lets look at an individual drive. Say a drive is seeking randomly across the whole drive. The smallest seek it could do would be the next track over, the longest would be from the first track to the last. The average of trying many of these gives average drive latency. If we use only 1/3 of the drive (starting with track 1), the largest seek would be from track 1 to 1/3 of the way through the drive. This instantly decreases the average seek time by simply not having to go so far. Is it 1/3 reduction? probably not, because of the time it takes to settle on a track isn't reduced, just the distance to move the read/write heads. But you WILL see performance boosts. I've got this very setup at home, and it runs great, far faster than just using one full drive. to estimate, it took me about 1.5 mins to boot windows, with auto login, and for all my startup program to launch. I cloned my partition onto this RAID 0 setup, and the time dropped to about 48 seconds. Not 1/3 the time, but fast enough for me.
If anyone has any ideas to increase performance further, please, reply to this. I'm not claiming to know everything, and I'm always interrested in another perspective on a topic.
-Cheers
I was browsing some of the old forum posts, and was alarmed by some of the misinformation I was seeing. One in particular, {http://www.tomshardware.com/forum/244351-32-partion-hard-drive-performance}, I was like wow. This poor gent just wanted to know if he could set up RAID 0, and partition a part of it off to get better performance. The short answer all along was yes, but nobody seemed to give it. In fact, many people over complicated the answers, or just plain lied to him. I believe this is because there is a lot of outdated info stuck in our brains about how HDDs work. First of all, HDDs store data from the outside to the inside. This is because the outermost tracks are a lot longer, and therefore can hold more data. since the drive spins at a constant speed, more data can be read/written per second (or rotation, however you want to look at it). One person said partitions are divided up like pies. NO, operating systems treat drives as one line string of addresses (just like ram). Because of logical addressing, they have no knowledge of the underlying structure of a drive. When a drive writes data, it starts at the outer-most track (ring). However, all the platters work together, at the same time (not fill one, then move on). data is broken up and written to a track across all platters, what's why they call it a cylinder (imaging track 1, for 2 platters, is really 4 tracks, 2 on each side, at once). Also, tracks are VERY Thin, so there are MANY of them, and they are read in seqence from outside to inside. Imaging you have 3x 750 GB drive, and you have them on RAID 0. You write 3 megs at the beginning, what happens? That 3 megs is broken up into chunks (say, for example 32k each), and then chunk 1 goes to drive 1, cylindar 1, chunk 2 goes to drive 2 cylindar 1, chunk 3 goes to drive 3, cynindar 1. (let's say that cylindar one only holds 32 k for exampel), the next pieces, chunk 4 goes to drive 1, cylindar 2, 5 goes to drive 2 cylindar 2, etc etc. In this way, the drives together get 3x the throughput. Now, throughput is find, but what about seek times? Lets look at an individual drive. Say a drive is seeking randomly across the whole drive. The smallest seek it could do would be the next track over, the longest would be from the first track to the last. The average of trying many of these gives average drive latency. If we use only 1/3 of the drive (starting with track 1), the largest seek would be from track 1 to 1/3 of the way through the drive. This instantly decreases the average seek time by simply not having to go so far. Is it 1/3 reduction? probably not, because of the time it takes to settle on a track isn't reduced, just the distance to move the read/write heads. But you WILL see performance boosts. I've got this very setup at home, and it runs great, far faster than just using one full drive. to estimate, it took me about 1.5 mins to boot windows, with auto login, and for all my startup program to launch. I cloned my partition onto this RAID 0 setup, and the time dropped to about 48 seconds. Not 1/3 the time, but fast enough for me.
If anyone has any ideas to increase performance further, please, reply to this. I'm not claiming to know everything, and I'm always interrested in another perspective on a topic.
-Cheers