I have a 60GB SSD that I want to keep sequencer samples on. I have about 35,000 files than are less than 20 KB in size. If I partition the drive with 64 KB allocation size, it looks like I lose about 1.8 GB of space.
Speed of access of the data on this drive is pretty important.
Should I lower the allocation size?
Aso, I think my SSD drives capacity went from 59.5 to 55.7 GB. Not used or unused, but overall capacity. There is no operating system on the drive, just files. Is that apparent loss in capacity a result of using too big of an allocation size?
There is little speed diff between larger/smaller allocation size for an SSD - Acess time is so small.
However if "allocation" size is the same as cluster size on a HDD, you will lose a lot of space.
Using a HDD as an example. HDD has a given sector size (512 Bytes), when using the default 4k cluster size all files below 4 K still take up 4 sectors (one cluster).
If you change the 4 K to 64 K, then each 20 K file will take 64 K space.
20 K size x 35 K Nr of files = 700 megs
But: 64K x 35 K = 1.28 Gigs which represent a loss of 580 Megs.
Ideally you would set the cluster size to say 32 KB so that each cluster would hold one file and reads would all be sequencial as opposted to a 4 KB cluster size with each file taking up 5 clusters which may NOT be sequencial and performance then drops to the Random 4 K speed. And you are at the mercy of 10 -> 12 mSec access time. An SSDs access time in on the order of 0.1 mSec (about 100 x faster). Overall performance of an SSD is around 20 x -> 40 x that of a HDD.
SSDs are alittle diff as they have "Block" size which is handled internally to the SSD, not by the operating system - I think it is 512K, they also have a "page" size (4 K). So a Block size of 64 K can hold 128 4K pages.
Are these files pretty much read-only are are they often re-writen. This is a big difference - the way a HDD re-writes a file and the way a SSD does a re-write. A HDD the file just re-writes the SAME cluster (adds aditional cluster if need), not so for a SSD, it Marks the "old file" as deleted and completely writes it to a different area. To delete the file it must delete the entire block.
A quote From: http://www.anandtech.com/show/2614/3
We've already established that a flash cell can either store one or two bits depending on whether it's a SLC or MLC device. Group a bunch of cells together and you've got a page. A page is the smallest structure you can program (write to) in a NAND flash device. In the case of most MLC NAND flash each page is 4KB. A block consists of a number of pages, in the Intel MLC SSD a block is 128 pages (128 pages x 4KB per page = 512KB per block = 0.5MB). A block is the smallest structure you can erase. So when you write to a SSD you can write 4KB at a time, but when you erase from a SSD you have to erase 512KB at a time. I'll explore that a bit further in a moment, but let's look at what happens when you erase data from a SSD.