Would SSD drives benefit from a non-default allocation unit size?

73,405

Solution 1

If you are looking for an good article I recommend

The Hows and Whys of SSDs by Robert Hallock

I linked to page 2, which contains the part which discusses clustering and block size.

[...] The solution to the problem is to increase the cluster size, for which there are several advantages:

  • Reduced file system complexity; less clusters means less to organize.
  • Increased read and write speed as cluster size approaches parity with block size.
  • Decreased slack space if the system is primarily composed of large files.

Yet increased cluster size is not a magic bullet for solid state disks, as most people have a mix of information. Games often contain a myriad of small files and operating systems are the sum of small files almost as a rule; yet movies, music, archives and MMOs are perfect candidates for enlarged cluster sizes. More frustrating than the anchor of small clusters is the complicated process to get larger clusters under modern Windows operating systems. Such a feat requires premeditated use of programs like Acronis Disk Director which can increase cluster sizes prior to the installation of Windows. It is also possible to resize existing clusters, but such a procedure is accomplished with a frighteningly varied degree of success.

Solution 2

I definitely agree with Hollock ("The How's and Why's of SSDs") when it comes to increased performance as cluster size approaches block size. In such a situation, you would have a minimal number of block reads and overhead per cluster request.

Having a cluster size smaller than the block size is not necessarily a huge performance hit but it will typically entail more overhead (since the SSD will read the block and REMOVE the portion of the block that is not in the cluster requested. This is even worse if the drive is fragmented and adjacent clusters on the same block are not part of the same file.)

In general increasing the cluster size to (but not beyond) the block size of the SSD will be beneficial. The loss (of course) is that you will start to lose space and as you mention, the $/GB of SSDs is much higher than magnetic media.

Depending on how much money you have, you can either:

  1. Set the cluster size to your drive's block size (which as Hollock mentions might be somewhat tedious) and reap the performance benefits while sacrificing space and having to spend more $$

or

  1. Set the cluster size to the size of the average file (or a little higher to make it a factor of the block size) on your drive to improve drive capacity while (potentially) sacrificing some performance. If the cluster size is significantly less than the block size, be sure to keep the drive defragmented.

Hope this helped :)

Solution 3

This is one anecdote, but it suggests no real world advantage in using a cluster size other than the default 4k. You may have more I/O requests to process but that is going to be negligible in the big scheme of things.

Solution 4

Both of your answers (and Hallock's) seam to contradict what Write Amplification Reduction is meant to accomplish - that is reduce unnecessary NAND wear and tear. Increasing the cluster size means more wasted writes to disk. Defragmenting an SSD you say? That is one of the deadly sins of using an SSD.

Share:
73,405

Related videos on Youtube

davebug
Author by

davebug

Updated on September 17, 2022

Comments

  • davebug
    davebug over 1 year

    The default allocation unit size recommended when formatting a drive in our current set-up is 4096 bytes. I understand the basics of the pros and cons of larger and smaller sizes (performance boost vs. space preservation) but it seems the benefits of a solid state drive (seek times massively lower than hard disks) may create a situation where a much smaller allocation size is not detrimental.

    Were this the case it would at least partially help to overcome the disadvantage of SSD (massively higher prices per GB).

    Is there a way to determine the 'cost' of smaller allocation sizes specifically related to seek times? Or are there any studies or articles recommending a change from the default based on this newer tech?

    (Assume the most average scattering of sizes program files, OS files, data, mp3s, text files, etc.)

  • Sun
    Sun over 9 years
    This article seems to suggest there's no performance gain from defragging a SSD
  • Sun
    Sun over 4 years
    As long as the cluster size matches SSD block size, I think you have the best of both worlds. Every write to the SSD is optimal.
  • Gravity
    Gravity over 2 years
    broken link....
  • splattne
    splattne over 2 years
    @Gravity It's fixed now, thank you!