Jump to content
RESET Forums (homeservershow.com)

RAID. TRIM. SSD.


dvn
 Share

Recommended Posts

That's interesting, no-control. Thanks for the feedback on your year-long SSD RAID experience. I've gone back and forth on whether to do special configurations with my SSDs - relocating Temp folder, Internet cache, etc. - or just run it as I would any spinning drive. Things that I'd do on a spinning drive such as disabling Hibernate and setting the Page File to a smaller fixed size since I have plenty of RAM (8 MB), I'll do on an SSD, especially since these things free up a significant chunk of precious space.

 

What I'm mostly interested in is everyday, normal usage as it applies to me. But testing a beta RST driver to see if it provides TRIM support in RAID is a fun exercise. I've certainly learned a couple things though I do not claim to have been strictly scientific about it. In truth, because I also boot to a spinning W7 drive, it may not be possible to determine whether TRIM commands are being issued and responded to without some kind of 'Mark Russinovich magic low-level system calls monitoring tool' because as you said, garbage collection is running while the drive is idle. (Garbage collection still runs in RAID, right?) Plus, would I first have to use a sector editing tool to take a look at a file prior to its deletion and then recheck the values of that sector to see if it's 'zeroed' out? And with wear-leveling, would I really know if the sector I'm looking at, which you think would be composed of contiguous 4K pages, isn't really fragmented pieces scattered all over the drive, though reported as a single solid sector compliments of the File Translation Layer? And how would that even look in a sector editor? I suppose sectors would appear as any file system on a spinning drive, right? No? Who knows...ya, that must be right. I mean, without running a long-term test in RAID0 using benches of 4K random write speeds as the chief indicator, how else would I know? By feel? Maybe, but that's a lot of questions, eh? Questions that would take me a long time to run down by myself, even if I did sleep in a Holiday Inn last night. :P

 

That said, I think I pretty much agree with your overall theme to just slap it in there and 'er rip. However, I do like performance so I hold out hope that TRIM will shortly be supported in RAID.

 

The following is from anandtech.com. Anand seems to have a good handle on the more in-depth aspects of this technology. (I know this to be true because his articles give me a headache from trying to understand them. haha)

 

 

"Before we get much further, and without diving into a complete rehash of how SSDs work,...I want to do a quick refresher on TRIM.

 

SSDs are made up of millions of NAND flash cells. They can be written to in groups called pages (generally 4KB in size) but can only be erased in larger groups called blocks (generally 128 pages or 512KB). These stipulations are partially the source of many SSD performance issues.

 

The whole ordeal gets more complicated when you realize that an SSD has no way of knowing when a file is deleted. Until an address gets used again, the SSD has to keep track of every last bit of data that’s written to it. The ATA-TRIM instruction tilts the balance in favor of the SSD.

 

In a supported OS (e.g. Windows 7), whenever you permanently delete a file or format your drive, the addresses that are erased are sent along with the TRIM command to the SSD’s controller. The TRIM instruction tells the SSD that those locations don’t contain valid data and that it no longer has to track them.

 

...TRIM helps the SSD clean blocks and add them to the free block pool.

 

Again, I won’t go into great detail here but TRIM addresses a major part of the performance degradation over time issue that plague all SSDs. A TRIM enabled drive running an OS with TRIM support will stay closer to its peak performance over time."

"...closer to its peak performance over time." Sweet!

Edited by dvn
Link to comment
Share on other sites

  • Replies 60
  • Created
  • Last Reply

Top Posters In This Topic

  • dvn

    28

  • ImTheTypeOfGuy

    6

  • pcdoc

    12

Guest no-control

This is correct and remember that the realistic drive life of an SSD is well over 10 years. so it would "in theory take 10 years for the drive to become "impacted" and have serious performance loss. If you remember 10 years ago HDD's were 50-80GB max and IDE was cutting edge. Still 3 long years from the first 36 gb Raptors, Anyone here still rocking those? I didn't think so.

Link to comment
Share on other sites

TRIM not being supported in RAID is totally true, HOWEVER, the TRIM command isn't necessary if you're willing to sacrifice around 10-20% of total storage capacity to allow the drives' built in Garbage Collection routine to do its work automatically in the backround with RAID. Anandtech tested this a while back, works just fine. You just have to leave a portion of each SSD in the array unformatted and unused for it to work. As i said above all SSD's have this feature in the controller's firmware. BTW this feature is why the Sandforce drives are ~10% smaller than previous generations of drives (my Falcons are 128gb, but the Phoenix pros are 120gb Indilinx vs Sandforce ctrls) its to provide room for the GC feature to work.

 

Did you use over provisioning when you set up your RAID? My latest reading has me considering it for my SSDs. What's your thought on that? And how would you determine the amount? A percentage? I guess I'm looking for a specific recommendation. If you had a 120 GB drive, how much would you leave unallocated for over provisioning?

 

One thing I've learned in the past 24 hours is that one Secure Erase (SE) equals one write cycle for all blocks on the drive. So, SE is not something you'd want to do every other day, at least not for any longer than a couple days of initial testing when you first get your drive. Because who doesn't want to see benchmarks, right? :)

 

