Could it boot from sata device?

I just wanted to boot the Ubuntu from a sata drive but I wonder if it can.

You need u-boot and kernel to be on SD/eMMC, root and other data can be on SATA
Maybe, you can even move kernel to SATA if you can configure u-boot in a proper way