Он знает, какие блоки заняты и в какие происходит запись. Если запись происходит в занятый блок, то что? Правильно, занятый блок автоматически тримируется.
Если при этом высвобождается страница, хорошо, нет - ищется свободная. Если не найдено свободной - в ход идёт алгоритм оптимизации пространства, объединяющий занятые блоки с частично тримированных страниц для высвобождения места под запись.