Software Defined Storage and Storage Virtualization are two different terms which happen to look similar, but have some key distinctions in practical.
Storage Virtualization- With the help of this technology, users can combine multiple pools of storage into one or more logical containers. It helps in increasing capacity, enhance performance or enable storage tiers. Also, it helps in consolidating multiple storage resources into virtual volumes which are manageable by storage driven policies, enabling more control at the virtual machine level. This helps in better performance tracking, which can be used to automate key service levels and compliance.
Software Defined Storage- This storage technology shifts the hardware layer that provides deduplication, snapshots and replication into software layer. Therefore, users can place the SDS layer over existing storage resources that do not have these advanced features. As a result older storage appliances can also gain new functionality without having to replace an entire storage frame. This moves the features into hypervisor layer, where they can be integrated at a much deeper level. The hypervisor gains more control with this integration and can help drive more application centric policies regarding storage performance, capacity and redundancy.
While both these storage technologies have different functions, they work in concert. So, when a vendor is discussing or promoting about software defined storage, we can assume that the company has already a storage virtualization layer included as part of the product.