A system for controlling an embedded multimedia card, eMMC, storage device, comprising: a virtualized resource manager; a storage controller comprising: a first host controller interface, HCI, coupled to the virtualized resource manager; one or more second HCIs configured to be coupled to one or more clients, respectively; and a virtualization layer communicatively coupled to the first HCI and the one or more second HCIs; wherein the storage controller is configured to trap a storage resource request received from a client among the one or more clients and provide the storage resource request to the virtualized resource manager, wherein the storage resource request is provided as an eMMC read command queue, CQ, depth command and wherein the eMMC read CQ depth command is trapped by the storage controller at a CQ depth register in an extended, EXT, card specific data, EXT CSD, register comprised in the storage device; and wherein the virtualized resource manager is configured to: create a virtual resource allocation for the client and map the virtual resource allocation to a physical resource allocation in the storage device; and provide a storage resource response to the virtualization layer comprising the virtual resource allocation and the physical resource allocation; wherein the virtualization layer is configured to: record the virtual resource allocation and the physical resource allocation in a storage resource mapping table; and provide the storage resource response comprising the virtual resource allocation to the client a virtualized resource manager; a storage controller comprising: a first host controller interface, HCI, coupled to the virtualized resource manager; one or more second HCIs configured to be coupled to one or more clients, respectively; and a virtualization layer communicatively coupled to the first HCI and the one or more second HCIs; wherein the storage controller is configured to trap a storage resource request received from a client among the one or more clients and provide the storage resource request to the virtualized resource manager, wherein the storage resource request is provided as an eMMC read command queue, CQ, depth command and wherein the eMMC read CQ depth command is trapped by the storage controller at a CQ depth register in an extended, EXT, card specific data, EXT CSD, register comprised in the storage device; and wherein the virtualized resource manager is configured to: create a virtual resource allocation for the client and map the virtual resource allocation to a physical resource allocation in the storage device; and provide a storage resource response to the virtualization layer comprising the virtual resource allocation and the physical resource allocation; wherein the virtualization layer is configured to: record the virtual resource allocation and the physical resource allocation in a storage resource mapping table; and provide the storage resource response comprising the virtual resource allocation to the client a first host controller interface, HCI, coupled to the virtualized resource manager; one or more second HCIs configured to be coupled to one or more clients, respectively; and a virtualization layer communicatively coupled to the first HCI and the one or more second HCIs; wherein the storage controller is configured to trap a storage resource request received from a client among the one or more clients and provide the storage resource request to the virtualized resource manager, wherein the storage resource request is provided as an eMMC read command queue, CQ, depth command and wherein the eMMC read CQ depth command is trapped by the storage controller at a CQ depth register in an extended, EXT, card specific data, EXT CSD, register comprised in the storage device; and wherein the virtualized resource manager is configured to: create a virtual resource allocation for the client and map the virtual resource allocation to a physical resource allocation in the storage device; and provide a storage resource response to the virtualization layer comprising the virtual resource allocation and the physical resource allocation; create a virtual resource allocation for the client and map the virtual resource allocation to a physical resource allocation in the storage device; and provide a storage resource response to the virtualization layer comprising the virtual resource allocation and the physical resource allocation; wherein the virtualization layer is configured to: record the virtual resource allocation and the physical resource allocation in a storage resource mapping table; and provide the storage resource response comprising the virtual resource allocation to the client record the virtual resource allocation and the physical resource allocation in a storage resource mapping table; and provide the storage resource response comprising the virtual resource allocation to the client