One SSD + two HDD in RAID 1: SSD performance hit

hard driveraidssd

My SSD based system is starting to feel slow and sluggish, but it used to be lightning fast. I tried to cleanup as much as I could, removed programs from startup, etc.

However, one big change I did is that I changed my HDD setup from 1 HDD to 2 HDDs in RAID 1 (for added security without having to bother with manual backups).

All my programs are on the SSD, as well as the user directory, but data is on the HDD except some things I wanted to keep really fast (mainly, my C++ programming stuff) . The weird thing is that the system can feel slower, even with SSD-only operations (launching programs, etc.).

Hardware:

  • Motherboard: P6T-SE with ICH10R intel controller.
  • SSD: Crucial 128 M4
  • HDDs: 2 * Seagate Barracuda 7200.11 (ST31000333AS)

In order to use RAID 1, I had to change a setting in the BIOS from AHCI to RAID. Is it possible that this hurts the performance of my SSD?

I noticed in Process Explorer that one of the most time consuming processes is MsMpEng (Anti Malware Service, part of Microsoft Security Essentials).

Best Answer

short answer:
If you wrote a lot to the SSD (esp. small files) after changing the BIOS: Yes

Long answer:
SSD are build with NAND chips with a page size which is quite a bit larger than the exposed 512byte sectors. The controller on the SSD word around this via internal mapping. If this mapping gets complex or dirtied then the SSD becomes a lot slower.

Or simplified, think of it as a book. the computer uses group of 512 words (lets call these paragraphs). The SSD can only write whole pages. (with multiple paragraphs on them).

If you change one paragraph then the SSD has two options:

  1. Read the whole page. (fast)
    Change in paragraph in the remembered page (fast)
    Erase the old page (very slow)
    Write the changed page back.
  2. Read the whole page. (fast)
    Change in paragraph in the remembered page (fast)
    Write the changed page back to some empty page (skipping the slow erasing) and change the page numbers

To keep speed high SSDs use the second option, but eventually they will run out of empty pages and then they need to fall back to the first (slow) option.

There are ways to avoid this slow down.

  • If the SSD is idle (no reads or writes), then it can consolidate pages. Think of it as taking a few mostly empty pages and writing all data to a single other page. Afterwards it deleted the pages which where mostly empty. Now it has free blocks again.
  • If the file system supports TRIM then deleting a file can trigger extra command to the SSD. Basically the SSD gets told 'this file is changed. I will never use it again. You may erase it if you wish, or just mark it as unused so you can consolidate pages later.
    For this to work the SSD needs to support TRIM (most if not all do) and the driver and FS need to support it. As of 2012 almost no RAID configurations support this.

Conclusion: Since you enabled RAID you probably disabled TRIM.

Disclaimer: A lot depends on your write behaviour. No TRIM and lots of small writes in a short period will [significantly] lower performance on most SSDs. On the other hand a mostly empty SSD with few writes might not have a noticeable effect.

Related Question