I will try to answer your question, since I had the same task, but on SD cards, which is still flash memory.
Short answer
In flash memory, you can write a full page with 512 bytes. Given that flash memory has a poor write count, the kernel buffers to improve the life of your disk.
To write a bit to flash, you must delete the entire page where it sits first. Therefore, if you want to add or change 1 byte to an already written page by 400 bytes, the kernel will basically do:
- Read entire page to clipboard
- Change the buffer with the added content
- Erase entire page
- Rewrite the entire page with the modified buffer
Long answer
The sector (pages) mainly refers to the hardware of the flash implementation and the flash physical driver, in which you have no control. This page should be cleaned and rewritten every time you change something.
As you probably already know, you cannot overwrite one bit on a page without clearing and overwriting a total of 512 bytes. Flash drives now have a write life of around 100,000 before the sector can be damaged. To improve the lifetime, it is usually a physical driver, and sometimes the system will have a randomization algorithm for recording to avoid recording the same sector.
As for the cluster, this is handled at a higher level, which is associated with the file system, and you have control. Typically, when formatting a new hard disk, you can choose the cluster size, which in windows refers to the size of the distribution block in the format window.

Most file systems, as I know, work with the index, which is located at the beginning of the disk. This index will track each cluster and what is assigned to it. This means that the file will occupy at least one sector, even if it is much smaller.

Now, sales are smaller than your sector, your index table will be larger and take up a lot of space. But if you have many small files, then you will have a better place to practice.
On the other hand, if you only store large files, and you want to select the largest sector size, slightly larger than the size of your file.
Since your task is to perform logging, I would recommend registering one, huge file with a large sector size. After experimenting with this type of log, the presence of a large number of files in one folder can cause problems, especially if you are in built-in devices.
Implementation
Now, if you have raw disk access and you really want to optimize, you can write directly to the disk without using a file system.
Positive * Saves you enough disk space * In case of failure disk tolerance will appear if your design is smart enough * much less resources will be required if you are in a limited system
On the other hand * More work and debugging * The drive will not be recognized by the system by the system.
If you are just registering, you do not need to have a file system, you just need an entry point to the page where you can record data that will constantly increase.
The implementation I made on the SD card was to save 100 pages when begging the flash to store information about the location of the recording and reading. This was done on one page, but in order to avoid a memory cycle problem, I would write down a circular method on 100 pages sequentially and then have an algorithm to check which last one contained the latest information.
A position record was recorded every 5 minutes or so, which means that in the event of a power outage, I would have lost only 5 minutes of the log. It is also possible to check an additional sector from the last recording location if they contain reliable data before writing further.
This provided a very reliable solution, since it is less likely to have table corruption.
I also suggest writing 512 bytes and writing page by page.
Other
You can also check a specific file system for a specific log, they can just do the job for you: Log-structured file system