Is it safe to disconnect a SATA disk during sleep?
Solution 1:
Sleep mode in Windows saves your machines current state to memory and powers down your hard drive and monitor.
In case of external drives specially those that are connected through usb and are detected as external, Since you are using windows , the OS is smart enough to recognize that the external devices can be removed at any time and disables the write cache. This reduces the chances of data corruption.
So you can safely assume that you can remove your external drives without any data corruption. However as Ramhound pointed out - your system might crash if you remove your primary disk.
Systems have multiple power states from S-0
to S-4
and G-4
.S-0
is active work state and G-4
is full power down, where machine would need to reboot to power up.
S-1
to S-3
are successive states of Sleep and S-4
is hibernate state.
When the machine reaches state S-1 the processor shuts down.
At S-2
It loses hardware context and loses contents of cache ( this should also include all writing caches ). This should further protect you against any data corruption.
At S-3 (your default sleep mode)
some more chips on the motherboard might be switched off.
So long story short, removing the hard drive while the machine is in sleep mode should not affect the health of the hardware as there are multiple checks built in to protect you against it.
Update marked S-3 as the default sleep mode - resource
Solution 2:
Another problem is that during the sleep state (and hibernate state too) there could be processes which have files open on the drive and the files content could be in inconsistent state which means that the data could be corrupted when you disconnect the disk.
Well written applications should do some cleanup before the system enters the sleep state and make the files consistent or even completely close them to prepare for possible drive removal during the sleep. See How can I know when Windows is going into/out of sleep or Hibernate mode?
The filesystem of the disk should be consistent as Windows flush the cache before entering sleep. See Does Windows flush drive caches on standby?
Closely related question: Is it safe to unplug a USB drive while Windows is in sleep/hibernate/off mode?