What is the difference between a VF and SF

I am looking at Scalable Function (SFs) :: NVIDIA DOCA SDK Documentation
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!