когда из последних свободных ~30Гб заполняется ~15-20, то наблюдается следующая проблема
Одно слово - фрагментация. Решение - освободить место (рекомендую 20-30%), запустить дефрагментатор (теперь это называется оптимизация, искать в свойствах диска - утилиты), и уже после этого вернуть файлы назад.
Дефрагментация почти не работает, если места на диске нет, поэтому временно перенести файлы куда то придется. Раньше утилита дефрагментация позволяла посмотреть на распределение данных и главное свободного места на диске, теперь эту наиважнейшую информацию скрывают (может есть утилиты, я не искал). Альтернатива дефрагментации (она будет работать наилучшим способом но долго) - это backup - format - restore всего диска (если есть куда скопировать). Помню были утилиты, которые позволяли оценить степень фрагментации файла и переместить на другой диск только их, это позволит максимально эффективно освободить место на диске перед дефрагментацией (утилите останется только свободное место выравнивать)
При фрагментации свободного места, каждый следующий файл будет раскидан по всему диску (причем иногда бывает до абсурда - сотни кусков, особенно если с диском активно работают в режиме - создания и удаления файлов, причем в разных порядках). А у hdd есть технических недостаток (так как там механическое устройство чтения данных) - скорость работы с диском (и чтение и запись) падает на пару порядков! до единиц мегабайт в секунду, если данные расположены в разных местах диска (фрагментирован).