I spent some time earlier this evening reading in the OCZ forums. Some good info in there, but you have to work for it.

Edited by dvn
Link to comment
Share on other sites

  • 3 months later...

dvn, thanks for the links.

 

 

Some very good information in there. I am especially interested in Anand's suggestion to set up the raid and then partition it so that you only use 80-90%. Anyone test that. He talks about it here, http://www.anandtech...5m-g2-for-250/6.

 

I just bought two OCZ 120 GB drives and I was going to put them in the icydock box with the raid setting of 0. Now I am leaning to just using the jmicron sata ports on my MB. Anand makes it sound like having two discrete connections on the MB, versus the one I would use with the icydock box, increases throughput. Was that your take as well?

 

I was lost on the random writes vers sequential. Sounds like sequential is best but as a user, can I manipulate what kind of writes are performed?

 

My drives and the icydock box just arrived. It is time to set them up but am little confused now. I guess SSD's are not plug and play like HDD's?

Link to comment
Share on other sites

dvn, thanks for the links.

You bet!

 

 

Some very good information in there. I am especially interested in Anand's suggestion to set up the raid and then partition it so that you only use 80-90%. Anyone test that. He talks about it here, http://www.anandtech...5m-g2-for-250/6.

As I understand it, at least for an SSD with the Sandforce controller, over-provisioning is not necessary. As long as you don't entirely fill up the drive, the Sandforce controller can maintain a reasonably high level of performance. By default, Sandforce SSDs have 7% OP. That's why you buy a 120GB drive rather than a 128 GB drive. The manufacturer reassigns that 8GB to OP. Some vendors such as Intel have their whitepapers on how more and more OP boosts their drives' performance more and more. I can't comment on that, except to say that Intel doesn't use Sandforce controllers. However, your new OCZ's do. So forget about OP. Or let's put it this way. Go ahead and leave whatever % you see fit for additional OP. If you decide you don't need it, and that's what I did, just extend your partition in Disk Manager.

 

 

I just bought two OCZ 120 GB drives and I was going to put them in the icydock box with the raid setting of 0. Now I am leaning to just using the jmicron sata ports on my MB. Anand makes it sound like having two discrete connections on the MB, versus the one I would use with the icydock box, increases throughput. Was that your take as well?

Yes, that's the way I've understood it.

 

 

I was lost on the random writes vers sequential. Sounds like sequential is best but as a user, can I manipulate what kind of writes are performed?

You can’t do anything about what kind of writes. But you can something about where certain files are written. My page file is on the first partition of an HDD. The %TEMP% files folder, indexing files and Firefox cache are on the second partition, 20 gb. Those three folders use a little over a ½ GB of space.

 

 

My drives and the icydock box just arrived. It is time to set them up but am little confused now. I guess SSD's are not plug and play like HDD's?

SSDs pretty much work like HDDs in that you plug them in, format them and they're ready for use. I don’t know much about IcyDock, but some of the guys here may be able to help. Are you having a problem setting your drives up? From what I hear, you just stick the drives in the IcyDock, then set a switch to RAID0, 1, or JBOD.

Link to comment
Share on other sites

 

You can’t do anything about what kind of writes. But you can something about where certain files are written. My page file is on the first partition of an HDD. The %TEMP% files folder, indexing files and Firefox cache are on the second partition, 20 gb. Those three folders use a little over a ½ GB of space.

 

 

 

SSDs pretty much work like HDDs in that you plug them in, format them and they're ready for use. I don’t know much about IcyDock, but some of the guys here may be able to help. Are you having a problem setting your drives up? From what I hear, you just stick the drives in the IcyDock, then set a switch to RAID0, 1, or JBOD.

 

 

Do I need to concern myself with what a page file is? :D Although I did read about it in Anands review, but didn't totally grasp it. You typed HDD, did you mean SSD? I wasn't planning to create any partitions until I read about OP. Looks like OCZ took care of that for me. Are you suggesting i do create a partition for the temp files, indexing files, and cache? As I understand it, that would greatly reduce the number of writes to the OS partition and would keep the performance level higher for longer. I guess then I could use utilities on the smaller partition as needed if there are performance issues. I will have to research that one as I have never done that.

 

Well I don't think I will use the IcyDock cage now. I may use it for a v2 mirror I guess. I am not having any problems as I am trying to learn before I install them. Thus they are still in their packaging right now. Thanks for your help and I look forward to your response on the partitioning.

Link to comment
Share on other sites

I did mean to say HDD, spinning drive. No, I wasn't suggesting that you partition your SSDs, RAID'd or not. You have nice OCZ SSDs with the Sandforce controller. They should be able to keep up a fairly high level of performance without you doing anything.

 

One thing I should mention is that TRIM is not yet supported in RAID. Is this a show stopper? For some, but others seem to think not. So RAID your SSDs if you want to. Worst case scenario is that you create a drive image, break the RAID, run Secure Erase on each SSD, recreate the RAID, and restore the image.

 

