23

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.)

4 Answers 4

11

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.

2
  • broken link....
    – IceCold
    Dec 23, 2021 at 17:59
  • @Gravity It's fixed now, thank you!
    – splattne
    Dec 27, 2021 at 15:41
7

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 :)

1
4

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.

0
3

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.

1
  • 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.
    – Sun
    Dec 19, 2019 at 23:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .