On Tue, Dec 28, 2021 at 8:32 AM Jacques Montier <[email protected]> wrote: > > Well, il cleaned my dusty mobo, unplugged and plugged again the sata cables. > Now, with or without NCQ, boot time is rather short (~28s). > So it seems it was a connection problem.
Yeah, I've suspected my cables for some of these ATA errors. I do feel like SATA is probably a bit lacking in error management, but I haven't looked into the gory details. That said, without NCQ the drive should work completely normally but you may get degraded performance. The idea of NCQ is that the kernel can feed the drive multiple instructions at a time, and then the drive firmware can optimize order of execution to reduce seek time. The kernel doesn't know the physical layout of the disk and so if the commands are executed in strict order the drive may end up seeking in a non-optimal way, and of course with mechanical drives being what they are that is very costly. A bit of controller CPU spent solving the travelling salesman problem can save a LOT of time waiting for the disk and heads to move. One of the bigger changes in NVMe is making the queue vastly larger so that more operations can be done in parallel. Obviously there are no seek times in flash, but I'm not familiar with how the actual addressing works so there may still be cases where the order of access matters, or where dispatching instructions in parallel keeps the pipeline more full. -- Rich

