Yes, we've talked about similar I/O issues before. It's another one related to the bad/no caching behavior of Core.
I'm not talking about syncing here, just a chainstate rewrite even when it's fully synced, or at worst a handful of blocks away (the UI doesn't show the syncing progress overlay).
So I wonder why it needs to do a lengthy rewrite on startup, considering that after it's settled, when downloading blocks later on there isn't such a lengthy process. There's something unique about what it does on startup. Maybe insight into that could allow me to optimize Core's settings, or find another way to dodge the issue. Maybe it'll get bugfixed.
As before, there's nothing special with my computer. It's perfectly fine, everything besides Core works as it should. It's just running Core that's always such a chore.
Your RAM drive idea helped with syncing (though it requires manual work), but after syncing and copying the files back to HDD, I still need to run it from the HDD. And then, in many cases, also the chainstate rewrite gets real tedious. Now, if the the caching code is improved it would surely help, but I'm still curious why there's a need for that major rewrite, unrelated to syncing, on every startup.
BTW, Litecoin Core behaves better, at least partially. Though there I'm on an older version, 0.14.2. Also the different/smaller blockchain might affect the behavior.