HDD and SSD, I cannot know exactly because I use lvm, so it can reside anywhere...
Most likely the issue is that the node write operation committing the new file to disk (which happens once or twice a day) is not flushed by the time Armory goes looking for it, courtesy of cached disks (which is after processing the new block notification over P2P from the node).
Looking at the code, it doesn't seem that throw is crawling all the way back to the main execution thread, so it's unexpected that it would kill the entire process. On the other hand, that also means it could be caught and handled. If you can build from source and are willing to tinker with that stuff, I can tell you what code to add to try and fix this.