TRIM Functionality

Over time SSDs can get into a fairly fragmented state, with pages distributed randomly all over the LBA range. TRIM and the naturally sequential nature of much client IO can help clean this up by forcing blocks to be recycled and as a result become less fragmented. Leaving as much free space as possible on your drive helps keep performance high (20% is a good number to shoot for), but it's always good to see how bad things can get before the GC/TRIM routines have a chance to operate. As always I filled all user addressible LBAs with data, wrote enough random data to the drive to fill the spare area and then some, then ran a single HD Tach pass to visualize how slow things got:

As we showed in our enterprise results, Vector's steady state 4KB random write performance is around 33MB/s. The worst case sequential performance here is around 50MB/s, which is in line with what you'd expect. Sequential writes do improve performance, but as with most SSDs you're best operating the Vector with a bit of spare area left on the drive (in addition to what's already set aside by firmware).

TRIM and another sequential pass restore performance to normal, but it also triggers the Vector's performance mode penalty:

At 50% capacity there's an internal reorganization routine that's triggered on Vector, similar to what happens on the Vertex 4. During this time, all performance is impacted, which is why you see a sharp drop in performance just beore the 135GB mark. The re-org routine only takes a few minutes. I went back and measured sequential write performance after this test and came back with 380MB/s in Iometer. In other words, don't be startled by the graph above - it's expected behavior, it just looks bad as the drive doesn't get a chance to run its background operations in peace.

AnandTech Storage Bench 2011 - Light Workload Power Consumption
POST A COMMENT

151 Comments

View All Comments

  • kmmatney - Tuesday, November 27, 2012 - link

    I don't see anything wrong with stating that. My 256 Samsung 830 also appears as a 238GB drive in windows... Reply
  • jwilliams4200 - Tuesday, November 27, 2012 - link

    The problem is that "formatting" a drive does not change the capacity.

    Windows is displaying the capacity in GiB, not GB. It is just Windows bug that they label their units incorrectly.
    Reply
  • Gigaplex - Tuesday, November 27, 2012 - link

    Yes and no. There is some overhead in formatting which reduces usable capacity, but the GiB/GB distinction is a much larger factor in the discrepancy. Reply
  • jwilliams4200 - Wednesday, November 28, 2012 - link

    The GiB/GB bug in Windows accounts for almost all of the difference. It is not worth mentioning that partitioning usually leaves 1MiB of space at the beginning of the drive. 256GB = 238.4186GiB. If you subtract 1MiB from that, it is 238.4176GiB. So why bother to split hairs? Reply
  • Anand Lal Shimpi - Wednesday, November 28, 2012 - link

    This is correct. I changed the wording to usable vs. formatted space, I was using the two interchangeably. The GiB/GB conversion is what gives us the spare area.

    Take care,
    Anand
    Reply
  • suprem1ty - Thursday, November 29, 2012 - link

    It's not a bug. Just a different way of looking at digital capacity. Reply
  • suprem1ty - Thursday, November 29, 2012 - link

    Oh wait sorry I see what you mean now. Disregard previous post Reply
  • flyingpants1 - Wednesday, November 28, 2012 - link

    I think I might know what his problem is.

    When people see their 1TB-labelled drive displays only 931GB in Windows, they assume it's because formatting a drive with NTFS magically causes it to lose 8% of space, which is totally false. Here's a short explanation for newbie readers. A gigabyte (GB) as displayed in Windows is actually a gibibyte (GiB).

    1 gibibyte = 1073741824 bytes = 1024 mebibytes
    1 gigabyte = 1000000000 bytes = 1000 megabytes = 0.931 gibibytes
    1000 gigabytes = 931 gibibytes

    Windows says GB but actually means GiB.

    SSDs and HDDs are labelled differently in terms of space. Let's say they made a spinning hard disk with exactly 256GB (238GiB) of space. It would appear as 238GB in Windows, even after formatting. You didn't lose anything,
    because the other 18 gigs was never there in the first place.

    Now, according to Anandtech, a 256GB-labelled SSD actually *HAS* the full 256GiB (275GB) of flash memory. But you lose 8% of flash for provisioning, so you end up with around 238GiB (255GB) anyway. It displays as 238GB in Windows.

    If the SSDs really had 256GB (238GiB) of space as labelled, you'd subtract your 8% and get 235GB (219GiB) which displays as 219GB in Windows.
    Reply
  • flyingpants1 - Wednesday, November 28, 2012 - link

    IMO drive manufacturers should stop messing around and put 256GiB of USABLE space on each 256GiB drive, and start marking them as such. Reply
  • Holly - Wednesday, November 28, 2012 - link

    Tbh imho using base 10 units in binary environment is just asking for a facepalm. Everything underneath runs on 2^n anyway and this new "GB" vs "GiB" is just a commercial bullshit so storage devices can be sold with flashier stickers. Your average raid controller bios will show 1TB drive as 931GB one as well (at least few ICHxR and one server Adaptec I have access to right now all do). Reply

Log in

Don't have an account? Sign up now