The mechanical HDD = the slowest form of memory in a system.
The problem stems from software technology having had advanced faster than hardware in the 80's and 90's. The first computers like Apple II and C64 and Atari 800 had all their OS data stored in RAM. But programmers quickly outgrew the genuinely limited 48K bytes of RAM in those early systems.
These early computers loaded their DOS entirely into RAM. And from then on data that was sent back and forth to and from the floppy (or low capacity HDD) was strictly user generated data. No OS code, no paging, no module loading.
And full blown OS'es quickly consumed Megabytes and Gigabytes in no time! And guess what? The HDD picked up the slack and allowed bits and pieces of the OS to be swapped in and out of limited RAM memory. This philosophy prevails today. And it's a real pisser alright.
A basic low-end bargain bin 8GB or 16GB system can hold the entire OS in memory and have room left over. There is no technical need to have to keep accessing a disk and swapping parts of the OS in and out of memory. In fact you could put it entirely on FlashRom.
It would take a paradigm shift, one of such grand proportions that I don't believe programmers and industry are capable of executing.
So we go with the next best thing. That would be SSD. SSD + SATA is already faster than older computers' RAM bandwidth. And with SSD the OS.can behave as if all parts of it are instantly available. SSD has barely begun to show it's true speeds. It's only going to get faster. Eventually they'll do away with a serial interface, or any kind of interface, and wired the FlashRoms + Controller right onto the main data bus. Early prototypes of SATA-less SSDs are going 6-8 times faster than SSD RAID. Impressive!
Some IBM Fellow back in the 60's said that the HDD is made to store user data only. And not act as a 10,000x slower memory subsystem. And we're coming full circle soon enough. The OS will be residing on FastFlash attached right to the bus. Thus finally achieving instant-on and 0-sec suspend/resume/standby/hibernate.