Hi,
I have recently created a RAID 5 array using the Intel RAID controller on my motherboard. I suffered with extremely poor write speeds ranging from 20-25MB/s. After days of trawling the internet and fiddling with settings i achieved write-speeds that i am happy with. I thought that making a small guide on how i did this would make it easier for other people with the same problem in future.
My PC Specs:
Intel i5 3570K (Stock Speeds)
MSI Z77A-GD65
2 x EVGA GTX 660 FTW
2 x 4GB Corsair Vengeance Low Profile
256GB Samsung 830
3 x 2TB Seagate (ST2000DM001)
Windows 8.1 64bit
The RAID 5 array is made up of the 3 2TB drives listed above which currently achieves read speeds of around 340MB/s and write speeds of 280MB/s. I am just going to go through the things i did to achieve those speeds.
1. Benchmark each drive individually.
After first creating the array and suffering with poor write speeds i thought that a drive may be bad as 2 of them were brand new. I broke up the array and used CrystalDiskMark to test them individually. My drives had read/write speeds of 300MB/s. This cancels out the possibility of one being faulty.
2. Check for updated firmware.
After breaking up the array i noticed that each drive had different versions of firmware. I downloaded the latest version from Seagates website and updated each drive. They now all have the same latest firmware. This is important to do as more up to date firmware often increases performance as well as stability.
3. Choose the correct data stripe size.
This really does depend on how you are going to use the array. I used the following page to help me decide: RAID Scaling Charts, Part 3: 4-128 kB Stripes Compared
Rule of thumb:
Documents = Small data stripe size.
Media = Large data stripe size.
4. Initialize the array.
How long the initialisation process takes depends on the amount and size of the drives in the array, for me it took slightly over a day. The PC can be shutdown and restarted without effecting the process but try and avoid doing anything that may cause a BSOD or your PC to shutdown unexpectedly as this happened to me and caused it to restart after being 50% through the process. When i first created the array i tested the speeds while it was initializing which is when i got 20-25MB/s however after it had finished i got 70-80MB/s so wait until it has finished before making assumptions.
How to initialize a volume:
1. Under 'Status' or 'Manage', in the Storage System View, click the volume that you want to initialize. The volume properties are now displayed on the left.
2. Click 'Initialize'.
3. Click 'OK' to start the initialization process. Caution: Once the data migration starts, the operation cannot be cancelled.
5. Disable Windows write-cache buffer flushing.
This needs to be disabled before we can enable to next setting which makes the real difference in performance. At this stage i was achieving write speeds of around 70-80 MB/, this is after i had done all of the above.
How to disable Windows write-cache buffer flushing:
1. Open 'Device Manager'.
2. Click the '+' next to 'Disk Drives'
3. Right click on the relevant drive and click 'Properties'
4. Click the 'Policies' tab and make sure both check boxes are ticked.
6. Change 'Cache mode' to 'Write back'.
This cache mode improves the read and write performance of a RAID volume. This is what made the difference for me, drastically increasing the write speed from 70MB/s to 280MB/s
How to enable 'Write back cache mode':
1. Open the Intel Rapid Storage Technology Control Panel. If you have not got it already,
download and install it.
2. Click 'Performance', and then click 'Power & Performance Settings' in the left pane.
3. Under Volatile Volume Cache Settings, locate the volume that you want.
4. Click 'Modify' next to the Cache mode property.
5. Select 'Write back'.
7. The moment of truth.
After creating simple volume in 'Disk Management' if you have not already, you are ready to bench this baby. I hope this works out the way it did for me. I am no genius on this subject but i will answer any questions as best as possible. Just to put it out there, all the above information was found using Google and the help section on the RST control panel...
I have recently created a RAID 5 array using the Intel RAID controller on my motherboard. I suffered with extremely poor write speeds ranging from 20-25MB/s. After days of trawling the internet and fiddling with settings i achieved write-speeds that i am happy with. I thought that making a small guide on how i did this would make it easier for other people with the same problem in future.
My PC Specs:
Intel i5 3570K (Stock Speeds)
MSI Z77A-GD65
2 x EVGA GTX 660 FTW
2 x 4GB Corsair Vengeance Low Profile
256GB Samsung 830
3 x 2TB Seagate (ST2000DM001)
Windows 8.1 64bit
The RAID 5 array is made up of the 3 2TB drives listed above which currently achieves read speeds of around 340MB/s and write speeds of 280MB/s. I am just going to go through the things i did to achieve those speeds.
1. Benchmark each drive individually.
After first creating the array and suffering with poor write speeds i thought that a drive may be bad as 2 of them were brand new. I broke up the array and used CrystalDiskMark to test them individually. My drives had read/write speeds of 300MB/s. This cancels out the possibility of one being faulty.
2. Check for updated firmware.
After breaking up the array i noticed that each drive had different versions of firmware. I downloaded the latest version from Seagates website and updated each drive. They now all have the same latest firmware. This is important to do as more up to date firmware often increases performance as well as stability.
3. Choose the correct data stripe size.
This really does depend on how you are going to use the array. I used the following page to help me decide: RAID Scaling Charts, Part 3: 4-128 kB Stripes Compared
Rule of thumb:
Documents = Small data stripe size.
Media = Large data stripe size.
4. Initialize the array.
How long the initialisation process takes depends on the amount and size of the drives in the array, for me it took slightly over a day. The PC can be shutdown and restarted without effecting the process but try and avoid doing anything that may cause a BSOD or your PC to shutdown unexpectedly as this happened to me and caused it to restart after being 50% through the process. When i first created the array i tested the speeds while it was initializing which is when i got 20-25MB/s however after it had finished i got 70-80MB/s so wait until it has finished before making assumptions.
How to initialize a volume:
1. Under 'Status' or 'Manage', in the Storage System View, click the volume that you want to initialize. The volume properties are now displayed on the left.
2. Click 'Initialize'.
3. Click 'OK' to start the initialization process. Caution: Once the data migration starts, the operation cannot be cancelled.
5. Disable Windows write-cache buffer flushing.
This needs to be disabled before we can enable to next setting which makes the real difference in performance. At this stage i was achieving write speeds of around 70-80 MB/, this is after i had done all of the above.
How to disable Windows write-cache buffer flushing:
1. Open 'Device Manager'.
2. Click the '+' next to 'Disk Drives'
3. Right click on the relevant drive and click 'Properties'
4. Click the 'Policies' tab and make sure both check boxes are ticked.
6. Change 'Cache mode' to 'Write back'.
This cache mode improves the read and write performance of a RAID volume. This is what made the difference for me, drastically increasing the write speed from 70MB/s to 280MB/s
How to enable 'Write back cache mode':
1. Open the Intel Rapid Storage Technology Control Panel. If you have not got it already,
download and install it.
2. Click 'Performance', and then click 'Power & Performance Settings' in the left pane.
3. Under Volatile Volume Cache Settings, locate the volume that you want.
4. Click 'Modify' next to the Cache mode property.
5. Select 'Write back'.
7. The moment of truth.
After creating simple volume in 'Disk Management' if you have not already, you are ready to bench this baby. I hope this works out the way it did for me. I am no genius on this subject but i will answer any questions as best as possible. Just to put it out there, all the above information was found using Google and the help section on the RST control panel...