O próprio disco não tem noção do que um filesytem pode ser. O disco sabe quais blocos internos são usados e quais não são por meio de alguns metadados que nunca saem do disco, e o SO não tem conhecimento deles.
Você está confundindo duas noções distintas de "setores livres", que ocorrem em máquinas distintas em níveis distintos. O próprio disco funciona em vários "blocos" internos; Usando esses blocos, o disco mantém uma visão lógica do espaço em disco como uma longa seqüência de bytes (convencionalmente dividida em sucessivos setores ). O disco irá dividir internamente o espaço em disco sobre os blocos, com alguma redundância, reordenamento, cópias dinâmicas e outros algoritmos inteligentes que juntos visam o desgaste espalhado de modo a fazer com que as falhas ocorram com menos frequência; este é o "nivelamento de desgaste".
O SO só vê os setores, que não são necessariamente do mesmo tamanho que os blocos (na verdade, os blocos do Flash tendem a estar no tamanho 16 a 64 kB, enquanto os setores são tradicionalmente 512 bytes) e o nivelamento de desgaste está oculto para o sistema operacional. O SO usa alguns setores para codificar as estruturas do sistema de arquivos, e essas estruturas marcam outros setores como "livres" ou "em uso". Do ponto de vista do sistema operacional, um setor é "gratuito" se não contiver mais nada de interessante (por exemplo, ele fazia parte de um arquivo que foi excluído desde então); Considerando que, do ponto de vista do disco, um bloco é "livre" se nunca foi gravado, ou se o algoritmo de nivelamento de desgaste já copiou seu conteúdo para outros blocos, e o bloco pode ser reutilizado internamente.
Se um setor foi gravado, os dados o transformaram em um bloco SSD; se o arquivo correspondente for excluído, o setor é "livre" do ponto de vista do sistema operacional (o sistema operacional permitirá gravar nesse setor o conteúdo de outro arquivo), mas para o SSD isso ainda é um dado que deve ser preservado - e preservar isso.
Um recurso esclarecedor (ou não) a ser considerado é o comando TRIM . Este é um comando SATA pelo qual o sistema operacional pode informar ao disco que um determinado intervalo de setores é considerado "livre" (pelo sistema operacional), permitindo que o disco não preserve seu conteúdo até que seja escrito para. Quando o SO TRIM tem alguns setores, ler os setores diretamente (do dispositivo, ignorando a camada do sistema de arquivos) pode, teoricamente, retornar bytes de dados variados, dependendo de como o disco gerencia as coisas internamente. "TRIM" é a única maneira pela qual "setores livres" do sistema de arquivos e "blocos não utilizados" do meio físico, podem realmente se relacionar entre si. Eles são outras noções totalmente independentes.