Лучшая оптимизация, которую вы можете сделать, это использовать большие буферы для копии. Если этого недостаточно, то реструктурируйте ваши данные в один файл вместо двух файлов в каталоге. Следующий шаг - получить более быстрое оборудование.
Существует множество файловых систем, используемых в Unix / Linux, и вам необходимо написать собственный алгоритм копирования для каждой из них. Существует редко гарантия непрерывных блоков даже для одного файла, не говоря уже о двух. Также велики шансы, что ваша процедура блочного копирования будет обойдена и будет менее эффективной, чем существующие оптимизации файловой системы.
Чтение всего файла в память перед его записью даст больше преимуществ с точки зрения минимизации времени поиска, чем открытие меньшего количества файлов, по крайней мере для файлов с определенным размером. И не все аппаратные средства страдают от времени поиска.