What is the difference between pm-suspend and pm-suspend-hybrid?

I read the man pages of both of them but I couldn't figure out the difference.

man page says:

Hybrid-suspend is the process where the
           system does everything it needs to hibernate,
           but suspends instead of shutting down. This
           means that your computer can wake up quicker
           than for normal hibernation if you do not run
           out of power

Isn't that the same as suspend ?


Solution 1:

pm-suspend basically turns off the CPU but keeps memory powered on. This is quick to resume from, but if you run out of power the data in memory is lost. The hybrid-suspend will save the contents of memory to disk and then suspend, you can wakeup from this like normal suspend, however if you lose power you can power up and the machine will load the saved state back from disk and resume, much like traditional a hibernate resume.

Solution 2:

man-page pm-action

    pm-suspend
       During suspend most devices are shutdown, and system state is saved
       in RAM. The system still requires power in this state. Most modern
       systems require 3 to 5 seconds to enter and leave suspend, and most
       laptops can stay in suspend mode for 1 to 3 days before exhausting
       their battery.

   pm-hibernate
       During hibernate the system is fully powered off, and system state
       is saved to disk. The system does not require power, and can stay
       in hibernate mode indefinitely. Most modern systems require 15 to
       45 seconds to enter and leave hibernate, and entering and leaving
       hibernate takes longer when you have more memory.

   pm-suspend-hybrid
       Hybrid-suspend is the process where the system does everything it
       needs to hibernate, but suspends instead of shutting down. This
       means that your computer can wake up quicker than for normal
       hibernation if you do not run out of power, and you can resume even
       if you run out of power. s2both(8) is an hybrid-suspend
       implementation.

I guess the difference here is that the system state saved to Disk (and not RAM) , but the system is not full shutdown (like hibernate) but suspend instead.

Solution 3:

Compare to pm-suspend, I guess the difference here is that the system state saved to Disk and to RAM - both , but the system is not fully shutdown (like hibernate) but suspend instead.

Then for resume:
1. if not run out of power - resume from ram
2. if run out of power - resume from disk