Replacing Drive with SSD

Warren Block wblock at
Mon Aug 31 16:07:12 UTC 2015

On Mon, 31 Aug 2015, Quartz wrote:

>> Making a partition for free space is one way. Another way is to leave
>> part of the drive unpartitioned. Either one just guarantees there is a
>> good supply of unused blocks available to the drive.
> I'm not super well versed on exactly how SSD TRIM works. How does the drive 
> in question know which blocks are or aren't free, isn't that a function of 
> the filesystem? For that matter, how does the drive even "know" which parts 
> are or aren't partitioned, it's not like they're programmed to understand MBR 
> vs GPT, etc. How does the system communicate to the drive firmware layer 
> which blocks are in use?

That is exactly what TRIM is, a mechanism for a filesystem to tell the 
drive "this block is no longer in use".  Otherwise, the only thing the 
drive has to determine whether a block is in use is whether it has ever 
been written.

> Simply assuming based on if or how long ago it was written to can't 
> possibly be a workable solution. I'm not convinced that leaving large 
> chunks of the drive 'free' has any effect on wear leveling.

It provides a pool of blocks that have not and will not be written.

More information about the freebsd-questions mailing list