Consequences of filling an SSD to capacity

One of the main drawbacks when a traditional spinning hard disk fills up is that as it approaches full capacity, the OS ends up filling up every bit of free space, such as that left over from the time other files were deleted. This can cause heavy fragmentation and in turn slow read back performance of these newly added files until the disk can be defragged.

Since SSDs don’t have moving parts, they don’t suffer from file fragmentation. However, unlike a hard disk, they do suffer from a different problem that can cause a severe degradation in write performance when filled. Since each NAND cell that makes up an SSD only supports a limited number of write cycles, all SSDs implement some form of wear levelling. Before a cell can be rewritten, they also need to erase the cell first. Most SSDs get on fine when there is plenty of free space to work with, but as an SSD is filled to capacity, it is left with just the remaining free space and over-provisioned (non user addressable) space to work with. See Dee’s SSD FAQ article for a more in-depth explanation of how an SSD works and what goes on behind the scenes on SSDs.

To give an idea of this issue with my OCZ Agility 60GB SSD, I need to see what the SSD looks like in its ideal clean (like new) state, so I ran sanitary erase, created a new NTFS partition and ran CrystalDiskMark:

Now for its sequential read performance:

Nice & quick, at least while it’s empty at the moment. :slight_smile:

So what happens when we fill-'er-up?

I filled it up to 97% capacity with a script that worked as follows: Copy 1GB of small files, delete 512MB of files (to cause the SSD to be in a degraded dirty state) and repeat. After leaving it to run overnight, I ended up with a full partition with plenty of fragmentation. I then freed up 1.5GB of space to allow enough for CrystalDiskMark to run.

Notice the difference: :wink:

Now for HD Tune Pro:

I think it’s got HDD platter syndrome… :eek:

Interestingly, it had a much greater effect on sequential read performance than the small random 4K reads. However, it really crippled the write performance, as the above CrystalDiskMark result shows.

Another problem I encountered, which I’m not sure is specific to this Agility (running 1.5 Firmware) is that when I tried reading back the files I wrote to the SSD, I got an error saying that some files are corrupt:

Another example from within Windows explorer:

Sure enough, running chkdsk found several thousand file/folder errors and corrected them. It didn’t stop there though, as the next time I rebooted the PC, a message came up saying chkdsk needs to check the drive for consistency and yet returned more problems:

This is not the first time I had file corruption on this SSD when filled up. About two weeks ago, I accidentally copied a large number of files to this SSD instead of a HDD, causing the SSD to fill to capacity. I noticed some very strange issues over the next few days where some software such as Windows Media player would not launch and then the OS crashed (i.e. unusable once booted). I ended up having to restore a backup image.

So basically, if you own or plan to get an SSD, especially with an Indilinx chipset as what this SSD here contains, keep an eye on the free space and definitely keep a regular backup if you store anything important on it.