What is the difference between a VF and SF

I am looking at https://docs.nvidia.com/doca/sdk/scalable-functions/index.html
and it is not clear to me what the difference between an SF and VF is. I see SF provides VF-like functionality without needing SR-IOV enablement on the NIC. If someone could please point out any other difference, I’d appreciate it very much. Thanks!