Pagefile consists of files that need to be stored in memory, but due to some algorithm they are placed on the hard drive in a location that is quickly accessible. They also refer to this as virtual memory.

 

As far as the tweaks go, it's all up to you. There's a lot that's been written in the forums about setting configurations and special tweaks. The reason people do these things is to prolong the life of the SSD which has a limited number of writes it can do before individual cells start dying. But current SSDs last as long as typical hard drives, if not longer. That's the projection, anyway.

 

There are ways to tweak a number of settings with free programs. SSD Tweaker will handle a lot of those settings for you. You could start with that. If you decide you want to do more, then use my previous post as a guide to help you know what types of folders are candidates for relocation to a spinning hard drive. If you don't want to mess with this relocation stuff, no problem. People put SSDs in laptops every day and they can't do any relocating, right?

Edited by dvn
Link to comment
Share on other sites

I'd like to add my thoughts on this, mostly based on research and thinking, since I do not yet own an SSD.

 

To my knowledge, HDDs and RAID controllers traditionally are filesystem-agnostic. They don't know anything about the arrangement of data and they don't care much because it doesn't affect them. SSDs are an interesting development which bucks this tradition because they are able to benefit significantly from this information, specifically, the deleted blocks. That is where the TRIM instruction comes in, to let the device know which blocks the filesystem no longer needs. This is all well-researched fact, and probably most of you know this already.

 

The rest of it is my thinking on the matter. Firstly, the logical corrolary: without TRIM, the device doesn't know anything about deleted space. The only unused space it knows is blocks that have never been written, and that number can only go down over time. Unpartitioned space can allow the drive to extend the time, but it will happen eventually that it will run out of unused space.

 

The second point: Garbage collection requires knowledge about what is garbage. From the first point, devices without TRIM support get no information at all about what's been deleted, so there's probably no way they can clean anything out. Once the free space runs out, chances are that the drive is limited to the read-erase-write cycle which killed performance in early SSDs. I may be wrong about something in this deduction process, but it sounds to me like TRIM is absolutely required for garbage collection to work. I believe the differences in implementation of garbage collection are about when it happens, either during a write or when idle, but either way it needs TRIM.

 

As for RAID support, I have not reached a conclusion yet. Clearly a pass-through is possible, and this would make for a quick and dirty optimization which the controller maker can easily hype up to boost sales. However, the impact on performance is a little harder to predict, since RAID affects the organization of data on the device. I will need to think on this some more before I can say anything useful about it.

 

As always, I welcome feedback or flames. Let me know if I'm totally wrong.

Link to comment
Share on other sites

I did mean to say HDD, spinning drive. No, I wasn't suggesting that you partition your SSDs, RAID'd or not. You have nice OCZ SSDs with the Sandforce controller. They should be able to keep up a fairly high level of performance without you doing anything.

 

One thing I should mention is that TRIM is not yet supported in RAID. Is this a show stopper? For some, but others seem to think not. So RAID your SSDs if you want to. Worst case scenario is that you create a drive image, break the RAID, run Secure Erase on each SSD, recreate the RAID, and restore the image.

 

Pagefile consists of files that need to be stored in memory, but due to some algorithm they are placed on the hard drive in a location that is quickly accessible. They also refer to this as virtual memory.

 

As far as the tweaks go, it's all up to you. There's a lot that's been written in the forums about setting configurations and special tweaks. The reason people do these things is to prolong the life of the SSD which has a limited number of writes it can do before individual cells start dying. But current SSDs last as long as typical hard drives, if not longer. That's the projection, anyway.

 

There are ways to tweak a number of settings with free programs. SSD Tweaker will handle a lot of those settings for you. You could start with that. If you decide you want to do more, then use my previous post as a guide to help you know what types of folders are candidates for relocation to a spinning hard drive. If you don't want to mess with this relocation stuff, no problem. People put SSDs in laptops every day and they can't do any relocating, right?

 

 

Okay, I am going to install it in Raid 0 using the jmicron ports without any partitions on the SSD's. Other than what W7U creates. I will also use a HDD for data storage andthe previously mentioned three file types. I will have to find your previous post on how to do that. For starters I will just use my hitachi 7200 rpm drive I have but I may get a 10,000 rpm drive to play around with (or just raid two HDD's). :D

 

 

roddy, thanks for your input as well. However, I am already too far down this road to back out now. I may dual boot my pc for a few months to see if there is any speed degradation. If I do this, I will not use a HDD in order to speed up the writing to the SDD's.

Link to comment
Share on other sites

Guest no-control

not sure if you caught my comment in the deals thread when you bought those SSDs but the IcyDock is only SATA II SSD in RAID will NOT be any faster than non RAID a single sandforce SSD can almost saturate the SATA II. If you or anyone wants to run SSDs in RAID 0 I would highly recommend they refer to the specs for the drive as the scale is almost linear adding the speeds. SATA III can handle 2-3 SSDs anything more than that you need them on the PCIe Bus via controller cards.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


×
×
  • Create New...