Reformat exFat with specific Device Block Size and Cluster Size
The maximum allocation block (or cluster) count for exFAT is 2^32 = 4,294,967,296.
To get the minimal size of an allocation cluster on your partition divide the size of your partition through 2^32.
Examples:
for a 100 GB partition the minimal size is 100,000,000,000 bytes/4,294,967,296=~23.3 bytes. Since the smallest device block size is 512 bytes, the allocation block size can't be smaller.
For a 3 TB partition the minimal size is 3,000,000,000,000 bytes/4,294,967,296=~698.5 bytes. The minimal possible allocation block size is then 1024 bytes.
To format a partition use newfs_exfat [options] /dev/disk*s*
The following options regarding allocation block sizes are available:
-b bytes-per-cluster
File system block size (bytes per cluster). Acceptable values
are powers of 2 in the range 512 through 33554432.
-c sectors-per-cluster
Sectors per cluster. Acceptable values are powers of 2 in the
range 1 through 65536.
To reformat your exFAT volume first copy the content to another volume. Then enter:
diskutil list #to get the disk identifier of the exFAT partition
diskutil unmount /dev/disk0s6
sudo newfs_exfat -c 1 -v exFAT /dev/disk0s6
diskutil mount /dev/disk0s6
The command will create one allocation (or cluster) block/device block and rename the volume to exFAT.
Alternatively you may use
sudo newfs_exfat -b 512 -v exFAT /dev/disk0s6
Most modern HDDs or SSDs use device block sizes of 4096 bytes and the displayed device block size of 512 bytes is only a "logical" device block size probably for compatibility reasons. So a minimal allocation block size of at least 4096 bytes is recommended.
Also the default cluster block sizes of various sized exFAT partitions in Windows "mention" at least 4 kb.
To get the current cluster block size (and other informations) of an exFAT volume do the following:
diskutil list #to get the disk identifier of the exFAT partition
diskutil unmount /dev/disk0s6
sudo newfs_exfat -N /dev/disk0s6
diskutil mount /dev/disk0s6