How do I calculate an over or under-provisioning amount of space for my SSD?

0

1

In my proactive attempt to maintain my SSD’s performance and knowing that it degrades as it fills, a user should benefit from keeping a certain calculable amount or percentage of space “free” (Over- or under-provisioning), correct?

To maximize storage, use and performance, what would I need to do to calculate and configure this space?

Info:

SSD Drive: 120 GB Kingston Hyper X Sata III drive. (111.75 Usable).

TRIM is supported and windows recognizes the drive as an SSD utilizing TRIM.

OS: Windows 7 Home Premium 64 bit service pack 1 (20 or so GB, 91 GB remaining)

Various programs and files (40 GB, 41 GB remaining)

With the remaining 41 or so GB, I believe that I will benefit by locking some remaining available amount to maintain the performance of the drive. How can I calculate the amount so I know how much remaining space I can use for files and programs and how much to secure as free?

Edit:

Most of the activity will be reads and average home user writes to the drive, So I am not as concerned about endurance as I am about performance in regards to allocating the space.

Carl B

Posted 2013-02-04T19:38:53.363

Reputation: 6 430

Answers

1

Interesting that one of the advertised features of the HyperX is "User-Configurable Over Provisioning" (http://www.kingston.com/us/ssd/hyperx). I'm not sure how that feature works.

In any case, http://www.anandtech.com/show/6489/ is an article which tests the correlation between SSD IO performance and free area. For the absolute maximum performance, you want to leave maybe ~20-25% of your drive free, depending on the drive. Edit: This drive has 144 Gb total NAND according to this review, so about 108 Gb used ought to do nicely. You could do this either by partitioning (the other answer is incorrect, the drive will wear-level), by using whatever Kingston is advertising (I assume), or just by not using up all of the space on your drive.

Marcus Chan

Posted 2013-02-04T19:38:53.363

Reputation: 1 643

+1 for your iunput. There is a note #"4" on the kingston site - " 4. Note: The over provisioning can only be modified at the user’s own risk and will require third party software to partition the drive. Kingston recommends that only experienced and knowledgeable users attempt to customize the over provisioning area. Kingston will not provide support or any additional tools to execute this feature." So, I do not know what 3rd party software is available, it's not on their support site. – Carl B – 2013-02-04T21:37:49.977

Yeah, I don't think it's worth it to look into whatever Kingston is talking about, since just partitioning the drive to 90gb and leaving the rest empty does the exact same thing – Marcus Chan – 2013-02-04T22:29:42.203

By partitioning do you mean to say create an empty partition to take up 20% of the disc rather than attempting to leave 20% as free space? Or then again the same could probably be said of shrinking the main partition to be 80% of the total capacity. So that means the partition has less to do with the performance than the actual total hardware. – MetaGuru – 2013-02-06T20:53:06.390

@ioSamurai I'm not sure exactly what you're saying here. But any method of ensuring the drive controller has ~25% free blocks to work with will be fine, whether that's resizing the data partition or just leaving space free inside the partition. – Marcus Chan – 2013-02-06T23:27:13.313

2

SSDs use a process called "wear leveling" whereby they attempt to make each cell use data the same amount of times as all the others, thus preventing some cells from going bad quickly. By reducing the amount a space your computer could use, you may be prematurely aging the active cells by not allowing the leveling to take place on the space you reserved.

In addition, I have read (quick source, detailed source) that drives with non power-of-two sizes (i.e., your 120 instead of 128) have already reserved that excess space for when some of the cells go bad.

techturtle

Posted 2013-02-04T19:38:53.363

Reputation: 8 059

+1 for your comment. I don't have a particular heavy write demand on the drive. My thinking is to preserve performance as my programs and files will remain pretty much read cycle activity. – Carl B – 2013-02-04T20:01:01.467

I don't think there are any wear effects from reading. Only writing/erasing causes it. Because the garbage collection routines on an SSD erase in blocks, not bits, you may see some improvement by simply leaving some free space available to the OS (but it's not anything you could "set" to protect). You would just need to make sure you don't use 100% of the drive. – techturtle – 2013-02-04T20:10:37.267

2This is actually incorrect. Wear levelling algorithms occur over the entire drive. Also manufacturers already do under provisioning to increase the life of MLT SSD's. So, Carl's idea to under provision further by making the partitions smaller should actually help on a drive that is written to a lot. However, if he's not intending to fill the drive to capacity anyway, then all he's doing is making it too small. – Matt H – 2013-02-04T20:22:30.707

@MattH - good points. I have yet to fond in any searches the amount the vendor has established in under-provisioning. Is there a particular standard amount on a particular 64, 120, 128, 240 GB drive? – Carl B – 2013-02-04T23:18:37.537

Drives are usually in powers of 2, but according to http://www.bit-tech.net/hardware/2012/08/08/kingston-hyperx-3k-120gb-review/1 this drive has 18*8=144 Gb total storage (woo, finally found a source!)

– Marcus Chan – 2013-02-04T23:43:32.587

Also, "for when some of the cells go bad" isn't entirely accurate either; SSDs us the extra area for more wear-leveling, error correction (on SF drives, which this is), and other functions. – Marcus Chan – 2013-02-04T23:47:42.920

@MarcusChan - Yes! I think you got me in the right direction! So, this would account for 20% vendor allocated provisioning already, I would now only need to sacrafice 5% to get to the 25% sweet spot? Or about 6GB of usable space. Thoughts? – Carl B – 2013-02-05T01:05:45.043

Edited my answer to point out that 144*.75=108 Gb is about what you're looking for. Mind you, that's pretty close to the vendor-allocated space anyway; as long as you don't fill your drive up to the "out of space" cap I think you'd be fine leaving it as it is. – Marcus Chan – 2013-02-05T01:17:35.330