Now I can issue these commands to device and put the interface into slumber mode successfully in DOS mode. Then I found I can "wakeup" SATA drive from D1 and D2 by just issuing Identify Device Command(0xEC) to it....to enter these device states(D1,D2,or D3), software may issue a command to the device to enter the low power state(IDLE IMMEDIATE for D1, STANDBY(IMMEDIATE) for D2, SLEEP for D3). Then put the interface into a Slumber state...
BUT for device in D3 state, issuing 0xEC causes system hang... Could anyone know the reason why