Original Link: http://www.anandtech.com/show/6477/trim-raid0-ssd-arrays-work-with-intel-6series-motherboards-too
TRIM & RAID-0 SSD Arrays Work With Intel 6-Series Motherboards Tooby Kristian Vättö on November 28, 2012 11:53 AM EST
A few months ago, Intel brought TRIM support to RAID-0 SSD arrays but limited it to its latest 7-series chipsets. As 7 and 6-series chipsets are very similar, there was no good explanation to why Intel didn't include support for 6-series chipsets other than forced feature differentiation and/or not wanting to go through a lengthy validation process on an older platform. We have covered the reasons why you should want TRIM in the past but the main benefits are obvious: more consistent performance and higher endurance. Limiting the support to only 7-series chipsets was a huge letdown.
Fortunately the Internet is full of extremely knowledgeable and ethusiastic people with the drive to look for unofficial solutions. AnandTech forum members Dufus and Fernando 1 have been able to modify the RAID OROM so that TRIM and RAID-0 SSD arrays now work with at least Z68 and P67 chipsets, both of which are unsupported by the official OROM. While the forum thread is already full of posts showing that the modification works, I wanted to try it myself and to see how smooth the process was.
Testing TRIM on RAID-0 with Intel Z68
My test platform is the ASRock Z68 Pro3. First I set the SATA mode to RAID and installed Windows 7 (64-bit) to a spare SSD I had. I didn't install any updates or drivers other than Intel RST 11.6 drivers to enable RAID-0 TRIM support from the driver perspective. For the RAID-0 array, I used a 120GB Corsair Neutron and a 120GB Corsair Neutron GTX. I picked those because they are the two most similar SSDs I have and their performance gets fairly bad when tortured with random writes, making them ideal for this test. Before creating the RAID-0 array, I secure erased both drives so we could get accurate baseline performance:
I then tortured the whole RAID-0 array for 20 minutes with compressible 4KB random writes at a queue depth of 32. This is what the performance looks like without working TRIM:
Performance isn't terrible but it would be a lot worse had I tortured the array for longer. In this case, 20 minutes is enough to show that performance degrades and we need functioning TRIM to get it back to where it was.
So, I recreated the scenario but this time with the modified 184.108.40.2062 OROM and 220.127.116.110 RST drivers and here is what HD Tach looked like after a TRIM pass:
Hooray, it works! If you're running RAID-0 SSDs on Z68 or P67 based motherboard, you can finally get TRIM support as well.
The modification proves that there are no hardware limitations that keep the Z68/P67 platform from supporting TRIM on RAID-0 arrays, which is what we originally thought as well. It's a bit disappointing to see Intel limiting such a useful feature to only specific motherboards, especially since many users are running pre-7-series motherboards.
It's of course possible that 6-series support has been in the plans since day one but Intel prioritized 7-series motherboards and didn't have time to validate 6-series motherboards, which is why the support is currently limited to 7-series chipsets. It's more likely that the added cost/time required to validate both 6 and 7 series chipsets was deemed not worth it, given that Intel is expecting power users to transition to newer platforms fairly aggressively. We've seen similar behavior from Intel in the past. Remember that the original X25-M never got TRIM support while the G2 did, even though the two shared a common controller architecture. It's all about keeping margins high unfortunately.
Enabling TRIM for RAID-0 SSD Arrays on 6-Series Motherboard
Note: The following steps include unsupported BIOS modifications which can brick your motherboard. We take no responsibility for failures and the instructions provided below are only for informational purposes. If you still want to try the modification, you are doing it at your own risk and we strongly recommend that you backup all your data before trying any of the steps.
As I mentioned earlier, you will need either P67 or Z68 for the modification to work. So far other 6-series chipsets have not been tried but you're of course welcome to be the guinea pig (at your own risk, obviously). Next you will need to flash your BIOS in order to apply the modification. This may sound complicated but the actual process is rather easy because most of the work has already been done for you. The actual instructions are rather long because what you need depends on your motherboard, so instead of summarizing I'm just going to link the full instructions. You will need to use a modified OROM version, which can be found here.
Once you have flashed your BIOS with the new OROM, make sure your OROM has indeed been updated to version 11.6.x.xxxx (you will see this when entering the RAID utility). I recommend that you recreate your RAID array with the new 11.6 OROM because there is a high chance that you will have to do this anyway (arrays created by older OROMs may not work). You should also check that your RST drivers are up to date because older drivers do not support RAID-0 TRIM at all. Here is a link to the latest 18.104.22.1680 drivers that I used in my testing, although other 11.x drivers may work as well.
In a nutshell, that's it. You have now done all you that's necessary to enable TRIM on a 6-series motherboard. However, since all motherboards are different, I recommend trying TRIM before celebrating since there is also a lot that can go wrong.
How to Verify TRIM Is Working
You could always use the method we use but Iometer isn't exactly the most user friendly tool if you don't know what you're doing and our method involves deleting the whole volume, which also results in loss of data in the array. There is a much easier way to check the functionality of TRIM by using a hex editor and any file (credit for this method goes to XtremeSystems.org forum user Marc HFR):
1. Download and install HxD (or any other hex editor if you have a favorite).
2. Open any file you have with HxD. I used a JPG photo in this example and it worked fine. You should now see this:
3. In the right-hand column, select a string of text that is unique and copy that somewhere, you will need it later. I used the time stamp of the file because it's very likely unique, which makes the next steps easier.
4. Copy the file you opened in HxD to the root of your RAID-0 array.
5. Run HxD as an administator and open your whole RAID-0 array from Extras > Open disk.
6. Use the search tool in HxD to locate the unique text string you copied in step 3.
7. Once you have located the text string, write down the offset and sector.
8. Move the file you copied in step 4 to the recycle bin and empty it. This will delete the file and if TRIM works, the controller will also delete the data.
9. Open the RAID array in HxD again and go to the sector you recorded in step 7. If the sector is empty (full of 0's or F's), TRIM worked. If the data was not deleted, try rebooting before you start troubleshooting because it seems that a reboot is required for some SSDs to fully erase the data.