¿Cómo funciona el almacenamiento definido por software?